/*! * DevExtreme (dx.all.debug.js) * Version: 23.1.4 * Build date: Fri Jul 14 2023 * * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; ! function() { var __webpack_modules__ = { 48252: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/export/m_export.js ***! \*******************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.ExportController = exports.DataProvider = void 0; __webpack_require__( /*! ../../../../ui/button */ 63008); __webpack_require__( /*! ../../../../ui/drop_down_button */ 45231); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _position = __webpack_require__( /*! ../../../../core/utils/position */ 37518); var _string = __webpack_require__( /*! ../../../../core/utils/string */ 68752); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _list_light = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/list_light */ 56757)); var _m_export = __webpack_require__( /*! ../../../grids/grid_core/m_export */ 1229); var _m_core = _interopRequireDefault(__webpack_require__( /*! ../m_core */ 74938)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var DataProvider = function() { function DataProvider(exportController, initialColumnWidthsByColumnIndex, selectedRowsOnly) { this._exportController = exportController; this._initialColumnWidthsByColumnIndex = initialColumnWidthsByColumnIndex; this._selectedRowsOnly = selectedRowsOnly } var _proto = DataProvider.prototype; _proto._getGroupValue = function(item) { var key = item.key, data = item.data, rowType = item.rowType, groupIndex = item.groupIndex, summaryCells = item.summaryCells; var groupColumn = this._options.groupColumns[groupIndex]; var value = _m_core.default.getDisplayValue(groupColumn, groupColumn.deserializeValue ? groupColumn.deserializeValue(key[groupIndex]) : key[groupIndex], data, rowType); var result = "".concat(groupColumn.caption, ": ").concat(_m_core.default.formatValue(value, groupColumn)); if (summaryCells && summaryCells[0] && summaryCells[0].length) { result += " ".concat(_m_core.default.getGroupRowSummaryText(summaryCells[0], this._options.summaryTexts)) } return result }; _proto._correctCellIndex = function(cellIndex) { return cellIndex }; _proto._initOptions = function() { var exportController = this._exportController; var groupColumns = exportController._columnsController.getGroupColumns(); this._options = { columns: exportController._getColumns(this._initialColumnWidthsByColumnIndex), groupColumns: groupColumns, items: this._selectedRowsOnly || exportController._selectionOnly ? exportController._getSelectedItems() : exportController._getAllItems(), isHeadersVisible: exportController.option("showColumnHeaders"), summaryTexts: exportController.option("summary.texts"), rtlEnabled: exportController.option("rtlEnabled") } }; _proto.getHeaderStyles = function() { return [{ bold: true, alignment: "center" }, { bold: true, alignment: "left" }, { bold: true, alignment: "right" }] }; _proto.getGroupRowStyle = function() { return { bold: true, alignment: (0, _position.getDefaultAlignment)(this._options.rtlEnabled) } }; _proto.getColumnStyles = function() { var columnStyles = []; this.getColumns().forEach((function(column) { columnStyles.push({ alignment: column.alignment || "left", format: column.format, dataType: column.dataType }) })); return columnStyles }; _proto.getStyles = function() { return [].concat(_toConsumableArray(this.getHeaderStyles()), _toConsumableArray(this.getColumnStyles()), [this.getGroupRowStyle()]) }; _proto._getTotalCellStyleId = function(cellIndex) { var _a; var alignment = (null === (_a = this.getColumns()[cellIndex]) || void 0 === _a ? void 0 : _a.alignment) || "right"; return this.getHeaderStyles().map((function(style) { return style.alignment })).indexOf(alignment) }; _proto.getStyleId = function(rowIndex, cellIndex) { if (rowIndex < this.getHeaderRowCount()) { return 0 } if (this.isTotalCell(rowIndex - this.getHeaderRowCount(), cellIndex)) { return this._getTotalCellStyleId(cellIndex) } if (this.isGroupRow(rowIndex - this.getHeaderRowCount())) { return this.getHeaderStyles().length + this.getColumns().length } return cellIndex + this.getHeaderStyles().length }; _proto.getColumns = function(getColumnsByAllRows) { var columns = this._options.columns; return getColumnsByAllRows ? columns : columns[columns.length - 1] }; _proto.getColumnsWidths = function() { var columns = this.getColumns(); return (0, _type.isDefined)(columns) ? columns.map((function(c) { return c.width })) : void 0 }; _proto.getRowsCount = function() { return this._options.items.length + this.getHeaderRowCount() }; _proto.getHeaderRowCount = function() { if (this.isHeadersVisible()) { return this._options.columns.length - 1 } return 0 }; _proto.isGroupRow = function(rowIndex) { return rowIndex < this._options.items.length && "group" === this._options.items[rowIndex].rowType }; _proto.getGroupLevel = function(rowIndex) { var item = this._options.items[rowIndex - this.getHeaderRowCount()]; var groupIndex = item && item.groupIndex; if (item && "totalFooter" === item.rowType) { return 0 } return (0, _type.isDefined)(groupIndex) ? groupIndex : this._options.groupColumns.length }; _proto.getCellType = function(rowIndex, cellIndex) { var columns = this.getColumns(); if (rowIndex < this.getHeaderRowCount()) { return "string" } rowIndex -= this.getHeaderRowCount(); if (cellIndex < columns.length) { var item = this._options.items.length && this._options.items[rowIndex]; var column = columns[cellIndex]; if (item && "data" === item.rowType) { if (isFinite(item.values[this._correctCellIndex(cellIndex)]) && !(0, _type.isDefined)(column.customizeText)) { return (0, _type.isDefined)(column.lookup) ? column.lookup.dataType : column.dataType } } return "string" } }; _proto.ready = function() { this._initOptions(); var options = this._options; return (0, _deferred.when)(options.items).done((function(items) { options.items = items })).fail((function() { options.items = [] })) }; _proto._convertFromGridGroupSummaryItems = function(gridGroupSummaryItems) { if ((0, _type.isDefined)(gridGroupSummaryItems) && gridGroupSummaryItems.length > 0) { return gridGroupSummaryItems.map((function(item) { return { value: item.value, name: item.name } })) } }; _proto.getCellData = function(rowIndex, cellIndex, isExcelJS) { var value; var column; var result = { cellSourceData: {}, value: value }; var columns = this.getColumns(); var correctedCellIndex = this._correctCellIndex(cellIndex); if (rowIndex < this.getHeaderRowCount()) { var columnsRow = this.getColumns(true)[rowIndex]; column = columnsRow[cellIndex]; result.cellSourceData.rowType = "header"; result.cellSourceData.column = column && column.gridColumn; result.value = column && column.caption } else { rowIndex -= this.getHeaderRowCount(); var item = this._options.items.length && this._options.items[rowIndex]; if (item) { var itemValues = item.values; result.cellSourceData.rowType = item.rowType; result.cellSourceData.column = columns[cellIndex] && columns[cellIndex].gridColumn; switch (item.rowType) { case "groupFooter": case "totalFooter": if (correctedCellIndex < itemValues.length) { value = itemValues[correctedCellIndex]; if ((0, _type.isDefined)(value)) { result.cellSourceData.value = value.value; result.cellSourceData.totalSummaryItemName = value.name; result.value = _m_core.default.getSummaryText(value, this._options.summaryTexts) } else { result.cellSourceData.value = void 0 } } break; case "group": result.cellSourceData.groupIndex = item.groupIndex; if (cellIndex < 1) { result.cellSourceData.column = this._options.groupColumns[item.groupIndex]; result.cellSourceData.value = item.key[item.groupIndex]; result.cellSourceData.groupSummaryItems = this._convertFromGridGroupSummaryItems(item.summaryCells[0]); result.value = this._getGroupValue(item) } else { var summaryItems = item.values[correctedCellIndex]; if (Array.isArray(summaryItems)) { result.cellSourceData.groupSummaryItems = this._convertFromGridGroupSummaryItems(summaryItems); value = ""; for (var i = 0; i < summaryItems.length; i++) { value += (i > 0 ? isExcelJS ? "\n" : " \n " : "") + _m_core.default.getSummaryText(summaryItems[i], this._options.summaryTexts) } result.value = value } else { result.cellSourceData.value = void 0 } } break; default: column = columns[cellIndex]; if (column) { var _value = itemValues[correctedCellIndex]; var displayValue = _m_core.default.getDisplayValue(column, _value, item.data, item.rowType); if (!isFinite(displayValue) || (0, _type.isDefined)(column.customizeText)) { if (isExcelJS && (0, _type.isDefined)(column.customizeText) && column.customizeText === this._exportController._columnsController.getCustomizeTextByDataType("boolean")) { result.value = displayValue } else { result.value = _m_core.default.formatValue(displayValue, column) } } else { result.value = displayValue } result.cellSourceData.value = _value } result.cellSourceData.data = item.data } } } return result }; _proto.isHeadersVisible = function() { return this._options.isHeadersVisible }; _proto.isTotalCell = function(rowIndex, cellIndex) { var items = this._options.items; var item = items[rowIndex]; var correctCellIndex = this._correctCellIndex(cellIndex); var isSummaryAlignByColumn = item.summaryCells && item.summaryCells[correctCellIndex] && item.summaryCells[correctCellIndex].length > 0 && item.summaryCells[correctCellIndex][0].alignByColumn; return item && "groupFooter" === item.rowType || "totalFooter" === item.rowType || isSummaryAlignByColumn }; _proto.getCellMerging = function(rowIndex, cellIndex) { var columns = this._options.columns; var column = columns[rowIndex] && columns[rowIndex][cellIndex]; return column ? { colspan: (column.exportColspan || 1) - 1, rowspan: (column.rowspan || 1) - 1 } : { colspan: 0, rowspan: 0 } }; _proto.getFrozenArea = function() { return { x: 0, y: this.getHeaderRowCount() } }; return DataProvider }(); exports.DataProvider = DataProvider; var ExportController = function(_dataGridCore$ViewCon) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ExportController, _dataGridCore$ViewCon); function ExportController() { return _dataGridCore$ViewCon.apply(this, arguments) || this } var _proto2 = ExportController.prototype; _proto2._getEmptyCell = function() { return { caption: "", colspan: 1, rowspan: 1 } }; _proto2._updateColumnWidth = function(column, width) { column.width = width }; _proto2._getColumns = function(initialColumnWidthsByColumnIndex) { var result = []; var i; var columns; var columnsController = this._columnsController; var rowCount = columnsController.getRowCount(); for (i = 0; i <= rowCount; i++) { var currentHeaderRow = []; columns = columnsController.getVisibleColumns(i, true); var columnWidthsByColumnIndex = void 0; if (i === rowCount) { if (this._updateLockCount) { columnWidthsByColumnIndex = initialColumnWidthsByColumnIndex } else { var columnWidths = this._getColumnWidths(this._headersView, this._rowsView); if (columnWidths && columnWidths.length) { columnWidthsByColumnIndex = {}; for (var _i = 0; _i < columns.length; _i++) { columnWidthsByColumnIndex[columns[_i].index] = columnWidths[_i] } } } } for (var j = 0; j < columns.length; j++) { var column = (0, _extend.extend)({}, columns[j], { dataType: "datetime" === columns[j].dataType ? "date" : columns[j].dataType, gridColumn: columns[j] }); if (this._needColumnExporting(column)) { var currentColspan = this._calculateExportColspan(column); if ((0, _type.isDefined)(currentColspan)) { column.exportColspan = currentColspan } if (columnWidthsByColumnIndex) { this._updateColumnWidth(column, columnWidthsByColumnIndex[column.index]) } currentHeaderRow.push(column) } } result.push(currentHeaderRow) } columns = result[rowCount]; result = (0, _m_export.prepareItems)(result.slice(0, -1), this._getEmptyCell()); result.push(columns); return result }; _proto2._calculateExportColspan = function(column) { var _this = this; if (!column.isBand) { return } var childColumns = this._columnsController.getChildrenByBandColumn(column.index, true); if (!(0, _type.isDefined)(childColumns)) { return } return childColumns.reduce((function(result, childColumn) { if (_this._needColumnExporting(childColumn)) { return result + (_this._calculateExportColspan(childColumn) || 1) } return result }), 0) }; _proto2._needColumnExporting = function(column) { return !column.command && (column.allowExporting || void 0 === column.allowExporting) }; _proto2._getFooterSummaryItems = function(summaryCells, isTotal) { var result = []; var estimatedItemsCount = 1; var i = 0; do { var values = []; for (var j = 0; j < summaryCells.length; j++) { var summaryCell = summaryCells[j]; var itemsLength = summaryCell.length; if (estimatedItemsCount < itemsLength) { estimatedItemsCount = itemsLength } values.push(summaryCell[i]) } result.push({ values: values, rowType: isTotal ? "totalFooter" : "groupFooter" }) } while (i++ < estimatedItemsCount - 1); return result }; _proto2._hasSummaryGroupFooters = function() { var groupItems = this.option("summary.groupItems"); if ((0, _type.isDefined)(groupItems)) { for (var i = 0; i < groupItems.length; i++) { if (groupItems[i].showInGroupFooter) { return true } } } return false }; _proto2._getItemsWithSummaryGroupFooters = function(sourceItems) { var result = []; var beforeGroupFooterItems = []; var groupFooterItems = []; for (var i = 0; i < sourceItems.length; i++) { var item = sourceItems[i]; if ("groupFooter" === item.rowType) { groupFooterItems = this._getFooterSummaryItems(item.summaryCells); result = result.concat(beforeGroupFooterItems, groupFooterItems); beforeGroupFooterItems = [] } else { beforeGroupFooterItems.push(item) } } return result.length ? result : beforeGroupFooterItems }; _proto2._updateGroupValuesWithSummaryByColumn = function(sourceItems) { var summaryValues = []; for (var i = 0; i < sourceItems.length; i++) { var item = sourceItems[i]; var summaryCells = item.summaryCells; if ("group" === item.rowType && summaryCells && summaryCells.length > 1) { var groupColumnCount = item.values.length; for (var j = 1; j < summaryCells.length; j++) { for (var k = 0; k < summaryCells[j].length; k++) { var summaryItem = summaryCells[j][k]; if (summaryItem && summaryItem.alignByColumn) { if (!Array.isArray(summaryValues[j - groupColumnCount])) { summaryValues[j - groupColumnCount] = [] } summaryValues[j - groupColumnCount].push(summaryItem) } } } if (summaryValues.length > 0) { var _item$values; (_item$values = item.values).push.apply(_item$values, _toConsumableArray(summaryValues)); summaryValues = [] } } } }; _proto2._processUnExportedItems = function(items) { var columns = this._columnsController.getVisibleColumns(null, true); var groupColumns = this._columnsController.getGroupColumns(); var values; var summaryCells; for (var i = 0; i < items.length; i++) { var item = items[i]; var isCommand = false; values = []; summaryCells = []; for (var j = 0; j < columns.length; j++) { var column = columns[j]; isCommand || (isCommand = ["detailExpand", "buttons"].includes(column.type)); if (this._needColumnExporting(column)) { if (item.values) { if ("group" === item.rowType && !values.length) { values.push(item.key[item.groupIndex]) } else { values.push(item.values[j]) } } if (item.summaryCells) { if ("group" === item.rowType && !summaryCells.length) { var index = j - groupColumns.length + item.groupIndex; summaryCells.push(item.summaryCells[isCommand ? index : index + 1]) } else { summaryCells.push(item.summaryCells[j]) } } } } if (values.length) { item.values = values } if (summaryCells.length) { item.summaryCells = summaryCells } } }; _proto2._getAllItems = function(data) { var skipFilter = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false; var that = this; var d = new _deferred.Deferred; var dataController = this.getController("data"); var footerItems = dataController.footerItems(); var totalItem = footerItems.length && footerItems[0]; var summaryTotalItems = that.option("summary.totalItems"); var summaryCells; (0, _deferred.when)(data).done((function(data) { dataController.loadAll(data, skipFilter).done((function(sourceItems, totalAggregates) { that._updateGroupValuesWithSummaryByColumn(sourceItems); if (that._hasSummaryGroupFooters()) { sourceItems = that._getItemsWithSummaryGroupFooters(sourceItems) } summaryCells = totalItem && totalItem.summaryCells; if ((0, _type.isDefined)(totalAggregates) && summaryTotalItems) { summaryCells = that._getSummaryCells(summaryTotalItems, totalAggregates) } var summaryItems = totalItem && that._getFooterSummaryItems(summaryCells, true); if (summaryItems) { sourceItems = sourceItems.concat(summaryItems) } that._processUnExportedItems(sourceItems); d.resolve(sourceItems) })).fail(d.reject) })).fail(d.reject); return d }; _proto2._getSummaryCells = function(summaryTotalItems, totalAggregates) { var dataController = this.getController("data"); var columnsController = dataController._columnsController; return dataController._calculateSummaryCells(summaryTotalItems, totalAggregates, columnsController.getVisibleColumns(null, true), (function(summaryItem, column) { return dataController._isDataColumn(column) ? column.index : -1 })) }; _proto2._getSelectedItems = function() { var selectionController = this.getController("selection"); if (this.needLoadItemsOnExportingSelectedItems()) { return this._getAllItems(selectionController.loadSelectedItemsWithFilter(), true) } return this._getAllItems(selectionController.getSelectedRowsData()) }; _proto2._getColumnWidths = function(headersView, rowsView) { return headersView && headersView.isVisible() ? headersView.getColumnWidths() : rowsView.getColumnWidths() }; _proto2.init = function() { this._columnsController = this.getController("columns"); this._rowsView = this.getView("rowsView"); this._headersView = this.getView("columnHeadersView"); this.createAction("onExporting", { excludeValidators: ["disabled", "readOnly"] }) }; _proto2.callbackNames = function() { return ["selectionOnlyChanged"] }; _proto2.getDataProvider = function(selectedRowsOnly) { var columnWidths = this._getColumnWidths(this._headersView, this._rowsView); var initialColumnWidthsByColumnIndex; if (columnWidths && columnWidths.length) { initialColumnWidthsByColumnIndex = {}; var columnsLastRowVisibleColumns = this._columnsController.getVisibleColumns(this._columnsController.getRowCount(), true); for (var i = 0; i < columnsLastRowVisibleColumns.length; i++) { initialColumnWidthsByColumnIndex[columnsLastRowVisibleColumns[i].index] = columnWidths[i] } } return new DataProvider(this, initialColumnWidthsByColumnIndex, selectedRowsOnly) }; _proto2.exportTo = function(selectedRowsOnly, format) { this._selectionOnly = selectedRowsOnly; var onExporting = this.getAction("onExporting"); var eventArgs = { rtlEnabled: this.option("rtlEnabled"), selectedRowsOnly: !!selectedRowsOnly, format: format, fileName: "DataGrid", cancel: false }; (0, _type.isFunction)(onExporting) && onExporting(eventArgs) }; _proto2.publicMethods = function() { return ["getDataProvider"] }; _proto2.selectionOnly = function(value) { if ((0, _type.isDefined)(value)) { this._isSelectedRows = value; this.selectionOnlyChanged.fire() } else { return this._isSelectedRows } }; _proto2.needLoadItemsOnExportingSelectedItems = function() { var _a; return null !== (_a = this.option("loadItemsOnExportingSelectedItems")) && void 0 !== _a ? _a : this.getController("data")._dataSource.remoteOperations().filtering }; return ExportController }(_m_core.default.ViewController); exports.ExportController = ExportController; _m_core.default.registerModule("export", { defaultOptions: function() { return { export: { enabled: false, fileName: "DataGrid", formats: ["xlsx"], allowExportSelectedData: false, texts: { exportTo: _message.default.format("dxDataGrid-exportTo"), exportAll: _message.default.format("dxDataGrid-exportAll"), exportSelectedRows: _message.default.format("dxDataGrid-exportSelectedRows") } } } }, controllers: { export: ExportController }, extenders: { controllers: { editing: { callbackNames: function() { var callbackList = this.callBase(); return (0, _type.isDefined)(callbackList) ? callbackList.push("editingButtonsUpdated") : ["editingButtonsUpdated"] }, _updateEditButtons: function() { this.callBase(); this.editingButtonsUpdated.fire() } } }, views: { headerPanel: { _getToolbarItems: function() { var items = this.callBase(); var exportButton = this._getExportToolbarButton(); if (exportButton) { items.push(exportButton); this._correctItemsPosition(items) } return items }, _getExportToolbarButton: function() { var _this2 = this; var items = this._getExportToolbarItems(); if (0 === items.length) { return null } var disabled = this._needDisableExportButton(); var toolbarButtonOptions = { name: "exportButton", location: "after", locateInMenu: "auto", sortIndex: 30, options: { items: items }, disabled: disabled }; if (1 === items.length) { var widgetOptions = _extends(_extends({}, items[0]), { hint: items[0].text, elementAttr: { class: "dx-datagrid-export-button" } }); toolbarButtonOptions.widget = "dxButton"; toolbarButtonOptions.showText = "inMenu"; toolbarButtonOptions.options = widgetOptions } else { var _widgetOptions = { icon: "export", displayExpr: "text", items: items, hint: this.option("export.texts.exportTo"), elementAttr: { class: "dx-datagrid-export-button" }, dropDownOptions: { width: "auto", _wrapperClassExternal: "dx-datagrid-export-menu" } }; toolbarButtonOptions.options = _widgetOptions; toolbarButtonOptions.widget = "dxDropDownButton"; toolbarButtonOptions.menuItemTemplate = function(_data, _index, container) { _this2._createComponent((0, _renderer.default)(container), _list_light.default, { items: items }) } } return toolbarButtonOptions }, _getExportToolbarItems: function() { var _this3 = this; var _a; var exportOptions = this.option("export"); var texts = this.option("export.texts"); var formats = null !== (_a = this.option("export.formats")) && void 0 !== _a ? _a : []; if (!exportOptions.enabled) { return [] } var items = []; formats.forEach((function(formatType) { var formatName = formatType.toUpperCase(); var exportAllIcon = "export"; if ("xlsx" === formatType) { formatName = "Excel"; exportAllIcon = "xlsxfile" } if ("pdf" === formatType) { exportAllIcon = "pdffile" } items.push({ text: (0, _string.format)(texts.exportAll, formatName), icon: exportAllIcon, onClick: function() { _this3._exportController.exportTo(false, formatType) } }); if (exportOptions.allowExportSelectedData) { items.push({ text: (0, _string.format)(texts.exportSelectedRows, formatName), icon: "exportselected", onClick: function() { _this3._exportController.exportTo(true, formatType) } }) } })); return items }, _correctItemsPosition: function(items) { items.sort((function(itemA, itemB) { return itemA.sortIndex - itemB.sortIndex })) }, _isExportButtonVisible: function() { return this.option("export.enabled") }, optionChanged: function(args) { this.callBase(args); if ("export" === args.name) { args.handled = true; this._invalidate() } }, _needDisableExportButton: function() { var isDataColumnsInvisible = !this._columnsController.hasVisibleDataColumns(); var hasUnsavedChanges = this._editingController.hasChanges(); return isDataColumnsInvisible || hasUnsavedChanges }, _columnOptionChanged: function(e) { this.callBase(e); var isColumnLocationChanged = _m_core.default.checkChanges(e.optionNames, ["groupIndex", "visible", "all"]); if (isColumnLocationChanged) { var disabled = this._needDisableExportButton(); this.setToolbarItemDisabled("exportButton", disabled) } }, init: function() { var _this4 = this; this.callBase(); this._exportController = this.getController("export"); this._editingController = this.getController("editing"); this._editingController.editingButtonsUpdated.add((function() { var disabled = _this4._needDisableExportButton(); _this4.setToolbarItemDisabled("exportButton", disabled) })) }, isVisible: function() { return this.callBase() || this._isExportButtonVisible() } } } } }) }, 56445: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/focus/m_focus.js ***! \*****************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _data = __webpack_require__( /*! ../../../../core/utils/data */ 47617); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _m_focus = __webpack_require__( /*! ../../../grids/grid_core/focus/m_focus */ 5325); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; var _m_utils = __webpack_require__( /*! ../m_utils */ 10087); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; _m_core.default.registerModule("focus", (0, _extend.extend)(true, {}, _m_focus.focusModule, { extenders: { controllers: { data: function(Base) { return function(_Base$inherit) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FocusDataControllerExtender, _Base$inherit); function FocusDataControllerExtender() { return _Base$inherit.apply(this, arguments) || this } var _proto = FocusDataControllerExtender.prototype; _proto.changeRowExpand = function(path, isRowClick) { if (this.option("focusedRowEnabled") && Array.isArray(path) && this.isRowExpanded(path)) { var keyboardNavigation = this.getController("keyboardNavigation"); if ((!isRowClick || !keyboardNavigation.isKeyboardEnabled()) && this._isFocusedRowInsideGroup(path)) { this.option("focusedRowKey", path) } } return _Base$inherit.prototype.changeRowExpand.call(this, path, isRowClick) }; _proto._isFocusedRowInsideGroup = function(path) { var columnsController = this.getController("columns"); var focusedRowKey = this.option("focusedRowKey"); var rowIndex = this.getRowIndexByKey(focusedRowKey); var focusedRow = rowIndex >= 0 && this.getVisibleRows()[rowIndex]; var groups = columnsController.getGroupDataSourceParameters(true); if (focusedRow) { for (var i = 0; i < path.length; ++i) { var getter = (0, _data.compileGetter)(groups[i] && groups[i].selector); if (getter(focusedRow.data) !== path[i]) { return false } } } return true }; _proto._getGroupPath = function(groupItem, groupCount) { var groupPath = []; var items = [groupItem]; while (items && items[0] && groupCount) { var item = items[0]; if (void 0 !== item.key) { groupPath.push(item.key) } items = item.items; groupCount-- } return groupPath }; _proto._expandGroupByPath = function(that, groupPath, level) { var d = new _deferred.Deferred; level++; that.expandRow(groupPath.slice(0, level)).done((function() { if (level === groupPath.length) { d.resolve() } else { that._expandGroupByPath(that, groupPath, level).done(d.resolve).fail(d.reject) } })).fail(d.reject); return d.promise() }; _proto._calculateGlobalRowIndexByGroupedData = function(key) { var that = this; var dataSource = that._dataSource; var filter = that._generateFilterByKey(key); var deferred = new _deferred.Deferred; var isGroupKey = Array.isArray(key); var group = dataSource.group(); if (isGroupKey) { return deferred.resolve(-1).promise() } if (!dataSource._grouping._updatePagingOptions) { that._calculateGlobalRowIndexByFlatData(key, null, true).done(deferred.resolve).fail(deferred.reject); return deferred } dataSource.load({ filter: that._concatWithCombinedFilter(filter), group: group }).done((function(data) { if (!data || 0 === data.length || !(0, _type.isDefined)(data[0].key) || -1 === data[0].key) { return deferred.resolve(-1).promise() } var groupPath = that._getGroupPath(data[0], group.length); that._expandGroupByPath(that, groupPath, 0).done((function() { that._calculateExpandedRowGlobalIndex(deferred, key, groupPath, group) })).fail(deferred.reject) })).fail(deferred.reject); return deferred.promise() }; _proto._calculateExpandedRowGlobalIndex = function(deferred, key, groupPath, group) { var groupFilter = (0, _m_utils.createGroupFilter)(groupPath, { group: group }); var dataSource = this._dataSource; var scrollingMode = this.option("scrolling.mode"); var isVirtualScrolling = "virtual" === scrollingMode || "infinite" === scrollingMode; var pageSize = dataSource.pageSize(); var groupOffset; dataSource._grouping._updatePagingOptions({ skip: 0, take: MAX_SAFE_INTEGER }, (function(groupInfo, totalOffset) { if ((0, _common.equalByValue)(groupInfo.path, groupPath)) { groupOffset = totalOffset } })); this._calculateGlobalRowIndexByFlatData(key, groupFilter).done((function(dataOffset) { var count; var groupContinuationCount; if (dataOffset < 0) { deferred.resolve(-1); return } var currentPageOffset = groupOffset % pageSize || pageSize; count = currentPageOffset + dataOffset - groupPath.length; if (isVirtualScrolling) { groupContinuationCount = 0 } else { groupContinuationCount = Math.floor(count / (pageSize - groupPath.length)) * groupPath.length } count = groupOffset + dataOffset + groupContinuationCount; deferred.resolve(count) })).fail(deferred.reject) }; return FocusDataControllerExtender }(Base.inherit(_m_focus.focusModule.extenders.controllers.data)) } } } })) }, 72487: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/grouping/m_grouping.js ***! \***********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.GroupingHeaderPanelExtender = void 0; var _devices = _interopRequireDefault(__webpack_require__( /*! ../../../../core/devices */ 20530)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _accessibility = __webpack_require__( /*! ../../../../ui/shared/accessibility */ 56756); var _m_accessibility = __webpack_require__( /*! ../../../grids/grid_core/m_accessibility */ 9130); var _m_core = _interopRequireDefault(__webpack_require__( /*! ../m_core */ 74938)); var _m_data_source_adapter = _interopRequireDefault(__webpack_require__( /*! ../m_data_source_adapter */ 49975)); var _m_grouping_collapsed = __webpack_require__( /*! ./m_grouping_collapsed */ 2772); var _m_grouping_expanded = __webpack_require__( /*! ./m_grouping_expanded */ 4789); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var GroupingDataSourceAdapterExtender = { init: function() { this.callBase.apply(this, arguments); this._initGroupingHelper() }, _initGroupingHelper: function(options) { var grouping = this._grouping; var isAutoExpandAll = this.option("grouping.autoExpandAll"); var isFocusedRowEnabled = this.option("focusedRowEnabled"); var remoteOperations = options ? options.remoteOperations : this.remoteOperations(); var isODataRemoteOperations = remoteOperations.filtering && remoteOperations.sorting && remoteOperations.paging; if (isODataRemoteOperations && !remoteOperations.grouping && (isAutoExpandAll || !isFocusedRowEnabled)) { if (!grouping || grouping instanceof _m_grouping_collapsed.GroupingHelper) { this._grouping = new _m_grouping_expanded.GroupingHelper(this) } } else if (!grouping || grouping instanceof _m_grouping_expanded.GroupingHelper) { this._grouping = new _m_grouping_collapsed.GroupingHelper(this) } }, totalItemsCount: function() { var totalCount = this.callBase(); return totalCount > 0 && this._dataSource.group() && this._dataSource.requireTotalCount() ? totalCount + this._grouping.totalCountCorrection() : totalCount }, itemsCount: function() { return this._dataSource.group() ? this._grouping.itemsCount() || 0 : this.callBase.apply(this, arguments) }, allowCollapseAll: function() { return this._grouping.allowCollapseAll() }, isGroupItemCountable: function(item) { return this._grouping.isGroupItemCountable(item) }, isRowExpanded: function(key) { var groupInfo = this._grouping.findGroupInfo(key); return groupInfo ? groupInfo.isExpanded : !this._grouping.allowCollapseAll() }, collapseAll: function(groupIndex) { return this._collapseExpandAll(groupIndex, false) }, expandAll: function(groupIndex) { return this._collapseExpandAll(groupIndex, true) }, _collapseExpandAll: function(groupIndex, isExpand) { var dataSource = this._dataSource; var group = dataSource.group(); var groups = _m_core.default.normalizeSortingInfo(group || []); if (groups.length) { for (var i = 0; i < groups.length; i++) { if (void 0 === groupIndex || groupIndex === i) { groups[i].isExpanded = isExpand } else if (group && group[i]) { groups[i].isExpanded = group[i].isExpanded } } dataSource.group(groups); this._grouping.foreachGroups((function(groupInfo, parents) { if (void 0 === groupIndex || groupIndex === parents.length - 1) { groupInfo.isExpanded = isExpand } }), false, true); this.resetPagesCache() } return true }, refresh: function() { this.callBase.apply(this, arguments); return this._grouping.refresh.apply(this._grouping, arguments) }, changeRowExpand: function(path) { var dataSource = this._dataSource; if (dataSource.group()) { dataSource.beginLoading(); if (this._lastLoadOptions) { this._lastLoadOptions.groupExpand = true } return this._changeRowExpandCore(path).always((function() { dataSource.endLoading() })) } }, _changeRowExpandCore: function(path) { return this._grouping.changeRowExpand(path) }, _hasGroupLevelsExpandState: function(group, isExpanded) { if (group && Array.isArray(group)) { for (var i = 0; i < group.length; i++) { if (group[i].isExpanded === isExpanded) { return true } } } }, _customizeRemoteOperations: function(options, operationTypes) { var remoteOperations = options.remoteOperations; if (options.storeLoadOptions.group) { if (remoteOperations.grouping && !options.isCustomLoading) { if (!remoteOperations.groupPaging || this._hasGroupLevelsExpandState(options.storeLoadOptions.group, true)) { remoteOperations.paging = false } } if (!remoteOperations.grouping && (!remoteOperations.sorting || !remoteOperations.filtering || options.isCustomLoading || this._hasGroupLevelsExpandState(options.storeLoadOptions.group, false))) { remoteOperations.paging = false } } else if (!options.isCustomLoading && remoteOperations.paging && operationTypes.grouping) { this.resetCache() } this.callBase.apply(this, arguments) }, _handleDataLoading: function(options) { this.callBase(options); this._initGroupingHelper(options); return this._grouping.handleDataLoading(options) }, _handleDataLoaded: function(options) { return this._grouping.handleDataLoaded(options, this.callBase.bind(this)) }, _handleDataLoadedCore: function(options) { return this._grouping.handleDataLoadedCore(options, this.callBase.bind(this)) } }; _m_data_source_adapter.default.extend(GroupingDataSourceAdapterExtender); var GroupingDataControllerExtender = { init: function() { this.callBase(); this.createAction("onRowExpanding"); this.createAction("onRowExpanded"); this.createAction("onRowCollapsing"); this.createAction("onRowCollapsed") }, _beforeProcessItems: function(items) { var groupColumns = this._columnsController.getGroupColumns(); items = this.callBase(items); if (items.length && groupColumns.length) { items = this._processGroupItems(items, groupColumns.length) } return items }, _processItem: function(item, options) { if ((0, _type.isDefined)(item.groupIndex) && (0, _type.isString)(item.rowType) && 0 === item.rowType.indexOf("group")) { item = this._processGroupItem(item, options); options.dataIndex = 0 } else { item = this.callBase.apply(this, arguments) } return item }, _processGroupItem: function(item) { return item }, _processGroupItems: function(items, groupsCount, options) { var groupedColumns = this._columnsController.getGroupColumns(); var column = groupedColumns[groupedColumns.length - groupsCount]; if (!options) { var scrollingMode = this.option("scrolling.mode"); options = { collectContinuationItems: "virtual" !== scrollingMode && "infinite" !== scrollingMode, resultItems: [], path: [], values: [] } } var _options = options, resultItems = _options.resultItems; if (options.data) { if (options.collectContinuationItems || !options.data.isContinuation) { resultItems.push({ rowType: "group", data: options.data, groupIndex: options.path.length - 1, isExpanded: !!options.data.items, key: options.path.slice(0), values: options.values.slice(0) }) } } if (items) { if (0 === groupsCount) { resultItems.push.apply(resultItems, items) } else { for (var i = 0; i < items.length; i++) { var item = items[i]; if (item && "items" in item) { options.data = item; options.path.push(item.key); options.values.push(column && column.deserializeValue && !column.calculateDisplayValue ? column.deserializeValue(item.key) : item.key); this._processGroupItems(item.items, groupsCount - 1, options); options.data = void 0; options.path.pop(); options.values.pop() } else { resultItems.push(item) } } } } return resultItems }, publicMethods: function() { return this.callBase().concat(["collapseAll", "expandAll", "isRowExpanded", "expandRow", "collapseRow"]) }, collapseAll: function(groupIndex) { var dataSource = this._dataSource; if (dataSource && dataSource.collapseAll(groupIndex)) { dataSource.pageIndex(0); dataSource.reload() } }, expandAll: function(groupIndex) { var dataSource = this._dataSource; if (dataSource && dataSource.expandAll(groupIndex)) { dataSource.pageIndex(0); dataSource.reload() } }, changeRowExpand: function(key) { var that = this; var expanded = that.isRowExpanded(key); var args = { key: key, expanded: expanded }; that.executeAction(expanded ? "onRowCollapsing" : "onRowExpanding", args); if (!args.cancel) { return (0, _deferred.when)(that._changeRowExpandCore(key)).done((function() { args.expanded = !expanded; that.executeAction(expanded ? "onRowCollapsed" : "onRowExpanded", args) })) } return (new _deferred.Deferred).resolve() }, _changeRowExpandCore: function(key) { var that = this; var dataSource = this._dataSource; var d = new _deferred.Deferred; if (!dataSource) { d.resolve() } else { (0, _deferred.when)(dataSource.changeRowExpand(key)).done((function() { that.load().done(d.resolve).fail(d.reject) })).fail(d.reject) } return d }, isRowExpanded: function(key) { var dataSource = this._dataSource; return dataSource && dataSource.isRowExpanded(key) }, expandRow: function(key) { if (!this.isRowExpanded(key)) { return this.changeRowExpand(key) } return (new _deferred.Deferred).resolve() }, collapseRow: function(key) { if (this.isRowExpanded(key)) { return this.changeRowExpand(key) } return (new _deferred.Deferred).resolve() }, optionChanged: function(args) { if ("grouping" === args.name) { args.name = "dataSource" } this.callBase(args) } }; var onGroupingMenuItemClick = function(column, params) { var columnsController = this._columnsController; switch (params.itemData.value) { case "group": var groups = columnsController._dataSource.group() || []; columnsController.columnOption(column.dataField, "groupIndex", groups.length); break; case "ungroup": columnsController.columnOption(column.dataField, "groupIndex", -1); break; case "ungroupAll": this.component.clearGrouping() } }; var isGroupPanelVisible = function(groupPanelOptions) { var visible = null === groupPanelOptions || void 0 === groupPanelOptions ? void 0 : groupPanelOptions.visible; return "auto" === visible ? "desktop" === _devices.default.current().deviceType : !!visible }; var _allowDragging = function(groupPanelOptions, column) { var isVisible = isGroupPanelVisible(groupPanelOptions); var canDrag = (null === groupPanelOptions || void 0 === groupPanelOptions ? void 0 : groupPanelOptions.allowColumnDragging) && column.allowGrouping; return isVisible && !!canDrag }; var GroupingHeaderPanelExtender = { _getToolbarItems: function() { var items = this.callBase(); return this._appendGroupingItem(items) }, _appendGroupingItem: function(items) { var _this = this; if (this._isGroupPanelVisible()) { var isRendered = false; var toolbarItem = { template: function() { var $groupPanel = (0, _renderer.default)("
").addClass("dx-datagrid-group-panel"); _this._updateGroupPanelContent($groupPanel); (0, _m_accessibility.registerKeyboardAction)("groupPanel", _this, $groupPanel, void 0, _this._handleActionKeyDown.bind(_this)); return $groupPanel }, name: "groupPanel", onItemRendered: function() { isRendered && _this.renderCompleted.fire(); isRendered = true }, location: "before", locateInMenu: "never", sortIndex: 1 }; items.push(toolbarItem); this.updateToolbarDimensions() } return items }, _handleActionKeyDown: function(args) { var event = args.event; var $target = (0, _renderer.default)(event.target); var groupColumnIndex = $target.closest(".".concat("dx-group-panel-item")).index(); var column = this._columnsController.getGroupColumns()[groupColumnIndex]; var columnIndex = column && column.index; if ($target.is(".dx-header-filter")) { this.getController("headerFilter").showHeaderFilterMenu(columnIndex, true) } else { this._processGroupItemAction(columnIndex) } event.preventDefault() }, _isGroupPanelVisible: function() { return isGroupPanelVisible(this.option("groupPanel")) }, _renderGroupPanelItems: function($groupPanel, groupColumns) { var that = this; $groupPanel.empty(); (0, _iterator.each)(groupColumns, (function(index, groupColumn) { that._createGroupPanelItem($groupPanel, groupColumn) })); (0, _accessibility.restoreFocus)(this) }, _createGroupPanelItem: function($rootElement, groupColumn) { var $groupPanelItem = (0, _renderer.default)("
").addClass(groupColumn.cssClass).addClass("dx-group-panel-item").data("columnData", groupColumn).appendTo($rootElement).text(groupColumn.caption); (0, _accessibility.setTabIndex)(this, $groupPanelItem); return $groupPanelItem }, _columnOptionChanged: function(e) { if (!this._requireReady && !_m_core.default.checkChanges(e.optionNames, ["width", "visibleWidth"])) { var $toolbarElement = this.element(); var $groupPanel = $toolbarElement && $toolbarElement.find(".".concat("dx-datagrid-group-panel")); if ($groupPanel && $groupPanel.length) { this._updateGroupPanelContent($groupPanel); this.updateToolbarDimensions(); this.renderCompleted.fire() } } this.callBase() }, _updateGroupPanelContent: function($groupPanel) { var groupColumns = this.getController("columns").getGroupColumns(); var groupPanelOptions = this.option("groupPanel"); this._renderGroupPanelItems($groupPanel, groupColumns); if (groupPanelOptions.allowColumnDragging && !groupColumns.length) { (0, _renderer.default)("
").addClass("dx-group-panel-message").text(groupPanelOptions.emptyPanelText).appendTo($groupPanel); $groupPanel.closest(".".concat("dx-toolbar-item")).addClass("dx-toolbar-label"); $groupPanel.closest(".".concat("dx-toolbar-label")).css("maxWidth", "none") } }, allowDragging: function(column) { var groupPanelOptions = this.option("groupPanel"); return _allowDragging(groupPanelOptions, column) }, getColumnElements: function() { var $element = this.element(); return $element && $element.find(".".concat("dx-group-panel-item")) }, getColumns: function() { return this.getController("columns").getGroupColumns() }, getBoundingRect: function() { var $element = this.element(); if ($element && $element.find(".".concat("dx-datagrid-group-panel")).length) { var offset = $element.offset(); return { top: offset.top, bottom: offset.top + (0, _size.getHeight)($element) } } return null }, getName: function() { return "group" }, getContextMenuItems: function(options) { var contextMenuEnabled = this.option("grouping.contextMenuEnabled"); var $groupedColumnElement = (0, _renderer.default)(options.targetElement).closest(".".concat("dx-group-panel-item")); var items; if ($groupedColumnElement.length) { options.column = $groupedColumnElement.data("columnData") } if (contextMenuEnabled && options.column) { var column = options.column; var isGroupingAllowed = (0, _type.isDefined)(column.allowGrouping) ? column.allowGrouping : true; if (isGroupingAllowed) { var isColumnGrouped = (0, _type.isDefined)(column.groupIndex) && column.groupIndex > -1; var groupingTexts = this.option("grouping.texts"); var onItemClick = onGroupingMenuItemClick.bind(this, column); items = [{ text: groupingTexts.ungroup, value: "ungroup", disabled: !isColumnGrouped, onItemClick: onItemClick }, { text: groupingTexts.ungroupAll, value: "ungroupAll", onItemClick: onItemClick }] } } return items }, isVisible: function() { return this.callBase() || this._isGroupPanelVisible() }, hasGroupedColumns: function() { return this._isGroupPanelVisible() && !!this.getColumns().length }, optionChanged: function(args) { if ("groupPanel" === args.name) { this._invalidate(); args.handled = true } else { this.callBase(args) } } }; exports.GroupingHeaderPanelExtender = GroupingHeaderPanelExtender; var GroupingRowsViewExtender = { getContextMenuItems: function(options) { var contextMenuEnabled = this.option("grouping.contextMenuEnabled"); var items; if (contextMenuEnabled && options.row && "group" === options.row.rowType) { var columnsController = this._columnsController; var column = columnsController.columnOption("groupIndex:".concat(options.row.groupIndex)); if (column && column.allowGrouping) { var groupingTexts = this.option("grouping.texts"); var onItemClick = onGroupingMenuItemClick.bind(this, column); items = []; items.push({ text: groupingTexts.ungroup, value: "ungroup", onItemClick: onItemClick }, { text: groupingTexts.ungroupAll, value: "ungroupAll", onItemClick: onItemClick }) } } return items }, _rowClick: function(e) { var expandMode = this.option("grouping.expandMode"); var scrollingMode = this.option("scrolling.mode"); var isGroupRowStateChanged = "infinite" !== scrollingMode && "rowClick" === expandMode && (0, _renderer.default)(e.event.target).closest(".".concat("dx-group-row")).length; var isExpandButtonClicked = (0, _renderer.default)(e.event.target).closest(".".concat("dx-datagrid-expand")).length; if (isGroupRowStateChanged || isExpandButtonClicked) { this._changeGroupRowState(e) } this.callBase(e) }, _changeGroupRowState: function(e) { var dataController = this.getController("data"); var row = dataController.items()[e.rowIndex]; var allowCollapsing = this._columnsController.columnOption("groupIndex:".concat(row.groupIndex), "allowCollapsing"); if ("data" === row.rowType || "group" === row.rowType && false !== allowCollapsing) { dataController.changeRowExpand(row.key, true); e.event.preventDefault(); e.handled = true } } }; var columnHeadersViewExtender = { getContextMenuItems: function(options) { var contextMenuEnabled = this.option("grouping.contextMenuEnabled"); var items = this.callBase(options); if (contextMenuEnabled && options.row && ("header" === options.row.rowType || "detailAdaptive" === options.row.rowType)) { var column = options.column; if (!column.command && (!(0, _type.isDefined)(column.allowGrouping) || column.allowGrouping)) { var groupingTexts = this.option("grouping.texts"); var isColumnGrouped = (0, _type.isDefined)(column.groupIndex) && column.groupIndex > -1; var onItemClick = onGroupingMenuItemClick.bind(this, column); items = items || []; items.push({ text: groupingTexts.groupByThisColumn, value: "group", beginGroup: true, disabled: isColumnGrouped, onItemClick: onItemClick }); if (column.showWhenGrouped) { items.push({ text: groupingTexts.ungroup, value: "ungroup", disabled: !isColumnGrouped, onItemClick: onItemClick }) } items.push({ text: groupingTexts.ungroupAll, value: "ungroupAll", onItemClick: onItemClick }) } } return items }, allowDragging: function(column) { var groupPanelOptions = this.option("groupPanel"); return _allowDragging(groupPanelOptions, column) || this.callBase(column) } }; _m_core.default.registerModule("grouping", { defaultOptions: function() { return { grouping: { autoExpandAll: true, allowCollapsing: true, contextMenuEnabled: false, expandMode: "buttonClick", texts: { groupContinuesMessage: _message.default.format("dxDataGrid-groupContinuesMessage"), groupContinuedMessage: _message.default.format("dxDataGrid-groupContinuedMessage"), groupByThisColumn: _message.default.format("dxDataGrid-groupHeaderText"), ungroup: _message.default.format("dxDataGrid-ungroupHeaderText"), ungroupAll: _message.default.format("dxDataGrid-ungroupAllText") } }, groupPanel: { visible: false, emptyPanelText: _message.default.format("dxDataGrid-groupPanelEmptyText"), allowColumnDragging: true } } }, extenders: { controllers: { data: GroupingDataControllerExtender, columns: { _getExpandColumnOptions: function() { var options = this.callBase.apply(this, arguments); options.cellTemplate = _m_core.default.getExpandCellTemplate(); return options } }, editing: { _isProcessedItem: function(item) { return (0, _type.isDefined)(item.groupIndex) && (0, _type.isString)(item.rowType) && 0 === item.rowType.indexOf("group") } } }, views: { headerPanel: GroupingHeaderPanelExtender, rowsView: GroupingRowsViewExtender, columnHeadersView: columnHeadersViewExtender } } }) }, 2772: /*!*********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/grouping/m_grouping_collapsed.js ***! \*********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.GroupingHelper = void 0; var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _errors = __webpack_require__( /*! ../../../../data/errors */ 18438); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/widget/ui.errors */ 96688)); var _m_core = _interopRequireDefault(__webpack_require__( /*! ../m_core */ 74938)); var _m_utils = __webpack_require__( /*! ../m_utils */ 10087); var _m_grouping_core = __webpack_require__( /*! ./m_grouping_core */ 8748); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function getContinuationGroupCount(groupOffset, pageSize, groupSize, groupIndex) { groupIndex = groupIndex || 0; if (pageSize > 1 && groupSize > 0) { var pageOffset = groupOffset - Math.floor(groupOffset / pageSize) * pageSize || pageSize; pageOffset += groupSize - groupIndex - 2; if (pageOffset < 0) { pageOffset += pageSize } return Math.floor(pageOffset / (pageSize - groupIndex - 1)) } return 0 } var GroupingHelper = _m_grouping_core.GroupingHelper.inherit(function() { var foreachExpandedGroups = function(that, callback, updateGroups) { return that.foreachGroups((function(groupInfo, parents) { if (groupInfo.isExpanded) { return callback(groupInfo, parents) } }), true, false, updateGroups, updateGroups) }; var processGroupItems = function processGroupItems(that, items, groupsCount, expandedInfo, path, isCustomLoading, isLastGroupExpanded) { var isExpanded; expandedInfo.items = expandedInfo.items || []; expandedInfo.paths = expandedInfo.paths || []; expandedInfo.count = expandedInfo.count || 0; expandedInfo.lastCount = expandedInfo.lastCount || 0; if (!groupsCount) { return } for (var i = 0; i < items.length; i++) { var item = items[i]; if (void 0 !== item.items) { path.push(item.key); if (isCustomLoading) { isExpanded = true } else { var groupInfo = that.findGroupInfo(path); isExpanded = groupInfo && groupInfo.isExpanded } if (!isExpanded) { item.collapsedItems = item.items; item.items = null } else if (item.items) { processGroupItems(that, item.items, groupsCount - 1, expandedInfo, path, isCustomLoading, isLastGroupExpanded) } else if (1 === groupsCount && item.count && (!isCustomLoading || isLastGroupExpanded)) { expandedInfo.items.push(item); expandedInfo.paths.push(path.slice(0)); expandedInfo.count += expandedInfo.lastCount; expandedInfo.lastCount = item.count } path.pop() } } }; var updateGroupInfoItem = function(that, item, isLastGroupLevel, path, offset) { var groupInfo = that.findGroupInfo(path); var count; if (!groupInfo) { if (isLastGroupLevel) { count = item.count > 0 ? item.count : item.items.length } that.addGroupInfo({ isExpanded: that._isGroupExpanded(path.length - 1), path: path.slice(0), offset: offset, count: count || 0 }) } else { if (isLastGroupLevel) { groupInfo.count = item.count > 0 ? item.count : item.items && item.items.length || 0 } else { item.count = groupInfo.count || item.count } groupInfo.offset = offset } }; var updateGroupInfos = function updateGroupInfos(that, options, items, loadedGroupCount, groupIndex, path, parentIndex) { var groupCount = options.group ? options.group.length : 0; var isLastGroupLevel = groupCount === loadedGroupCount; var remotePaging = options.remoteOperations.paging; var offset = 0; var totalCount = 0; var count; groupIndex = groupIndex || 0; path = path || []; if (remotePaging && !parentIndex) { offset = 0 === groupIndex ? options.skip || 0 : options.skips[groupIndex - 1] || 0 } if (groupIndex >= loadedGroupCount) { return items.length } for (var i = 0; i < items.length; i++) { var item = items[i]; if (item) { path.push(item.key); if (!item.count && !item.items || void 0 === item.items) { return -1 } updateGroupInfoItem(that, item, isLastGroupLevel, path, offset + i); count = item.items ? updateGroupInfos(that, options, item.items, loadedGroupCount, groupIndex + 1, path, i) : item.count || -1; if (count < 0) { return -1 } totalCount += count; path.pop() } } return totalCount }; var isGroupExpanded = function(groups, groupIndex) { return groups && groups.length && groups[groupIndex] && !!groups[groupIndex].isExpanded }; var getTotalOffset = function(groupInfos, pageSize, offset) { var groupSize; var totalOffset = offset; for (var groupIndex = 0; groupIndex < groupInfos.length; groupIndex++) { groupSize = groupInfos[groupIndex].offset + 1; if (groupIndex > 0) { groupSize += groupInfos[groupIndex - 1].childrenTotalCount; if (pageSize) { groupSize += getContinuationGroupCount(totalOffset, pageSize, groupSize, groupIndex - 1) * groupIndex } } totalOffset += groupSize } return totalOffset }; function applyContinuationToGroupItem(options, expandedInfo, groupLevel, expandedItemIndex) { var item = expandedInfo.items[expandedItemIndex]; var skip = options.skips && options.skips[groupLevel]; var take = options.takes && options.takes[groupLevel]; var isLastExpandedItem = expandedItemIndex === expandedInfo.items.length - 1; var isFirstExpandedItem = 0 === expandedItemIndex; var lastExpandedItemSkip = isFirstExpandedItem && skip || 0; var isItemsTruncatedByTake = item.count > take + lastExpandedItemSkip; if (isFirstExpandedItem && void 0 !== skip) { item.isContinuation = true } if (isLastExpandedItem && void 0 !== take && isItemsTruncatedByTake) { item.isContinuationOnNextPage = true } } function isDataDeferred(data) { return !Array.isArray(data) } function makeDataDeferred(options) { if (!isDataDeferred(options.data)) { options.data = new _deferred.Deferred } } function loadGroupItems(that, options, loadedGroupCount, expandedInfo, groupLevel, data) { if (!options.isCustomLoading) { expandedInfo = {}; processGroupItems(that, data, loadedGroupCount, expandedInfo, []); ! function(options, expandedInfo, currentGroupCount) { var currentGroupIndex = currentGroupCount - 1; var groupCount = options.group ? options.group.length : 0; expandedInfo.skip = options.skips && options.skips[currentGroupIndex]; if (options.takes && void 0 !== options.takes[currentGroupIndex]) { if (groupCount === currentGroupCount) { expandedInfo.take = expandedInfo.count ? expandedInfo.count - (expandedInfo.skip || 0) : 0 } else { expandedInfo.take = 0 } expandedInfo.take += options.takes[currentGroupIndex] } }(options, expandedInfo, loadedGroupCount) } var groupCount = options.group ? options.group.length : 0; if (expandedInfo.paths.length && groupCount - loadedGroupCount > 0) { makeDataDeferred(options); ! function(that, options, expandedInfo, loadedGroupCount, groupLevel, data) { var groups = options.group || []; var currentGroup = groups[groupLevel + 1]; var deferreds = []; (0, _iterator.each)(expandedInfo.paths, (function(expandedItemIndex) { var _a; var loadOptions = { requireTotalCount: false, requireGroupCount: true, group: [currentGroup], groupSummary: options.storeLoadOptions.groupSummary, filter: (0, _m_utils.createGroupFilter)(expandedInfo.paths[expandedItemIndex], { filter: options.storeLoadOptions.filter, group: groups }), select: options.storeLoadOptions.select, langParams: null === (_a = options.storeLoadOptions) || void 0 === _a ? void 0 : _a.langParams }; if (0 === expandedItemIndex) { loadOptions.skip = expandedInfo.skip || 0 } if (expandedItemIndex === expandedInfo.paths.length - 1) { loadOptions.take = expandedInfo.take } var loadResult = 0 === loadOptions.take ? [] : that._dataSource.loadFromStore(loadOptions); (0, _deferred.when)(loadResult).done((function(data) { var item = expandedInfo.items[expandedItemIndex]; applyContinuationToGroupItem(options, expandedInfo, groupLevel, expandedItemIndex); item.items = data })); deferreds.push(loadResult) })); _deferred.when.apply(null, deferreds).done((function() { updateGroupInfos(that, options, data, loadedGroupCount + 1); loadGroupItems(that, options, loadedGroupCount + 1, expandedInfo, groupLevel + 1, data) })) }(that, options, expandedInfo, loadedGroupCount, groupLevel, data) } else if (expandedInfo.paths.length && options.storeLoadOptions.group) { makeDataDeferred(options); ! function(that, options, expandedInfo, data) { var expandedFilters = []; var groups = options.group || []; (0, _iterator.each)(expandedInfo.paths, (function(_, expandedPath) { expandedFilters.push((0, _m_utils.createGroupFilter)(expandedPath, { group: options.isCustomLoading ? options.storeLoadOptions.group : groups })) })); var filter = options.storeLoadOptions.filter; if (!options.storeLoadOptions.isLoadingAll) { filter = _m_core.default.combineFilters([filter, _m_core.default.combineFilters(expandedFilters, "or")]) } var loadOptions = (0, _extend.extend)({}, options.storeLoadOptions, { requireTotalCount: false, requireGroupCount: false, group: null, sort: groups.concat(_m_core.default.normalizeSortingInfo(options.storeLoadOptions.sort || [])), filter: filter }); var isPagingLocal = that._dataSource.isLastLevelGroupItemsPagingLocal(); if (!isPagingLocal) { loadOptions.skip = expandedInfo.skip; loadOptions.take = expandedInfo.take }(0, _deferred.when)(0 === expandedInfo.take ? [] : that._dataSource.loadFromStore(loadOptions)).done((function(items) { if (isPagingLocal) { items = that._dataSource.sortLastLevelGroupItems(items, groups, expandedInfo.paths); items = expandedInfo.skip ? items.slice(expandedInfo.skip) : items; items = expandedInfo.take ? items.slice(0, expandedInfo.take) : items }(0, _iterator.each)(expandedInfo.items, (function(index, item) { var itemCount = item.count - (0 === index && expandedInfo.skip || 0); var expandedItems = items.splice(0, itemCount); applyContinuationToGroupItem(options, expandedInfo, groups.length - 1, index); item.items = expandedItems })); options.data.resolve(data) })).fail(options.data.reject) }(that, options, expandedInfo, data) } else if (isDataDeferred(options.data)) { options.data.resolve(data) } } var loadGroupTotalCount = function(dataSource, options) { var d = new _deferred.Deferred; var isGrouping = !!(options.group && options.group.length); var loadOptions = (0, _extend.extend)({ skip: 0, take: 1, requireGroupCount: isGrouping, requireTotalCount: !isGrouping }, options, { group: isGrouping ? options.group : null }); dataSource.load(loadOptions).done((function(data, extra) { var count = extra && (isGrouping ? extra.groupCount : extra.totalCount); if (!isFinite(count)) { d.reject(_errors.errors.Error(isGrouping ? "E4022" : "E4021")); return } d.resolve(count) })).fail(d.reject.bind(d)); return d }; return { updateTotalItemsCount: function(options) { var totalItemsCount = 0; var totalCount = options.extra && options.extra.totalCount || 0; var groupCount = options.extra && options.extra.groupCount || 0; var pageSize = this._dataSource.pageSize(); var isVirtualPaging = this._isVirtualPaging(); foreachExpandedGroups(this, (function(groupInfo) { groupInfo.childrenTotalCount = 0 })); foreachExpandedGroups(this, (function(groupInfo, parents) { var totalOffset = getTotalOffset(parents, isVirtualPaging ? 0 : pageSize, totalItemsCount); var count = groupInfo.count + groupInfo.childrenTotalCount; if (!isVirtualPaging) { count += getContinuationGroupCount(totalOffset, pageSize, count, parents.length - 1) } if (parents[parents.length - 2]) { parents[parents.length - 2].childrenTotalCount += count } else { totalItemsCount += count } })); this.callBase(totalItemsCount - totalCount + groupCount) }, _isGroupExpanded: function(groupIndex) { var groups = this._dataSource.group(); return isGroupExpanded(groups, groupIndex) }, _updatePagingOptions: function(options, callback) { var isVirtualPaging = this._isVirtualPaging(); var pageSize = this._dataSource.pageSize(); var skips = []; var takes = []; var skipChildrenTotalCount = 0; var childrenTotalCount = 0; if (options.take) { foreachExpandedGroups(this, (function(groupInfo) { groupInfo.childrenTotalCount = 0; groupInfo.skipChildrenTotalCount = 0 })); foreachExpandedGroups(this, (function(groupInfo, parents) { var take; var takeCorrection = 0; var parentTakeCorrection = 0; var totalOffset = getTotalOffset(parents, isVirtualPaging ? 0 : pageSize, childrenTotalCount); var continuationGroupCount = 0; var skipContinuationGroupCount = 0; var groupInfoCount = groupInfo.count + groupInfo.childrenTotalCount; var childrenGroupInfoCount = groupInfoCount; callback && callback(groupInfo, totalOffset); var skip = options.skip - totalOffset; if (totalOffset <= options.skip + options.take && groupInfoCount) { take = options.take; if (!isVirtualPaging) { continuationGroupCount = getContinuationGroupCount(totalOffset, pageSize, groupInfoCount, parents.length - 1); groupInfoCount += continuationGroupCount * parents.length; childrenGroupInfoCount += continuationGroupCount; if (pageSize && skip >= 0) { takeCorrection = parents.length; parentTakeCorrection = parents.length - 1; skipContinuationGroupCount = Math.floor(skip / pageSize) } } if (skip >= 0) { if (totalOffset + groupInfoCount > options.skip) { skips.unshift(skip - skipContinuationGroupCount * takeCorrection - groupInfo.skipChildrenTotalCount) } if (totalOffset + groupInfoCount >= options.skip + take) { takes.unshift(take - takeCorrection - groupInfo.childrenTotalCount + groupInfo.skipChildrenTotalCount) } } else if (totalOffset + groupInfoCount >= options.skip + take) { takes.unshift(take + skip - groupInfo.childrenTotalCount) } } if (totalOffset <= options.skip) { if (parents[parents.length - 2]) { parents[parents.length - 2].skipChildrenTotalCount += Math.min(childrenGroupInfoCount, skip + 1 - skipContinuationGroupCount * parentTakeCorrection) } else { skipChildrenTotalCount += Math.min(childrenGroupInfoCount, skip + 1) } } if (totalOffset <= options.skip + take) { groupInfoCount = Math.min(childrenGroupInfoCount, skip + take - (skipContinuationGroupCount + 1) * parentTakeCorrection); if (parents[parents.length - 2]) { parents[parents.length - 2].childrenTotalCount += groupInfoCount } else { childrenTotalCount += groupInfoCount } } })); options.skip -= skipChildrenTotalCount; options.take -= childrenTotalCount - skipChildrenTotalCount } options.skips = skips; options.takes = takes }, changeRowExpand: function(path) { var groupInfo = this.findGroupInfo(path); var dataSource = this._dataSource; var remoteGroupPaging = dataSource.remoteOperations().groupPaging; var groups = _m_core.default.normalizeSortingInfo(dataSource.group()); if (groupInfo) { groupInfo.isExpanded = !groupInfo.isExpanded; if (remoteGroupPaging && groupInfo.isExpanded && path.length < groups.length) { return loadGroupTotalCount(dataSource, { filter: (0, _m_utils.createGroupFilter)(path, { filter: dataSource.lastLoadOptions().filter, group: dataSource.group() }), group: [groups[path.length]], select: dataSource.select() }).done((function(groupCount) { groupInfo.count = groupCount })) } return (new _deferred.Deferred).resolve() } return (new _deferred.Deferred).reject() }, handleDataLoading: function(options) { var storeLoadOptions = options.storeLoadOptions; var groups = _m_core.default.normalizeSortingInfo(storeLoadOptions.group || options.loadOptions.group); if (options.isCustomLoading || !groups.length) { return } if (options.remoteOperations.grouping) { var remotePaging = this._dataSource.remoteOperations().paging; storeLoadOptions.group = _m_core.default.normalizeSortingInfo(storeLoadOptions.group); storeLoadOptions.group.forEach((function(group, index) { var isLastGroup = index === storeLoadOptions.group.length - 1; group.isExpanded = !remotePaging || !isLastGroup })) } options.group = options.group || groups; if (options.remoteOperations.paging) { options.skip = storeLoadOptions.skip; options.take = storeLoadOptions.take; storeLoadOptions.requireGroupCount = true; storeLoadOptions.group = groups.slice(0, 1); this._updatePagingOptions(options); storeLoadOptions.skip = options.skip; storeLoadOptions.take = options.take } else { options.skip = options.loadOptions.skip; options.take = options.loadOptions.take; this._updatePagingOptions(options) } }, handleDataLoadedCore: function(options, callBase) { var loadedGroupCount = _m_core.default.normalizeSortingInfo(options.storeLoadOptions.group || options.loadOptions.group).length; var groupCount = options.group ? options.group.length : 0; var totalCount; var expandedInfo = {}; if (options.isCustomLoading) { callBase(options); processGroupItems(this, options.data, loadedGroupCount, expandedInfo, [], options.isCustomLoading, options.storeLoadOptions.isLoadingAll) } else { if (!options.remoteOperations.paging) { this.foreachGroups((function(groupInfo) { groupInfo.count = 0 })) } totalCount = updateGroupInfos(this, options, options.data, loadedGroupCount); if (totalCount < 0) { options.data = (new _deferred.Deferred).reject(_ui.default.Error("E1037")); return } if (!options.remoteOperations.paging) { if (loadedGroupCount && options.extra && options.loadOptions.requireTotalCount) { options.extra.totalCount = totalCount; options.extra.groupCount = options.data.length } } if (groupCount && options.storeLoadOptions.requireGroupCount && !isFinite(options.extra.groupCount)) { options.data = (new _deferred.Deferred).reject(_errors.errors.Error("E4022")); return } this.updateTotalItemsCount(options); if (!options.remoteOperations.paging) { this._updatePagingOptions(options) } callBase(options); if (!options.remoteOperations.paging) { this._processPaging(options, loadedGroupCount) } } loadGroupItems(this, options, loadedGroupCount, expandedInfo, 0, options.data) }, _processSkips: function(items, skips, groupCount) { if (!groupCount) { return } var firstItem = items[0]; var skip = skips[0]; var children = firstItem && firstItem.items; if (void 0 !== skip) { firstItem.isContinuation = true; if (children) { firstItem.items = children.slice(skip); this._processSkips(firstItem.items, skips.slice(1), groupCount - 1) } } }, _processTakes: function(items, skips, takes, groupCount, parents) { if (!groupCount || !items) { return } parents = parents || []; var lastItem = items[items.length - 1]; var children = lastItem && lastItem.items; var take = takes[0]; var skip = skips[0]; if (lastItem) { var maxTakeCount = lastItem.count - (lastItem.isContinuation && skip || 0) || children.length; if (void 0 !== take && maxTakeCount > take) { lastItem.isContinuationOnNextPage = true; parents.forEach((function(parent) { parent.isContinuationOnNextPage = true })); if (children) { children = children.slice(0, take); lastItem.items = children } } parents.push(lastItem); this._processTakes(children, skips.slice(1), takes.slice(1), groupCount - 1, parents) } }, _processPaging: function(options, groupCount) { this._processSkips(options.data, options.skips, groupCount); this._processTakes(options.data, options.skips, options.takes, groupCount) }, isLastLevelGroupItemsPagingLocal: function() { return false }, sortLastLevelGroupItems: function(items) { return items }, refresh: function(options, operationTypes) { var that = this; var dataSource = that._dataSource; var storeLoadOptions = options.storeLoadOptions; var group = options.group || options.storeLoadOptions.group; var oldGroups = _m_core.default.normalizeSortingInfo(that._group); var isExpanded; var groupIndex; function handleGroup(groupInfo, parents) { if (parents.length === groupIndex + 1) { groupInfo.isExpanded = isExpanded } } for (groupIndex = 0; groupIndex < oldGroups.length; groupIndex++) { isExpanded = isGroupExpanded(group, groupIndex); if (isGroupExpanded(that._group, groupIndex) !== isExpanded) { that.foreachGroups(handleGroup) } } that.callBase.apply(this, arguments); if (group && options.remoteOperations.paging && operationTypes.reload) { return foreachExpandedGroups(that, (function(groupInfo) { var groupCountQuery = loadGroupTotalCount(dataSource, { filter: (0, _m_utils.createGroupFilter)(groupInfo.path, { filter: storeLoadOptions.filter, group: group }), group: group.slice(groupInfo.path.length), select: storeLoadOptions.select }); var groupOffsetQuery = loadGroupTotalCount(dataSource, { filter: (0, _m_grouping_core.createOffsetFilter)(groupInfo.path, { filter: storeLoadOptions.filter, group: group }, true), group: group.slice(groupInfo.path.length - 1, groupInfo.path.length), select: storeLoadOptions.select }); return (0, _deferred.when)(groupOffsetQuery, groupCountQuery).done((function(offset, count) { offset = parseInt(offset.length ? offset[0] : offset); count = parseInt(count.length ? count[0] : count); groupInfo.offset = offset; if (groupInfo.count !== count) { groupInfo.count = count; that.updateTotalItemsCount(options) } })) }), true) } } } }()); exports.GroupingHelper = GroupingHelper }, 8748: /*!****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/grouping/m_grouping_core.js ***! \****************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.GroupingHelper = void 0; exports.createOffsetFilter = function(path, storeLoadOptions, lastLevelOnly) { var groups = (0, _utils.normalizeSortingInfo)(storeLoadOptions.group); var filter = []; for (var i = lastLevelOnly ? path.length - 1 : 0; i < path.length; i++) { var filterElement = []; for (var j = 0; j <= i; j++) { var selector = groups[j].selector; if (i === j && (null === path[j] || false === path[j] || true === path[j])) { if (false === path[j]) { filterElement.push([selector, "=", groups[j].desc ? true : null]) } else if (path[j] ? !groups[j].desc : groups[j].desc) { filterElement.push([selector, "<>", path[j]]) } else { filterElement.push([selector, "<>", null]); filterElement.push([selector, "=", null]) } } else { var currentFilter = [selector, i === j ? groups[j].desc ? ">" : "<" : "=", path[j]]; if ("<" === currentFilter[1]) { filterElement.push([currentFilter, "or", [selector, "=", null]]) } else { filterElement.push(currentFilter) } } } filter.push(_m_core.default.combineFilters(filterElement)) } filter = _m_core.default.combineFilters(filter, "or"); return _m_core.default.combineFilters([filter, storeLoadOptions.filter]) }; var _class = _interopRequireDefault(__webpack_require__( /*! ../../../../core/class */ 38377)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _utils = __webpack_require__( /*! ../../../../data/utils */ 16454); var _m_core = _interopRequireDefault(__webpack_require__( /*! ../m_core */ 74938)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var GroupingHelper = _class.default.inherit((findGroupInfoByKey = function(groupsInfo, key) { var hash = groupsInfo.hash; return hash && hash[JSON.stringify(key)] }, getGroupInfoIndexByOffset = function(groupsInfo, offset) { var leftIndex = 0; var rightIndex = groupsInfo.length - 1; if (!groupsInfo.length) { return 0 } do { var middleIndex = rightIndex + leftIndex >> 1; if (groupsInfo[middleIndex].offset > offset) { rightIndex = middleIndex } else { leftIndex = middleIndex } } while (rightIndex - leftIndex > 1); var index; for (index = leftIndex; index <= rightIndex; index++) { if (groupsInfo[index].offset > offset) { break } } return index }, { ctor: function(dataSourceAdapter) { this._dataSource = dataSourceAdapter; this.reset() }, reset: function() { this._groupsInfo = []; this._totalCountCorrection = 0 }, totalCountCorrection: function() { return this._totalCountCorrection }, updateTotalItemsCount: function(totalCountCorrection) { this._totalCountCorrection = totalCountCorrection || 0 }, isGroupItemCountable: function(item) { return !this._isVirtualPaging() || !item.isContinuation }, _isVirtualPaging: function() { var scrollingMode = this._dataSource.option("scrolling.mode"); return "virtual" === scrollingMode || "infinite" === scrollingMode }, itemsCount: function() { var dataSourceAdapter = this._dataSource; var dataSource = dataSourceAdapter._dataSource; var groupCount = _m_core.default.normalizeSortingInfo(dataSource.group() || []).length; var itemsCount = function calculateItemsCount(that, items, groupsCount) { var result = 0; if (items) { if (!groupsCount) { result = items.length } else { for (var i = 0; i < items.length; i++) { if (that.isGroupItemCountable(items[i])) { result++ } result += calculateItemsCount(that, items[i].items, groupsCount - 1) } } } return result }(this, dataSource.items(), groupCount); return itemsCount }, foreachGroups: function(callback, childrenAtFirst, foreachCollapsedGroups, updateOffsets, updateParentOffsets) { var that = this; return function foreachGroupsCore(groupsInfo, callback, childrenAtFirst, parents) { var callbackResults = []; function executeCallback(callback, data, parents, callbackResults) { var callbackResult = data && callback(data, parents); callbackResult && callbackResults.push(callbackResult); return callbackResult } for (var i = 0; i < groupsInfo.length; i++) { parents.push(groupsInfo[i].data); if (!childrenAtFirst && false === executeCallback(callback, groupsInfo[i].data, parents, callbackResults)) { return false } if (!groupsInfo[i].data || groupsInfo[i].data.isExpanded || foreachCollapsedGroups) { var children = groupsInfo[i].children; var callbackResult = children.length && foreachGroupsCore(children, callback, childrenAtFirst, parents); callbackResult && callbackResults.push(callbackResult); if (false === callbackResult) { return false } } if (childrenAtFirst && false === executeCallback(callback, groupsInfo[i].data, parents, callbackResults)) { return false } if (!groupsInfo[i].data || groupsInfo[i].data.offset !== groupsInfo[i].offset) { updateOffsets = true } parents.pop() } var currentParents = updateParentOffsets && parents.slice(0); return updateOffsets && _deferred.when.apply(_renderer.default, callbackResults).always((function() { that._updateGroupInfoOffsets(groupsInfo, currentParents) })) }(that._groupsInfo, callback, childrenAtFirst, []) }, _updateGroupInfoOffsets: function(groupsInfo, parents) { parents = parents || []; for (var index = 0; index < groupsInfo.length; index++) { var groupInfo = groupsInfo[index]; if (groupInfo.data && groupInfo.data.offset !== groupInfo.offset) { groupInfo.offset = groupInfo.data.offset; for (var parentIndex = 0; parentIndex < parents.length; parentIndex++) { parents[parentIndex].offset = groupInfo.offset } } } groupsInfo.sort((function(a, b) { return a.offset - b.offset })) }, findGroupInfo: function(path) { var groupInfo; var groupsInfo = this._groupsInfo; for (var pathIndex = 0; groupsInfo && pathIndex < path.length; pathIndex++) { groupInfo = findGroupInfoByKey(groupsInfo, path[pathIndex]); groupsInfo = groupInfo && groupInfo.children } return groupInfo && groupInfo.data }, addGroupInfo: function(groupInfoData) { var groupInfo; var path = groupInfoData.path; var groupsInfo = this._groupsInfo; for (var pathIndex = 0; pathIndex < path.length; pathIndex++) { groupInfo = findGroupInfoByKey(groupsInfo, path[pathIndex]); if (!groupInfo) { groupInfo = { key: path[pathIndex], offset: groupInfoData.offset, data: { offset: groupInfoData.offset, isExpanded: true, path: path.slice(0, pathIndex + 1) }, children: [] }; var index = getGroupInfoIndexByOffset(groupsInfo, groupInfoData.offset); groupsInfo.splice(index, 0, groupInfo); groupsInfo.hash = groupsInfo.hash || {}; groupsInfo.hash[JSON.stringify(groupInfo.key)] = groupInfo } if (pathIndex === path.length - 1) { groupInfo.data = groupInfoData; if (groupInfo.offset !== groupInfoData.offset) { this._updateGroupInfoOffsets(groupsInfo) } } groupsInfo = groupInfo.children } }, allowCollapseAll: function() { return true }, refresh: function(options) { var storeLoadOptions = options.storeLoadOptions; var groups = (0, _utils.normalizeSortingInfo)(storeLoadOptions.group || []); var oldGroups = "_group" in this ? (0, _utils.normalizeSortingInfo)(this._group || []) : groups; var groupsCount = Math.min(oldGroups.length, groups.length); this._group = storeLoadOptions.group; for (var groupIndex = 0; groupIndex < groupsCount; groupIndex++) { if (oldGroups[groupIndex].selector !== groups[groupIndex].selector) { groupsCount = groupIndex; break } } if (!groupsCount) { this.reset() } else { ! function cleanGroupsInfo(groupsInfo, groupIndex, groupsCount) { for (var i = 0; i < groupsInfo.length; i++) { if (groupIndex + 1 >= groupsCount) { groupsInfo[i].children = [] } else { cleanGroupsInfo(groupsInfo[i].children, groupIndex + 1, groupsCount) } } }(this._groupsInfo, 0, groupsCount) } }, handleDataLoading: function() {}, handleDataLoaded: function(options, callBase) { callBase(options) }, handleDataLoadedCore: function(options, callBase) { callBase(options) } })); var findGroupInfoByKey, getGroupInfoIndexByOffset; exports.GroupingHelper = GroupingHelper }, 4789: /*!********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/grouping/m_grouping_expanded.js ***! \********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.GroupingHelper = void 0; var _data = __webpack_require__( /*! ../../../../core/utils/data */ 47617); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _query = _interopRequireDefault(__webpack_require__( /*! ../../../../data/query */ 96687)); var _store_helper = _interopRequireDefault(__webpack_require__( /*! ../../../../data/store_helper */ 99236)); var _utils = __webpack_require__( /*! ../../../../data/utils */ 16454); var _m_core = _interopRequireDefault(__webpack_require__( /*! ../m_core */ 74938)); var _m_utils = __webpack_require__( /*! ../m_utils */ 10087); var _m_grouping_core = __webpack_require__( /*! ./m_grouping_core */ 8748); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var loadTotalCount = function(dataSource, options) { var d = new _deferred.Deferred; var loadOptions = (0, _extend.extend)({ skip: 0, take: 1, requireTotalCount: true }, options); dataSource.load(loadOptions).done((function(data, extra) { d.resolve(extra && extra.totalCount) })).fail(d.reject.bind(d)); return d }; var GroupingHelper = _m_grouping_core.GroupingHelper.inherit((foreachCollapsedGroups = function(that, callback, updateOffsets) { return that.foreachGroups((function(groupInfo) { if (!groupInfo.isExpanded) { return callback(groupInfo) } }), false, false, updateOffsets, true) }, correctSkipLoadOption = function(that, skip) { var skipCorrection = 0; var resultSkip = skip || 0; if (skip) { foreachCollapsedGroups(that, (function(groupInfo) { if (groupInfo.offset - skipCorrection >= skip) { return false } skipCorrection += groupInfo.count - 1 })); resultSkip += skipCorrection } return resultSkip }, pathEquals = function(path1, path2) { if (path1.length !== path2.length) { return false } for (var i = 0; i < path1.length; i++) { if (!(0, _utils.keysEqual)(null, path1[i], path2[i])) { return false } } return true }, updateGroupOffsets = function updateGroupOffsets(that, items, path, offset, additionalGroupInfo) { if (!items) { return } for (var i = 0; i < items.length; i++) { var item = items[i]; if ("key" in item && void 0 !== item.items) { path.push(item.key); if (additionalGroupInfo && pathEquals(additionalGroupInfo.path, path) && !item.isContinuation) { additionalGroupInfo.offset = offset } var groupInfo = that.findGroupInfo(path); if (groupInfo && !item.isContinuation) { groupInfo.offset = offset } if (groupInfo && !groupInfo.isExpanded) { offset += groupInfo.count } else { offset = updateGroupOffsets(that, item.items, path, offset, additionalGroupInfo) } path.pop() } else { offset++ } } return offset }, getGroupCount = function getGroupCount(item, groupCount) { var count = item.count || item.items.length; if (!item.count && groupCount > 1) { count = 0; for (var i = 0; i < item.items.length; i++) { count += getGroupCount(item.items[i], groupCount - 1) } } return count }, { handleDataLoading: function(options) { var storeLoadOptions = options.storeLoadOptions; var collapsedGroups = []; var collapsedItemsCount = 0; var skipFirstItem = false; var take; var group = options.loadOptions.group; var skipCorrection = 0; ! function(storeLoadOptions, loadOptions) { if (loadOptions.group) { var groups = _m_core.default.normalizeSortingInfo(loadOptions.group); var sorts = _m_core.default.normalizeSortingInfo(storeLoadOptions.sort); storeLoadOptions.sort = _store_helper.default.arrangeSortingInfo(groups, sorts); delete loadOptions.group } }(storeLoadOptions, options.loadOptions); options.group = options.group || group; if (options.isCustomLoading) { return } var loadOptions = (0, _extend.extend)({}, storeLoadOptions); loadOptions.skip = correctSkipLoadOption(this, storeLoadOptions.skip); if (loadOptions.skip && loadOptions.take && group) { loadOptions.skip--; loadOptions.take++; skipFirstItem = true } if (loadOptions.take && group) { take = loadOptions.take; loadOptions.take++ } foreachCollapsedGroups(this, (function(groupInfo) { if (groupInfo.offset >= loadOptions.skip + loadOptions.take + skipCorrection) { return false } if (groupInfo.offset >= loadOptions.skip + skipCorrection && groupInfo.count) { skipCorrection += groupInfo.count - 1; collapsedGroups.push(groupInfo); collapsedItemsCount += groupInfo.count } })); (0, _iterator.each)(collapsedGroups, (function() { loadOptions.filter = function(path, storeLoadOptions, group) { var groups = _m_core.default.normalizeSortingInfo(group || storeLoadOptions.group); var filter = []; for (var i = 0; i < path.length; i++) { var filterElement = []; for (var j = 0; j <= i; j++) { filterElement.push([groups[j].selector, i === j ? "<>" : "=", path[j]]) } filter.push(_m_core.default.combineFilters(filterElement)) } filter = _m_core.default.combineFilters(filter, "or"); return _m_core.default.combineFilters([filter, storeLoadOptions.filter]) }(this.path, loadOptions, group) })); options.storeLoadOptions = loadOptions; options.collapsedGroups = collapsedGroups; options.collapsedItemsCount = collapsedItemsCount; options.skip = loadOptions.skip || 0; options.skipFirstItem = skipFirstItem; options.take = take }, handleDataLoaded: function(options, callBase) { var collapsedGroups = options.collapsedGroups; var groups = _m_core.default.normalizeSortingInfo(options.group); var groupCount = groups.length; function appendCollapsedPath(data, path, groups, collapsedGroup, offset) { if (!data || !path.length || !groups.length) { return } var keyValue; var i; var pathValue = (0, _data.toComparable)(path[0], true); for (i = 0; i < data.length; i++) { keyValue = (0, _data.toComparable)(data[i].key, true); if (offset >= collapsedGroup.offset || pathValue === keyValue) { break } else { offset += getGroupCount(data[i], groups.length) } } if (!data.length || pathValue !== keyValue) { data.splice(i, 0, { key: path[0], items: [], count: 1 === path.length ? collapsedGroup.count : void 0 }) } appendCollapsedPath(data[i].items, path.slice(1), groups.slice(1), collapsedGroup, offset) } if (options.collapsedItemsCount && options.extra && options.extra.totalCount >= 0) { if (!options.extra._totalCountWasIncreasedByCollapsedItems) { options.extra.totalCount += options.collapsedItemsCount; options.extra._totalCountWasIncreasedByCollapsedItems = true } } callBase(options); if (groupCount) { var data = options.data; var query = (0, _query.default)(data); _store_helper.default.multiLevelGroup(query, groups).enumerate().done((function(groupedData) { data = groupedData })); if (collapsedGroups) { for (var pathIndex = 0; pathIndex < collapsedGroups.length; pathIndex++) { appendCollapsedPath(data, collapsedGroups[pathIndex].path, groups, collapsedGroups[pathIndex], options.skip) } } if (!options.isCustomLoading) { ! function processGroupItems(that, items, path, offset, skipFirstItem, take) { var removeLastItemsCount = 0; var needRemoveFirstItem = false; for (var i = 0; i < items.length; i++) { var item = items[i]; if (void 0 !== item.items) { path.push(item.key); var groupInfo = that.findGroupInfo(path); if (groupInfo && !groupInfo.isExpanded) { item.collapsedItems = item.items; item.items = null; offset += groupInfo.count; take--; if (take < 0) { removeLastItemsCount++ } if (skipFirstItem) { needRemoveFirstItem = true } } else if (item.items) { var offsetInfo = processGroupItems(that, item.items, path, offset, skipFirstItem, take); if (skipFirstItem) { if (offsetInfo.offset - offset > 1) { item.isContinuation = true } else { needRemoveFirstItem = true } } offset = offsetInfo.offset; take = offsetInfo.take; if (take < 0) { if (item.items.length) { item.isContinuationOnNextPage = true } else { removeLastItemsCount++ } } } path.pop() } else { if (skipFirstItem) { needRemoveFirstItem = true } offset++; take--; if (take < 0) { removeLastItemsCount++ } } skipFirstItem = false } if (needRemoveFirstItem) { items.splice(0, 1) } if (removeLastItemsCount) { items.splice(-removeLastItemsCount, removeLastItemsCount) } return { offset: offset, take: take } }(this, data, [], options.skip, options.skipFirstItem, options.take) } options.data = data } }, isGroupItemCountable: function(item) { return null === item.items }, updateTotalItemsCount: function() { var itemsCountCorrection = 0; foreachCollapsedGroups(this, (function(groupInfo) { if (groupInfo.count) { itemsCountCorrection -= groupInfo.count - 1 } })); this.callBase(itemsCountCorrection) }, changeRowExpand: function(path) { var that = this; var dataSource = that._dataSource; var beginPageIndex = dataSource.beginPageIndex ? dataSource.beginPageIndex() : dataSource.pageIndex(); var dataSourceItems = dataSource.items(); var offset = correctSkipLoadOption(that, beginPageIndex * dataSource.pageSize()); var groupInfo = that.findGroupInfo(path); var groupCountQuery; if (groupInfo && !groupInfo.isExpanded) { groupCountQuery = (new _deferred.Deferred).resolve(groupInfo.count) } else { groupCountQuery = loadTotalCount(dataSource, { filter: (0, _m_utils.createGroupFilter)(path, { filter: dataSource.filter(), group: dataSource.group() }) }) } return (0, _deferred.when)(groupCountQuery).done((function(count) { count = parseInt(count.length ? count[0] : count); if (groupInfo) { updateGroupOffsets(that, dataSourceItems, [], offset); groupInfo.isExpanded = !groupInfo.isExpanded; groupInfo.count = count } else { groupInfo = { offset: -1, count: count, path: path, isExpanded: false }; updateGroupOffsets(that, dataSourceItems, [], offset, groupInfo); if (groupInfo.offset >= 0) { that.addGroupInfo(groupInfo) } } that.updateTotalItemsCount() })).fail((function() { dataSource._eventsStrategy.fireEvent("loadError", arguments) })) }, allowCollapseAll: function() { return false }, refresh: function(options, operationTypes) { var that = this; var storeLoadOptions = options.storeLoadOptions; var dataSource = that._dataSource; this.callBase.apply(this, arguments); if (operationTypes.reload) { return foreachCollapsedGroups(that, (function(groupInfo) { var groupCountQuery = loadTotalCount(dataSource, { filter: (0, _m_utils.createGroupFilter)(groupInfo.path, storeLoadOptions) }); var groupOffsetQuery = loadTotalCount(dataSource, { filter: (0, _m_grouping_core.createOffsetFilter)(groupInfo.path, storeLoadOptions) }); return (0, _deferred.when)(groupOffsetQuery, groupCountQuery).done((function(offset, count) { offset = parseInt(offset.length ? offset[0] : offset); count = parseInt(count.length ? count[0] : count); groupInfo.offset = offset; if (groupInfo.count !== count) { groupInfo.count = count; that.updateTotalItemsCount() } })) }), true) } } })); var foreachCollapsedGroups, correctSkipLoadOption, pathEquals, updateGroupOffsets, getGroupCount; exports.GroupingHelper = GroupingHelper }, 29593: /*!**************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/m_aggregate_calculator.js ***! \**************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _class = (obj = __webpack_require__( /*! ../../../core/class */ 38377), obj && obj.__esModule ? obj : { default: obj }); var obj; var _data = __webpack_require__( /*! ../../../core/utils/data */ 47617); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _errors = __webpack_require__( /*! ../../../data/errors */ 18438); var _utils = __webpack_require__( /*! ../../../data/utils */ 16454); function depthFirstSearch(i, depth, root, callback) { var j = 0; if (i < depth) { for (; j < root.items.length; j++) { depthFirstSearch(i + 1, depth, root.items[j], callback) } } if (i === depth) { callback(root) } } function map(array, callback) { var i; if ("map" in array) { return array.map(callback) } var result = new Array(array.length); for (i in array) { result[i] = callback(array[i], i) } return result } function normalizeAggregate(aggregate) { var selector = (0, _data.compileGetter)(aggregate.selector); var skipEmptyValues = "skipEmptyValues" in aggregate ? aggregate.skipEmptyValues : true; var aggregator = aggregate.aggregator; if ("string" === typeof aggregator) { aggregator = _utils.aggregators[aggregator]; if (!aggregator) { throw _errors.errors.Error("E4001", aggregate.aggregator) } } return { selector: selector, aggregator: aggregator, skipEmptyValues: skipEmptyValues } } var _default = _class.default.inherit({ ctor: function(options) { this._data = options.data; this._groupLevel = options.groupLevel || 0; this._totalAggregates = map(options.totalAggregates || [], normalizeAggregate); this._groupAggregates = map(options.groupAggregates || [], normalizeAggregate); this._totals = [] }, calculate: function() { if (this._totalAggregates.length) { this._calculateTotals(0, { items: this._data }) } if (this._groupAggregates.length && this._groupLevel > 0) { this._calculateGroups({ items: this._data }) } }, totalAggregates: function() { return this._totals }, _aggregate: function(aggregates, data, container) { var length = data.items ? data.items.length : 0; for (var i = 0; i < aggregates.length; i++) { if (aggregator = aggregates[i].aggregator, aggregator === _utils.aggregators.count) { container[i] = (container[i] || 0) + length; continue } for (var j = 0; j < length; j++) { this._accumulate(i, aggregates[i], container, data.items[j]) } } var aggregator }, _calculateTotals: function(level, data) { if (0 === level) { this._totals = this._seed(this._totalAggregates) } if (level === this._groupLevel) { this._aggregate(this._totalAggregates, data, this._totals) } else { for (var i = 0; i < data.items.length; i++) { this._calculateTotals(level + 1, data.items[i]) } } if (0 === level) { this._totals = this._finalize(this._totalAggregates, this._totals) } }, _calculateGroups: function(root) { var maxLevel = this._groupLevel; var currentLevel = maxLevel + 1; var seedFn = this._seed.bind(this, this._groupAggregates); var stepFn = this._aggregate.bind(this, this._groupAggregates); var finalizeFn = this._finalize.bind(this, this._groupAggregates); function aggregator(node) { node.aggregates = seedFn(currentLevel - 1); if (currentLevel === maxLevel) { stepFn(node, node.aggregates) } else { depthFirstSearch(currentLevel, maxLevel, node, (function(innerNode) { stepFn(innerNode, node.aggregates) })) } node.aggregates = finalizeFn(node.aggregates) } while (--currentLevel > 0) { depthFirstSearch(0, currentLevel, root, aggregator) } }, _seed: function(aggregates, groupIndex) { return map(aggregates, (function(aggregate) { var aggregator = aggregate.aggregator; var seed = "seed" in aggregator ? (0, _type.isFunction)(aggregator.seed) ? aggregator.seed(groupIndex) : aggregator.seed : NaN; return seed })) }, _accumulate: function(aggregateIndex, aggregate, results, item) { var value = aggregate.selector(item); var aggregator = aggregate.aggregator; var skipEmptyValues = aggregate.skipEmptyValues; if (skipEmptyValues && (x = value, x !== x || "" === x || null === x || void 0 === x)) { return } var x; if (results[aggregateIndex] !== results[aggregateIndex]) { results[aggregateIndex] = value } else { results[aggregateIndex] = aggregator.step(results[aggregateIndex], value) } }, _finalize: function(aggregates, results) { return map(aggregates, (function(aggregate, index) { var fin = aggregate.aggregator.finalize; return fin ? fin(results[index]) : results[index] })) } }); exports.default = _default }, 96291: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/m_columns_controller.js ***! \************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _m_columns_controller = __webpack_require__( /*! ../../grids/grid_core/columns_controller/m_columns_controller */ 10279); var _m_core = (obj = __webpack_require__( /*! ./m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("columns", { defaultOptions: function() { return (0, _extend.extend)(true, {}, _m_columns_controller.columnsControllerModule.defaultOptions(), { commonColumnSettings: { allowExporting: true } }) }, controllers: _m_columns_controller.columnsControllerModule.controllers }) }, 74938: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/m_core.js ***! \**********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../../grids/grid_core/m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../../grids/grid_core/m_utils */ 60082)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var _default = _extends(_extends(_extends({}, _m_modules.default), _m_utils.default), { modules: [] }); exports.default = _default }, 3263: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/m_data_controller.js ***! \*********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.DataController = void 0; var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../ui/widget/ui.errors */ 96688)); var _m_data_controller = __webpack_require__( /*! ../../grids/grid_core/data_controller/m_data_controller */ 72119); var _m_core = _interopRequireDefault(__webpack_require__( /*! ./m_core */ 74938)); var _m_data_source_adapter = _interopRequireDefault(__webpack_require__( /*! ./m_data_source_adapter */ 49975)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _a, _b; var DataController = null === (_b = null === (_a = _m_data_controller.dataControllerModule.controllers) || void 0 === _a ? void 0 : _a.data) || void 0 === _b ? void 0 : _b.inherit({ _getDataSourceAdapter: function() { return _m_data_source_adapter.default }, _getSpecificDataSourceOption: function() { var dataSource = this.option("dataSource"); if (dataSource && !Array.isArray(dataSource) && this.option("keyExpr")) { _ui.default.log("W1011") } return this.callBase() } }); exports.DataController = DataController; _m_core.default.registerModule("data", { defaultOptions: _m_data_controller.dataControllerModule.defaultOptions, controllers: { data: DataController } }) }, 49975: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/m_data_source_adapter.js ***! \*************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _m_data_source_adapter = (obj = __webpack_require__( /*! ../../grids/grid_core/data_source_adapter/m_data_source_adapter */ 30945), obj && obj.__esModule ? obj : { default: obj }); var obj; var dataSourceAdapterType = _m_data_source_adapter.default; var _default = { extend: function(extender) { dataSourceAdapterType = dataSourceAdapterType.inherit(extender) }, create: function(component) { return new dataSourceAdapterType(component) } }; exports.default = _default }, 26949: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/m_editing.js ***! \*************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ./module_not_extended/editor_factory */ 98125); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _m_editing = __webpack_require__( /*! ../../grids/grid_core/editing/m_editing */ 22324); var _m_core = (obj = __webpack_require__( /*! ./m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("editing", (0, _extend.extend)(true, {}, _m_editing.editingModule, { extenders: { controllers: { data: { _changeRowExpandCore: function(key) { var editingController = this._editingController; if (Array.isArray(key)) { editingController && editingController.refresh() } return this.callBase.apply(this, arguments) } } } } })) }, 10087: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/m_utils.js ***! \***********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.createGroupFilter = function(path, storeLoadOptions) { var groups = (0, _utils.normalizeSortingInfo)(storeLoadOptions.group); var filter = []; for (var i = 0; i < path.length; i++) { filter.push([groups[i].selector, "=", path[i]]) } if (storeLoadOptions.filter) { filter.push(storeLoadOptions.filter) } return _m_utils.default.combineFilters(filter) }; var _utils = __webpack_require__( /*! ../../../data/utils */ 16454); var _m_utils = (obj = __webpack_require__( /*! ../../grids/grid_core/m_utils */ 60082), obj && obj.__esModule ? obj : { default: obj }); var obj }, 10590: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/m_widget.js ***! \************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _m_widget_base = (obj = __webpack_require__( /*! ./m_widget_base */ 26196), obj && obj.__esModule ? obj : { default: obj }); var obj; __webpack_require__( /*! ./module_not_extended/state_storing */ 97847); __webpack_require__( /*! ./module_not_extended/selection */ 86006); __webpack_require__( /*! ./module_not_extended/column_chooser */ 17663); __webpack_require__( /*! ./grouping/m_grouping */ 72487); __webpack_require__( /*! ./module_not_extended/master_detail */ 48190); __webpack_require__( /*! ./m_editing */ 26949); __webpack_require__( /*! ./module_not_extended/editing_row_based */ 42267); __webpack_require__( /*! ./module_not_extended/editing_form_based */ 94585); __webpack_require__( /*! ./module_not_extended/editing_cell_based */ 82831); __webpack_require__( /*! ./module_not_extended/validating */ 41430); __webpack_require__( /*! ./module_not_extended/virtual_scrolling */ 98726); __webpack_require__( /*! ./module_not_extended/filter_row */ 34622); __webpack_require__( /*! ./module_not_extended/header_filter */ 42595); __webpack_require__( /*! ./module_not_extended/filter_sync */ 66551); __webpack_require__( /*! ./module_not_extended/filter_builder */ 69566); __webpack_require__( /*! ./module_not_extended/filter_panel */ 76568); __webpack_require__( /*! ./module_not_extended/search */ 20015); __webpack_require__( /*! ./module_not_extended/pager */ 70608); __webpack_require__( /*! ./module_not_extended/columns_resizing_reordering */ 53489); __webpack_require__( /*! ./module_not_extended/keyboard_navigation */ 28294); __webpack_require__( /*! ./summary/m_summary */ 15180); __webpack_require__( /*! ./module_not_extended/column_fixing */ 68339); __webpack_require__( /*! ./module_not_extended/adaptivity */ 26098); __webpack_require__( /*! ./module_not_extended/virtual_columns */ 12470); __webpack_require__( /*! ./export/m_export */ 48252); __webpack_require__( /*! ./focus/m_focus */ 56445); __webpack_require__( /*! ./module_not_extended/row_dragging */ 445); var _default = _m_widget_base.default; exports.default = _default }, 26196: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/m_widget_base.js ***! \*****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; __webpack_require__( /*! ./module_not_extended/column_headers */ 90130); __webpack_require__( /*! ./m_columns_controller */ 96291); __webpack_require__( /*! ./m_data_controller */ 3263); __webpack_require__( /*! ./module_not_extended/sorting */ 10792); __webpack_require__( /*! ./module_not_extended/rows */ 86226); __webpack_require__( /*! ./module_not_extended/context_menu */ 74043); __webpack_require__( /*! ./module_not_extended/error_handling */ 46950); __webpack_require__( /*! ./module_not_extended/grid_view */ 24734); __webpack_require__( /*! ./module_not_extended/header_panel */ 63350); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/browser */ 47810)); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _console = __webpack_require__( /*! ../../../core/utils/console */ 30869); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _themes = __webpack_require__( /*! ../../../ui/themes */ 75811); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../ui/widget/ui.widget */ 14390)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../../grids/grid_core/m_utils */ 60082)); var _m_core = _interopRequireDefault(__webpack_require__( /*! ./m_core */ 74938)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } _m_core.default.registerModulesOrder(["stateStoring", "columns", "selection", "editorFactory", "columnChooser", "grouping", "editing", "editingRowBased", "editingFormBased", "editingCellBased", "masterDetail", "validating", "adaptivity", "data", "virtualScrolling", "columnHeaders", "filterRow", "headerPanel", "headerFilter", "sorting", "search", "rows", "pager", "columnsResizingReordering", "contextMenu", "keyboardNavigation", "errorHandling", "summary", "columnFixing", "export", "gridView"]); var DataGrid = _ui.default.inherit({ _activeStateUnit: ".dx-row", _getDefaultOptions: function() { var result = this.callBase(); (0, _iterator.each)(_m_core.default.modules, (function() { if ((0, _type.isFunction)(this.defaultOptions)) { (0, _extend.extend)(true, result, this.defaultOptions()) } })); return result }, _setDeprecatedOptions: function() { this.callBase(); (0, _extend.extend)(this._deprecatedOptions, { useKeyboard: { since: "19.2", alias: "keyboardNavigation.enabled" }, rowTemplate: { since: "21.2", message: 'Use the "dataRowTemplate" option instead' }, "columnChooser.allowSearch": { since: "23.1", message: 'Use the "columnChooser.search.enabled" option instead' }, "columnChooser.searchTimeout": { since: "23.1", message: 'Use the "columnChooser.search.timeout" option instead' } }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: { platform: "ios" }, options: { showRowLines: true } }, { device: function() { return (0, _themes.isMaterial)() }, options: { showRowLines: true, showColumnLines: false, headerFilter: { height: 315 }, editing: { useIcons: true }, selection: { showCheckBoxesMode: "always" } } }, { device: function() { return _browser.default.webkit }, options: { loadingTimeout: 30, loadPanel: { animation: { show: { easing: "cubic-bezier(1, 0, 1, 0)", duration: 500, from: { opacity: 0 }, to: { opacity: 1 } } } } } }, { device: function(_device) { return "desktop" !== _device.deviceType }, options: { grouping: { expandMode: "rowClick" } } }]) }, _init: function() { this.callBase(); _m_utils.default.logHeaderFilterDeprecatedWarningIfNeed(this); _m_core.default.processModules(this, _m_core.default); _m_core.default.callModuleItemsMethod(this, "init") }, _clean: _common.noop, _optionChanged: function(args) { _m_core.default.callModuleItemsMethod(this, "optionChanged", [args]); if (!args.handled) { this.callBase(args) } }, _dimensionChanged: function() { this.updateDimensions(true) }, _visibilityChanged: function(visible) { if (visible) { this.updateDimensions() } }, _initMarkup: function() { this.callBase.apply(this, arguments); this.getView("gridView").render(this.$element()) }, _renderContentImpl: function() { this.getView("gridView").update() }, _renderContent: function() { var that = this; (0, _common.deferRender)((function() { that._renderContentImpl() })) }, _getTemplate: function(templateName) { var template = templateName; if ((0, _type.isString)(template) && template.startsWith("#")) { template = (0, _renderer.default)(templateName); _console.logger.warn("Specifying grid templates with the jQuery selector name is now deprecated. Use the DOM Node or the jQuery object that references this selector instead.") } return this.callBase(template) }, _dispose: function() { this.callBase(); _m_core.default.callModuleItemsMethod(this, "dispose") }, isReady: function() { return this.getController("data").isReady() }, beginUpdate: function() { this.callBase(); _m_core.default.callModuleItemsMethod(this, "beginUpdate") }, endUpdate: function() { _m_core.default.callModuleItemsMethod(this, "endUpdate"); this.callBase() }, getController: function(name) { return this._controllers[name] }, getView: function(name) { return this._views[name] }, focus: function(element) { this.getController("keyboardNavigation").focus(element) } }); DataGrid.registerModule = _m_core.default.registerModule.bind(_m_core.default); (0, _component_registrator.default)("dxDataGrid", DataGrid); var _default = DataGrid; exports.default = _default }, 26098: /*!**********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/adaptivity.js ***! \**********************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_adaptivity = __webpack_require__( /*! ../../../grids/grid_core/adaptivity/m_adaptivity */ 18107); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("adaptivity", _m_adaptivity.adaptivityModule) }, 17663: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/column_chooser.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.ColumnChooserView = exports.ColumnChooserController = void 0; var _m_column_chooser = __webpack_require__( /*! ../../../grids/grid_core/column_chooser/m_column_chooser */ 71184); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; var ColumnChooserController = _m_column_chooser.columnChooserModule.controllers.columnChooser; exports.ColumnChooserController = ColumnChooserController; var ColumnChooserView = _m_column_chooser.columnChooserModule.views.columnChooserView; exports.ColumnChooserView = ColumnChooserView; _m_core.default.registerModule("columnChooser", _m_column_chooser.columnChooserModule) }, 68339: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/column_fixing.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_column_fixing = __webpack_require__( /*! ../../../grids/grid_core/column_fixing/m_column_fixing */ 53424); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("columnFixing", _m_column_fixing.columnFixingModule) }, 90130: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/column_headers.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.ColumnHeadersView = void 0; var _m_column_headers = __webpack_require__( /*! ../../../grids/grid_core/column_headers/m_column_headers */ 14509); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; var ColumnHeadersView = _m_column_headers.columnHeadersModule.views.columnHeadersView; exports.ColumnHeadersView = ColumnHeadersView; _m_core.default.registerModule("columnHeaders", _m_column_headers.columnHeadersModule) }, 53489: /*!***************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/columns_resizing_reordering.js ***! \***************************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.TrackerView = exports.TablePositionViewController = exports.DraggingHeaderViewController = exports.DraggingHeaderView = exports.ColumnsSeparatorView = exports.ColumnsResizerViewController = void 0; var _m_columns_resizing_reordering = __webpack_require__( /*! ../../../grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering */ 49505); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; var DraggingHeaderView = _m_columns_resizing_reordering.columnsResizingReorderingModule.views.draggingHeaderView; exports.DraggingHeaderView = DraggingHeaderView; var DraggingHeaderViewController = _m_columns_resizing_reordering.columnsResizingReorderingModule.controllers.draggingHeader; exports.DraggingHeaderViewController = DraggingHeaderViewController; var ColumnsSeparatorView = _m_columns_resizing_reordering.columnsResizingReorderingModule.views.columnsSeparatorView; exports.ColumnsSeparatorView = ColumnsSeparatorView; var TablePositionViewController = _m_columns_resizing_reordering.columnsResizingReorderingModule.controllers.tablePosition; exports.TablePositionViewController = TablePositionViewController; var ColumnsResizerViewController = _m_columns_resizing_reordering.columnsResizingReorderingModule.controllers.columnsResizer; exports.ColumnsResizerViewController = ColumnsResizerViewController; var TrackerView = _m_columns_resizing_reordering.columnsResizingReorderingModule.views.trackerView; exports.TrackerView = TrackerView; _m_core.default.registerModule("columnsResizingReordering", _m_columns_resizing_reordering.columnsResizingReorderingModule) }, 74043: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/context_menu.js ***! \************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_context_menu = __webpack_require__( /*! ../../../grids/grid_core/context_menu/m_context_menu */ 69823); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("contextMenu", _m_context_menu.contextMenuModule) }, 82831: /*!******************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/editing_cell_based.js ***! \******************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_editing_cell_based = __webpack_require__( /*! ../../../grids/grid_core/editing/m_editing_cell_based */ 68802); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("editingCellBased", _m_editing_cell_based.editingCellBasedModule) }, 94585: /*!******************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/editing_form_based.js ***! \******************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_editing_form_based = __webpack_require__( /*! ../../../grids/grid_core/editing/m_editing_form_based */ 99211); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("editingFormBased", _m_editing_form_based.editingFormBasedModule) }, 42267: /*!*****************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/editing_row_based.js ***! \*****************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_editing_row_based = __webpack_require__( /*! ../../../grids/grid_core/editing/m_editing_row_based */ 55597); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("editingRowBased", _m_editing_row_based.editingRowBasedModule) }, 98125: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/editor_factory.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_editor_factory = __webpack_require__( /*! ../../../grids/grid_core/editor_factory/m_editor_factory */ 80070); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("editorFactory", _m_editor_factory.editorFactoryModule) }, 46950: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/error_handling.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_error_handling = __webpack_require__( /*! ../../../grids/grid_core/error_handling/m_error_handling */ 31152); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("errorHandling", _m_error_handling.errorHandlingModule) }, 69566: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/filter_builder.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_filter_builder = __webpack_require__( /*! ../../../grids/grid_core/filter/m_filter_builder */ 62690); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("filterBuilder", _m_filter_builder.filterBuilderModule) }, 76568: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/filter_panel.js ***! \************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_filter_panel = __webpack_require__( /*! ../../../grids/grid_core/filter/m_filter_panel */ 4062); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("filterPanel", _m_filter_panel.filterPanelModule) }, 34622: /*!**********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/filter_row.js ***! \**********************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_filter_row = __webpack_require__( /*! ../../../grids/grid_core/filter/m_filter_row */ 12302); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("filterRow", _m_filter_row.filterRowModule) }, 66551: /*!***********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/filter_sync.js ***! \***********************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_filter_sync = __webpack_require__( /*! ../../../grids/grid_core/filter/m_filter_sync */ 14407); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("filterSync", _m_filter_sync.filterSyncModule) }, 24734: /*!*********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/grid_view.js ***! \*********************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_grid_view = __webpack_require__( /*! ../../../grids/grid_core/views/m_grid_view */ 28016); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("gridView", _m_grid_view.gridViewModule) }, 42595: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/header_filter.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_header_filter = __webpack_require__( /*! ../../../grids/grid_core/header_filter/m_header_filter */ 68796); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("headerFilter", _m_header_filter.headerFilterModule) }, 63350: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/header_panel.js ***! \************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.HeaderPanel = void 0; var _m_header_panel = __webpack_require__( /*! ../../../grids/grid_core/header_panel/m_header_panel */ 92468); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; var HeaderPanel = _m_header_panel.headerPanelModule.views.headerPanel; exports.HeaderPanel = HeaderPanel; _m_core.default.registerModule("headerPanel", _m_header_panel.headerPanelModule) }, 28294: /*!*******************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/keyboard_navigation.js ***! \*******************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_keyboard_navigation = __webpack_require__( /*! ../../../grids/grid_core/keyboard_navigation/m_keyboard_navigation */ 31822); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("keyboardNavigation", _m_keyboard_navigation.keyboardNavigationModule) }, 48190: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/master_detail.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_master_detail = __webpack_require__( /*! ../../../grids/grid_core/master_detail/m_master_detail */ 82802); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("masterDetail", _m_master_detail.masterDetailModule) }, 70608: /*!*****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/pager.js ***! \*****************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_pager = __webpack_require__( /*! ../../../grids/grid_core/pager/m_pager */ 3990); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("pager", _m_pager.pagerModule) }, 445: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/row_dragging.js ***! \************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_row_dragging = __webpack_require__( /*! ../../../grids/grid_core/row_dragging/m_row_dragging */ 88351); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("rowDragging", _m_row_dragging.rowDraggingModule) }, 86226: /*!****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/rows.js ***! \****************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.RowsView = void 0; var _m_rows_view = __webpack_require__( /*! ../../../grids/grid_core/views/m_rows_view */ 35095); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; var RowsView = _m_rows_view.rowsModule.views.rowsView; exports.RowsView = RowsView; _m_core.default.registerModule("rows", _m_rows_view.rowsModule) }, 20015: /*!******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/search.js ***! \******************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_search = __webpack_require__( /*! ../../../grids/grid_core/search/m_search */ 92021); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("search", _m_search.searchModule) }, 86006: /*!*********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/selection.js ***! \*********************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_selection = __webpack_require__( /*! ../../../grids/grid_core/selection/m_selection */ 17969); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("selection", _m_selection.selectionModule) }, 10792: /*!*******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/sorting.js ***! \*******************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_sorting = __webpack_require__( /*! ../../../grids/grid_core/sorting/m_sorting */ 11590); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("sorting", _m_sorting.sortingModule) }, 97847: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/state_storing.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_state_storing = __webpack_require__( /*! ../../../grids/grid_core/state_storing/m_state_storing */ 12440); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("stateStoring", _m_state_storing.stateStoringModule) }, 41430: /*!**********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/validating.js ***! \**********************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_validating = __webpack_require__( /*! ../../../grids/grid_core/validating/m_validating */ 39830); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("validating", _m_validating.validatingModule) }, 12470: /*!***************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/virtual_columns.js ***! \***************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_virtual_columns = __webpack_require__( /*! ../../../grids/grid_core/virtual_columns/m_virtual_columns */ 87482); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 74938), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("virtualColumns", _m_virtual_columns.virtualColumnsModule) }, 98726: /*!*****************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/module_not_extended/virtual_scrolling.js ***! \*****************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_virtual_scrolling = __webpack_require__( /*! ../../../grids/grid_core/virtual_scrolling/m_virtual_scrolling */ 92018); var _m_core = _interopRequireDefault(__webpack_require__( /*! ../m_core */ 74938)); var _m_data_source_adapter = _interopRequireDefault(__webpack_require__( /*! ../m_data_source_adapter */ 49975)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } _m_core.default.registerModule("virtualScrolling", _m_virtual_scrolling.virtualScrollingModule); _m_data_source_adapter.default.extend(_m_virtual_scrolling.virtualScrollingModule.extenders.dataSourceAdapter) }, 15180: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/data_grid/summary/m_summary.js ***! \*********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.renderSummaryCell = exports.FooterView = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _data = __webpack_require__( /*! ../../../../core/utils/data */ 47617); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _query = _interopRequireDefault(__webpack_require__( /*! ../../../../data/query */ 96687)); var _store_helper = _interopRequireDefault(__webpack_require__( /*! ../../../../data/store_helper */ 99236)); var _utils = __webpack_require__( /*! ../../../../data/utils */ 16454); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/widget/ui.errors */ 96688)); var _m_columns_view = __webpack_require__( /*! ../../../grids/grid_core/views/m_columns_view */ 57318); var _m_aggregate_calculator = _interopRequireDefault(__webpack_require__( /*! ../m_aggregate_calculator */ 29593)); var _m_core = _interopRequireDefault(__webpack_require__( /*! ../m_core */ 74938)); var _m_data_source_adapter = _interopRequireDefault(__webpack_require__( /*! ../m_data_source_adapter */ 49975)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var renderSummaryCell = function(cell, options) { var $cell = (0, _renderer.default)(cell); var column = options.column; var summaryItems = options.summaryItems; var $summaryItems = []; if (!column.command && summaryItems) { for (var i = 0; i < summaryItems.length; i++) { var summaryItem = summaryItems[i]; $summaryItems.push((0, _renderer.default)("
").css("textAlign", summaryItem.alignment || column.alignment).addClass("dx-datagrid-summary-item").addClass("dx-datagrid-text-content").addClass(summaryItem.cssClass).toggleClass("dx-datagrid-group-text-content", "group" === options.rowType).text(_m_core.default.getSummaryText(summaryItem, options.summaryTexts))) } $cell.append($summaryItems) } }; exports.renderSummaryCell = renderSummaryCell; var getSummaryCellOptions = function(that, options) { var summaryTexts = that.option("summary.texts") || {}; return { totalItem: options.row, summaryItems: options.row.summaryCells[options.columnIndex], summaryTexts: summaryTexts } }; var getGroupAggregates = function(data) { return data.summary || data.aggregates || [] }; var recalculateWhileEditing = function(that) { return that.option("summary.recalculateWhileEditing") }; var FooterView = _m_columns_view.ColumnsView.inherit({ _getRows: function() { return this._dataController.footerItems() }, _getCellOptions: function(options) { return (0, _extend.extend)(this.callBase(options), getSummaryCellOptions(this, options)) }, _renderCellContent: function($cell, options) { renderSummaryCell($cell, options); this.callBase.apply(this, arguments) }, _renderCore: function(change) { var needUpdateScrollLeft = false; var totalItem = this._dataController.footerItems()[0]; if (!change || !change.columnIndices) { this.element().empty().addClass("dx-datagrid-total-footer").toggleClass("dx-datagrid-nowrap", !this.option("wordWrapEnabled")); needUpdateScrollLeft = true } if (totalItem && totalItem.summaryCells && totalItem.summaryCells.length) { this._updateContent(this._renderTable({ change: change }), change); needUpdateScrollLeft && this._updateScrollLeftPosition() } }, _updateContent: function($newTable, change) { var _this = this; if (change && "update" === change.changeType && change.columnIndices) { return this.waitAsyncTemplates().done((function() { var $row = _this.getTableElement().find(".dx-row"); var $newRow = $newTable.find(".dx-row"); _this._updateCells($row, $newRow, change.columnIndices[0]) })) } return this.callBase.apply(this, arguments) }, _rowClick: function(e) { var item = this._dataController.footerItems()[e.rowIndex] || {}; this.executeAction("onRowClick", (0, _extend.extend)({}, e, item)) }, _columnOptionChanged: function(e) { var optionNames = e.optionNames; if (e.changeTypes.grouping) { return } if (optionNames.width || optionNames.visibleWidth) { this.callBase(e) } }, _handleDataChanged: function(e) { var changeType = e.changeType; if ("update" === e.changeType && e.repaintChangesOnly) { if (!e.totalColumnIndices) { this.render() } else if (e.totalColumnIndices.length) { this.render(null, { changeType: "update", columnIndices: [e.totalColumnIndices] }) } } else if ("refresh" === changeType || "append" === changeType || "prepend" === changeType) { this.render() } }, _createRow: function(row) { var $row = this.callBase.apply(this, arguments); if ("totalFooter" === row.rowType) { $row.addClass("dx-footer-row") } return $row }, getHeight: function() { return this.getElementHeight() }, isVisible: function() { return !!this._dataController.footerItems().length } }); exports.FooterView = FooterView; var SummaryDataSourceAdapterExtender = { init: function() { this.callBase.apply(this, arguments); this._totalAggregates = []; this._summaryGetter = _common.noop }, summaryGetter: function(_summaryGetter) { if (!arguments.length) { return this._summaryGetter } if ((0, _type.isFunction)(_summaryGetter)) { this._summaryGetter = _summaryGetter } }, summary: function(_summary) { if (!arguments.length) { return this._summaryGetter() } this._summaryGetter = function() { return _summary } }, totalAggregates: function() { return this._totalAggregates }, isLastLevelGroupItemsPagingLocal: function() { var summary = this.summary(); var sortByGroupsInfo = summary && summary.sortByGroups(); return sortByGroupsInfo && sortByGroupsInfo.length }, sortLastLevelGroupItems: function(items, groups, paths) { var groupedItems = _store_helper.default.multiLevelGroup((0, _query.default)(items), groups).toArray(); var result = []; paths.forEach((function(path) { ! function forEachGroup(groups, groupCount, callback, path) { path = path || []; for (var i = 0; i < groups.length; i++) { path.push(groups[i].key); if (1 === groupCount) { callback(path, groups[i].items) } else { forEachGroup(groups[i].items, groupCount - 1, callback, path) } path.pop() } }(groupedItems, groups.length, (function(itemsPath, items) { if (path.toString() === itemsPath.toString()) { result = result.concat(items) } })) })); return result } }; var SummaryDataSourceAdapterClientExtender = (calculateAggregates = function(that, summary, data, groupLevel) { var calculator; if (recalculateWhileEditing(that)) { var editingController = that.getController("editing"); if (editingController) { var insertedData = editingController.getInsertedData(); if (insertedData.length) { data = function applyAddedData(data, insertedData, groupLevel) { if (groupLevel) { return applyAddedData(data, insertedData.map((function(item) { return { items: [item] } }), groupLevel - 1)) } return data.concat(insertedData) }(data, insertedData, groupLevel) } var removedData = editingController.getRemovedData(); if (removedData.length) { data = function applyRemovedData(data, removedData, groupLevel) { if (groupLevel) { return data.map((function(data) { var updatedData = {}; var updatedItems = applyRemovedData(data.items || [], removedData, groupLevel - 1); Object.defineProperty(updatedData, "aggregates", { get: function() { return data.aggregates }, set: function(value) { data.aggregates = value } }); return (0, _extend.extend)(updatedData, data, { items: updatedItems }) })) } return data.filter((function(data) { return removedData.indexOf(data) < 0 })) }(data, removedData, groupLevel) } } } if (summary) { calculator = new _m_aggregate_calculator.default({ totalAggregates: summary.totalAggregates, groupAggregates: summary.groupAggregates, data: data, groupLevel: groupLevel }); calculator.calculate() } return calculator ? calculator.totalAggregates() : [] }, sortGroupsBySummary = function(data, group, summary) { var sortByGroups = summary && summary.sortByGroups && summary.sortByGroups(); if (sortByGroups && sortByGroups.length) { return function sortGroupsBySummaryCore(items, groups, sortByGroups) { if (!items || !groups.length) { return items } var group = groups[0]; var sorts = sortByGroups[0]; var query; if (group && sorts && sorts.length) { query = (0, _query.default)(items); (0, _iterator.each)(sorts, (function(index) { if (0 === index) { query = query.sortBy(this.selector, this.desc) } else { query = query.thenBy(this.selector, this.desc) } })); query.enumerate().done((function(sortedItems) { items = sortedItems })) } groups = groups.slice(1); sortByGroups = sortByGroups.slice(1); if (groups.length && sortByGroups.length) { (0, _iterator.each)(items, (function() { this.items = sortGroupsBySummaryCore(this.items, groups, sortByGroups) })) } return items }(data, group, sortByGroups) } return data }, { _customizeRemoteOperations: function(options) { var summary = this.summary(); if (summary) { if (options.remoteOperations.summary) { if (!options.isCustomLoading || options.storeLoadOptions.isLoadingAll) { if (options.storeLoadOptions.group) { if (options.remoteOperations.grouping) { options.storeLoadOptions.groupSummary = summary.groupAggregates } else if (summary.groupAggregates.length) { options.remoteOperations.paging = false } } options.storeLoadOptions.totalSummary = summary.totalAggregates } } else if (summary.totalAggregates.length || summary.groupAggregates.length && options.storeLoadOptions.group) { options.remoteOperations.paging = false } } this.callBase.apply(this, arguments); var cachedExtra = options.cachedData.extra; if (cachedExtra && cachedExtra.summary && !options.isCustomLoading) { options.storeLoadOptions.totalSummary = void 0 } }, _handleDataLoadedCore: function(options) { var _a, _b; var groups = (0, _utils.normalizeSortingInfo)(options.storeLoadOptions.group || options.loadOptions.group || []); var remoteOperations = options.remoteOperations || {}; var summary = this.summaryGetter()(remoteOperations); if (!options.isCustomLoading || options.storeLoadOptions.isLoadingAll) { if (remoteOperations.summary) { if (!remoteOperations.paging && groups.length && summary) { if (!remoteOperations.grouping) { calculateAggregates(this, { groupAggregates: summary.groupAggregates }, options.data, groups.length) } options.data = sortGroupsBySummary(options.data, groups, summary) } } else if (!remoteOperations.paging && summary) { var operationTypes = options.operationTypes || {}; var hasOperations = Object.keys(operationTypes).some((function(type) { return operationTypes[type] })); if (!hasOperations || !(null === (_b = null === (_a = options.cachedData) || void 0 === _a ? void 0 : _a.extra) || void 0 === _b ? void 0 : _b.summary) || groups.length && summary.groupAggregates.length) { var totalAggregates = calculateAggregates(this, summary, options.data, groups.length); options.extra = (0, _type.isPlainObject)(options.extra) ? options.extra : {}; options.extra.summary = totalAggregates; if (options.cachedData) { options.cachedData.extra = options.extra } } options.data = sortGroupsBySummary(options.data, groups, summary) } } if (!options.isCustomLoading) { this._totalAggregates = options.extra && options.extra.summary || this._totalAggregates } this.callBase(options) } }); var calculateAggregates, sortGroupsBySummary; _m_data_source_adapter.default.extend(SummaryDataSourceAdapterExtender); _m_data_source_adapter.default.extend(SummaryDataSourceAdapterClientExtender); _m_core.default.registerModule("summary", { defaultOptions: function() { return { summary: { groupItems: void 0, totalItems: void 0, calculateCustomSummary: void 0, skipEmptyValues: true, recalculateWhileEditing: false, texts: { sum: _message.default.format("dxDataGrid-summarySum"), sumOtherColumn: _message.default.format("dxDataGrid-summarySumOtherColumn"), min: _message.default.format("dxDataGrid-summaryMin"), minOtherColumn: _message.default.format("dxDataGrid-summaryMinOtherColumn"), max: _message.default.format("dxDataGrid-summaryMax"), maxOtherColumn: _message.default.format("dxDataGrid-summaryMaxOtherColumn"), avg: _message.default.format("dxDataGrid-summaryAvg"), avgOtherColumn: _message.default.format("dxDataGrid-summaryAvgOtherColumn"), count: _message.default.format("dxDataGrid-summaryCount") } }, sortByGroupSummaryInfo: void 0 } }, views: { footerView: FooterView }, extenders: { controllers: { data: { _isDataColumn: function(column) { return column && (!(0, _type.isDefined)(column.groupIndex) || column.showWhenGrouped) }, _isGroupFooterVisible: function() { var groupItems = this.option("summary.groupItems") || []; for (var i = 0; i < groupItems.length; i++) { var groupItem = groupItems[i]; var column = this._columnsController.columnOption(groupItem.showInColumn || groupItem.column); if (groupItem.showInGroupFooter && this._isDataColumn(column)) { return true } } return false }, _processGroupItems: function(items, groupCount, options) { var data = options && options.data; var result = this.callBase.apply(this, arguments); if (options) { if (void 0 === options.isGroupFooterVisible) { options.isGroupFooterVisible = this._isGroupFooterVisible() } if (data && data.items && options.isGroupFooterVisible && (options.collectContinuationItems || !data.isContinuationOnNextPage)) { result.push({ rowType: "groupFooter", key: options.path.slice(), data: data, groupIndex: options.path.length - 1, values: [] }) } } return result }, _processGroupItem: function(groupItem, options) { var that = this; if (!options.summaryGroupItems) { options.summaryGroupItems = that.option("summary.groupItems") || [] } if ("group" === groupItem.rowType) { var groupColumnIndex = -1; var afterGroupColumnIndex = -1; (0, _iterator.each)(options.visibleColumns, (function(visibleIndex) { var prevColumn = options.visibleColumns[visibleIndex - 1]; if (groupItem.groupIndex === this.groupIndex) { groupColumnIndex = this.index } if (visibleIndex > 0 && "expand" === prevColumn.command && "expand" !== this.command) { afterGroupColumnIndex = this.index } })); groupItem.summaryCells = this._calculateSummaryCells(options.summaryGroupItems, getGroupAggregates(groupItem.data), options.visibleColumns, (function(summaryItem, column) { if (summaryItem.showInGroupFooter) { return -1 } if (summaryItem.alignByColumn && column && !(0, _type.isDefined)(column.groupIndex) && column.index !== afterGroupColumnIndex) { return column.index } return groupColumnIndex }), true) } if ("groupFooter" === groupItem.rowType) { groupItem.summaryCells = this._calculateSummaryCells(options.summaryGroupItems, getGroupAggregates(groupItem.data), options.visibleColumns, (function(summaryItem, column) { return summaryItem.showInGroupFooter && that._isDataColumn(column) ? column.index : -1 })) } return groupItem }, _calculateSummaryCells: function(summaryItems, aggregates, visibleColumns, calculateTargetColumnIndex, isGroupRow) { var that = this; var summaryCells = []; var summaryCellsByColumns = {}; (0, _iterator.each)(summaryItems, (function(summaryIndex, summaryItem) { var column = that._columnsController.columnOption(summaryItem.column); var showInColumn = summaryItem.showInColumn && that._columnsController.columnOption(summaryItem.showInColumn) || column; var columnIndex = calculateTargetColumnIndex(summaryItem, showInColumn); if (columnIndex >= 0) { if (!summaryCellsByColumns[columnIndex]) { summaryCellsByColumns[columnIndex] = [] } var aggregate = aggregates[summaryIndex]; if (aggregate === aggregate) { var valueFormat; if ((0, _type.isDefined)(summaryItem.valueFormat)) { valueFormat = summaryItem.valueFormat } else if ("count" !== summaryItem.summaryType) { valueFormat = _m_core.default.getFormatByDataType(column && column.dataType) } summaryCellsByColumns[columnIndex].push((0, _extend.extend)({}, summaryItem, { value: (0, _type.isString)(aggregate) && column && column.deserializeValue ? column.deserializeValue(aggregate) : aggregate, valueFormat: valueFormat, columnCaption: column && column.index !== columnIndex ? column.caption : void 0 })) } } })); if (!(0, _type.isEmptyObject)(summaryCellsByColumns)) { visibleColumns.forEach((function(column, visibleIndex) { var prevColumn = visibleColumns[visibleIndex - 1]; var columnIndex = isGroupRow && ("expand" === (null === prevColumn || void 0 === prevColumn ? void 0 : prevColumn.command) || "expand" === column.command) ? null === prevColumn || void 0 === prevColumn ? void 0 : prevColumn.index : column.index; summaryCells.push(summaryCellsByColumns[columnIndex] || []) })) } return summaryCells }, _getSummaryCells: function(summaryTotalItems, totalAggregates) { var that = this; var columnsController = that._columnsController; return that._calculateSummaryCells(summaryTotalItems, totalAggregates, columnsController.getVisibleColumns(), (function(summaryItem, column) { return that._isDataColumn(column) ? column.index : -1 })) }, _updateItemsCore: function(change) { var summaryCells; var dataSource = this._dataSource; var footerItems = this._footerItems; var oldSummaryCells = footerItems && footerItems[0] && footerItems[0].summaryCells; var summaryTotalItems = this.option("summary.totalItems"); this._footerItems = []; if (dataSource && summaryTotalItems && summaryTotalItems.length) { var totalAggregates = dataSource.totalAggregates(); summaryCells = this._getSummaryCells(summaryTotalItems, totalAggregates); if (change && change.repaintChangesOnly && oldSummaryCells) { change.totalColumnIndices = summaryCells.map((function(summaryCell, index) { if (JSON.stringify(summaryCell) !== JSON.stringify(oldSummaryCells[index])) { return index } return -1 })).filter((function(index) { return index >= 0 })) } if (summaryCells.length) { this._footerItems.push({ rowType: "totalFooter", summaryCells: summaryCells }) } } this.callBase(change) }, _prepareUnsavedDataSelector: function(selector) { if (recalculateWhileEditing(this)) { var editingController = this.getController("editing"); if (editingController) { return function(data) { data = editingController.getUpdatedData(data); return selector(data) } } } return selector }, _prepareAggregateSelector: function(selector, aggregator) { selector = this._prepareUnsavedDataSelector(selector); if ("avg" === aggregator || "sum" === aggregator) { return function(data) { var value = selector(data); return (0, _type.isDefined)(value) ? Number(value) : value } } return selector }, _getAggregates: function(summaryItems, remoteOperations) { var that = this; var columnsController = that.getController("columns"); var calculateCustomSummary = that.option("summary.calculateCustomSummary"); var commonSkipEmptyValues = that.option("summary.skipEmptyValues"); return (0, _iterator.map)(summaryItems || [], (function(summaryItem) { var column = columnsController.columnOption(summaryItem.column); var calculateCellValue = column && column.calculateCellValue ? column.calculateCellValue.bind(column) : (0, _data.compileGetter)(column ? column.dataField : summaryItem.column); var aggregator = summaryItem.summaryType || "count"; var skipEmptyValues = (0, _type.isDefined)(summaryItem.skipEmptyValues) ? summaryItem.skipEmptyValues : commonSkipEmptyValues; if (remoteOperations) { return { selector: summaryItem.column, summaryType: aggregator } } var selector = that._prepareAggregateSelector(calculateCellValue, aggregator); if ("custom" === aggregator) { if (!calculateCustomSummary) { _ui.default.log("E1026"); calculateCustomSummary = function() {} } var options = { component: that.component, name: summaryItem.name }; calculateCustomSummary(options); options.summaryProcess = "calculate"; aggregator = { seed: function(groupIndex) { options.summaryProcess = "start"; options.totalValue = void 0; options.groupIndex = groupIndex; delete options.value; calculateCustomSummary(options); return options.totalValue }, step: function(totalValue, value) { options.summaryProcess = "calculate"; options.totalValue = totalValue; options.value = value; calculateCustomSummary(options); return options.totalValue }, finalize: function(totalValue) { options.summaryProcess = "finalize"; options.totalValue = totalValue; delete options.value; calculateCustomSummary(options); return options.totalValue } } } return { selector: selector, aggregator: aggregator, skipEmptyValues: skipEmptyValues } })) }, _addSortInfo: function(sortByGroups, groupColumn, selector, sortOrder) { if (groupColumn) { var groupIndex = groupColumn.groupIndex; sortOrder = sortOrder || groupColumn.sortOrder; if ((0, _type.isDefined)(groupIndex)) { sortByGroups[groupIndex] = sortByGroups[groupIndex] || []; sortByGroups[groupIndex].push({ selector: selector, desc: "desc" === sortOrder }) } } }, _findSummaryItem: function(summaryItems, name) { var summaryItemIndex = -1; if ((0, _type.isDefined)(name)) { (0, _iterator.each)(summaryItems || [], (function(index) { if (this.name === name || index === name || this.summaryType === name || this.column === name || (summaryItem = this, summaryType = summaryItem.summaryType, column = summaryItem.column, summaryType && column && "".concat(summaryType, "_").concat(column)) === name) { summaryItemIndex = index; return false } var summaryItem, summaryType, column })) } return summaryItemIndex }, _getSummarySortByGroups: function(sortByGroupSummaryInfo, groupSummaryItems) { var that = this; var columnsController = that._columnsController; var groupColumns = columnsController.getGroupColumns(); var sortByGroups = []; if (!groupSummaryItems || !groupSummaryItems.length) { return }(0, _iterator.each)(sortByGroupSummaryInfo || [], (function() { var sortOrder = this.sortOrder; var groupColumn = this.groupColumn; var summaryItemIndex = that._findSummaryItem(groupSummaryItems, this.summaryItem); if (summaryItemIndex < 0) { return } var selector = function(data) { return getGroupAggregates(data)[summaryItemIndex] }; if ((0, _type.isDefined)(groupColumn)) { groupColumn = columnsController.columnOption(groupColumn); that._addSortInfo(sortByGroups, groupColumn, selector, sortOrder) } else { (0, _iterator.each)(groupColumns, (function(groupIndex, groupColumn) { that._addSortInfo(sortByGroups, groupColumn, selector, sortOrder) })) } })); return sortByGroups }, _createDataSourceAdapterCore: function(dataSource, remoteOperations) { var that = this; var dataSourceAdapter = this.callBase(dataSource, remoteOperations); dataSourceAdapter.summaryGetter((function(currentRemoteOperations) { return that._getSummaryOptions(currentRemoteOperations || remoteOperations) })); return dataSourceAdapter }, _getSummaryOptions: function(remoteOperations) { var that = this; var groupSummaryItems = that.option("summary.groupItems"); var totalSummaryItems = that.option("summary.totalItems"); var sortByGroupSummaryInfo = that.option("sortByGroupSummaryInfo"); var groupAggregates = that._getAggregates(groupSummaryItems, remoteOperations && remoteOperations.grouping && remoteOperations.summary); var totalAggregates = that._getAggregates(totalSummaryItems, remoteOperations && remoteOperations.summary); if (groupAggregates.length || totalAggregates.length) { return { groupAggregates: groupAggregates, totalAggregates: totalAggregates, sortByGroups: function() { return that._getSummarySortByGroups(sortByGroupSummaryInfo, groupSummaryItems) } } } return }, publicMethods: function() { var methods = this.callBase(); methods.push("getTotalSummaryValue"); return methods }, getTotalSummaryValue: function(summaryItemName) { var summaryItemIndex = this._findSummaryItem(this.option("summary.totalItems"), summaryItemName); var aggregates = this._dataSource.totalAggregates(); if (aggregates.length && summaryItemIndex > -1) { return aggregates[summaryItemIndex] } }, optionChanged: function(args) { if ("summary" === args.name || "sortByGroupSummaryInfo" === args.name) { args.name = "dataSource" } this.callBase(args) }, init: function() { this._footerItems = []; this.callBase() }, footerItems: function() { return this._footerItems } }, editing: { _refreshSummary: function() { if (recalculateWhileEditing(this) && !this.isSaving()) { this._dataController.refresh({ load: true, changesOnly: true }) } }, _addChange: function(params) { var result = this.callBase.apply(this, arguments); if (params.type) { this._refreshSummary() } return result }, _removeChange: function() { var result = this.callBase.apply(this, arguments); this._refreshSummary(); return result }, cancelEditData: function() { var result = this.callBase.apply(this, arguments); this._refreshSummary(); return result } } }, views: { rowsView: { _createRow: function(row) { var $row = this.callBase.apply(this, arguments); row && $row.addClass("groupFooter" === row.rowType ? "dx-datagrid-group-footer" : ""); return $row }, _renderCells: function($row, options) { this.callBase.apply(this, arguments); if ("group" === options.row.rowType && options.row.summaryCells && options.row.summaryCells.length) { this._renderGroupSummaryCells($row, options) } }, _hasAlignByColumnSummaryItems: function(columnIndex, options) { return !(0, _type.isDefined)(options.columns[columnIndex].groupIndex) && options.row.summaryCells[columnIndex].length }, _getAlignByColumnCellCount: function(groupCellColSpan, options) { var alignByColumnCellCount = 0; for (var i = 1; i < groupCellColSpan; i++) { var columnIndex = options.row.summaryCells.length - i; alignByColumnCellCount = this._hasAlignByColumnSummaryItems(columnIndex, options) ? i : alignByColumnCellCount } return alignByColumnCellCount }, _renderGroupSummaryCells: function($row, options) { var $groupCell = $row.children().last(); var groupCellColSpan = Number($groupCell.attr("colSpan")) || 1; var alignByColumnCellCount = this._getAlignByColumnCellCount(groupCellColSpan, options); this._renderGroupSummaryCellsCore($groupCell, options, groupCellColSpan, alignByColumnCellCount) }, _renderGroupSummaryCellsCore: function($groupCell, options, groupCellColSpan, alignByColumnCellCount) { if (alignByColumnCellCount > 0) { $groupCell.attr("colSpan", groupCellColSpan - alignByColumnCellCount); for (var i = 0; i < alignByColumnCellCount; i++) { var columnIndex = options.columns.length - alignByColumnCellCount + i; this._renderCell($groupCell.parent(), (0, _extend.extend)({ column: options.columns[columnIndex], columnIndex: this._getSummaryCellIndex(columnIndex, options.columns) }, options)) } } }, _getSummaryCellIndex: function(columnIndex) { return columnIndex }, _getCellTemplate: function(options) { if (!options.column.command && !(0, _type.isDefined)(options.column.groupIndex) && options.summaryItems && options.summaryItems.length) { return renderSummaryCell } return this.callBase(options) }, _getCellOptions: function(options) { var parameters = this.callBase(options); if (options.row.summaryCells) { return (0, _extend.extend)(parameters, getSummaryCellOptions(this, options)) } return parameters } } } } }) }, 18107: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/adaptivity/m_adaptivity.js ***! \***************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.adaptivityModule = void 0; var _guid = _interopRequireDefault(__webpack_require__( /*! ../../../../core/guid */ 73176)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _dom = __webpack_require__( /*! ../../../../core/utils/dom */ 3532); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _click = __webpack_require__( /*! ../../../../events/click */ 95429); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../../../events/utils/index */ 39611); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _form = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/form */ 17737)); var _themes = __webpack_require__( /*! ../../../../ui/themes */ 75811); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var COLUMN_VIEWS = ["columnHeadersView", "rowsView", "footerView"]; function getColumnId(that, column) { return that._columnsController.getColumnId(column) } function adaptiveCellTemplate(container, options) { var $adaptiveColumnButton; var $container = (0, _renderer.default)(container); var adaptiveColumnsController = options.component.getController("adaptiveColumns"); if ("data" === options.rowType) { $adaptiveColumnButton = (0, _renderer.default)("").addClass(adaptiveColumnsController.addWidgetPrefix("adaptive-more")); _events_engine.default.on($adaptiveColumnButton, (0, _index.addNamespace)(_click.name, "dxDataGridAdaptivity"), adaptiveColumnsController.createAction((function() { adaptiveColumnsController.toggleExpandAdaptiveDetailRow(options.key) }))); $adaptiveColumnButton.appendTo($container) } else { _m_utils.default.setEmptyText($container) } } function focusCellHandler(e) { var _a; var $nextCell = null === (_a = e.data) || void 0 === _a ? void 0 : _a.$nextCell; _events_engine.default.off($nextCell, "focus", focusCellHandler); _events_engine.default.trigger($nextCell, "dxclick") } var adaptiveColumnsControllerMembers = { _isRowEditMode: function() { var editMode = this._getEditMode(); return "row" === editMode }, _isItemModified: function(item, cellOptions) { var columnIndex = this._columnsController.getVisibleIndex(item.column.index); var rowIndex = this._dataController.getRowIndexByKey(cellOptions.key); var row = this._dataController.items()[rowIndex + 1]; return row && row.modifiedValues && (0, _type.isDefined)(row.modifiedValues[columnIndex]) }, _renderFormViewTemplate: function(item, cellOptions, $container) { var that = this; var column = item.column; var focusAction = that.createAction((function() { if (that._editingController.isEditing()) { _events_engine.default.trigger($container, _click.name) } })); var rowData = cellOptions.row.data; var value = column.calculateCellValue(rowData); var displayValue = _m_utils.default.getDisplayValue(column, value, rowData, cellOptions.rowType); var text = _m_utils.default.formatValue(displayValue, column); var isCellOrBatchEditMode = this._editingController.isCellOrBatchEditMode(); var rowsView = that._rowsView; if (column.allowEditing && that.getController("keyboardNavigation").isKeyboardEnabled()) { $container.attr("tabIndex", that.option("tabIndex")); if (isCellOrBatchEditMode) { _events_engine.default.off($container, "focus", focusAction); _events_engine.default.on($container, "focus", focusAction) } } if (column.cellTemplate) { var templateOptions = (0, _extend.extend)({}, cellOptions, { value: value, displayValue: displayValue, text: text, column: column }); rowsView.renderTemplate($container, column.cellTemplate, templateOptions, (0, _dom.isElementInDom)($container)).done((function() { rowsView._cellPrepared($container, cellOptions) })) } else { var container = $container.get(0); if (column.encodeHtml) { container.textContent = text } else { container.innerHTML = text } $container.addClass("dx-adaptive-item-text"); if (!(0, _type.isDefined)(text) || "" === text) { $container.html(" ") } if (!that._isRowEditMode()) { if (that._isItemModified(item, cellOptions)) { $container.addClass("dx-item-modified") } } rowsView._cellPrepared($container, cellOptions) } }, _getTemplate: function(item, cellOptions) { var that = this; var column = item.column; var editingController = this.getController("editing"); return function(options, container) { var $container = (0, _renderer.default)(container); var columnIndex = that._columnsController.getVisibleIndex(column.index); var templateOptions = (0, _extend.extend)({}, cellOptions); var renderFormTemplate = function() { var isItemEdited = that._isItemEdited(item); templateOptions.value = cellOptions.row.values[columnIndex]; if (isItemEdited || column.showEditorAlways) { editingController.renderFormEditorTemplate(templateOptions, item, options, $container, !isItemEdited) } else { templateOptions.column = column; templateOptions.columnIndex = columnIndex; that._renderFormViewTemplate(item, templateOptions, $container) } }; renderFormTemplate(); templateOptions.watch && templateOptions.watch((function() { return { isItemEdited: that._isItemEdited(item), value: cellOptions.row.values[columnIndex] } }), (function() { $container.contents().remove(); $container.removeClass("dx-adaptive-item-text"); renderFormTemplate() })) } }, _isVisibleColumnsValid: function(visibleColumns) { if (visibleColumns < 2) { return false } if (visibleColumns.length - function() { var result = 0; for (var j = 0; j < visibleColumns.length; j++) { var visibleColumn = visibleColumns[j]; if (visibleColumn.command) { result++ } } return result }() <= 1) { return false } return true }, _calculatePercentWidths: function(widths, visibleColumns) { var that = this; var percentWidths = 0; visibleColumns.forEach((function(item, index) { if ("adaptiveHidden" !== widths[index]) { percentWidths += that._getItemPercentWidth(item) } })); return percentWidths }, _isPercentWidth: function(width) { return (0, _type.isString)(width) && width.endsWith("%") }, _isColumnHidden: function(column) { return this._hiddenColumns.filter((function(hiddenColumn) { return hiddenColumn.index === column.index })).length > 0 }, _getAverageColumnsWidth: function(containerWidth, columns, columnsCanFit) { var that = this; var fixedColumnsWidth = 0; var columnsWithoutFixedWidthCount = 0; columns.forEach((function(column) { if (!that._isColumnHidden(column)) { var width = column.width; if ((0, _type.isDefined)(width) && !isNaN(parseFloat(width))) { fixedColumnsWidth += that._isPercentWidth(width) ? that._calculatePercentWidth({ visibleIndex: column.visibleIndex, columnsCount: columns.length, columnsCanFit: columnsCanFit, bestFitWidth: column.bestFitWidth, columnWidth: width, containerWidth: containerWidth }) : parseFloat(width) } else { columnsWithoutFixedWidthCount++ } } })); return (containerWidth - fixedColumnsWidth) / columnsWithoutFixedWidthCount }, _calculateColumnWidth: function(column, containerWidth, contentColumns, columnsCanFit) { var columnId = getColumnId(this, column); var widthOption = this._columnsController.columnOption(columnId, "width"); var bestFitWidth = this._columnsController.columnOption(columnId, "bestFitWidth"); var columnsCount = contentColumns.length; var colWidth; if (widthOption && "auto" !== widthOption) { if (this._isPercentWidth(widthOption)) { colWidth = this._calculatePercentWidth({ visibleIndex: column.visibleIndex, columnsCount: columnsCount, columnsCanFit: columnsCanFit, bestFitWidth: bestFitWidth, columnWidth: widthOption, containerWidth: containerWidth }) } else { return parseFloat(widthOption) } } else { var columnAutoWidth = this.option("columnAutoWidth"); colWidth = columnAutoWidth || !!column.command ? bestFitWidth : this._getAverageColumnsWidth(containerWidth, contentColumns, columnsCanFit) } return colWidth }, _calculatePercentWidth: function(options) { var columnFitted = options.visibleIndex < options.columnsCount - 1 && options.columnsCanFit; var partialWidth = options.containerWidth * parseFloat(options.columnWidth) / 100; var resultWidth = options.columnsCanFit && partialWidth < options.bestFitWidth ? options.bestFitWidth : partialWidth; return columnFitted ? options.containerWidth * parseFloat(options.columnWidth) / 100 : resultWidth }, _getNotTruncatedColumnWidth: function(column, containerWidth, contentColumns, columnsCanFit) { var columnId = getColumnId(this, column); var widthOption = this._columnsController.columnOption(columnId, "width"); var bestFitWidth = this._columnsController.columnOption(columnId, "bestFitWidth"); if (widthOption && "auto" !== widthOption && !this._isPercentWidth(widthOption)) { return parseFloat(widthOption) } var colWidth = this._calculateColumnWidth(column, containerWidth, contentColumns, columnsCanFit); return colWidth < bestFitWidth ? null : colWidth }, _getItemPercentWidth: function(item) { var result = 0; if (item.width && this._isPercentWidth(item.width)) { result = parseFloat(item.width) } return result }, _getCommandColumnsWidth: function() { var that = this; var columns = that._columnsController.getVisibleColumns(); var colWidth = 0; (0, _iterator.each)(columns, (function(index, column) { if (column.index < 0 || column.command) { colWidth += that._columnsController.columnOption(getColumnId(that, column), "bestFitWidth") || 0 } })); return colWidth }, _isItemEdited: function(item) { if (this.isFormOrPopupEditMode()) { return false } if (this._isRowEditMode()) { var editRowKey = this.option("editing.editRowKey"); if ((0, _common.equalByValue)(editRowKey, this._dataController.adaptiveExpandedKey())) { return true } } else { var rowIndex = this._dataController.getRowIndexByKey(this._dataController.adaptiveExpandedKey()) + 1; var columnIndex = this._columnsController.getVisibleIndex(item.column.index); return this._editingController.isEditCell(rowIndex, columnIndex) } }, _getFormItemsByHiddenColumns: function(hiddenColumns) { var items = []; (0, _iterator.each)(hiddenColumns, (function(_, column) { items.push({ column: column, name: column.name, dataField: column.dataField, visibleIndex: column.visibleIndex }) })); return items }, _getAdaptiveColumnVisibleIndex: function(visibleColumns) { for (var i = 0; i < visibleColumns.length; i++) { var column = visibleColumns[i]; if ("adaptive" === column.command) { return i } } return }, _hideAdaptiveColumn: function(resultWidths, visibleColumns) { var visibleIndex = this._getAdaptiveColumnVisibleIndex(visibleColumns); if ((0, _type.isDefined)(visibleIndex)) { resultWidths[visibleIndex] = "adaptiveHidden"; this._hideVisibleColumn({ isCommandColumn: true, visibleIndex: visibleIndex }) } }, _showHiddenCellsInView: function(_ref) { var $cells = _ref.$cells, isCommandColumn = _ref.isCommandColumn; var cssClassNameToRemove = this.addWidgetPrefix("hidden-column"); if (isCommandColumn) { cssClassNameToRemove = "dx-command-adaptive-hidden"; $cells.attr({ tabIndex: 0, "aria-hidden": null }).removeClass(cssClassNameToRemove) } else { $cells.removeClass(cssClassNameToRemove) } }, _showHiddenColumns: function() { for (var i = 0; i < COLUMN_VIEWS.length; i++) { var view = this.getView(COLUMN_VIEWS[i]); if (view && view.isVisible() && view.element()) { var viewName = view.name; var $hiddenCommandCells = view.element().find(".".concat("dx-command-adaptive-hidden")); this._showHiddenCellsInView({ viewName: viewName, $cells: $hiddenCommandCells, isCommandColumn: true }); var $hiddenCells = view.element().find(".".concat(this.addWidgetPrefix("hidden-column"))); this._showHiddenCellsInView({ viewName: viewName, $cells: $hiddenCells }) } } }, _isCellValid: function($cell) { return $cell && $cell.length && !$cell.hasClass("dx-master-detail-cell") && !$cell.hasClass("dx-group-cell") }, _hideVisibleColumn: function(_ref2) { var isCommandColumn = _ref2.isCommandColumn, visibleIndex = _ref2.visibleIndex; var that = this; COLUMN_VIEWS.forEach((function(viewName) { var view = that.getView(viewName); view && that._hideVisibleColumnInView({ view: view, isCommandColumn: isCommandColumn, visibleIndex: visibleIndex }) })) }, _hideVisibleColumnInView: function(_ref3) { var view = _ref3.view, isCommandColumn = _ref3.isCommandColumn, visibleIndex = _ref3.visibleIndex; var viewName = view.name; var $cellElement; var column = this._columnsController.getVisibleColumns()[visibleIndex]; var editFormRowIndex = this._editingController && this._editingController.getEditFormRowIndex(); if (view && view.isVisible() && column) { var rowsCount = view.getRowsCount(); var $rowElements = view._getRowElements(); for (var rowIndex = 0; rowIndex < rowsCount; rowIndex++) { var cancelClassAdding = rowIndex === editFormRowIndex && "rowsView" === viewName && "popup" !== this.option("editing.mode"); if (!cancelClassAdding) { var currentVisibleIndex = "columnHeadersView" === viewName ? this._columnsController.getVisibleIndex(column.index, rowIndex) : visibleIndex; if (currentVisibleIndex >= 0) { var $rowElement = $rowElements.eq(rowIndex); $cellElement = this._findCellElementInRow($rowElement, currentVisibleIndex); this._isCellValid($cellElement) && this._hideVisibleCellInView({ viewName: viewName, isCommandColumn: isCommandColumn, $cell: $cellElement }) } } } } }, _findCellElementInRow: function($rowElement, visibleColumnIndex) { var $rowCells = $rowElement.children(); var visibleIndex = visibleColumnIndex; var cellIsInsideGroup = false; if ($rowElement.hasClass("dx-group-row")) { var $groupCell = $rowElement.find(".".concat("dx-group-cell")); var colSpan = $groupCell.attr("colspan"); if ($groupCell.length && (0, _type.isDefined)(colSpan)) { var groupCellLength = parseInt(colSpan); var endGroupIndex = $groupCell.index() + groupCellLength - 1; if (visibleColumnIndex > endGroupIndex) { visibleIndex = visibleColumnIndex - groupCellLength + 1 } else { cellIsInsideGroup = true } } } var $cellElement = !cellIsInsideGroup ? $rowCells.eq(visibleIndex) : void 0; return $cellElement }, _hideVisibleCellInView: function(_ref4) { var $cell = _ref4.$cell, isCommandColumn = _ref4.isCommandColumn; var cssClassNameToAdd = isCommandColumn ? "dx-command-adaptive-hidden" : this.addWidgetPrefix("hidden-column"); $cell.attr({ tabIndex: -1, "aria-hidden": true }).addClass(cssClassNameToAdd) }, _getEditMode: function() { return this._editingController.getEditMode() }, isFormOrPopupEditMode: function() { var editMode = this._getEditMode(); return "form" === editMode || "popup" === editMode }, hideRedundantColumns: function(resultWidths, visibleColumns, hiddenQueue) { this._hiddenColumns = []; if (this._isVisibleColumnsValid(visibleColumns) && hiddenQueue.length) { var totalWidth = 0; var $rootElement = this.component.$element(); var rootElementWidth = (0, _size.getWidth)($rootElement) - this._getCommandColumnsWidth(); var getVisibleContentColumns = function() { var _this = this; return visibleColumns.filter((function(item) { return !item.command && 0 === _this._hiddenColumns.filter((function(i) { return i.index === item.index })).length })) }.bind(this); var visibleContentColumns = getVisibleContentColumns(); var contentColumnsCount = visibleContentColumns.length; var i; var hasHiddenColumns; var needHideColumn; do { needHideColumn = false; totalWidth = 0; var percentWidths = this._calculatePercentWidths(resultWidths, visibleColumns); var columnsCanFit = percentWidths < 100 && 0 !== percentWidths; for (i = 0; i < visibleColumns.length; i++) { var visibleColumn = visibleColumns[i]; var columnWidth = this._getNotTruncatedColumnWidth(visibleColumn, rootElementWidth, visibleContentColumns, columnsCanFit); var columnId = getColumnId(this, visibleColumn); var widthOption = this._columnsController.columnOption(columnId, "width"); var minWidth = this._columnsController.columnOption(columnId, "minWidth"); var columnBestFitWidth = this._columnsController.columnOption(columnId, "bestFitWidth"); if ("adaptiveHidden" === resultWidths[i]) { hasHiddenColumns = true; continue } if (!columnWidth && !visibleColumn.command && !visibleColumn.fixed) { needHideColumn = true; break } if (!widthOption || "auto" === widthOption) { columnWidth = Math.max(columnBestFitWidth || 0, minWidth || 0) } if ("adaptive" !== visibleColumn.command || hasHiddenColumns) { totalWidth += columnWidth } } needHideColumn = needHideColumn || totalWidth > (0, _size.getWidth)($rootElement); if (needHideColumn) { var column = hiddenQueue.pop(); var visibleIndex = this._columnsController.getVisibleIndex(column.index); rootElementWidth += this._calculateColumnWidth(column, rootElementWidth, visibleContentColumns, columnsCanFit); this._hideVisibleColumn({ visibleIndex: visibleIndex }); resultWidths[visibleIndex] = "adaptiveHidden"; this._hiddenColumns.push(column); visibleContentColumns = getVisibleContentColumns() } } while (needHideColumn && visibleContentColumns.length > 1 && hiddenQueue.length); if (contentColumnsCount === visibleContentColumns.length) { this._hideAdaptiveColumn(resultWidths, visibleColumns) } } else { this._hideAdaptiveColumn(resultWidths, visibleColumns) } }, getAdaptiveDetailItems: function() { return this._$itemContents }, getItemContentByColumnIndex: function(visibleColumnIndex) { var $itemContent; for (var i = 0; i < this._$itemContents.length; i++) { $itemContent = this._$itemContents.eq(i); var item = $itemContent.data("dx-form-item"); if (item && item.column && this._columnsController.getVisibleIndex(item.column.index) === visibleColumnIndex) { return $itemContent } } }, toggleExpandAdaptiveDetailRow: function(key, alwaysExpanded) { if (!(this.isFormOrPopupEditMode() && this._editingController.isEditing())) { this.getController("data").toggleExpandAdaptiveDetailRow(key, alwaysExpanded) } }, createFormByHiddenColumns: function(container, options) { var that = this; var $container = (0, _renderer.default)(container); var userFormOptions = { items: that._getFormItemsByHiddenColumns(that._hiddenColumns), formID: "dx-".concat(new _guid.default) }; var defaultFormOptions = (0, _themes.isMaterial)() ? { colCount: 2 } : {}; this.executeAction("onAdaptiveDetailRowPreparing", { formOptions: userFormOptions }); that._$itemContents = null; that._form = that._createComponent((0, _renderer.default)("
").appendTo($container), _form.default, (0, _extend.extend)(defaultFormOptions, userFormOptions, { customizeItem: function(item) { var column = item.column || that._columnsController.columnOption(item.name || item.dataField); if (column) { item.label = item.label || {}; item.label.text = item.label.text || column.caption; item.column = column; item.template = that._getTemplate(item, options, that.updateForm.bind(that)) } userFormOptions.customizeItem && userFormOptions.customizeItem.call(this, item) }, onContentReady: function(e) { userFormOptions.onContentReady && userFormOptions.onContentReady.call(this, e); that._$itemContents = $container.find(".".concat("dx-field-item-content")) } })) }, hasAdaptiveDetailRowExpanded: function() { return (0, _type.isDefined)(this._dataController.adaptiveExpandedKey()) }, updateForm: function(hiddenColumns) { if (this.hasAdaptiveDetailRowExpanded()) { if (this._form && (0, _type.isDefined)(this._form._contentReadyAction)) { if (hiddenColumns && hiddenColumns.length) { this._form.option("items", this._getFormItemsByHiddenColumns(hiddenColumns)) } else { this._form.repaint() } } } }, updateHidingQueue: function(columns) { var hideableColumns = columns.filter((function(column) { return column.visible && !column.type && !column.fixed && !((0, _type.isDefined)(column.groupIndex) && column.groupIndex >= 0) })); var columnsHasHidingPriority; var i; this._hidingColumnsQueue = []; if (this.option("allowColumnResizing") && "widget" === this.option("columnResizingMode")) { return this._hidingColumnsQueue } for (i = 0; i < hideableColumns.length; i++) { if ((0, _type.isDefined)(hideableColumns[i].hidingPriority) && hideableColumns[i].hidingPriority >= 0) { columnsHasHidingPriority = true; this._hidingColumnsQueue[hideableColumns[i].hidingPriority] = hideableColumns[i] } } if (columnsHasHidingPriority) { this._hidingColumnsQueue.reverse() } else if (this.option("columnHidingEnabled")) { for (i = 0; i < hideableColumns.length; i++) { var visibleIndex = this._columnsController.getVisibleIndex(hideableColumns[i].index); this._hidingColumnsQueue[visibleIndex] = hideableColumns[i] } } this._hidingColumnsQueue = this._hidingColumnsQueue.filter(Object); return this._hidingColumnsQueue }, getHiddenColumns: function() { return this._hiddenColumns }, hasHiddenColumns: function() { return this._hiddenColumns.length > 0 }, getHidingColumnsQueue: function() { return this._hidingColumnsQueue }, init: function() { var that = this; that._columnsController = that.getController("columns"); that._dataController = that.getController("data"); that._rowsView = that.getView("rowsView"); that._columnsController.addCommandColumn({ type: "adaptive", command: "adaptive", visible: true, adaptiveHidden: true, cssClass: "dx-command-adaptive", alignment: "center", width: "auto", cellTemplate: adaptiveCellTemplate, fixedPosition: "right" }); that._columnsController.columnsChanged.add((function() { var isAdaptiveVisible = !!that.updateHidingQueue(that._columnsController.getColumns()).length; that._columnsController.columnOption("command:adaptive", "adaptiveHidden", !isAdaptiveVisible, true) })); that._editingController = that.getController("editing"); that._hidingColumnsQueue = []; that._hiddenColumns = []; that.createAction("onAdaptiveDetailRowPreparing"); that.callBase() }, optionChanged: function(args) { if ("columnHidingEnabled" === args.name) { this._columnsController.columnOption("command:adaptive", "adaptiveHidden", !args.value) } this.callBase(args) }, publicMethods: function() { return ["isAdaptiveDetailRowExpanded", "expandAdaptiveDetailRow", "collapseAdaptiveDetailRow"] }, isAdaptiveDetailRowExpanded: function(key) { var dataController = this._dataController; return dataController.adaptiveExpandedKey() && (0, _common.equalByValue)(dataController.adaptiveExpandedKey(), key) }, expandAdaptiveDetailRow: function(key) { if (!this.hasAdaptiveDetailRowExpanded()) { this.toggleExpandAdaptiveDetailRow(key) } }, collapseAdaptiveDetailRow: function() { if (this.hasAdaptiveDetailRowExpanded()) { this.toggleExpandAdaptiveDetailRow() } }, updateCommandAdaptiveAriaLabel: function(key, label) { var rowIndex = this._dataController.getRowIndexByKey(key); if (-1 === rowIndex) { return } var $row = (0, _renderer.default)(this.component.getRowElement(rowIndex)); this.setCommandAdaptiveAriaLabel($row, label) }, setCommandAdaptiveAriaLabel: function($row, labelName) { var $adaptiveCommand = $row.find(".dx-command-adaptive"); $adaptiveCommand.attr("aria-label", _message.default.format(labelName)) } }; var AdaptiveColumnsController = _m_modules.default.ViewController.inherit(adaptiveColumnsControllerMembers); var adaptivityModule = { defaultOptions: function() { return { columnHidingEnabled: false, onAdaptiveDetailRowPreparing: null } }, controllers: { adaptiveColumns: AdaptiveColumnsController }, extenders: { views: { rowsView: { _getCellTemplate: function(options) { var that = this; var column = options.column; if ("detailAdaptive" === options.rowType && "detail" === column.command) { return function(container, options) { that._adaptiveColumnsController.createFormByHiddenColumns((0, _renderer.default)(container), options) } } return that.callBase(options) }, _createRow: function(row) { var $row = this.callBase.apply(this, arguments); if (row && "detailAdaptive" === row.rowType && row.key === this._dataController.adaptiveExpandedKey()) { $row.addClass("dx-adaptive-detail-row") } return $row }, _renderCells: function($row, options) { this.callBase($row, options); var adaptiveColumnsController = this._adaptiveColumnsController; var hidingColumnsQueueLength = adaptiveColumnsController.getHidingColumnsQueue().length; var hiddenColumnsLength = adaptiveColumnsController.getHiddenColumns().length; if (hidingColumnsQueueLength && !hiddenColumnsLength) { (function($row) { return $row.find("td:not(.dx-datagrid-hidden-column):not([class*='dx-command-'])") })($row).last().addClass("dx-last-data-cell") } if ("data" === options.row.rowType) { adaptiveColumnsController.setCommandAdaptiveAriaLabel($row, "dxDataGrid-ariaAdaptiveExpand") } }, _getColumnIndexByElementCore: function($element) { var $itemContent = $element.closest(".".concat("dx-field-item-content")); if ($itemContent.length && $itemContent.closest(this.component.$element()).length) { var formItem = $itemContent.length ? $itemContent.first().data("dx-form-item") : null; return formItem && formItem.column && this._columnsController.getVisibleIndex(formItem.column.index) } return this.callBase($element) }, _cellPrepared: function($cell, options) { this.callBase.apply(this, arguments); if ("detailAdaptive" !== options.row.rowType && "adaptiveHidden" === options.column.visibleWidth) { $cell.addClass(this.addWidgetPrefix("hidden-column")) } }, getCell: function(cellPosition, rows) { var item = this._dataController.items()[null === cellPosition || void 0 === cellPosition ? void 0 : cellPosition.rowIndex]; if ("detailAdaptive" === (null === item || void 0 === item ? void 0 : item.rowType)) { var $adaptiveDetailItems = this._adaptiveColumnsController.getAdaptiveDetailItems(); return this.callBase(cellPosition, rows, $adaptiveDetailItems) } return this.callBase.apply(this, arguments) }, _getCellElement: function(rowIndex, columnIdentifier) { var item = this._dataController.items()[rowIndex]; if (item && "detailAdaptive" === item.rowType) { return this._adaptiveColumnsController.getItemContentByColumnIndex(columnIdentifier) } return this.callBase.apply(this, arguments) }, getContextMenuItems: function(options) { if (options.row && "detailAdaptive" === options.row.rowType) { var view = this.component.getView("columnHeadersView"); var formItem = (0, _renderer.default)(options.targetElement).closest(".dx-field-item-label").next().data("dx-form-item"); options.column = formItem ? formItem.column : options.column; return view.getContextMenuItems && view.getContextMenuItems(options) } return this.callBase && this.callBase(options) }, isClickableElement: function($target) { var isClickable = this.callBase ? this.callBase($target) : false; return isClickable || !!$target.closest(".".concat("dx-command-adaptive")).length }, init: function() { this.callBase(); this._adaptiveColumnsController = this.getController("adaptiveColumns") } } }, controllers: { export: { _updateColumnWidth: function(column, width) { this.callBase(column, "adaptiveHidden" === column.visibleWidth ? column.bestFitWidth : width) } }, columnsResizer: { _pointCreated: function(point, cellsLength, columns) { var result = this.callBase(point, cellsLength, columns); var currentColumn = columns[point.columnIndex] || {}; var nextColumnIndex = this._getNextColumnIndex(point.columnIndex); var nextColumn = columns[nextColumnIndex] || {}; var hasHiddenColumnsOnly = nextColumnIndex !== point.columnIndex + 1 && nextColumn.command; var hasAdaptiveHiddenWidth = "adaptiveHidden" === currentColumn.visibleWidth || hasHiddenColumnsOnly; return result || hasAdaptiveHiddenWidth }, _getNextColumnIndex: function(currentColumnIndex) { var visibleColumns = this._columnsController.getVisibleColumns(); var index = this.callBase(currentColumnIndex); while (visibleColumns[index] && "adaptiveHidden" === visibleColumns[index].visibleWidth) { index++ } return index } }, draggingHeader: { _pointCreated: function(point, columns, location, sourceColumn) { var result = this.callBase(point, columns, location, sourceColumn); var column = columns[point.columnIndex - 1] || {}; var hasAdaptiveHiddenWidth = "adaptiveHidden" === column.visibleWidth; return result || hasAdaptiveHiddenWidth } }, editing: { _isRowEditMode: function() { return "row" === this.getEditMode() }, _getFormEditItemTemplate: function(cellOptions, column) { if ("row" !== this.getEditMode() && "detailAdaptive" === cellOptions.rowType) { cellOptions.columnIndex = this._columnsController.getVisibleIndex(column.index); return this.getColumnTemplate(cellOptions) } return this.callBase(cellOptions, column) }, _closeEditItem: function($targetElement) { var $itemContents = $targetElement.closest(".".concat("dx-field-item-content")); var rowIndex = this._dataController.getRowIndexByKey(this._dataController.adaptiveExpandedKey()) + 1; var formItem = $itemContents.length ? $itemContents.first().data("dx-form-item") : null; var columnIndex = formItem && formItem.column && this._columnsController.getVisibleIndex(formItem.column.index); if (!this.isEditCell(rowIndex, columnIndex)) { this.callBase($targetElement) } }, _beforeUpdateItems: function(rowIndices, rowIndex) { if (!this._adaptiveController.isFormOrPopupEditMode() && this._adaptiveController.hasHiddenColumns()) { var items = this._dataController.items(); var item = items[rowIndex]; var oldExpandRowIndex = _m_utils.default.getIndexByKey(this._dataController.adaptiveExpandedKey(), items); this._isForceRowAdaptiveExpand = !this._adaptiveController.hasAdaptiveDetailRowExpanded(); if (oldExpandRowIndex >= 0) { rowIndices.push(oldExpandRowIndex + 1) } rowIndices.push(rowIndex + 1); this._dataController.adaptiveExpandedKey(item.key) } }, _afterInsertRow: function(key) { this.callBase.apply(this, arguments); if (this._adaptiveController.hasHiddenColumns()) { this._adaptiveController.toggleExpandAdaptiveDetailRow(key, this.isRowEditMode()); this._isForceRowAdaptiveExpand = true } }, _collapseAdaptiveDetailRow: function() { if (this._isRowEditMode() && this._isForceRowAdaptiveExpand) { this._adaptiveController.collapseAdaptiveDetailRow(); this._isForceRowAdaptiveExpand = false } }, _cancelEditAdaptiveDetailRow: function() { if (this._adaptiveController.hasHiddenColumns()) { this._collapseAdaptiveDetailRow() } }, _afterSaveEditData: function() { var _this2 = this; this.callBase.apply(this, arguments); var deferred = new _deferred.Deferred; if (this._isRowEditMode() && this._adaptiveController.hasHiddenColumns()) { (0, _deferred.when)(this.getController("validating").validate(true)).done((function(isValid) { if (isValid) { _this2._cancelEditAdaptiveDetailRow() } deferred.resolve() })) } else { deferred.resolve() } return deferred.promise() }, _beforeCancelEditData: function() { this.callBase(); this._cancelEditAdaptiveDetailRow() }, _getRowIndicesForCascadeUpdating: function(row) { var rowIndices = this.callBase.apply(this, arguments); if (this._adaptiveController.isAdaptiveDetailRowExpanded(row.key)) { rowIndices.push("detailAdaptive" === row.rowType ? row.rowIndex - 1 : row.rowIndex + 1) } return rowIndices }, _beforeCloseEditCellInBatchMode: function(rowIndices) { var expandedKey = this._dataController._adaptiveExpandedKey; if (expandedKey) { var rowIndex = _m_utils.default.getIndexByKey(expandedKey, this._dataController.items()); if (rowIndex > -1) { rowIndices.unshift(rowIndex) } } }, editRow: function(rowIndex) { if (this._adaptiveController.isFormOrPopupEditMode()) { this._adaptiveController.collapseAdaptiveDetailRow() } this.callBase(rowIndex) }, deleteRow: function(rowIndex) { var rowKey = this._dataController.getKeyByRowIndex(rowIndex); if ("batch" === this.getEditMode() && this._adaptiveController.isAdaptiveDetailRowExpanded(rowKey)) { this._adaptiveController.collapseAdaptiveDetailRow() } this.callBase(rowIndex) }, init: function() { this.callBase(); this._adaptiveController = this.getController("adaptiveColumns") } }, resizing: { _needBestFit: function() { return this.callBase() || !!this._adaptiveColumnsController.getHidingColumnsQueue().length }, _correctColumnWidths: function(resultWidths, visibleColumns) { var adaptiveController = this._adaptiveColumnsController; var oldHiddenColumns = adaptiveController.getHiddenColumns(); var hidingColumnsQueue = adaptiveController.updateHidingQueue(this._columnsController.getColumns()); adaptiveController.hideRedundantColumns(resultWidths, visibleColumns, hidingColumnsQueue); var hiddenColumns = adaptiveController.getHiddenColumns(); if (adaptiveController.hasAdaptiveDetailRowExpanded()) { if (oldHiddenColumns.length !== hiddenColumns.length) { adaptiveController.updateForm(hiddenColumns) } }!hiddenColumns.length && adaptiveController.collapseAdaptiveDetailRow(); return this.callBase.apply(this, arguments) }, _toggleBestFitMode: function(isBestFit) { isBestFit && this._adaptiveColumnsController._showHiddenColumns(); this.callBase(isBestFit) }, _needStretch: function() { var adaptiveColumnsController = this._adaptiveColumnsController; return this.callBase.apply(this, arguments) || adaptiveColumnsController.getHidingColumnsQueue().length || adaptiveColumnsController.hasHiddenColumns() }, init: function() { this._adaptiveColumnsController = this.getController("adaptiveColumns"); this.callBase() }, dispose: function() { this.callBase.apply(this, arguments); clearTimeout(this._updateScrollableTimeoutID) } }, data: { _processItems: function(items, change) { var changeType = change.changeType; items = this.callBase.apply(this, arguments); if ("loadingAll" === changeType || !(0, _type.isDefined)(this._adaptiveExpandedKey)) { return items } var expandRowIndex = _m_utils.default.getIndexByKey(this._adaptiveExpandedKey, items); var newMode = false === this.option("scrolling.legacyMode"); if (expandRowIndex >= 0) { var item = items[expandRowIndex]; items.splice(expandRowIndex + 1, 0, { visible: true, rowType: "detailAdaptive", key: item.key, data: item.data, node: item.node, modifiedValues: item.modifiedValues, isNewRow: item.isNewRow, values: item.values }) } else if ("refresh" === changeType && !(newMode && change.repaintChangesOnly)) { this._adaptiveExpandedKey = void 0 } return items }, _getRowIndicesForExpand: function(key) { var rowIndices = this.callBase.apply(this, arguments); if (this.getController("adaptiveColumns").isAdaptiveDetailRowExpanded(key)) { var lastRowIndex = rowIndices[rowIndices.length - 1]; rowIndices.push(lastRowIndex + 1) } return rowIndices }, adaptiveExpandedKey: function(value) { if ((0, _type.isDefined)(value)) { this._adaptiveExpandedKey = value } else { return this._adaptiveExpandedKey } }, toggleExpandAdaptiveDetailRow: function(key, alwaysExpanded) { var oldExpandLoadedRowIndex = _m_utils.default.getIndexByKey(this._adaptiveExpandedKey, this._items); var newExpandLoadedRowIndex = _m_utils.default.getIndexByKey(key, this._items); if (oldExpandLoadedRowIndex >= 0 && oldExpandLoadedRowIndex === newExpandLoadedRowIndex && !alwaysExpanded) { key = void 0; newExpandLoadedRowIndex = -1 } var oldKey = this._adaptiveExpandedKey; this._adaptiveExpandedKey = key; if (oldExpandLoadedRowIndex >= 0) { oldExpandLoadedRowIndex++ } if (newExpandLoadedRowIndex >= 0) { newExpandLoadedRowIndex++ } var rowIndexDelta = this.getRowIndexDelta(); this.updateItems({ allowInvisibleRowIndices: true, changeType: "update", rowIndices: [oldExpandLoadedRowIndex - rowIndexDelta, newExpandLoadedRowIndex - rowIndexDelta] }); var adaptiveColumnsController = this.getController("adaptiveColumns"); adaptiveColumnsController.updateCommandAdaptiveAriaLabel(key, "dxDataGrid-ariaAdaptiveCollapse"); adaptiveColumnsController.updateCommandAdaptiveAriaLabel(oldKey, "dxDataGrid-ariaAdaptiveExpand") }, init: function() { this.callBase(); this._adaptiveExpandedKey = void 0 } }, editorFactory: { _needHideBorder: function($element) { return this.callBase($element) || (null === $element || void 0 === $element ? void 0 : $element.hasClass("dx-field-item-content")) && (null === $element || void 0 === $element ? void 0 : $element.find(".dx-checkbox").length) }, _getFocusCellSelector: function() { return "".concat(this.callBase(), ", .dx-adaptive-detail-row .dx-field-item > .dx-field-item-content") }, _getRevertTooltipsSelector: function() { return "".concat(this.callBase(), ", .dx-field-item-content .").concat(this.addWidgetPrefix("revert-tooltip")) } }, columns: { _isColumnVisible: function(column) { return this.callBase(column) && !column.adaptiveHidden } }, keyboardNavigation: function(Base) { return function(_Base) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(AdaptivityKeyboardNavigationExtender, _Base); function AdaptivityKeyboardNavigationExtender() { return _Base.apply(this, arguments) || this } var _proto = AdaptivityKeyboardNavigationExtender.prototype; _proto._isCellValid = function($cell, isClick) { return _Base.prototype._isCellValid.call(this, $cell, isClick) && !$cell.hasClass(this.addWidgetPrefix("hidden-column")) && !$cell.hasClass("dx-command-adaptive-hidden") }; _proto._processNextCellInMasterDetail = function($nextCell, $cell) { _Base.prototype._processNextCellInMasterDetail.call(this, $nextCell, $cell); var isCellOrBatchMode = this._editingController.isCellOrBatchEditMode(); var isEditing = this._editingController.isEditing(); if (isEditing && $nextCell && isCellOrBatchMode && !this._isInsideEditForm($nextCell)) { _events_engine.default.off($nextCell, "focus", focusCellHandler); _events_engine.default.on($nextCell, "focus", { $nextCell: $nextCell }, focusCellHandler); _events_engine.default.trigger($cell, "focus") } }; _proto._isCellElement = function($cell) { return _Base.prototype._isCellElement.call(this, $cell) || $cell.hasClass("dx-adaptive-item-text") }; _proto.init = function() { _Base.prototype.init.call(this); this._adaptiveController = this.getController("adaptiveColumns") }; return AdaptivityKeyboardNavigationExtender }(Base) } } } }; exports.adaptivityModule = adaptivityModule }, 71184: /*!***********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/column_chooser/m_column_chooser.js ***! \***********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.columnChooserModule = void 0; var _devices = _interopRequireDefault(__webpack_require__( /*! ../../../../core/devices */ 20530)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _button = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/button */ 63008)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/popup/ui.popup */ 51495)); var _themes = __webpack_require__( /*! ../../../../ui/themes */ 75811); var _tree_view = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/tree_view */ 30254)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_columns_view = __webpack_require__( /*! ../views/m_columns_view */ 57318); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var COLUMN_OPTIONS_USED_IN_ITEMS = ["showInColumnChooser", "caption", "allowHiding", "visible", "cssClass", "ownerBand"]; var columnChooserControllerMembers = { renderShowColumnChooserButton: function($element) { var that = this; var columnChooserButtonClass = that.addWidgetPrefix("column-chooser-button"); var columnChooserEnabled = that.option("columnChooser.enabled"); var $showColumnChooserButton = $element.find(".".concat(columnChooserButtonClass)); var $columnChooserButton; if (columnChooserEnabled) { if (!$showColumnChooserButton.length) { $columnChooserButton = (0, _renderer.default)("
").addClass(columnChooserButtonClass).appendTo($element); that._createComponent($columnChooserButton, _button.default, { icon: "column-chooser", onClick: function() { that.getView("columnChooserView").showColumnChooser() }, hint: that.option("columnChooser.title"), integrationOptions: {} }) } else { $showColumnChooserButton.show() } } else { $showColumnChooserButton.hide() } }, getPosition: function() { var rowsView = this.getView("rowsView"); var position = this.option("columnChooser.position"); return (0, _type.isDefined)(position) ? position : { my: "right bottom", at: "right bottom", of: rowsView && rowsView.element(), collision: "fit", offset: "-2 -2", boundaryOffset: "2 2" } } }; var ColumnChooserController = _m_modules.default.ViewController.inherit(columnChooserControllerMembers); var columnChooserMembers = { _resizeCore: _common.noop, _isWinDevice: function() { return !!_devices.default.real().win }, _initializePopupContainer: function() { var that = this; var columnChooserClass = that.addWidgetPrefix("column-chooser"); var $element = that.element().addClass(columnChooserClass); var columnChooserOptions = that.option("columnChooser"); var themeName = (0, _themes.current)(); var isGenericTheme = (0, _themes.isGeneric)(themeName); var isMaterial = (0, _themes.isMaterial)(themeName); var dxPopupOptions = { visible: false, shading: false, showCloseButton: false, dragEnabled: true, resizeEnabled: true, wrapperAttr: { class: columnChooserClass }, toolbarItems: [{ text: columnChooserOptions.title, toolbar: "top", location: isGenericTheme || isMaterial ? "before" : "center" }], position: that.getController("columnChooser").getPosition(), width: columnChooserOptions.width, height: columnChooserOptions.height, rtlEnabled: that.option("rtlEnabled"), onHidden: function() { if (that._isWinDevice()) { (0, _renderer.default)("body").removeClass(that.addWidgetPrefix("notouch-action")) } }, container: columnChooserOptions.container }; if (isGenericTheme || isMaterial) { (0, _extend.extend)(dxPopupOptions, { showCloseButton: true }) } else { dxPopupOptions.toolbarItems[dxPopupOptions.toolbarItems.length] = { shortcut: "cancel" } } if (!(0, _type.isDefined)(this._popupContainer)) { that._popupContainer = that._createComponent($element, _ui.default, dxPopupOptions); that._popupContainer.on("optionChanged", (function(args) { if ("visible" === args.name) { that.renderCompleted.fire() } })) } else { this._popupContainer.option(dxPopupOptions) } this.setPopupAttributes() }, setPopupAttributes: function() { var isSelectMode = this.isSelectMode(); var isBandColumnsUsed = this._columnsController.isBandColumnsUsed(); this._popupContainer.setAria({ role: "dialog", label: _message.default.format("dxDataGrid-columnChooserTitle") }); this._popupContainer.$wrapper().toggleClass(this.addWidgetPrefix("column-chooser-mode-drag"), !isSelectMode).toggleClass(this.addWidgetPrefix("column-chooser-mode-select"), isSelectMode); this._popupContainer.$content().addClass(this.addWidgetPrefix("column-chooser-list")); if (isSelectMode && !isBandColumnsUsed) { this._popupContainer.$content().addClass(this.addWidgetPrefix("column-chooser-plain")) } }, _renderCore: function(change) { if (this._popupContainer) { var isDragMode = !this.isSelectMode(); if (!this._columnChooserList || "full" === change) { this._renderTreeView() } else if (isDragMode) { this._updateItems() } } }, _renderTreeView: function() { var _a, _b, _c; var that = this; var $container = this._popupContainer.$content(); var columnChooser = this.option("columnChooser"); var isSelectMode = this.isSelectMode(); var searchEnabled = (0, _type.isDefined)(columnChooser.allowSearch) ? columnChooser.allowSearch : null === (_a = columnChooser.search) || void 0 === _a ? void 0 : _a.enabled; var searchTimeout = (0, _type.isDefined)(columnChooser.searchTimeout) ? columnChooser.searchTimeout : null === (_b = columnChooser.search) || void 0 === _b ? void 0 : _b.timeout; var treeViewConfig = { dataStructure: "plain", activeStateEnabled: true, focusStateEnabled: true, hoverStateEnabled: true, itemTemplate: "item", showCheckBoxesMode: "none", rootValue: null, searchEnabled: searchEnabled, searchTimeout: searchTimeout, searchEditorOptions: null === (_c = columnChooser.search) || void 0 === _c ? void 0 : _c.editorOptions }; if (this._isWinDevice()) { treeViewConfig.useNativeScrolling = false }(0, _extend.extend)(treeViewConfig, isSelectMode ? this._prepareSelectModeConfig() : this._prepareDragModeConfig()); if (this._columnChooserList) { if (!treeViewConfig.searchEnabled) { treeViewConfig.searchValue = "" } this._columnChooserList.option(treeViewConfig); this._updateItems() } else { this._columnChooserList = this._createComponent($container, _tree_view.default, treeViewConfig); this._updateItems(); var scrollTop = 0; this._columnChooserList.on("optionChanged", (function(e) { var scrollable = e.component.getScrollable(); scrollTop = scrollable.scrollTop() })); this._columnChooserList.on("contentReady", (function(e) { (0, _common.deferUpdate)((function() { var scrollable = e.component.getScrollable(); scrollable.scrollTo({ y: scrollTop }); that.renderCompleted.fire() })) })) } }, _prepareDragModeConfig: function() { var columnChooserOptions = this.option("columnChooser"); return { noDataText: columnChooserOptions.emptyPanelText, activeStateEnabled: false, focusStateEnabled: false, hoverStateEnabled: false, itemTemplate: function(data, index, item) { (0, _renderer.default)(item).text(data.text).parent().addClass(data.cssClass).addClass("dx-column-chooser-item") } } }, _prepareSelectModeConfig: function() { var _this = this; var that = this; var selectionOptions = this.option("columnChooser.selection") || {}; var isUpdatingSelection = false; return { selectByClick: selectionOptions.selectByClick, selectNodesRecursive: selectionOptions.recursive, showCheckBoxesMode: selectionOptions.allowSelectAll ? "selectAll" : "normal", onSelectionChanged: function(e) { if (isUpdatingSelection) { return } var nodes = function(nodes) { return function addNodesToArray(nodes, flatNodesArray) { return nodes.reduce((function(result, node) { result.push(node); if (node.children.length) { addNodesToArray(node.children, result) } return result }), flatNodesArray) }(nodes, []) }(e.component.getNodes()); e.component.beginUpdate(); isUpdatingSelection = true; ! function(e, nodes) { nodes.filter((function(node) { return false === node.itemData.allowHiding })).forEach((function(node) { return e.component.selectItem(node.key) })) }(e, nodes); e.component.endUpdate(); isUpdatingSelection = false; that.component.beginUpdate(); _this._isUpdatingColumnVisibility = true; ! function(nodes) { nodes.forEach((function(node) { var columnIndex = node.itemData.id; var isVisible = false !== node.selected; that._columnsController.columnOption(columnIndex, "visible", isVisible) })) }(nodes); that.component.endUpdate(); _this._isUpdatingColumnVisibility = false } } }, _updateItems: function() { var isSelectMode = this.isSelectMode(); var chooserColumns = this._columnsController.getChooserColumns(isSelectMode); var items = function(that, chooserColumns) { var items = []; var isSelectMode = that.isSelectMode(); var isRecursive = that.option("columnChooser.selection.recursive"); if (chooserColumns.length) { (0, _iterator.each)(chooserColumns, (function(index, column) { var item = { text: column.caption, cssClass: column.cssClass, allowHiding: column.allowHiding, expanded: true, id: column.index, disabled: false === column.allowHiding, parentId: (0, _type.isDefined)(column.ownerBand) ? column.ownerBand : null }; var isRecursiveWithColumns = isRecursive && column.hasColumns; if (isSelectMode && !isRecursiveWithColumns) { item.selected = column.visible } items.push(item) })) } return items }(this, chooserColumns); this._columnChooserList.option("items", items) }, _updateItemsSelection: function(columnIndices) { var _this2 = this; var changedColumns = null === columnIndices || void 0 === columnIndices ? void 0 : columnIndices.map((function(columnIndex) { return _this2._columnsController.columnOption(columnIndex) })); this._columnChooserList.beginUpdate(); null === changedColumns || void 0 === changedColumns ? void 0 : changedColumns.forEach((function(_ref) { var visible = _ref.visible, index = _ref.index; if (visible) { _this2._columnChooserList.selectItem(index) } else { _this2._columnChooserList.unselectItem(index) } })); this._columnChooserList.endUpdate() }, _columnOptionChanged: function(e) { this.callBase(e); var isSelectMode = this.isSelectMode(); if (isSelectMode && this._columnChooserList && true !== this._isUpdatingColumnVisibility) { var optionNames = e.optionNames; var onlyVisibleChanged = optionNames.visible && 1 === optionNames.length; var columnIndices = (0, _type.isDefined)(e.columnIndex) ? [e.columnIndex] : e.columnIndices; var needUpdate = COLUMN_OPTIONS_USED_IN_ITEMS.some((function(optionName) { return optionNames[optionName] })) || e.changeTypes.columns && optionNames.all; if (needUpdate) { this._updateItemsSelection(columnIndices); if (!onlyVisibleChanged) { this._updateItems() } } } }, optionChanged: function(args) { switch (args.name) { case "columnChooser": this._initializePopupContainer(); this.render(null, "full"); break; default: this.callBase(args) } }, getColumnElements: function() { var result = []; var isSelectMode = this.isSelectMode(); var chooserColumns = this._columnsController.getChooserColumns(isSelectMode); var $content = this._popupContainer && this._popupContainer.$content(); var $nodes = $content && $content.find(".dx-treeview-node"); if ($nodes) { chooserColumns.forEach((function(column) { var $node = $nodes.filter("[data-item-id = '".concat(column.index, "']")); var item = $node.length ? $node.children(".".concat("dx-column-chooser-item")).get(0) : null; result.push(item) })) } return (0, _renderer.default)(result) }, getName: function() { return "columnChooser" }, getColumns: function() { return this._columnsController.getChooserColumns() }, allowDragging: function(column) { var isParentColumnVisible = this._columnsController.isParentColumnVisible(column.index); var isColumnHidden = !column.visible && column.allowHiding; return this.isColumnChooserVisible() && isParentColumnVisible && isColumnHidden }, allowColumnHeaderDragging: function(column) { var isDragMode = !this.isSelectMode(); return isDragMode && this.isColumnChooserVisible() && column.allowHiding }, getBoundingRect: function() { var container = this._popupContainer && this._popupContainer.$overlayContent(); if (container && container.is(":visible")) { var offset = container.offset(); return { left: offset.left, top: offset.top, right: offset.left + (0, _size.getOuterWidth)(container), bottom: offset.top + (0, _size.getOuterHeight)(container) } } return null }, showColumnChooser: function() { if (!this._popupContainer) { this._initializePopupContainer(); this.render() } this._popupContainer.show(); if (this._isWinDevice()) { (0, _renderer.default)("body").addClass(this.addWidgetPrefix("notouch-action")) } }, hideColumnChooser: function() { if (this._popupContainer) { this._popupContainer.hide() } }, isColumnChooserVisible: function() { var popupContainer = this._popupContainer; return popupContainer && popupContainer.option("visible") }, isSelectMode: function() { return "select" === this.option("columnChooser.mode") }, hasHiddenColumns: function() { var isEnabled = this.option("columnChooser.enabled"); var hiddenColumns = this.getColumns().filter((function(column) { return !column.visible })); return isEnabled && hiddenColumns.length }, publicMethods: function() { return ["showColumnChooser", "hideColumnChooser"] } }; var ColumnChooserView = _m_columns_view.ColumnsView.inherit(columnChooserMembers); var columnChooserModule = { defaultOptions: function() { return { columnChooser: { enabled: false, search: { enabled: false, timeout: 500, editorOptions: {} }, selection: { allowSelectAll: false, selectByClick: false, recursive: false }, position: void 0, mode: "dragAndDrop", width: 250, height: 260, title: _message.default.format("dxDataGrid-columnChooserTitle"), emptyPanelText: _message.default.format("dxDataGrid-columnChooserEmptyText"), container: void 0 } } }, controllers: { columnChooser: ColumnChooserController }, views: { columnChooserView: ColumnChooserView }, extenders: { views: { headerPanel: { _getToolbarItems: function() { var items = this.callBase(); return this._appendColumnChooserItem(items) }, _appendColumnChooserItem: function(items) { var that = this; var columnChooserEnabled = that.option("columnChooser.enabled"); if (columnChooserEnabled) { var hintText = that.option("columnChooser.title"); var toolbarItem = { widget: "dxButton", options: { icon: "column-chooser", onClick: function() { that.component.getView("columnChooserView").showColumnChooser() }, hint: hintText, text: hintText, onInitialized: function(e) { (0, _renderer.default)(e.element).addClass(that._getToolbarButtonClass(that.addWidgetPrefix("column-chooser-button"))) }, elementAttr: { "aria-haspopup": "dialog" } }, showText: "inMenu", location: "after", name: "columnChooserButton", locateInMenu: "auto", sortIndex: 40 }; items.push(toolbarItem) } return items }, optionChanged: function(args) { switch (args.name) { case "columnChooser": this._invalidate(); args.handled = true; break; default: this.callBase(args) } }, isVisible: function() { var columnChooserEnabled = this.option("columnChooser.enabled"); return this.callBase() || columnChooserEnabled } }, columnHeadersView: { allowDragging: function(column) { var columnChooserView = this.component.getView("columnChooserView"); var isDragMode = !columnChooserView.isSelectMode(); var isColumnChooserVisible = columnChooserView.isColumnChooserVisible(); return isDragMode && isColumnChooserVisible && column.allowHiding || this.callBase(column) } } }, controllers: { columns: { allowMoveColumn: function(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) { var isSelectMode = "select" === this.option("columnChooser.mode"); var isMoveColumnDisallowed = isSelectMode && "columnChooser" === targetLocation; return isMoveColumnDisallowed ? false : this.callBase(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) } } } } }; exports.columnChooserModule = columnChooserModule }, 53424: /*!*********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/column_fixing/m_column_fixing.js ***! \*********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.columnFixingModule = void 0; var _translator = __webpack_require__( /*! ../../../../animation/translator */ 31648); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/browser */ 47810)); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _position = __webpack_require__( /*! ../../../../core/utils/position */ 37518); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _wheel = __webpack_require__( /*! ../../../../events/core/wheel */ 765); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/scroll_view/ui.scrollable */ 41183)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var getTransparentColumnIndex = function(fixedColumns) { var transparentColumnIndex = -1; (0, _iterator.each)(fixedColumns, (function(index, column) { if ("transparent" === column.command) { transparentColumnIndex = index; return false } return })); return transparentColumnIndex }; var normalizeColumnWidths = function(fixedColumns, widths, fixedWidths) { var fixedColumnIndex = 0; if (fixedColumns && widths && fixedWidths) { for (var i = 0; i < fixedColumns.length; i++) { if ("transparent" === fixedColumns[i].command) { fixedColumnIndex += fixedColumns[i].colspan } else { if (widths[fixedColumnIndex] < fixedWidths[i]) { widths[fixedColumnIndex] = fixedWidths[i] } fixedColumnIndex++ } } } return widths }; var baseFixedColumns = { init: function() { this.callBase(); this._isFixedTableRendering = false; this._isFixedColumns = false }, _createCol: function(column) { return this.callBase(column).toggleClass("dx-col-fixed", !!(this._isFixedTableRendering && (column.fixed || column.command && "transparent" !== column.command))) }, _correctColumnIndicesForFixedColumns: function(fixedColumns, change) { var transparentColumnIndex = getTransparentColumnIndex(fixedColumns); var transparentColspan = fixedColumns[transparentColumnIndex].colspan; var columnIndices = change && change.columnIndices; if (columnIndices) { change.columnIndices = columnIndices.map((function(columnIndices) { if (columnIndices) { return columnIndices.map((function(columnIndex) { if (columnIndex < transparentColumnIndex) { return columnIndex } if (columnIndex >= transparentColumnIndex + transparentColspan) { return columnIndex - transparentColspan + 1 } return -1 })).filter((function(columnIndex) { return columnIndex >= 0 })) } })) } }, _partialUpdateFixedTable: function(fixedColumns) { var fixedTableElement = this._fixedTableElement; var $rows = this._getRowElementsCore(fixedTableElement); var $colgroup = fixedTableElement.children("colgroup"); $colgroup.replaceWith(this._createColGroup(fixedColumns)); for (var i = 0; i < $rows.length; i++) { this._partialUpdateFixedRow((0, _renderer.default)($rows[i]), fixedColumns) } }, _partialUpdateFixedRow: function($row, fixedColumns) { var _a; var cellElements = $row.get(0).childNodes; var transparentColumnIndex = getTransparentColumnIndex(fixedColumns); var transparentColumn = fixedColumns[transparentColumnIndex]; var columnIndexOffset = this._columnsController.getColumnIndexOffset(); var groupCellOptions; var colIndex = columnIndexOffset + 1; var colspan = transparentColumn.colspan; if ($row.hasClass("dx-master-detail-row")) { cellElements[0].setAttribute("colspan", null === (_a = this._columnsController.getVisibleColumns()) || void 0 === _a ? void 0 : _a.length); return } if ($row.hasClass("dx-group-row")) { groupCellOptions = this._getGroupCellOptions({ row: $row.data("options"), columns: this._columnsController.getVisibleColumns() }); colspan = groupCellOptions.colspan - Math.max(0, cellElements.length - (groupCellOptions.columnIndex + 2)) } for (var j = 0; j < cellElements.length; j++) { var needUpdateColspan = groupCellOptions ? j === groupCellOptions.columnIndex + 1 : j === transparentColumnIndex; cellElements[j].setAttribute("aria-colindex", colIndex); if (needUpdateColspan) { cellElements[j].setAttribute("colspan", colspan); colIndex += colspan } else { colIndex++ } } }, _renderTable: function(options) { var $fixedTable; var fixedColumns = this.getFixedColumns(); this._isFixedColumns = !!fixedColumns.length; var $table = this.callBase(options); if (this._isFixedColumns) { var change = null === options || void 0 === options ? void 0 : options.change; this._isFixedTableRendering = true; if ((null === change || void 0 === change ? void 0 : change.virtualColumnsScrolling) && true !== this.option("scrolling.legacyMode")) { this._partialUpdateFixedTable(fixedColumns); this._isFixedTableRendering = false } else { var columnIndices = null === change || void 0 === change ? void 0 : change.columnIndices; this._correctColumnIndicesForFixedColumns(fixedColumns, change); $fixedTable = this._createTable(fixedColumns); this._renderRows($fixedTable, (0, _extend.extend)({}, options, { columns: fixedColumns })); this._updateContent($fixedTable, change, true); if (columnIndices) { change.columnIndices = columnIndices } this._isFixedTableRendering = false } } else { this._fixedTableElement && this._fixedTableElement.parent().remove(); this._fixedTableElement = null } return $table }, _renderRow: function($table, options) { var fixedCorrection; var cells = options.row.cells; this.callBase.apply(this, arguments); if (this._isFixedTableRendering && cells && cells.length) { fixedCorrection = 0; var fixedCells = options.row.cells || []; cells = cells.slice(); options.row.cells = cells; for (var i = 0; i < fixedCells.length; i++) { if (fixedCells[i].column && "transparent" === fixedCells[i].column.command) { fixedCorrection = (fixedCells[i].column.colspan || 1) - 1; continue } cells[i + fixedCorrection] = fixedCells[i] } } }, _createCell: function(options) { var that = this; var column = options.column; var columnCommand = column && column.command; var rowType = options.rowType; var $cell = that.callBase.apply(that, arguments); var fixedColumns; var prevFixedColumn; var transparentColumnIndex; if (that._isFixedTableRendering || "filter" === rowType) { fixedColumns = that.getFixedColumns(); transparentColumnIndex = getTransparentColumnIndex(fixedColumns); prevFixedColumn = fixedColumns[transparentColumnIndex - 1] } if (that._isFixedTableRendering) { if ("transparent" === columnCommand) { $cell.addClass("dx-pointer-events-none").toggleClass("dx-first-cell", 0 === transparentColumnIndex || prevFixedColumn && "expand" === prevFixedColumn.command).toggleClass("dx-last-cell", fixedColumns.length && transparentColumnIndex === fixedColumns.length - 1); if ("freeSpace" !== rowType) { _m_utils.default.setEmptyText($cell) } } } else if ("filter" === rowType) { $cell.toggleClass("dx-first-cell", options.columnIndex === transparentColumnIndex) } var isRowAltStyle = that.option("rowAlternationEnabled") && options.isAltRow; var isSelectAllCell = "multiple" === that.option("selection.mode") && 0 === options.columnIndex && "header" === options.rowType; if (_browser.default.mozilla && options.column.fixed && "group" !== options.rowType && !isRowAltStyle && !isSelectAllCell) { $cell.addClass("dx-col-fixed") } return $cell }, _getContent: function(isFixedTableRendering) { var _a; return isFixedTableRendering ? null === (_a = this._fixedTableElement) || void 0 === _a ? void 0 : _a.parent() : this.callBase.apply(this, arguments) }, _wrapTableInScrollContainer: function($table, isFixedTableRendering) { var $scrollContainer = this.callBase.apply(this, arguments); if (this._isFixedTableRendering || isFixedTableRendering) { $scrollContainer.addClass(this.addWidgetPrefix("content-fixed")) } return $scrollContainer }, _renderCellContent: function($cell, options) { var isEmptyCell; var column = options.column; var isFixedTableRendering = this._isFixedTableRendering; var isGroupCell = "group" === options.rowType && (0, _type.isDefined)(column.groupIndex); if (isFixedTableRendering && isGroupCell && !column.command && !column.groupCellTemplate) { $cell.css("pointerEvents", "none") } if (!isFixedTableRendering && this._isFixedColumns) { isEmptyCell = column.fixed || column.command && false !== column.fixed; if (isGroupCell) { isEmptyCell = false; if (options.row.summaryCells && options.row.summaryCells.length) { var columns = this._columnsController.getVisibleColumns(); var alignByFixedColumnCellCount = this._getAlignByColumnCellCount ? this._getAlignByColumnCellCount(column.colspan, { columns: columns, row: options.row, isFixed: true }) : 0; if (alignByFixedColumnCellCount > 0) { var transparentColumnIndex = getTransparentColumnIndex(this._columnsController.getFixedColumns()); isEmptyCell = columns.length - alignByFixedColumnCellCount < transparentColumnIndex } } } if (isEmptyCell) { if (column.command && "buttons" !== column.type || "group" === options.rowType) { $cell.html(" ").addClass(column.cssClass); return } $cell.addClass("dx-hidden-cell") } } if ("transparent" !== column.command) { this.callBase.apply(this, arguments) } }, _getCellElementsCore: function(rowIndex) { var _this = this; var cellElements = this.callBase.apply(this, arguments); var isGroupRow = null === cellElements || void 0 === cellElements ? void 0 : cellElements.parent().hasClass("dx-group-row"); var headerRowIndex = "columnHeadersView" === this.name ? rowIndex : void 0; if (this._fixedTableElement && cellElements) { var fixedColumns = this.getFixedColumns(headerRowIndex); var fixedCellElements = this._getRowElements(this._fixedTableElement).eq(rowIndex).children("td"); (0, _iterator.each)(fixedCellElements, (function(columnIndex, cell) { if (isGroupRow) { if (cellElements[columnIndex] && "hidden" !== cell.style.visibility) { cellElements[columnIndex] = cell } } else { var fixedColumn = fixedColumns[columnIndex]; if (fixedColumn) { if ("transparent" === fixedColumn.command) { if (fixedCellElements.eq(columnIndex).hasClass("dx-master-detail-cell")) { cellElements[columnIndex] = cell || cellElements[columnIndex] } } else { var fixedColumnIndex = _this._columnsController.getVisibleIndexByColumn(fixedColumn, headerRowIndex); cellElements[fixedColumnIndex] = cell || cellElements[fixedColumnIndex] } } } })) } return cellElements }, getColumnWidths: function() { var result = this.callBase(); var fixedColumns = this.getFixedColumns(); var fixedWidths = this._fixedTableElement && result.length ? this.callBase(this._fixedTableElement) : void 0; return normalizeColumnWidths(fixedColumns, result, fixedWidths) }, getTableElement: function(isFixedTableRendering) { isFixedTableRendering = this._isFixedTableRendering || isFixedTableRendering; var tableElement = isFixedTableRendering ? this._fixedTableElement : this.callBase(); return tableElement }, setTableElement: function(tableElement, isFixedTableRendering) { if (this._isFixedTableRendering || isFixedTableRendering) { this._fixedTableElement = tableElement.addClass("dx-pointer-events-none") } else { this.callBase(tableElement) } }, getColumns: function(rowIndex, $tableElement) { $tableElement = $tableElement || this.getTableElement(); if (this._isFixedTableRendering || $tableElement && $tableElement.closest("table").parent(".".concat(this.addWidgetPrefix("content-fixed"))).length) { return this.getFixedColumns(rowIndex) } return this.callBase(rowIndex, $tableElement) }, getRowIndex: function($row) { var $fixedTable = this._fixedTableElement; if ($fixedTable && $fixedTable.find($row).length) { return this._getRowElements($fixedTable).index($row) } return this.callBase($row) }, getTableElements: function() { var result = this.callBase.apply(this, arguments); if (this._fixedTableElement) { result = (0, _renderer.default)([result.get(0), this._fixedTableElement.get(0)]) } return result }, getFixedColumns: function(rowIndex) { return this._columnsController.getFixedColumns(rowIndex) }, getFixedColumnsOffset: function() { var offset = { left: 0, right: 0 }; var $transparentColumn; if (this._fixedTableElement) { $transparentColumn = this.getTransparentColumnElement(); var positionTransparentColumn = $transparentColumn.position(); offset = { left: positionTransparentColumn.left, right: (0, _size.getOuterWidth)(this.element(), true) - ((0, _size.getOuterWidth)($transparentColumn, true) + positionTransparentColumn.left) } } return offset }, getTransparentColumnElement: function() { return this._fixedTableElement && this._fixedTableElement.find(".".concat("dx-pointer-events-none")).first() }, getFixedTableElement: function() { return this._fixedTableElement }, isFixedColumns: function() { return this._isFixedColumns }, _resizeCore: function() { this.callBase(); this.synchronizeRows() }, setColumnWidths: function(options) { var columns; var visibleColumns = this._columnsController.getVisibleColumns(); var widths = options.widths; var isWidthsSynchronized = widths && widths.length && (0, _type.isDefined)(visibleColumns[0].visibleWidth); var optionNames = options.optionNames; var isColumnWidthChanged = optionNames && optionNames.width; var useVisibleColumns = false; this.callBase.apply(this, arguments); if (this._fixedTableElement) { var hasAutoWidth = widths && widths.some((function(width) { return "auto" === width })); useVisibleColumns = hasAutoWidth && (!isWidthsSynchronized || !this.isScrollbarVisible(true)); if (useVisibleColumns) { columns = visibleColumns } this.callBase((0, _extend.extend)({}, options, { $tableElement: this._fixedTableElement, columns: columns, fixed: true })) } if (isWidthsSynchronized || isColumnWidthChanged && this.option("wordWrapEnabled")) { this.synchronizeRows() } }, _createColGroup: function(columns) { if (this._isFixedTableRendering && !this.option("columnAutoWidth")) { var visibleColumns = this._columnsController.getVisibleColumns(); var useVisibleColumns = visibleColumns.filter((function(column) { return !column.width })).length; if (useVisibleColumns) { columns = visibleColumns } } return this.callBase(columns) }, _getClientHeight: function(element) { var boundingClientRectElement = element.getBoundingClientRect && (0, _position.getBoundingRect)(element); return boundingClientRectElement && boundingClientRectElement.height ? boundingClientRectElement.height : element.clientHeight }, synchronizeRows: function() { var _this2 = this; var rowHeights = []; var fixedRowHeights = []; var rowIndex; var $rowElements; var $fixedRowElements; var $contentElement; this.waitAsyncTemplates(true).done((function() { if (_this2._isFixedColumns && _this2._tableElement && _this2._fixedTableElement) { var heightTable = _this2._getClientHeight(_this2._tableElement.get(0)); var heightFixedTable = _this2._getClientHeight(_this2._fixedTableElement.get(0)); $rowElements = _this2._getRowElements(_this2._tableElement); $fixedRowElements = _this2._getRowElements(_this2._fixedTableElement); $contentElement = _this2._findContentElement(); if (heightTable !== heightFixedTable) { $contentElement && $contentElement.css("height", heightTable); $rowElements.css("height", ""); $fixedRowElements.css("height", ""); for (rowIndex = 0; rowIndex < $rowElements.length; rowIndex++) { rowHeights.push(_this2._getClientHeight($rowElements.get(rowIndex))); fixedRowHeights.push(_this2._getClientHeight($fixedRowElements.get(rowIndex))) } for (rowIndex = 0; rowIndex < $rowElements.length; rowIndex++) { var rowHeight = rowHeights[rowIndex]; var fixedRowHeight = fixedRowHeights[rowIndex]; if (rowHeight > fixedRowHeight) { $fixedRowElements.eq(rowIndex).css("height", rowHeight) } else if (rowHeight < fixedRowHeight) { $rowElements.eq(rowIndex).css("height", fixedRowHeight) } } $contentElement && $contentElement.css("height", "") } } })) }, setScrollerSpacing: function(width) { var rtlEnabled = this.option("rtlEnabled"); this.callBase(width); this.element().children(".".concat(this.addWidgetPrefix("content-fixed"))).css({ paddingLeft: rtlEnabled ? width : "", paddingRight: !rtlEnabled ? width : "" }) } }; var ColumnHeadersViewFixedColumnsExtender = (0, _extend.extend)({}, baseFixedColumns, { _getRowVisibleColumns: function(rowIndex) { if (this._isFixedTableRendering) { return this.getFixedColumns(rowIndex) } return this.callBase(rowIndex) }, getContextMenuItems: function(options) { var _this3 = this; var column = options.column; var columnFixingOptions = this.option("columnFixing"); var items = this.callBase(options); if (options.row && "header" === options.row.rowType) { if (true === columnFixingOptions.enabled && column && column.allowFixing) { var onItemClick = function(params) { switch (params.itemData.value) { case "none": _this3._columnsController.columnOption(column.index, "fixed", false); break; case "left": _this3._columnsController.columnOption(column.index, { fixed: true, fixedPosition: "left" }); break; case "right": _this3._columnsController.columnOption(column.index, { fixed: true, fixedPosition: "right" }) } }; items = items || []; items.push({ text: columnFixingOptions.texts.fix, beginGroup: true, items: [{ text: columnFixingOptions.texts.leftPosition, value: "left", disabled: column.fixed && (!column.fixedPosition || "left" === column.fixedPosition), onItemClick: onItemClick }, { text: columnFixingOptions.texts.rightPosition, value: "right", disabled: column.fixed && "right" === column.fixedPosition, onItemClick: onItemClick }] }, { text: columnFixingOptions.texts.unfix, value: "none", disabled: !column.fixed, onItemClick: onItemClick }) } } return items }, getFixedColumnElements: function(rowIndex) { if ((0, _type.isDefined)(rowIndex)) { return this._fixedTableElement && this._getRowElements(this._fixedTableElement).eq(rowIndex).children() } var columnElements = this.getColumnElements(); var $transparentColumnElement = this.getTransparentColumnElement(); if (columnElements && $transparentColumnElement && $transparentColumnElement.length) { var transparentColumnIndex = getTransparentColumnIndex(this.getFixedColumns()); columnElements.splice(transparentColumnIndex, $transparentColumnElement.get(0).colSpan, $transparentColumnElement.get(0)) } return columnElements }, getColumnWidths: function() { var fixedWidths; var result = this.callBase(); var $fixedColumnElements = this.getFixedColumnElements(); var fixedColumns = this.getFixedColumns(); if (this._fixedTableElement) { if ($fixedColumnElements && $fixedColumnElements.length) { fixedWidths = this._getWidths($fixedColumnElements) } else { fixedWidths = this.callBase(this._fixedTableElement) } } return normalizeColumnWidths(fixedColumns, result, fixedWidths) } }); var RowsViewFixedColumnsExtender = (0, _extend.extend)({}, baseFixedColumns, { _detachHoverEvents: function() { this._fixedTableElement && _events_engine.default.off(this._fixedTableElement, "mouseover mouseout", ".dx-data-row"); this._tableElement && _events_engine.default.off(this._tableElement, "mouseover mouseout", ".dx-data-row") }, _attachHoverEvents: function() { var that = this; var attachHoverEvent = function($table) { _events_engine.default.on($table, "mouseover mouseout", ".dx-data-row", that.createAction((function(args) { var event = args.event; var rowIndex = that.getRowIndex((0, _renderer.default)(event.target).closest(".dx-row")); var isHover = "mouseover" === event.type; if (rowIndex >= 0) { that._tableElement && that._getRowElements(that._tableElement).eq(rowIndex).toggleClass("dx-state-hover", isHover); that._fixedTableElement && that._getRowElements(that._fixedTableElement).eq(rowIndex).toggleClass("dx-state-hover", isHover) } }))) }; if (that._fixedTableElement && that._tableElement) { attachHoverEvent(that._fixedTableElement); attachHoverEvent(that._tableElement) } }, _getScrollDelay: function() { var _a; var hasResizeTimeout = null === (_a = this.getController("resizing")) || void 0 === _a ? void 0 : _a.hasResizeTimeout(); if (hasResizeTimeout) { return this.option("scrolling.updateTimeout") } return _browser.default.mozilla ? 60 : 0 }, _findContentElement: function(isFixedTableRendering) { var _this4 = this; var $content; var scrollTop; var contentClass = this.addWidgetPrefix("content"); var element = this.element(); isFixedTableRendering = this._isFixedTableRendering || isFixedTableRendering; if (element && isFixedTableRendering) { $content = element.children(".".concat(contentClass)); var scrollable = this.getScrollable(); if (!$content.length && scrollable) { $content = (0, _renderer.default)("
").addClass(contentClass); _events_engine.default.on($content, "scroll", (function(e) { var target = e.target; var scrollDelay = _this4._getScrollDelay(); clearTimeout(_this4._fixedScrollTimeout); _this4._fixedScrollTimeout = setTimeout((function() { scrollTop = (0, _renderer.default)(target).scrollTop(); scrollable.scrollTo({ y: scrollTop }) }), scrollDelay) })); _events_engine.default.on($content, _wheel.name, (function(e) { var $nearestScrollable = (0, _renderer.default)(e.target).closest(".dx-scrollable"); var shouldScroll = false; if (scrollable && scrollable.$element().is($nearestScrollable)) { shouldScroll = true } else { var nearestScrollableInstance = $nearestScrollable.length && _ui.default.getInstance($nearestScrollable.get(0)); var nearestScrollableHasVerticalScrollbar = nearestScrollableInstance && nearestScrollableInstance.scrollHeight() - nearestScrollableInstance.clientHeight() > 0; shouldScroll = nearestScrollableInstance && !nearestScrollableHasVerticalScrollbar } if (shouldScroll) { scrollTop = scrollable.scrollTop(); scrollable.scrollTo({ y: scrollTop - e.delta }); var scrollableTop = scrollable.scrollTop() + scrollable.clientHeight(); var scrollableHeight = scrollable.scrollHeight() + _this4.getScrollbarWidth(); var isPreventDefault = scrollable.scrollTop() > 0 && scrollableTop < scrollableHeight; if (isPreventDefault) { return false } } return })); $content.appendTo(element) } return $content } return this.callBase() }, _updateScrollable: function() { this.callBase(); var scrollable = this.getScrollable(); if (null === scrollable || void 0 === scrollable ? void 0 : scrollable._disposed) { return } var scrollTop = scrollable && scrollable.scrollOffset().top; this._updateFixedTablePosition(scrollTop) }, _renderContent: function(contentElement, tableElement, isFixedTableRendering) { if (this._isFixedTableRendering || isFixedTableRendering) { return contentElement.empty().addClass("".concat(this.addWidgetPrefix("content"), " ").concat(this.addWidgetPrefix("content-fixed"))).append(tableElement) } return this.callBase(contentElement, tableElement) }, _getGroupCellOptions: function(options) { if (this._isFixedTableRendering) { return this.callBase((0, _extend.extend)({}, options, { columns: this._columnsController.getVisibleColumns() })) } return this.callBase(options) }, _renderGroupedCells: function($row, options) { return this.callBase($row, (0, _extend.extend)({}, options, { columns: this._columnsController.getVisibleColumns() })) }, _renderGroupSummaryCells: function($row, options) { if (this._isFixedTableRendering) { this.callBase($row, (0, _extend.extend)({}, options, { columns: this._columnsController.getVisibleColumns() })) } else { this.callBase($row, options) } }, _hasAlignByColumnSummaryItems: function(columnIndex, options) { var result = this.callBase.apply(this, arguments); var column = options.columns[columnIndex]; if (options.isFixed) { return column.fixed && (result || "right" === column.fixedPosition) } return result && (!this._isFixedColumns || !column.fixed) }, _renderGroupSummaryCellsCore: function($groupCell, options, groupCellColSpan, alignByColumnCellCount) { var alignByFixedColumnCellCount; if (this._isFixedTableRendering) { options.isFixed = true; alignByFixedColumnCellCount = this._getAlignByColumnCellCount(groupCellColSpan, options); options.isFixed = false; var startColumnIndex = options.columns.length - alignByFixedColumnCellCount; options = (0, _extend.extend)({}, options, { columns: this.getFixedColumns() }); var transparentColumnIndex = getTransparentColumnIndex(options.columns); if (startColumnIndex < transparentColumnIndex) { alignByFixedColumnCellCount -= options.columns[transparentColumnIndex].colspan - 1 || 0; groupCellColSpan -= options.columns[transparentColumnIndex].colspan - 1 || 0 } else if (alignByColumnCellCount > 0) { $groupCell.css("visibility", "hidden") } alignByColumnCellCount = alignByFixedColumnCellCount } this.callBase($groupCell, options, groupCellColSpan, alignByColumnCellCount) }, _getSummaryCellIndex: function(columnIndex, columns) { if (this._isFixedTableRendering) { var transparentColumnIndex = getTransparentColumnIndex(columns); if (columnIndex > transparentColumnIndex) { columnIndex += columns[transparentColumnIndex].colspan - 1 } return columnIndex } return this.callBase.apply(this, arguments) }, _renderCore: function(change) { var _this5 = this; this._detachHoverEvents(); var deferred = this.callBase(change); var isFixedColumns = this._isFixedColumns; this.element().toggleClass("dx-fixed-columns", isFixedColumns); if (this.option("hoverStateEnabled") && isFixedColumns) { deferred.done((function() { _this5._attachHoverEvents() })) } return deferred }, setRowsOpacity: function(columnIndex, value) { this.callBase(columnIndex, value); var $rows = this._getRowElements(this._fixedTableElement); this._setRowsOpacityCore($rows, this.getFixedColumns(), columnIndex, value) }, optionChanged: function(args) { this.callBase(args); if ("hoverStateEnabled" === args.name && this._isFixedColumns) { args.value ? this._attachHoverEvents() : this._detachHoverEvents() } }, getCellIndex: function($cell) { var $fixedTable = this._fixedTableElement; var cellIndex = 0; if ($fixedTable && $cell.is("td") && $cell.closest($fixedTable).length) { var columns = this.getFixedColumns(); (0, _iterator.each)(columns, (function(index, column) { if (index === $cell[0].cellIndex) { return false } if (column.colspan) { cellIndex += column.colspan; return } cellIndex++; return })); return cellIndex } return this.callBase.apply(this, arguments) }, _updateFixedTablePosition: function(scrollTop, needFocus) { if (this._fixedTableElement && this._tableElement) { var $focusedElement; var editorFactory = this.getController("editorFactory"); this._fixedTableElement.parent().scrollTop(scrollTop); if (needFocus && editorFactory) { $focusedElement = editorFactory.focus(); $focusedElement && editorFactory.focus($focusedElement) } } }, setScrollerSpacing: function(vWidth, hWidth) { var styles = { marginBottom: 0 }; var $fixedContent = this.element().children(".".concat(this.addWidgetPrefix("content-fixed"))); if ($fixedContent.length && this._fixedTableElement) { $fixedContent.css(styles); this._fixedTableElement.css(styles); styles[this.option("rtlEnabled") ? "marginLeft" : "marginRight"] = vWidth; styles.marginBottom = hWidth; var useNativeScrolling = this._scrollable && this._scrollable.option("useNative"); (useNativeScrolling ? $fixedContent : this._fixedTableElement).css(styles) } }, _getElasticScrollTop: function(e) { var elasticScrollTop = 0; if (e.scrollOffset.top < 0) { elasticScrollTop = -e.scrollOffset.top } else if (e.reachedBottom) { var $scrollableContent = (0, _renderer.default)(e.component.content()); var $scrollableContainer = (0, _renderer.default)(e.component.container()); var maxScrollTop = Math.max($scrollableContent.get(0).clientHeight - $scrollableContainer.get(0).clientHeight, 0); elasticScrollTop = Math.min(maxScrollTop - e.scrollOffset.top, 0) } return Math.floor(elasticScrollTop) }, _applyElasticScrolling: function(e) { if (this._fixedTableElement) { var elasticScrollTop = this._getElasticScrollTop(e); if (0 !== Math.ceil(elasticScrollTop)) { (0, _translator.move)(this._fixedTableElement, { top: elasticScrollTop }) } else { this._fixedTableElement.css("transform", "") } } }, _handleScroll: function(e) { this._updateFixedTablePosition(e.scrollOffset.top, true); this._applyElasticScrolling(e); this.callBase(e) }, _updateContentPosition: function(isRender) { this.callBase.apply(this, arguments); if (!isRender) { this._updateFixedTablePosition(this._scrollTop) } }, _afterRowPrepared: function(e) { if (this._isFixedTableRendering) { return } this.callBase(e) }, _scrollToElement: function($element) { this.callBase($element, this.getFixedColumnsOffset()) }, dispose: function() { this.callBase.apply(this, arguments); clearTimeout(this._fixedScrollTimeout) } }); var FooterViewFixedColumnsExtender = baseFixedColumns; var columnFixingModule = { defaultOptions: function() { return { columnFixing: { enabled: false, texts: { fix: _message.default.format("dxDataGrid-columnFixingFix"), unfix: _message.default.format("dxDataGrid-columnFixingUnfix"), leftPosition: _message.default.format("dxDataGrid-columnFixingLeftPosition"), rightPosition: _message.default.format("dxDataGrid-columnFixingRightPosition") } } } }, extenders: { views: { columnHeadersView: ColumnHeadersViewFixedColumnsExtender, rowsView: RowsViewFixedColumnsExtender, footerView: FooterViewFixedColumnsExtender }, controllers: { draggingHeader: { _generatePointsByColumns: function(options) { var visibleColumns = options.columns; var targetDraggingPanel = options.targetDraggingPanel; if (targetDraggingPanel && "headers" === targetDraggingPanel.getName() && targetDraggingPanel.isFixedColumns()) { if (options.sourceColumn.fixed) { if (!options.rowIndex) { options.columnElements = targetDraggingPanel.getFixedColumnElements(0) } options.columns = targetDraggingPanel.getFixedColumns(options.rowIndex); var pointsByColumns = this.callBase(options); ! function(columns, fixedColumns, pointsByColumns) { var transparentColumnIndex = getTransparentColumnIndex(fixedColumns); var correctIndex = columns.length - fixedColumns.length; (0, _iterator.each)(pointsByColumns, (function(_, point) { if (point.index > transparentColumnIndex) { point.columnIndex += correctIndex; point.index += correctIndex } })); return pointsByColumns }(visibleColumns, options.columns, pointsByColumns); return pointsByColumns } } return this.callBase(options) }, _pointCreated: function(point, columns, location, sourceColumn) { var result = this.callBase.apply(this, arguments); var targetColumn = columns[point.columnIndex]; var $transparentColumn = this._columnHeadersView.getTransparentColumnElement(); if (!result && "headers" === location && $transparentColumn && $transparentColumn.length) { var boundingRect = (0, _position.getBoundingRect)($transparentColumn.get(0)); if (sourceColumn && sourceColumn.fixed) { return "right" === sourceColumn.fixedPosition ? point.x < boundingRect.right : point.x > boundingRect.left } if (targetColumn && targetColumn.fixed && "right" !== targetColumn.fixedPosition) { return true } return point.x < boundingRect.left || point.x > boundingRect.right } return result } }, columnsResizer: { _generatePointsByColumns: function() { var that = this; var columnsController = that._columnsController; var columns = columnsController && that._columnsController.getVisibleColumns(); var fixedColumns = columnsController && that._columnsController.getFixedColumns(); var transparentColumnIndex = getTransparentColumnIndex(fixedColumns); var correctIndex = columns.length - fixedColumns.length; var cells = that._columnHeadersView.getFixedColumnElements(); that.callBase(); if (cells && cells.length > 0) { that._pointsByFixedColumns = _m_utils.default.getPointsByColumns(cells, (function(point) { if (point.index > transparentColumnIndex) { point.columnIndex += correctIndex; point.index += correctIndex } return that._pointCreated(point, columns.length, columns) })) } }, _getTargetPoint: function(pointsByColumns, currentX, deltaX) { var $transparentColumn = this._columnHeadersView.getTransparentColumnElement(); if ($transparentColumn && $transparentColumn.length) { var boundingRect = (0, _position.getBoundingRect)($transparentColumn.get(0)); if (currentX <= boundingRect.left || currentX >= boundingRect.right) { return this.callBase(this._pointsByFixedColumns, currentX, deltaX) } } return this.callBase(pointsByColumns, currentX, deltaX) } } } } }; exports.columnFixingModule = columnFixingModule }, 14509: /*!***********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/column_headers/m_column_headers.js ***! \***********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.columnHeadersModule = void 0; var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../../core/dom_adapter */ 73349)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _m_accessibility = __webpack_require__( /*! ../m_accessibility */ 9130); var _m_columns_view = __webpack_require__( /*! ../views/m_columns_view */ 57318); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var columnHeadersModule = { defaultOptions: function() { return { showColumnHeaders: true, cellHintEnabled: true } }, views: { columnHeadersView: _m_columns_view.ColumnsView.inherit(function() { var createCellContent = function(that, $cell, options) { var $cellContent = (0, _renderer.default)("
").addClass(that.addWidgetPrefix("text-content")); that.setAria("role", "presentation", $cellContent); addCssClassesToCellContent(that, $cell, options.column, $cellContent); var showColumnLines = that.option("showColumnLines"); var contentAlignment = that.getController("columns").getHeaderContentAlignment(options.column.alignment); return $cellContent[showColumnLines || "right" === contentAlignment ? "appendTo" : "prependTo"]($cell) }; function addCssClassesToCellContent(that, $cell, column, $cellContent) { var $indicatorElements = that._getIndicatorElements($cell, true); var $visibleIndicatorElements = that._getIndicatorElements($cell); var indicatorCount = $indicatorElements && $indicatorElements.length; var columnAlignment = that._getColumnAlignment(column.alignment); var sortIndicatorClassName = ".".concat(that._getIndicatorClassName("sort")); var sortIndexIndicatorClassName = ".".concat(that._getIndicatorClassName("sortIndex")); var $sortIndicator = $visibleIndicatorElements.filter(sortIndicatorClassName); var $sortIndexIndicator = $visibleIndicatorElements.children().filter(sortIndexIndicatorClassName); $cellContent = $cellContent || $cell.children(".".concat(that.addWidgetPrefix("text-content"))); $cellContent.toggleClass("dx-text-content-alignment-" + columnAlignment, indicatorCount > 0).toggleClass("dx-text-content-alignment-" + ("left" === columnAlignment ? "right" : "left"), indicatorCount > 0 && "center" === column.alignment).toggleClass("dx-sort-indicator", !!$sortIndicator.length).toggleClass("dx-sort-index-indicator", !!$sortIndexIndicator.length).toggleClass("dx-header-filter-indicator", !!$visibleIndicatorElements.filter(".".concat(that._getIndicatorClassName("headerFilter"))).length) } var members = { _createTable: function() { var $table = this.callBase.apply(this, arguments); _events_engine.default.on($table, "mousedown selectstart", this.createAction((function(e) { var event = e.event; if (event.shiftKey) { event.preventDefault() } }))); return $table }, _isLegacyKeyboardNavigation: function() { return this.option("useLegacyKeyboardNavigation") }, _getDefaultTemplate: function(column) { var that = this; return function($container, options) { var caption = column.caption; var needCellContent = !column.command || caption && "expand" !== column.command; if ("empty" === column.command) { that._renderEmptyMessage($container, options) } else if (needCellContent) { var $content = createCellContent(that, $container, options); $content.text(caption) } else if (column.command) { $container.html(" ") } } }, _renderEmptyMessage: function($container, options) { var textEmpty = this._getEmptyHeaderText(); if (!textEmpty) { $container.html(" "); return } var $cellContent = createCellContent(this, $container, options); var needSplit = textEmpty.includes("{0}"); if (needSplit) { var _textEmpty$split = textEmpty.split("{0}"), _textEmpty$split2 = _slicedToArray(_textEmpty$split, 2), leftPart = _textEmpty$split2[0], rightPart = _textEmpty$split2[1]; var columnChooserTitle = _message.default.format("dxDataGrid-emptyHeaderColumnChooserText"); var columnChooserView = this.component.getView("columnChooserView"); var $link = (0, _renderer.default)("").text(columnChooserTitle).addClass("dx-link"); _events_engine.default.on($link, "click", this.createAction((function() { return columnChooserView.showColumnChooser() }))); $cellContent.append(_dom_adapter.default.createTextNode(leftPart)).append($link).append(_dom_adapter.default.createTextNode(rightPart)) } else { $cellContent.text(textEmpty) } }, _getEmptyHeaderText: function() { var hasHiddenColumns = !!this.component.getView("columnChooserView").hasHiddenColumns(); var hasGroupedColumns = !!this.component.getView("headerPanel").hasGroupedColumns(); switch (true) { case hasHiddenColumns && hasGroupedColumns: return _message.default.format("dxDataGrid-emptyHeaderWithColumnChooserAndGroupPanelText"); case hasGroupedColumns: return _message.default.format("dxDataGrid-emptyHeaderWithGroupPanelText"); case hasHiddenColumns: return _message.default.format("dxDataGrid-emptyHeaderWithColumnChooserText"); default: return "" } }, _getHeaderTemplate: function(column) { return column.headerCellTemplate || { allowRenderToDetachedContainer: true, render: this._getDefaultTemplate(column) } }, _processTemplate: function(template, options) { var that = this; var resultTemplate; var column = options.column; var renderingTemplate = that.callBase(template); if ("header" === options.rowType && renderingTemplate && column.headerCellTemplate && !column.command) { resultTemplate = { render: function(options) { var $content = createCellContent(that, options.container, options.model); renderingTemplate.render((0, _extend.extend)({}, options, { container: $content })) } } } else { resultTemplate = renderingTemplate } return resultTemplate }, _handleDataChanged: function(e) { if ("refresh" !== e.changeType) { return } if (this._isGroupingChanged || this._requireReady) { this._isGroupingChanged = false; this.render() } }, _renderCell: function($row, options) { var $cell = this.callBase($row, options); if ("header" === options.row.rowType) { $cell.addClass("dx-cell-focus-disabled"); if (!this._isLegacyKeyboardNavigation()) { if (options.column && !options.column.type) { $cell.attr("tabindex", this.option("tabindex") || 0) } } } return $cell }, _setCellAriaAttributes: function($cell, cellOptions) { this.callBase($cell, cellOptions); if ("header" === cellOptions.rowType) { this.setAria("role", "columnheader", $cell); if (cellOptions.column && !cellOptions.column.command && !cellOptions.column.isBand) { $cell.attr("id", cellOptions.column.headerId); this.setAria("label", "".concat(_message.default.format("dxDataGrid-ariaColumn"), " ").concat(cellOptions.column.caption), $cell) } } }, _createRow: function(row) { var $row = this.callBase.apply(this, arguments); $row.toggleClass("dx-column-lines", this.option("showColumnLines")); if ("header" === row.rowType) { $row.addClass("dx-header-row"); if (!this._isLegacyKeyboardNavigation()) { (0, _m_accessibility.registerKeyboardAction)("columnHeaders", this, $row, "td", this._handleActionKeyDown.bind(this)) } } return $row }, _handleActionKeyDown: function(args) { var event = args.event; var $target = (0, _renderer.default)(event.target); this._lastActionElement = event.target; if ($target.is(".dx-header-filter")) { var headerFilterController = this.getController("headerFilter"); var $column = $target.closest("td"); var columnIndex = this.getColumnIndexByElement($column); if (columnIndex >= 0) { headerFilterController.showHeaderFilterMenu(columnIndex, false) } } else { var $row = $target.closest(".dx-row"); this._processHeaderAction(event, $row) } event.preventDefault() }, _renderCore: function() { var that = this; var $container = that.element(); var change = {}; if (that._tableElement && !that._dataController.isLoaded() && !that._hasRowElements) { return } $container.addClass(that.addWidgetPrefix("headers")).toggleClass(that.addWidgetPrefix("nowrap"), !that.option("wordWrapEnabled")).empty(); that.setAria("role", "presentation", $container); var deferred = that._updateContent(that._renderTable({ change: change }), change); if (that.getRowCount() > 1) { $container.addClass("dx-header-multi-row") } that.callBase.apply(that, arguments); return deferred }, _renderRows: function() { var that = this; if (that._dataController.isLoaded() || that._hasRowElements) { that.callBase.apply(that, arguments); that._hasRowElements = true } }, _renderRow: function($table, options) { var rowIndex = 1 === this.getRowCount() ? null : options.row.rowIndex; options.columns = this.getColumns(rowIndex); this.callBase($table, options) }, _createCell: function(options) { var column = options.column; var $cellElement = this.callBase.apply(this, arguments); column.rowspan > 1 && "header" === options.rowType && $cellElement.attr("rowSpan", column.rowspan); return $cellElement }, _getRows: function() { var result = []; var rowCount = this.getRowCount(); if (this.option("showColumnHeaders")) { for (var i = 0; i < rowCount; i++) { result.push({ rowType: "header", rowIndex: i }) } } return result }, _getCellTemplate: function(options) { if ("header" === options.rowType) { return this._getHeaderTemplate(options.column) } }, _columnOptionChanged: function(e) { var changeTypes = e.changeTypes; var optionNames = e.optionNames; if (changeTypes.grouping || changeTypes.groupExpanding) { if (changeTypes.grouping) { this._isGroupingChanged = true } return } this.callBase(e); if (optionNames.width || optionNames.visible) { this.resizeCompleted.fire() } }, _isElementVisible: function(elementOptions) { return elementOptions && elementOptions.visible }, _alignCaptionByCenter: function($cell) { var $indicatorsContainer = this._getIndicatorContainer($cell, true); if ($indicatorsContainer && $indicatorsContainer.length) { $indicatorsContainer.filter(".".concat("dx-visibility-hidden")).remove(); $indicatorsContainer = this._getIndicatorContainer($cell); $indicatorsContainer.clone().addClass("dx-visibility-hidden").css("float", "").insertBefore($cell.children(".".concat(this.addWidgetPrefix("text-content")))) } }, _updateCell: function($cell, options) { if ("header" === options.rowType && "center" === options.column.alignment) { this._alignCaptionByCenter($cell) } this.callBase.apply(this, arguments) }, _updateIndicator: function($cell, column, indicatorName) { var $indicatorElement = this.callBase.apply(this, arguments); if ("center" === column.alignment) { this._alignCaptionByCenter($cell) } addCssClassesToCellContent(this, $cell, column); return $indicatorElement }, _getIndicatorContainer: function($cell, returnAll) { var $indicatorsContainer = this.callBase($cell); return returnAll ? $indicatorsContainer : $indicatorsContainer.filter(":not(.".concat("dx-visibility-hidden", ")")) }, _isSortableElement: function() { return true }, getHeadersRowHeight: function() { var $tableElement = this.getTableElement(); var $headerRows = $tableElement && $tableElement.find(".".concat("dx-header-row")); return $headerRows && $headerRows.toArray().reduce((function(sum, headerRow) { return sum + (0, _size.getHeight)(headerRow) }), 0) || 0 }, getHeaderElement: function(index) { var columnElements = this.getColumnElements(); return columnElements && columnElements.eq(index) }, getColumnElements: function(index, bandColumnIndex) { var that = this; var $cellElement; var columnsController = that._columnsController; var rowCount = that.getRowCount(); if (that.option("showColumnHeaders")) { if (rowCount > 1 && (!(0, _type.isDefined)(index) || (0, _type.isDefined)(bandColumnIndex))) { var result = []; var visibleColumns = (0, _type.isDefined)(bandColumnIndex) ? columnsController.getChildrenByBandColumn(bandColumnIndex, true) : columnsController.getVisibleColumns(); (0, _iterator.each)(visibleColumns, (function(_, column) { var rowIndex = (0, _type.isDefined)(index) ? index : columnsController.getRowIndex(column.index); $cellElement = that._getCellElement(rowIndex, columnsController.getVisibleIndex(column.index, rowIndex)); $cellElement && result.push($cellElement.get(0)) })); return (0, _renderer.default)(result) } if (!index || index < rowCount) { return that.getCellElements(index || 0) } } }, getColumnIndexByElement: function($cell) { var cellIndex = this.getCellIndex($cell); var $row = $cell.closest(".dx-row"); var rowIndex = $row[0].rowIndex; var column = this.getColumns(rowIndex)[cellIndex]; return column ? column.index : -1 }, getVisibleColumnIndex: function(columnIndex, rowIndex) { var column = this.getColumns()[columnIndex]; return column ? this._columnsController.getVisibleIndex(column.index, rowIndex) : -1 }, getColumnWidths: function() { var $columnElements = this.getColumnElements(); if ($columnElements && $columnElements.length) { return this._getWidths($columnElements) } return this.callBase.apply(this, arguments) }, allowDragging: function(column) { var rowIndex = column && this._columnsController.getRowIndex(column.index); var columns = this.getColumns(rowIndex); var isReorderingEnabled = this.option("allowColumnReordering") || this._columnsController.isColumnOptionUsed("allowReordering"); return isReorderingEnabled && column.allowReordering && columns.length > 1 }, getBoundingRect: function() { var $columnElements = this.getColumnElements(); if ($columnElements && $columnElements.length) { var offset = this.getTableElement().offset(); return { top: offset.top } } return null }, getName: function() { return "headers" }, getColumnCount: function() { var $columnElements = this.getColumnElements(); return $columnElements ? $columnElements.length : 0 }, isVisible: function() { return this.option("showColumnHeaders") }, optionChanged: function(args) { switch (args.name) { case "showColumnHeaders": case "wordWrapEnabled": case "showColumnLines": this._invalidate(true, true); args.handled = true; break; default: this.callBase(args) } }, getHeight: function() { return this.getElementHeight() }, getContextMenuItems: function(options) { var that = this; var column = options.column; if (options.row && ("header" === options.row.rowType || "detailAdaptive" === options.row.rowType)) { var sortingOptions = that.option("sorting"); if (sortingOptions && "none" !== sortingOptions.mode && column && column.allowSorting) { var onItemClick = function(params) { setTimeout((function() { that._columnsController.changeSortOrder(column.index, params.itemData.value) })) }; return [{ text: sortingOptions.ascendingText, value: "asc", disabled: "asc" === column.sortOrder, icon: "context-menu-sort-asc", onItemClick: onItemClick }, { text: sortingOptions.descendingText, value: "desc", disabled: "desc" === column.sortOrder, icon: "context-menu-sort-desc", onItemClick: onItemClick }, { text: sortingOptions.clearText, value: "none", disabled: !column.sortOrder, icon: "context-menu-sort-none", onItemClick: onItemClick }] } } return }, getRowCount: function() { return this._columnsController && this._columnsController.getRowCount() }, setRowsOpacity: function(columnIndex, value, rowIndex) { var _this = this; var i; var columnElements; var rowCount = this.getRowCount(); var columns = this._columnsController.getColumns(); var column = columns && columns[columnIndex]; var columnID = column && column.isBand && column.index; var setColumnOpacity = function(column, index) { if (column.ownerBand === columnID) { columnElements.eq(index).css({ opacity: value }); if (column.isBand) { _this.setRowsOpacity(column.index, value, i + 1) } } }; if ((0, _type.isDefined)(columnID)) { rowIndex = rowIndex || 0; for (i = rowIndex; i < rowCount; i++) { columnElements = this.getCellElements(i); if (columnElements) { var rowColumns = this.getColumns(i); rowColumns.forEach(setColumnOpacity) } } } } }; return members }()) } }; exports.columnHeadersModule = columnHeadersModule }, 51255: /*!*******************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/column_state_mixin/m_column_state_mixin.js ***! \*******************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _renderer = (obj = __webpack_require__( /*! ../../../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _position = __webpack_require__( /*! ../../../../core/utils/position */ 37518); var _default = { _applyColumnState: function(options) { var _a; var rtlEnabled = this.option("rtlEnabled"); var columnAlignment = this._getColumnAlignment(options.column.alignment, rtlEnabled); var parameters = (0, _extend.extend)(true, { columnAlignment: columnAlignment }, options); var isGroupPanelItem = parameters.rootElement.hasClass("dx-group-panel-item"); var $indicatorsContainer = this._createIndicatorContainer(parameters, isGroupPanelItem); var $span = (0, _renderer.default)("").addClass(this._getIndicatorClassName(options.name)); var columnsController = null === (_a = this.component) || void 0 === _a ? void 0 : _a.getController("columns"); var indicatorAlignment = (null === columnsController || void 0 === columnsController ? void 0 : columnsController.getHeaderContentAlignment(columnAlignment)) || columnAlignment; parameters.container = $indicatorsContainer; parameters.indicator = $span; this._renderIndicator(parameters); $indicatorsContainer[(isGroupPanelItem || !options.showColumnLines) && "left" === indicatorAlignment ? "appendTo" : "prependTo"](options.rootElement); return $span }, _getIndicatorClassName: _common.noop, _getColumnAlignment: function(alignment, rtlEnabled) { rtlEnabled = rtlEnabled || this.option("rtlEnabled"); return alignment && "center" !== alignment ? alignment : (0, _position.getDefaultAlignment)(rtlEnabled) }, _createIndicatorContainer: function(options, ignoreIndicatorAlignment) { var $indicatorsContainer = this._getIndicatorContainer(options.rootElement); var indicatorAlignment = "left" === options.columnAlignment ? "right" : "left"; if (!$indicatorsContainer.length) { $indicatorsContainer = (0, _renderer.default)("
").addClass("dx-column-indicators") } this.setAria("role", "presentation", $indicatorsContainer); return $indicatorsContainer.css("float", options.showColumnLines && !ignoreIndicatorAlignment ? indicatorAlignment : null) }, _getIndicatorContainer: function($cell) { return $cell && $cell.find(".".concat("dx-column-indicators")) }, _getIndicatorElements: function($cell) { var $indicatorContainer = this._getIndicatorContainer($cell); return $indicatorContainer && $indicatorContainer.children() }, _renderIndicator: function(options) { var $container = options.container; var $indicator = options.indicator; $container && $indicator && $container.append($indicator) }, _updateIndicators: function(indicatorName) { var columns = this.getColumns(); var $cells = this.getColumnElements(); var $cell; if (!$cells || columns.length !== $cells.length) { return } for (var i = 0; i < columns.length; i++) { $cell = $cells.eq(i); this._updateIndicator($cell, columns[i], indicatorName); var rowOptions = $cell.parent().data("options"); if (rowOptions && rowOptions.cells) { rowOptions.cells[$cell.index()].column = columns[i] } } }, _updateIndicator: function($cell, column, indicatorName) { if (!column.command) { return this._applyColumnState({ name: indicatorName, rootElement: $cell, column: column, showColumnLines: this.option("showColumnLines") }) } } }; exports.default = _default }, 54057: /*!****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/columns_controller/const.js ***! \****************************************************************************************************/ function(__unused_webpack_module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.USER_STATE_FIELD_NAMES_15_1 = exports.USER_STATE_FIELD_NAMES = exports.MAX_SAFE_INTEGER = exports.IGNORE_COLUMN_OPTION_NAMES = exports.GROUP_LOCATION = exports.GROUP_COMMAND_COLUMN_NAME = exports.DETAIL_COMMAND_COLUMN_NAME = exports.DEFAULT_COLUMN_OPTIONS = exports.DATATYPE_OPERATIONS = exports.COMMAND_EXPAND_CLASS = exports.COLUMN_OPTION_REGEXP = exports.COLUMN_INDEX_OPTIONS = exports.COLUMN_CHOOSER_LOCATION = void 0; var USER_STATE_FIELD_NAMES_15_1 = ["filterValues", "filterType", "fixed", "fixedPosition"]; exports.USER_STATE_FIELD_NAMES_15_1 = USER_STATE_FIELD_NAMES_15_1; var USER_STATE_FIELD_NAMES = ["visibleIndex", "dataField", "name", "dataType", "width", "visible", "sortOrder", "lastSortOrder", "sortIndex", "groupIndex", "filterValue", "bufferedFilterValue", "selectedFilterOperation", "bufferedSelectedFilterOperation", "added"].concat(USER_STATE_FIELD_NAMES_15_1); exports.USER_STATE_FIELD_NAMES = USER_STATE_FIELD_NAMES; exports.IGNORE_COLUMN_OPTION_NAMES = { visibleWidth: true, bestFitWidth: true, bufferedFilterValue: true }; exports.COMMAND_EXPAND_CLASS = "dx-command-expand"; var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; exports.MAX_SAFE_INTEGER = MAX_SAFE_INTEGER; exports.GROUP_COMMAND_COLUMN_NAME = "groupExpand"; exports.DETAIL_COMMAND_COLUMN_NAME = "detailExpand"; exports.COLUMN_OPTION_REGEXP = /columns\[(\d+)\]\.?/gi; exports.DEFAULT_COLUMN_OPTIONS = { visible: true, showInColumnChooser: true }; exports.DATATYPE_OPERATIONS = { number: ["=", "<>", "<", ">", "<=", ">=", "between"], string: ["contains", "notcontains", "startswith", "endswith", "=", "<>"], date: ["=", "<>", "<", ">", "<=", ">=", "between"], datetime: ["=", "<>", "<", ">", "<=", ">=", "between"] }; exports.COLUMN_INDEX_OPTIONS = { visibleIndex: true, groupIndex: true, grouped: true, sortIndex: true, sortOrder: true }; exports.GROUP_LOCATION = "group"; exports.COLUMN_CHOOSER_LOCATION = "columnChooser" }, 10279: /*!*******************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/columns_controller/m_columns_controller.js ***! \*******************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.columnsControllerModule = exports.ColumnsController = void 0; var _config = _interopRequireDefault(__webpack_require__( /*! ../../../../core/config */ 80209)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/callbacks */ 44504)); var _data = __webpack_require__( /*! ../../../../core/utils/data */ 47617); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _inflector = __webpack_require__( /*! ../../../../core/utils/inflector */ 78008); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _object = __webpack_require__( /*! ../../../../core/utils/object */ 48013); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _variable_wrapper = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/variable_wrapper */ 26974)); var _abstract_store = _interopRequireDefault(__webpack_require__( /*! ../../../../data/abstract_store */ 67403)); var _data_source = __webpack_require__( /*! ../../../../data/data_source/data_source */ 85273); var _utils = __webpack_require__( /*! ../../../../data/data_source/utils */ 9234); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/date */ 91500)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _filtering = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/shared/filtering */ 18740)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/widget/ui.errors */ 96688)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); var _const = __webpack_require__( /*! ./const */ 54057); var _m_columns_controller_utils = __webpack_require__( /*! ./m_columns_controller_utils */ 22732); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ColumnsController = function(_modules$Controller) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ColumnsController, _modules$Controller); function ColumnsController() { return _modules$Controller.apply(this, arguments) || this } var _proto = ColumnsController.prototype; _proto._getExpandColumnOptions = function() { return { type: "expand", command: "expand", width: "auto", cssClass: _const.COMMAND_EXPAND_CLASS, allowEditing: false, allowGrouping: false, allowSorting: false, allowResizing: false, allowReordering: false, allowHiding: false } }; _proto._getFirstItems = function(dataSource) { var groupsCount; var items = []; if (dataSource && dataSource.items().length > 0) { groupsCount = _m_utils.default.normalizeSortingInfo(dataSource.group()).length; items = function getFirstItemsCore(items, groupsCount) { if (!items || !groupsCount) { return items } for (var i = 0; i < items.length; i++) { var childItems = getFirstItemsCore(items[i].items || items[i].collapsedItems, groupsCount - 1); if (childItems && childItems.length) { return childItems } } }(dataSource.items(), groupsCount) || [] } return items }; _proto._endUpdateCore = function() { !this._skipProcessingColumnsChange && (0, _m_columns_controller_utils.fireColumnsChanged)(this) }; _proto.init = function(isApplyingUserState) { var columns = this.option("columns"); this._commandColumns = this._commandColumns || []; this._columns = this._columns || []; this._isColumnsFromOptions = !!columns; if (this._isColumnsFromOptions) { (0, _m_columns_controller_utils.assignColumns)(this, columns ? (0, _m_columns_controller_utils.createColumnsFromOptions)(this, columns) : []); (0, _m_columns_controller_utils.applyUserState)(this) } else { (0, _m_columns_controller_utils.assignColumns)(this, this._columnsUserState ? (0, _m_columns_controller_utils.createColumnsFromOptions)(this, this._columnsUserState) : this._columns) }(0, _m_columns_controller_utils.addExpandColumn)(this); if (this._dataSourceApplied) { this.applyDataSource(this._dataSource, true, isApplyingUserState) } else { (0, _m_columns_controller_utils.updateIndexes)(this) } this._checkColumns() }; _proto.callbackNames = function() { return ["columnsChanged"] }; _proto.getColumnByPath = function(path, columns) { var column; var columnIndexes = []; path.replace(_const.COLUMN_OPTION_REGEXP, (function(_, columnIndex) { columnIndexes.push(parseInt(columnIndex)); return "" })); if (columnIndexes.length) { if (columns) { column = columnIndexes.reduce((function(column, index) { return column && column.columns && column.columns[index] }), { columns: columns }) } else { column = (0, _m_columns_controller_utils.getColumnByIndexes)(this, columnIndexes) } } return column }; _proto.optionChanged = function(args) { var needUpdateRequireResize; switch (args.name) { case "adaptColumnWidthByRatio": args.handled = true; break; case "dataSource": if (args.value !== args.previousValue && !this.option("columns") && (!Array.isArray(args.value) || !Array.isArray(args.previousValue))) { this._columns = [] } break; case "columns": needUpdateRequireResize = this._skipProcessingColumnsChange; args.handled = true; if (!this._skipProcessingColumnsChange) { if (args.name === args.fullName) { this._columnsUserState = null; this._ignoreColumnOptionNames = null; this.init() } else { this._columnOptionChanged(args); needUpdateRequireResize = true } } if (needUpdateRequireResize) { this._updateRequireResize(args) } break; case "commonColumnSettings": case "columnAutoWidth": case "allowColumnResizing": case "allowColumnReordering": case "columnFixing": case "grouping": case "groupPanel": case "regenerateColumnsByVisibleItems": case "customizeColumns": case "columnHidingEnabled": case "dateSerializationFormat": case "columnResizingMode": case "columnMinWidth": case "columnWidth": args.handled = true; var ignoreColumnOptionNames = "columnWidth" === args.fullName && ["width"]; this.reinit(ignoreColumnOptionNames); break; case "rtlEnabled": this.reinit(); break; default: _modules$Controller.prototype.optionChanged.call(this, args) } }; _proto._columnOptionChanged = function(args) { var columnOptionValue = {}; var column = this.getColumnByPath(args.fullName); var columnOptionName = args.fullName.replace(_const.COLUMN_OPTION_REGEXP, ""); if (column) { if (columnOptionName) { columnOptionValue[columnOptionName] = args.value } else { columnOptionValue = args.value } this._skipProcessingColumnsChange = args.fullName; this.columnOption(column.index, columnOptionValue); this._skipProcessingColumnsChange = false } }; _proto._updateRequireResize = function(args) { var component = this.component; if ("width" === args.fullName.replace(_const.COLUMN_OPTION_REGEXP, "") && component._updateLockCount) { component._requireResize = true } }; _proto.publicMethods = function() { return ["addColumn", "deleteColumn", "columnOption", "columnCount", "clearSorting", "clearGrouping", "getVisibleColumns", "getVisibleColumnIndex"] }; _proto.applyDataSource = function(dataSource, forceApplying, isApplyingUserState) { var isDataSourceLoaded = dataSource && dataSource.isLoaded(); this._dataSource = dataSource; if (!this._dataSourceApplied || 0 === this._dataSourceColumnsCount || forceApplying || this.option("regenerateColumnsByVisibleItems")) { if (isDataSourceLoaded) { if (!this._isColumnsFromOptions) { var columnsFromDataSource = (0, _m_columns_controller_utils.createColumnsFromDataSource)(this, dataSource); if (columnsFromDataSource.length) { (0, _m_columns_controller_utils.assignColumns)(this, columnsFromDataSource); this._dataSourceColumnsCount = this._columns.length; (0, _m_columns_controller_utils.applyUserState)(this) } } return this.updateColumns(dataSource, forceApplying, isApplyingUserState) } this._dataSourceApplied = false; (0, _m_columns_controller_utils.updateIndexes)(this) } else if (isDataSourceLoaded && !this.isAllDataTypesDefined(true) && this.updateColumnDataTypes(dataSource)) { (0, _m_columns_controller_utils.updateColumnChanges)(this, "columns"); (0, _m_columns_controller_utils.fireColumnsChanged)(this); return (new _deferred.Deferred).reject().promise() } }; _proto.reset = function() { this._dataSource = null; this._dataSourceApplied = false; this._dataSourceColumnsCount = void 0; this.reinit() }; _proto.resetColumnsCache = function() { this._visibleColumns = void 0; this._fixedColumns = void 0; this._rowCount = void 0; (0, _m_columns_controller_utils.resetBandColumnsCache)(this) }; _proto.reinit = function(ignoreColumnOptionNames) { this._columnsUserState = this.getUserState(); this._ignoreColumnOptionNames = ignoreColumnOptionNames || null; this.init(); if (ignoreColumnOptionNames) { this._ignoreColumnOptionNames = null } }; _proto.isInitialized = function() { return !!this._columns.length || !!this.option("columns") }; _proto.isDataSourceApplied = function() { return this._dataSourceApplied }; _proto.getCommonSettings = function(column) { var _a, _b; var commonColumnSettings = (!column || !column.type) && this.option("commonColumnSettings") || {}; var groupingOptions = null !== (_a = this.option("grouping")) && void 0 !== _a ? _a : {}; var groupPanelOptions = null !== (_b = this.option("groupPanel")) && void 0 !== _b ? _b : {}; return (0, _extend.extend)({ allowFixing: this.option("columnFixing.enabled"), allowResizing: this.option("allowColumnResizing") || void 0, allowReordering: this.option("allowColumnReordering"), minWidth: this.option("columnMinWidth"), width: this.option("columnWidth"), autoExpandGroup: groupingOptions.autoExpandAll, allowCollapsing: groupingOptions.allowCollapsing, allowGrouping: groupPanelOptions.allowColumnDragging && groupPanelOptions.visible || groupingOptions.contextMenuEnabled }, commonColumnSettings) }; _proto.isColumnOptionUsed = function(optionName) { for (var i = 0; i < this._columns.length; i++) { if (this._columns[i][optionName]) { return true } } }; _proto.isAllDataTypesDefined = function(checkSerializers) { var columns = this._columns; if (!columns.length) { return false } for (var i = 0; i < columns.length; i++) { if (!columns[i].dataField && columns[i].calculateCellValue === columns[i].defaultCalculateCellValue) { continue } if (!columns[i].dataType || checkSerializers && columns[i].deserializeValue && void 0 === columns[i].serializationFormat) { return false } } return true }; _proto.getColumns = function() { return this._columns }; _proto.isBandColumnsUsed = function() { return this.getColumns().some((function(column) { return column.isBand })) }; _proto.getGroupColumns = function() { var result = []; (0, _iterator.each)(this._columns, (function() { if ((0, _type.isDefined)(this.groupIndex)) { result[this.groupIndex] = this } })); return result }; _proto._shouldReturnVisibleColumns = function() { return true }; _proto._compileVisibleColumns = function(rowIndex) { this._visibleColumns = this._visibleColumns || this._compileVisibleColumnsCore(); rowIndex = (0, _type.isDefined)(rowIndex) ? rowIndex : this._visibleColumns.length - 1; return this._visibleColumns[rowIndex] || [] }; _proto.getVisibleColumns = function(rowIndex, isBase) { if (!this._shouldReturnVisibleColumns()) { return [] } return this._compileVisibleColumns.apply(this, arguments) }; _proto.getFixedColumns = function(rowIndex) { this._fixedColumns = this._fixedColumns || this._getFixedColumnsCore(); rowIndex = (0, _type.isDefined)(rowIndex) ? rowIndex : this._fixedColumns.length - 1; return this._fixedColumns[rowIndex] || [] }; _proto.getFilteringColumns = function() { return this.getColumns().filter((function(item) { return (item.dataField || item.name) && (item.allowFiltering || item.allowHeaderFiltering) })).map((function(item) { var field = (0, _extend.extend)(true, {}, item); if (!(0, _type.isDefined)(field.dataField)) { field.dataField = field.name } field.filterOperations = item.filterOperations !== item.defaultFilterOperations ? field.filterOperations : null; return field })) }; _proto.getColumnIndexOffset = function() { return 0 }; _proto._getFixedColumnsCore = function() { var result = []; var rowCount = this.getRowCount(); var isColumnFixing = this._isColumnFixing(); var transparentColumn = { command: "transparent" }; var transparentColspan = 0; var notFixedColumnCount; var transparentColumnIndex; var lastFixedPosition; if (isColumnFixing) { for (var i = 0; i <= rowCount; i++) { notFixedColumnCount = 0; lastFixedPosition = null; transparentColumnIndex = null; var visibleColumns = this.getVisibleColumns(i, true); for (var j = 0; j < visibleColumns.length; j++) { var prevColumn = visibleColumns[j - 1]; var column = visibleColumns[j]; if (!column.fixed) { if (0 === i) { if (column.isBand && column.colspan) { transparentColspan += column.colspan } else { transparentColspan++ } } notFixedColumnCount++; if (!(0, _type.isDefined)(transparentColumnIndex)) { transparentColumnIndex = j } } else if (prevColumn && prevColumn.fixed && (0, _m_columns_controller_utils.getFixedPosition)(this, prevColumn) !== (0, _m_columns_controller_utils.getFixedPosition)(this, column)) { if (!(0, _type.isDefined)(transparentColumnIndex)) { transparentColumnIndex = j } } else { lastFixedPosition = column.fixedPosition } } if (0 === i && (0 === notFixedColumnCount || notFixedColumnCount >= visibleColumns.length)) { return [] } if (!(0, _type.isDefined)(transparentColumnIndex)) { transparentColumnIndex = "right" === lastFixedPosition ? 0 : visibleColumns.length } result[i] = visibleColumns.slice(0); if (!transparentColumn.colspan) { transparentColumn.colspan = transparentColspan } result[i].splice(transparentColumnIndex, notFixedColumnCount, transparentColumn) } } return result.map((function(columns) { return columns.map((function(column) { var newColumn = _extends({}, column); if (newColumn.headerId) { newColumn.headerId += "-fixed" } return newColumn })) })) }; _proto._isColumnFixing = function() { var isColumnFixing = this.option("columnFixing.enabled"); !isColumnFixing && (0, _iterator.each)(this._columns, (function(_, column) { if (column.fixed) { isColumnFixing = true; return false } })); return isColumnFixing }; _proto._getExpandColumnsCore = function() { return this.getGroupColumns() }; _proto.getExpandColumns = function() { var expandColumns = this._getExpandColumnsCore(); var expandColumn; var firstGroupColumn = expandColumns.filter((function(column) { return 0 === column.groupIndex }))[0]; var isFixedFirstGroupColumn = firstGroupColumn && firstGroupColumn.fixed; var isColumnFixing = this._isColumnFixing(); var rtlEnabled = this.option("rtlEnabled"); if (expandColumns.length) { expandColumn = this.columnOption("command:expand") } expandColumns = (0, _iterator.map)(expandColumns, (function(column) { return (0, _extend.extend)({}, column, { visibleWidth: null, minWidth: null, cellTemplate: !(0, _type.isDefined)(column.groupIndex) ? column.cellTemplate : null, headerCellTemplate: null, fixed: !(0, _type.isDefined)(column.groupIndex) || !isFixedFirstGroupColumn ? isColumnFixing : true, fixedPosition: rtlEnabled ? "right" : "left" }, expandColumn, { index: column.index, type: column.type || _const.GROUP_COMMAND_COLUMN_NAME }) })); return expandColumns }; _proto.getBandColumnsCache = function() { if (!this._bandColumnsCache) { var columns = this._columns; var columnChildrenByIndex = {}; var columnParentByIndex = {}; var isPlain = true; columns.forEach((function(column) { var ownerBand = column.ownerBand; var parentIndex = (0, _type.isObject)(ownerBand) ? ownerBand.index : ownerBand; var parent = columns[parentIndex]; if (column.hasColumns) { isPlain = false } if (column.colspan) { column.colspan = void 0 } if (column.rowspan) { column.rowspan = void 0 } if (parent) { columnParentByIndex[column.index] = parent } else { parentIndex = -1 } columnChildrenByIndex[parentIndex] = columnChildrenByIndex[parentIndex] || []; columnChildrenByIndex[parentIndex].push(column) })); this._bandColumnsCache = { isPlain: isPlain, columnChildrenByIndex: columnChildrenByIndex, columnParentByIndex: columnParentByIndex } } return this._bandColumnsCache }; _proto._isColumnVisible = function(column) { return column.visible && this.isParentColumnVisible(column.index) }; _proto._isColumnInGroupPanel = function(column) { return (0, _type.isDefined)(column.groupIndex) && !column.showWhenGrouped }; _proto.hasVisibleDataColumns = function() { var _this = this; var columns = this._columns; return columns.some((function(column) { var isVisible = _this._isColumnVisible(column); var isInGroupPanel = _this._isColumnInGroupPanel(column); var isCommand = !!column.command; return isVisible && !isInGroupPanel && !isCommand })) }; _proto._compileVisibleColumnsCore = function() { var bandColumnsCache = this.getBandColumnsCache(); var columns = (0, _m_columns_controller_utils.mergeColumns)(this, this._columns, this._commandColumns, true); (0, _m_columns_controller_utils.processBandColumns)(this, columns, bandColumnsCache); var indexedColumns = this._getIndexedColumns(columns); var visibleColumns = this._getVisibleColumnsFromIndexed(indexedColumns); var isDataColumnsInvisible = !this.hasVisibleDataColumns(); if (isDataColumnsInvisible && this._columns.length) { visibleColumns[visibleColumns.length - 1].push({ command: "empty" }) } return visibleColumns }; _proto._getIndexedColumns = function(columns) { var _this2 = this; var rtlEnabled = this.option("rtlEnabled"); var rowCount = this.getRowCount(); var columnDigitsCount = (0, _m_columns_controller_utils.digitsCount)(columns.length); var bandColumnsCache = this.getBandColumnsCache(); var positiveIndexedColumns = []; var negativeIndexedColumns = []; for (var i = 0; i < rowCount; i += 1) { negativeIndexedColumns[i] = [{}]; positiveIndexedColumns[i] = [{}, {}, {}] } columns.forEach((function(column) { var _a, _b, _c, _d; var visibleIndex = column.visibleIndex; var indexedColumns; var parentBandColumns = (0, _m_columns_controller_utils.getParentBandColumns)(column.index, bandColumnsCache.columnParentByIndex); var isVisible = _this2._isColumnVisible(column); var isInGroupPanel = _this2._isColumnInGroupPanel(column); if (isVisible && !isInGroupPanel) { var rowIndex = parentBandColumns.length; if (visibleIndex < 0) { visibleIndex = -visibleIndex; indexedColumns = negativeIndexedColumns[rowIndex] } else { column.fixed = null !== (_b = null === (_a = parentBandColumns[0]) || void 0 === _a ? void 0 : _a.fixed) && void 0 !== _b ? _b : column.fixed; column.fixedPosition = null !== (_d = null === (_c = parentBandColumns[0]) || void 0 === _c ? void 0 : _c.fixedPosition) && void 0 !== _d ? _d : column.fixedPosition; if (column.fixed) { var isDefaultCommandColumn = !!column.command && !(0, _m_columns_controller_utils.isCustomCommandColumn)(_this2, column); var isFixedToEnd = "right" === column.fixedPosition; if (rtlEnabled && !isDefaultCommandColumn) { isFixedToEnd = !isFixedToEnd } indexedColumns = isFixedToEnd ? positiveIndexedColumns[rowIndex][2] : positiveIndexedColumns[rowIndex][0] } else { indexedColumns = positiveIndexedColumns[rowIndex][1] } } if (parentBandColumns.length) { visibleIndex = (0, _m_columns_controller_utils.numberToString)(visibleIndex, columnDigitsCount); for (var _i = parentBandColumns.length - 1; _i >= 0; _i -= 1) { visibleIndex = (0, _m_columns_controller_utils.numberToString)(parentBandColumns[_i].visibleIndex, columnDigitsCount) + visibleIndex } } indexedColumns[visibleIndex] = indexedColumns[visibleIndex] || []; indexedColumns[visibleIndex].push(column) } })); return { positiveIndexedColumns: positiveIndexedColumns, negativeIndexedColumns: negativeIndexedColumns } }; _proto._getVisibleColumnsFromIndexed = function(_ref) { var _this3 = this; var positiveIndexedColumns = _ref.positiveIndexedColumns, negativeIndexedColumns = _ref.negativeIndexedColumns; var result = []; var rowCount = this.getRowCount(); var expandColumns = (0, _m_columns_controller_utils.mergeColumns)(this, this.getExpandColumns(), this._columns); var rowspanGroupColumns = 0; var rowspanExpandColumns = 0; var _loop = function(rowIndex) { result.push([]); (0, _object.orderEach)(negativeIndexedColumns[rowIndex], (function(_, columns) { result[rowIndex].unshift.apply(result[rowIndex], columns) })); var firstPositiveIndexColumn = result[rowIndex].length; var positiveIndexedRowColumns = positiveIndexedColumns[rowIndex]; positiveIndexedRowColumns.forEach((function(columnsByFixing) { (0, _object.orderEach)(columnsByFixing, (function(_, columnsByVisibleIndex) { result[rowIndex].push.apply(result[rowIndex], columnsByVisibleIndex) })) })); if (rowspanExpandColumns <= rowIndex) { rowspanExpandColumns += _m_columns_controller_utils.processExpandColumns.call(_this3, result[rowIndex], expandColumns, _const.DETAIL_COMMAND_COLUMN_NAME, firstPositiveIndexColumn) } if (rowspanGroupColumns <= rowIndex) { rowspanGroupColumns += _m_columns_controller_utils.processExpandColumns.call(_this3, result[rowIndex], expandColumns, _const.GROUP_COMMAND_COLUMN_NAME, firstPositiveIndexColumn) } }; for (var rowIndex = 0; rowIndex < rowCount; rowIndex += 1) { _loop(rowIndex) } result.push((0, _m_columns_controller_utils.getDataColumns)(result)); return result }; _proto.getInvisibleColumns = function(columns, bandColumnIndex) { var that = this; var result = []; var hiddenColumnsByBand; columns = columns || that._columns; (0, _iterator.each)(columns, (function(_, column) { if (column.ownerBand !== bandColumnIndex) { return } if (column.isBand) { if (!column.visible) { hiddenColumnsByBand = that.getChildrenByBandColumn(column.index) } else { hiddenColumnsByBand = that.getInvisibleColumns(that.getChildrenByBandColumn(column.index), column.index) } if (hiddenColumnsByBand.length) { result.push(column); result = result.concat(hiddenColumnsByBand) } return } if (!column.visible) { result.push(column) } })); return result }; _proto.getChooserColumns = function(getAllColumns) { var columns = getAllColumns ? this.getColumns() : this.getInvisibleColumns(); var columnChooserColumns = columns.filter((function(column) { return column.showInColumnChooser })); var sortOrder = this.option("columnChooser.sortOrder"); return (0, _m_columns_controller_utils.sortColumns)(columnChooserColumns, sortOrder) }; _proto.allowMoveColumn = function(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) { var columnIndex = (0, _m_columns_controller_utils.getColumnIndexByVisibleIndex)(this, fromVisibleIndex, sourceLocation); var sourceColumn = this._columns[columnIndex]; if (sourceColumn && (sourceColumn.allowReordering || sourceColumn.allowGrouping || sourceColumn.allowHiding)) { if (sourceLocation === targetLocation) { if (sourceLocation === _const.COLUMN_CHOOSER_LOCATION) { return false } fromVisibleIndex = (0, _type.isObject)(fromVisibleIndex) ? fromVisibleIndex.columnIndex : fromVisibleIndex; toVisibleIndex = (0, _type.isObject)(toVisibleIndex) ? toVisibleIndex.columnIndex : toVisibleIndex; return fromVisibleIndex !== toVisibleIndex && fromVisibleIndex + 1 !== toVisibleIndex } if (sourceLocation === _const.GROUP_LOCATION && targetLocation !== _const.COLUMN_CHOOSER_LOCATION || targetLocation === _const.GROUP_LOCATION) { return sourceColumn && sourceColumn.allowGrouping } if (sourceLocation === _const.COLUMN_CHOOSER_LOCATION || targetLocation === _const.COLUMN_CHOOSER_LOCATION) { return sourceColumn && sourceColumn.allowHiding } return true } return false }; _proto.moveColumn = function(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) { var options = {}; var prevGroupIndex; var fromIndex = (0, _m_columns_controller_utils.getColumnIndexByVisibleIndex)(this, fromVisibleIndex, sourceLocation); var toIndex = (0, _m_columns_controller_utils.getColumnIndexByVisibleIndex)(this, toVisibleIndex, targetLocation); var targetGroupIndex; if (fromIndex >= 0) { var column = this._columns[fromIndex]; toVisibleIndex = (0, _type.isObject)(toVisibleIndex) ? toVisibleIndex.columnIndex : toVisibleIndex; targetGroupIndex = toIndex >= 0 ? this._columns[toIndex].groupIndex : -1; if ((0, _type.isDefined)(column.groupIndex) && sourceLocation === _const.GROUP_LOCATION) { if (targetGroupIndex > column.groupIndex) { targetGroupIndex-- } if (targetLocation !== _const.GROUP_LOCATION) { options.groupIndex = void 0 } else { prevGroupIndex = column.groupIndex; delete column.groupIndex; (0, _m_columns_controller_utils.updateColumnGroupIndexes)(this) } } if (targetLocation === _const.GROUP_LOCATION) { options.groupIndex = (0, _m_columns_controller_utils.moveColumnToGroup)(this, column, targetGroupIndex); column.groupIndex = prevGroupIndex } else if (toVisibleIndex >= 0) { var targetColumn = this._columns[toIndex]; if (!targetColumn || column.ownerBand !== targetColumn.ownerBand) { options.visibleIndex = _const.MAX_SAFE_INTEGER } else if ((0, _m_columns_controller_utils.isColumnFixed)(this, column) ^ (0, _m_columns_controller_utils.isColumnFixed)(this, targetColumn)) { options.visibleIndex = _const.MAX_SAFE_INTEGER } else { options.visibleIndex = targetColumn.visibleIndex } } var isVisible = targetLocation !== _const.COLUMN_CHOOSER_LOCATION; if (column.visible !== isVisible) { options.visible = isVisible } this.columnOption(column.index, options) } }; _proto.changeSortOrder = function(columnIndex, sortOrder) { var options = {}; var sortingOptions = this.option("sorting"); var sortingMode = sortingOptions && sortingOptions.mode; var needResetSorting = "single" === sortingMode || !sortOrder; var allowSorting = "single" === sortingMode || "multiple" === sortingMode; var column = this._columns[columnIndex]; if (allowSorting && column && column.allowSorting) { if (needResetSorting && !(0, _type.isDefined)(column.groupIndex)) { (0, _iterator.each)(this._columns, (function(index) { if (index !== columnIndex && this.sortOrder) { if (!(0, _type.isDefined)(this.groupIndex)) { delete this.sortOrder } delete this.sortIndex } })) } if ((0, _m_columns_controller_utils.isSortOrderValid)(sortOrder)) { if (column.sortOrder !== sortOrder) { options.sortOrder = sortOrder } } else if ("none" === sortOrder) { if (column.sortOrder) { options.sortIndex = void 0; options.sortOrder = void 0 } } else { ! function(column) { if ("ctrl" === sortOrder) { if (!("sortOrder" in column && "sortIndex" in column)) { return false } options.sortOrder = void 0; options.sortIndex = void 0 } else if ((0, _type.isDefined)(column.groupIndex) || (0, _type.isDefined)(column.sortIndex)) { options.sortOrder = "desc" === column.sortOrder ? "asc" : "desc" } else { options.sortOrder = "asc" } return true }(column) } } this.columnOption(column.index, options) }; _proto.getSortDataSourceParameters = function(useLocalSelector) { var sortColumns = []; var sort = []; (0, _iterator.each)(this._columns, (function() { if ((this.dataField || this.selector || this.calculateCellValue) && (0, _type.isDefined)(this.sortIndex) && !(0, _type.isDefined)(this.groupIndex)) { sortColumns[this.sortIndex] = this } })); (0, _iterator.each)(sortColumns, (function() { var sortOrder = this && this.sortOrder; if ((0, _m_columns_controller_utils.isSortOrderValid)(sortOrder)) { var sortItem = { selector: this.calculateSortValue || this.displayField || this.calculateDisplayValue || useLocalSelector && this.selector || this.dataField || this.calculateCellValue, desc: "desc" === this.sortOrder }; if (this.sortingMethod) { sortItem.compare = this.sortingMethod.bind(this) } sort.push(sortItem) } })); return sort.length > 0 ? sort : null }; _proto.getGroupDataSourceParameters = function(useLocalSelector) { var group = []; (0, _iterator.each)(this.getGroupColumns(), (function() { var selector = this.calculateGroupValue || this.displayField || this.calculateDisplayValue || useLocalSelector && this.selector || this.dataField || this.calculateCellValue; if (selector) { var groupItem = { selector: selector, desc: "desc" === this.sortOrder, isExpanded: !!this.autoExpandGroup }; if (this.sortingMethod) { groupItem.compare = this.sortingMethod.bind(this) } group.push(groupItem) } })); return group.length > 0 ? group : null }; _proto.refresh = function(updateNewLookupsOnly) { var deferreds = []; (0, _iterator.each)(this._columns, (function() { var lookup = this.lookup; if (lookup && !this.calculateDisplayValue) { if (updateNewLookupsOnly && lookup.valueMap) { return } if (lookup.update) { deferreds.push(lookup.update()) } } })); return _deferred.when.apply(_renderer.default, deferreds).done(_m_columns_controller_utils.resetColumnsCache.bind(null, this)) }; _proto._updateColumnOptions = function(column, columnIndex) { column.selector = column.selector || function(data) { return column.calculateCellValue(data) }; if (this._reinitAfterLookupChanges && this._previousColumns) { column.selector.columnIndex = columnIndex; column.selector.originalCallback = this._previousColumns[columnIndex].selector.originalCallback } else { column.selector.columnIndex = columnIndex; column.selector.originalCallback = column.selector }(0, _iterator.each)(["calculateSortValue", "calculateGroupValue", "calculateDisplayValue"], (function(_, calculateCallbackName) { var calculateCallback = column[calculateCallbackName]; if ((0, _type.isFunction)(calculateCallback)) { if (!calculateCallback.originalCallback) { var context = { column: column }; column[calculateCallbackName] = function(data) { return calculateCallback.call(context.column, data) }; column[calculateCallbackName].originalCallback = calculateCallback; column[calculateCallbackName].columnIndex = columnIndex; column[calculateCallbackName].context = context } else { column[calculateCallbackName].context.column = column } } })); if ((0, _type.isString)(column.calculateDisplayValue)) { column.displayField = column.calculateDisplayValue; column.calculateDisplayValue = (0, _data.compileGetter)(column.displayField) } if (column.calculateDisplayValue) { column.displayValueMap = column.displayValueMap || {} }(0, _m_columns_controller_utils.updateSerializers)(column, column.dataType); var lookup = column.lookup; if (lookup) { (0, _m_columns_controller_utils.updateSerializers)(lookup, lookup.dataType) } var dataType = lookup ? lookup.dataType : column.dataType; if (dataType) { column.alignment = column.alignment || (0, _m_columns_controller_utils.getAlignmentByDataType)(dataType, this.option("rtlEnabled")); column.format = column.format || _m_utils.default.getFormatByDataType(dataType); column.customizeText = column.customizeText || (0, _m_columns_controller_utils.getCustomizeTextByDataType)(dataType); column.defaultFilterOperations = column.defaultFilterOperations || !lookup && _const.DATATYPE_OPERATIONS[dataType] || []; if (!(0, _type.isDefined)(column.filterOperations)) { (0, _m_columns_controller_utils.setFilterOperationsAsDefaultValues)(column) } column.defaultFilterOperation = column.filterOperations && column.filterOperations[0] || "="; column.showEditorAlways = (0, _type.isDefined)(column.showEditorAlways) ? column.showEditorAlways : "boolean" === dataType && !column.cellTemplate && !column.lookup } }; _proto.updateColumnDataTypes = function(dataSource) { var that = this; var dateSerializationFormat = that.option("dateSerializationFormat"); var firstItems = that._getFirstItems(dataSource); var isColumnDataTypesUpdated = false; (0, _iterator.each)(that._columns, (function(index, column) { var i; var value; var dataType; var lookupDataType; var valueDataType; var lookup = column.lookup; if (_m_utils.default.isDateType(column.dataType) && void 0 === column.serializationFormat) { column.serializationFormat = dateSerializationFormat } if (lookup && _m_utils.default.isDateType(lookup.dataType) && void 0 === column.serializationFormat) { lookup.serializationFormat = dateSerializationFormat } if (column.calculateCellValue && firstItems.length) { if (!column.dataType || lookup && !lookup.dataType) { for (i = 0; i < firstItems.length; i++) { value = column.calculateCellValue(firstItems[i]); if (!column.dataType) { valueDataType = (0, _m_columns_controller_utils.getValueDataType)(value); dataType = dataType || valueDataType; if (dataType && valueDataType && dataType !== valueDataType) { dataType = "string" } } if (lookup && !lookup.dataType) { valueDataType = (0, _m_columns_controller_utils.getValueDataType)(_m_utils.default.getDisplayValue(column, value, firstItems[i])); lookupDataType = lookupDataType || valueDataType; if (lookupDataType && valueDataType && lookupDataType !== valueDataType) { lookupDataType = "string" } } } if (dataType || lookupDataType) { if (dataType) { column.dataType = dataType } if (lookup && lookupDataType) { lookup.dataType = lookupDataType } isColumnDataTypesUpdated = true } } if (void 0 === column.serializationFormat || lookup && void 0 === lookup.serializationFormat) { for (i = 0; i < firstItems.length; i++) { value = column.calculateCellValue(firstItems[i], true); if (void 0 === column.serializationFormat) { column.serializationFormat = (0, _m_columns_controller_utils.getSerializationFormat)(column.dataType, value) } if (lookup && void 0 === lookup.serializationFormat) { lookup.serializationFormat = (0, _m_columns_controller_utils.getSerializationFormat)(lookup.dataType, lookup.calculateCellValue(value, true)) } } } } that._updateColumnOptions(column, index) })); return isColumnDataTypesUpdated }; _proto._customizeColumns = function(columns) { var customizeColumns = this.option("customizeColumns"); if (customizeColumns) { var hasOwnerBand = columns.some((function(column) { return (0, _type.isObject)(column.ownerBand) })); if (hasOwnerBand) { (0, _m_columns_controller_utils.updateIndexes)(this) } customizeColumns(columns); (0, _m_columns_controller_utils.assignColumns)(this, (0, _m_columns_controller_utils.createColumnsFromOptions)(this, columns)) } }; _proto.updateColumns = function(dataSource, forceApplying, isApplyingUserState) { var _this4 = this; if (!forceApplying) { this.updateSortingGrouping(dataSource) } if (!dataSource || dataSource.isLoaded()) { var sortParameters = dataSource ? dataSource.sort() || [] : this.getSortDataSourceParameters(); var groupParameters = dataSource ? dataSource.group() || [] : this.getGroupDataSourceParameters(); var filterParameters = null === dataSource || void 0 === dataSource ? void 0 : dataSource.lastLoadOptions().filter; if (!isApplyingUserState) { this._customizeColumns(this._columns) }(0, _m_columns_controller_utils.updateIndexes)(this); var columns = this._columns; return (0, _deferred.when)(this.refresh(true)).always((function() { if (_this4._columns !== columns) { return } _this4._updateChanges(dataSource, { sorting: sortParameters, grouping: groupParameters, filtering: filterParameters }); (0, _m_columns_controller_utils.fireColumnsChanged)(_this4) })) } }; _proto._updateChanges = function(dataSource, parameters) { if (dataSource) { this.updateColumnDataTypes(dataSource); this._dataSourceApplied = true } if (!_m_utils.default.equalSortParameters(parameters.sorting, this.getSortDataSourceParameters())) { (0, _m_columns_controller_utils.updateColumnChanges)(this, "sorting") } if (!_m_utils.default.equalSortParameters(parameters.grouping, this.getGroupDataSourceParameters())) { (0, _m_columns_controller_utils.updateColumnChanges)(this, "grouping") } var dataController = this.getController("data"); if (dataController && !_m_utils.default.equalFilterParameters(parameters.filtering, dataController.getCombinedFilter())) { (0, _m_columns_controller_utils.updateColumnChanges)(this, "filtering") }(0, _m_columns_controller_utils.updateColumnChanges)(this, "columns") }; _proto.updateSortingGrouping = function(dataSource, fromDataSource) { var that = this; var sortParameters; var isColumnsChanged; var updateSortGroupParameterIndexes = function(columns, sortParameters, indexParameterName) { (0, _iterator.each)(columns, (function(index, column) { delete column[indexParameterName]; if (sortParameters) { for (var i = 0; i < sortParameters.length; i++) { var selector = sortParameters[i].selector; var isExpanded = sortParameters[i].isExpanded; if (selector === column.dataField || selector === column.name || selector === column.selector || selector === column.calculateCellValue || selector === column.calculateGroupValue || selector === column.calculateDisplayValue) { if (fromDataSource) { column.sortOrder = "sortOrder" in column ? column.sortOrder : sortParameters[i].desc ? "desc" : "asc" } else { column.sortOrder = column.sortOrder || (sortParameters[i].desc ? "desc" : "asc") } if (void 0 !== isExpanded) { column.autoExpandGroup = isExpanded } column[indexParameterName] = i; break } } } })) }; if (dataSource) { sortParameters = _m_utils.default.normalizeSortingInfo(dataSource.sort()); var groupParameters = _m_utils.default.normalizeSortingInfo(dataSource.group()); var columnsGroupParameters = that.getGroupDataSourceParameters(); var columnsSortParameters = that.getSortDataSourceParameters(); var groupingChanged = !_m_utils.default.equalSortParameters(groupParameters, columnsGroupParameters, true); var groupExpandingChanged = !groupingChanged && !_m_utils.default.equalSortParameters(groupParameters, columnsGroupParameters); if (!that._columns.length) { (0, _iterator.each)(groupParameters, (function(index, group) { that._columns.push(group.selector) })); (0, _iterator.each)(sortParameters, (function(index, sort) { if (!(0, _type.isFunction)(sort.selector)) { that._columns.push(sort.selector) } })); (0, _m_columns_controller_utils.assignColumns)(that, (0, _m_columns_controller_utils.createColumnsFromOptions)(that, that._columns)) } if ((fromDataSource || !columnsGroupParameters && !that._hasUserState) && (groupingChanged || groupExpandingChanged)) { updateSortGroupParameterIndexes(that._columns, groupParameters, "groupIndex"); if (fromDataSource) { groupingChanged && (0, _m_columns_controller_utils.updateColumnChanges)(that, "grouping"); groupExpandingChanged && (0, _m_columns_controller_utils.updateColumnChanges)(that, "groupExpanding"); isColumnsChanged = true } } if ((fromDataSource || !columnsSortParameters && !that._hasUserState) && !_m_utils.default.equalSortParameters(sortParameters, columnsSortParameters)) { updateSortGroupParameterIndexes(that._columns, sortParameters, "sortIndex"); if (fromDataSource) { (0, _m_columns_controller_utils.updateColumnChanges)(that, "sorting"); isColumnsChanged = true } } if (isColumnsChanged) { (0, _m_columns_controller_utils.fireColumnsChanged)(that) } } }; _proto.updateFilter = function(filter, remoteFiltering, columnIndex, filterValue) { if (!Array.isArray(filter)) { return filter } filter = (0, _extend.extend)([], filter); columnIndex = void 0 !== filter.columnIndex ? filter.columnIndex : columnIndex; filterValue = void 0 !== filter.filterValue ? filter.filterValue : filterValue; if ((0, _type.isString)(filter[0]) && "!" !== filter[0]) { var column = this.columnOption(filter[0]); if (remoteFiltering) { if ((0, _config.default)().forceIsoDateParsing && column && column.serializeValue && filter.length > 1) { filter[filter.length - 1] = column.serializeValue(filter[filter.length - 1], "filter") } } else if (column && column.selector) { filter[0] = column.selector; filter[0].columnIndex = column.index } } else if ((0, _type.isFunction)(filter[0])) { filter[0].columnIndex = columnIndex; filter[0].filterValue = filterValue; filter[0].selectedFilterOperation = filter.selectedFilterOperation } for (var i = 0; i < filter.length; i++) { filter[i] = this.updateFilter(filter[i], remoteFiltering, columnIndex, filterValue) } return filter }; _proto.columnCount = function() { return this._columns ? this._columns.length : 0 }; _proto.columnOption = function(identifier, option, value, notFireEvent) { var that = this; var columns = that._columns.concat(that._commandColumns); var column = (0, _m_columns_controller_utils.findColumn)(columns, identifier); if (column) { if (1 === arguments.length) { return (0, _extend.extend)({}, column) } if ((0, _type.isString)(option)) { if (2 === arguments.length) { return (0, _m_columns_controller_utils.columnOptionCore)(that, column, option) }(0, _m_columns_controller_utils.columnOptionCore)(that, column, option, value, notFireEvent) } else if ((0, _type.isObject)(option)) { (0, _iterator.each)(option, (function(optionName, value) { (0, _m_columns_controller_utils.columnOptionCore)(that, column, optionName, value, notFireEvent) })) }(0, _m_columns_controller_utils.fireColumnsChanged)(that) } }; _proto.clearSorting = function() { var columnCount = this.columnCount(); this.beginUpdate(); for (var i = 0; i < columnCount; i++) { this.columnOption(i, "sortOrder", void 0); delete(0, _m_columns_controller_utils.findColumn)(this._columns, i).sortOrder } this.endUpdate() }; _proto.clearGrouping = function() { var columnCount = this.columnCount(); this.beginUpdate(); for (var i = 0; i < columnCount; i++) { this.columnOption(i, "groupIndex", void 0) } this.endUpdate() }; _proto.getVisibleIndex = function(index, rowIndex) { var columns = this.getVisibleColumns(rowIndex); for (var i = columns.length - 1; i >= 0; i--) { if (columns[i].index === index) { return i } } return -1 }; _proto.getVisibleIndexByColumn = function(column, rowIndex) { var visibleColumns = this.getVisibleColumns(rowIndex); var visibleColumn = visibleColumns.filter((function(col) { return col.index === column.index && col.command === column.command }))[0]; return visibleColumns.indexOf(visibleColumn) }; _proto.getVisibleColumnIndex = function(id, rowIndex) { var index = this.columnOption(id, "index"); return this.getVisibleIndex(index, rowIndex) }; _proto.addColumn = function(options) { var column = (0, _m_columns_controller_utils.createColumn)(this, options); var index = this._columns.length; this._columns.push(column); if (column.isBand) { this._columns = (0, _m_columns_controller_utils.createColumnsFromOptions)(this, this._columns); column = this._columns[index] } column.added = options; (0, _m_columns_controller_utils.updateIndexes)(this, column); this.updateColumns(this._dataSource); this._checkColumns() }; _proto.deleteColumn = function(id) { var column = this.columnOption(id); if (column && column.index >= 0) { (0, _m_columns_controller_utils.convertOwnerBandToColumnReference)(this._columns); this._columns.splice(column.index, 1); if (column.isBand) { var childIndexes = this.getChildrenByBandColumn(column.index).map((function(column) { return column.index })); this._columns = this._columns.filter((function(column) { return childIndexes.indexOf(column.index) < 0 })) }(0, _m_columns_controller_utils.updateIndexes)(this); this.updateColumns(this._dataSource) } }; _proto.addCommandColumn = function(options) { var commandColumn = this._commandColumns.filter((function(column) { return column.command === options.command }))[0]; if (!commandColumn) { commandColumn = options; this._commandColumns.push(commandColumn) } }; _proto.getUserState = function() { var columns = this._columns; var result = []; var i; function handleStateField(index, value) { if (void 0 !== columns[i][value]) { result[i][value] = columns[i][value] } } for (i = 0; i < columns.length; i++) { result[i] = {}; (0, _iterator.each)(_const.USER_STATE_FIELD_NAMES, handleStateField) } return result }; _proto.setName = function(column) { column.name = column.name || column.dataField || column.type }; _proto.setUserState = function(state) { var dataSource = this._dataSource; var ignoreColumnOptionNames = this.option("stateStoring.ignoreColumnOptionNames"); null === state || void 0 === state ? void 0 : state.forEach(this.setName); if (!ignoreColumnOptionNames) { ignoreColumnOptionNames = []; var commonColumnSettings = this.getCommonSettings(); if (!this.option("columnChooser.enabled")) { ignoreColumnOptionNames.push("visible") } if ("none" === this.option("sorting.mode")) { ignoreColumnOptionNames.push("sortIndex", "sortOrder") } if (!commonColumnSettings.allowGrouping) { ignoreColumnOptionNames.push("groupIndex") } if (!commonColumnSettings.allowFixing) { ignoreColumnOptionNames.push("fixed", "fixedPosition") } if (!commonColumnSettings.allowResizing) { ignoreColumnOptionNames.push("width", "visibleWidth") } var isFilterPanelHidden = !this.option("filterPanel.visible"); if (!this.option("filterRow.visible") && isFilterPanelHidden) { ignoreColumnOptionNames.push("filterValue", "selectedFilterOperation") } if (!this.option("headerFilter.visible") && isFilterPanelHidden) { ignoreColumnOptionNames.push("filterValues", "filterType") } } this._columnsUserState = state; this._ignoreColumnOptionNames = ignoreColumnOptionNames; this._hasUserState = !!state; (0, _m_columns_controller_utils.updateColumnChanges)(this, "filtering"); this.init(true); if (dataSource) { dataSource.sort(this.getSortDataSourceParameters()); dataSource.group(this.getGroupDataSourceParameters()) } }; _proto._checkColumns = function() { var usedNames = {}; var hasEditableColumnWithoutName = false; var duplicatedNames = []; this._columns.forEach((function(column) { var _a; var name = column.name; var isBand = null === (_a = column.columns) || void 0 === _a ? void 0 : _a.length; var isEditable = column.allowEditing && (column.dataField || column.setCellValue) && !isBand; if (name) { if (usedNames[name]) { duplicatedNames.push('"'.concat(name, '"')) } usedNames[name] = true } else if (isEditable) { hasEditableColumnWithoutName = true } })); if (duplicatedNames.length) { _ui.default.log("E1059", duplicatedNames.join(", ")) } if (hasEditableColumnWithoutName) { _ui.default.log("E1060") } }; _proto._createCalculatedColumnOptions = function(columnOptions, bandColumn) { var calculatedColumnOptions = {}; var dataField = columnOptions.dataField; if (Array.isArray(columnOptions.columns) && columnOptions.columns.length || columnOptions.isBand) { calculatedColumnOptions.isBand = true; dataField = null } if (dataField) { if ((0, _type.isString)(dataField)) { var getter = (0, _data.compileGetter)(dataField); calculatedColumnOptions = { caption: (0, _inflector.captionize)(dataField), calculateCellValue: function(data, skipDeserialization) { var value = getter(data); return this.deserializeValue && !skipDeserialization ? this.deserializeValue(value) : value }, setCellValue: _m_columns_controller_utils.defaultSetCellValue, parseValue: function(text) { var result; var parsedValue; if ("number" === this.dataType) { if ((0, _type.isString)(text) && this.format) { result = (0, _m_columns_controller_utils.strictParseNumber)(text.trim(), this.format) } else if ((0, _type.isDefined)(text) && (0, _type.isNumeric)(text)) { result = Number(text) } } else if ("boolean" === this.dataType) { if (text === this.trueText) { result = true } else if (text === this.falseText) { result = false } } else if (_m_utils.default.isDateType(this.dataType)) { parsedValue = _date.default.parse(text, this.format); if (parsedValue) { result = parsedValue } } else { result = text } return result } } } calculatedColumnOptions.allowFiltering = true } else { calculatedColumnOptions.allowFiltering = !!columnOptions.calculateFilterExpression } calculatedColumnOptions.calculateFilterExpression = function() { return _filtering.default.defaultCalculateFilterExpression.apply(this, arguments) }; calculatedColumnOptions.defaultFilterOperation = "="; calculatedColumnOptions.createFilterExpression = function(filterValue, selectedFilterOperation) { var result; if (this.calculateFilterExpression) { result = this.calculateFilterExpression.apply(this, arguments) } if ((0, _type.isFunction)(result)) { result = [result, "=", true] } if (result) { result.columnIndex = this.index; result.filterValue = filterValue; result.selectedFilterOperation = selectedFilterOperation } return result }; if (!dataField || !(0, _type.isString)(dataField)) { (0, _extend.extend)(true, calculatedColumnOptions, { allowSorting: false, allowGrouping: false, calculateCellValue: function() { return null } }) } if (bandColumn) { calculatedColumnOptions.allowFixing = false } if (columnOptions.dataType) { calculatedColumnOptions.userDataType = columnOptions.dataType } if (columnOptions.selectedFilterOperation && !("defaultSelectedFilterOperation" in calculatedColumnOptions)) { calculatedColumnOptions.defaultSelectedFilterOperation = columnOptions.selectedFilterOperation } if (columnOptions.lookup) { calculatedColumnOptions.lookup = { calculateCellValue: function(value, skipDeserialization) { if (this.valueExpr) { value = this.valueMap && this.valueMap[value] } return this.deserializeValue && !skipDeserialization ? this.deserializeValue(value) : value }, updateValueMap: function() { this.valueMap = {}; if (this.items) { var calculateValue = (0, _data.compileGetter)(this.valueExpr); var calculateDisplayValue = (0, _data.compileGetter)(this.displayExpr); for (var i = 0; i < this.items.length; i++) { var item = this.items[i]; var displayValue = calculateDisplayValue(item); this.valueMap[calculateValue(item)] = displayValue; this.dataType = this.dataType || (0, _m_columns_controller_utils.getValueDataType)(displayValue) } } }, update: function() { var that = this; var dataSource = that.dataSource; if (dataSource) { if ((0, _type.isFunction)(dataSource) && !_variable_wrapper.default.isWrapped(dataSource)) { dataSource = dataSource({}) } if ((0, _type.isPlainObject)(dataSource) || dataSource instanceof _abstract_store.default || Array.isArray(dataSource)) { if (that.valueExpr) { var dataSourceOptions = (0, _utils.normalizeDataSourceOptions)(dataSource); dataSourceOptions.paginate = false; dataSource = new _data_source.DataSource(dataSourceOptions); return dataSource.load().done((function(data) { that.items = data; that.updateValueMap && that.updateValueMap() })) } } else { _ui.default.log("E1016") } } else { that.updateValueMap && that.updateValueMap() } } } } calculatedColumnOptions.resizedCallbacks = (0, _callbacks.default)(); if (columnOptions.resized) { calculatedColumnOptions.resizedCallbacks.add(columnOptions.resized.bind(columnOptions)) }(0, _iterator.each)(calculatedColumnOptions, (function(optionName) { if ((0, _type.isFunction)(calculatedColumnOptions[optionName]) && 0 !== optionName.indexOf("default")) { var defaultOptionName = "default".concat(optionName.charAt(0).toUpperCase()).concat(optionName.substr(1)); calculatedColumnOptions[defaultOptionName] = calculatedColumnOptions[optionName] } })); return calculatedColumnOptions }; _proto.getRowCount = function() { this._rowCount = this._rowCount || (0, _m_columns_controller_utils.getRowCount)(this); return this._rowCount }; _proto.getRowIndex = function(columnIndex, alwaysGetRowIndex) { var column = this._columns[columnIndex]; var bandColumnsCache = this.getBandColumnsCache(); return column && (alwaysGetRowIndex || column.visible && !(column.command || (0, _type.isDefined)(column.groupIndex))) ? (0, _m_columns_controller_utils.getParentBandColumns)(columnIndex, bandColumnsCache.columnParentByIndex).length : 0 }; _proto.getChildrenByBandColumn = function(bandColumnIndex, onlyVisibleDirectChildren) { var bandColumnsCache = this.getBandColumnsCache(); var result = (0, _m_columns_controller_utils.getChildrenByBandColumn)(bandColumnIndex, bandColumnsCache.columnChildrenByIndex, !onlyVisibleDirectChildren); if (onlyVisibleDirectChildren) { return result.filter((function(column) { return column.visible && !column.command })).sort((function(column1, column2) { return column1.visibleIndex - column2.visibleIndex })) } return result }; _proto.isParentBandColumn = function(columnIndex, bandColumnIndex) { var result = false; var column = this._columns[columnIndex]; var bandColumnsCache = this.getBandColumnsCache(); var parentBandColumns = column && (0, _m_columns_controller_utils.getParentBandColumns)(columnIndex, bandColumnsCache.columnParentByIndex); if (parentBandColumns) { (0, _iterator.each)(parentBandColumns, (function(_, bandColumn) { if (bandColumn.index === bandColumnIndex) { result = true; return false } })) } return result }; _proto.isParentColumnVisible = function(columnIndex) { var result = true; var bandColumnsCache = this.getBandColumnsCache(); var bandColumns = columnIndex >= 0 && (0, _m_columns_controller_utils.getParentBandColumns)(columnIndex, bandColumnsCache.columnParentByIndex); bandColumns && (0, _iterator.each)(bandColumns, (function(_, bandColumn) { result = result && bandColumn.visible; return result })); return result }; _proto.getColumnId = function(column) { if (column.command && column.type === _const.GROUP_COMMAND_COLUMN_NAME) { if ((0, _m_columns_controller_utils.isCustomCommandColumn)(this, column)) { return "type:".concat(column.type) } return "command:".concat(column.command) } return column.index }; _proto.getCustomizeTextByDataType = function(dataType) { return (0, _m_columns_controller_utils.getCustomizeTextByDataType)(dataType) }; _proto.getHeaderContentAlignment = function(columnAlignment) { var rtlEnabled = this.option("rtlEnabled"); if (rtlEnabled) { return "left" === columnAlignment ? "right" : "left" } return columnAlignment }; return ColumnsController }(_m_modules.default.Controller); exports.ColumnsController = ColumnsController; var columnsControllerModule = { defaultOptions: function() { return { commonColumnSettings: { allowFiltering: true, allowHiding: true, allowSorting: true, allowEditing: true, encodeHtml: true, trueText: _message.default.format("dxDataGrid-trueText"), falseText: _message.default.format("dxDataGrid-falseText") }, allowColumnReordering: false, allowColumnResizing: false, columnResizingMode: "nextColumn", columnMinWidth: void 0, columnWidth: void 0, adaptColumnWidthByRatio: true, columns: void 0, regenerateColumnsByVisibleItems: false, customizeColumns: null, dateSerializationFormat: void 0 } }, controllers: { columns: ColumnsController } }; exports.columnsControllerModule = columnsControllerModule }, 22732: /*!*************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/columns_controller/m_columns_controller_utils.js ***! \*************************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.applyUserState = exports.addExpandColumn = void 0; exports.assignColumns = assignColumns; exports.isCustomCommandColumn = exports.isColumnFixed = exports.getValueDataType = exports.getSerializationFormat = exports.getRowCount = exports.getParentBandColumns = exports.getFixedPosition = exports.getDataColumns = exports.getCustomizeTextByDataType = exports.getColumnIndexByVisibleIndex = exports.getColumnFullPath = exports.getColumnByIndexes = exports.getChildrenByBandColumn = exports.getAlignmentByDataType = exports.fireOptionChanged = exports.fireColumnsChanged = exports.findColumn = exports.digitsCount = exports.defaultSetCellValue = exports.customizeTextForBooleanDataType = exports.createColumnsFromOptions = exports.createColumnsFromDataSource = exports.createColumn = exports.convertOwnerBandToColumnReference = exports.columnOptionCore = exports.calculateColspan = void 0; exports.isSortOrderValid = isSortOrderValid; exports.updateSortOrderWhenGrouping = exports.updateSerializers = exports.updateIndexes = exports.updateColumnVisibleIndexes = exports.updateColumnSortIndexes = exports.updateColumnIndexes = exports.updateColumnGroupIndexes = exports.updateColumnChanges = exports.strictParseNumber = exports.sortColumns = exports.setFilterOperationsAsDefaultValues = exports.resetColumnsCache = exports.resetBandColumnsCache = exports.processExpandColumns = exports.processBandColumns = exports.numberToString = exports.moveColumnToGroup = exports.mergeColumns = void 0; var _array = __webpack_require__( /*! ../../../../core/utils/array */ 89386); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _data = __webpack_require__( /*! ../../../../core/utils/data */ 47617); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/date_serialization */ 69434)); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _object = __webpack_require__( /*! ../../../../core/utils/object */ 48013); var _position = __webpack_require__( /*! ../../../../core/utils/position */ 37518); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _variable_wrapper = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/variable_wrapper */ 26974)); var _number = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/number */ 18016)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); var _const = __webpack_require__( /*! ./const */ 54057); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var setFilterOperationsAsDefaultValues = function(column) { column.filterOperations = column.defaultFilterOperations }; exports.setFilterOperationsAsDefaultValues = setFilterOperationsAsDefaultValues; var globalColumnId = 1; var createColumn = function(that, columnOptions, userStateColumnOptions, bandColumn) { var commonColumnOptions = {}; if (columnOptions) { if ((0, _type.isString)(columnOptions)) { columnOptions = { dataField: columnOptions } } that.setName(columnOptions); var result = {}; if (columnOptions.command) { result = (0, _object.deepExtendArraySafe)(commonColumnOptions, columnOptions) } else { commonColumnOptions = that.getCommonSettings(columnOptions); if (userStateColumnOptions && userStateColumnOptions.name && userStateColumnOptions.dataField) { columnOptions = (0, _extend.extend)({}, columnOptions, { dataField: userStateColumnOptions.dataField }) } var calculatedColumnOptions = that._createCalculatedColumnOptions(columnOptions, bandColumn); if (!columnOptions.type) { result = { headerId: "dx-col-".concat(globalColumnId++) } } result = (0, _object.deepExtendArraySafe)(result, _const.DEFAULT_COLUMN_OPTIONS); (0, _object.deepExtendArraySafe)(result, commonColumnOptions); (0, _object.deepExtendArraySafe)(result, calculatedColumnOptions); (0, _object.deepExtendArraySafe)(result, columnOptions); (0, _object.deepExtendArraySafe)(result, { selector: null }) } if (columnOptions.filterOperations === columnOptions.defaultFilterOperations) { setFilterOperationsAsDefaultValues(result) } return result } }; exports.createColumn = createColumn; var createColumnsFromOptions = function createColumnsFromOptions(that, columnsOptions, bandColumn) { var result = []; if (columnsOptions) { (0, _iterator.each)(columnsOptions, (function(index, columnOptions) { var userStateColumnOptions = that._columnsUserState && checkUserStateColumn(columnOptions, that._columnsUserState[index]) && that._columnsUserState[index]; var column = createColumn(that, columnOptions, userStateColumnOptions, bandColumn); if (column) { if (bandColumn) { column.ownerBand = bandColumn } result.push(column); if (column.columns) { result = result.concat(createColumnsFromOptions(that, column.columns, column)); delete column.columns; column.hasColumns = true } } })) } return result }; exports.createColumnsFromOptions = createColumnsFromOptions; var getParentBandColumns = function(columnIndex, columnParentByIndex) { var result = []; var parent = columnParentByIndex[columnIndex]; while (parent) { result.unshift(parent); columnIndex = parent.index; parent = columnParentByIndex[columnIndex] } return result }; exports.getParentBandColumns = getParentBandColumns; exports.getChildrenByBandColumn = function getChildrenByBandColumn(columnIndex, columnChildrenByIndex, recursive) { var result = []; var children = columnChildrenByIndex[columnIndex]; if (children) { for (var i = 0; i < children.length; i++) { var column = children[i]; if (!(0, _type.isDefined)(column.groupIndex) || column.showWhenGrouped) { result.push(column); if (recursive && column.isBand) { result = result.concat(getChildrenByBandColumn(column.index, columnChildrenByIndex, recursive)) } } } } return result }; exports.getColumnByIndexes = function(that, columnIndexes) { var result; var columns; var bandColumnsCache = that.getBandColumnsCache(); var callbackFilter = function(column) { var ownerBand = result ? result.index : void 0; return column.ownerBand === ownerBand }; if (bandColumnsCache.isPlain) { result = that._columns[columnIndexes[0]] } else { columns = that._columns.filter(callbackFilter); for (var i = 0; i < columnIndexes.length; i++) { result = columns[columnIndexes[i]]; if (result) { columns = that._columns.filter(callbackFilter) } } } return result }; var getColumnFullPath = function(that, column) { var result = []; var columns; var bandColumnsCache = that.getBandColumnsCache(); var callbackFilter = function(item) { return item.ownerBand === column.ownerBand }; if (bandColumnsCache.isPlain) { var columnIndex = that._columns.indexOf(column); if (columnIndex >= 0) { result = ["columns[".concat(columnIndex, "]")] } } else { columns = that._columns.filter(callbackFilter); while (columns.length && -1 !== columns.indexOf(column)) { result.unshift("columns[".concat(columns.indexOf(column), "]")); column = bandColumnsCache.columnParentByIndex[column.index]; columns = column ? that._columns.filter(callbackFilter) : [] } } return result.join(".") }; exports.getColumnFullPath = getColumnFullPath; var calculateColspan = function calculateColspan(that, columnID) { var colspan = 0; var columns = that.getChildrenByBandColumn(columnID, true); (0, _iterator.each)(columns, (function(_, column) { if (column.isBand) { column.colspan = column.colspan || calculateColspan(that, column.index); colspan += column.colspan || 1 } else { colspan += 1 } })); return colspan }; exports.calculateColspan = calculateColspan; exports.processBandColumns = function(that, columns, bandColumnsCache) { var rowspan; for (var i = 0; i < columns.length; i++) { var column = columns[i]; if (column.visible || column.command) { if (column.isBand) { column.colspan = column.colspan || calculateColspan(that, column.index) } if (!column.isBand || !column.colspan) { rowspan = that.getRowCount(); if (!column.command && (!(0, _type.isDefined)(column.groupIndex) || column.showWhenGrouped)) { rowspan -= getParentBandColumns(column.index, bandColumnsCache.columnParentByIndex).length } if (rowspan > 1) { column.rowspan = rowspan } } } } }; exports.getValueDataType = function(value) { var dataType = (0, _type.type)(value); if ("string" !== dataType && "boolean" !== dataType && "number" !== dataType && "date" !== dataType && "object" !== dataType) { dataType = void 0 } return dataType }; exports.getSerializationFormat = function(dataType, value) { switch (dataType) { case "date": case "datetime": return _date_serialization.default.getDateSerializationFormat(value); case "number": if ((0, _type.isString)(value)) { return "string" } if ((0, _type.isNumeric)(value)) { return null } } }; exports.updateSerializers = function(options, dataType) { if (!options.deserializeValue) { if (_m_utils.default.isDateType(dataType)) { options.deserializeValue = function(value) { return _date_serialization.default.deserializeDate(value) }; options.serializeValue = function(value) { return (0, _type.isString)(value) ? value : _date_serialization.default.serializeDate(value, this.serializationFormat) } } if ("number" === dataType) { options.deserializeValue = function(value) { var parsedValue = parseFloat(value); return isNaN(parsedValue) ? value : parsedValue }; options.serializeValue = function(value, target) { if ("filter" === target) { return value } return (0, _type.isDefined)(value) && "string" === this.serializationFormat ? value.toString() : value } } } }; exports.getAlignmentByDataType = function(dataType, isRTL) { switch (dataType) { case "number": return "right"; case "boolean": return "center"; default: return (0, _position.getDefaultAlignment)(isRTL) } }; var customizeTextForBooleanDataType = function(e) { if (true === e.value) { return this.trueText || "true" } if (false === e.value) { return this.falseText || "false" } return e.valueText || "" }; exports.customizeTextForBooleanDataType = customizeTextForBooleanDataType; exports.getCustomizeTextByDataType = function(dataType) { if ("boolean" === dataType) { return customizeTextForBooleanDataType } }; exports.createColumnsFromDataSource = function(that, dataSource) { var firstItems = that._getFirstItems(dataSource); var fieldName; var processedFields = {}; var result = []; for (var i = 0; i < firstItems.length; i++) { if (firstItems[i]) { for (fieldName in firstItems[i]) { if (!(0, _type.isFunction)(firstItems[i][fieldName]) || _variable_wrapper.default.isWrapped(firstItems[i][fieldName])) { processedFields[fieldName] = true } } } } for (fieldName in processedFields) { if (0 !== fieldName.indexOf("__")) { var column = createColumn(that, fieldName); result.push(column) } } return result }; var updateColumnIndexes = function(that) { (0, _iterator.each)(that._columns, (function(index, column) { column.index = index })); (0, _iterator.each)(that._columns, (function(index, column) { if ((0, _type.isObject)(column.ownerBand)) { column.ownerBand = column.ownerBand.index } })); (0, _iterator.each)(that._commandColumns, (function(index, column) { column.index = -(index + 1) })) }; exports.updateColumnIndexes = updateColumnIndexes; var updateColumnGroupIndexes = function(that, currentColumn) { (0, _array.normalizeIndexes)(that._columns, "groupIndex", currentColumn, (function(column) { var grouped = column.grouped; delete column.grouped; return grouped })) }; exports.updateColumnGroupIndexes = updateColumnGroupIndexes; var updateColumnSortIndexes = function(that, currentColumn) { (0, _iterator.each)(that._columns, (function(index, column) { if ((0, _type.isDefined)(column.sortIndex) && !isSortOrderValid(column.sortOrder)) { delete column.sortIndex } })); (0, _array.normalizeIndexes)(that._columns, "sortIndex", currentColumn, (function(column) { return !(0, _type.isDefined)(column.groupIndex) && isSortOrderValid(column.sortOrder) })) }; exports.updateColumnSortIndexes = updateColumnSortIndexes; var updateColumnVisibleIndexes = function(that, currentColumn) { var column; var result = []; var bandColumnsCache = that.getBandColumnsCache(); var bandedColumns = []; var columns = that._columns.filter((function(column) { return !column.command })); for (var i = 0; i < columns.length; i++) { column = columns[i]; var parentBandColumns = getParentBandColumns(i, bandColumnsCache.columnParentByIndex); if (parentBandColumns.length) { bandedColumns.push(column) } else { result.push(column) } }(0, _array.normalizeIndexes)(bandedColumns, "visibleIndex", currentColumn); (0, _array.normalizeIndexes)(result, "visibleIndex", currentColumn) }; exports.updateColumnVisibleIndexes = updateColumnVisibleIndexes; exports.getColumnIndexByVisibleIndex = function(that, visibleIndex, location) { var rowIndex = (0, _type.isObject)(visibleIndex) ? visibleIndex.rowIndex : null; var columns = location === _const.GROUP_LOCATION ? that.getGroupColumns() : location === _const.COLUMN_CHOOSER_LOCATION ? that.getChooserColumns() : that.getVisibleColumns(rowIndex); var column; visibleIndex = (0, _type.isObject)(visibleIndex) ? visibleIndex.columnIndex : visibleIndex; column = columns[visibleIndex]; if (column && column.type === _const.GROUP_COMMAND_COLUMN_NAME) { column = that._columns.filter((function(col) { return column.type === col.type }))[0] || column } return column && (0, _type.isDefined)(column.index) ? column.index : -1 }; exports.moveColumnToGroup = function(that, column, groupIndex) { var groupColumns = that.getGroupColumns(); var i; if (groupIndex >= 0) { for (i = 0; i < groupColumns.length; i++) { if (groupColumns[i].groupIndex >= groupIndex) { groupColumns[i].groupIndex++ } } } else { groupIndex = 0; for (i = 0; i < groupColumns.length; i++) { groupIndex = Math.max(groupIndex, groupColumns[i].groupIndex + 1) } } return groupIndex }; function checkUserStateColumn(column, userStateColumn) { return column && userStateColumn && userStateColumn.name === (column.name || column.dataField) && (userStateColumn.dataField === column.dataField || column.name) } exports.applyUserState = function(that) { var columnsUserState = that._columnsUserState; var ignoreColumnOptionNames = that._ignoreColumnOptionNames || []; var columns = that._columns; var columnCountById = {}; var resultColumns = []; var allColumnsHaveState = true; var userStateColumnIndexes = []; var column; var userStateColumnIndex; var i; function applyFieldsState(column, userStateColumn) { if (!userStateColumn) { return } for (var index = 0; index < _const.USER_STATE_FIELD_NAMES.length; index++) { var fieldName = _const.USER_STATE_FIELD_NAMES[index]; if (ignoreColumnOptionNames.includes(fieldName)) { continue } if ("dataType" === fieldName) { column[fieldName] = column[fieldName] || userStateColumn[fieldName] } else if (_const.USER_STATE_FIELD_NAMES_15_1.includes(fieldName)) { if (fieldName in userStateColumn) { column[fieldName] = userStateColumn[fieldName] } } else { if ("selectedFilterOperation" === fieldName && userStateColumn[fieldName]) { column.defaultSelectedFilterOperation = column[fieldName] || null } column[fieldName] = userStateColumn[fieldName] } } } function findUserStateColumn(columnsUserState, column) { var id = column.name || column.dataField; var count = columnCountById[id] || 0; for (var j = 0; j < columnsUserState.length; j++) { if (checkUserStateColumn(column, columnsUserState[j])) { if (count) { count-- } else { columnCountById[id] = columnCountById[id] || 0; columnCountById[id]++; return j } } } return -1 } if (columnsUserState) { for (i = 0; i < columns.length; i++) { userStateColumnIndex = findUserStateColumn(columnsUserState, columns[i]); allColumnsHaveState = allColumnsHaveState && userStateColumnIndex >= 0; userStateColumnIndexes.push(userStateColumnIndex) } for (i = 0; i < columns.length; i++) { column = columns[i]; userStateColumnIndex = userStateColumnIndexes[i]; if (that._hasUserState || allColumnsHaveState) { applyFieldsState(column, columnsUserState[userStateColumnIndex]) } if (userStateColumnIndex >= 0 && (0, _type.isDefined)(columnsUserState[userStateColumnIndex].initialIndex)) { resultColumns[userStateColumnIndex] = column } else { resultColumns.push(column) } } var hasAddedBands = false; for (i = 0; i < columnsUserState.length; i++) { var columnUserState = columnsUserState[i]; if (columnUserState.added && findUserStateColumn(columns, columnUserState) < 0) { column = createColumn(that, columnUserState.added); applyFieldsState(column, columnUserState); resultColumns.push(column); if (columnUserState.added.columns) { hasAddedBands = true } } } if (hasAddedBands) { updateColumnIndexes(that); resultColumns = createColumnsFromOptions(that, resultColumns) } assignColumns(that, resultColumns) } }; var updateIndexes = function(that, column) { updateColumnIndexes(that); updateColumnGroupIndexes(that, column); updateColumnSortIndexes(that, column); resetBandColumnsCache(that); updateColumnVisibleIndexes(that, column) }; exports.updateIndexes = updateIndexes; var resetColumnsCache = function(that) { that.resetColumnsCache() }; exports.resetColumnsCache = resetColumnsCache; function assignColumns(that, columns) { that._previousColumns = that._columns; that._columns = columns; resetColumnsCache(that); that.updateColumnDataTypes() } var updateColumnChanges = function(that, changeType, optionName, columnIndex) { var _a; var columnChanges = that._columnChanges || { optionNames: { length: 0 }, changeTypes: { length: 0 }, columnIndex: columnIndex }; optionName = optionName || "all"; optionName = optionName.split(".")[0]; var changeTypes = columnChanges.changeTypes; if (changeType && !changeTypes[changeType]) { changeTypes[changeType] = true; changeTypes.length++ } var optionNames = columnChanges.optionNames; if (optionName && !optionNames[optionName]) { optionNames[optionName] = true; optionNames.length++ } if (void 0 === columnIndex || columnIndex !== columnChanges.columnIndex) { if ((0, _type.isDefined)(columnIndex)) { null !== (_a = columnChanges.columnIndices) && void 0 !== _a ? _a : columnChanges.columnIndices = [columnChanges.columnIndex]; columnChanges.columnIndices.push(columnIndex) } delete columnChanges.columnIndex } that._columnChanges = columnChanges; resetColumnsCache(that) }; exports.updateColumnChanges = updateColumnChanges; exports.fireColumnsChanged = function(that) { var onColumnsChanging = that.option("onColumnsChanging"); var columnChanges = that._columnChanges; var reinitOptionNames = ["dataField", "lookup", "dataType", "columns"]; if (that.isInitialized() && !that._updateLockCount && columnChanges) { if (onColumnsChanging) { that._updateLockCount++; onColumnsChanging((0, _extend.extend)({ component: that.component }, columnChanges)); that._updateLockCount-- } that._columnChanges = void 0; if (options = columnChanges.optionNames, options && reinitOptionNames.some((function(name) { return options[name] }))) { that._reinitAfterLookupChanges = null === columnChanges || void 0 === columnChanges ? void 0 : columnChanges.optionNames.lookup; that.reinit(); that._reinitAfterLookupChanges = void 0 } else { that.columnsChanged.fire(columnChanges) } } var options }; var updateSortOrderWhenGrouping = function(that, column, groupIndex, prevGroupIndex) { var columnWasGrouped = prevGroupIndex >= 0; if (groupIndex >= 0) { if (!columnWasGrouped) { column.lastSortOrder = column.sortOrder } } else { var sortMode = that.option("sorting.mode"); var sortOrder = column.lastSortOrder; if ("single" === sortMode) { var sortedByAnotherColumn = that._columns.some((function(col) { return col !== column && (0, _type.isDefined)(col.sortIndex) })); if (sortedByAnotherColumn) { sortOrder = void 0 } } column.sortOrder = sortOrder } }; exports.updateSortOrderWhenGrouping = updateSortOrderWhenGrouping; var fireOptionChanged = function(that, options) { var value = options.value; var optionName = options.optionName; var prevValue = options.prevValue; var fullOptionName = options.fullOptionName; var fullOptionPath = "".concat(fullOptionName, ".").concat(optionName); if (!_const.IGNORE_COLUMN_OPTION_NAMES[optionName] && that._skipProcessingColumnsChange !== fullOptionPath) { that._skipProcessingColumnsChange = fullOptionPath; that.component._notifyOptionChanged(fullOptionPath, value, prevValue); that._skipProcessingColumnsChange = false } }; exports.fireOptionChanged = fireOptionChanged; exports.columnOptionCore = function(that, column, optionName, value, notFireEvent) { var optionGetter = (0, _data.compileGetter)(optionName); var columnIndex = column.index; var columns; var changeType; var initialColumn; if (3 === arguments.length) { return optionGetter(column, { functionsAsIs: true }) } var prevValue = optionGetter(column, { functionsAsIs: true }); if (!(0, _common.equalByValue)(prevValue, value, { maxDepth: 5 })) { if ("groupIndex" === optionName || "calculateGroupValue" === optionName) { changeType = "grouping"; updateSortOrderWhenGrouping(that, column, value, prevValue) } else if ("sortIndex" === optionName || "sortOrder" === optionName || "calculateSortValue" === optionName) { changeType = "sorting" } else { changeType = "columns" } var optionSetter = (0, _data.compileSetter)(optionName); optionSetter(column, value, { functionsAsIs: true }); var fullOptionName = getColumnFullPath(that, column); if (_const.COLUMN_INDEX_OPTIONS[optionName]) { updateIndexes(that, column); value = optionGetter(column) } if ("name" === optionName || "allowEditing" === optionName) { that._checkColumns() } if (!(0, _type.isDefined)(prevValue) && !(0, _type.isDefined)(value) && 0 !== optionName.indexOf("buffer")) { notFireEvent = true } if (!notFireEvent) { if (!_const.USER_STATE_FIELD_NAMES.includes(optionName) && "visibleWidth" !== optionName) { columns = that.option("columns"); initialColumn = that.getColumnByPath(fullOptionName, columns); if ((0, _type.isString)(initialColumn)) { initialColumn = columns[columnIndex] = { dataField: initialColumn } } if (initialColumn && checkUserStateColumn(initialColumn, column)) { optionSetter(initialColumn, value, { functionsAsIs: true }) } } updateColumnChanges(that, changeType, optionName, columnIndex) } else { resetColumnsCache(that) } fullOptionName && fireOptionChanged(that, { fullOptionName: fullOptionName, optionName: optionName, value: value, prevValue: prevValue }) } }; function isSortOrderValid(sortOrder) { return "asc" === sortOrder || "desc" === sortOrder } exports.addExpandColumn = function(that) { var options = that._getExpandColumnOptions(); that.addCommandColumn(options) }; exports.defaultSetCellValue = function(data, value) { if (!this.dataField) { return } var path = this.dataField.split("."); var dotCount = path.length - 1; if (this.serializeValue) { value = this.serializeValue(value) } for (var i = 0; i < dotCount; i++) { var name = path[i]; data = data[name] = data[name] || {} } data[path[dotCount]] = value }; exports.getDataColumns = function getDataColumns(columns, rowIndex, bandColumnID) { var result = []; rowIndex = rowIndex || 0; columns[rowIndex] && (0, _iterator.each)(columns[rowIndex], (function(_, column) { if (column.ownerBand === bandColumnID || column.type === _const.GROUP_COMMAND_COLUMN_NAME) { if (!column.isBand || !column.colspan) { if (!column.command || rowIndex < 1) { result.push(column) } } else { result.push.apply(result, getDataColumns(columns, rowIndex + 1, column.index)) } } })); return result }; exports.getRowCount = function(that) { var rowCount = 1; var bandColumnsCache = that.getBandColumnsCache(); var columnParentByIndex = bandColumnsCache.columnParentByIndex; that._columns.forEach((function(column) { var parents = getParentBandColumns(column.index, columnParentByIndex); var invisibleParents = parents.filter((function(column) { return !column.visible })); if (column.visible && !invisibleParents.length) { rowCount = Math.max(rowCount, parents.length + 1) } })); return rowCount }; var isCustomCommandColumn = function(that, commandColumn) { var customCommandColumns = that._columns.filter((function(column) { return column.type === commandColumn.type })); return !!customCommandColumns.length }; exports.isCustomCommandColumn = isCustomCommandColumn; exports.getFixedPosition = function(that, column) { var rtlEnabled = that.option("rtlEnabled"); if (column.command && !isCustomCommandColumn(that, column) || !column.fixedPosition) { return rtlEnabled ? "right" : "left" } return column.fixedPosition }; exports.processExpandColumns = function(columns, expandColumns, type, columnIndex) { var customColumnIndex; var rowCount = this.getRowCount(); var rowspan = columns[columnIndex] && columns[columnIndex].rowspan; var expandColumnsByType = expandColumns.filter((function(column) { return column.type === type })); columns.forEach((function(column, index) { if (column.type === type) { customColumnIndex = index; rowspan = columns[index + 1] ? columns[index + 1].rowspan : rowCount } })); if (rowspan > 1) { expandColumnsByType = (0, _iterator.map)(expandColumnsByType, (function(expandColumn) { return (0, _extend.extend)({}, expandColumn, { rowspan: rowspan }) })) } expandColumnsByType.unshift.apply(expandColumnsByType, (0, _type.isDefined)(customColumnIndex) ? [customColumnIndex, 1] : [columnIndex, 0]); columns.splice.apply(columns, expandColumnsByType); return rowspan || 1 }; exports.digitsCount = function(number) { var i; for (i = 0; number > 1; i++) { number /= 10 } return i }; exports.numberToString = function(number, digitsCount) { var str = number ? number.toString() : "0"; while (str.length < digitsCount) { str = "0".concat(str) } return str }; exports.mergeColumns = function(that, columns, commandColumns, needToExtend) { var column; var commandColumnIndex; var result = columns.slice().map((function(column) { return (0, _extend.extend)({}, column) })); var isColumnFixing = that._isColumnFixing(); var defaultCommandColumns = commandColumns.slice().map((function(column) { return (0, _extend.extend)({ fixed: isColumnFixing }, column) })); var getCommandColumnIndex = function(column) { return commandColumns.reduce((function(result, commandColumn, index) { var columnType = needToExtend && column.type === _const.GROUP_COMMAND_COLUMN_NAME ? "expand" : column.type; return commandColumn.type === columnType || commandColumn.command === column.command ? index : result }), -1) }; var callbackFilter = function(commandColumn) { return commandColumn.command !== commandColumns[commandColumnIndex].command }; for (var i = 0; i < columns.length; i++) { column = columns[i]; commandColumnIndex = column && (column.type || column.command) ? getCommandColumnIndex(column) : -1; if (commandColumnIndex >= 0) { if (needToExtend) { result[i] = (0, _extend.extend)({ fixed: isColumnFixing }, commandColumns[commandColumnIndex], column); if (column.type !== _const.GROUP_COMMAND_COLUMN_NAME) { defaultCommandColumns = defaultCommandColumns.filter(callbackFilter) } } else { var columnOptions = { visibleIndex: column.visibleIndex, index: column.index, headerId: column.headerId, allowFixing: 0 === column.groupIndex, allowReordering: 0 === column.groupIndex, groupIndex: column.groupIndex }; result[i] = (0, _extend.extend)({}, column, commandColumns[commandColumnIndex], column.type === _const.GROUP_COMMAND_COLUMN_NAME && columnOptions) } } } if (columns.length && needToExtend && defaultCommandColumns.length) { result = result.concat(defaultCommandColumns) } return result }; exports.isColumnFixed = function(that, column) { return (0, _type.isDefined)(column.fixed) || !column.type ? column.fixed : that._isColumnFixing() }; exports.convertOwnerBandToColumnReference = function(columns) { columns.forEach((function(column) { if ((0, _type.isDefined)(column.ownerBand)) { column.ownerBand = columns[column.ownerBand] } })) }; var resetBandColumnsCache = function(that) { that._bandColumnsCache = void 0 }; exports.resetBandColumnsCache = resetBandColumnsCache; exports.findColumn = function(columns, identifier) { var identifierOptionName = (0, _type.isString)(identifier) && identifier.substr(0, identifier.indexOf(":")); var column; if (void 0 === identifier) { return } if (identifierOptionName) { identifier = identifier.substr(identifierOptionName.length + 1) } if (identifierOptionName) { column = columns.filter((function(column) { return "".concat(column[identifierOptionName]) === identifier }))[0] } else { ["index", "name", "dataField", "caption"].some((function(optionName) { column = columns.filter((function(column) { return column[optionName] === identifier }))[0]; return !!column })) } return column }; exports.sortColumns = function(columns, sortOrder) { if ("asc" !== sortOrder && "desc" !== sortOrder) { return columns } var sign = "asc" === sortOrder ? 1 : -1; columns.sort((function(column1, column2) { var caption1 = column1.caption || ""; var caption2 = column2.caption || ""; return sign * caption1.localeCompare(caption2) })); return columns }; exports.strictParseNumber = function(text, format) { var parsedValue = _number.default.parse(text); if ((0, _type.isNumeric)(parsedValue)) { var formattedValue = _number.default.format(parsedValue, format); var formattedValueWithDefaultFormat = _number.default.format(parsedValue, "decimal"); if (formattedValue === text || formattedValueWithDefaultFormat === text) { return parsedValue } } } }, 49505: /*!*************************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering.js ***! \*************************************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.columnsResizingReorderingModule = void 0; var _fx = _interopRequireDefault(__webpack_require__( /*! ../../../../animation/fx */ 87209)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../../core/dom_adapter */ 73349)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/callbacks */ 44504)); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _position = __webpack_require__( /*! ../../../../core/utils/position */ 37518); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _drag = __webpack_require__( /*! ../../../../events/drag */ 23174); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../../../events/pointer */ 93786)); var _index = __webpack_require__( /*! ../../../../events/utils/index */ 39611); var _swatch_container = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/widget/swatch_container */ 92591)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var MODULE_NAMESPACE = "dxDataGridResizingReordering"; var allowResizing = function(that) { return that.option("allowColumnResizing") || that.getController("columns").isColumnOptionUsed("allowResizing") }; var allowReordering = function(that) { return that.option("allowColumnReordering") || that.getController("columns").isColumnOptionUsed("allowReordering") }; var TrackerView = _m_modules.default.View.inherit({ _renderCore: function() { var deferred = this.callBase(); this.element().addClass(this.addWidgetPrefix("tracker")); this.hide(); return deferred }, _unsubscribeFromCallback: function() { if (this._positionChanged) { this._tablePositionController.positionChanged.remove(this._positionChanged) } }, _subscribeToCallback: function() { var that = this; that._positionChanged = function(position) { var $element = that.element(); if ($element && $element.hasClass(that.addWidgetPrefix("tracker"))) { $element.css({ top: position.top }); (0, _size.setHeight)($element, position.height) } }; this._tablePositionController.positionChanged.add(that._positionChanged) }, optionChanged: function(args) { if ("allowColumnResizing" === args.name) { this._unsubscribeFromCallback(); if (args.value) { this._subscribeToCallback(); this._invalidate() } } this.callBase(args) }, init: function() { this.callBase(); this._tablePositionController = this.getController("tablePosition"); this._subscribeToCallback() }, isVisible: function() { return allowResizing(this) }, show: function() { this.element().show() }, hide: function() { this.element() && this.element().hide() }, setHeight: function(value) { (0, _size.setHeight)(this.element(), value) }, dispose: function() { this._unsubscribeFromCallback(); this.callBase() } }); var SeparatorView = _m_modules.default.View.inherit({ _renderSeparator: function() {}, _renderCore: function(options) { var deferred = this.callBase(options); this._isShown = true; this._renderSeparator(); this.hide(); return deferred }, show: function() { this._isShown = true }, hide: function() { this._isShown = false }, height: function(value) { var $element = this.element(); if ($element) { if ((0, _type.isDefined)(value)) { (0, _size.setHeight)($element, value) } else { return (0, _size.getHeight)($element) } } }, width: function(value) { var $element = this.element(); if ($element) { if ((0, _type.isDefined)(value)) { (0, _size.setWidth)($element, value) } else { return (0, _size.getWidth)($element) } } } }); var ColumnsSeparatorView = SeparatorView.inherit({ _renderSeparator: function() { this.callBase(); var $element = this.element(); $element.addClass(this.addWidgetPrefix("columns-separator")) }, _subscribeToCallback: function() { var that = this; var $element; that._positionChanged = function(position) { $element = that.element(); if ($element) { $element.css({ top: position.top }); (0, _size.setHeight)($element, position.height) } }; that._tablePositionController.positionChanged.add(that._positionChanged) }, _unsubscribeFromCallback: function() { this._positionChanged && this._tablePositionController.positionChanged.remove(this._positionChanged) }, _init: function() { this._isTransparent = allowResizing(this); if (this.isVisible()) { this._subscribeToCallback() } }, isVisible: function() { return this.option("showColumnHeaders") && (allowReordering(this) || allowResizing(this)) }, optionChanged: function(args) { if ("allowColumnResizing" === args.name) { if (args.value) { this._init(); this._invalidate(); this.hide(true) } else { this._unsubscribeFromCallback(); this._isTransparent = allowResizing(this); this.hide(true) } } this.callBase(args) }, init: function() { this.callBase(); this._tablePositionController = this.getController("tablePosition"); this._init() }, show: function() { var $element = this.element(); if ($element && !this._isShown) { if (this._isTransparent) { $element.removeClass(this.addWidgetPrefix("columns-separator-transparent")) } else { $element.show() } } this.callBase() }, hide: function(force) { var $element = this.element(); var columnsSeparatorTransparent = this.addWidgetPrefix("columns-separator-transparent"); if ($element && (this._isShown || force)) { if (this._isTransparent) { $element.addClass(columnsSeparatorTransparent); $element.css("left", ""); $element.show() } else { if ($element.hasClass(columnsSeparatorTransparent)) { $element.removeClass(columnsSeparatorTransparent) } $element.hide() } } this.callBase() }, moveByX: function(outerX) { var $element = this.element(); if ($element) { $element.css("left", null === outerX ? 0 : outerX - this._parentElement().offset().left) } }, changeCursor: function(cursorName) { cursorName = (0, _type.isDefined)(cursorName) ? cursorName : ""; var $element = this.element(); if ($element) { $element.css("cursor", cursorName) } }, dispose: function() { this._unsubscribeFromCallback(); this.callBase() } }); var BlockSeparatorView = SeparatorView.inherit({ init: function() { var that = this; this.callBase(); this.getController("data").loadingChanged.add((function(isLoading) { if (!isLoading) { that.hide() } })) }, _renderSeparator: function() { this.callBase(); this.element().addClass("dx-block-separator").html(" ") }, hide: function() { var $parent = this._parentElement(); var $element = this.element(); if ($element && this._isShown) { $element.css("display", "none") } if ($parent && !$parent.children(".".concat("dx-block-separator")).length) { $parent.prepend(this.element()) } this.callBase() }, isVisible: function() { var groupPanelOptions = this.option("groupPanel"); var columnChooserOptions = this.option("columnChooser"); return groupPanelOptions && groupPanelOptions.visible || columnChooserOptions && columnChooserOptions.enabled }, show: function(targetLocation) { var $element = this.element(); var startAnimate = function(toOptions) { _fx.default.stop($element, true); _fx.default.animate($element, { type: "slide", from: { width: 0, display: toOptions.display }, to: toOptions, duration: 300, easing: "swing" }) }; if ($element && !this._isShown) { switch (targetLocation) { case "group": startAnimate({ width: "50px", display: "inline-block" }); break; case "columnChooser": startAnimate({ width: "100%", display: "block" }); break; default: $element.css("display", "") } } this.callBase() } }); var DraggingHeaderView = _m_modules.default.View.inherit({ _isDragging: false, isDragging: function() { return this._isDragging }, _getDraggingPanelByPos: function(pos) { var result; (0, _iterator.each)(this._dragOptions.draggingPanels, (function(index, draggingPanel) { if (draggingPanel) { var boundingRect = draggingPanel.getBoundingRect(); if (boundingRect && (void 0 === boundingRect.bottom || pos.y < boundingRect.bottom) && (void 0 === boundingRect.top || pos.y > boundingRect.top) && (void 0 === boundingRect.left || pos.x > boundingRect.left) && (void 0 === boundingRect.right || pos.x < boundingRect.right)) { result = draggingPanel; return false } } return })); return result }, _renderCore: function() { this.element().addClass("".concat(this.addWidgetPrefix("drag-header"), " ").concat(this.addWidgetPrefix("text-content"), " ").concat("dx-widget")).hide() }, _resetTargetColumnOptions: function() { var params = this._dropOptions; params.targetColumnIndex = -1; delete params.targetColumnElement; delete params.isLast; delete params.posX; delete params.posY }, _getVisibleIndexObject: function(rowIndex, visibleIndex) { if ((0, _type.isDefined)(rowIndex)) { return { columnIndex: visibleIndex, rowIndex: rowIndex } } return visibleIndex }, dispose: function() { var element = this.element(); this._dragOptions = null; element && element.parent().find(".".concat(this.addWidgetPrefix("drag-header"))).remove() }, isVisible: function() { var columnsController = this.getController("columns"); var commonColumnSettings = columnsController.getCommonSettings(); return this.option("showColumnHeaders") && (allowReordering(this) || commonColumnSettings.allowGrouping || commonColumnSettings.allowHiding) }, init: function() { var that = this; this.callBase(); this._controller = this.getController("draggingHeader"); this._columnsResizerViewController = this.getController("columnsResizer"); this.getController("data").loadingChanged.add((function(isLoading) { var element = that.element(); if (!isLoading && element) { element.hide() } })) }, dragHeader: function(options) { var columnElement = options.columnElement; var isCommandColumn = !!options.sourceColumn.type; this._isDragging = true; this._dragOptions = options; this._dropOptions = { sourceIndex: options.index, sourceColumnIndex: this._getVisibleIndexObject(options.rowIndex, options.columnIndex), sourceColumnElement: options.columnElement, sourceLocation: options.sourceLocation }; var document = _dom_adapter.default.getDocument(); this._onSelectStart = document.onselectstart; document.onselectstart = function() { return false }; this._controller.drag(this._dropOptions); this.element().css({ textAlign: columnElement && columnElement.css("textAlign"), height: columnElement && (isCommandColumn && columnElement.get(0).clientHeight || (0, _size.getHeight)(columnElement)), width: columnElement && (isCommandColumn && columnElement.get(0).clientWidth || (0, _size.getWidth)(columnElement)), whiteSpace: columnElement && columnElement.css("whiteSpace") }).addClass(this.addWidgetPrefix("drag-action")).toggleClass("dx-drag-command-cell", isCommandColumn).text(isCommandColumn ? "" : options.sourceColumn.caption); this.element().appendTo(_swatch_container.default.getSwatchContainer(columnElement)) }, moveHeader: function(args) { var e = args.event; var that = e.data.that; var eventData = (0, _index.eventData)(e); var isResizing = that._columnsResizerViewController ? that._columnsResizerViewController.isResizing() : false; var dragOptions = that._dragOptions; if (that._isDragging && !isResizing) { var $element = that.element(); var moveDeltaX = Math.abs(eventData.x - dragOptions.columnElement.offset().left - dragOptions.deltaX); var moveDeltaY = Math.abs(eventData.y - dragOptions.columnElement.offset().top - dragOptions.deltaY); if ($element.is(":visible") || moveDeltaX > 5 || moveDeltaY > 5) { $element.show(); var newLeft = eventData.x - dragOptions.deltaX; var newTop = eventData.y - dragOptions.deltaY; $element.css({ left: newLeft, top: newTop }); that.dockHeader(eventData) } e.preventDefault() } }, dockHeader: function(eventData) { var targetDraggingPanel = this._getDraggingPanelByPos(eventData); var controller = this._controller; var params = this._dropOptions; var dragOptions = this._dragOptions; if (targetDraggingPanel) { var rtlEnabled = this.option("rtlEnabled"); var isVerticalOrientation = "columnChooser" === targetDraggingPanel.getName(); var axisName = isVerticalOrientation ? "y" : "x"; var targetLocation = targetDraggingPanel.getName(); var rowIndex = "headers" === targetLocation ? dragOptions.rowIndex : void 0; var sourceColumn = dragOptions.sourceColumn; var columnElements = targetDraggingPanel.getColumnElements(rowIndex, null === sourceColumn || void 0 === sourceColumn ? void 0 : sourceColumn.ownerBand) || []; var pointsByTarget = dragOptions.pointsByTarget = dragOptions.pointsByTarget || {}; var pointsByColumns = "columnChooser" === targetLocation ? [] : pointsByTarget[targetLocation] || controller._generatePointsByColumns((0, _extend.extend)({}, dragOptions, { targetDraggingPanel: targetDraggingPanel, columns: targetDraggingPanel.getColumns(rowIndex), columnElements: columnElements, isVerticalOrientation: isVerticalOrientation, startColumnIndex: "headers" === targetLocation && (0, _renderer.default)(columnElements[0]).index() })); pointsByTarget[targetLocation] = pointsByColumns; params.targetLocation = targetLocation; if (pointsByColumns.length > 0) { for (var i = 0; i < pointsByColumns.length; i++) { var centerPosition = pointsByColumns[i + 1] && (pointsByColumns[i][axisName] + pointsByColumns[i + 1][axisName]) / 2; if (void 0 === centerPosition || (rtlEnabled && "x" === axisName ? eventData[axisName] > centerPosition : eventData[axisName] < centerPosition)) { params.targetColumnIndex = this._getVisibleIndexObject(rowIndex, pointsByColumns[i].columnIndex); if (columnElements[i]) { params.targetColumnElement = columnElements.eq(i); params.isLast = false } else { params.targetColumnElement = columnElements.last(); params.isLast = true } params.posX = pointsByColumns[i].x; params.posY = pointsByColumns[i].y; controller.dock(params); break } } } else { this._resetTargetColumnOptions(); controller.dock(params) } } }, dropHeader: function(args) { var e = args.event; var that = e.data.that; var controller = that._controller; that.element().hide(); if (controller && that._isDragging) { controller.drop(that._dropOptions) } that.element().appendTo(that._parentElement()); that._dragOptions = null; that._dropOptions = null; that._isDragging = false; _dom_adapter.default.getDocument().onselectstart = that._onSelectStart || null } }); var isNextColumnResizingMode = function(that) { return "widget" !== that.option("columnResizingMode") }; var ColumnsResizerViewController = _m_modules.default.ViewController.inherit({ _isHeadersRowArea: function(posY) { if (this._columnHeadersView) { var element = this._columnHeadersView.element(); if (element) { var offsetTop = element.offset().top; var headersRowHeight = this._columnHeadersView.getHeadersRowHeight(); return posY >= offsetTop && posY <= offsetTop + headersRowHeight } } return false }, _isRtlParentStyle: function() { var _a; return this.option("rtlEnabled") && "rtl" === (null === (_a = this._$parentContainer) || void 0 === _a ? void 0 : _a.parent().css("direction")) }, _pointCreated: function(point, cellsLength, columns) { var isNextColumnMode = isNextColumnResizingMode(this); var rtlEnabled = this.option("rtlEnabled"); var isRtlParentStyle = this._isRtlParentStyle(); var firstPointColumnIndex = !isNextColumnMode && rtlEnabled && !isRtlParentStyle ? 0 : 1; if (point.index >= firstPointColumnIndex && point.index < cellsLength + (!isNextColumnMode && (!rtlEnabled || isRtlParentStyle) ? 1 : 0)) { point.columnIndex -= firstPointColumnIndex; var currentColumn = columns[point.columnIndex] || {}; var nextColumn = columns[point.columnIndex + 1] || {}; return !(isNextColumnMode ? currentColumn.allowResizing && nextColumn.allowResizing : currentColumn.allowResizing) } return true }, _getTargetPoint: function(pointsByColumns, currentX, deltaX) { if (pointsByColumns) { for (var i = 0; i < pointsByColumns.length; i++) { if (pointsByColumns[i].x === pointsByColumns[0].x && pointsByColumns[i + 1] && pointsByColumns[i].x === pointsByColumns[i + 1].x) { continue } if (pointsByColumns[i].x - deltaX <= currentX && currentX <= pointsByColumns[i].x + deltaX) { return pointsByColumns[i] } } } return null }, _moveSeparator: function(args) { var _a; var e = args.event; var that = e.data; var columnsSeparatorWidth = that._columnsSeparatorView.width(); var isNextColumnMode = isNextColumnResizingMode(that); var deltaX = columnsSeparatorWidth / 2; var parentOffset = that._$parentContainer.offset(); var parentOffsetLeft = parentOffset.left; var eventData = (0, _index.eventData)(e); var rtlEnabled = that.option("rtlEnabled"); var isRtlParentStyle = this._isRtlParentStyle(); var isDragging = null === (_a = that._draggingHeaderView) || void 0 === _a ? void 0 : _a.isDragging(); if (that._isResizing && that._resizingInfo) { if ((parentOffsetLeft <= eventData.x || !isNextColumnMode && isRtlParentStyle) && (!isNextColumnMode || eventData.x <= parentOffsetLeft + (0, _size.getWidth)(that._$parentContainer))) { if (that._updateColumnsWidthIfNeeded(eventData.x)) { var $cell = that._columnHeadersView.getColumnElements().eq(that._resizingInfo.currentColumnIndex); var cell = $cell[0]; if (cell) { var outerWidth = cell.getBoundingClientRect().width; that._columnsSeparatorView.moveByX($cell.offset().left + ((isNextColumnMode || isRtlParentStyle) && rtlEnabled ? 0 : outerWidth)); that._tablePositionController.update(that._targetPoint.y); e.preventDefault() } } } } else if (!isDragging) { if (that._isHeadersRowArea(eventData.y)) { if (that._previousParentOffset) { if (that._previousParentOffset.left !== parentOffset.left || that._previousParentOffset.top !== parentOffset.top) { that.pointsByColumns(null) } } that._targetPoint = that._getTargetPoint(that.pointsByColumns(), eventData.x, columnsSeparatorWidth); that._previousParentOffset = parentOffset; that._isReadyResizing = false; if (that._targetPoint) { that._columnsSeparatorView.changeCursor("col-resize"); that._columnsSeparatorView.moveByX(that._targetPoint.x - deltaX); that._tablePositionController.update(that._targetPoint.y); that._isReadyResizing = true; e.preventDefault() } else { that._columnsSeparatorView.changeCursor(); that._columnsSeparatorView.moveByX(null) } } else { that.pointsByColumns(null); that._isReadyResizing = false; that._columnsSeparatorView.changeCursor(); that._columnsSeparatorView.moveByX(null) } } }, _endResizing: function(args) { var e = args.event; var that = e.data; if (that._isResizing) { that.pointsByColumns(null); that._resizingInfo = null; that._columnsSeparatorView.hide(); that._columnsSeparatorView.changeCursor(); that._trackerView.hide(); that._isReadyResizing = false; that._isResizing = false } }, _getNextColumnIndex: function(currentColumnIndex) { return currentColumnIndex + 1 }, _setupResizingInfo: function(posX) { var currentColumnIndex = this._targetPoint.columnIndex; var nextColumnIndex = this._getNextColumnIndex(currentColumnIndex); var currentHeader = this._columnHeadersView.getHeaderElement(currentColumnIndex); var nextHeader = this._columnHeadersView.getHeaderElement(nextColumnIndex); this._resizingInfo = { startPosX: posX, currentColumnIndex: currentColumnIndex, currentColumnWidth: currentHeader && currentHeader.length > 0 ? (0, _position.getBoundingRect)(currentHeader[0]).width : 0, nextColumnIndex: nextColumnIndex, nextColumnWidth: nextHeader && nextHeader.length > 0 ? (0, _position.getBoundingRect)(nextHeader[0]).width : 0 } }, _startResizing: function(args) { var e = args.event; var that = e.data; var eventData = (0, _index.eventData)(e); if ((0, _index.isTouchEvent)(e)) { if (that._isHeadersRowArea(eventData.y)) { that._targetPoint = that._getTargetPoint(that.pointsByColumns(), eventData.x, 10); if (that._targetPoint) { that._columnsSeparatorView.moveByX(that._targetPoint.x - that._columnsSeparatorView.width() / 2); that._isReadyResizing = true } } else { that._isReadyResizing = false } } if (that._isReadyResizing) { that._setupResizingInfo(eventData.x); that._isResizing = true; that._tablePositionController.update(that._targetPoint.y); that._columnsSeparatorView.show(); that._trackerView.show(); var scrollable = that.component.getScrollable(); if (scrollable && that._isRtlParentStyle()) { that._scrollRight = (0, _size.getWidth)(scrollable.$content()) - (0, _size.getWidth)(scrollable.container()) - scrollable.scrollLeft() } e.preventDefault(); e.stopPropagation() } if (this.isResizing()) { this.getController("editorFactory").loseFocus() } }, _generatePointsByColumns: function() { var that = this; var columns = that._columnsController ? that._columnsController.getVisibleColumns() : []; var cells = that._columnHeadersView.getColumnElements(); var pointsByColumns = []; if (cells && cells.length > 0) { pointsByColumns = _m_utils.default.getPointsByColumns(cells, (function(point) { return that._pointCreated(point, cells.length, columns) })) } that._pointsByColumns = pointsByColumns }, _unsubscribeFromEvents: function() { this._moveSeparatorHandler && _events_engine.default.off(_dom_adapter.default.getDocument(), (0, _index.addNamespace)(_pointer.default.move, MODULE_NAMESPACE), this._moveSeparatorHandler); this._startResizingHandler && _events_engine.default.off(this._$parentContainer, (0, _index.addNamespace)(_pointer.default.down, MODULE_NAMESPACE), this._startResizingHandler); if (this._endResizingHandler) { _events_engine.default.off(this._columnsSeparatorView.element(), (0, _index.addNamespace)(_pointer.default.up, MODULE_NAMESPACE), this._endResizingHandler); _events_engine.default.off(_dom_adapter.default.getDocument(), (0, _index.addNamespace)(_pointer.default.up, MODULE_NAMESPACE), this._endResizingHandler) } }, _subscribeToEvents: function() { this._moveSeparatorHandler = this.createAction(this._moveSeparator); this._startResizingHandler = this.createAction(this._startResizing); this._endResizingHandler = this.createAction(this._endResizing); _events_engine.default.on(_dom_adapter.default.getDocument(), (0, _index.addNamespace)(_pointer.default.move, MODULE_NAMESPACE), this, this._moveSeparatorHandler); _events_engine.default.on(this._$parentContainer, (0, _index.addNamespace)(_pointer.default.down, MODULE_NAMESPACE), this, this._startResizingHandler); _events_engine.default.on(this._columnsSeparatorView.element(), (0, _index.addNamespace)(_pointer.default.up, MODULE_NAMESPACE), this, this._endResizingHandler); _events_engine.default.on(_dom_adapter.default.getDocument(), (0, _index.addNamespace)(_pointer.default.up, MODULE_NAMESPACE), this, this._endResizingHandler) }, _updateColumnsWidthIfNeeded: function(posX) { var deltaX; var needUpdate; var contentWidth = this._rowsView.contentWidth(); var resizingInfo = this._resizingInfo; var columnsController = this._columnsController; var visibleColumns = columnsController.getVisibleColumns(); var columnsSeparatorWidth = this._columnsSeparatorView.width(); var isNextColumnMode = isNextColumnResizingMode(this); var adaptColumnWidthByRatio = isNextColumnMode && this.option("adaptColumnWidthByRatio") && !this.option("columnAutoWidth"); var rtlEnabled = this.option("rtlEnabled"); var isRtlParentStyle = this._isRtlParentStyle(); var column = visibleColumns[resizingInfo.currentColumnIndex]; var nextColumn = visibleColumns[resizingInfo.nextColumnIndex]; function isPercentWidth(width) { return (0, _type.isString)(width) && width.endsWith("%") } function setColumnWidth(column, columnWidth, contentWidth, adaptColumnWidthByRatio) { if (column) { var oldColumnWidth = column.width; if (oldColumnWidth) { adaptColumnWidthByRatio = isPercentWidth(oldColumnWidth) } if (adaptColumnWidthByRatio) { columnsController.columnOption(column.index, "visibleWidth", columnWidth); columnsController.columnOption(column.index, "width", "".concat((columnWidth / contentWidth * 100).toFixed(3), "%")) } else { columnsController.columnOption(column.index, "visibleWidth", null); columnsController.columnOption(column.index, "width", columnWidth) } } } deltaX = posX - resizingInfo.startPosX; if ((isNextColumnMode || isRtlParentStyle) && rtlEnabled) { deltaX = -deltaX } var _calculateCellWidths = function(delta) { var nextMinWidth; var nextCellWidth; var needCorrectionNextCellWidth; var cellWidth = resizingInfo.currentColumnWidth + delta; var minWidth = column && column.minWidth || columnsSeparatorWidth; var result = {}; if (cellWidth >= minWidth) { result.cellWidth = cellWidth } else { result.cellWidth = minWidth; needCorrectionNextCellWidth = true } if (isNextColumnMode) { nextCellWidth = resizingInfo.nextColumnWidth - delta; nextMinWidth = nextColumn && nextColumn.minWidth || columnsSeparatorWidth; if (nextCellWidth >= nextMinWidth) { if (needCorrectionNextCellWidth) { result.nextCellWidth = resizingInfo.nextColumnWidth - (delta + minWidth - cellWidth) } else { result.nextCellWidth = nextCellWidth } } else { result.nextCellWidth = nextMinWidth; result.cellWidth = resizingInfo.currentColumnWidth + (delta - nextMinWidth + nextCellWidth) } } return result }(deltaX), cellWidth = _calculateCellWidths.cellWidth, nextCellWidth = _calculateCellWidths.nextCellWidth; needUpdate = column.width !== cellWidth; if (needUpdate) { columnsController.beginUpdate(); cellWidth = Math.floor(cellWidth); contentWidth = function(contentWidth, visibleColumns) { var allColumnsHaveWidth = visibleColumns.every((function(column) { return column.width })); if (allColumnsHaveWidth) { var totalPercent = visibleColumns.reduce((function(sum, column) { if (isPercentWidth(column.width)) { sum += parseFloat(column.width) } return sum }), 0); if (totalPercent > 100) { contentWidth = contentWidth / totalPercent * 100 } } return contentWidth }(contentWidth, visibleColumns); setColumnWidth(column, cellWidth, contentWidth, adaptColumnWidthByRatio); if (isNextColumnMode) { nextCellWidth = Math.floor(nextCellWidth); setColumnWidth(nextColumn, nextCellWidth, contentWidth, adaptColumnWidthByRatio) } else { var columnWidths = this._columnHeadersView.getColumnWidths(); columnWidths[resizingInfo.currentColumnIndex] = cellWidth; var hasScroll = columnWidths.reduce((function(totalWidth, width) { return totalWidth + width }), 0) > this._rowsView.contentWidth(); if (!hasScroll) { var lastColumnIndex = _m_utils.default.getLastResizableColumnIndex(visibleColumns); if (lastColumnIndex >= 0) { columnsController.columnOption(visibleColumns[lastColumnIndex].index, "visibleWidth", "auto") } } for (var i = 0; i < columnWidths.length; i++) { if (visibleColumns[i] && visibleColumns[i] !== column && void 0 === visibleColumns[i].width) { columnsController.columnOption(visibleColumns[i].index, "width", columnWidths[i]) } } } columnsController.endUpdate(); if (!isNextColumnMode) { this.component.updateDimensions(); var scrollable = this.component.getScrollable(); if (scrollable && isRtlParentStyle) { var left = (0, _size.getWidth)(scrollable.$content()) - (0, _size.getWidth)(scrollable.container()) - this._scrollRight; scrollable.scrollTo({ left: left }) } } } return needUpdate }, _subscribeToCallback: function(callback, handler) { callback.add(handler); this._subscribesToCallbacks.push({ callback: callback, handler: handler }) }, _unsubscribeFromCallbacks: function() { for (var i = 0; i < this._subscribesToCallbacks.length; i++) { var subscribe = this._subscribesToCallbacks[i]; subscribe.callback.remove(subscribe.handler) } this._subscribesToCallbacks = [] }, _unsubscribes: function() { this._unsubscribeFromEvents(); this._unsubscribeFromCallbacks() }, _init: function() { var that = this; var generatePointsByColumnsHandler = function() { if (!that._isResizing) { that.pointsByColumns(null) } }; var generatePointsByColumnsScrollHandler = function(offset) { if (that._scrollLeft !== offset.left) { that._scrollLeft = offset.left; that.pointsByColumns(null) } }; that._columnsSeparatorView = that.getView("columnsSeparatorView"); that._columnHeadersView = that.getView("columnHeadersView"); that._trackerView = that.getView("trackerView"); that._rowsView = that.getView("rowsView"); that._columnsController = that.getController("columns"); that._tablePositionController = that.getController("tablePosition"); that._$parentContainer = that.component.$element(); that._draggingHeaderView = that.component.getView("draggingHeaderView"); that._subscribeToCallback(that._columnHeadersView.renderCompleted, generatePointsByColumnsHandler); that._subscribeToCallback(that._columnHeadersView.resizeCompleted, generatePointsByColumnsHandler); that._subscribeToCallback(that._columnsSeparatorView.renderCompleted, (function() { that._unsubscribeFromEvents(); that._subscribeToEvents() })); that._subscribeToCallback(that._rowsView.renderCompleted, (function() { that._rowsView.scrollChanged.remove(generatePointsByColumnsScrollHandler); that._rowsView.scrollChanged.add(generatePointsByColumnsScrollHandler) })); var previousScrollbarVisibility = 0 !== that._rowsView.getScrollbarWidth(); var previousTableHeight = 0; that._subscribeToCallback(that.getController("tablePosition").positionChanged, (function(e) { if (that._isResizing && !that._rowsView.isResizing) { var scrollbarVisibility = 0 !== that._rowsView.getScrollbarWidth(); if (previousScrollbarVisibility !== scrollbarVisibility || previousTableHeight && previousTableHeight !== e.height) { previousScrollbarVisibility = scrollbarVisibility; previousTableHeight = e.height; that.component.updateDimensions() } else { that._rowsView.updateFreeSpaceRowHeight() } } previousTableHeight = e.height })) }, optionChanged: function(args) { this.callBase(args); if ("allowColumnResizing" === args.name) { if (args.value) { this._init(); this._subscribeToEvents() } else { this._unsubscribes() } } }, isResizing: function() { return this._isResizing }, init: function() { this._subscribesToCallbacks = []; if (allowResizing(this)) { this._init() } }, pointsByColumns: function(value) { if (void 0 !== value) { this._pointsByColumns = value } else { if (!this._pointsByColumns) { this._generatePointsByColumns() } return this._pointsByColumns } }, dispose: function() { this._unsubscribes(); this.callBase() } }); var TablePositionViewController = _m_modules.default.ViewController.inherit({ update: function(top) { var params = {}; var $element = this._columnHeadersView.element(); var offset = $element && $element.offset(); var offsetTop = offset && offset.top || 0; var diffOffsetTop = (0, _type.isDefined)(top) ? Math.abs(top - offsetTop) : 0; var columnsHeadersHeight = this._columnHeadersView ? this._columnHeadersView.getHeight() : 0; var scrollBarWidth = this._rowsView.getScrollbarWidth(true); var rowsHeight = this._rowsView ? this._rowsView.height() - scrollBarWidth : 0; var columnsResizerController = this.component.getController("columnsResizer"); var draggingHeaderView = this.component.getView("draggingHeaderView"); params.height = columnsHeadersHeight; var isDraggingOrResizing = columnsResizerController.isResizing() || draggingHeaderView.isDragging(); if (isDraggingOrResizing) { params.height += rowsHeight - diffOffsetTop } if (null !== top && $element && $element.length) { params.top = $element[0].offsetTop + diffOffsetTop } this.positionChanged.fire(params) }, init: function() { var that = this; that.callBase(); that._columnHeadersView = this.getView("columnHeadersView"); that._rowsView = this.getView("rowsView"); that._pagerView = this.getView("pagerView"); that._rowsView.resizeCompleted.add((function() { if (that.option("allowColumnResizing")) { var targetPoint = that.getController("columnsResizer")._targetPoint; that.update(targetPoint ? targetPoint.y : null) } })) }, ctor: function(component) { this.callBase(component); this.positionChanged = (0, _callbacks.default)() } }); var DraggingHeaderViewController = _m_modules.default.ViewController.inherit({ _generatePointsByColumns: function(options) { var that = this; return _m_utils.default.getPointsByColumns(options.columnElements, (function(point) { return that._pointCreated(point, options.columns, options.targetDraggingPanel.getName(), options.sourceColumn) }), options.isVerticalOrientation, options.startColumnIndex) }, _pointCreated: function(point, columns, location, sourceColumn) { var targetColumn = columns[point.columnIndex]; var prevColumn = columns[point.columnIndex - 1]; switch (location) { case "columnChooser": return true; case "headers": return sourceColumn && !sourceColumn.allowReordering || (!targetColumn || !targetColumn.allowReordering) && (!prevColumn || !prevColumn.allowReordering); default: return 0 === columns.length } }, _subscribeToEvents: function(draggingHeader, draggingPanels) { var that = this; (0, _iterator.each)(draggingPanels, (function(_, draggingPanel) { if (draggingPanel) { var columns; var rowCount = draggingPanel.getRowCount ? draggingPanel.getRowCount() : 1; var nameDraggingPanel = draggingPanel.getName(); var subscribeToEvents = function(index, columnElement) { if (!columnElement) { return } var $columnElement = (0, _renderer.default)(columnElement); var column = columns[index]; if (column && draggingPanel.allowDragging(column)) { $columnElement.addClass(that.addWidgetPrefix("drag-action")); _events_engine.default.on($columnElement, (0, _index.addNamespace)(_drag.start, MODULE_NAMESPACE), that.createAction((function(args) { var e = args.event; var eventData = (0, _index.eventData)(e); draggingHeader.dragHeader({ deltaX: eventData.x - (0, _renderer.default)(e.currentTarget).offset().left, deltaY: eventData.y - (0, _renderer.default)(e.currentTarget).offset().top, sourceColumn: column, index: column.index, columnIndex: index, columnElement: $columnElement, sourceLocation: nameDraggingPanel, draggingPanels: draggingPanels, rowIndex: that._columnsController.getRowIndex(column.index, true) }) }))); _events_engine.default.on($columnElement, (0, _index.addNamespace)(_drag.move, MODULE_NAMESPACE), { that: draggingHeader }, that.createAction(draggingHeader.moveHeader)); _events_engine.default.on($columnElement, (0, _index.addNamespace)(_drag.end, MODULE_NAMESPACE), { that: draggingHeader }, that.createAction(draggingHeader.dropHeader)) } }; for (var i = 0; i < rowCount; i++) { var columnElements = draggingPanel.getColumnElements(i) || []; if (columnElements.length) { columns = draggingPanel.getColumns(i) || []; (0, _iterator.each)(columnElements, subscribeToEvents) } } } })) }, _unsubscribeFromEvents: function(draggingHeader, draggingPanels) { var that = this; (0, _iterator.each)(draggingPanels, (function(_, draggingPanel) { if (draggingPanel) { var columnElements = draggingPanel.getColumnElements() || []; (0, _iterator.each)(columnElements, (function(index, columnElement) { var $columnElement = (0, _renderer.default)(columnElement); _events_engine.default.off($columnElement, (0, _index.addNamespace)(_drag.start, MODULE_NAMESPACE)); _events_engine.default.off($columnElement, (0, _index.addNamespace)(_drag.move, MODULE_NAMESPACE)); _events_engine.default.off($columnElement, (0, _index.addNamespace)(_drag.end, MODULE_NAMESPACE)); $columnElement.removeClass(that.addWidgetPrefix("drag-action")) })) } })) }, _getSeparator: function(targetLocation) { return "headers" === targetLocation ? this._columnsSeparatorView : this._blockSeparatorView }, hideSeparators: function(type) { var blockSeparator = this._blockSeparatorView; var columnsSeparator = this._columnsSeparatorView; this._animationColumnIndex = null; blockSeparator && blockSeparator.hide(); "block" !== type && columnsSeparator && columnsSeparator.hide() }, init: function() { var that = this; that.callBase(); that._columnsController = that.getController("columns"); that._columnHeadersView = that.getView("columnHeadersView"); that._columnsSeparatorView = that.getView("columnsSeparatorView"); that._draggingHeaderView = that.getView("draggingHeaderView"); that._rowsView = that.getView("rowsView"); that._blockSeparatorView = that.getView("blockSeparatorView"); that._headerPanelView = that.getView("headerPanel"); that._columnChooserView = that.getView("columnChooserView"); var subscribeToEvents = function() { if (that._draggingHeaderView) { var draggingPanels = [that._columnChooserView, that._columnHeadersView, that._headerPanelView]; that._unsubscribeFromEvents(that._draggingHeaderView, draggingPanels); that._subscribeToEvents(that._draggingHeaderView, draggingPanels) } }; that._columnHeadersView.renderCompleted.add(subscribeToEvents); that._headerPanelView && that._headerPanelView.renderCompleted.add(subscribeToEvents); that._columnChooserView && that._columnChooserView.renderCompleted.add(subscribeToEvents) }, allowDrop: function(parameters) { return this._columnsController.allowMoveColumn(parameters.sourceColumnIndex, parameters.targetColumnIndex, parameters.sourceLocation, parameters.targetLocation) }, drag: function(parameters) { var sourceIndex = parameters.sourceIndex; var sourceLocation = parameters.sourceLocation; var sourceColumnElement = parameters.sourceColumnElement; var headersView = this._columnHeadersView; var rowsView = this._rowsView; if (sourceColumnElement) { sourceColumnElement.css({ opacity: .5 }); if ("headers" === sourceLocation) { headersView && headersView.setRowsOpacity(sourceIndex, .5); rowsView && rowsView.setRowsOpacity(sourceIndex, .5) } } }, dock: function(parameters) { var that = this; var targetColumnIndex = (0, _type.isObject)(parameters.targetColumnIndex) ? parameters.targetColumnIndex.columnIndex : parameters.targetColumnIndex; var sourceLocation = parameters.sourceLocation; var targetLocation = parameters.targetLocation; var separator = that._getSeparator(targetLocation); var hasTargetVisibleIndex = targetColumnIndex >= 0; that._columnHeadersView.element().find(".".concat("dx-header-row")).toggleClass(that.addWidgetPrefix("drop-highlight"), "headers" !== sourceLocation && "headers" === targetLocation && !hasTargetVisibleIndex); if (separator) { if (that.allowDrop(parameters) && hasTargetVisibleIndex) { if ("group" === targetLocation || "columnChooser" === targetLocation) { ! function() { if (that._animationColumnIndex !== targetColumnIndex) { that.hideSeparators(); separator.element()[parameters.isLast ? "insertAfter" : "insertBefore"](parameters.targetColumnElement); that._animationColumnIndex = targetColumnIndex; separator.show(targetLocation) } }() } else { that.hideSeparators("block"); that.getController("tablePosition").update(parameters.posY); separator.moveByX(parameters.posX - separator.width()); separator.show() } } else { that.hideSeparators() } } }, drop: function(parameters) { var sourceColumnElement = parameters.sourceColumnElement; if (sourceColumnElement) { sourceColumnElement.css({ opacity: "" }); this._columnHeadersView.setRowsOpacity(parameters.sourceIndex, ""); this._rowsView.setRowsOpacity(parameters.sourceIndex, ""); this._columnHeadersView.element().find(".".concat("dx-header-row")).removeClass(this.addWidgetPrefix("drop-highlight")) } if (this.allowDrop(parameters)) { var separator = this._getSeparator(parameters.targetLocation); if (separator) { separator.hide() } this._columnsController.moveColumn(parameters.sourceColumnIndex, parameters.targetColumnIndex, parameters.sourceLocation, parameters.targetLocation) } }, dispose: function() { if (this._draggingHeaderView) { this._unsubscribeFromEvents(this._draggingHeaderView, [this._columnChooserView, this._columnHeadersView, this._headerPanelView]) } } }); var columnsResizingReorderingModule = { views: { columnsSeparatorView: ColumnsSeparatorView, blockSeparatorView: BlockSeparatorView, draggingHeaderView: DraggingHeaderView, trackerView: TrackerView }, controllers: { draggingHeader: DraggingHeaderViewController, tablePosition: TablePositionViewController, columnsResizer: ColumnsResizerViewController }, extenders: { views: { rowsView: { _needUpdateRowHeight: function(itemCount) { var wordWrapEnabled = this.option("wordWrapEnabled"); var columnsResizerController = this.getController("columnsResizer"); var isResizing = columnsResizerController.isResizing(); return this.callBase.apply(this, arguments) || itemCount > 0 && wordWrapEnabled && isResizing } } }, controllers: { editorFactory: { renderFocusOverlay: function() { if (this.getController("columnsResizer").isResizing()) { return } return this.callBase.apply(this, arguments) } } } } }; exports.columnsResizingReorderingModule = columnsResizingReorderingModule }, 69823: /*!*******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/context_menu/m_context_menu.js ***! \*******************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.contextMenuModule = void 0; var _element = __webpack_require__( /*! ../../../../core/element */ 6415); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _context_menu = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/context_menu */ 10042)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var viewName = { columnHeadersView: "header", rowsView: "content", footerView: "footer", headerPanel: "headerPanel" }; var VIEW_NAMES = ["columnHeadersView", "rowsView", "footerView", "headerPanel"]; var ContextMenuController = _m_modules.default.ViewController.inherit({ init: function() { this.createAction("onContextMenuPreparing") }, getContextMenuItems: function(dxEvent) { if (!dxEvent) { return false } var that = this; var $targetElement = (0, _renderer.default)(dxEvent.target); var $element; var $targetRowElement; var $targetCellElement; var menuItems; (0, _iterator.each)(VIEW_NAMES, (function() { var _a, _b; var view = that.getView(this); $element = view && view.element(); if ($element && ($element.is($targetElement) || $element.find($targetElement).length)) { $targetCellElement = $targetElement.closest(".dx-row > td, .dx-row > tr"); $targetRowElement = $targetCellElement.parent(); var rowIndex = view.getRowIndex($targetRowElement); var columnIndex = $targetCellElement[0] && $targetCellElement[0].cellIndex; var rowOptions = $targetRowElement.data("options"); var options = { event: dxEvent, targetElement: (0, _element.getPublicElement)($targetElement), target: viewName[this], rowIndex: rowIndex, row: view._getRows()[rowIndex], columnIndex: columnIndex, column: null === (_b = null === (_a = null === rowOptions || void 0 === rowOptions ? void 0 : rowOptions.cells) || void 0 === _a ? void 0 : _a[columnIndex]) || void 0 === _b ? void 0 : _b.column }; options.items = view.getContextMenuItems && view.getContextMenuItems(options); that.executeAction("onContextMenuPreparing", options); that._contextMenuPrepared(options); menuItems = options.items; if (menuItems) { return false } } return })); return menuItems }, _contextMenuPrepared: _common.noop }); var ContextMenuView = _m_modules.default.View.inherit({ _renderCore: function() { var that = this; var $element = that.element().addClass("dx-context-menu"); this.setAria("role", "presentation", $element); this._createComponent($element, _context_menu.default, { onPositioning: function(actionArgs) { var event = actionArgs.event; var contextMenuInstance = actionArgs.component; var items = that.getController("contextMenu").getContextMenuItems(event); if (items) { contextMenuInstance.option("items", items); event.stopPropagation() } else { actionArgs.cancel = true } }, onItemClick: function(params) { params.itemData.onItemClick && params.itemData.onItemClick(params) }, cssClass: that.getWidgetContainerClass(), target: that.component.$element() }) } }); var contextMenuModule = { defaultOptions: function() { return { onContextMenuPreparing: null } }, controllers: { contextMenu: ContextMenuController }, views: { contextMenuView: ContextMenuView } }; exports.contextMenuModule = contextMenuModule }, 72119: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/data_controller/m_data_controller.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.dataControllerModule = exports.DataController = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _array_compare = __webpack_require__( /*! ../../../../core/utils/array_compare */ 34671); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _array_store = _interopRequireDefault(__webpack_require__( /*! ../../../../data/array_store */ 26562)); var _custom_store = _interopRequireDefault(__webpack_require__( /*! ../../../../data/custom_store */ 88036)); var _data_helper = _interopRequireDefault(__webpack_require__( /*! ../../../../data_helper */ 53305)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/widget/ui.errors */ 96688)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var changePaging = function(that, optionName, value) { var dataSource = that._dataSource; if (dataSource) { if (void 0 !== value) { var oldValue = that._getPagingOptionValue(optionName); if (oldValue !== value) { if ("pageSize" === optionName) { dataSource.pageIndex(0) } dataSource[optionName](value); that._skipProcessingPagingChange = true; that.option("paging.".concat(optionName), value); that._skipProcessingPagingChange = false; var pageIndex = dataSource.pageIndex(); that._isPaging = "pageIndex" === optionName; return dataSource["pageIndex" === optionName ? "load" : "reload"]().done((function() { that._isPaging = false; that.pageChanged.fire(pageIndex) })) } return (0, _deferred.Deferred)().resolve().promise() } return dataSource[optionName]() } return 0 }; var ControllerWithDataMixin = _m_modules.default.Controller.inherit(_data_helper.default); var DataController = function(_ControllerWithDataMi) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DataController, _ControllerWithDataMi); function DataController() { return _ControllerWithDataMi.apply(this, arguments) || this } var _proto = DataController.prototype; _proto.init = function() { var _this = this; var that = this; that._items = []; that._cachedProcessedItems = null; that._columnsController = this.getController("columns"); that._isPaging = false; that._currentOperationTypes = null; that._dataChangedHandler = function(e) { that._currentOperationTypes = _this._dataSource.operationTypes(); that._handleDataChanged(e); that._currentOperationTypes = null }; that._columnsChangedHandler = that._handleColumnsChanged.bind(that); that._loadingChangedHandler = that._handleLoadingChanged.bind(that); that._loadErrorHandler = that._handleLoadError.bind(that); that._customizeStoreLoadOptionsHandler = that._handleCustomizeStoreLoadOptions.bind(that); that._changingHandler = that._handleChanging.bind(that); that._dataPushedHandler = that._handleDataPushed.bind(that); that._columnsController.columnsChanged.add(that._columnsChangedHandler); that._isLoading = false; that._isCustomLoading = false; that._repaintChangesOnly = void 0; that._changes = []; that.createAction("onDataErrorOccurred"); that.dataErrorOccurred.add((function(error) { return that.executeAction("onDataErrorOccurred", { error: error }) })); that._refreshDataSource() }; _proto._getPagingOptionValue = function(optionName) { return this._dataSource[optionName]() }; _proto.callbackNames = function() { return ["changed", "loadingChanged", "dataErrorOccurred", "pageChanged", "dataSourceChanged", "pushed"] }; _proto.callbackFlags = function(name) { if ("dataErrorOccurred" === name) { return { stopOnFalse: true } } return }; _proto.publicMethods = function() { return ["beginCustomLoading", "endCustomLoading", "refresh", "filter", "clearFilter", "getCombinedFilter", "keyOf", "byKey", "getDataByKeys", "pageIndex", "pageSize", "pageCount", "totalCount", "_disposeDataSource", "getKeyByRowIndex", "getRowIndexByKey", "getDataSource", "getVisibleRows", "repaintRows"] }; _proto.reset = function() { this._columnsController.reset(); this._items = []; this._refreshDataSource() }; _proto._handleDataSourceChange = function(args) { if (args.value === args.previousValue || this.option("columns") && Array.isArray(args.value) && Array.isArray(args.previousValue)) { var isValueChanged = args.value !== args.previousValue; if (isValueChanged) { var store = this.store(); if (store) { store._array = args.value } } if (this.needToRefreshOnDataSourceChange(args)) { this.refresh(this.option("repaintChangesOnly")) } return true } return false }; _proto.needToRefreshOnDataSourceChange = function(args) { return true }; _proto.optionChanged = function(args) { var _this2 = this; var that = this; var dataSource; var changedPagingOptions; function handled() { args.handled = true } if ("dataSource" === args.name && args.name === args.fullName && this._handleDataSourceChange(args)) { handled(); return } switch (args.name) { case "cacheEnabled": case "repaintChangesOnly": case "highlightChanges": case "loadingTimeout": handled(); break; case "remoteOperations": case "keyExpr": case "dataSource": case "scrolling": handled(); that.reset(); break; case "paging": dataSource = that.dataSource(); if (dataSource) { changedPagingOptions = that._setPagingOptions(dataSource); if (changedPagingOptions) { var pageIndex = dataSource.pageIndex(); this._isPaging = changedPagingOptions.isPageIndexChanged; dataSource.load().done((function() { _this2._isPaging = false; that.pageChanged.fire(pageIndex) })) } } handled(); break; case "rtlEnabled": that.reset(); break; case "columns": dataSource = that.dataSource(); if (dataSource && dataSource.isLoading() && args.name === args.fullName) { this._useSortingGroupingFromColumns = true; dataSource.load() } break; default: _ControllerWithDataMi.prototype.optionChanged.call(this, args) } }; _proto.isReady = function() { return !this._isLoading }; _proto.getDataSource = function() { return this._dataSource && this._dataSource._dataSource }; _proto.getCombinedFilter = function(returnDataField) { return this.combinedFilter(void 0, returnDataField) }; _proto.combinedFilter = function(filter, returnDataField) { if (!this._dataSource) { return filter } var combinedFilter = null !== filter && void 0 !== filter ? filter : this._dataSource.filter(); var isColumnsTypesDefined = this._columnsController.isDataSourceApplied() || this._columnsController.isAllDataTypesDefined(); if (isColumnsTypesDefined) { var additionalFilter = this._calculateAdditionalFilter(); combinedFilter = additionalFilter ? _m_utils.default.combineFilters([additionalFilter, combinedFilter]) : combinedFilter } var isRemoteFiltering = this._dataSource.remoteOperations().filtering || returnDataField; combinedFilter = this._columnsController.updateFilter(combinedFilter, isRemoteFiltering); return combinedFilter }; _proto.waitReady = function() { if (this._updateLockCount) { this._readyDeferred = new _deferred.Deferred; return this._readyDeferred } return (0, _deferred.when)() }; _proto._endUpdateCore = function() { var changes = this._changes; if (changes.length) { this._changes = []; var repaintChangesOnly = changes.every((function(change) { return change.repaintChangesOnly })); this.updateItems(1 === changes.length ? changes[0] : { repaintChangesOnly: repaintChangesOnly }) } if (this._readyDeferred) { this._readyDeferred.resolve(); this._readyDeferred = null } }; _proto._handleCustomizeStoreLoadOptions = function(e) { var _a; var columnsController = this._columnsController; var dataSource = this._dataSource; var storeLoadOptions = e.storeLoadOptions; if (e.isCustomLoading && !storeLoadOptions.isLoadingAll) { return } storeLoadOptions.filter = this.combinedFilter(storeLoadOptions.filter); if (1 === (null === (_a = storeLoadOptions.filter) || void 0 === _a ? void 0 : _a.length) && "!" === storeLoadOptions.filter[0]) { e.data = []; e.extra = e.extra || {}; e.extra.totalCount = 0 } if (!columnsController.isDataSourceApplied()) { columnsController.updateColumnDataTypes(dataSource) } this._columnsUpdating = true; columnsController.updateSortingGrouping(dataSource, !this._useSortingGroupingFromColumns); this._columnsUpdating = false; storeLoadOptions.sort = columnsController.getSortDataSourceParameters(); storeLoadOptions.group = columnsController.getGroupDataSourceParameters(); dataSource.sort(storeLoadOptions.sort); dataSource.group(storeLoadOptions.group); storeLoadOptions.sort = columnsController.getSortDataSourceParameters(!dataSource.remoteOperations().sorting); e.group = columnsController.getGroupDataSourceParameters(!dataSource.remoteOperations().grouping) }; _proto._handleColumnsChanged = function(e) { var that = this; var changeTypes = e.changeTypes; var optionNames = e.optionNames; var filterValue; var filterValues; var filterApplied; if (changeTypes.sorting || changeTypes.grouping) { if (that._dataSource && !that._columnsUpdating) { that._dataSource.group(that._columnsController.getGroupDataSourceParameters()); that._dataSource.sort(that._columnsController.getSortDataSourceParameters()); that.reload() } } else if (changeTypes.columns) { filterValues = that._columnsController.columnOption(e.columnIndex, "filterValues"); if (optionNames.filterValues || optionNames.filterType && Array.isArray(filterValues) || optionNames.filterValue || optionNames.selectedFilterOperation || optionNames.allowFiltering) { filterValue = that._columnsController.columnOption(e.columnIndex, "filterValue"); if (Array.isArray(filterValues) || void 0 === e.columnIndex || (0, _type.isDefined)(filterValue) || !optionNames.selectedFilterOperation || optionNames.filterValue) { that._applyFilter(); filterApplied = true } } if (!that._needApplyFilter && !_m_utils.default.checkChanges(optionNames, ["width", "visibleWidth", "filterValue", "bufferedFilterValue", "selectedFilterOperation", "filterValues", "filterType"])) { that._columnsController.columnsChanged.add((function updateItemsHandler(change) { var _a; that._columnsController.columnsChanged.remove(updateItemsHandler); that.updateItems({ repaintChangesOnly: false, virtualColumnsScrolling: null === (_a = null === change || void 0 === change ? void 0 : change.changeTypes) || void 0 === _a ? void 0 : _a.virtualColumnsScrolling }) })) } if ((0, _type.isDefined)(optionNames.visible)) { var column = that._columnsController.columnOption(e.columnIndex); if (column && ((0, _type.isDefined)(column.filterValue) || (0, _type.isDefined)(column.filterValues))) { that._applyFilter(); filterApplied = true } } } if (!filterApplied && changeTypes.filtering) { that.reload() } }; _proto._handleDataChanged = function(e) { var that = this; var dataSource = that._dataSource; var columnsController = that._columnsController; var isAsyncDataSourceApplying = false; this._useSortingGroupingFromColumns = false; if (dataSource && !that._isDataSourceApplying) { that._isDataSourceApplying = true; (0, _deferred.when)(that._columnsController.applyDataSource(dataSource)).done((function() { if (that._isLoading) { that._handleLoadingChanged(false) } if (isAsyncDataSourceApplying && e && e.isDelayed) { e.isDelayed = false } that._isDataSourceApplying = false; var needApplyFilter = that._needApplyFilter; that._needApplyFilter = false; if (needApplyFilter && !that._isAllDataTypesDefined && (additionalFilter = that._calculateAdditionalFilter(), additionalFilter && additionalFilter.length)) { _ui.default.log("W1005", that.component.NAME); that._applyFilter() } else { that.updateItems(e, true) } var additionalFilter })).fail((function() { that._isDataSourceApplying = false })); if (that._isDataSourceApplying) { isAsyncDataSourceApplying = true; that._handleLoadingChanged(true) } that._needApplyFilter = !that._columnsController.isDataSourceApplied(); that._isAllDataTypesDefined = columnsController.isAllDataTypesDefined() } }; _proto._handleLoadingChanged = function(isLoading) { this._isLoading = isLoading; this._fireLoadingChanged() }; _proto._handleLoadError = function(e) { this.dataErrorOccurred.fire(e) }; _proto._handleDataPushed = function(changes) { this.pushed.fire(changes) }; _proto.fireError = function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] } this.dataErrorOccurred.fire(_ui.default.Error.apply(_ui.default, args)) }; _proto._setPagingOptions = function(dataSource) { var pageIndex = this.option("paging.pageIndex"); var pageSize = this.option("paging.pageSize"); var pagingEnabled = this.option("paging.enabled"); var scrollingMode = this.option("scrolling.mode"); var appendMode = "infinite" === scrollingMode; var virtualMode = "virtual" === scrollingMode; var paginate = pagingEnabled || virtualMode || appendMode; var isPaginateChanged = false; var isPageSizeChanged = false; var isPageIndexChanged = false; dataSource.requireTotalCount(!appendMode); if (void 0 !== pagingEnabled && dataSource.paginate() !== paginate) { dataSource.paginate(paginate); isPaginateChanged = true } if (void 0 !== pageSize && dataSource.pageSize() !== pageSize) { dataSource.pageSize(pageSize); isPageSizeChanged = true } if (void 0 !== pageIndex && dataSource.pageIndex() !== pageIndex) { dataSource.pageIndex(pageIndex); isPageIndexChanged = true } if (isPaginateChanged || isPageSizeChanged || isPageIndexChanged) { return { isPaginateChanged: isPaginateChanged, isPageSizeChanged: isPageSizeChanged, isPageIndexChanged: isPageIndexChanged } } return false }; _proto._getSpecificDataSourceOption = function() { var dataSource = this.option("dataSource"); if (Array.isArray(dataSource)) { return { store: { type: "array", data: dataSource, key: this.option("keyExpr") } } } return dataSource }; _proto._initDataSource = function() { var oldDataSource = this._dataSource; _ControllerWithDataMi.prototype._initDataSource.call(this); var dataSource = this._dataSource; this._useSortingGroupingFromColumns = true; this._cachedProcessedItems = null; if (dataSource) { var changedPagingOptions = this._setPagingOptions(dataSource); this._isPaging = null === changedPagingOptions || void 0 === changedPagingOptions ? void 0 : changedPagingOptions.isPageIndexChanged; this.setDataSource(dataSource) } else if (oldDataSource) { this.updateItems() } }; _proto._loadDataSource = function() { var that = this; var dataSource = that._dataSource; var result = new _deferred.Deferred; (0, _deferred.when)(this._columnsController.refresh(true)).always((function() { if (dataSource) { dataSource.load().done((function() { that._isPaging = false; result.resolve.apply(result, arguments) })).fail(result.reject) } else { result.resolve() } })); return result.promise() }; _proto._beforeProcessItems = function(items) { return items.slice(0) }; _proto.getRowIndexDelta = function() { return 0 }; _proto.getDataIndex = function(change) { var visibleItems = this._items; var lastVisibleItem = "append" === change.changeType && visibleItems.length > 0 ? visibleItems[visibleItems.length - 1] : null; return (0, _type.isDefined)(null === lastVisibleItem || void 0 === lastVisibleItem ? void 0 : lastVisibleItem.dataIndex) ? lastVisibleItem.dataIndex + 1 : 0 }; _proto._processItems = function(items, change) { var that = this; var rowIndexDelta = that.getRowIndexDelta(); var changeType = change.changeType; var visibleColumns = that._columnsController.getVisibleColumns(null, "loadingAll" === changeType); var dataIndex = this.getDataIndex(change); var options = { visibleColumns: visibleColumns, dataIndex: dataIndex }; var result = []; (0, _iterator.each)(items, (function(index, item) { if ((0, _type.isDefined)(item)) { options.rowIndex = index - rowIndexDelta; item = that._processItem(item, options); result.push(item) } })); return result }; _proto._processItem = function(item, options) { item = this._generateDataItem(item, options); item = this._processDataItem(item, options); item.dataIndex = options.dataIndex++; return item }; _proto._generateDataItem = function(data, options) { return { rowType: "data", data: data, key: this.keyOf(data) } }; _proto._processDataItem = function(dataItem, options) { dataItem.values = this.generateDataValues(dataItem.data, options.visibleColumns); return dataItem }; _proto.generateDataValues = function(data, columns, isModified) { var values = []; var value; for (var i = 0; i < columns.length; i++) { var column = columns[i]; value = isModified ? void 0 : null; if (!column.command) { if (column.calculateCellValue) { value = column.calculateCellValue(data) } else if (column.dataField) { value = data[column.dataField] } } values.push(value) } return values }; _proto._applyChange = function(change) { if ("update" === change.changeType) { this._applyChangeUpdate(change) } else if (this.items().length && change.repaintChangesOnly && "refresh" === change.changeType) { this._applyChangesOnly(change) } else if ("refresh" === change.changeType) { this._applyChangeFull(change) } }; _proto._applyChangeFull = function(change) { this._items = change.items.slice(0) }; _proto._getRowIndices = function(change) { var rowIndices = change.rowIndices.slice(0); var rowIndexDelta = this.getRowIndexDelta(); rowIndices.sort((function(a, b) { return a - b })); for (var i = 0; i < rowIndices.length; i++) { var correctedRowIndex = rowIndices[i]; if (change.allowInvisibleRowIndices) { correctedRowIndex += rowIndexDelta } if (correctedRowIndex < 0) { rowIndices.splice(i, 1); i-- } } return rowIndices }; _proto._applyChangeUpdate = function(change) { var that = this; var items = change.items; var rowIndices = that._getRowIndices(change); var rowIndexDelta = that.getRowIndexDelta(); var repaintChangesOnly = that.option("repaintChangesOnly"); var prevIndex = -1; var rowIndexCorrection = 0; var changeType; change.items = []; change.rowIndices = []; change.columnIndices = []; change.changeTypes = []; var equalItems = function(item1, item2, strict) { var result = item1 && item2 && (0, _common.equalByValue)(item1.key, item2.key); if (result && strict) { result = item1.rowType === item2.rowType && ("detail" !== item2.rowType || item1.isEditing === item2.isEditing) } return result }; (0, _iterator.each)(rowIndices, (function(index, rowIndex) { var columnIndices; rowIndex += rowIndexCorrection + rowIndexDelta; if (prevIndex === rowIndex) { return } prevIndex = rowIndex; var oldItem = that._items[rowIndex]; var oldNextItem = that._items[rowIndex + 1]; var newItem = items[rowIndex]; var newNextItem = items[rowIndex + 1]; var strict = equalItems(oldItem, oldNextItem) || equalItems(newItem, newNextItem); if (newItem) { newItem.rowIndex = rowIndex; change.items.push(newItem) } if (oldItem && newItem && equalItems(oldItem, newItem, strict)) { changeType = "update"; that._items[rowIndex] = newItem; if (oldItem.visible !== newItem.visible) { change.items.splice(-1, 1, { visible: newItem.visible }) } else if (repaintChangesOnly && !change.isFullUpdate) { columnIndices = that._partialUpdateRow(oldItem, newItem, rowIndex - rowIndexDelta) } } else if (newItem && !oldItem || newNextItem && equalItems(oldItem, newNextItem, strict)) { changeType = "insert"; that._items.splice(rowIndex, 0, newItem); rowIndexCorrection++ } else if (oldItem && !newItem || oldNextItem && equalItems(newItem, oldNextItem, strict)) { changeType = "remove"; that._items.splice(rowIndex, 1); rowIndexCorrection--; prevIndex = -1 } else if (newItem) { changeType = "update"; that._items[rowIndex] = newItem } else { return } change.rowIndices.push(rowIndex - rowIndexDelta); change.changeTypes.push(changeType); change.columnIndices.push(columnIndices) })) }; _proto._isCellChanged = function(oldRow, newRow, visibleRowIndex, columnIndex, isLiveUpdate) { if (JSON.stringify(oldRow.values[columnIndex]) !== JSON.stringify(newRow.values[columnIndex])) { return true } function isCellModified(row, columnIndex) { return row.modifiedValues ? void 0 !== row.modifiedValues[columnIndex] : false } if (isCellModified(oldRow, columnIndex) !== isCellModified(newRow, columnIndex)) { return true } return false }; _proto._getChangedColumnIndices = function(oldItem, newItem, visibleRowIndex, isLiveUpdate) { var columnIndices; if (oldItem.rowType === newItem.rowType) { if ("group" !== newItem.rowType && "groupFooter" !== newItem.rowType) { columnIndices = []; if ("detail" !== newItem.rowType) { for (var columnIndex = 0; columnIndex < oldItem.values.length; columnIndex++) { if (this._isCellChanged(oldItem, newItem, visibleRowIndex, columnIndex, isLiveUpdate)) { columnIndices.push(columnIndex) } } } } if ("group" === newItem.rowType && newItem.isExpanded === oldItem.isExpanded && oldItem.cells) { columnIndices = oldItem.cells.map((function(cell, index) { var _a; return "groupExpand" !== (null === (_a = cell.column) || void 0 === _a ? void 0 : _a.type) ? index : -1 })).filter((function(index) { return index >= 0 })) } } return columnIndices }; _proto._partialUpdateRow = function(oldItem, newItem, visibleRowIndex, isLiveUpdate) { var changedColumnIndices = this._getChangedColumnIndices(oldItem, newItem, visibleRowIndex, isLiveUpdate); if ((null === changedColumnIndices || void 0 === changedColumnIndices ? void 0 : changedColumnIndices.length) && this.option("dataRowTemplate")) { changedColumnIndices = void 0 } if (changedColumnIndices) { oldItem.cells && oldItem.cells.forEach((function(cell, columnIndex) { var isCellChanged = changedColumnIndices.indexOf(columnIndex) >= 0; if (!isCellChanged && cell && cell.update) { cell.update(newItem) } })); newItem.update = oldItem.update; newItem.watch = oldItem.watch; newItem.cells = oldItem.cells; if (isLiveUpdate) { newItem.oldValues = oldItem.values } oldItem.update && oldItem.update(newItem) } return changedColumnIndices }; _proto._isItemEquals = function(item1, item2) { var _a, _b, _c, _d; if (JSON.stringify(item1.values) !== JSON.stringify(item2.values)) { return false } if (["modified", "isNewRow", "removed", "isEditing"].some((function(field) { return item1[field] !== item2[field] }))) { return false } if ("group" === item1.rowType || "groupFooter" === item1.rowType) { var expandedMatch = item1.isExpanded === item2.isExpanded; var summaryCellsMatch = JSON.stringify(item1.summaryCells) === JSON.stringify(item2.summaryCells); var continuationMatch = (null === (_a = item1.data) || void 0 === _a ? void 0 : _a.isContinuation) === (null === (_b = item2.data) || void 0 === _b ? void 0 : _b.isContinuation) && (null === (_c = item1.data) || void 0 === _c ? void 0 : _c.isContinuationOnNextPage) === (null === (_d = item2.data) || void 0 === _d ? void 0 : _d.isContinuationOnNextPage); if (!expandedMatch || !summaryCellsMatch || !continuationMatch) { return false } } return true }; _proto._applyChangesOnly = function(change) { var _this3 = this; var _a; var rowIndices = []; var columnIndices = []; var changeTypes = []; var items = []; var newIndexByKey = {}; var isLiveUpdate = null !== (_a = null === change || void 0 === change ? void 0 : change.isLiveUpdate) && void 0 !== _a ? _a : true; function getRowKey(row) { if (row) { return "".concat(row.rowType, ",").concat(JSON.stringify(row.key)) } return } var currentItems = this._items; var oldItems = currentItems.slice(); change.items.forEach((function(item, index) { var key = getRowKey(item); newIndexByKey[key] = index; item.rowIndex = index })); var result = (0, _array_compare.findChanges)(oldItems, change.items, getRowKey, (function(item1, item2) { if (!_this3._isItemEquals(item1, item2)) { return false } if (item1.cells) { item1.update && item1.update(item2); item1.cells.forEach((function(cell) { if (cell && cell.update) { cell.update(item2, true) } })) } return true })); if (!result) { this._applyChangeFull(change); return } result.forEach((function(change) { switch (change.type) { case "update": var index = change.index; var newItem = change.data; var oldItem = change.oldItem; var changedColumnIndices = _this3._partialUpdateRow(oldItem, newItem, index, isLiveUpdate); rowIndices.push(index); changeTypes.push("update"); items.push(newItem); currentItems[index] = newItem; columnIndices.push(changedColumnIndices); break; case "insert": rowIndices.push(change.index); changeTypes.push("insert"); items.push(change.data); columnIndices.push(void 0); currentItems.splice(change.index, 0, change.data); break; case "remove": rowIndices.push(change.index); changeTypes.push("remove"); currentItems.splice(change.index, 1); items.push(change.oldItem); columnIndices.push(void 0) } })); change.repaintChangesOnly = true; change.changeType = "update"; change.rowIndices = rowIndices; change.columnIndices = columnIndices; change.changeTypes = changeTypes; change.items = items; if (oldItems.length) { change.isLiveUpdate = true } this._correctRowIndices((function(rowIndex) { var oldRowIndexOffset = _this3._rowIndexOffset || 0; var rowIndexOffset = _this3.getRowIndexOffset(); var oldItem = oldItems[rowIndex - oldRowIndexOffset]; var key = getRowKey(oldItem); var newVisibleRowIndex = newIndexByKey[key]; return newVisibleRowIndex >= 0 ? newVisibleRowIndex + rowIndexOffset - rowIndex : 0 })) }; _proto._correctRowIndices = function(rowIndex) {}; _proto._afterProcessItems = function(items, change) { return items }; _proto._updateItemsCore = function(change) { var items; var dataSource = this._dataSource; var changeType = change.changeType || "refresh"; change.changeType = changeType; if (dataSource) { var cachedProcessedItems = this._cachedProcessedItems; if (change.useProcessedItemsCache && cachedProcessedItems) { items = cachedProcessedItems } else { items = change.items || dataSource.items(); items = this._beforeProcessItems(items); items = this._processItems(items, change); this._cachedProcessedItems = items } items = this._afterProcessItems(items, change); change.items = items; var oldItems = this._items.length === items.length && this._items; this._applyChange(change); var rowIndexDelta = this.getRowIndexDelta(); (0, _iterator.each)(this._items, (function(index, item) { var _a; item.rowIndex = index - rowIndexDelta; if (oldItems) { item.cells = null !== (_a = oldItems[index].cells) && void 0 !== _a ? _a : [] } var newItem = items[index]; if (newItem) { item.loadIndex = newItem.loadIndex } })); this._rowIndexOffset = this.getRowIndexOffset() } else { this._items = [] } }; _proto._handleChanging = function(e) { var rows = this.getVisibleRows(); var dataSource = this.dataSource(); if (dataSource) { e.changes.forEach((function(change) { if ("insert" === change.type && change.index >= 0) { var dataIndex = 0; for (var i = 0; i < change.index; i++) { var row = rows[i]; if (row && ("data" === row.rowType || "group" === row.rowType)) { dataIndex++ } } change.index = dataIndex } })) } }; _proto.updateItems = function(change, isDataChanged) { var _a; change = change || {}; if (void 0 !== this._repaintChangesOnly) { change.repaintChangesOnly = null !== (_a = change.repaintChangesOnly) && void 0 !== _a ? _a : this._repaintChangesOnly; change.needUpdateDimensions = change.needUpdateDimensions || this._needUpdateDimensions } else if (change.changes) { change.repaintChangesOnly = this.option("repaintChangesOnly") } else if (isDataChanged) { var operationTypes = this.dataSource().operationTypes(); change.repaintChangesOnly = operationTypes && !operationTypes.grouping && !operationTypes.filtering && this.option("repaintChangesOnly"); change.isDataChanged = true; if (operationTypes && (operationTypes.reload || operationTypes.paging || operationTypes.groupExpanding)) { change.needUpdateDimensions = true } } if (this._updateLockCount && !change.cancel) { this._changes.push(change); return } this._updateItemsCore(change); if (change.cancel) { return } this._fireChanged(change) }; _proto.loadingOperationTypes = function() { var dataSource = this.dataSource(); return dataSource && dataSource.loadingOperationTypes() || {} }; _proto._fireChanged = function(change) { var _this4 = this; if (this._currentOperationTypes) { change.operationTypes = this._currentOperationTypes; this._currentOperationTypes = null }(0, _common.deferRender)((function() { _this4.changed.fire(change) })) }; _proto.isLoading = function() { return this._isLoading || this._isCustomLoading }; _proto._fireLoadingChanged = function() { this.loadingChanged.fire(this.isLoading(), this._loadingText) }; _proto._calculateAdditionalFilter = function() { return null }; _proto._applyFilter = function() { var _this5 = this; var dataSource = this._dataSource; if (dataSource) { dataSource.pageIndex(0); this._isFilterApplying = true; return this.reload().done((function() { if (_this5._isFilterApplying) { _this5.pageChanged.fire() } })) } }; _proto.resetFilterApplying = function() { this._isFilterApplying = false }; _proto.filter = function(filterExpr) { var dataSource = this._dataSource; var filter = dataSource && dataSource.filter(); if (0 === arguments.length) { return filter } filterExpr = arguments.length > 1 ? Array.prototype.slice.call(arguments, 0) : filterExpr; if (_m_utils.default.equalFilterParameters(filter, filterExpr)) { return } if (dataSource) { dataSource.filter(filterExpr) } this._applyFilter() }; _proto.clearFilter = function(filterName) { var that = this; var columnsController = that._columnsController; var clearColumnOption = function(optionName) { var columnCount = columnsController.columnCount(); for (var index = 0; index < columnCount; index++) { columnsController.columnOption(index, optionName, void 0) } }; that.component.beginUpdate(); if (arguments.length > 0) { switch (filterName) { case "dataSource": that.filter(null); break; case "search": that.searchByText(""); break; case "header": clearColumnOption("filterValues"); break; case "row": clearColumnOption("filterValue") } } else { that.filter(null); that.searchByText(""); clearColumnOption("filterValue"); clearColumnOption("bufferedFilterValue"); clearColumnOption("filterValues") } that.component.endUpdate() }; _proto._fireDataSourceChanged = function() { var that = this; that.changed.add((function changedHandler() { that.changed.remove(changedHandler); that.dataSourceChanged.fire() })) }; _proto._getDataSourceAdapter = function() {}; _proto._createDataSourceAdapterCore = function(dataSource, remoteOperations) { var dataSourceAdapterProvider = this._getDataSourceAdapter(); var dataSourceAdapter = dataSourceAdapterProvider.create(this.component); dataSourceAdapter.init(dataSource, remoteOperations); return dataSourceAdapter }; _proto.isLocalStore = function() { var store = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.store(); return store instanceof _array_store.default }; _proto.isCustomStore = function(store) { store = store || this.store(); return store instanceof _custom_store.default }; _proto._createDataSourceAdapter = function(dataSource) { var remoteOperations = this.option("remoteOperations"); var store = dataSource.store(); var enabledRemoteOperations = { filtering: true, sorting: true, paging: true, grouping: true, summary: true }; if ((0, _type.isObject)(remoteOperations) && remoteOperations.groupPaging) { remoteOperations = (0, _extend.extend)({}, enabledRemoteOperations, remoteOperations) } if ("auto" === remoteOperations) { remoteOperations = this.isLocalStore(store) || this.isCustomStore(store) ? {} : { filtering: true, sorting: true, paging: true } } if (true === remoteOperations) { remoteOperations = enabledRemoteOperations } return this._createDataSourceAdapterCore(dataSource, remoteOperations) }; _proto.setDataSource = function(dataSource) { var oldDataSource = this._dataSource; if (!dataSource && oldDataSource) { oldDataSource.cancelAll(); oldDataSource.changed.remove(this._dataChangedHandler); oldDataSource.loadingChanged.remove(this._loadingChangedHandler); oldDataSource.loadError.remove(this._loadErrorHandler); oldDataSource.customizeStoreLoadOptions.remove(this._customizeStoreLoadOptionsHandler); oldDataSource.changing.remove(this._changingHandler); oldDataSource.pushed.remove(this._dataPushedHandler); oldDataSource.dispose(this._isSharedDataSource) } if (dataSource) { dataSource = this._createDataSourceAdapter(dataSource) } this._dataSource = dataSource; if (dataSource) { this._fireDataSourceChanged(); this._isLoading = !dataSource.isLoaded(); this._needApplyFilter = true; this._isAllDataTypesDefined = this._columnsController.isAllDataTypesDefined(); dataSource.changed.add(this._dataChangedHandler); dataSource.loadingChanged.add(this._loadingChangedHandler); dataSource.loadError.add(this._loadErrorHandler); dataSource.customizeStoreLoadOptions.add(this._customizeStoreLoadOptionsHandler); dataSource.changing.add(this._changingHandler); dataSource.pushed.add(this._dataPushedHandler) } }; _proto.items = function(byLoaded) { return this._items }; _proto.isEmpty = function() { return !this.items().length }; _proto.pageCount = function() { return this._dataSource ? this._dataSource.pageCount() : 1 }; _proto.dataSource = function() { return this._dataSource }; _proto.store = function() { var dataSource = this._dataSource; return dataSource && dataSource.store() }; _proto.loadAll = function(data) { var skipFilter = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false; var that = this; var d = new _deferred.Deferred; var dataSource = that._dataSource; if (dataSource) { if (data) { var options = { data: data, isCustomLoading: true, storeLoadOptions: { isLoadingAll: true }, loadOptions: { filter: skipFilter ? null : that.getCombinedFilter(), group: dataSource.group(), sort: dataSource.sort() } }; dataSource._handleDataLoaded(options); (0, _deferred.when)(options.data).done((function(data) { var _a; data = that._beforeProcessItems(data); d.resolve(that._processItems(data, { changeType: "loadingAll" }), null === (_a = options.extra) || void 0 === _a ? void 0 : _a.summary) })).fail(d.reject) } else if (!dataSource.isLoading()) { var loadOptions = (0, _extend.extend)({}, dataSource.loadOptions(), { isLoadingAll: true, requireTotalCount: false }); dataSource.load(loadOptions).done((function(items, extra) { items = that._beforeProcessItems(items); items = that._processItems(items, { changeType: "loadingAll" }); d.resolve(items, extra && extra.summary) })).fail(d.reject) } else { d.reject() } } else { d.resolve([]) } return d }; _proto.getKeyByRowIndex = function(rowIndex, byLoaded) { var item = this.items(byLoaded)[rowIndex]; if (item) { return item.key } }; _proto.getRowIndexByKey = function(key, byLoaded) { return _m_utils.default.getIndexByKey(key, this.items(byLoaded)) }; _proto.keyOf = function(data) { var store = this.store(); if (store) { return store.keyOf(data) } }; _proto.byKey = function(key) { var store = this.store(); var rowIndex = this.getRowIndexByKey(key); var result; if (!store) { return } if (rowIndex >= 0) { result = (new _deferred.Deferred).resolve(this.items()[rowIndex].data) } return result || store.byKey(key) }; _proto.key = function() { var store = this.store(); if (store) { return store.key() } }; _proto.getRowIndexOffset = function(byLoadedRows) { return 0 }; _proto.getDataByKeys = function(rowKeys) { var that = this; var result = new _deferred.Deferred; var deferreds = []; var data = []; (0, _iterator.each)(rowKeys, (function(index, key) { deferreds.push(that.byKey(key).done((function(keyData) { data[index] = keyData }))) })); _deferred.when.apply(_renderer.default, deferreds).always((function() { result.resolve(data) })); return result }; _proto.pageIndex = function(value) { return changePaging(this, "pageIndex", value) }; _proto.pageSize = function(value) { return changePaging(this, "pageSize", value) }; _proto.beginCustomLoading = function(messageText) { this._isCustomLoading = true; this._loadingText = messageText || ""; this._fireLoadingChanged() }; _proto.endCustomLoading = function() { this._isCustomLoading = false; this._loadingText = void 0; this._fireLoadingChanged() }; _proto.refresh = function(options) { if (true === options) { options = { reload: true, changesOnly: true } } else if (!options) { options = { lookup: true, selection: true, reload: true } } var that = this; var dataSource = that.getDataSource(); var _options = options, changesOnly = _options.changesOnly; var d = new _deferred.Deferred; var customizeLoadResult = function() { that._repaintChangesOnly = !!changesOnly }; (0, _deferred.when)(!options.lookup || that._columnsController.refresh()).always((function() { if (options.load || options.reload) { dataSource && dataSource.on("customizeLoadResult", customizeLoadResult); (0, _deferred.when)(that.reload(options.reload, changesOnly)).always((function() { dataSource && dataSource.off("customizeLoadResult", customizeLoadResult); that._repaintChangesOnly = void 0 })).done(d.resolve).fail(d.reject) } else { that.updateItems({ repaintChangesOnly: options.changesOnly }); d.resolve() } })); return d.promise() }; _proto.getVisibleRows = function() { return this.items() }; _proto._disposeDataSource = function() { this.setDataSource(null) }; _proto.dispose = function() { this._disposeDataSource(); _ControllerWithDataMi.prototype.dispose.call(this) }; _proto.repaintRows = function(rowIndexes, changesOnly) { rowIndexes = Array.isArray(rowIndexes) ? rowIndexes : [rowIndexes]; if (rowIndexes.length > 1 || (0, _type.isDefined)(rowIndexes[0])) { this.updateItems({ changeType: "update", rowIndices: rowIndexes, isFullUpdate: !changesOnly }) } }; _proto.skipProcessingPagingChange = function(fullName) { return this._skipProcessingPagingChange && ("paging.pageIndex" === fullName || "paging.pageSize" === fullName) }; _proto.getUserState = function() { return { searchText: this.option("searchPanel.text"), pageIndex: this.pageIndex(), pageSize: this.pageSize() } }; _proto.getCachedStoreData = function() { return this._dataSource && this._dataSource.getCachedStoreData() }; _proto.isLastPageLoaded = function() { var pageIndex = this.pageIndex(); var pageCount = this.pageCount(); return pageIndex === pageCount - 1 }; _proto.load = function() { var _a; return null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.load() }; _proto.reload = function(_reload, changesOnly) { var _a; return null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.reload(_reload, changesOnly) }; _proto.push = function() { var _a2; var _a; return null === (_a = this._dataSource) || void 0 === _a ? void 0 : (_a2 = _a).push.apply(_a2, arguments) }; _proto.itemsCount = function() { var _a; return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.itemsCount() : 0 }; _proto.totalItemsCount = function() { var _a; return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.totalItemsCount() : 0 }; _proto.hasKnownLastPage = function() { var _a; return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.hasKnownLastPage() : true }; _proto.isLoaded = function() { var _a; return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.isLoaded() : true }; _proto.totalCount = function() { var _a; return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.totalCount() : 0 }; return DataController }(ControllerWithDataMixin); exports.DataController = DataController; var dataControllerModule = { defaultOptions: function() { return { loadingTimeout: 0, dataSource: null, cacheEnabled: true, repaintChangesOnly: false, highlightChanges: false, onDataErrorOccurred: null, remoteOperations: "auto", paging: { enabled: true, pageSize: void 0, pageIndex: void 0 } } }, controllers: { data: DataController } }; exports.dataControllerModule = dataControllerModule }, 30945: /*!*********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/data_source_adapter/m_data_source_adapter.js ***! \*********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/callbacks */ 44504)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _array_store = _interopRequireDefault(__webpack_require__( /*! ../../../../data/array_store */ 26562)); var _array_utils = __webpack_require__( /*! ../../../../data/array_utils */ 60637); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var _default = _m_modules.default.Controller.inherit(function() { function cloneItems(items, groupCount) { if (items) { items = items.slice(0); if (groupCount) { for (var i = 0; i < items.length; i++) { items[i] = (0, _extend.extend)({ key: items[i].key }, items[i]); items[i].items = cloneItems(items[i].items, groupCount - 1) } } } return items } function calculateOperationTypes(loadOptions, lastLoadOptions, isFullReload) { var operationTypes = { reload: true, fullReload: true }; if (lastLoadOptions) { operationTypes = { sorting: !_m_utils.default.equalSortParameters(loadOptions.sort, lastLoadOptions.sort), grouping: !_m_utils.default.equalSortParameters(loadOptions.group, lastLoadOptions.group, true), groupExpanding: !_m_utils.default.equalSortParameters(loadOptions.group, lastLoadOptions.group) || lastLoadOptions.groupExpand, filtering: !_m_utils.default.equalFilterParameters(loadOptions.filter, lastLoadOptions.filter), pageIndex: loadOptions.pageIndex !== lastLoadOptions.pageIndex, skip: loadOptions.skip !== lastLoadOptions.skip, take: loadOptions.take !== lastLoadOptions.take, pageSize: loadOptions.pageSize !== lastLoadOptions.pageSize, fullReload: isFullReload, reload: false, paging: false }; operationTypes.reload = isFullReload || operationTypes.sorting || operationTypes.grouping || operationTypes.filtering; operationTypes.paging = operationTypes.pageIndex || operationTypes.pageSize || operationTypes.take } return operationTypes } function getPageDataFromCache(options, updatePaging) { var groupCount = _m_utils.default.normalizeSortingInfo(options.group || options.storeLoadOptions.group || options.loadOptions.group).length; var items = []; if (fillItemsFromCache(items, options, groupCount)) { return items } if (updatePaging) { ! function(cacheItemsFromBegin, options, groupCount) { var _a, _b; var cacheItemBeginCount = cacheItemsFromBegin.length; var storeLoadOptions = options.storeLoadOptions; if (void 0 !== storeLoadOptions.skip && storeLoadOptions.take && !groupCount) { var cacheItemsFromEnd = []; fillItemsFromCache(cacheItemsFromEnd, options, groupCount, true); var cacheItemEndCount = cacheItemsFromEnd.length; if (cacheItemBeginCount || cacheItemEndCount) { options.skip = null !== (_a = options.skip) && void 0 !== _a ? _a : storeLoadOptions.skip; options.take = null !== (_b = options.take) && void 0 !== _b ? _b : storeLoadOptions.take } if (cacheItemBeginCount) { storeLoadOptions.skip += cacheItemBeginCount; storeLoadOptions.take -= cacheItemBeginCount; options.cachedDataPartBegin = cacheItemsFromBegin } if (cacheItemEndCount) { storeLoadOptions.take -= cacheItemEndCount; options.cachedDataPartEnd = cacheItemsFromEnd.reverse() } } }(items, options, groupCount) } } function fillItemsFromCache(items, options, groupCount, fromEnd) { var _a, _b, _c, _d, _e; var storeLoadOptions = options.storeLoadOptions; var take = null !== (_b = null !== (_a = options.take) && void 0 !== _a ? _a : storeLoadOptions.take) && void 0 !== _b ? _b : 0; var cachedItems = null === (_c = options.cachedData) || void 0 === _c ? void 0 : _c.items; if (take && cachedItems) { var skip = null !== (_e = null !== (_d = options.skip) && void 0 !== _d ? _d : storeLoadOptions.skip) && void 0 !== _e ? _e : 0; for (var i = 0; i < take; i++) { var localIndex = fromEnd ? take - 1 - i : i; var cacheItemIndex = localIndex + skip; var cacheItem = cachedItems[cacheItemIndex]; if (void 0 === cacheItem && cacheItemIndex in cachedItems) { return true } var item = getItemFromCache(options, cacheItem, groupCount, localIndex, take); if (item) { items.push(item) } else { return false } } return true } return false } function getItemFromCache(options, cacheItem, groupCount, index, take) { if (groupCount && cacheItem) { var skips = 0 === index && options.skips || []; var takes = index === take - 1 && options.takes || []; return function getGroupItemFromCache(cacheItem, groupCount, skips, takes) { if (groupCount && cacheItem) { var result = _extends({}, cacheItem); var skip = skips[0] || 0; var take = takes[0]; var items = cacheItem.items; if (items) { if (void 0 === take && !items[skip]) { return } result.items = []; if (skips.length) { result.isContinuation = true } if (take) { result.isContinuationOnNextPage = cacheItem.count > take } for (var i = 0; void 0 === take ? items[i + skip] : i < take; i++) { var childCacheItem = items[i + skip]; var isLast = i + 1 === take; var item = getGroupItemFromCache(childCacheItem, groupCount - 1, 0 === i ? skips.slice(1) : [], isLast ? takes.slice(1) : []); if (void 0 !== item) { result.items.push(item) } else { return } } } return result } return cacheItem }(cacheItem, groupCount, skips, takes) } return cacheItem } function getCacheItem(cacheItem, loadedItem, groupCount, skips) { if (groupCount && loadedItem) { var result = _extends({}, loadedItem); delete result.isContinuation; delete result.isContinuationOnNextPage; var skip = skips[0] || 0; if (loadedItem.items) { result.items = (null === cacheItem || void 0 === cacheItem ? void 0 : cacheItem.items) || {}; loadedItem.items.forEach((function(item, index) { var globalIndex = index + skip; var childSkips = 0 === index ? skips.slice(1) : []; result.items[globalIndex] = getCacheItem(result.items[globalIndex], item, groupCount - 1, childSkips) })) } return result } return loadedItem } var members = { init: function(dataSource, remoteOperations) { var that = this; that._dataSource = dataSource; that._remoteOperations = remoteOperations || {}; that._isLastPage = !dataSource.isLastPage(); that._hasLastPage = false; that._currentTotalCount = 0; that._cachedData = { items: {} }; that._lastOperationTypes = {}; that._eventsStrategy = dataSource._eventsStrategy; that._totalCountCorrection = 0; that._isLoadingAll = false; that.changed = (0, _callbacks.default)(); that.loadingChanged = (0, _callbacks.default)(); that.loadError = (0, _callbacks.default)(); that.customizeStoreLoadOptions = (0, _callbacks.default)(); that.changing = (0, _callbacks.default)(); that.pushed = (0, _callbacks.default)(); that._dataChangedHandler = that._handleDataChanged.bind(that); that._customizeStoreLoadOptionsHandler = that._handleCustomizeStoreLoadOptions.bind(that); that._dataLoadedHandler = that._handleDataLoaded.bind(that); that._loadingChangedHandler = that._handleLoadingChanged.bind(that); that._loadErrorHandler = that._handleLoadError.bind(that); that._pushHandler = that._handlePush.bind(that); that._changingHandler = that._handleChanging.bind(that); dataSource.on("changed", that._dataChangedHandler); dataSource.on("customizeStoreLoadOptions", that._customizeStoreLoadOptionsHandler); dataSource.on("customizeLoadResult", that._dataLoadedHandler); dataSource.on("loadingChanged", that._loadingChangedHandler); dataSource.on("loadError", that._loadErrorHandler); dataSource.on("changing", that._changingHandler); dataSource.store().on("beforePush", that._pushHandler); (0, _iterator.each)(dataSource, (function(memberName, member) { if (!that[memberName] && (0, _type.isFunction)(member)) { that[memberName] = function() { return this._dataSource[memberName].apply(this._dataSource, arguments) } } })) }, remoteOperations: function() { return this._remoteOperations }, dispose: function(isSharedDataSource) { var dataSource = this._dataSource; var store = dataSource.store(); dataSource.off("changed", this._dataChangedHandler); dataSource.off("customizeStoreLoadOptions", this._customizeStoreLoadOptionsHandler); dataSource.off("customizeLoadResult", this._dataLoadedHandler); dataSource.off("loadingChanged", this._loadingChangedHandler); dataSource.off("loadError", this._loadErrorHandler); dataSource.off("changing", this._changingHandler); store && store.off("beforePush", this._pushHandler); if (!isSharedDataSource) { dataSource.dispose() } }, refresh: function(options, operationTypes) { var dataSource = this._dataSource; if (operationTypes.reload) { this.resetCurrentTotalCount(); this._isLastPage = !dataSource.paginate(); this._hasLastPage = this._isLastPage } }, resetCurrentTotalCount: function() { this._currentTotalCount = 0; this._totalCountCorrection = 0 }, resetCache: function() { this._cachedStoreData = void 0; this._cachedPagingData = void 0 }, resetPagesCache: function() { this._cachedData = { items: {} } }, _needClearStoreDataCache: function() { var remoteOperations = this.remoteOperations(); var operationTypes = calculateOperationTypes(this._lastLoadOptions || {}, {}); var isLocalOperations = Object.keys(remoteOperations).every((function(operationName) { return !operationTypes[operationName] || !remoteOperations[operationName] })); return !isLocalOperations }, push: function(changes, fromStore) { var store = this.store(); if (this._needClearStoreDataCache()) { this._cachedStoreData = void 0 } this._cachedPagingData = void 0; this.resetPagesCache(true); if (this._cachedStoreData) { (0, _array_utils.applyBatch)({ keyInfo: store, data: this._cachedStoreData, changes: changes }) } if (!fromStore) { this._applyBatch(changes) } this.pushed.fire(changes) }, getDataIndexGetter: function() { var _this = this; if (!this._dataIndexGetter) { var indexByKey; var storeData; var store = this.store(); this._dataIndexGetter = function(data) { var isCacheUpdated = storeData && storeData !== _this._cachedStoreData; if (!indexByKey || isCacheUpdated) { storeData = _this._cachedStoreData || []; indexByKey = {}; for (var i = 0; i < storeData.length; i++) { indexByKey[(0, _common.getKeyHash)(store.keyOf(storeData[i]))] = i } } return indexByKey[(0, _common.getKeyHash)(store.keyOf(data))] } } return this._dataIndexGetter }, _getKeyInfo: function() { return this.store() }, _needToCopyDataObject: function() { return true }, _applyBatch: function(changes, fromStore) { var _this2 = this; var keyInfo = this._getKeyInfo(); var dataSource = this._dataSource; var groupCount = _m_utils.default.normalizeSortingInfo(this.group()).length; var isReshapeMode = "reshape" === this.option("editing.refreshMode"); var isVirtualMode = "virtual" === this.option("scrolling.mode"); changes = changes.filter((function(change) { return !dataSource.paginate() || "insert" !== change.type || void 0 !== change.index })); var getItemCount = function() { return groupCount ? _this2.itemsCount() : _this2.items().length }; var oldItemCount = getItemCount(); (0, _array_utils.applyBatch)({ keyInfo: keyInfo, data: this._items, changes: changes, groupCount: groupCount, useInsertIndex: true, skipCopying: !this._needToCopyDataObject() }); (0, _array_utils.applyBatch)({ keyInfo: keyInfo, data: dataSource.items(), changes: changes, groupCount: groupCount, useInsertIndex: true, skipCopying: !this._needToCopyDataObject() }); var needUpdateTotalCountCorrection = this._currentTotalCount > 0 || (fromStore || !isReshapeMode) && isVirtualMode; if (needUpdateTotalCountCorrection) { this._totalCountCorrection += getItemCount() - oldItemCount } changes.splice(0, changes.length) }, _handlePush: function(_ref) { var changes = _ref.changes; this.push(changes, true) }, _handleChanging: function(e) { this.changing.fire(e); this._applyBatch(e.changes, true) }, _needCleanCacheByOperation: function(operationType, remoteOperations) { var operationTypesByOrder = ["filtering", "sorting", "paging"]; var operationTypeIndex = operationTypesByOrder.indexOf(operationType); var currentOperationTypes = operationTypeIndex >= 0 ? operationTypesByOrder.slice(operationTypeIndex) : [operationType]; return currentOperationTypes.some((function(operationType) { return remoteOperations[operationType] })) }, _customizeRemoteOperations: function(options, operationTypes) { var _this3 = this; var cachedStoreData = this._cachedStoreData; var cachedPagingData = this._cachedPagingData; var cachedData = this._cachedData; if (options.storeLoadOptions.filter && !options.remoteOperations.filtering || options.storeLoadOptions.sort && !options.remoteOperations.sorting) { options.remoteOperations = { filtering: options.remoteOperations.filtering, summary: options.remoteOperations.summary } } if (operationTypes.fullReload) { cachedStoreData = void 0; cachedPagingData = void 0; cachedData = { items: {} } } else { if (operationTypes.reload) { cachedPagingData = void 0; cachedData = { items: {} } } else if (operationTypes.groupExpanding) { cachedData = { items: {} } }(0, _iterator.each)(operationTypes, (function(operationType, value) { if (value && _this3._needCleanCacheByOperation(operationType, options.remoteOperations)) { cachedStoreData = void 0; cachedPagingData = void 0 } })) } if (cachedPagingData) { options.remoteOperations.paging = false } options.cachedStoreData = cachedStoreData; options.cachedPagingData = cachedPagingData; options.cachedData = cachedData; if (!options.isCustomLoading) { this._cachedStoreData = cachedStoreData; this._cachedPagingData = cachedPagingData; this._cachedData = cachedData } }, _handleCustomizeStoreLoadOptions: function(options) { var _a; this._handleDataLoading(options); if (!(0 === (null === (_a = options.data) || void 0 === _a ? void 0 : _a.length))) { options.data = getPageDataFromCache(options, true) || options.cachedStoreData } }, _handleDataLoading: function(options) { var _this4 = this; var dataSource = this._dataSource; var lastLoadOptions = this._lastLoadOptions; this.customizeStoreLoadOptions.fire(options); options.delay = this.option("loadingTimeout"); options.originalStoreLoadOptions = options.storeLoadOptions; options.remoteOperations = (0, _extend.extend)({}, this.remoteOperations()); var isFullReload = !this.isLoaded() && !this._isRefreshing; if (this.option("integrationOptions.renderedOnServer") && !this.isLoaded()) { options.delay = void 0 } var loadOptions = (0, _extend.extend)({ pageIndex: this.pageIndex(), pageSize: this.pageSize() }, options.storeLoadOptions); var operationTypes = calculateOperationTypes(loadOptions, lastLoadOptions, isFullReload); this._customizeRemoteOperations(options, operationTypes); if (!options.isCustomLoading) { var isRefreshing = this._isRefreshing; options.pageIndex = dataSource.pageIndex(); options.lastLoadOptions = loadOptions; options.operationTypes = operationTypes; this._loadingOperationTypes = operationTypes; this._isRefreshing = true; (0, _deferred.when)(isRefreshing || this._isRefreshed || this.refresh(options, operationTypes)).done((function() { if (_this4._lastOperationId === options.operationId) { _this4._isRefreshed = true; _this4.load().always((function() { _this4._isRefreshed = false })) } })).fail((function() { dataSource.cancel(options.operationId) })).always((function() { _this4._isRefreshing = false })); dataSource.cancel(this._lastOperationId); this._lastOperationId = options.operationId; if (this._isRefreshing) { dataSource.cancel(this._lastOperationId) } } this._handleDataLoadingCore(options) }, _handleDataLoadingCore: function(options) { var remoteOperations = options.remoteOperations; options.loadOptions = {}; var cachedExtra = options.cachedData.extra; var localLoadOptionNames = { filter: !remoteOperations.filtering, sort: !remoteOperations.sorting, group: !remoteOperations.grouping, summary: !remoteOperations.summary, skip: !remoteOperations.paging, take: !remoteOperations.paging, requireTotalCount: cachedExtra && "totalCount" in cachedExtra || !remoteOperations.paging, langParams: !remoteOperations.filtering || !remoteOperations.sorting }; (0, _iterator.each)(options.storeLoadOptions, (function(optionName, optionValue) { if (localLoadOptionNames[optionName]) { options.loadOptions[optionName] = optionValue; delete options.storeLoadOptions[optionName] } })); if (cachedExtra) { options.extra = cachedExtra } }, _handleDataLoaded: function(options) { var _this5 = this; var _a, _b; var loadOptions = options.loadOptions; var localPaging = options.remoteOperations && !options.remoteOperations.paging; var cachedData = options.cachedData; var storeLoadOptions = options.storeLoadOptions; var needCache = false !== this.option("cacheEnabled") && storeLoadOptions; var needPageCache = needCache && !options.isCustomLoading && cachedData && (!localPaging || storeLoadOptions.group); var needPagingCache = needCache && localPaging; var needStoreCache = needPagingCache && !options.isCustomLoading; if (!loadOptions) { this._dataSource.cancel(options.operationId); return } if (localPaging) { options.skip = loadOptions.skip; options.take = loadOptions.take; delete loadOptions.skip; delete loadOptions.take } if (loadOptions.group) { loadOptions.group = options.group || loadOptions.group } var groupCount = _m_utils.default.normalizeSortingInfo(options.group || storeLoadOptions.group || loadOptions.group).length; if (options.cachedDataPartBegin) { options.data = options.cachedDataPartBegin.concat(options.data) } if (options.cachedDataPartEnd) { options.data = options.data.concat(options.cachedDataPartEnd) } if (!needPageCache || !getPageDataFromCache(options)) { if (needPagingCache && options.cachedPagingData) { options.data = cloneItems(options.cachedPagingData, groupCount) } else { if (needStoreCache) { if (!this._cachedStoreData) { this._cachedStoreData = cloneItems(options.data, _m_utils.default.normalizeSortingInfo(storeLoadOptions.group).length) } else if (options.mergeStoreLoadData) { options.data = this._cachedStoreData = this._cachedStoreData.concat(options.data) } } new _array_store.default(options.data).load(loadOptions).done((function(data) { options.data = data; if (needStoreCache) { _this5._cachedPagingData = cloneItems(options.data, groupCount) } })).fail((function(error) { options.data = (new _deferred.Deferred).reject(error) })) } if (loadOptions.requireTotalCount && localPaging) { options.extra = (0, _type.isPlainObject)(options.extra) ? options.extra : {}; options.extra.totalCount = options.data.length } if (options.extra && options.extra.totalCount >= 0 && (false === storeLoadOptions.requireTotalCount || false === loadOptions.requireTotalCount)) { options.extra.totalCount = -1 } if (!loadOptions.data && (storeLoadOptions.requireTotalCount || (null !== (_b = null === (_a = options.extra) || void 0 === _a ? void 0 : _a.totalCount) && void 0 !== _b ? _b : -1) >= 0)) { this._totalCountCorrection = 0 } this._handleDataLoadedCore(options); if (needPageCache) { cachedData.extra = cachedData.extra || (0, _extend.extend)({}, options.extra); (0, _deferred.when)(options.data).done((function(data) { ! function(options, data, groupCount) { var _a, _b, _c, _d; var storeLoadOptions = options.storeLoadOptions; var skip = null !== (_b = null !== (_a = options.skip) && void 0 !== _a ? _a : storeLoadOptions.skip) && void 0 !== _b ? _b : 0; var take = null !== (_d = null !== (_c = options.take) && void 0 !== _c ? _c : storeLoadOptions.take) && void 0 !== _d ? _d : 0; for (var i = 0; i < take; i++) { var globalIndex = i + skip; var cacheItems = options.cachedData.items; var skips = 0 === i && options.skips || []; cacheItems[globalIndex] = getCacheItem(cacheItems[globalIndex], data[i], groupCount, skips) } }(options, data, groupCount) })) } }(0, _deferred.when)(options.data).done((function() { if (options.lastLoadOptions) { _this5._lastLoadOptions = options.lastLoadOptions; Object.keys(options.operationTypes).forEach((function(operationType) { _this5._lastOperationTypes[operationType] = _this5._lastOperationTypes[operationType] || options.operationTypes[operationType] })) } })); options.storeLoadOptions = options.originalStoreLoadOptions }, _handleDataLoadedCore: function(options) { if (options.remoteOperations && !options.remoteOperations.paging && Array.isArray(options.data)) { if (void 0 !== options.skip) { options.data = options.data.slice(options.skip) } if (void 0 !== options.take) { options.data = options.data.slice(0, options.take) } } }, _handleLoadingChanged: function(isLoading) { this.loadingChanged.fire(isLoading) }, _handleLoadError: function(error) { this.loadError.fire(error); this.changed.fire({ changeType: "loadError", error: error }) }, _loadPageSize: function() { return this.pageSize() }, _handleDataChanged: function(args) { var currentTotalCount; var dataSource = this._dataSource; var isLoading = false; var isDataLoading = !args || (0, _type.isDefined)(args.changeType); var itemsCount = this.itemsCount(); if (isDataLoading) { this._isLastPage = !itemsCount || !this._loadPageSize() || itemsCount < this._loadPageSize(); if (this._isLastPage) { this._hasLastPage = true } } if (dataSource.totalCount() >= 0) { if (dataSource.pageIndex() >= this.pageCount()) { dataSource.pageIndex(this.pageCount() - 1); this.pageIndex(dataSource.pageIndex()); this.resetPagesCache(); dataSource.load(); isLoading = true } } else if (isDataLoading) { currentTotalCount = dataSource.pageIndex() * this.pageSize() + itemsCount; if (currentTotalCount > this._currentTotalCount) { this._currentTotalCount = currentTotalCount; if (0 === dataSource.pageIndex() || !this.option("scrolling.legacyMode")) { this._totalCountCorrection = 0 } } if (0 === itemsCount && dataSource.pageIndex() >= this.pageCount()) { dataSource.pageIndex(this.pageCount() - 1); if ("infinite" !== this.option("scrolling.mode")) { dataSource.load(); isLoading = true } } } if (!isLoading) { this._operationTypes = this._lastOperationTypes; this._lastOperationTypes = {}; this.component._optionCache = {}; this.changed.fire(args); this.component._optionCache = void 0 } }, _scheduleCustomLoadCallbacks: function(deferred) { var that = this; that._isCustomLoading = true; deferred.always((function() { that._isCustomLoading = false })) }, loadingOperationTypes: function() { return this._loadingOperationTypes }, operationTypes: function() { return this._operationTypes }, lastLoadOptions: function() { return this._lastLoadOptions || {} }, isLastPage: function() { return this._isLastPage }, _dataSourceTotalCount: function() { return this._dataSource.totalCount() }, totalCount: function() { return parseInt((this._currentTotalCount || this._dataSourceTotalCount()) + this._totalCountCorrection) }, totalCountCorrection: function() { return this._totalCountCorrection }, itemsCount: function() { return this._dataSource.items().length }, totalItemsCount: function() { return this.totalCount() }, pageSize: function() { var dataSource = this._dataSource; if (!arguments.length && !dataSource.paginate()) { return 0 } return dataSource.pageSize.apply(dataSource, arguments) }, pageCount: function() { var count = this.totalItemsCount() - this._totalCountCorrection; var pageSize = this.pageSize(); if (pageSize && count > 0) { return Math.max(1, Math.ceil(count / pageSize)) } return 1 }, hasKnownLastPage: function() { return this._hasLastPage || this._dataSource.totalCount() >= 0 }, loadFromStore: function(loadOptions, store) { var dataSource = this._dataSource; var d = new _deferred.Deferred; if (!dataSource) { return } store = store || dataSource.store(); store.load(loadOptions).done((function(data, extra) { if (data && !Array.isArray(data) && Array.isArray(data.data)) { extra = data; data = data.data } d.resolve(data, extra) })).fail(d.reject); return d }, isCustomLoading: function() { return !!this._isCustomLoading }, load: function(options) { var _this6 = this; var that = this; var dataSource = that._dataSource; var d = new _deferred.Deferred; if (options) { var store = dataSource.store(); var dataSourceLoadOptions = dataSource.loadOptions(); var loadResult = { storeLoadOptions: (0, _extend.extend)({}, options, { langParams: null === dataSourceLoadOptions || void 0 === dataSourceLoadOptions ? void 0 : dataSourceLoadOptions.langParams }), isCustomLoading: true }; (0, _iterator.each)(store._customLoadOptions() || [], (function(_, optionName) { if (!(optionName in loadResult.storeLoadOptions)) { loadResult.storeLoadOptions[optionName] = dataSourceLoadOptions[optionName] } })); this._isLoadingAll = options.isLoadingAll; that._scheduleCustomLoadCallbacks(d); dataSource._scheduleLoadCallbacks(d); that._handleCustomizeStoreLoadOptions(loadResult); ! function(action, timeout) { if ((0, _type.isDefined)(timeout)) { (0, _common.executeAsync)(action, timeout) } else { action() } }((function() { if (!dataSource.store()) { return d.reject("canceled") }(0, _deferred.when)(loadResult.data || that.loadFromStore(loadResult.storeLoadOptions)).done((function(data, extra) { loadResult.data = data; loadResult.extra = extra || {}; that._handleDataLoaded(loadResult); if (options.requireTotalCount && void 0 === loadResult.extra.totalCount) { loadResult.extra.totalCount = store.totalCount(loadResult.storeLoadOptions) }(0, _deferred.when)(loadResult.data, loadResult.extra.totalCount).done((function(data, totalCount) { loadResult.extra.totalCount = totalCount; d.resolve(data, loadResult.extra) })).fail(d.reject) })).fail(d.reject) }), that.option("loadingTimeout")); return d.fail((function() { that._eventsStrategy.fireEvent("loadError", arguments) })).always((function() { _this6._isLoadingAll = false })).promise() } return dataSource.load() }, reload: function(full) { return full ? this._dataSource.reload() : this._dataSource.load() }, getCachedStoreData: function() { return this._cachedStoreData } }; return members }()); exports.default = _default }, 72313: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/editing/const.js ***! \*****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.VIEWPORT_TOP_NEW_ROW_POSITION = exports.VIEWPORT_BOTTOM_NEW_ROW_POSITION = exports.TARGET_COMPONENT_NAME = exports.ROW_SELECTED_CLASS = exports.ROW_SELECTED = exports.ROW_REMOVED = exports.ROW_MODIFIED = exports.ROW_INSERTED = exports.ROW_CLASS = exports.ROW_BASED_MODES = exports.READONLY_CLASS = exports.PAGE_TOP_NEW_ROW_POSITION = exports.PAGE_BOTTOM_NEW_ROW_POSITION = exports.MODES_WITH_DELAYED_FOCUS = exports.METHOD_NAMES = exports.LINK_CLASS = exports.LAST_NEW_ROW_POSITION = exports.INSERT_INDEX = exports.FORM_BUTTONS_CONTAINER_CLASS = exports.FOCUS_OVERLAY_CLASS = exports.FOCUSABLE_ELEMENT_SELECTOR = exports.FOCUSABLE_ELEMENT_CLASS = exports.FIRST_NEW_ROW_POSITION = exports.EDIT_ROW = exports.EDIT_POPUP_FORM_CLASS = exports.EDIT_POPUP_CLASS = exports.EDIT_MODE_ROW = exports.EDIT_MODE_POPUP = exports.EDIT_MODE_FORM = exports.EDIT_MODE_CELL = exports.EDIT_MODE_BATCH = exports.EDIT_MODES = exports.EDIT_LINK_CLASS = exports.EDIT_ICON_CLASS = exports.EDIT_FORM_ITEM_CLASS = exports.EDIT_FORM_CLASS = exports.EDIT_BUTTON_CLASS = exports.EDITOR_CELL_CLASS = exports.EDITORS_INPUT_SELECTOR = exports.EDITING_POPUP_OPTION_NAME = exports.EDITING_NAMESPACE = exports.EDITING_FORM_OPTION_NAME = exports.EDITING_EDITROWKEY_OPTION_NAME = exports.EDITING_EDITCOLUMNNAME_OPTION_NAME = exports.EDITING_CHANGES_OPTION_NAME = exports.DROPDOWN_EDITOR_OVERLAY_CLASS = exports.DEFAULT_START_EDIT_ACTION = exports.DATA_ROW_CLASS = exports.DATA_EDIT_DATA_UPDATE_TYPE = exports.DATA_EDIT_DATA_REMOVE_TYPE = exports.DATA_EDIT_DATA_INSERT_TYPE = exports.COMMAND_EDIT_WITH_ICONS_CLASS = exports.COMMAND_EDIT_CLASS = exports.CELL_MODIFIED_CLASS = exports.CELL_MODIFIED = exports.CELL_FOCUS_DISABLED_CLASS = exports.BUTTON_NAMES = exports.BUTTON_CLASS = exports.ADD_ROW_BUTTON_CLASS = exports.ACTION_OPTION_NAMES = void 0; var _ui = (obj = __webpack_require__( /*! ../../../../ui/scroll_view/ui.scrollable */ 41183), obj && obj.__esModule ? obj : { default: obj }); var obj; exports.EDITOR_CELL_CLASS = "dx-editor-cell"; exports.ROW_CLASS = "dx-row"; exports.CELL_MODIFIED_CLASS = "dx-cell-modified"; exports.ROW_SELECTED_CLASS = "dx-selection"; exports.EDIT_FORM_CLASS = "edit-form"; exports.DATA_EDIT_DATA_INSERT_TYPE = "insert"; exports.DATA_EDIT_DATA_REMOVE_TYPE = "remove"; exports.EDITING_POPUP_OPTION_NAME = "editing.popup"; exports.EDITING_FORM_OPTION_NAME = "editing.form"; exports.EDITING_EDITROWKEY_OPTION_NAME = "editing.editRowKey"; exports.EDITING_EDITCOLUMNNAME_OPTION_NAME = "editing.editColumnName"; exports.TARGET_COMPONENT_NAME = "targetComponent"; exports.EDITORS_INPUT_SELECTOR = "input:not([type='hidden'])"; var FOCUSABLE_ELEMENT_SELECTOR = "[tabindex], ".concat("input:not([type='hidden'])"); exports.FOCUSABLE_ELEMENT_SELECTOR = FOCUSABLE_ELEMENT_SELECTOR; exports.EDIT_MODE_BATCH = "batch"; exports.EDIT_MODE_ROW = "row"; exports.EDIT_MODE_CELL = "cell"; exports.EDIT_MODE_FORM = "form"; exports.EDIT_MODE_POPUP = "popup"; exports.FIRST_NEW_ROW_POSITION = "first"; exports.LAST_NEW_ROW_POSITION = "last"; exports.PAGE_BOTTOM_NEW_ROW_POSITION = "pageBottom"; exports.PAGE_TOP_NEW_ROW_POSITION = "pageTop"; exports.VIEWPORT_BOTTOM_NEW_ROW_POSITION = "viewportBottom"; exports.VIEWPORT_TOP_NEW_ROW_POSITION = "viewportTop"; var EDIT_MODES = ["batch", "row", "cell", "form", "popup"]; exports.EDIT_MODES = EDIT_MODES; var ROW_BASED_MODES = ["row", "form", "popup"]; exports.ROW_BASED_MODES = ROW_BASED_MODES; var MODES_WITH_DELAYED_FOCUS = ["row", "form"]; exports.MODES_WITH_DELAYED_FOCUS = MODES_WITH_DELAYED_FOCUS; exports.READONLY_CLASS = "readonly"; exports.LINK_CLASS = "dx-link"; exports.ROW_SELECTED = "dx-selection"; exports.EDIT_BUTTON_CLASS = "dx-edit-button"; exports.COMMAND_EDIT_CLASS = "dx-command-edit"; var COMMAND_EDIT_WITH_ICONS_CLASS = "".concat("dx-command-edit", "-with-icons"); exports.COMMAND_EDIT_WITH_ICONS_CLASS = COMMAND_EDIT_WITH_ICONS_CLASS; exports.INSERT_INDEX = "__DX_INSERT_INDEX__"; exports.ROW_INSERTED = "dx-row-inserted"; exports.ROW_MODIFIED = "dx-row-modified"; exports.CELL_MODIFIED = "dx-cell-modified"; exports.EDITING_NAMESPACE = "dxDataGridEditing"; exports.CELL_FOCUS_DISABLED_CLASS = "dx-cell-focus-disabled"; exports.DATA_EDIT_DATA_UPDATE_TYPE = "update"; exports.DEFAULT_START_EDIT_ACTION = "click"; exports.EDIT_LINK_CLASS = { save: "dx-link-save", cancel: "dx-link-cancel", edit: "dx-link-edit", undelete: "dx-link-undelete", delete: "dx-link-delete", add: "dx-link-add" }; exports.EDIT_ICON_CLASS = { save: "save", cancel: "revert", edit: "edit", undelete: "revert", delete: "trash", add: "add" }; exports.METHOD_NAMES = { edit: "editRow", delete: "deleteRow", undelete: "undeleteRow", save: "saveEditData", cancel: "cancelEditData", add: "addRowByRowIndex" }; exports.ACTION_OPTION_NAMES = { add: "allowAdding", edit: "allowUpdating", delete: "allowDeleting" }; exports.BUTTON_NAMES = ["edit", "save", "cancel", "delete", "undelete"]; exports.EDITING_CHANGES_OPTION_NAME = "editing.changes"; exports.FOCUS_OVERLAY_CLASS = "focus-overlay"; exports.ADD_ROW_BUTTON_CLASS = "addrow-button"; exports.DROPDOWN_EDITOR_OVERLAY_CLASS = "dx-dropdowneditor-overlay"; exports.DATA_ROW_CLASS = "dx-data-row"; exports.ROW_REMOVED = "dx-row-removed"; var isRenovatedScrollable = !!_ui.default.IS_RENOVATED_WIDGET; exports.EDIT_FORM_ITEM_CLASS = "edit-form-item"; exports.EDIT_POPUP_CLASS = "edit-popup"; exports.EDIT_POPUP_FORM_CLASS = "edit-popup-form"; var FOCUSABLE_ELEMENT_CLASS = isRenovatedScrollable ? "dx-scrollable" : "dx-scrollable-container"; exports.FOCUSABLE_ELEMENT_CLASS = FOCUSABLE_ELEMENT_CLASS; exports.BUTTON_CLASS = "dx-button"; exports.FORM_BUTTONS_CONTAINER_CLASS = "form-buttons-container"; exports.EDIT_ROW = "dx-edit-row" }, 22324: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/editing/m_editing.js ***! \*********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } Object.defineProperty(exports, "__esModule", { value: true }); exports.editingModule = void 0; var _devices = _interopRequireDefault(__webpack_require__( /*! ../../../../core/devices */ 20530)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../../core/dom_adapter */ 73349)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../../../core/guid */ 73176)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _dom = __webpack_require__( /*! ../../../../core/utils/dom */ 3532); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var iconUtils = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../../../../core/utils/icon */ 44899)); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _object = __webpack_require__( /*! ../../../../core/utils/object */ 48013); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _array_utils = __webpack_require__( /*! ../../../../data/array_utils */ 60637); var _click = __webpack_require__( /*! ../../../../events/click */ 95429); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../../../events/pointer */ 93786)); var _index = __webpack_require__( /*! ../../../../events/utils/index */ 39611); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _dialog = __webpack_require__( /*! ../../../../ui/dialog */ 15029); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); var _const = __webpack_require__( /*! ./const */ 72313); var _m_editing_utils = __webpack_require__( /*! ./m_editing_utils */ 89237); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var EditingControllerImpl = function(_modules$ViewControll) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(EditingControllerImpl, _modules$ViewControll); function EditingControllerImpl() { return _modules$ViewControll.apply(this, arguments) || this } var _proto = EditingControllerImpl.prototype; _proto.init = function() { this._columnsController = this.getController("columns"); this._dataController = this.getController("data"); this._rowsView = this.getView("rowsView"); this._lastOperation = null; this._changes = []; if (this._deferreds) { this._deferreds.forEach((function(d) { return d.reject("cancel") })) } this._deferreds = []; if (!this._dataChangedHandler) { this._dataChangedHandler = this._handleDataChanged.bind(this); this._dataController.changed.add(this._dataChangedHandler) } if (!this._saveEditorHandler) { this.createAction("onInitNewRow", { excludeValidators: ["disabled", "readOnly"] }); this.createAction("onRowInserting", { excludeValidators: ["disabled", "readOnly"] }); this.createAction("onRowInserted", { excludeValidators: ["disabled", "readOnly"] }); this.createAction("onEditingStart", { excludeValidators: ["disabled", "readOnly"] }); this.createAction("onRowUpdating", { excludeValidators: ["disabled", "readOnly"] }); this.createAction("onRowUpdated", { excludeValidators: ["disabled", "readOnly"] }); this.createAction("onRowRemoving", { excludeValidators: ["disabled", "readOnly"] }); this.createAction("onRowRemoved", { excludeValidators: ["disabled", "readOnly"] }); this.createAction("onSaved", { excludeValidators: ["disabled", "readOnly"] }); this.createAction("onSaving", { excludeValidators: ["disabled", "readOnly"] }); this.createAction("onEditCanceling", { excludeValidators: ["disabled", "readOnly"] }); this.createAction("onEditCanceled", { excludeValidators: ["disabled", "readOnly"] }) } this._updateEditColumn(); this._updateEditButtons(); if (!this._internalState) { this._internalState = [] } this.component._optionsByReference[_const.EDITING_EDITROWKEY_OPTION_NAME] = true; this.component._optionsByReference[_const.EDITING_CHANGES_OPTION_NAME] = true }; _proto.getEditMode = function() { var editMode = this.option("editing.mode"); if (_const.EDIT_MODES.includes(editMode)) { return editMode } return _const.EDIT_MODE_ROW }; _proto._getDefaultEditorTemplate = function() { var _this = this; return function(container, options) { var $editor = (0, _renderer.default)("
").appendTo(container); _this.getController("editorFactory").createEditor($editor, (0, _extend.extend)({}, options.column, { value: options.value, setValue: options.setValue, row: options.row, parentType: "dataRow", width: null, readOnly: !options.setValue, isOnForm: options.isOnForm, id: options.id })) } }; _proto._getNewRowPosition = function() { var newRowPosition = this.option("editing.newRowPosition"); var scrollingMode = this.option("scrolling.mode"); if ("virtual" === scrollingMode) { switch (newRowPosition) { case _const.PAGE_TOP_NEW_ROW_POSITION: return _const.VIEWPORT_TOP_NEW_ROW_POSITION; case _const.PAGE_BOTTOM_NEW_ROW_POSITION: return _const.VIEWPORT_BOTTOM_NEW_ROW_POSITION; default: return newRowPosition } } return newRowPosition }; _proto.getChanges = function() { return this.option(_const.EDITING_CHANGES_OPTION_NAME) }; _proto.getInsertRowCount = function() { var changes = this.option(_const.EDITING_CHANGES_OPTION_NAME); return changes.filter((function(change) { return "insert" === change.type })).length }; _proto.resetChanges = function() { var changes = this.getChanges(); var needReset = null === changes || void 0 === changes ? void 0 : changes.length; if (needReset) { this._silentOption(_const.EDITING_CHANGES_OPTION_NAME, []) } }; _proto._getInternalData = function(key) { return this._internalState.filter((function(item) { return (0, _common.equalByValue)(item.key, key) }))[0] }; _proto._addInternalData = function(params) { var internalData = this._getInternalData(params.key); if (internalData) { return (0, _extend.extend)(internalData, params) } this._internalState.push(params); return params }; _proto._getOldData = function(key) { var _a; return null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.oldData }; _proto.getUpdatedData = function(data) { var key = this._dataController.keyOf(data); var changes = this.getChanges(); var editIndex = _m_utils.default.getIndexByKey(key, changes); if (changes[editIndex]) { return (0, _array_utils.createObjectWithChanges)(data, changes[editIndex].data) } return data }; _proto.getInsertedData = function() { return this.getChanges().filter((function(change) { return change.data && change.type === _const.DATA_EDIT_DATA_INSERT_TYPE })).map((function(change) { return change.data })) }; _proto.getRemovedData = function() { var _this2 = this; return this.getChanges().filter((function(change) { return _this2._getOldData(change.key) && change.type === _const.DATA_EDIT_DATA_REMOVE_TYPE })).map((function(change) { return _this2._getOldData(change.key) })) }; _proto._fireDataErrorOccurred = function(arg) { if ("cancel" === arg) { return } var $popupContent = this.getPopupContent(); this._dataController.dataErrorOccurred.fire(arg, $popupContent) }; _proto._needToCloseEditableCell = function($targetElement) {}; _proto._closeEditItem = function($targetElement) {}; _proto._handleDataChanged = function(args) {}; _proto._isDefaultButtonVisible = function(button, options) { var result = true; switch (button.name) { case "delete": result = this.allowDeleting(options); break; case "undelete": result = false } return result }; _proto._isButtonVisible = function(button, options) { var visible = button.visible; if (!(0, _type.isDefined)(visible)) { return this._isDefaultButtonVisible(button, options) } return (0, _type.isFunction)(visible) ? visible.call(button, { component: options.component, row: options.row, column: options.column }) : visible }; _proto._isButtonDisabled = function(button, options) { var disabled = button.disabled; return (0, _type.isFunction)(disabled) ? disabled.call(button, { component: options.component, row: options.row, column: options.column }) : !!disabled }; _proto._getButtonConfig = function(button, options) { var _this3 = this; var config = (0, _type.isObject)(button) ? button : {}; var buttonName = (0, _m_editing_utils.getButtonName)(button); var editingTexts = (0, _m_editing_utils.getEditingTexts)(options); var methodName = _const.METHOD_NAMES[buttonName]; var editingOptions = this.option("editing"); var actionName = _const.ACTION_OPTION_NAMES[buttonName]; var allowAction = actionName ? editingOptions[actionName] : true; return (0, _extend.extend)({ name: buttonName, text: editingTexts[buttonName], cssClass: _const.EDIT_LINK_CLASS[buttonName] }, { onClick: methodName && function(e) { var event = e.event; event.stopPropagation(); event.preventDefault(); setTimeout((function() { options.row && allowAction && _this3[methodName] && _this3[methodName](options.row.rowIndex) })) } }, config) }; _proto._getEditingButtons = function(options) { var _this4 = this; var buttonIndex; var haveCustomButtons = !!options.column.buttons; var buttons = (options.column.buttons || []).slice(); if (haveCustomButtons) { buttonIndex = (0, _m_editing_utils.getButtonIndex)(buttons, "edit"); if (buttonIndex >= 0) { if ((0, _m_editing_utils.getButtonIndex)(buttons, "save") < 0) { buttons.splice(buttonIndex + 1, 0, "save") } if ((0, _m_editing_utils.getButtonIndex)(buttons, "cancel") < 0) { buttons.splice((0, _m_editing_utils.getButtonIndex)(buttons, "save") + 1, 0, "cancel") } } buttonIndex = (0, _m_editing_utils.getButtonIndex)(buttons, "delete"); if (buttonIndex >= 0 && (0, _m_editing_utils.getButtonIndex)(buttons, "undelete") < 0) { buttons.splice(buttonIndex + 1, 0, "undelete") } } else { buttons = _const.BUTTON_NAMES.slice() } return buttons.map((function(button) { return _this4._getButtonConfig(button, options) })) }; _proto._renderEditingButtons = function($container, buttons, options, change) { var _this5 = this; buttons.forEach((function(button) { if (_this5._isButtonVisible(button, options)) { _this5._createButton($container, button, options, change) } })) }; _proto._getEditCommandCellTemplate = function() { var _this6 = this; return function(container, options, change) { var $container = (0, _renderer.default)(container); if ("data" === options.rowType) { var buttons = _this6._getEditingButtons(options); _this6._renderEditingButtons($container, buttons, options, change); options.watch && options.watch((function() { return buttons.map((function(button) { return { visible: _this6._isButtonVisible(button, options), disabled: _this6._isButtonDisabled(button, options) } })) }), (function() { $container.empty(); _this6._renderEditingButtons($container, buttons, options) })) } else { _m_utils.default.setEmptyText($container) } } }; _proto.isRowBasedEditMode = function() { var editMode = this.getEditMode(); return _const.ROW_BASED_MODES.includes(editMode) }; _proto.getFirstEditableColumnIndex = function() { var columnsController = this.getController("columns"); var columnIndex; var visibleColumns = columnsController.getVisibleColumns(); (0, _iterator.each)(visibleColumns, (function(index, column) { if (column.allowEditing) { columnIndex = index; return false } })); return columnIndex }; _proto.getFirstEditableCellInRow = function(rowIndex) { var rowsView = this.getView("rowsView"); var columnIndex = this.getFirstEditableColumnIndex(); return null === rowsView || void 0 === rowsView ? void 0 : rowsView._getCellElement(rowIndex || 0, columnIndex) }; _proto.getFocusedCellInRow = function(rowIndex) { return this.getFirstEditableCellInRow(rowIndex) }; _proto.getIndexByKey = function(key, items) { return _m_utils.default.getIndexByKey(key, items) }; _proto.hasChanges = function(rowIndex) { var changes = this.getChanges(); var result = false; for (var i = 0; i < (null === changes || void 0 === changes ? void 0 : changes.length); i++) { if (changes[i].type && (!(0, _type.isDefined)(rowIndex) || this._dataController.getRowIndexByKey(changes[i].key) === rowIndex)) { result = true; break } } return result }; _proto.dispose = function() { _modules$ViewControll.prototype.dispose.call(this); clearTimeout(this._inputFocusTimeoutID); _events_engine.default.off(_dom_adapter.default.getDocument(), _pointer.default.up, this._pointerUpEditorHandler); _events_engine.default.off(_dom_adapter.default.getDocument(), _pointer.default.down, this._pointerDownEditorHandler); _events_engine.default.off(_dom_adapter.default.getDocument(), _click.name, this._saveEditorHandler) }; _proto._silentOption = function(name, value) { if ("editing.changes" === name) { this._changes = (0, _object.deepExtendArraySafe)([], value) } _modules$ViewControll.prototype._silentOption.call(this, name, value) }; _proto.optionChanged = function(args) { if ("editing" === args.name) { var fullName = args.fullName; if (fullName === _const.EDITING_EDITROWKEY_OPTION_NAME) { this._handleEditRowKeyChange(args) } else if (fullName === _const.EDITING_CHANGES_OPTION_NAME) { var isEqual = (0, _common.equalByValue)(args.value, this._changes, { maxDepth: 4 }); if (!isEqual) { this._changes = (0, _object.deepExtendArraySafe)([], args.value); this._handleChangesChange(args) } } else if (!args.handled) { this._columnsController.reinit(); this.init(); this.resetChanges(); this._resetEditColumnName(); this._resetEditRowKey() } args.handled = true } else { _modules$ViewControll.prototype.optionChanged.call(this, args) } }; _proto._handleEditRowKeyChange = function(args) { var rowIndex = this._dataController.getRowIndexByKey(args.value); var oldRowIndexCorrection = this._getEditRowIndexCorrection(); var oldRowIndex = this._dataController.getRowIndexByKey(args.previousValue) + oldRowIndexCorrection; if ((0, _type.isDefined)(args.value)) { if (args.value !== args.previousValue) { this._editRowFromOptionChanged(rowIndex, oldRowIndex) } } else { this.cancelEditData() } }; _proto._handleChangesChange = function(args) { var _this7 = this; var dataController = this._dataController; var changes = args.value; if (!args.value.length && !args.previousValue.length) { return } changes.forEach((function(change) { var _a; if ("insert" === change.type) { _this7._addInsertInfo(change) } else { var items = dataController.getCachedStoreData() || (null === (_a = dataController.items()) || void 0 === _a ? void 0 : _a.map((function(item) { return item.data }))); var rowIndex = _m_utils.default.getIndexByKey(change.key, items, dataController.key()); _this7._addInternalData({ key: change.key, oldData: items[rowIndex] }) } })); dataController.updateItems({ repaintChangesOnly: true, isLiveUpdate: false, isOptionChanged: true }) }; _proto.publicMethods = function() { return ["addRow", "deleteRow", "undeleteRow", "editRow", "saveEditData", "cancelEditData", "hasEditData"] }; _proto.refresh = function() { if (!(0, _type.isDefined)(this._pageIndex)) { return } this._refreshCore.apply(this, arguments) }; _proto._refreshCore = function(params) {}; _proto.isEditing = function() { var isEditRowKeyDefined = (0, _type.isDefined)(this.option(_const.EDITING_EDITROWKEY_OPTION_NAME)); return isEditRowKeyDefined }; _proto.isEditRow = function(rowIndex) { return false }; _proto._setEditRowKey = function(value, silent) { if (silent) { this._silentOption(_const.EDITING_EDITROWKEY_OPTION_NAME, value) } else { this.option(_const.EDITING_EDITROWKEY_OPTION_NAME, value) } if (this._refocusEditCell) { this._refocusEditCell = false; this._focusEditingCell() } }; _proto._setEditRowKeyByIndex = function(rowIndex, silent) { var key = this._dataController.getKeyByRowIndex(rowIndex); if (void 0 === key) { this._dataController.fireError("E1043"); return } this._setEditRowKey(key, silent) }; _proto.getEditRowIndex = function() { return this._getVisibleEditRowIndex() }; _proto.getEditFormRowIndex = function() { return -1 }; _proto.isEditRowByIndex = function(rowIndex) { var key = this._dataController.getKeyByRowIndex(rowIndex); var isKeyEqual = (0, _type.isDefined)(key) && (0, _common.equalByValue)(this.option(_const.EDITING_EDITROWKEY_OPTION_NAME), key); if (isKeyEqual) { return this._getVisibleEditRowIndex() === rowIndex } return isKeyEqual }; _proto.isEditCell = function(visibleRowIndex, columnIndex) { return this.isEditRowByIndex(visibleRowIndex) && this._getVisibleEditColumnIndex() === columnIndex }; _proto.getPopupContent = function() {}; _proto._isProcessedItem = function(item) { return false }; _proto._getInsertRowIndex = function(items, change, isProcessedItems) { var _this8 = this; var result = -1; var dataController = this._dataController; var key = this._getInsertAfterOrBeforeKey(change); if (!(0, _type.isDefined)(key) && 0 === items.length) { result = 0 } else if ((0, _type.isDefined)(key)) { items.some((function(item, index) { var isProcessedItem = isProcessedItems || _this8._isProcessedItem(item); if ((0, _type.isObject)(item)) { if (isProcessedItem || (0, _type.isDefined)(item[_const.INSERT_INDEX])) { if ((0, _common.equalByValue)(item.key, key)) { result = index } } else if ((0, _common.equalByValue)(dataController.keyOf(item), key)) { result = index } } if (result >= 0) { var nextItem = items[result + 1]; if (nextItem && ("detail" === nextItem.rowType || "detailAdaptive" === nextItem.rowType) && (0, _type.isDefined)(change.insertAfterKey)) { return } if ((0, _type.isDefined)(change.insertAfterKey)) { result += 1 } return true } })) } return result }; _proto._generateNewItem = function(key) { var _a; var item = { key: key }; var insertInfo = null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.insertInfo; if (null === insertInfo || void 0 === insertInfo ? void 0 : insertInfo[_const.INSERT_INDEX]) { item[_const.INSERT_INDEX] = insertInfo[_const.INSERT_INDEX] } return item }; _proto._getLoadedRowIndex = function(items, change, isProcessedItems) { var loadedRowIndex = this._getInsertRowIndex(items, change, isProcessedItems); var dataController = this._dataController; if (loadedRowIndex < 0) { var newRowPosition = this._getNewRowPosition(); var pageIndex = dataController.pageIndex(); var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change); if (newRowPosition !== _const.LAST_NEW_ROW_POSITION && 0 === pageIndex && !(0, _type.isDefined)(insertAfterOrBeforeKey)) { loadedRowIndex = 0 } else if (newRowPosition === _const.LAST_NEW_ROW_POSITION && dataController.isLastPageLoaded()) { loadedRowIndex = items.length } } return loadedRowIndex }; _proto.processItems = function(items, e) { var _this9 = this; var changeType = e.changeType; this.update(changeType); var changes = this.getChanges(); changes.forEach((function(change) { var _a; var isInsert = change.type === _const.DATA_EDIT_DATA_INSERT_TYPE; if (!isInsert) { return } var key = change.key; var insertInfo = null === (_a = _this9._getInternalData(key)) || void 0 === _a ? void 0 : _a.insertInfo; if (!(0, _type.isDefined)(key) || !(0, _type.isDefined)(insertInfo)) { insertInfo = _this9._addInsertInfo(change); key = insertInfo.key } var loadedRowIndex = _this9._getLoadedRowIndex(items, change); var item = _this9._generateNewItem(key); if (loadedRowIndex >= 0) { items.splice(loadedRowIndex, 0, item) } })); return items }; _proto.processDataItem = function(item, options, generateDataValues) { var columns = options.visibleColumns; var key = item.data[_const.INSERT_INDEX] ? item.data.key : item.key; var changes = this.getChanges(); var editIndex = _m_utils.default.getIndexByKey(key, changes); item.isEditing = false; if (editIndex >= 0) { this._processDataItemCore(item, changes[editIndex], key, columns, generateDataValues) } }; _proto._processDataItemCore = function(item, change, key, columns, generateDataValues) { var data = change.data, type = change.type; switch (type) { case _const.DATA_EDIT_DATA_INSERT_TYPE: item.isNewRow = true; item.key = key; item.data = data; break; case _const.DATA_EDIT_DATA_UPDATE_TYPE: item.modified = true; item.oldData = item.data; item.data = (0, _array_utils.createObjectWithChanges)(item.data, data); item.modifiedValues = generateDataValues(data, columns, true); break; case _const.DATA_EDIT_DATA_REMOVE_TYPE: item.removed = true } }; _proto._initNewRow = function(options) { var _this10 = this; this.executeAction("onInitNewRow", options); if (options.promise) { var deferred = new _deferred.Deferred; (0, _deferred.when)((0, _deferred.fromPromise)(options.promise)).done(deferred.resolve).fail((0, _m_editing_utils.createFailureHandler)(deferred)).fail((function(arg) { return _this10._fireDataErrorOccurred(arg) })); return deferred } }; _proto._createInsertInfo = function() { var insertInfo = {}; insertInfo[_const.INSERT_INDEX] = this._getInsertIndex(); return insertInfo }; _proto._addInsertInfo = function(change, parentKey) { var _a; var insertInfo; var key = change.key; if (!(0, _type.isDefined)(key)) { key = String(new _guid.default); change.key = key } insertInfo = null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.insertInfo; if (!(0, _type.isDefined)(insertInfo)) { var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change); insertInfo = this._createInsertInfo(); if (!(0, _type.isDefined)(insertAfterOrBeforeKey)) { this._setInsertAfterOrBeforeKey(change, parentKey) } } this._addInternalData({ insertInfo: insertInfo, key: key }); return { insertInfo: insertInfo, key: key } }; _proto._setInsertAfterOrBeforeKey = function(change, parentKey) { var dataController = this._dataController; var allItems = dataController.items(true); var rowsView = this.getView("rowsView"); var newRowPosition = this._getNewRowPosition(); switch (newRowPosition) { case _const.FIRST_NEW_ROW_POSITION: case _const.LAST_NEW_ROW_POSITION: break; case _const.PAGE_TOP_NEW_ROW_POSITION: case _const.PAGE_BOTTOM_NEW_ROW_POSITION: if (allItems.length) { var itemIndex = newRowPosition === _const.PAGE_TOP_NEW_ROW_POSITION ? 0 : allItems.length - 1; change[0 === itemIndex ? "insertBeforeKey" : "insertAfterKey"] = allItems[itemIndex].key } break; default: var isViewportBottom = newRowPosition === _const.VIEWPORT_BOTTOM_NEW_ROW_POSITION; var visibleItemIndex = isViewportBottom ? null === rowsView || void 0 === rowsView ? void 0 : rowsView.getBottomVisibleItemIndex() : null === rowsView || void 0 === rowsView ? void 0 : rowsView.getTopVisibleItemIndex(); var row = dataController.getVisibleRows()[visibleItemIndex]; if (row && (!row.isEditing && "detail" === row.rowType || "detailAdaptive" === row.rowType)) { visibleItemIndex++ } var insertKey = dataController.getKeyByRowIndex(visibleItemIndex); if ((0, _type.isDefined)(insertKey)) { change.insertBeforeKey = insertKey } } }; _proto._getInsertIndex = function() { var _this11 = this; var maxInsertIndex = 0; this.getChanges().forEach((function(editItem) { var _a; var insertInfo = null === (_a = _this11._getInternalData(editItem.key)) || void 0 === _a ? void 0 : _a.insertInfo; if ((0, _type.isDefined)(insertInfo) && editItem.type === _const.DATA_EDIT_DATA_INSERT_TYPE && insertInfo[_const.INSERT_INDEX] > maxInsertIndex) { maxInsertIndex = insertInfo[_const.INSERT_INDEX] } })); return maxInsertIndex + 1 }; _proto._getInsertAfterOrBeforeKey = function(insertChange) { var _a; return null !== (_a = insertChange.insertAfterKey) && void 0 !== _a ? _a : insertChange.insertBeforeKey }; _proto._getPageIndexToInsertRow = function() { var newRowPosition = this._getNewRowPosition(); var dataController = this._dataController; var pageIndex = dataController.pageIndex(); var lastPageIndex = dataController.pageCount() - 1; if (newRowPosition === _const.FIRST_NEW_ROW_POSITION && 0 !== pageIndex) { return 0 } if (newRowPosition === _const.LAST_NEW_ROW_POSITION && pageIndex !== lastPageIndex) { return lastPageIndex } return -1 }; _proto.addRow = function(parentKey) { var dataController = this._dataController; var store = dataController.store(); if (!store) { dataController.fireError("E1052", this.component.NAME); return (new _deferred.Deferred).reject() } return this._addRow(parentKey) }; _proto._addRow = function(parentKey) { var _this12 = this; var dataController = this._dataController; var store = dataController.store(); var key = store && store.key(); var param = { data: {} }; var oldEditRowIndex = this._getVisibleEditRowIndex(); var deferred = new _deferred.Deferred; this.refresh({ allowCancelEditing: true }); if (!this._allowRowAdding()) { (0, _deferred.when)(this._navigateToNewRow(oldEditRowIndex)).done(deferred.resolve).fail(deferred.reject); return deferred.promise() } if (!key) { param.data.__KEY__ = String(new _guid.default) }(0, _deferred.when)(this._initNewRow(param, parentKey)).done((function() { if (_this12._allowRowAdding()) { (0, _deferred.when)(_this12._addRowCore(param.data, parentKey, oldEditRowIndex)).done(deferred.resolve).fail(deferred.reject) } else { deferred.reject("cancel") } })).fail(deferred.reject); return deferred.promise() }; _proto._allowRowAdding = function(params) { var insertIndex = this._getInsertIndex(); if (insertIndex > 1) { return false } return true }; _proto._addRowCore = function(data, parentKey, initialOldEditRowIndex) { var change = { data: data, type: _const.DATA_EDIT_DATA_INSERT_TYPE }; var editRowIndex = this._getVisibleEditRowIndex(); var insertInfo = this._addInsertInfo(change, parentKey); var key = insertInfo.key; this._setEditRowKey(key, true); this._addChange(change); return this._navigateToNewRow(initialOldEditRowIndex, change, editRowIndex) }; _proto._navigateToNewRow = function(oldEditRowIndex, change, editRowIndex) { var _this13 = this; var d = new _deferred.Deferred; var dataController = this._dataController; var focusController = this.getController("focus"); editRowIndex = null !== editRowIndex && void 0 !== editRowIndex ? editRowIndex : -1; change = null !== change && void 0 !== change ? change : this.getChanges().filter((function(c) { return c.type === _const.DATA_EDIT_DATA_INSERT_TYPE }))[0]; if (!change) { return d.reject("cancel").promise() } var pageIndexToInsertRow = this._getPageIndexToInsertRow(); var rowIndex = this._getLoadedRowIndex(dataController.items(), change, true); var navigateToRowByKey = function(key) { (0, _deferred.when)(null === focusController || void 0 === focusController ? void 0 : focusController.navigateToRow(key)).done((function() { rowIndex = dataController.getRowIndexByKey(change.key); d.resolve() })) }; var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change); if (pageIndexToInsertRow >= 0) { dataController.pageIndex(pageIndexToInsertRow).done((function() { navigateToRowByKey(change.key) })).fail(d.reject) } else if (rowIndex < 0 && (0, _type.isDefined)(insertAfterOrBeforeKey)) { navigateToRowByKey(insertAfterOrBeforeKey) } else { dataController.updateItems({ changeType: "update", rowIndices: [oldEditRowIndex, editRowIndex, rowIndex] }); rowIndex = dataController.getRowIndexByKey(change.key); if (rowIndex < 0) { navigateToRowByKey(change.key) } else { d.resolve() } } d.done((function() { var _a; null === (_a = _this13._rowsView) || void 0 === _a ? void 0 : _a.waitAsyncTemplates(true).done((function() { _this13._showAddedRow(rowIndex); _this13._afterInsertRow(change.key) })) })); return d.promise() }; _proto._showAddedRow = function(rowIndex) { this._focusFirstEditableCellInRow(rowIndex) }; _proto._beforeFocusElementInRow = function(rowIndex) {}; _proto._focusFirstEditableCellInRow = function(rowIndex) { var _this14 = this; var dataController = this._dataController; var keyboardController = this.getController("keyboardNavigation"); var key = dataController.getKeyByRowIndex(rowIndex); var $firstCell = this.getFirstEditableCellInRow(rowIndex); null === keyboardController || void 0 === keyboardController ? void 0 : keyboardController.focus($firstCell); this.option("focusedRowKey", key); this._editCellInProgress = true; this._delayedInputFocus($firstCell, (function() { rowIndex = dataController.getRowIndexByKey(key); _this14._editCellInProgress = false; _this14._beforeFocusElementInRow(rowIndex) })) }; _proto._isEditingStart = function(options) { this.executeAction("onEditingStart", options); return options.cancel }; _proto._beforeUpdateItems = function() {}; _proto._getVisibleEditColumnIndex = function() { var editColumnName = this.option(_const.EDITING_EDITCOLUMNNAME_OPTION_NAME); if (!(0, _type.isDefined)(editColumnName)) { return -1 } return this._columnsController.getVisibleColumnIndex(editColumnName) }; _proto._setEditColumnNameByIndex = function(index, silent) { var _a; var visibleColumns = this._columnsController.getVisibleColumns(); this._setEditColumnName(null === (_a = visibleColumns[index]) || void 0 === _a ? void 0 : _a.name, silent) }; _proto._setEditColumnName = function(name, silent) { if (silent) { this._silentOption(_const.EDITING_EDITCOLUMNNAME_OPTION_NAME, name) } else { this.option(_const.EDITING_EDITCOLUMNNAME_OPTION_NAME, name) } }; _proto._resetEditColumnName = function() { this._setEditColumnName(null, true) }; _proto._getEditColumn = function() { var editColumnName = this.option(_const.EDITING_EDITCOLUMNNAME_OPTION_NAME); return this._getColumnByName(editColumnName) }; _proto._getColumnByName = function(name) { var visibleColumns = this._columnsController.getVisibleColumns(); var editColumn; (0, _type.isDefined)(name) && visibleColumns.some((function(column) { if (column.name === name) { editColumn = column; return true } })); return editColumn }; _proto._getVisibleEditRowIndex = function(columnName) { var dataController = this._dataController; var editRowKey = this.option(_const.EDITING_EDITROWKEY_OPTION_NAME); var rowIndex = dataController.getRowIndexByKey(editRowKey); if (-1 === rowIndex) { return rowIndex } return rowIndex + this._getEditRowIndexCorrection(columnName) }; _proto._getEditRowIndexCorrection = function(columnName) { var editColumn = columnName ? this._getColumnByName(columnName) : this._getEditColumn(); var isColumnHidden = "adaptiveHidden" === (null === editColumn || void 0 === editColumn ? void 0 : editColumn.visibleWidth); return isColumnHidden ? 1 : 0 }; _proto._resetEditRowKey = function() { this._refocusEditCell = false; this._setEditRowKey(null, true) }; _proto._resetEditIndices = function() { this._resetEditColumnName(); this._resetEditRowKey() }; _proto.editRow = function(rowIndex) { var _a; var dataController = this._dataController; var items = dataController.items(); var item = items[rowIndex]; var params = { data: item && item.data, cancel: false }; var oldRowIndex = this._getVisibleEditRowIndex(); if (!item) { return } if (rowIndex === oldRowIndex) { return true } if (void 0 === item.key) { this._dataController.fireError("E1043"); return } if (!item.isNewRow) { params.key = item.key } if (this._isEditingStart(params)) { return } this.resetChanges(); this.init(); this._resetEditColumnName(); this._pageIndex = dataController.pageIndex(); this._addInternalData({ key: item.key, oldData: null !== (_a = item.oldData) && void 0 !== _a ? _a : item.data }); this._setEditRowKey(item.key) }; _proto._editRowFromOptionChanged = function(rowIndex, oldRowIndex) { var rowIndices = [oldRowIndex, rowIndex]; this._beforeUpdateItems(rowIndices, rowIndex, oldRowIndex); this._editRowFromOptionChangedCore(rowIndices, rowIndex) }; _proto._editRowFromOptionChangedCore = function(rowIndices, rowIndex, preventRendering) { this._needFocusEditor = true; this._dataController.updateItems({ changeType: "update", rowIndices: rowIndices, cancel: preventRendering }) }; _proto._focusEditorIfNeed = function() {}; _proto._showEditPopup = function(rowIndex, repaintForm) {}; _proto._repaintEditPopup = function() {}; _proto._getEditPopupHiddenHandler = function() { var _this15 = this; return function(e) { if (_this15.isEditing()) { _this15.cancelEditData() } } }; _proto._getPopupEditFormTemplate = function(rowIndex) {}; _proto._getSaveButtonConfig = function() { return { text: this.option("editing.texts.saveRowChanges"), onClick: this.saveEditData.bind(this) } }; _proto._getCancelButtonConfig = function() { return { text: this.option("editing.texts.cancelRowChanges"), onClick: this.cancelEditData.bind(this) } }; _proto._removeInternalData = function(key) { var internalData = this._getInternalData(key); var index = this._internalState.indexOf(internalData); if (index > -1) { this._internalState.splice(index, 1) } }; _proto._updateInsertAfterOrBeforeKeys = function(changes, index) { var _this16 = this; var removeChange = changes[index]; changes.forEach((function(change) { var insertAfterOrBeforeKey = _this16._getInsertAfterOrBeforeKey(change); if ((0, _common.equalByValue)(insertAfterOrBeforeKey, removeChange.key)) { change[(0, _type.isDefined)(change.insertAfterKey) ? "insertAfterKey" : "insertBeforeKey"] = _this16._getInsertAfterOrBeforeKey(removeChange) } })) }; _proto._removeChange = function(index) { if (index >= 0) { var changes = _toConsumableArray(this.getChanges()); var key = changes[index].key; this._removeInternalData(key); this._updateInsertAfterOrBeforeKeys(changes, index); changes.splice(index, 1); this._silentOption(_const.EDITING_CHANGES_OPTION_NAME, changes); if ((0, _common.equalByValue)(this.option(_const.EDITING_EDITROWKEY_OPTION_NAME), key)) { this._resetEditIndices() } } }; _proto.executeOperation = function(deferred, func) { var _this17 = this; this._lastOperation && this._lastOperation.reject(); this._lastOperation = deferred; this.waitForDeferredOperations().done((function() { if ("rejected" === deferred.state()) { return } func(); _this17._lastOperation = null })).fail((function() { deferred.reject(); _this17._lastOperation = null })) }; _proto.waitForDeferredOperations = function() { return _deferred.when.apply(void 0, _toConsumableArray(this._deferreds)) }; _proto._processCanceledEditingCell = function() {}; _proto._repaintEditCell = function(column, oldColumn, oldEditRowIndex) { this._needFocusEditor = true; if (!column || !column.showEditorAlways || oldColumn && !oldColumn.showEditorAlways) { this._editCellInProgress = true; this.getController("editorFactory").loseFocus(); this._dataController.updateItems({ changeType: "update", rowIndices: [oldEditRowIndex, this._getVisibleEditRowIndex()] }) } else if (column !== oldColumn) { this._dataController.updateItems({ changeType: "update", rowIndices: [] }) } }; _proto._delayedInputFocus = function($cell, beforeFocusCallback, callBeforeFocusCallbackAlways) { var _this18 = this; var inputFocus = function() { if (beforeFocusCallback) { beforeFocusCallback() } if ($cell) { var $focusableElement = $cell.find(_const.FOCUSABLE_ELEMENT_SELECTOR).first(); _m_utils.default.focusAndSelectElement(_this18, $focusableElement) } _this18._beforeFocusCallback = null }; if (_devices.default.real().ios || _devices.default.real().android) { inputFocus() } else { if (this._beforeFocusCallback) { this._beforeFocusCallback() } clearTimeout(this._inputFocusTimeoutID); if (callBeforeFocusCallbackAlways) { this._beforeFocusCallback = beforeFocusCallback } this._inputFocusTimeoutID = setTimeout(inputFocus) } }; _proto._focusEditingCell = function(beforeFocusCallback, $editCell, callBeforeFocusCallbackAlways) { var rowsView = this.getView("rowsView"); var editColumnIndex = this._getVisibleEditColumnIndex(); $editCell = $editCell || rowsView && rowsView._getCellElement(this._getVisibleEditRowIndex(), editColumnIndex); if ($editCell) { this._delayedInputFocus($editCell, beforeFocusCallback, callBeforeFocusCallbackAlways) } }; _proto.deleteRow = function(rowIndex) { this._checkAndDeleteRow(rowIndex) }; _proto._checkAndDeleteRow = function(rowIndex) { var _this19 = this; var editingOptions = this.option("editing"); var editingTexts = null === editingOptions || void 0 === editingOptions ? void 0 : editingOptions.texts; var confirmDelete = null === editingOptions || void 0 === editingOptions ? void 0 : editingOptions.confirmDelete; var confirmDeleteMessage = null === editingTexts || void 0 === editingTexts ? void 0 : editingTexts.confirmDeleteMessage; var item = this._dataController.items()[rowIndex]; var allowDeleting = !this.isEditing() || item.isNewRow; if (item && allowDeleting) { if (!confirmDelete || !confirmDeleteMessage) { this._deleteRowCore(rowIndex) } else { var confirmDeleteTitle = editingTexts && editingTexts.confirmDeleteTitle; var showDialogTitle = (0, _type.isDefined)(confirmDeleteTitle) && confirmDeleteTitle.length > 0; (0, _dialog.confirm)(confirmDeleteMessage, confirmDeleteTitle, showDialogTitle).done((function(confirmResult) { if (confirmResult) { _this19._deleteRowCore(rowIndex) } })) } } }; _proto._deleteRowCore = function(rowIndex) { var dataController = this._dataController; var item = dataController.items()[rowIndex]; var key = item && item.key; var oldEditRowIndex = this._getVisibleEditRowIndex(); this.refresh(); var changes = this.getChanges(); var editIndex = _m_utils.default.getIndexByKey(key, changes); if (editIndex >= 0) { if (changes[editIndex].type === _const.DATA_EDIT_DATA_INSERT_TYPE) { this._removeChange(editIndex) } else { this._addChange({ key: key, type: _const.DATA_EDIT_DATA_REMOVE_TYPE }) } } else { this._addChange({ key: key, oldData: item.data, type: _const.DATA_EDIT_DATA_REMOVE_TYPE }) } return this._afterDeleteRow(rowIndex, oldEditRowIndex) }; _proto._afterDeleteRow = function(rowIndex, oldEditRowIndex) { return this.saveEditData() }; _proto.undeleteRow = function(rowIndex) { var dataController = this._dataController; var item = dataController.items()[rowIndex]; var oldEditRowIndex = this._getVisibleEditRowIndex(); var key = item && item.key; var changes = this.getChanges(); if (item) { var editIndex = _m_utils.default.getIndexByKey(key, changes); if (editIndex >= 0) { var data = changes[editIndex].data; if ((0, _type.isEmptyObject)(data)) { this._removeChange(editIndex) } else { this._addChange({ key: key, type: _const.DATA_EDIT_DATA_UPDATE_TYPE }) } dataController.updateItems({ changeType: "update", rowIndices: [oldEditRowIndex, rowIndex] }) } } }; _proto._fireOnSaving = function() { var _this20 = this; var onSavingParams = { cancel: false, promise: null, changes: _toConsumableArray(this.getChanges()) }; this.executeAction("onSaving", onSavingParams); var d = new _deferred.Deferred; (0, _deferred.when)((0, _deferred.fromPromise)(onSavingParams.promise)).done((function() { d.resolve(onSavingParams) })).fail((function(arg) { (0, _m_editing_utils.createFailureHandler)(d); _this20._fireDataErrorOccurred(arg); d.resolve({ cancel: true }) })); return d }; _proto._executeEditingAction = function(actionName, params, func) { if (this.component._disposed) { return null } var deferred = new _deferred.Deferred; this.executeAction(actionName, params); (0, _deferred.when)((0, _deferred.fromPromise)(params.cancel)).done((function(cancel) { if (cancel) { setTimeout((function() { deferred.resolve("cancel") })) } else { func(params).done(deferred.resolve).fail((0, _m_editing_utils.createFailureHandler)(deferred)) } })).fail((0, _m_editing_utils.createFailureHandler)(deferred)); return deferred }; _proto._processChanges = function(deferreds, results, dataChanges, changes) { var _this21 = this; var store = this._dataController.store(); (0, _iterator.each)(changes, (function(index, change) { var oldData = _this21._getOldData(change.key); var data = change.data, type = change.type; var changeCopy = _extends({}, change); var deferred; var params; if (_this21._beforeSaveEditData(change, index)) { return } switch (type) { case _const.DATA_EDIT_DATA_REMOVE_TYPE: params = { data: oldData, key: change.key, cancel: false }; deferred = _this21._executeEditingAction("onRowRemoving", params, (function() { return store.remove(change.key).done((function(key) { dataChanges.push({ type: "remove", key: key }) })) })); break; case _const.DATA_EDIT_DATA_INSERT_TYPE: params = { data: data, cancel: false }; deferred = _this21._executeEditingAction("onRowInserting", params, (function() { return store.insert(params.data).done((function(data, key) { if ((0, _type.isDefined)(key)) { changeCopy.key = key } if (data && (0, _type.isObject)(data) && data !== params.data) { changeCopy.data = data } dataChanges.push({ type: "insert", data: data, index: 0 }) })) })); break; case _const.DATA_EDIT_DATA_UPDATE_TYPE: params = { newData: data, oldData: oldData, key: change.key, cancel: false }; deferred = _this21._executeEditingAction("onRowUpdating", params, (function() { return store.update(change.key, params.newData).done((function(data, key) { if (data && (0, _type.isObject)(data) && data !== params.newData) { changeCopy.data = data } dataChanges.push({ type: "update", key: key, data: data }) })) })) } changes[index] = changeCopy; if (deferred) { var doneDeferred = new _deferred.Deferred; deferred.always((function(data) { results.push({ key: change.key, result: data }) })).always(doneDeferred.resolve); deferreds.push(doneDeferred.promise()) } })) }; _proto._processRemoveIfError = function(changes, editIndex) { var change = changes[editIndex]; if ((null === change || void 0 === change ? void 0 : change.type) === _const.DATA_EDIT_DATA_REMOVE_TYPE) { if (editIndex >= 0) { changes.splice(editIndex, 1) } } return true }; _proto._processRemove = function(changes, editIndex, cancel) { var change = changes[editIndex]; if (!cancel || !change || change.type === _const.DATA_EDIT_DATA_REMOVE_TYPE) { return this._processRemoveCore(changes, editIndex, !cancel || !change) } }; _proto._processRemoveCore = function(changes, editIndex, processIfBatch) { if (editIndex >= 0) { changes.splice(editIndex, 1) } return true }; _proto._processSaveEditDataResult = function(results) { var hasSavedData = false; var changes = _toConsumableArray(this.getChanges()); var changesLength = changes.length; for (var i = 0; i < results.length; i++) { var arg = results[i].result; var cancel = "cancel" === arg; var editIndex = _m_utils.default.getIndexByKey(results[i].key, changes); var change = changes[editIndex]; var isError = arg && arg instanceof Error; if (isError) { if (change) { this._addInternalData({ key: change.key, error: arg }) } this._fireDataErrorOccurred(arg); if (this._processRemoveIfError(changes, editIndex)) { break } } else if (this._processRemove(changes, editIndex, cancel)) { hasSavedData = !cancel } } if (changes.length < changesLength) { this._silentOption(_const.EDITING_CHANGES_OPTION_NAME, changes) } return hasSavedData }; _proto._fireSaveEditDataEvents = function(changes) { var _this22 = this; (0, _iterator.each)(changes, (function(_, _ref) { var data = _ref.data, key = _ref.key, type = _ref.type; var internalData = _this22._addInternalData({ key: key }); var params = { key: key, data: data }; if (internalData.error) { params.error = internalData.error } switch (type) { case _const.DATA_EDIT_DATA_REMOVE_TYPE: _this22.executeAction("onRowRemoved", (0, _extend.extend)({}, params, { data: internalData.oldData })); break; case _const.DATA_EDIT_DATA_INSERT_TYPE: _this22.executeAction("onRowInserted", params); break; case _const.DATA_EDIT_DATA_UPDATE_TYPE: _this22.executeAction("onRowUpdated", params) } })); this.executeAction("onSaved", { changes: changes }) }; _proto.saveEditData = function() { var _this23 = this; var deferred = new _deferred.Deferred; this.waitForDeferredOperations().done((function() { if (_this23.isSaving()) { _this23._resolveAfterSave(deferred); return }(0, _deferred.when)(_this23._beforeSaveEditData()).done((function(cancel) { if (cancel) { _this23._resolveAfterSave(deferred, { cancel: cancel }); return } _this23._saving = true; _this23._saveEditDataInner().always((function() { _this23._saving = false; if (_this23._refocusEditCell) { _this23._focusEditingCell() } })).done(deferred.resolve).fail(deferred.reject) })).fail(deferred.reject) })).fail(deferred.reject); return deferred.promise() }; _proto._resolveAfterSave = function(deferred) { var _ref2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, cancel = _ref2.cancel, error = _ref2.error; (0, _deferred.when)(this._afterSaveEditData(cancel)).done((function() { deferred.resolve(error) })).fail(deferred.reject) }; _proto._saveEditDataInner = function() { var _this24 = this; var result = new _deferred.Deferred; var results = []; var deferreds = []; var dataChanges = []; var dataSource = this._dataController.dataSource(); (0, _deferred.when)(this._fireOnSaving()).done((function(_ref3) { var cancel = _ref3.cancel, changes = _ref3.changes; if (cancel) { return result.resolve().promise() } _this24._processChanges(deferreds, results, dataChanges, changes); if (deferreds.length) { _this24._refocusEditCell = true; null === dataSource || void 0 === dataSource ? void 0 : dataSource.beginLoading(); _deferred.when.apply(void 0, deferreds).done((function() { if (_this24._processSaveEditDataResult(results)) { _this24._endSaving(dataChanges, changes, result) } else { null === dataSource || void 0 === dataSource ? void 0 : dataSource.endLoading(); result.resolve() } })).fail((function(error) { null === dataSource || void 0 === dataSource ? void 0 : dataSource.endLoading(); result.resolve(error) })); return result.always((function() { _this24._refocusEditCell = true })).promise() } _this24._cancelSaving(result) })).fail(result.reject); return result.promise() }; _proto._beforeEndSaving = function(changes) { this._resetEditIndices() }; _proto._endSaving = function(dataChanges, changes, deferred) { var dataSource = this._dataController.dataSource(); this._beforeEndSaving(changes); null === dataSource || void 0 === dataSource ? void 0 : dataSource.endLoading(); this._refreshDataAfterSave(dataChanges, changes, deferred) }; _proto._cancelSaving = function(result) { this.executeAction("onSaved", { changes: [] }); this._resolveAfterSave(result) }; _proto._refreshDataAfterSave = function(dataChanges, changes, deferred) { var _this25 = this; var dataController = this._dataController; var refreshMode = this.option("editing.refreshMode"); var isFullRefresh = "reshape" !== refreshMode && "repaint" !== refreshMode; if (!isFullRefresh) { dataController.push(dataChanges) }(0, _deferred.when)(dataController.refresh({ selection: isFullRefresh, reload: isFullRefresh, load: "reshape" === refreshMode, changesOnly: this.option("repaintChangesOnly") })).always((function() { _this25._fireSaveEditDataEvents(changes) })).done((function() { _this25._resolveAfterSave(deferred) })).fail((function(error) { _this25._resolveAfterSave(deferred, { error: error }) })) }; _proto.isSaving = function() { return this._saving }; _proto._updateEditColumn = function() { var isEditColumnVisible = this._isEditColumnVisible(); var useIcons = this.option("editing.useIcons"); var cssClass = _const.COMMAND_EDIT_CLASS + (useIcons ? " ".concat(_const.COMMAND_EDIT_WITH_ICONS_CLASS) : ""); this._columnsController.addCommandColumn({ type: "buttons", command: "edit", visible: isEditColumnVisible, cssClass: cssClass, width: "auto", alignment: "center", cellTemplate: this._getEditCommandCellTemplate(), fixedPosition: "right" }); this._columnsController.columnOption("command:edit", { visible: isEditColumnVisible, cssClass: cssClass }) }; _proto._isEditColumnVisible = function() { var editingOptions = this.option("editing"); return editingOptions.allowDeleting }; _proto._isEditButtonDisabled = function() { var hasChanges = this.hasChanges(); var isEditRowDefined = (0, _type.isDefined)(this.option("editing.editRowKey")); return !(isEditRowDefined || hasChanges) }; _proto._updateEditButtons = function() { var headerPanel = this.getView("headerPanel"); var isButtonDisabled = this._isEditButtonDisabled(); if (headerPanel) { headerPanel.setToolbarItemDisabled("saveButton", isButtonDisabled); headerPanel.setToolbarItemDisabled("revertButton", isButtonDisabled) } }; _proto._applyModified = function($element, options) { $element && $element.addClass(_const.CELL_MODIFIED) }; _proto._beforeCloseEditCellInBatchMode = function(rowIndices) {}; _proto.cancelEditData = function() { var changes = this.getChanges(); var params = { cancel: false, changes: changes }; this.executeAction("onEditCanceling", params); if (!params.cancel) { this._cancelEditDataCore(); this.executeAction("onEditCanceled", { changes: changes }) } }; _proto._cancelEditDataCore = function() { var rowIndex = this._getVisibleEditRowIndex(); this._beforeCancelEditData(); this.init(); this.resetChanges(); this._resetEditColumnName(); this._resetEditRowKey(); this._afterCancelEditData(rowIndex) }; _proto._afterCancelEditData = function(rowIndex) { var dataController = this._dataController; dataController.updateItems({ repaintChangesOnly: this.option("repaintChangesOnly") }) }; _proto._hideEditPopup = function() {}; _proto.hasEditData = function() { return this.hasChanges() }; _proto.update = function(changeType) { var dataController = this._dataController; if (dataController && this._pageIndex !== dataController.pageIndex()) { if ("refresh" === changeType) { this.refresh({ isPageChanged: true }) } this._pageIndex = dataController.pageIndex() } this._updateEditButtons() }; _proto._getRowIndicesForCascadeUpdating = function(row, skipCurrentRow) { return skipCurrentRow ? [] : [row.rowIndex] }; _proto.addDeferred = function(deferred) { var _this26 = this; if (this._deferreds.indexOf(deferred) < 0) { this._deferreds.push(deferred); deferred.always((function() { var index = _this26._deferreds.indexOf(deferred); if (index >= 0) { _this26._deferreds.splice(index, 1) } })) } }; _proto._prepareChange = function(options, value, text) { var _this27 = this; var _a; var newData = {}; var oldData = null === (_a = options.row) || void 0 === _a ? void 0 : _a.data; var rowKey = options.key; var deferred = new _deferred.Deferred; if (void 0 !== rowKey) { options.value = value; var setCellValueResult = (0, _deferred.fromPromise)(options.column.setCellValue(newData, value, (0, _extend.extend)(true, {}, oldData), text)); setCellValueResult.done((function() { deferred.resolve({ data: newData, key: rowKey, oldData: oldData, type: _const.DATA_EDIT_DATA_UPDATE_TYPE }) })).fail((0, _m_editing_utils.createFailureHandler)(deferred)).fail((function(arg) { return _this27._fireDataErrorOccurred(arg) })); if ((0, _type.isDefined)(text) && options.column.displayValueMap) { options.column.displayValueMap[value] = text } this._updateRowValues(options); this.addDeferred(deferred) } return deferred }; _proto._updateRowValues = function(options) { if (options.values) { var dataController = this._dataController; var rowIndex = dataController.getRowIndexByKey(options.key); var row = dataController.getVisibleRows()[rowIndex]; if (row) { options.row.values = row.values; options.values = row.values } options.values[options.columnIndex] = options.value } }; _proto.updateFieldValue = function(options, value, text, forceUpdateRow) { var _this28 = this; var rowKey = options.key; var deferred = new _deferred.Deferred; if (void 0 === rowKey) { this._dataController.fireError("E1043") } if (options.column.setCellValue) { this._prepareChange(options, value, text).done((function(params) { (0, _deferred.when)(_this28._applyChange(options, params, forceUpdateRow)).always((function() { deferred.resolve() })) })) } else { deferred.resolve() } return deferred.promise() }; _proto._focusPreviousEditingCellIfNeed = function(options) { if (this.hasEditData() && !this.isEditCell(options.rowIndex, options.columnIndex)) { this._focusEditingCell(); this._updateEditRow(options.row, true); return true } }; _proto._needUpdateRow = function(column) { var visibleColumns = this._columnsController.getVisibleColumns(); if (!column) { column = this._getEditColumn() } var isCustomSetCellValue = column && column.setCellValue !== column.defaultSetCellValue; var isCustomCalculateCellValue = visibleColumns.some((function(visibleColumn) { return visibleColumn.calculateCellValue !== visibleColumn.defaultCalculateCellValue })); return isCustomSetCellValue || isCustomCalculateCellValue }; _proto._applyChange = function(options, params, forceUpdateRow) { var changeOptions = _extends(_extends({}, options), { forceUpdateRow: forceUpdateRow }); this._addChange(params, changeOptions); this._updateEditButtons(); return this._applyChangeCore(options, changeOptions.forceUpdateRow) }; _proto._applyChangeCore = function(options, forceUpdateRow) { var isCustomSetCellValue = options.column.setCellValue !== options.column.defaultSetCellValue; var row = options.row; if (row) { if (forceUpdateRow || isCustomSetCellValue) { this._updateEditRow(row, forceUpdateRow, isCustomSetCellValue) } else if (row.update) { row.update() } } }; _proto._updateEditRowCore = function(row, skipCurrentRow, isCustomSetCellValue) { this._dataController.updateItems({ changeType: "update", rowIndices: this._getRowIndicesForCascadeUpdating(row, skipCurrentRow) }) }; _proto._updateEditRow = function(row, forceUpdateRow, isCustomSetCellValue) { if (forceUpdateRow) { this._updateRowImmediately(row, forceUpdateRow, isCustomSetCellValue) } else { this._updateRowWithDelay(row, isCustomSetCellValue) } }; _proto._updateRowImmediately = function(row, forceUpdateRow, isCustomSetCellValue) { this._updateEditRowCore(row, !forceUpdateRow, isCustomSetCellValue); this._validateEditFormAfterUpdate(row, isCustomSetCellValue); if (!forceUpdateRow) { this._focusEditingCell() } }; _proto._updateRowWithDelay = function(row, isCustomSetCellValue) { var _this29 = this; var deferred = new _deferred.Deferred; this.addDeferred(deferred); setTimeout((function() { var _a; var elementContainer = (null === (_a = _this29._editForm) || void 0 === _a ? void 0 : _a.element()) || _this29.component.$element().get(0); var $focusedElement = (0, _renderer.default)(_dom_adapter.default.getActiveElement(elementContainer)); var columnIndex = _this29._rowsView.getCellIndex($focusedElement, row.rowIndex); var focusedElement = $focusedElement.get(0); var selectionRange = _m_utils.default.getSelectionRange(focusedElement); _this29._updateEditRowCore(row, false, isCustomSetCellValue); _this29._validateEditFormAfterUpdate(row, isCustomSetCellValue); if (columnIndex >= 0) { var $focusedItem = _this29._rowsView._getCellElement(row.rowIndex, columnIndex); _this29._delayedInputFocus($focusedItem, (function() { setTimeout((function() { var _a; focusedElement = _dom_adapter.default.getActiveElement(null === (_a = _this29.component.$element()) || void 0 === _a ? void 0 : _a.get(0)); if (selectionRange.selectionStart >= 0) { _m_utils.default.setSelectionRange(focusedElement, selectionRange) } })) })) } deferred.resolve() })) }; _proto._validateEditFormAfterUpdate = function() {}; _proto._addChange = function(changeParams, options) { var _a; var row = null === options || void 0 === options ? void 0 : options.row; var changes = _toConsumableArray(this.getChanges()); var index = _m_utils.default.getIndexByKey(changeParams.key, changes); if (index < 0) { index = changes.length; this._addInternalData({ key: changeParams.key, oldData: changeParams.oldData }); delete changeParams.oldData; changes.push(changeParams) } var change = _extends({}, changes[index]); if (change) { if (changeParams.data) { change.data = (0, _array_utils.createObjectWithChanges)(change.data, changeParams.data) } if ((!change.type || !changeParams.data) && changeParams.type) { change.type = changeParams.type } if (row) { row.oldData = this._getOldData(row.key); row.data = (0, _array_utils.createObjectWithChanges)(row.data, changeParams.data) } } changes[index] = change; this._silentOption(_const.EDITING_CHANGES_OPTION_NAME, changes); if (options && change !== (null === (_a = this.getChanges()) || void 0 === _a ? void 0 : _a[index])) { options.forceUpdateRow = true } return change }; _proto._getFormEditItemTemplate = function(cellOptions, column) { return column.editCellTemplate || this._getDefaultEditorTemplate() }; _proto.getColumnTemplate = function(options) { var _this30 = this; var column = options.column; var rowIndex = options.row && options.row.rowIndex; var template; var isRowMode = this.isRowBasedEditMode(); var isRowEditing = this.isEditRow(rowIndex); var isCellEditing = this.isEditCell(rowIndex, options.columnIndex); var editingStartOptions; if ((column.showEditorAlways || column.setCellValue && (isRowEditing && column.allowEditing || isCellEditing)) && ("data" === options.rowType || "detailAdaptive" === options.rowType) && !column.command) { var allowUpdating = this.allowUpdating(options); if (((allowUpdating || isRowEditing) && column.allowEditing || isCellEditing) && (isRowEditing || !isRowMode)) { if (column.showEditorAlways && !isRowMode) { editingStartOptions = { cancel: false, key: options.row.isNewRow ? void 0 : options.row.key, data: options.row.data, column: column }; this._isEditingStart(editingStartOptions) } if (!editingStartOptions || !editingStartOptions.cancel) { options.setValue = function(value, text) { _this30.updateFieldValue(options, value, text) } } } template = column.editCellTemplate || this._getDefaultEditorTemplate() } else if ("detail" === column.command && "detail" === options.rowType && isRowEditing) { template = null === this || void 0 === this ? void 0 : this.getEditFormTemplate(options) } return template }; _proto._createButton = function($container, button, options, change) { var icon = _const.EDIT_ICON_CLASS[button.name]; var useIcons = this.option("editing.useIcons"); var useLegacyColumnButtonTemplate = this.option("useLegacyColumnButtonTemplate"); var $button = (0, _renderer.default)("").attr("href", "#").addClass(_const.LINK_CLASS).addClass(button.cssClass); if (button.template && useLegacyColumnButtonTemplate) { this._rowsView.renderTemplate($container, button.template, options, true) } else { if (button.template) { $button = (0, _renderer.default)("").addClass(button.cssClass) } else if (useIcons && icon || button.icon) { icon = button.icon || icon; var iconType = iconUtils.getImageSourceType(icon); if ("image" === iconType || "svg" === iconType) { $button = iconUtils.getImageContainer(icon).addClass(button.cssClass) } else { $button.addClass("dx-icon".concat("dxIcon" === iconType ? "-" : " ").concat(icon)).attr("title", button.text) } $button.addClass("dx-link-icon"); $container.addClass(_const.COMMAND_EDIT_WITH_ICONS_CLASS); var localizationName = this.getButtonLocalizationNames()[button.name]; localizationName && $button.attr("aria-label", _message.default.format(localizationName)) } else { $button.text(button.text) } if ((0, _type.isDefined)(button.hint)) { $button.attr("title", button.hint) } if (this._isButtonDisabled(button, options)) { $button.addClass("dx-state-disabled") } else if (!button.template || button.onClick) { _events_engine.default.on($button, (0, _index.addNamespace)("click", _const.EDITING_NAMESPACE), this.createAction((function(e) { var _a; null === (_a = button.onClick) || void 0 === _a ? void 0 : _a.call(button, (0, _extend.extend)({}, e, { row: options.row, column: options.column })); e.event.preventDefault(); e.event.stopPropagation() }))) } $container.append($button, " "); if (button.template) { options.renderAsync = false; this._rowsView.renderTemplate($button, button.template, options, true, change) } } }; _proto.getButtonLocalizationNames = function() { return { edit: "dxDataGrid-editingEditRow", save: "dxDataGrid-editingSaveRowChanges", delete: "dxDataGrid-editingDeleteRow", undelete: "dxDataGrid-editingUndeleteRow", cancel: "dxDataGrid-editingCancelRowChanges" } }; _proto.prepareButtonItem = function(headerPanel, name, methodName, sortIndex) { var _this31 = this; var _a; var editingTexts = null !== (_a = this.option("editing.texts")) && void 0 !== _a ? _a : {}; var titleButtonTextByClassNames = { revert: editingTexts.cancelAllChanges, save: editingTexts.saveAllChanges, addRow: editingTexts.addRow }; var className = { revert: "cancel", save: "save", addRow: "addrow" } [name]; var hintText = titleButtonTextByClassNames[name]; var isButtonDisabled = ("save" === className || "cancel" === className) && this._isEditButtonDisabled(); return { widget: "dxButton", options: { onInitialized: function(e) { (0, _renderer.default)(e.element).addClass(headerPanel._getToolbarButtonClass("".concat(_const.EDIT_BUTTON_CLASS, " ").concat(_this31.addWidgetPrefix(className), "-button"))) }, icon: "edit-button-".concat(className), disabled: isButtonDisabled, onClick: function() { setTimeout((function() { _this31[methodName]() })) }, text: hintText, hint: hintText }, showText: "inMenu", name: "".concat(name, "Button"), location: "after", locateInMenu: "auto", sortIndex: sortIndex } }; _proto.prepareEditButtons = function(headerPanel) { var _a; var editingOptions = null !== (_a = this.option("editing")) && void 0 !== _a ? _a : {}; var buttonItems = []; if (editingOptions.allowAdding) { buttonItems.push(this.prepareButtonItem(headerPanel, "addRow", "addRow", 20)) } return buttonItems }; _proto.highlightDataCell = function($cell, params) { this.shouldHighlightCell(params) && $cell.addClass(_const.CELL_MODIFIED) }; _proto._afterInsertRow = function() {}; _proto._beforeSaveEditData = function(change) { if (change && !(0, _type.isDefined)(change.key) && (0, _type.isDefined)(change.type)) { return true } }; _proto._afterSaveEditData = function() {}; _proto._beforeCancelEditData = function() {}; _proto._allowEditAction = function(actionName, options) { var allowEditAction = this.option("editing.".concat(actionName)); if ((0, _type.isFunction)(allowEditAction)) { allowEditAction = allowEditAction({ component: this.component, row: options.row }) } return allowEditAction }; _proto.allowUpdating = function(options, eventName) { var _a; var startEditAction = null !== (_a = this.option("editing.startEditAction")) && void 0 !== _a ? _a : _const.DEFAULT_START_EDIT_ACTION; var needCallback = arguments.length > 1 ? startEditAction === eventName || "down" === eventName : true; return needCallback && this._allowEditAction("allowUpdating", options) }; _proto.allowDeleting = function(options) { return this._allowEditAction("allowDeleting", options) }; _proto.isCellModified = function(parameters) { var columnIndex = parameters.columnIndex; var modifiedValues = parameters.row && (parameters.row.isNewRow ? parameters.row.values : parameters.row.modifiedValues); return !!modifiedValues && void 0 !== modifiedValues[columnIndex] }; _proto.isNewRowInEditMode = function() { var visibleEditRowIndex = this._getVisibleEditRowIndex(); var rows = this._dataController.items(); return visibleEditRowIndex >= 0 ? rows[visibleEditRowIndex].isNewRow : false }; _proto._isRowDeleteAllowed = function() {}; _proto.shouldHighlightCell = function(parameters) { var cellModified = this.isCellModified(parameters); return cellModified && parameters.column.setCellValue && (this.getEditMode() !== _const.EDIT_MODE_ROW || !parameters.row.isEditing) }; return EditingControllerImpl }(_m_modules.default.ViewController); var editingModule = { defaultOptions: function() { return { editing: { mode: "row", refreshMode: "full", newRowPosition: _const.VIEWPORT_TOP_NEW_ROW_POSITION, allowAdding: false, allowUpdating: false, allowDeleting: false, useIcons: false, selectTextOnEditStart: false, confirmDelete: true, texts: { editRow: _message.default.format("dxDataGrid-editingEditRow"), saveAllChanges: _message.default.format("dxDataGrid-editingSaveAllChanges"), saveRowChanges: _message.default.format("dxDataGrid-editingSaveRowChanges"), cancelAllChanges: _message.default.format("dxDataGrid-editingCancelAllChanges"), cancelRowChanges: _message.default.format("dxDataGrid-editingCancelRowChanges"), addRow: _message.default.format("dxDataGrid-editingAddRow"), deleteRow: _message.default.format("dxDataGrid-editingDeleteRow"), undeleteRow: _message.default.format("dxDataGrid-editingUndeleteRow"), confirmDeleteMessage: _message.default.format("dxDataGrid-editingConfirmDeleteMessage"), confirmDeleteTitle: "" }, form: { colCount: 2 }, popup: {}, startEditAction: "click", editRowKey: null, editColumnName: null, changes: [] }, useLegacyColumnButtonTemplate: false } }, controllers: { editing: EditingControllerImpl }, extenders: { controllers: { data: { init: function() { this._editingController = this.getController("editing"); this.callBase() }, reload: function(full, repaintChangesOnly) { !repaintChangesOnly && this._editingController.refresh(); return this.callBase.apply(this, arguments) }, repaintRows: function() { if (this.getController("editing").isSaving()) { return } return this.callBase.apply(this, arguments) }, _updateEditRow: function(items) { var _a; var editRowKey = this.option(_const.EDITING_EDITROWKEY_OPTION_NAME); var editRowIndex = _m_utils.default.getIndexByKey(editRowKey, items); var editItem = items[editRowIndex]; if (editItem) { editItem.isEditing = true; null === (_a = this._updateEditItem) || void 0 === _a ? void 0 : _a.call(this, editItem) } }, _updateItemsCore: function(change) { this.callBase(change); this._updateEditRow(this.items(true)) }, _applyChangeUpdate: function(change) { this._updateEditRow(change.items); this.callBase(change) }, _applyChangesOnly: function(change) { this._updateEditRow(change.items); this.callBase(change) }, _processItems: function(items, change) { items = this._editingController.processItems(items, change); return this.callBase(items, change) }, _processDataItem: function(dataItem, options) { this._editingController.processDataItem(dataItem, options, this.generateDataValues); return this.callBase(dataItem, options) }, _processItem: function(item, options) { item = this.callBase(item, options); if (item.isNewRow) { options.dataIndex--; delete item.dataIndex } return item }, _getChangedColumnIndices: function(oldItem, newItem, rowIndex, isLiveUpdate) { if (oldItem.isNewRow !== newItem.isNewRow || oldItem.removed !== newItem.removed) { return } return this.callBase.apply(this, arguments) }, _isCellChanged: function(oldRow, newRow, visibleRowIndex, columnIndex, isLiveUpdate) { var editingController = this.getController("editing"); var cell = oldRow.cells && oldRow.cells[columnIndex]; var isEditing = editingController && editingController.isEditCell(visibleRowIndex, columnIndex); if (isLiveUpdate && isEditing) { return false } if (cell && cell.column && !cell.column.showEditorAlways && cell.isEditing !== isEditing) { return true } return this.callBase.apply(this, arguments) }, needToRefreshOnDataSourceChange: function(args) { var editingController = this.getController("editing"); var isParasiteChange = Array.isArray(args.value) && args.value === args.previousValue && editingController.isSaving(); return !isParasiteChange }, _handleDataSourceChange: function(args) { var _this32 = this; var result = this.callBase(args); var changes = this.option("editing.changes"); var dataSource = args.value; if (Array.isArray(dataSource) && changes.length) { var dataSourceKeys = dataSource.map((function(item) { return _this32.keyOf(item) })); var newChanges = changes.filter((function(change) { return "insert" === change.type || dataSourceKeys.some((function(key) { return (0, _common.equalByValue)(change.key, key) })) })); if (newChanges.length !== changes.length) { this.option("editing.changes", newChanges) } var editRowKey = this.option("editing.editRowKey"); var isEditNewItem = newChanges.some((function(change) { return "insert" === change.type && (0, _common.equalByValue)(editRowKey, change.key) })); if (!isEditNewItem && dataSourceKeys.every((function(key) { return !(0, _common.equalByValue)(editRowKey, key) }))) { this.option("editing.editRowKey", null) } } return result } } }, views: { rowsView: { init: function() { this.callBase(); this._editingController = this.getController("editing") }, getCellIndex: function($cell, rowIndex) { if (!$cell.is("td") && rowIndex >= 0) { var $cellElements = this.getCellElements(rowIndex); var cellIndex = -1; (0, _iterator.each)($cellElements, (function(index, cellElement) { if ((0, _renderer.default)(cellElement).find($cell).length) { cellIndex = index } })); return cellIndex } return this.callBase.apply(this, arguments) }, publicMethods: function() { return this.callBase().concat(["cellValue"]) }, _getCellTemplate: function(options) { var template = this._editingController.getColumnTemplate(options); return template || this.callBase(options) }, _createRow: function(row) { var $row = this.callBase.apply(this, arguments); if (row) { var isRowRemoved = !!row.removed; var isRowInserted = !!row.isNewRow; var isRowModified = !!row.modified; isRowInserted && $row.addClass(_const.ROW_INSERTED); isRowModified && $row.addClass(_const.ROW_MODIFIED); if (isRowInserted || isRowRemoved) { $row.removeClass(_const.ROW_SELECTED) } } return $row }, _getColumnIndexByElement: function($element) { var $tableElement = $element.closest("table"); var $tableElements = this.getTableElements(); while ($tableElement.length && !$tableElements.filter($tableElement).length) { $element = $tableElement.closest("td"); $tableElement = $element.closest("table") } return this._getColumnIndexByElementCore($element) }, _getColumnIndexByElementCore: function($element) { var $targetElement = $element.closest(".".concat(_const.ROW_CLASS, "> td:not(.dx-master-detail-cell)")); return this.getCellIndex($targetElement) }, _editCellByClick: function(e, eventName) { var editingController = this._editingController; var $targetElement = (0, _renderer.default)(e.event.target); var columnIndex = this._getColumnIndexByElement($targetElement); var row = this._dataController.items()[e.rowIndex]; var allowUpdating = editingController.allowUpdating({ row: row }, eventName) || row && row.isNewRow; var column = this._columnsController.getVisibleColumns()[columnIndex]; var isEditedCell = editingController.isEditCell(e.rowIndex, columnIndex); var allowEditing = allowUpdating && column && (column.allowEditing || isEditedCell); var startEditAction = this.option("editing.startEditAction") || "click"; var isShowEditorAlways = column && column.showEditorAlways; if (isEditedCell) { return true } if ("down" === eventName) { if (_devices.default.real().ios || _devices.default.real().android) { (0, _dom.resetActiveElement)() } return isShowEditorAlways && allowEditing && editingController.editCell(e.rowIndex, columnIndex) } if ("click" === eventName && "dblClick" === startEditAction) { var withoutSaveEditData = null === row || void 0 === row ? void 0 : row.isNewRow; editingController.closeEditCell(false, withoutSaveEditData) } if (allowEditing && eventName === startEditAction) { return editingController.editCell(e.rowIndex, columnIndex) || editingController.isEditRow(e.rowIndex) } }, _rowPointerDown: function(e) { var _this33 = this; this._pointerDownTimeout = setTimeout((function() { _this33._editCellByClick(e, "down") })) }, _rowClick: function(e) { var isEditForm = (0, _renderer.default)(e.rowElement).hasClass(this.addWidgetPrefix(_const.EDIT_FORM_CLASS)); e.event[_const.TARGET_COMPONENT_NAME] = this.component; if (!this._editCellByClick(e, "click") && !isEditForm) { this.callBase.apply(this, arguments) } }, _rowDblClick: function(e) { if (!this._editCellByClick(e, "dblClick")) { this.callBase.apply(this, arguments) } }, _cellPrepared: function($cell, parameters) { var _a; var editingController = this._editingController; var isCommandCell = !!parameters.column.command; var isEditableCell = parameters.setValue; var isEditRow = editingController.isEditRow(parameters.rowIndex); var isEditing = (0, _m_editing_utils.isEditingCell)(isEditRow, parameters); if ((0, _m_editing_utils.isEditingOrShowEditorAlwaysDataCell)(isEditRow, parameters)) { var alignment = parameters.column.alignment; $cell.toggleClass(this.addWidgetPrefix(_const.READONLY_CLASS), !isEditableCell).toggleClass(_const.CELL_FOCUS_DISABLED_CLASS, !isEditableCell); if (alignment) { $cell.find(_const.EDITORS_INPUT_SELECTOR).first().css("textAlign", alignment) } } if (isEditing) { this._editCellPrepared($cell) } var hasTemplate = !!(null === (_a = parameters.column) || void 0 === _a ? void 0 : _a.cellTemplate); if (parameters.column && !isCommandCell && (!hasTemplate || editingController.shouldHighlightCell(parameters))) { editingController.highlightDataCell($cell, parameters) } this.callBase.apply(this, arguments) }, _editCellPrepared: _common.noop, _formItemPrepared: _common.noop, _getCellOptions: function(options) { var cellOptions = this.callBase(options); cellOptions.isEditing = this._editingController.isEditCell(cellOptions.rowIndex, cellOptions.columnIndex); return cellOptions }, _createCell: function(options) { var $cell = this.callBase(options); var isEditRow = this._editingController.isEditRow(options.rowIndex); (0, _m_editing_utils.isEditingOrShowEditorAlwaysDataCell)(isEditRow, options) && $cell.addClass(_const.EDITOR_CELL_CLASS); return $cell }, cellValue: function(rowIndex, columnIdentifier, value, text) { var cellOptions = this.getCellOptions(rowIndex, columnIdentifier); if (cellOptions) { if (void 0 === value) { return cellOptions.value } this._editingController.updateFieldValue(cellOptions, value, text, true) } }, dispose: function() { this.callBase.apply(this, arguments); clearTimeout(this._pointerDownTimeout) }, _renderCore: function() { var _this34 = this; this.callBase.apply(this, arguments); return this.waitAsyncTemplates(true).done((function() { _this34._editingController._focusEditorIfNeed() })) } }, headerPanel: { _getToolbarItems: function() { var items = this.callBase(); var editButtonItems = this.getController("editing").prepareEditButtons(this); return editButtonItems.concat(items) }, optionChanged: function(args) { var fullName = args.fullName; switch (args.name) { case "editing": var excludedOptions = [_const.EDITING_POPUP_OPTION_NAME, _const.EDITING_CHANGES_OPTION_NAME, _const.EDITING_EDITCOLUMNNAME_OPTION_NAME, _const.EDITING_EDITROWKEY_OPTION_NAME]; var shouldInvalidate = fullName && !excludedOptions.some((function(optionName) { return optionName === fullName })); shouldInvalidate && this._invalidate(); this.callBase(args); break; case "useLegacyColumnButtonTemplate": args.handled = true; break; default: this.callBase(args) } }, isVisible: function() { var editingOptions = this.getController("editing").option("editing"); return this.callBase() || (null === editingOptions || void 0 === editingOptions ? void 0 : editingOptions.allowAdding) } } } } }; exports.editingModule = editingModule }, 68802: /*!********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/editing/m_editing_cell_based.js ***! \********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.editingCellBasedModule = void 0; var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../../core/dom_adapter */ 73349)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _dom = __webpack_require__( /*! ../../../../core/utils/dom */ 3532); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _array_utils = __webpack_require__( /*! ../../../../data/array_utils */ 60637); var _click = __webpack_require__( /*! ../../../../events/click */ 95429); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _hold = _interopRequireDefault(__webpack_require__( /*! ../../../../events/hold */ 11699)); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../../../events/pointer */ 93786)); var _index = __webpack_require__( /*! ../../../../events/utils/index */ 39611); var _const = __webpack_require__( /*! ./const */ 72313); var _m_editing_utils = __webpack_require__( /*! ./m_editing_utils */ 89237); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var editingCellBasedModule = { extenders: { controllers: { editing: function(Base) { return function(_Base) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(CellBasedEditingControllerExtender, _Base); function CellBasedEditingControllerExtender() { return _Base.apply(this, arguments) || this } var _proto = CellBasedEditingControllerExtender.prototype; _proto.init = function() { var _this = this; var needCreateHandlers = !this._saveEditorHandler; _Base.prototype.init.call(this); if (needCreateHandlers) { var $pointerDownTarget; var isResizing; this._pointerUpEditorHandler = function() { var _a; isResizing = null === (_a = _this.getController("columnsResizer")) || void 0 === _a ? void 0 : _a.isResizing() }; this._pointerDownEditorHandler = function(e) { return $pointerDownTarget = (0, _renderer.default)(e.target) }; this._saveEditorHandler = this.createAction((function(e) { var event = e.event; var $target = (0, _renderer.default)(event.target); var targetComponent = event[_const.TARGET_COMPONENT_NAME]; var component = this.component; if ((0, _m_editing_utils.isEditable)($pointerDownTarget) && !$pointerDownTarget.is($target)) { return } function checkEditorPopup($element) { if (!$element) { return false } var $dropDownEditorOverlay = $element.closest(".".concat(_const.DROPDOWN_EDITOR_OVERLAY_CLASS)); var $componentElement = component.$element(); return $dropDownEditorOverlay.length > 0 && 0 === $componentElement.closest($dropDownEditorOverlay).length } if (this.isCellOrBatchEditMode() && !this._editCellInProgress) { var isEditorPopup = checkEditorPopup($target) || checkEditorPopup(null === targetComponent || void 0 === targetComponent ? void 0 : targetComponent.$element()); var isAnotherComponent = targetComponent && !targetComponent._disposed && targetComponent !== this.component; var isAddRowButton = !!$target.closest(".".concat(this.addWidgetPrefix(_const.ADD_ROW_BUTTON_CLASS))).length; var isFocusOverlay = $target.hasClass(this.addWidgetPrefix(_const.FOCUS_OVERLAY_CLASS)); var isCellEditMode = this.isCellEditMode(); if (!isResizing && !isEditorPopup && !isFocusOverlay && !(isAddRowButton && isCellEditMode && this.isEditing()) && ((0, _dom.isElementInDom)($target) || isAnotherComponent)) { this._closeEditItem.bind(this)($target) } } })); _events_engine.default.on(_dom_adapter.default.getDocument(), _pointer.default.up, this._pointerUpEditorHandler); _events_engine.default.on(_dom_adapter.default.getDocument(), _pointer.default.down, this._pointerDownEditorHandler); _events_engine.default.on(_dom_adapter.default.getDocument(), _click.name, this._saveEditorHandler) } }; _proto.isCellEditMode = function() { return this.option("editing.mode") === _const.EDIT_MODE_CELL }; _proto.isBatchEditMode = function() { return this.option("editing.mode") === _const.EDIT_MODE_BATCH }; _proto.isCellOrBatchEditMode = function() { return this.isCellEditMode() || this.isBatchEditMode() }; _proto._needToCloseEditableCell = function($targetElement) { var _a; var $element = this.component.$element(); var result = this.isEditing(); var isCurrentComponentElement = !$element || !!$targetElement.closest($element).length; if (isCurrentComponentElement) { var isDataRow = $targetElement.closest(".".concat(_const.DATA_ROW_CLASS)).length; if (isDataRow) { var rowsView = this.getView("rowsView"); var $targetCell = $targetElement.closest(".".concat(_const.ROW_CLASS, "> td")); var rowIndex = rowsView.getRowIndex($targetCell.parent()); var cellElements = rowsView.getCellElements(rowIndex); if (null === cellElements || void 0 === cellElements ? void 0 : cellElements.length) { var columnIndex = cellElements.index($targetCell); var visibleColumns = this._columnsController.getVisibleColumns(); var allowEditing = null === (_a = visibleColumns[columnIndex]) || void 0 === _a ? void 0 : _a.allowEditing; var isEditingCell = this.isEditCell(rowIndex, columnIndex); result = result && !allowEditing && !isEditingCell } } } return result || _Base.prototype._needToCloseEditableCell.call(this, $targetElement) }; _proto._closeEditItem = function($targetElement) { if (this._needToCloseEditableCell($targetElement)) { this.closeEditCell() } }; _proto._focusEditorIfNeed = function() { var _this2 = this; var _a; if (this._needFocusEditor && this.isCellOrBatchEditMode()) { var editColumnIndex = this._getVisibleEditColumnIndex(); var $cell = null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a._getCellElement(this._getVisibleEditRowIndex(), editColumnIndex); if ($cell && !$cell.find(":focus").length) { this._focusEditingCell((function() { _this2._editCellInProgress = false }), $cell, true) } else { this._editCellInProgress = false } this._needFocusEditor = false } else { _Base.prototype._focusEditorIfNeed.call(this) } }; _proto.isEditing = function() { if (this.isCellOrBatchEditMode()) { var isEditRowKeyDefined = (0, _type.isDefined)(this.option(_const.EDITING_EDITROWKEY_OPTION_NAME)); var isEditColumnNameDefined = (0, _type.isDefined)(this.option(_const.EDITING_EDITCOLUMNNAME_OPTION_NAME)); return isEditRowKeyDefined && isEditColumnNameDefined } return _Base.prototype.isEditing.call(this) }; _proto._handleEditColumnNameChange = function(args) { var oldRowIndex = this._getVisibleEditRowIndex(args.previousValue); if (this.isCellOrBatchEditMode() && -1 !== oldRowIndex && (0, _type.isDefined)(args.value) && args.value !== args.previousValue) { var columnIndex = this._columnsController.getVisibleColumnIndex(args.value); var oldColumnIndex = this._columnsController.getVisibleColumnIndex(args.previousValue); this._editCellFromOptionChanged(columnIndex, oldColumnIndex, oldRowIndex) } }; _proto._addRow = function(parentKey) { var _this3 = this; if (this.isCellEditMode() && this.hasChanges()) { var deferred = new _deferred.Deferred; this.saveEditData().done((function() { if (!_this3.hasChanges()) { _this3.addRow(parentKey).done(deferred.resolve).fail(deferred.reject) } else { deferred.reject("cancel") } })); return deferred.promise() } return _Base.prototype._addRow.call(this, parentKey) }; _proto.editCell = function(rowIndex, columnIndex) { return this._editCell({ rowIndex: rowIndex, columnIndex: columnIndex }) }; _proto._editCell = function(options) { var _this4 = this; var d = new _deferred.Deferred; var coreResult; this.executeOperation(d, (function() { coreResult = _this4._editCellCore(options); (0, _deferred.when)(coreResult).done(d.resolve).fail(d.reject) })); return void 0 !== coreResult ? coreResult : d.promise() }; _proto._editCellCore = function(options) { var _this5 = this; var dataController = this._dataController; var isEditByOptionChanged = (0, _type.isDefined)(options.oldColumnIndex) || (0, _type.isDefined)(options.oldRowIndex); var _this$_getNormalizedE = this._getNormalizedEditCellOptions(options), columnIndex = _this$_getNormalizedE.columnIndex, rowIndex = _this$_getNormalizedE.rowIndex, column = _this$_getNormalizedE.column, item = _this$_getNormalizedE.item; var params = { data: null === item || void 0 === item ? void 0 : item.data, cancel: false, column: column }; if (void 0 === item.key) { this._dataController.fireError("E1043"); return } if (column && ("data" === item.rowType || "detailAdaptive" === item.rowType) && !item.removed && this.isCellOrBatchEditMode()) { if (!isEditByOptionChanged && this.isEditCell(rowIndex, columnIndex)) { return true } var editRowIndex = rowIndex + dataController.getRowIndexOffset(); return (0, _deferred.when)(this._beforeEditCell(rowIndex, columnIndex, item)).done((function(cancel) { if (cancel) { return } if (!_this5._prepareEditCell(params, item, columnIndex, editRowIndex)) { _this5._processCanceledEditingCell() } })) } return false }; _proto._beforeEditCell = function(rowIndex, columnIndex, item) { var _this6 = this; if (this.isCellEditMode() && !item.isNewRow && this.hasChanges()) { var d = new _deferred.Deferred; this.saveEditData().always((function() { d.resolve(_this6.hasChanges()) })); return d } }; _proto.publicMethods = function() { var publicMethods = _Base.prototype.publicMethods.call(this); return publicMethods.concat(["editCell", "closeEditCell"]) }; _proto._getNormalizedEditCellOptions = function(_ref) { var oldColumnIndex = _ref.oldColumnIndex, oldRowIndex = _ref.oldRowIndex, columnIndex = _ref.columnIndex, rowIndex = _ref.rowIndex; var columnsController = this._columnsController; var visibleColumns = columnsController.getVisibleColumns(); var items = this._dataController.items(); var item = items[rowIndex]; var oldColumn; if ((0, _type.isDefined)(oldColumnIndex)) { oldColumn = visibleColumns[oldColumnIndex] } else { oldColumn = this._getEditColumn() } if (!(0, _type.isDefined)(oldRowIndex)) { oldRowIndex = this._getVisibleEditRowIndex() } if ((0, _type.isString)(columnIndex)) { columnIndex = columnsController.columnOption(columnIndex, "index"); columnIndex = columnsController.getVisibleIndex(columnIndex) } var column = visibleColumns[columnIndex]; return { oldColumn: oldColumn, columnIndex: columnIndex, oldRowIndex: oldRowIndex, rowIndex: rowIndex, column: column, item: item } }; _proto._prepareEditCell = function(params, item, editColumnIndex, editRowIndex) { var _a; if (!item.isNewRow) { params.key = item.key } if (this._isEditingStart(params)) { return false } this._pageIndex = this._dataController.pageIndex(); this._setEditRowKey(item.key); this._setEditColumnNameByIndex(editColumnIndex); if (!params.column.showEditorAlways) { this._addInternalData({ key: item.key, oldData: null !== (_a = item.oldData) && void 0 !== _a ? _a : item.data }) } return true }; _proto.closeEditCell = function(isError, withoutSaveEditData) { var _this7 = this; var result = (0, _deferred.when)(); var oldEditRowIndex = this._getVisibleEditRowIndex(); if (this.isCellOrBatchEditMode()) { var deferred = new _deferred.Deferred; result = new _deferred.Deferred; this.executeOperation(deferred, (function() { _this7._closeEditCellCore(isError, oldEditRowIndex, withoutSaveEditData).always(result.resolve) })) } return result.promise() }; _proto._closeEditCellCore = function(isError, oldEditRowIndex, withoutSaveEditData) { var _this8 = this; var dataController = this._dataController; var deferred = new _deferred.Deferred; var promise = deferred.promise(); if (this.isCellEditMode() && this.hasChanges()) { if (!withoutSaveEditData) { this.saveEditData().done((function(error) { if (!_this8.hasChanges()) { _this8.closeEditCell(!!error).always(deferred.resolve); return } deferred.resolve() })); return promise } } else { this._resetEditRowKey(); this._resetEditColumnName(); if (oldEditRowIndex >= 0) { var rowIndices = [oldEditRowIndex]; this._beforeCloseEditCellInBatchMode(rowIndices); if (!isError) { dataController.updateItems({ changeType: "update", rowIndices: rowIndices }) } } } deferred.resolve(); return promise }; _proto._resetModifiedClassCells = function(changes) { var _this9 = this; if (this.isBatchEditMode()) { var columnsCount = this._columnsController.getVisibleColumns().length; changes.forEach((function(_ref2) { var key = _ref2.key; var rowIndex = _this9._dataController.getRowIndexByKey(key); for (var columnIndex = 0; columnIndex < columnsCount; columnIndex++) { var cellElement = _this9._rowsView._getCellElement(rowIndex, columnIndex); null === cellElement || void 0 === cellElement ? void 0 : cellElement.removeClass(_const.CELL_MODIFIED_CLASS) } })) } }; _proto._prepareChange = function(options, value, text) { var $cellElement = (0, _renderer.default)(options.cellElement); if (this.isBatchEditMode() && void 0 !== options.key) { this._applyModified($cellElement, options) } return _Base.prototype._prepareChange.call(this, options, value, text) }; _proto._cancelSaving = function(result) { var dataController = this._dataController; if (this.isCellOrBatchEditMode()) { if (this.isBatchEditMode()) { this._resetEditIndices() } dataController.updateItems() } _Base.prototype._cancelSaving.call(this, result) }; _proto.optionChanged = function(args) { var fullName = args.fullName; if ("editing" === args.name && fullName === _const.EDITING_EDITCOLUMNNAME_OPTION_NAME) { this._handleEditColumnNameChange(args); args.handled = true } else { _Base.prototype.optionChanged.call(this, args) } }; _proto._editCellFromOptionChanged = function(columnIndex, oldColumnIndex, oldRowIndex) { var _this10 = this; var columns = this._columnsController.getVisibleColumns(); if (columnIndex > -1) { (0, _common.deferRender)((function() { _this10._repaintEditCell(columns[columnIndex], columns[oldColumnIndex], oldRowIndex) })) } }; _proto._handleEditRowKeyChange = function(args) { var _a; if (this.isCellOrBatchEditMode()) { var columnIndex = this._getVisibleEditColumnIndex(); var oldRowIndexCorrection = this._getEditRowIndexCorrection(); var oldRowIndex = this._dataController.getRowIndexByKey(args.previousValue) + oldRowIndexCorrection; if ((0, _type.isDefined)(args.value) && args.value !== args.previousValue) { null === (_a = this._editCellFromOptionChanged) || void 0 === _a ? void 0 : _a.call(this, columnIndex, columnIndex, oldRowIndex) } } else { _Base.prototype._handleEditRowKeyChange.call(this, args) } }; _proto.deleteRow = function(rowIndex) { var _this11 = this; if (this.isCellEditMode() && this.isEditing()) { var isNewRow = this._dataController.items()[rowIndex].isNewRow; var rowKey = this._dataController.getKeyByRowIndex(rowIndex); this.closeEditCell(null, isNewRow).always((function() { rowIndex = _this11._dataController.getRowIndexByKey(rowKey); _this11._checkAndDeleteRow(rowIndex) })) } else { _Base.prototype.deleteRow.call(this, rowIndex) } }; _proto._checkAndDeleteRow = function(rowIndex) { if (this.isBatchEditMode()) { this._deleteRowCore(rowIndex) } else { _Base.prototype._checkAndDeleteRow.call(this, rowIndex) } }; _proto._refreshCore = function(params) { var _ref3 = null !== params && void 0 !== params ? params : {}, isPageChanged = _ref3.isPageChanged; var needResetIndexes = this.isBatchEditMode() || isPageChanged && "virtual" !== this.option("scrolling.mode"); if (this.isCellOrBatchEditMode()) { if (needResetIndexes) { this._resetEditColumnName(); this._resetEditRowKey() } } else { _Base.prototype._refreshCore.call(this, params) } }; _proto._allowRowAdding = function(params) { if (this.isBatchEditMode()) { return true } return _Base.prototype._allowRowAdding.call(this, params) }; _proto._afterDeleteRow = function(rowIndex, oldEditRowIndex) { var dataController = this._dataController; if (this.isBatchEditMode()) { dataController.updateItems({ changeType: "update", rowIndices: [oldEditRowIndex, rowIndex] }); return (new _deferred.Deferred).resolve() } return _Base.prototype._afterDeleteRow.call(this, rowIndex, oldEditRowIndex) }; _proto._updateEditRow = function(row, forceUpdateRow, isCustomSetCellValue) { if (this.isCellOrBatchEditMode()) { this._updateRowImmediately(row, forceUpdateRow, isCustomSetCellValue) } else { _Base.prototype._updateEditRow.call(this, row, forceUpdateRow, isCustomSetCellValue) } }; _proto._isDefaultButtonVisible = function(button, options) { if (this.isCellOrBatchEditMode()) { var isBatchMode = this.isBatchEditMode(); switch (button.name) { case "save": case "cancel": case "edit": return false; case "delete": return _Base.prototype._isDefaultButtonVisible.call(this, button, options) && (!isBatchMode || !options.row.removed); case "undelete": return isBatchMode && this.allowDeleting(options) && options.row.removed; default: return _Base.prototype._isDefaultButtonVisible.call(this, button, options) } } return _Base.prototype._isDefaultButtonVisible.call(this, button, options) }; _proto._isRowDeleteAllowed = function() { var callBaseResult = _Base.prototype._isRowDeleteAllowed.call(this); return callBaseResult || this.isBatchEditMode() }; _proto._beforeEndSaving = function(changes) { var _a; if (this.isCellEditMode()) { if ("update" !== (null === (_a = changes[0]) || void 0 === _a ? void 0 : _a.type)) { _Base.prototype._beforeEndSaving.call(this, changes) } } else { if (this.isBatchEditMode()) { this._resetModifiedClassCells(changes) } _Base.prototype._beforeEndSaving.call(this, changes) } }; _proto.prepareEditButtons = function(headerPanel) { var _a; var editingOptions = null !== (_a = this.option("editing")) && void 0 !== _a ? _a : {}; var buttonItems = _Base.prototype.prepareEditButtons.call(this, headerPanel); var needEditingButtons = editingOptions.allowUpdating || editingOptions.allowAdding || editingOptions.allowDeleting; if (needEditingButtons && this.isBatchEditMode()) { buttonItems.push(this.prepareButtonItem(headerPanel, "save", "saveEditData", 21)); buttonItems.push(this.prepareButtonItem(headerPanel, "revert", "cancelEditData", 22)) } return buttonItems }; _proto._saveEditDataInner = function() { var editRow = this._dataController.getVisibleRows()[this.getEditRowIndex()]; var editColumn = this._getEditColumn(); var showEditorAlways = null === editColumn || void 0 === editColumn ? void 0 : editColumn.showEditorAlways; var isUpdateInCellMode = this.isCellEditMode() && !(null === editRow || void 0 === editRow ? void 0 : editRow.isNewRow); var deferred; if (isUpdateInCellMode && showEditorAlways) { deferred = new _deferred.Deferred; this.addDeferred(deferred) } return _Base.prototype._saveEditDataInner.call(this).always(null === deferred || void 0 === deferred ? void 0 : deferred.resolve) }; _proto._applyChange = function(options, params, forceUpdateRow) { var isUpdateInCellMode = this.isCellEditMode() && options.row && !options.row.isNewRow; var showEditorAlways = options.column.showEditorAlways; var isCustomSetCellValue = options.column.setCellValue !== options.column.defaultSetCellValue; var focusPreviousEditingCell = showEditorAlways && !forceUpdateRow && isUpdateInCellMode && this.hasEditData() && !this.isEditCell(options.rowIndex, options.columnIndex); if (focusPreviousEditingCell) { this._focusEditingCell(); this._updateEditRow(options.row, true, isCustomSetCellValue); return } return _Base.prototype._applyChange.call(this, options, params, forceUpdateRow) }; _proto._applyChangeCore = function(options, forceUpdateRow) { var showEditorAlways = options.column.showEditorAlways; var isUpdateInCellMode = this.isCellEditMode() && options.row && !options.row.isNewRow; if (showEditorAlways && !forceUpdateRow) { if (isUpdateInCellMode) { this._setEditRowKey(options.row.key, true); this._setEditColumnNameByIndex(options.columnIndex, true); return this.saveEditData() } if (this.isBatchEditMode()) { forceUpdateRow = this._needUpdateRow(options.column); return _Base.prototype._applyChangeCore.call(this, options, forceUpdateRow) } } return _Base.prototype._applyChangeCore.call(this, options, forceUpdateRow) }; _proto._processDataItemCore = function(item, change, key, columns, generateDataValues) { var data = change.data, type = change.type; if (this.isBatchEditMode() && type === _const.DATA_EDIT_DATA_REMOVE_TYPE) { item.data = (0, _array_utils.createObjectWithChanges)(item.data, data) } _Base.prototype._processDataItemCore.call(this, item, change, key, columns, generateDataValues) }; _proto._processRemoveCore = function(changes, editIndex, processIfBatch) { if (this.isBatchEditMode() && !processIfBatch) { return } return _Base.prototype._processRemoveCore.call(this, changes, editIndex, processIfBatch) }; _proto._processRemoveIfError = function(changes, editIndex) { if (this.isBatchEditMode()) { return } return _Base.prototype._processRemoveIfError.call(this, changes, editIndex) }; _proto._beforeFocusElementInRow = function(rowIndex) { _Base.prototype._beforeFocusElementInRow.call(this, rowIndex); var editRowIndex = rowIndex >= 0 ? rowIndex : 0; var columnIndex = this.getFirstEditableColumnIndex(); columnIndex >= 0 && this.editCell(editRowIndex, columnIndex) }; return CellBasedEditingControllerExtender }(Base) } }, views: { rowsView: { _createTable: function() { var $table = this.callBase.apply(this, arguments); var editingController = this._editingController; if (editingController.isCellOrBatchEditMode() && this.option("editing.allowUpdating")) { _events_engine.default.on($table, (0, _index.addNamespace)(_hold.default.name, "dxDataGridRowsView"), "td:not(.".concat(_const.EDITOR_CELL_CLASS, ")"), this.createAction((function() { if (editingController.isEditing()) { editingController.closeEditCell() } }))) } return $table }, _createRow: function(row) { var $row = this.callBase.apply(this, arguments); if (row) { var editingController = this._editingController; var isRowRemoved = !!row.removed; if (editingController.isBatchEditMode()) { isRowRemoved && $row.addClass(_const.ROW_REMOVED) } } return $row } }, headerPanel: { isVisible: function() { var editingOptions = this.getController("editing").option("editing"); return this.callBase() || editingOptions && (editingOptions.allowUpdating || editingOptions.allowDeleting) && editingOptions.mode === _const.EDIT_MODE_BATCH } } } } }; exports.editingCellBasedModule = editingCellBasedModule }, 99211: /*!********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/editing/m_editing_form_based.js ***! \********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.editingFormBasedModule = void 0; var _devices = _interopRequireDefault(__webpack_require__( /*! ../../../../core/devices */ 20530)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../../../core/guid */ 73176)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _dom = __webpack_require__( /*! ../../../../core/utils/dom */ 3532); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _button = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/button */ 63008)); var _form = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/form */ 17737)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/popup/ui.popup */ 51495)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/scroll_view/ui.scrollable */ 41183)); var _const = __webpack_require__( /*! ./const */ 72313); var _m_editing_utils = __webpack_require__( /*! ./m_editing_utils */ 89237); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var editingFormBasedModule = { extenders: { controllers: { editing: function(Base) { return function(_Base) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FormBasedEditingControllerExtender, _Base); function FormBasedEditingControllerExtender() { return _Base.apply(this, arguments) || this } var _proto = FormBasedEditingControllerExtender.prototype; _proto.init = function() { this._editForm = null; this._updateEditFormDeferred = null; _Base.prototype.init.call(this) }; _proto.isFormOrPopupEditMode = function() { return this.isPopupEditMode() || this.isFormEditMode() }; _proto.isPopupEditMode = function() { var editMode = this.option("editing.mode"); return editMode === _const.EDIT_MODE_POPUP }; _proto.isFormEditMode = function() { var editMode = this.option("editing.mode"); return editMode === _const.EDIT_MODE_FORM }; _proto.getFirstEditableColumnIndex = function() { var firstFormItem = this._firstFormItem; if (this.isFormEditMode() && firstFormItem) { var editRowKey = this.option(_const.EDITING_EDITROWKEY_OPTION_NAME); var editRowIndex = this._dataController.getRowIndexByKey(editRowKey); var $editFormElements = this._rowsView.getCellElements(editRowIndex); return this._rowsView._getEditFormEditorVisibleIndex($editFormElements, firstFormItem.column) } return _Base.prototype.getFirstEditableColumnIndex.call(this) }; _proto.getEditFormRowIndex = function() { return this.isFormOrPopupEditMode() ? this._getVisibleEditRowIndex() : _Base.prototype.getEditFormRowIndex.call(this) }; _proto._isEditColumnVisible = function() { var result = _Base.prototype._isEditColumnVisible.call(this); var editingOptions = this.option("editing"); return this.isFormOrPopupEditMode() ? editingOptions.allowUpdating || result : result }; _proto._handleDataChanged = function(args) { var _a, _b; if (this.isPopupEditMode()) { var editRowKey = this.option("editing.editRowKey"); var hasEditRow = null === (_a = null === args || void 0 === args ? void 0 : args.items) || void 0 === _a ? void 0 : _a.some((function(item) { return (0, _common.equalByValue)(item.key, editRowKey) })); var onlyInsertChanges = (null === (_b = args.changeTypes) || void 0 === _b ? void 0 : _b.length) && args.changeTypes.every((function(item) { return "insert" === item })); if (("refresh" === args.changeType || hasEditRow && args.isOptionChanged) && !onlyInsertChanges) { this._repaintEditPopup() } } _Base.prototype._handleDataChanged.call(this, args) }; _proto.getPopupContent = function() { var _a; var popupVisible = null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option("visible"); if (this.isPopupEditMode() && popupVisible) { return this._$popupContent } }; _proto._showAddedRow = function(rowIndex) { if (this.isPopupEditMode()) { this._showEditPopup(rowIndex) } else { _Base.prototype._showAddedRow.call(this, rowIndex) } }; _proto._cancelEditDataCore = function() { _Base.prototype._cancelEditDataCore.call(this); if (this.isPopupEditMode()) { this._hideEditPopup() } }; _proto._updateEditRowCore = function(row, skipCurrentRow, isCustomSetCellValue) { var _a; var editForm = this._editForm; if (this.isPopupEditMode()) { if (this.option("repaintChangesOnly")) { null === (_a = row.update) || void 0 === _a ? void 0 : _a.call(row, row); this._rowsView.renderDelayedTemplates() } else if (editForm) { this._updateEditFormDeferred = (new _deferred.Deferred).done((function() { return editForm.repaint() })); if (!this._updateLockCount) { this._updateEditFormDeferred.resolve() } } } else { _Base.prototype._updateEditRowCore.call(this, row, skipCurrentRow, isCustomSetCellValue) } }; _proto._showEditPopup = function(rowIndex, repaintForm) { var _this = this; var isMobileDevice = "desktop" !== _devices.default.current().deviceType; var editPopupClass = this.addWidgetPrefix(_const.EDIT_POPUP_CLASS); var popupOptions = (0, _extend.extend)({ showTitle: false, fullScreen: isMobileDevice, wrapperAttr: { class: editPopupClass }, toolbarItems: [{ toolbar: "bottom", location: "after", widget: "dxButton", options: this._getSaveButtonConfig() }, { toolbar: "bottom", location: "after", widget: "dxButton", options: this._getCancelButtonConfig() }], contentTemplate: this._getPopupEditFormTemplate(rowIndex) }, this.option(_const.EDITING_POPUP_OPTION_NAME)); if (!this._editPopup) { var $popupContainer = (0, _renderer.default)("
").appendTo(this.component.$element()).addClass(editPopupClass); this._editPopup = this._createComponent($popupContainer, _ui.default); this._editPopup.on("hiding", this._getEditPopupHiddenHandler()); this._editPopup.on("shown", (function(e) { var _a; _events_engine.default.trigger(e.component.$content().find(_const.FOCUSABLE_ELEMENT_SELECTOR).not(".".concat(_const.FOCUSABLE_ELEMENT_CLASS)).first(), "focus"); if (repaintForm) { null === (_a = _this._editForm) || void 0 === _a ? void 0 : _a.repaint() } })) } this._editPopup.option(popupOptions); this._editPopup.show(); _Base.prototype._showEditPopup.call(this, rowIndex, repaintForm) }; _proto._getPopupEditFormTemplate = function(rowIndex) { var _this2 = this; var row = this.component.getVisibleRows()[rowIndex]; var templateOptions = { row: row, values: row.values, rowType: row.rowType, key: row.key, rowIndex: rowIndex }; this._rowsView._addWatchMethod(templateOptions, row); return function(container) { var formTemplate = _this2.getEditFormTemplate(); var scrollable = _this2._createComponent((0, _renderer.default)("
").appendTo(container), _ui2.default); _this2._$popupContent = (0, _renderer.default)(scrollable.content()); formTemplate(_this2._$popupContent, templateOptions, { isPopupForm: true }); _this2._rowsView.renderDelayedTemplates() } }; _proto._repaintEditPopup = function() { var _a, _b; var rowIndex = this._getVisibleEditRowIndex(); if (rowIndex >= 0) { var defaultAnimation = null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option("animation"); null === (_b = this._editPopup) || void 0 === _b ? void 0 : _b.option("animation", null); this._showEditPopup(rowIndex, true); if (void 0 !== defaultAnimation) { this._editPopup.option("animation", defaultAnimation) } } }; _proto._hideEditPopup = function() { var _a; null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option("visible", false) }; _proto.optionChanged = function(args) { if ("editing" === args.name && this.isFormOrPopupEditMode()) { var fullName = args.fullName; if (0 === fullName.indexOf(_const.EDITING_FORM_OPTION_NAME)) { this._handleFormOptionChange(args); args.handled = true } else if (0 === fullName.indexOf(_const.EDITING_POPUP_OPTION_NAME)) { this._handlePopupOptionChange(args); args.handled = true } } _Base.prototype.optionChanged.call(this, args) }; _proto._handleFormOptionChange = function(args) { var _a; if (this.isFormEditMode()) { var editRowIndex = this._getVisibleEditRowIndex(); if (editRowIndex >= 0) { this._dataController.updateItems({ changeType: "update", rowIndices: [editRowIndex] }) } } else if ((null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option("visible")) && 0 === args.fullName.indexOf(_const.EDITING_FORM_OPTION_NAME)) { this._repaintEditPopup() } }; _proto._handlePopupOptionChange = function(args) { var editPopup = this._editPopup; if (editPopup) { var popupOptionName = args.fullName.slice(_const.EDITING_POPUP_OPTION_NAME.length + 1); if (popupOptionName) { editPopup.option(popupOptionName, args.value) } else { editPopup.option(args.value) } } }; _proto.renderFormEditorTemplate = function(detailCellOptions, item, formTemplateOptions, container, isReadOnly) { var _this3 = this; var that = this; var $container = (0, _renderer.default)(container); var column = item.column; var editorType = (0, _m_editing_utils.getEditorType)(item); var rowData = null === detailCellOptions || void 0 === detailCellOptions ? void 0 : detailCellOptions.row.data; var form = formTemplateOptions.component; var _ref = formTemplateOptions.editorOptions || {}, label = _ref.label, labelMark = _ref.labelMark, labelMode = _ref.labelMode; var cellOptions = (0, _extend.extend)({}, detailCellOptions, { data: rowData, cellElement: null, isOnForm: true, item: item, id: form.getItemID(item.name || item.dataField), column: (0, _extend.extend)({}, column, { editorType: editorType, editorOptions: (0, _extend.extend)({ label: label, labelMark: labelMark, labelMode: labelMode }, column.editorOptions, item.editorOptions) }), columnIndex: column.index, setValue: !isReadOnly && column.allowEditing && function(value, text) { that.updateFieldValue(cellOptions, value, text) } }); cellOptions.value = column.calculateCellValue(rowData); var template = this._getFormEditItemTemplate.bind(this)(cellOptions, column); this._rowsView.renderTemplate($container, template, cellOptions, !!(0, _dom.isElementInDom)($container)).done((function() { _this3._rowsView._updateCell($container, cellOptions) })); return cellOptions }; _proto.getFormEditorTemplate = function(cellOptions, item) { var _this4 = this; var column = this.component.columnOption(item.dataField); return function(options, container) { var _a, _b; var $container = (0, _renderer.default)(container); null === (_b = (_a = cellOptions.row).watch) || void 0 === _b ? void 0 : _b.call(_a, (function() { return column.selector(cellOptions.row.data) }), (function() { var $editorElement = $container.find(".dx-widget").first(); var validator = $editorElement.data("dxValidator"); var validatorOptions = null === validator || void 0 === validator ? void 0 : validator.option(); $container.contents().remove(); cellOptions = _this4.renderFormEditorTemplate.bind(_this4)(cellOptions, item, options, $container); $editorElement = $container.find(".dx-widget").first(); validator = $editorElement.data("dxValidator"); if (validatorOptions && !validator) { $editorElement.dxValidator({ validationRules: validatorOptions.validationRules, validationGroup: validatorOptions.validationGroup, dataGetter: validatorOptions.dataGetter }) } })); cellOptions = _this4.renderFormEditorTemplate.bind(_this4)(cellOptions, item, options, $container) } }; _proto.getEditFormOptions = function(detailOptions) { var _this5 = this; var _b; var editFormOptions = null === (_b = this._getValidationGroupsInForm) || void 0 === _b ? void 0 : _b.call(this, detailOptions); var userCustomizeItem = this.option("editing.form.customizeItem"); var editFormItemClass = this.addWidgetPrefix(_const.EDIT_FORM_ITEM_CLASS); var items = this.option("editing.form.items"); var isCustomEditorType = {}; if (!items) { var columns = this.getController("columns").getColumns(); items = []; (0, _iterator.each)(columns, (function(_, column) { if (!column.isBand && !column.type) { items.push({ column: column, name: column.name, dataField: column.dataField }) } })) } else { (0, _m_editing_utils.forEachFormItems)(items, (function(item) { var itemId = (null === item || void 0 === item ? void 0 : item.name) || (null === item || void 0 === item ? void 0 : item.dataField); if (itemId) { isCustomEditorType[itemId] = !!item.editorType } })) } return (0, _extend.extend)({}, editFormOptions, { items: items, formID: "dx-".concat(new _guid.default), customizeItem: function(item) { var column; var itemId = item.name || item.dataField; if (item.column || itemId) { column = item.column || _this5._columnsController.columnOption(item.name ? "name:".concat(item.name) : "dataField:".concat(item.dataField)) } if (column) { item.label = item.label || {}; item.label.text = item.label.text || column.caption; if ("boolean" === column.dataType && void 0 === item.label.visible) { var labelMode = _this5.option("editing.form.labelMode"); if ("floating" === labelMode || "static" === labelMode) { item.label.visible = true } } item.template = item.template || _this5.getFormEditorTemplate(detailOptions, item); item.column = column; item.isCustomEditorType = isCustomEditorType[itemId]; if (column.formItem) { (0, _extend.extend)(item, column.formItem) } if (void 0 === item.isRequired && column.validationRules) { item.isRequired = column.validationRules.some((function(rule) { return "required" === rule.type })); item.validationRules = [] } var itemVisible = (0, _type.isDefined)(item.visible) ? item.visible : true; if (!_this5._firstFormItem && itemVisible) { _this5._firstFormItem = item } } null === userCustomizeItem || void 0 === userCustomizeItem ? void 0 : userCustomizeItem.call(_this5, item); item.cssClass = (0, _type.isString)(item.cssClass) ? "".concat(item.cssClass, " ").concat(editFormItemClass) : editFormItemClass } }) }; _proto.getEditFormTemplate = function() { var _this6 = this; return function($container, detailOptions, options) { var editFormOptions = _this6.option(_const.EDITING_FORM_OPTION_NAME); var baseEditFormOptions = _this6.getEditFormOptions(detailOptions); var $formContainer = (0, _renderer.default)("
").appendTo($container); var isPopupForm = null === options || void 0 === options ? void 0 : options.isPopupForm; _this6._firstFormItem = void 0; if (isPopupForm) { $formContainer.addClass(_this6.addWidgetPrefix(_const.EDIT_POPUP_FORM_CLASS)) } _this6._editForm = _this6._createComponent($formContainer, _form.default, (0, _extend.extend)({}, editFormOptions, baseEditFormOptions)); if (!isPopupForm) { var $buttonsContainer = (0, _renderer.default)("
").addClass(_this6.addWidgetPrefix(_const.FORM_BUTTONS_CONTAINER_CLASS)).appendTo($container); _this6._createComponent((0, _renderer.default)("
").appendTo($buttonsContainer), _button.default, _this6._getSaveButtonConfig()); _this6._createComponent((0, _renderer.default)("
").appendTo($buttonsContainer), _button.default, _this6._getCancelButtonConfig()) } _this6._editForm.on("contentReady", (function() { var _a; _this6._rowsView.renderDelayedTemplates(); null === (_a = _this6._editPopup) || void 0 === _a ? void 0 : _a.repaint() })) } }; _proto.getEditForm = function() { return this._editForm }; _proto._endUpdateCore = function() { var _a; null === (_a = this._updateEditFormDeferred) || void 0 === _a ? void 0 : _a.resolve() }; _proto._beforeEndSaving = function(changes) { var _a; _Base.prototype._beforeEndSaving.call(this, changes); if (this.isPopupEditMode()) { null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.hide() } }; _proto._processDataItemCore = function(item, change, key, columns, generateDataValues) { var type = change.type; if (this.isPopupEditMode() && type === _const.DATA_EDIT_DATA_INSERT_TYPE) { item.visible = false } _Base.prototype._processDataItemCore.call(this, item, change, key, columns, generateDataValues) }; _proto._editRowFromOptionChangedCore = function(rowIndices, rowIndex) { var isPopupEditMode = this.isPopupEditMode(); _Base.prototype._editRowFromOptionChangedCore.call(this, rowIndices, rowIndex, isPopupEditMode); if (isPopupEditMode) { this._showEditPopup(rowIndex) } }; return FormBasedEditingControllerExtender }(Base) }, data: { _updateEditItem: function(item) { if (this._editingController.isFormEditMode()) { item.rowType = "detail" } }, _getChangedColumnIndices: function(oldItem, newItem, visibleRowIndex, isLiveUpdate) { if (false === isLiveUpdate && newItem.isEditing && this._editingController.isFormEditMode()) { return } return this.callBase.apply(this, arguments) } } }, views: { rowsView: { _renderCellContent: function($cell, options) { if ("data" === options.rowType && this._editingController.isPopupEditMode() && false === options.row.visible) { return } this.callBase.apply(this, arguments) }, getCellElements: function(rowIndex) { var $cellElements = this.callBase(rowIndex); var editingController = this._editingController; var editForm = editingController.getEditForm(); var editFormRowIndex = editingController.getEditFormRowIndex(); if (editFormRowIndex === rowIndex && $cellElements && editForm) { return editForm.$element().find(".".concat(this.addWidgetPrefix(_const.EDIT_FORM_ITEM_CLASS), ", .").concat(_const.BUTTON_CLASS)) } return $cellElements }, _getVisibleColumnIndex: function($cells, rowIndex, columnIdentifier) { var editFormRowIndex = this._editingController.getEditFormRowIndex(); if (editFormRowIndex === rowIndex && (0, _type.isString)(columnIdentifier)) { var column = this._columnsController.columnOption(columnIdentifier); return this._getEditFormEditorVisibleIndex($cells, column) } return this.callBase.apply(this, arguments) }, _getEditFormEditorVisibleIndex: function($cells, column) { var visibleIndex = -1; (0, _iterator.each)($cells, (function(index, cellElement) { var item = (0, _renderer.default)(cellElement).find(".dx-field-item-content").data("dx-form-item"); if ((null === item || void 0 === item ? void 0 : item.column) && column && item.column.index === column.index) { visibleIndex = index; return false } })); return visibleIndex }, _isFormItem: function(parameters) { var isDetailRow = "detail" === parameters.rowType || "detailAdaptive" === parameters.rowType; var isPopupEditing = "data" === parameters.rowType && this._editingController.isPopupEditMode(); return (isDetailRow || isPopupEditing) && parameters.item }, _updateCell: function($cell, parameters) { if (this._isFormItem(parameters)) { this._formItemPrepared(parameters, $cell) } else { this.callBase($cell, parameters) } } } } } }; exports.editingFormBasedModule = editingFormBasedModule }, 55597: /*!*******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/editing/m_editing_row_based.js ***! \*******************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.editingRowBasedModule = void 0; var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _const = __webpack_require__( /*! ./const */ 72313); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var editingRowBasedModule = { extenders: { controllers: { editing: function(Base) { return function(_Base) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(RowBasedEditingControllerExtender, _Base); function RowBasedEditingControllerExtender() { return _Base.apply(this, arguments) || this } var _proto = RowBasedEditingControllerExtender.prototype; _proto.isRowEditMode = function() { return this.getEditMode() === _const.EDIT_MODE_ROW }; _proto._afterCancelEditData = function(rowIndex) { var dataController = this._dataController; if (this.isRowBasedEditMode() && rowIndex >= 0) { dataController.updateItems({ changeType: "update", rowIndices: [rowIndex, rowIndex + 1] }) } else { _Base.prototype._afterCancelEditData.call(this, rowIndex) } }; _proto._isDefaultButtonVisible = function(button, options) { var isRowMode = this.isRowBasedEditMode(); var isEditRow = options.row && (0, _common.equalByValue)(options.row.key, this.option(_const.EDITING_EDITROWKEY_OPTION_NAME)); if (isRowMode) { switch (button.name) { case "edit": return !isEditRow && this.allowUpdating(options); case "delete": return _Base.prototype._isDefaultButtonVisible.call(this, button, options) && !isEditRow; case "save": case "cancel": return isEditRow; default: return _Base.prototype._isDefaultButtonVisible.call(this, button, options) } } return _Base.prototype._isDefaultButtonVisible.call(this, button, options) }; _proto.isEditRow = function(rowIndex) { return this.isRowBasedEditMode() && this.isEditRowByIndex(rowIndex) }; _proto._cancelSaving = function(result) { if (this.isRowBasedEditMode()) { if (!this.hasChanges()) { this._cancelEditDataCore() } } _Base.prototype._cancelSaving.call(this, result) }; _proto._refreshCore = function(params) { var _ref = null !== params && void 0 !== params ? params : {}, allowCancelEditing = _ref.allowCancelEditing; if (this.isRowBasedEditMode()) { var hasUpdateChanges = this.getChanges().filter((function(it) { return "update" === it.type })).length > 0; this.init(); allowCancelEditing && hasUpdateChanges && this._cancelEditDataCore() } _Base.prototype._refreshCore.call(this, params) }; _proto._isEditColumnVisible = function() { var result = _Base.prototype._isEditColumnVisible.call(this); var editingOptions = this.option("editing"); var isRowEditMode = this.isRowEditMode(); var isVisibleInRowEditMode = editingOptions.allowUpdating || editingOptions.allowAdding; return result || isRowEditMode && isVisibleInRowEditMode }; _proto._focusEditorIfNeed = function() { var _this = this; var editMode = this.getEditMode(); if (this._needFocusEditor) { if (_const.MODES_WITH_DELAYED_FOCUS.includes(editMode)) { var $editingCell = this.getFocusedCellInRow(this._getVisibleEditRowIndex()); this._delayedInputFocus($editingCell, (function() { $editingCell && _this.component.focus($editingCell) })) } this._needFocusEditor = false } }; return RowBasedEditingControllerExtender }(Base) }, data: { _getChangedColumnIndices: function(oldItem, newItem, rowIndex, isLiveUpdate) { var editingController = this.getController("editing"); if (editingController.isRowBasedEditMode() && oldItem.isEditing !== newItem.isEditing) { return } return this.callBase.apply(this, arguments) } } }, views: { rowsView: { _createRow: function(row) { var $row = this.callBase.apply(this, arguments); if (row) { var editingController = this._editingController; var isEditRow = editingController.isEditRow(row.rowIndex); if (isEditRow) { $row.addClass(_const.EDIT_ROW); $row.removeClass(_const.ROW_SELECTED_CLASS); if ("detail" === row.rowType) { $row.addClass(this.addWidgetPrefix(_const.EDIT_FORM_CLASS)) } } } return $row }, _update: function(change) { this.callBase(change); if ("updateSelection" === change.changeType) { this.getTableElements().children("tbody").children(".".concat(_const.EDIT_ROW)).removeClass(_const.ROW_SELECTED_CLASS) } } } } } }; exports.editingRowBasedModule = editingRowBasedModule }, 89237: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/editing/m_editing_utils.js ***! \***************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.getButtonIndex = exports.forEachFormItems = exports.createFailureHandler = void 0; exports.getButtonName = getButtonName; exports.getEditorType = exports.getEditingTexts = void 0; exports.isEditable = function($element) { return $element && ($element.is("input") || $element.is("textarea")) }; exports.isEditingOrShowEditorAlwaysDataCell = exports.isEditingCell = void 0; var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); exports.createFailureHandler = function(deferred) { return function(arg) { var error = arg instanceof Error ? arg : new Error(arg && String(arg) || "Unknown error"); deferred.reject(error) } }; var isEditingCell = function(isEditRow, cellOptions) { return cellOptions.isEditing || isEditRow && cellOptions.column.allowEditing }; exports.isEditingCell = isEditingCell; exports.isEditingOrShowEditorAlwaysDataCell = function(isEditRow, cellOptions) { var isCommandCell = !!cellOptions.column.command; var isEditing = isEditingCell(isEditRow, cellOptions); var isEditorCell = !isCommandCell && (isEditing || cellOptions.column.showEditorAlways); return "data" === cellOptions.rowType && isEditorCell }; exports.getEditingTexts = function(options) { var editingTexts = options.component.option("editing.texts") || {}; return { save: editingTexts.saveRowChanges, cancel: editingTexts.cancelRowChanges, edit: editingTexts.editRow, undelete: editingTexts.undeleteRow, delete: editingTexts.deleteRow, add: editingTexts.addRowToNode } }; exports.getButtonIndex = function(buttons, name) { var result = -1; buttons.some((function(button, index) { if (getButtonName(button) === name) { result = index; return true } })); return result }; function getButtonName(button) { return (0, _type.isObject)(button) ? button.name : button } exports.getEditorType = function(item) { var _a; var column = item.column; return item.isCustomEditorType ? item.editorType : null === (_a = column.formItem) || void 0 === _a ? void 0 : _a.editorType }; exports.forEachFormItems = function forEachFormItems(items, callBack) { items.forEach((function(item) { if (item.items || item.tabs) { forEachFormItems(item.items || item.tabs, callBack) } else { callBack(item) } })) } }, 80070: /*!***********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/editor_factory/m_editor_factory.js ***! \***********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.editorFactoryModule = exports.EditorFactory = void 0; var _position = _interopRequireDefault(__webpack_require__( /*! ../../../../animation/position */ 49387)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../../core/dom_adapter */ 73349)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/browser */ 47810)); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _position2 = __webpack_require__( /*! ../../../../core/utils/position */ 37518); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _click = __webpack_require__( /*! ../../../../events/click */ 95429); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../../../events/pointer */ 93786)); var _index = __webpack_require__( /*! ../../../../events/utils/index */ 39611); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/shared/ui.editor_factory_mixin */ 15653)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var UPDATE_FOCUS_EVENTS = (0, _index.addNamespace)([_pointer.default.down, "focusin", _click.name].join(" "), "dxDataGridEditorFactory"); var ViewControllerWithMixin = _m_modules.default.ViewController.inherit(_ui.default); var EditorFactory = function(_ViewControllerWithMi) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(EditorFactory, _ViewControllerWithMi); function EditorFactory() { return _ViewControllerWithMi.apply(this, arguments) || this } var _proto = EditorFactory.prototype; _proto._getFocusedElement = function($dataGridElement) { var rowSelector = this.option("focusedRowEnabled") ? "tr[tabindex]:focus" : "tr[tabindex]:not(.dx-data-row):focus"; var focusedElementSelector = "td[tabindex]:focus, ".concat(rowSelector, ", input:focus, textarea:focus, .dx-lookup-field:focus, .dx-checkbox:focus, .dx-switch:focus, .dx-dropdownbutton .dx-buttongroup:focus, .dx-adaptive-item-text:focus"); var $focusedElement = $dataGridElement.find(focusedElementSelector); return this.elementIsInsideGrid($focusedElement) && $focusedElement }; _proto._getFocusCellSelector = function() { return ".dx-row > td" }; _proto._updateFocusCore = function() { var $dataGridElement = this.component && this.component.$element(); if ($dataGridElement) { var $focus = this._getFocusedElement($dataGridElement); if ($focus && $focus.length) { var isHideBorder; if (!$focus.hasClass("dx-cell-focus-disabled") && !$focus.hasClass("dx-row")) { var $focusCell = $focus.closest("".concat(this._getFocusCellSelector(), ", .").concat("dx-cell-focus-disabled")); if ($focusCell.get(0) !== $focus.get(0)) { isHideBorder = this._needHideBorder($focusCell); $focus = $focusCell } } if ($focus.length && !$focus.hasClass("dx-cell-focus-disabled")) { this.focus($focus, isHideBorder); return } } } this.loseFocus() }; _proto._needHideBorder = function($element) { return $element.hasClass("dx-editor-inline-block") }; _proto._updateFocus = function(e) { var that = this; var isFocusOverlay = e && e.event && (0, _renderer.default)(e.event.target).hasClass(that.addWidgetPrefix("focus-overlay")); that._isFocusOverlay = that._isFocusOverlay || isFocusOverlay; clearTimeout(that._updateFocusTimeoutID); that._updateFocusTimeoutID = setTimeout((function() { delete that._updateFocusTimeoutID; if (!that._isFocusOverlay) { that._updateFocusCore() } that._isFocusOverlay = false })) }; _proto._updateFocusOverlaySize = function($element, position) { $element.hide(); var location = _position.default.calculate($element, (0, _extend.extend)({ collision: "fit" }, position)); if (location.h.oversize > 0) { (0, _size.setOuterWidth)($element, (0, _size.getOuterWidth)($element) - location.h.oversize) } if (location.v.oversize > 0) { (0, _size.setOuterHeight)($element, (0, _size.getOuterHeight)($element) - location.v.oversize) } $element.show() }; _proto.callbackNames = function() { return ["focused"] }; _proto.focus = function($element, isHideBorder) { var that = this; if (void 0 === $element) { return that._$focusedElement } if ($element) { if (!$element.is(that._$focusedElement)) { that._$focusedElement && that._$focusedElement.removeClass("dx-focused") } that._$focusedElement = $element; clearTimeout(that._focusTimeoutID); that._focusTimeoutID = setTimeout((function() { delete that._focusTimeoutID; that.renderFocusOverlay($element, isHideBorder); $element.addClass("dx-focused"); that.focused.fire($element) })) } }; _proto.refocus = function() { var $focus = this.focus(); this.focus($focus) }; _proto.renderFocusOverlay = function($element, isHideBorder) { if (!_m_utils.default.isElementInCurrentGrid(this, $element)) { return } if (!this._$focusOverlay) { this._$focusOverlay = (0, _renderer.default)("
").addClass(this.addWidgetPrefix("focus-overlay")) } if (isHideBorder) { this._$focusOverlay.addClass("dx-hidden") } else if ($element.length) { var align = _browser.default.mozilla ? "right bottom" : "left top"; var $content = $element.closest(".".concat(this.addWidgetPrefix("content"))); var elemCoord = (0, _position2.getBoundingRect)($element.get(0)); this._$focusOverlay.removeClass("dx-hidden").appendTo($content); (0, _size.setOuterHeight)(this._$focusOverlay, elemCoord.bottom - elemCoord.top + 1); (0, _size.setOuterWidth)(this._$focusOverlay, elemCoord.right - elemCoord.left + 1); var focusOverlayPosition = { precise: true, my: align, at: align, of: $element, boundary: $content.length && $content }; this._updateFocusOverlaySize(this._$focusOverlay, focusOverlayPosition); _position.default.setup(this._$focusOverlay, focusOverlayPosition); this._$focusOverlay.css("visibility", "visible") } }; _proto.resize = function() { var $focusedElement = this._$focusedElement; if ($focusedElement) { this.focus($focusedElement) } }; _proto.loseFocus = function() { this._$focusedElement && this._$focusedElement.removeClass("dx-focused"); this._$focusedElement = null; this._$focusOverlay && this._$focusOverlay.addClass("dx-hidden") }; _proto.init = function() { this.createAction("onEditorPreparing", { excludeValidators: ["disabled", "readOnly"], category: "rendering" }); this.createAction("onEditorPrepared", { excludeValidators: ["disabled", "readOnly"], category: "rendering" }); this._updateFocusHandler = this._updateFocusHandler || this.createAction(this._updateFocus.bind(this)); this._subscribedContainerRoot = this._getContainerRoot(); _events_engine.default.on(this._subscribedContainerRoot, UPDATE_FOCUS_EVENTS, this._updateFocusHandler); this._attachContainerEventHandlers() }; _proto._getContainerRoot = function() { var _a; var $container = null === (_a = this.component) || void 0 === _a ? void 0 : _a.$element(); var root = _dom_adapter.default.getRootNode(null === $container || void 0 === $container ? void 0 : $container.get(0)); if (root.nodeType === Node.DOCUMENT_FRAGMENT_NODE && !root.host) { return _dom_adapter.default.getDocument() } return root }; _proto._attachContainerEventHandlers = function() { var that = this; var $container = that.component && that.component.$element(); if ($container) { _events_engine.default.on($container, (0, _index.addNamespace)("keydown", "dxDataGridEditorFactory"), (function(e) { if ("tab" === (0, _index.normalizeKeyName)(e)) { that._updateFocusHandler(e) } })) } }; _proto.dispose = function() { clearTimeout(this._focusTimeoutID); clearTimeout(this._updateFocusTimeoutID); _events_engine.default.off(this._subscribedContainerRoot, UPDATE_FOCUS_EVENTS, this._updateFocusHandler) }; return EditorFactory }(ViewControllerWithMixin); exports.EditorFactory = EditorFactory; var editorFactoryModule = { defaultOptions: function() { return {} }, controllers: { editorFactory: EditorFactory } }; exports.editorFactoryModule = editorFactoryModule }, 31152: /*!***********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/error_handling/m_error_handling.js ***! \***********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.errorHandlingModule = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _click = __webpack_require__( /*! ../../../../events/click */ 95429); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ErrorHandlingController = _m_modules.default.ViewController.inherit({ init: function() { this._columnHeadersView = this.getView("columnHeadersView"); this._rowsView = this.getView("rowsView") }, _createErrorRow: function(error, $tableElements) { var that = this; var $errorRow; var $closeButton; var $errorMessage = this._renderErrorMessage(error); if ($tableElements) { $errorRow = (0, _renderer.default)("").addClass("dx-error-row"); $closeButton = (0, _renderer.default)("
").addClass("dx-closebutton").addClass(that.addWidgetPrefix("action")); _events_engine.default.on($closeButton, _click.name, that.createAction((function(args) { var e = args.event; var $errorRow; var errorRowIndex = (0, _renderer.default)(e.currentTarget).closest(".".concat("dx-error-row")).index(); e.stopPropagation(); (0, _iterator.each)($tableElements, (function(_, tableElement) { $errorRow = (0, _renderer.default)(tableElement).children("tbody").children("tr").eq(errorRowIndex); that.removeErrorRow($errorRow) })); that.getController("resizing") && that.getController("resizing").fireContentReadyAction() }))); (0, _renderer.default)("").attr({ colSpan: that.getController("columns").getVisibleColumns().length, role: "presentation" }).prepend($closeButton).append($errorMessage).appendTo($errorRow); return $errorRow } return $errorMessage }, _renderErrorMessage: function(error) { var message = error.url ? error.message.replace(error.url, "") : error.message || error; var $message = (0, _renderer.default)("
").addClass("dx-error-message").text(message); if (error.url) { (0, _renderer.default)("").attr("href", error.url).text(error.url).appendTo($message) } return $message }, renderErrorRow: function(error, rowIndex, $popupContent) { var that = this; var $errorMessageElement; var $firstErrorRow; if ($popupContent) { $popupContent.find(".".concat("dx-error-message")).remove(); $errorMessageElement = that._createErrorRow(error); $popupContent.prepend($errorMessageElement); return $errorMessageElement } var viewElement = rowIndex >= 0 || !that._columnHeadersView.isVisible() ? that._rowsView : that._columnHeadersView; var $tableElements = viewElement.getTableElements(); (0, _iterator.each)($tableElements, (function(_, tableElement) { $errorMessageElement = that._createErrorRow(error, $tableElements); $firstErrorRow = $firstErrorRow || $errorMessageElement; if (rowIndex >= 0) { var $row = viewElement._getRowElements((0, _renderer.default)(tableElement)).eq(rowIndex); that.removeErrorRow($row.next()); $errorMessageElement.insertAfter($row) } else { var $tbody = (0, _renderer.default)(tableElement).children("tbody"); var rowElements = $tbody.children("tr"); if (that._columnHeadersView.isVisible()) { that.removeErrorRow(rowElements.last()); (0, _renderer.default)(tableElement).append($errorMessageElement) } else { that.removeErrorRow(rowElements.first()); $tbody.first().prepend($errorMessageElement) } } })); var resizingController = that.getController("resizing"); resizingController && resizingController.fireContentReadyAction(); return $firstErrorRow }, removeErrorRow: function($row) { if (!$row) { var $columnHeaders = this._columnHeadersView && this._columnHeadersView.element(); $row = $columnHeaders && $columnHeaders.find(".".concat("dx-error-row")); if (!$row || !$row.length) { var $rowsViewElement = this._rowsView.element(); $row = $rowsViewElement && $rowsViewElement.find(".".concat("dx-error-row")) } } $row && $row.hasClass("dx-error-row") && $row.remove() }, optionChanged: function(args) { switch (args.name) { case "errorRowEnabled": args.handled = true; break; default: this.callBase(args) } } }); var errorHandlingModule = { defaultOptions: function() { return { errorRowEnabled: true } }, controllers: { errorHandling: ErrorHandlingController }, extenders: { controllers: { data: { init: function() { var that = this; var errorHandlingController = that.getController("errorHandling"); that.callBase(); that.dataErrorOccurred.add((function(error, $popupContent) { if (that.option("errorRowEnabled")) { errorHandlingController.renderErrorRow(error, void 0, $popupContent) } })); that.changed.add((function(e) { if (e && "loadError" === e.changeType) { return } var errorHandlingController = that.getController("errorHandling"); var editingController = that.getController("editing"); if (editingController && !editingController.hasChanges()) { errorHandlingController && errorHandlingController.removeErrorRow() } })) } } } } }; exports.errorHandlingModule = errorHandlingModule }, 62690: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/filter/m_filter_builder.js ***! \***************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.filterBuilderModule = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _filter_builder = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/filter_builder */ 20301)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/popup/ui.popup */ 51495)); var _scroll_view = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/scroll_view */ 4741)); var _accessibility = __webpack_require__( /*! ../../../../ui/shared/accessibility */ 56756); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var FilterBuilderView = _m_modules.default.View.inherit({ _renderCore: function() { this._updatePopupOptions() }, _updatePopupOptions: function() { if (this.option("filterBuilderPopup.visible")) { this._initPopup() } else if (this._filterBuilderPopup) { this._filterBuilderPopup.hide() } }, _disposePopup: function() { if (this._filterBuilderPopup) { this._filterBuilderPopup.dispose(); this._filterBuilderPopup = void 0 } if (this._filterBuilder) { this._filterBuilder.dispose(); this._filterBuilder = void 0 } }, _initPopup: function() { var that = this; that._disposePopup(); that._filterBuilderPopup = that._createComponent(that.element(), _ui.default, (0, _extend.extend)({ title: _message.default.format("dxDataGrid-filterBuilderPopupTitle"), contentTemplate: function($contentElement) { return that._getPopupContentTemplate($contentElement) }, onOptionChanged: function(args) { if ("visible" === args.name) { that.option("filterBuilderPopup.visible", args.value) } }, toolbarItems: that._getPopupToolbarItems() }, that.option("filterBuilderPopup"), { onHidden: function() { (0, _accessibility.restoreFocus)(that); that._disposePopup() } })) }, _getPopupContentTemplate: function(contentElement) { var $contentElement = (0, _renderer.default)(contentElement); var $filterBuilderContainer = (0, _renderer.default)("
").appendTo((0, _renderer.default)(contentElement)); this._filterBuilder = this._createComponent($filterBuilderContainer, _filter_builder.default, (0, _extend.extend)({ value: this.option("filterValue"), fields: this.getController("columns").getFilteringColumns() }, this.option("filterBuilder"), { customOperations: this.getController("filterSync").getCustomFilterOperations() })); this._createComponent($contentElement, _scroll_view.default, { direction: "both" }) }, _getPopupToolbarItems: function() { var that = this; return [{ toolbar: "bottom", location: "after", widget: "dxButton", options: { text: _message.default.format("OK"), onClick: function() { var filter = that._filterBuilder.option("value"); that.option("filterValue", filter); that._filterBuilderPopup.hide() } } }, { toolbar: "bottom", location: "after", widget: "dxButton", options: { text: _message.default.format("Cancel"), onClick: function() { that._filterBuilderPopup.hide() } } }] }, optionChanged: function(args) { switch (args.name) { case "filterBuilder": case "filterBuilderPopup": this._invalidate(); args.handled = true; break; default: this.callBase(args) } } }); var filterBuilderModule = { defaultOptions: function() { return { filterBuilder: { groupOperationDescriptions: { and: _message.default.format("dxFilterBuilder-and"), or: _message.default.format("dxFilterBuilder-or"), notAnd: _message.default.format("dxFilterBuilder-notAnd"), notOr: _message.default.format("dxFilterBuilder-notOr") }, filterOperationDescriptions: { between: _message.default.format("dxFilterBuilder-filterOperationBetween"), equal: _message.default.format("dxFilterBuilder-filterOperationEquals"), notEqual: _message.default.format("dxFilterBuilder-filterOperationNotEquals"), lessThan: _message.default.format("dxFilterBuilder-filterOperationLess"), lessThanOrEqual: _message.default.format("dxFilterBuilder-filterOperationLessOrEquals"), greaterThan: _message.default.format("dxFilterBuilder-filterOperationGreater"), greaterThanOrEqual: _message.default.format("dxFilterBuilder-filterOperationGreaterOrEquals"), startsWith: _message.default.format("dxFilterBuilder-filterOperationStartsWith"), contains: _message.default.format("dxFilterBuilder-filterOperationContains"), notContains: _message.default.format("dxFilterBuilder-filterOperationNotContains"), endsWith: _message.default.format("dxFilterBuilder-filterOperationEndsWith"), isBlank: _message.default.format("dxFilterBuilder-filterOperationIsBlank"), isNotBlank: _message.default.format("dxFilterBuilder-filterOperationIsNotBlank") } }, filterBuilderPopup: {} } }, views: { filterBuilderView: FilterBuilderView } }; exports.filterBuilderModule = filterBuilderModule }, 9622: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/filter/m_filter_custom_operations.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.anyOf = function(grid) { return (0, _extend.extend)(baseOperation(grid), { name: "anyof", icon: "selectall", caption: _message.default.format("dxFilterBuilder-filterOperationAnyOf") }) }; exports.noneOf = function(grid) { var baseOp = baseOperation(grid); return (0, _extend.extend)({}, baseOp, { calculateFilterExpression: function(filterValue, field, fields) { var baseFilter = baseOp.calculateFilterExpression(filterValue, field, fields); if (!baseFilter || 0 === baseFilter.length) { return null } return "!" === baseFilter[0] ? baseFilter : ["!", baseFilter] }, name: "noneof", icon: "unselectall", caption: _message.default.format("dxFilterBuilder-filterOperationNoneOf") }) }; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _data_source = __webpack_require__( /*! ../../../../data/data_source/data_source */ 85273); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _utils = __webpack_require__( /*! ../../../../ui/filter_builder/utils */ 59423); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/widget/ui.errors */ 96688)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function baseOperation(grid) { var getFullText = function(itemText, parentText) { return parentText ? "".concat(parentText, "/").concat(itemText) : itemText }; var headerFilterController = grid && grid.getController("headerFilter"); return { dataTypes: ["string", "date", "datetime", "number", "boolean", "object"], calculateFilterExpression: function(filterValue, field, fields) { var result = []; var lastIndex = filterValue.length - 1; filterValue && filterValue.forEach((function(value, index) { if ((0, _utils.isCondition)(value) || (0, _utils.isGroup)(value)) { var filterExpression = (0, _utils.getFilterExpression)(value, fields, [], "headerFilter"); result.push(filterExpression) } else { var _filterExpression = (0, _utils.getFilterExpression)([field.dataField, "=", value], fields, [], "headerFilter"); result.push(_filterExpression) } index !== lastIndex && result.push("or") })); if (1 === result.length) { return result[0] } return result }, editorTemplate: function(conditionInfo, container) { var div = (0, _renderer.default)("
").addClass("dx-filterbuilder-item-value-text").appendTo(container); var column = (0, _extend.extend)(true, {}, grid.columnOption(conditionInfo.field.dataField)); (0, _utils.renderValueText)(div, conditionInfo.text && conditionInfo.text.split("|")); column.filterType = "include"; column.filterValues = conditionInfo.value ? conditionInfo.value.slice() : []; headerFilterController.showHeaderFilterMenuBase({ columnElement: div, column: column, apply: function() { value = this.filterValues, void conditionInfo.setValue(value); var value; headerFilterController.hideHeaderFilterMenu(); conditionInfo.closeEditor() }, onHidden: function() { conditionInfo.closeEditor() }, isFilterBuilder: true }); return container }, customizeText: function(fieldInfo, options) { options = options || {}; var value = fieldInfo.value; var column = grid.columnOption(fieldInfo.field.dataField); var headerFilter = column && column.headerFilter; var lookup = column && column.lookup; var values = options.values || [value]; if (headerFilter && headerFilter.dataSource || lookup && lookup.dataSource) { var result = new _deferred.Deferred; var itemsDeferred = options.items || new _deferred.Deferred; if (!options.items) { column = (0, _extend.extend)({}, column, { filterType: "include", filterValues: values }); var dataSourceOptions = headerFilterController.getDataSource(column); dataSourceOptions.paginate = false; var dataSource = new _data_source.DataSource(dataSourceOptions); var key = dataSource.store().key(); if (key) { var _options = options, _values = _options.values; if (_values && _values.length > 1) { var filter = _values.reduce((function(result, value) { if (result.length) { result.push("or") } result.push([key, "=", value]); return result }), []); dataSource.filter(filter) } else { dataSource.filter([key, "=", fieldInfo.value]) } } else if (fieldInfo.field.calculateDisplayValue) { _ui.default.log("W1017") } options.items = itemsDeferred; dataSource.load().done(itemsDeferred.resolve) } itemsDeferred.done((function(items) { var index = values.indexOf(fieldInfo.value); result.resolve(function getSelectedItemsTexts(items, parentText) { var result = []; items.forEach((function(item) { if (item.items) { var selectedItemsTexts = getSelectedItemsTexts(item.items, getFullText(item.text, parentText)); result = result.concat(selectedItemsTexts) } item.selected && result.push(getFullText(item.text, parentText)) })); return result }(items, null)[index]) })); return result } var text = headerFilterController.getHeaderItemText(value, column, 0, grid.option("headerFilter")); return text } } } }, 4062: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/filter/m_filter_panel.js ***! \*************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.filterPanelModule = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _inflector = __webpack_require__( /*! ../../../../core/utils/inflector */ 78008); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _check_box = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/check_box */ 18859)); var _utils = __webpack_require__( /*! ../../../../ui/filter_builder/utils */ 59423); var _m_accessibility = __webpack_require__( /*! ../m_accessibility */ 9130); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var FILTER_PANEL_TEXT_CLASS = "".concat("filter-panel", "-text"); var FILTER_PANEL_CHECKBOX_CLASS = "".concat("filter-panel", "-checkbox"); var FILTER_PANEL_CLEAR_FILTER_CLASS = "".concat("filter-panel", "-clear-filter"); var FILTER_PANEL_LEFT_CONTAINER = "".concat("filter-panel", "-left"); var FilterPanelView = _m_modules.default.View.inherit({ isVisible: function() { return this.option("filterPanel.visible") && this.getController("data").dataSource() }, init: function() { var _this = this; this.getController("data").dataSourceChanged.add((function() { return _this.render() })); this._columnsController = this.getController("columns") }, _renderCore: function() { var $element = this.element(); $element.empty(); var isColumnsDefined = !!this._columnsController.getColumns().length; if (!isColumnsDefined) { return } $element.addClass(this.addWidgetPrefix("filter-panel")); var $leftContainer = (0, _renderer.default)("
").addClass(this.addWidgetPrefix(FILTER_PANEL_LEFT_CONTAINER)).appendTo($element); this._renderFilterBuilderText($element, $leftContainer) }, _renderFilterBuilderText: function($element, $leftContainer) { var $filterElement = this._getFilterElement(); var $textElement = this._getTextElement(); if (this.option("filterValue") || this._filterValueBuffer) { var $checkElement = this._getCheckElement(); var $removeButtonElement = this._getRemoveButtonElement(); $leftContainer.append($checkElement).append($filterElement).append($textElement); $element.append($removeButtonElement); return } $leftContainer.append($filterElement).append($textElement) }, _getCheckElement: function() { var that = this; var $element = (0, _renderer.default)("
").addClass(this.addWidgetPrefix(FILTER_PANEL_CHECKBOX_CLASS)); that._createComponent($element, _check_box.default, { value: that.option("filterPanel.filterEnabled"), onValueChanged: function(e) { that.option("filterPanel.filterEnabled", e.value) } }); $element.attr("title", this.option("filterPanel.texts.filterEnabledHint")); return $element }, _getFilterElement: function() { var that = this; var $element = (0, _renderer.default)("
").addClass("dx-icon-filter"); _events_engine.default.on($element, "click", (function() { return that._showFilterBuilder() })); (0, _m_accessibility.registerKeyboardAction)("filterPanel", that, $element, void 0, (function() { return that._showFilterBuilder() })); that._addTabIndexToElement($element); return $element }, _getTextElement: function() { var that = this; var $textElement = (0, _renderer.default)("
").addClass(that.addWidgetPrefix(FILTER_PANEL_TEXT_CLASS)); var filterText; var filterValue = that.option("filterValue"); if (filterValue) { (0, _deferred.when)(that.getFilterText(filterValue, that.getController("filterSync").getCustomFilterOperations())).done((function(filterText) { var customizeText = that.option("filterPanel.customizeText"); if (customizeText) { var customText = customizeText({ component: that.component, filterValue: filterValue, text: filterText }); if ("string" === typeof customText) { filterText = customText } } $textElement.text(filterText) })) } else { filterText = that.option("filterPanel.texts.createFilter"); $textElement.text(filterText) } _events_engine.default.on($textElement, "click", (function() { return that._showFilterBuilder() })); (0, _m_accessibility.registerKeyboardAction)("filterPanel", that, $textElement, void 0, (function() { return that._showFilterBuilder() })); that._addTabIndexToElement($textElement); return $textElement }, _showFilterBuilder: function() { this.option("filterBuilderPopup.visible", true) }, _getRemoveButtonElement: function() { var that = this; var clearFilterValue = function() { return that.option("filterValue", null) }; var $element = (0, _renderer.default)("
").addClass(that.addWidgetPrefix(FILTER_PANEL_CLEAR_FILTER_CLASS)).text(that.option("filterPanel.texts.clearFilter")); _events_engine.default.on($element, "click", clearFilterValue); (0, _m_accessibility.registerKeyboardAction)("filterPanel", this, $element, void 0, clearFilterValue); that._addTabIndexToElement($element); return $element }, _addTabIndexToElement: function($element) { if (!this.option("useLegacyKeyboardNavigation")) { var tabindex = this.option("tabindex") || 0; $element.attr("tabindex", tabindex) } }, optionChanged: function(args) { switch (args.name) { case "filterValue": this._invalidate(); this.option("filterPanel.filterEnabled", true); args.handled = true; break; case "filterPanel": this._invalidate(); args.handled = true; break; default: this.callBase(args) } }, _getConditionText: function(fieldText, operationText, valueText) { var result = "[".concat(fieldText, "] ").concat(operationText); if ((0, _type.isDefined)(valueText)) { result += valueText } return result }, _getValueMaskedText: function(value) { return Array.isArray(value) ? "('".concat(value.join("', '"), "')") : " '".concat(value, "'") }, _getValueText: function(field, customOperation, value) { var _this2 = this; var deferred = new _deferred.Deferred; var hasCustomOperation = customOperation && customOperation.customizeText; if ((0, _type.isDefined)(value) || hasCustomOperation) { if (!hasCustomOperation && field.lookup) { (0, _utils.getCurrentLookupValueText)(field, value, (function(data) { deferred.resolve(_this2._getValueMaskedText(data)) })) } else { var displayValue = Array.isArray(value) ? value : _m_utils.default.getDisplayValue(field, value, null); (0, _deferred.when)((0, _utils.getCurrentValueText)(field, displayValue, customOperation, "filterPanel")).done((function(data) { deferred.resolve(_this2._getValueMaskedText(data)) })) } } else { deferred.resolve("") } return deferred.promise() }, getConditionText: function(filterValue, options) { var that = this; var operation = filterValue[1]; var deferred = new _deferred.Deferred; var customOperation = (0, _utils.getCustomOperation)(options.customOperations, operation); var operationText; var field = (0, _utils.getField)(filterValue[0], options.columns); var fieldText = field.caption || ""; var value = filterValue[2]; if (customOperation) { operationText = customOperation.caption || (0, _inflector.captionize)(customOperation.name) } else if (null === value) { operationText = (0, _utils.getCaptionByOperation)("=" === operation ? "isblank" : "isnotblank", options.filterOperationDescriptions) } else { operationText = (0, _utils.getCaptionByOperation)(operation, options.filterOperationDescriptions) } this._getValueText(field, customOperation, value).done((function(valueText) { deferred.resolve(that._getConditionText(fieldText, operationText, valueText)) })); return deferred }, getGroupText: function(filterValue, options, isInnerGroup) { var that = this; var result = new _deferred.Deferred; var textParts = []; var groupValue = (0, _utils.getGroupValue)(filterValue); filterValue.forEach((function(item) { if ((0, _utils.isCondition)(item)) { textParts.push(that.getConditionText(item, options)) } else if ((0, _utils.isGroup)(item)) { textParts.push(that.getGroupText(item, options, true)) } })); _deferred.when.apply(this, textParts).done((function() { var text; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] } if (groupValue.startsWith("!")) { var groupText = options.groupOperationDescriptions["not".concat(groupValue.substring(1, 2).toUpperCase()).concat(groupValue.substring(2))].split(" "); text = "".concat(groupText[0], " ").concat(args[0]) } else { text = args.join(" ".concat(options.groupOperationDescriptions[groupValue], " ")) } if (isInnerGroup) { text = "(".concat(text, ")") } result.resolve(text) })); return result }, getFilterText: function(filterValue, customOperations) { var options = { customOperations: customOperations, columns: this.getController("columns").getFilteringColumns(), filterOperationDescriptions: this.option("filterBuilder.filterOperationDescriptions"), groupOperationDescriptions: this.option("filterBuilder.groupOperationDescriptions") }; return (0, _utils.isCondition)(filterValue) ? this.getConditionText(filterValue, options) : this.getGroupText(filterValue, options) } }); var filterPanelModule = { defaultOptions: function() { return { filterPanel: { visible: false, filterEnabled: true, texts: { createFilter: _message.default.format("dxDataGrid-filterPanelCreateFilter"), clearFilter: _message.default.format("dxDataGrid-filterPanelClearFilter"), filterEnabledHint: _message.default.format("dxDataGrid-filterPanelFilterEnabledHint") } } } }, views: { filterPanelView: FilterPanelView }, extenders: { controllers: { data: { optionChanged: function(args) { switch (args.name) { case "filterPanel": this._applyFilter(); args.handled = true; break; default: this.callBase(args) } } } } } }; exports.filterPanelModule = filterPanelModule }, 12302: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/filter/m_filter_row.js ***! \***********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.filterRowModule = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../../../events/utils/index */ 39611); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _editor = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/editor/editor */ 96452)); var _menu = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/menu */ 76995)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/overlay/ui.overlay */ 89799)); var _accessibility = __webpack_require__( /*! ../../../../ui/shared/accessibility */ 56756); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var OPERATION_ICONS = { "=": "filter-operation-equals", "<>": "filter-operation-not-equals", "<": "filter-operation-less", "<=": "filter-operation-less-equal", ">": "filter-operation-greater", ">=": "filter-operation-greater-equal", default: "filter-operation-default", notcontains: "filter-operation-not-contains", contains: "filter-operation-contains", startswith: "filter-operation-starts-with", endswith: "filter-operation-ends-with", between: "filter-operation-between" }; var OPERATION_DESCRIPTORS = { "=": "equal", "<>": "notEqual", "<": "lessThan", "<=": "lessThanOrEqual", ">": "greaterThan", ">=": "greaterThanOrEqual", startswith: "startsWith", contains: "contains", notcontains: "notContains", endswith: "endsWith", between: "between" }; var BETWEEN_OPERATION_DATA_TYPES = ["date", "datetime", "number"]; var ARIA_SEARCH_BOX = _message.default.format("dxDataGrid-ariaSearchBox"); function isOnClickApplyFilterMode(that) { return "onClick" === that.option("filterRow.applyFilter") } var getEditorInstance = function($editorContainer) { var $editor = $editorContainer && $editorContainer.children(); var componentNames = $editor && $editor.data("dxComponents"); var editor = componentNames && componentNames.length && $editor.data(componentNames[0]); if (editor instanceof _editor.default) { return editor } return null }; var ColumnHeadersViewFilterRowExtender = function() { var getRangeTextByFilterValue = function(that, column) { var result = ""; var rangeEnd = ""; var filterValue = getColumnFilterValue(that, column); var formatOptions = _m_utils.default.getFormatOptionsByColumn(column, "filterRow"); if (Array.isArray(filterValue)) { result = _m_utils.default.formatValue(filterValue[0], formatOptions); rangeEnd = _m_utils.default.formatValue(filterValue[1], formatOptions); if ("" !== rangeEnd) { result += " - ".concat(rangeEnd) } } else if ((0, _type.isDefined)(filterValue)) { result = _m_utils.default.formatValue(filterValue, formatOptions) } return result }; function getColumnFilterValue(that, column) { if (column) { return isOnClickApplyFilterMode(that) && void 0 !== column.bufferedFilterValue ? column.bufferedFilterValue : column.filterValue } } var getColumnSelectedFilterOperation = function(that, column) { if (column) { return isOnClickApplyFilterMode(that) && void 0 !== column.bufferedSelectedFilterOperation ? column.bufferedSelectedFilterOperation : column.selectedFilterOperation } }; var getFilterValue = function(that, columnIndex, $editorContainer) { var column = that._columnsController.columnOption(columnIndex); var filterValue = getColumnFilterValue(that, column); var isFilterRange = $editorContainer.closest(".".concat(that.addWidgetPrefix("filter-range-overlay"))).length; var isRangeStart = $editorContainer.hasClass(that.addWidgetPrefix("filter-range-start")); if (filterValue && Array.isArray(filterValue) && "between" === getColumnSelectedFilterOperation(that, column)) { if (isRangeStart) { return filterValue[0] } return filterValue[1] } return !isFilterRange && function(filterValue, column) { if (column && BETWEEN_OPERATION_DATA_TYPES.includes(column.dataType) && Array.isArray(filterValue)) { return false } return void 0 !== filterValue }(filterValue, column) ? filterValue : null }; var updateFilterValue = function(that, options) { var value = "" === options.value ? null : options.value; var $editorContainer = options.container; var column = that._columnsController.columnOption(options.column.index); var filterValue = getFilterValue(that, column.index, $editorContainer); if (!(0, _type.isDefined)(filterValue) && !(0, _type.isDefined)(value)) { return } that._applyFilterViewController.setHighLight($editorContainer, filterValue !== value); var columnOptionName = isOnClickApplyFilterMode(that) ? "bufferedFilterValue" : "filterValue"; var normalizedValue = function(that, filterValue, column, $editorContainer) { if ("between" === getColumnSelectedFilterOperation(that, column)) { var columnFilterValue = getColumnFilterValue(that, column); if ($editorContainer.hasClass(that.addWidgetPrefix("filter-range-start"))) { return [filterValue, Array.isArray(columnFilterValue) ? columnFilterValue[1] : void 0] } return [Array.isArray(columnFilterValue) ? columnFilterValue[0] : columnFilterValue, filterValue] } return filterValue }(that, value, column, $editorContainer); var isBetween = "between" === getColumnSelectedFilterOperation(that, column); var notFireEvent = options.notFireEvent || isBetween && Array.isArray(normalizedValue) && normalizedValue.includes(void 0); that._columnsController.columnOption(column.index, columnOptionName, normalizedValue, notFireEvent) }; return { _updateEditorValue: function(column, $editorContainer) { var editor = getEditorInstance($editorContainer); editor && editor.option("value", getFilterValue(this, column.index, $editorContainer)) }, _columnOptionChanged: function(e) { var optionNames = e.optionNames; var $cell; var $editorContainer; var $editorRangeElements; var $menu; if (_m_utils.default.checkChanges(optionNames, ["filterValue", "bufferedFilterValue", "selectedFilterOperation", "bufferedSelectedFilterOperation", "filterValues", "filterType"]) && void 0 !== e.columnIndex) { var visibleIndex = this._columnsController.getVisibleIndex(e.columnIndex); var column = this._columnsController.columnOption(e.columnIndex); $cell = this._getCellElement(this.element().find(".".concat(this.addWidgetPrefix("filter-row"))).index(), visibleIndex) || (0, _renderer.default)(); $editorContainer = $cell.find(".".concat("dx-editor-container")).first(); if (optionNames.filterValue || optionNames.bufferedFilterValue) { this._updateEditorValue(column, $editorContainer); var overlayInstance = $cell.find(".".concat(this.addWidgetPrefix("filter-range-overlay"))).data("dxOverlay"); if (overlayInstance) { $editorRangeElements = overlayInstance.$content().find(".".concat("dx-editor-container")); this._updateEditorValue(column, $editorRangeElements.first()); this._updateEditorValue(column, $editorRangeElements.last()) } if (!overlayInstance || !overlayInstance.option("visible")) { this._updateFilterRangeContent($cell, getRangeTextByFilterValue(this, column)) } } if (optionNames.selectedFilterOperation || optionNames.bufferedSelectedFilterOperation) { if (visibleIndex >= 0 && column) { $menu = $cell.find(".".concat("dx-menu")); if ($menu.length) { this._updateFilterOperationChooser($menu, column, $editorContainer); if ("between" === getColumnSelectedFilterOperation(this, column)) { this._renderFilterRangeContent($cell, column) } else if ($editorContainer.find(".".concat("dx-filter-range-content")).length) { this._renderEditor($editorContainer, this._getEditorOptions($editorContainer, column)); this._hideFilterRange() } } } } return } this.callBase(e) }, _renderCore: function() { this._filterRangeOverlayInstance = null; return this.callBase.apply(this, arguments) }, _resizeCore: function() { this.callBase.apply(this, arguments); this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.repaint() }, isFilterRowVisible: function() { return this._isElementVisible(this.option("filterRow")) }, isVisible: function() { return this.callBase() || this.isFilterRowVisible() }, init: function() { this.callBase(); this._applyFilterViewController = this.getController("applyFilter") }, _initFilterRangeOverlay: function($cell, column) { var that = this; var sharedData = {}; var $editorContainer = $cell.find(".dx-editor-container"); var filterRangeOverlayClass = that.addWidgetPrefix("filter-range-overlay"); var $overlay = (0, _renderer.default)("
").addClass(filterRangeOverlayClass).appendTo($cell); return that._createComponent($overlay, _ui.default, { height: "auto", shading: false, showTitle: false, focusStateEnabled: false, hideOnOutsideClick: true, wrapperAttr: { class: filterRangeOverlayClass }, animation: false, position: { my: "top", at: "top", of: $editorContainer.length && $editorContainer || $cell, offset: "0 -1" }, contentTemplate: function(contentElement) { var editorOptions; var $editor = (0, _renderer.default)("
").addClass("".concat("dx-editor-container", " ").concat(that.addWidgetPrefix("filter-range-start"))).appendTo(contentElement); column = that._columnsController.columnOption(column.index); editorOptions = that._getEditorOptions($editor, column); editorOptions.sharedData = sharedData; that._renderEditor($editor, editorOptions); _events_engine.default.on($editor.find("input:not([type='hidden'])"), "keydown", (function(e) { var $prevElement = $cell.find("[tabindex]").not(e.target).first(); if ("tab" === (0, _index.normalizeKeyName)(e) && e.shiftKey) { e.preventDefault(); that._hideFilterRange(); if (!$prevElement.length) { $prevElement = $cell.prev().find("[tabindex]").last() } _events_engine.default.trigger($prevElement, "focus") } })); $editor = (0, _renderer.default)("
").addClass("".concat("dx-editor-container", " ").concat(that.addWidgetPrefix("filter-range-end"))).appendTo(contentElement); editorOptions = that._getEditorOptions($editor, column); editorOptions.sharedData = sharedData; that._renderEditor($editor, editorOptions); _events_engine.default.on($editor.find("input:not([type='hidden'])"), "keydown", (function(e) { if ("tab" === (0, _index.normalizeKeyName)(e) && !e.shiftKey) { e.preventDefault(); that._hideFilterRange(); _events_engine.default.trigger($cell.next().find("[tabindex]").first(), "focus") } })); return (0, _renderer.default)(contentElement).addClass(that.getWidgetContainerClass()) }, onShown: function(e) { var $editor = e.component.$content().find(".".concat("dx-editor-container")).first(); _events_engine.default.trigger($editor.find("input:not([type='hidden'])"), "focus") }, onHidden: function() { column = that._columnsController.columnOption(column.index); $cell.find(".".concat("dx-menu")).parent().addClass("dx-editor-with-menu"); if ("between" === getColumnSelectedFilterOperation(that, column)) { that._updateFilterRangeContent($cell, getRangeTextByFilterValue(that, column)); that.component.updateDimensions() } } }) }, _updateFilterRangeOverlay: function(options) { var overlayInstance = this._filterRangeOverlayInstance; overlayInstance && overlayInstance.option(options) }, _showFilterRange: function($cell, column) { var $overlay = $cell.children(".".concat(this.addWidgetPrefix("filter-range-overlay"))); var overlayInstance = $overlay.length && $overlay.data("dxOverlay"); if (!overlayInstance && column) { overlayInstance = this._initFilterRangeOverlay($cell, column) } if (!overlayInstance.option("visible")) { this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.hide(); this._filterRangeOverlayInstance = overlayInstance; this._updateFilterRangeOverlay({ width: (0, _size.getOuterWidth)($cell, true) + 1 }); this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.show() } }, _hideFilterRange: function() { var overlayInstance = this._filterRangeOverlayInstance; overlayInstance && overlayInstance.hide() }, getFilterRangeOverlayInstance: function() { return this._filterRangeOverlayInstance }, _createRow: function(row) { var _this = this; var $row = this.callBase(row); if ("filter" === row.rowType) { $row.addClass(this.addWidgetPrefix("filter-row")); if (!this.option("useLegacyKeyboardNavigation")) { _events_engine.default.on($row, "keydown", (function(event) { return (0, _accessibility.selectView)("filterRow", _this, event) })) } } return $row }, _getRows: function() { var result = this.callBase(); if (this.isFilterRowVisible()) { result.push({ rowType: "filter" }) } return result }, _renderFilterCell: function(cell, options) { var column = options.column; var $cell = (0, _renderer.default)(cell); if (this.component.option("showColumnHeaders")) { this.setAria("describedby", column.headerId, $cell) } this.setAria("label", _message.default.format("dxDataGrid-ariaFilterCell"), $cell); $cell.addClass("dx-editor-cell"); var $container = (0, _renderer.default)("
").appendTo($cell); var $editorContainer = (0, _renderer.default)("
").addClass("dx-editor-container").appendTo($container); if ("between" === getColumnSelectedFilterOperation(this, column)) { this._renderFilterRangeContent($cell, column) } else { var editorOptions = this._getEditorOptions($editorContainer, column); this._renderEditor($editorContainer, editorOptions) } var alignment = column.alignment; if (alignment && "center" !== alignment) { $cell.find("input:not([type='hidden'])").first().css("textAlign", column.alignment) } if (column.filterOperations && column.filterOperations.length) { this._renderFilterOperationChooser($container, column, $editorContainer) } }, _renderCellContent: function($cell, options) { var that = this; var column = options.column; if ("filter" === options.rowType) { if (column.command) { $cell.html(" ") } else if (column.allowFiltering) { that.renderTemplate($cell, that._renderFilterCell.bind(that), options).done((function() { that._updateCell($cell, options) })); return } } this.callBase.apply(this, arguments) }, _getEditorOptions: function($editorContainer, column) { var that = this; var accessibilityOptions = { editorOptions: { inputAttr: that._getFilterInputAccessibilityAttributes(column) } }; var result = (0, _extend.extend)(accessibilityOptions, column, { value: getFilterValue(that, column.index, $editorContainer), parentType: "filterRow", showAllText: that.option("filterRow.showAllText"), updateValueTimeout: "onClick" === that.option("filterRow.applyFilter") ? 0 : 700, width: null, setValue: function(value, notFireEvent) { updateFilterValue(that, { column: column, value: value, container: $editorContainer, notFireEvent: notFireEvent }) } }); if ("between" === getColumnSelectedFilterOperation(that, column)) { if ($editorContainer.hasClass(that.addWidgetPrefix("filter-range-start"))) { result.placeholder = that.option("filterRow.betweenStartText") } else { result.placeholder = that.option("filterRow.betweenEndText") } } return result }, _getFilterInputAccessibilityAttributes: function(column) { var columnAriaLabel = _message.default.format("dxDataGrid-ariaFilterCell"); if (this.component.option("showColumnHeaders")) { return { "aria-label": columnAriaLabel, "aria-describedby": column.headerId } } return { "aria-label": columnAriaLabel } }, _renderEditor: function($editorContainer, options) { $editorContainer.empty(); var $element = (0, _renderer.default)("
").appendTo($editorContainer); var editorController = this.getController("editorFactory"); var dataSource = this.getController("data").dataSource(); var filterRowController = this.getController("applyFilter"); if (options.lookup && this.option("syncLookupFilterValues")) { filterRowController.setCurrentColumnForFiltering(options); var filter = this.getController("data").getCombinedFilter(); filterRowController.setCurrentColumnForFiltering(null); var lookupDataSource = _m_utils.default.getWrappedLookupDataSource(options, dataSource, filter); var lookupOptions = _extends(_extends({}, options), { lookup: _extends(_extends({}, options.lookup), { dataSource: lookupDataSource }) }); return editorController.createEditor($element, lookupOptions) } return editorController.createEditor($element, options) }, _renderFilterRangeContent: function($cell, column) { var that = this; var $editorContainer = $cell.find(".".concat("dx-editor-container")).first(); $editorContainer.empty(); var $filterRangeContent = (0, _renderer.default)("
").addClass("dx-filter-range-content").attr("tabindex", this.option("tabIndex")); _events_engine.default.on($filterRangeContent, "focusin", (function() { that._showFilterRange($cell, column) })); $filterRangeContent.appendTo($editorContainer); that._updateFilterRangeContent($cell, getRangeTextByFilterValue(that, column)) }, _updateFilterRangeContent: function($cell, value) { var $filterRangeContent = $cell.find(".".concat("dx-filter-range-content")); if ($filterRangeContent.length) { if ("" === value) { $filterRangeContent.html(" ") } else { $filterRangeContent.text(value) } } }, _updateFilterOperationChooser: function($menu, column, $editorContainer) { var that = this; var isCellWasFocused; var restoreFocus = function() { var menu = _menu.default.getInstance($menu); menu && menu.option("focusedElement", null); isCellWasFocused && that._focusEditor($editorContainer) }; that._createComponent($menu, _menu.default, { integrationOptions: {}, activeStateEnabled: false, selectionMode: "single", cssClass: "".concat(that.getWidgetContainerClass(), " ").concat("dx-cell-focus-disabled", " ").concat("dx-filter-menu"), showFirstSubmenuMode: "onHover", hideSubmenuOnMouseLeave: true, elementAttr: { "aria-label": ARIA_SEARCH_BOX }, items: [{ disabled: !(column.filterOperations && column.filterOperations.length), icon: OPERATION_ICONS[getColumnSelectedFilterOperation(that, column) || "default"], selectable: false, items: that._getFilterOperationMenuItems(column) }], onItemClick: function(properties) { var selectedFilterOperation = properties.itemData.name; var columnSelectedFilterOperation = getColumnSelectedFilterOperation(that, column); var notFocusEditor = false; var isOnClickMode = isOnClickApplyFilterMode(that); var options = {}; if (properties.itemData.items || selectedFilterOperation && selectedFilterOperation === columnSelectedFilterOperation) { return } if (selectedFilterOperation) { options[isOnClickMode ? "bufferedSelectedFilterOperation" : "selectedFilterOperation"] = selectedFilterOperation; if ("between" === selectedFilterOperation || "between" === columnSelectedFilterOperation) { notFocusEditor = "between" === selectedFilterOperation; options[isOnClickMode ? "bufferedFilterValue" : "filterValue"] = null } } else { options[isOnClickMode ? "bufferedFilterValue" : "filterValue"] = null; options[isOnClickMode ? "bufferedSelectedFilterOperation" : "selectedFilterOperation"] = column.defaultSelectedFilterOperation || null } that._columnsController.columnOption(column.index, options); that._applyFilterViewController.setHighLight($editorContainer, true); if (!selectedFilterOperation) { var editor = getEditorInstance($editorContainer); if (editor && "dxDateBox" === editor.NAME && !editor.option("isValid")) { editor.reset(); editor.option("isValid", true) } } if (!notFocusEditor) { that._focusEditor($editorContainer) } else { that._showFilterRange($editorContainer.closest(".".concat("dx-editor-cell")), column) } }, onSubmenuShowing: function() { isCellWasFocused = that._isEditorFocused($editorContainer); that.getController("editorFactory").loseFocus() }, onSubmenuHiding: function() { _events_engine.default.trigger($menu, "blur"); restoreFocus() }, onContentReady: function(e) { _events_engine.default.on($menu, "blur", (function() { var menu = e.component; menu._hideSubmenuAfterTimeout(); restoreFocus() })) }, rtlEnabled: that.option("rtlEnabled") }) }, _isEditorFocused: function($container) { return $container.hasClass("dx-focused") || $container.parents(".".concat("dx-focused")).length }, _focusEditor: function($container) { this.getController("editorFactory").focus($container); _events_engine.default.trigger($container.find("input:not([type='hidden'])"), "focus") }, _renderFilterOperationChooser: function($container, column, $editorContainer) { var $menu; if (this.option("filterRow.showOperationChooser")) { $container.addClass("dx-editor-with-menu"); $menu = (0, _renderer.default)("
").prependTo($container); this._updateFilterOperationChooser($menu, column, $editorContainer) } }, _getFilterOperationMenuItems: function(column) { var that = this; var result = [{}]; var filterRowOptions = that.option("filterRow"); var operationDescriptions = filterRowOptions && filterRowOptions.operationDescriptions || {}; if (column.filterOperations && column.filterOperations.length) { var availableFilterOperations = column.filterOperations.filter((function(value) { return (0, _type.isDefined)(OPERATION_DESCRIPTORS[value]) })); result = (0, _iterator.map)(availableFilterOperations, (function(value) { var descriptionName = OPERATION_DESCRIPTORS[value]; return { name: value, selected: (getColumnSelectedFilterOperation(that, column) || column.defaultFilterOperation) === value, text: operationDescriptions[descriptionName], icon: OPERATION_ICONS[value] } })); result.push({ name: null, text: filterRowOptions && filterRowOptions.resetOperationText, icon: OPERATION_ICONS.default }) } return result }, _handleDataChanged: function(e) { var _a, _b, _c; this.callBase.apply(this, arguments); if ((null === (_a = e.operationTypes) || void 0 === _a ? void 0 : _a.filtering) || (null === (_b = e.operationTypes) || void 0 === _b ? void 0 : _b.fullReload)) { this.updateLookupDataSource(null === (_c = e.operationTypes) || void 0 === _c ? void 0 : _c.filtering) } }, updateLookupDataSource: function(filterChanged) { var _this2 = this; if (!this.option("syncLookupFilterValues")) { return } if (!this.element()) { return } var columns = this._columnsController.getVisibleColumns(); var dataSource = this._dataController.dataSource(); var applyFilterViewController = this._applyFilterViewController; var rowIndex = this.element().find(".".concat(this.addWidgetPrefix("filter-row"))).index(); if (-1 === rowIndex) { return } columns.forEach((function(column, index) { if (!column.lookup || column.calculateCellValue !== column.defaultCalculateCellValue) { return } var $cell = _this2._getCellElement(rowIndex, index); var editor = getEditorInstance(null === $cell || void 0 === $cell ? void 0 : $cell.find(".dx-editor-container")); if (editor) { applyFilterViewController.setCurrentColumnForFiltering(column); var filter = _this2._dataController.getCombinedFilter() || null; applyFilterViewController.setCurrentColumnForFiltering(null); var editorDataSource = editor.option("dataSource"); var shouldUpdateFilter = !filterChanged || !(0, _common.equalByValue)(editorDataSource.__dataGridSourceFilter, filter); if (shouldUpdateFilter) { var lookupDataSource = _m_utils.default.getWrappedLookupDataSource(column, dataSource, filter); editor.option("dataSource", lookupDataSource) } } })) }, optionChanged: function(args) { switch (args.name) { case "filterRow": case "showColumnLines": this._invalidate(true, true); args.handled = true; break; case "syncLookupFilterValues": if (args.value) { this.updateLookupDataSource() } else { this.render() } args.handled = true; break; default: this.callBase(args) } } } }(); var DataControllerFilterRowExtender = { skipCalculateColumnFilters: function() { return false }, _calculateAdditionalFilter: function() { if (this.skipCalculateColumnFilters()) { return this.callBase() } var filters = [this.callBase()]; var columns = this._columnsController.getVisibleColumns(null, true); var filterRowController = this.getController("applyFilter"); (0, _iterator.each)(columns, (function() { var _a; var shouldSkip = (null === (_a = filterRowController.getCurrentColumnForFiltering()) || void 0 === _a ? void 0 : _a.index) === this.index; if (this.allowFiltering && this.calculateFilterExpression && (0, _type.isDefined)(this.filterValue) && !shouldSkip) { var filter = this.createFilterExpression(this.filterValue, this.selectedFilterOperation || this.defaultFilterOperation, "filterRow"); filters.push(filter) } })); return _m_utils.default.combineFilters(filters) } }; var ApplyFilterViewController = _m_modules.default.ViewController.inherit({ _getHeaderPanel: function() { if (!this._headerPanel) { this._headerPanel = this.getView("headerPanel") } return this._headerPanel }, setHighLight: function($element, value) { if (isOnClickApplyFilterMode(this)) { $element && $element.toggleClass("dx-highlight-outline", value) && $element.closest(".".concat("dx-editor-cell")).toggleClass("dx-filter-modified", value); this._getHeaderPanel().enableApplyButton(value) } }, applyFilter: function() { var columnsController = this.getController("columns"); var columns = columnsController.getColumns(); columnsController.beginUpdate(); for (var i = 0; i < columns.length; i++) { var column = columns[i]; if (void 0 !== column.bufferedFilterValue) { columnsController.columnOption(i, "filterValue", column.bufferedFilterValue); column.bufferedFilterValue = void 0 } if (void 0 !== column.bufferedSelectedFilterOperation) { columnsController.columnOption(i, "selectedFilterOperation", column.bufferedSelectedFilterOperation); column.bufferedSelectedFilterOperation = void 0 } } columnsController.endUpdate(); this.removeHighLights() }, removeHighLights: function() { if (isOnClickApplyFilterMode(this)) { var columnHeadersViewElement = this.getView("columnHeadersView").element(); columnHeadersViewElement.find(".".concat(this.addWidgetPrefix("filter-row"), " .").concat("dx-highlight-outline")).removeClass("dx-highlight-outline"); columnHeadersViewElement.find(".".concat(this.addWidgetPrefix("filter-row"), " .").concat("dx-filter-modified")).removeClass("dx-filter-modified"); this._getHeaderPanel().enableApplyButton(false) } }, setCurrentColumnForFiltering: function(column) { this._currentColumn = column }, getCurrentColumnForFiltering: function() { return this._currentColumn } }); var filterRowModule = { defaultOptions: function() { return { syncLookupFilterValues: true, filterRow: { visible: false, showOperationChooser: true, showAllText: _message.default.format("dxDataGrid-filterRowShowAllText"), resetOperationText: _message.default.format("dxDataGrid-filterRowResetOperationText"), applyFilter: "auto", applyFilterText: _message.default.format("dxDataGrid-applyFilterText"), operationDescriptions: { equal: _message.default.format("dxDataGrid-filterRowOperationEquals"), notEqual: _message.default.format("dxDataGrid-filterRowOperationNotEquals"), lessThan: _message.default.format("dxDataGrid-filterRowOperationLess"), lessThanOrEqual: _message.default.format("dxDataGrid-filterRowOperationLessOrEquals"), greaterThan: _message.default.format("dxDataGrid-filterRowOperationGreater"), greaterThanOrEqual: _message.default.format("dxDataGrid-filterRowOperationGreaterOrEquals"), startsWith: _message.default.format("dxDataGrid-filterRowOperationStartsWith"), contains: _message.default.format("dxDataGrid-filterRowOperationContains"), notContains: _message.default.format("dxDataGrid-filterRowOperationNotContains"), endsWith: _message.default.format("dxDataGrid-filterRowOperationEndsWith"), between: _message.default.format("dxDataGrid-filterRowOperationBetween"), isBlank: _message.default.format("dxFilterBuilder-filterOperationIsBlank"), isNotBlank: _message.default.format("dxFilterBuilder-filterOperationIsNotBlank") }, betweenStartText: _message.default.format("dxDataGrid-filterRowOperationBetweenStartText"), betweenEndText: _message.default.format("dxDataGrid-filterRowOperationBetweenEndText") } } }, controllers: { applyFilter: ApplyFilterViewController }, extenders: { controllers: { data: DataControllerFilterRowExtender, columnsResizer: { _startResizing: function() { var that = this; that.callBase.apply(that, arguments); if (that.isResizing()) { var overlayInstance = that._columnHeadersView.getFilterRangeOverlayInstance(); if (overlayInstance) { var cellIndex = overlayInstance.$element().closest("td").index(); if (cellIndex === that._targetPoint.columnIndex || cellIndex === that._targetPoint.columnIndex + 1) { overlayInstance.$content().hide() } } } }, _endResizing: function() { var that = this; var $cell; if (that.isResizing()) { var overlayInstance = that._columnHeadersView.getFilterRangeOverlayInstance(); if (overlayInstance) { $cell = overlayInstance.$element().closest("td"); that._columnHeadersView._updateFilterRangeOverlay({ width: (0, _size.getOuterWidth)($cell, true) + 1 }); overlayInstance.$content().show() } } that.callBase.apply(that, arguments) } }, editing: { updateFieldValue: function(options) { if (options.column.lookup) { this._needUpdateLookupDataSource = true } return this.callBase.apply(this, arguments) }, _afterSaveEditData: function(cancel) { var _a; if (this._needUpdateLookupDataSource && !cancel) { null === (_a = this.getView("columnHeadersView")) || void 0 === _a ? void 0 : _a.updateLookupDataSource() } this._needUpdateLookupDataSource = false; return this.callBase.apply(this, arguments) }, _afterCancelEditData: function() { this._needUpdateLookupDataSource = false; return this.callBase.apply(this, arguments) } } }, views: { columnHeadersView: ColumnHeadersViewFilterRowExtender, headerPanel: { _getToolbarItems: function() { var items = this.callBase(); var filterItem = this._prepareFilterItem(items); return filterItem.concat(items) }, _prepareFilterItem: function() { var that = this; var filterItem = []; if (that._isShowApplyFilterButton()) { var hintText = that.option("filterRow.applyFilterText"); var columns = that._columnsController.getColumns(); var disabled = !columns.filter((function(column) { return void 0 !== column.bufferedFilterValue })).length; var toolbarItem = { widget: "dxButton", options: { icon: "apply-filter", disabled: disabled, onClick: function() { that._applyFilterViewController.applyFilter() }, hint: hintText, text: hintText, onInitialized: function(e) { (0, _renderer.default)(e.element).addClass(that._getToolbarButtonClass("dx-apply-button")) } }, showText: "inMenu", name: "applyFilterButton", location: "after", locateInMenu: "auto", sortIndex: 10 }; filterItem.push(toolbarItem) } return filterItem }, _isShowApplyFilterButton: function() { var filterRowOptions = this.option("filterRow"); return filterRowOptions && filterRowOptions.visible && "onClick" === filterRowOptions.applyFilter }, init: function() { this.callBase(); this._dataController = this.getController("data"); this._applyFilterViewController = this.getController("applyFilter") }, enableApplyButton: function(value) { this.setToolbarItemDisabled("applyFilterButton", !value) }, isVisible: function() { return this.callBase() || this._isShowApplyFilterButton() }, optionChanged: function(args) { if ("filterRow" === args.name) { this._invalidate(); args.handled = true } else { this.callBase(args) } } } } } }; exports.filterRowModule = filterRowModule }, 14407: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/filter/m_filter_sync.js ***! \************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.filterSyncModule = void 0; var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _utils = __webpack_require__( /*! ../../../../ui/filter_builder/utils */ 59423); var _filtering = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/shared/filtering */ 18740)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/widget/ui.errors */ 96688)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); var _m_filter_custom_operations = __webpack_require__( /*! ./m_filter_custom_operations */ 9622); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var FILTER_ROW_OPERATIONS = ["=", "<>", "<", "<=", ">", ">=", "notcontains", "contains", "startswith", "endswith", "between"]; function getColumnIdentifier(column) { return column.name || column.dataField } var FilterSyncController = _m_modules.default.Controller.inherit((canSyncHeaderFilterWithFilterRow = function(column) { var filterValues = column.filterValues || []; return !_filtering.default.getGroupInterval(column) && !(column.headerFilter && column.headerFilter.dataSource) || 1 === filterValues.length && null === filterValues[0] }, getConditionFromFilterRow = function(column) { var value = column.filterValue; if ((0, _type.isDefined)(value)) { var operation = column.selectedFilterOperation || column.defaultFilterOperation || (0, _utils.getDefaultOperation)(column); var filter = [getColumnIdentifier(column), operation, column.filterValue]; return filter } return null }, getConditionFromHeaderFilter = function(column) { var selectedOperation; var value; var filterValues = column.filterValues; if (!filterValues) { return null } if (1 === filterValues.length && canSyncHeaderFilterWithFilterRow(column) && !Array.isArray(filterValues[0])) { "exclude" === column.filterType ? selectedOperation = "<>" : selectedOperation = "="; value = filterValues[0] } else { "exclude" === column.filterType ? selectedOperation = "noneof" : selectedOperation = "anyof"; value = filterValues } return [getColumnIdentifier(column), selectedOperation, value] }, updateHeaderFilterCondition = function(columnsController, column, headerFilterCondition) { var headerFilter = function(headerFilterCondition, column) { if (!headerFilterCondition) { return { filterType: "include", filterValues: void 0 } } var filterType; var selectedFilterOperation = headerFilterCondition[1]; var value = headerFilterCondition[2]; var hasArrayValue = Array.isArray(value); if (!hasArrayValue) { if (!canSyncHeaderFilterWithFilterRow(column)) { return { filterType: "include", filterValues: void 0 } } } switch (selectedFilterOperation) { case "anyof": case "=": filterType = "include"; break; case "noneof": case "<>": filterType = "exclude"; break; default: return { filterType: "include", filterValues: void 0 } } return { filterType: filterType, filterValues: hasArrayValue ? value : [value] } }(headerFilterCondition, column); columnsController.columnOption(getColumnIdentifier(column), headerFilter) }, updateFilterRowCondition = function(columnsController, column, condition) { var filterRowOptions; var selectedFilterOperation = null === condition || void 0 === condition ? void 0 : condition[1]; var filterValue = null === condition || void 0 === condition ? void 0 : condition[2]; var filterOperations = column.filterOperations || column.defaultFilterOperations; if ((!filterOperations || filterOperations.indexOf(selectedFilterOperation) >= 0 || selectedFilterOperation === column.defaultFilterOperation) && FILTER_ROW_OPERATIONS.includes(selectedFilterOperation) && null !== filterValue) { if (selectedFilterOperation === column.defaultFilterOperation && !(0, _type.isDefined)(column.selectedFilterOperation)) { selectedFilterOperation = column.selectedFilterOperation } filterRowOptions = { filterValue: filterValue, selectedFilterOperation: selectedFilterOperation } } else { filterRowOptions = { filterValue: void 0, selectedFilterOperation: void 0 } } columnsController.columnOption(getColumnIdentifier(column), filterRowOptions) }, { syncFilterValue: function() { var that = this; var columnsController = that.getController("columns"); var columns = columnsController.getFilteringColumns(); this._skipSyncColumnOptions = true; columns.forEach((function(column) { var filterConditions = (0, _utils.getMatchedConditions)(that.option("filterValue"), getColumnIdentifier(column)); if (1 === filterConditions.length) { var filterCondition = filterConditions[0]; updateHeaderFilterCondition(columnsController, column, filterCondition); updateFilterRowCondition(columnsController, column, filterCondition) } else { (0, _type.isDefined)(column.filterValues) && updateHeaderFilterCondition(columnsController, column, null); (0, _type.isDefined)(column.filterValue) && updateFilterRowCondition(columnsController, column, null) } })); this._skipSyncColumnOptions = false }, _initSync: function() { var columns = this.getController("columns").getColumns(); var dataController = this.getController("data"); var pageIndex = dataController.pageIndex(); ! function(columns) { columns.forEach((function(column) { var identifier = getColumnIdentifier(column); if (!(0, _type.isDefined)(identifier) && column.allowFiltering) { throw new _ui.default.Error("E1049", column.caption) } })) }(columns); if (!this.option("filterValue")) { var filteringColumns = this.getController("columns").getFilteringColumns(); var filterValue = this.getFilterValueFromColumns(filteringColumns); this.option("filterValue", filterValue) } this.syncFilterValue(); dataController.pageIndex(pageIndex) }, init: function() { var _this = this; var dataController = this.getController("data"); if (dataController.isFilterSyncActive()) { if (this.getController("columns").isAllDataTypesDefined()) { this._initSync() } else { dataController.dataSourceChanged.add((function() { return _this._initSync() })) } } }, _getSyncFilterRow: function(filterValue, column) { var filter = getConditionFromFilterRow(column); if ((0, _type.isDefined)(filter)) { return (0, _utils.syncFilters)(filterValue, filter) } return (0, _utils.removeFieldConditionsFromFilter)(filterValue, getColumnIdentifier(column)) }, _getSyncHeaderFilter: function(filterValue, column) { var filter = getConditionFromHeaderFilter(column); if (filter) { return (0, _utils.syncFilters)(filterValue, filter) } return (0, _utils.removeFieldConditionsFromFilter)(filterValue, getColumnIdentifier(column)) }, getFilterValueFromColumns: function(columns) { if (!this.getController("data").isFilterSyncActive()) { return null } var filterValue = ["and"]; columns && columns.forEach((function(column) { var headerFilter = getConditionFromHeaderFilter(column); var filterRow = getConditionFromFilterRow(column); headerFilter && (0, _utils.addItem)(headerFilter, filterValue); filterRow && (0, _utils.addItem)(filterRow, filterValue) })); return (0, _utils.getNormalizedFilter)(filterValue) }, syncFilterRow: function(column) { this.option("filterValue", this._getSyncFilterRow(this.option("filterValue"), column)) }, syncHeaderFilter: function(column) { this.option("filterValue", this._getSyncHeaderFilter(this.option("filterValue"), column)) }, getCustomFilterOperations: function() { var filterBuilderCustomOperations = this.option("filterBuilder.customOperations") || []; return [(0, _m_filter_custom_operations.anyOf)(this.component), (0, _m_filter_custom_operations.noneOf)(this.component)].concat(filterBuilderCustomOperations) }, publicMethods: function() { return ["getCustomFilterOperations"] } })); var canSyncHeaderFilterWithFilterRow, getConditionFromFilterRow, getConditionFromHeaderFilter, updateHeaderFilterCondition, updateFilterRowCondition; var DataControllerFilterSyncExtender = { isFilterSyncActive: function() { var filterSyncEnabledValue = this.option("filterSyncEnabled"); return "auto" === filterSyncEnabledValue ? this.option("filterPanel.visible") : filterSyncEnabledValue }, skipCalculateColumnFilters: function() { var filterSyncController = this.getController("filterSync"); return ((0, _type.isDefined)(this.option("filterValue")) || filterSyncController._skipSyncColumnOptions) && this.isFilterSyncActive() }, _calculateAdditionalFilter: function() { if (false === this.option("filterPanel.filterEnabled")) { return this.callBase() } var filters = [this.callBase()]; var columns = this.getController("columns").getFilteringColumns(); var filterValue = this.option("filterValue"); if (this.isFilterSyncActive()) { var currentColumn = this.getController("headerFilter").getCurrentColumn(); if (currentColumn && filterValue) { filterValue = (0, _utils.removeFieldConditionsFromFilter)(filterValue, getColumnIdentifier(currentColumn)) } } var customOperations = this.getController("filterSync").getCustomFilterOperations(); var calculatedFilterValue = (0, _utils.getFilterExpression)(filterValue, columns, customOperations, "filterBuilder"); if (calculatedFilterValue) { filters.push(calculatedFilterValue) } return _m_utils.default.combineFilters(filters) }, _parseColumnPropertyName: function(fullName) { var matched = fullName.match(/.*\.(.*)/); if (matched) { return matched[1] } return null }, clearFilter: function(filterName) { this.component.beginUpdate(); if (arguments.length > 0) { if ("filterValue" === filterName) { this.option("filterValue", null) } this.callBase(filterName) } else { this.option("filterValue", null); this.callBase() } this.component.endUpdate() }, optionChanged: function(args) { switch (args.name) { case "filterValue": this._applyFilter(); this.isFilterSyncActive() && this.getController("filterSync").syncFilterValue(); args.handled = true; break; case "filterSyncEnabled": args.handled = true; break; case "columns": if (this.isFilterSyncActive()) { var column = this.getController("columns").getColumnByPath(args.fullName); var filterSyncController = this.getController("filterSync"); if (column && !filterSyncController._skipSyncColumnOptions) { var propertyName = this._parseColumnPropertyName(args.fullName); filterSyncController._skipSyncColumnOptions = true; if ("filterType" === propertyName) { if ("exclude" === args.value || "exclude" === args.previousValue) { filterSyncController.syncHeaderFilter(column) } } else if ("filterValues" === propertyName) { filterSyncController.syncHeaderFilter(column) } else if (["filterValue", "selectedFilterOperation"].includes(propertyName)) { filterSyncController.syncFilterRow(column, column.filterValue) } filterSyncController._skipSyncColumnOptions = false } } this.callBase(args); break; default: this.callBase(args) } } }; var ColumnHeadersViewFilterSyncExtender = { _isHeaderFilterEmpty: function(column) { if (this.getController("data").isFilterSyncActive()) { return !(0, _utils.filterHasField)(this.option("filterValue"), getColumnIdentifier(column)) } return this.callBase(column) }, _needUpdateFilterIndicators: function() { return !this.getController("data").isFilterSyncActive() }, optionChanged: function(args) { if ("filterValue" === args.name) { this._updateHeaderFilterIndicators() } else { this.callBase(args) } } }; var filterSyncModule = { defaultOptions: function() { return { filterValue: null, filterSyncEnabled: "auto" } }, controllers: { filterSync: FilterSyncController }, extenders: { controllers: { data: DataControllerFilterSyncExtender }, views: { columnHeadersView: ColumnHeadersViewFilterSyncExtender } } }; exports.filterSyncModule = filterSyncModule }, 5325: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/focus/m_focus.js ***! \*****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.focusModule = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); var _m_focus_utils = __webpack_require__( /*! ./m_focus_utils */ 32710); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var FOCUSED_ROW_SELECTOR = ".dx-row.".concat("dx-row-focused"); var FocusController = _m_modules.default.ViewController.inherit((members = { init: function() { this._dataController = this.getController("data"); this._keyboardController = this.getController("keyboardNavigation"); this.component._optionsByReference.focusedRowKey = true }, optionChanged: function(args) { var name = args.name, value = args.value, previousValue = args.previousValue; switch (name) { case "focusedRowIndex": this._focusRowByIndex(value); this._keyboardController._fireFocusedRowChanged(); args.handled = true; break; case "focusedRowKey": if (Array.isArray(value) && JSON.stringify(value) === JSON.stringify(previousValue)) { return } this._focusRowByKey(value); this._keyboardController._fireFocusedRowChanged(); args.handled = true; break; case "focusedColumnIndex": case "focusedRowEnabled": case "autoNavigateToFocusedRow": args.handled = true; break; default: this.callBase(args) } }, isAutoNavigateToFocusedRow: function() { return "infinite" !== this.option("scrolling.mode") && this.option("autoNavigateToFocusedRow") }, _focusRowByIndex: function(index, operationTypes) { if (!this.option("focusedRowEnabled")) { return } index = void 0 !== index ? index : this.option("focusedRowIndex"); if (index < 0) { if (this.isAutoNavigateToFocusedRow()) { this._resetFocusedRow() } } else { this._focusRowByIndexCore(index, operationTypes) } }, _focusRowByIndexCore: function(index, operationTypes) { var _this = this; var dataController = this.getController("data"); var pageSize = dataController.pageSize(); var setKeyByIndex = function() { if (_this._isValidFocusedRowIndex(index)) { var rowIndex = index - dataController.getRowIndexOffset(true); if (!operationTypes || operationTypes.paging && !operationTypes.filtering) { var lastItemIndex = dataController._getLastItemIndex(); rowIndex = Math.min(rowIndex, lastItemIndex) } var focusedRowKey = dataController.getKeyByRowIndex(rowIndex, true); if ((0, _type.isDefined)(focusedRowKey) && !_this.isRowFocused(focusedRowKey)) { _this.option("focusedRowKey", focusedRowKey) } } }; if (pageSize >= 0) { if (!this._isLocalRowIndex(index)) { var pageIndex = Math.floor(index / dataController.pageSize()); (0, _deferred.when)(dataController.pageIndex(pageIndex), dataController.waitReady()).done((function() { setKeyByIndex() })) } else { setKeyByIndex() } } }, _isLocalRowIndex: function(index) { var dataController = this.getController("data"); var isVirtualScrolling = this.getController("keyboardNavigation")._isVirtualScrolling(); if (isVirtualScrolling) { var pageIndex = Math.floor(index / dataController.pageSize()); var virtualItems = dataController.virtualItemsCount(); var virtualItemsBegin = virtualItems ? virtualItems.begin : -1; var visibleRowsCount = dataController.getVisibleRows().length + dataController.getRowIndexOffset(); var visiblePagesCount = Math.ceil(visibleRowsCount / dataController.pageSize()); return virtualItemsBegin <= index && visiblePagesCount > pageIndex } return true }, _setFocusedRowKeyByIndex: function(index) { var dataController = this.getController("data"); if (this._isValidFocusedRowIndex(index)) { var rowIndex = Math.min(index - dataController.getRowIndexOffset(), dataController.items().length - 1); var focusedRowKey = dataController.getKeyByRowIndex(rowIndex); if ((0, _type.isDefined)(focusedRowKey) && !this.isRowFocused(focusedRowKey)) { this.option("focusedRowKey", focusedRowKey) } } }, _focusRowByKey: function(key) { if (!(0, _type.isDefined)(key)) { this._resetFocusedRow() } else { this._navigateToRow(key, true) } }, _resetFocusedRow: function() { var focusedRowKey = this.option("focusedRowKey"); var isFocusedRowKeyDefined = (0, _type.isDefined)(focusedRowKey); if (!isFocusedRowKeyDefined && this.option("focusedRowIndex") < 0) { return } var keyboardController = this.getController("keyboardNavigation"); if (isFocusedRowKeyDefined) { this.option("focusedRowKey", null) } keyboardController.setFocusedRowIndex(-1); this.option("focusedRowIndex", -1); this.getController("data").updateItems({ changeType: "updateFocusedRow", focusedRowKey: null }); keyboardController._fireFocusedRowChanged(void 0, -1) }, _isValidFocusedRowIndex: function(rowIndex) { var dataController = this.getController("data"); var row = dataController.getVisibleRows()[rowIndex]; return !row || "data" === row.rowType || "group" === row.rowType }, publicMethods: function() { return ["navigateToRow", "isRowFocused"] }, navigateToRow: function(key) { if (!this.isAutoNavigateToFocusedRow()) { this.option("focusedRowIndex", -1) } return this._navigateToRow(key) }, _navigateToRow: function(key, needFocusRow) { var that = this; var dataController = that.getController("data"); var isAutoNavigate = that.isAutoNavigateToFocusedRow(); var d = new _deferred.Deferred; if (void 0 === key || !dataController.dataSource()) { return d.reject().promise() } var rowIndexByKey = that.getFocusedRowIndexByKey(key); if (!isAutoNavigate && needFocusRow || rowIndexByKey >= 0) { that._navigateTo(key, d, needFocusRow) } else { dataController.getPageIndexByKey(key).done((function(pageIndex) { if (pageIndex < 0) { d.resolve(-1); return } if (pageIndex === dataController.pageIndex()) { dataController.reload().done((function() { if (that.isRowFocused(key) && dataController.getRowIndexByKey(key) >= 0) { d.resolve(that.getFocusedRowIndexByKey(key)) } else { that._navigateTo(key, d, needFocusRow) } })).fail(d.reject) } else { dataController.pageIndex(pageIndex).done((function() { that._navigateTo(key, d, needFocusRow) })).fail(d.reject) } })).fail(d.reject) } return d.promise() }, _navigateTo: function(key, deferred, needFocusRow) { var visibleRowIndex = this.getController("data").getRowIndexByKey(key); var isVirtualRowRenderingMode = _m_utils.default.isVirtualRowRendering(this); var isAutoNavigate = this.isAutoNavigateToFocusedRow(); if (isAutoNavigate && isVirtualRowRenderingMode && visibleRowIndex < 0) { this._navigateToVirtualRow(key, deferred, needFocusRow) } else { this._navigateToVisibleRow(key, deferred, needFocusRow) } }, _navigateToVisibleRow: function(key, deferred, needFocusRow) { if (needFocusRow) { this._triggerUpdateFocusedRow(key, deferred) } else { var focusedRowIndex = this.getFocusedRowIndexByKey(key); this.getView("rowsView").scrollToRowElement(key, deferred).done((function() { deferred.resolve(focusedRowIndex) })) } }, _navigateToVirtualRow: function(key, deferred, needFocusRow) { var _this2 = this; var dataController = this.getController("data"); var rowsScrollController = dataController._rowsScrollController; var rowIndex = _m_utils.default.getIndexByKey(key, dataController.items(true)); var scrollable = this.getView("rowsView").getScrollable(); if (rowsScrollController && scrollable && rowIndex >= 0) { var focusedRowIndex = rowIndex + dataController.getRowIndexOffset(true); var offset = rowsScrollController.getItemOffset(focusedRowIndex); this.component.on("contentReady", (function triggerUpdateFocusedRow() { if (dataController.totalCount() && !dataController.items().length) { return } _this2.component.off("contentReady", triggerUpdateFocusedRow); if (needFocusRow) { _this2._triggerUpdateFocusedRow(key, deferred) } else { deferred.resolve(focusedRowIndex) } })); this.getView("rowsView").scrollTopPosition(offset) } else { deferred.resolve(-1) } }, _triggerUpdateFocusedRow: function(key, deferred) { var _this3 = this; var dataController = this.getController("data"); var focusedRowIndex = this.getFocusedRowIndexByKey(key); if (this._isValidFocusedRowIndex(focusedRowIndex)) { var d; if (this.option("focusedRowEnabled")) { dataController.updateItems({ changeType: "updateFocusedRow", focusedRowKey: key }) } else { d = this.getView("rowsView").scrollToRowElement(key) }(0, _deferred.when)(d).done((function() { _this3.getController("keyboardNavigation").setFocusedRowIndex(focusedRowIndex); deferred && deferred.resolve(focusedRowIndex) })) } else { deferred && deferred.resolve(-1) } }, getFocusedRowIndexByKey: function(key) { var dataController = this.getController("data"); var loadedRowIndex = dataController.getRowIndexByKey(key, true); return loadedRowIndex >= 0 ? loadedRowIndex + dataController.getRowIndexOffset(true) : -1 }, _focusRowByKeyOrIndex: function() { var _this4 = this; var focusedRowKey = this.option("focusedRowKey"); var currentFocusedRowIndex = this.option("focusedRowIndex"); var keyboardController = this.getController("keyboardNavigation"); var dataController = this.getController("data"); if ((0, _type.isDefined)(focusedRowKey)) { var visibleRowIndex = dataController.getRowIndexByKey(focusedRowKey); if (visibleRowIndex >= 0) { if (keyboardController._isVirtualScrolling()) { currentFocusedRowIndex = visibleRowIndex + dataController.getRowIndexOffset() } keyboardController.setFocusedRowIndex(currentFocusedRowIndex); this._triggerUpdateFocusedRow(focusedRowKey) } else { this._navigateToRow(focusedRowKey, true).done((function(focusedRowIndex) { if (currentFocusedRowIndex >= 0 && focusedRowIndex < 0) { _this4._focusRowByIndex() } else if (currentFocusedRowIndex < 0 && focusedRowIndex >= 0) { keyboardController.setFocusedRowIndex(focusedRowIndex) } })) } } else if (currentFocusedRowIndex >= 0) { this.getController("focus")._focusRowByIndex(currentFocusedRowIndex) } }, isRowFocused: function(key) { var focusedRowKey = this.option("focusedRowKey"); if ((0, _type.isDefined)(focusedRowKey)) { return (0, _common.equalByValue)(key, this.option("focusedRowKey")) } return }, updateFocusedRow: function(_ref) { var focusedRowKey = _ref.focusedRowKey; var that = this; var focusedRowIndex = that._dataController.getRowIndexByKey(focusedRowKey); var rowsView = that.getView("rowsView"); var $tableElement; var $mainRow; (0, _iterator.each)(rowsView.getTableElements(), (function(index, element) { var isMainTable = 0 === index; $tableElement = (0, _renderer.default)(element); that._clearPreviousFocusedRow($tableElement, focusedRowIndex); var $row = that._prepareFocusedRow({ changedItem: that._dataController.getVisibleRows()[focusedRowIndex], $tableElement: $tableElement, focusedRowIndex: focusedRowIndex }); if (isMainTable) { $mainRow = $row } })); $mainRow && rowsView.scrollToElementVertically($mainRow) }, _clearPreviousFocusedRow: function($tableElement, focusedRowIndex) { var _this5 = this; var $prevRowFocusedElement = $tableElement.find(FOCUSED_ROW_SELECTOR).filter((function(_, focusedRow) { var $focusedRowTable = (0, _renderer.default)(focusedRow).closest(".".concat(_this5.addWidgetPrefix("table"))); return $tableElement.is($focusedRowTable) })); $prevRowFocusedElement.removeClass("dx-row-focused").removeClass("dx-cell-focus-disabled").removeAttr("tabindex"); $prevRowFocusedElement.children("td").removeAttr("tabindex"); if (0 !== focusedRowIndex) { var $firstRow = (0, _renderer.default)(this.getView("rowsView").getRowElement(0)); $firstRow.removeClass("dx-cell-focus-disabled").removeAttr("tabIndex") } }, _prepareFocusedRow: function(options) { var $row; var changedItem = options.changedItem; if (changedItem && ("data" === changedItem.rowType || "group" === changedItem.rowType)) { var focusedRowIndex = options.focusedRowIndex; var $tableElement = options.$tableElement; var tabIndex = this.option("tabindex") || 0; var rowsView = this.getView("rowsView"); $row = (0, _renderer.default)(rowsView._getRowElements($tableElement).eq(focusedRowIndex)); $row.addClass("dx-row-focused").attr("tabindex", tabIndex) } return $row } }, members)); var members; var focusModule = { defaultOptions: function() { return { focusedRowEnabled: false, autoNavigateToFocusedRow: true, focusedRowKey: null, focusedRowIndex: -1, focusedColumnIndex: -1 } }, controllers: { focus: FocusController }, extenders: { controllers: { keyboardNavigation: { init: function() { var rowIndex = this.option("focusedRowIndex"); var columnIndex = this.option("focusedColumnIndex"); this.createAction("onFocusedRowChanging", { excludeValidators: ["disabled", "readOnly"] }); this.createAction("onFocusedRowChanged", { excludeValidators: ["disabled", "readOnly"] }); this.createAction("onFocusedCellChanging", { excludeValidators: ["disabled", "readOnly"] }); this.createAction("onFocusedCellChanged", { excludeValidators: ["disabled", "readOnly"] }); this.callBase(); this.setRowFocusType(); this._focusedCellPosition = {}; if ((0, _type.isDefined)(rowIndex) && rowIndex >= 0) { this._focusedCellPosition.rowIndex = rowIndex } if ((0, _type.isDefined)(columnIndex) && columnIndex >= 0) { this._focusedCellPosition.columnIndex = columnIndex } }, setFocusedRowIndex: function(rowIndex) { this.callBase(rowIndex); this.option("focusedRowIndex", rowIndex) }, setFocusedColumnIndex: function(columnIndex) { this.callBase(columnIndex); this.option("focusedColumnIndex", columnIndex) }, _escapeKeyHandler: function(eventArgs, isEditing) { if (isEditing || !this.option("focusedRowEnabled")) { this.callBase(eventArgs, isEditing); return } if (this.isCellFocusType()) { this.setRowFocusType(); this._focus(this._getCellElementFromTarget(eventArgs.originalEvent.target), true) } }, _updateFocusedCellPosition: function($cell, direction) { var position = this.callBase($cell, direction); if (position && position.columnIndex >= 0) { this._fireFocusedCellChanged($cell) } } }, editorFactory: { renderFocusOverlay: function($element, isHideBorder) { var keyboardController = this.getController("keyboardNavigation"); var focusedRowEnabled = this.option("focusedRowEnabled"); var editingController = this.getController("editing"); var $cell; if (!focusedRowEnabled || !(null === keyboardController || void 0 === keyboardController ? void 0 : keyboardController.isRowFocusType()) || editingController.isEditing()) { this.callBase($element, isHideBorder) } else if (focusedRowEnabled) { var isRowElement = "row" === keyboardController._getElementType($element); if (isRowElement && !$element.hasClass("dx-row-focused")) { $cell = keyboardController.getFirstValidCellInRow($element); keyboardController.focus($cell) } } } }, columns: { getSortDataSourceParameters: function(_, sortByKey) { var _this6 = this; var result = this.callBase.apply(this, arguments); var dataController = this.getController("data"); var dataSource = dataController._dataSource; var store = dataController.store(); var key = store && store.key(); var remoteOperations = dataSource && dataSource.remoteOperations() || {}; var isLocalOperations = Object.keys(remoteOperations).every((function(operationName) { return !remoteOperations[operationName] })); if (key && (this.option("focusedRowEnabled") && false !== this.getController("focus").isAutoNavigateToFocusedRow() || sortByKey)) { key = Array.isArray(key) ? key : [key]; var notSortedKeys = key.filter((function(key) { return !_this6.columnOption(key, "sortOrder") })); if (notSortedKeys.length) { result = result || []; if (isLocalOperations) { result.push({ selector: dataSource.getDataIndexGetter(), desc: false }) } else { notSortedKeys.forEach((function(notSortedKey) { return result.push({ selector: notSortedKey, desc: false }) })) } } } return result } }, data: { _applyChange: function(change) { if (change && "updateFocusedRow" === change.changeType) { return } return this.callBase.apply(this, arguments) }, _fireChanged: function(e) { this.callBase(e); if (this.option("focusedRowEnabled") && this._dataSource) { var isPartialUpdate = "update" === e.changeType && e.repaintChangesOnly; var isPartialUpdateWithDeleting = isPartialUpdate && e.changeTypes && e.changeTypes.indexOf("remove") >= 0; if ("refresh" === e.changeType && e.items.length || isPartialUpdateWithDeleting) { this._updatePageIndexes(); this._updateFocusedRow(e) } else if ("append" === e.changeType || "prepend" === e.changeType) { this._updatePageIndexes() } else if ("update" === e.changeType && e.repaintChangesOnly) { this._updateFocusedRow(e) } } }, _updatePageIndexes: function() { var prevRenderingPageIndex = this._lastRenderingPageIndex || 0; var renderingPageIndex = this._rowsScrollController ? this._rowsScrollController.pageIndex() : 0; this._lastRenderingPageIndex = renderingPageIndex; this._isPagingByRendering = renderingPageIndex !== prevRenderingPageIndex }, isPagingByRendering: function() { return this._isPagingByRendering }, _updateFocusedRow: function(e) { var operationTypes = e.operationTypes || {}; var focusController = this.getController("focus"); var reload = operationTypes.reload, fullReload = operationTypes.fullReload, pageIndex = operationTypes.pageIndex, paging = operationTypes.paging; var keyboardController = this.getController("keyboardNavigation"); var isVirtualScrolling = keyboardController._isVirtualScrolling(); var pagingWithoutVirtualScrolling = paging && !isVirtualScrolling; var focusedRowKey = this.option("focusedRowKey"); var isAutoNavigate = focusController.isAutoNavigateToFocusedRow(); var isReload = reload && false === pageIndex; if (isReload && !fullReload && (0, _type.isDefined)(focusedRowKey)) { focusController._navigateToRow(focusedRowKey, true).done((function(focusedRowIndex) { if (focusedRowIndex < 0) { focusController._focusRowByIndex(void 0, operationTypes) } })) } else if (pagingWithoutVirtualScrolling && isAutoNavigate) { var rowIndexByKey = this.getRowIndexByKey(focusedRowKey); var focusedRowIndex = this.option("focusedRowIndex"); var isValidRowIndexByKey = rowIndexByKey >= 0; var isValidFocusedRowIndex = focusedRowIndex >= 0; var isSameRowIndex = focusedRowIndex === rowIndexByKey; if (isValidFocusedRowIndex && (isSameRowIndex || !isValidRowIndexByKey)) { focusController._focusRowByIndex(focusedRowIndex, operationTypes) } } else if (pagingWithoutVirtualScrolling && !isAutoNavigate && this.getRowIndexByKey(focusedRowKey) < 0) { this.option("focusedRowIndex", -1) } else if (operationTypes.fullReload) { focusController._focusRowByKeyOrIndex() } }, getPageIndexByKey: function(key) { var that = this; var d = new _deferred.Deferred; that.getGlobalRowIndexByKey(key).done((function(globalIndex) { d.resolve(globalIndex >= 0 ? Math.floor(globalIndex / that.pageSize()) : -1) })).fail(d.reject); return d.promise() }, getGlobalRowIndexByKey: function(key) { if (this._dataSource.group()) { return this._calculateGlobalRowIndexByGroupedData(key) } return this._calculateGlobalRowIndexByFlatData(key) }, _calculateGlobalRowIndexByFlatData: function(key, groupFilter, useGroup) { var that = this; var deferred = new _deferred.Deferred; var dataSource = that._dataSource; if (Array.isArray(key)) { return deferred.resolve(-1).promise() } var filter = that._generateFilterByKey(key); dataSource.load({ filter: that._concatWithCombinedFilter(filter), skip: 0, take: 1 }).done((function(data) { if (data.length > 0) { filter = that._generateOperationFilterByKey(key, data[0], useGroup); dataSource.load({ filter: that._concatWithCombinedFilter(filter, groupFilter), skip: 0, take: 1, requireTotalCount: true }).done((function(_, extra) { deferred.resolve(extra.totalCount) })) } else { deferred.resolve(-1) } })); return deferred.promise() }, _concatWithCombinedFilter: function(filter, groupFilter) { var combinedFilter = this.getCombinedFilter(); return _m_utils.default.combineFilters([filter, combinedFilter, groupFilter]) }, _generateBooleanFilter: function(selector, value, sortInfo) { var desc = sortInfo.desc; switch (true) { case false === value && desc: return [selector, "=", true]; case false === value && !desc: return [selector, "=", null]; case true === value && !desc: case !(0, _type.isBoolean)(value) && desc: return [selector, "<>", value]; default: return } }, _generateOperationFilterByKey: function(key, rowData, useGroup) { var that = this; var dateSerializationFormat = that.option("dateSerializationFormat"); var isRemoteFiltering = that._dataSource.remoteOperations().filtering; var filter = that._generateFilterByKey(key, "<"); var sort = that._columnsController.getSortDataSourceParameters(!isRemoteFiltering, true); if (useGroup) { var group = that._columnsController.getGroupDataSourceParameters(!isRemoteFiltering); if (group) { sort = sort ? group.concat(sort) : group } } if (sort) { sort.slice().reverse().forEach((function(sortInfo) { var selector = sortInfo.selector, desc = sortInfo.desc, compare = sortInfo.compare; var _UiGridCoreFocusUtils = _m_focus_utils.UiGridCoreFocusUtils.getSortFilterValue(sortInfo, rowData, { isRemoteFiltering: isRemoteFiltering, dateSerializationFormat: dateSerializationFormat, getSelector: function(selector) { return that._columnsController.columnOption(selector, "selector") } }), getter = _UiGridCoreFocusUtils.getter, rawValue = _UiGridCoreFocusUtils.rawValue, safeValue = _UiGridCoreFocusUtils.safeValue; filter = [ [selector, "=", safeValue], "and", filter ]; if (null === rawValue || (0, _type.isBoolean)(rawValue)) { var booleanFilter = that._generateBooleanFilter(selector, safeValue, desc); if (booleanFilter) { filter = [booleanFilter, "or", filter] } } else { var filterOperation = desc ? ">" : "<"; var sortFilter; if (compare) { sortFilter = function(data) { if ("<" === filterOperation) { return compare(rawValue, getter(data)) >= 1 } return compare(rawValue, getter(data)) <= -1 } } else { sortFilter = [selector, filterOperation, safeValue]; if (!desc) { sortFilter = [sortFilter, "or", [selector, "=", null]] } } filter = [sortFilter, "or", filter] } })) } return filter }, _generateFilterByKey: function(key, operation) { var dataSourceKey = this._dataSource.key(); var filter = []; if (!operation) { operation = "=" } if (Array.isArray(dataSourceKey)) { for (var i = 0; i < dataSourceKey.length; ++i) { var keyPart = key[dataSourceKey[i]]; if (keyPart) { if (filter.length > 0) { filter.push("and") } filter.push([dataSourceKey[i], operation, keyPart]) } } } else { filter = [dataSourceKey, operation, key] } return filter }, _getLastItemIndex: function() { return this.items(true).length - 1 } }, editing: { _deleteRowCore: function(rowIndex) { var _this7 = this; var deferred = this.callBase.apply(this, arguments); var dataController = this.getController("data"); var rowKey = dataController.getKeyByRowIndex(rowIndex); deferred.done((function() { var rowIndex = dataController.getRowIndexByKey(rowKey); var visibleRows = dataController.getVisibleRows(); if (-1 === rowIndex && !visibleRows.length) { _this7.getController("focus")._resetFocusedRow() } })) } } }, views: { rowsView: { _createRow: function(row) { var $row = this.callBase.apply(this, arguments); if (this.option("focusedRowEnabled") && row) { if (this.getController("focus").isRowFocused(row.key)) { $row.addClass("dx-row-focused") } } return $row }, _checkRowKeys: function(options) { this.callBase.apply(this, arguments); if (this.option("focusedRowEnabled") && this.option("dataSource")) { var store = this._dataController.store(); if (store && !store.key()) { this._dataController.fireError("E1042", "Row focusing") } } }, _update: function(change) { if ("updateFocusedRow" === change.changeType) { if (this.option("focusedRowEnabled")) { this.getController("focus").updateFocusedRow(change) } } else { this.callBase(change) } }, updateFocusElementTabIndex: function($cellElements, preventScroll) { if (this.option("focusedRowEnabled")) { this._setFocusedRowElementTabIndex(preventScroll) } else { this.callBase($cellElements) } }, _setFocusedRowElementTabIndex: function(preventScroll) { var _this8 = this; var focusedRowKey = this.option("focusedRowKey"); var tabIndex = this.option("tabIndex") || 0; var dataController = this._dataController; var columnsController = this._columnsController; var rowIndex = dataController.getRowIndexByKey(focusedRowKey); var columnIndex = this.option("focusedColumnIndex"); var $row = this._findRowElementForTabIndex(); if (!(0, _type.isDefined)(this._scrollToFocusOnResize)) { this._scrollToFocusOnResize = function() { _this8.scrollToElementVertically(_this8._findRowElementForTabIndex()); _this8.resizeCompleted.remove(_this8._scrollToFocusOnResize) } } $row.attr("tabIndex", tabIndex); if (rowIndex >= 0 && !preventScroll) { if (columnIndex < 0) { columnIndex = 0 } rowIndex += dataController.getRowIndexOffset(); columnIndex += columnsController.getColumnIndexOffset(); this.getController("keyboardNavigation").setFocusedCellPosition(rowIndex, columnIndex); if (this.getController("focus").isAutoNavigateToFocusedRow()) { var dataSource = dataController.dataSource(); var operationTypes = dataSource && dataSource.operationTypes(); if (operationTypes && !operationTypes.paging && !dataController.isPagingByRendering()) { this.resizeCompleted.remove(this._scrollToFocusOnResize); this.resizeCompleted.add(this._scrollToFocusOnResize) } } } }, _findRowElementForTabIndex: function() { var focusedRowKey = this.option("focusedRowKey"); var rowIndex = this._dataController.getRowIndexByKey(focusedRowKey); return (0, _renderer.default)(this.getRowElement(rowIndex >= 0 ? rowIndex : 0)) }, scrollToRowElement: function(key) { var rowIndex = this.getController("data").getRowIndexByKey(key); var $row = (0, _renderer.default)(this.getRow(rowIndex)); return this.scrollToElementVertically($row) }, scrollToElementVertically: function($row) { var scrollable = this.getScrollable(); if (scrollable && $row.length) { var position = scrollable.getScrollElementPosition($row, "vertical"); return this.scrollTopPosition(position) } return (new _deferred.Deferred).resolve() }, scrollTopPosition: function(scrollTop) { var d = new _deferred.Deferred; var scrollable = this.getScrollable(); if (scrollable) { var currentScrollTop = scrollable.scrollTop(); if (scrollTop !== currentScrollTop) { scrollable.on("scroll", (function scrollHandler() { scrollable.off("scroll", scrollHandler); d.resolve() })); this._dataController.resetFilterApplying(); scrollable.scrollTo({ top: scrollTop }); return d.promise() } } return d.resolve() } } } } }; exports.focusModule = focusModule }, 32710: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/focus/m_focus_utils.js ***! \***********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.UiGridCoreFocusUtils = void 0; var _date_serialization = (obj = __webpack_require__( /*! ../../../../core/utils/date_serialization */ 69434), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var UiGridCoreFocusUtils = { getSortFilterValue: function(sortInfo, rowData, _ref) { var isRemoteFiltering = _ref.isRemoteFiltering, dateSerializationFormat = _ref.dateSerializationFormat, getSelector = _ref.getSelector; var selector = sortInfo.selector; var getter = (0, _type.isFunction)(selector) ? selector : getSelector(selector); var rawValue = getter ? getter(rowData) : rowData[selector]; var safeValue = isRemoteFiltering && (0, _type.isDate)(rawValue) ? _date_serialization.default.serializeDate(rawValue, dateSerializationFormat) : rawValue; return { getter: getter, rawValue: rawValue, safeValue: safeValue } } }; exports.UiGridCoreFocusUtils = UiGridCoreFocusUtils }, 68796: /*!*********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/header_filter/m_header_filter.js ***! \*********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.headerFilterModule = void 0; exports.invertFilterExpression = function(filter) { return ["!", filter] }; var _data = __webpack_require__( /*! ../../../../core/utils/data */ 47617); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _position = __webpack_require__( /*! ../../../../core/utils/position */ 37518); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _utils = __webpack_require__( /*! ../../../../data/data_source/utils */ 9234); var _query = _interopRequireDefault(__webpack_require__( /*! ../../../../data/query */ 96687)); var _store_helper = _interopRequireDefault(__webpack_require__( /*! ../../../../data/store_helper */ 99236)); var _click = __webpack_require__( /*! ../../../../events/click */ 95429); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/date */ 91500)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _accessibility = __webpack_require__( /*! ../../../../ui/shared/accessibility */ 56756); var _filtering = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/shared/filtering */ 18740)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); var _m_header_filter_core = __webpack_require__( /*! ./m_header_filter_core */ 37565); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var DATE_INTERVAL_FORMATS = { month: function(value) { return _date.default.getMonthNames()[value - 1] }, quarter: function(value) { return _date.default.format(new Date(2e3, 3 * value - 1), "quarter") } }; function convertDataFromUTCToLocal(data, column) { var dates = function ungroupUTCDates(items, dateParts, dates) { dateParts = dateParts || []; dates = dates || []; items.forEach((function(item) { if ((0, _type.isDefined)(item.key)) { var isMonthPart = 1 === dateParts.length; dateParts.push(isMonthPart ? item.key - 1 : item.key); if (item.items) { ungroupUTCDates(item.items, dateParts, dates) } else { var date = new Date(Date.UTC.apply(Date, dateParts)); dates.push(date) } dateParts.pop() } else { dates.push(null) } })); return dates }(data); var query = (0, _query.default)(dates); var group = _m_utils.default.getHeaderFilterGroupParameters(_extends(_extends({}, column), { calculateCellValue: function(date) { return date } })); return _store_helper.default.queryByOptions(query, { group: group }).toArray() } var HeaderFilterController = _m_modules.default.ViewController.inherit({ init: function() { this._columnsController = this.getController("columns"); this._dataController = this.getController("data"); this._headerFilterView = this.getView("headerFilterView") }, _updateSelectedState: function(items, column) { var i = items.length; var isExclude = "exclude" === column.filterType; while (i--) { var item = items[i]; if ("items" in items[i]) { this._updateSelectedState(items[i].items, column) }(0, _m_header_filter_core.updateHeaderFilterItemSelectionState)(item, _m_utils.default.getIndexByKey(items[i].value, column.filterValues, null) > -1, isExclude) } }, _normalizeGroupItem: function(item, currentLevel, options) { var value; var displayValue; var path = options.path; var valueSelector = options.valueSelector; var displaySelector = options.displaySelector; var column = options.column; if (valueSelector && displaySelector) { value = valueSelector(item); displayValue = displaySelector(item) } else { value = item.key; displayValue = value } if (!(0, _type.isObject)(item)) { item = {} } else { item = (0, _extend.extend)({}, item) } path.push(value); if (1 === path.length) { item.value = path[0] } else { item.value = path.join("/") } item.text = this.getHeaderItemText(displayValue, column, currentLevel, options.headerFilterOptions); return item }, getHeaderItemText: function(displayValue, column, currentLevel, headerFilterOptions) { var text = _m_utils.default.formatValue(displayValue, function(value, column, currentLevel) { var groupInterval = _filtering.default.getGroupInterval(column); var result = _m_utils.default.getFormatOptionsByColumn(column, "headerFilter"); if (groupInterval) { result.groupInterval = groupInterval[currentLevel]; if (_m_utils.default.isDateType(column.dataType)) { result.format = DATE_INTERVAL_FORMATS[groupInterval[currentLevel]] } else if ("number" === column.dataType) { result.getDisplayFormat = function() { var formatOptions = { format: column.format, target: "headerFilter" }; var firstValueText = _m_utils.default.formatValue(value, formatOptions); var secondValue = value + groupInterval[currentLevel]; var secondValueText = _m_utils.default.formatValue(secondValue, formatOptions); return firstValueText && secondValueText ? "".concat(firstValueText, " - ").concat(secondValueText) : "" } } } return result }(displayValue, column, currentLevel)); if (!text) { text = headerFilterOptions.texts.emptyValue } return text }, _processGroupItems: function(groupItems, currentLevel, path, options) { var displaySelector; var valueSelector; var column = options.column; var lookup = column.lookup; var level = options.level; path = path || []; currentLevel = currentLevel || 0; if (lookup) { displaySelector = (0, _data.compileGetter)(lookup.displayExpr); valueSelector = (0, _data.compileGetter)(lookup.valueExpr) } for (var i = 0; i < groupItems.length; i++) { groupItems[i] = this._normalizeGroupItem(groupItems[i], currentLevel, { column: options.column, headerFilterOptions: options.headerFilterOptions, displaySelector: displaySelector, valueSelector: valueSelector, path: path }); if ("items" in groupItems[i]) { if (currentLevel === level || !(0, _type.isDefined)(groupItems[i].value)) { delete groupItems[i].items } else { this._processGroupItems(groupItems[i].items, currentLevel + 1, path, options) } } path.pop() } }, getDataSource: function(column) { var _a; var dataSource = this._dataController.dataSource(); var remoteGrouping = null === dataSource || void 0 === dataSource ? void 0 : dataSource.remoteOperations().grouping; var group = _m_utils.default.getHeaderFilterGroupParameters(column, remoteGrouping); var headerFilterDataSource = null === (_a = column.headerFilter) || void 0 === _a ? void 0 : _a.dataSource; var headerFilterOptions = this.option("headerFilter"); var isLookup = false; var options = { component: this.component }; if (!dataSource) { return } if ((0, _type.isDefined)(headerFilterDataSource) && !(0, _type.isFunction)(headerFilterDataSource)) { options.dataSource = (0, _utils.normalizeDataSourceOptions)(headerFilterDataSource) } else if (column.lookup) { isLookup = true; if (this.option("syncLookupFilterValues")) { this._currentColumn = column; var filter = this._dataController.getCombinedFilter(); this._currentColumn = null; options.dataSource = _m_utils.default.getWrappedLookupDataSource(column, dataSource, filter) } else { options.dataSource = _m_utils.default.normalizeLookupDataSource(column.lookup) } } else { var cutoffLevel = Array.isArray(group) ? group.length - 1 : 0; this._currentColumn = column; var _filter = this._dataController.getCombinedFilter(); this._currentColumn = null; options.dataSource = { filter: _filter, group: group, useDefaultSearch: true, load: function(options) { var d = new _deferred.Deferred; options.dataField = column.dataField || column.name; dataSource.load(options).done((function(data) { var convertUTCDates = remoteGrouping && (format = column.serializationFormat, "Z" === (null === format || void 0 === format ? void 0 : format.slice(-1)) || "'Z'" === (null === format || void 0 === format ? void 0 : format.slice(-3))) && cutoffLevel > 3; var format; if (convertUTCDates) { data = convertDataFromUTCToLocal(data, column) } that._processGroupItems(data, null, null, { level: cutoffLevel, column: column, headerFilterOptions: headerFilterOptions }); d.resolve(data) })).fail(d.reject); return d } } } if ((0, _type.isFunction)(headerFilterDataSource)) { headerFilterDataSource.call(column, options) } var origPostProcess = options.dataSource.postProcess; var that = this; options.dataSource.postProcess = function(data) { var items = data; if (isLookup) { items = items.filter((function(item) { return null !== item[column.lookup.valueExpr] })); if (0 === this.pageIndex() && !this.searchValue()) { items = items.slice(0); items.unshift(null) } that._processGroupItems(items, null, null, { level: 0, column: column, headerFilterOptions: headerFilterOptions }) } items = origPostProcess && origPostProcess.call(this, items) || items; that._updateSelectedState(items, column); return items }; return options.dataSource }, getCurrentColumn: function() { return this._currentColumn }, showHeaderFilterMenu: function(columnIndex, isGroupPanel) { var columnsController = this._columnsController; var column = (0, _extend.extend)(true, {}, this._columnsController.getColumns()[columnIndex]); if (column) { var visibleIndex = columnsController.getVisibleIndex(columnIndex); var view = isGroupPanel ? this.getView("headerPanel") : this.getView("columnHeadersView"); var $columnElement = $columnElement || view.getColumnElements().eq(isGroupPanel ? column.groupIndex : visibleIndex); this.showHeaderFilterMenuBase({ columnElement: $columnElement, column: column, applyFilter: true, apply: function() { columnsController.columnOption(columnIndex, { filterValues: this.filterValues, filterType: this.filterType }) } }) } }, showHeaderFilterMenuBase: function(options) { var _this = this; var that = this; var column = options.column; if (column) { var groupInterval = _filtering.default.getGroupInterval(column); var dataSource = that._dataController.dataSource(); var remoteFiltering = dataSource && dataSource.remoteOperations().filtering; (0, _extend.extend)(options, column, { type: groupInterval && groupInterval.length > 1 ? "tree" : "list", remoteFiltering: remoteFiltering, onShowing: function(e) { var dxResizableInstance = e.component.$overlayContent().dxResizable("instance"); dxResizableInstance && dxResizableInstance.option("onResizeEnd", (function(e) { var columnsController = that.getController("columns"); var headerFilterByColumn = columnsController.columnOption(options.dataField, "headerFilter"); headerFilterByColumn = headerFilterByColumn || {}; headerFilterByColumn.width = e.width; headerFilterByColumn.height = e.height; columnsController.columnOption(options.dataField, "headerFilter", headerFilterByColumn, true) })) }, onHidden: function() { return (0, _accessibility.restoreFocus)(_this) } }); options.dataSource = that.getDataSource(options); if (options.isFilterBuilder) { options.dataSource.filter = null; options.alignment = "right" } that._headerFilterView.showHeaderFilterMenu(options.columnElement, options) } }, hideHeaderFilterMenu: function() { this._headerFilterView.hideHeaderFilterMenu() } }); var ColumnHeadersViewHeaderFilterExtender = (0, _extend.extend)({}, _m_header_filter_core.headerFilterMixin, { _renderCellContent: function($cell, options) { var that = this; var $headerFilterIndicator; var column = options.column; if (!column.command && (0, _m_header_filter_core.allowHeaderFiltering)(column) && that.option("headerFilter.visible") && "header" === options.rowType) { $headerFilterIndicator = that._applyColumnState({ name: "headerFilter", rootElement: $cell, column: column, showColumnLines: that.option("showColumnLines") }); $headerFilterIndicator && that._subscribeToIndicatorEvent($headerFilterIndicator, column, "headerFilter") } this.callBase.apply(this, arguments) }, _subscribeToIndicatorEvent: function($indicator, column, indicatorName) { var _this2 = this; if ("headerFilter" === indicatorName) { _events_engine.default.on($indicator, _click.name, this.createAction((function(e) { e.event.stopPropagation(); (0, _accessibility.saveFocusedElementInfo)($indicator, _this2); _this2.getController("headerFilter").showHeaderFilterMenu(column.index, false) }))) } }, _updateIndicator: function($cell, column, indicatorName) { var $indicator = this.callBase($cell, column, indicatorName); $indicator && this._subscribeToIndicatorEvent($indicator, column, indicatorName) }, _updateHeaderFilterIndicators: function() { if (this.option("headerFilter.visible")) { this._updateIndicators("headerFilter") } }, _needUpdateFilterIndicators: function() { return true }, _columnOptionChanged: function(e) { var optionNames = e.optionNames; if (_m_utils.default.checkChanges(optionNames, ["filterValues", "filterType"])) { if (this._needUpdateFilterIndicators()) { this._updateHeaderFilterIndicators() } return } this.callBase(e) } }); var HeaderPanelHeaderFilterExtender = (0, _extend.extend)({}, _m_header_filter_core.headerFilterMixin, { _createGroupPanelItem: function($rootElement, groupColumn) { var that = this; var $item = that.callBase.apply(that, arguments); var $headerFilterIndicator; if (!groupColumn.command && (0, _m_header_filter_core.allowHeaderFiltering)(groupColumn) && that.option("headerFilter.visible")) { $headerFilterIndicator = that._applyColumnState({ name: "headerFilter", rootElement: $item, column: { alignment: (0, _position.getDefaultAlignment)(that.option("rtlEnabled")), filterValues: groupColumn.filterValues, allowHeaderFiltering: true }, showColumnLines: true }); $headerFilterIndicator && _events_engine.default.on($headerFilterIndicator, _click.name, that.createAction((function(e) { var event = e.event; event.stopPropagation(); that.getController("headerFilter").showHeaderFilterMenu(groupColumn.index, true) }))) } return $item } }); var DataControllerFilterRowExtender = { skipCalculateColumnFilters: function() { return false }, _calculateAdditionalFilter: function() { if (this.skipCalculateColumnFilters()) { return this.callBase() } var filters = [this.callBase()]; var columns = this._columnsController.getVisibleColumns(null, true); var headerFilterController = this.getController("headerFilter"); var currentColumn = headerFilterController.getCurrentColumn(); (0, _iterator.each)(columns, (function(_, column) { var filter; if (currentColumn && currentColumn.index === column.index) { return } if ((0, _m_header_filter_core.allowHeaderFiltering)(column) && column.calculateFilterExpression && Array.isArray(column.filterValues) && column.filterValues.length) { var filterValues = []; (0, _iterator.each)(column.filterValues, (function(_, filterValue) { if (Array.isArray(filterValue)) { filter = filterValue } else { if (column.deserializeValue && !_m_utils.default.isDateType(column.dataType) && "number" !== column.dataType) { filterValue = column.deserializeValue(filterValue) } filter = column.createFilterExpression(filterValue, "=", "headerFilter") } if (filter) { filter.columnIndex = column.index } filterValues.push(filter) })); filterValues = _m_utils.default.combineFilters(filterValues, "or"); filters.push("exclude" === column.filterType ? ["!", filterValues] : filterValues) } })); return _m_utils.default.combineFilters(filters) } }; var headerFilterModule = { defaultOptions: function() { return { syncLookupFilterValues: true, headerFilter: { visible: false, width: 252, height: 325, allowSelectAll: true, search: { enabled: false, timeout: 500, mode: "contains", editorOptions: {} }, texts: { emptyValue: _message.default.format("dxDataGrid-headerFilterEmptyValue"), ok: _message.default.format("dxDataGrid-headerFilterOK"), cancel: _message.default.format("dxDataGrid-headerFilterCancel") } } } }, controllers: { headerFilter: HeaderFilterController }, views: { headerFilterView: _m_header_filter_core.HeaderFilterView }, extenders: { controllers: { data: DataControllerFilterRowExtender }, views: { columnHeadersView: ColumnHeadersViewHeaderFilterExtender, headerPanel: HeaderPanelHeaderFilterExtender } } }; exports.headerFilterModule = headerFilterModule }, 37565: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/header_filter/m_header_filter_core.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.headerFilterMixin = exports.allowHeaderFiltering = exports.HeaderFilterView = void 0; exports.updateHeaderFilterItemSelectionState = function(item, filterValuesMatch, isExcludeFilter) { if (filterValuesMatch ^ isExcludeFilter) { item.selected = true; if (isExcludeFilter && item.items) { for (var j = 0; j < item.items.length; j++) { if (!item.items[j].selected) { item.selected = void 0; break } } } } else if (isExcludeFilter || item.selected) { item.selected = false; ! function resetChildrenItemSelection(items) { items = items || []; for (var i = 0; i < items.length; i++) { items[i].selected = false; resetChildrenItemSelection(items[i].items) } }(item.items) } }; __webpack_require__( /*! ../../../../ui/list/modules/search */ 68724); __webpack_require__( /*! ../../../../ui/list/modules/selection */ 20551); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _list_light = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/list_light */ 56757)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/popup/ui.popup */ 51495)); var _tree_view = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/tree_view */ 30254)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function getSelectAllCheckBox(listComponent) { var selector = "dxTreeView" === listComponent.NAME ? ".dx-treeview-select-all-item" : ".dx-list-select-all-checkbox"; return listComponent.$element().find(selector).dxCheckBox("instance") } function updateListSelectAllState(e, filterValues) { if (e.component.option("searchValue")) { return } var selectAllCheckBox = getSelectAllCheckBox(e.component); if (selectAllCheckBox && filterValues && filterValues.length) { selectAllCheckBox.option("value", void 0) } } var HeaderFilterView = _m_modules.default.View.inherit({ getPopupContainer: function() { return this._popupContainer }, getListComponent: function() { return this._listComponent }, applyHeaderFilter: function(options) { var list = this.getListComponent(); var searchValue = list.option("searchValue"); var selectAllCheckBox = getSelectAllCheckBox(list); var isAllSelected = !searchValue && !options.isFilterBuilder && (null === selectAllCheckBox || void 0 === selectAllCheckBox ? void 0 : selectAllCheckBox.option("value")); var filterValues = []; if (!isAllSelected) { if ("tree" === options.type) { if (options.filterType) { options.filterType = "include" }! function fillSelectedItemKeys(filterValues, items, isExclude) { (0, _iterator.each)(items, (function(_, item) { if (void 0 !== item.selected && !!item.selected ^ isExclude) { var node = list._getNode(item); var hasChildren = list._hasChildren(node); var hasChildrenWithSelection = hasChildren && item.items && item.items.some((function(item) { return item.selected })); if (!searchValue || !hasChildrenWithSelection) { filterValues.push(item.value); return } } if (item.items && item.items.length) { fillSelectedItemKeys(filterValues, item.items, isExclude) } })) }(filterValues, list.option("items"), false); options.filterValues = filterValues } } else { if ("tree" === options.type) { options.filterType = "exclude" } if (Array.isArray(options.filterValues)) { options.filterValues = [] } } if (options.filterValues && !options.filterValues.length) { options.filterValues = null } options.apply(); this.hideHeaderFilterMenu() }, showHeaderFilterMenu: function($columnElement, options) { if (options) { this._initializePopupContainer(options); var popupContainer = this.getPopupContainer(); this.hideHeaderFilterMenu(); this.updatePopup($columnElement, options); popupContainer.show() } }, hideHeaderFilterMenu: function() { var headerFilterMenu = this.getPopupContainer(); headerFilterMenu && headerFilterMenu.hide() }, updatePopup: function($element, options) { var showColumnLines = this.option("showColumnLines"); var alignment = "right" === options.alignment ^ !showColumnLines ? "left" : "right"; this._popupContainer.setAria({ role: "dialog", label: _message.default.format("dxDataGrid-headerFilterLabel") }); if (this._popupContainer) { this._cleanPopupContent(); this._popupContainer.option("position", { my: "".concat(alignment, " top"), at: "".concat(alignment, " bottom"), of: $element, collision: "fit fit" }) } }, _getSearchExpr: function(options, headerFilterOptions) { var lookup = options.lookup; var useDefaultSearchExpr = options.useDefaultSearchExpr; var headerFilterDataSource = headerFilterOptions.dataSource; var filterSearchExpr = headerFilterOptions.search.searchExpr; if (filterSearchExpr) { return filterSearchExpr } if (useDefaultSearchExpr || (0, _type.isDefined)(headerFilterDataSource) && !(0, _type.isFunction)(headerFilterDataSource)) { return "text" } if (lookup) { return lookup.displayExpr || "this" } if (options.dataSource) { var group = options.dataSource.group; if (Array.isArray(group) && group.length > 0) { return group[0].selector } if ((0, _type.isFunction)(group) && !options.remoteFiltering) { return group } } return options.dataField || options.selector }, _cleanPopupContent: function() { this._popupContainer && this._popupContainer.$content().empty() }, _initializePopupContainer: function(options) { var that = this; var $element = that.element(); var headerFilterOptions = this._normalizeHeaderFilterOptions(options); var height = headerFilterOptions.height, width = headerFilterOptions.width; var dxPopupOptions = { width: width, height: height, visible: false, shading: false, showTitle: false, showCloseButton: false, hideOnParentScroll: false, dragEnabled: false, hideOnOutsideClick: true, wrapperAttr: { class: "dx-header-filter-menu" }, focusStateEnabled: false, toolbarItems: [{ toolbar: "bottom", location: "after", widget: "dxButton", options: { text: headerFilterOptions.texts.ok, onClick: function() { that.applyHeaderFilter(options) } } }, { toolbar: "bottom", location: "after", widget: "dxButton", options: { text: headerFilterOptions.texts.cancel, onClick: function() { that.hideHeaderFilterMenu() } } }], resizeEnabled: true, onShowing: function(e) { e.component.$content().parent().addClass("dx-dropdowneditor-overlay"); that._initializeListContainer(options, headerFilterOptions); options.onShowing && options.onShowing(e) }, onShown: function() { that.getListComponent().focus() }, onHidden: options.onHidden, onInitialized: function(e) { var component = e.component; component.option("animation", component._getDefaultOptions().animation) } }; if (!(0, _type.isDefined)(that._popupContainer)) { that._popupContainer = that._createComponent($element, _ui.default, dxPopupOptions) } else { that._popupContainer.option(dxPopupOptions) } }, _initializeListContainer: function(options, headerFilterOptions) { var that = this; var $content = that._popupContainer.$content(); var needShowSelectAllCheckbox = !options.isFilterBuilder && headerFilterOptions.allowSelectAll; var widgetOptions = { searchEnabled: headerFilterOptions.search.enabled, searchTimeout: headerFilterOptions.search.timeout, searchEditorOptions: headerFilterOptions.search.editorOptions, searchMode: headerFilterOptions.search.mode || "", dataSource: options.dataSource, onContentReady: function() { that.renderCompleted.fire() }, itemTemplate: function(data, _, element) { var $element = (0, _renderer.default)(element); if (options.encodeHtml) { return $element.text(data.text) } return $element.html(data.text) } }; function onOptionChanged(e) { if ("searchValue" === e.fullName && needShowSelectAllCheckbox && false !== that.option("headerFilter.hideSelectAllOnSearch")) { if ("tree" === options.type) { e.component.option("showCheckBoxesMode", e.value ? "normal" : "selectAll") } else { e.component.option("selectionMode", e.value ? "multiple" : "all") } } } if ("tree" === options.type) { that._listComponent = that._createComponent((0, _renderer.default)("
").appendTo($content), _tree_view.default, (0, _extend.extend)(widgetOptions, { showCheckBoxesMode: needShowSelectAllCheckbox ? "selectAll" : "normal", onOptionChanged: onOptionChanged, keyExpr: "id" })) } else { that._listComponent = that._createComponent((0, _renderer.default)("
").appendTo($content), _list_light.default, (0, _extend.extend)(widgetOptions, { searchExpr: that._getSearchExpr(options, headerFilterOptions), pageLoadMode: "scrollBottom", showSelectionControls: true, selectionMode: needShowSelectAllCheckbox ? "all" : "multiple", onOptionChanged: onOptionChanged, onSelectionChanged: function(e) { var items = e.component.option("items"); var selectedItems = e.component.option("selectedItems"); if (!e.component._selectedItemsUpdating && !e.component.option("searchValue") && !options.isFilterBuilder) { var filterValues = options.filterValues || []; var isExclude = "exclude" === options.filterType; if (0 === selectedItems.length && items.length && (filterValues.length <= 1 || isExclude && filterValues.length === items.length - 1)) { options.filterType = "include"; options.filterValues = [] } else if (selectedItems.length === items.length) { options.filterType = "exclude"; options.filterValues = [] } }(0, _iterator.each)(items, (function(index, item) { var selected = _m_utils.default.getIndexByKey(item, selectedItems, null) >= 0; var oldSelected = !!item.selected; if (oldSelected !== selected) { item.selected = selected; options.filterValues = options.filterValues || []; var filterValueIndex = _m_utils.default.getIndexByKey(item.value, options.filterValues, null); if (filterValueIndex >= 0) { options.filterValues.splice(filterValueIndex, 1) } var isExcludeFilterType = "exclude" === options.filterType; if (selected ^ isExcludeFilterType) { options.filterValues.push(item.value) } } })); updateListSelectAllState(e, options.filterValues) }, onContentReady: function(e) { var component = e.component; var items = component.option("items"); var selectedItems = []; (0, _iterator.each)(items, (function() { if (this.selected) { selectedItems.push(this) } })); component._selectedItemsUpdating = true; component.option("selectedItems", selectedItems); component._selectedItemsUpdating = false; updateListSelectAllState(e, options.filterValues) } })) } }, _normalizeHeaderFilterOptions: function(options) { var generalHeaderFilter = this.option("headerFilter") || {}; var specificHeaderFilter = options.headerFilter || {}; var generalDeprecated = { search: { enabled: generalHeaderFilter.allowSearch, timeout: generalHeaderFilter.searchTimeout } }; var specificDeprecated = { search: { enabled: specificHeaderFilter.allowSearch, mode: specificHeaderFilter.searchMode, timeout: specificHeaderFilter.searchTimeout } }; return (0, _extend.extend)(true, {}, generalHeaderFilter, generalDeprecated, specificHeaderFilter, specificDeprecated) }, _renderCore: function() { this.element().addClass("dx-header-filter-menu") } }); exports.HeaderFilterView = HeaderFilterView; var allowHeaderFiltering = function(column) { return (0, _type.isDefined)(column.allowHeaderFiltering) ? column.allowHeaderFiltering : column.allowFiltering }; exports.allowHeaderFiltering = allowHeaderFiltering; var headerFilterMixin = { _applyColumnState: function(options) { var $headerFilterIndicator; var rootElement = options.rootElement; var column = options.column; if ("headerFilter" === options.name) { rootElement.find(".".concat("dx-header-filter")).remove(); if (allowHeaderFiltering(column)) { $headerFilterIndicator = this.callBase(options).toggleClass("dx-header-filter-empty", this._isHeaderFilterEmpty(column)); if (!this.option("useLegacyKeyboardNavigation")) { $headerFilterIndicator.attr("tabindex", this.option("tabindex") || 0) } var indicatorLabel = _message.default.format("dxDataGrid-headerFilterIndicatorLabel", column.caption); $headerFilterIndicator.attr("aria-label", indicatorLabel); $headerFilterIndicator.attr("aria-haspopup", "dialog"); $headerFilterIndicator.attr("role", "button") } return $headerFilterIndicator } return this.callBase(options) }, _isHeaderFilterEmpty: function(column) { return !column.filterValues || !column.filterValues.length }, _getIndicatorClassName: function(name) { if ("headerFilter" === name) { return "dx-header-filter" } return this.callBase(name) }, _renderIndicator: function(options) { var $container = options.container; var $indicator = options.indicator; if ("headerFilter" === options.name) { var rtlEnabled = this.option("rtlEnabled"); if ($container.children().length && (!rtlEnabled && "right" === options.columnAlignment || rtlEnabled && "left" === options.columnAlignment)) { $container.prepend($indicator); return } } this.callBase(options) }, optionChanged: function(args) { if ("headerFilter" === args.name) { var requireReady = "columnHeadersView" === this.name; this._invalidate(requireReady, requireReady); args.handled = true } else { this.callBase(args) } } }; exports.headerFilterMixin = headerFilterMixin }, 92468: /*!*******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/header_panel/m_header_panel.js ***! \*******************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.headerPanelModule = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _data = __webpack_require__( /*! ../../../../core/utils/data */ 47617); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _toolbar = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/toolbar */ 71042)); var _m_columns_view = __webpack_require__( /*! ../views/m_columns_view */ 57318); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var DEFAULT_TOOLBAR_ITEM_NAMES = ["addRowButton", "applyFilterButton", "columnChooserButton", "exportButton", "groupPanel", "revertButton", "saveButton", "searchPanel"]; var members = { _getToolbarItems: function() { return [] }, _getButtonContainer: function() { return (0, _renderer.default)("
").addClass(this.addWidgetPrefix("toolbar-button")) }, _getToolbarButtonClass: function(specificClass) { var secondClass = specificClass ? " ".concat(specificClass) : ""; return this.addWidgetPrefix("toolbar-button") + secondClass }, _getToolbarOptions: function() { var userToolbarOptions = this.option("toolbar"); var options = { toolbarOptions: { items: this._getToolbarItems(), visible: null === userToolbarOptions || void 0 === userToolbarOptions ? void 0 : userToolbarOptions.visible, disabled: null === userToolbarOptions || void 0 === userToolbarOptions ? void 0 : userToolbarOptions.disabled, onItemRendered: function(e) { var itemRenderedCallback = e.itemData.onItemRendered; if (itemRenderedCallback) { itemRenderedCallback(e) } } } }; var userItems = null === userToolbarOptions || void 0 === userToolbarOptions ? void 0 : userToolbarOptions.items; options.toolbarOptions.items = this._normalizeToolbarItems(options.toolbarOptions.items, userItems); this.executeAction("onToolbarPreparing", options); if (options.toolbarOptions && !(0, _type.isDefined)(options.toolbarOptions.visible)) { var toolbarItems = options.toolbarOptions.items; options.toolbarOptions.visible = !!(null === toolbarItems || void 0 === toolbarItems ? void 0 : toolbarItems.length) } return options.toolbarOptions }, _normalizeToolbarItems: function(defaultItems, userItems) { defaultItems.forEach((function(button) { if (!DEFAULT_TOOLBAR_ITEM_NAMES.includes(button.name)) { throw new Error("Default toolbar item '".concat(button.name, "' is not added to DEFAULT_TOOLBAR_ITEM_NAMES")) } })); var defaultProps = { location: "after" }; var isArray = Array.isArray(userItems); if (!(0, _type.isDefined)(userItems)) { return defaultItems } if (!isArray) { userItems = [userItems] } var defaultButtonsByNames = {}; defaultItems.forEach((function(button) { defaultButtonsByNames[button.name] = button })); var normalizedItems = userItems.map((function(button) { if ((0, _type.isString)(button)) { button = { name: button } } if ((0, _type.isDefined)(button.name)) { if ((0, _type.isDefined)(defaultButtonsByNames[button.name])) { button = (0, _extend.extend)(true, {}, defaultButtonsByNames[button.name], button) } else if (DEFAULT_TOOLBAR_ITEM_NAMES.includes(button.name)) { button = _extends(_extends({}, button), { visible: false }) } } return (0, _extend.extend)(true, {}, defaultProps, button) })); return isArray ? normalizedItems : normalizedItems[0] }, _renderCore: function() { if (!this._toolbar) { var $headerPanel = this.element(); $headerPanel.addClass(this.addWidgetPrefix("header-panel")); var label = _message.default.format(this.component.NAME + "-ariaToolbar"); var $toolbar = (0, _renderer.default)("
").attr("aria-label", label).appendTo($headerPanel); this._toolbar = this._createComponent($toolbar, _toolbar.default, this._toolbarOptions) } else { this._toolbar.option(this._toolbarOptions) } }, _columnOptionChanged: _common.noop, _handleDataChanged: function() { if (this._requireReady) { this.render() } }, init: function() { this.callBase(); this.createAction("onToolbarPreparing", { excludeValidators: ["disabled", "readOnly"] }) }, render: function() { this._toolbarOptions = this._getToolbarOptions(); this.callBase.apply(this, arguments) }, setToolbarItemDisabled: function(name, disabled) { var toolbar = this._toolbar; if (!toolbar) { return } var items = toolbar.option("items") || []; var itemIndex = items.findIndex((function(item) { return item.name === name })); if (itemIndex < 0) { return } var item = toolbar.option("items[".concat(itemIndex, "]")); toolbar.option("items[".concat(itemIndex, "].disabled"), disabled); if (item.options) { toolbar.option("items[".concat(itemIndex, "].options.disabled"), disabled) } }, updateToolbarDimensions: function() { var _a; null === (_a = this._toolbar) || void 0 === _a ? void 0 : _a.updateDimensions() }, getHeaderPanel: function() { return this.element() }, getHeight: function() { return this.getElementHeight() }, optionChanged: function(args) { if ("onToolbarPreparing" === args.name) { this._invalidate(); args.handled = true } if ("toolbar" === args.name) { args.handled = true; if (this._toolbar) { var parts = (0, _data.getPathParts)(args.fullName); var optionName = args.fullName.replace(/^toolbar\./, ""); if (1 === parts.length) { var toolbarOptions = this._getToolbarOptions(); this._toolbar.option(toolbarOptions) } else if ("items" === parts[1]) { if (2 === parts.length) { var _toolbarOptions = this._getToolbarOptions(); this._toolbar.option("items", _toolbarOptions.items) } else if (3 === parts.length) { var normalizedItem = this._normalizeToolbarItems(this._getToolbarItems(), args.value); this._toolbar.option(optionName, normalizedItem) } else if (parts.length >= 4) { this._toolbar.option(optionName, args.value) } } else { this._toolbar.option(optionName, args.value) } } } this.callBase(args) }, isVisible: function() { return !!(this._toolbarOptions && this._toolbarOptions.visible) }, allowDragging: _common.noop, hasGroupedColumns: _common.noop }; var HeaderPanel = _m_columns_view.ColumnsView.inherit(members); var headerPanelModule = { defaultOptions: function() { return {} }, views: { headerPanel: HeaderPanel }, extenders: { controllers: { resizing: { _updateDimensionsCore: function() { this.callBase.apply(this, arguments); this.getView("headerPanel").updateToolbarDimensions() } } } } }; exports.headerPanelModule = headerPanelModule }, 67004: /*!*****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/keyboard_navigation/const.js ***! \*****************************************************************************************************/ function(__unused_webpack_module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.WIDGET_CLASS = exports.VIRTUAL_ROW_CLASS = exports.ROW_CLASS = exports.ROWS_VIEW_CLASS = exports.REVERT_BUTTON_CLASS = exports.NON_FOCUSABLE_ELEMENTS_SELECTOR = exports.MASTER_DETAIL_ROW_CLASS = exports.MASTER_DETAIL_CELL_CLASS = exports.INTERACTIVE_ELEMENTS_SELECTOR = exports.HEADER_ROW_CLASS = exports.GROUP_ROW_CLASS = exports.GROUP_FOOTER_CLASS = exports.FUNCTIONAL_KEYS = exports.FREESPACE_ROW_CLASS = exports.FOCUS_TYPE_ROW = exports.FOCUS_TYPE_CELL = exports.FOCUS_STATE_CLASS = exports.FOCUSED_CLASS = exports.FAST_EDITING_DELETE_KEY = exports.EDIT_MODE_FORM = exports.EDIT_FORM_ITEM_CLASS = exports.EDIT_FORM_CLASS = exports.EDITOR_CELL_CLASS = exports.DROPDOWN_EDITOR_OVERLAY_CLASS = exports.DATEBOX_WIDGET_NAME = exports.DATA_ROW_CLASS = exports.COMMAND_SELECT_CLASS = exports.COMMAND_EXPAND_CLASS = exports.COMMAND_EDIT_CLASS = exports.COMMAND_CELL_SELECTOR = exports.COLUMN_HEADERS_VIEW = exports.CELL_FOCUS_DISABLED_CLASS = exports.ATTRIBUTES = void 0; exports.ATTRIBUTES = { ariaColIndex: "aria-colindex", dragCell: "dx-drag-cell" }; exports.ROWS_VIEW_CLASS = "rowsview"; exports.EDIT_FORM_CLASS = "edit-form"; exports.GROUP_FOOTER_CLASS = "group-footer"; exports.ROW_CLASS = "dx-row"; exports.DATA_ROW_CLASS = "dx-data-row"; exports.GROUP_ROW_CLASS = "dx-group-row"; exports.HEADER_ROW_CLASS = "dx-header-row"; exports.EDIT_FORM_ITEM_CLASS = "edit-form-item"; exports.MASTER_DETAIL_ROW_CLASS = "dx-master-detail-row"; exports.FREESPACE_ROW_CLASS = "dx-freespace-row"; exports.VIRTUAL_ROW_CLASS = "dx-virtual-row"; exports.MASTER_DETAIL_CELL_CLASS = "dx-master-detail-cell"; exports.EDITOR_CELL_CLASS = "dx-editor-cell"; exports.DROPDOWN_EDITOR_OVERLAY_CLASS = "dx-dropdowneditor-overlay"; exports.COMMAND_EXPAND_CLASS = "dx-command-expand"; exports.COMMAND_SELECT_CLASS = "dx-command-select"; exports.COMMAND_EDIT_CLASS = "dx-command-edit"; exports.COMMAND_CELL_SELECTOR = "[class^=dx-command]"; exports.CELL_FOCUS_DISABLED_CLASS = "dx-cell-focus-disabled"; exports.DATEBOX_WIDGET_NAME = "dxDateBox"; exports.FOCUS_STATE_CLASS = "dx-state-focused"; exports.WIDGET_CLASS = "dx-widget"; exports.REVERT_BUTTON_CLASS = "dx-revert-button"; exports.FOCUSED_CLASS = "dx-focused"; exports.FAST_EDITING_DELETE_KEY = "delete"; exports.INTERACTIVE_ELEMENTS_SELECTOR = "input:not([type='hidden']), textarea, a, select, button, [tabindex], .dx-checkbox"; var NON_FOCUSABLE_ELEMENTS_SELECTOR = "".concat("input:not([type='hidden']), textarea, a, select, button, [tabindex], .dx-checkbox", ", .dx-dropdowneditor-icon"); exports.NON_FOCUSABLE_ELEMENTS_SELECTOR = NON_FOCUSABLE_ELEMENTS_SELECTOR; exports.EDIT_MODE_FORM = "form"; exports.FOCUS_TYPE_ROW = "row"; exports.FOCUS_TYPE_CELL = "cell"; exports.COLUMN_HEADERS_VIEW = "columnHeadersView"; exports.FUNCTIONAL_KEYS = ["shift", "control", "alt"] }, 83066: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/keyboard_navigation/dom.js ***! \***************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.GridCoreKeyboardNavigationDom = void 0; var _const = __webpack_require__( /*! ./const */ 67004); var GridCoreKeyboardNavigationDom = { isDragCell: function($cell) { return void 0 !== $cell.attr(_const.ATTRIBUTES.dragCell) }, getCellToFocus: function($cellElements, columnIndex) { return $cellElements.filter("[".concat(_const.ATTRIBUTES.ariaColIndex, '="').concat(columnIndex + 1, '"]:not([').concat(_const.ATTRIBUTES.dragCell, "])")).first() } }; exports.GridCoreKeyboardNavigationDom = GridCoreKeyboardNavigationDom }, 31822: /*!*********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation.js ***! \*********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } Object.defineProperty(exports, "__esModule", { value: true }); exports.keyboardNavigationModule = exports.KeyboardNavigationController = void 0; var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../../core/dom_adapter */ 73349)); var _element = __webpack_require__( /*! ../../../../core/element */ 6415); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/browser */ 47810)); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _click = __webpack_require__( /*! ../../../../events/click */ 95429); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../../../events/pointer */ 93786)); var _short = __webpack_require__( /*! ../../../../events/short */ 72918); var _index = __webpack_require__( /*! ../../../../events/utils/index */ 39611); var accessibility = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../../../../ui/shared/accessibility */ 56756)); var _selectors = __webpack_require__( /*! ../../../../ui/widget/selectors */ 31421); var _memoize = __webpack_require__( /*! ../../../utils/memoize */ 18945); var _const = __webpack_require__( /*! ../editing/const */ 72313); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); var _const2 = __webpack_require__( /*! ./const */ 67004); var _dom = __webpack_require__( /*! ./dom */ 83066); var _m_keyboard_navigation_utils = __webpack_require__( /*! ./m_keyboard_navigation_utils */ 67250); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var KeyboardNavigationController = function(_modules$ViewControll) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(KeyboardNavigationController, _modules$ViewControll); function KeyboardNavigationController() { return _modules$ViewControll.apply(this, arguments) || this } var _proto = KeyboardNavigationController.prototype; _proto.init = function() { var _this = this; this._dataController = this.getController("data"); this._selectionController = this.getController("selection"); this._editingController = this.getController("editing"); this._headerPanel = this.getView("headerPanel"); this._rowsView = this.getView("rowsView"); this._columnsController = this.getController("columns"); this._editorFactory = this.getController("editorFactory"); this._focusController = this.getController("focus"); this._memoFireFocusedCellChanged = (0, _memoize.memoize)(this._memoFireFocusedCellChanged.bind(this), { compareType: "value" }); this._memoFireFocusedRowChanged = (0, _memoize.memoize)(this._memoFireFocusedRowChanged.bind(this), { compareType: "value" }); if (this.isKeyboardEnabled()) { accessibility.subscribeVisibilityChange(); this._updateFocusTimeout = null; this._fastEditingStarted = false; this._focusedCellPosition = {}; this._canceledCellPosition = null; this._editorFactory.focused.add((function($element) { _this.setupFocusedView(); if (_this._isNeedScroll) { if ($element.is(":visible") && _this._focusedView && _this._focusedView.getScrollable) { _this._focusedView._scrollToElement($element); _this._isNeedScroll = false } } })); this._initViewHandlers(); this._initDocumentHandlers(); this.createAction("onKeyDown") } }; _proto._initViewHandlers = function() { var _this2 = this; var rowsViewFocusHandler = function(event) { var _a; var $element = (0, _renderer.default)(event.target); var isRelatedTargetInRowsView = (0, _renderer.default)(event.relatedTarget).closest(_this2._rowsView.element()).length; var isLink = $element.is("a"); if (event.relatedTarget && isLink && !isRelatedTargetInRowsView && _this2._isEventInCurrentGrid(event)) { var $focusedCell = _this2._getFocusedCell(); $focusedCell = !(0, _m_keyboard_navigation_utils.isElementDefined)($focusedCell) ? _this2._rowsView.getCellElements(0).filter("[tabindex]").eq(0) : $focusedCell; if (!$element.closest($focusedCell).length) { event.preventDefault(); _events_engine.default.trigger($focusedCell, "focus") } } var isCell = $element.is("td"); var needSetFocusPosition = (null !== (_a = _this2.option("focusedRowIndex")) && void 0 !== _a ? _a : -1) < 0; if (isCell && needSetFocusPosition) { _this2._updateFocusedCellPosition($element) } }; this._rowsView.renderCompleted.add((function(e) { var $rowsView = _this2._rowsView.element(); var isFullUpdate = !e || "refresh" === e.changeType; var isFocusedViewCorrect = _this2._focusedView && _this2._focusedView.name === _this2._rowsView.name; var needUpdateFocus = false; var isAppend = e && ("append" === e.changeType || "prepend" === e.changeType); var root = (0, _renderer.default)(_dom_adapter.default.getRootNode($rowsView.get && $rowsView.get(0))); var $focusedElement = root.find(":focus"); var isFocusedElementCorrect = !$focusedElement.length || $focusedElement.closest($rowsView).length; _events_engine.default.off($rowsView, "focusin", rowsViewFocusHandler); _events_engine.default.on($rowsView, "focusin", rowsViewFocusHandler); _this2._initPointerEventHandler(); _this2._initKeyDownHandler(); _this2._setRowsViewAttributes(); if (isFocusedViewCorrect && isFocusedElementCorrect) { needUpdateFocus = _this2._isNeedFocus ? !isAppend : _this2._isHiddenFocus && isFullUpdate && !(null === e || void 0 === e ? void 0 : e.virtualColumnsScrolling); needUpdateFocus && _this2._updateFocus(true) } })) }; _proto._initDocumentHandlers = function() { var _this3 = this; var document = _dom_adapter.default.getDocument(); this._documentClickHandler = this.createAction((function(e) { var $target = (0, _renderer.default)(e.event.target); var isCurrentRowsViewClick = _this3._isEventInCurrentGrid(e.event) && $target.closest(".".concat(_this3.addWidgetPrefix(_const2.ROWS_VIEW_CLASS))).length; var isEditorOverlay = $target.closest(".".concat(_const2.DROPDOWN_EDITOR_OVERLAY_CLASS)).length; var columnsResizerController = _this3.getController("columnsResizer"); var isColumnResizing = !!columnsResizerController && columnsResizerController.isResizing(); if (!isCurrentRowsViewClick && !isEditorOverlay && !isColumnResizing) { var targetInsideFocusedView = _this3._focusedView ? $target.parents().filter(_this3._focusedView.element()).length > 0 : false; !targetInsideFocusedView && _this3._resetFocusedCell(true); _this3._resetFocusedView() } })); _events_engine.default.on(document, (0, _index.addNamespace)(_pointer.default.down, "dxDataGridKeyboardNavigation"), this._documentClickHandler) }; _proto._setRowsViewAttributes = function() { var $rowsView = this._getRowsViewElement(); var isGridEmpty = !this._dataController.getVisibleRows().length; if (isGridEmpty) { this._applyTabIndexToElement($rowsView) } }; _proto._initPointerEventHandler = function() { var pointerEventName = !(0, _m_keyboard_navigation_utils.isMobile)() ? _pointer.default.down : _click.name; var clickSelector = ".".concat(_const.ROW_CLASS, " > td, .").concat(_const.ROW_CLASS); var $rowsView = this._getRowsViewElement(); if (!(0, _type.isDefined)(this._pointerEventAction)) { this._pointerEventAction = this.createAction(this._pointerEventHandler) } _events_engine.default.off($rowsView, (0, _index.addNamespace)(pointerEventName, "dxDataGridKeyboardNavigation"), this._pointerEventAction); _events_engine.default.on($rowsView, (0, _index.addNamespace)(pointerEventName, "dxDataGridKeyboardNavigation"), clickSelector, this._pointerEventAction) }; _proto._initKeyDownHandler = function() { var _this4 = this; var $rowsView = this._getRowsViewElement(); _short.keyboard.off(this._keyDownListener); this._keyDownListener = _short.keyboard.on($rowsView, null, (function(e) { return _this4._keyDownHandler(e) })) }; _proto.dispose = function() { _modules$ViewControll.prototype.dispose.call(this); this._resetFocusedView(); _short.keyboard.off(this._keyDownListener); _events_engine.default.off(_dom_adapter.default.getDocument(), (0, _index.addNamespace)(_pointer.default.down, "dxDataGridKeyboardNavigation"), this._documentClickHandler); clearTimeout(this._updateFocusTimeout); accessibility.unsubscribeVisibilityChange() }; _proto.optionChanged = function(args) { switch (args.name) { case "keyboardNavigation": case "useLegacyKeyboardNavigation": args.handled = true; break; default: _modules$ViewControll.prototype.optionChanged.call(this, args) } }; _proto.isRowFocusType = function() { return this.focusType === _const2.FOCUS_TYPE_ROW }; _proto.isCellFocusType = function() { return this.focusType === _const2.FOCUS_TYPE_CELL }; _proto.setRowFocusType = function() { if (this.option("focusedRowEnabled")) { this.focusType = _const2.FOCUS_TYPE_ROW } }; _proto.setCellFocusType = function() { this.focusType = _const2.FOCUS_TYPE_CELL }; _proto._keyDownHandler = function(e) { var _a; var needStopPropagation = true; this._isNeedFocus = true; this._isNeedScroll = true; var isHandled = this._processOnKeyDown(e); var isEditing = null === (_a = this._editingController) || void 0 === _a ? void 0 : _a.isEditing(); var originalEvent = e.originalEvent; if (originalEvent.isDefaultPrevented()) { this._isNeedFocus = false; this._isNeedScroll = false; return }!_const2.FUNCTIONAL_KEYS.includes(e.keyName) && this._updateFocusedCellPositionByTarget(originalEvent.target); if (!isHandled) { switch (e.keyName) { case "leftArrow": case "rightArrow": this._leftRightKeysHandler(e, isEditing); isHandled = true; break; case "upArrow": case "downArrow": if (e.ctrl) { accessibility.selectView("rowsView", this, originalEvent) } else { this._upDownKeysHandler(e, isEditing) } isHandled = true; break; case "pageUp": case "pageDown": this._pageUpDownKeyHandler(e); isHandled = true; break; case "space": isHandled = this._spaceKeyHandler(e, isEditing); break; case "A": if ((0, _index.isCommandKeyPressed)(e.originalEvent)) { this._ctrlAKeyHandler(e, isEditing); isHandled = true } else { isHandled = this._beginFastEditing(e.originalEvent) } break; case "tab": this._tabKeyHandler(e, isEditing); isHandled = true; break; case "enter": this._enterKeyHandler(e, isEditing); isHandled = true; break; case "escape": this._escapeKeyHandler(e, isEditing); isHandled = true; break; case "F": if ((0, _index.isCommandKeyPressed)(e.originalEvent)) { this._ctrlFKeyHandler(e); isHandled = true } else { isHandled = this._beginFastEditing(e.originalEvent) } break; case "F2": this._f2KeyHandler(); isHandled = true; break; case "del": case "backspace": if (this._isFastEditingAllowed() && !this._isFastEditingStarted()) { isHandled = this._beginFastEditing(originalEvent, true) } } if (!isHandled && !this._beginFastEditing(originalEvent)) { this._isNeedFocus = false; this._isNeedScroll = false; needStopPropagation = false } if (needStopPropagation) { originalEvent.stopPropagation() } } }; _proto._processOnKeyDown = function(eventArgs) { var originalEvent = eventArgs.originalEvent; var args = { handled: false, event: originalEvent }; this.executeAction("onKeyDown", args); eventArgs.ctrl = originalEvent.ctrlKey; eventArgs.alt = originalEvent.altKey; eventArgs.shift = originalEvent.shiftKey; return !!args.handled }; _proto._closeEditCell = function() { var _this5 = this; setTimeout((function() { _this5._editingController.closeEditCell() })) }; _proto._leftRightKeysHandler = function(eventArgs, isEditing) { var rowIndex = this.getVisibleRowIndex(); var $event = eventArgs.originalEvent; var $row = this._focusedView && this._focusedView.getRow(rowIndex); var directionCode = this._getDirectionCodeByKey(eventArgs.keyName); var isEditingNavigationMode = this._isFastEditingStarted(); var allowNavigate = (!isEditing || isEditingNavigationMode) && (0, _m_keyboard_navigation_utils.isDataRow)($row); if (allowNavigate) { this.setCellFocusType(); isEditingNavigationMode && this._closeEditCell(); if (this._isVirtualColumnRender()) { this._processVirtualHorizontalPosition(directionCode) } var $cell = this._getNextCell(directionCode); if ((0, _m_keyboard_navigation_utils.isElementDefined)($cell)) { this._arrowKeysHandlerFocusCell($event, $cell, directionCode) } $event && $event.preventDefault() } }; _proto._upDownKeysHandler = function(eventArgs, isEditing) { var _a, _b; var visibleRowIndex = this.getVisibleRowIndex(); var $row = this._focusedView && this._focusedView.getRow(visibleRowIndex); var $event = eventArgs.originalEvent; var isUpArrow = "upArrow" === eventArgs.keyName; var dataSource = this._dataController.dataSource(); var isRowEditingInCurrentRow = null === (_b = null === (_a = this._editingController) || void 0 === _a ? void 0 : _a.isEditRowByIndex) || void 0 === _b ? void 0 : _b.call(_a, visibleRowIndex); var isEditingNavigationMode = this._isFastEditingStarted(); var allowNavigate = (!isRowEditingInCurrentRow || !isEditing || isEditingNavigationMode) && $row && !(0, _m_keyboard_navigation_utils.isDetailRow)($row); if (allowNavigate) { isEditingNavigationMode && this._closeEditCell(); if (!this._navigateNextCell($event, eventArgs.keyName)) { if (this._isVirtualRowRender() && isUpArrow && dataSource && !dataSource.isLoading()) { var rowHeight = (0, _size.getOuterHeight)($row); var rowIndex = this._focusedCellPosition.rowIndex - 1; this._scrollBy(0, -rowHeight, rowIndex, $event) } } $event && $event.preventDefault() } }; _proto._pageUpDownKeyHandler = function(eventArgs) { var pageIndex = this._dataController.pageIndex(); var pageCount = this._dataController.pageCount(); var pagingEnabled = this.option("paging.enabled"); var isPageUp = "pageUp" === eventArgs.keyName; var pageStep = isPageUp ? -1 : 1; var scrollable = this._rowsView.getScrollable(); if (pagingEnabled && !this._isVirtualScrolling()) { if ((isPageUp ? pageIndex > 0 : pageIndex < pageCount - 1) && !this._isVirtualScrolling()) { this._dataController.pageIndex(pageIndex + pageStep); eventArgs.originalEvent.preventDefault() } } else if (scrollable && (0, _size.getHeight)(scrollable.container()) < (0, _size.getHeight)(scrollable.$content())) { this._scrollBy(0, (0, _size.getHeight)(scrollable.container()) * pageStep); eventArgs.originalEvent.preventDefault() } }; _proto._spaceKeyHandler = function(eventArgs, isEditing) { var rowIndex = this.getVisibleRowIndex(); var $target = (0, _renderer.default)(eventArgs.originalEvent && eventArgs.originalEvent.target); if (this.option("selection") && "none" !== this.option("selection").mode && !isEditing) { var isFocusedRowElement = "row" === this._getElementType($target) && this.isRowFocusType() && (0, _m_keyboard_navigation_utils.isDataRow)($target); var isFocusedSelectionCell = $target.hasClass(_const2.COMMAND_SELECT_CLASS); if (isFocusedSelectionCell && "onClick" === this.option("selection.showCheckBoxesMode")) { this._selectionController.startSelectionWithCheckboxes() } if (isFocusedRowElement || $target.parent().hasClass(_const2.DATA_ROW_CLASS) || $target.hasClass(this.addWidgetPrefix(_const2.ROWS_VIEW_CLASS))) { this._selectionController.changeItemSelection(rowIndex, { shift: eventArgs.shift, control: eventArgs.ctrl }); eventArgs.originalEvent.preventDefault(); return true } return false } return this._beginFastEditing(eventArgs.originalEvent) }; _proto._ctrlAKeyHandler = function(eventArgs, isEditing) { if (!isEditing && !eventArgs.alt && "multiple" === this.option("selection.mode") && this.option("selection.allowSelectAll")) { this._selectionController.selectAll(); eventArgs.originalEvent.preventDefault() } }; _proto._tabKeyHandler = function(eventArgs, isEditing) { var editingOptions = this.option("editing"); var direction = eventArgs.shift ? "previous" : "next"; var isCellPositionDefined = (0, _type.isDefined)(this._focusedCellPosition) && !(0, _type.isEmptyObject)(this._focusedCellPosition); var isOriginalHandlerRequired = !isCellPositionDefined || !eventArgs.shift && this._isLastValidCell(this._focusedCellPosition) || eventArgs.shift && this._isFirstValidCell(this._focusedCellPosition); var eventTarget = eventArgs.originalEvent.target; var focusedViewElement = this._focusedView && this._focusedView.element(); if (this._handleTabKeyOnMasterDetailCell(eventTarget, direction)) { return }(0, _renderer.default)(focusedViewElement).addClass(_const2.FOCUS_STATE_CLASS); if (editingOptions && eventTarget && !isOriginalHandlerRequired) { if ((0, _renderer.default)(eventTarget).hasClass(this.addWidgetPrefix(_const2.ROWS_VIEW_CLASS))) { this._resetFocusedCell() } if (this._isVirtualColumnRender()) { this._processVirtualHorizontalPosition(direction) } if (isEditing) { if (!this._editingCellTabHandler(eventArgs, direction)) { return } } else if (this._targetCellTabHandler(eventArgs, direction)) { isOriginalHandlerRequired = true } } if (isOriginalHandlerRequired) { this._editorFactory.loseFocus(); if (this._editingController.isEditing() && !this._isRowEditMode()) { this._resetFocusedCell(true); this._resetFocusedView(); this._closeEditCell() } } else { eventArgs.originalEvent.preventDefault() } }; _proto._getMaxHorizontalOffset = function() { var scrollable = this.component.getScrollable(); return scrollable ? scrollable.scrollWidth() - (0, _size.getWidth)(this._rowsView.element()) : 0 }; _proto._isColumnRendered = function(columnIndex) { var allVisibleColumns = this._columnsController.getVisibleColumns(null, true); var renderedVisibleColumns = this._columnsController.getVisibleColumns(); var column = allVisibleColumns[columnIndex]; var result = false; if (column) { result = renderedVisibleColumns.indexOf(column) >= 0 } return result }; _proto._isFixedColumn = function(columnIndex) { var allVisibleColumns = this._columnsController.getVisibleColumns(null, true); var column = allVisibleColumns[columnIndex]; return !!column && !!column.fixed }; _proto._isColumnVirtual = function(columnIndex) { var localColumnIndex = columnIndex - this._columnsController.getColumnIndexOffset(); var visibleColumns = this._columnsController.getVisibleColumns(); var column = visibleColumns[localColumnIndex]; return !!column && "virtual" === column.command }; _proto._processVirtualHorizontalPosition = function(direction) { var scrollable = this.component.getScrollable(); var columnIndex = this.getColumnIndex(); var nextColumnIndex; var horizontalScrollPosition = 0; var needToScroll = false; switch (direction) { case "next": case "nextInRow": var columnsCount = this._getVisibleColumnCount(); nextColumnIndex = columnIndex + 1; horizontalScrollPosition = this.option("rtlEnabled") ? this._getMaxHorizontalOffset() : 0; if ("next" === direction) { needToScroll = columnsCount === nextColumnIndex || this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex) } else { needToScroll = columnsCount > nextColumnIndex && this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex) } break; case "previous": case "previousInRow": nextColumnIndex = columnIndex - 1; horizontalScrollPosition = this.option("rtlEnabled") ? 0 : this._getMaxHorizontalOffset(); if ("previous" === direction) { var columnIndexOffset = this._columnsController.getColumnIndexOffset(); var leftEdgePosition = nextColumnIndex < 0 && 0 === columnIndexOffset; needToScroll = leftEdgePosition || this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex) } else { needToScroll = nextColumnIndex >= 0 && this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex) } } if (needToScroll) { scrollable.scrollTo({ left: horizontalScrollPosition }) } else if ((0, _type.isDefined)(nextColumnIndex) && (0, _type.isDefined)(direction) && this._isColumnVirtual(nextColumnIndex)) { horizontalScrollPosition = this._getHorizontalScrollPositionOffset(direction); 0 !== horizontalScrollPosition && scrollable.scrollBy({ left: horizontalScrollPosition, top: 0 }) } }; _proto._getHorizontalScrollPositionOffset = function(direction) { var positionOffset = 0; var $currentCell = this._getCell(this._focusedCellPosition); var currentCellWidth = $currentCell && (0, _size.getOuterWidth)($currentCell); if (currentCellWidth > 0) { var rtlMultiplier = this.option("rtlEnabled") ? -1 : 1; positionOffset = "nextInRow" === direction || "next" === direction ? currentCellWidth * rtlMultiplier : currentCellWidth * rtlMultiplier * -1 } return positionOffset }; _proto._editingCellTabHandler = function(eventArgs, direction) { var eventTarget = eventArgs.originalEvent.target; var $cell = this._getCellElementFromTarget(eventTarget); var isEditingAllowed; var $event = eventArgs.originalEvent; var elementType = this._getElementType(eventTarget); if ($cell.is(_const2.COMMAND_CELL_SELECTOR)) { return !this._targetCellTabHandler(eventArgs, direction) } this._updateFocusedCellPosition($cell); var nextCellInfo = this._getNextCellByTabKey($event, direction, elementType); $cell = nextCellInfo.$cell; if (!$cell || this._handleTabKeyOnMasterDetailCell($cell, direction)) { return false } var columnsController = this._columnsController; var cellIndex = this._rowsView.getCellIndex($cell); var columnIndex = cellIndex + columnsController.getColumnIndexOffset(); var column = columnsController.getVisibleColumns(null, true)[columnIndex]; var $row = $cell.parent(); var rowIndex = this._getRowIndex($row); var row = this._dataController.items()[rowIndex]; var editingController = this._editingController; if (column && column.allowEditing) { var _isDataRow = !row || "data" === row.rowType; isEditingAllowed = editingController.allowUpdating({ row: row }) ? _isDataRow : row && row.isNewRow } if (!isEditingAllowed) { this._closeEditCell() } if (this._focusCell($cell, !nextCellInfo.isHighlighted)) { if (!this._isRowEditMode() && isEditingAllowed) { this._editFocusedCell() } else { this._focusInteractiveElement($cell, eventArgs.shift) } } return true }; _proto._targetCellTabHandler = function(eventArgs, direction) { var $event = eventArgs.originalEvent; var eventTarget = $event.target; var $cell = this._getCellElementFromTarget(eventTarget); var $lastInteractiveElement = this._getInteractiveElement($cell, !eventArgs.shift); var isOriginalHandlerRequired = false; var elementType; if (!(0, _m_keyboard_navigation_utils.isEditorCell)(this, $cell) && $lastInteractiveElement.length && eventTarget !== $lastInteractiveElement.get(0)) { isOriginalHandlerRequired = true } else { if (void 0 === this._focusedCellPosition.rowIndex && (0, _renderer.default)(eventTarget).hasClass(_const.ROW_CLASS)) { this._updateFocusedCellPosition($cell) } elementType = this._getElementType(eventTarget); if (this.isRowFocusType()) { this.setCellFocusType(); if ("row" === elementType && (0, _m_keyboard_navigation_utils.isDataRow)((0, _renderer.default)(eventTarget))) { eventTarget = this.getFirstValidCellInRow((0, _renderer.default)(eventTarget)); elementType = this._getElementType(eventTarget) } } var nextCellInfo = this._getNextCellByTabKey($event, direction, elementType); $cell = nextCellInfo.$cell; if (!$cell) { return false } $cell = this._checkNewLineTransition($event, $cell); if (!$cell) { return false } this._focusCell($cell, !nextCellInfo.isHighlighted); if (!(0, _m_keyboard_navigation_utils.isEditorCell)(this, $cell)) { this._focusInteractiveElement($cell, eventArgs.shift) } } return isOriginalHandlerRequired }; _proto._getNextCellByTabKey = function($event, direction, elementType) { var $cell = this._getNextCell(direction, elementType); var args = $cell && this._fireFocusedCellChanging($event, $cell, true); if (!args || args.cancel) { return {} } if (args.$newCellElement) { $cell = args.$newCellElement } return { $cell: $cell, isHighlighted: args.isHighlighted } }; _proto._checkNewLineTransition = function($event, $cell) { var rowIndex = this.getVisibleRowIndex(); var $row = $cell.parent(); if (rowIndex !== this._getRowIndex($row)) { var cellPosition = this._getCellPosition($cell); var args = this._fireFocusedRowChanging($event, $row); if (args.cancel) { return } if (args.rowIndexChanged && cellPosition) { this.setFocusedColumnIndex(cellPosition.columnIndex); $cell = this._getFocusedCell() } } return $cell }; _proto._enterKeyHandler = function(eventArgs, isEditing) { var $cell = this._getFocusedCell(); var rowIndex = this.getVisibleRowIndex(); var $row = this._focusedView && this._focusedView.getRow(rowIndex); if (this.option("grouping.allowCollapsing") && (0, _m_keyboard_navigation_utils.isGroupRow)($row) || this.option("masterDetail.enabled") && $cell && $cell.hasClass(_const2.COMMAND_EXPAND_CLASS)) { var key = this._dataController.getKeyByRowIndex(rowIndex); var item = this._dataController.items()[rowIndex]; if (void 0 !== key && item && item.data && !item.data.isContinuation) { this._dataController.changeRowExpand(key) } } else { this._processEnterKeyForDataCell(eventArgs, isEditing) } }; _proto._processEnterKeyForDataCell = function(eventArgs, isEditing) { var direction = this._getEnterKeyDirection(eventArgs); var allowEditingOnEnterKey = this._allowEditingOnEnterKey(); if (isEditing || !allowEditingOnEnterKey && direction) { this._handleEnterKeyEditingCell(eventArgs.originalEvent); if ("next" === direction || "previous" === direction) { this._targetCellTabHandler(eventArgs, direction) } else if ("upArrow" === direction || "downArrow" === direction) { this._navigateNextCell(eventArgs.originalEvent, direction) } } else if (allowEditingOnEnterKey) { this._startEditing(eventArgs) } }; _proto._getEnterKeyDirection = function(eventArgs) { var enterKeyDirection = this.option("keyboardNavigation.enterKeyDirection"); var isShift = eventArgs.shift; if ("column" === enterKeyDirection) { return isShift ? "upArrow" : "downArrow" } if ("row" === enterKeyDirection) { return isShift ? "previous" : "next" } return }; _proto._handleEnterKeyEditingCell = function(event) { var target = event.target; var $cell = this._getCellElementFromTarget(target); var isRowEditMode = this._isRowEditMode(); this._updateFocusedCellPosition($cell); if (isRowEditMode) { this._focusEditFormCell($cell); setTimeout(this._editingController.saveEditData.bind(this._editingController)) } else { _events_engine.default.trigger((0, _renderer.default)(target), "change"); this._closeEditCell(); event.preventDefault() } }; _proto._escapeKeyHandler = function(eventArgs, isEditing) { var $cell = this._getCellElementFromTarget(eventArgs.originalEvent.target); if (isEditing) { this._updateFocusedCellPosition($cell); if (!this._isRowEditMode()) { if ("cell" === this._editingController.getEditMode()) { this._editingController.cancelEditData() } else { this._closeEditCell() } } else { this._focusEditFormCell($cell); this._editingController.cancelEditData(); if (0 === this._dataController.items().length) { this._resetFocusedCell(); this._editorFactory.loseFocus() } } eventArgs.originalEvent.preventDefault() } }; _proto._ctrlFKeyHandler = function(eventArgs) { if (this.option("searchPanel.visible")) { var searchTextEditor = this._headerPanel.getSearchTextEditor(); if (searchTextEditor) { searchTextEditor.focus(); eventArgs.originalEvent.preventDefault() } } }; _proto._f2KeyHandler = function() { var isEditing = this._editingController.isEditing(); var rowIndex = this.getVisibleRowIndex(); var $row = this._focusedView && this._focusedView.getRow(rowIndex); if (!isEditing && (0, _m_keyboard_navigation_utils.isDataRow)($row)) { this._startEditing() } }; _proto._navigateNextCell = function($event, keyCode) { var $cell = this._getNextCell(keyCode); var directionCode = this._getDirectionCodeByKey(keyCode); var isCellValid = $cell && this._isCellValid($cell); var result = isCellValid ? this._arrowKeysHandlerFocusCell($event, $cell, directionCode) : false; return result }; _proto._arrowKeysHandlerFocusCell = function($event, $nextCell, direction) { var isVerticalDirection = "prevRow" === direction || "nextRow" === direction; var args = this._fireFocusChangingEvents($event, $nextCell, isVerticalDirection, true); $nextCell = args.$newCellElement; if (!args.cancel && this._isCellValid($nextCell)) { this._focus($nextCell, !args.isHighlighted); return true } return false }; _proto._beginFastEditing = function(originalEvent, isDeleting) { if (!this._isFastEditingAllowed() || originalEvent.altKey || originalEvent.ctrlKey || this._editingController.isEditing()) { return false } if (isDeleting) { this._startEditing(originalEvent, _const2.FAST_EDITING_DELETE_KEY) } else { var key = originalEvent.key; var keyCode = originalEvent.keyCode || originalEvent.which; var fastEditingKey = key || keyCode && String.fromCharCode(keyCode); if (fastEditingKey && (1 === fastEditingKey.length || fastEditingKey === _const2.FAST_EDITING_DELETE_KEY)) { this._startEditing(originalEvent, fastEditingKey) } } return true }; _proto._pointerEventHandler = function(e) { var _a; var event = e.event || e; var $target = (0, _renderer.default)(event.currentTarget); var focusedViewElement = null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.element(); var $parent = $target.parent(); var isInteractiveElement = (0, _renderer.default)(event.target).is(_const2.INTERACTIVE_ELEMENTS_SELECTOR); var isRevertButton = !!(0, _renderer.default)(event.target).closest(".".concat(_const2.REVERT_BUTTON_CLASS)).length; var isExpandCommandCell = $target.hasClass(_const2.COMMAND_EXPAND_CLASS); if (!this._isEventInCurrentGrid(event)) { return } if (!isRevertButton && (this._isCellValid($target, !isInteractiveElement) || isExpandCommandCell)) { $target = this._isInsideEditForm($target) ? (0, _renderer.default)(event.target) : $target; this._focusView(); (0, _renderer.default)(focusedViewElement).removeClass(_const2.FOCUS_STATE_CLASS); if ($parent.hasClass(_const2.FREESPACE_ROW_CLASS)) { this._updateFocusedCellPosition($target); this._applyTabIndexToElement(this._focusedView.element()); this._focusedView.focus(true) } else if (!this._isMasterDetailCell($target)) { this._clickTargetCellHandler(event, $target) } else { this._updateFocusedCellPosition($target) } } else if ($target.is("td")) { this._resetFocusedCell() } }; _proto._clickTargetCellHandler = function(event, $cell) { var columnIndex = this._rowsView.getCellIndex($cell); var column = this._columnsController.getVisibleColumns()[columnIndex]; var isCellEditMode = this._isCellEditMode(); this.setCellFocusType(); var args = this._fireFocusChangingEvents(event, $cell, true); $cell = args.$newCellElement; if (!args.cancel) { if (args.resetFocusedRow) { this.getController("focus")._resetFocusedRow(); return } if (args.rowIndexChanged) { $cell = this._getFocusedCell() } if (!args.isHighlighted && !isCellEditMode) { this.setRowFocusType() } this._updateFocusedCellPosition($cell); if (this._allowRowUpdating() && isCellEditMode && column && column.allowEditing) { this._isNeedFocus = false; this._isHiddenFocus = false } else { $cell = this._getFocusedCell(); var $target = event && (0, _renderer.default)(event.target).closest("".concat(_const2.NON_FOCUSABLE_ELEMENTS_SELECTOR, ", td")); var skipFocusEvent = $target && $target.not($cell).is(_const2.NON_FOCUSABLE_ELEMENTS_SELECTOR); var isEditor = !!column && !column.command && $cell.hasClass(_const.EDITOR_CELL_CLASS); var isDisabled = !isEditor && (!args.isHighlighted || skipFocusEvent); this._focus($cell, isDisabled, skipFocusEvent) } } else { this.setRowFocusType(); this.setFocusedRowIndex(args.prevRowIndex); if (this._editingController.isEditing() && isCellEditMode) { this._closeEditCell() } } }; _proto._allowRowUpdating = function() { var rowIndex = this.getVisibleRowIndex(); var row = this._dataController.items()[rowIndex]; return this._editingController.allowUpdating({ row: row }, "click") }; _proto.focus = function(element) { var activeElementSelector; var focusedRowEnabled = this.option("focusedRowEnabled"); var isHighlighted = this._isCellElement((0, _renderer.default)(element)); if (!element) { activeElementSelector = ".dx-datagrid-rowsview .dx-row[tabindex]"; if (!focusedRowEnabled) { activeElementSelector += ", .dx-datagrid-rowsview .dx-row > td[tabindex]" } element = this.component.$element().find(activeElementSelector).first() } element && this._focusElement((0, _renderer.default)(element), isHighlighted) }; _proto.getFocusedView = function() { return this._focusedView }; _proto.setupFocusedView = function() { if (this.isKeyboardEnabled() && !(0, _type.isDefined)(this._focusedView)) { this._focusView() } }; _proto._focusElement = function($element, isHighlighted) { var rowsViewElement = (0, _renderer.default)(this._getRowsViewElement()); var $focusedView = $element.closest(rowsViewElement); var isRowFocusType = this.isRowFocusType(); var args = {}; if (!$focusedView.length || this._isCellElement($element) && !this._isCellValid($element)) { return } this._focusView(); this._isNeedFocus = true; this._isNeedScroll = true; if (this._isCellElement($element) || (0, _m_keyboard_navigation_utils.isGroupRow)($element)) { this.setCellFocusType(); args = this._fireFocusChangingEvents(null, $element, true, isHighlighted); $element = args.$newCellElement; if (isRowFocusType && !args.isHighlighted) { this.setRowFocusType() } } if (!args.cancel) { this._focus($element, !args.isHighlighted); this._focusInteractiveElement($element) } }; _proto._getFocusedViewByElement = function($element) { var view = this.getFocusedView(); var $view = view && (0, _renderer.default)(view.element()); return $element && 0 !== $element.closest($view).length }; _proto._focusView = function() { this._focusedView = this._rowsView }; _proto._resetFocusedView = function() { this.setRowFocusType(); this._focusedView = null }; _proto._focusInteractiveElement = function($cell, isLast) { if (!$cell) { return } var $focusedElement = this._getInteractiveElement($cell, isLast); _m_utils.default.focusAndSelectElement(this, $focusedElement) }; _proto._focus = function($cell, disableFocus, skipFocusEvent) { var $row = $cell && !$cell.hasClass(_const.ROW_CLASS) ? $cell.closest(".".concat(_const.ROW_CLASS)) : $cell; if ($row && (0, _m_keyboard_navigation_utils.isNotFocusedRow)($row)) { return } var focusedView = this._focusedView; var $focusViewElement = focusedView && focusedView.element(); var $focusElement; this._isHiddenFocus = disableFocus; var isRowFocus = (0, _m_keyboard_navigation_utils.isGroupRow)($row) || (0, _m_keyboard_navigation_utils.isGroupFooterRow)($row) || this.isRowFocusType(); if (isRowFocus) { $focusElement = $row; if (focusedView) { this.setFocusedRowIndex(this._getRowIndex($row)) } } else if (this._isCellElement($cell)) { $focusElement = $cell; this._updateFocusedCellPosition($cell) } if ($focusElement) { if ($focusViewElement) { $focusViewElement.find(".dx-row[tabindex], .dx-row > td[tabindex]").not($focusElement).removeClass(_const2.CELL_FOCUS_DISABLED_CLASS).removeClass(_const2.FOCUSED_CLASS).removeAttr("tabindex") } _events_engine.default.one($focusElement, "blur", (function(e) { if (e.relatedTarget) { $focusElement.removeClass(_const2.CELL_FOCUS_DISABLED_CLASS).removeClass(_const2.FOCUSED_CLASS) } })); if (!skipFocusEvent) { this._applyTabIndexToElement($focusElement); _events_engine.default.trigger($focusElement, "focus") } if (disableFocus) { $focusElement.addClass(_const2.CELL_FOCUS_DISABLED_CLASS); if (isRowFocus) { $cell.addClass(_const2.CELL_FOCUS_DISABLED_CLASS) } } else { this._editorFactory.focus($focusElement) } } }; _proto._updateFocus = function(isRenderView) { var _this6 = this; this._updateFocusTimeout = setTimeout((function() { var editingController = _this6._editingController; var isCellEditMode = editingController.getEditMode() === _const.EDIT_MODE_CELL; var isBatchEditMode = editingController.getEditMode() === _const.EDIT_MODE_BATCH; if (isCellEditMode && editingController.hasChanges() || isBatchEditMode && editingController.isNewRowInEditMode()) { editingController._focusEditingCell(); return } var $cell = _this6._getFocusedCell(); var isEditing = editingController.isEditing(); if ($cell && !(_this6._isMasterDetailCell($cell) && !_this6._isRowEditMode())) { if (_this6._hasSkipRow($cell.parent())) { var direction = _this6._focusedCellPosition && _this6._focusedCellPosition.rowIndex > 0 ? "upArrow" : "downArrow"; $cell = _this6._getNextCell(direction) } if ((0, _m_keyboard_navigation_utils.isElementDefined)($cell)) { if ($cell.is("td") || $cell.hasClass(_this6.addWidgetPrefix(_const2.EDIT_FORM_ITEM_CLASS))) { var isCommandCell = $cell.is(_const2.COMMAND_CELL_SELECTOR); var $focusedElementInsideCell = $cell.find(":focus"); var isFocusedElementDefined = (0, _m_keyboard_navigation_utils.isElementDefined)($focusedElementInsideCell); if ((isRenderView || !isCommandCell) && _this6._editorFactory.focus()) { if (isCommandCell && isFocusedElementDefined) { _m_utils.default.focusAndSelectElement(_this6, $focusedElementInsideCell); return }!isFocusedElementDefined && _this6._focus($cell) } else if (!isFocusedElementDefined && (_this6._isNeedFocus || _this6._isHiddenFocus)) { _this6._focus($cell, _this6._isHiddenFocus) } if (isEditing) { _this6._focusInteractiveElement.bind(_this6)($cell) } } else { _events_engine.default.trigger($cell, "focus") } } } })) }; _proto._getFocusedCell = function() { return (0, _renderer.default)(this._getCell(this._focusedCellPosition)) }; _proto._updateFocusedCellPositionByTarget = function(target) { var _a; var elementType = this._getElementType(target); if ("row" === elementType && (0, _type.isDefined)(null === (_a = this._focusedCellPosition) || void 0 === _a ? void 0 : _a.columnIndex)) { var $row = (0, _renderer.default)(target); this._focusedView && (0, _m_keyboard_navigation_utils.isGroupRow)($row) && this.setFocusedRowIndex(this._getRowIndex($row)) } else { this._updateFocusedCellPosition(this._getCellElementFromTarget(target)) } }; _proto._updateFocusedCellPosition = function($cell, direction) { var position = this._getCellPosition($cell, direction); if (position) { if (!$cell.length || position.rowIndex >= 0 && position.columnIndex >= 0) { this.setFocusedCellPosition(position.rowIndex, position.columnIndex) } } return position }; _proto._getFocusedColumnIndexOffset = function(columnIndex) { var offset = 0; var column = this._columnsController.getVisibleColumns()[columnIndex]; if (column && column.fixed) { offset = this._getFixedColumnIndexOffset(column) } else if (columnIndex >= 0) { offset = this._columnsController.getColumnIndexOffset() } return offset }; _proto._getFixedColumnIndexOffset = function(column) { var offset = (0, _m_keyboard_navigation_utils.isFixedColumnIndexOffsetRequired)(this, column) ? this._getVisibleColumnCount() - this._columnsController.getVisibleColumns().length : 0; return offset }; _proto._getCellPosition = function($cell, direction) { var columnIndex; var $row = (0, _m_keyboard_navigation_utils.isElementDefined)($cell) && $cell.closest("tr"); if ((0, _m_keyboard_navigation_utils.isElementDefined)($row)) { var rowIndex = this._getRowIndex($row); columnIndex = this._rowsView.getCellIndex($cell, rowIndex); columnIndex += this._getFocusedColumnIndexOffset(columnIndex); if (direction) { columnIndex = "previous" === direction ? columnIndex - 1 : columnIndex + 1; columnIndex = this._applyColumnIndexBoundaries(columnIndex) } return { rowIndex: rowIndex, columnIndex: columnIndex } } return }; _proto._focusCell = function($cell, isDisabled) { if (this._isCellValid($cell)) { this._focus($cell, isDisabled); return true } return }; _proto._focusEditFormCell = function($cell) { if ($cell.hasClass(_const2.MASTER_DETAIL_CELL_CLASS)) { this._editorFactory.focus($cell, true) } }; _proto._resetFocusedCell = function(preventScroll) { var _a; var $cell = this._getFocusedCell(); (0, _m_keyboard_navigation_utils.isElementDefined)($cell) && $cell.removeAttr("tabindex"); this._isNeedFocus = false; this._isNeedScroll = false; this._focusedCellPosition = {}; clearTimeout(this._updateFocusTimeout); null === (_a = this._focusedView) || void 0 === _a ? void 0 : _a.renderFocusState({ preventScroll: preventScroll }) }; _proto.restoreFocusableElement = function(rowIndex, $event) { var args; var $rowElement; var isUpArrow = (0, _type.isDefined)(rowIndex); var $rowsViewElement = this._rowsView.element(); var columnIndex = this._focusedCellPosition.columnIndex; var rowIndexOffset = this._dataController.getRowIndexOffset(); rowIndex = isUpArrow ? rowIndex : this._rowsView.getTopVisibleItemIndex() + rowIndexOffset; if (!isUpArrow) { this._editorFactory.loseFocus(); this._applyTabIndexToElement($rowsViewElement); _events_engine.default.trigger($rowsViewElement, "focus") } else { $rowElement = this._rowsView.getRow(rowIndex - rowIndexOffset); args = this._fireFocusedRowChanging($event, $rowElement); if (!args.cancel && args.rowIndexChanged) { rowIndex = args.newRowIndex } } if (!isUpArrow || !args.cancel) { this.setFocusedCellPosition(rowIndex, columnIndex) } isUpArrow && this._updateFocus() }; _proto._getNewPositionByCode = function(cellPosition, elementType, code) { var columnIndex = cellPosition.columnIndex; var rowIndex = cellPosition.rowIndex; var visibleColumnsCount; if (void 0 === cellPosition.rowIndex && "next" === code) { return { columnIndex: 0, rowIndex: 0 } } switch (code) { case "nextInRow": case "next": visibleColumnsCount = this._getVisibleColumnCount(); if (columnIndex < visibleColumnsCount - 1 && "row" !== elementType && this._hasValidCellAfterPosition({ columnIndex: columnIndex, rowIndex: rowIndex })) { columnIndex++ } else if (!this._isLastRow(rowIndex) && "next" === code) { columnIndex = 0; rowIndex++ } break; case "previousInRow": case "previous": if (columnIndex > 0 && "row" !== elementType && this._hasValidCellBeforePosition({ columnIndex: columnIndex, rowIndex: rowIndex })) { columnIndex-- } else if (rowIndex > 0 && "previous" === code) { rowIndex--; visibleColumnsCount = this._getVisibleColumnCount(); columnIndex = visibleColumnsCount - 1 } break; case "upArrow": rowIndex = rowIndex > 0 ? rowIndex - 1 : rowIndex; break; case "downArrow": rowIndex = !this._isLastRow(rowIndex) ? rowIndex + 1 : rowIndex } return { columnIndex: columnIndex, rowIndex: rowIndex } }; _proto.setFocusedCellPosition = function(rowIndex, columnIndex) { this.setFocusedRowIndex(rowIndex); this.setFocusedColumnIndex(columnIndex) }; _proto.setFocusedRowIndex = function(rowIndex) { if (!this._focusedCellPosition) { this._focusedCellPosition = {} } this._focusedCellPosition.rowIndex = rowIndex }; _proto.setFocusedColumnIndex = function(columnIndex) { if (!this._focusedCellPosition) { this._focusedCellPosition = {} } this._focusedCellPosition.columnIndex = columnIndex }; _proto.getRowIndex = function() { return this._focusedCellPosition ? this._focusedCellPosition.rowIndex : -1 }; _proto.getColumnIndex = function() { return this._focusedCellPosition ? this._focusedCellPosition.columnIndex : -1 }; _proto.getVisibleRowIndex = function() { var _a; var rowIndex = null === (_a = this._focusedCellPosition) || void 0 === _a ? void 0 : _a.rowIndex; return !(0, _type.isDefined)(rowIndex) || rowIndex < 0 ? -1 : rowIndex - this._dataController.getRowIndexOffset() }; _proto.getVisibleColumnIndex = function() { var _a; var columnIndex = null === (_a = this._focusedCellPosition) || void 0 === _a ? void 0 : _a.columnIndex; return !(0, _type.isDefined)(columnIndex) ? -1 : columnIndex - this._columnsController.getColumnIndexOffset() }; _proto._applyColumnIndexBoundaries = function(columnIndex) { var visibleColumnsCount = this._getVisibleColumnCount(); if (columnIndex < 0) { columnIndex = 0 } else if (columnIndex >= visibleColumnsCount) { columnIndex = visibleColumnsCount - 1 } return columnIndex }; _proto._isCellByPositionValid = function(cellPosition) { var $cell = (0, _renderer.default)(this._getCell(cellPosition)); return this._isCellValid($cell) }; _proto._isLastRow = function(rowIndex) { var dataController = this._dataController; var visibleItems = dataController.items().filter((function(item) { return false !== item.visible })); if (this._isVirtualRowRender()) { return rowIndex >= dataController.getMaxRowIndex() } return rowIndex === visibleItems.length - 1 }; _proto._isFirstValidCell = function(cellPosition) { var isFirstValidCell = false; if (0 === cellPosition.rowIndex && cellPosition.columnIndex >= 0) { isFirstValidCell = isFirstValidCell || !this._hasValidCellBeforePosition(cellPosition) } return isFirstValidCell }; _proto._hasValidCellBeforePosition = function(cellPosition) { var columnIndex = cellPosition.columnIndex; var hasValidCells = false; while (columnIndex > 0 && !hasValidCells) { var checkingPosition = { columnIndex: --columnIndex, rowIndex: cellPosition.rowIndex }; hasValidCells = this._isCellByPositionValid(checkingPosition) } return hasValidCells }; _proto._hasValidCellAfterPosition = function(cellPosition) { var columnIndex = cellPosition.columnIndex; var hasValidCells = false; var visibleColumnCount = this._getVisibleColumnCount(); while (columnIndex < visibleColumnCount - 1 && !hasValidCells) { var checkingPosition = { columnIndex: ++columnIndex, rowIndex: cellPosition.rowIndex }; hasValidCells = this._isCellByPositionValid(checkingPosition) } return hasValidCells }; _proto._isLastValidCell = function(cellPosition) { var nextColumnIndex = cellPosition.columnIndex >= 0 ? cellPosition.columnIndex + 1 : 0; var rowIndex = cellPosition.rowIndex; var checkingPosition = { columnIndex: nextColumnIndex, rowIndex: rowIndex }; var visibleRows = this._dataController.getVisibleRows(); var row = visibleRows && visibleRows[rowIndex]; var isLastRow = this._isLastRow(rowIndex); if (!isLastRow) { return false } if (row && "group" === row.rowType && cellPosition.columnIndex > 0) { return true } if (cellPosition.columnIndex === this._getVisibleColumnCount() - 1) { return true } if (this._isCellByPositionValid(checkingPosition)) { return false } return this._isLastValidCell(checkingPosition) }; _proto._isCellValid = function($cell, isClick) { if ((0, _m_keyboard_navigation_utils.isElementDefined)($cell)) { var $row = $cell.parent(); var columnsController = this._columnsController; var columnIndex = this._rowsView.getCellIndex($cell) + columnsController.getColumnIndexOffset(); var column = columnsController.getVisibleColumns(null, true)[columnIndex]; var visibleColumnCount = this._getVisibleColumnCount(); var editingController = this._editingController; var isMasterDetailRow = (0, _m_keyboard_navigation_utils.isDetailRow)($row); var isShowWhenGrouped = column && column.showWhenGrouped; var isDataCell = column && !$cell.hasClass(_const2.COMMAND_EXPAND_CLASS) && (0, _m_keyboard_navigation_utils.isDataRow)($row); var isDragCell = _dom.GridCoreKeyboardNavigationDom.isDragCell($cell); if (isDragCell) { return false } if (this._isMasterDetailCell($cell)) { return true } if (visibleColumnCount > columnIndex && (!isMasterDetailRow && column && (!(0, _type.isDefined)(column.groupIndex) || isShowWhenGrouped && isDataCell) || parseInt($cell.attr("colspan"), 10) > 1)) { var rowItems = this._dataController.items(); var visibleRowIndex = this._rowsView.getRowIndex($row); var row = rowItems[visibleRowIndex]; var isCellEditing = editingController && this._isCellEditMode() && editingController.isEditing(); var isRowEditingInCurrentRow = editingController && editingController.isEditRow(visibleRowIndex); var isEditing = isRowEditingInCurrentRow || isCellEditing; if (column.command) { if (this._isLegacyNavigation()) { return !isEditing && "expand" === column.command } if (isCellEditing) { return false } if (isRowEditingInCurrentRow) { return "select" !== column.command } return !isEditing } if (isCellEditing && row && "data" !== row.rowType) { return false } return !isEditing || column.allowEditing || isClick } } }; _proto.getFirstValidCellInRow = function($row, columnIndex) { var $cells = $row.find("> td"); var $cell; var $result; columnIndex = columnIndex || 0; for (var i = columnIndex; i < $cells.length; ++i) { $cell = $cells.eq(i); if (this._isCellValid($cell)) { $result = $cell; break } } return $result }; _proto._getNextCell = function(keyCode, elementType, cellPosition) { var focusedCellPosition = cellPosition || this._focusedCellPosition; var isRowFocusType = this.isRowFocusType(); var includeCommandCells = isRowFocusType || ["next", "previous"].includes(keyCode); var $cell; var $row; if (this._focusedView && focusedCellPosition) { var newFocusedCellPosition = this._getNewPositionByCode(focusedCellPosition, elementType, keyCode); $cell = (0, _renderer.default)(this._getCell(newFocusedCellPosition)); var isLastCellOnDirection = "previous" === keyCode ? this._isFirstValidCell(newFocusedCellPosition) : this._isLastValidCell(newFocusedCellPosition); if ((0, _m_keyboard_navigation_utils.isElementDefined)($cell) && !this._isCellValid($cell) && this._isCellInRow(newFocusedCellPosition, includeCommandCells) && !isLastCellOnDirection) { if (isRowFocusType) { $cell = this.getFirstValidCellInRow($cell.parent(), newFocusedCellPosition.columnIndex) } else { $cell = this._getNextCell(keyCode, "cell", newFocusedCellPosition) } } $row = (0, _m_keyboard_navigation_utils.isElementDefined)($cell) && $cell.parent(); if (this._hasSkipRow($row)) { var rowIndex = this._getRowIndex($row); if (!this._isLastRow(rowIndex)) { $cell = this._getNextCell(keyCode, "row", { columnIndex: focusedCellPosition.columnIndex, rowIndex: rowIndex }) } else { return null } } return (0, _m_keyboard_navigation_utils.isElementDefined)($cell) ? $cell : null } return null }; _proto._startEditing = function(eventArgs, fastEditingKey) { var focusedCellPosition = this._focusedCellPosition; var visibleRowIndex = this.getVisibleRowIndex(); var visibleColumnIndex = this.getVisibleColumnIndex(); var row = this._dataController.items()[visibleRowIndex]; var column = this._columnsController.getVisibleColumns()[visibleColumnIndex]; if (this._isAllowEditing(row, column)) { if (this._isRowEditMode()) { this._editingController.editRow(visibleRowIndex) } else if (focusedCellPosition) { this._startEditCell(eventArgs, fastEditingKey) } } }; _proto._isAllowEditing = function(row, column) { return this._editingController.allowUpdating({ row: row }) && column && column.allowEditing }; _proto._editFocusedCell = function() { var rowIndex = this.getVisibleRowIndex(); var colIndex = this.getVisibleColumnIndex(); return this._editingController.editCell(rowIndex, colIndex) }; _proto._startEditCell = function(eventArgs, fastEditingKey) { var _this7 = this; this._fastEditingStarted = (0, _type.isDefined)(fastEditingKey); var editResult = this._editFocusedCell(); var isEditResultDeferred = (0, _type.isDeferred)(editResult); var isFastEditingStarted = this._isFastEditingStarted(); if (!isFastEditingStarted || !isEditResultDeferred && !editResult) { return } var editorValue = isEditResultDeferred && fastEditingKey === _const2.FAST_EDITING_DELETE_KEY ? "" : fastEditingKey; var editResultDeferred = isEditResultDeferred ? editResult : (0, _deferred.Deferred)().resolve(); var waitTemplatesDeferred = this._rowsView.waitAsyncTemplates(true); (0, _deferred.when)(editResultDeferred, waitTemplatesDeferred).done((function() { _this7._editingCellHandler(eventArgs, editorValue) })) }; _proto._editingCellHandler = function(eventArgs, editorValue) { var _a, _b; var $input = this._getFocusedCell().find(_const2.INTERACTIVE_ELEMENTS_SELECTOR).eq(0); var $inputElement = $input.get(0); if (!$inputElement) { return } var keyDownEvent = (0, _index.createEvent)(eventArgs, { type: "keydown", target: $inputElement }); var keyPressEvent = (0, _index.createEvent)(eventArgs, { type: "keypress", target: $inputElement }); var inputEvent = (0, _index.createEvent)(eventArgs, { type: "input", target: $inputElement }); if (inputEvent.originalEvent) { inputEvent.originalEvent = (0, _index.createEvent)(inputEvent.originalEvent, { data: editorValue }) } null === (_b = (_a = $inputElement).select) || void 0 === _b ? void 0 : _b.call(_a); _events_engine.default.trigger($input, keyDownEvent); if (!keyDownEvent.isDefaultPrevented()) { _events_engine.default.trigger($input, keyPressEvent); if (!keyPressEvent.isDefaultPrevented()) { var timeout = _browser.default.mozilla ? 25 : 0; setTimeout((function() { $input.val(editorValue); var $widgetContainer = $input.closest(".".concat(_const2.WIDGET_CLASS)); _events_engine.default.off($widgetContainer, "focusout"); _events_engine.default.one($widgetContainer, "focusout", (function() { _events_engine.default.trigger($input, "change") })); _events_engine.default.trigger($input, inputEvent) }), timeout) } } }; _proto._fireFocusChangingEvents = function($event, $cell, fireRowEvent, isHighlighted) { var _a; var args = {}; var cellPosition = null !== (_a = this._getCellPosition($cell)) && void 0 !== _a ? _a : {}; if (this.isCellFocusType()) { args = this._fireFocusedCellChanging($event, $cell, isHighlighted); if (!args.cancel) { cellPosition.columnIndex = args.newColumnIndex; cellPosition.rowIndex = args.newRowIndex; isHighlighted = args.isHighlighted; $cell = (0, _renderer.default)(this._getCell(cellPosition)) } } if (!args.cancel && fireRowEvent && $cell) { args = this._fireFocusedRowChanging($event, $cell.parent()); if (!args.cancel) { cellPosition.rowIndex = args.newRowIndex; args.isHighlighted = isHighlighted } } args.$newCellElement = (0, _renderer.default)(this._getCell(cellPosition)); if (!args.$newCellElement.length) { args.$newCellElement = $cell } return args }; _proto._fireFocusedCellChanging = function($event, $cellElement, isHighlighted) { var prevColumnIndex = this.option("focusedColumnIndex"); var prevRowIndex = this.option("focusedRowIndex"); var cellPosition = this._getCellPosition($cellElement); var columnIndex = cellPosition ? cellPosition.columnIndex : -1; var rowIndex = cellPosition ? cellPosition.rowIndex : -1; var visibleRows = this._dataController.getVisibleRows(); var visibleColumns = this._columnsController.getVisibleColumns(); var args = { cellElement: $cellElement, prevColumnIndex: prevColumnIndex, prevRowIndex: prevRowIndex, newColumnIndex: columnIndex, newRowIndex: rowIndex, rows: visibleRows, columns: visibleColumns, event: $event, isHighlighted: isHighlighted || false, cancel: false }; this._canceledCellPosition = null; this.executeAction("onFocusedCellChanging", args); if (args.newColumnIndex !== columnIndex || args.newRowIndex !== rowIndex) { args.$newCellElement = (0, _renderer.default)(this._getCell({ columnIndex: args.newColumnIndex, rowIndex: args.newRowIndex })) } if (args.cancel) { this._canceledCellPosition = { rowIndex: rowIndex, columnIndex: columnIndex } } return args }; _proto._fireFocusedCellChanged = function($cell) { var columnIndex = this._rowsView.getCellIndex($cell); var rowOptions = null === $cell || void 0 === $cell ? void 0 : $cell.parent().data("options"); var focusedRowKey = null === rowOptions || void 0 === rowOptions ? void 0 : rowOptions.key; this._memoFireFocusedCellChanged(focusedRowKey, columnIndex) }; _proto._memoFireFocusedCellChanged = function(rowKey, columnIndex) { var $cell = this._getFocusedCell(); var rowIndex = this._getRowIndex(null === $cell || void 0 === $cell ? void 0 : $cell.parent()); var localRowIndex = Math.min(rowIndex - this._dataController.getRowIndexOffset(), this._dataController.items().length - 1); var isEditingCell = this._editingController.isEditCell(localRowIndex, columnIndex); if (isEditingCell) { return } var row = this._dataController.items()[localRowIndex]; var column = this._columnsController.getVisibleColumns()[columnIndex]; this.executeAction("onFocusedCellChanged", { cellElement: $cell ? (0, _element.getPublicElement)($cell) : void 0, columnIndex: columnIndex, rowIndex: rowIndex, row: row, column: column }) }; _proto._fireFocusedRowChanging = function(eventArgs, $newFocusedRow) { var newRowIndex = this._getRowIndex($newFocusedRow); var prevFocusedRowIndex = this.option("focusedRowIndex"); var loadingOperationTypes = this._dataController.loadingOperationTypes(); var args = { rowElement: $newFocusedRow, prevRowIndex: prevFocusedRowIndex, newRowIndex: newRowIndex, event: eventArgs, rows: this._dataController.getVisibleRows(), cancel: false }; if (!this._dataController || this._dataController.isLoading() && (loadingOperationTypes.reload || loadingOperationTypes.paging)) { args.cancel = true; return args } if (this.option("focusedRowEnabled")) { this.executeAction("onFocusedRowChanging", args); if (!args.cancel && args.newRowIndex !== newRowIndex) { args.resetFocusedRow = args.newRowIndex < 0; if (!args.resetFocusedRow) { this.setFocusedRowIndex(args.newRowIndex) } args.rowIndexChanged = true } } return args }; _proto._fireFocusedRowChanged = function() { var _a; var focusedRowEnabled = this.option("focusedRowEnabled"); var focusedRowKey = this.option("focusedRowKey"); var focusedRowIndex = null === (_a = this._focusController) || void 0 === _a ? void 0 : _a.getFocusedRowIndexByKey(focusedRowKey); if (!focusedRowEnabled || (0, _type.isDefined)(focusedRowKey) && focusedRowIndex < 0) { return } this._memoFireFocusedRowChanged(focusedRowKey, focusedRowIndex) }; _proto._memoFireFocusedRowChanged = function(focusedRowKey, focusedRowIndex) { var localRowIndex = focusedRowIndex - this._dataController.getRowIndexOffset(); this.executeAction("onFocusedRowChanged", { rowElement: focusedRowIndex < 0 ? void 0 : this._rowsView.getRowElement(localRowIndex), rowIndex: focusedRowIndex, row: focusedRowIndex < 0 ? void 0 : this._dataController.getVisibleRows()[localRowIndex] }) }; _proto._isEventInCurrentGrid = function(event) { return _m_utils.default.isElementInCurrentGrid(this, (0, _renderer.default)(event.target)) }; _proto._isRowEditMode = function() { var editMode = this._editingController.getEditMode(); return editMode === _const.EDIT_MODE_ROW || editMode === _const.EDIT_MODE_FORM }; _proto._isCellEditMode = function() { var editMode = this._editingController.getEditMode(); return editMode === _const.EDIT_MODE_CELL || editMode === _const.EDIT_MODE_BATCH }; _proto._isFastEditingAllowed = function() { return this._isCellEditMode() && this.option("keyboardNavigation.editOnKeyPress") }; _proto._getInteractiveElement = function($cell, isLast) { var $focusedElement = $cell.find(_const2.INTERACTIVE_ELEMENTS_SELECTOR).filter(":visible"); return isLast ? $focusedElement.last() : $focusedElement.first() }; _proto._applyTabIndexToElement = function($element) { var tabIndex = this.option("tabIndex") || 0; $element.attr("tabindex", (0, _type.isDefined)(tabIndex) ? tabIndex : 0) }; _proto._getCell = function(cellPosition) { if (this._focusedView && cellPosition) { var rowIndexOffset = this._dataController.getRowIndexOffset(); var column = this._columnsController.getVisibleColumns(null, true)[cellPosition.columnIndex]; var columnIndexOffset = column && column.fixed ? this._getFixedColumnIndexOffset(column) : this._columnsController.getColumnIndexOffset(); var rowIndex = cellPosition.rowIndex >= 0 ? cellPosition.rowIndex - rowIndexOffset : -1; var columnIndex = cellPosition.columnIndex >= 0 ? cellPosition.columnIndex - columnIndexOffset : -1; return this._focusedView.getCell({ rowIndex: rowIndex, columnIndex: columnIndex }) } }; _proto._getRowIndex = function($row) { var rowIndex = this._rowsView.getRowIndex($row); if (rowIndex >= 0) { rowIndex += this._dataController.getRowIndexOffset() } return rowIndex }; _proto._hasSkipRow = function($row) { var row = $row && $row.get(0); return row && ("none" === row.style.display || (0, _m_keyboard_navigation_utils.isDetailRow)($row) && !$row.hasClass(this.addWidgetPrefix(_const.EDIT_FORM_CLASS))) }; _proto._allowEditingOnEnterKey = function() { return "startEdit" === this.option("keyboardNavigation.enterKeyAction") }; _proto._isLegacyNavigation = function() { return this.option("useLegacyKeyboardNavigation") }; _proto._getDirectionCodeByKey = function(key) { var directionCode; switch (key) { case "upArrow": directionCode = "prevRow"; break; case "downArrow": directionCode = "nextRow"; break; case "leftArrow": directionCode = this.option("rtlEnabled") ? "nextInRow" : "previousInRow"; break; case "rightArrow": directionCode = this.option("rtlEnabled") ? "previousInRow" : "nextInRow" } return directionCode }; _proto._isVirtualScrolling = function() { var scrollingMode = this.option("scrolling.mode"); return "virtual" === scrollingMode || "infinite" === scrollingMode }; _proto._isVirtualRowRender = function() { return this._isVirtualScrolling() || _m_utils.default.isVirtualRowRendering(this) }; _proto._isVirtualColumnRender = function() { return "virtual" === this.option("scrolling.columnRenderingMode") }; _proto._scrollBy = function(left, top, rowIndex, $event) { var that = this; var scrollable = this._rowsView.getScrollable(); if (that._focusedCellPosition) { scrollable.on("scroll", (function scrollHandler() { scrollable.off("scroll", scrollHandler); setTimeout(that.restoreFocusableElement.bind(that, rowIndex, $event)) })) } return scrollable.scrollBy({ left: left, top: top }) }; _proto._isInsideEditForm = function(element) { var $editForm = (0, _renderer.default)(element).closest(".".concat(this.addWidgetPrefix(_const.EDIT_FORM_CLASS))); return $editForm.length && this.elementIsInsideGrid($editForm) }; _proto._isMasterDetailCell = function(element) { var $masterDetailCell = (0, _renderer.default)(element).closest(".".concat(_const2.MASTER_DETAIL_CELL_CLASS)); return $masterDetailCell.length && this.elementIsInsideGrid($masterDetailCell) }; _proto._processNextCellInMasterDetail = function($nextCell, _$cell) { if (!this._isInsideEditForm($nextCell) && $nextCell) { this._applyTabIndexToElement($nextCell) } }; _proto._handleTabKeyOnMasterDetailCell = function(target, direction) { if (this._isMasterDetailCell(target)) { this._updateFocusedCellPosition((0, _renderer.default)(target), direction); var $nextCell = this._getNextCell(direction, "row"); this._processNextCellInMasterDetail($nextCell, (0, _renderer.default)(target)); return true } return false }; _proto._getElementType = function(target) { return (0, _renderer.default)(target).is("tr") ? "row" : "cell" }; _proto._isFastEditingStarted = function() { return this._isFastEditingAllowed() && this._fastEditingStarted }; _proto._getVisibleColumnCount = function() { return this._columnsController.getVisibleColumns(null, true).length }; _proto._isCellInRow = function(cellPosition, includeCommandCells) { var columnIndex = cellPosition.columnIndex; var visibleColumnsCount = this._getVisibleColumnCount(); return includeCommandCells ? columnIndex >= 0 && columnIndex <= visibleColumnsCount - 1 : columnIndex > 0 && columnIndex < visibleColumnsCount - 1 }; _proto._isCellElement = function($element) { return $element.length && "TD" === $element[0].tagName }; _proto._getCellElementFromTarget = function(target) { var elementType = this._getElementType(target); var $targetElement = (0, _renderer.default)(target); var $cell; if ("cell" === elementType) { $cell = $targetElement.closest(".".concat(_const.ROW_CLASS, " > td")) } else { $cell = $targetElement.children().not(".".concat(_const2.COMMAND_EXPAND_CLASS)).first() } return $cell }; _proto._getRowsViewElement = function() { var _a; return null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.element() }; _proto.isKeyboardEnabled = function() { return this.option("keyboardNavigation.enabled") }; _proto._processCanceledEditCellPosition = function(rowIndex, columnIndex) { if (this._canceledCellPosition) { var isCanceled = this._canceledCellPosition.rowIndex === rowIndex && this._canceledCellPosition.columnIndex === columnIndex; this._canceledCellPosition = null; return isCanceled } return }; _proto.updateFocusedRowIndex = function() { var dataController = this._dataController; var visibleRowIndex = this.getVisibleRowIndex(); var visibleItems = dataController.items(); var lastVisibleIndex = visibleItems.length ? visibleItems.length - 1 : -1; var rowIndexOffset = dataController.getRowIndexOffset(); if (lastVisibleIndex >= 0 && visibleRowIndex > lastVisibleIndex) { this.setFocusedRowIndex(lastVisibleIndex + rowIndexOffset) } }; return KeyboardNavigationController }(_m_modules.default.ViewController); exports.KeyboardNavigationController = KeyboardNavigationController; var keyboardNavigationModule = { defaultOptions: function() { return { useLegacyKeyboardNavigation: false, keyboardNavigation: { enabled: true, enterKeyAction: "startEdit", enterKeyDirection: "none", editOnKeyPress: false } } }, controllers: { keyboardNavigation: KeyboardNavigationController }, extenders: { views: { rowsView: { _rowClick: function(e) { var editRowIndex = this.getController("editing").getEditRowIndex(); var keyboardController = this.getController("keyboardNavigation"); var isKeyboardEnabled = keyboardController.isKeyboardEnabled(); if (editRowIndex === e.rowIndex) { keyboardController.setCellFocusType() } var needTriggerPointerEventHandler = ((0, _m_keyboard_navigation_utils.isMobile)() || !isKeyboardEnabled) && this.option("focusedRowEnabled"); if (needTriggerPointerEventHandler) { this._triggerPointerDownEventHandler(e, !isKeyboardEnabled) } this.callBase.apply(this, arguments) }, _triggerPointerDownEventHandler: function(e, force) { var originalEvent = e.event.originalEvent; if (originalEvent) { var keyboardController = this.getController("keyboardNavigation"); var $cell = (0, _renderer.default)(originalEvent.target); var columnIndex = this.getCellIndex($cell); var column = this.getController("columns").getVisibleColumns()[columnIndex]; var row = this.getController("data").items()[e.rowIndex]; if (keyboardController._isAllowEditing(row, column) || force) { var eventArgs = (0, _index.createEvent)(originalEvent, { currentTarget: originalEvent.target }); keyboardController._pointerEventHandler(eventArgs) } } }, renderFocusState: function(params) { var _ref = null !== params && void 0 !== params ? params : {}, preventScroll = _ref.preventScroll, pageSizeChanged = _ref.pageSizeChanged; var keyboardController = this.getController("keyboardNavigation"); var $rowsViewElement = this.element(); if ($rowsViewElement && !(0, _selectors.focused)($rowsViewElement)) { $rowsViewElement.attr("tabindex", null) } pageSizeChanged && keyboardController.updateFocusedRowIndex(); var rowIndex = keyboardController.getVisibleRowIndex(); if (!(0, _type.isDefined)(rowIndex) || rowIndex < 0) { rowIndex = 0 } var cellElements = this.getCellElements(rowIndex); if (keyboardController.isKeyboardEnabled() && (null === cellElements || void 0 === cellElements ? void 0 : cellElements.length)) { this.updateFocusElementTabIndex(cellElements, preventScroll) } }, updateFocusElementTabIndex: function(cellElements) { var keyboardController = this.getController("keyboardNavigation"); var $row = cellElements.eq(0).parent(); if ((0, _m_keyboard_navigation_utils.isGroupRow)($row)) { keyboardController._applyTabIndexToElement($row) } else { var columnIndex = keyboardController.getColumnIndex(); if (!(0, _type.isDefined)(columnIndex) || columnIndex < 0) { columnIndex = 0 } this._updateFocusedCellTabIndex(cellElements, columnIndex) } }, _updateFocusedCellTabIndex: function(cellElements, columnIndex) { var keyboardController = this.getController("keyboardNavigation"); var cellElementsLength = cellElements ? cellElements.length : -1; var updateCellTabIndex = function($cell) { var isMasterDetailCell = keyboardController._isMasterDetailCell($cell); var isValidCell = keyboardController._isCellValid($cell); if (!isMasterDetailCell && isValidCell && keyboardController._isCellElement($cell)) { keyboardController._applyTabIndexToElement($cell); keyboardController.setCellFocusType(); return true } return }; var $cell = _dom.GridCoreKeyboardNavigationDom.getCellToFocus(cellElements, columnIndex); if ($cell.length) { updateCellTabIndex($cell) } else { if (cellElementsLength <= columnIndex) { columnIndex = cellElementsLength - 1 } for (var i = columnIndex; i < cellElementsLength; ++i) { if (updateCellTabIndex((0, _renderer.default)(cellElements[i]))) { break } } } }, renderDelayedTemplates: function(change) { this.callBase.apply(this, arguments); this._renderFocusByChange(change) }, _renderFocusByChange: function(change) { var _ref2 = null !== change && void 0 !== change ? change : {}, operationTypes = _ref2.operationTypes, repaintChangesOnly = _ref2.repaintChangesOnly; var _ref3 = null !== operationTypes && void 0 !== operationTypes ? operationTypes : {}, fullReload = _ref3.fullReload, pageSize = _ref3.pageSize; if (!change || !repaintChangesOnly || fullReload || pageSize) { var preventScroll = (0, _m_keyboard_navigation_utils.shouldPreventScroll)(this); this.renderFocusState({ preventScroll: preventScroll, pageSizeChanged: pageSize }) } }, _renderCore: function(change) { var deferred = this.callBase.apply(this, arguments); this._renderFocusByChange(change); return deferred }, _editCellPrepared: function($cell) { var editorInstance = this._getEditorInstance($cell); var keyboardController = this.getController("keyboardNavigation"); var isEditingNavigationMode = keyboardController && keyboardController._isFastEditingStarted(); if (editorInstance && isEditingNavigationMode) { this._handleEditingNavigationMode(editorInstance) } this.callBase.apply(this, arguments) }, _handleEditingNavigationMode: function(editorInstance) { ["downArrow", "upArrow"].forEach((function(keyName) { var originalKeyHandler = editorInstance._supportedKeys()[keyName]; editorInstance.registerKeyHandler(keyName, (function(e) { var isDropDownOpened = "true" === editorInstance._input().attr("aria-expanded"); if (isDropDownOpened) { return originalKeyHandler && originalKeyHandler.call(editorInstance, e) } })) })); editorInstance.registerKeyHandler("leftArrow", _common.noop); editorInstance.registerKeyHandler("rightArrow", _common.noop); var isDateBoxWithMask = editorInstance.NAME === _const2.DATEBOX_WIDGET_NAME && editorInstance.option("useMaskBehavior"); if (isDateBoxWithMask) { editorInstance.registerKeyHandler("enter", _common.noop) } }, _getEditorInstance: function($cell) { var $editor = $cell.find(".dx-texteditor").eq(0); return _m_utils.default.getWidgetInstance($editor) } } }, controllers: { editing: { editCell: function(rowIndex, columnIndex) { var keyboardController = this.getController("keyboardNavigation"); if (keyboardController._processCanceledEditCellPosition(rowIndex, columnIndex)) { return false } var isCellEditing = this.callBase(rowIndex, columnIndex); if (isCellEditing) { keyboardController.setupFocusedView() } return isCellEditing }, editRow: function(rowIndex) { var keyboardController = this.getController("keyboardNavigation"); var visibleColumnIndex = keyboardController.getVisibleColumnIndex(); var column = this._columnsController.getVisibleColumns()[visibleColumnIndex]; if (column && column.type || this.option("editing.mode") === _const.EDIT_MODE_FORM) { keyboardController._resetFocusedCell() } this.callBase(rowIndex) }, addRow: function(parentKey) { var keyboardController = this.getController("keyboardNavigation"); keyboardController.setupFocusedView(); keyboardController.setCellFocusType(); return this.callBase.apply(this, arguments) }, getFocusedCellInRow: function(rowIndex) { var keyboardNavigationController = this.getController("keyboardNavigation"); var $cell = this.callBase(rowIndex); if (keyboardNavigationController.isKeyboardEnabled() && keyboardNavigationController._focusedCellPosition.rowIndex === rowIndex) { var $focusedCell = keyboardNavigationController._getFocusedCell(); if ((0, _m_keyboard_navigation_utils.isElementDefined)($focusedCell) && !$focusedCell.hasClass(_const2.COMMAND_EDIT_CLASS)) { $cell = $focusedCell } } return $cell }, _processCanceledEditingCell: function() { var _this8 = this; this.closeEditCell().done((function() { var keyboardNavigation = _this8.getController("keyboardNavigation"); keyboardNavigation._updateFocus() })) }, init: function() { this.callBase(); this._keyboardNavigationController = this.getController("keyboardNavigation") }, closeEditCell: function() { var keyboardNavigation = this._keyboardNavigationController; keyboardNavigation._fastEditingStarted = false; var result = this.callBase.apply(this, arguments); keyboardNavigation._updateFocus(); return result }, _delayedInputFocus: function() { this._keyboardNavigationController._isNeedScroll = true; this.callBase.apply(this, arguments) }, _isEditingStart: function() { var keyboardNavigation = this.getController("keyboardNavigation"); var cancel = this.callBase.apply(this, arguments); if (cancel && !keyboardNavigation._isNeedFocus) { var $cell = keyboardNavigation._getFocusedCell(); keyboardNavigation._focus($cell, true) } return cancel } }, data: { _correctRowIndices: function(getRowIndexCorrection) { var that = this; var keyboardNavigationController = that.getController("keyboardNavigation"); var editorFactory = that.getController("editorFactory"); var focusedCellPosition = keyboardNavigationController._focusedCellPosition; that.callBase.apply(that, arguments); if (focusedCellPosition && focusedCellPosition.rowIndex >= 0) { var focusedRowIndexCorrection = getRowIndexCorrection(focusedCellPosition.rowIndex); if (focusedRowIndexCorrection) { focusedCellPosition.rowIndex += focusedRowIndexCorrection; editorFactory.refocus() } } }, getMaxRowIndex: function() { var result = this.items().length - 1; var virtualItemsCount = this.virtualItemsCount(); if (virtualItemsCount) { var rowIndexOffset = this.getRowIndexOffset(); result += rowIndexOffset + virtualItemsCount.end } return result } }, adaptiveColumns: { _showHiddenCellsInView: function(_ref4) { var viewName = _ref4.viewName, $cells = _ref4.$cells, isCommandColumn = _ref4.isCommandColumn; this.callBase.apply(this, arguments); viewName === _const2.COLUMN_HEADERS_VIEW && !isCommandColumn && $cells.each((function(_, cellElement) { var $cell = (0, _renderer.default)(cellElement); (0, _m_keyboard_navigation_utils.isCellInHeaderRow)($cell) && $cell.attr("tabindex", 0) })) }, _hideVisibleCellInView: function(_ref5) { var viewName = _ref5.viewName, $cell = _ref5.$cell, isCommandColumn = _ref5.isCommandColumn; this.callBase.apply(this, arguments); if (viewName === _const2.COLUMN_HEADERS_VIEW && !isCommandColumn && (0, _m_keyboard_navigation_utils.isCellInHeaderRow)($cell)) { $cell.removeAttr("tabindex") } } } } } }; exports.keyboardNavigationModule = keyboardNavigationModule }, 67250: /*!***************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation_utils.js ***! \***************************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.isCellInHeaderRow = function($cell) { return !!$cell.parent(".".concat(_const2.HEADER_ROW_CLASS)).length }; exports.isDataRow = function($row) { return $row && $row.hasClass(_const2.DATA_ROW_CLASS) }; exports.isDetailRow = function($row) { return $row && $row.hasClass(_const2.MASTER_DETAIL_ROW_CLASS) }; exports.isEditorCell = function(that, $cell) { return !that._isRowEditMode() && $cell && !$cell.hasClass(_const2.COMMAND_SELECT_CLASS) && $cell.hasClass(_const.EDITOR_CELL_CLASS) }; exports.isElementDefined = function($element) { return (0, _type.isDefined)($element) && $element.length > 0 }; exports.isFixedColumnIndexOffsetRequired = function(that, column) { var rtlEnabled = that.option("rtlEnabled"); if (rtlEnabled) { return !("right" === column.fixedPosition || (0, _type.isDefined)(column.command) && !(0, _type.isDefined)(column.fixedPosition)) } return !(!(0, _type.isDefined)(column.fixedPosition) || "left" === column.fixedPosition) }; exports.isGroupFooterRow = function($row) { return $row && $row.hasClass("dx-datagrid-group-footer") }; exports.isGroupRow = function($row) { return $row && $row.hasClass(_const2.GROUP_ROW_CLASS) }; exports.isMobile = function() { return "desktop" !== _devices.default.current().deviceType }; exports.isNotFocusedRow = function($row) { return !$row || $row.hasClass(_const2.FREESPACE_ROW_CLASS) || $row.hasClass(_const2.VIRTUAL_ROW_CLASS) }; exports.shouldPreventScroll = function(that) { var keyboardController = that.getController("keyboardNavigation"); return keyboardController._isVirtualScrolling() ? that.option("focusedRowIndex") === keyboardController.getRowIndex() : false }; var _devices = (obj = __webpack_require__( /*! ../../../../core/devices */ 20530), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _const = __webpack_require__( /*! ../editing/const */ 72313); var _const2 = __webpack_require__( /*! ./const */ 67004) }, 9130: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/m_accessibility.js ***! \*******************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } Object.defineProperty(exports, "__esModule", { value: true }); exports.registerKeyboardAction = void 0; var accessibility = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../../../ui/shared/accessibility */ 56756)); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } exports.registerKeyboardAction = function(viewName, instance, $element, selector, action) { var keyboardController = instance.getController("keyboardNavigation"); if (instance.option("useLegacyKeyboardNavigation") || keyboardController && !keyboardController.isKeyboardEnabled()) { return } instance.createAction("onKeyDown"); accessibility.registerKeyboardAction(viewName, instance, $element, selector, action, (function(args) { instance.executeAction("onKeyDown", args) })) } }, 1229: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/m_export.js ***! \************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.prepareItems = function(items, emptyCell) { var defaultSetter = function(value) { return !value ? 1 : value }; var resultItems = []; var cols = (items[0] || []).reduce((function(sum, item) { return sum + defaultSetter(item.colspan) }), 0); var getItem = function(items) { var rowIndex = 0; var cellIndex = 0; return function() { var row = items[rowIndex] || []; var item = row[cellIndex++]; if (cellIndex >= row.length) { rowIndex++; cellIndex = 0 } if (item) { item.colspan = defaultSetter(item.colspan); item.rowspan = defaultSetter(item.rowspan) } return item } }(items); var addItem = function addItem(rowIndex, cellIndex, item) { var row = resultItems[rowIndex] = resultItems[rowIndex] || []; row[cellIndex] = item; if (item.colspan > 1 || item.rowspan > 1) { var clone = function(item) { return (0, _extend.extend)({}, item, emptyCell) }(item); for (var c = 1; c < item.colspan; c++) { addItem(rowIndex, cellIndex + c, clone) } for (var r = 1; r < item.rowspan; r++) { for (var _c = 0; _c < item.colspan; _c++) { addItem(rowIndex + r, cellIndex + _c, clone) } } } }; var item = getItem(); var rowIndex = 0; while (item) { for (var cellIndex = 0; cellIndex < cols; cellIndex++) { if (!item) { break } if (resultItems[rowIndex] && resultItems[rowIndex][cellIndex]) { continue } addItem(rowIndex, cellIndex, item); cellIndex += item.colspan - 1; item = getItem() } rowIndex++ } return resultItems }; var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306) }, 15943: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/m_modules.js ***! \*************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; exports.processModules = processModules; var _class = _interopRequireDefault(__webpack_require__( /*! ../../../core/class */ 38377)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/callbacks */ 44504)); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../localization/message */ 28109)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../ui/widget/ui.errors */ 96688)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var ModuleItem = _class.default.inherit({ _endUpdateCore: function() {}, ctor: function(component) { var that = this; that._updateLockCount = 0; that.component = component; that._actions = {}; that._actionConfigs = {}; (0, _iterator.each)(this.callbackNames() || [], (function(index, name) { var flags = that.callbackFlags(name) || {}; flags.unique = true; flags.syncStrategy = true; that[this] = (0, _callbacks.default)(flags) })) }, init: function() {}, callbackNames: function() {}, callbackFlags: function() {}, publicMethods: function() {}, beginUpdate: function() { this._updateLockCount++ }, endUpdate: function() { if (this._updateLockCount > 0) { this._updateLockCount--; if (!this._updateLockCount) { this._endUpdateCore() } } }, option: function(name) { var component = this.component; var optionCache = component._optionCache; if (1 === arguments.length && optionCache) { if (!(name in optionCache)) { optionCache[name] = component.option(name) } return optionCache[name] } return component.option.apply(component, arguments) }, _silentOption: function(name, value) { var component = this.component; var optionCache = component._optionCache; if (optionCache) { optionCache[name] = value } return component._setOptionWithoutOptionChange(name, value) }, localize: function(name) { var optionCache = this.component._optionCache; if (optionCache) { if (!(name in optionCache)) { optionCache[name] = _message.default.format(name) } return optionCache[name] } return _message.default.format(name) }, on: function() { return this.component.on.apply(this.component, arguments) }, off: function() { return this.component.off.apply(this.component, arguments) }, optionChanged: function(args) { if (args.name in this._actions) { this.createAction(args.name, this._actionConfigs[args.name]); args.handled = true } }, getAction: function(actionName) { return this._actions[actionName] }, setAria: function(name, value, $target) { var target = $target.get(0); var prefix = "role" !== name && "id" !== name ? "aria-" : ""; if (target.setAttribute) { target.setAttribute(prefix + name, value) } else { $target.attr(prefix + name, value) } }, _createComponent: function() { return this.component._createComponent.apply(this.component, arguments) }, getController: function(name) { return this.component._controllers[name] }, createAction: function(actionName, config) { if ((0, _type.isFunction)(actionName)) { var action = this.component._createAction(actionName.bind(this), config); return function(e) { action({ event: e }) } } this._actions[actionName] = this.component._createActionByOption(actionName, config); this._actionConfigs[actionName] = config; return }, executeAction: function(actionName, options) { var action = this._actions[actionName]; return action && action(options) }, dispose: function() { var that = this; (0, _iterator.each)(that.callbackNames() || [], (function() { that[this].empty() })) }, addWidgetPrefix: function(className) { var componentName = this.component.NAME; return "dx-".concat(componentName.slice(2).toLowerCase()).concat(className ? "-".concat(className) : "") }, getWidgetContainerClass: function() { var containerName = "dxDataGrid" === this.component.NAME ? null : "container"; return this.addWidgetPrefix(containerName) }, elementIsInsideGrid: function($element) { var $gridElement = $element.closest(".".concat(this.getWidgetContainerClass())).parent(); return $gridElement.is(this.component.$element()) } }); var Controller = ModuleItem; var ViewController = Controller.inherit({ getView: function(name) { return this.component._views[name] }, getViews: function() { return this.component._views } }); var View = ModuleItem.inherit({ _isReady: function() { return this.component.isReady() }, _endUpdateCore: function() { this.callBase(); if (!this._isReady() && this._requireReady) { this._requireRender = false; this.component._requireResize = false } if (this._requireRender) { this._requireRender = false; this.render(this._$parent) } }, _invalidate: function(requireResize, requireReady) { this._requireRender = true; this.component._requireResize = (0, _window.hasWindow)() && (this.component._requireResize || requireResize); this._requireReady = this._requireReady || requireReady }, _renderCore: function() {}, _resizeCore: function() {}, _parentElement: function() { return this._$parent }, ctor: function(component) { this.callBase(component); this.renderCompleted = (0, _callbacks.default)(); this.resizeCompleted = (0, _callbacks.default)() }, element: function() { return this._$element }, getElementHeight: function() { var $element = this.element(); if (!$element) { return 0 } var marginTop = parseFloat($element.css("marginTop")) || 0; var marginBottom = parseFloat($element.css("marginBottom")) || 0; var _$element$get = $element.get(0), offsetHeight = _$element$get.offsetHeight; return offsetHeight + marginTop + marginBottom }, isVisible: function() { return true }, getTemplate: function(name) { return this.component._getTemplate(name) }, render: function($parent, options) { var _this = this; var $element = this._$element; var isVisible = this.isVisible(); if (!$element && !$parent) { return } this._requireReady = false; if (!$element) { $element = this._$element = (0, _renderer.default)("
").appendTo($parent); this._$parent = $parent } $element.toggleClass("dx-hidden", !isVisible); if (isVisible) { this.component._optionCache = {}; var deferred = this._renderCore(options); this.component._optionCache = void 0; if (deferred) { deferred.done((function() { _this.renderCompleted.fire(options) })) } else { this.renderCompleted.fire(options) } } }, resize: function() { this.isResizing = true; this._resizeCore(); this.resizeCompleted.fire(); this.isResizing = false }, focus: function(preventScroll) { this.element().get(0).focus({ preventScroll: preventScroll }) } }); function getExtendedTypes(types) { var moduleExtenders = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; var extendTypes = {}; Object.entries(moduleExtenders).forEach((function(_ref) { var _ref2 = _slicedToArray(_ref, 2), name = _ref2[0], extender = _ref2[1]; var currentType = types[name]; if (currentType) { if ((0, _type.isFunction)(extender)) { extendTypes[name] = extender(currentType) } else { var classType = currentType; extendTypes[name] = classType.inherit(extender) } } })); return extendTypes } function processModules(componentInstance, componentClass) { var modules = componentClass.modules; var modulesOrder = componentClass.modulesOrder; function createModuleItems(moduleTypes) { var moduleItems = {}; (0, _iterator.each)(moduleTypes, (function(name, moduleType) { var moduleItem = new moduleType(componentInstance); moduleItem.name = name; ! function(componentInstance, name, moduleItem) { var publicMethods = moduleItem.publicMethods(); if (publicMethods) { (0, _iterator.each)(publicMethods, (function(_, methodName) { if (moduleItem[methodName]) { if (!componentInstance[methodName]) { componentInstance[methodName] = function() { return moduleItem[methodName].apply(moduleItem, arguments) } } else { throw _ui.default.Error("E1005", methodName) } } else { throw _ui.default.Error("E1006", name, methodName) } })) } }(componentInstance, name, moduleItem); moduleItems[name] = moduleItem })); return moduleItems } if (modulesOrder) { modules.sort((function(module1, module2) { var orderIndex1 = modulesOrder.indexOf(module1.name); var orderIndex2 = modulesOrder.indexOf(module2.name); if (orderIndex1 < 0) { orderIndex1 = 1e6 } if (orderIndex2 < 0) { orderIndex2 = 1e6 } return orderIndex1 - orderIndex2 })) } var rootControllerTypes = {}; var rootViewTypes = {}; modules.forEach((function(_ref3) { var moduleName = _ref3.name, _ref3$controllers = _ref3.controllers, controllers = void 0 === _ref3$controllers ? {} : _ref3$controllers, _ref3$views = _ref3.views, views = void 0 === _ref3$views ? {} : _ref3$views; Object.entries(controllers).forEach((function(_ref4) { var _ref5 = _slicedToArray(_ref4, 2), name = _ref5[0], type = _ref5[1]; var _a; if (rootControllerTypes[name]) { throw _ui.default.Error("E1001", moduleName, name) } else if (!(null === (_a = null === type || void 0 === type ? void 0 : type.subclassOf) || void 0 === _a ? void 0 : _a.call(type, Controller))) { throw _ui.default.Error("E1002", moduleName, name) } rootControllerTypes[name] = type })); Object.entries(views).forEach((function(_ref6) { var _ref7 = _slicedToArray(_ref6, 2), name = _ref7[0], type = _ref7[1]; var _a; if (rootViewTypes[name]) { throw _ui.default.Error("E1003", moduleName, name) } else if (!(null === (_a = null === type || void 0 === type ? void 0 : type.subclassOf) || void 0 === _a ? void 0 : _a.call(type, View))) { throw _ui.default.Error("E1004", moduleName, name) } rootViewTypes[name] = type })) })); var moduleExtenders = modules.filter((function(_ref8) { var extenders = _ref8.extenders; return !!extenders })); var controllerTypes = moduleExtenders.reduce((function(types, _ref9) { var extenders = _ref9.extenders; return _extends(_extends({}, types), getExtendedTypes(types, null === extenders || void 0 === extenders ? void 0 : extenders.controllers)) }), rootControllerTypes); var viewTypes = moduleExtenders.reduce((function(types, _ref10) { var extenders = _ref10.extenders; return _extends(_extends({}, types), getExtendedTypes(types, null === extenders || void 0 === extenders ? void 0 : extenders.views)) }), rootViewTypes); componentInstance._controllers = createModuleItems(controllerTypes); componentInstance._views = createModuleItems(viewTypes) } var _default = { modules: [], View: View, ViewController: ViewController, Controller: Controller, registerModule: function(name, module) { var modules = this.modules; for (var i = 0; i < modules.length; i++) { if (modules[i].name === name) { return } } module.name = name; modules.push(module) }, registerModulesOrder: function(moduleNames) { this.modulesOrder = moduleNames }, unregisterModule: function(name) { this.modules = (0, _common.grep)(this.modules, (function(module) { return module.name !== name })) }, processModules: processModules, callModuleItemsMethod: function(that, methodName, args) { args = args || []; if (that._controllers) { (0, _iterator.each)(that._controllers, (function() { this[methodName] && this[methodName].apply(this, args) })) } if (that._views) { (0, _iterator.each)(that._views, (function() { this[methodName] && this[methodName].apply(this, args) })) } } }; exports.default = _default }, 60082: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/m_utils.js ***! \***********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _data = __webpack_require__( /*! ../../../core/utils/data */ 47617); var _deferred = __webpack_require__( /*! ../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _position = __webpack_require__( /*! ../../../core/utils/position */ 37518); var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _string = __webpack_require__( /*! ../../../core/utils/string */ 68752); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _variable_wrapper = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/variable_wrapper */ 26974)); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); var _data_source = __webpack_require__( /*! ../../../data/data_source/data_source */ 85273); var _utils = __webpack_require__( /*! ../../../data/data_source/utils */ 9234); var _utils2 = __webpack_require__( /*! ../../../data/utils */ 16454); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _format_helper = _interopRequireDefault(__webpack_require__( /*! ../../../format_helper */ 30343)); var _load_panel = _interopRequireDefault(__webpack_require__( /*! ../../../ui/load_panel */ 97218)); var _filtering = _interopRequireDefault(__webpack_require__( /*! ../../../ui/shared/filtering */ 18740)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var DATE_INTERVAL_SELECTORS = { year: function(value) { return value && value.getFullYear() }, month: function(value) { return value && value.getMonth() + 1 }, day: function(value) { return value && value.getDate() }, quarter: function(value) { return value && Math.floor(value.getMonth() / 3) + 1 }, hour: function(value) { return value && value.getHours() }, minute: function(value) { return value && value.getMinutes() }, second: function(value) { return value && value.getSeconds() } }; var getIntervalSelector = function() { var data = arguments[1]; var value = this.calculateCellValue(data); if (!(0, _type.isDefined)(value)) { return null } if (isDateType(this.dataType)) { var nameIntervalSelector = arguments[0]; return DATE_INTERVAL_SELECTORS[nameIntervalSelector](value) } if ("number" === this.dataType) { var groupInterval = arguments[0]; return Math.floor(Number(value) / groupInterval) * groupInterval } }; var equalSelectors = function(selector1, selector2) { if ((0, _type.isFunction)(selector1) && (0, _type.isFunction)(selector2)) { if (selector1.originalCallback && selector2.originalCallback) { return selector1.originalCallback === selector2.originalCallback && selector1.columnIndex === selector2.columnIndex } } return selector1 === selector2 }; function isDateType(dataType) { return "date" === dataType || "datetime" === dataType } var setEmptyText = function($container) { $container.get(0).textContent = "\xa0" }; var normalizeSortingInfo = function(sort) { sort = sort || []; var result = (0, _utils2.normalizeSortingInfo)(sort); for (var i = 0; i < sort.length; i++) { if (sort && sort[i] && void 0 !== sort[i].isExpanded) { result[i].isExpanded = sort[i].isExpanded } if (sort && sort[i] && void 0 !== sort[i].groupInterval) { result[i].groupInterval = sort[i].groupInterval } } return result }; var formatValue = function(value, options) { var valueText = _format_helper.default.format(value, options.format) || value && value.toString() || ""; var formatObject = { value: value, valueText: options.getDisplayFormat ? options.getDisplayFormat(valueText) : valueText, target: options.target || "row", groupInterval: options.groupInterval }; return options.customizeText ? options.customizeText.call(options, formatObject) : formatObject.valueText }; var getSummaryText = function(summaryItem, summaryTexts) { var displayFormat = summaryItem.displayFormat || summaryItem.columnCaption && summaryTexts["".concat(summaryItem.summaryType, "OtherColumn")] || summaryTexts[summaryItem.summaryType]; return formatValue(summaryItem.value, { format: summaryItem.valueFormat, getDisplayFormat: function(valueText) { return displayFormat ? (0, _string.format)(displayFormat, valueText, summaryItem.columnCaption) : valueText }, customizeText: summaryItem.customizeText }) }; var getWidgetInstance = function($element) { var editorData = $element.data && $element.data(); var dxComponents = editorData && editorData.dxComponents; var widgetName = dxComponents && dxComponents[0]; return widgetName && editorData[widgetName] }; var _default = { renderNoDataText: function($element) { $element = $element || this.element(); if (!$element) { return } var noDataClass = this.addWidgetPrefix("nodata"); var noDataElement = $element.find(".".concat(noDataClass)).last(); var isVisible = this._dataController.isEmpty(); var isLoading = this._dataController.isLoading(); if (!noDataElement.length) { noDataElement = (0, _renderer.default)("").addClass(noDataClass).appendTo($element) } if (isVisible && !isLoading) { noDataElement.removeClass("dx-hidden").text(this._getNoDataText()) } else { noDataElement.addClass("dx-hidden") } }, renderLoadPanel: function($element, $container, isLocalStore) { var loadPanelOptions; this._loadPanel && this._loadPanel.$element().remove(); loadPanelOptions = this.option("loadPanel"); if (loadPanelOptions && ("auto" === loadPanelOptions.enabled ? !isLocalStore : loadPanelOptions.enabled)) { loadPanelOptions = (0, _extend.extend)({ shading: false, message: loadPanelOptions.text, container: $container }, loadPanelOptions); this._loadPanel = this._createComponent((0, _renderer.default)("
").appendTo($container), _load_panel.default, loadPanelOptions) } else { this._loadPanel = null } }, calculateLoadPanelPosition: function($element) { var $window = (0, _renderer.default)((0, _window.getWindow)()); if ((0, _size.getHeight)($element) > (0, _size.getHeight)($window)) { return { of: $window, boundary: $element, collision: "fit" } } return { of: $element } }, getIndexByKey: function(key, items, keyName) { var index = -1; if (void 0 !== key && Array.isArray(items)) { keyName = arguments.length <= 2 ? "key" : keyName; for (var i = 0; i < items.length; i++) { var item = (0, _type.isDefined)(keyName) ? items[i][keyName] : items[i]; if ((0, _common.equalByValue)(key, item)) { index = i; break } } } return index }, combineFilters: function(filters, operation) { var _a; var resultFilter = []; operation = operation || "and"; for (var i = 0; i < filters.length; i++) { if (!filters[i]) { continue } if (1 === (null === (_a = filters[i]) || void 0 === _a ? void 0 : _a.length) && "!" === filters[i][0]) { if ("and" === operation) { return ["!"] } if ("or" === operation) { continue } } if (resultFilter.length) { resultFilter.push(operation) } resultFilter.push(filters[i]) } if (1 === resultFilter.length) { resultFilter = resultFilter[0] } if (resultFilter.length) { return resultFilter } return }, checkChanges: function(changes, changeNames) { var changesWithChangeNamesCount = 0; for (var i = 0; i < changeNames.length; i++) { if (changes[changeNames[i]]) { changesWithChangeNamesCount++ } } return changes.length && changes.length === changesWithChangeNamesCount }, equalFilterParameters: function equalFilterParameters(filter1, filter2) { if (Array.isArray(filter1) && Array.isArray(filter2)) { if (filter1.length !== filter2.length) { return false } for (var i = 0; i < filter1.length; i++) { if (!equalFilterParameters(filter1[i], filter2[i])) { return false } } return true } if ((0, _type.isFunction)(filter1) && filter1.columnIndex >= 0 && (0, _type.isFunction)(filter2) && filter2.columnIndex >= 0) { return filter1.columnIndex === filter2.columnIndex && (0, _data.toComparable)(filter1.filterValue) === (0, _data.toComparable)(filter2.filterValue) && (0, _data.toComparable)(filter1.selectedFilterOperation) === (0, _data.toComparable)(filter2.selectedFilterOperation) } return (0, _data.toComparable)(filter1) == (0, _data.toComparable)(filter2) }, proxyMethod: function(instance, methodName, defaultResult) { if (!instance[methodName]) { instance[methodName] = function() { var dataSource = this._dataSource; return dataSource ? dataSource[methodName].apply(dataSource, arguments) : defaultResult } } }, formatValue: formatValue, getFormatOptionsByColumn: function(column, target) { return { format: column.format, getDisplayFormat: column.getDisplayFormat, customizeText: column.customizeText, target: target, trueText: column.trueText, falseText: column.falseText } }, getDisplayValue: function(column, value, data, rowType) { if (column.displayValueMap && void 0 !== column.displayValueMap[value]) { return column.displayValueMap[value] } if (column.calculateDisplayValue && data && "group" !== rowType) { return column.calculateDisplayValue(data) } if (column.lookup && !("group" === rowType && (column.calculateGroupValue || column.calculateDisplayValue))) { return column.lookup.calculateCellValue(value) } return value }, getGroupRowSummaryText: function(summaryItems, summaryTexts) { var result = "("; for (var i = 0; i < summaryItems.length; i++) { var summaryItem = summaryItems[i]; result += (i > 0 ? ", " : "") + getSummaryText(summaryItem, summaryTexts) } return result + ")" }, getSummaryText: getSummaryText, normalizeSortingInfo: normalizeSortingInfo, getFormatByDataType: function(dataType) { switch (dataType) { case "date": return "shortDate"; case "datetime": return "shortDateShortTime"; default: return } }, getHeaderFilterGroupParameters: function(column, remoteGrouping) { var result = []; var dataField = column.dataField || column.name; var groupInterval = _filtering.default.getGroupInterval(column); if (groupInterval) { (0, _iterator.each)(groupInterval, (function(index, interval) { result.push(remoteGrouping ? { selector: dataField, groupInterval: interval, isExpanded: index < groupInterval.length - 1 } : getIntervalSelector.bind(column, interval)) })); return result } if (remoteGrouping) { result = [{ selector: dataField, isExpanded: false }] } else { result = function(data) { var result = column.calculateCellValue(data); if (void 0 === result || "" === result) { result = null } return result }; if (column.sortingMethod) { result = [{ selector: result, compare: column.sortingMethod.bind(column) }] } } return result }, equalSortParameters: function(sortParameters1, sortParameters2, ignoreIsExpanded) { sortParameters1 = normalizeSortingInfo(sortParameters1); sortParameters2 = normalizeSortingInfo(sortParameters2); if (Array.isArray(sortParameters1) && Array.isArray(sortParameters2)) { if (sortParameters1.length !== sortParameters2.length) { return false } for (var i = 0; i < sortParameters1.length; i++) { if (!equalSelectors(sortParameters1[i].selector, sortParameters2[i].selector) || sortParameters1[i].desc !== sortParameters2[i].desc || sortParameters1[i].groupInterval !== sortParameters2[i].groupInterval || !ignoreIsExpanded && Boolean(sortParameters1[i].isExpanded) !== Boolean(sortParameters2[i].isExpanded)) { return false } } return true } return (!sortParameters1 || !sortParameters1.length) === (!sortParameters2 || !sortParameters2.length) }, getPointsByColumns: function(items, pointCreated, isVertical, startColumnIndex) { var cellsLength = items.length; var notCreatePoint = false; var item; var offset; var columnIndex = startColumnIndex || 0; var result = []; var rtlEnabled; for (var i = 0; i <= cellsLength; i++) { if (i < cellsLength) { item = items.eq(i); offset = item.offset(); rtlEnabled = "rtl" === item.css("direction") } var point = { index: columnIndex, x: offset ? offset.left + (!isVertical && rtlEnabled ^ i === cellsLength ? (0, _position.getBoundingRect)(item[0]).width : 0) : 0, y: offset ? offset.top + (isVertical && i === cellsLength ? (0, _position.getBoundingRect)(item[0]).height : 0) : 0, columnIndex: columnIndex }; if (!isVertical && i > 0) { var prevItemOffset = items.eq(i - 1).offset(); if (prevItemOffset.top < point.y) { point.y = prevItemOffset.top } } if (pointCreated) { notCreatePoint = pointCreated(point) } if (!notCreatePoint) { result.push(point) } columnIndex++ } return result }, getExpandCellTemplate: function() { return { allowRenderToDetachedContainer: true, render: function(container, options) { var $container = (0, _renderer.default)(container); if ((0, _type.isDefined)(options.value) && !(options.data && options.data.isContinuation) && !options.row.isNewRow) { var rowsView = options.component.getView("rowsView"); $container.addClass("dx-datagrid-expand").addClass("dx-selection-disabled"); (0, _renderer.default)("
").addClass(options.value ? "dx-datagrid-group-opened" : "dx-datagrid-group-closed").appendTo($container); rowsView.setAria("label", options.value ? rowsView.localize("dxDataGrid-ariaCollapse") : rowsView.localize("dxDataGrid-ariaExpand"), $container) } else { setEmptyText($container) } } } }, setEmptyText: setEmptyText, isDateType: isDateType, getSelectionRange: function(focusedElement) { try { if (focusedElement) { return { selectionStart: focusedElement.selectionStart, selectionEnd: focusedElement.selectionEnd } } } catch (e) {} return {} }, setSelectionRange: function(focusedElement, selectionRange) { try { if (focusedElement && focusedElement.setSelectionRange) { focusedElement.setSelectionRange(selectionRange.selectionStart, selectionRange.selectionEnd) } } catch (e) {} }, focusAndSelectElement: function(component, $element) { var isFocused = $element.is(":focus"); _events_engine.default.trigger($element, "focus"); var isSelectTextOnEditingStart = component.option("editing.selectTextOnEditStart"); var element = $element.get(0); if (!isFocused && isSelectTextOnEditingStart && $element.is(".dx-texteditor-input") && !$element.is("[readonly]")) { var editor = getWidgetInstance($element.closest(".dx-texteditor")); (0, _deferred.when)(editor && editor._loadItemDeferred).done((function() { element.select() })) } }, getWidgetInstance: getWidgetInstance, getLastResizableColumnIndex: function(columns, resultWidths) { var hasResizableColumns = columns.some((function(column) { return column && !column.command && !column.fixed && false !== column.allowResizing })); var lastColumnIndex; for (lastColumnIndex = columns.length - 1; columns[lastColumnIndex]; lastColumnIndex--) { var column = columns[lastColumnIndex]; var width = resultWidths && resultWidths[lastColumnIndex]; var allowResizing = !hasResizableColumns || false !== column.allowResizing; if (!column.command && !column.fixed && "adaptiveHidden" !== width && allowResizing) { break } } return lastColumnIndex }, isElementInCurrentGrid: function(controller, $element) { if ($element && $element.length) { var $grid = $element.closest(".".concat(controller.getWidgetContainerClass())).parent(); return $grid.is(controller.component.$element()) } return false }, isVirtualRowRendering: function(that) { var rowRenderingMode = that.option("scrolling.rowRenderingMode"); var isVirtualMode = "virtual" === that.option("scrolling.mode"); var isAppendMode = "infinite" === that.option("scrolling.mode"); if (false === that.option("scrolling.legacyMode") && (isVirtualMode || isAppendMode)) { return true } return "virtual" === rowRenderingMode }, getPixelRatio: function(window) { return window.devicePixelRatio || 1 }, getContentHeightLimit: function(browser) { if (browser.mozilla) { return 8e6 } return 15e6 / this.getPixelRatio((0, _window.getWindow)()) }, normalizeLookupDataSource: function(lookup) { var lookupDataSourceOptions; if (lookup.items) { lookupDataSourceOptions = lookup.items } else { lookupDataSourceOptions = lookup.dataSource; if ((0, _type.isFunction)(lookupDataSourceOptions) && !_variable_wrapper.default.isWrapped(lookupDataSourceOptions)) { lookupDataSourceOptions = lookupDataSourceOptions({}) } } return (0, _utils.normalizeDataSourceOptions)(lookupDataSourceOptions) }, getWrappedLookupDataSource: function(column, dataSource, filter) { var _this = this; if (!dataSource) { return [] } var lookupDataSourceOptions = this.normalizeLookupDataSource(column.lookup); if (column.calculateCellValue !== column.defaultCalculateCellValue) { return lookupDataSourceOptions } var hasGroupPaging = dataSource.remoteOperations().groupPaging; var hasLookupOptimization = column.displayField && (0, _type.isString)(column.displayField); var cachedUniqueRelevantItems; var previousTake; var previousSkip; var sliceItems = function(items, loadOptions) { var _a; var start = null !== (_a = loadOptions.skip) && void 0 !== _a ? _a : 0; var end = loadOptions.take ? start + loadOptions.take : items.length; return items.slice(start, end) }; var loadUniqueRelevantItems = function(loadOptions) { var group = function(group) { if (!Array.isArray(group)) { group = [group] } return group.map((function(item, i) { if ((0, _type.isString)(item)) { return { selector: item, isExpanded: i < group.length - 1 } } return item })) }(hasLookupOptimization ? [column.dataField, column.displayField] : column.dataField); var d = new _deferred.Deferred; var canUseCache = cachedUniqueRelevantItems && (!hasGroupPaging || loadOptions.skip === previousSkip && loadOptions.take === previousTake); if (canUseCache) { d.resolve(sliceItems(cachedUniqueRelevantItems, loadOptions)) } else { previousSkip = loadOptions.skip; previousTake = loadOptions.take; dataSource.load({ filter: filter, group: group, take: hasGroupPaging ? loadOptions.take : void 0, skip: hasGroupPaging ? loadOptions.skip : void 0 }).done((function(items) { cachedUniqueRelevantItems = items; d.resolve(hasGroupPaging ? items : sliceItems(items, loadOptions)) })).fail(d.fail) } return d }; var lookupDataSource = _extends(_extends({}, lookupDataSourceOptions), { __dataGridSourceFilter: filter, load: function(loadOptions) { var d = new _deferred.Deferred; loadUniqueRelevantItems(loadOptions).done((function(items) { if (0 === items.length) { d.resolve([]); return } var filter = _this.combineFilters(items.flatMap((function(data) { return data.key })).map((function(key) { return [column.lookup.valueExpr, key] })), "or"); var newDataSource = new _data_source.DataSource(_extends(_extends(_extends({}, lookupDataSourceOptions), loadOptions), { filter: _this.combineFilters([filter, loadOptions.filter], "and"), paginate: false })); newDataSource.load().done(d.resolve).fail(d.fail) })).fail(d.fail); return d }, key: column.lookup.valueExpr, byKey: function(key) { var d = (0, _deferred.Deferred)(); this.load({ filter: [column.lookup.valueExpr, "=", key] }).done((function(arr) { d.resolve(arr[0]) })); return d.promise() } }); return lookupDataSource }, logHeaderFilterDeprecatedWarningIfNeed: function(component) { var logWarning = component._logDeprecatedOptionWarning.bind(component); if ((0, _type.isDefined)(component.option("headerFilter.allowSearch"))) { logWarning("headerFilter.allowSearch", { since: "23.1", alias: "headerFilter.search.enabled" }) } if ((0, _type.isDefined)(component.option("headerFilter.searchTimeout"))) { logWarning("headerFilter.searchTimeout", { since: "23.1", alias: "headerFilter.search.timeout" }) } var specificName = "dxPivotGrid" === component.NAME ? "dataSource.fields" : "columns"; var columns = component.option(specificName); if (!Array.isArray(columns)) { return }! function logSpecificDeprecatedWarningIfNeed(columns) { columns.forEach((function(column) { var _a; var headerFilter = column.headerFilter || {}; if ((0, _type.isDefined)(headerFilter.allowSearch)) { logWarning("".concat(specificName, "[].headerFilter.allowSearch"), { since: "23.1", alias: "".concat(specificName, "[].headerFilter.search.enabled") }) } if ((0, _type.isDefined)(headerFilter.searchMode)) { logWarning("".concat(specificName, "[].headerFilter.searchMode"), { since: "23.1", alias: "".concat(specificName, "[].headerFilter.search.mode") }) } if (null === (_a = column.columns) || void 0 === _a ? void 0 : _a.length) { logSpecificDeprecatedWarningIfNeed(column.columns) } })) }(columns) } }; exports.default = _default }, 82802: /*!*********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/master_detail/m_master_detail.js ***! \*********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.masterDetailModule = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var masterDetailModule = { defaultOptions: function() { return { masterDetail: { enabled: false, autoExpandAll: false, template: null } } }, extenders: { controllers: { columns: { _getExpandColumnsCore: function() { var expandColumns = this.callBase(); if (this.option("masterDetail.enabled")) { expandColumns.push({ type: "detailExpand", cellTemplate: _m_utils.default.getExpandCellTemplate() }) } return expandColumns } }, data: (initMasterDetail = function(that) { that._expandedItems = []; that._isExpandAll = that.option("masterDetail.autoExpandAll") }, { init: function() { initMasterDetail(this); this.callBase() }, expandAll: function(groupIndex) { var that = this; if (groupIndex < 0) { that._isExpandAll = true; that._expandedItems = []; that.updateItems() } else { that.callBase.apply(that, arguments) } }, collapseAll: function(groupIndex) { var that = this; if (groupIndex < 0) { that._isExpandAll = false; that._expandedItems = []; that.updateItems() } else { that.callBase.apply(that, arguments) } }, isRowExpanded: function(key) { var that = this; var expandIndex = _m_utils.default.getIndexByKey(key, that._expandedItems); if (Array.isArray(key)) { return that.callBase.apply(that, arguments) } return !!(that._isExpandAll ^ (expandIndex >= 0 && that._expandedItems[expandIndex].visible)) }, _getRowIndicesForExpand: function(key) { var rowIndex = this.getRowIndexByKey(key); return [rowIndex, rowIndex + 1] }, _changeRowExpandCore: function(key) { var that = this; var result; if (Array.isArray(key)) { result = that.callBase.apply(that, arguments) } else { var expandIndex = _m_utils.default.getIndexByKey(key, that._expandedItems); if (expandIndex >= 0) { var visible = that._expandedItems[expandIndex].visible; that._expandedItems[expandIndex].visible = !visible } else { that._expandedItems.push({ key: key, visible: true }) } that.updateItems({ changeType: "update", rowIndices: that._getRowIndicesForExpand(key) }); result = (new _deferred.Deferred).resolve() } return result }, _processDataItem: function(data, options) { var that = this; var dataItem = that.callBase.apply(that, arguments); dataItem.isExpanded = that.isRowExpanded(dataItem.key); if (void 0 === options.detailColumnIndex) { options.detailColumnIndex = -1; (0, _iterator.each)(options.visibleColumns, (function(index, column) { if ("expand" === column.command && !(0, _type.isDefined)(column.groupIndex)) { options.detailColumnIndex = index; return false } return })) } if (options.detailColumnIndex >= 0) { dataItem.values[options.detailColumnIndex] = dataItem.isExpanded } return dataItem }, _processItems: function(items, change) { var that = this; var changeType = change.changeType; var result = []; items = that.callBase.apply(that, arguments); if ("loadingAll" === changeType) { return items } if ("refresh" === changeType) { that._expandedItems = (0, _common.grep)(that._expandedItems, (function(item) { return item.visible })) }(0, _iterator.each)(items, (function(index, item) { result.push(item); var expandIndex = _m_utils.default.getIndexByKey(item.key, that._expandedItems); if ("data" === item.rowType && (item.isExpanded || expandIndex >= 0) && !item.isNewRow) { result.push({ visible: item.isExpanded, rowType: "detail", key: item.key, data: item.data, values: [] }) } })); return result }, optionChanged: function(args) { var isEnabledChanged; var isAutoExpandAllChanged; if ("masterDetail" === args.name) { args.name = "dataSource"; switch (args.fullName) { case "masterDetail": var value = args.value || {}; var previousValue = args.previousValue || {}; isEnabledChanged = value.enabled !== previousValue.enabled; isAutoExpandAllChanged = value.autoExpandAll !== previousValue.autoExpandAll; break; case "masterDetail.template": initMasterDetail(this); break; case "masterDetail.enabled": isEnabledChanged = true; break; case "masterDetail.autoExpandAll": isAutoExpandAllChanged = true } if (isEnabledChanged || isAutoExpandAllChanged) { initMasterDetail(this) } } this.callBase(args) } }), resizing: { fireContentReadyAction: function() { this.callBase.apply(this, arguments); this._updateParentDataGrids(this.component.$element()) }, _updateParentDataGrids: function($element) { var _this = this; var $masterDetailRow = $element.closest(".".concat("dx-master-detail-row")); if ($masterDetailRow.length) { (0, _deferred.when)(this._updateMasterDataGrid($masterDetailRow, $element)).done((function() { _this._updateParentDataGrids($masterDetailRow.parent()) })) } }, _updateMasterDataGrid: function($masterDetailRow, $detailElement) { var masterRowOptions = (0, _renderer.default)($masterDetailRow).data("options"); var masterDataGrid = (0, _renderer.default)($masterDetailRow).closest(".".concat(this.getWidgetContainerClass())).parent().data("dxDataGrid"); if (masterRowOptions && masterDataGrid) { return this._updateMasterDataGridCore(masterDataGrid, masterRowOptions) } }, _updateMasterDataGridCore: function(masterDataGrid, masterRowOptions) { var d = (0, _deferred.Deferred)(); if (masterDataGrid.getView("rowsView").isFixedColumns()) { this._updateFixedMasterDetailGrids(masterDataGrid, masterRowOptions.rowIndex, (0, _renderer.default)(masterRowOptions.rowElement)).done(d.resolve) } else { if (true === masterDataGrid.option("scrolling.useNative")) { masterDataGrid.updateDimensions().done((function() { return d.resolve(true) })); return } var scrollable = masterDataGrid.getScrollable(); if (scrollable) { null === scrollable || void 0 === scrollable ? void 0 : scrollable.update().done((function() { return d.resolve() })) } else { d.resolve() } } return d.promise() }, _updateFixedMasterDetailGrids: function(masterDataGrid, masterRowIndex, $detailElement) { var _this2 = this; var d = (0, _deferred.Deferred)(); var $rows = (0, _renderer.default)(masterDataGrid.getRowElement(masterRowIndex)); var $tables = (0, _renderer.default)(masterDataGrid.getView("rowsView").getTableElements()); var rowsNotEqual = 2 === (null === $rows || void 0 === $rows ? void 0 : $rows.length) && (0, _size.getHeight)($rows.eq(0)) !== (0, _size.getHeight)($rows.eq(1)); var tablesNotEqual = 2 === (null === $tables || void 0 === $tables ? void 0 : $tables.length) && (0, _size.getHeight)($tables.eq(0)) !== (0, _size.getHeight)($tables.eq(1)); if (rowsNotEqual || tablesNotEqual) { var detailElementWidth = (0, _size.getWidth)($detailElement); masterDataGrid.updateDimensions().done((function() { var isDetailHorizontalScrollCanBeShown = _this2.option("columnAutoWidth") && true === masterDataGrid.option("scrolling.useNative"); var isDetailGridWidthChanged = isDetailHorizontalScrollCanBeShown && detailElementWidth !== (0, _size.getWidth)($detailElement); if (isDetailHorizontalScrollCanBeShown && isDetailGridWidthChanged) { _this2.updateDimensions().done((function() { return d.resolve(true) })) } else { d.resolve(true) } })); return d.promise() } return (0, _deferred.Deferred)().resolve() }, _toggleBestFitMode: function(isBestFit) { this.callBase.apply(this, arguments); if (this.option("masterDetail.template")) { var $rowsTable = this._rowsView.getTableElement(); if ($rowsTable) { $rowsTable.find(".dx-master-detail-cell").css("maxWidth", isBestFit ? 0 : "") } } } } }, views: { rowsView: { _getCellTemplate: function(options) { var that = this; var column = options.column; var editingController = that.getController("editing"); var isEditRow = editingController && editingController.isEditRow(options.rowIndex); var template; if ("detail" === column.command && !isEditRow) { template = that.option("masterDetail.template") || { allowRenderToDetachedContainer: false, render: that._getDefaultTemplate(column) } } else { template = that.callBase.apply(that, arguments) } return template }, _isDetailRow: function(row) { return row && row.rowType && 0 === row.rowType.indexOf("detail") }, _createRow: function(row) { var $row = this.callBase.apply(this, arguments); if (row && this._isDetailRow(row)) { this.option("showRowLines") && $row.addClass("dx-row-lines"); $row.addClass("dx-master-detail-row"); if ((0, _type.isDefined)(row.visible)) { $row.toggle(row.visible) } } return $row }, _renderCells: function($row, options) { var row = options.row; var $detailCell; var visibleColumns = this._columnsController.getVisibleColumns(); if (row.rowType && this._isDetailRow(row)) { if (this._needRenderCell(0, options.columnIndices)) { $detailCell = this._renderCell($row, { value: null, row: row, rowIndex: row.rowIndex, column: { command: "detail" }, columnIndex: 0, change: options.change }); $detailCell.addClass("dx-cell-focus-disabled").addClass("dx-master-detail-cell").attr("colSpan", visibleColumns.length) } } else { this.callBase.apply(this, arguments) } } } } } }; var initMasterDetail; exports.masterDetailModule = masterDetailModule }, 3990: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/pager/m_pager.js ***! \*****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.pagerModule = void 0; var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../../../core/utils/window */ 58201); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _pager = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/pager */ 79383)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var getPageIndex = function(dataController) { return 1 + (parseInt(dataController.pageIndex()) || 0) }; var PagerView = _m_modules.default.View.inherit({ init: function() { var _this = this; var dataController = this.getController("data"); dataController.changed.add((function(e) { if (e && e.repaintChangesOnly) { var pager = _this._pager; if (pager) { pager.option({ pageIndex: getPageIndex(dataController), pageSize: dataController.pageSize(), pageCount: dataController.pageCount(), totalCount: dataController.totalCount(), hasKnownLastPage: dataController.hasKnownLastPage() }) } else { _this.render() } } else if (!e || "update" !== e.changeType && "updateSelection" !== e.changeType && "updateFocusedRow" !== e.changeType) { _this._pager = null; _this.render() } })) }, _renderCore: function() { var $element = this.element().addClass(this.addWidgetPrefix("pager")); var pagerOptions = this.option("pager") || {}; var dataController = this.getController("data"); var keyboardController = this.getController("keyboardNavigation"); var options = { maxPagesCount: 10, pageIndex: getPageIndex(dataController), pageCount: dataController.pageCount(), pageSize: dataController.pageSize(), showPageSizes: pagerOptions.showPageSizeSelector, showInfo: pagerOptions.showInfo, displayMode: pagerOptions.displayMode, pagesNavigatorVisible: pagerOptions.visible, showNavigationButtons: pagerOptions.showNavigationButtons, label: pagerOptions.label, pageSizes: this.getPageSizes(), totalCount: dataController.totalCount(), hasKnownLastPage: dataController.hasKnownLastPage(), pageIndexChanged: function(pageIndex) { if (dataController.pageIndex() !== pageIndex - 1) { dataController.pageIndex(pageIndex - 1) } }, pageSizeChanged: function(pageSize) { dataController.pageSize(pageSize) }, onKeyDown: function(e) { return keyboardController && keyboardController.executeAction("onKeyDown", e) }, useLegacyKeyboardNavigation: this.option("useLegacyKeyboardNavigation"), useKeyboard: this.option("keyboardNavigation.enabled") }; if ((0, _type.isDefined)(pagerOptions.infoText)) { options.infoText = pagerOptions.infoText } if (this._pager) { this._pager.repaint(); return } if ((0, _window.hasWindow)()) { this._pager = this._createComponent($element, _pager.default, options) } else { $element.addClass("dx-pager").html('
') } }, getPager: function() { return this._pager }, getPageSizes: function() { var dataController = this.getController("data"); var pagerOptions = this.option("pager"); var allowedPageSizes = pagerOptions && pagerOptions.allowedPageSizes; var pageSize = dataController.pageSize(); if (!(0, _type.isDefined)(this._pageSizes) || !this._pageSizes.includes(pageSize)) { this._pageSizes = []; if (pagerOptions) { if (Array.isArray(allowedPageSizes)) { this._pageSizes = allowedPageSizes } else if (allowedPageSizes && pageSize > 1) { this._pageSizes = [Math.floor(pageSize / 2), pageSize, 2 * pageSize] } } } return this._pageSizes }, isVisible: function() { var dataController = this.getController("data"); var pagerOptions = this.option("pager"); var pagerVisible = pagerOptions && pagerOptions.visible; var scrolling = this.option("scrolling"); if ("auto" === pagerVisible) { if (scrolling && ("virtual" === scrolling.mode || "infinite" === scrolling.mode)) { pagerVisible = false } else { pagerVisible = dataController.pageCount() > 1 || dataController.isLoaded() && !dataController.hasKnownLastPage() } } return pagerVisible }, getHeight: function() { return this.getElementHeight() }, optionChanged: function(args) { var name = args.name; var isPager = "pager" === name; var isPaging = "paging" === name; var isDataSource = "dataSource" === name; var isScrolling = "scrolling" === name; var dataController = this.getController("data"); if (isPager || isPaging || isScrolling || isDataSource) { args.handled = true; if (dataController.skipProcessingPagingChange(args.fullName)) { return } if (isPager || isPaging) { this._pageSizes = null } if (!isDataSource) { this._pager = null; this._invalidate(); if ((0, _window.hasWindow)() && isPager && this.component) { this.component.resize() } } } }, dispose: function() { this._pager = null } }); var pagerModule = { defaultOptions: function() { return { pager: { visible: "auto", showPageSizeSelector: false, allowedPageSizes: "auto", label: _message.default.format("dxPager-ariaLabel") } } }, views: { pagerView: PagerView } }; exports.pagerModule = pagerModule }, 92794: /*!**********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/row_dragging/const.js ***! \**********************************************************************************************/ function(__unused_webpack_module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.CLASSES = exports.ATTRIBUTES = void 0; exports.ATTRIBUTES = { dragCell: "dx-drag-cell" }; exports.CLASSES = { cellFocusDisabled: "dx-cell-focus-disabled", handleIcon: "drag-icon", commandDrag: "dx-command-drag", sortableWithoutHandle: "dx-sortable-without-handle", rowsView: "rowsview" } }, 5172: /*!********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/row_dragging/dom.js ***! \********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.GridCoreRowDraggingDom = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); var _const = __webpack_require__( /*! ./const */ 92794); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var GridCoreRowDraggingDom = { createHandleTemplateFunc: function(addWidgetPrefix) { return function(container, options) { var $container = (0, _renderer.default)(container); $container.attr(_const.ATTRIBUTES.dragCell, ""); if ("data" === options.rowType) { $container.addClass(_const.CLASSES.cellFocusDisabled); return (0, _renderer.default)("").addClass(addWidgetPrefix(_const.CLASSES.handleIcon)) } _m_utils.default.setEmptyText($container); return } } }; exports.GridCoreRowDraggingDom = GridCoreRowDraggingDom }, 88351: /*!*******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/row_dragging/m_row_dragging.js ***! \*******************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.rowDraggingModule = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../../../core/../core/utils/extend */ 13306); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _sortable = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/sortable */ 66843)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); var _const = __webpack_require__( /*! ./const */ 92794); var _dom = __webpack_require__( /*! ./dom */ 5172); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var RowDraggingExtender = { init: function() { this.callBase.apply(this, arguments); this._updateHandleColumn() }, _allowReordering: function() { var rowDragging = this.option("rowDragging"); return !!(rowDragging && (rowDragging.allowReordering || rowDragging.allowDropInsideItem || rowDragging.group)) }, _updateHandleColumn: function() { var rowDragging = this.option("rowDragging"); var allowReordering = this._allowReordering(); var columnsController = this._columnsController; var isHandleColumnVisible = allowReordering && rowDragging.showDragIcons; columnsController && columnsController.addCommandColumn({ type: "drag", command: "drag", visibleIndex: -2, alignment: "center", cssClass: _const.CLASSES.commandDrag, width: "auto", cellTemplate: this._getHandleTemplate(), visible: isHandleColumnVisible }); columnsController.columnOption("type:drag", "visible", isHandleColumnVisible) }, _renderContent: function() { var _this = this; var rowDragging = this.option("rowDragging"); var allowReordering = this._allowReordering(); var $content = this.callBase.apply(this, arguments); var isFixedTableRendering = this._isFixedTableRendering; var sortableName = "_sortable"; var sortableFixedName = "_sortableFixed"; var currentSortableName = isFixedTableRendering ? sortableFixedName : sortableName; var anotherSortableName = isFixedTableRendering ? sortableName : sortableFixedName; var togglePointerEventsStyle = function(toggle) { var _a; null === (_a = _this[sortableFixedName]) || void 0 === _a ? void 0 : _a.$element().css("pointerEvents", toggle ? "auto" : "") }; var rowSelector = ".dx-row:not(.dx-freespace-row):not(.dx-virtual-row):not(.dx-header-row):not(.dx-footer-row)"; var filter = this.option("dataRowTemplate") ? "> table > tbody".concat(rowSelector) : "> table > tbody > ".concat(rowSelector); if ((allowReordering || this[currentSortableName]) && $content.length) { this[currentSortableName] = this._createComponent($content, _sortable.default, (0, _extend.extend)({ component: this.component, contentTemplate: null, filter: filter, cursorOffset: function(options) { var event = options.event; var rowsViewOffset = (0, _renderer.default)(_this.element()).offset(); return { x: event.pageX - rowsViewOffset.left } }, onDraggableElementShown: function(e) { if (rowDragging.dragTemplate) { return } var $dragElement = (0, _renderer.default)(e.dragElement); var gridInstance = $dragElement.children(".dx-widget").data(_this.component.NAME); _this._synchronizeScrollLeftPosition(gridInstance) }, dragTemplate: this._getDraggableRowTemplate(), handle: rowDragging.showDragIcons && ".".concat(_const.CLASSES.commandDrag), dropFeedbackMode: "indicate" }, rowDragging, { onDragStart: function(e) { var _a, _b; null === (_a = _this.getController("keyboardNavigation")) || void 0 === _a ? void 0 : _a._resetFocusedCell(); var row = e.component.getVisibleRows()[e.fromIndex]; e.itemData = row && row.data; var isDataRow = row && "data" === row.rowType; e.cancel = !allowReordering || !isDataRow; null === (_b = rowDragging.onDragStart) || void 0 === _b ? void 0 : _b.call(rowDragging, e) }, onDragEnter: function() { togglePointerEventsStyle(true) }, onDragLeave: function() { togglePointerEventsStyle(false) }, onDragEnd: function(e) { var _a; togglePointerEventsStyle(false); null === (_a = rowDragging.onDragEnd) || void 0 === _a ? void 0 : _a.call(rowDragging, e) }, onAdd: function(e) { var _a; togglePointerEventsStyle(false); null === (_a = rowDragging.onAdd) || void 0 === _a ? void 0 : _a.call(rowDragging, e) }, dropFeedbackMode: rowDragging.dropFeedbackMode, onOptionChanged: function(e) { var hasFixedSortable = _this[sortableFixedName]; if (hasFixedSortable) { if ("fromIndex" === e.name || "toIndex" === e.name) { _this[anotherSortableName].option(e.name, e.value) } } } })); $content.toggleClass("dx-scrollable-container", isFixedTableRendering); $content.toggleClass(_const.CLASSES.sortableWithoutHandle, allowReordering && !rowDragging.showDragIcons) } return $content }, _renderCore: function(e) { var _this2 = this; this.callBase.apply(this, arguments); if (e && "update" === e.changeType && e.repaintChangesOnly && _m_utils.default.isVirtualRowRendering(this)) { (0, _common.deferUpdate)((function() { _this2._updateSortable() })) } }, _updateSortable: function() { var offset = this._dataController.getRowIndexOffset(); [this._sortable, this._sortableFixed].forEach((function(sortable) { null === sortable || void 0 === sortable ? void 0 : sortable.option("offset", offset); null === sortable || void 0 === sortable ? void 0 : sortable.update() })) }, _resizeCore: function() { this.callBase.apply(this, arguments); this._updateSortable() }, _getDraggableGridOptions: function(options) { var gridOptions = this.option(); var columns = this.getColumns(); var $rowElement = (0, _renderer.default)(this.getRowElement(options.rowIndex)); return { dataSource: [{ id: 1, parentId: 0 }], showBorders: true, showColumnHeaders: false, scrolling: { useNative: false, showScrollbar: "never" }, pager: { visible: false }, loadingTimeout: null, columnFixing: gridOptions.columnFixing, columnAutoWidth: gridOptions.columnAutoWidth, showColumnLines: gridOptions.showColumnLines, columns: columns.map((function(column) { return { width: column.width || column.visibleWidth, fixed: column.fixed, fixedPosition: column.fixedPosition } })), onRowPrepared: function(e) { var rowsView = e.component.getView("rowsView"); (0, _renderer.default)(e.rowElement).replaceWith($rowElement.eq(rowsView._isFixedTableRendering ? 1 : 0).clone()) } } }, _synchronizeScrollLeftPosition: function(gridInstance) { var scrollable = null === gridInstance || void 0 === gridInstance ? void 0 : gridInstance.getScrollable(); null === scrollable || void 0 === scrollable ? void 0 : scrollable.scrollTo({ x: this._scrollLeft }) }, _getDraggableRowTemplate: function() { var _this3 = this; return function(options) { var $rootElement = _this3.component.$element(); var $dataGridContainer = (0, _renderer.default)("
"); (0, _size.setWidth)($dataGridContainer, (0, _size.getWidth)($rootElement)); var items = _this3._dataController.items(); var row = items && items[options.fromIndex]; var gridOptions = _this3._getDraggableGridOptions(row); _this3._createComponent($dataGridContainer, _this3.component.NAME, gridOptions); $dataGridContainer.find(".dx-gridbase-container").children(":not(.".concat(_this3.addWidgetPrefix(_const.CLASSES.rowsView), ")")).hide(); return $dataGridContainer } }, _getHandleTemplate: function() { var _this4 = this; return _dom.GridCoreRowDraggingDom.createHandleTemplateFunc((function(string) { return _this4.addWidgetPrefix(string) })) }, optionChanged: function(args) { if ("rowDragging" === args.name) { this._updateHandleColumn(); this._invalidate(true, true); args.handled = true } this.callBase.apply(this, arguments) } }; var rowDraggingModule = { defaultOptions: function() { return { rowDragging: { showDragIcons: true, dropFeedbackMode: "indicate", allowReordering: false, allowDropInsideItem: false } } }, extenders: { views: { rowsView: RowDraggingExtender } } }; exports.rowDraggingModule = rowDraggingModule }, 92021: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/search/m_search.js ***! \*******************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.searchModule = void 0; var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../../core/dom_adapter */ 73349)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _data = __webpack_require__( /*! ../../../../core/utils/data */ 47617); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _query = _interopRequireDefault(__webpack_require__( /*! ../../../../data/query */ 96687)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function allowSearch(column) { return (0, _type.isDefined)(column.allowSearch) ? column.allowSearch : column.allowFiltering } function parseValue(column, text) { var lookup = column.lookup; if (!column.parseValue) { return text } if (lookup) { return column.parseValue.call(lookup, text) } return column.parseValue(text) } var searchModule = { defaultOptions: function() { return { searchPanel: { visible: false, width: 160, placeholder: _message.default.format("dxDataGrid-searchPanelPlaceholder"), highlightSearchText: true, highlightCaseSensitive: false, text: "", searchVisibleColumnsOnly: false } } }, extenders: { controllers: { data: { publicMethods: function() { return this.callBase().concat(["searchByText"]) }, _calculateAdditionalFilter: function() { var filter = this.callBase(); var searchFilter = function(that, text) { var i; var column; var columns = that._columnsController.getColumns(); var searchVisibleColumnsOnly = that.option("searchPanel.searchVisibleColumnsOnly"); var lookup; var filters = []; if (!text) { return null } function onQueryDone(items) { var valueGetter = (0, _data.compileGetter)(lookup.valueExpr); for (var _i = 0; _i < items.length; _i++) { var value = valueGetter(items[_i]); filters.push(column.createFilterExpression(value, null, "search")) } } for (i = 0; i < columns.length; i++) { column = columns[i]; if (searchVisibleColumnsOnly && !column.visible) { continue } if (allowSearch(column) && column.calculateFilterExpression) { lookup = column.lookup; var filterValue = parseValue(column, text); if (lookup && lookup.items) { (0, _query.default)(lookup.items).filter(column.createFilterExpression.call({ dataField: lookup.displayExpr, dataType: lookup.dataType, calculateFilterExpression: column.calculateFilterExpression }, filterValue, null, "search")).enumerate().done(onQueryDone) } else if (void 0 !== filterValue) { filters.push(column.createFilterExpression(filterValue, null, "search")) } } } if (0 === filters.length) { return ["!"] } return _m_utils.default.combineFilters(filters, "or") }(this, this.option("searchPanel.text")); return _m_utils.default.combineFilters([filter, searchFilter]) }, searchByText: function(text) { this.option("searchPanel.text", text) }, optionChanged: function(args) { switch (args.fullName) { case "searchPanel.text": case "searchPanel": this._applyFilter(); args.handled = true; break; default: this.callBase(args) } } } }, views: { headerPanel: (getSearchPanelOptions = function(that) { return that.option("searchPanel") }, { _getToolbarItems: function() { var items = this.callBase(); return this._prepareSearchItem(items) }, _prepareSearchItem: function(items) { var that = this; var dataController = that.getController("data"); var searchPanelOptions = getSearchPanelOptions(that); if (searchPanelOptions && searchPanelOptions.visible) { var toolbarItem = { template: function(data, index, container) { var $search = (0, _renderer.default)("
").addClass(that.addWidgetPrefix("search-panel")).appendTo(container); that.getController("editorFactory").createEditor($search, { width: searchPanelOptions.width, placeholder: searchPanelOptions.placeholder, parentType: "searchPanel", value: that.option("searchPanel.text"), updateValueTimeout: 700, setValue: function(value) { dataController.searchByText(value) }, editorOptions: { inputAttr: { "aria-label": _message.default.format("".concat(that.component.NAME, "-ariaSearchInGrid")) } } }); that.resize() }, name: "searchPanel", location: "after", locateInMenu: "never", sortIndex: 40 }; items.push(toolbarItem) } return items }, getSearchTextEditor: function() { var that = this; var $element = that.element(); var $searchPanel = $element.find(".".concat(that.addWidgetPrefix("search-panel"))).filter((function() { return (0, _renderer.default)(this).closest(".".concat(that.addWidgetPrefix("header-panel"))).is($element) })); if ($searchPanel.length) { return $searchPanel.dxTextBox("instance") } return null }, isVisible: function() { var searchPanelOptions = getSearchPanelOptions(this); return this.callBase() || searchPanelOptions && searchPanelOptions.visible }, optionChanged: function(args) { if ("searchPanel" === args.name) { if ("searchPanel.text" === args.fullName) { var editor = this.getSearchTextEditor(); if (editor) { editor.option("value", args.value) } } else { this._invalidate() } args.handled = true } else { this.callBase(args) } } }), rowsView: { init: function() { this.callBase.apply(this, arguments); this._searchParams = []; this._dataController = this.getController("data") }, _getFormattedSearchText: function(column, searchText) { var value = parseValue(column, searchText); var formatOptions = _m_utils.default.getFormatOptionsByColumn(column, "search"); return _m_utils.default.formatValue(value, formatOptions) }, _getStringNormalizer: function() { var _a, _b, _c, _d; var isCaseSensitive = this.option("searchPanel.highlightCaseSensitive"); var dataSource = null === (_b = null === (_a = this._dataController) || void 0 === _a ? void 0 : _a.getDataSource) || void 0 === _b ? void 0 : _b.call(_a); var langParams = null === (_d = null === (_c = null === dataSource || void 0 === dataSource ? void 0 : dataSource.loadOptions) || void 0 === _c ? void 0 : _c.call(dataSource)) || void 0 === _d ? void 0 : _d.langParams; return function(str) { return (0, _data.toComparable)(str, isCaseSensitive, langParams) } }, _findHighlightingTextNodes: function(column, cellElement, searchText) { var $parent = cellElement.parent(); var $items; var stringNormalizer = this._getStringNormalizer(); var normalizedSearchText = stringNormalizer(searchText); var resultTextNodes = []; if (!$parent.length) { $parent = (0, _renderer.default)("
").append(cellElement) } else if (column) { if (column.groupIndex >= 0 && !column.showWhenGrouped) { $items = cellElement } else { var columnIndex = this._columnsController.getVisibleIndex(column.index); $items = $parent.children("td").eq(columnIndex).find("*") } } $items = (null === $items || void 0 === $items ? void 0 : $items.length) ? $items : $parent.find("*"); $items.each((function(_, element) { var $contents = (0, _renderer.default)(element).contents(); for (var i = 0; i < $contents.length; i++) { var node = $contents.get(i); if (3 === node.nodeType) { var normalizedText = stringNormalizer(node.textContent || node.nodeValue); if (normalizedText.indexOf(normalizedSearchText) > -1) { resultTextNodes.push(node) } } } })); return resultTextNodes }, _highlightSearchTextCore: function($textNode, searchText) { var $searchTextSpan = (0, _renderer.default)("").addClass(this.addWidgetPrefix("search-text")); var text = $textNode.text(); var firstContentElement = $textNode[0]; var stringNormalizer = this._getStringNormalizer(); var index = stringNormalizer(text).indexOf(stringNormalizer(searchText)); if (index >= 0) { if (firstContentElement.textContent) { firstContentElement.textContent = text.substr(0, index) } else { firstContentElement.nodeValue = text.substr(0, index) } $textNode.after($searchTextSpan.text(text.substr(index, searchText.length))); $textNode = (0, _renderer.default)(_dom_adapter.default.createTextNode(text.substr(index + searchText.length))).insertAfter($searchTextSpan); return this._highlightSearchTextCore($textNode, searchText) } }, _highlightSearchText: function(cellElement, isEquals, column) { var that = this; var stringNormalizer = this._getStringNormalizer(); var searchText = that.option("searchPanel.text"); if (isEquals && column) { searchText = searchText && that._getFormattedSearchText(column, searchText) } if (searchText && that.option("searchPanel.highlightSearchText")) { var textNodes = that._findHighlightingTextNodes(column, cellElement, searchText); textNodes.forEach((function(textNode) { if (isEquals) { if (stringNormalizer((0, _renderer.default)(textNode).text()) === stringNormalizer(searchText)) { (0, _renderer.default)(textNode).replaceWith((0, _renderer.default)("").addClass(that.addWidgetPrefix("search-text")).text((0, _renderer.default)(textNode).text())) } } else { that._highlightSearchTextCore((0, _renderer.default)(textNode), searchText) } })) } }, _renderCore: function() { var _this = this; var deferred = this.callBase.apply(this, arguments); if (this.option().rowTemplate || this.option("dataRowTemplate")) { if (this.option("templatesRenderAsynchronously")) { clearTimeout(this._highlightTimer); this._highlightTimer = setTimeout((function() { _this._highlightSearchText(_this.getTableElement()) })) } else { this._highlightSearchText(this.getTableElement()) } } return deferred }, _updateCell: function($cell, parameters) { var _this2 = this; var column = parameters.column; var dataType = column.lookup && column.lookup.dataType || column.dataType; var isEquals = "string" !== dataType; if (allowSearch(column) && !parameters.isOnForm) { if (this.option("templatesRenderAsynchronously")) { if (!this._searchParams.length) { clearTimeout(this._highlightTimer); this._highlightTimer = setTimeout((function() { _this2._searchParams.forEach((function(params) { _this2._highlightSearchText.apply(_this2, params) })); _this2._searchParams = [] })) } this._searchParams.push([$cell, isEquals, column]) } else { this._highlightSearchText($cell, isEquals, column) } } this.callBase($cell, parameters) }, dispose: function() { clearTimeout(this._highlightTimer); this.callBase() } } } } }; var getSearchPanelOptions; exports.searchModule = searchModule }, 17969: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/selection/m_selection.js ***! \*************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.selectionModule = exports.SelectionController = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _support = __webpack_require__( /*! ../../../../core/utils/support */ 60137); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _array_utils = __webpack_require__( /*! ../../../../data/array_utils */ 60637); var _click = __webpack_require__( /*! ../../../../events/click */ 95429); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _hold = _interopRequireDefault(__webpack_require__( /*! ../../../../events/hold */ 11699)); var _index = __webpack_require__( /*! ../../../../events/utils/index */ 39611); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _selection = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/selection/selection */ 68198)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/widget/ui.errors */ 96688)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var SHOW_CHECKBOXES_MODE = "selection.showCheckBoxesMode"; var processLongTap = function(that, dxEvent) { var selectionController = that.getController("selection"); var rowsView = that.getView("rowsView"); var $row = (0, _renderer.default)(dxEvent.target).closest(".".concat("dx-data-row")); var rowIndex = rowsView.getRowIndex($row); if (rowIndex < 0) { return } if ("onLongTap" === that.option(SHOW_CHECKBOXES_MODE)) { if (selectionController.isSelectionWithCheckboxes()) { selectionController.stopSelectionWithCheckboxes() } else { selectionController.startSelectionWithCheckboxes() } } else { if ("onClick" === that.option(SHOW_CHECKBOXES_MODE)) { selectionController.startSelectionWithCheckboxes() } if ("always" !== that.option(SHOW_CHECKBOXES_MODE)) { selectionController.changeItemSelection(rowIndex, { control: true }) } } }; var selectionCellTemplate = function(container, options) { var component = options.component; var rowsView = component.getView("rowsView"); if (component.option("renderAsync") && !component.option("selection.deferred")) { options.value = component.isRowSelected(options.row.key) } rowsView.renderSelectCheckBoxContainer((0, _renderer.default)(container), options) }; var selectionHeaderTemplate = function(container, options) { var column = options.column; var $cellElement = (0, _renderer.default)(container); var columnHeadersView = options.component.getView("columnHeadersView"); $cellElement.addClass("dx-editor-cell"); columnHeadersView._renderSelectAllCheckBox($cellElement, column); columnHeadersView._attachSelectAllCheckBoxClickEvent($cellElement) }; var SelectionController = function(_modules$Controller) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SelectionController, _modules$Controller); function SelectionController() { return _modules$Controller.apply(this, arguments) || this } var _proto = SelectionController.prototype; _proto.init = function() { var _a; var _ref = null !== (_a = this.option("selection")) && void 0 !== _a ? _a : {}, deferred = _ref.deferred, selectAllMode = _ref.selectAllMode, mode = _ref.mode; if ("infinite" === this.option("scrolling.mode") && !deferred && "multiple" === mode && "allPages" === selectAllMode) { _ui.default.log("W1018") } this._dataController = this.getController("data"); this._selectionMode = mode; this._isSelectionWithCheckboxes = false; this._selection = this._createSelection(); this._updateSelectColumn(); this.createAction("onSelectionChanged", { excludeValidators: ["disabled", "readOnly"] }); if (!this._dataPushedHandler) { this._dataPushedHandler = this._handleDataPushed.bind(this); this._dataController.pushed.add(this._dataPushedHandler) } }; _proto._handleDataPushed = function(changes) { this._deselectRemovedOnPush(changes); this._updateSelectedOnPush(changes) }; _proto._deselectRemovedOnPush = function(changes) { var isDeferredSelection = this.option("selection.deferred"); var removedKeys = changes.filter((function(change) { return "remove" === change.type })).map((function(change) { return change.key })); if (isDeferredSelection) { var selectedKeys = this._dataController.items().filter((function(item) { return item.isSelected })).map((function(item) { return item.key })); removedKeys = removedKeys.filter((function(key) { return selectedKeys.find((function(selectedKey) { return (0, _common.equalByValue)(selectedKey, key) })) })) } removedKeys.length && this.deselectRows(removedKeys) }; _proto._updateSelectedOnPush = function(changes) { var isDeferredSelection = this.option("selection.deferred"); if (isDeferredSelection) { return } var updateChanges = changes.filter((function(change) { return "update" === change.type })); var data = this.getSelectedRowsData(); (0, _array_utils.applyBatch)({ keyInfo: this._selection.options, data: data, changes: updateChanges }) }; _proto._getSelectionConfig = function() { var _a; var dataController = this._dataController; var columnsController = this.getController("columns"); var selectionOptions = null !== (_a = this.option("selection")) && void 0 !== _a ? _a : {}; var deferred = selectionOptions.deferred; var scrollingMode = this.option("scrolling.mode"); var virtualPaging = "virtual" === scrollingMode || "infinite" === scrollingMode; var allowSelectAll = this.option("selection.allowSelectAll"); var legacyScrollingMode = this.option("scrolling.legacyMode"); return { selectedKeys: this.option("selectedRowKeys"), mode: this._selectionMode, deferred: deferred, maxFilterLengthInRequest: selectionOptions.maxFilterLengthInRequest, selectionFilter: this.option("selectionFilter"), ignoreDisabledItems: true, allowLoadByRange: function() { var hasGroupColumns = columnsController.getGroupColumns().length > 0; return virtualPaging && !legacyScrollingMode && !hasGroupColumns && allowSelectAll && !deferred }, key: function() { return null === dataController || void 0 === dataController ? void 0 : dataController.key() }, keyOf: function(item) { return null === dataController || void 0 === dataController ? void 0 : dataController.keyOf(item) }, dataFields: function() { var _a; return null === (_a = dataController.dataSource()) || void 0 === _a ? void 0 : _a.select() }, load: function(options) { var _a; return (null === (_a = dataController.dataSource()) || void 0 === _a ? void 0 : _a.load(options)) || (new _deferred.Deferred).resolve([]) }, plainItems: function() { return dataController.items(true) }, isItemSelected: function(item) { return item.selected }, isSelectableItem: function(item) { return "data" === (null === item || void 0 === item ? void 0 : item.rowType) && !item.isNewRow }, getItemData: function(item) { return (0, _type.isDefined)(null === item || void 0 === item ? void 0 : item.rowType) ? (null === item || void 0 === item ? void 0 : item.oldData) || (null === item || void 0 === item ? void 0 : item.data) : item }, filter: function() { return dataController.getCombinedFilter(deferred) }, totalCount: function() { return dataController.totalCount() }, getLoadOptions: function(loadItemIndex, focusedItemIndex, shiftItemIndex) { var _a, _b; var _ref2 = null !== (_b = null === (_a = dataController.dataSource()) || void 0 === _a ? void 0 : _a.lastLoadOptions()) && void 0 !== _b ? _b : {}, sort = _ref2.sort, filter = _ref2.filter; var minIndex = Math.min(loadItemIndex, focusedItemIndex); var maxIndex = Math.max(loadItemIndex, focusedItemIndex); if ((0, _type.isDefined)(shiftItemIndex)) { minIndex = Math.min(shiftItemIndex, minIndex); maxIndex = Math.max(shiftItemIndex, maxIndex) } var take = maxIndex - minIndex + 1; return { skip: minIndex, take: take, filter: filter, sort: sort } }, onSelectionChanged: this._updateSelectedItems.bind(this) } }; _proto._updateSelectColumn = function() { var columnsController = this.getController("columns"); var isSelectColumnVisible = this.isSelectColumnVisible(); columnsController.addCommandColumn({ type: "selection", command: "select", visible: isSelectColumnVisible, visibleIndex: -1, dataType: "boolean", alignment: "center", cssClass: "dx-command-select", width: "auto", cellTemplate: selectionCellTemplate, headerCellTemplate: selectionHeaderTemplate }); columnsController.columnOption("command:select", "visible", isSelectColumnVisible) }; _proto._createSelection = function() { var options = this._getSelectionConfig(); return new _selection.default(options) }; _proto._fireSelectionChanged = function(options) { var argument = this.option("selection.deferred") ? { selectionFilter: this.option("selectionFilter") } : { selectedRowKeys: this.option("selectedRowKeys") }; this.selectionChanged.fire(argument); if (options) { this.executeAction("onSelectionChanged", options) } }; _proto._updateCheckboxesState = function(options) { var isDeferredMode = options.isDeferredMode; var selectionFilter = options.selectionFilter; var selectedItemKeys = options.selectedItemKeys; var removedItemKeys = options.removedItemKeys; if ("onClick" === this.option(SHOW_CHECKBOXES_MODE)) { if (isDeferredMode ? selectionFilter && function(that, selectionFilter) { var keyIndex = 0; var store = that._dataController.store(); var key = store && store.key(); var isComplexKey = Array.isArray(key); if (!selectionFilter.length) { return false } if (isComplexKey && Array.isArray(selectionFilter[0]) && "and" === selectionFilter[1]) { for (var i = 0; i < selectionFilter.length; i++) { if (Array.isArray(selectionFilter[i])) { if (selectionFilter[i][0] !== key[keyIndex] || "=" !== selectionFilter[i][1]) { return true } keyIndex++ } } return false } return key !== selectionFilter[0] }(this, selectionFilter) : selectedItemKeys.length > 1) { this.startSelectionWithCheckboxes() } else if (isDeferredMode ? selectionFilter && !selectionFilter.length : 0 === selectedItemKeys.length && removedItemKeys.length) { this.stopSelectionWithCheckboxes() } } }; _proto._updateSelectedItems = function(args) { var selectionChangedOptions; var isDeferredMode = this.option("selection.deferred"); var selectionFilter = this._selection.selectionFilter(); var dataController = this._dataController; var items = dataController.items(true); var visibleItems = dataController.items(); if (!items) { return } var isSelectionWithCheckboxes = this.isSelectionWithCheckboxes(); var changedItemIndexes = this.getChangedItemIndexes(items); var visibleChangedItemIndexes = this.getChangedItemIndexes(visibleItems); this._updateCheckboxesState({ selectedItemKeys: args.selectedItemKeys, removedItemKeys: args.removedItemKeys, selectionFilter: selectionFilter, isDeferredMode: isDeferredMode }); if (changedItemIndexes.length || isSelectionWithCheckboxes !== this.isSelectionWithCheckboxes()) { dataController.updateItems({ changeType: "updateSelection", itemIndexes: visibleChangedItemIndexes }) } if (isDeferredMode) { this.option("selectionFilter", selectionFilter); selectionChangedOptions = {} } else if (args.addedItemKeys.length || args.removedItemKeys.length) { this._selectedItemsInternalChange = true; this.option("selectedRowKeys", args.selectedItemKeys.slice(0)); this._selectedItemsInternalChange = false; selectionChangedOptions = { selectedRowsData: args.selectedItems.slice(0), selectedRowKeys: args.selectedItemKeys.slice(0), currentSelectedRowKeys: args.addedItemKeys.slice(0), currentDeselectedRowKeys: args.removedItemKeys.slice(0) } } this._fireSelectionChanged(selectionChangedOptions) }; _proto.getChangedItemIndexes = function(items) { var itemIndexes = []; var isDeferredSelection = this.option("selection.deferred"); for (var i = 0, length = items.length; i < length; i++) { var row = items[i]; var isItemSelected = this.isRowSelected(isDeferredSelection ? row.data : row.key); if (this._selection.isDataItem(row) && row.isSelected !== isItemSelected) { itemIndexes.push(i) } } return itemIndexes }; _proto.callbackNames = function() { return ["selectionChanged"] }; _proto.optionChanged = function(args) { var _this = this; _modules$Controller.prototype.optionChanged.call(this, args); switch (args.name) { case "selection": var oldSelectionMode = this._selectionMode; this.init(); if ("selection.showCheckBoxesMode" !== args.fullName) { var selectionMode = this._selectionMode; var selectedRowKeys = this.option("selectedRowKeys"); if (oldSelectionMode !== selectionMode) { if ("single" === selectionMode) { if (selectedRowKeys.length > 1) { selectedRowKeys = [selectedRowKeys[0]] } } else if ("multiple" !== selectionMode) { selectedRowKeys = [] } } this.selectRows(selectedRowKeys).always((function() { _this._fireSelectionChanged() })) } this.getController("columns").updateColumns(); args.handled = true; break; case "selectionFilter": this._selection.selectionFilter(args.value); args.handled = true; break; case "selectedRowKeys": var value = args.value || []; if (Array.isArray(value) && !this._selectedItemsInternalChange && (this.component.getDataSource() || !value.length)) { this.selectRows(value) } args.handled = true } }; _proto.publicMethods = function() { return ["selectRows", "deselectRows", "selectRowsByIndexes", "getSelectedRowKeys", "getSelectedRowsData", "clearSelection", "selectAll", "deselectAll", "startSelectionWithCheckboxes", "stopSelectionWithCheckboxes", "isRowSelected"] }; _proto.isRowSelected = function(arg) { return this._selection.isItemSelected(arg) }; _proto.isSelectColumnVisible = function() { return "multiple" === this.option("selection.mode") && ("always" === this.option(SHOW_CHECKBOXES_MODE) || "onClick" === this.option(SHOW_CHECKBOXES_MODE) || this._isSelectionWithCheckboxes) }; _proto._isOnePageSelectAll = function() { return "page" === this.option("selection.selectAllMode") }; _proto.isSelectAll = function() { return this._selection.getSelectAllState(this._isOnePageSelectAll()) }; _proto.selectAll = function() { if ("onClick" === this.option(SHOW_CHECKBOXES_MODE)) { this.startSelectionWithCheckboxes() } return this._selection.selectAll(this._isOnePageSelectAll()) }; _proto.deselectAll = function() { return this._selection.deselectAll(this._isOnePageSelectAll()) }; _proto.clearSelection = function() { return this.selectedItemKeys([]) }; _proto.refresh = function() { var _a; var selectedRowKeys = null !== (_a = this.option("selectedRowKeys")) && void 0 !== _a ? _a : []; if (!this.option("selection.deferred") && selectedRowKeys.length) { return this.selectedItemKeys(selectedRowKeys) } return (new _deferred.Deferred).resolve().promise() }; _proto.selectedItemKeys = function(value, preserve, isDeselect, isSelectAll) { return this._selection.selectedItemKeys(value, preserve, isDeselect, isSelectAll) }; _proto.getSelectedRowKeys = function() { return this._selection.getSelectedItemKeys() }; _proto.selectRows = function(keys, preserve) { return this.selectedItemKeys(keys, preserve) }; _proto.deselectRows = function(keys) { return this.selectedItemKeys(keys, true, true) }; _proto.selectRowsByIndexes = function(indexes) { var items = this._dataController.items(); var keys = []; if (!Array.isArray(indexes)) { indexes = Array.prototype.slice.call(arguments, 0) }(0, _iterator.each)(indexes, (function() { var item = items[this]; if (item && "data" === item.rowType) { keys.push(item.key) } })); return this.selectRows(keys) }; _proto.getSelectedRowsData = function() { return this._selection.getSelectedItems() }; _proto.loadSelectedItemsWithFilter = function() { return this._selection.loadSelectedItemsWithFilter() }; _proto.changeItemSelection = function(visibleItemIndex, keys, setFocusOnly) { keys = keys || {}; if (this.isSelectionWithCheckboxes()) { keys.control = true } var loadedItemIndex = visibleItemIndex + this._dataController.getRowIndexOffset() - this._dataController.getRowIndexOffset(true); return this._selection.changeItemSelection(loadedItemIndex, keys, setFocusOnly) }; _proto.focusedItemIndex = function(itemIndex) { if ((0, _type.isDefined)(itemIndex)) { this._selection._focusedItemIndex = itemIndex } else { return this._selection._focusedItemIndex } return }; _proto.isSelectionWithCheckboxes = function() { return "multiple" === this.option("selection.mode") && ("always" === this.option(SHOW_CHECKBOXES_MODE) || this._isSelectionWithCheckboxes) }; _proto.startSelectionWithCheckboxes = function() { if ("multiple" === this.option("selection.mode") && !this.isSelectionWithCheckboxes()) { this._isSelectionWithCheckboxes = true; this._updateSelectColumn(); return true } return false }; _proto.stopSelectionWithCheckboxes = function() { if (this._isSelectionWithCheckboxes) { this._isSelectionWithCheckboxes = false; this._updateSelectColumn(); return true } return false }; return SelectionController }(_m_modules.default.Controller); exports.SelectionController = SelectionController; var selectionModule = { defaultOptions: function() { return { selection: { mode: "none", showCheckBoxesMode: "onClick", allowSelectAll: true, selectAllMode: "allPages", maxFilterLengthInRequest: 1500, deferred: false }, selectionFilter: [], selectedRowKeys: [] } }, controllers: { selection: SelectionController }, extenders: { controllers: { data: { init: function() { var selectionController = this.getController("selection"); var isDeferredMode = this.option("selection.deferred"); this.callBase.apply(this, arguments); if (isDeferredMode) { selectionController._updateCheckboxesState({ isDeferredMode: true, selectionFilter: this.option("selectionFilter") }) } }, _loadDataSource: function() { var that = this; return that.callBase().always((function() { that.getController("selection").refresh() })) }, _processDataItem: function(item, options) { var that = this; var selectionController = that.getController("selection"); var hasSelectColumn = selectionController.isSelectColumnVisible(); var isDeferredSelection = options.isDeferredSelection = void 0 === options.isDeferredSelection ? this.option("selection.deferred") : options.isDeferredSelection; var dataItem = this.callBase.apply(this, arguments); dataItem.isSelected = selectionController.isRowSelected(isDeferredSelection ? dataItem.data : dataItem.key); if (hasSelectColumn && dataItem.values) { for (var i = 0; i < options.visibleColumns.length; i++) { if ("select" === options.visibleColumns[i].command) { dataItem.values[i] = dataItem.isSelected; break } } } return dataItem }, refresh: function(options) { var that = this; var d = new _deferred.Deferred; this.callBase.apply(this, arguments).done((function() { if (!options || options.selection) { that.getController("selection").refresh().done(d.resolve).fail(d.reject) } else { d.resolve() } })).fail(d.reject); return d.promise() }, _handleDataChanged: function(e) { this.callBase.apply(this, arguments); if ((!e || "refresh" === e.changeType) && !this._repaintChangesOnly) { this.getController("selection").focusedItemIndex(-1) } }, _applyChange: function(change) { var _this2 = this; if (change && "updateSelection" === change.changeType) { change.items.forEach((function(item, index) { var currentItem = _this2._items[index]; if (currentItem) { currentItem.isSelected = item.isSelected; currentItem.values = item.values } })); return } return this.callBase.apply(this, arguments) }, _endUpdateCore: function() { var changes = this._changes; var isUpdateSelection = changes.length > 1 && changes.every((function(change) { return "updateSelection" === change.changeType })); if (isUpdateSelection) { var itemIndexes = changes.map((function(change) { return change.itemIndexes || [] })).reduce((function(a, b) { return a.concat(b) })); this._changes = [{ changeType: "updateSelection", itemIndexes: itemIndexes }] } this.callBase.apply(this, arguments) } }, contextMenu: { _contextMenuPrepared: function(options) { var dxEvent = options.event; if (dxEvent.originalEvent && "dxhold" !== dxEvent.originalEvent.type || options.items && options.items.length > 0) { return } processLongTap(this, dxEvent) } } }, views: { columnHeadersView: { init: function() { this.callBase(); this.getController("selection").selectionChanged.add(this._updateSelectAllValue.bind(this)) }, _updateSelectAllValue: function() { var $element = this.element(); var $editor = $element && $element.find(".".concat("dx-select-checkbox")); if ($element && $editor.length && "multiple" === this.option("selection.mode")) { var selectAllValue = this.getController("selection").isSelectAll(); var hasSelection = false !== selectAllValue; var isVisible = this.option("selection.allowSelectAll") ? !this.getController("data").isEmpty() : hasSelection; $editor.dxCheckBox("instance").option({ visible: isVisible, value: selectAllValue }) } }, _handleDataChanged: function(e) { var _this3 = this; this.callBase(e); if (!e || "refresh" === e.changeType || e.repaintChangesOnly && "update" === e.changeType) { this.waitAsyncTemplates().done((function() { _this3._updateSelectAllValue() })) } }, _renderSelectAllCheckBox: function($container, column) { var that = this; var selectionController = that.getController("selection"); var isEmptyData = that.getController("data").isEmpty(); var groupElement = (0, _renderer.default)("
").appendTo($container).addClass("dx-select-checkbox"); that.setAria("label", _message.default.format("dxDataGrid-ariaSelectAll"), groupElement); that.getController("editorFactory").createEditor(groupElement, (0, _extend.extend)({}, column, { parentType: "headerRow", dataType: "boolean", value: selectionController.isSelectAll(), editorOptions: { visible: !isEmptyData && (that.option("selection.allowSelectAll") || false !== selectionController.isSelectAll()) }, tabIndex: that.option("useLegacyKeyboardNavigation") ? -1 : that.option("tabIndex") || 0, setValue: function(value, e) { var allowSelectAll = that.option("selection.allowSelectAll"); e.component.option("visible", allowSelectAll || false !== e.component.option("value")); if (!e.event || selectionController.isSelectAll() === value) { return } if (e.value && !allowSelectAll) { e.component.option("value", false) } else { e.value ? selectionController.selectAll() : selectionController.deselectAll() } e.event.preventDefault() } })); return groupElement }, _attachSelectAllCheckBoxClickEvent: function($element) { _events_engine.default.on($element, _click.name, this.createAction((function(e) { var event = e.event; if (!(0, _renderer.default)(event.target).closest(".".concat("dx-select-checkbox")).length) { _events_engine.default.trigger((0, _renderer.default)(event.currentTarget).children(".".concat("dx-select-checkbox")), _click.name) } event.preventDefault() }))) } }, rowsView: { renderSelectCheckBoxContainer: function($container, options) { if ("data" === options.rowType && !options.row.isNewRow) { $container.addClass("dx-editor-cell"); this._attachCheckBoxClickEvent($container); this._renderSelectCheckBox($container, options) } else { _m_utils.default.setEmptyText($container) } }, _renderSelectCheckBox: function(container, options) { var groupElement = (0, _renderer.default)("
").addClass("dx-select-checkbox").appendTo(container); this.setAria("label", _message.default.format("dxDataGrid-ariaSelectRow"), groupElement); this.getController("editorFactory").createEditor(groupElement, (0, _extend.extend)({}, options.column, { parentType: "dataRow", dataType: "boolean", lookup: null, value: options.value, setValue: function(value, e) { var _a; if ("keydown" === (null === (_a = null === e || void 0 === e ? void 0 : e.event) || void 0 === _a ? void 0 : _a.type)) { _events_engine.default.trigger(e.element, _click.name, e) } }, row: options.row })); return groupElement }, _attachCheckBoxClickEvent: function($element) { _events_engine.default.on($element, _click.name, this.createAction((function(e) { var selectionController = this.getController("selection"); var event = e.event; var rowIndex = this.getRowIndex((0, _renderer.default)(event.currentTarget).closest(".".concat("dx-row"))); if (rowIndex >= 0) { selectionController.startSelectionWithCheckboxes(); selectionController.changeItemSelection(rowIndex, { shift: event.shiftKey }); if ((0, _renderer.default)(event.target).closest(".".concat("dx-select-checkbox")).length) { this.getController("data").updateItems({ changeType: "updateSelection", itemIndexes: [rowIndex] }) } } }))) }, _update: function(change) { var that = this; var tableElements = that.getTableElements(); if ("updateSelection" === change.changeType) { if (tableElements.length > 0) { (0, _iterator.each)(tableElements, (function(_, tableElement) { (0, _iterator.each)(change.itemIndexes || [], (function(_, index) { var $row; if (change.items[index]) { $row = that._getRowElements((0, _renderer.default)(tableElement)).eq(index); if ($row.length) { var isSelected = change.items[index].isSelected; $row.toggleClass("dx-selection", void 0 === isSelected ? false : isSelected).find(".".concat("dx-select-checkbox")).dxCheckBox("option", "value", isSelected); that.setAria("selected", isSelected, $row) } } })) })); that._updateCheckboxesClass() } } else { that.callBase(change) } }, _createTable: function() { var that = this; var selectionMode = that.option("selection.mode"); var $table = that.callBase.apply(that, arguments); if ("none" !== selectionMode) { if ("onLongTap" === that.option(SHOW_CHECKBOXES_MODE) || !_support.touch) { _events_engine.default.on($table, (0, _index.addNamespace)(_hold.default.name, "dxDataGridRowsView"), ".".concat("dx-data-row"), that.createAction((function(e) { processLongTap(that.component, e.event); e.event.stopPropagation() }))) } _events_engine.default.on($table, "mousedown selectstart", that.createAction((function(e) { var event = e.event; if (event.shiftKey) { event.preventDefault() } }))) } return $table }, _createRow: function(row) { var $row = this.callBase.apply(this, arguments); if (row) { var isSelected = row.isSelected; if (isSelected) { $row.addClass("dx-selection") } var selectionMode = this.option("selection.mode"); if ("none" !== selectionMode) { this.setAria("selected", isSelected, $row) } } return $row }, _rowClick: function(e) { var dxEvent = e.event; var isSelectionDisabled = (0, _renderer.default)(dxEvent.target).closest(".".concat("dx-selection-disabled")).length; if (!this.isClickableElement((0, _renderer.default)(dxEvent.target))) { if (!isSelectionDisabled && ("multiple" !== this.option("selection.mode") || "always" !== this.option(SHOW_CHECKBOXES_MODE))) { if (this.getController("selection").changeItemSelection(e.rowIndex, { control: (0, _index.isCommandKeyPressed)(dxEvent), shift: dxEvent.shiftKey })) { dxEvent.preventDefault(); e.handled = true } } this.callBase(e) } }, isClickableElement: function($target) { var isCommandSelect = $target.closest(".".concat("dx-command-select")).length; return !!isCommandSelect }, _renderCore: function(change) { var deferred = this.callBase(change); this._updateCheckboxesClass(); return deferred }, _updateCheckboxesClass: function() { var tableElements = this.getTableElements(); var selectionController = this.getController("selection"); var isCheckBoxesHidden = selectionController.isSelectColumnVisible() && !selectionController.isSelectionWithCheckboxes(); (0, _iterator.each)(tableElements, (function(_, tableElement) { (0, _renderer.default)(tableElement).toggleClass("dx-select-checkboxes-hidden", isCheckBoxesHidden) })) } } } } }; exports.selectionModule = selectionModule }, 11590: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/sorting/m_sorting.js ***! \*********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.sortingModule = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _click = __webpack_require__( /*! ../../../../events/click */ 95429); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../../../events/utils/index */ 39611); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _m_sorting_mixin = _interopRequireDefault(__webpack_require__( /*! ./m_sorting_mixin */ 62930)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ColumnHeadersViewSortingExtender = (0, _extend.extend)({}, _m_sorting_mixin.default, { _createRow: function(row) { var _this = this; var $row = this.callBase(row); if ("header" === row.rowType) { _events_engine.default.on($row, (0, _index.addNamespace)(_click.name, "dxDataGridColumnHeadersView"), "td", this.createAction((function(e) { _this._processHeaderAction(e.event, $row) }))) } return $row }, _processHeaderAction: function(event, $row) { if ((0, _renderer.default)(event.currentTarget).parent().get(0) !== $row.get(0)) { return } var that = this; var keyName = null; var $cellElementFromEvent = (0, _renderer.default)(event.currentTarget); var rowIndex = $cellElementFromEvent.parent().index(); var columnIndex = -1; [].slice.call(that.getCellElements(rowIndex)).some((function($cellElement, index) { if ($cellElement === $cellElementFromEvent.get(0)) { columnIndex = index; return true } return })); var visibleColumns = that._columnsController.getVisibleColumns(rowIndex); var column = visibleColumns[columnIndex]; var editingController = that.getController("editing"); var editingMode = that.option("editing.mode"); var isCellEditing = editingController && editingController.isEditing() && ("batch" === editingMode || "cell" === editingMode); if (isCellEditing || !that._isSortableElement((0, _renderer.default)(event.target))) { return } if (column && !(0, _type.isDefined)(column.groupIndex) && !column.command) { if (event.shiftKey) { keyName = "shift" } else if ((0, _index.isCommandKeyPressed)(event)) { keyName = "ctrl" } setTimeout((function() { that._columnsController.changeSortOrder(column.index, keyName) })) } }, _renderCellContent: function($cell, options) { var that = this; var column = options.column; if (!column.command && "header" === options.rowType) { that._applyColumnState({ name: "sort", rootElement: $cell, column: column, showColumnLines: that.option("showColumnLines") }) } this.callBase.apply(this, arguments) }, _columnOptionChanged: function(e) { var changeTypes = e.changeTypes; if (1 === changeTypes.length && changeTypes.sorting) { this._updateIndicators("sort"); return } this.callBase(e) }, optionChanged: function(args) { switch (args.name) { case "sorting": this._invalidate(); args.handled = true; break; default: this.callBase(args) } } }); var HeaderPanelSortingExtender = (0, _extend.extend)({}, _m_sorting_mixin.default, { _createGroupPanelItem: function($rootElement, groupColumn) { var that = this; var $item = that.callBase.apply(that, arguments); _events_engine.default.on($item, (0, _index.addNamespace)(_click.name, "dxDataGridHeaderPanel"), that.createAction((function() { that._processGroupItemAction(groupColumn.index) }))); that._applyColumnState({ name: "sort", rootElement: $item, column: { alignment: that.option("rtlEnabled") ? "right" : "left", allowSorting: groupColumn.allowSorting, sortOrder: "desc" === groupColumn.sortOrder ? "desc" : "asc" }, showColumnLines: true }); return $item }, _processGroupItemAction: function(groupColumnIndex) { var _this2 = this; setTimeout((function() { return _this2.getController("columns").changeSortOrder(groupColumnIndex) })) }, optionChanged: function(args) { switch (args.name) { case "sorting": this._invalidate(); args.handled = true; break; default: this.callBase(args) } } }); var sortingModule = { defaultOptions: function() { return { sorting: { mode: "single", ascendingText: _message.default.format("dxDataGrid-sortingAscendingText"), descendingText: _message.default.format("dxDataGrid-sortingDescendingText"), clearText: _message.default.format("dxDataGrid-sortingClearText"), showSortIndexes: true } } }, extenders: { views: { columnHeadersView: ColumnHeadersViewSortingExtender, headerPanel: HeaderPanelSortingExtender } } }; exports.sortingModule = sortingModule }, 62930: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/sorting/m_sorting_mixin.js ***! \***************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _renderer = (obj = __webpack_require__( /*! ../../../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _default = { _applyColumnState: function(options) { var ariaSortState; var $sortIndicator; var sortingMode = this.option("sorting.mode"); var rootElement = options.rootElement; var column = options.column; var $indicatorsContainer = this._getIndicatorContainer(rootElement); if ("sort" === options.name) { rootElement.find(".".concat("dx-sort")).remove(); !$indicatorsContainer.children().length && $indicatorsContainer.remove(); var isSortingAllowed = "none" !== sortingMode && column.allowSorting; if (!(0, _type.isDefined)(column.groupIndex) && (isSortingAllowed || (0, _type.isDefined)(column.sortOrder))) { ariaSortState = "asc" === column.sortOrder ? "ascending" : "descending"; $sortIndicator = this.callBase(options).toggleClass("dx-sort-up", "asc" === column.sortOrder).toggleClass("dx-sort-down", "desc" === column.sortOrder); var hasSeveralSortIndexes = this.getController && !!this.getController("columns").columnOption("sortIndex:1"); if (hasSeveralSortIndexes && this.option("sorting.showSortIndexes") && column.sortIndex >= 0) { (0, _renderer.default)("").addClass("dx-sort-index-icon").text(column.sortIndex + 1).appendTo($sortIndicator); $sortIndicator.addClass("dx-sort-index") } if (isSortingAllowed) { options.rootElement.addClass(this.addWidgetPrefix("action")) } } if (!(0, _type.isDefined)(column.sortOrder)) { this.setAria("sort", "none", rootElement) } else { this.setAria("sort", ariaSortState, rootElement) } return $sortIndicator } return this.callBase(options) }, _getIndicatorClassName: function(name) { if ("sort" === name) { return "dx-sort" } if ("sortIndex" === name) { return "dx-sort-index-icon" } return this.callBase(name) }, _renderIndicator: function(options) { var column = options.column; var $container = options.container; var $indicator = options.indicator; if ("sort" === options.name) { var rtlEnabled = this.option("rtlEnabled"); if (!(0, _type.isDefined)(column.sortOrder)) { $indicator && $indicator.addClass("dx-sort-none") } if ($container.children().length && (!rtlEnabled && "left" === options.columnAlignment || rtlEnabled && "right" === options.columnAlignment)) { $container.prepend($indicator); return } } this.callBase(options) }, _updateIndicator: function($cell, column, indicatorName) { if ("sort" === indicatorName && (0, _type.isDefined)(column.groupIndex)) { return } return this.callBase.apply(this, arguments) }, _getIndicatorElements: function($cell, returnAll) { var $indicatorElements = this.callBase($cell); return returnAll ? $indicatorElements : $indicatorElements && $indicatorElements.not(".".concat("dx-sort-none")) } }; exports.default = _default }, 12440: /*!*********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/state_storing/m_state_storing.js ***! \*********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.stateStoringModule = void 0; var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _m_state_storing_core = (obj = __webpack_require__( /*! ./m_state_storing_core */ 84651), obj && obj.__esModule ? obj : { default: obj }); var obj; var processLoadState = function(that) { var columnsController = that.getController("columns"); var selectionController = that.getController("selection"); var exportController = that.getController("export"); var dataController = that.getController("data"); if (columnsController) { columnsController.columnsChanged.add((function() { that.updateState({ columns: columnsController.getUserState() }) })) } if (selectionController) { selectionController.selectionChanged.add((function(e) { that.updateState({ selectedRowKeys: e.selectedRowKeys, selectionFilter: e.selectionFilter }) })) } if (dataController) { that._initialPageSize = that.option("paging.pageSize"); that._initialFilterValue = that.option("filterValue"); dataController.changed.add((function() { var state = function(that) { var pagerView = that.getView("pagerView"); var dataController = that.getController("data"); var state = { allowedPageSizes: pagerView ? pagerView.getPageSizes() : void 0, filterPanel: { filterEnabled: that.option("filterPanel.filterEnabled") }, filterValue: that.option("filterValue"), focusedRowKey: that.option("focusedRowEnabled") ? that.option("focusedRowKey") : void 0 }; return (0, _extend.extend)(state, dataController.getUserState()) }(that); that.updateState(state) })) } if (exportController) { exportController.selectionOnlyChanged.add((function() { that.updateState({ exportSelectionOnly: exportController.selectionOnly() }) })) } }; var stateStoringModule = { defaultOptions: function() { return { stateStoring: { enabled: false, storageKey: null, type: "localStorage", customLoad: null, customSave: null, savingTimeout: 2e3 } } }, controllers: { stateStoring: _m_state_storing_core.default.StateStoringController }, extenders: { views: { rowsView: { init: function() { var that = this; var dataController = that.getController("data"); that.callBase(); dataController.stateLoaded.add((function() { if (dataController.isLoaded() && !dataController.getDataSource()) { that.setLoading(false); that.renderNoDataText(); var columnHeadersView = that.component.getView("columnHeadersView"); columnHeadersView && columnHeadersView.render(); that.component._fireContentReadyAction() } })) } } }, controllers: { stateStoring: { init: function() { this.callBase.apply(this, arguments); processLoadState(this) }, isLoading: function() { return this.callBase() || this.getController("data").isStateLoading() }, state: function(_state) { var result = this.callBase.apply(this, arguments); if (void 0 !== _state) { this.applyState((0, _extend.extend)(true, {}, _state)) } return result }, updateState: function(state) { if (this.isEnabled()) { var oldState = this.state(); var newState = (0, _extend.extend)({}, oldState, state); var oldStateHash = (0, _common.getKeyHash)(oldState); var newStateHash = (0, _common.getKeyHash)(newState); if (!(0, _common.equalByValue)(oldStateHash, newStateHash)) { state = (0, _extend.extend)(true, {}, state); (0, _extend.extend)(this._state, state); this.save() } } else { (0, _extend.extend)(this._state, state) } }, applyState: function(state) { var _a; var allowedPageSizes = state.allowedPageSizes; var searchText = state.searchText; var selectedRowKeys = state.selectedRowKeys; var selectionFilter = state.selectionFilter; var exportController = this.getController("export"); var columnsController = this.getController("columns"); var dataController = this.getController("data"); var scrollingMode = this.option("scrolling.mode"); var isVirtualScrollingMode = "virtual" === scrollingMode || "infinite" === scrollingMode; var showPageSizeSelector = true === this.option("pager.visible") && this.option("pager.showPageSizeSelector"); var hasHeight = null === (_a = this.getView("rowsView")) || void 0 === _a ? void 0 : _a.hasHeight(); this.component.beginUpdate(); if (columnsController) { columnsController.setUserState(state.columns) } if (exportController) { exportController.selectionOnly(state.exportSelectionOnly) } if (!this.option("selection.deferred")) { this.option("selectedRowKeys", selectedRowKeys || []) } this.option("selectionFilter", selectionFilter); if (allowedPageSizes && "auto" === this.option("pager.allowedPageSizes")) { this.option("pager").allowedPageSizes = allowedPageSizes } if (this.option("focusedRowEnabled")) { this.option("focusedRowIndex", -1); this.option("focusedRowKey", state.focusedRowKey || null) } this.component.endUpdate(); this.option("searchPanel.text", searchText || ""); this.option("filterValue", function(that, state) { var filterSyncController = that.getController("filterSync"); var columnsController = that.getController("columns"); var hasFilterState = state.columns || void 0 !== state.filterValue; if (filterSyncController) { if (hasFilterState) { return state.filterValue || filterSyncController.getFilterValueFromColumns(state.columns) } return that._initialFilterValue || filterSyncController.getFilterValueFromColumns(columnsController.getColumns()) } return null }(this, state)); this.option("filterPanel.filterEnabled", state.filterPanel ? state.filterPanel.filterEnabled : true); this.option("paging.pageIndex", (!isVirtualScrollingMode || hasHeight) && state.pageIndex || 0); this.option("paging.pageSize", (!isVirtualScrollingMode || showPageSizeSelector) && (0, _type.isDefined)(state.pageSize) ? state.pageSize : this._initialPageSize); dataController && dataController.reset() } }, columns: { _shouldReturnVisibleColumns: function() { var result = this.callBase.apply(this, arguments); var stateStoringController = this.getController("stateStoring"); return result && (!stateStoringController.isEnabled() || stateStoringController.isLoaded()) } }, data: { callbackNames: function() { return this.callBase().concat(["stateLoaded"]) }, _refreshDataSource: function() { var _this = this; var callBase = this.callBase; var stateStoringController = this.getController("stateStoring"); if (stateStoringController.isEnabled() && !stateStoringController.isLoaded()) { clearTimeout(this._restoreStateTimeoutID); var deferred = new _deferred.Deferred; this._restoreStateTimeoutID = setTimeout((function() { stateStoringController.load().always((function() { _this._restoreStateTimeoutID = null })).done((function() { callBase.call(_this); _this.stateLoaded.fire(); deferred.resolve() })).fail((function(error) { _this.stateLoaded.fire(); _this._handleLoadError(error || "Unknown error"); deferred.reject() })) })); return deferred.promise() } if (!this.isStateLoading()) { callBase.call(this) } }, isLoading: function() { var stateStoringController = this.getController("stateStoring"); return this.callBase() || stateStoringController.isLoading() }, isStateLoading: function() { return (0, _type.isDefined)(this._restoreStateTimeoutID) }, isLoaded: function() { return this.callBase() && !this.isStateLoading() }, dispose: function() { clearTimeout(this._restoreStateTimeoutID); this.callBase() } }, selection: { _fireSelectionChanged: function(options) { var stateStoringController = this.getController("stateStoring"); var isDeferredSelection = this.option("selection.deferred"); if (stateStoringController.isLoading() && isDeferredSelection) { return } this.callBase.apply(this, arguments) } } } } }; exports.stateStoringModule = stateStoringModule }, 84651: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/state_storing/m_state_storing_core.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _storage = __webpack_require__( /*! ../../../../core/utils/storage */ 36613); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../../../core/utils/window */ 58201); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/widget/ui.errors */ 96688)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var DATE_REGEX = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/; var parseDates = function parseDates(state) { if (!state) { return }(0, _iterator.each)(state, (function(key, value) { if ((0, _type.isPlainObject)(value) || Array.isArray(value)) { parseDates(value) } else if ("string" === typeof value) { var date = DATE_REGEX.exec(value); if (date) { state[key] = new Date(Date.UTC(+date[1], +date[2] - 1, +date[3], +date[4], +date[5], +date[6])) } } })) }; var StateStoringController = _m_modules.default.ViewController.inherit((getStorage = function(options) { var storage = "sessionStorage" === options.type ? (0, _storage.sessionStorage)() : (0, _window.getWindow)().localStorage; if (!storage) { throw new Error("E1007") } return storage }, getUniqueStorageKey = function(options) { return (0, _type.isDefined)(options.storageKey) ? options.storageKey : "storage" }, { _loadState: function() { var options = this.option("stateStoring"); if ("custom" === options.type) { return options.customLoad && options.customLoad() } try { return JSON.parse(getStorage(options).getItem(getUniqueStorageKey(options))) } catch (e) { _ui.default.log("W1022", "State storing", e.message) } }, _saveState: function(state) { var options = this.option("stateStoring"); if ("custom" === options.type) { options.customSave && options.customSave(state); return } try { getStorage(options).setItem(getUniqueStorageKey(options), JSON.stringify(state)) } catch (e) { _ui.default.log(e.message) } }, publicMethods: function() { return ["state"] }, isEnabled: function() { return this.option("stateStoring.enabled") }, init: function() { var that = this; that._state = {}; that._isLoaded = false; that._isLoading = false; that._windowUnloadHandler = function() { if (void 0 !== that._savingTimeoutID) { that._saveState(that.state()) } }; _events_engine.default.on((0, _window.getWindow)(), "unload", that._windowUnloadHandler); return that }, isLoaded: function() { return this._isLoaded }, isLoading: function() { return this._isLoading }, load: function() { var _this = this; this._isLoading = true; var loadResult = (0, _deferred.fromPromise)(this._loadState()); loadResult.always((function() { _this._isLoaded = true; _this._isLoading = false })).done((function(state) { if (null !== state && !(0, _type.isEmptyObject)(state)) { _this.state(state) } })); return loadResult }, state: function(_state) { var that = this; if (!arguments.length) { return (0, _extend.extend)(true, {}, that._state) } that._state = (0, _extend.extend)({}, _state); parseDates(that._state) }, save: function() { var that = this; clearTimeout(that._savingTimeoutID); that._savingTimeoutID = setTimeout((function() { that._saveState(that.state()); that._savingTimeoutID = void 0 }), that.option("stateStoring.savingTimeout")) }, optionChanged: function(args) { switch (args.name) { case "stateStoring": if (this.isEnabled() && !this.isLoading()) { this.load() } args.handled = true; break; default: this.callBase(args) } }, dispose: function() { clearTimeout(this._savingTimeoutID); _events_engine.default.off((0, _window.getWindow)(), "unload", this._windowUnloadHandler) } })); var getStorage, getUniqueStorageKey; var _default = { StateStoringController: StateStoringController }; exports.default = _default }, 39830: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/validating/m_validating.js ***! \***************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.validatingModule = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/browser */ 47810)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _string = __webpack_require__( /*! ../../../../core/utils/string */ 68752); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _array_utils = __webpack_require__( /*! ../../../../data/array_utils */ 60637); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../../../events/pointer */ 93786)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _button = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/button */ 63008)); var _load_indicator = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/load_indicator */ 2492)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/overlay/ui.overlay */ 89799)); var _validation_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/validation_engine */ 90964)); var _validator = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/validator */ 39562)); var _selectors = __webpack_require__( /*! ../../../../ui/widget/selectors */ 31421); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/widget/ui.errors */ 96688)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var FORM_BASED_MODES = ["popup", "form"]; var VALIDATION_STATUS_valid = "valid", VALIDATION_STATUS_invalid = "invalid", VALIDATION_STATUS_pending = "pending"; var validationResultIsValid = function(result) { return (0, _type.isDefined)(result) && "cancel" !== result }; var cellValueShouldBeValidated = function(value, rowOptions) { return void 0 !== value || void 0 === value && rowOptions && !rowOptions.isNewRow }; var ValidatingController = _m_modules.default.Controller.inherit({ init: function() { this._editingController = this.getController("editing"); this.createAction("onRowValidating"); if (!this._validationState) { this.initValidationState() } }, initValidationState: function() { this._validationState = []; this._validationStateCache = {} }, _rowIsValidated: function(change) { var validationData = this._getValidationData(null === change || void 0 === change ? void 0 : change.key); return !!validationData && !!validationData.validated }, _getValidationData: function(key, create) { var keyHash = (0, _common.getKeyHash)(key); var isObjectKeyHash = (0, _type.isObject)(keyHash); var validationData; if (isObjectKeyHash) { validationData = this._validationState.filter((function(data) { return (0, _common.equalByValue)(data.key, key) }))[0] } else { validationData = this._validationStateCache[keyHash] } if (!validationData && create) { validationData = { key: key, isValid: true }; this._validationState.push(validationData); if (!isObjectKeyHash) { this._validationStateCache[keyHash] = validationData } } return validationData }, _getBrokenRules: function(validationData, validationResults) { var brokenRules; if (validationResults) { brokenRules = validationResults.brokenRules || validationResults.brokenRule && [validationResults.brokenRule] } else { brokenRules = validationData.brokenRules || [] } return brokenRules }, _rowValidating: function(validationData, validationResults) { var deferred = new _deferred.Deferred; var change = this._editingController.getChangeByKey(null === validationData || void 0 === validationData ? void 0 : validationData.key); var brokenRules = this._getBrokenRules(validationData, validationResults); var isValid = validationResults ? validationResults.isValid : validationData.isValid; var parameters = { brokenRules: brokenRules, isValid: isValid, key: change.key, newData: change.data, oldData: this._editingController._getOldData(change.key), promise: null, errorText: this.getHiddenValidatorsErrorText(brokenRules) }; this.executeAction("onRowValidating", parameters); (0, _deferred.when)((0, _deferred.fromPromise)(parameters.promise)).always((function() { validationData.isValid = parameters.isValid; validationData.errorText = parameters.errorText; deferred.resolve(parameters) })); return deferred.promise() }, getHiddenValidatorsErrorText: function(brokenRules) { var brokenRulesMessages = []; (0, _iterator.each)(brokenRules, (function(_, brokenRule) { var column = brokenRule.column; var isGroupExpandColumn = column && void 0 !== column.groupIndex && !column.showWhenGrouped; var isVisibleColumn = column && column.visible; if (!brokenRule.validator.$element().parent().length && (!isVisibleColumn || isGroupExpandColumn)) { brokenRulesMessages.push(brokenRule.message) } })); return brokenRulesMessages.join(", ") }, validate: function(isFull) { var _this = this; var isValid = true; var editingController = this._editingController; var deferred = new _deferred.Deferred; var completeList = []; var editMode = editingController.getEditMode(); isFull = isFull || "row" === editMode; if (this._isValidationInProgress) { return deferred.resolve(false).promise() } this._isValidationInProgress = true; if (isFull) { editingController.addDeferred(deferred); var changes = editingController.getChanges(); (0, _iterator.each)(changes, (function(index, _ref) { var type = _ref.type, key = _ref.key; if ("remove" !== type) { var validationData = _this._getValidationData(key, true); var validationResult = _this.validateGroup(validationData); completeList.push(validationResult); validationResult.done((function(validationResult) { validationData.validated = true; isValid = isValid && validationResult.isValid })) } })) } else if (this._currentCellValidator) { var validationResult = this.validateGroup(this._currentCellValidator._findGroup()); completeList.push(validationResult); validationResult.done((function(validationResult) { isValid = validationResult.isValid })) } _deferred.when.apply(void 0, completeList).done((function() { _this._isValidationInProgress = false; deferred.resolve(isValid) })); return deferred.promise() }, validateGroup: function(validationData) { var _this2 = this; var result = new _deferred.Deferred; var validateGroup = validationData && _validation_engine.default.getGroupConfig(validationData); var validationResult; if (null === validateGroup || void 0 === validateGroup ? void 0 : validateGroup.validators.length) { this.resetRowValidationResults(validationData); validationResult = _validation_engine.default.validateGroup(validationData) }(0, _deferred.when)((null === validationResult || void 0 === validationResult ? void 0 : validationResult.complete) || validationResult).done((function(validationResult) { (0, _deferred.when)(_this2._rowValidating(validationData, validationResult)).done(result.resolve) })); return result.promise() }, isRowDataModified: function(change) { return !(0, _type.isEmptyObject)(change.data) }, updateValidationState: function(change) { var editMode = this._editingController.getEditMode(); var key = change.key; var validationData = this._getValidationData(key, true); if (!FORM_BASED_MODES.includes(editMode)) { if ("insert" === change.type && !this.isRowDataModified(change)) { validationData.isValid = true; return } this.setDisableApplyValidationResults(true); var groupConfig = _validation_engine.default.getGroupConfig(validationData); if (groupConfig) { var validationResult = _validation_engine.default.validateGroup(validationData); (0, _deferred.when)(validationResult.complete || validationResult).done((function(validationResult) { validationData.isValid = validationResult.isValid; validationData.brokenRules = validationResult.brokenRules })) } else if (!validationData.brokenRules || !validationData.brokenRules.length) { validationData.isValid = true } this.setDisableApplyValidationResults(false) } else { validationData.isValid = true } }, setValidator: function(validator) { this._currentCellValidator = validator }, renderCellPendingIndicator: function($container) { var $indicator = $container.find(".".concat("dx-pending-indicator")); if (!$indicator.length) { var $indicatorContainer = $container; $indicator = (0, _renderer.default)("
").appendTo($indicatorContainer).addClass("dx-pending-indicator"); this._createComponent($indicator, _load_indicator.default); $container.addClass("dx-validation-pending") } }, disposeCellPendingIndicator: function($container) { var $indicator = $container.find(".".concat("dx-pending-indicator")); if ($indicator.length) { var indicator = _load_indicator.default.getInstance($indicator); if (indicator) { indicator.dispose(); indicator.$element().remove() } $container.removeClass("dx-validation-pending") } }, validationStatusChanged: function(result) { var validator = result.validator; var validationGroup = validator.option("validationGroup"); var _validator$option = validator.option("dataGetter")(), column = _validator$option.column; this.updateCellValidationResult({ rowKey: validationGroup.key, columnIndex: column.index, validationResult: result }) }, validatorInitialized: function(arg) { arg.component.on("validating", this.validationStatusChanged.bind(this)); arg.component.on("validated", this.validationStatusChanged.bind(this)) }, validatorDisposing: function(arg) { var validator = arg.component; var validationGroup = validator.option("validationGroup"); var _validator$option2 = validator.option("dataGetter")(), column = _validator$option2.column; var result = this.getCellValidationResult({ rowKey: null === validationGroup || void 0 === validationGroup ? void 0 : validationGroup.key, columnIndex: column.index }); if (validationResultIsValid(result) && result.status === VALIDATION_STATUS_pending) { this.cancelCellValidationResult({ change: validationGroup, columnIndex: column.index }) } }, applyValidationResult: function($container, result) { var validator = result.validator; var validationGroup = validator.option("validationGroup"); var _validator$option3 = validator.option("dataGetter")(), column = _validator$option3.column; result.brokenRules && result.brokenRules.forEach((function(rule) { rule.columnIndex = column.index; rule.column = column })); if ($container) { var validationResult = this.getCellValidationResult({ rowKey: validationGroup.key, columnIndex: column.index }); var requestIsDisabled = validationResultIsValid(validationResult) && validationResult.disabledPendingId === result.id; if (this._disableApplyValidationResults || requestIsDisabled) { return } if (result.status === VALIDATION_STATUS_invalid) { var $focus = $container.find(":focus"); if (!(0, _selectors.focused)($focus)) { _events_engine.default.trigger($focus, "focus"); _events_engine.default.trigger($focus, _pointer.default.down) } } var editor = !column.editCellTemplate && this.getController("editorFactory").getEditorInstance($container); if (result.status === VALIDATION_STATUS_pending) { if (editor) { editor.option("validationStatus", VALIDATION_STATUS_pending) } else { this.renderCellPendingIndicator($container) } } else if (editor) { editor.option("validationStatus", VALIDATION_STATUS_valid) } else { this.disposeCellPendingIndicator($container) } $container.toggleClass(this.addWidgetPrefix("invalid"), result.status === VALIDATION_STATUS_invalid) } }, _syncInternalEditingData: function(parameters) { var _a; var editingController = this._editingController; var change = editingController.getChangeByKey(parameters.key); var oldDataFromState = editingController._getOldData(parameters.key); var oldData = null === (_a = parameters.row) || void 0 === _a ? void 0 : _a.oldData; if (change && oldData && !oldDataFromState) { editingController._addInternalData({ key: parameters.key, oldData: oldData }) } }, createValidator: function(parameters, $container) { var _this3 = this; var _a, _b; var editingController = this._editingController; var column = parameters.column; var showEditorAlways = column.showEditorAlways; if ((0, _type.isDefined)(column.command) || !column.validationRules || !Array.isArray(column.validationRules) || !column.validationRules.length) { return } var editIndex = editingController.getIndexByKey(parameters.key, editingController.getChanges()); var needCreateValidator = editIndex > -1; if (!needCreateValidator) { if (!showEditorAlways) { var columnsController = this.getController("columns"); var visibleColumns = (null === columnsController || void 0 === columnsController ? void 0 : columnsController.getVisibleColumns()) || []; showEditorAlways = visibleColumns.some((function(column) { return column.showEditorAlways })) } var isEditRow = (0, _common.equalByValue)(this.option("editing.editRowKey"), parameters.key); var isCellOrBatchEditingAllowed = editingController.isCellOrBatchEditMode() && editingController.allowUpdating({ row: parameters.row }); needCreateValidator = isEditRow || isCellOrBatchEditingAllowed && showEditorAlways; if (isCellOrBatchEditingAllowed && showEditorAlways) { editingController._addInternalData({ key: parameters.key, oldData: null !== (_b = null === (_a = parameters.row) || void 0 === _a ? void 0 : _a.oldData) && void 0 !== _b ? _b : parameters.data }) } } if (needCreateValidator) { if ($container && !$container.length) { _ui2.default.log("E1050"); return } this._syncInternalEditingData(parameters); var validationData = this._getValidationData(parameters.key, true); var getValue = function() { var change = editingController.getChangeByKey(null === validationData || void 0 === validationData ? void 0 : validationData.key); var value = column.calculateCellValue((null === change || void 0 === change ? void 0 : change.data) || {}); return void 0 !== value ? value : parameters.value }; var useDefaultValidator = $container && $container.hasClass("dx-widget"); $container && $container.addClass(this.addWidgetPrefix("validator")); var validator = new _validator.default($container || (0, _renderer.default)("
"), { name: column.caption, validationRules: (0, _extend.extend)(true, [], column.validationRules), validationGroup: validationData, adapter: useDefaultValidator ? null : { getValue: getValue, applyValidationResults: function(result) { _this3.applyValidationResult($container, result) } }, dataGetter: function() { var key = null === validationData || void 0 === validationData ? void 0 : validationData.key; var change = editingController.getChangeByKey(key); var oldData = editingController._getOldData(key); return { data: (0, _array_utils.createObjectWithChanges)(oldData, null === change || void 0 === change ? void 0 : change.data), column: column } }, onInitialized: this.validatorInitialized.bind(this), onDisposing: this.validatorDisposing.bind(this) }); if (useDefaultValidator) { var adapter = validator.option("adapter"); if (adapter) { var originBypass = adapter.bypass; adapter.getValue = getValue; adapter.validationRequestsCallbacks = []; adapter.bypass = function() { return originBypass.call(adapter) || parameters.row.isNewRow && !_this3._isValidationInProgress && !editingController.isCellModified(parameters) } } } return validator } return }, setDisableApplyValidationResults: function(flag) { this._disableApplyValidationResults = flag }, getDisableApplyValidationResults: function() { return this._disableApplyValidationResults }, isCurrentValidatorProcessing: function(_ref2) { var rowKey = _ref2.rowKey, columnIndex = _ref2.columnIndex; return this._currentCellValidator && (0, _common.equalByValue)(this._currentCellValidator.option("validationGroup").key, rowKey) && this._currentCellValidator.option("dataGetter")().column.index === columnIndex }, validateCell: function(validator) { var cellParams = { rowKey: validator.option("validationGroup").key, columnIndex: validator.option("dataGetter")().column.index }; var validationResult = this.getCellValidationResult(cellParams); var stateRestored = validationResultIsValid(validationResult); var adapter = validator.option("adapter"); if (!stateRestored) { validationResult = validator.validate() } else { var currentCellValue = adapter.getValue(); if (!(0, _common.equalByValue)(currentCellValue, validationResult.value)) { validationResult = validator.validate() } } var deferred = new _deferred.Deferred; if (stateRestored && validationResult.status === VALIDATION_STATUS_pending) { this.updateCellValidationResult(cellParams); adapter.applyValidationResults(validationResult) }(0, _deferred.when)(validationResult.complete || validationResult).done((function(validationResult) { stateRestored && adapter.applyValidationResults(validationResult); deferred.resolve(validationResult) })); return deferred.promise() }, updateCellValidationResult: function(_ref3) { var rowKey = _ref3.rowKey, columnIndex = _ref3.columnIndex, validationResult = _ref3.validationResult; var validationData = this._getValidationData(rowKey); if (!validationData) { return } if (!validationData.validationResults) { validationData.validationResults = {} } var result; if (validationResult) { result = (0, _extend.extend)({}, validationResult); validationData.validationResults[columnIndex] = result; if (validationResult.status === VALIDATION_STATUS_pending) { if ("cell" === this._editingController.getEditMode()) { result.deferred = new _deferred.Deferred; result.complete.always((function() { result.deferred.resolve() })); this._editingController.addDeferred(result.deferred) } if (this._disableApplyValidationResults) { result.disabledPendingId = validationResult.id; return } } } else { result = validationData.validationResults[columnIndex] } if (result && result.disabledPendingId) { delete result.disabledPendingId } }, getCellValidationResult: function(_ref4) { var rowKey = _ref4.rowKey, columnIndex = _ref4.columnIndex; var _a; var validationData = this._getValidationData(rowKey, true); return null === (_a = null === validationData || void 0 === validationData ? void 0 : validationData.validationResults) || void 0 === _a ? void 0 : _a[columnIndex] }, removeCellValidationResult: function(_ref5) { var change = _ref5.change, columnIndex = _ref5.columnIndex; var validationData = this._getValidationData(null === change || void 0 === change ? void 0 : change.key); if (validationData && validationData.validationResults) { this.cancelCellValidationResult({ change: change, columnIndex: columnIndex }); delete validationData.validationResults[columnIndex] } }, cancelCellValidationResult: function(_ref6) { var change = _ref6.change, columnIndex = _ref6.columnIndex; var validationData = this._getValidationData(change.key); if (change && validationData.validationResults) { var result = validationData.validationResults[columnIndex]; if (result) { result.deferred && result.deferred.reject("cancel"); validationData.validationResults[columnIndex] = "cancel" } } }, resetRowValidationResults: function(validationData) { if (validationData) { validationData.validationResults && delete validationData.validationResults; delete validationData.validated } }, isInvalidCell: function(_ref7) { var rowKey = _ref7.rowKey, columnIndex = _ref7.columnIndex; var result = this.getCellValidationResult({ rowKey: rowKey, columnIndex: columnIndex }); return validationResultIsValid(result) && result.status === VALIDATION_STATUS_invalid }, getCellValidator: function(_ref8) { var rowKey = _ref8.rowKey, columnIndex = _ref8.columnIndex; var validationData = this._getValidationData(rowKey); var groupConfig = validationData && _validation_engine.default.getGroupConfig(validationData); var validators = groupConfig && groupConfig.validators; return validators && validators.filter((function(v) { var _v$option = v.option("dataGetter")(), column = _v$option.column; return column ? column.index === columnIndex : false }))[0] }, setCellValidationStatus: function(cellOptions) { var validationResult = this.getCellValidationResult({ rowKey: cellOptions.key, columnIndex: cellOptions.column.index }); if ((0, _type.isDefined)(validationResult)) { cellOptions.validationStatus = "cancel" !== validationResult ? validationResult.status : "cancel" } else { delete cellOptions.validationStatus } } }); var validatingModule = { defaultOptions: function() { return { editing: { texts: { validationCancelChanges: _message.default.format("dxDataGrid-validationCancelChanges") } } } }, controllers: { validating: ValidatingController }, extenders: { controllers: { editing: { _addChange: function(changeParams) { var change = this.callBase.apply(this, arguments); var validatingController = this.getController("validating"); if (change && "remove" !== changeParams.type) { validatingController.updateValidationState(change) } return change }, _handleChangesChange: function(args) { this.callBase.apply(this, arguments); var validatingController = this.getController("validating"); args.value.forEach((function(change) { if (void 0 === validatingController._getValidationData(change.key)) { validatingController.updateValidationState(change) } })) }, _updateRowAndPageIndices: function() { var _this4 = this; var that = this; var startInsertIndex = that.getView("rowsView").getTopVisibleItemIndex(); var rowIndex = startInsertIndex; (0, _iterator.each)(that.getChanges(), (function(_, _ref9) { var key = _ref9.key, type = _ref9.type; var validationData = _this4.getController("validating")._getValidationData(key); if (validationData && !validationData.isValid && validationData.pageIndex !== that._pageIndex) { validationData.pageIndex = that._pageIndex; if ("insert" === type) { validationData.rowIndex = startInsertIndex } else { validationData.rowIndex = rowIndex } rowIndex++ } })) }, _getValidationGroupsInForm: function(detailOptions) { var validatingController = this.getController("validating"); var validationData = validatingController._getValidationData(detailOptions.key, true); return { validationGroup: validationData } }, _validateEditFormAfterUpdate: function(row, isCustomSetCellValue) { if (isCustomSetCellValue && this._editForm) { this._editForm.validate() } this.callBase.apply(this, arguments) }, _prepareEditCell: function(params) { var isNotCanceled = this.callBase.apply(this, arguments); var validatingController = this.getController("validating"); if (isNotCanceled && params.column.showEditorAlways) { validatingController.updateValidationState({ key: params.key }) } return isNotCanceled }, processItems: function(items, changeType) { var _this5 = this; var changes = this.getChanges(); var dataController = this.getController("data"); var validatingController = this.getController("validating"); items = this.callBase(items, changeType); var itemsCount = items.length; var addInValidItem = function(change, validationData) { var data = { key: change.key }; var index = function(change, items) { var index = -1; var isInsert = "insert" === change.type; var key = change.key; (0, _iterator.each)(items, (function(i, item) { if ((0, _common.equalByValue)(key, isInsert ? item.key : dataController.keyOf(item))) { index = i; return false } return })); return index }(change, items); if (index >= 0) { return } validationData.rowIndex = validationData.rowIndex > itemsCount ? validationData.rowIndex % itemsCount : validationData.rowIndex; var rowIndex = validationData.rowIndex; data.__DX_INSERT_INDEX__ = 1; items.splice(rowIndex, 0, data) }; if ("batch" === this.getEditMode() && "prepend" !== changeType && "append" !== changeType) { changes.forEach((function(change) { var key = change.key; var validationData = validatingController._getValidationData(key); if (validationData && change.type && validationData.pageIndex === _this5._pageIndex && (null === change || void 0 === change ? void 0 : change.pageIndex) !== _this5._pageIndex) { addInValidItem(change, validationData) } })) } return items }, processDataItem: function(item) { var isInserted = item.data.__DX_INSERT_INDEX__; var key = isInserted ? item.data.key : item.key; var editMode = this.getEditMode(); if ("batch" === editMode && isInserted && key) { var changes = this.getChanges(); var editIndex = _m_utils.default.getIndexByKey(key, changes); if (editIndex >= 0) { var change = changes[editIndex]; if ("insert" !== change.type) { var oldData = this._getOldData(change.key); item.data = (0, _extend.extend)(true, {}, oldData, change.data); item.key = key } } } this.callBase.apply(this, arguments) }, _createInvisibleColumnValidators: function(changes) { var _this6 = this; var that = this; var validatingController = this.getController("validating"); var columnsController = this.getController("columns"); var columns = columnsController.getColumns(); var invisibleColumns = columnsController.getInvisibleColumns().filter((function(column) { return !column.isBand })); var groupColumns = columnsController.getGroupColumns().filter((function(column) { return !column.showWhenGrouped && -1 === invisibleColumns.indexOf(column) })); var invisibleColumnValidators = []; invisibleColumns.push.apply(invisibleColumns, _toConsumableArray(groupColumns)); if (!FORM_BASED_MODES.includes(this.getEditMode())) { (0, _iterator.each)(columns, (function(_, column) { changes.forEach((function(change) { var data; if (function(column, rowKey) { return _this6._dataController.getRowIndexByKey(rowKey) >= 0 && invisibleColumns.indexOf(column) < 0 }(column, change.key)) { return } if ("insert" === change.type) { data = change.data } else if ("update" === change.type) { var oldData = that._getOldData(change.key); if (!(0, _type.isDefined)(oldData)) { return } data = (0, _array_utils.createObjectWithChanges)(oldData, change.data) } if (data) { var validator = validatingController.createValidator({ column: column, key: change.key, value: column.calculateCellValue(data) }); if (validator) { invisibleColumnValidators.push(validator) } } })) })) } return function() { invisibleColumnValidators.forEach((function(validator) { validator.dispose() })) } }, _beforeSaveEditData: function(change, editIndex) { var _this7 = this; var result = this.callBase.apply(this, arguments); var validatingController = this.getController("validating"); var validationData = validatingController._getValidationData(null === change || void 0 === change ? void 0 : change.key); if (change) { var isValid = "remove" === change.type || validationData.isValid; result = result || !isValid } else { var disposeValidators = this._createInvisibleColumnValidators(this.getChanges()); result = new _deferred.Deferred; this.executeOperation(result, (function() { validatingController.validate(true).done((function(isFullValid) { disposeValidators(); _this7._updateRowAndPageIndices(); switch (_this7.getEditMode()) { case "cell": if (!isFullValid) { _this7._focusEditingCell() } break; case "batch": if (!isFullValid) { _this7._resetEditRowKey(); _this7._resetEditColumnName(); _this7.getController("data").updateItems() } } result.resolve(!isFullValid) })) })) } return result.promise ? result.promise() : result }, _beforeEditCell: function(rowIndex, columnIndex, item) { var result = this.callBase(rowIndex, columnIndex, item); if ("cell" === this.getEditMode()) { var $cell = this._rowsView._getCellElement(rowIndex, columnIndex); var validator = $cell && $cell.data("dxValidator"); var rowOptions = $cell && $cell.closest(".dx-row").data("options"); var value = validator && validator.option("adapter").getValue(); if (validator && cellValueShouldBeValidated(value, rowOptions)) { var validatingController = this.getController("validating"); var deferred = new _deferred.Deferred; (0, _deferred.when)(validatingController.validateCell(validator), result).done((function(validationResult, result) { deferred.resolve(validationResult.status === VALIDATION_STATUS_valid && result) })); return deferred.promise() } if (!validator) { return result } } }, _afterSaveEditData: function(cancel) { var _this8 = this; var $firstErrorRow; var isCellEditMode = "cell" === this.getEditMode(); (0, _iterator.each)(this.getChanges(), (function(_, change) { var $errorRow = _this8._showErrorRow(change); $firstErrorRow = $firstErrorRow || $errorRow })); if ($firstErrorRow) { var scrollable = this._rowsView.getScrollable(); if (scrollable) { scrollable.update(); scrollable.scrollToElement($firstErrorRow) } } if (cancel && isCellEditMode && this._needUpdateRow()) { var editRowIndex = this.getEditRowIndex(); this._dataController.updateItems({ changeType: "update", rowIndices: [editRowIndex] }); this._focusEditingCell() } else if (!cancel) { var shouldResetValidationState = true; if (isCellEditMode) { var columns = this.getController("columns").getColumns(); var columnsWithValidatingEditors = columns.filter((function(col) { var _a; return col.showEditorAlways && (null === (_a = col.validationRules) || void 0 === _a ? void 0 : _a.length) > 0 })).length > 0; shouldResetValidationState = !columnsWithValidatingEditors } if (shouldResetValidationState) { this.getController("validating").initValidationState() } } }, _handleDataChanged: function(args) { var validationState = this.getController("validating")._validationState; if ("standard" === this.option("scrolling.mode")) { this.resetRowAndPageIndices() } if ("prepend" === args.changeType) { (0, _iterator.each)(validationState, (function(_, validationData) { validationData.rowIndex += args.items.length })) } this.callBase(args) }, resetRowAndPageIndices: function() { var _this9 = this; var validationState = this.getController("validating")._validationState; (0, _iterator.each)(validationState, (function(_, validationData) { if (validationData.pageIndex !== _this9._pageIndex) { delete validationData.pageIndex; delete validationData.rowIndex } })) }, _beforeCancelEditData: function() { this.getController("validating").initValidationState(); this.callBase() }, _showErrorRow: function(change) { var $popupContent; var errorHandling = this.getController("errorHandling"); var items = this.getController("data").items(); var rowIndex = this.getIndexByKey(change.key, items); var validationData = this.getController("validating")._getValidationData(change.key); if (!(null === validationData || void 0 === validationData ? void 0 : validationData.isValid) && (null === validationData || void 0 === validationData ? void 0 : validationData.errorText) && rowIndex >= 0) { $popupContent = this.getPopupContent(); return errorHandling && errorHandling.renderErrorRow(null === validationData || void 0 === validationData ? void 0 : validationData.errorText, rowIndex, $popupContent) } }, updateFieldValue: function(e) { var _this10 = this; var validatingController = this.getController("validating"); var deferred = new _deferred.Deferred; validatingController.removeCellValidationResult({ change: this.getChangeByKey(e.key), columnIndex: e.column.index }); this.callBase.apply(this, arguments).done((function() { var currentValidator = validatingController.getCellValidator({ rowKey: e.key, columnIndex: e.column.index }); (0, _deferred.when)(currentValidator && validatingController.validateCell(currentValidator)).done((function(validationResult) { _this10.getController("editorFactory").refocus(); deferred.resolve(validationResult) })) })); return deferred.promise() }, highlightDataCell: function($cell, parameters) { this.callBase.apply(this, arguments); var validatingController = this.getController("validating"); validatingController.setCellValidationStatus(parameters); var isEditableCell = !!parameters.setValue; var cellModified = this.isCellModified(parameters); var isValidated = (0, _type.isDefined)(parameters.validationStatus); var needValidation = cellModified && parameters.column.setCellValue || isEditableCell && !cellModified && !(parameters.row.isNewRow || !isValidated); if (needValidation) { var validator = $cell.data("dxValidator"); if (validator) { (0, _deferred.when)(this.getController("validating").validateCell(validator)).done((function() { validatingController.setCellValidationStatus(parameters) })) } } }, getChangeByKey: function(key) { var changes = this.getChanges(); return changes[_m_utils.default.getIndexByKey(key, changes)] }, isCellModified: function(parameters) { var cellModified = this.callBase(parameters); var change = this.getChangeByKey(parameters.key); var isCellInvalid = !!parameters.row && this.getController("validating").isInvalidCell({ rowKey: parameters.key, columnIndex: parameters.column.index }); return cellModified || this.getController("validating")._rowIsValidated(change) && isCellInvalid } }, editorFactory: { _showRevertButton: function($container) { var _this11 = this; var _a; var $tooltipElement = null === (_a = this._revertTooltip) || void 0 === _a ? void 0 : _a.$element(); if (!$container || !$container.length) { null === $tooltipElement || void 0 === $tooltipElement ? void 0 : $tooltipElement.remove(); this._revertTooltip = void 0; return } if ($container.find($tooltipElement).length) { return } var $overlayContainer = $container.closest(".".concat(this.addWidgetPrefix("content"))); var revertTooltipClass = this.addWidgetPrefix("revert-tooltip"); null === $tooltipElement || void 0 === $tooltipElement ? void 0 : $tooltipElement.remove(); $tooltipElement = (0, _renderer.default)("
").addClass(revertTooltipClass).appendTo($container); var tooltipOptions = { animation: null, visible: true, width: "auto", height: "auto", shading: false, container: $overlayContainer, propagateOutsideClick: true, hideOnOutsideClick: false, wrapperAttr: { class: revertTooltipClass }, contentTemplate: function() { var $buttonElement = (0, _renderer.default)("
").addClass("dx-revert-button"); var buttonOptions = { icon: "revert", hint: _this11.option("editing.texts.validationCancelChanges"), onClick: function() { _this11._editingController.cancelEditData() } }; return new _button.default($buttonElement, buttonOptions).$element() }, position: { my: "left top", at: "right top", offset: "1 0", collision: "flip", boundaryOffset: "0 0", boundary: this._rowsView.element(), of: $container }, onPositioned: this._positionedHandler.bind(this) }; this._revertTooltip = new _ui.default($tooltipElement, tooltipOptions) }, _hideFixedGroupCell: function($cell, overlayOptions) { var $nextFixedRowElement; var $groupCellElement; var isFixedColumns = this._rowsView.isFixedColumns(); var isFormOrPopupEditMode = this._editingController.isFormOrPopupEditMode(); if (isFixedColumns && !isFormOrPopupEditMode) { var nextRowOptions = $cell.closest(".dx-row").next().data("options"); if (nextRowOptions && "group" === nextRowOptions.rowType) { $nextFixedRowElement = (0, _renderer.default)(this._rowsView.getRowElement(nextRowOptions.rowIndex)).last(); $groupCellElement = $nextFixedRowElement.find(".".concat("dx-group-cell")); if ($groupCellElement.length && "hidden" !== $groupCellElement.get(0).style.visibility) { $groupCellElement.css("visibility", "hidden"); overlayOptions.onDisposing = function() { $groupCellElement.css("visibility", "") } } } } }, _positionedHandler: function(e, isOverlayVisible) { if (!e.component.__skipPositionProcessing) { var isRevertButton = (0, _renderer.default)(e.element).hasClass(this.addWidgetPrefix("revert-tooltip")); var needRepaint = !isRevertButton && this._rowsView.updateFreeSpaceRowHeight(); var normalizedPosition = this._normalizeValidationMessagePositionAndMaxWidth(e, isRevertButton, isOverlayVisible); e.component.__skipPositionProcessing = !!(needRepaint || normalizedPosition); if (normalizedPosition) { e.component.option(normalizedPosition) } else if (needRepaint) { e.component.repaint() } } }, _showValidationMessage: function($cell, messages, alignment) { var _this12 = this; var _a; var editorPopup = $cell.find(".dx-dropdowneditor-overlay").data("dxPopup"); var isOverlayVisible = editorPopup && editorPopup.option("visible"); var myPosition = isOverlayVisible ? "top right" : "top ".concat(alignment); var atPosition = isOverlayVisible ? "top left" : "bottom ".concat(alignment); var hasFixedColumns = (null === (_a = this._columnsController.getFixedColumns()) || void 0 === _a ? void 0 : _a.length) > 0; var $overlayContainer = hasFixedColumns ? this.getView("rowsView").element() : $cell.closest(".".concat(this.addWidgetPrefix("content"))); var errorMessageText = ""; messages && messages.forEach((function(message) { errorMessageText += (errorMessageText.length ? "
" : "") + (0, _string.encodeHtml)(message) })); var invalidMessageClass = this.addWidgetPrefix("invalid-message"); this._rowsView.element().find(".".concat(invalidMessageClass)).remove(); var $overlayElement = (0, _renderer.default)("
").addClass("dx-invalid-message").addClass("dx-invalid-message-always").addClass(invalidMessageClass).html(errorMessageText).appendTo($cell); var overlayOptions = { container: $overlayContainer, shading: false, width: "auto", height: "auto", visible: true, animation: false, propagateOutsideClick: true, hideOnOutsideClick: false, wrapperAttr: { class: "".concat("dx-invalid-message", " ").concat("dx-invalid-message-always", " ").concat(invalidMessageClass) }, position: { collision: "flip", boundary: this._rowsView.element(), boundaryOffset: "0 0", offset: { x: 0, y: !isOverlayVisible && _browser.default.mozilla ? -1 : 0 }, my: myPosition, at: atPosition, of: $cell }, onPositioned: function(e) { _this12._positionedHandler(e, isOverlayVisible); _this12._shiftValidationMessageIfNeed(e.component.$content(), $cell) } }; this._hideFixedGroupCell($cell, overlayOptions); new _ui.default($overlayElement, overlayOptions) }, _hideValidationMessage: function() { var _a; var validationMessages = null === (_a = this._rowsView.element()) || void 0 === _a ? void 0 : _a.find(this._getValidationMessagesSelector()); null === validationMessages || void 0 === validationMessages ? void 0 : validationMessages.remove() }, _normalizeValidationMessagePositionAndMaxWidth: function(options, isRevertButton, isOverlayVisible) { var fixedColumns = this._columnsController.getFixedColumns(); if (!fixedColumns || !fixedColumns.length) { return } var position; var visibleTableWidth = !isRevertButton && (that = this, element = options.element, rowIndex = (0, _renderer.default)(element).closest("tr").index(), $cellElements = (0, _renderer.default)(that._rowsView.getRowElement(rowIndex)).first().children().filter(":not(.dx-hidden-cell)"), that._rowsView._getWidths($cellElements).reduce((function(w1, w2) { return w1 + w2 }), 0)); var that, element, rowIndex, $cellElements; var $overlayContentElement = options.component.$content(); var validationMessageWidth = (0, _size.getOuterWidth)($overlayContentElement, true); var needMaxWidth = !isRevertButton && validationMessageWidth > visibleTableWidth; var columnIndex = this._rowsView.getCellIndex((0, _renderer.default)(options.element).closest("td")); var boundaryNonFixedColumnsInfo = function(fixedColumns) { var firstNonFixedColumnIndex; var lastNonFixedColumnIndex; fixedColumns.some((function(column, index) { if ("transparent" === column.command) { firstNonFixedColumnIndex = 0 === index ? -1 : index; lastNonFixedColumnIndex = index === fixedColumns.length - 1 ? -1 : index + column.colspan - 1; return true } return })); return { startColumnIndex: firstNonFixedColumnIndex, endColumnIndex: lastNonFixedColumnIndex } }(fixedColumns); if (!isRevertButton && (columnIndex === boundaryNonFixedColumnsInfo.startColumnIndex || needMaxWidth)) { position = { collision: "none flip", my: "top left", at: isOverlayVisible ? "top right" : "bottom left" } } else if (columnIndex === boundaryNonFixedColumnsInfo.endColumnIndex) { position = { collision: "none flip", my: "top right", at: isRevertButton || isOverlayVisible ? "top left" : "bottom right" }; if (isRevertButton) { position.offset = "-1 0" } } return position && { position: position, maxWidth: needMaxWidth ? visibleTableWidth - 2 : void 0 } }, _shiftValidationMessageIfNeed: function($content, $cell) { var $revertContent = this._revertTooltip && this._revertTooltip.$content(); if (!$revertContent) { return } var contentOffset = $content.offset(); var revertContentOffset = $revertContent.offset(); if (contentOffset.top === revertContentOffset.top && contentOffset.left + (0, _size.getWidth)($content) > revertContentOffset.left) { var left = (0, _size.getWidth)($revertContent) + 2; $content.css("left", revertContentOffset.left < $cell.offset().left ? -left : left) } }, _getRevertTooltipsSelector: function() { var revertTooltipClass = this.addWidgetPrefix("revert-tooltip"); return ".dx-editor-cell .".concat(revertTooltipClass) }, _getValidationMessagesSelector: function() { var invalidMessageClass = this.addWidgetPrefix("invalid-message"); return ".dx-editor-cell .".concat(invalidMessageClass, ", .dx-cell-modified .").concat(invalidMessageClass) }, init: function() { this.callBase(); this._editingController = this.getController("editing"); this._columnsController = this.getController("columns"); this._rowsView = this.getView("rowsView") }, loseFocus: function(skipValidator) { if (!skipValidator) { this.getController("validating").setValidator(null) } this.callBase() }, updateCellState: function($element, validationResult, isHideBorder) { var _a; var $focus = null === $element || void 0 === $element ? void 0 : $element.closest(this._getFocusCellSelector()); var $cell = (null === $focus || void 0 === $focus ? void 0 : $focus.is("td")) ? $focus : null; var rowOptions = null === $focus || void 0 === $focus ? void 0 : $focus.closest(".dx-row").data("options"); var change = rowOptions ? this.getController("editing").getChangeByKey(rowOptions.key) : null; var column = $cell && this.getController("columns").getVisibleColumns()[$cell.index()]; var isCellModified = void 0 !== (null === (_a = null === change || void 0 === change ? void 0 : change.data) || void 0 === _a ? void 0 : _a[null === column || void 0 === column ? void 0 : column.name]) && !this._editingController.isSaving(); if ("cell" === this._editingController.getEditMode()) { if ((null === validationResult || void 0 === validationResult ? void 0 : validationResult.status) === VALIDATION_STATUS_invalid || isCellModified) { this._showRevertButton($focus) } else { this._revertTooltip && this._revertTooltip.$element().remove() } } var showValidationMessage = validationResult && validationResult.status === VALIDATION_STATUS_invalid; if (showValidationMessage && $cell && column && validationResult && validationResult.brokenRules) { var errorMessages = []; validationResult.brokenRules.forEach((function(rule) { if (rule.message) { errorMessages.push(rule.message) } })); if (errorMessages.length) { this._showValidationMessage($focus, errorMessages, column.alignment || "left") } }!isHideBorder && this._rowsView.element() && this._rowsView.updateFreeSpaceRowHeight() }, focus: function($element, isHideBorder) { var _this13 = this; if (!arguments.length) { return this.callBase() } this._hideValidationMessage(); if ((null === $element || void 0 === $element ? void 0 : $element.hasClass("dx-row")) || (null === $element || void 0 === $element ? void 0 : $element.hasClass("dx-master-detail-cell"))) { return this.callBase($element, isHideBorder) } var $focus = null === $element || void 0 === $element ? void 0 : $element.closest(this._getFocusCellSelector()); var callBase = this.callBase; var validator = $focus && ($focus.data("dxValidator") || $element.find(".".concat(this.addWidgetPrefix("validator"))).eq(0).data("dxValidator")); var rowOptions = $focus && $focus.closest(".dx-row").data("options"); var editingController = this.getController("editing"); var change = rowOptions ? editingController.getChangeByKey(rowOptions.key) : null; var validatingController = this.getController("validating"); var validationResult; if (validator) { validatingController.setValidator(validator); var value = validator.option("adapter").getValue(); if (cellValueShouldBeValidated(value, rowOptions) || validatingController._rowIsValidated(change)) { editingController.waitForDeferredOperations().done((function() { (0, _deferred.when)(validatingController.validateCell(validator)).done((function(result) { validationResult = result; var _validationResult$val = validationResult.validator.option("dataGetter")(), column = _validationResult$val.column; if (change && column && !validatingController.isCurrentValidatorProcessing({ rowKey: change.key, columnIndex: column.index })) { return } if (validationResult.status === VALIDATION_STATUS_invalid) { isHideBorder = true } _this13.updateCellState($element, validationResult, isHideBorder); callBase.call(_this13, $element, isHideBorder) })) })); return this.callBase($element, isHideBorder) } } this.updateCellState($element, validationResult, isHideBorder); return this.callBase($element, isHideBorder) }, getEditorInstance: function($container) { var $editor = $container.find(".dx-texteditor").eq(0); return _m_utils.default.getWidgetInstance($editor) } }, data: { _getValidationStatus: function(validationResult) { var validationStatus = validationResultIsValid(validationResult) ? validationResult.status : validationResult; return validationStatus || VALIDATION_STATUS_valid }, _isCellChanged: function(oldRow, newRow, visibleRowIndex, columnIndex, isLiveUpdate) { var _a, _b; var cell = null === (_a = oldRow.cells) || void 0 === _a ? void 0 : _a[columnIndex]; var oldValidationStatus = this._getValidationStatus({ status: null === cell || void 0 === cell ? void 0 : cell.validationStatus }); var validatingController = this.getController("validating"); var validationResult = validatingController.getCellValidationResult({ rowKey: oldRow.key, columnIndex: columnIndex }); var validationData = validatingController._getValidationData(oldRow.key); var newValidationStatus = this._getValidationStatus(validationResult); var rowIsModified = JSON.stringify(newRow.modifiedValues) !== JSON.stringify(oldRow.modifiedValues); var validationStatusChanged = oldValidationStatus !== newValidationStatus && rowIsModified; var cellIsMarkedAsInvalid = (0, _renderer.default)(null === cell || void 0 === cell ? void 0 : cell.cellElement).hasClass(this.addWidgetPrefix("invalid")); var hasValidationRules = null === (_b = null === cell || void 0 === cell ? void 0 : cell.column.validationRules) || void 0 === _b ? void 0 : _b.length; var rowEditStateChanged = oldRow.isEditing !== newRow.isEditing && hasValidationRules; var cellValidationStateChanged = validationStatusChanged || validationData.isValid && cellIsMarkedAsInvalid; if (rowEditStateChanged || cellValidationStateChanged) { return true } return this.callBase.apply(this, arguments) } } }, views: { rowsView: { updateFreeSpaceRowHeight: function($table) { var $rowElements; var $freeSpaceRowElement; var $freeSpaceRowElements; var $element = this.element(); var $tooltipContent = $element && $element.find(".".concat(this.addWidgetPrefix("invalid-message"), " .dx-overlay-content")); this.callBase($table); if ($tooltipContent && $tooltipContent.length) { $rowElements = this._getRowElements(); $freeSpaceRowElements = this._getFreeSpaceRowElements($table); $freeSpaceRowElement = $freeSpaceRowElements.first(); if ($freeSpaceRowElement && 1 === $rowElements.length && (!$freeSpaceRowElement.is(":visible") || (0, _size.getOuterHeight)($tooltipContent) > (0, _size.getOuterHeight)($freeSpaceRowElement))) { $freeSpaceRowElements.show(); (0, _size.setHeight)($freeSpaceRowElements, (0, _size.getOuterHeight)($tooltipContent)); return true } } return }, _formItemPrepared: function(cellOptions, $container) { var _this14 = this; this.callBase.apply(this, arguments); (0, _common.deferUpdate)((function() { var $editor = $container.find(".dx-widget").first(); var isEditorDisposed = $editor.length && !$editor.children().length; if (!isEditorDisposed) { _this14.getController("validating").createValidator(cellOptions, $editor) } })) }, _cellPrepared: function($cell, parameters) { if (!this.getController("editing").isFormOrPopupEditMode()) { this.getController("validating").createValidator(parameters, $cell) } this.callBase.apply(this, arguments) }, _restoreErrorRow: function(contentTable) { var editingController = this.getController("editing"); editingController && editingController.hasChanges() && this._getRowElements(contentTable).each((function(_, item) { var rowOptions = (0, _renderer.default)(item).data("options"); if (rowOptions) { var change = editingController.getChangeByKey(rowOptions.key); change && editingController._showErrorRow(change) } })) } } } } }; exports.validatingModule = validatingModule }, 57318: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/views/m_columns_view.js ***! \************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } Object.defineProperty(exports, "__esModule", { value: true }); exports.ColumnsView = void 0; var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../../core/dom_adapter */ 73349)); var _element = __webpack_require__( /*! ../../../../core/element */ 6415); var _element_data = __webpack_require__( /*! ../../../../core/element_data */ 97906); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/browser */ 47810)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var iteratorUtils = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../../../../core/utils/iterator */ 95479)); var _position = __webpack_require__( /*! ../../../../core/utils/position */ 37518); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _style = __webpack_require__( /*! ../../../../core/utils/style */ 80968); var _support = __webpack_require__( /*! ../../../../core/utils/support */ 60137); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../../../core/utils/window */ 58201); var _click = __webpack_require__( /*! ../../../../events/click */ 95429); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _double_click = __webpack_require__( /*! ../../../../events/double_click */ 85272); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../../../events/pointer */ 93786)); var _remove = __webpack_require__( /*! ../../../../events/remove */ 29007); var _m_column_state_mixin = _interopRequireDefault(__webpack_require__( /*! ../../../grids/grid_core/column_state_mixin/m_column_state_mixin */ 51255)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var appendElementTemplate = { render: function(options) { options.container.append(options.content) } }; var getWidthStyle = function(width) { if ("auto" === width) { return "" } return (0, _type.isNumeric)(width) ? "".concat(width, "px") : width }; var setCellWidth = function(cell, column, width) { cell.style.width = cell.style.maxWidth = "auto" === column.width ? "" : width }; var removeHandler = function(templateDeferred) { templateDeferred.resolve() }; var viewWithColumnStateMixin = _m_modules.default.View.inherit(_m_column_state_mixin.default); var ColumnsView = function(_viewWithColumnStateM) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ColumnsView, _viewWithColumnStateM); function ColumnsView() { return _viewWithColumnStateM.apply(this, arguments) || this } var _proto = ColumnsView.prototype; _proto._createScrollableOptions = function() { var scrollingOptions = this.option("scrolling"); var useNativeScrolling = this.option("scrolling.useNative"); var options = (0, _extend.extend)({}, scrollingOptions, { direction: "both", bounceEnabled: false, useKeyboard: false }); if (void 0 === useNativeScrolling) { useNativeScrolling = true } if ("auto" === useNativeScrolling) { delete options.useNative; delete options.useSimulatedScrollbar } else { options.useNative = !!useNativeScrolling; options.useSimulatedScrollbar = !useNativeScrolling } return options }; _proto._updateCell = function($cell, parameters) { if (parameters.rowType) { this._cellPrepared($cell, parameters) } }; _proto._createCell = function(options) { var column = options.column; var alignment = column.alignment || (0, _position.getDefaultAlignment)(this.option("rtlEnabled")); var cell = _dom_adapter.default.createElement("td"); cell.style.textAlign = alignment; var $cell = (0, _renderer.default)(cell); if ("data" === options.rowType && column.headerId && !column.type) { if (this.component.option("showColumnHeaders")) { this.setAria("describedby", column.headerId, $cell) } } if (column.cssClass) { $cell.addClass(column.cssClass) } if ("expand" === column.command) { $cell.addClass(column.cssClass); $cell.addClass(this.addWidgetPrefix("group-space")) } if (column.colspan > 1) { $cell.attr("colSpan", column.colspan) } else if (!column.isBand && "auto" !== column.visibleWidth && this.option("columnAutoWidth")) { if (column.width || column.minWidth) { cell.style.minWidth = getWidthStyle(column.minWidth || column.width) } if (column.width) { setCellWidth(cell, column, getWidthStyle(column.width)) } } return $cell }; _proto._createRow = function(rowObject, tagName) { tagName = tagName || "tr"; var $element = (0, _renderer.default)("<".concat(tagName, ">")).addClass("dx-row"); this.setAria("role", "row", $element); return $element }; _proto._isAltRow = function(row) { return row && row.dataIndex % 2 === 1 }; _proto._createTable = function(columns, isAppend) { var that = this; var $table = (0, _renderer.default)("").addClass(that.addWidgetPrefix("table")).addClass(that.addWidgetPrefix("table-fixed")); if (columns && !isAppend) { $table.append(that._createColGroup(columns)); if (_browser.default.safari) { $table.append((0, _renderer.default)("").append("")) } } else { that.setAria("hidden", true, $table) } this.setAria("role", "presentation", (0, _renderer.default)("").appendTo($table)); if (isAppend) { return $table } if (_browser.default.mozilla) { _events_engine.default.on($table, "mousedown", "td", (function(e) { if (e.ctrlKey) { e.preventDefault() } })) } if (that.option("cellHintEnabled")) { _events_engine.default.on($table, "mousemove", ".dx-row > td", this.createAction((function(args) { var e = args.event; var $element = (0, _renderer.default)(e.target); var $cell = (0, _renderer.default)(e.currentTarget); var $row = $cell.parent(); var visibleColumns = that._columnsController.getVisibleColumns(); var rowOptions = $row.data("options"); var columnIndex = $cell.index(); var cellOptions = rowOptions && rowOptions.cells && rowOptions.cells[columnIndex]; var column = cellOptions ? cellOptions.column : visibleColumns[columnIndex]; var isHeaderRow = $row.hasClass("dx-header-row"); var isDataRow = $row.hasClass("dx-data-row"); var isMasterDetailRow = $row.hasClass("dx-master-detail-row"); var isGroupRow = $row.hasClass("dx-group-row"); var isFilterRow = $row.hasClass(that.addWidgetPrefix("filter-row")); var isDataRowWithTemplate = isDataRow && (!column || column.cellTemplate); var isEditorShown = isDataRow && cellOptions && (rowOptions.isEditing || cellOptions.isEditing || (null === column || void 0 === column ? void 0 : column.showEditorAlways)); var isHeaderRowWithTemplate = isHeaderRow && (!column || column.headerCellTemplate); var isGroupCellWithTemplate = isGroupRow && (!column || column.groupIndex && column.groupCellTemplate); var shouldShowHint = !isMasterDetailRow && !isFilterRow && !isEditorShown && !isDataRowWithTemplate && !isHeaderRowWithTemplate && !isGroupCellWithTemplate; if (shouldShowHint) { if ($element.data("dxCellHintVisible")) { $element.removeAttr("title"); $element.data("dxCellHintVisible", false) } var difference = $element[0].scrollWidth - $element[0].clientWidth; if (difference > 0 && !(0, _type.isDefined)($element.attr("title"))) { $element.attr("title", $element.text()); $element.data("dxCellHintVisible", true) } } }))) } var getOptions = function(event) { var $cell = (0, _renderer.default)(event.currentTarget); var $fieldItemContent = (0, _renderer.default)(event.target).closest(".".concat("dx-field-item-content")); var $row = $cell.parent(); var rowOptions = $row.data("options"); var options = rowOptions && rowOptions.cells && rowOptions.cells[$cell.index()]; if (!$cell.closest("table").is(event.delegateTarget)) { return } var resultOptions = (0, _extend.extend)({}, options, { cellElement: (0, _element.getPublicElement)($cell), event: event, eventType: event.type }); resultOptions.rowIndex = that.getRowIndex($row); if ($fieldItemContent.length) { var formItemOptions = $fieldItemContent.data("dx-form-item"); if (formItemOptions.column) { resultOptions.column = formItemOptions.column; resultOptions.columnIndex = that._columnsController.getVisibleIndex(resultOptions.column.index) } } return resultOptions }; _events_engine.default.on($table, "mouseover", ".dx-row > td", (function(e) { var options = getOptions(e); options && that.executeAction("onCellHoverChanged", options) })); _events_engine.default.on($table, "mouseout", ".dx-row > td", (function(e) { var options = getOptions(e); options && that.executeAction("onCellHoverChanged", options) })); _events_engine.default.on($table, _click.name, ".dx-row > td", (function(e) { var options = getOptions(e); options && that.executeAction("onCellClick", options) })); _events_engine.default.on($table, _double_click.name, ".dx-row > td", (function(e) { var options = getOptions(e); options && that.executeAction("onCellDblClick", options) })); ! function(that, $table) { var touchTarget; var touchCurrentTarget; var timeoutId; function clearTouchTargets(timeout) { return setTimeout((function() { touchTarget = touchCurrentTarget = null }), timeout) } _events_engine.default.on($table, "touchstart touchend", ".dx-row", (function(e) { clearTimeout(timeoutId); if ("touchstart" === e.type) { touchTarget = e.target; touchCurrentTarget = e.currentTarget; timeoutId = clearTouchTargets(1e3) } else { timeoutId = clearTouchTargets() } })); _events_engine.default.on($table, [_click.name, _double_click.name, _pointer.default.down].join(" "), ".dx-row", that.createAction((function(e) { var event = e.event; if (touchTarget) { event.target = touchTarget; event.currentTarget = touchCurrentTarget } if (!(0, _renderer.default)(event.target).closest("a").length) { e.rowIndex = that.getRowIndex(event.currentTarget); if (e.rowIndex >= 0) { e.rowElement = (0, _element.getPublicElement)((0, _renderer.default)(event.currentTarget)); e.columns = that.getColumns(); if (event.type === _pointer.default.down) { that._rowPointerDown(e) } else if (event.type === _click.name) { that._rowClick(e) } else { that._rowDblClick(e) } } } }))) }(that, $table); return $table }; _proto._rowPointerDown = function() {}; _proto._rowClick = function() {}; _proto._rowDblClick = function() {}; _proto._createColGroup = function(columns) { var colgroupElement = (0, _renderer.default)(""); for (var i = 0; i < columns.length; i++) { var colspan = columns[i].colspan || 1; for (var j = 0; j < colspan; j++) { colgroupElement.append(this._createCol(columns[i])) } } return colgroupElement }; _proto._createCol = function(column) { var width = column.visibleWidth || column.width; if ("adaptiveHidden" === width) { width = "0.0001px" } var col = (0, _renderer.default)(""); (0, _style.setWidth)(col, width); return col }; _proto.renderDelayedTemplates = function(change) { var delayedTemplates = this._delayedTemplates; var syncTemplates = delayedTemplates.filter((function(template) { return !template.async })); var asyncTemplates = delayedTemplates.filter((function(template) { return template.async })); this._delayedTemplates = []; this._renderDelayedTemplatesCore(syncTemplates, false, change); this._renderDelayedTemplatesCoreAsync(asyncTemplates) }; _proto._renderDelayedTemplatesCoreAsync = function(templates) { var _this = this; if (templates.length) { var templateTimeout = (0, _window.getWindow)().setTimeout((function() { _this._templateTimeouts.delete(templateTimeout); _this._renderDelayedTemplatesCore(templates, true) })); this._templateTimeouts.add(templateTimeout) } }; _proto._renderDelayedTemplatesCore = function(templates, isAsync, change) { var date = new Date; while (templates.length) { var templateParameters = templates.shift(); var options = templateParameters.options; var doc = _dom_adapter.default.getRootNode((0, _renderer.default)(options.container).get(0)); var needWaitAsyncTemplates = this.needWaitAsyncTemplates(); if (!isAsync || (0, _renderer.default)(options.container).closest(doc).length || needWaitAsyncTemplates) { if (change) { options.change = change } templateParameters.template.render(options) } if (isAsync && new Date - date > 30) { this._renderDelayedTemplatesCoreAsync(templates); break } } if (!templates.length && this._delayedTemplates.length) { this.renderDelayedTemplates() } }; _proto._processTemplate = function(template, options) { var renderingTemplate; if (template && template.render && !(0, _type.isRenderer)(template)) { renderingTemplate = { allowRenderToDetachedContainer: template.allowRenderToDetachedContainer, render: function(options) { template.render(options.container, options.model, options.change); options.deferred && options.deferred.resolve() } } } else if ((0, _type.isFunction)(template)) { renderingTemplate = { render: function(options) { var renderedTemplate = template((0, _element.getPublicElement)(options.container), options.model, options.change); if (renderedTemplate && (renderedTemplate.nodeType || (0, _type.isRenderer)(renderedTemplate))) { options.container.append(renderedTemplate) } options.deferred && options.deferred.resolve() } } } else { var templateID = (0, _type.isString)(template) ? template : (0, _renderer.default)(template).attr("id"); if (!templateID) { renderingTemplate = this.getTemplate(template) } else { if (!this._templatesCache[templateID]) { this._templatesCache[templateID] = this.getTemplate(template) } renderingTemplate = this._templatesCache[templateID] } } return renderingTemplate }; _proto.renderTemplate = function(container, template, options, allowRenderToDetachedContainer, change) { var _this2 = this; var _a; var renderingTemplate = this._processTemplate(template, options); var column = options.column; var isDataRow = "data" === options.rowType; var templateDeferred = new _deferred.Deferred; var templateOptions = { container: container, model: options, deferred: templateDeferred, onRendered: function() { if (_this2.isDisposed()) { templateDeferred.reject() } else { templateDeferred.resolve() } } }; if (renderingTemplate) { options.component = this.component; var columnAsync = column && (column.renderAsync && isDataRow || this.option("renderAsync") && (false !== column.renderAsync && (column.command || column.showEditorAlways) && isDataRow || "filter" === options.rowType)); var async = null !== (_a = options.renderAsync) && void 0 !== _a ? _a : columnAsync; if ((renderingTemplate.allowRenderToDetachedContainer || allowRenderToDetachedContainer) && !async) { renderingTemplate.render(templateOptions) } else { this._delayedTemplates.push({ template: renderingTemplate, options: templateOptions, async: async }) } this._templateDeferreds.add(templateDeferred); _events_engine.default.on(container, _remove.removeEvent, removeHandler.bind(null, templateDeferred)) } else { templateDeferred.reject() } return templateDeferred.promise().always((function() { _this2._templateDeferreds.delete(templateDeferred) })) }; _proto._getBodies = function(tableElement) { return (0, _renderer.default)(tableElement).children("tbody").not(".dx-header").not(".dx-footer") }; _proto._needWrapRow = function($tableElement) { var _a; var hasRowTemplate = !!this.option().rowTemplate; return hasRowTemplate && !!(null === (_a = this._getBodies($tableElement)) || void 0 === _a ? void 0 : _a.filter(".".concat("dx-row")).length) }; _proto._wrapRowIfNeed = function($table, $row, isRefreshing) { var $tableElement = isRefreshing ? $table || this._tableElement : this._tableElement || $table; var needWrapRow = this._needWrapRow($tableElement); if (needWrapRow) { var $tbody = (0, _renderer.default)("").addClass($row.attr("class")); this.setAria("role", "presentation", $tbody); return $tbody.append($row) } return $row }; _proto._appendRow = function($table, $row, appendTemplate) { appendTemplate = appendTemplate || appendElementTemplate; appendTemplate.render({ content: $row, container: $table }) }; _proto._resizeCore = function() { var scrollLeft = this._scrollLeft; if (scrollLeft >= 0) { this._scrollLeft = 0; this.scrollTo({ left: scrollLeft }) } }; _proto._renderCore = function(e) { var $root = this.element().parent(); if (!$root || $root.parent().length) { this.renderDelayedTemplates(e) } }; _proto._renderTable = function(options) { options = options || {}; options.columns = this._columnsController.getVisibleColumns(); var changeType = options.change && options.change.changeType; var $table = this._createTable(options.columns, "append" === changeType || "prepend" === changeType || "update" === changeType); this._renderRows($table, options); return $table }; _proto._renderRows = function($table, options) { var rows = this._getRows(options.change); var columnIndices = options.change && options.change.columnIndices || []; var changeTypes = options.change && options.change.changeTypes || []; for (var i = 0; i < rows.length; i++) { this._renderRow($table, (0, _extend.extend)({ row: rows[i], columnIndices: columnIndices[i], changeType: changeTypes[i] }, options)) } }; _proto._renderRow = function($table, options) { if (!options.columnIndices) { options.row.cells = [] } var $row = this._createRow(options.row); var $wrappedRow = this._wrapRowIfNeed($table, $row); if ("remove" !== options.changeType) { this._renderCells($row, options) } this._appendRow($table, $wrappedRow); var rowOptions = (0, _extend.extend)({ columns: options.columns }, options.row); this._addWatchMethod(rowOptions, options.row); this._rowPrepared($wrappedRow, rowOptions, options.row) }; _proto._needRenderCell = function(columnIndex, columnIndices) { return !columnIndices || columnIndices.indexOf(columnIndex) >= 0 }; _proto._renderCells = function($row, options) { var columnIndex = 0; var row = options.row; var columns = options.columns; for (var i = 0; i < columns.length; i++) { if (this._needRenderCell(i, options.columnIndices)) { this._renderCell($row, (0, _extend.extend)({ column: columns[i], columnIndex: columnIndex, value: row.values && row.values[columnIndex], oldValue: row.oldValues && row.oldValues[columnIndex] }, options)) } if (columns[i].colspan > 1) { columnIndex += columns[i].colspan } else { columnIndex++ } } }; _proto._updateCells = function($rowElement, $newRowElement, columnIndices) { var $cells = $rowElement.children(); var $newCells = $newRowElement.children(); var highlightChanges = this.option("highlightChanges"); var cellUpdatedClass = this.addWidgetPrefix("cell-updated-animation"); columnIndices.forEach((function(columnIndex, index) { var $cell = $cells.eq(columnIndex); var $newCell = $newCells.eq(index); $cell.replaceWith($newCell); if (highlightChanges && !$newCell.hasClass("dx-command-expand")) { $newCell.addClass(cellUpdatedClass) } })); ! function(element, newElement) { if (!element || !newElement) { return } var oldAttributes = element.attributes; var newAttributes = newElement.attributes; var i; for (i = 0; i < oldAttributes.length; i++) { var name = oldAttributes[i].nodeName; if (!newElement.hasAttribute(name)) { element.removeAttribute(name) } } for (i = 0; i < newAttributes.length; i++) { element.setAttribute(newAttributes[i].nodeName, newAttributes[i].nodeValue) } }($rowElement.get(0), $newRowElement.get(0)) }; _proto._setCellAriaAttributes = function($cell, cellOptions) { if ("freeSpace" !== cellOptions.rowType) { this.setAria("role", "gridcell", $cell); var columnIndexOffset = this._columnsController.getColumnIndexOffset(); var ariaColIndex = cellOptions.columnIndex + columnIndexOffset + 1; this.setAria("colindex", ariaColIndex, $cell) } }; _proto._renderCell = function($row, options) { var cellOptions = this._getCellOptions(options); if (options.columnIndices) { if (options.row.cells) { var cellIndex = options.row.cells.findIndex((function(cell) { return cell.columnIndex === cellOptions.columnIndex })); options.row.cells[cellIndex] = cellOptions } } else { options.row.cells.push(cellOptions) } var $cell = this._createCell(cellOptions); this._setCellAriaAttributes($cell, cellOptions); this._renderCellContent($cell, cellOptions, options); $row.get(0).appendChild($cell.get(0)); return $cell }; _proto._renderCellContent = function($cell, options, renderOptions) { var _this3 = this; var template = this._getCellTemplate(options); (0, _deferred.when)(!template || this.renderTemplate($cell, template, options, void 0, renderOptions.change)).done((function() { _this3._updateCell($cell, options) })) }; _proto._getCellTemplate = function(options) {}; _proto._getRows = function(change) { return [] }; _proto._getCellOptions = function(options) { var cellOptions = { column: options.column, columnIndex: options.columnIndex, rowType: options.row.rowType, isAltRow: this._isAltRow(options.row) }; this._addWatchMethod(cellOptions); return cellOptions }; _proto._addWatchMethod = function(options, source) { if (!this.option("repaintChangesOnly")) { return } var watchers = []; source = source || options; source.watch = source.watch || function(getter, updateValueFunc, updateRowFunc) { var oldValue = getter(source.data); var watcher = function(row) { if (row && updateRowFunc) { updateRowFunc(row) } var newValue = getter(source.data); if (JSON.stringify(oldValue) !== JSON.stringify(newValue)) { if (row) { updateValueFunc(newValue) } oldValue = newValue } }; watchers.push(watcher); return function() { var index = watchers.indexOf(watcher); if (index >= 0) { watchers.splice(index, 1) } } }; source.update = source.update || function(row, keepRow) { if (row) { this.data = options.data = row.data; this.rowIndex = options.rowIndex = row.rowIndex; this.dataIndex = options.dataIndex = row.dataIndex; this.isExpanded = options.isExpanded = row.isExpanded; if (options.row && !keepRow) { options.row = row } } watchers.forEach((function(watcher) { watcher(row) })) }; if (source !== options) { options.watch = source.watch.bind(source) } return options }; _proto._cellPrepared = function(cell, options) { options.cellElement = (0, _element.getPublicElement)((0, _renderer.default)(cell)); this.executeAction("onCellPrepared", options) }; _proto._rowPrepared = function($row, options, row) { (0, _element_data.data)($row.get(0), "options", options); options.rowElement = (0, _element.getPublicElement)($row); this.executeAction("onRowPrepared", options) }; _proto._columnOptionChanged = function(e) { var optionNames = e.optionNames; if (_m_utils.default.checkChanges(optionNames, ["width", "visibleWidth"])) { var visibleColumns = this._columnsController.getVisibleColumns(); var widths = iteratorUtils.map(visibleColumns, (function(column) { var width = column.visibleWidth || column.width; return (0, _type.isDefined)(width) ? width : "auto" })); this.setColumnWidths({ widths: widths, optionNames: optionNames }); return } if (!this._requireReady) { this.render() } }; _proto.getCellIndex = function($cell) { var cellIndex = $cell.length ? $cell[0].cellIndex : -1; return cellIndex }; _proto.getTableElements = function() { return this._tableElement || (0, _renderer.default)() }; _proto.getTableElement = function(isFixedTableRendering) { return this._tableElement }; _proto.setTableElement = function(tableElement, isFixedTableRendering) { this._tableElement = tableElement }; _proto.optionChanged = function(args) { _viewWithColumnStateM.prototype.optionChanged.call(this, args); switch (args.name) { case "cellHintEnabled": case "onCellPrepared": case "onRowPrepared": case "onCellHoverChanged": this._invalidate(true, true); args.handled = true } }; _proto.init = function() { var _this4 = this; this._scrollLeft = -1; this._columnsController = this.getController("columns"); this._dataController = this.getController("data"); this._delayedTemplates = []; this._templateDeferreds = new Set; this._templatesCache = {}; this._templateTimeouts = new Set; this.createAction("onCellClick"); this.createAction("onRowClick"); this.createAction("onCellDblClick"); this.createAction("onRowDblClick"); this.createAction("onCellHoverChanged", { excludeValidators: ["disabled", "readOnly"] }); this.createAction("onCellPrepared", { excludeValidators: ["disabled", "readOnly"], category: "rendering" }); this.createAction("onRowPrepared", { excludeValidators: ["disabled", "readOnly"], category: "rendering", afterExecute: function(e) { _this4._afterRowPrepared(e) } }); this._columnsController.columnsChanged.add(this._columnOptionChanged.bind(this)); this._dataController && this._dataController.changed.add(this._handleDataChanged.bind(this)) }; _proto._afterRowPrepared = function(e) {}; _proto._handleDataChanged = function() {}; _proto.callbackNames = function() { return ["scrollChanged"] }; _proto._updateScrollLeftPosition = function() { var scrollLeft = this._scrollLeft; if (scrollLeft >= 0) { this._scrollLeft = 0; this.scrollTo({ left: scrollLeft }) } }; _proto.scrollTo = function(pos) { var $element = this.element(); var $scrollContainer = $element && $element.children(".".concat(this.addWidgetPrefix("scroll-container"))).not(".".concat(this.addWidgetPrefix("content-fixed"))); if ((0, _type.isDefined)(pos) && (0, _type.isDefined)(pos.left) && this._scrollLeft !== pos.left) { this._scrollLeft = pos.left; $scrollContainer && $scrollContainer.scrollLeft(pos.left) } }; _proto._getContent = function(isFixedTableRendering) { var _a; return null === (_a = this._tableElement) || void 0 === _a ? void 0 : _a.parent() }; _proto._removeContent = function(isFixedTableRendering) { var $scrollContainer = this._getContent(isFixedTableRendering); if (null === $scrollContainer || void 0 === $scrollContainer ? void 0 : $scrollContainer.length) { $scrollContainer.remove() } }; _proto._wrapTableInScrollContainer = function($table, isFixedTableRendering) { var _this5 = this; var $scrollContainer = (0, _renderer.default)("
"); var useNative = this.option("scrolling.useNative"); if (false === useNative || "auto" === useNative && !_support.nativeScrolling) { $scrollContainer.addClass(this.addWidgetPrefix("scrollable-simulated")) } _events_engine.default.on($scrollContainer, "scroll", (function() { var scrollLeft = $scrollContainer.scrollLeft(); if (scrollLeft !== _this5._scrollLeft) { _this5.scrollChanged.fire({ left: scrollLeft }, _this5.name) } })); $scrollContainer.addClass(this.addWidgetPrefix("content")).addClass(this.addWidgetPrefix("scroll-container")).append($table).appendTo(this.element()); this.setAria("role", "presentation", $scrollContainer); return $scrollContainer }; _proto.needWaitAsyncTemplates = function() { return this.option("templatesRenderAsynchronously") && false === this.option("renderAsync") }; _proto.waitAsyncTemplates = function() { var _this6 = this; var forceWaiting = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false; var result = new _deferred.Deferred; var needWaitAsyncTemplates = forceWaiting || this.needWaitAsyncTemplates(); if (!needWaitAsyncTemplates) { return result.resolve() } var waitTemplatesRecursion = function waitTemplatesRecursion() { return _deferred.when.apply(_this6, Array.from(_this6._templateDeferreds)).done((function() { if (_this6.isDisposed()) { result.reject() } else if (_this6._templateDeferreds.size > 0) { waitTemplatesRecursion() } else { result.resolve() } })).fail(result.reject) }; waitTemplatesRecursion(); return result.promise() }; _proto._updateContent = function($newTableElement, change, isFixedTableRendering) { var _this7 = this; return this.waitAsyncTemplates().done((function() { _this7._removeContent(isFixedTableRendering); _this7.setTableElement($newTableElement, isFixedTableRendering); _this7._wrapTableInScrollContainer($newTableElement, isFixedTableRendering) })) }; _proto._findContentElement = function() {}; _proto._getWidths = function($cellElements) { var result = []; var width; if ($cellElements) { iteratorUtils.each($cellElements, (function(index, item) { width = item.offsetWidth; if (item.getBoundingClientRect) { var clientRect = (0, _position.getBoundingRect)(item); if (clientRect.width > width - 1) { width = clientRect.width } } result.push(width) })) } return result }; _proto.getColumnWidths = function($tableElement) { var result = []; var $rows; var $cells; (this.option("forceApplyBindings") || _common.noop)(); $tableElement = $tableElement || this.getTableElement(); if ($tableElement) { $rows = $tableElement.children("tbody:not(.dx-header)").children(); for (var i = 0; i < $rows.length; i++) { var $row = $rows.eq(i); var isRowVisible = "none" !== $row.get(0).style.display && !$row.hasClass("dx-state-invisible"); if (!$row.is(".".concat("dx-group-row")) && !$row.is(".".concat("dx-master-detail-row")) && !$row.is(".".concat("dx-error-row")) && isRowVisible) { $cells = $row.children("td"); break } } result = this._getWidths($cells) } return result }; _proto.getVisibleColumnIndex = function(columnIndex, rowIndex) { return columnIndex }; _proto.setColumnWidths = function(_ref) { var widths = _ref.widths, $tableElement = _ref.$tableElement, columns = _ref.columns, fixed = _ref.fixed; var $cols; var width; var minWidth; var columnIndex; var columnAutoWidth = this.option("columnAutoWidth"); $tableElement = $tableElement || this.getTableElement(); if ($tableElement && $tableElement.length && widths) { columnIndex = 0; $cols = $tableElement.children("colgroup").children("col"); (0, _style.setWidth)($cols, "auto"); columns = columns || this.getColumns(null, $tableElement); for (var i = 0; i < columns.length; i++) { if (columnAutoWidth && !fixed) { width = columns[i].width; if (width && !columns[i].command) { width = columns[i].visibleWidth || width; width = getWidthStyle(width); minWidth = getWidthStyle(columns[i].minWidth || width); var $rows = $rows || $tableElement.children().children(".dx-row").not(".".concat("dx-master-detail-row")); for (var rowIndex = 0; rowIndex < $rows.length; rowIndex++) { var row = $rows[rowIndex]; var cell = void 0; var visibleIndex = this.getVisibleColumnIndex(i, rowIndex); if (row.classList.contains("dx-group-row")) { cell = row.querySelector("td[aria-colindex='".concat(visibleIndex + 1, "']:not(.").concat("dx-group-cell", ")")) } else { cell = row.cells[visibleIndex] } if (cell) { setCellWidth(cell, columns[i], width); cell.style.minWidth = minWidth } } } } if (columns[i].colspan) { columnIndex += columns[i].colspan; continue } width = widths[columnIndex]; if ("adaptiveHidden" === width) { width = "0.0001px" } if ("number" === typeof width) { width = "".concat(width.toFixed(3), "px") }(0, _style.setWidth)($cols.eq(columnIndex), (0, _type.isDefined)(width) ? width : "auto"); columnIndex++ } } }; _proto.getCellElements = function(rowIndex) { return this._getCellElementsCore(rowIndex) }; _proto._getCellElementsCore = function(rowIndex) { if (rowIndex < 0) { return } var $row = this._getRowElements().eq(rowIndex); return $row.children() }; _proto._getCellElement = function(rowIndex, columnIdentifier) { var $cells = this.getCellElements(rowIndex); var columnVisibleIndex = this._getVisibleColumnIndex($cells, rowIndex, columnIdentifier); if (!(null === $cells || void 0 === $cells ? void 0 : $cells.length) || columnVisibleIndex < 0) { return } var $cell = $cells.eq(columnVisibleIndex); return $cell.length > 0 ? $cell : void 0 }; _proto._getRowElement = function(rowIndex) { var that = this; var $rowElement = (0, _renderer.default)(); var $tableElements = that.getTableElements(); iteratorUtils.each($tableElements, (function(_, tableElement) { $rowElement = $rowElement.add(that._getRowElements((0, _renderer.default)(tableElement)).eq(rowIndex)) })); if ($rowElement.length) { return $rowElement } return }; _proto.getCellElement = function(rowIndex, columnIdentifier) { var $cell = this._getCellElement(rowIndex, columnIdentifier); if ($cell) { return (0, _element.getPublicElement)($cell) } return }; _proto.getRowElement = function(rowIndex) { var $rows = this._getRowElement(rowIndex); var elements = []; if ($rows && !(0, _element.getPublicElement)($rows).get) { for (var i = 0; i < $rows.length; i++) { elements.push($rows[i]) } } else { elements = $rows } return elements }; _proto._getVisibleColumnIndex = function($cells, rowIndex, columnIdentifier) { if ((0, _type.isString)(columnIdentifier)) { var columnIndex = this._columnsController.columnOption(columnIdentifier, "index"); return this._columnsController.getVisibleIndex(columnIndex) } return columnIdentifier }; _proto.getColumnElements = function() {}; _proto.getColumns = function(rowIndex, $tableElement) { return this._columnsController.getVisibleColumns(rowIndex) }; _proto.getCell = function(cellPosition, rows, cells) { var $rows = rows || this._getRowElements(); var $cells; if ($rows.length > 0 && cellPosition.rowIndex >= 0) { if ("virtual" !== this.option("scrolling.mode") && "virtual" !== this.option("scrolling.rowRenderingMode")) { cellPosition.rowIndex = cellPosition.rowIndex < $rows.length ? cellPosition.rowIndex : $rows.length - 1 } $cells = cells || this.getCellElements(cellPosition.rowIndex); if ((null === $cells || void 0 === $cells ? void 0 : $cells.length) > 0) { return $cells.eq($cells.length > cellPosition.columnIndex ? cellPosition.columnIndex : $cells.length - 1) } } }; _proto.getRowsCount = function() { var tableElement = this.getTableElement(); if (tableElement && 1 === tableElement.length) { return tableElement[0].rows.length } return 0 }; _proto._getRowElementsCore = function(tableElement) { tableElement = tableElement || this.getTableElement(); if (tableElement) { var hasRowTemplate = this.option().rowTemplate || this.option("dataRowTemplate"); var tBodies = hasRowTemplate && tableElement.find("> tbody.".concat("dx-row")); return tBodies && tBodies.length ? tBodies : tableElement.find("> tbody > " + ".".concat("dx-row", ", > .").concat("dx-row")) } return (0, _renderer.default)() }; _proto._getRowElements = function(tableElement) { return this._getRowElementsCore(tableElement) }; _proto.getRowIndex = function($row) { return this._getRowElements().index($row) }; _proto.getBoundingRect = function() {}; _proto.getName = function() {}; _proto.setScrollerSpacing = function(width) { var $element = this.element(); var rtlEnabled = this.option("rtlEnabled"); $element && $element.css({ paddingLeft: rtlEnabled ? width : "", paddingRight: !rtlEnabled ? width : "" }) }; _proto.isScrollbarVisible = function(isHorizontal) { var $element = this.element(); var $tableElement = this._tableElement; if ($element && $tableElement) { return isHorizontal ? (0, _size.getOuterWidth)($tableElement) - (0, _size.getWidth)($element) > 0 : (0, _size.getOuterHeight)($tableElement) - (0, _size.getHeight)($element) > 0 } return false }; _proto.isDisposed = function() { var _a; return null === (_a = this.component) || void 0 === _a ? void 0 : _a._disposed }; _proto.dispose = function() { var _a, _b; if ((0, _window.hasWindow)()) { var window = (0, _window.getWindow)(); null === (_a = this._templateTimeouts) || void 0 === _a ? void 0 : _a.forEach((function(templateTimeout) { return window.clearTimeout(templateTimeout) })); null === (_b = this._templateTimeouts) || void 0 === _b ? void 0 : _b.clear() } }; return ColumnsView }(viewWithColumnStateMixin); exports.ColumnsView = ColumnsView }, 28016: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/views/m_grid_view.js ***! \*********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } Object.defineProperty(exports, "__esModule", { value: true }); exports.gridViewModule = void 0; var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../../core/dom_adapter */ 73349)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/browser */ 47810)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _position = __webpack_require__( /*! ../../../../core/utils/position */ 37518); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../../../core/utils/window */ 58201); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var accessibility = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../../../../ui/shared/accessibility */ 56756)); var _m_modules = _interopRequireDefault(__webpack_require__( /*! ../m_modules */ 15943)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var VIEW_NAMES = ["columnsSeparatorView", "blockSeparatorView", "trackerView", "headerPanel", "columnHeadersView", "rowsView", "footerView", "columnChooserView", "filterPanelView", "pagerView", "draggingHeaderView", "contextMenuView", "errorView", "headerFilterView", "filterBuilderView"]; var isPercentWidth = function(width) { return (0, _type.isString)(width) && width.endsWith("%") }; var calculateFreeWidth = function(that, widths) { var contentWidth = that._rowsView.contentWidth(); var totalWidth = that._getTotalWidth(widths, contentWidth); return contentWidth - totalWidth }; var resizingControllerMembers = { _initPostRenderHandlers: function() { var _this = this; var dataController = this._dataController; if (!this._refreshSizesHandler) { this._refreshSizesHandler = function(e) { dataController.changed.remove(_this._refreshSizesHandler); _this._refreshSizes(e) }; dataController.changed.add((function() { dataController.changed.add(_this._refreshSizesHandler) })) } }, _refreshSizes: function(e) { var _a; var resizeDeferred; var that = this; var changeType = e && e.changeType; var isDelayed = e && e.isDelayed; var items = that._dataController.items(); if (!e || "refresh" === changeType || "prepend" === changeType || "append" === changeType) { if (!isDelayed) { resizeDeferred = that.resize() } } else if ("update" === changeType) { if (0 === (null === (_a = e.changeTypes) || void 0 === _a ? void 0 : _a.length)) { return } if ((items.length > 1 || "insert" !== e.changeTypes[0]) && !(0 === items.length && "remove" === e.changeTypes[0]) && !e.needUpdateDimensions) { resizeDeferred = new _deferred.Deferred; this._waitAsyncTemplates().done((function() { (0, _common.deferUpdate)((function() { return (0, _common.deferRender)((function() { return (0, _common.deferUpdate)((function() { that._setScrollerSpacing(); that._rowsView.resize(); resizeDeferred.resolve() })) })) })) })).fail(resizeDeferred.reject) } else { resizeDeferred = that.resize() } } if (changeType && "updateSelection" !== changeType && "updateFocusedRow" !== changeType && "pageIndex" !== changeType && !isDelayed) { (0, _deferred.when)(resizeDeferred).done((function() { that._setAriaLabel(); that.fireContentReadyAction() })) } }, fireContentReadyAction: function() { this.component._fireContentReadyAction() }, _getWidgetAriaLabel: function() { return "dxDataGrid-ariaDataGrid" }, _setAriaLabel: function() { this.component.setAria("label", _message.default.format(this._getWidgetAriaLabel(), this._dataController.totalItemsCount(), this.component.columnCount()), this.component.$element().children(".".concat("dx-gridbase-container"))) }, _getBestFitWidths: function() { var _a; var rowsView = this._rowsView; var columnHeadersView = this._columnHeadersView; var widths = rowsView.getColumnWidths(); if (!(null === widths || void 0 === widths ? void 0 : widths.length)) { var headersTableElement = columnHeadersView.getTableElement(); columnHeadersView.setTableElement(null === (_a = rowsView.getTableElement()) || void 0 === _a ? void 0 : _a.children(".dx-header")); widths = columnHeadersView.getColumnWidths(); columnHeadersView.setTableElement(headersTableElement) } return widths }, _setVisibleWidths: function(visibleColumns, widths) { var columnsController = this._columnsController; columnsController.beginUpdate(); (0, _iterator.each)(visibleColumns, (function(index, column) { var columnId = columnsController.getColumnId(column); columnsController.columnOption(columnId, "visibleWidth", widths[index]) })); columnsController.endUpdate() }, _toggleBestFitModeForView: function(view, className, isBestFit) { var _this2 = this; if (!view || !view.isVisible()) { return } var $rowsTables = this._rowsView.getTableElements(); var $viewTables = view.getTableElements(); (0, _iterator.each)($rowsTables, (function(index, tableElement) { var $tableBody; var $rowsTable = (0, _renderer.default)(tableElement); var $viewTable = $viewTables.eq(index); if ($viewTable && $viewTable.length) { if (isBestFit) { $tableBody = $viewTable.children("tbody").appendTo($rowsTable) } else { $tableBody = $rowsTable.children(".".concat(className)).appendTo($viewTable) } $tableBody.toggleClass(className, isBestFit); $tableBody.toggleClass(_this2.addWidgetPrefix("best-fit"), isBestFit) } })) }, _toggleBestFitMode: function(isBestFit) { var $rowsTable = this._rowsView.getTableElement(); var $rowsFixedTable = this._rowsView.getTableElements().eq(1); if (!$rowsTable) { return } $rowsTable.css("tableLayout", isBestFit ? "auto" : "fixed"); $rowsTable.children("colgroup").css("display", isBestFit ? "none" : ""); (0, _iterator.each)($rowsFixedTable.find("tr.dx-group-row"), (function(idx, item) { (0, _renderer.default)(item).css("display", isBestFit ? "none" : "") })); $rowsFixedTable.toggleClass(this.addWidgetPrefix("table-fixed"), !isBestFit); this._toggleBestFitModeForView(this._columnHeadersView, "dx-header", isBestFit); this._toggleBestFitModeForView(this._footerView, "dx-footer", isBestFit); if (this._needStretch()) { $rowsTable.get(0).style.width = isBestFit ? "auto" : "" } }, _toggleContentMinHeight: function(value) { var scrollable = this._rowsView.getScrollable(); var $contentElement = this._rowsView._findContentElement(); if (false === (null === scrollable || void 0 === scrollable ? void 0 : scrollable.option("useNative"))) { $contentElement.css({ minHeight: value ? _m_utils.default.getContentHeightLimit(_browser.default) : "" }) } }, _synchronizeColumns: function() { var _this3 = this; var columnsController = this._columnsController; var visibleColumns = columnsController.getVisibleColumns(); var columnAutoWidth = this.option("columnAutoWidth"); var wordWrapEnabled = this.option("wordWrapEnabled"); var needBestFit = this._needBestFit(); var hasMinWidth = false; var resetBestFitMode; var isColumnWidthsCorrected = false; var resultWidths = []; var focusedElement; var selectionRange; !needBestFit && (0, _iterator.each)(visibleColumns, (function(index, column) { if ("auto" === column.width) { needBestFit = true; return false } return })); (0, _iterator.each)(visibleColumns, (function(index, column) { if (column.minWidth) { hasMinWidth = true; return false } return })); this._setVisibleWidths(visibleColumns, []); var $element = this.component.$element(); if (needBestFit) { focusedElement = _dom_adapter.default.getActiveElement($element.get(0)); selectionRange = _m_utils.default.getSelectionRange(focusedElement); this._toggleBestFitMode(true); resetBestFitMode = true } this._toggleContentMinHeight(wordWrapEnabled); if ($element && $element.get(0) && this._maxWidth) { delete this._maxWidth; $element[0].style.maxWidth = "" }(0, _common.deferUpdate)((function() { if (needBestFit) { resultWidths = _this3._getBestFitWidths(); (0, _iterator.each)(visibleColumns, (function(index, column) { var columnId = columnsController.getColumnId(column); columnsController.columnOption(columnId, "bestFitWidth", resultWidths[index], true) })) } else if (hasMinWidth) { resultWidths = _this3._getBestFitWidths() }(0, _iterator.each)(visibleColumns, (function(index) { var width = this.width; if ("auto" !== width) { if ((0, _type.isDefined)(width)) { resultWidths[index] = (0, _type.isNumeric)(width) || function(width) { return (0, _type.isString)(width) && width.endsWith("px") }(width) ? parseFloat(width) : width } else if (!columnAutoWidth) { resultWidths[index] = void 0 } } })); if (resetBestFitMode) { _this3._toggleBestFitMode(false); resetBestFitMode = false; if (focusedElement && focusedElement !== _dom_adapter.default.getActiveElement()) { var isFocusOutsideWindow = (0, _position.getBoundingRect)(focusedElement).bottom < 0; if (!isFocusOutsideWindow) { ! function(focusedElement, selectionRange) { accessibility.hiddenFocus(focusedElement); _m_utils.default.setSelectionRange(focusedElement, selectionRange) }(focusedElement, selectionRange) } } } isColumnWidthsCorrected = _this3._correctColumnWidths(resultWidths, visibleColumns); if (columnAutoWidth) { ! function() { var expandColumnWidth; (0, _iterator.each)(visibleColumns, (function(index, column) { if ("groupExpand" === column.type) { expandColumnWidth = resultWidths[index] } })); (0, _iterator.each)(visibleColumns, (function(index, column) { if ("groupExpand" === column.type && expandColumnWidth) { resultWidths[index] = expandColumnWidth } })) }(); if (_this3._needStretch()) { _this3._processStretch(resultWidths, visibleColumns) } }(0, _common.deferRender)((function() { if (needBestFit || isColumnWidthsCorrected) { _this3._setVisibleWidths(visibleColumns, resultWidths) } if (wordWrapEnabled) { _this3._toggleContentMinHeight(false) } })) })) }, _needBestFit: function() { return this.option("columnAutoWidth") }, _needStretch: function() { return this._columnsController.getVisibleColumns().some((function(c) { return "auto" === c.width && !c.command })) }, _getAverageColumnsWidth: function(resultWidths) { var freeWidth = calculateFreeWidth(this, resultWidths); var columnCountWithoutWidth = resultWidths.filter((function(width) { return void 0 === width })).length; return freeWidth / columnCountWithoutWidth }, _correctColumnWidths: function(resultWidths, visibleColumns) { var that = this; var i; var hasPercentWidth = false; var hasAutoWidth = false; var isColumnWidthsCorrected = false; var $element = that.component.$element(); var hasWidth = that._hasWidth; var _loop = function() { var index = i; var column = visibleColumns[index]; var isHiddenColumn = "adaptiveHidden" === resultWidths[index]; var width = resultWidths[index]; var minWidth = column.minWidth; if (minWidth) { if (void 0 === width) { var averageColumnsWidth = that._getAverageColumnsWidth(resultWidths); width = averageColumnsWidth } else if (isPercentWidth(width)) { var freeWidth = function(that, columnIndex, currentMinWidth, widths) { return calculateFreeWidth(that, widths.map((function(width, index) { return index === columnIndex ? currentMinWidth : width }))) }(that, index, minWidth, resultWidths); if (freeWidth < 0) { width = -1 } } } var realColumnWidth = that._getRealColumnWidth(index, resultWidths.map((function(columnWidth, columnIndex) { return index === columnIndex ? width : columnWidth }))); if (minWidth && !isHiddenColumn && realColumnWidth < minWidth) { resultWidths[index] = minWidth; isColumnWidthsCorrected = true; i = -1 } if (!(0, _type.isDefined)(column.width)) { hasAutoWidth = true } if (isPercentWidth(column.width)) { hasPercentWidth = true } }; for (i = 0; i < visibleColumns.length; i++) { _loop() } if (!hasAutoWidth && resultWidths.length) { var $rowsViewElement = that._rowsView.element(); var contentWidth = that._rowsView.contentWidth(); var scrollbarWidth = that._rowsView.getScrollbarWidth(); var totalWidth = that._getTotalWidth(resultWidths, contentWidth); if (totalWidth < contentWidth) { var lastColumnIndex = _m_utils.default.getLastResizableColumnIndex(visibleColumns, resultWidths); if (lastColumnIndex >= 0) { resultWidths[lastColumnIndex] = "auto"; isColumnWidthsCorrected = true; if (false === hasWidth && !hasPercentWidth) { var borderWidth = that.option("showBorders") ? Math.ceil((0, _size.getOuterWidth)($rowsViewElement) - (0, _size.getInnerWidth)($rowsViewElement)) : 0; that._maxWidth = totalWidth + scrollbarWidth + borderWidth; $element.css("maxWidth", that._maxWidth) } } } } return isColumnWidthsCorrected }, _processStretch: function(resultSizes, visibleColumns) { var groupSize = this._rowsView.contentWidth(); var tableSize = this._getTotalWidth(resultSizes, groupSize); var unusedIndexes = { length: 0 }; if (!resultSizes.length) { return }(0, _iterator.each)(visibleColumns, (function(index) { if (this.width || "adaptiveHidden" === resultSizes[index]) { unusedIndexes[index] = true; unusedIndexes.length++ } })); var diff = groupSize - tableSize; var diffElement = Math.floor(diff / (resultSizes.length - unusedIndexes.length)); var onePixelElementsCount = diff - diffElement * (resultSizes.length - unusedIndexes.length); if (diff >= 0) { for (var i = 0; i < resultSizes.length; i++) { if (unusedIndexes[i]) { continue } resultSizes[i] += diffElement; if (onePixelElementsCount > 0) { if (onePixelElementsCount < 1) { resultSizes[i] += onePixelElementsCount; onePixelElementsCount = 0 } else { resultSizes[i]++; onePixelElementsCount-- } } } } }, _getRealColumnWidth: function(columnIndex, columnWidths, groupWidth) { var ratio = 1; var width = columnWidths[columnIndex]; if (!isPercentWidth(width)) { return parseFloat(width) } var percentTotalWidth = columnWidths.reduce((function(sum, width, index) { if (!isPercentWidth(width)) { return sum } return sum + parseFloat(width) }), 0); var pixelTotalWidth = columnWidths.reduce((function(sum, width) { if (!width || "adaptiveHidden" === width || isPercentWidth(width)) { return sum } return sum + parseFloat(width) }), 0); groupWidth = groupWidth || this._rowsView.contentWidth(); var freeSpace = groupWidth - pixelTotalWidth; var percentTotalWidthInPixel = percentTotalWidth * groupWidth / 100; if (pixelTotalWidth > 0 && percentTotalWidthInPixel + pixelTotalWidth >= groupWidth) { ratio = percentTotalWidthInPixel > freeSpace ? freeSpace / percentTotalWidthInPixel : 1 } return parseFloat(width) * groupWidth * ratio / 100 }, _getTotalWidth: function(widths, groupWidth) { var result = 0; for (var i = 0; i < widths.length; i++) { var width = widths[i]; if (width && "adaptiveHidden" !== width) { result += this._getRealColumnWidth(i, widths, groupWidth) } } return Math.ceil(result) }, _getGroupElement: function() { return this.component.$element().children().get(0) }, updateSize: function(rootElement) { var $rootElement = (0, _renderer.default)(rootElement); var importantMarginClass = this.addWidgetPrefix("important-margin"); if (void 0 === this._hasHeight && $rootElement && $rootElement.is(":visible") && (0, _size.getWidth)($rootElement)) { var $groupElement = $rootElement.children(".".concat(this.getWidgetContainerClass())); if ($groupElement.length) { $groupElement.detach() } this._hasHeight = !!(0, _size.getHeight)($rootElement); var width = (0, _size.getWidth)($rootElement); $rootElement.addClass(importantMarginClass); this._hasWidth = (0, _size.getWidth)($rootElement) === width; $rootElement.removeClass(importantMarginClass); if ($groupElement.length) { $groupElement.appendTo($rootElement) } } }, publicMethods: function() { return ["resize", "updateDimensions"] }, _waitAsyncTemplates: function() { var _a, _b, _c; return (0, _deferred.when)(null === (_a = this._columnHeadersView) || void 0 === _a ? void 0 : _a.waitAsyncTemplates(true), null === (_b = this._rowsView) || void 0 === _b ? void 0 : _b.waitAsyncTemplates(true), null === (_c = this._footerView) || void 0 === _c ? void 0 : _c.waitAsyncTemplates(true)) }, resize: function() { var _this4 = this; if (this.component._requireResize) { return } var d = new _deferred.Deferred; this._waitAsyncTemplates().done((function() { (0, _deferred.when)(_this4.updateDimensions()).done(d.resolve).fail(d.reject) })).fail(d.reject); return d.promise() }, updateDimensions: function(checkSize) { var that = this; that._initPostRenderHandlers(); if (!that._checkSize(checkSize)) { return } var prevResult = that._resizeDeferred; var result = that._resizeDeferred = new _deferred.Deferred; (0, _deferred.when)(prevResult).always((function() { (0, _common.deferRender)((function() { if (that._dataController.isLoaded()) { that._synchronizeColumns() } that._resetGroupElementHeight(); (0, _common.deferUpdate)((function() { (0, _common.deferRender)((function() { (0, _common.deferUpdate)((function() { that._updateDimensionsCore() })) })) })) })).done(result.resolve).fail(result.reject) })); return result.promise() }, _resetGroupElementHeight: function() { var groupElement = this._getGroupElement(); var scrollable = this._rowsView.getScrollable(); if (groupElement && groupElement.style.height && (!scrollable || !scrollable.scrollTop())) { groupElement.style.height = "" } }, _checkSize: function(checkSize) { var $rootElement = this.component.$element(); if (checkSize && (this._lastWidth === (0, _size.getWidth)($rootElement) && this._lastHeight === (0, _size.getHeight)($rootElement) && this._devicePixelRatio === (0, _window.getWindow)().devicePixelRatio || !$rootElement.is(":visible"))) { return false } return true }, _setScrollerSpacingCore: function() { var that = this; var vScrollbarWidth = that._rowsView.getScrollbarWidth(); var hScrollbarWidth = that._rowsView.getScrollbarWidth(true); (0, _common.deferRender)((function() { that._columnHeadersView && that._columnHeadersView.setScrollerSpacing(vScrollbarWidth); that._footerView && that._footerView.setScrollerSpacing(vScrollbarWidth); that._rowsView.setScrollerSpacing(vScrollbarWidth, hScrollbarWidth) })) }, _setScrollerSpacing: function() { var _this5 = this; var scrollable = this._rowsView.getScrollable(); var isNativeScrolling = true === this.option("scrolling.useNative"); if (!scrollable || isNativeScrolling) { (0, _common.deferRender)((function() { (0, _common.deferUpdate)((function() { _this5._setScrollerSpacingCore() })) })) } else { this._setScrollerSpacingCore() } }, _updateDimensionsCore: function() { var that = this; var dataController = that._dataController; var editorFactory = that.getController("editorFactory"); var rowsView = that._rowsView; var $rootElement = that.component.$element(); var groupElement = this._getGroupElement(); var rootElementHeight = (0, _size.getHeight)($rootElement); var height = that.option("height") || $rootElement.get(0).style.height; var isHeightSpecified = !!height && "auto" !== height; var maxHeight = parseInt($rootElement.css("maxHeight")); var maxHeightHappened = maxHeight && rootElementHeight >= maxHeight; var isMaxHeightApplied = groupElement && groupElement.scrollHeight === groupElement.offsetHeight; that.updateSize($rootElement); (0, _common.deferRender)((function() { var hasHeight = that._hasHeight || !!maxHeight || isHeightSpecified; rowsView.hasHeight(hasHeight); if (maxHeightHappened && !isMaxHeightApplied) { (0, _renderer.default)(groupElement).css("height", maxHeight) } if (!dataController.isLoaded()) { rowsView.setLoading(dataController.isLoading()); return }(0, _common.deferUpdate)((function() { that._updateLastSizes($rootElement); that._setScrollerSpacing(); (0, _iterator.each)(VIEW_NAMES, (function(index, viewName) { var view = that.getView(viewName); if (view) { view.resize() } })); editorFactory && editorFactory.resize() })) })) }, _updateLastSizes: function($rootElement) { this._lastWidth = (0, _size.getWidth)($rootElement); this._lastHeight = (0, _size.getHeight)($rootElement); this._devicePixelRatio = (0, _window.getWindow)().devicePixelRatio }, optionChanged: function(args) { switch (args.name) { case "width": case "height": this.component._renderDimensions(); this.resize(); case "renderAsync": args.handled = true; return; default: this.callBase(args) } }, init: function() { this._dataController = this.getController("data"); this._columnsController = this.getController("columns"); this._columnHeadersView = this.getView("columnHeadersView"); this._footerView = this.getView("footerView"); this._rowsView = this.getView("rowsView") } }; var ResizingController = _m_modules.default.ViewController.inherit(resizingControllerMembers); var SynchronizeScrollingController = _m_modules.default.ViewController.inherit({ _scrollChangedHandler: function(views, pos, viewName) { for (var j = 0; j < views.length; j++) { if (views[j] && views[j].name !== viewName) { views[j].scrollTo({ left: pos.left, top: pos.top }) } } }, init: function() { var views = [this.getView("columnHeadersView"), this.getView("footerView"), this.getView("rowsView")]; for (var i = 0; i < views.length; i++) { var view = views[i]; if (view) { view.scrollChanged.add(this._scrollChangedHandler.bind(this, views)) } } } }); var GridView = _m_modules.default.View.inherit({ _endUpdateCore: function() { if (this.component._requireResize) { this.component._requireResize = false; this._resizingController.resize() } }, init: function() { this._resizingController = this.getController("resizing"); this._dataController = this.getController("data") }, getView: function(name) { return this.component._views[name] }, element: function() { return this._groupElement }, optionChanged: function(args) { if ((0, _type.isDefined)(this._groupElement) && "showBorders" === args.name) { this._groupElement.toggleClass(this.addWidgetPrefix("borders"), !!args.value); args.handled = true } else { this.callBase(args) } }, _renderViews: function($groupElement) { var that = this; (0, _iterator.each)(VIEW_NAMES, (function(index, viewName) { var view = that.getView(viewName); if (view) { view.render($groupElement) } })) }, _getTableRoleName: function() { return "group" }, render: function($rootElement) { var isFirstRender = !this._groupElement; var $groupElement = this._groupElement || (0, _renderer.default)("
").addClass(this.getWidgetContainerClass()); $groupElement.addClass("dx-gridbase-container"); $groupElement.toggleClass(this.addWidgetPrefix("borders"), !!this.option("showBorders")); this.setAria("role", "presentation", $rootElement); this.component.setAria("role", this._getTableRoleName(), $groupElement); this._rootElement = $rootElement || this._rootElement; if (isFirstRender) { this._groupElement = $groupElement; (0, _window.hasWindow)() && this.getController("resizing").updateSize($rootElement); $groupElement.appendTo($rootElement) } this._renderViews($groupElement) }, update: function() { var $rootElement = this._rootElement; var $groupElement = this._groupElement; var resizingController = this.getController("resizing"); if ($rootElement && $groupElement) { resizingController.resize(); if (this._dataController.isLoaded()) { this._resizingController.fireContentReadyAction() } } } }); var gridViewModule = { defaultOptions: function() { return { showBorders: false, renderAsync: false } }, controllers: { resizing: ResizingController, synchronizeScrolling: SynchronizeScrollingController }, views: { gridView: GridView }, VIEW_NAMES: VIEW_NAMES }; exports.gridViewModule = gridViewModule }, 35095: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/views/m_rows_view.js ***! \*********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.rowsModule = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/browser */ 47810)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _data = __webpack_require__( /*! ../../../../core/utils/data */ 47617); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _position = __webpack_require__( /*! ../../../../core/utils/position */ 37518); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _string = __webpack_require__( /*! ../../../../core/utils/string */ 68752); var _style = __webpack_require__( /*! ../../../../core/utils/style */ 80968); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../../../core/utils/window */ 58201); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _remove = __webpack_require__( /*! ../../../../events/remove */ 29007); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/scroll_view/ui.scrollable */ 41183)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); var _m_columns_view = __webpack_require__( /*! ./m_columns_view */ 57318); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function getMaxHorizontalScrollOffset(scrollable) { return scrollable ? Math.round(scrollable.scrollWidth() - scrollable.clientWidth()) : 0 } function isGroupRow(_ref) { var rowType = _ref.rowType, column = _ref.column; return "group" === rowType && (0, _type.isDefined)(column.groupIndex) && !column.showWhenGrouped && !column.command } var defaultCellTemplate = function($container, options) { var isDataTextEmpty = (0, _string.isEmpty)(options.text) && "data" === options.rowType; var text = options.text; var container = $container.get(0); if (isDataTextEmpty) { _m_utils.default.setEmptyText($container) } else if (options.column.encodeHtml) { container.textContent = text } else { container.innerHTML = text } }; var RowsView = function(_ColumnsView) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(RowsView, _ColumnsView); function RowsView() { return _ColumnsView.apply(this, arguments) || this } var _proto = RowsView.prototype; _proto._getDefaultTemplate = function(column) { switch (column.command) { case "empty": return function(container) { container.html(" ") }; default: return defaultCellTemplate } }; _proto._getDefaultGroupTemplate = function(column) { var summaryTexts = this.option("summary.texts"); return function($container, options) { var data = options.data; var text = "".concat(options.column.caption, ": ").concat(options.text); var container = $container.get(0); if (options.summaryItems && options.summaryItems.length) { text += " ".concat(_m_utils.default.getGroupRowSummaryText(options.summaryItems, summaryTexts)) } if (data) { if (options.groupContinuedMessage && options.groupContinuesMessage) { text += " (".concat(options.groupContinuedMessage, ". ").concat(options.groupContinuesMessage, ")") } else if (options.groupContinuesMessage) { text += " (".concat(options.groupContinuesMessage, ")") } else if (options.groupContinuedMessage) { text += " (".concat(options.groupContinuedMessage, ")") } } if (column.encodeHtml) { container.textContent = text } else { container.innerHTML = text } } }; _proto._update = function(change) {}; _proto._updateCell = function($cell, options) { if (isGroupRow(options)) { $cell.addClass("dx-group-cell") } _ColumnsView.prototype._updateCell.apply(this, arguments) }; _proto._getCellTemplate = function(options) { var column = options.column; var template; if (isGroupRow(options)) { template = column.groupCellTemplate || { allowRenderToDetachedContainer: true, render: this._getDefaultGroupTemplate(column) } } else if (("data" === options.rowType || column.command) && column.cellTemplate) { template = column.cellTemplate } else { template = { allowRenderToDetachedContainer: true, render: this._getDefaultTemplate(column) } } return template }; _proto._createRow = function(row, tag) { var $row = _ColumnsView.prototype._createRow.apply(this, arguments); if (row) { var isGroup = "group" === row.rowType; var isDataRow = "data" === row.rowType; isDataRow && $row.addClass("dx-data-row"); isDataRow && this.option("showRowLines") && $row.addClass("dx-row-lines"); this.option("showColumnLines") && $row.addClass("dx-column-lines"); if (false === row.visible) { $row.hide() } if (isGroup) { $row.addClass("dx-group-row"); var isRowExpanded = row.isExpanded; this.setAria("role", "row", $row); this.setAria("expanded", (0, _type.isDefined)(isRowExpanded) && isRowExpanded.toString(), $row) } } return $row }; _proto._rowPrepared = function($row, rowOptions, row) { var _this = this; if ("data" === rowOptions.rowType) { if (this.option("rowAlternationEnabled")) { this._isAltRow(row) && $row.addClass("dx-row-alt"); rowOptions.watch && rowOptions.watch((function() { return _this._isAltRow(row) }), (function(value) { $row.toggleClass("dx-row-alt", value) })) } this._setAriaRowIndex(rowOptions, $row); rowOptions.watch && rowOptions.watch((function() { return rowOptions.rowIndex }), (function() { return _this._setAriaRowIndex(rowOptions, $row) })) } _ColumnsView.prototype._rowPrepared.apply(this, arguments) }; _proto._setAriaRowIndex = function(row, $row) { var component = this.component; var isPagerMode = "standard" === component.option("scrolling.mode") && !_m_utils.default.isVirtualRowRendering(component); var rowIndex = row.rowIndex + 1; if (isPagerMode) { rowIndex = component.pageIndex() * component.pageSize() + rowIndex } else { rowIndex += this._dataController.getRowIndexOffset() } this.setAria("rowindex", rowIndex, $row) }; _proto._afterRowPrepared = function(e) { var _this2 = this; var arg = e.args[0]; var dataController = this._dataController; var row = dataController.getVisibleRows()[arg.rowIndex]; var watch = this.option("integrationOptions.watchMethod"); if (!arg.data || "data" !== arg.rowType || arg.isNewRow || !this.option("twoWayBindingEnabled") || !watch || !row) { return } var dispose = watch((function() { return dataController.generateDataValues(arg.data, arg.columns) }), (function() { dataController.repaintRows([row.rowIndex], _this2.option("repaintChangesOnly")) }), { deep: true, skipImmediate: true }); _events_engine.default.on(arg.rowElement, _remove.removeEvent, dispose) }; _proto._renderScrollable = function(force) { var $element = this.element(); if (!$element.children().length) { $element.append("
") } if (force || !this._loadPanel) { this._renderLoadPanel($element, $element.parent(), this._dataController.isLocalStore()) } if ((force || !this.getScrollable()) && this._dataController.isLoaded()) { var columns = this.getColumns(); var allColumnsHasWidth = true; for (var i = 0; i < columns.length; i++) { if (!columns[i].width && !columns[i].minWidth) { allColumnsHasWidth = false; break } } if (this.option("columnAutoWidth") || this._hasHeight || allColumnsHasWidth || this._columnsController._isColumnFixing()) { this._renderScrollableCore($element) } } }; _proto._handleScroll = function(e) { var rtlEnabled = this.option("rtlEnabled"); var isNativeScrolling = e.component.option("useNative"); this._scrollTop = e.scrollOffset.top; this._scrollLeft = e.scrollOffset.left; var scrollLeft = e.scrollOffset.left; if (rtlEnabled) { this._scrollRight = getMaxHorizontalScrollOffset(e.component) - this._scrollLeft; if (isNativeScrolling) { scrollLeft = -this._scrollRight } if (!this.isScrollbarVisible(true)) { this._scrollLeft = -1 } } this.scrollChanged.fire(_extends(_extends({}, e.scrollOffset), { left: scrollLeft }), this.name) }; _proto._renderScrollableCore = function($element) { var dxScrollableOptions = this._createScrollableOptions(); var scrollHandler = this._handleScroll.bind(this); dxScrollableOptions.onScroll = scrollHandler; this._scrollable = this._createComponent($element, _ui.default, dxScrollableOptions); this._scrollableContainer = this._scrollable && (0, _renderer.default)(this._scrollable.container()) }; _proto._renderLoadPanel = function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] } return _m_utils.default.renderLoadPanel.apply(this, arguments) }; _proto._renderContent = function(contentElement, tableElement, isFixedTableRendering) { contentElement.empty().append(tableElement); return this._findContentElement() }; _proto._updateContent = function(newTableElement, change, isFixedTableRendering) { var _this3 = this; this._contentChanges.push({ newTableElement: newTableElement, change: change, isFixedTableRendering: isFixedTableRendering }); return this.waitAsyncTemplates().done((function() { var contentChanges = _this3._contentChanges; _this3._contentChanges = []; contentChanges.forEach((function(_ref2) { var newTableElement = _ref2.newTableElement, change = _ref2.change, isFixedTableRendering = _ref2.isFixedTableRendering; var tableElement = _this3.getTableElement(isFixedTableRendering); var contentElement = _this3._findContentElement(isFixedTableRendering); var changeType = null === change || void 0 === change ? void 0 : change.changeType; var executors = []; var highlightChanges = _this3.option("highlightChanges"); var rowInsertedClass = _this3.addWidgetPrefix("row-inserted-animation"); switch (changeType) { case "update": (0, _iterator.each)(change.rowIndices, (function(index, rowIndex) { var _a; var $newRowElement = _this3._getRowElements(newTableElement).eq(index); var dataChangeType = null === (_a = change.changeTypes) || void 0 === _a ? void 0 : _a[index]; var item = change.items && change.items[index]; executors.push((function() { var _a; var $rowElements = _this3._getRowElements(tableElement); var $rowElement = $rowElements.eq(rowIndex); switch (dataChangeType) { case "update": if (item) { var columnIndices = null === (_a = change.columnIndices) || void 0 === _a ? void 0 : _a[index]; if ((0, _type.isDefined)(item.visible) && item.visible !== $rowElement.is(":visible")) { $rowElement.toggle(item.visible) } else if (columnIndices) { _this3._updateCells($rowElement, $newRowElement, columnIndices) } else { $rowElement.replaceWith($newRowElement) } } break; case "insert": if (!$rowElements.length) { if (tableElement) { var target = $newRowElement.is("tbody") ? tableElement : tableElement.children("tbody"); $newRowElement.prependTo(target) } } else if ($rowElement.length) { $newRowElement.insertBefore($rowElement) } else { $newRowElement.insertAfter($rowElements.last()) } if (highlightChanges && change.isLiveUpdate) { $newRowElement.addClass(rowInsertedClass) } break; case "remove": $rowElement.remove() } })) })); (0, _iterator.each)(executors, (function() { this() })); newTableElement.remove(); break; default: _this3.setTableElement(newTableElement, isFixedTableRendering); contentElement.addClass(_this3.addWidgetPrefix("content")); _this3._renderContent(contentElement, newTableElement, isFixedTableRendering) } })) })).fail((function() { _this3._contentChanges = [] })) }; _proto._createEmptyRow = function(className, isFixed, height) { var $cell; var $row = this._createRow(); var columns = isFixed ? this.getFixedColumns() : this.getColumns(); $row.addClass(className).toggleClass("dx-column-lines", this.option("showColumnLines")); for (var i = 0; i < columns.length; i++) { $cell = this._createCell({ column: columns[i], rowType: "freeSpace", columnIndex: i, columns: columns }); (0, _type.isNumeric)(height) && $cell.css("height", height); $row.append($cell) } this.setAria("role", "presentation", $row); return $row }; _proto.getFixedColumns = function() { throw new Error("Method not implemented.") }; _proto._appendEmptyRow = function($table, $emptyRow, location) { var $tBodies = this._getBodies($table); var isTableContainer = !$tBodies.length || $emptyRow.is("tbody"); var $container = isTableContainer ? $table : $tBodies; if ("top" === location) { $container.first().prepend($emptyRow); if (isTableContainer) { var $colgroup = $container.children("colgroup"); $container.prepend($colgroup) } } else { $container.last().append($emptyRow) } }; _proto._renderFreeSpaceRow = function($tableElement, change) { var $freeSpaceRowElement = this._createEmptyRow("dx-freespace-row"); $freeSpaceRowElement = this._wrapRowIfNeed($tableElement, $freeSpaceRowElement, "refresh" === (null === change || void 0 === change ? void 0 : change.changeType)); this._appendEmptyRow($tableElement, $freeSpaceRowElement) }; _proto._checkRowKeys = function(options) { var that = this; var rows = that._getRows(options); var keyExpr = that._dataController.store() && that._dataController.store().key(); keyExpr && rows.some((function(row) { if ("data" === row.rowType && void 0 === row.key) { that._dataController.fireError("E1046", keyExpr); return true } return })) }; _proto._needUpdateRowHeight = function(itemsCount) { return itemsCount > 0 && !this._rowHeight }; _proto._getRowsHeight = function($tableElement) { $tableElement = $tableElement || this._tableElement; var $rowElements = $tableElement.children("tbody").children().not(".dx-virtual-row").not(".".concat("dx-freespace-row")); return $rowElements.toArray().reduce((function(sum, row) { return sum + (0, _position.getBoundingRect)(row).height }), 0) }; _proto._updateRowHeight = function() { var $tableElement = this.getTableElement(); var itemsCount = this._dataController.items().length; if ($tableElement && this._needUpdateRowHeight(itemsCount)) { var rowsHeight = this._getRowsHeight($tableElement); this._rowHeight = rowsHeight / itemsCount } }; _proto._findContentElement = function(isFixedTableRendering) { var $content = this.element(); var scrollable = this.getScrollable(); if ($content) { if (scrollable) { $content = (0, _renderer.default)(scrollable.content()) } return $content.children().first() } }; _proto._getRowElements = function(tableElement) { var $rows = _ColumnsView.prototype._getRowElements.call(this, tableElement); return $rows && $rows.not(".".concat("dx-freespace-row")) }; _proto._getFreeSpaceRowElements = function($table) { var tableElements = $table || this.getTableElements(); return tableElements && tableElements.children("tbody").children(".".concat("dx-freespace-row")) }; _proto._getNoDataText = function() { return this.option("noDataText") }; _proto._rowClick = function(e) { var item = this._dataController.items()[e.rowIndex] || {}; this.executeAction("onRowClick", (0, _extend.extend)({ evaluate: function(expr) { var getter = (0, _data.compileGetter)(expr); return getter(item.data) } }, e, item)) }; _proto._rowDblClick = function(e) { var item = this._dataController.items()[e.rowIndex] || {}; this.executeAction("onRowDblClick", (0, _extend.extend)({}, e, item)) }; _proto._getColumnsCountBeforeGroups = function(columns) { for (var i = 0; i < columns.length; i++) { if ("groupExpand" === columns[i].type) { return i } } return 0 }; _proto._getGroupCellOptions = function(options) { var columnsCountBeforeGroups = this._getColumnsCountBeforeGroups(options.columns); var columnIndex = (options.row.groupIndex || 0) + columnsCountBeforeGroups; return { columnIndex: columnIndex, colspan: options.columns.length - columnIndex - 1 } }; _proto._needWrapRow = function() { return _ColumnsView.prototype._needWrapRow.apply(this, arguments) || !!this.option("dataRowTemplate") }; _proto._renderCells = function($row, options) { if ("group" === options.row.rowType) { this._renderGroupedCells($row, options) } else if (options.row.values) { _ColumnsView.prototype._renderCells.call(this, $row, options) } }; _proto._renderGroupedCells = function($row, options) { var row = options.row; var expandColumn; var columns = options.columns; var rowIndex = row.rowIndex; var isExpanded; var groupCellOptions = this._getGroupCellOptions(options); for (var i = 0; i <= groupCellOptions.columnIndex; i++) { if (i === groupCellOptions.columnIndex && columns[i].allowCollapsing && "infinite" !== options.scrollingMode) { isExpanded = !!row.isExpanded; expandColumn = columns[i] } else { isExpanded = null; expandColumn = { command: "expand", cssClass: columns[i].cssClass } } if (this._needRenderCell(i, options.columnIndices)) { this._renderCell($row, { value: isExpanded, row: row, rowIndex: rowIndex, column: expandColumn, columnIndex: i, columnIndices: options.columnIndices, change: options.change }) } } var groupColumnAlignment = (0, _position.getDefaultAlignment)(this.option("rtlEnabled")); var groupColumn = (0, _extend.extend)({}, columns[groupCellOptions.columnIndex], { command: null, type: null, cssClass: null, width: null, showWhenGrouped: false, alignment: groupColumnAlignment }); if (groupCellOptions.colspan > 1) { groupColumn.colspan = groupCellOptions.colspan } if (this._needRenderCell(groupCellOptions.columnIndex + 1, options.columnIndices)) { this._renderCell($row, { value: row.values[row.groupIndex], row: row, rowIndex: rowIndex, column: groupColumn, columnIndex: groupCellOptions.columnIndex + 1, columnIndices: options.columnIndices, change: options.change }) } }; _proto._renderRows = function($table, options) { var scrollingMode = this.option("scrolling.mode"); _ColumnsView.prototype._renderRows.call(this, $table, (0, _extend.extend)({ scrollingMode: scrollingMode }, options)); this._checkRowKeys(options.change); this._renderFreeSpaceRow($table, options.change); if (!this._hasHeight) { this.updateFreeSpaceRowHeight($table) } }; _proto._renderDataRowByTemplate = function($table, options, dataRowTemplate) { var row = options.row; var rowOptions = (0, _extend.extend)({ columns: options.columns }, row); var $tbody = this._createRow(row, "tbody"); $tbody.appendTo($table); this.renderTemplate($tbody, dataRowTemplate, rowOptions, true, options.change); this._rowPrepared($tbody, rowOptions, options.row) }; _proto._renderRow = function($table, options) { var row = options.row; var _this$option = this.option(), rowTemplate = _this$option.rowTemplate; var dataRowTemplate = this.option("dataRowTemplate"); if ("data" === row.rowType && dataRowTemplate) { this._renderDataRowByTemplate($table, options, dataRowTemplate) } else if (("data" === row.rowType || "group" === row.rowType) && !(0, _type.isDefined)(row.groupIndex) && rowTemplate) { this.renderTemplate($table, rowTemplate, (0, _extend.extend)({ columns: options.columns }, row), true) } else { _ColumnsView.prototype._renderRow.call(this, $table, options) } }; _proto._renderTable = function(options) { var that = this; var $table = _ColumnsView.prototype._renderTable.call(this, options); if (!(0, _type.isDefined)(that.getTableElement())) { that.setTableElement($table); that._renderScrollable(true); that.resizeCompleted.add((function resizeCompletedHandler() { var scrollableInstance = that.getScrollable(); if (scrollableInstance && that.element().closest((0, _window.getWindow)().document).length) { that.resizeCompleted.remove(resizeCompletedHandler); scrollableInstance._visibilityChanged(true) } })) } else { that._renderScrollable() } return $table }; _proto._createTable = function() { var $table = _ColumnsView.prototype._createTable.apply(this, arguments); if (this.option().rowTemplate || this.option().dataRowTemplate) { $table.appendTo(this.component.$element()) } return $table }; _proto._renderCore = function(change) { var $element = this.element(); $element.addClass(this.addWidgetPrefix("rowsview")).toggleClass(this.addWidgetPrefix("nowrap"), !this.option("wordWrapEnabled")); $element.toggleClass("dx-empty", this._dataController.isEmpty()); this.setAria("role", "presentation", $element); var $table = this._renderTable({ change: change }); var deferred = this._updateContent($table, change); _ColumnsView.prototype._renderCore.call(this, change); this._lastColumnWidths = null; return deferred }; _proto._getRows = function(change) { return change && change.items || this._dataController.items() }; _proto._getCellOptions = function(options) { var column = options.column; var row = options.row; var data = row.data; var summaryCells = row && row.summaryCells; var value = options.value; var displayValue = _m_utils.default.getDisplayValue(column, value, data, row.rowType); var parameters = _ColumnsView.prototype._getCellOptions.call(this, options); parameters.value = value; parameters.oldValue = options.oldValue; parameters.displayValue = displayValue; parameters.row = row; parameters.key = row.key; parameters.data = data; parameters.rowType = row.rowType; parameters.values = row.values; parameters.text = !column.command ? _m_utils.default.formatValue(displayValue, column) : ""; parameters.rowIndex = row.rowIndex; parameters.summaryItems = summaryCells && summaryCells[options.columnIndex]; parameters.resized = column.resizedCallbacks; if ((0, _type.isDefined)(column.groupIndex) && !column.command) { var groupingTextsOptions = this.option("grouping.texts"); var scrollingMode = this.option("scrolling.mode"); if ("virtual" !== scrollingMode && "infinite" !== scrollingMode) { parameters.groupContinuesMessage = data && data.isContinuationOnNextPage && groupingTextsOptions && groupingTextsOptions.groupContinuesMessage; parameters.groupContinuedMessage = data && data.isContinuation && groupingTextsOptions && groupingTextsOptions.groupContinuedMessage } } return parameters }; _proto._setRowsOpacityCore = function($rows, visibleColumns, columnIndex, value) { var columnsController = this._columnsController; var columns = columnsController.getColumns(); var column = columns && columns[columnIndex]; var columnID = column && column.isBand && column.index; (0, _iterator.each)($rows, (function(rowIndex, row) { if (!(0, _renderer.default)(row).hasClass("dx-group-row")) { for (var i = 0; i < visibleColumns.length; i++) { if ((0, _type.isNumeric)(columnID) && columnsController.isParentBandColumn(visibleColumns[i].index, columnID) || visibleColumns[i].index === columnIndex) { $rows.eq(rowIndex).children().eq(i).css({ opacity: value }); if (!(0, _type.isNumeric)(columnID)) { break } } } } })) }; _proto._getDevicePixelRatio = function() { return (0, _window.getWindow)().devicePixelRatio }; _proto.renderNoDataText = function() { return _m_utils.default.renderNoDataText.apply(this, arguments) }; _proto.getCellOptions = function(rowIndex, columnIdentifier) { var rowOptions = this._dataController.items()[rowIndex]; var cellOptions; var column; if (rowOptions) { if ((0, _type.isString)(columnIdentifier)) { column = this._columnsController.columnOption(columnIdentifier) } else { column = this._columnsController.getVisibleColumns()[columnIdentifier] } if (column) { cellOptions = this._getCellOptions({ value: column.calculateCellValue(rowOptions.data), rowIndex: rowOptions.rowIndex, row: rowOptions, column: column }) } } return cellOptions }; _proto.getRow = function(index) { if (index >= 0) { var rows = this._getRowElements(); if (rows.length > index) { return (0, _renderer.default)(rows[index]) } } return }; _proto.updateFreeSpaceRowHeight = function($table) { var _this4 = this; var dataController = this._dataController; var itemCount = dataController.items(true).length; var contentElement = this._findContentElement(); var freeSpaceRowElements = this._getFreeSpaceRowElements($table); if (freeSpaceRowElements && contentElement && dataController.totalCount() >= 0) { var isFreeSpaceRowVisible = false; if (itemCount > 0) { if (!this._hasHeight) { var freeSpaceRowCount = dataController.pageSize() - itemCount; var scrollingMode = this.option("scrolling.mode"); if (freeSpaceRowCount > 0 && dataController.pageCount() > 1 && "virtual" !== scrollingMode && "infinite" !== scrollingMode) { (0, _style.setHeight)(freeSpaceRowElements, freeSpaceRowCount * this._rowHeight); isFreeSpaceRowVisible = true } if (!isFreeSpaceRowVisible && $table) { (0, _style.setHeight)(freeSpaceRowElements, 0) } else { freeSpaceRowElements.toggle(isFreeSpaceRowVisible) } this._updateLastRowBorder(isFreeSpaceRowVisible) } else { freeSpaceRowElements.hide(); (0, _common.deferUpdate)((function() { var scrollbarWidth = _this4.getScrollbarWidth(true); var elementHeightWithoutScrollbar = (0, _size.getHeight)(_this4.element()) - scrollbarWidth; var contentHeight = (0, _size.getOuterHeight)(contentElement); var showFreeSpaceRow = elementHeightWithoutScrollbar - contentHeight > 0; var rowsHeight = _this4._getRowsHeight(contentElement.children().first()); var $tableElement = $table || _this4.getTableElements(); var borderTopWidth = Math.ceil(parseFloat($tableElement.css("borderTopWidth"))); var heightCorrection = _this4._getHeightCorrection(); var resultHeight = elementHeightWithoutScrollbar - rowsHeight - borderTopWidth - heightCorrection; if (showFreeSpaceRow) { (0, _common.deferRender)((function() { freeSpaceRowElements.css("height", resultHeight); isFreeSpaceRowVisible = true; freeSpaceRowElements.show() })) }(0, _common.deferRender)((function() { return _this4._updateLastRowBorder(isFreeSpaceRowVisible) })) })) } } else { freeSpaceRowElements.css("height", 0); freeSpaceRowElements.show(); this._updateLastRowBorder(true) } } }; _proto._getHeightCorrection = function() { var isZoomedWebkit = _browser.default.webkit && this._getDevicePixelRatio() >= 2; var isChromeLatest = _browser.default.chrome && _browser.default.version >= 91; var hasExtraBorderTop = _browser.default.mozilla && _browser.default.version >= 70 && !this.option("showRowLines"); return isZoomedWebkit || hasExtraBorderTop || isChromeLatest ? 1 : 0 }; _proto._columnOptionChanged = function(e) { var optionNames = e.optionNames; if (e.changeTypes.grouping) { return } if (optionNames.width || optionNames.visibleWidth) { _ColumnsView.prototype._columnOptionChanged.call(this, e); this._fireColumnResizedCallbacks() } }; _proto.getScrollable = function() { return this._scrollable }; _proto.init = function() { var _this5 = this; var that = this; var dataController = that.getController("data"); _ColumnsView.prototype.init.call(this); that._editorFactoryController = that.getController("editorFactory"); that._rowHeight = 0; that._scrollTop = 0; that._scrollLeft = -1; that._scrollRight = 0; that._hasHeight = false; that._contentChanges = []; dataController.loadingChanged.add((function(isLoading, messageText) { that.setLoading(isLoading, messageText) })); dataController.dataSourceChanged.add((function() { if (_this5._scrollLeft >= 0 && !_this5._dataController.isLoading()) { _this5._handleScroll({ component: _this5.getScrollable(), forceUpdateScrollPosition: true, scrollOffset: { top: _this5._scrollTop, left: _this5._scrollLeft } }) } })) }; _proto._handleDataChanged = function(change) { switch (change.changeType) { case "refresh": case "prepend": case "append": case "update": this.render(null, change); break; default: this._update(change) } }; _proto.publicMethods = function() { return ["isScrollbarVisible", "getTopVisibleRowData", "getScrollbarWidth", "getCellElement", "getRowElement", "getScrollable"] }; _proto.contentWidth = function() { return (0, _size.getWidth)(this.element()) - this.getScrollbarWidth() }; _proto.getScrollbarWidth = function(isHorizontal) { var scrollableContainer = this._scrollableContainer && this._scrollableContainer.get(0); var scrollbarWidth = 0; if (scrollableContainer) { if (!isHorizontal) { scrollbarWidth = scrollableContainer.clientWidth ? scrollableContainer.offsetWidth - scrollableContainer.clientWidth : 0 } else { scrollbarWidth = scrollableContainer.clientHeight ? scrollableContainer.offsetHeight - scrollableContainer.clientHeight : 0; scrollbarWidth += (that = this, scrollable = that.getScrollable(), scrollable ? Math.ceil(parseFloat((0, _renderer.default)(scrollable.content()).css("paddingBottom"))) : 0) } } var that, scrollable; return scrollbarWidth > 0 ? scrollbarWidth : 0 }; _proto._fireColumnResizedCallbacks = function() { var lastColumnWidths = this._lastColumnWidths || []; var columnWidths = []; var columns = this.getColumns(); for (var i = 0; i < columns.length; i++) { columnWidths[i] = columns[i].visibleWidth; if (columns[i].resizedCallbacks && !(0, _type.isDefined)(columns[i].groupIndex) && lastColumnWidths[i] !== columnWidths[i]) { columns[i].resizedCallbacks.fire(columnWidths[i]) } } this._lastColumnWidths = columnWidths }; _proto._updateLastRowBorder = function(isFreeSpaceRowVisible) { if (this.option("showBorders") && this.option("showRowLines") && !isFreeSpaceRowVisible) { this.element().addClass("dx-last-row-border") } else { this.element().removeClass("dx-last-row-border") } }; _proto._updateScrollable = function() { var scrollable = _ui.default.getInstance(this.element()); if (scrollable) { scrollable.update(); if (scrollable.option("useNative") || !(null === scrollable || void 0 === scrollable ? void 0 : scrollable.isRenovated())) { this._updateHorizontalScrollPosition() } } }; _proto._updateHorizontalScrollPosition = function() { var scrollable = this.getScrollable(); var scrollLeft = scrollable && scrollable.scrollOffset().left; var rtlEnabled = this.option("rtlEnabled"); if (rtlEnabled) { var maxHorizontalScrollOffset = getMaxHorizontalScrollOffset(scrollable); var scrollRight = maxHorizontalScrollOffset - scrollLeft; if (scrollRight !== this._scrollRight) { this._scrollLeft = maxHorizontalScrollOffset - this._scrollRight } } if (this._scrollLeft >= 0 && scrollLeft !== this._scrollLeft) { scrollable.scrollTo({ x: this._scrollLeft }) } }; _proto._resizeCore = function() { var that = this; that._fireColumnResizedCallbacks(); that._updateRowHeight(); (0, _common.deferRender)((function() { that._renderScrollable(); that.renderNoDataText(); that.updateFreeSpaceRowHeight(); (0, _common.deferUpdate)((function() { that._updateScrollable() })) })) }; _proto.scrollTo = function(location) { var $element = this.element(); var dxScrollable = $element && _ui.default.getInstance($element); if (dxScrollable) { dxScrollable.scrollTo(location) } }; _proto.height = function(_height) { var that = this; var $element = this.element(); if (0 === arguments.length) { return $element ? (0, _size.getOuterHeight)($element, true) : 0 } if ((0, _type.isDefined)(_height) && $element) { that.hasHeight("auto" !== _height); (0, _style.setHeight)($element, _height) } }; _proto.hasHeight = function(_hasHeight) { if (0 === arguments.length) { return !!this._hasHeight } this._hasHeight = _hasHeight; return }; _proto.setLoading = function(isLoading, messageText) { var loadPanel = this._loadPanel; var dataController = this._dataController; var loadPanelOptions = this.option("loadPanel") || {}; var animation = dataController.isLoaded() ? loadPanelOptions.animation : null; var $element = this.element(); if (!(0, _window.hasWindow)()) { return } if (!loadPanel && void 0 !== messageText && dataController.isLocalStore() && "auto" === loadPanelOptions.enabled && $element) { this._renderLoadPanel($element, $element.parent()); loadPanel = this._loadPanel } if (loadPanel) { var visibilityOptions = { message: messageText || loadPanelOptions.text, animation: animation, visible: isLoading }; if (isLoading) { visibilityOptions.position = _m_utils.default.calculateLoadPanelPosition($element) } clearTimeout(this._hideLoadingTimeoutID); if (loadPanel.option("visible") && !isLoading) { this._hideLoadingTimeoutID = setTimeout((function() { loadPanel.option(visibilityOptions) }), 200) } else { loadPanel.option(visibilityOptions) } } }; _proto.setRowsOpacity = function(columnIndex, value) { var $rows = this._getRowElements().not(".".concat("dx-group-row")) || []; this._setRowsOpacityCore($rows, this.getColumns(), columnIndex, value) }; _proto._getCellElementsCore = function(rowIndex) { var $cells = _ColumnsView.prototype._getCellElementsCore.apply(this, arguments); if ($cells) { var groupCellIndex = $cells.filter(".".concat("dx-group-cell")).index(); if (groupCellIndex >= 0 && $cells.length > groupCellIndex + 1) { return $cells.slice(0, groupCellIndex + 1) } } return $cells }; _proto._getBoundaryVisibleItemIndex = function(isTop, isFloor) { var itemIndex = 0; var prevOffset = 0; var offset = 0; var viewportBoundary = this._scrollTop; var $contentElement = this._findContentElement(); var contentElementOffsetTop = $contentElement && $contentElement.offset().top; var dataController = this.getController("data"); var items = dataController.items(); var tableElement = this.getTableElement(); if (items.length && tableElement) { var rowElements = this._getRowElements(tableElement).filter(":visible"); if (!isTop) { var height = (0, _size.getOuterHeight)(this._hasHeight ? this.element() : (0, _window.getWindow)()); viewportBoundary += height } for (itemIndex = 0; itemIndex < items.length; itemIndex++) { prevOffset = offset; var $rowElement = (0, _renderer.default)(rowElements).eq(itemIndex); if ($rowElement.length) { offset = $rowElement.offset(); offset = (isTop ? offset.top : offset.top + (0, _size.getOuterHeight)($rowElement)) - contentElementOffsetTop; if (offset > viewportBoundary) { if (itemIndex) { if (isFloor || 2 * viewportBoundary < Math.round(offset + prevOffset)) { itemIndex-- } } break } } } if (itemIndex && itemIndex === items.length) { itemIndex-- } } return itemIndex }; _proto.getTopVisibleItemIndex = function(isFloor) { return this._getBoundaryVisibleItemIndex(true, isFloor) }; _proto.getBottomVisibleItemIndex = function(isFloor) { return this._getBoundaryVisibleItemIndex(false, isFloor) }; _proto.getTopVisibleRowData = function() { var itemIndex = this.getTopVisibleItemIndex(); var items = this._dataController.items(); if (items[itemIndex]) { return items[itemIndex].data } return }; _proto._scrollToElement = function($element, offset) { var scrollable = this.getScrollable(); scrollable && scrollable.scrollToElement($element, offset) }; _proto.optionChanged = function(args) { _ColumnsView.prototype.optionChanged.call(this, args); switch (args.name) { case "wordWrapEnabled": case "showColumnLines": case "showRowLines": case "rowAlternationEnabled": case "rowTemplate": case "dataRowTemplate": case "twoWayBindingEnabled": this._invalidate(true, true); args.handled = true; break; case "scrolling": this._rowHeight = null; this._tableElement = null; args.handled = true; break; case "rtlEnabled": this._rowHeight = null; this._tableElement = null; break; case "loadPanel": this._tableElement = null; this._invalidate(true, "loadPanel.enabled" !== args.fullName); args.handled = true; break; case "noDataText": this.renderNoDataText(); args.handled = true } }; _proto.dispose = function() { _ColumnsView.prototype.dispose.call(this); clearTimeout(this._hideLoadingTimeoutID); this._scrollable && this._scrollable.dispose() }; _proto.setScrollerSpacing = function() {}; _proto._restoreErrorRow = function() {}; return RowsView }(_m_columns_view.ColumnsView); var rowsModule = { defaultOptions: function() { return { hoverStateEnabled: false, scrolling: { useNative: "auto" }, loadPanel: { enabled: "auto", text: _message.default.format("Loading"), width: 200, height: 90, showIndicator: true, indicatorSrc: "", showPane: true }, dataRowTemplate: null, columnAutoWidth: false, noDataText: _message.default.format("dxDataGrid-noDataText"), wordWrapEnabled: false, showColumnLines: true, showRowLines: false, rowAlternationEnabled: false, activeStateEnabled: false, twoWayBindingEnabled: true } }, views: { rowsView: RowsView } }; exports.rowsModule = rowsModule }, 87482: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/virtual_columns/m_virtual_columns.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.virtualColumnsModule = void 0; var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../../../core/utils/window */ 58201); var _m_virtual_columns_core = __webpack_require__( /*! ./m_virtual_columns_core */ 44980); var VirtualScrollingRowsViewExtender = { _resizeCore: function() { this.callBase.apply(this, arguments); this._columnsController.resize() }, _handleScroll: function(e) { var that = this; var scrollable = this.getScrollable(); var left = e.scrollOffset.left; that.callBase.apply(that, arguments); if (that.option("rtlEnabled") && scrollable) { left = (0, _size.getWidth)(scrollable.$content()) - (0, _size.getWidth)(scrollable.$element()) - left } that._columnsController.setScrollPosition(left) }, _restoreScrollTop: function() { var scrollable = this.getScrollable(); var scrollTop = null === scrollable || void 0 === scrollable ? void 0 : scrollable.scrollTop(); if (this._scrollTop > 0 && scrollTop !== this._scrollTop) { scrollable.scrollTo({ y: this._scrollTop }) } }, _renderCore: function(e) { var _this = this; if (null === e || void 0 === e ? void 0 : e.virtualColumnsScrolling) { var resizeCompletedHandler = function resizeCompletedHandler() { _this.resizeCompleted.remove(resizeCompletedHandler); _this._restoreScrollTop() }; this.resizeCompleted.add(resizeCompletedHandler) } return this.callBase.apply(this, arguments) } }; var ColumnsControllerExtender = (getWidths = function(columns) { return columns.map((function(column) { return column.visibleWidth || parseFloat(column.width) || 50 })) }, members = { init: function() { var that = this; that.callBase.apply(this, arguments); that._beginPageIndex = null; that._endPageIndex = null; that._position = 0; that._virtualVisibleColumns = {} }, resetColumnsCache: function() { this.callBase(); this._virtualVisibleColumns = {} }, getBeginPageIndex: function(position) { var visibleColumns = this.getVisibleColumns(void 0, true); var widths = getWidths(visibleColumns); var currentPosition = 0; for (var index = 0; index < widths.length; index++) { if (currentPosition >= position) { return Math.floor(index / this.getColumnPageSize()) } currentPosition += widths[index] } return 0 }, getTotalWidth: function() { var width = this.option("width"); if ("number" === typeof width) { return width } return this.getController("resizing")._lastWidth || (0, _size.getOuterWidth)(this.component.$element()) }, getEndPageIndex: function(position) { var visibleColumns = this.getVisibleColumns(void 0, true); var widths = getWidths(visibleColumns); var currentPosition = 0; position += this.getTotalWidth(); for (var index = 0; index < widths.length; index++) { if (currentPosition >= position) { return Math.ceil(index / this.getColumnPageSize()) } currentPosition += widths[index] } return Math.ceil(widths.length / this.getColumnPageSize()) }, getColumnPageSize: function() { return this.option("scrolling.columnPageSize") }, _fireColumnsChanged: function() { var date = new Date; this.columnsChanged.fire({ optionNames: { all: true, length: 1 }, changeTypes: { columns: true, virtualColumnsScrolling: true, length: 2 } }); this._renderTime = new Date - date }, getScrollingTimeout: function() { var renderingThreshold = this.option("scrolling.columnRenderingThreshold"); var renderAsync = this.option("scrolling.renderAsync"); var scrollingTimeout = 0; if (!(0, _type.isDefined)(renderAsync) && this._renderTime > renderingThreshold || renderAsync) { scrollingTimeout = this.option("scrolling.timeout") } return scrollingTimeout }, setScrollPosition: function(position) { var _this2 = this; var scrollingTimeout = this.getScrollingTimeout(); if (scrollingTimeout > 0) { clearTimeout(this._changedTimeout); this._changedTimeout = setTimeout((function() { _this2._setScrollPositionCore(position) }), scrollingTimeout) } else { this._setScrollPositionCore(position) } }, isVirtualMode: function() { return (0, _window.hasWindow)() && "virtual" === this.option("scrolling.columnRenderingMode") }, resize: function() { this._setScrollPositionCore(this._position) }, _setScrollPositionCore: function(position) { if (this.isVirtualMode()) { var beginPageIndex = this.getBeginPageIndex(position); var endPageIndex = this.getEndPageIndex(position); var needColumnsChanged = position < this._position ? this._beginPageIndex > beginPageIndex : this._endPageIndex < endPageIndex; this._position = position; if (needColumnsChanged) { this._beginPageIndex = beginPageIndex; this._endPageIndex = endPageIndex; this._fireColumnsChanged() } } }, getFixedColumns: function(rowIndex, isBase) { var fixedColumns = this.callBase(rowIndex); if (this.isVirtualMode() && !isBase && fixedColumns.length) { var transparentColumnIndex = fixedColumns.map((function(c) { return c.command })).indexOf("transparent"); fixedColumns[transparentColumnIndex].colspan = this.getVisibleColumns().length - this.callBase().length + 1; return fixedColumns } return fixedColumns }, _compileVisibleColumns: function(rowIndex, isBase) { var _a; if (isBase || !this.isVirtualMode() || !this._shouldReturnVisibleColumns()) { return this.callBase(rowIndex) } if ((null === (_a = this._columns) || void 0 === _a ? void 0 : _a.length) && !(0, _type.isDefined)(this._beginPageIndex) && !(0, _type.isDefined)(this._endPageIndex)) { this._beginPageIndex = this.getBeginPageIndex(this._position); this._endPageIndex = this.getEndPageIndex(this._position) } var beginPageIndex = this._beginPageIndex; var endPageIndex = this._endPageIndex; var visibleColumnsHash = "".concat(rowIndex, "-").concat(beginPageIndex, "-").concat(endPageIndex); if (this._virtualVisibleColumns[visibleColumnsHash]) { return this._virtualVisibleColumns[visibleColumnsHash] } var visibleColumns = this.callBase(); var rowCount = this.getRowCount(); var pageSize = this.getColumnPageSize(); var startIndex = beginPageIndex * pageSize; var endIndex = endPageIndex * pageSize; var fixedColumns = this.getFixedColumns(void 0, true); var transparentColumnIndex = fixedColumns.map((function(c) { return c.command })).indexOf("transparent"); var beginFixedColumnCount = fixedColumns.length ? transparentColumnIndex : 0; var beginFixedColumns = visibleColumns.slice(0, beginFixedColumnCount); var beginColumns = visibleColumns.slice(beginFixedColumnCount, startIndex); var beginWidth = getWidths(beginColumns).reduce((function(a, b) { return a + b }), 0); if (!beginWidth) { startIndex = 0 } var endFixedColumnCount = fixedColumns.length ? fixedColumns.length - transparentColumnIndex - 1 : 0; var endFixedColumns = visibleColumns.slice(visibleColumns.length - endFixedColumnCount); var endColumns = visibleColumns.slice(endIndex, visibleColumns.length - endFixedColumnCount); var endWidth = getWidths(endColumns).reduce((function(a, b) { return a + b }), 0); if (!endWidth) { endIndex = visibleColumns.length } if (rowCount > 1 && "number" === typeof rowIndex) { var columnsInfo = []; for (var i = 0; i <= rowCount; i++) { columnsInfo.push(this.callBase(i)) } beginFixedColumns = (0, _m_virtual_columns_core.createColumnsInfo)(columnsInfo, 0, beginFixedColumns.length)[rowIndex] || []; endFixedColumns = (0, _m_virtual_columns_core.createColumnsInfo)(columnsInfo, visibleColumns.length - endFixedColumns.length, visibleColumns.length)[rowIndex] || []; visibleColumns = (0, _m_virtual_columns_core.createColumnsInfo)(columnsInfo, startIndex, endIndex)[rowIndex] || [] } else { visibleColumns = visibleColumns.slice(startIndex, endIndex) } if (beginWidth) { visibleColumns.unshift({ command: "virtual", width: beginWidth }); visibleColumns = beginFixedColumns.concat(visibleColumns) } if (endWidth) { visibleColumns.push({ command: "virtual", width: endWidth }); visibleColumns = visibleColumns.concat(endFixedColumns) } this._virtualVisibleColumns[visibleColumnsHash] = visibleColumns; return visibleColumns }, getColumnIndexOffset: function() { var offset = 0; if (this._beginPageIndex > 0) { var fixedColumns = this.getFixedColumns(); var transparentColumnIndex = fixedColumns.map((function(c) { return c.command })).indexOf("transparent"); var leftFixedColumnCount = transparentColumnIndex >= 0 ? transparentColumnIndex : 0; offset = this._beginPageIndex * this.getColumnPageSize() - leftFixedColumnCount - 1 } return offset > 0 ? offset : 0 }, dispose: function() { clearTimeout(this._changedTimeout); this.callBase.apply(this, arguments) } }, members); var getWidths, members; var virtualColumnsModule = { defaultOptions: function() { return { scrolling: { columnRenderingMode: "standard", columnPageSize: 5, columnRenderingThreshold: 300 } } }, extenders: { controllers: { columns: ColumnsControllerExtender }, views: { columnHeadersView: { _renderCore: function() { var deferred = this.callBase.apply(this, arguments); if (this._columnsController.isVirtualMode()) { this._updateScrollLeftPosition() } return deferred } }, rowsView: VirtualScrollingRowsViewExtender } } }; exports.virtualColumnsModule = virtualColumnsModule }, 44980: /*!******************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/virtual_columns/m_virtual_columns_core.js ***! \******************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.createColumnsInfo = function(info, startIndex, endIndex) { var newInfo = []; foreachColumnInfo(info, (function(columnInfo, visibleIndex, rowIndex) { var cell = columnInfo; var colspan; var cellColspan = cell.colspan || 1; var isVisible = visibleIndex + cellColspan - 1 >= startIndex && visibleIndex < endIndex; newInfo[rowIndex] = newInfo[rowIndex] || []; if (isVisible) { if (visibleIndex < startIndex) { colspan = cellColspan - (startIndex - visibleIndex); visibleIndex = startIndex } else { colspan = cellColspan } if (visibleIndex + colspan > endIndex) { colspan = endIndex - visibleIndex } if (colspan !== cellColspan) { cell = (0, _extend.extend)({}, cell, { colspan: colspan }) } newInfo[rowIndex].push(cell) } else if (visibleIndex > endIndex) { return false } return })); for (var i = 0; i < newInfo.length; i++) { newInfo[i] = newInfo[i] || [] } return newInfo }; exports.foreachColumnInfo = foreachColumnInfo; var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); function foreachColumnInfo(info, callback, rowIndex, offsets, columnCount, lastProcessedIndexes) { rowIndex = rowIndex || 0; offsets = offsets || []; lastProcessedIndexes = lastProcessedIndexes || []; offsets[rowIndex] = offsets[rowIndex] || 0; var row = info[rowIndex]; var startIndex = lastProcessedIndexes[rowIndex] + 1 || 0; var processedColumnCount = 0; var colIndex; if (!row) { return } for (colIndex = startIndex; colIndex < row.length; colIndex++) { var cell = row[colIndex]; var visibleIndex = colIndex + offsets[rowIndex]; var colspan = cell.colspan || 1; foreachColumnInfo(info, callback, rowIndex + (cell.rowspan || 1), offsets, colspan, lastProcessedIndexes); offsets[rowIndex] += colspan - 1; processedColumnCount += colspan; if (cell.rowspan) { for (var i = rowIndex + 1; i < rowIndex + cell.rowspan; i++) { offsets[i] = offsets[i] || 0; offsets[i] += cell.colspan || 1 } } if (false === callback(cell, visibleIndex, rowIndex, colIndex)) { break } if (void 0 !== columnCount && processedColumnCount >= columnCount) { break } } lastProcessedIndexes[rowIndex] = colIndex } }, 20488: /*!*********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/virtual_data_loader/m_virtual_data_loader.js ***! \*********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.VirtualDataLoader = void 0; var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var needTwoPagesLoading = function(that) { return that.option("scrolling.loadTwoPagesOnStart") || that._controller.isVirtual() || that._controller.getViewportItemIndex() > 0 }; var getBeginPageIndex = function(that) { return that._cache.length ? that._cache[0].pageIndex : -1 }; var getEndPageIndex = function(that) { return that._cache.length ? that._cache[that._cache.length - 1].pageIndex : -1 }; var fireChanged = function(that, changed, args) { that._isChangedFiring = true; changed(args); that._isChangedFiring = false }; var processDelayChanged = function(that, changed, args) { if (that._isDelayChanged) { that._isDelayChanged = false; fireChanged(that, changed, args); return true } }; var getPreloadPageCount = function(that, previous) { var preloadEnabled = that.option("scrolling.preloadEnabled"); var pageCount = function(that) { var pageSize = that._dataOptions.pageSize(); var preventPreload = that.option("scrolling.preventPreload"); if (preventPreload) { return 0 } var realViewportSize = that._controller.viewportSize(); if (that._controller.isVirtualMode() && that.option("scrolling.removeInvisiblePages")) { realViewportSize = 0; var viewportSize = that._controller.viewportSize() * that._controller.viewportItemSize(); var offset = that._controller.getContentOffset(); var position = that._controller.getViewportPosition(); var virtualItemsCount = that._controller.virtualItemsCount(); var totalItemsCount = that._dataOptions.totalItemsCount(); for (var itemIndex = virtualItemsCount.begin; itemIndex < totalItemsCount; itemIndex++) { if (offset >= position + viewportSize) { break } var itemSize = that._controller.getItemSizes()[itemIndex] || that._controller.viewportItemSize(); offset += itemSize; if (offset >= position) { realViewportSize++ } } } return pageSize && realViewportSize > 0 ? Math.ceil(realViewportSize / pageSize) : 1 }(that); var isAppendMode = that._controller.isAppendMode(); if (pageCount) { if (previous) { pageCount = preloadEnabled ? 1 : 0 } else { if (preloadEnabled) { pageCount++ } if (isAppendMode || !needTwoPagesLoading(that)) { pageCount-- } } } return pageCount }; var processChanged = function(that, changed, changeType, isDelayChanged, removeCacheItem) { var dataOptions = that._dataOptions; var items = dataOptions.items().slice(); var change = (0, _type.isObject)(changeType) ? changeType : void 0; var isPrepend = "prepend" === changeType; var viewportItems = dataOptions.viewportItems(); if (changeType && (0, _type.isString)(changeType) && !that._isDelayChanged) { change = { changeType: changeType, items: items }; if (removeCacheItem) { change.removeCount = removeCacheItem.itemsCount; if (change.removeCount && dataOptions.correctCount) { change.removeCount = dataOptions.correctCount(viewportItems, change.removeCount, isPrepend) } } } var removeItemCount = removeCacheItem ? removeCacheItem.itemsLength : 0; if (removeItemCount && dataOptions.correctCount) { removeItemCount = dataOptions.correctCount(viewportItems, removeItemCount, isPrepend) } if ("append" === changeType) { viewportItems.push.apply(viewportItems, items); if (removeCacheItem) { viewportItems.splice(0, removeItemCount) } } else if (isPrepend) { viewportItems.unshift.apply(viewportItems, items); if (removeCacheItem) { viewportItems.splice(-removeItemCount) } } else { that._dataOptions.viewportItems(items) } dataOptions.updateLoading(); that._lastPageIndex = that.pageIndex(); that._isDelayChanged = isDelayChanged; if (!isDelayChanged) { fireChanged(that, changed, change) } }; var VirtualDataLoader = function() { function VirtualDataLoader(controller, dataOptions) { this._dataOptions = dataOptions; this._controller = controller; this._pageIndex = this._lastPageIndex = dataOptions.pageIndex(); this._cache = []; this._loadingPageIndexes = {} } var _proto = VirtualDataLoader.prototype; _proto.option = function() { return this._controller.option.apply(this._controller, arguments) }; _proto.viewportItemIndexChanged = function(itemIndex) { var pageSize = this._dataOptions.pageSize(); var pageCount = this._dataOptions.pageCount(); var virtualMode = this._controller.isVirtualMode(); var appendMode = this._controller.isAppendMode(); var totalItemsCount = this._dataOptions.totalItemsCount(); var newPageIndex; if (pageSize && (virtualMode || appendMode) && totalItemsCount >= 0) { var viewportSize = this._controller.viewportSize(); if (viewportSize && itemIndex + viewportSize >= totalItemsCount && !this._controller.isVirtual()) { if (this._dataOptions.hasKnownLastPage()) { newPageIndex = pageCount - 1; var lastPageSize = totalItemsCount % pageSize; if (newPageIndex > 0 && lastPageSize > 0 && lastPageSize < viewportSize) { newPageIndex-- } } else { newPageIndex = pageCount } } else { newPageIndex = Math.floor(itemIndex / pageSize); var maxPageIndex = pageCount - 1; newPageIndex = Math.max(newPageIndex, 0); newPageIndex = Math.min(newPageIndex, maxPageIndex) } this.pageIndex(newPageIndex); return this.load() } }; _proto.pageIndex = function(_pageIndex) { var isVirtualMode = this._controller.isVirtualMode(); var isAppendMode = this._controller.isAppendMode(); if (false !== this.option("scrolling.legacyMode") && (isVirtualMode || isAppendMode)) { if (void 0 !== _pageIndex) { this._pageIndex = _pageIndex } return this._pageIndex } return this._dataOptions.pageIndex(_pageIndex) }; _proto.beginPageIndex = function(defaultPageIndex) { var beginPageIndex = getBeginPageIndex(this); if (beginPageIndex < 0) { beginPageIndex = void 0 !== defaultPageIndex ? defaultPageIndex : this.pageIndex() } return beginPageIndex }; _proto.endPageIndex = function() { var endPageIndex = getEndPageIndex(this); return endPageIndex > 0 ? endPageIndex : this._lastPageIndex }; _proto.pageSize = function() { return this._dataOptions.pageSize() }; _proto.load = function() { var _this = this; var dataOptions = this._dataOptions; var result; var isVirtualMode = this._controller.isVirtualMode(); var isAppendMode = this._controller.isAppendMode(); if (false !== this.option("scrolling.legacyMode") && (isVirtualMode || isAppendMode)) { var pageIndexForLoad = function(that) { var result = -1; var beginPageIndex = getBeginPageIndex(that); var dataOptions = that._dataOptions; if (beginPageIndex < 0) { result = that._pageIndex } else if (!that._cache[that._pageIndex - beginPageIndex]) { result = that._pageIndex } else if (beginPageIndex >= 0 && that._controller.viewportSize() >= 0) { if (beginPageIndex > 0) { var needToLoadPageBeforeLast = getEndPageIndex(that) + 1 === dataOptions.pageCount() && that._cache.length < getPreloadPageCount(that) + 1; var needToLoadPrevPage = needToLoadPageBeforeLast || that._pageIndex === beginPageIndex && getPreloadPageCount(that, true); if (needToLoadPrevPage) { result = beginPageIndex - 1 } } if (result < 0) { var needToLoadNextPage = beginPageIndex + that._cache.length <= that._pageIndex + getPreloadPageCount(that); if (needToLoadNextPage) { result = beginPageIndex + that._cache.length } } } if (that._loadingPageIndexes[result]) { result = -1 } return result }(this); if (pageIndexForLoad >= 0) { var loadResult = function(that, pageIndex) { var dataOptions = that._dataOptions; if (pageIndex === that.pageIndex() || !dataOptions.isLoading() && pageIndex < dataOptions.pageCount() || !dataOptions.hasKnownLastPage() && pageIndex === dataOptions.pageCount()) { dataOptions.pageIndex(pageIndex); that._loadingPageIndexes[pageIndex] = true; return (0, _deferred.when)(dataOptions.load()).always((function() { that._loadingPageIndexes[pageIndex] = false })) } }(this, pageIndexForLoad); if (loadResult) { result = new _deferred.Deferred; loadResult.done((function() { var delayDeferred = _this._delayDeferred; if (delayDeferred) { delayDeferred.done(result.resolve).fail(result.reject) } else { result.resolve() } })).fail(result.reject); dataOptions.updateLoading() } } } else { result = dataOptions.load() } if (!result && this._lastPageIndex !== this.pageIndex()) { this._dataOptions.onChanged({ changeType: "pageIndex" }) } return result || (new _deferred.Deferred).resolve() }; _proto.loadIfNeed = function() { var isVirtualMode = this._controller.isVirtualMode(); var isAppendMode = this._controller.isAppendMode(); if ((isVirtualMode || isAppendMode) && !this._dataOptions.isLoading() && (!this._isChangedFiring || this._controller.isVirtual())) { var position = this._controller.getViewportPosition(); if (position > 0) { this._controller._setViewportPositionCore(position) } else { this.load() } } }; _proto.handleDataChanged = function(callBase, e) { var _this2 = this; var dataOptions = this._dataOptions; var lastCacheLength = this._cache.length; var changeType; var removeInvisiblePages; var isVirtualMode = this._controller.isVirtualMode(); var isAppendMode = this._controller.isAppendMode(); if (e && e.changes) { fireChanged(this, callBase, e) } else if (false !== this.option("scrolling.legacyMode") && (isVirtualMode || isAppendMode)) { var beginPageIndex = getBeginPageIndex(this); if (beginPageIndex >= 0) { if (isVirtualMode && beginPageIndex + this._cache.length !== dataOptions.pageIndex() && beginPageIndex - 1 !== dataOptions.pageIndex()) { lastCacheLength = 0; this._cache = [] } if (isAppendMode) { if (0 === dataOptions.pageIndex()) { this._cache = [] } else if (dataOptions.pageIndex() < getEndPageIndex(this)) { fireChanged(this, callBase, { changeType: "append", items: [] }); return } } } var cacheItem = { pageIndex: dataOptions.pageIndex(), itemsLength: dataOptions.items(true).length, itemsCount: this.itemsCount(true) }; if (this.option("scrolling.removeInvisiblePages") && isVirtualMode) { removeInvisiblePages = this._cache.length > Math.max(getPreloadPageCount(this) + (this.option("scrolling.preloadEnabled") ? 1 : 0), 2) } else { processDelayChanged(this, callBase, { isDelayed: true }) } var removeCacheItem; if (beginPageIndex === dataOptions.pageIndex() + 1) { if (removeInvisiblePages) { removeCacheItem = this._cache.pop() } changeType = "prepend"; this._cache.unshift(cacheItem) } else { if (removeInvisiblePages) { removeCacheItem = this._cache.shift() } changeType = "append"; this._cache.push(cacheItem) } var isDelayChanged = isVirtualMode && 0 === lastCacheLength && needTwoPagesLoading(this); processChanged(this, callBase, this._cache.length > 1 ? changeType : void 0, isDelayChanged, removeCacheItem); this._delayDeferred = this.load().done((function() { if (processDelayChanged(_this2, callBase)) { _this2.load() } })) } else { processChanged(this, callBase, e) } }; _proto.getDelayDeferred = function() { return this._delayDeferred }; _proto.itemsCount = function(isBase) { var itemsCount = 0; var isVirtualMode = this._controller.isVirtualMode(); if (!isBase && isVirtualMode) { this._cache.forEach((function(cacheItem) { itemsCount += cacheItem.itemsCount })) } else { itemsCount = this._dataOptions.itemsCount() } return itemsCount }; _proto.virtualItemsCount = function() { var pageIndex = getBeginPageIndex(this); if (pageIndex < 0) { pageIndex = this._dataOptions.pageIndex() } var beginItemsCount = pageIndex * this._dataOptions.pageSize(); var itemsCount = this._cache.length * this._dataOptions.pageSize(); var endItemsCount = Math.max(0, this._dataOptions.totalItemsCount() - itemsCount - beginItemsCount); return { begin: beginItemsCount, end: endItemsCount } }; _proto.reset = function() { this._loadingPageIndexes = {}; this._cache = [] }; return VirtualDataLoader }(); exports.VirtualDataLoader = VirtualDataLoader }, 92018: /*!*****************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling.js ***! \*****************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.virtualScrollingModule = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/browser */ 47810)); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _dom = __webpack_require__( /*! ../../../../core/utils/dom */ 3532); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _position = __webpack_require__( /*! ../../../../core/utils/position */ 37518); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../../../core/utils/window */ 58201); var _load_indicator = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/load_indicator */ 2492)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); var _m_virtual_scrolling_core = __webpack_require__( /*! ./m_virtual_scrolling_core */ 86770); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var LEGACY_SCROLLING_MODE = "scrolling.legacyMode"; var isVirtualMode = function(that) { return "virtual" === that.option("scrolling.mode") }; var isAppendMode = function(that) { return "infinite" === that.option("scrolling.mode") }; var isVirtualPaging = function(that) { return isVirtualMode(that) || isAppendMode(that) }; var _correctCount = function(items, count, fromEnd, isItemCountableFunc) { for (var i = 0; i < count + 1; i++) { var item = items[fromEnd ? items.length - 1 - i : i]; if (item && !isItemCountableFunc(item, i === count, fromEnd)) { count++ } } return count }; var isItemCountableByDataSource = function(item, dataSource) { return "data" === item.rowType && !item.isNewRow || "group" === item.rowType && dataSource.isGroupItemCountable(item.data) }; var updateItemIndices = function(items) { items.forEach((function(item, index) { item.rowIndex = index })); return items }; var VirtualScrollingDataSourceAdapterExtender = function() { var _updateLoading = function(that) { var beginPageIndex = that._virtualScrollController.beginPageIndex(-1); if (isVirtualMode(that)) { if (beginPageIndex < 0 || that.viewportSize() >= 0 && that.getViewportItemIndex() >= 0 && (beginPageIndex * that.pageSize() > that.getViewportItemIndex() || beginPageIndex * that.pageSize() + that.itemsCount() < that.getViewportItemIndex() + that.viewportSize()) && that._dataSource.isLoading()) { if (!that._isLoading) { that._isLoading = true; that.loadingChanged.fire(true) } } else if (that._isLoading) { that._isLoading = false; that.loadingChanged.fire(false) } } }; var result = { init: function() { this.callBase.apply(this, arguments); this._items = []; this._totalCount = -1; this._isLoaded = true; this._loadPageCount = 1; this._virtualScrollController = new _m_virtual_scrolling_core.VirtualScrollController(this.component, this._getVirtualScrollDataOptions()) }, _getVirtualScrollDataOptions: function() { var that = this; return { pageSize: function() { return that.pageSize() }, totalItemsCount: function() { return that.totalItemsCount() }, hasKnownLastPage: function() { return that.hasKnownLastPage() }, pageIndex: function(index) { return that._dataSource.pageIndex(index) }, isLoading: function() { return that._dataSource.isLoading() && !that.isCustomLoading() }, pageCount: function() { return that.pageCount() }, load: function() { return that._dataSource.load() }, updateLoading: function() { _updateLoading(that) }, itemsCount: function() { return that.itemsCount(true) }, items: function() { return that._dataSource.items() }, viewportItems: function(items) { if (items) { that._items = items } return that._items }, onChanged: function(e) { that.changed.fire(e) }, changingDuration: function() { if (that.isLoading()) { return 300 } return that._renderTime || 0 } } }, _handleLoadingChanged: function(isLoading) { if (false === this.option(LEGACY_SCROLLING_MODE)) { this.callBase.apply(this, arguments); return } if (!isVirtualMode(this) || this._isLoadingAll) { this._isLoading = isLoading; this.callBase.apply(this, arguments) } if (isLoading) { this._startLoadTime = new Date } else { this._startLoadTime = void 0 } }, _handleLoadError: function() { if (false !== this.option(LEGACY_SCROLLING_MODE)) { this._isLoading = false; this.loadingChanged.fire(false) } this.callBase.apply(this, arguments) }, _handleDataChanged: function(e) { if (false === this.option(LEGACY_SCROLLING_MODE)) { this._items = this._dataSource.items().slice(); this._totalCount = this._dataSourceTotalCount(true); this.callBase.apply(this, arguments); return } var callBase = this.callBase.bind(this); this._virtualScrollController.handleDataChanged(callBase, e) }, _customizeRemoteOperations: function(options, operationTypes) { var newMode = false === this.option(LEGACY_SCROLLING_MODE); var renderAsync = this.option("scrolling.renderAsync"); if (!(0, _type.isDefined)(renderAsync)) { renderAsync = this._renderTime >= this.option("scrolling.renderingThreshold") } if ((isVirtualMode(this) || isAppendMode(this) && newMode) && !operationTypes.reload && (operationTypes.skip || newMode) && !renderAsync) { options.delay = void 0 } this.callBase.apply(this, arguments) }, items: function() { return this._items }, _dataSourceTotalCount: function(isBase) { return false === this.option(LEGACY_SCROLLING_MODE) && isVirtualMode(this) && !isBase ? this._totalCount : this.callBase() }, itemsCount: function(isBase) { if (isBase || false === this.option(LEGACY_SCROLLING_MODE)) { return this.callBase() } return this._virtualScrollController.itemsCount() }, load: function(loadOptions) { if (false === this.option(LEGACY_SCROLLING_MODE) || loadOptions) { return this.callBase(loadOptions) } return this._virtualScrollController.load() }, isLoading: function() { return false === this.option(LEGACY_SCROLLING_MODE) ? this._dataSource.isLoading() : this._isLoading }, isLoaded: function() { return this._dataSource.isLoaded() && this._isLoaded }, resetPagesCache: function(isLiveUpdate) { if (!isLiveUpdate) { this._virtualScrollController.reset(true) } this.callBase.apply(this, arguments) }, _changeRowExpandCore: function() { var result = this.callBase.apply(this, arguments); if (false === this.option(LEGACY_SCROLLING_MODE)) { return result } this.resetPagesCache(); _updateLoading(this); return result }, reload: function() { this._dataSource.pageIndex(this.pageIndex()); var virtualScrollController = this._virtualScrollController; if (false !== this.option(LEGACY_SCROLLING_MODE) && virtualScrollController) { var d = new _deferred.Deferred; this.callBase.apply(this, arguments).done((function(r) { var delayDeferred = virtualScrollController.getDelayDeferred(); if (delayDeferred) { delayDeferred.done(d.resolve).fail(d.reject) } else { d.resolve(r) } })).fail(d.reject); return d } return this.callBase.apply(this, arguments) }, refresh: function(options, operationTypes) { if (false !== this.option(LEGACY_SCROLLING_MODE)) { var storeLoadOptions = options.storeLoadOptions; var dataSource = this._dataSource; if (operationTypes.reload) { this._virtualScrollController.reset(); dataSource.items().length = 0; this._isLoaded = false; _updateLoading(this); this._isLoaded = true; if (isAppendMode(this)) { this.pageIndex(0); dataSource.pageIndex(0); storeLoadOptions.pageIndex = 0; options.pageIndex = 0; storeLoadOptions.skip = 0 } else { dataSource.pageIndex(this.pageIndex()); if (dataSource.paginate()) { options.pageIndex = this.pageIndex(); storeLoadOptions.skip = this.pageIndex() * this.pageSize() } } } else if (isAppendMode(this) && storeLoadOptions.skip && this._totalCountCorrection < 0) { storeLoadOptions.skip += this._totalCountCorrection } } return this.callBase.apply(this, arguments) }, dispose: function() { this._virtualScrollController.dispose(); this.callBase.apply(this, arguments) }, loadPageCount: function(count) { if (!(0, _type.isDefined)(count)) { return this._loadPageCount } this._loadPageCount = count }, _handleDataLoading: function(options) { var loadPageCount = this.loadPageCount(); var pageSize = this.pageSize(); var newMode = false === this.option(LEGACY_SCROLLING_MODE); var storeLoadOptions = options.storeLoadOptions; var takeIsDefined = (0, _type.isDefined)(storeLoadOptions.take); options.loadPageCount = loadPageCount; if (!options.isCustomLoading && newMode && takeIsDefined && loadPageCount > 1 && pageSize > 0) { storeLoadOptions.take = loadPageCount * pageSize } this.callBase.apply(this, arguments) }, _loadPageSize: function() { return this.callBase.apply(this, arguments) * this.loadPageCount() } }; ["beginPageIndex", "endPageIndex", "pageIndex"].forEach((function(name) { result[name] = function() { if (false === this.option(LEGACY_SCROLLING_MODE)) { var dataSource = this._dataSource; return dataSource.pageIndex.apply(dataSource, arguments) } var virtualScrollController = this._virtualScrollController; return virtualScrollController[name].apply(virtualScrollController, arguments) } })); ["virtualItemsCount", "getContentOffset", "getVirtualContentSize", "setContentItemSizes", "setViewportPosition", "getViewportItemIndex", "setViewportItemIndex", "getItemIndexByPosition", "viewportSize", "viewportItemSize", "getItemSize", "getItemSizes", "loadIfNeed"].forEach((function(name) { result[name] = function() { var virtualScrollController = this._virtualScrollController; return virtualScrollController[name].apply(virtualScrollController, arguments) } })); return result }(); var VirtualScrollingRowsViewExtender = (removeEmptyRows = function($emptyRows, className) { var tBodies = $emptyRows.toArray().map((function(row) { return (0, _renderer.default)(row).parent(".".concat(className)).get(0) })).filter((function(row) { return row })); if (tBodies.length) { $emptyRows = (0, _renderer.default)(tBodies) } var rowCount = "dx-freespace-row" === className ? $emptyRows.length - 1 : $emptyRows.length; for (var i = 0; i < rowCount; i++) { $emptyRows.eq(i).remove() } }, { init: function() { var _this = this; var _a; var dataController = this.getController("data"); this.callBase(); dataController.pageChanged.add((function(pageIndex) { var scrollTop = _this._scrollTop; _this.scrollToPage(null !== pageIndex && void 0 !== pageIndex ? pageIndex : dataController.pageIndex()); if (false === _this.option(LEGACY_SCROLLING_MODE) && _this._scrollTop === scrollTop) { dataController.updateViewport() } })); dataController.dataSourceChanged.add((function() { !_this._scrollTop && _this._scrollToCurrentPageOnResize() })); null === (_a = dataController.stateLoaded) || void 0 === _a ? void 0 : _a.add((function() { _this._scrollToCurrentPageOnResize() })); this._scrollToCurrentPageOnResize() }, _scrollToCurrentPageOnResize: function() { var _this2 = this; var dataController = this.getController("data"); if (dataController.pageIndex() > 0) { this.resizeCompleted.add((function resizeHandler() { _this2.resizeCompleted.remove(resizeHandler); _this2.scrollToPage(dataController.pageIndex()) })) } }, scrollToPage: function(pageIndex) { var dataController = this._dataController; var pageSize = dataController ? dataController.pageSize() : 0; var scrollPosition; if (isVirtualMode(this) || isAppendMode(this)) { var itemSize = dataController.getItemSize(); var itemSizes = dataController.getItemSizes(); var itemIndex = pageIndex * pageSize; scrollPosition = itemIndex * itemSize; for (var index in itemSizes) { if (parseInt(index) < itemIndex) { scrollPosition += itemSizes[index] - itemSize } } } else { scrollPosition = 0 } this.scrollTo({ y: scrollPosition, x: this._scrollLeft }) }, renderDelayedTemplates: function() { var _this3 = this; this.waitAsyncTemplates().done((function() { _this3._updateContentPosition(true) })); this.callBase.apply(this, arguments) }, _renderCore: function(e) { var startRenderTime = new Date; var deferred = this.callBase.apply(this, arguments); var dataSource = this._dataController._dataSource; if (dataSource && e) { var itemCount = e.items ? e.items.length : 20; var viewportSize = this._dataController.viewportSize() || 20; if (_m_utils.default.isVirtualRowRendering(this) && itemCount > 0 && false !== this.option(LEGACY_SCROLLING_MODE)) { dataSource._renderTime = (new Date - startRenderTime) * viewportSize / itemCount } else { dataSource._renderTime = new Date - startRenderTime } } return deferred }, _getRowElements: function(tableElement) { var $rows = this.callBase(tableElement); return $rows && $rows.not(".".concat("dx-virtual-row")) }, _removeRowsElements: function(contentTable, removeCount, changeType) { var rowElements = this._getRowElements(contentTable).toArray(); if ("append" === changeType) { rowElements = rowElements.slice(0, removeCount) } else { rowElements = rowElements.slice(-removeCount) } var errorHandlingController = this.getController("errorHandling"); rowElements.map((function(rowElement) { var $rowElement = (0, _renderer.default)(rowElement); errorHandlingController && errorHandlingController.removeErrorRow($rowElement.next()); $rowElement.remove() })) }, _updateContent: function(tableElement, change) { var _this4 = this; var $freeSpaceRowElements; var contentElement = this._findContentElement(); var changeType = change && change.changeType; var d = (0, _deferred.Deferred)(); var contentTable = contentElement.children().first(); if ("append" === changeType || "prepend" === changeType) { this.waitAsyncTemplates().done((function() { var $tBodies = _this4._getBodies(tableElement); if (1 === $tBodies.length) { _this4._getBodies(contentTable)["append" === changeType ? "append" : "prepend"]($tBodies.children()) } else { $tBodies["append" === changeType ? "appendTo" : "prependTo"](contentTable) } tableElement.remove(); $freeSpaceRowElements = _this4._getFreeSpaceRowElements(contentTable); removeEmptyRows($freeSpaceRowElements, "dx-freespace-row"); if (change.removeCount) { _this4._removeRowsElements(contentTable, change.removeCount, changeType) } _this4._restoreErrorRow(contentTable); d.resolve() })).fail(d.reject) } else { this.callBase.apply(this, arguments).done((function() { if ("update" === changeType) { _this4._restoreErrorRow(contentTable) } d.resolve() })).fail(d.reject) } return d.promise().done((function() { _this4._updateBottomLoading() })) }, _addVirtualRow: function($table, isFixed, location, position) { if (!position) { return } var $virtualRow = this._createEmptyRow("dx-virtual-row", isFixed, position); $virtualRow = this._wrapRowIfNeed($table, $virtualRow); this._appendEmptyRow($table, $virtualRow, location) }, _updateContentItemSizes: function() { var rowHeights = this._getRowHeights(); var correctedRowHeights = this._correctRowHeights(rowHeights); this._dataController.setContentItemSizes(correctedRowHeights) }, _updateViewportSize: function(viewportHeight, scrollTop) { if (!(0, _type.isDefined)(viewportHeight)) { viewportHeight = this._hasHeight ? (0, _size.getOuterHeight)(this.element()) : (0, _size.getOuterHeight)((0, _window.getWindow)()) } this._dataController.viewportHeight(viewportHeight, scrollTop) }, _getRowHeights: function() { var _a, _b; var isPopupEditMode = null === (_b = null === (_a = this.getController("editing")) || void 0 === _a ? void 0 : _a.isPopupEditMode) || void 0 === _b ? void 0 : _b.call(_a); var rowElements = this._getRowElements(this._tableElement).toArray(); if (isPopupEditMode) { rowElements = rowElements.filter((function(row) { return !(0, _renderer.default)(row).hasClass("dx-row-inserted") })) } return rowElements.map((function(row) { return (0, _position.getBoundingRect)(row).height })) }, _correctRowHeights: function(rowHeights) { var dataController = this._dataController; var dataSource = dataController._dataSource; var correctedRowHeights = []; var visibleRows = dataController.getVisibleRows(); var itemSize = 0; var firstCountableItem = true; var lastLoadIndex = -1; for (var i = 0; i < rowHeights.length; i++) { var currentItem = visibleRows[i]; if (!(0, _type.isDefined)(currentItem)) { continue } if (false === this.option(LEGACY_SCROLLING_MODE)) { if (lastLoadIndex >= 0 && lastLoadIndex !== currentItem.loadIndex) { correctedRowHeights.push(itemSize); itemSize = 0 } lastLoadIndex = currentItem.loadIndex } else if (isItemCountableByDataSource(currentItem, dataSource)) { if (firstCountableItem) { firstCountableItem = false } else { correctedRowHeights.push(itemSize); itemSize = 0 } } itemSize += rowHeights[i] } itemSize > 0 && correctedRowHeights.push(itemSize); return correctedRowHeights }, _updateContentPosition: function(isRender) { var _this5 = this; var dataController = this._dataController; var rowHeight = this._rowHeight || 20; dataController.viewportItemSize(rowHeight); if (isVirtualMode(this) || _m_utils.default.isVirtualRowRendering(this)) { if (!isRender) { this._updateContentItemSizes() } var top = dataController.getContentOffset("begin"); var bottom = dataController.getContentOffset("end"); var $tables = this.getTableElements(); var $virtualRows = $tables.children("tbody").children(".".concat("dx-virtual-row")); removeEmptyRows($virtualRows, "dx-virtual-row"); $tables.each((function(index, element) { var isFixed = index > 0; var prevFixed = _this5._isFixedTableRendering; _this5._isFixedTableRendering = isFixed; _this5._addVirtualRow((0, _renderer.default)(element), isFixed, "top", top); _this5._addVirtualRow((0, _renderer.default)(element), isFixed, "bottom", bottom); _this5._isFixedTableRendering = prevFixed })) } }, _isTableLinesDisplaysCorrect: function(table) { var hasColumnLines = table.find(".".concat("dx-column-lines")).length > 0; return hasColumnLines === this.option("showColumnLines") }, _isColumnElementsEqual: function($columns, $virtualColumns) { var result = $columns.length === $virtualColumns.length; if (result) { (0, _iterator.each)($columns, (function(index, element) { if (element.style.width !== $virtualColumns[index].style.width) { result = false; return result } return })) } return result }, _getCellClasses: function(column) { var classes = []; var cssClass = column.cssClass; var isExpandColumn = "expand" === column.command; cssClass && classes.push(cssClass); isExpandColumn && classes.push(this.addWidgetPrefix("group-space")); return classes }, _findBottomLoadPanel: function($contentElement) { var $element = $contentElement || this.element(); var $bottomLoadPanel = $element && $element.find(".".concat(this.addWidgetPrefix("bottom-load-panel"))); if ($bottomLoadPanel && $bottomLoadPanel.length) { return $bottomLoadPanel } }, _updateBottomLoading: function() { var virtualMode = isVirtualMode(this); var appendMode = isAppendMode(this); var showBottomLoading = !this._dataController.hasKnownLastPage() && this._dataController.isLoaded() && (virtualMode || appendMode); var $contentElement = this._findContentElement(); var bottomLoadPanelElement = this._findBottomLoadPanel($contentElement); if (showBottomLoading) { if (!bottomLoadPanelElement) { (0, _renderer.default)("
").addClass(this.addWidgetPrefix("bottom-load-panel")).append(this._createComponent((0, _renderer.default)("
"), _load_indicator.default).$element()).appendTo($contentElement) } } else if (bottomLoadPanelElement) { bottomLoadPanelElement.remove() } }, _handleScroll: function(e) { var legacyScrollingMode = true === this.option(LEGACY_SCROLLING_MODE); var zeroTopPosition = 0 === e.scrollOffset.top; var isScrollTopChanged = this._scrollTop !== e.scrollOffset.top; var hasScrolled = isScrollTopChanged || e.forceUpdateScrollPosition; var isValidScrollTarget = this._hasHeight || !legacyScrollingMode && zeroTopPosition; if (hasScrolled && isValidScrollTarget && this._rowHeight) { this._scrollTop = e.scrollOffset.top; var isVirtualRowRendering = isVirtualMode(this) || "standard" !== this.option("scrolling.rowRenderingMode"); if (isVirtualRowRendering && false === this.option(LEGACY_SCROLLING_MODE)) { this._updateContentItemSizes(); this._updateViewportSize(null, this._scrollTop) } this._dataController.setViewportPosition(e.scrollOffset.top) } this.callBase.apply(this, arguments) }, _needUpdateRowHeight: function(itemsCount) { return this.callBase.apply(this, arguments) || itemsCount > 0 && isAppendMode(this) && !_m_utils.default.isVirtualRowRendering(this) }, _updateRowHeight: function() { this.callBase.apply(this, arguments); if (this._rowHeight) { this._updateContentPosition(); var viewportHeight = this._hasHeight ? (0, _size.getOuterHeight)(this.element()) : (0, _size.getOuterHeight)((0, _window.getWindow)()); var dataController = this._dataController; if (false === this.option(LEGACY_SCROLLING_MODE)) { this._updateViewportSize(viewportHeight); dataController.updateViewport() } else { dataController.viewportSize(Math.ceil(viewportHeight / this._rowHeight)) } } }, updateFreeSpaceRowHeight: function() { var result = this.callBase.apply(this, arguments); if (result) { this._updateContentPosition() } return result }, setLoading: function(isLoading, messageText) { var dataController = this._dataController; var hasBottomLoadPanel = dataController.pageIndex() > 0 && dataController.isLoaded() && !!this._findBottomLoadPanel(); if (false === this.option(LEGACY_SCROLLING_MODE) && isLoading && dataController.isViewportChanging()) { return } if (hasBottomLoadPanel) { isLoading = false } this.callBase.call(this, isLoading, messageText) }, _resizeCore: function() { var that = this; var $element = that.element(); that.callBase(); if (that.component.$element() && !that._windowScroll && (0, _dom.isElementInDom)($element)) { that._windowScroll = (0, _m_virtual_scrolling_core.subscribeToExternalScrollers)($element, (function(scrollPos) { if (!that._hasHeight && that._rowHeight) { that._dataController.setViewportPosition(scrollPos) } }), that.component.$element()); that.on("disposing", (function() { that._windowScroll.dispose() })) } if (false !== this.option(LEGACY_SCROLLING_MODE)) { that.loadIfNeed() } }, loadIfNeed: function() { var _a; var dataController = this._dataController; null === (_a = null === dataController || void 0 === dataController ? void 0 : dataController.loadIfNeed) || void 0 === _a ? void 0 : _a.call(dataController) }, setColumnWidths: function(widths) { var scrollable = this.getScrollable(); var $content; this.callBase.apply(this, arguments); if ("virtual" === this.option("scrolling.mode")) { $content = scrollable ? (0, _renderer.default)(scrollable.content()) : this.element(); this.callBase(widths, $content.children(".".concat(this.addWidgetPrefix("content"))).children(":not(.".concat(this.addWidgetPrefix("table-content"), ")"))) } }, _restoreErrorRow: function() { if (false === this.option(LEGACY_SCROLLING_MODE)) { var errorHandling = this.getController("errorHandling"); null === errorHandling || void 0 === errorHandling ? void 0 : errorHandling.removeErrorRow() } this.callBase.apply(this, arguments) }, dispose: function() { clearTimeout(this._scrollTimeoutID); this.callBase() } }); var removeEmptyRows; var virtualScrollingModule = { defaultOptions: function() { return { scrolling: { timeout: 300, updateTimeout: 300, minTimeout: 0, renderingThreshold: 100, removeInvisiblePages: true, rowPageSize: 5, prerenderedRowChunkSize: 1, mode: "standard", preloadEnabled: false, rowRenderingMode: "standard", loadTwoPagesOnStart: false, legacyMode: false, prerenderedRowCount: 1 } } }, extenders: { dataSourceAdapter: VirtualScrollingDataSourceAdapterExtender, controllers: { data: function() { var members = { _refreshDataSource: function() { var baseResult = this.callBase.apply(this, arguments) || (new _deferred.Deferred).resolve().promise(); baseResult.done(this.initVirtualRows.bind(this)); return baseResult }, _loadDataSource: function() { var _a; if (this._rowsScrollController && isVirtualPaging(this)) { var _ref = (0, _type.isDefined)(this._loadViewportParams) ? this.getLoadPageParams() : { loadPageCount: void 0 }, loadPageCount = _ref.loadPageCount; loadPageCount >= 1 && (null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.loadPageCount(loadPageCount)) } return this.callBase.apply(this, arguments) }, getRowPageSize: function() { var rowPageSize = this.option("scrolling.rowPageSize"); var pageSize = this.pageSize(); return pageSize && pageSize < rowPageSize ? pageSize : rowPageSize }, reload: function() { var _this6 = this; var rowsScrollController = this._rowsScrollController || this._dataSource; var itemIndex = rowsScrollController && rowsScrollController.getItemIndexByPosition(); var result = this.callBase.apply(this, arguments); return result && result.done((function() { var _a; if (isVirtualMode(_this6) || _m_utils.default.isVirtualRowRendering(_this6)) { var rowIndexOffset = _this6.getRowIndexOffset(); var rowIndex = Math.floor(itemIndex) - rowIndexOffset; var component = _this6.component; var scrollable = component.getScrollable && component.getScrollable(); var isSortingOperation = _this6.dataSource().operationTypes().sorting; if (scrollable && !isSortingOperation && rowIndex >= 0) { var rowElement = component.getRowElement(rowIndex); var $rowElement = rowElement && rowElement[0] && (0, _renderer.default)(rowElement[0]); var top = $rowElement && $rowElement.position().top; var isChromeLatest = _browser.default.chrome && Number(null !== (_a = _browser.default.version) && void 0 !== _a ? _a : 0) >= 91; var allowedTopOffset = _browser.default.mozilla || isChromeLatest ? 1 : 0; if (top > allowedTopOffset) { top = Math.round(top + (0, _size.getOuterHeight)($rowElement) * (itemIndex % 1)); scrollable.scrollTo({ y: top }) } } } })) }, initVirtualRows: function() { var _this7 = this; var virtualRowsRendering = _m_utils.default.isVirtualRowRendering(this); this._allItems = null; this._loadViewportParams = null; if ("virtual" !== this.option("scrolling.mode") && !virtualRowsRendering || !virtualRowsRendering || false !== this.option(LEGACY_SCROLLING_MODE) && !this.option("scrolling.rowPageSize")) { this._visibleItems = null; this._rowsScrollController = null; return } var pageIndex = !isVirtualMode(this) && this.pageIndex() >= this.pageCount() ? this.pageCount() - 1 : this.pageIndex(); this._rowPageIndex = Math.ceil(pageIndex * this.pageSize() / this.getRowPageSize()); this._visibleItems = false === this.option(LEGACY_SCROLLING_MODE) ? null : []; this._viewportChanging = false; this._needUpdateViewportAfterLoading = false; if (!this._rowsScrollController) { this._rowsScrollController = new _m_virtual_scrolling_core.VirtualScrollController(this.component, this._getRowsScrollDataOptions(), true); this._rowsScrollController.positionChanged.add((function() { var _a; if (false === _this7.option(LEGACY_SCROLLING_MODE)) { _this7._viewportChanging = true; _this7.loadViewport(); _this7._viewportChanging = false; return } null === (_a = _this7._dataSource) || void 0 === _a ? void 0 : _a.setViewportItemIndex(_this7._rowsScrollController.getViewportItemIndex()) })) } if (false === this.option(LEGACY_SCROLLING_MODE)) { this._updateLoadViewportParams() } if (this.isLoaded() && false !== this.option(LEGACY_SCROLLING_MODE)) { this._rowsScrollController.load() } }, isViewportChanging: function() { return this._viewportChanging }, _getRowsScrollDataOptions: function() { var that = this; var isItemCountable = function(item) { return isItemCountableByDataSource(item, that._dataSource) }; return { pageSize: function() { return that.getRowPageSize() }, loadedOffset: function() { var _a; return isVirtualMode(that) && (null === (_a = that._dataSource) || void 0 === _a ? void 0 : _a.lastLoadOptions().skip) || 0 }, loadedItemCount: function() { return that._itemCount }, totalItemsCount: function() { if (isVirtualPaging(that)) { return that.totalItemsCount() } return false === that.option(LEGACY_SCROLLING_MODE) ? that._itemCount : that._items.filter(isItemCountable).length }, hasKnownLastPage: function() { return false === that.option(LEGACY_SCROLLING_MODE) ? that.hasKnownLastPage() : true }, pageIndex: function(index) { if (void 0 !== index) { that._rowPageIndex = index } return that._rowPageIndex }, isLoading: function() { return that.isLoading() }, pageCount: function() { var pageCount = Math.ceil(this.totalItemsCount() / this.pageSize()); return pageCount || 1 }, load: function() { if (that._rowsScrollController.pageIndex() >= this.pageCount()) { that._rowPageIndex = this.pageCount() - 1; that._rowsScrollController.pageIndex(that._rowPageIndex) } if (!this.items().length && this.totalItemsCount()) { return } that._rowsScrollController.handleDataChanged((function(change) { change = change || {}; change.changeType = change.changeType || "refresh"; change.items = change.items || that._visibleItems; that._visibleItems.forEach((function(item, index) { item.rowIndex = index })); that._fireChanged(change) })) }, updateLoading: function() {}, itemsCount: function() { return this.items(true).length }, correctCount: function(items, count, fromEnd) { return _correctCount(items, count, fromEnd, (function(item, isNextAfterLast, fromEnd) { if (item.isNewRow) { return isNextAfterLast && !fromEnd } if (isNextAfterLast && fromEnd) { return !item.isNewRow } return isItemCountable(item) })) }, items: function(countableOnly) { var result = that._items; if (that.option(LEGACY_SCROLLING_MODE)) { var dataSource = that.dataSource(); var virtualItemsCount = null === dataSource || void 0 === dataSource ? void 0 : dataSource.virtualItemsCount(); var begin = virtualItemsCount ? virtualItemsCount.begin : 0; var rowPageSize = that.getRowPageSize(); var skip = that._rowPageIndex * rowPageSize - begin; var take = rowPageSize; if (skip < 0) { return [] } if (skip) { skip = this.correctCount(result, skip); result = result.slice(skip) } if (take) { take = this.correctCount(result, take); result = result.slice(0, take) } } return countableOnly ? result.filter(isItemCountable) : result }, viewportItems: function(items) { if (items && false !== that.option(LEGACY_SCROLLING_MODE)) { that._visibleItems = items } return that._visibleItems }, onChanged: function() {}, changingDuration: function() { var dataSource = that.dataSource(); if ((null === dataSource || void 0 === dataSource ? void 0 : dataSource.isLoading()) && false !== that.option(LEGACY_SCROLLING_MODE)) { return 300 } return (null === dataSource || void 0 === dataSource ? void 0 : dataSource._renderTime) || 0 } } }, _updateItemsCore: function(change) { var _this8 = this; var delta = this.getRowIndexDelta(); this.callBase.apply(this, arguments); if (false === this.option(LEGACY_SCROLLING_MODE) && _m_utils.default.isVirtualRowRendering(this)) { if ("update" === change.changeType && 0 === change.rowIndices.length && change.cancelEmptyChanges) { change.cancel = true } return } var rowsScrollController = this._rowsScrollController; if (rowsScrollController) { var visibleItems = this._visibleItems; var isRefresh = "refresh" === change.changeType || change.isLiveUpdate; if ("append" === change.changeType && change.items && !change.items.length) { return } if (isRefresh || "append" === change.changeType || "prepend" === change.changeType) { change.cancel = true; isRefresh && rowsScrollController.reset(true); rowsScrollController.load() } else { if ("update" === change.changeType) { change.rowIndices.forEach((function(rowIndex, index) { var changeType = change.changeTypes[index]; var newItem = change.items[index]; if ("update" === changeType) { visibleItems[rowIndex] = newItem } else if ("insert" === changeType) { visibleItems.splice(rowIndex, 0, newItem) } else if ("remove" === changeType) { visibleItems.splice(rowIndex, 1) } })) } else { visibleItems.forEach((function(item, index) { visibleItems[index] = _this8._items[index + delta] || visibleItems[index] })); change.items = visibleItems } updateItemIndices(visibleItems) } } }, _updateLoadViewportParams: function() { var viewportParams = this._rowsScrollController.getViewportParams(); var pageSize = this.pageSize(); if (viewportParams && !isVirtualPaging(this) && pageSize > 0) { var pageOffset = this.pageIndex() * pageSize; viewportParams.skip += pageOffset } this._loadViewportParams = viewportParams }, _processItems: function() { var _a; var resultItems = this.callBase.apply(this, arguments); if (false === this.option(LEGACY_SCROLLING_MODE)) { var dataSource = this._dataSource; var currentIndex = null !== (_a = null === dataSource || void 0 === dataSource ? void 0 : dataSource.lastLoadOptions().skip) && void 0 !== _a ? _a : 0; var prevCountable; var prevRowType; var isPrevRowNew; var wasCountableItem = false; var newRows = []; resultItems.forEach((function(item) { var rowType = item.rowType; var itemCountable = isItemCountableByDataSource(item, dataSource); var isNextGroupItem = "group" === rowType && (prevCountable || itemCountable || "group" !== prevRowType && currentIndex > 0); var isNextDataItem = "data" === rowType && itemCountable && (prevCountable || "group" !== prevRowType); if (!item.isNewRow && (0, _type.isDefined)(prevCountable)) { var isPrevNewRowFirst = isPrevRowNew && !wasCountableItem; if ((isNextGroupItem || isNextDataItem) && !isPrevNewRowFirst) { currentIndex++ } } if (isNextGroupItem || isNextDataItem) { wasCountableItem = true } if (item.isNewRow) { newRows.push(item) } else { newRows.forEach((function(it) { it.loadIndex = currentIndex })); newRows = [] } item.loadIndex = currentIndex; prevCountable = itemCountable; prevRowType = rowType; isPrevRowNew = item.isNewRow })); newRows.forEach((function(it) { it.loadIndex = currentIndex })) } return resultItems }, _afterProcessItems: function(items) { var _this9 = this; this._itemCount = items.filter((function(item) { return isItemCountableByDataSource(item, _this9._dataSource) })).length; if ((0, _type.isDefined)(this._loadViewportParams)) { this._updateLoadViewportParams(); var result = items; this._allItems = items; if (items.length) { var _this$getLoadPagePara = this.getLoadPageParams(true), skipForCurrentPage = _this$getLoadPagePara.skipForCurrentPage; var skip = items[0].loadIndex + skipForCurrentPage; var take = this._loadViewportParams.take; result = items.filter((function(it) { var isNewRowInEmptyData = it.isNewRow && it.loadIndex === skip && 0 === take; var isLoadIndexGreaterStart = it.loadIndex >= skip; var isLoadIndexLessEnd = it.loadIndex < skip + take || isNewRowInEmptyData; return isLoadIndexGreaterStart && isLoadIndexLessEnd })) } return result } return this.callBase.apply(this, arguments) }, _applyChange: function(change) { var that = this; var items = change.items; var changeType = change.changeType; var removeCount = change.removeCount; if (removeCount) { var fromEnd = "prepend" === changeType; removeCount = _correctCount(that._items, removeCount, fromEnd, (function(item, isNextAfterLast) { return "data" === item.rowType && !item.isNewRow || "group" === item.rowType && (that._dataSource.isGroupItemCountable(item.data) || isNextAfterLast) })); change.removeCount = removeCount } switch (changeType) { case "prepend": that._items.unshift.apply(that._items, items); if (removeCount) { that._items.splice(-removeCount) } break; case "append": that._items.push.apply(that._items, items); if (removeCount) { that._items.splice(0, removeCount) } break; default: that.callBase(change) } }, items: function(allItems) { return allItems ? this._allItems || this._items : this._visibleItems || this._items }, getRowIndexDelta: function() { var delta = 0; if (this.option(LEGACY_SCROLLING_MODE)) { var visibleItems = this._visibleItems; if (visibleItems && visibleItems[0]) { delta = this._items.indexOf(visibleItems[0]) } } return delta < 0 ? 0 : delta }, getRowIndexOffset: function(byLoadedRows) { var _a; var offset = 0; var dataSource = this.dataSource(); var rowsScrollController = this._rowsScrollController; var newMode = false === this.option(LEGACY_SCROLLING_MODE); var virtualPaging = isVirtualPaging(this); if (rowsScrollController && !byLoadedRows) { if (newMode && (0, _type.isDefined)(this._loadViewportParams)) { var _this$getLoadPagePara2 = this.getLoadPageParams(true), skipForCurrentPage = _this$getLoadPagePara2.skipForCurrentPage, pageIndex = _this$getLoadPagePara2.pageIndex; var items = this.items(true); offset = virtualPaging ? pageIndex * this.pageSize() : 0; if (items.length) { var firstLoadIndex = items[0].loadIndex; offset += items.filter((function(item) { return item.loadIndex < firstLoadIndex + skipForCurrentPage })).length } } else { offset = rowsScrollController.beginPageIndex() * rowsScrollController.pageSize() } } else if (virtualPaging && newMode && dataSource) { offset = null !== (_a = dataSource.lastLoadOptions().skip) && void 0 !== _a ? _a : 0 } else if (isVirtualMode(this) && dataSource) { offset = dataSource.beginPageIndex() * dataSource.pageSize() } return offset }, getDataIndex: function() { if (false === this.option(LEGACY_SCROLLING_MODE)) { return this.getRowIndexOffset(true) } return this.callBase.apply(this, arguments) }, viewportSize: function() { var rowsScrollController = this._rowsScrollController; var dataSource = this._dataSource; var result = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.viewportSize.apply(rowsScrollController, arguments); if (false === this.option(LEGACY_SCROLLING_MODE)) { return result } return null === dataSource || void 0 === dataSource ? void 0 : dataSource.viewportSize.apply(dataSource, arguments) }, viewportHeight: function(height, scrollTop) { var _a; null === (_a = this._rowsScrollController) || void 0 === _a ? void 0 : _a.viewportHeight(height, scrollTop) }, viewportItemSize: function() { var rowsScrollController = this._rowsScrollController; var dataSource = this._dataSource; var result = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.viewportItemSize.apply(rowsScrollController, arguments); if (false === this.option(LEGACY_SCROLLING_MODE)) { return result } return null === dataSource || void 0 === dataSource ? void 0 : dataSource.viewportItemSize.apply(dataSource, arguments) }, setViewportPosition: function() { var rowsScrollController = this._rowsScrollController; var dataSource = this._dataSource; this._isPaging = false; if (rowsScrollController) { rowsScrollController.setViewportPosition.apply(rowsScrollController, arguments) } else { null === dataSource || void 0 === dataSource ? void 0 : dataSource.setViewportPosition.apply(dataSource, arguments) } }, setContentItemSizes: function(sizes) { var rowsScrollController = this._rowsScrollController; var dataSource = this._dataSource; var result = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.setContentItemSizes(sizes); if (false === this.option(LEGACY_SCROLLING_MODE)) { return result } return null === dataSource || void 0 === dataSource ? void 0 : dataSource.setContentItemSizes(sizes) }, getPreloadedRowCount: function() { var preloadCount = this.option("scrolling.preloadedRowCount"); var preloadEnabled = this.option("scrolling.preloadEnabled"); if ((0, _type.isDefined)(preloadCount)) { return preloadCount } var viewportSize = this.viewportSize(); return preloadEnabled ? 2 * viewportSize : viewportSize }, getLoadPageParams: function(byLoadedPage) { var _a, _b; var pageSize = this.pageSize(); var viewportParams = this._loadViewportParams; var lastLoadOptions = null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.lastLoadOptions(); var loadedPageIndex = (null === lastLoadOptions || void 0 === lastLoadOptions ? void 0 : lastLoadOptions.pageIndex) || 0; var loadedTake = (null === lastLoadOptions || void 0 === lastLoadOptions ? void 0 : lastLoadOptions.take) || 0; var isScrollingBack = this._rowsScrollController.isScrollingBack(); var topPreloadCount = isScrollingBack ? this.getPreloadedRowCount() : 0; var bottomPreloadCount = isScrollingBack ? 0 : this.getPreloadedRowCount(); var totalCountCorrection = (null === (_b = this._dataSource) || void 0 === _b ? void 0 : _b.totalCountCorrection()) || 0; var skipWithPreload = Math.max(0, viewportParams.skip - topPreloadCount); var pageIndex = byLoadedPage ? loadedPageIndex : Math.floor(pageSize ? skipWithPreload / pageSize : 0); var pageOffset = pageIndex * pageSize; var skipForCurrentPage = viewportParams.skip - pageOffset; var loadingTake = viewportParams.take + skipForCurrentPage + bottomPreloadCount - totalCountCorrection; var take = byLoadedPage ? loadedTake : loadingTake; var loadPageCount = Math.ceil(pageSize ? take / pageSize : 0); return { pageIndex: pageIndex, loadPageCount: Math.max(1, loadPageCount), skipForCurrentPage: Math.max(0, skipForCurrentPage) } }, _updateVisiblePageIndex: function(currentPageIndex) { if (!this._rowsScrollController) { return } if ((0, _type.isDefined)(currentPageIndex)) { this._silentOption("paging.pageIndex", currentPageIndex); this.pageChanged.fire(); return } var viewPortItemIndex = this._rowsScrollController.getViewportItemIndex(); var newPageIndex = Math.floor(viewPortItemIndex / this.pageSize()); if (this.pageIndex() !== newPageIndex) { this._silentOption("paging.pageIndex", newPageIndex); this.updateItems({ changeType: "pageIndex" }) } }, _getChangedLoadParams: function() { var loadedPageParams = this.getLoadPageParams(true); var _this$getLoadPagePara3 = this.getLoadPageParams(), pageIndex = _this$getLoadPagePara3.pageIndex, loadPageCount = _this$getLoadPagePara3.loadPageCount; var pageIndexIsValid = this._pageIndexIsValid(pageIndex); var result = null; if (!this._isLoading && pageIndexIsValid && (pageIndex !== loadedPageParams.pageIndex || loadPageCount !== loadedPageParams.loadPageCount)) { result = { pageIndex: pageIndex, loadPageCount: loadPageCount } } return result }, _pageIndexIsValid: function(pageIndex) { var result = true; if (isAppendMode(this) && this.hasKnownLastPage() || isVirtualMode(this)) { result = pageIndex * this.pageSize() < this.totalItemsCount() } return result }, _loadItems: function(checkLoading, viewportIsFilled) { var _this10 = this; var _a, _b; var virtualPaging = isVirtualPaging(this); var dataSourceAdapter = this._dataSource; var changedParams = this._getChangedLoadParams(); var currentLoadPageCount = null !== (_a = null === dataSourceAdapter || void 0 === dataSourceAdapter ? void 0 : dataSourceAdapter.loadPageCount()) && void 0 !== _a ? _a : 0; var lastRequiredItemCount = this.pageSize() * currentLoadPageCount; var currentPageIndex = null !== (_b = null === dataSourceAdapter || void 0 === dataSourceAdapter ? void 0 : dataSourceAdapter.pageIndex()) && void 0 !== _b ? _b : 0; var pageIndexNotChanged = (null === changedParams || void 0 === changedParams ? void 0 : changedParams.pageIndex) === currentPageIndex; var allLoadedInAppendMode = isAppendMode(this) && this.totalItemsCount() < lastRequiredItemCount; var isRepaintMode = "repaint" === this.option("editing.refreshMode"); var pageIndexIncreased = (null === changedParams || void 0 === changedParams ? void 0 : changedParams.pageIndex) > currentPageIndex; var result = false; if (!dataSourceAdapter || virtualPaging && checkLoading && (isRepaintMode && viewportIsFilled || pageIndexIncreased || pageIndexNotChanged && allLoadedInAppendMode)) { return result } if (virtualPaging && this._isLoading) { this._needUpdateViewportAfterLoading = true } if (virtualPaging && changedParams) { result = true; dataSourceAdapter.pageIndex(changedParams.pageIndex); dataSourceAdapter.loadPageCount(changedParams.loadPageCount); this._repaintChangesOnly = true; this._needUpdateDimensions = true; var viewportChanging = this._viewportChanging; this.load().always((function() { _this10._repaintChangesOnly = void 0; _this10._needUpdateDimensions = void 0 })).done((function() { var isLastPage = _this10.pageCount() > 0 && _this10.pageIndex() === _this10.pageCount() - 1; (viewportChanging || isLastPage) && _this10._updateVisiblePageIndex(); if (_this10._needUpdateViewportAfterLoading) { _this10._needUpdateViewportAfterLoading = false; _this10.loadViewport({ checkLoadedParamsOnly: true }) } })) } return result }, loadViewport: function(params) { var _a, _b; var _ref2 = null !== params && void 0 !== params ? params : {}, checkLoadedParamsOnly = _ref2.checkLoadedParamsOnly, checkLoading = _ref2.checkLoading, viewportIsNotFilled = _ref2.viewportIsNotFilled; var virtualPaging = isVirtualPaging(this); if (virtualPaging || _m_utils.default.isVirtualRowRendering(this)) { this._updateLoadViewportParams(); var loadingItemsStarted = this._loadItems(checkLoading, !viewportIsNotFilled); var needToUpdateItems = !(loadingItemsStarted || this._isLoading && checkLoading || checkLoadedParamsOnly); if (needToUpdateItems) { var noPendingChangesInEditing = !(null === (_b = null === (_a = this.getController("editing")) || void 0 === _a ? void 0 : _a.getChanges()) || void 0 === _b ? void 0 : _b.length); this.updateItems({ repaintChangesOnly: true, needUpdateDimensions: true, useProcessedItemsCache: noPendingChangesInEditing, cancelEmptyChanges: true }) } } }, updateViewport: function() { var _a, _b; var viewportSize = this.viewportSize(); var itemCount = this.items().length; var viewportIsNotFilled = viewportSize > itemCount; var currentTake = null !== (_b = null === (_a = this._loadViewportParams) || void 0 === _a ? void 0 : _a.take) && void 0 !== _b ? _b : 0; var rowsScrollController = this._rowsScrollController; var newTake = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.getViewportParams().take; (viewportIsNotFilled || currentTake < newTake) && !this._isPaging && itemCount && this.loadViewport({ checkLoading: true, viewportIsNotFilled: viewportIsNotFilled }) }, loadIfNeed: function() { if (false === this.option(LEGACY_SCROLLING_MODE)) { return } var rowsScrollController = this._rowsScrollController; rowsScrollController && rowsScrollController.loadIfNeed(); var dataSource = this._dataSource; return dataSource && dataSource.loadIfNeed() }, getItemSize: function() { var rowsScrollController = this._rowsScrollController; if (rowsScrollController) { return rowsScrollController.getItemSize.apply(rowsScrollController, arguments) } var dataSource = this._dataSource; return dataSource && dataSource.getItemSize.apply(dataSource, arguments) }, getItemSizes: function() { var rowsScrollController = this._rowsScrollController; if (rowsScrollController) { return rowsScrollController.getItemSizes.apply(rowsScrollController, arguments) } var dataSource = this._dataSource; return dataSource && dataSource.getItemSizes.apply(dataSource, arguments) }, getContentOffset: function() { var rowsScrollController = this._rowsScrollController; if (rowsScrollController) { return rowsScrollController.getContentOffset.apply(rowsScrollController, arguments) } var dataSource = this._dataSource; return dataSource && dataSource.getContentOffset.apply(dataSource, arguments) }, refresh: function(options) { var dataSource = this._dataSource; if (dataSource && options && options.load && isAppendMode(this)) { dataSource.resetCurrentTotalCount() } return this.callBase.apply(this, arguments) }, dispose: function() { var rowsScrollController = this._rowsScrollController; rowsScrollController && rowsScrollController.dispose(); this.callBase.apply(this, arguments) }, topItemIndex: function() { var _a; return null === (_a = this._loadViewportParams) || void 0 === _a ? void 0 : _a.skip }, bottomItemIndex: function() { var viewportParams = this._loadViewportParams; return viewportParams && viewportParams.skip + viewportParams.take }, virtualItemsCount: function() { var rowsScrollController = this._rowsScrollController; if (rowsScrollController) { return rowsScrollController.virtualItemsCount.apply(rowsScrollController, arguments) } var dataSource = this._dataSource; return null === dataSource || void 0 === dataSource ? void 0 : dataSource.virtualItemsCount.apply(dataSource, arguments) }, pageIndex: function(_pageIndex) { var _a; var virtualPaging = isVirtualPaging(this); var rowsScrollController = this._rowsScrollController; if (false === this.option(LEGACY_SCROLLING_MODE) && virtualPaging && rowsScrollController) { if (void 0 === _pageIndex) { return null !== (_a = this.option("paging.pageIndex")) && void 0 !== _a ? _a : 0 } } return this.callBase.apply(this, arguments) }, _fireChanged: function(e) { this.callBase.apply(this, arguments); var operationTypes = e.operationTypes; if (false === this.option(LEGACY_SCROLLING_MODE) && isVirtualPaging(this) && operationTypes) { var fullReload = operationTypes.fullReload, pageIndex = operationTypes.pageIndex; if (e.isDataChanged && !fullReload && pageIndex) { this._updateVisiblePageIndex(this._dataSource.pageIndex()) } } }, _getPagingOptionValue: function(optionName) { var result = this.callBase.apply(this, arguments); if (false === this.option(LEGACY_SCROLLING_MODE) && isVirtualPaging(this)) { result = this[optionName]() } return result }, isEmpty: function() { return false === this.option(LEGACY_SCROLLING_MODE) ? !this.items(true).length : this.callBase(this, arguments) }, isLastPageLoaded: function() { var result = false; if (false === this.option(LEGACY_SCROLLING_MODE) && isVirtualPaging(this)) { var _this$getLoadPagePara4 = this.getLoadPageParams(true), pageIndex = _this$getLoadPagePara4.pageIndex, loadPageCount = _this$getLoadPagePara4.loadPageCount; var pageCount = this.pageCount(); result = pageIndex + loadPageCount >= pageCount } else { result = this.callBase.apply(this, arguments) } return result }, reset: function() { this._itemCount = 0; this._allItems = null; this.callBase.apply(this, arguments) }, _applyFilter: function() { var _a; null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.loadPageCount(1); this.callBase.apply(this, arguments) } }; _m_utils.default.proxyMethod(members, "getVirtualContentSize"); _m_utils.default.proxyMethod(members, "setViewportItemIndex"); return members }(), resizing: { _updateMasterDataGridCore: function(masterDataGrid) { return (0, _deferred.when)(this.callBase.apply(this, arguments)).done((function(masterDataGridUpdated) { var isNewVirtualMode = isVirtualMode(masterDataGrid) && false === masterDataGrid.option(LEGACY_SCROLLING_MODE); if (!masterDataGridUpdated && isNewVirtualMode) { var scrollable = masterDataGrid.getScrollable(); if (scrollable) { masterDataGrid.updateDimensions() } } })) }, hasResizeTimeout: function() { return !!this._resizeTimeout }, resize: function() { var _this11 = this; var callBase = this.callBase; var result; if (isVirtualMode(this) || _m_utils.default.isVirtualRowRendering(this)) { clearTimeout(this._resizeTimeout); this._resizeTimeout = null; var diff = new Date - this._lastTime; var updateTimeout = this.option("scrolling.updateTimeout"); if (this._lastTime && diff < updateTimeout) { result = new _deferred.Deferred; this._resizeTimeout = setTimeout((function() { _this11._resizeTimeout = null; callBase.apply(_this11).done(result.resolve).fail(result.reject); _this11._lastTime = new Date }), updateTimeout); this._lastTime = new Date } else { result = callBase.apply(this); if (this._dataController.isLoaded()) { this._lastTime = new Date } } } else { result = callBase.apply(this) } return result }, dispose: function() { this.callBase.apply(this, arguments); clearTimeout(this._resizeTimeout) } } }, views: { rowsView: VirtualScrollingRowsViewExtender } } }; exports.virtualScrollingModule = virtualScrollingModule }, 86770: /*!**********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling_core.js ***! \**********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.VirtualScrollController = void 0; exports.subscribeToExternalScrollers = subscribeToExternalScrollers; var _position = _interopRequireDefault(__webpack_require__( /*! ../../../../animation/position */ 49387)); var _class = _interopRequireDefault(__webpack_require__( /*! ../../../../core/class */ 38377)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/browser */ 47810)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/callbacks */ 44504)); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../../../core/utils/window */ 58201); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../m_utils */ 60082)); var _m_virtual_data_loader = __webpack_require__( /*! ../virtual_data_loader/m_virtual_data_loader */ 20488); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _isVirtualMode = function(that) { return "virtual" === that.option("scrolling.mode") || that._isVirtual }; function subscribeToExternalScrollers($element, scrollChangedHandler, $targetElement) { var $scrollElement; var scrollableArray = []; var scrollToArray = []; var disposeArray = []; $targetElement = $targetElement || $element; function getElementOffset(scrollable) { var $scrollableElement = scrollable.element ? scrollable.$element() : scrollable; var scrollableOffset = _position.default.offset($scrollableElement); if (!scrollableOffset) { return $element.offset().top } return scrollable.scrollTop() - (scrollableOffset.top - $element.offset().top) } var widgetScrollStrategy = { on: function(scrollable, eventName, handler) { scrollable.on("scroll", handler) }, off: function(scrollable, eventName, handler) { scrollable.off("scroll", handler) } }; function subscribeToScrollEvents($scrollElement) { var isDocument = "#document" === $scrollElement.get(0).nodeName; var isElement = $scrollElement.get(0).nodeType === (0, _window.getWindow)().Node.ELEMENT_NODE; var scrollable = $scrollElement.data("dxScrollable"); var eventsStrategy = widgetScrollStrategy; if (!scrollable) { scrollable = isDocument && (0, _renderer.default)((0, _window.getWindow)()) || isElement && "auto" === $scrollElement.css("overflowY") && $scrollElement; eventsStrategy = _events_engine.default; if (!scrollable) { return } } var handler = function(scrollable) { return function() { var scrollTop = scrollable.scrollTop() - getElementOffset(scrollable); scrollTop = scrollTop > 0 ? scrollTop : 0; scrollChangedHandler(scrollTop) } }(scrollable); eventsStrategy.on(scrollable, "scroll", handler); scrollToArray.push((function(pos) { var topOffset = getElementOffset(scrollable); var scrollMethod = scrollable.scrollTo ? "scrollTo" : "scrollTop"; if (pos - topOffset >= 0) { scrollable[scrollMethod](pos + topOffset) } })); scrollableArray.push(scrollable); disposeArray.push((function() { eventsStrategy.off(scrollable, "scroll", handler) })) } var getScrollElementParent = function($element) { var _a; return (0, _renderer.default)(null !== (_a = $element.get(0).parentNode) && void 0 !== _a ? _a : $element.get(0).host) }; for ($scrollElement = $targetElement.parent(); $scrollElement.length; $scrollElement = getScrollElementParent($scrollElement)) { subscribeToScrollEvents($scrollElement) } return { scrollTo: function(pos) { (0, _iterator.each)(scrollToArray, (function(_, scrollTo) { scrollTo(pos) })) }, dispose: function() { (0, _iterator.each)(disposeArray, (function(_, dispose) { dispose() })) } } } var VirtualScrollController = _class.default.inherit(function() { var members = { ctor: function(component, dataOptions, isVirtual) { this._dataOptions = dataOptions; this.component = component; this._viewportSize = false === component.option("scrolling.legacyMode") ? 15 : 0; this._viewportItemSize = 20; this._viewportItemIndex = 0; this._position = 0; this._isScrollingBack = false; this._contentSize = 0; this._itemSizes = {}; this._sizeRatio = 1; this._isVirtual = isVirtual; this.positionChanged = (0, _callbacks.default)(); this._dataLoader = new _m_virtual_data_loader.VirtualDataLoader(this, this._dataOptions) }, getItemSizes: function() { return this._itemSizes }, option: function() { return this.component.option.apply(this.component, arguments) }, isVirtual: function() { return this._isVirtual }, virtualItemsCount: function() { if (_isVirtualMode(this)) { var dataOptions = this._dataOptions; var totalItemsCount = dataOptions.totalItemsCount(); if (false === this.option("scrolling.legacyMode") && -1 !== totalItemsCount) { var viewportParams = this.getViewportParams(); var loadedOffset = dataOptions.loadedOffset(); var loadedItemCount = dataOptions.loadedItemCount(); var skip = Math.max(viewportParams.skip, loadedOffset); var take = Math.min(viewportParams.take, loadedItemCount); var endItemsCount = Math.max(totalItemsCount - (skip + take), 0); return { begin: skip, end: endItemsCount } } return this._dataLoader.virtualItemsCount.apply(this._dataLoader, arguments) } }, getScrollingTimeout: function() { var _a; var renderAsync = this.option("scrolling.renderAsync"); var scrollingTimeout = 0; if (!(0, _type.isDefined)(renderAsync)) { scrollingTimeout = Math.min(this.option("scrolling.timeout") || 0, this._dataOptions.changingDuration()); if (scrollingTimeout < this.option("scrolling.renderingThreshold")) { scrollingTimeout = this.option("scrolling.minTimeout") || 0 } } else if (renderAsync) { scrollingTimeout = null !== (_a = this.option("scrolling.timeout")) && void 0 !== _a ? _a : 0 } return scrollingTimeout }, setViewportPosition: function(position) { var _this = this; var result = new _deferred.Deferred; var scrollingTimeout = this.getScrollingTimeout(); clearTimeout(this._scrollTimeoutID); if (scrollingTimeout > 0) { this._scrollTimeoutID = setTimeout((function() { _this._setViewportPositionCore(position); result.resolve() }), scrollingTimeout) } else { this._setViewportPositionCore(position); result.resolve() } return result.promise() }, getViewportPosition: function() { return this._position }, getItemIndexByPosition: function(position, viewportItemIndex, height) { position = null !== position && void 0 !== position ? position : this._position; var defaultItemSize = this.getItemSize(); var offset = 0; var itemOffset = 0; var itemOffsetsWithSize = Object.keys(this._itemSizes).concat(-1); for (var i = 0; i < itemOffsetsWithSize.length && offset < position; i++) { var itemOffsetWithSize = parseInt(itemOffsetsWithSize[i]); var itemOffsetDiff = (position - offset) / defaultItemSize; if (itemOffsetWithSize < 0 || itemOffset + itemOffsetDiff < itemOffsetWithSize) { itemOffset += itemOffsetDiff; if (this._sizeRatio < 1 && (0, _type.isDefined)(viewportItemIndex)) { itemOffset = viewportItemIndex + height / this._viewportItemSize } break } else { itemOffsetDiff = itemOffsetWithSize - itemOffset; offset += itemOffsetDiff * defaultItemSize; itemOffset += itemOffsetDiff } var itemSize = this._itemSizes[itemOffsetWithSize]; offset += itemSize; itemOffset += offset < position ? 1 : (position - offset + itemSize) / itemSize } return Math.round(50 * itemOffset) / 50 }, isScrollingBack: function() { return this._isScrollingBack }, _setViewportPositionCore: function(position) { var prevPosition = this._position || 0; this._position = position; if (prevPosition !== this._position) { this._isScrollingBack = this._position < prevPosition } var itemIndex = this.getItemIndexByPosition(); var result = this.setViewportItemIndex(itemIndex); this.positionChanged.fire(); return result }, setContentItemSizes: function(sizes) { var _this2 = this; var virtualItemsCount = this.virtualItemsCount(); this._contentSize = sizes.reduce((function(a, b) { return a + b }), 0); if (virtualItemsCount) { sizes.forEach((function(size, index) { _this2._itemSizes[virtualItemsCount.begin + index] = size })); var virtualContentSize = (virtualItemsCount.begin + virtualItemsCount.end + this.itemsCount()) * this._viewportItemSize; var contentHeightLimit = _m_utils.default.getContentHeightLimit(_browser.default); if (virtualContentSize > contentHeightLimit) { this._sizeRatio = contentHeightLimit / virtualContentSize } else { this._sizeRatio = 1 } } }, getItemSize: function() { return this._viewportItemSize * this._sizeRatio }, getItemOffset: function(itemIndex, isEnd) { var _this3 = this; var virtualItemsCount = this.virtualItemsCount(); var itemCount = itemIndex; if (!virtualItemsCount) { return 0 } var offset = 0; var totalItemsCount = this._dataOptions.totalItemsCount(); Object.keys(this._itemSizes).forEach((function(currentItemIndex) { if (!itemCount) { return } if (isEnd ? currentItemIndex >= totalItemsCount - itemIndex : currentItemIndex < itemIndex) { offset += _this3._itemSizes[currentItemIndex]; itemCount-- } })); return Math.floor(offset + itemCount * this._viewportItemSize * this._sizeRatio) }, getContentOffset: function(type) { var isEnd = "end" === type; var virtualItemsCount = this.virtualItemsCount(); if (!virtualItemsCount) { return 0 } return this.getItemOffset(isEnd ? virtualItemsCount.end : virtualItemsCount.begin, isEnd) }, getVirtualContentSize: function() { var virtualItemsCount = this.virtualItemsCount(); return virtualItemsCount ? this.getContentOffset("begin") + this.getContentOffset("end") + this._contentSize : 0 }, getViewportItemIndex: function() { return this._viewportItemIndex }, setViewportItemIndex: function(itemIndex) { this._viewportItemIndex = itemIndex; if (false === this.option("scrolling.legacyMode")) { return } return this._dataLoader.viewportItemIndexChanged.apply(this._dataLoader, arguments) }, viewportItemSize: function(size) { if (void 0 !== size) { this._viewportItemSize = size } return this._viewportItemSize }, viewportSize: function(size) { if (void 0 !== size) { this._viewportSize = size } return this._viewportSize }, viewportHeight: function(height, scrollTop) { var position = null !== scrollTop && void 0 !== scrollTop ? scrollTop : this._position; var begin = this.getItemIndexByPosition(position); var end = this.getItemIndexByPosition(position + height, begin, height); this.viewportSize(Math.ceil(end - begin)); if (!(0, _type.isDefined)(scrollTop) && this._viewportItemIndex !== begin) { this._setViewportPositionCore(position) } }, reset: function(isRefresh) { this._dataLoader.reset(); if (!isRefresh) { this._itemSizes = {} } }, subscribeToWindowScrollEvents: function($element) { var _this4 = this; this._windowScroll = this._windowScroll || subscribeToExternalScrollers($element, (function(scrollTop) { if (_this4.viewportItemSize()) { _this4.setViewportPosition(scrollTop) } })) }, dispose: function() { clearTimeout(this._scrollTimeoutID); this._windowScroll && this._windowScroll.dispose(); this._windowScroll = null }, scrollTo: function(pos) { this._windowScroll && this._windowScroll.scrollTo(pos) }, isVirtualMode: function() { return _isVirtualMode(this) }, isAppendMode: function() { return that = this, "infinite" === that.option("scrolling.mode") && !that._isVirtual; var that }, getViewportParams: function() { var _a; var virtualMode = "virtual" === this.option("scrolling.mode"); var totalItemsCount = this._dataOptions.totalItemsCount(); var hasKnownLastPage = this._dataOptions.hasKnownLastPage(); var topIndex = hasKnownLastPage && this._viewportItemIndex > totalItemsCount ? totalItemsCount : this._viewportItemIndex; var bottomIndex = this._viewportSize + topIndex; var maxGap = this.option("scrolling.prerenderedRowChunkSize") || 1; var isScrollingBack = this.isScrollingBack(); var minGap = null !== (_a = this.option("scrolling.prerenderedRowCount")) && void 0 !== _a ? _a : 1; var topMinGap = isScrollingBack ? minGap : 0; var bottomMinGap = isScrollingBack ? 0 : minGap; var skip = Math.floor(Math.max(0, topIndex - topMinGap) / maxGap) * maxGap; var take = Math.ceil((bottomIndex + bottomMinGap - skip) / maxGap) * maxGap; if (virtualMode) { var remainedItems = Math.max(0, totalItemsCount - skip); take = Math.min(take, remainedItems) } return { skip: skip, take: take } }, itemsCount: function() { var result = 0; if (this.option("scrolling.legacyMode")) { result = this._dataLoader.itemsCount.apply(this._dataLoader, arguments) } else { result = this._dataOptions.itemsCount() } return result } }; ["pageIndex", "beginPageIndex", "endPageIndex", "pageSize", "load", "loadIfNeed", "handleDataChanged", "getDelayDeferred"].forEach((function(name) { members[name] = function() { return this._dataLoader[name].apply(this._dataLoader, arguments) } })); return members }()); exports.VirtualScrollController = VirtualScrollController; var _default = { VirtualScrollController: VirtualScrollController }; exports.default = _default }, 74305: /*!**************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/area_item/m_area_item.js ***! \**************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.getRealElementWidth = exports.default = exports.AreaItem = void 0; var _class = _interopRequireDefault(__webpack_require__( /*! ../../../../core/class */ 38377)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../../core/dom_adapter */ 73349)); var _element = __webpack_require__( /*! ../../../../core/element */ 6415); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _position = __webpack_require__( /*! ../../../../core/utils/position */ 37518); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _style = __webpack_require__( /*! ../../../../core/utils/style */ 80968); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _getMemoizeScrollTo2 = __webpack_require__( /*! ../../../../renovation/ui/common/utils/scroll/getMemoizeScrollTo */ 41672); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var getRealElementWidth = function(element) { var width = 0; var offsetWidth = element.offsetWidth; if (element.getBoundingClientRect) { var clientRect = (0, _position.getBoundingRect)(element); width = clientRect.width; if (!width) { width = clientRect.right - clientRect.left } if (width <= offsetWidth - 1) { width = offsetWidth } } return width > 0 ? width : offsetWidth }; exports.getRealElementWidth = getRealElementWidth; function getFakeTableOffset(scrollPos, elementOffset, tableSize, viewPortSize) { var offset = 0; var halfTableCount = 0; var halfTableSize = tableSize / 2; if (scrollPos + viewPortSize - (elementOffset + tableSize) > 1) { if (scrollPos >= elementOffset + tableSize + halfTableSize) { halfTableCount = parseInt((scrollPos - (elementOffset + tableSize)) / halfTableSize, 10) } offset = elementOffset + tableSize + halfTableSize * halfTableCount } else if (scrollPos < elementOffset) { if (scrollPos <= elementOffset - halfTableSize) { halfTableCount = parseInt((scrollPos - (elementOffset - halfTableSize)) / halfTableSize, 10) } offset = elementOffset - (tableSize - halfTableSize * halfTableCount) } else { offset = elementOffset } return offset } var AreaItem = _class.default.inherit({ ctor: function(component) { this.component = component }, option: function() { return this.component.option.apply(this.component, arguments) }, _getRowElement: function(index) { if (this._tableElement && this._tableElement.length > 0) { return this._tableElement[0].rows[index] } return null }, _createGroupElement: function() { return (0, _renderer.default)("
") }, _createTableElement: function() { return (0, _renderer.default)("
") }, _getCellText: function(cell, encodeHtml) { var cellText = cell.isWhiteSpace ? " " : cell.text || " "; if (encodeHtml && (-1 !== cellText.indexOf("<") || -1 !== cellText.indexOf(">"))) { cellText = (0, _renderer.default)("
").text(cellText).html() } return cellText }, _getRowClassNames: function() {}, _applyCustomStyles: function(options) { if (options.cell.width) { options.cssArray.push("min-width:".concat(options.cell.width, "px")) } if (options.cell.sorted) { options.classArray.push("dx-pivotgrid-sorted") } }, _getMainElementMarkup: function() { return _dom_adapter.default.createElement("tbody") }, _getCloseMainElementMarkup: function() { return "" }, _renderTableContent: function(tableElement, data) { var rowsCount = data.length; var row; var cell; var i; var j; var cellText; var rtlEnabled = this.option("rtlEnabled"); var encodeHtml = this.option("encodeHtml"); var rowClassNames; tableElement.data("area", this._getAreaName()); tableElement.data("data", data); tableElement.css("width", ""); var tbody = this._getMainElementMarkup(); for (i = 0; i < rowsCount; i += 1) { row = data[i]; rowClassNames = []; var tr = _dom_adapter.default.createElement("tr"); for (j = 0; j < row.length; j += 1) { cell = row[j]; this._getRowClassNames(i, cell, rowClassNames); var td = _dom_adapter.default.createElement("td"); if (cell) { cell.rowspan && td.setAttribute("rowspan", cell.rowspan || 1); cell.colspan && td.setAttribute("colspan", cell.colspan || 1); var styleOptions = { cellElement: void 0, cell: cell, cellsCount: row.length, cellIndex: j, rowElement: void 0, rowIndex: i, rowsCount: rowsCount, rtlEnabled: rtlEnabled, classArray: [], cssArray: [] }; this._applyCustomStyles(styleOptions); if (styleOptions.cssArray.length) { (0, _style.setStyle)(td, styleOptions.cssArray.join(";")) } if (styleOptions.classArray.length) { td.setAttribute("class", styleOptions.classArray.join(" ")) } if ((0, _type.isDefined)(cell.expanded)) { var div = _dom_adapter.default.createElement("div"); div.classList.add("dx-expand-icon-container"); var _span = _dom_adapter.default.createElement("span"); _span.classList.add("dx-expand"); div.appendChild(_span); td.appendChild(div) } cellText = this._getCellText(cell, encodeHtml) } else { cellText = "" } var span = _dom_adapter.default.createElement("span"); if ((0, _type.isDefined)(cell.wordWrapEnabled)) { span.style.whiteSpace = cell.wordWrapEnabled ? "normal" : "nowrap" } span.innerHTML = cellText; td.appendChild(span); if (cell.sorted) { var _span2 = _dom_adapter.default.createElement("span"); _span2.classList.add("dx-icon-sorted"); td.appendChild(_span2) } tr.appendChild(td) } if (rowClassNames.length) { tr.setAttribute("class", rowClassNames.join(" ")) } tbody.appendChild(tr) } tableElement.append(tbody); this._triggerOnCellPrepared(tableElement, data) }, _triggerOnCellPrepared: function(tableElement, data) { var rowElements = tableElement.find("tr"); var areaName = this._getAreaName(); var onCellPrepared = this.option("onCellPrepared"); var hasEvent = this.component._eventsStrategy.hasEvent("cellPrepared"); var rowElement; var $cellElement; var onCellPreparedArgs; var defaultActionArgs = this.component._defaultActionArgs(); var row; var cell; var rowIndex; var columnIndex; if (onCellPrepared || hasEvent) { for (rowIndex = 0; rowIndex < data.length; rowIndex += 1) { row = data[rowIndex]; rowElement = rowElements.eq(rowIndex); for (columnIndex = 0; columnIndex < row.length; columnIndex += 1) { cell = row[columnIndex]; $cellElement = rowElement.children().eq(columnIndex); onCellPreparedArgs = { area: areaName, rowIndex: rowIndex, columnIndex: columnIndex, cellElement: (0, _element.getPublicElement)($cellElement), cell: cell }; if (hasEvent) { this.component._trigger("onCellPrepared", onCellPreparedArgs) } else { onCellPrepared((0, _extend.extend)(onCellPreparedArgs, defaultActionArgs)) } } } } }, _getRowHeight: function(index) { var row = this._getRowElement(index); var height = 0; var offsetHeight = row.offsetHeight; if (row && row.lastChild) { if (row.getBoundingClientRect) { var clientRect = (0, _position.getBoundingRect)(row); height = clientRect.height; if (height <= offsetHeight - 1) { height = offsetHeight } } return height > 0 ? height : offsetHeight } return 0 }, _setRowHeight: function(index, value) { var row = this._getRowElement(index); if (row) { row.style.height = "".concat(value, "px") } }, getRowsLength: function() { if (this._tableElement && this._tableElement.length > 0) { return this._tableElement[0].rows.length } return 0 }, getRowsHeight: function() { var result = []; var rowsLength = this.getRowsLength(); for (var i = 0; i < rowsLength; i += 1) { result.push(this._getRowHeight(i)) } return result }, setRowsHeight: function(values) { var totalHeight = 0; var valuesLength = values.length; for (var i = 0; i < valuesLength; i += 1) { totalHeight += values[i]; this._setRowHeight(i, values[i]) } this._tableHeight = totalHeight; this._tableElement[0].style.height = "".concat(totalHeight, "px") }, getColumnsWidth: function() { var rowsLength = this.getRowsLength(); var rowIndex; var row; var i; var columnIndex; var processedCells = []; var result = []; var fillCells = function(cells, rowIndex, columnIndex, rowSpan, colSpan) { var rowOffset; var columnOffset; for (rowOffset = 0; rowOffset < rowSpan; rowOffset += 1) { for (columnOffset = 0; columnOffset < colSpan; columnOffset += 1) { cells[rowIndex + rowOffset] = cells[rowIndex + rowOffset] || []; cells[rowIndex + rowOffset][columnIndex + columnOffset] = true } } }; if (rowsLength) { for (rowIndex = 0; rowIndex < rowsLength; rowIndex += 1) { processedCells[rowIndex] = processedCells[rowIndex] || []; row = this._getRowElement(rowIndex); for (i = 0; i < row.cells.length; i += 1) { for (columnIndex = 0; processedCells[rowIndex][columnIndex]; columnIndex += 1) {} fillCells(processedCells, rowIndex, columnIndex, row.cells[i].rowSpan, row.cells[i].colSpan); if (1 === row.cells[i].colSpan) { result[columnIndex] = result[columnIndex] || getRealElementWidth(row.cells[i]) } } } } return result }, setColumnsWidth: function(values) { var i; var tableElement = this._tableElement[0]; this._colgroupElement.html(""); var columnsCount = this.getColumnsCount(); var columnWidth = []; for (i = 0; i < columnsCount; i += 1) { columnWidth.push(values[i] || 0) } for (i = columnsCount; i < values.length && values; i += 1) { columnWidth[columnsCount - 1] += values[i] } for (i = 0; i < columnsCount; i += 1) { var col = _dom_adapter.default.createElement("col"); col.style.width = "".concat(columnWidth[i], "px"); this._colgroupElement.append(col) } this._tableWidth = columnWidth.reduce((function(sum, width) { return sum + width }), 0); tableElement.style.width = "".concat(this._tableWidth, "px"); tableElement.style.tableLayout = "fixed" }, resetColumnsWidth: function() { (0, _size.setWidth)(this._colgroupElement.find("col"), "auto"); this._tableElement.css({ width: "", tableLayout: "" }) }, setGroupWidth: function(value) { this._getScrollable().option("width", value) }, setGroupHeight: function(value) { this._getScrollable().option("height", value) }, getGroupHeight: function() { return this._getGroupElementSize("height") }, getGroupWidth: function() { return this._getGroupElementSize("width") }, _getGroupElementSize: function(dimension) { var size = this.groupElement()[0].style[dimension]; if (size.indexOf("px") > 0) { return parseFloat(size) } return null }, groupElement: function() { return this._groupElement }, tableElement: function() { return this._tableElement }, element: function() { return this._rootElement }, headElement: function() { return this._tableElement.find("thead") }, _setTableCss: function(styles) { if (this.option("rtlEnabled")) { styles.right = styles.left; delete styles.left } this.tableElement().css(styles) }, setVirtualContentParams: function(params) { this._virtualContent.css({ width: params.width, height: params.height }); var scrollable = this._getScrollable(); if (null === scrollable || void 0 === scrollable ? void 0 : scrollable.isRenovated()) { this._getScrollable().option("classes", "dx-virtual-mode") } else { this.groupElement().addClass("dx-virtual-mode") } }, disableVirtualMode: function() { var scrollable = this._getScrollable(); if (null === scrollable || void 0 === scrollable ? void 0 : scrollable.isRenovated()) { this._getScrollable().option("classes", "") } else { this.groupElement().removeClass("dx-virtual-mode") } }, _renderVirtualContent: function() { if (!this._virtualContent && "virtual" === this.option("scrolling.mode")) { this._virtualContent = (0, _renderer.default)("
").addClass("dx-virtual-content").insertBefore(this._tableElement) } }, reset: function() { var tableElement = this._tableElement[0]; this._fakeTable && this._fakeTable.detach(); this._fakeTable = null; this.disableVirtualMode(); this.setGroupWidth("100%"); this.setGroupHeight("auto"); this.resetColumnsWidth(); if (tableElement) { for (var i = 0; i < tableElement.rows.length; i += 1) { tableElement.rows[i].style.height = "" } tableElement.style.height = ""; tableElement.style.width = "100%" } }, _updateFakeTableVisibility: function() { var tableElement = this.tableElement()[0]; var horizontalOffsetName = this.option("rtlEnabled") ? "right" : "left"; var fakeTableElement = this._fakeTable[0]; if (tableElement.style.top === fakeTableElement.style.top && fakeTableElement.style[horizontalOffsetName] === tableElement.style[horizontalOffsetName]) { this._fakeTable.addClass("dx-hidden") } else { this._fakeTable.removeClass("dx-hidden") } }, _moveFakeTableHorizontally: function(scrollPos) { var rtlEnabled = this.option("rtlEnabled"); var offsetStyleName = rtlEnabled ? "right" : "left"; var tableElementOffset = parseFloat(this.tableElement()[0].style[offsetStyleName]); var offset = getFakeTableOffset(scrollPos, tableElementOffset, this._tableWidth, this.getGroupWidth()); if (parseFloat(this._fakeTable[0].style[offsetStyleName]) !== offset) { this._fakeTable[0].style[offsetStyleName] = "".concat(offset, "px") } }, _moveFakeTableTop: function(scrollPos) { var tableElementOffsetTop = parseFloat(this.tableElement()[0].style.top); var offsetTop = getFakeTableOffset(scrollPos, tableElementOffsetTop, this._tableHeight, this.getGroupHeight()); if (parseFloat(this._fakeTable[0].style.top) !== offsetTop) { this._fakeTable[0].style.top = "".concat(offsetTop, "px") } }, _moveFakeTable: function() { this._updateFakeTableVisibility() }, _createFakeTable: function() { if (!this._fakeTable) { this._fakeTable = this.tableElement().clone().addClass("dx-pivot-grid-fake-table").appendTo(this._virtualContent) } }, render: function(rootElement, data) { if (this._tableElement) { try { this._tableElement[0].innerHTML = "" } catch (e) { this._tableElement.empty() } this._tableElement.attr("style", "") } else { this._groupElement = this._createGroupElement(); this._tableElement = this._createTableElement(); this._tableElement.appendTo(this._groupElement); this._groupElement.appendTo(rootElement); this._rootElement = rootElement } this._colgroupElement = (0, _renderer.default)("
").appendTo(this._tableElement); this._renderTableContent(this._tableElement, data); this._renderVirtualContent() }, _getScrollable: function() { return this.groupElement().data("dxScrollable") }, _getMemoizeScrollTo: function() { var _this = this; var _a; this._memoizeScrollTo = null !== (_a = this._memoizeScrollTo) && void 0 !== _a ? _a : (0, _getMemoizeScrollTo2.getMemoizeScrollTo)((function() { return _this._getScrollable() })); return this._memoizeScrollTo }, _getMaxLeftOffset: function(scrollable) { var containerElement = (0, _renderer.default)(scrollable.container()).get(0); return containerElement.scrollWidth - containerElement.clientWidth }, on: function(eventName, handler) { var that = this; var scrollable = that._getScrollable(); if (scrollable) { scrollable.on(eventName, (function(e) { if (that.option("rtlEnabled") && (0, _type.isDefined)(e.scrollOffset.left)) { e.scrollOffset.left = that._getMaxLeftOffset(scrollable) - e.scrollOffset.left } handler(e) })) } return this }, off: function(eventName) { var scrollable = this._getScrollable(); if (scrollable) { scrollable.off(eventName) } return this }, scrollTo: function(pos) { var force = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false; var scrollable = this._getScrollable(); if (!scrollable) { return } var rtlEnabled = this.option("rtlEnabled"); var areaName = this._getAreaName(); var scrollablePos = _extends(_extends({}, pos), { left: rtlEnabled && ("column" === areaName || "data" === areaName) ? this._getMaxLeftOffset(scrollable) - pos.left : pos.left }); var memoizeScrollTo = this._getMemoizeScrollTo(); memoizeScrollTo(scrollablePos, force); if (this._virtualContent) { this._createFakeTable(); this._moveFakeTable(pos) } }, updateScrollable: function() { var scrollable = this._getScrollable(); if (scrollable) { return scrollable.update() } return }, getColumnsCount: function() { var columnCount = 0; var row = this._getRowElement(0); var cells; if (row) { cells = row.cells; for (var i = 0, len = cells.length; i < len; ++i) { columnCount += cells[i].colSpan } } return columnCount }, getData: function() { var tableElement = this._tableElement; return tableElement ? tableElement.data("data") : [] } }); exports.AreaItem = AreaItem; var _default = { AreaItem: AreaItem, getRealElementWidth: getRealElementWidth }; exports.default = _default }, 85654: /*!******************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/chart_integration/m_chart_integration.js ***! \******************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.ChartIntegrationMixin = void 0; var _renderer = (obj = __webpack_require__( /*! ../../../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _m_widget_utils = __webpack_require__( /*! ../m_widget_utils */ 28580); var FORMAT_DICTIONARY = { number: "numeric", date: "datetime" }; var UNBIND_KEY = "dxPivotGridUnbinding"; function getFormattedValue(path, fields) { var value = []; var lastFieldIndex = fields.length - 1; (0, _iterator.each)(path, (function(i, item) { value.push(item.text || (0, _m_widget_utils.formatValue)(item.value, fields[lastFieldIndex - i])) })); return value.reverse() } function getExpandedLevel(node) { var level = 0; (0, _m_widget_utils.foreachTree)(node, (function(members) { level = Math.max(level, members.length - 1) })); return level } function createChartDataSource(pivotGridDataSource, mapOptions, axisDictionary) { var data = pivotGridDataSource.getData(); var dataSource = []; var dataFields = pivotGridDataSource.getAreaFields("data"); var rowFields = pivotGridDataSource.getAreaFields("row"); var columnFields = pivotGridDataSource.getAreaFields("column"); var columnElements = [{ index: data.grandTotalColumnIndex, children: data.columns }]; var rowElements = [{ index: data.grandTotalRowIndex, children: data.rows }]; var rowLevel = getExpandedLevel(rowElements); var columnLevel = getExpandedLevel(columnElements); var measureIndex; var dataField; var rowMemberIndex; var rowVisibility; var rowPathFormatted; var rowPath; var columnMemberIndex; var columnVisibility; var columnPath; var columnPathFormatted; function createDataItem() { var dataCell = (data.values[rowMemberIndex] || [])[columnMemberIndex] || []; var value = dataCell[measureIndex]; var axis; var processCellArgs = { rowPath: rowPath, maxRowLevel: rowLevel, rowPathFormatted: rowPathFormatted, rowFields: rowFields, columnPathFormatted: columnPathFormatted, maxColumnLevel: columnLevel, columnPath: columnPath, columnFields: columnFields, dataFields: dataFields, dataIndex: measureIndex, dataValues: dataCell, visible: columnVisibility && rowVisibility }; var seriesName = (mapOptions.inverted ? columnPathFormatted : rowPathFormatted).join(" - "); var argument = (mapOptions.inverted ? rowPathFormatted : columnPathFormatted).join("/"); if (dataFields.length > 1) { if ("args" === mapOptions.putDataFieldsInto || "both" === mapOptions.putDataFieldsInto) { argument += " | ".concat(dataField.caption) } if ("args" !== mapOptions.putDataFieldsInto) { seriesName += " | ".concat(dataField.caption); if ("singleAxis" !== mapOptions.dataFieldsDisplayMode) { axis = dataField.caption } } } processCellArgs.chartDataItem = { val: void 0 === value ? null : value, series: seriesName, arg: argument }; processCellArgs = function(processCellArgs, processCell) { var chartDataItem = processCellArgs.chartDataItem; var processedCell = processCell && processCell(processCellArgs); if (processedCell) { chartDataItem = (0, _extend.extend)({}, chartDataItem, processedCell.chartDataItem); processedCell = (0, _extend.extend)({}, processCellArgs, processedCell, { chartDataItem: chartDataItem }); return processedCell } return processCellArgs }(processCellArgs, mapOptions.processCell); if (processCellArgs.visible) { axisDictionary[processCellArgs.chartDataItem.series] = axisDictionary[processCellArgs.chartDataItem.series] || axis; dataSource.push(processCellArgs.chartDataItem) } } function foreachRowColumn(callBack) { (0, _m_widget_utils.foreachTree)(rowElements, (function(rowMembers) { rowMemberIndex = rowMembers[0].index; rowMembers = rowMembers.slice(0, rowMembers.length - 1); rowVisibility = rowLevel === rowMembers.length; rowPath = (0, _m_widget_utils.createPath)(rowMembers); rowPathFormatted = getFormattedValue(rowMembers, rowFields); if (0 === rowPath.length) { rowPathFormatted = [mapOptions.grandTotalText] }(0, _m_widget_utils.foreachTree)(columnElements, (function(columnMembers) { columnMemberIndex = columnMembers[0].index; columnMembers = columnMembers.slice(0, columnMembers.length - 1); columnVisibility = columnLevel === columnMembers.length; columnPath = (0, _m_widget_utils.createPath)(columnMembers); columnPathFormatted = getFormattedValue(columnMembers, columnFields); if (0 === columnPath.length) { columnPathFormatted = [mapOptions.grandTotalText] } callBack() })) })) } function foreachDataField(callback) { (0, _iterator.each)(dataFields, (function(index, field) { dataField = field; measureIndex = index; callback() })) } if (false === mapOptions.alternateDataFields) { foreachDataField((function() { foreachRowColumn(createDataItem) })) } else { foreachRowColumn((function() { foreachDataField(createDataItem) })) } return dataSource } function createValueAxisOptions(dataSource, options) { var dataFields = dataSource.getAreaFields("data"); if ("args" !== options.putDataFieldsInto && "singleAxis" !== options.dataFieldsDisplayMode || 1 === dataFields.length) { var valueAxisSettings = []; (0, _iterator.each)(dataFields, (function(_, dataField) { var valueAxisOptions = { name: dataField.caption, title: dataField.caption, valueType: FORMAT_DICTIONARY[dataField.dataType] || dataField.dataType, label: { format: dataField.format } }; if (dataField.customizeText) { valueAxisOptions.label.customizeText = function(formatObject) { return dataField.customizeText.call(dataField, formatObject) } } if ("splitPanes" === options.dataFieldsDisplayMode) { valueAxisOptions.pane = dataField.caption } valueAxisSettings.push(valueAxisOptions) })); return valueAxisSettings } return [{}] } function createPanesOptions(dataSource, options) { var panes = []; var dataFields = dataSource.getAreaFields("data"); if (dataFields.length > 1 && "splitPanes" === options.dataFieldsDisplayMode && "args" !== options.putDataFieldsInto) { (0, _iterator.each)(dataFields, (function(_, dataField) { panes.push({ name: dataField.caption }) })) } if (!panes.length) { panes.push({}) } return panes } var ChartIntegrationMixin = { bindChart: function(chart, integrationOptions) { integrationOptions = (0, _extend.extend)({}, integrationOptions); var that = this; var updateChart = function() { integrationOptions.grandTotalText = that.option("texts.grandTotal"); var chartOptions = function(dataSource, options) { var _customizeSeries = options.customizeSeries; var customizeChart = options.customizeChart; var chartOptions = { valueAxis: createValueAxisOptions(dataSource, options), panes: createPanesOptions(dataSource, options) }; var axisDictionary = {}; if (customizeChart) { chartOptions = (0, _extend.extend)(true, {}, chartOptions, customizeChart(chartOptions)) } chartOptions.dataSource = createChartDataSource(dataSource, options, axisDictionary); chartOptions.seriesTemplate = { nameField: "series", customizeSeries: function(seriesName) { var seriesOptions = {}; if ("splitPanes" === options.dataFieldsDisplayMode) { seriesOptions.pane = axisDictionary[seriesName] } else if ("singleAxis" !== options.dataFieldsDisplayMode) { seriesOptions.axis = axisDictionary[seriesName] } if (_customizeSeries) { seriesOptions = (0, _extend.extend)(seriesOptions, _customizeSeries(seriesName, seriesOptions)) } return seriesOptions } }; return chartOptions }(that.getDataSource(), integrationOptions); chart.option(chartOptions) }; chart = function(chartElement) { if (!chartElement) { return false } if (chartElement.NAME) { return "dxChart" === chartElement.NAME && chartElement } var element = (0, _renderer.default)(chartElement); return element.data("dxChart") && element.dxChart("instance") }(chart); if (!chart) { return null }! function(chart) { var unbind = chart.$element().data(UNBIND_KEY); unbind && unbind() }(chart); that.on("changed", updateChart); updateChart(); var disposeBinding = function() { chart.$element().removeData(UNBIND_KEY); that.off("changed", updateChart) }; chart.on("disposing", disposeBinding); this.on("disposing", disposeBinding); chart.$element().data(UNBIND_KEY, disposeBinding); return disposeBinding } }; exports.ChartIntegrationMixin = ChartIntegrationMixin; var _default = { ChartIntegrationMixin: ChartIntegrationMixin }; exports.default = _default }, 18813: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/const.js ***! \**********************************************************************************/ function(__unused_webpack_module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.CLASSES = void 0; exports.CLASSES = { scrollBarMeasureElement: "dx-pivotgrid-scrollbar-measure-element" } }, 64318: /*!**************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/data_area/m_data_area.js ***! \**************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.DataArea = void 0; var _renderer = (obj = __webpack_require__( /*! ../../../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _support = __webpack_require__( /*! ../../../../core/utils/support */ 60137); var _m_area_item = __webpack_require__( /*! ../area_item/m_area_item */ 74305); var _m_widget_utils = __webpack_require__( /*! ../m_widget_utils */ 28580); var DataArea = _m_area_item.AreaItem.inherit({ _getAreaName: function() { return "data" }, _createGroupElement: function() { return (0, _renderer.default)("
").addClass("dx-pivotgrid-area").addClass("dx-pivotgrid-area-data").css("borderTopWidth", 0) }, _applyCustomStyles: function(options) { var cell = options.cell; var classArray = options.classArray; if ("T" === cell.rowType || "T" === cell.columnType) { classArray.push("dx-total") } if ("GT" === cell.rowType || "GT" === cell.columnType) { classArray.push("dx-grandtotal") } if ("T" === cell.rowType || "GT" === cell.rowType) { classArray.push("dx-row-total") } if (options.rowIndex === options.rowsCount - 1) { options.cssArray.push("border-bottom: 0px") } this.callBase(options) }, _moveFakeTable: function(scrollPos) { this._moveFakeTableHorizontally(scrollPos.x); this._moveFakeTableTop(scrollPos.y); this.callBase() }, renderScrollable: function() { this._groupElement.dxScrollable({ useNative: this.getUseNativeValue(), useSimulatedScrollbar: false, rtlEnabled: this.component.option("rtlEnabled"), bounceEnabled: false, updateManually: true }) }, getUseNativeValue: function() { var _this$component$optio = this.component.option("scrolling"), useNative = _this$component$optio.useNative; return "auto" === useNative ? !!_support.nativeScrolling : !!useNative }, getScrollbarWidth: function() { return this.getUseNativeValue() ? (0, _m_widget_utils.calculateScrollbarWidth)() : 0 }, updateScrollableOptions: function(_ref) { var direction = _ref.direction, rtlEnabled = _ref.rtlEnabled; var scrollable = this._getScrollable(); scrollable.option("useNative", this.getUseNativeValue()); scrollable.option({ direction: direction, rtlEnabled: rtlEnabled }) }, getScrollableDirection: function(horizontal, vertical) { if (horizontal && !vertical) { return "horizontal" } if (!horizontal && vertical) { return "vertical" } return "both" }, reset: function() { this.callBase(); if (this._virtualContent) { this._virtualContent.parent().css("height", "auto") } }, setVirtualContentParams: function(params) { this.callBase(params); this._virtualContent.parent().css("height", params.height); this._setTableCss({ top: params.top, left: params.left }) } }); exports.DataArea = DataArea; var _default = { DataArea: DataArea }; exports.default = _default }, 9517: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/data_controller/m_data_controller.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.DataController__internals = exports.DataController = void 0; var _class = _interopRequireDefault(__webpack_require__( /*! ../../../../core/class */ 38377)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/callbacks */ 44504)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend2 = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _string = __webpack_require__( /*! ../../../../core/utils/string */ 68752); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _m_state_storing_core = _interopRequireDefault(__webpack_require__( /*! ../../../grids/grid_core/state_storing/m_state_storing_core */ 84651)); var _m_virtual_columns_core = __webpack_require__( /*! ../../../grids/grid_core/virtual_columns/m_virtual_columns_core */ 44980); var _m_virtual_scrolling_core = _interopRequireDefault(__webpack_require__( /*! ../../../grids/grid_core/virtual_scrolling/m_virtual_scrolling_core */ 86770)); var _m_data_source = __webpack_require__( /*! ../data_source/m_data_source */ 16710); var _m_widget_utils = __webpack_require__( /*! ../m_widget_utils */ 28580); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var math = Math; var proxyMethod = function(instance, methodName, defaultResult) { if (!instance[methodName]) { instance[methodName] = function() { var dataSource = this._dataSource; return dataSource ? dataSource[methodName].apply(dataSource, arguments) : defaultResult } } }; var DataController = _class.default.inherit(function() { function formatCellValue(value, dataField, errorText) { return "#N/A" === value ? errorText : (0, _m_widget_utils.formatValue)(value, dataField) } var createHeaderInfo = function() { var addInfoItem = function(info, options) { var breadth = options.lastIndex - options.index || 1; var itemInfo = function(headerItem, breadth, isHorizontal, isTree) { var infoItem = { type: headerItem.type, text: headerItem.text }; if (headerItem.path) { infoItem.path = headerItem.path } if (headerItem.width) { infoItem.width = headerItem.width } if ((0, _type.isDefined)(headerItem.wordWrapEnabled)) { infoItem.wordWrapEnabled = headerItem.wordWrapEnabled } if (headerItem.isLast) { infoItem.isLast = true } if (headerItem.sorted) { infoItem.sorted = true } if (headerItem.isMetric) { infoItem.dataIndex = headerItem.dataIndex } if ((0, _type.isDefined)(headerItem.expanded)) { infoItem.expanded = headerItem.expanded } if (breadth > 1) { infoItem[isHorizontal ? "colspan" : "rowspan"] = breadth } if (headerItem.depthSize && headerItem.depthSize > 1) { infoItem[isHorizontal ? "rowspan" : "colspan"] = headerItem.depthSize } if (headerItem.index >= 0) { infoItem.dataSourceIndex = headerItem.index } if (isTree && headerItem.children && headerItem.children.length && !headerItem.children[0].isMetric) { infoItem.width = null; infoItem.isWhiteSpace = true } return infoItem }(options.headerItem, breadth, options.isHorizontal, options.isTree); ! function(info, infoItem, itemIndex, depthIndex, isHorizontal) { var index = isHorizontal ? depthIndex : itemIndex; while (!info[index]) { info.push([]) } if (isHorizontal) { info[index].push(infoItem) } else { info[index].unshift(infoItem) } }(info, itemInfo, options.index, options.depth, options.isHorizontal); if (!options.headerItem.children || 0 === options.headerItem.children.length) { return options.lastIndex + 1 } return options.lastIndex }; var getViewHeaderItems = function(headerItems, headerDescriptions, cellDescriptions, depthSize, options) { var cellDescriptionsCount = cellDescriptions.length; var viewHeaderItems = function(headerItems, headerDescriptions) { var headerDescriptionsCount = headerDescriptions && headerDescriptions.length || 0; var childrenStack = []; var d = new _deferred.Deferred; var headerItem; (0, _deferred.when)((0, _m_widget_utils.foreachTreeAsync)(headerItems, (function(items, index) { var item = items[0]; var path = (0, _m_widget_utils.createPath)(items); headerItem = createHeaderItem(childrenStack, path.length, index); headerItem.type = "D"; headerItem.value = item.value; headerItem.path = path; headerItem.text = item.text; headerItem.index = item.index; headerItem.displayText = item.displayText; headerItem.key = item.key; headerItem.isEmpty = item.isEmpty; if (path.length < headerDescriptionsCount && (!item.children || 0 !== item.children.length)) { headerItem.expanded = !!item.children } }))).done((function() { d.resolve(createHeaderItem(childrenStack, 0, 0).children || []) })); return d }(headerItems, headerDescriptions); var dataFields = options.dataFields; var d = new _deferred.Deferred; (0, _deferred.when)(viewHeaderItems).done((function(viewHeaderItems) { options.notifyProgress(.5); if (options.showGrandTotals) { viewHeaderItems[!options.showTotalsPrior ? "push" : "unshift"]({ type: "GT", isEmpty: options.isEmptyGrandTotal }) } var hideTotals = false === options.showTotals || dataFields.length > 0 && dataFields.length === options.hiddenTotals.length; var hideData = dataFields.length > 0 && options.hiddenValues.length === dataFields.length; if (hideData && hideTotals) { depthSize = 1 } if (!hideTotals || "tree" === options.layout) { ! function(headerItems, headerDescriptions, showTotalsPrior, isTree) { showTotalsPrior = showTotalsPrior || isTree; (0, _m_widget_utils.foreachTree)(headerItems, (function(items, index) { var item = items[0]; var parentChildren = (items[1] ? items[1].children : headerItems) || []; var dataField = headerDescriptions[items.length - 1]; if ("D" === item.type && item.expanded && (false !== dataField.showTotals || isTree)) { -1 !== index && parentChildren.splice(showTotalsPrior ? index : index + 1, 0, (0, _extend2.extend)({}, item, { children: null, type: "T", expanded: showTotalsPrior ? true : null, isAdditionalTotal: true })); if (showTotalsPrior) { item.expanded = null } } })) }(viewHeaderItems, headerDescriptions, options.showTotalsPrior, "tree" === options.layout) }(0, _deferred.when)((0, _m_widget_utils.foreachTreeAsync)(viewHeaderItems, (function(items) { var item = items[0]; if (!item.children || 0 === item.children.length) { item.depthSize = depthSize - items.length + 1 } }))).done((function() { if (cellDescriptionsCount > 1) { ! function(headerItems, cellDescriptions, options) { (0, _m_widget_utils.foreachTree)(headerItems, (function(items) { var item = items[0]; var i; if (!item.children || 0 === item.children.length) { item.children = []; for (i = 0; i < cellDescriptions.length; i += 1) { var isGrandTotal = "GT" === item.type; var isTotal = "T" === item.type; var isValue = "D" === item.type; var columnIsHidden = false === cellDescriptions[i].visible || isGrandTotal && options.hiddenGrandTotals.includes(i) || isTotal && options.hiddenTotals.includes(i) || isValue && options.hiddenValues.includes(i); if (columnIsHidden) { continue } item.children.push({ caption: cellDescriptions[i].caption, path: item.path, type: item.type, value: i, index: item.index, dataIndex: i, isMetric: true, isEmpty: item.isEmpty && item.isEmpty[i] }) } } })) }(viewHeaderItems, cellDescriptions, options) }!options.showEmpty && function(headerItems) { (0, _m_widget_utils.foreachTree)([{ children: headerItems }], (function(items, index) { var item = items[0]; var parentChildren = (items[1] ? items[1].children : headerItems) || []; var isEmpty = item.isEmpty; if (isEmpty && isEmpty.length) { isEmpty = item.isEmpty.filter((function(isEmpty) { return isEmpty })).length === isEmpty.length } if (item && !item.children && isEmpty) { parentChildren.splice(index, 1); ! function removeEmptyParent(items, index) { var parent = items[index + 1]; if (!items[index].children.length && parent && parent.children) { parent.children.splice(parent.children.indexOf(items[index]), 1); removeEmptyParent(items, index + 1) } }(items, 1) } })) }(viewHeaderItems); options.notifyProgress(.75); (0, _deferred.when)((0, _m_widget_utils.foreachTreeAsync)(viewHeaderItems, (function(items) { var item = items[0]; var isMetric = item.isMetric; var field = headerDescriptions[items.length - 1] || {}; if ("D" === item.type && !isMetric) { item.width = field.width } if (hideData && "D" === item.type) { var parentChildren = (items[1] ? items[1].children : viewHeaderItems) || []; parentChildren.splice(parentChildren.indexOf(item), 1); return } if (isMetric) { item.wordWrapEnabled = cellDescriptions[item.dataIndex].wordWrapEnabled } else { item.wordWrapEnabled = field.wordWrapEnabled } item.isLast = !item.children || !item.children.length; if (item.isLast) { (0, _iterator.each)(options.sortBySummaryPaths, (function(_, sortBySummaryPath) { if (!(0, _type.isDefined)(item.dataIndex)) { sortBySummaryPath = sortBySummaryPath.slice(0); sortBySummaryPath.pop() } if (function(items, sortBySummaryPath) { var path; var item = items[0]; var stringValuesUsed = (0, _type.isString)(sortBySummaryPath[0]); var headerItem = item.dataIndex >= 0 ? items[1] : item; if (stringValuesUsed && -1 !== sortBySummaryPath[0].indexOf("&[") && headerItem.key || !headerItem.key) { path = (0, _m_widget_utils.createPath)(items) } else { path = (0, _iterator.map)(items, (function(item) { return item.dataIndex >= 0 ? item.value : item.text })).reverse() } if ("GT" === item.type) { path = path.slice(1) } return path.join("/") === sortBySummaryPath.join("/") }(items, sortBySummaryPath)) { item.sorted = true; return false } return })) } item.text = function(item, description, options) { var text = item.text; if ((0, _type.isDefined)(item.displayText)) { text = item.displayText } else if ((0, _type.isDefined)(item.caption)) { text = item.caption } else if ("GT" === item.type) { text = options.texts.grandTotal } if (item.isAdditionalTotal) { text = (0, _string.format)(options.texts.total || "", text) } return text }(item, 0, options) }))).done((function() { if (!viewHeaderItems.length) { viewHeaderItems.push({}) } options.notifyProgress(1); d.resolve(viewHeaderItems) })) })) })); return d }; function createHeaderItem(childrenStack, depth, index) { var parent = childrenStack[depth] = childrenStack[depth] || []; var node = parent[index] = {}; if (childrenStack[depth + 1]) { node.children = childrenStack[depth + 1]; for (var i = depth + 1; i < childrenStack.length; i += 1) { childrenStack[i] = void 0 } childrenStack.length = depth + 1 } return node } return function(headerItems, headerDescriptions, cellDescriptions, isHorizontal, options) { var info = []; var depthSize = function(headerItems) { var depth = 0; (0, _m_widget_utils.foreachTree)(headerItems, (function(items) { depth = math.max(depth, items.length) })); return depth }(headerItems) || 1; var d = new _deferred.Deferred; getViewHeaderItems(headerItems, headerDescriptions, cellDescriptions, depthSize, options).done((function(viewHeaderItems) { ! function(info, viewHeaderItems, depthSize, isHorizontal, isTree) { var lastIndex = 0; var index; var depth; var indexesByDepth = [0]; (0, _m_widget_utils.foreachTree)(viewHeaderItems, (function(items) { var headerItem = items[0]; depth = headerItem.isMetric ? depthSize : items.length - 1; while (indexesByDepth.length - 1 < depth) { indexesByDepth.push(indexesByDepth[indexesByDepth.length - 1]) } index = indexesByDepth[depth] || 0; lastIndex = addInfoItem(info, { headerItem: headerItem, index: index, lastIndex: lastIndex, depth: depth, isHorizontal: isHorizontal, isTree: isTree }); indexesByDepth.length = depth; indexesByDepth.push(lastIndex) })) }(info, viewHeaderItems, depthSize, isHorizontal, "tree" === options.layout); options.notifyProgress(1); d.resolve(info) })); return d } }(); function createSortPaths(headerFields, dataFields) { var sortBySummaryPaths = []; (0, _iterator.each)(headerFields, (function(_, headerField) { var fieldIndex = (0, _m_widget_utils.findField)(dataFields, headerField.sortBySummaryField); if (fieldIndex >= 0) { sortBySummaryPaths.push((headerField.sortBySummaryPath || []).concat([fieldIndex])) } })); return sortBySummaryPaths } function foreachRowInfo(rowsInfo, callback) { var columnOffset = 0; var columnOffsetResetIndexes = []; for (var i = 0; i < rowsInfo.length; i += 1) { for (var j = 0; j < rowsInfo[i].length; j += 1) { var rowSpanOffset = (rowsInfo[i][j].rowspan || 1) - 1; var visibleIndex = i + rowSpanOffset; if (columnOffsetResetIndexes[i]) { columnOffset -= columnOffsetResetIndexes[i]; columnOffsetResetIndexes[i] = 0 } if (false === callback(rowsInfo[i][j], visibleIndex, i, j, columnOffset)) { break } columnOffsetResetIndexes[i + (rowsInfo[i][j].rowspan || 1)] = (columnOffsetResetIndexes[i + (rowsInfo[i][j].rowspan || 1)] || 0) + 1; columnOffset += 1 } } } function getHeaderIndexedItems(headerItems, options) { var visibleIndex = 0; var indexedItems = []; (0, _m_widget_utils.foreachTree)(headerItems, (function(items) { var headerItem = items[0]; var path = (0, _m_widget_utils.createPath)(items); if (headerItem.children && false === options.showTotals) { return } var indexedItem = (0, _extend2.extend)(true, {}, headerItem, { visibleIndex: visibleIndex += 1, path: path }); if ((0, _type.isDefined)(indexedItem.index)) { indexedItems[indexedItem.index] = indexedItem } else { indexedItems.push(indexedItem) } })); return indexedItems } function createScrollController(dataController, component, dataAdapter) { return new _m_virtual_scrolling_core.default.VirtualScrollController(component, (0, _extend2.extend)({ hasKnownLastPage: function() { return true }, pageCount: function() { return math.ceil(this.totalItemsCount() / this.pageSize()) }, updateLoading: function() {}, itemsCount: function() { if (this.pageIndex() < this.pageCount() - 1) { return this.pageSize() } return this.totalItemsCount() % this.pageSize() }, items: function() { return [] }, viewportItems: function() { return [] }, onChanged: function() {}, isLoading: function() { return dataController.isLoading() }, changingDuration: function() { var dataSource = dataController._dataSource; if (dataSource.paginate()) { return 300 } return dataController._changingDuration || 0 } }, dataAdapter)) } var members = { ctor: function(options) { var that = this; var virtualScrollControllerChanged = that._fireChanged.bind(that); options = that._options = options || {}; that.dataSourceChanged = (0, _callbacks.default)(); that._dataSource = that._createDataSource(options); if (options.component && "virtual" === options.component.option("scrolling.mode")) { that._rowsScrollController = createScrollController(that, options.component, { totalItemsCount: function() { return that.totalRowCount() }, pageIndex: function(index) { return that.rowPageIndex(index) }, pageSize: function() { return that.rowPageSize() }, load: function() { if (that._rowsScrollController.pageIndex() >= this.pageCount()) { that._rowsScrollController.pageIndex(this.pageCount() - 1) } return that._rowsScrollController.handleDataChanged((function() { if (that._dataSource.paginate()) { that._dataSource.load() } else { virtualScrollControllerChanged.apply(this, arguments) } })) } }); that._columnsScrollController = createScrollController(that, options.component, { totalItemsCount: function() { return that.totalColumnCount() }, pageIndex: function(index) { return that.columnPageIndex(index) }, pageSize: function() { return that.columnPageSize() }, load: function() { if (that._columnsScrollController.pageIndex() >= this.pageCount()) { that._columnsScrollController.pageIndex(this.pageCount() - 1) } return that._columnsScrollController.handleDataChanged((function() { if (that._dataSource.paginate()) { that._dataSource.load() } else { virtualScrollControllerChanged.apply(this, arguments) } })) } }) } that._stateStoringController = new _m_state_storing_core.default.StateStoringController(options.component).init(); that._columnsInfo = []; that._rowsInfo = []; that._cellsInfo = []; that.expandValueChanging = (0, _callbacks.default)(); that.loadingChanged = (0, _callbacks.default)(); that.progressChanged = (0, _callbacks.default)(); that.scrollChanged = (0, _callbacks.default)(); that.load(); that._update(); that.changed = (0, _callbacks.default)() }, _fireChanged: function() { var startChanging = new Date; this.changed && !this._lockChanged && this.changed.fire(); this._changingDuration = new Date - startChanging }, _correctSkipsTakes: function(rowIndex, rowSkip, rowSpan, levels, skips, takes) { var endIndex = rowSpan ? rowIndex + rowSpan - 1 : rowIndex; skips[levels.length] = skips[levels.length] || 0; takes[levels.length] = takes[levels.length] || 0; if (endIndex < rowSkip) { skips[levels.length] += 1 } else { takes[levels.length] += 1 } }, _calculatePagingForRowExpandedPaths: function(options, skips, takes, rowExpandedSkips, rowExpandedTakes) { var rows = this._rowsInfo; var rowCount = Math.min(options.rowSkip + options.rowTake, rows.length); var rowExpandedPaths = options.rowExpandedPaths; var levels = []; var expandedPathIndexes = {}; var i; var j; var path; rowExpandedPaths.forEach((function(path, index) { expandedPathIndexes[path] = index })); for (i = 0; i < rowCount; i += 1) { takes.length = skips.length = levels.length + 1; for (j = 0; j < rows[i].length; j += 1) { var cell = rows[i][j]; if ("D" === cell.type) { this._correctSkipsTakes(i, options.rowSkip, cell.rowspan, levels, skips, takes); path = cell.path || path; var expandIndex = path && path.length > 1 ? expandedPathIndexes[path.slice(0, -1)] : -1; if (expandIndex >= 0) { rowExpandedSkips[expandIndex] = skips[levels.length] || 0; rowExpandedTakes[expandIndex] = takes[levels.length] || 0 } if (cell.rowspan) { levels.push(cell.rowspan) } } } levels = levels.map((function(level) { return level - 1 })).filter((function(level) { return level > 0 })) } }, _calculatePagingForColumnExpandedPaths: function(options, skips, takes, expandedSkips, expandedTakes) { var skipByPath = {}; var takeByPath = {}; (0, _m_virtual_columns_core.foreachColumnInfo)(this._columnsInfo, (function(columnInfo, columnIndex) { if ("D" === columnInfo.type && columnInfo.path && void 0 === columnInfo.dataIndex) { var colspan = columnInfo.colspan || 1; var path = columnInfo.path.slice(0, -1).toString(); skipByPath[path] = skipByPath[path] || 0; takeByPath[path] = takeByPath[path] || 0; if (columnIndex + colspan <= options.columnSkip) { skipByPath[path] += 1 } else if (columnIndex < options.columnSkip + options.columnTake) { takeByPath[path] += 1 } } })); skips[0] = skipByPath[""]; takes[0] = takeByPath[""]; options.columnExpandedPaths.forEach((function(path, index) { var skip = skipByPath[path]; var take = takeByPath[path]; if (void 0 !== skip) { expandedSkips[index] = skip } if (void 0 !== take) { expandedTakes[index] = take } })) }, _processPagingForExpandedPaths: function(options, area, storeLoadOptions, reload) { var expandedPaths = options["".concat(area, "ExpandedPaths")]; var expandedSkips = expandedPaths.map((function() { return 0 })); var expandedTakes = expandedPaths.map((function() { return reload ? options.pageSize : 0 })); var skips = []; var takes = []; if (!reload) { if ("row" === area) { this._calculatePagingForRowExpandedPaths(options, skips, takes, expandedSkips, expandedTakes) } else { this._calculatePagingForColumnExpandedPaths(options, skips, takes, expandedSkips, expandedTakes) } } this._savePagingForExpandedPaths(options, area, storeLoadOptions, skips[0], takes[0], expandedSkips, expandedTakes) }, _savePagingForExpandedPaths: function(options, area, storeLoadOptions, skip, take, expandedSkips, expandedTakes) { var expandedPaths = options["".concat(area, "ExpandedPaths")]; options["".concat(area, "ExpandedPaths")] = []; options["".concat(area, "Skip")] = void 0 !== skip ? skip : options["".concat(area, "Skip")]; options["".concat(area, "Take")] = void 0 !== take ? take : options["".concat(area, "Take")]; for (var i = 0; i < expandedPaths.length; i += 1) { if (expandedTakes[i]) { var _extend; var isOppositeArea = options.area && options.area !== area; storeLoadOptions.push((0, _extend2.extend)({ area: area, headerName: "".concat(area, "s") }, options, (_extend = {}, _defineProperty(_extend, "".concat(area, "Skip"), expandedSkips[i]), _defineProperty(_extend, "".concat(area, "Take"), expandedTakes[i]), _defineProperty(_extend, isOppositeArea ? "oppositePath" : "path", expandedPaths[i]), _extend))) } } }, _handleCustomizeStoreLoadOptions: function(storeLoadOptions, reload) { var _this = this; var options = storeLoadOptions[0]; var rowsScrollController = this._rowsScrollController; if (this._dataSource.paginate() && rowsScrollController) { var rowPageSize = rowsScrollController.pageSize(); if ("rows" === options.headerName) { options.rowSkip = 0; options.rowTake = rowPageSize; options.rowExpandedPaths = [] } else { options.rowSkip = rowsScrollController.beginPageIndex() * rowPageSize; options.rowTake = (rowsScrollController.endPageIndex() - rowsScrollController.beginPageIndex() + 1) * rowPageSize; this._processPagingForExpandedPaths(options, "row", storeLoadOptions, reload) } } var columnsScrollController = this._columnsScrollController; if (this._dataSource.paginate() && columnsScrollController) { var columnPageSize = columnsScrollController.pageSize(); storeLoadOptions.forEach((function(options) { if ("columns" === options.headerName) { options.columnSkip = 0; options.columnTake = columnPageSize; options.columnExpandedPaths = [] } else { options.columnSkip = columnsScrollController.beginPageIndex() * columnPageSize; options.columnTake = (columnsScrollController.endPageIndex() - columnsScrollController.beginPageIndex() + 1) * columnPageSize; _this._processPagingForExpandedPaths(options, "column", storeLoadOptions, reload) } })) } }, load: function() { var that = this; var stateStoringController = this._stateStoringController; if (stateStoringController.isEnabled() && !stateStoringController.isLoaded()) { stateStoringController.load().always((function(state) { if (state) { that._dataSource.state(state) } else { that._dataSource.load() } })) } else { that._dataSource.load() } }, calculateVirtualContentParams: function(contentParams) { var rowsScrollController = this._rowsScrollController; var columnsScrollController = this._columnsScrollController; if (rowsScrollController && columnsScrollController) { rowsScrollController.viewportItemSize(contentParams.virtualRowHeight); rowsScrollController.viewportSize(contentParams.viewportHeight / rowsScrollController.viewportItemSize()); rowsScrollController.setContentItemSizes(contentParams.itemHeights); columnsScrollController.viewportItemSize(contentParams.virtualColumnWidth); columnsScrollController.viewportSize(contentParams.viewportWidth / columnsScrollController.viewportItemSize()); columnsScrollController.setContentItemSizes(contentParams.itemWidths); (0, _common.deferUpdate)((function() { columnsScrollController.loadIfNeed(); rowsScrollController.loadIfNeed() })); this.scrollChanged.fire({ left: columnsScrollController.getViewportPosition(), top: rowsScrollController.getViewportPosition() }); return { contentTop: rowsScrollController.getContentOffset(), contentLeft: columnsScrollController.getContentOffset(), width: columnsScrollController.getVirtualContentSize(), height: rowsScrollController.getVirtualContentSize() } } return }, setViewportPosition: function(left, top) { this._rowsScrollController.setViewportPosition(top || 0); this._columnsScrollController.setViewportPosition(left || 0) }, subscribeToWindowScrollEvents: function($element) { var _a; null === (_a = this._rowsScrollController) || void 0 === _a ? void 0 : _a.subscribeToWindowScrollEvents($element) }, updateWindowScrollPosition: function(position) { var _a; null === (_a = this._rowsScrollController) || void 0 === _a ? void 0 : _a.scrollTo(position) }, updateViewOptions: function(options) { (0, _extend2.extend)(this._options, options); this._update() }, _handleExpandValueChanging: function(e) { this.expandValueChanging.fire(e) }, _handleLoadingChanged: function(isLoading) { this.loadingChanged.fire(isLoading) }, _handleProgressChanged: function(progress) { this.progressChanged.fire(progress) }, _handleFieldsPrepared: function(e) { this._options.onFieldsPrepared && this._options.onFieldsPrepared(e) }, _createDataSource: function(options) { var that = this; var dataSourceOptions = options.dataSource; var dataSource; that._isSharedDataSource = dataSourceOptions instanceof _m_data_source.PivotGridDataSource; if (that._isSharedDataSource) { dataSource = dataSourceOptions } else { dataSource = new _m_data_source.PivotGridDataSource(dataSourceOptions) } that._expandValueChangingHandler = that._handleExpandValueChanging.bind(that); that._loadingChangedHandler = that._handleLoadingChanged.bind(that); that._fieldsPreparedHandler = that._handleFieldsPrepared.bind(that); that._customizeStoreLoadOptionsHandler = that._handleCustomizeStoreLoadOptions.bind(that); that._changedHandler = function() { that._update(); that.dataSourceChanged.fire() }; that._progressChangedHandler = function(progress) { that._handleProgressChanged(.8 * progress) }; dataSource.on("changed", that._changedHandler); dataSource.on("expandValueChanging", that._expandValueChangingHandler); dataSource.on("loadingChanged", that._loadingChangedHandler); dataSource.on("progressChanged", that._progressChangedHandler); dataSource.on("fieldsPrepared", that._fieldsPreparedHandler); dataSource.on("customizeStoreLoadOptions", that._customizeStoreLoadOptionsHandler); return dataSource }, getDataSource: function() { return this._dataSource }, isLoading: function() { return this._dataSource.isLoading() }, beginLoading: function() { this._dataSource.beginLoading() }, endLoading: function() { this._dataSource.endLoading() }, _update: function() { var that = this; var dataSource = that._dataSource; var options = that._options; var columnFields = dataSource.getAreaFields("column"); var rowFields = dataSource.getAreaFields("row"); var dataFields = dataSource.getAreaFields("data"); var dataFieldsForRows = "row" === options.dataFieldArea ? dataFields : []; var dataFieldsForColumns = "row" !== options.dataFieldArea ? dataFields : []; var data = dataSource.getData(); var hiddenTotals = function(dataFields) { var result = []; (0, _iterator.each)(dataFields, (function(index, field) { if (false === field.showTotals) { result.push(index) } })); return result }(dataFields); var hiddenValues = function(dataFields) { var result = []; dataFields.forEach((function(field, index) { if (void 0 === field.showValues && false === field.showTotals || false === field.showValues) { result.push(index) } })); return result }(dataFields); var hiddenGrandTotals = function(dataFields, columnFields) { var result = []; (0, _iterator.each)(dataFields, (function(index, field) { if (false === field.showGrandTotals) { result.push(index) } })); if (0 === columnFields.length && result.length === dataFields.length) { result = [] } return result }(dataFields, columnFields); var grandTotalsAreHiddenForNotAllDataFields = dataFields.length > 0 ? hiddenGrandTotals.length !== dataFields.length : true; var rowOptions = { isEmptyGrandTotal: data.isEmptyGrandTotalRow, texts: options.texts || {}, hiddenTotals: hiddenTotals, hiddenValues: hiddenValues, hiddenGrandTotals: [], showTotals: options.showRowTotals, showGrandTotals: false !== options.showRowGrandTotals && grandTotalsAreHiddenForNotAllDataFields, sortBySummaryPaths: createSortPaths(columnFields, dataFields), showTotalsPrior: "rows" === options.showTotalsPrior || "both" === options.showTotalsPrior, showEmpty: !options.hideEmptySummaryCells, layout: options.rowHeaderLayout, fields: rowFields, dataFields: dataFields, progress: 0 }; var columnOptions = { isEmptyGrandTotal: data.isEmptyGrandTotalColumn, texts: options.texts || {}, hiddenTotals: hiddenTotals, hiddenValues: hiddenValues, hiddenGrandTotals: hiddenGrandTotals, showTotals: options.showColumnTotals, showTotalsPrior: "columns" === options.showTotalsPrior || "both" === options.showTotalsPrior, showGrandTotals: false !== options.showColumnGrandTotals && grandTotalsAreHiddenForNotAllDataFields, sortBySummaryPaths: createSortPaths(rowFields, dataFields), showEmpty: !options.hideEmptySummaryCells, fields: columnFields, dataFields: dataFields, progress: 0 }; var notifyProgress = function(progress) { this.progress = progress; that._handleProgressChanged(.8 + .1 * rowOptions.progress + .1 * columnOptions.progress) }; rowOptions.notifyProgress = notifyProgress; columnOptions.notifyProgress = notifyProgress; if (!(0, _type.isDefined)(data.grandTotalRowIndex)) { data.grandTotalRowIndex = getHeaderIndexedItems(data.rows, rowOptions).length } if (!(0, _type.isDefined)(data.grandTotalColumnIndex)) { data.grandTotalColumnIndex = getHeaderIndexedItems(data.columns, columnOptions).length } dataSource._changeLoadingCount(1); (0, _deferred.when)(createHeaderInfo(data.columns, columnFields, dataFieldsForColumns, true, columnOptions), createHeaderInfo(data.rows, rowFields, dataFieldsForRows, false, rowOptions)).always((function() { dataSource._changeLoadingCount(-1) })).done((function(columnsInfo, rowsInfo) { that._columnsInfo = columnsInfo; that._rowsInfo = rowsInfo; if (that._rowsScrollController && that._columnsScrollController && that.changed && !that._dataSource.paginate()) { that._rowsScrollController.reset(true); that._columnsScrollController.reset(true); that._lockChanged = true; that._rowsScrollController.load(); that._columnsScrollController.load(); that._lockChanged = false } })).done((function() { that._fireChanged(); if (that._stateStoringController.isEnabled() && !that._dataSource.isLoading()) { that._stateStoringController.state(that._dataSource.state()); that._stateStoringController.save() } })) }, getRowsInfo: function(getAllData) { var rowsInfo = this._rowsInfo; var scrollController = this._rowsScrollController; var rowspan; if (scrollController && !getAllData) { var startIndex = scrollController.beginPageIndex() * this.rowPageSize(); var endIndex = scrollController.endPageIndex() * this.rowPageSize() + this.rowPageSize(); var newRowsInfo = []; var maxDepth = 1; foreachRowInfo(rowsInfo, (function(rowInfo, visibleIndex, rowIndex, _, columnIndex) { var isVisible = visibleIndex >= startIndex && rowIndex < endIndex; var index = rowIndex < startIndex ? 0 : rowIndex - startIndex; var cell = rowInfo; if (isVisible) { newRowsInfo[index] = newRowsInfo[index] || []; rowspan = rowIndex < startIndex ? rowInfo.rowspan - (startIndex - rowIndex) || 1 : rowInfo.rowspan; if (startIndex + index + rowspan > endIndex) { rowspan = endIndex - (index + startIndex) || 1 } if (rowspan !== rowInfo.rowspan) { cell = (0, _extend2.extend)({}, cell, { rowspan: rowspan }) } newRowsInfo[index].push(cell); maxDepth = math.max(maxDepth, columnIndex + 1) } else { return false } return })); foreachRowInfo(newRowsInfo, (function(rowInfo, visibleIndex, rowIndex, columnIndex, realColumnIndex) { var colspan = rowInfo.colspan || 1; if (realColumnIndex + colspan > maxDepth) { newRowsInfo[rowIndex][columnIndex] = (0, _extend2.extend)({}, rowInfo, { colspan: maxDepth - realColumnIndex || 1 }) } })); return newRowsInfo } return rowsInfo }, getColumnsInfo: function(getAllData) { var info = this._columnsInfo; var scrollController = this._columnsScrollController; if (scrollController && !getAllData) { var startIndex = scrollController.beginPageIndex() * this.columnPageSize(); var endIndex = scrollController.endPageIndex() * this.columnPageSize() + this.columnPageSize(); info = (0, _m_virtual_columns_core.createColumnsInfo)(info, startIndex, endIndex) } return info }, totalRowCount: function() { return this._rowsInfo.length }, rowPageIndex: function(index) { if (void 0 !== index) { this._rowPageIndex = index } return this._rowPageIndex || 0 }, totalColumnCount: function() { var count = 0; if (this._columnsInfo && this._columnsInfo.length) { for (var i = 0; i < this._columnsInfo[0].length; i += 1) { count += this._columnsInfo[0][i].colspan || 1 } } return count }, rowPageSize: function(size) { if (void 0 !== size) { this._rowPageSize = size } return this._rowPageSize || 20 }, columnPageSize: function(size) { if (void 0 !== size) { this._columnPageSize = size } return this._columnPageSize || 20 }, columnPageIndex: function(index) { if (void 0 !== index) { this._columnPageIndex = index } return this._columnPageIndex || 0 }, getCellsInfo: function(getAllData) { var rowsInfo = this.getRowsInfo(getAllData); var columnsInfo = this.getColumnsInfo(getAllData); var data = this._dataSource.getData(); var texts = this._options.texts || {}; return function(rowsInfo, columnsInfo, data, dataFields, dataFieldArea, errorText) { var info = []; var dataFieldAreaInRows = "row" === dataFieldArea; var dataSourceCells = data.values; dataSourceCells.length && foreachRowInfo(rowsInfo, (function(rowInfo, rowIndex) { var row = info[rowIndex] = []; var dataRow = dataSourceCells[rowInfo.dataSourceIndex >= 0 ? rowInfo.dataSourceIndex : data.grandTotalRowIndex] || []; rowInfo.isLast && (0, _m_virtual_columns_core.foreachColumnInfo)(columnsInfo, (function(columnInfo, columnIndex) { var dataIndex = (dataFieldAreaInRows ? rowInfo.dataIndex : columnInfo.dataIndex) || 0; var dataField = dataFields[dataIndex]; if (columnInfo.isLast && dataField && false !== dataField.visible) { var cell = dataRow[columnInfo.dataSourceIndex >= 0 ? columnInfo.dataSourceIndex : data.grandTotalColumnIndex]; if (!Array.isArray(cell)) { cell = [cell] } var cellValue = cell[dataIndex]; row[columnIndex] = { text: formatCellValue(cellValue, dataField, errorText), value: cellValue, format: dataField.format, dataType: dataField.dataType, columnType: columnInfo.type, rowType: rowInfo.type, rowPath: rowInfo.path || [], columnPath: columnInfo.path || [], dataIndex: dataIndex }; if (dataField.width) { row[columnIndex].width = dataField.width } } })) })); return info }(rowsInfo, columnsInfo, data, this._dataSource.getAreaFields("data"), this._options.dataFieldArea, texts.dataNotAvailable) }, dispose: function() { if (this._isSharedDataSource) { this._dataSource.off("changed", this._changedHandler); this._dataSource.off("expandValueChanging", this._expandValueChangingHandler); this._dataSource.off("loadingChanged", this._loadingChangedHandler); this._dataSource.off("progressChanged", this._progressChangedHandler); this._dataSource.off("fieldsPrepared", this._fieldsPreparedHandler); this._dataSource.off("customizeStoreLoadOptions", this._customizeStoreLoadOptionsHandler) } else { this._dataSource.dispose() } this._columnsScrollController && this._columnsScrollController.dispose(); this._rowsScrollController && this._rowsScrollController.dispose(); this._stateStoringController.dispose(); this.expandValueChanging.empty(); this.changed.empty(); this.loadingChanged.empty(); this.progressChanged.empty(); this.scrollChanged.empty(); this.dataSourceChanged.empty() } }; proxyMethod(members, "applyPartialDataSource"); proxyMethod(members, "collapseHeaderItem"); proxyMethod(members, "expandHeaderItem"); proxyMethod(members, "getData"); proxyMethod(members, "isEmpty"); return members }()); exports.DataController = DataController; var DataController__internals = { NO_DATA_AVAILABLE_TEXT: "#N/A" }; exports.DataController__internals = DataController__internals; var _default = { DataController: DataController, DataController__internals: DataController__internals }; exports.default = _default }, 16710: /*!******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/data_source/m_data_source.js ***! \******************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.PivotGridDataSource = void 0; var _class = _interopRequireDefault(__webpack_require__( /*! ../../../../core/class */ 38377)); var _events_strategy = __webpack_require__( /*! ../../../../core/events_strategy */ 80566); var _array = __webpack_require__( /*! ../../../../core/utils/array */ 89386); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _inflector = __webpack_require__( /*! ../../../../core/utils/inflector */ 78008); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _abstract_store = _interopRequireDefault(__webpack_require__( /*! ../../../../data/abstract_store */ 67403)); var _utils = __webpack_require__( /*! ../../../../data/data_source/utils */ 9234); var _m_local_store = __webpack_require__( /*! ../local_store/m_local_store */ 16564); var _m_widget_utils = __webpack_require__( /*! ../m_widget_utils */ 28580); var _m_remote_store = __webpack_require__( /*! ../remote_store/m_remote_store */ 2166); var _m_summary_display_modes = _interopRequireDefault(__webpack_require__( /*! ../summary_display_modes/m_summary_display_modes */ 42717)); var _m_xmla_store = _interopRequireDefault(__webpack_require__( /*! ../xmla_store/m_xmla_store */ 79755)); var _m_data_source_utils = __webpack_require__( /*! ./m_data_source_utils */ 91629); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var DESCRIPTION_NAME_BY_AREA = { row: "rows", column: "columns", data: "values", filter: "filters" }; var STATE_PROPERTIES = ["area", "areaIndex", "sortOrder", "filterType", "filterValues", "sortBy", "sortBySummaryField", "sortBySummaryPath", "expanded", "summaryType", "summaryDisplayMode"]; var CALCULATED_PROPERTIES = ["format", "selector", "customizeText", "caption"]; var ALL_CALCULATED_PROPERTIES = CALCULATED_PROPERTIES.concat(["allowSorting", "allowSortingBySummary", "allowFiltering", "allowExpandAll"]); function resetFieldState(field, properties) { var initialProperties = field._initProperties || {}; (0, _iterator.each)(properties, (function(_, prop) { if (Object.prototype.hasOwnProperty.call(initialProperties, prop)) { field[prop] = initialProperties[prop] } })) } function updateCalculatedFieldProperties(field, calculatedProperties) { resetFieldState(field, calculatedProperties); if (!(0, _type.isDefined)(field.caption)) { (0, _m_widget_utils.setFieldProperty)(field, "caption", function(field) { var caption = field.dataField || field.groupName || ""; var summaryType = (field.summaryType || "").toLowerCase(); if ((0, _type.isString)(field.groupInterval)) { caption += "_".concat(field.groupInterval) } if (summaryType && "custom" !== summaryType) { summaryType = summaryType.replace(/^./, summaryType[0].toUpperCase()); if (caption.length) { summaryType = " (".concat(summaryType, ")") } } else { summaryType = "" } return (0, _inflector.titleize)(caption) + summaryType }(field)) } } function isDataExists(data) { return data.rows.length || data.columns.length || data.values.length } var PivotGridDataSource = _class.default.inherit(function() { var findHeaderItem = function(headerItems, path) { if (headerItems._cacheByPath) { return headerItems._cacheByPath[path.join(".")] || null } return }; var getHeaderItemsLastIndex = function getHeaderItemsLastIndex(headerItems, grandTotalIndex) { var i; var lastIndex = -1; var headerItem; if (headerItems) { for (i = 0; i < headerItems.length; i += 1) { headerItem = headerItems[i]; if (void 0 !== headerItem.index) { lastIndex = Math.max(lastIndex, headerItem.index) } if (headerItem.children) { lastIndex = Math.max(lastIndex, getHeaderItemsLastIndex(headerItem.children)) } else if (headerItem.collapsedChildren) { lastIndex = Math.max(lastIndex, getHeaderItemsLastIndex(headerItem.collapsedChildren)) } } } if ((0, _type.isDefined)(grandTotalIndex)) { lastIndex = Math.max(lastIndex, grandTotalIndex) } return lastIndex }; var updateHeaderItemChildren = function(headerItems, headerItem, children, grandTotalIndex) { var applyingHeaderItemsCount = getHeaderItemsLastIndex(children) + 1; var emptyIndex = getHeaderItemsLastIndex(headerItems, grandTotalIndex) + 1; var index; var applyingItemIndexesToCurrent = []; var needIndexUpdate = false; var d = new _deferred.Deferred; if (headerItem.children && headerItem.children.length === children.length) { for (var i = 0; i < children.length; i += 1) { var child = children[i]; if (void 0 !== child.index) { if (void 0 === headerItem.children[i].index) { child.index = applyingItemIndexesToCurrent[child.index] = emptyIndex++; headerItem.children[i] = child } else { applyingItemIndexesToCurrent[child.index] = headerItem.children[i].index } } } } else { needIndexUpdate = true; for (index = 0; index < applyingHeaderItemsCount; index += 1) { applyingItemIndexesToCurrent[index] = emptyIndex++ } headerItem.children = children }(0, _deferred.when)((0, _m_widget_utils.foreachTreeAsync)(headerItem.children, (function(items) { if (needIndexUpdate) { items[0].index = applyingItemIndexesToCurrent[items[0].index] } }))).done((function() { d.resolve(applyingItemIndexesToCurrent) })); return d }; var updateHeaderItems = function(headerItems, newHeaderItems, grandTotalIndex) { var d = new _deferred.Deferred; var emptyIndex = grandTotalIndex >= 0 && getHeaderItemsLastIndex(headerItems, grandTotalIndex) + 1; var applyingItemIndexesToCurrent = []; (0, _deferred.when)((0, _m_widget_utils.foreachTreeAsync)(headerItems, (function(items) { delete items[0].collapsedChildren }))).done((function() { (0, _deferred.when)((0, _m_widget_utils.foreachTreeAsync)(newHeaderItems, (function(newItems, index) { var newItem = newItems[0]; if (newItem.index >= 0) { var headerItem = findHeaderItem(headerItems, (0, _m_widget_utils.createPath)(newItems)); if (headerItem && headerItem.index >= 0) { applyingItemIndexesToCurrent[newItem.index] = headerItem.index } else if (emptyIndex) { var path = (0, _m_widget_utils.createPath)(newItems.slice(1)); headerItem = findHeaderItem(headerItems, path); var parentItems = path.length ? headerItem && headerItem.children : headerItems; if (parentItems) { parentItems[index] = newItem; newItem.index = applyingItemIndexesToCurrent[newItem.index] = emptyIndex++ } } } }))).done((function() { d.resolve(applyingItemIndexesToCurrent) })) })); return d }; var updateDataSourceCells = function(dataSource, newDataSourceCells, newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent) { var newRowIndex; var newColumnIndex; var newRowCells; var newCell; var rowIndex; var columnIndex; var dataSourceCells = dataSource.values; if (newDataSourceCells) { for (newRowIndex = 0; newRowIndex < newDataSourceCells.length; newRowIndex += 1) { newRowCells = newDataSourceCells[newRowIndex]; rowIndex = newRowItemIndexesToCurrent[newRowIndex]; if (!(0, _type.isDefined)(rowIndex)) { rowIndex = dataSource.grandTotalRowIndex } if (newRowCells && (0, _type.isDefined)(rowIndex)) { if (!dataSourceCells[rowIndex]) { dataSourceCells[rowIndex] = [] } for (newColumnIndex = 0; newColumnIndex < newRowCells.length; newColumnIndex += 1) { newCell = newRowCells[newColumnIndex]; columnIndex = newColumnItemIndexesToCurrent[newColumnIndex]; if (!(0, _type.isDefined)(columnIndex)) { columnIndex = dataSource.grandTotalColumnIndex } if ((0, _type.isDefined)(newCell) && (0, _type.isDefined)(columnIndex)) { dataSourceCells[rowIndex][columnIndex] = newCell } } } } } }; function createLocalOrRemoteStore(dataSourceOptions, notifyProgress) { var StoreConstructor = dataSourceOptions.remoteOperations || dataSourceOptions.paginate ? _m_remote_store.RemoteStore : _m_local_store.LocalStore; return new StoreConstructor((0, _extend.extend)((0, _utils.normalizeDataSourceOptions)(dataSourceOptions), { onChanged: null, onLoadingChanged: null, onProgressChanged: notifyProgress })) } function getExpandedPaths(dataSource, loadOptions, dimensionName, prevLoadOptions) { var result = []; var fields = loadOptions && loadOptions[dimensionName] || []; var prevFields = prevLoadOptions && prevLoadOptions[dimensionName] || []; (0, _m_widget_utils.foreachTree)(dataSource[dimensionName], (function(items) { var item = items[0]; var path = (0, _m_widget_utils.createPath)(items); if (item.children && fields[path.length - 1] && !fields[path.length - 1].expanded) { if (path.length < fields.length && (!prevLoadOptions || function(fields, prevFields, count) { for (var i = 0; i < count; i += 1) { if (!fields[i] || !prevFields[i] || fields[i].index !== prevFields[i].index) { return false } } return true }(fields, prevFields, path.length))) { result.push(path.slice()) } } }), true); return result } function setFieldProperties(field, srcField, skipInitPropertySave, properties) { if (srcField) { (0, _iterator.each)(properties, (function(_, name) { if (skipInitPropertySave) { field[name] = srcField[name] } else { if (("summaryType" === name || "summaryDisplayMode" === name) && void 0 === srcField[name]) { return }(0, _m_widget_utils.setFieldProperty)(field, name, srcField[name]) } })) } else { resetFieldState(field, properties) } return field } function getFieldsState(fields, properties) { var result = []; (0, _iterator.each)(fields, (function(_, field) { result.push(setFieldProperties({ dataField: field.dataField, name: field.name }, field, true, properties)) })); return result } function getFieldStateId(field) { if (field.name) { return field.name } return "".concat(field.dataField) } function getFieldsById(fields, id) { var result = []; (0, _iterator.each)(fields || [], (function(_, field) { if (getFieldStateId(field) === id) { result.push(field) } })); return result } function setFieldsState(stateFields, fields) { stateFields = stateFields || []; var fieldsById = {}; var id; (0, _iterator.each)(fields, (function(_, field) { id = getFieldStateId(field); if (!fieldsById[id]) { fieldsById[id] = getFieldsById(fields, getFieldStateId(field)) } })); (0, _iterator.each)(fieldsById, (function(id, fields) { ! function(stateFields, fields) { stateFields = stateFields || []; (0, _iterator.each)(fields, (function(index, field) { setFieldProperties(field, stateFields[index], false, STATE_PROPERTIES); updateCalculatedFieldProperties(field, CALCULATED_PROPERTIES) })); return fields }(getFieldsById(stateFields, id), fields) })); return fields } function sortFieldsByAreaIndex(fields) { fields.sort((function(field1, field2) { return field1.areaIndex - field2.areaIndex || field1.groupIndex - field2.groupIndex })) } function getFieldId(field, retrieveFieldsOptionValue) { var groupName = field.groupName || ""; return (field.dataField || groupName) + (field.groupInterval ? groupName + field.groupInterval : "NOGROUP") + (retrieveFieldsOptionValue ? "" : groupName) } function mergeFields(fields, storeFields, retrieveFieldsOptionValue) { var result = []; var fieldsDictionary = {}; var removedFields = {}; var dataTypes = (0, _m_widget_utils.getFieldsDataType)(fields); if (storeFields) { (0, _iterator.each)(storeFields, (function(_, field) { fieldsDictionary[getFieldId(field, retrieveFieldsOptionValue)] = field })); (0, _iterator.each)(fields, (function(_, field) { var fieldKey = getFieldId(field, retrieveFieldsOptionValue); var storeField = fieldsDictionary[fieldKey] || removedFields[fieldKey]; var mergedField; if (storeField) { if (storeField._initProperties) { resetFieldState(storeField, ALL_CALCULATED_PROPERTIES) } mergedField = (0, _extend.extend)({}, storeField, field, { _initProperties: null }) } else { fieldsDictionary[fieldKey] = mergedField = field } if (!mergedField.dataType && dataTypes[field.dataField]) { mergedField.dataType = dataTypes[field.dataField] } delete fieldsDictionary[fieldKey]; removedFields[fieldKey] = storeField; result.push(mergedField) })); if (retrieveFieldsOptionValue) { (0, _iterator.each)(fieldsDictionary, (function(_, field) { result.push(field) })) } } else { result = fields } result.push.apply(result, []); ! function(fields) { fields.forEach((function(field) { if (field.groupName && field.groupInterval && void 0 === field.groupIndex) { var maxGroupIndex = fields.filter((function(f) { return f.groupName === field.groupName && (0, _type.isNumeric)(f.groupIndex) })).map((function(f) { return f.groupIndex })).reduce((function(prev, current) { return Math.max(prev, current) }), -1); field.groupIndex = maxGroupIndex + 1 } })) }(result); return result } function getFields(that) { var result = new _deferred.Deferred; var store = that._store; var storeFields = store && store.getFields(that._fields); var mergedFields; (0, _deferred.when)(storeFields).done((function(storeFields) { that._storeFields = storeFields; mergedFields = mergeFields(that._fields, storeFields, that._retrieveFields); result.resolve(mergedFields) })).fail(result.reject); return result } function formatHeaderItems(data, loadOptions, headerName) { return (0, _m_widget_utils.foreachTreeAsync)(data[headerName], (function(items) { var item = items[0]; item.text = item.text || (0, _m_widget_utils.formatValue)(item.value, loadOptions[headerName][(0, _m_widget_utils.createPath)(items).length - 1]) })) } function formatHeaders(loadOptions, data) { return (0, _deferred.when)(formatHeaderItems(data, loadOptions, "columns"), formatHeaderItems(data, loadOptions, "rows")) } function updateCache(headerItems) { var d = new _deferred.Deferred; var cacheByPath = {}; (0, _deferred.when)((0, _m_widget_utils.foreachTreeAsync)(headerItems, (function(items) { var path = (0, _m_widget_utils.createPath)(items).join("."); cacheByPath[path] = items[0] }))).done(d.resolve); headerItems._cacheByPath = cacheByPath; return d } function _getAreaFields(fields, area) { var areaFields = []; (0, _iterator.each)(fields, (function() { if (function(field, area) { var canAddFieldInArea = "data" === area || false !== field.visible; return field.area === area && !(0, _type.isDefined)(field.groupIndex) && canAddFieldInArea }(this, area)) { areaFields.push(this) } })); return areaFields } return { ctor: function(options) { var _this = this; options = options || {}; this._eventsStrategy = new _events_strategy.EventsStrategy(this); var that = this; var store = function(dataSourceOptions, notifyProgress) { var store; var storeOptions; if ((0, _type.isPlainObject)(dataSourceOptions) && dataSourceOptions.load) { store = createLocalOrRemoteStore(dataSourceOptions, notifyProgress) } else { if (dataSourceOptions && !dataSourceOptions.store) { dataSourceOptions = { store: dataSourceOptions } } storeOptions = dataSourceOptions.store; if ("xmla" === storeOptions.type) { store = new _m_xmla_store.default.XmlaStore(storeOptions) } else if ((0, _type.isPlainObject)(storeOptions) && storeOptions.type || storeOptions instanceof _abstract_store.default || Array.isArray(storeOptions)) { store = createLocalOrRemoteStore(dataSourceOptions, notifyProgress) } else if (storeOptions instanceof _class.default) { store = storeOptions } } return store }(options, (function(progress) { that._eventsStrategy.fireEvent("progressChanged", [progress]) })); that._store = store; that._paginate = !!options.paginate; that._pageSize = options.pageSize || 40; that._data = { rows: [], columns: [], values: [] }; that._loadingCount = 0; that._isFieldsModified = false; (0, _iterator.each)(["changed", "loadError", "loadingChanged", "progressChanged", "fieldsPrepared", "expandValueChanging"], (function(_, eventName) { var optionName = "on".concat(eventName[0].toUpperCase()).concat(eventName.slice(1)); if (Object.prototype.hasOwnProperty.call(options, optionName)) { _this.on(eventName, options[optionName]) } })); that._retrieveFields = (0, _type.isDefined)(options.retrieveFields) ? options.retrieveFields : true; that._fields = options.fields || []; that._descriptions = options.descriptions ? (0, _extend.extend)(that._createDescriptions(), options.descriptions) : void 0; if (!store) { (0, _extend.extend)(true, that._data, options.store || options) } }, getData: function() { return this._data }, getAreaFields: function(area, collectGroups) { var areaFields = []; var descriptions; if (collectGroups || "data" === area) { areaFields = _getAreaFields(this._fields, area); sortFieldsByAreaIndex(areaFields) } else { descriptions = this._descriptions || {}; areaFields = descriptions[DESCRIPTION_NAME_BY_AREA[area]] || [] } return areaFields }, fields: function(_fields) { if (_fields) { this._fields = mergeFields(_fields, this._storeFields, this._retrieveFields); this._fieldsPrepared(this._fields) } return this._fields }, field: function(id, options) { var fields = this._fields; var field = fields && fields[(0, _type.isNumeric)(id) ? id : (0, _m_widget_utils.findField)(fields, id)]; var levels; if (field && options) { (0, _iterator.each)(options, (function(optionName, optionValue) { var isInitialization = !STATE_PROPERTIES.includes(optionName); (0, _m_widget_utils.setFieldProperty)(field, optionName, optionValue, isInitialization); if ("sortOrder" === optionName) { levels = field.levels || []; for (var i = 0; i < levels.length; i += 1) { levels[i][optionName] = optionValue } } })); updateCalculatedFieldProperties(field, CALCULATED_PROPERTIES); this._descriptions = this._createDescriptions(field); this._isFieldsModified = true; this._eventsStrategy.fireEvent("fieldChanged", [field]) } return field }, getFieldValues: function(index, applyFilters, options) { var that = this; var field = this._fields && this._fields[index]; var store = this.store(); var loadFields = []; var loadOptions = { columns: loadFields, rows: [], values: this.getAreaFields("data"), filters: applyFilters ? this._fields.filter((function(f) { return f !== field && f.area && f.filterValues && f.filterValues.length })) : [], skipValues: true }; var searchValue; var d = new _deferred.Deferred; if (options) { searchValue = options.searchValue; loadOptions.columnSkip = options.skip; loadOptions.columnTake = options.take } if (field && store) { (0, _iterator.each)(field.levels || [field], (function() { loadFields.push((0, _extend.extend)({}, this, { expanded: true, filterValues: null, sortOrder: "asc", sortBySummaryField: null, searchValue: searchValue })) })); store.load(loadOptions).done((function(data) { if (loadOptions.columnSkip) { data.columns = data.columns.slice(loadOptions.columnSkip) } if (loadOptions.columnTake) { data.columns = data.columns.slice(0, loadOptions.columnTake) } formatHeaders(loadOptions, data); if (!loadOptions.columnTake) { that._sort(loadOptions, data) } d.resolve(data.columns) })).fail(d) } else { d.reject() } return d }, reload: function() { return this.load({ reload: true }) }, filter: function() { var store = this._store; return store.filter.apply(store, arguments) }, load: function(options) { var that = this; var d = new _deferred.Deferred; options = options || {}; that.beginLoading(); d.fail((function(e) { that._eventsStrategy.fireEvent("loadError", [e]) })).always((function() { that.endLoading() })); function loadTask() { that._delayedLoadTask = void 0; if (!that._descriptions) { (0, _deferred.when)(getFields(that)).done((function(fields) { that._fieldsPrepared(fields); that._loadCore(options, d) })).fail(d.reject).fail(that._loadErrorHandler) } else { that._loadCore(options, d) } } if (that.store()) { that._delayedLoadTask = (0, _common.executeAsync)(loadTask) } else { loadTask() } return d }, createDrillDownDataSource: function(params) { return this._store.createDrillDownDataSource(this._descriptions, params) }, _createDescriptions: function(currentField) { var fields = this.fields(); var descriptions = { rows: [], columns: [], values: [], filters: [] }; (0, _iterator.each)(["row", "column", "data", "filter"], (function(_, areaName) { (0, _array.normalizeIndexes)(_getAreaFields(fields, areaName), "areaIndex", currentField) })); (0, _iterator.each)(fields || [], (function(_, field) { var descriptionName = DESCRIPTION_NAME_BY_AREA[field.area]; var dimension = descriptions[descriptionName]; var groupName = field.groupName; if (groupName && !(0, _type.isNumeric)(field.groupIndex)) { field.levels = function(fields, groupingField) { return fields.filter((function(field) { return field.groupName === groupingField.groupName && (0, _type.isNumeric)(field.groupIndex) && false !== field.visible })).map((function(field) { return (0, _extend.extend)(field, { areaIndex: groupingField.areaIndex, area: groupingField.area, expanded: (0, _type.isDefined)(field.expanded) ? field.expanded : groupingField.expanded, dataField: field.dataField || groupingField.dataField, dataType: field.dataType || groupingField.dataType, sortBy: field.sortBy || groupingField.sortBy, sortOrder: field.sortOrder || groupingField.sortOrder, sortBySummaryField: field.sortBySummaryField || groupingField.sortBySummaryField, sortBySummaryPath: field.sortBySummaryPath || groupingField.sortBySummaryPath, visible: field.visible || groupingField.visible, showTotals: (0, _type.isDefined)(field.showTotals) ? field.showTotals : groupingField.showTotals, showGrandTotals: (0, _type.isDefined)(field.showGrandTotals) ? field.showGrandTotals : groupingField.showGrandTotals }) })).sort((function(a, b) { return a.groupIndex - b.groupIndex })) }(fields, field) } if (!dimension || groupName && (0, _type.isNumeric)(field.groupIndex) || false === field.visible && "data" !== field.area && "filter" !== field.area) { return } if (field.levels && dimension !== descriptions.filters && dimension !== descriptions.values) { dimension.push.apply(dimension, field.levels); if (field.filterValues && field.filterValues.length) { descriptions.filters.push(field) } } else { dimension.push(field) } })); (0, _iterator.each)(descriptions, (function(_, fields) { sortFieldsByAreaIndex(fields) })); var indices = {}; (0, _iterator.each)(descriptions.values, (function(_, field) { var expression = field.calculateSummaryValue; if ((0, _type.isFunction)(expression)) { var summaryCell = _m_summary_display_modes.default.createMockSummaryCell(descriptions, fields, indices); expression(summaryCell) } })); return descriptions }, _fieldsPrepared: function(fields) { this._fields = fields; (0, _iterator.each)(fields, (function(index, field) { field.index = index; updateCalculatedFieldProperties(field, ALL_CALCULATED_PROPERTIES) })); var currentFieldState = getFieldsState(fields, ["caption"]); this._eventsStrategy.fireEvent("fieldsPrepared", [fields]); for (var i = 0; i < fields.length; i += 1) { if (fields[i].caption !== currentFieldState[i].caption) { (0, _m_widget_utils.setFieldProperty)(fields[i], "caption", fields[i].caption, true) } } this._descriptions = this._createDescriptions() }, isLoading: function() { return this._loadingCount > 0 }, state: function(_state, skipLoading) { var that = this; if (arguments.length) { _state = (0, _extend.extend)({ rowExpandedPaths: [], columnExpandedPaths: [] }, _state); if (!that._descriptions) { that.beginLoading(); (0, _deferred.when)(getFields(that)).done((function(fields) { that._fields = setFieldsState(_state.fields, fields); that._fieldsPrepared(fields); !skipLoading && that.load(_state) })).always((function() { that.endLoading() })) } else { that._fields = setFieldsState(_state.fields, that._fields); that._descriptions = that._createDescriptions(); !skipLoading && that.load(_state) } return } return { fields: getFieldsState(that._fields, STATE_PROPERTIES), columnExpandedPaths: getExpandedPaths(that._data, that._descriptions, "columns", that._lastLoadOptions), rowExpandedPaths: getExpandedPaths(that._data, that._descriptions, "rows", that._lastLoadOptions) } }, beginLoading: function() { this._changeLoadingCount(1) }, endLoading: function() { this._changeLoadingCount(-1) }, _changeLoadingCount: function(increment) { var oldLoading = this.isLoading(); this._loadingCount += increment; var newLoading = this.isLoading(); if (oldLoading ^ newLoading) { this._eventsStrategy.fireEvent("loadingChanged", [newLoading]) } }, _hasPagingValues: function(options, area, oppositeIndex) { var takeField = "".concat(area, "Take"); var skipField = "".concat(area, "Skip"); var values = this._data.values; var items = this._data["".concat(area, "s")]; var oppositeArea = "row" === area ? "column" : "row"; var indices = []; if (options.path && options.area === area) { var headerItem = findHeaderItem(items, options.path); items = headerItem && headerItem.children; if (!items) { return false } } if (options.oppositePath && options.area === oppositeArea) { var _headerItem = findHeaderItem(items, options.oppositePath); items = _headerItem && _headerItem.children; if (!items) { return false } } for (var i = options[skipField]; i < options[skipField] + options[takeField]; i += 1) { if (items[i]) { indices.push(items[i].index) } } return indices.every((function(index) { if (void 0 !== index) { if ("row" === area) { return (values[index] || [])[oppositeIndex] } return (values[oppositeIndex] || [])[index] } return })) }, _processPagingCacheByArea: function(options, pageSize, area) { var takeField = "".concat(area, "Take"); var skipField = "".concat(area, "Skip"); var items = this._data["".concat(area, "s")]; var oppositeArea = "row" === area ? "column" : "row"; var item; if (options[takeField]) { if (options.path && options.area === area) { var headerItem = findHeaderItem(items, options.path); items = headerItem && headerItem.children || [] } if (options.oppositePath && options.area === oppositeArea) { var _headerItem2 = findHeaderItem(items, options.oppositePath); items = _headerItem2 && _headerItem2.children || [] } do { item = items[options[skipField]]; if (item && void 0 !== item.index) { if (this._hasPagingValues(options, oppositeArea, item.index)) { options[skipField]++; options[takeField]-- } else { break } } } while (item && void 0 !== item.index && options[takeField]); if (options[takeField]) { var start = Math.floor(options[skipField] / pageSize) * pageSize; var end = Math.ceil((options[skipField] + options[takeField]) / pageSize) * pageSize; options[skipField] = start; options[takeField] = end - start } } }, _processPagingCache: function(storeLoadOptions) { var pageSize = this._pageSize; if (pageSize < 0) { return } for (var i = 0; i < storeLoadOptions.length; i += 1) { this._processPagingCacheByArea(storeLoadOptions[i], pageSize, "row"); this._processPagingCacheByArea(storeLoadOptions[i], pageSize, "column") } }, _loadCore: function(options, deferred) { var that = this; var store = this._store; var descriptions = this._descriptions; var reload = options.reload || this.paginate() && that._isFieldsModified; var paginate = this.paginate(); var headerName = DESCRIPTION_NAME_BY_AREA[options.area]; options = options || {}; if (store) { (0, _extend.extend)(options, descriptions); options.columnExpandedPaths = options.columnExpandedPaths || getExpandedPaths(this._data, options, "columns", that._lastLoadOptions); options.rowExpandedPaths = options.rowExpandedPaths || getExpandedPaths(this._data, options, "rows", that._lastLoadOptions); if (paginate) { options.pageSize = this._pageSize } if (headerName) { options.headerName = headerName } that.beginLoading(); deferred.always((function() { that.endLoading() })); var storeLoadOptions = [options]; that._eventsStrategy.fireEvent("customizeStoreLoadOptions", [storeLoadOptions, reload]); if (!reload) { that._processPagingCache(storeLoadOptions) } storeLoadOptions = storeLoadOptions.filter((function(options) { return !(options.rows.length && 0 === options.rowTake) && !(options.columns.length && 0 === options.columnTake) })); if (!storeLoadOptions.length) { that._update(deferred); return } var results = storeLoadOptions.map((function(options) { return store.load(options) })); _deferred.when.apply(null, results).done((function() { var results = arguments; for (var i = 0; i < results.length; i += 1) { var _options = storeLoadOptions[i]; var data = results[i]; var isLast = i === results.length - 1; if (_options.path) { that.applyPartialDataSource(_options.area, _options.path, data, isLast ? deferred : false, _options.oppositePath) } else if (paginate && !reload && isDataExists(that._data)) { that.mergePartialDataSource(data, isLast ? deferred : false) } else { (0, _extend.extend)(that._data, data); that._lastLoadOptions = _options; that._update(isLast ? deferred : false) } } })).fail(deferred.reject) } else { that._update(deferred) } }, _sort: function(descriptions, data, getAscOrder) { var store = this._store; if (store && !this._paginate) { (0, _m_data_source_utils.sort)(descriptions, data, getAscOrder) } }, sortLocal: function() { this._sort(this._descriptions, this._data); this._eventsStrategy.fireEvent("changed") }, paginate: function() { return this._paginate && this._store && this._store.supportPaging() }, isEmpty: function() { var dataFields = this.getAreaFields("data").filter((function(f) { return false !== f.visible })); var data = this.getData(); return !dataFields.length || !data.values.length }, _update: function(deferred) { var that = this; var descriptions = that._descriptions; var loadedData = that._data; var dataFields = descriptions.values; var expressionsUsed = function(dataFields) { return dataFields.some((function(field) { return field.summaryDisplayMode || field.calculateSummaryValue })) }(dataFields); (0, _deferred.when)(formatHeaders(descriptions, loadedData), updateCache(loadedData.rows), updateCache(loadedData.columns)).done((function() { if (expressionsUsed) { that._sort(descriptions, loadedData, expressionsUsed); !that.isEmpty() && _m_summary_display_modes.default.applyDisplaySummaryMode(descriptions, loadedData) } that._sort(descriptions, loadedData); !that.isEmpty() && function(dataFields) { return dataFields.some((function(field) { return !!field.runningTotal })) }(dataFields) && _m_summary_display_modes.default.applyRunningTotal(descriptions, loadedData); that._data = loadedData; false !== deferred && (0, _deferred.when)(deferred).done((function() { that._isFieldsModified = false; that._eventsStrategy.fireEvent("changed"); if ((0, _type.isDefined)(that._data.grandTotalRowIndex)) { loadedData.grandTotalRowIndex = that._data.grandTotalRowIndex } if ((0, _type.isDefined)(that._data.grandTotalColumnIndex)) { loadedData.grandTotalColumnIndex = that._data.grandTotalColumnIndex } })); deferred && deferred.resolve(that._data) })); return deferred }, store: function() { return this._store }, collapseHeaderItem: function(area, path) { var headerItems = "column" === area ? this._data.columns : this._data.rows; var headerItem = findHeaderItem(headerItems, path); var field = this.getAreaFields(area)[path.length - 1]; if (headerItem && headerItem.children) { this._eventsStrategy.fireEvent("expandValueChanging", [{ area: area, path: path, expanded: false }]); if (field) { field.expanded = false } headerItem.collapsedChildren = headerItem.children; delete headerItem.children; this._update(); if (this.paginate()) { this.load() } return true } return false }, collapseAll: function(id) { var _this2 = this; var dataChanged = false; var field = this.field(id) || {}; var areaOffsets = [this.getAreaFields(field.area).indexOf(field)]; field.expanded = false; if (field && field.levels) { areaOffsets = []; field.levels.forEach((function(f) { areaOffsets.push(_this2.getAreaFields(field.area).indexOf(f)); f.expanded = false })) }(0, _m_widget_utils.foreachTree)(this._data["".concat(field.area, "s")], (function(items) { var item = items[0]; var path = (0, _m_widget_utils.createPath)(items); if (item && item.children && areaOffsets.includes(path.length - 1)) { item.collapsedChildren = item.children; delete item.children; dataChanged = true } }), true); dataChanged && this._update() }, expandAll: function(id) { var field = this.field(id); if (field && field.area) { field.expanded = true; if (field && field.levels) { field.levels.forEach((function(f) { f.expanded = true })) } this.load() } }, expandHeaderItem: function(area, path) { var headerItems = "column" === area ? this._data.columns : this._data.rows; var headerItem = findHeaderItem(headerItems, path); if (headerItem && !headerItem.children) { var hasCache = !!headerItem.collapsedChildren; var options = { area: area, path: path, expanded: true, needExpandData: !hasCache }; this._eventsStrategy.fireEvent("expandValueChanging", [options]); if (hasCache) { headerItem.children = headerItem.collapsedChildren; delete headerItem.collapsedChildren; this._update() } else if (this.store()) { this.load(options) } return hasCache } return false }, mergePartialDataSource: function(dataSource, deferred) { var that = this; var loadedData = that._data; var newRowItemIndexesToCurrent; var newColumnItemIndexesToCurrent; if (dataSource && dataSource.values) { dataSource.rows = dataSource.rows || []; dataSource.columns = dataSource.columns || []; newRowItemIndexesToCurrent = updateHeaderItems(loadedData.rows, dataSource.rows, loadedData.grandTotalColumnIndex); newColumnItemIndexesToCurrent = updateHeaderItems(loadedData.columns, dataSource.columns, loadedData.grandTotalColumnIndex); (0, _deferred.when)(newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent).done((function(newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent) { if (newRowItemIndexesToCurrent.length || newColumnItemIndexesToCurrent.length) { updateDataSourceCells(loadedData, dataSource.values, newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent) } that._update(deferred) })) } }, applyPartialDataSource: function(area, path, dataSource, deferred, oppositePath) { var that = this; var loadedData = that._data; var headerItems = "column" === area ? loadedData.columns : loadedData.rows; var headerItem; var oppositeHeaderItems = "column" === area ? loadedData.rows : loadedData.columns; var oppositeHeaderItem; var newRowItemIndexesToCurrent; var newColumnItemIndexesToCurrent; if (dataSource && dataSource.values) { dataSource.rows = dataSource.rows || []; dataSource.columns = dataSource.columns || []; headerItem = findHeaderItem(headerItems, path); oppositeHeaderItem = oppositePath && findHeaderItem(oppositeHeaderItems, oppositePath); if (headerItem) { if ("column" === area) { newColumnItemIndexesToCurrent = updateHeaderItemChildren(headerItems, headerItem, dataSource.columns, loadedData.grandTotalColumnIndex); if (oppositeHeaderItem) { newRowItemIndexesToCurrent = updateHeaderItemChildren(oppositeHeaderItems, oppositeHeaderItem, dataSource.rows, loadedData.grandTotalRowIndex) } else { newRowItemIndexesToCurrent = updateHeaderItems(loadedData.rows, dataSource.rows, loadedData.grandTotalRowIndex) } } else { newRowItemIndexesToCurrent = updateHeaderItemChildren(headerItems, headerItem, dataSource.rows, loadedData.grandTotalRowIndex); if (oppositeHeaderItem) { newColumnItemIndexesToCurrent = updateHeaderItemChildren(oppositeHeaderItems, oppositeHeaderItem, dataSource.columns, loadedData.grandTotalColumnIndex) } else { newColumnItemIndexesToCurrent = updateHeaderItems(loadedData.columns, dataSource.columns, loadedData.grandTotalColumnIndex) } }(0, _deferred.when)(newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent).done((function(newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent) { if ("row" === area && newRowItemIndexesToCurrent.length || "column" === area && newColumnItemIndexesToCurrent.length) { updateDataSourceCells(loadedData, dataSource.values, newRowItemIndexesToCurrent, newColumnItemIndexesToCurrent) } that._update(deferred) })) } } }, on: function(eventName, eventHandler) { this._eventsStrategy.on(eventName, eventHandler); return this }, off: function(eventName, eventHandler) { this._eventsStrategy.off(eventName, eventHandler); return this }, dispose: function() { var delayedLoadTask = this._delayedLoadTask; this._eventsStrategy.dispose(); if (delayedLoadTask) { delayedLoadTask.abort() } this._isDisposed = true }, isDisposed: function() { return !!this._isDisposed } } }()); exports.PivotGridDataSource = PivotGridDataSource; var _default = { PivotGridDataSource: PivotGridDataSource }; exports.default = _default }, 91629: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/data_source/m_data_source_utils.js ***! \************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; exports.sort = sort; var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _m_widget_utils = __webpack_require__( /*! ../m_widget_utils */ 28580); function sort(loadOptions, dataSource, getAscOrder) { sortDimension(dataSource, loadOptions, "rows", getAscOrder); sortDimension(dataSource, loadOptions, "columns", getAscOrder) } function sortDimension(dataSource, loadOptions, dimensionName, getAscOrder) { var fields = loadOptions[dimensionName] || []; var baseIndex = loadOptions.headerName === dimensionName ? loadOptions.path.length : 0; var sortingMethodByLevel = []; (0, _m_widget_utils.foreachDataLevel)(dataSource[dimensionName], (function(item, index) { var field = fields[index] || {}; var sortingMethod = sortingMethodByLevel[index] = sortingMethodByLevel[index] || function(field, dataSource, loadOptions, dimensionName, getAscOrder) { var sortOrder = getAscOrder ? "asc" : field.sortOrder; var sortBy = function(sortBy, getAscOrder) { var member = "text"; if ("none" === sortBy) { member = "index" } else if (getAscOrder || "displayText" !== sortBy) { member = "value" } return member }(field.sortBy, getAscOrder); var defaultCompare = field.sortingMethod ? function(a, b) { return field.sortingMethod(a, b) } : (0, _m_widget_utils.getCompareFunction)((function(item) { return item[sortBy] })); var summaryValueSelector = !getAscOrder && function(field, dataSource, loadOptions, dimensionName) { var values = dataSource.values; var sortBySummaryFieldIndex = (0, _m_widget_utils.findField)(loadOptions.values, field.sortBySummaryField); var areRows = "rows" === dimensionName; var sortByDimension = areRows ? dataSource.columns : dataSource.rows; var grandTotalIndex = areRows ? dataSource.grandTotalRowIndex : dataSource.grandTotalColumnIndex; var sortBySummaryPath = field.sortBySummaryPath || []; var sliceIndex = sortBySummaryPath.length ? function(items, path) { var index = null; var pathValue = (path || []).join("."); if (pathValue.length) { (0, _m_widget_utils.foreachTree)(items, (function(items) { var item = items[0]; var itemPath = (0, _m_widget_utils.createPath)(items).join("."); var textPath = (0, _iterator.map)(items, (function(item) { return item.text })).reverse().join("."); if (pathValue === itemPath || item.key && textPath === pathValue) { index = items[0].index; return false } return })) } return index }(sortByDimension, sortBySummaryPath) : grandTotalIndex; if (values && values.length && sortBySummaryFieldIndex >= 0 && (0, _type.isDefined)(sliceIndex)) { return function(field) { var rowIndex = areRows ? field.index : sliceIndex; var columnIndex = areRows ? sliceIndex : field.index; var value = ((values[rowIndex] || [ [] ])[columnIndex] || [])[sortBySummaryFieldIndex]; return (0, _type.isDefined)(value) ? value : null } } return }(field, dataSource, loadOptions, dimensionName); var summaryCompare = summaryValueSelector && (0, _m_widget_utils.getCompareFunction)(summaryValueSelector); return function(a, b) { var result = summaryCompare && summaryCompare(a, b) || defaultCompare(a, b); return "desc" === sortOrder ? -result : result } }(field, dataSource, loadOptions, dimensionName, getAscOrder); item.sort(sortingMethod) }), baseIndex) } var _default = { sort: sort }; exports.default = _default }, 75705: /*!********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/export/m_export.js ***! \********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.PivotGridExport = exports.ExportController = exports.DataProvider = void 0; var _class = _interopRequireDefault(__webpack_require__( /*! ../../../../core/class */ 38377)); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _position = __webpack_require__( /*! ../../../../core/utils/position */ 37518); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../../../core/utils/window */ 58201); var _format_helper = _interopRequireDefault(__webpack_require__( /*! ../../../../format_helper */ 30343)); var _number = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/number */ 18016)); var _m_export = __webpack_require__( /*! ../../../grids/grid_core/m_export */ 1229); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var ExportController = { exportTo: function() { var onExporting = this._createActionByOption("onExporting"); var eventArgs = { rtlEnabled: this.option("rtlEnabled"), fileName: "PivotGrid", cancel: false }; (0, _type.isFunction)(onExporting) && onExporting(eventArgs) }, _getLength: function(items) { var i; var itemCount = items[0].length; var cellCount = 0; for (i = 0; i < itemCount; i += 1) { cellCount += items[0][i].colspan || 1 } return cellCount }, _correctCellsInfoItemLengths: function(cellsInfo, expectedLength) { for (var i = 0; i < cellsInfo.length; i += 1) { while (cellsInfo[i].length < expectedLength) { cellsInfo[i].push({}) } } return cellsInfo }, _calculateCellInfoItemLength: function(columnsRow) { var result = 0; for (var columnIndex = 0; columnIndex < columnsRow.length; columnIndex += 1) { result += (0, _type.isDefined)(columnsRow[columnIndex].colspan) ? columnsRow[columnIndex].colspan : 1 } return result }, _getEmptyCell: function() { return { text: "", value: void 0, colspan: 1, rowspan: 1 } }, _getAllItems: function(columnsInfo, rowsInfoItems, cellsInfo) { var cellIndex; var rowIndex; var correctedCellsInfo = cellsInfo; var rowsLength = this._getLength(rowsInfoItems); var headerRowsCount = columnsInfo.length; if (columnsInfo.length > 0 && columnsInfo[0].length > 0 && cellsInfo.length > 0 && 0 === cellsInfo[0].length) { var cellInfoItemLength = this._calculateCellInfoItemLength(columnsInfo[0]); if (cellInfoItemLength > 0) { correctedCellsInfo = this._correctCellsInfoItemLengths(cellsInfo, cellInfoItemLength) } } if (0 === correctedCellsInfo.length) { var rowsCount = rowsInfoItems.length; var collapsedColumnCount = columnsInfo.map((function(headerRowWithColumns) { return headerRowWithColumns.filter((function(row) { return !row.expanded })).length })).reduce((function(result, collapsedCount) { return result + collapsedCount }), 0); for (var rowIdx = 0; rowIdx < rowsCount; rowIdx += 1) { correctedCellsInfo[rowIdx] = []; for (var colIdx = 0; colIdx < collapsedColumnCount; colIdx += 1) { correctedCellsInfo[rowIdx][colIdx] = this._getEmptyCell() } } } var sourceItems = columnsInfo.concat(correctedCellsInfo); for (rowIndex = 0; rowIndex < rowsInfoItems.length; rowIndex += 1) { for (cellIndex = rowsInfoItems[rowIndex].length - 1; cellIndex >= 0; cellIndex -= 1) { if (!(0, _type.isDefined)(sourceItems[rowIndex + headerRowsCount])) { sourceItems[rowIndex + headerRowsCount] = [] } sourceItems[rowIndex + headerRowsCount].splice(0, 0, (0, _extend.extend)({}, rowsInfoItems[rowIndex][cellIndex])) } } sourceItems[0].splice(0, 0, (0, _extend.extend)({}, this._getEmptyCell(), { alignment: (0, _position.getDefaultAlignment)(this._options.rtlEnabled), colspan: rowsLength, rowspan: headerRowsCount })); return (0, _m_export.prepareItems)(sourceItems, this._getEmptyCell()) }, getDataProvider: function() { return new DataProvider(this) } }; exports.ExportController = ExportController; var DataProvider = _class.default.inherit({ ctor: function(exportController) { this._exportController = exportController }, ready: function() { this._initOptions(); var options = this._options; return (0, _deferred.when)(options.items).done((function(items) { var headerSize = items[0][0].rowspan; var columns = items[headerSize - 1]; (0, _iterator.each)(columns, (function(_, column) { column.width = 100 })); options.columns = columns; options.items = items })) }, _initOptions: function() { var exportController = this._exportController; var dataController = exportController._dataController; var items = new _deferred.Deferred; dataController.beginLoading(); setTimeout((function() { var columnsInfo = (0, _extend.extend)(true, [], dataController.getColumnsInfo(true)); var rowsInfoItems = (0, _extend.extend)(true, [], dataController.getRowsInfo(true)); var cellsInfo = dataController.getCellsInfo(true); items.resolve(exportController._getAllItems(columnsInfo, rowsInfoItems, cellsInfo)); dataController.endLoading() })); this._options = { items: items, rtlEnabled: exportController.option("rtlEnabled"), dataFields: exportController.getDataSource().getAreaFields("data"), rowsArea: exportController._rowsArea, columnsArea: exportController._columnsArea } }, getColumns: function() { return this._options.columns }, getColumnsWidths: function() { var colsArea = this._options.columnsArea; var rowsArea = this._options.rowsArea; var columns = this._options.columns; var useDefaultWidth = !(0, _window.hasWindow)() || "virtual" === colsArea.option("scrolling.mode") || colsArea.element().is(":hidden"); return useDefaultWidth ? columns.map((function() { return 100 })) : rowsArea.getColumnsWidth().concat(colsArea.getColumnsWidth()) }, getRowsCount: function() { return this._options.items.length }, getGroupLevel: function() { return 0 }, getCellMerging: function(rowIndex, cellIndex) { var items = this._options.items; var item = items[rowIndex] && items[rowIndex][cellIndex]; return item ? { colspan: item.colspan - 1, rowspan: item.rowspan - 1 } : { colspan: 0, rowspan: 0 } }, getFrozenArea: function() { return { x: this.getRowAreaColCount(), y: this.getColumnAreaRowCount() } }, getCellType: function(rowIndex, cellIndex) { var style = this.getStyles()[this.getStyleId(rowIndex, cellIndex)]; return style && style.dataType || "string" }, getCellData: function(rowIndex, cellIndex, isExcelJS) { var result = {}; var items = this._options.items; var item = items[rowIndex] && items[rowIndex][cellIndex] || {}; if (isExcelJS) { result.cellSourceData = item; var areaName = this._tryGetAreaName(item, rowIndex, cellIndex); if (areaName) { result.cellSourceData.area = areaName } result.cellSourceData.rowIndex = rowIndex; result.cellSourceData.columnIndex = cellIndex } if ("string" === this.getCellType(rowIndex, cellIndex)) { result.value = item.text } else { result.value = item.value } if (result.cellSourceData && result.cellSourceData.isWhiteSpace) { result.value = "" } return result }, _tryGetAreaName: function(item, rowIndex, cellIndex) { if (this.isColumnAreaCell(rowIndex, cellIndex)) { return "column" } if (this.isRowAreaCell(rowIndex, cellIndex)) { return "row" } if ((0, _type.isDefined)(item.dataIndex)) { return "data" } return }, isRowAreaCell: function(rowIndex, cellIndex) { return rowIndex >= this.getColumnAreaRowCount() && cellIndex < this.getRowAreaColCount() }, isColumnAreaCell: function(rowIndex, cellIndex) { return cellIndex >= this.getRowAreaColCount() && rowIndex < this.getColumnAreaRowCount() }, getColumnAreaRowCount: function() { return this._options.items[0][0].rowspan }, getRowAreaColCount: function() { return this._options.items[0][0].colspan }, getHeaderStyles: function() { return [{ alignment: "center", dataType: "string" }, { alignment: (0, _position.getDefaultAlignment)(this._options.rtlEnabled), dataType: "string" }] }, getDataFieldStyles: function() { var _this = this; var dataFields = this._options.dataFields; var dataItemStyle = { alignment: this._options.rtlEnabled ? "left" : "right" }; var dataFieldStyles = []; if (dataFields.length) { dataFields.forEach((function(dataField) { dataFieldStyles.push(_extends(_extends({}, dataItemStyle), { format: dataField.format, dataType: _this.getCellDataType(dataField) })) })); return dataFieldStyles } return [dataItemStyle] }, getStyles: function() { if (this._styles) { return this._styles } this._styles = [].concat(_toConsumableArray(this.getHeaderStyles()), _toConsumableArray(this.getDataFieldStyles())); return this._styles }, getCellDataType: function(field) { if (field && field.customizeText) { return "string" } if (field.dataType) { return field.dataType } if (field.format) { if (1 === _number.default.parse(_format_helper.default.format(1, field.format))) { return "number" } if (_format_helper.default.format(new Date, field.format)) { return "date" } } return "string" }, getStyleId: function(rowIndex, cellIndex) { var items = this._options.items; var item = items[rowIndex] && items[rowIndex][cellIndex] || {}; if (0 === cellIndex && 0 === rowIndex || this.isColumnAreaCell(rowIndex, cellIndex)) { return 0 } if (this.isRowAreaCell(rowIndex, cellIndex)) { return 1 } return this.getHeaderStyles().length + (item.dataIndex || 0) } }); exports.DataProvider = DataProvider; var PivotGridExport = { DEFAUL_COLUMN_WIDTH: 100 }; exports.PivotGridExport = PivotGridExport; var _default = { ExportController: ExportController, PivotGridExport: PivotGridExport, DataProvider: DataProvider }; exports.default = _default }, 98591: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/field_chooser/const.js ***! \************************************************************************************************/ function(__unused_webpack_module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.SORT_ORDER = exports.SORTABLE_CONST = exports.ICONS = exports.CLASSES = exports.ATTRIBUTES = void 0; exports.ATTRIBUTES = { treeViewItem: "tree-view-item", allowScrolling: "allow-scrolling", itemGroup: "item-group" }; exports.CLASSES = { area: { self: "dx-area", box: "dx-area-box", caption: "dx-area-caption", icon: "dx-area-icon", field: "dx-area-field", fieldContainer: "dx-area-field-container", fieldContent: "dx-area-field-content", fieldList: "dx-area-fields", fieldListHeader: "dx-area-fields-header" }, pivotGrid: { dragAction: "dx-pivotgrid-drag-action", fieldsContainer: "dx-pivotgrid-fields-container" }, fieldChooser: { self: "dx-pivotgridfieldchooser", container: "dx-pivotgridfieldchooser-container", contextMenu: "dx-pivotgridfieldchooser-context-menu" }, layout: { zero: "dx-layout-0", second: "dx-layout-2" }, treeView: { self: "dx-treeview", borderVisible: "dx-treeview-border-visible" }, scrollable: { self: "dx-scrollable" }, allFields: "dx-all-fields", col: "dx-col", headerFilter: "dx-header-filter", row: "dx-row", widget: "dx-widget" }; exports.ICONS = { measure: "measure", hierarchy: "hierarchy", dimension: "dimension" }; exports.SORTABLE_CONST = { targets: { drag: "drag" } }; exports.SORT_ORDER = { descending: "desc", ascending: "asc" } }, 72182: /*!**********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/field_chooser/dom.js ***! \**********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.dragAndDropItemRender = function($sourceItem, target) { var $itemArray = function($sourceItem, target) { var isAreaBox = $sourceItem.hasClass(_const.CLASSES.area.box); var isTreeList = $sourceItem.attr(_const.ATTRIBUTES.treeViewItem); if (isAreaBox) { return function($sourceItem, target) { var $itemArray = $sourceItem.clone(); if (target === _const.SORTABLE_CONST.targets.drag) { $sourceItem.each((function(idx, sourceItem) { var width = parseFloat((0, _size.getOuterWidth)(sourceItem)); $itemArray.eq(idx).css("width", width); return true })) } return $itemArray }($sourceItem, target) } if (isTreeList) { return function($sourceItem) { return $sourceItem.clone().addClass(_const.CLASSES.area.box).css("width", parseFloat((0, _size.getOuterWidth)($sourceItem))) }($sourceItem) } return function($sourceItem) { return (0, _renderer.default)("
").addClass(_const.CLASSES.area.field).addClass(_const.CLASSES.area.box).text($sourceItem.text()) }($sourceItem) }($sourceItem, target); if (target === _const.SORTABLE_CONST.targets.drag) { return function($itemArray) { var $wrappedTmpContainer = (0, _renderer.default)("
"); $itemArray.each((function(_, item) { var $wrappedItem = (0, _renderer.default)("
").addClass(_const.CLASSES.pivotGrid.fieldsContainer).addClass(_const.CLASSES.widget).append((0, _renderer.default)(item)); $wrappedTmpContainer.append($wrappedItem); return true })); return $wrappedTmpContainer.children() }($itemArray) } return $itemArray }; var _renderer = (obj = __webpack_require__( /*! ../../../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _const = __webpack_require__( /*! ./const */ 98591) }, 63857: /*!**********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/field_chooser/m_field_chooser.js ***! \**********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.FieldChooser = void 0; __webpack_require__( /*! ../data_source/m_data_source */ 16710); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../../core/component_registrator */ 99393)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _icon = __webpack_require__( /*! ../../../../core/utils/icon */ 44899); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../../../core/utils/window */ 58201); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _context_menu = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/context_menu */ 10042)); var _tree_view = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/tree_view */ 30254)); var _m_widget_utils = __webpack_require__( /*! ../m_widget_utils */ 28580); var _const = __webpack_require__( /*! ./const */ 98591); var _m_field_chooser_base = __webpack_require__( /*! ./m_field_chooser_base */ 16491); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var DIV = "
"; var hasWindow = (0, _window.hasWindow)(); function getFirstItem(item, condition) { if (item.items) { for (var i = 0; i < item.items.length; i += 1) { var childrenItem = getFirstItem(item.items[i], condition); if (childrenItem) { return childrenItem } } } if (condition(item)) { return item } return } var compareOrder = [function(a, b) { var aValue = -!!a.isMeasure; var bValue = +!!b.isMeasure; return aValue + bValue }, function(a, b) { var aValue = -!!(a.items && a.items.length); var bValue = +!!(b.items && b.items.length); return aValue + bValue }, function(a, b) { var aValue = +!!(false === a.isMeasure && a.field && a.field.levels && a.field.levels.length); var bValue = -!!(false === b.isMeasure && b.field && b.field.levels && b.field.levels.length); return aValue + bValue }, (0, _m_widget_utils.getCompareFunction)((function(item) { return item.text }))]; function compareItems(a, b) { var result = 0; var i = 0; while (!result && compareOrder[i]) { result = compareOrder[i++](a, b) } return result } function getScrollable(container) { return container.find(".".concat(_const.CLASSES.scrollable.self)).dxScrollable("instance") } var FieldChooser = _m_field_chooser_base.FieldChooserBase.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { height: 400, layout: 0, dataSource: null, encodeHtml: true, onContextMenuPreparing: null, allowSearch: false, searchTimeout: 500, texts: { columnFields: _message.default.format("dxPivotGrid-columnFields"), rowFields: _message.default.format("dxPivotGrid-rowFields"), dataFields: _message.default.format("dxPivotGrid-dataFields"), filterFields: _message.default.format("dxPivotGrid-filterFields"), allFields: _message.default.format("dxPivotGrid-allFields") } }) }, _refreshDataSource: function() { var that = this; that._expandedPaths = []; that._changedHandler = that._changedHandler || function() { (0, _iterator.each)(that._dataChangedHandlers, (function(_, func) { func() })); that._fireContentReadyAction(); that._skipStateChange = true; that.option("state", that._dataSource.state()); that._skipStateChange = false }; that._disposeDataSource(); that.callBase(); that._dataSource && that._dataSource.on("changed", that._changedHandler) }, _disposeDataSource: function() { var dataSource = this._dataSource; if (dataSource) { dataSource.off("changed", this._changedHandler); this._dataSource = void 0 } }, _dispose: function() { this._disposeDataSource(); this.callBase.apply(this, arguments) }, _init: function() { this.callBase(); this._refreshDataSource(); this._dataChangedHandlers = []; this._initActions() }, _initActions: function() { this._actions = { onContextMenuPreparing: this._createActionByOption("onContextMenuPreparing") } }, _trigger: function(eventName, eventArg) { this._actions[eventName](eventArg) }, _setOptionsByReference: function() { this.callBase(); (0, _extend.extend)(this._optionsByReference, { dataSource: true }) }, _optionChanged: function(args) { switch (args.name) { case "dataSource": this._refreshDataSource(); this._invalidate(); break; case "layout": case "texts": case "allowSearch": case "searchTimeout": case "encodeHtml": this._invalidate(); break; case "onContextMenuPreparing": this._actions[args.name] = this._createActionByOption(args.name); break; default: this.callBase(args) } }, _clean: function(skipStateSetting) { !skipStateSetting && this._dataSource && this.option("state", this._dataSource.state()); this.$element().children(".".concat(_const.CLASSES.fieldChooser.container)).remove() }, _renderLayout0: function($container) { $container.addClass(_const.CLASSES.layout.zero); var $row1 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.row).appendTo($container); var $row2 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.row).appendTo($container); var $col1 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.col).appendTo($row1); var $col2 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.col).appendTo($row1); var $col3 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.col).appendTo($row2); var $col4 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.col).appendTo($row2); this._renderArea($col1, "all"); this._renderArea($col2, "row"); this._renderArea($col2, "column"); this._renderArea($col3, "filter"); this._renderArea($col4, "data") }, _renderLayout1: function($container) { var $col1 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.col).appendTo($container); var $col2 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.col).appendTo($container); this._renderArea($col1, "all"); this._renderArea($col2, "filter"); this._renderArea($col2, "row"); this._renderArea($col2, "column"); this._renderArea($col2, "data") }, _renderLayout2: function($container) { $container.addClass(_const.CLASSES.layout.second); var $row1 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.row).appendTo($container); this._renderArea($row1, "all"); var $row2 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.row).appendTo($container); var $col1 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.col).appendTo($row2); var $col2 = (0, _renderer.default)(DIV).addClass(_const.CLASSES.col).appendTo($row2); this._renderArea($col1, "filter"); this._renderArea($col1, "row"); this._renderArea($col2, "column"); this._renderArea($col2, "data") }, _initMarkup: function() { var $element = this.$element(); var $container = (0, _renderer.default)(DIV).addClass(_const.CLASSES.fieldChooser.container).appendTo($element); var layout = this.option("layout"); this.callBase(); $element.addClass(_const.CLASSES.fieldChooser.self).addClass(_const.CLASSES.pivotGrid.fieldsContainer); this._dataChangedHandlers = []; var dataSource = this._dataSource; var currentState = "instantly" !== this.option("applyChangesMode") && dataSource && dataSource.state(); currentState && this.option("state") && dataSource.state(this.option("state"), true); if (0 === layout) { this._renderLayout0($container) } else if (1 === layout) { this._renderLayout1($container) } else { this._renderLayout2($container) } currentState && dataSource.state(currentState, true) }, _renderContentImpl: function() { this.callBase(); this.renderSortable(); this._renderContextMenu(); this.updateDimensions() }, _fireContentReadyAction: function() { if (!this._dataSource || !this._dataSource.isLoading()) { this.callBase() } }, _getContextMenuArgs: function(dxEvent) { var targetFieldElement = (0, _renderer.default)(dxEvent.target).closest(".".concat(_const.CLASSES.area.field)); var targetGroupElement = (0, _renderer.default)(dxEvent.target).closest(".".concat(_const.CLASSES.area.fieldList)); var field; var area; if (targetFieldElement.length) { var fieldCopy = targetFieldElement.data("field"); if (fieldCopy) { field = this.getDataSource().field(fieldCopy.index) || fieldCopy } } if (targetGroupElement.length) { area = targetGroupElement.attr("group") } return { event: dxEvent, field: field, area: area, items: [] } }, _renderContextMenu: function() { var that = this; var $container = that.$element(); if (that._contextMenu) { that._contextMenu.$element().remove() } that._contextMenu = that._createComponent((0, _renderer.default)(DIV).appendTo($container), _context_menu.default, { onPositioning: function(actionArgs) { var event = actionArgs.event; if (!event) { return } var args = that._getContextMenuArgs(event); that._trigger("onContextMenuPreparing", args); if (args.items && args.items.length) { actionArgs.component.option("items", args.items) } else { actionArgs.cancel = true } }, target: $container, onItemClick: function(params) { params.itemData.onItemClick && params.itemData.onItemClick(params) }, cssClass: _const.CLASSES.fieldChooser.contextMenu }) }, _createTreeItems: function(fields, groupFieldNames, path) { var that = this; var isMeasure; var resultItems = []; var groupedItems = []; var groupFieldName = groupFieldNames[0]; var fieldsByGroup = {}; if (!groupFieldName) { (0, _iterator.each)(fields, (function(_, field) { var icon; if (true === field.isMeasure) { icon = _const.ICONS.measure } if (false === field.isMeasure) { icon = field.groupName ? _const.ICONS.hierarchy : _const.ICONS.dimension } resultItems.push({ index: field.index, field: field, key: field.dataField, selected: (0, _type.isDefined)(field.area), text: field.caption || field.dataField, icon: icon, isMeasure: field.isMeasure, isDefault: field.isDefault }) })) } else { (0, _iterator.each)(fields, (function(_, field) { var groupName = field[groupFieldName] || ""; fieldsByGroup[groupName] = fieldsByGroup[groupName] || []; fieldsByGroup[groupName].push(field); if (void 0 === isMeasure) { isMeasure = true } isMeasure = isMeasure && true === field.isMeasure })); (0, _iterator.each)(fieldsByGroup, (function(groupName, fields) { var currentPath = path ? "".concat(path, ".").concat(groupName) : groupName; var items = that._createTreeItems(fields, groupFieldNames.slice(1), currentPath); if (groupName) { groupedItems.push({ key: groupName, text: groupName, path: currentPath, isMeasure: items.isMeasure, expanded: that._expandedPaths.includes(currentPath), items: items }) } else { resultItems = items } })); resultItems = groupedItems.concat(resultItems); resultItems.isMeasure = isMeasure } return resultItems }, _createFieldsDataSource: function(dataSource) { var fields = dataSource && dataSource.fields() || []; fields = fields.filter((function(field) { return false !== field.visible && !(0, _type.isDefined)(field.groupIndex) })); var treeItems = this._createTreeItems(fields, ["dimension", "displayFolder"]); (0, _m_widget_utils.foreachDataLevel)(treeItems, (function(items) { items.sort(compareItems) }), 0, "items"); return treeItems }, _renderFieldsTreeView: function(container) { var that = this; var dataSource = that._dataSource; var treeView = that._createComponent(container, _tree_view.default, { dataSource: that._createFieldsDataSource(dataSource), showCheckBoxesMode: "normal", expandNodesRecursive: false, searchEnabled: that.option("allowSearch"), searchTimeout: that.option("searchTimeout"), useNativeScrolling: false, itemTemplate: function(itemData, itemIndex, itemElement) { var _a; var $item = (0, _renderer.default)("
").toggleClass(_const.CLASSES.area.field, !itemData.items).attr(_const.ATTRIBUTES.treeViewItem, true).data("field", itemData.field).appendTo(itemElement); if (itemData.icon) { null === (_a = (0, _icon.getImageContainer)(itemData.icon)) || void 0 === _a ? void 0 : _a.appendTo($item) }(0, _renderer.default)("").text(itemData.text).appendTo($item) }, onItemCollapsed: function(e) { var index = that._expandedPaths.indexOf(e.itemData.path); if (index >= 0) { that._expandedPaths.splice(index, 1) } }, onItemExpanded: function(e) { var index = that._expandedPaths.indexOf(e.itemData.path); if (index < 0) { that._expandedPaths.push(e.itemData.path) } }, onItemSelectionChanged: function(e) { var data = e.itemData; var field; var fields; var needSelectDefaultItem = true; var area; if (data.items) { if (data.selected) { treeView.unselectItem(data); return } that._processDemandState((function() { fields = function getDimensionFields(item, fields) { var result = []; if (item.items) { for (var i = 0; i < item.items.length; i += 1) { result.push.apply(result, getDimensionFields(item.items[i], fields)) } } else if ((0, _type.isDefined)(item.index)) { result.push(fields[item.index]) } return result }(data, dataSource.fields()); for (var i = 0; i < fields.length; i += 1) { if (fields[i].area) { needSelectDefaultItem = false; break } } })); if (needSelectDefaultItem) { var item = getFirstItem(data, (function(item) { return item.isDefault })) || getFirstItem(data, (function(item) { return (0, _type.isDefined)(item.index) })); item && treeView.selectItem(item); return } } else { field = dataSource.fields()[data.index]; if (data.selected) { area = field.isMeasure ? "data" : "column" } if (field) { fields = [field] } } that._applyChanges(fields, { area: area, areaIndex: void 0 }) } }); that._dataChangedHandlers.push((function() { var scrollable = getScrollable(container); var scrollTop = scrollable ? scrollable.scrollTop() : 0; treeView.option({ dataSource: that._createFieldsDataSource(dataSource) }); scrollable = getScrollable(container); if (scrollable) { scrollable.scrollTo({ y: scrollTop }); scrollable.update() } })) }, _renderAreaFields: function($container, area) { var that = this; var dataSource = that._dataSource; var fields = dataSource ? (0, _extend.extend)(true, [], dataSource.getAreaFields(area, true)) : []; $container.empty(); (0, _iterator.each)(fields, (function(_, field) { if (false !== field.visible) { that.renderField(field, true).appendTo($container) } })) }, _renderArea: function(container, area) { var that = this; var $areaContainer = (0, _renderer.default)(DIV).addClass(_const.CLASSES.area.self).appendTo(container); var $fieldsHeaderContainer = (0, _renderer.default)(DIV).addClass(_const.CLASSES.area.fieldListHeader).appendTo($areaContainer); var caption = that.option("texts.".concat(area, "Fields")); var $fieldsContent; var render; (0, _renderer.default)("").addClass(_const.CLASSES.area.icon).addClass("dx-area-icon-".concat(area)).appendTo($fieldsHeaderContainer); (0, _renderer.default)("").html(" ").appendTo($fieldsHeaderContainer); (0, _renderer.default)("").addClass(_const.CLASSES.area.caption).text(caption).appendTo($fieldsHeaderContainer); var $fieldsContainer = (0, _renderer.default)(DIV).addClass(_const.CLASSES.area.fieldList).addClass(_const.CLASSES.pivotGrid.dragAction).appendTo($areaContainer); if ("all" !== area) { $fieldsContainer.attr("group", area).attr(_const.ATTRIBUTES.allowScrolling, true); $fieldsContent = (0, _renderer.default)(DIV).addClass(_const.CLASSES.area.fieldContainer).appendTo($fieldsContainer); render = function() { that._renderAreaFields($fieldsContent, area) }; that._dataChangedHandlers.push(render); render(); $fieldsContainer.dxScrollable({ useNative: false }) } else { $areaContainer.addClass(_const.CLASSES.allFields); $fieldsContainer.addClass(_const.CLASSES.treeView.borderVisible); that._renderFieldsTreeView($fieldsContainer) } }, _getSortableOptions: function() { return {} }, _adjustSortableOnChangedArgs: function() {}, resetTreeView: function() { var treeView = this.$element().find(".".concat(_const.CLASSES.treeView.self)).dxTreeView("instance"); if (treeView) { treeView.option("searchValue", ""); treeView.collapseAll() } }, applyChanges: function() { var state = this.option("state"); if ((0, _type.isDefined)(state)) { this._dataSource.state(state) } }, cancelChanges: function() { var dataSource = this._dataSource; if (!dataSource.isLoading()) { this.option("state", dataSource.state()); return true } return false }, getDataSource: function() { return this._dataSource }, updateDimensions: function() { var $scrollableElements = this.$element().find(".".concat(_const.CLASSES.area.self, " .").concat(_const.CLASSES.scrollable.self)); $scrollableElements.dxScrollable("update") }, _visibilityChanged: function(visible) { if (visible && hasWindow) { this.updateDimensions() } } }); exports.FieldChooser = FieldChooser; (0, _component_registrator.default)("dxPivotGridFieldChooser", FieldChooser); var _default = { FieldChooser: FieldChooser }; exports.default = _default }, 16491: /*!***************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.js ***! \***************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.FieldChooserBase = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../../core/component_registrator */ 99393)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _array_store = _interopRequireDefault(__webpack_require__( /*! ../../../../data/array_store */ 26562)); var _click = __webpack_require__( /*! ../../../../events/click */ 95429); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/widget/ui.widget */ 14390)); var _m_column_state_mixin = _interopRequireDefault(__webpack_require__( /*! ../../../grids/grid_core/column_state_mixin/m_column_state_mixin */ 51255)); var _m_header_filter_core = __webpack_require__( /*! ../../../grids/grid_core/header_filter/m_header_filter_core */ 37565); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../../../grids/grid_core/m_utils */ 60082)); var _m_sorting_mixin = _interopRequireDefault(__webpack_require__( /*! ../../../grids/grid_core/sorting/m_sorting_mixin */ 62930)); var _m_widget_utils = __webpack_require__( /*! ../m_widget_utils */ 28580); var _m_sortable = __webpack_require__( /*! ../sortable/m_sortable */ 71442); var _const = __webpack_require__( /*! ./const */ 98591); var _dom = __webpack_require__( /*! ./dom */ 72182); var _utils = __webpack_require__( /*! ./utils */ 95670); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var HeaderFilterView = _m_header_filter_core.HeaderFilterView.inherit({ _getSearchExpr: function(options, headerFilterOptions) { options.useDefaultSearchExpr = true; return this.callBase(options, headerFilterOptions) } }); function getMainGroupField(dataSource, sourceField) { var field = sourceField; if ((0, _type.isDefined)(sourceField.groupIndex)) { field = dataSource.getAreaFields(sourceField.area, true)[sourceField.areaIndex] } return field } function getStringState(state) { state = state || {}; return JSON.stringify([state.fields, state.columnExpandedPaths, state.rowExpandedPaths]) } var FieldChooserBase = _ui.default.inherit(_m_column_state_mixin.default).inherit(_m_sorting_mixin.default).inherit(_m_header_filter_core.headerFilterMixin).inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { allowFieldDragging: true, applyChangesMode: "instantly", state: null, headerFilter: { width: 252, height: 325, allowSelectAll: true, showRelevantValues: false, search: { enabled: false, timeout: 500, editorOptions: {}, mode: "contains" }, texts: { emptyValue: _message.default.format("dxDataGrid-headerFilterEmptyValue"), ok: _message.default.format("dxDataGrid-headerFilterOK"), cancel: _message.default.format("dxDataGrid-headerFilterCancel") } }, remoteSort: false }) }, _init: function() { this.callBase(); this._headerFilterView = new HeaderFilterView(this); this._refreshDataSource(); this.subscribeToEvents(); _m_utils.default.logHeaderFilterDeprecatedWarningIfNeed(this) }, _refreshDataSource: function() { var dataSource = this.option("dataSource"); if (dataSource && dataSource.fields && dataSource.load) { this._dataSource = dataSource } }, _optionChanged: function(args) { switch (args.name) { case "dataSource": this._refreshDataSource(); break; case "applyChangesMode": case "remoteSort": break; case "state": if (this._skipStateChange || !this._dataSource) { break } if ("instantly" === this.option("applyChangesMode") && getStringState(this._dataSource.state()) !== getStringState(args.value)) { this._dataSource.state(args.value) } else { this._clean(true); this._renderComponent() } break; case "headerFilter": case "allowFieldDragging": this._invalidate(); break; default: this.callBase(args) } }, renderField: function(field, showColumnLines) { var $fieldContent = (0, _renderer.default)("
").addClass(_const.CLASSES.area.fieldContent).text(field.caption || field.dataField); var $fieldElement = (0, _renderer.default)("
").addClass(_const.CLASSES.area.field).addClass(_const.CLASSES.area.box).data("field", field).append($fieldContent); var mainGroupField = getMainGroupField(this._dataSource, field); if ("data" !== field.area) { if (field.allowSorting) { this._applyColumnState({ name: "sort", rootElement: $fieldElement, column: { alignment: this.option("rtlEnabled") ? "right" : "left", sortOrder: "desc" === field.sortOrder ? "desc" : "asc", allowSorting: field.allowSorting }, showColumnLines: showColumnLines }) } this._applyColumnState({ name: "headerFilter", rootElement: $fieldElement, column: { alignment: this.option("rtlEnabled") ? "right" : "left", filterValues: mainGroupField.filterValues, allowFiltering: mainGroupField.allowFiltering && !field.groupIndex, allowSorting: field.allowSorting }, showColumnLines: showColumnLines }) } if (field.groupName) { $fieldElement.attr(_const.ATTRIBUTES.itemGroup, field.groupName) } return $fieldElement }, _clean: function() {}, _render: function() { this.callBase(); this._headerFilterView.render(this.$element()) }, renderSortable: function() { var that = this; that._createComponent(that.$element(), _m_sortable.Sortable, (0, _extend.extend)({ allowDragging: that.option("allowFieldDragging"), itemSelector: ".".concat(_const.CLASSES.area.field), itemContainerSelector: ".".concat(_const.CLASSES.area.fieldContainer), groupSelector: ".".concat(_const.CLASSES.area.fieldList), groupFilter: function() { var dataSource = that._dataSource; var $sortable = (0, _renderer.default)(this).closest(".dx-sortable-old"); var pivotGrid = $sortable.data("dxPivotGrid"); var pivotGridFieldChooser = $sortable.data("dxPivotGridFieldChooser"); if (pivotGrid) { return pivotGrid.getDataSource() === dataSource } if (pivotGridFieldChooser) { return pivotGridFieldChooser.option("dataSource") === dataSource } return false }, itemRender: _dom.dragAndDropItemRender, onDragging: function(e) { var field = e.sourceElement.data("field"); var targetGroup = e.targetGroup; e.cancel = false; if (true === field.isMeasure) { if ("column" === targetGroup || "row" === targetGroup || "filter" === targetGroup) { e.cancel = true } } else if (false === field.isMeasure && "data" === targetGroup) { e.cancel = true } }, useIndicator: true, onChanged: function(e) { var field = e.sourceElement.data("field"); e.removeSourceElement = !!e.sourceGroup; that._adjustSortableOnChangedArgs(e); if (field) { var targetIndex = e.targetIndex; var mainGroupField; var invisibleFieldsIndexOffset = 0; that._processDemandState((function(dataSource) { var fields = dataSource.getAreaFields(field.area, true); mainGroupField = getMainGroupField(dataSource, field); var visibleFields = fields.filter((function(f) { return false !== f.visible })); var fieldBeforeTarget = visibleFields[targetIndex - 1]; if (fieldBeforeTarget) { invisibleFieldsIndexOffset = fields.filter((function(f) { return false === f.visible && f.areaIndex <= fieldBeforeTarget.areaIndex })).length } })); that._applyChanges([mainGroupField], { area: e.targetGroup, areaIndex: targetIndex + invisibleFieldsIndexOffset }) } } }, that._getSortableOptions())) }, _processDemandState: function(func) { var isInstantlyMode = "instantly" === this.option("applyChangesMode"); var dataSource = this._dataSource; if (isInstantlyMode) { func(dataSource, isInstantlyMode) } else { var currentState = dataSource.state(); var pivotGridState = this.option("state"); if (pivotGridState) { dataSource.state(pivotGridState, true) } func(dataSource, isInstantlyMode); dataSource.state(currentState, true) } }, _applyChanges: function(fields, props) { var that = this; that._processDemandState((function(dataSource, isInstantlyMode) { fields.forEach((function(_ref) { var index = _ref.index; dataSource.field(index, props) })); if (isInstantlyMode) { dataSource.load() } else { that._changedHandler() } })) }, _applyLocalSortChanges: function(fieldIdx, sortOrder) { this._processDemandState((function(dataSource) { dataSource.field(fieldIdx, { sortOrder: sortOrder }); dataSource.sortLocal() })) }, _adjustSortableOnChangedArgs: function(e) { e.removeSourceElement = false; e.removeTargetElement = true; e.removeSourceClass = false }, _getSortableOptions: function() { return { direction: "auto" } }, subscribeToEvents: function(element) { var that = this; var func = function(e) { var field = (0, _renderer.default)(e.currentTarget).data("field"); var mainGroupField = (0, _extend.extend)(true, {}, getMainGroupField(that._dataSource, field)); var isHeaderFilter = (0, _renderer.default)(e.target).hasClass(_const.CLASSES.headerFilter); var dataSource = that._dataSource; var type = mainGroupField.groupName ? "tree" : "list"; var paginate = dataSource.paginate() && "list" === type; if (isHeaderFilter) { that._headerFilterView.showHeaderFilterMenu((0, _renderer.default)(e.currentTarget), (0, _extend.extend)(mainGroupField, { type: type, encodeHtml: that.option("encodeHtml"), dataSource: { useDefaultSearch: !paginate, load: function(options) { var userData = options.userData; if (userData.store) { return userData.store.load(options) } var d = new _deferred.Deferred; dataSource.getFieldValues(mainGroupField.index, that.option("headerFilter.showRelevantValues"), paginate ? options : void 0).done((function(data) { var emptyValue = that.option("headerFilter.texts.emptyValue"); data.forEach((function(element) { if (!element.text) { element.text = emptyValue } })); if (paginate) { d.resolve(data) } else { userData.store = new _array_store.default(data); userData.store.load(options).done(d.resolve).fail(d.reject) } })).fail(d.reject); return d }, postProcess: function(data) { ! function(groupItems, field) { var filterValues = []; var isTree = !!field.groupName; var isExcludeFilterType = "exclude" === field.filterType; if (field.filterValues) { (0, _iterator.each)(field.filterValues, (function(_, filterValue) { filterValues.push(Array.isArray(filterValue) ? filterValue.join("/") : filterValue && filterValue.valueOf()) })) }(0, _m_widget_utils.foreachTree)(groupItems, (function(items) { var item = items[0]; var path = (0, _m_widget_utils.createPath)(items); var preparedFilterValueByText = isTree ? (0, _iterator.map)(items, (function(item) { return item.text })).reverse().join("/") : item.text; item.value = isTree ? path.slice(0) : item.key || item.value; var preparedFilterValue = isTree ? path.join("/") : item.value && item.value.valueOf(); if (item.children) { item.items = item.children; item.children = null }(0, _m_header_filter_core.updateHeaderFilterItemSelectionState)(item, item.key && filterValues.includes(preparedFilterValueByText) || filterValues.includes(preparedFilterValue), isExcludeFilterType) })) }(data, mainGroupField); return data } }, apply: function() { that._applyChanges([mainGroupField], { filterValues: this.filterValues, filterType: this.filterType }) } })) } else if (field.allowSorting && "data" !== field.area) { var isRemoteSort = that.option("remoteSort"); var sortOrder = (0, _utils.reverseSortOrder)(field.sortOrder); if (isRemoteSort) { that._applyChanges([field], { sortOrder: sortOrder }) } else { that._applyLocalSortChanges(field.index, sortOrder) } } }; if (element) { _events_engine.default.on(element, _click.name, ".".concat(_const.CLASSES.area.field, ".").concat(_const.CLASSES.area.box), func); return } _events_engine.default.on(that.$element(), _click.name, ".".concat(_const.CLASSES.area.field, ".").concat(_const.CLASSES.area.box), func) }, _initTemplates: _common.noop, addWidgetPrefix: function(className) { return "dx-pivotgrid-".concat(className) } }); exports.FieldChooserBase = FieldChooserBase; (0, _component_registrator.default)("dxPivotGridFieldChooserBase", FieldChooserBase); var _default = { FieldChooserBase: FieldChooserBase }; exports.default = _default }, 95670: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/field_chooser/utils.js ***! \************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.reverseSortOrder = void 0; var _const = __webpack_require__( /*! ./const */ 98591); exports.reverseSortOrder = function(sortOrder) { return sortOrder === _const.SORT_ORDER.descending ? _const.SORT_ORDER.ascending : _const.SORT_ORDER.descending } }, 70513: /*!******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/fields_area/m_fields_area.js ***! \******************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.FieldsArea = void 0; __webpack_require__( /*! ../field_chooser/m_field_chooser_base */ 16491); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _style = __webpack_require__( /*! ../../../../core/utils/style */ 80968); var _button = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/button */ 63008)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/popup/ui.popup */ 51495)); var _m_area_item = __webpack_require__( /*! ../area_item/m_area_item */ 74305); var _m_widget_utils = __webpack_require__( /*! ../m_widget_utils */ 28580); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var DIV = "
"; var FieldsArea = _m_area_item.AreaItem.inherit({ ctor: function(component, area) { this.callBase(component); this._area = area }, _getAreaName: function() { return "fields" }, _createGroupElement: function() { return (0, _renderer.default)(DIV).addClass("dx-pivotgrid-fields-area").addClass("dx-area-fields").addClass("dx-pivotgrid-drag-action").attr("group", this._area) }, isVisible: function() { return !!this.option("fieldPanel.visible") && this.option("fieldPanel.show".concat((0, _m_widget_utils.capitalizeFirstLetter)(this._area), "Fields")) }, _renderButton: function(element) { var that = this; var container = (0, _renderer.default)("
").appendTo(element)); var button = that.component._createComponent((0, _renderer.default)(DIV).appendTo(container), _button.default, { text: "Fields", icon: "menu", width: "auto", onClick: function() { var popup = that.tableElement().find(".dx-fields-area-popup").dxPopup("instance"); if (!popup.option("visible")) { popup.show() } } }); button.$element().addClass("dx-pivotgrid-fields-area-hamburger") }, _getPopupOptions: function(row, button) { return { contentTemplate: function() { return (0, _renderer.default)("
").appendTo((0, _renderer.default)("
").addClass("dx-area-field-container").append((0, _renderer.default)("").addClass("dx-pivotgrid-fields-area-head").append(row)) }, height: "auto", width: "auto", position: { at: "left", my: "left", of: button }, dragEnabled: false, animation: { show: { type: "pop", duration: 200 } }, shading: false, showTitle: false, hideOnOutsideClick: true, container: button.parent() } }, _renderPopup: function(tableElement, row) { var button = tableElement.find(".dx-button"); var popupOptions = this._getPopupOptions(row, button); var FieldChooserBase = this.component.$element().dxPivotGridFieldChooserBase("instance"); if (this._rowPopup) { this._rowPopup.$element().remove() } this._rowPopup = this.component._createComponent((0, _renderer.default)(DIV).appendTo(tableElement), _ui.default, popupOptions); this._rowPopup.$element().addClass("dx-fields-area-popup"); this._rowPopup.content().addClass("dx-pivotgrid-fields-container"); this._rowPopup.content().parent().attr("group", "row"); FieldChooserBase.subscribeToEvents(this._rowPopup.content()); FieldChooserBase.renderSortable(this._rowPopup.content()) }, _shouldCreateButton: function() { return false }, _renderTableContent: function(tableElement, data) { var that = this; var groupElement = this.groupElement(); var isVisible = this.isVisible(); var fieldChooserBase = that.component.$element().dxPivotGridFieldChooserBase("instance"); var head = (0, _renderer.default)("").addClass("dx-pivotgrid-fields-area-head").appendTo(tableElement); var area = that._area; var row = (0, _renderer.default)(""); groupElement.toggleClass("dx-hidden", !isVisible); tableElement.addClass("dx-area-field-container"); if (!isVisible) { return }(0, _iterator.each)(data, (function(index, field) { if (field.area === area && false !== field.visible) { var td = (0, _renderer.default)("" }, setVirtualContentParams: function(params) { this.callBase(params); this._setTableCss({ left: params.left, top: 0 }); this._virtualContentWidth = params.width }, hasScroll: function() { var tableWidth = this._virtualContent ? this._virtualContentWidth : this._tableWidth; var groupWidth = this.getGroupWidth(); if (groupWidth && tableWidth) { return tableWidth - groupWidth >= 1 } return false }, renderScrollable: function() { this._groupElement.dxScrollable({ useNative: false, useSimulatedScrollbar: false, showScrollbar: "never", bounceEnabled: false, direction: "horizontal", rtlEnabled: isRenovatedScrollable ? this.component.option("rtlEnabled") : false, updateManually: true }) }, updateScrollableOptions: function(_ref) { var rtlEnabled = _ref.rtlEnabled; var scrollable = this._getScrollable(); isRenovatedScrollable && scrollable.option({ rtlEnabled: rtlEnabled }) }, processScrollBarSpacing: function(scrollBarWidth) { var groupAlignment = this.option("rtlEnabled") ? "right" : "left"; var groupWidth = this.getGroupWidth(); if (groupWidth) { this.setGroupWidth(groupWidth - scrollBarWidth) } if (this._scrollBarWidth) { this._groupElement.next().remove() } this._groupElement.toggleClass("dx-vertical-scroll", scrollBarWidth > 0); (0, _size.setWidth)(this._groupElement.css("float", groupAlignment), this.getGroupHeight()); this._scrollBarWidth = scrollBarWidth }, getScrollPath: function(offset) { var tableElement = this.tableElement(); var cell; offset -= parseInt(tableElement[0].style.left, 10) || 0; (0, _iterator.each)(tableElement.find("td"), (function(_, td) { if (1 === td.colSpan && td.offsetLeft <= offset && td.offsetWidth + td.offsetLeft > offset) { cell = td; return false } return })); return getCellPath(tableElement, cell) }, _moveFakeTable: function(scrollPos) { this._moveFakeTableHorizontally(scrollPos); this.callBase() } }); exports.HorizontalHeadersArea = HorizontalHeadersArea; var VerticalHeadersArea = HorizontalHeadersArea.inherit({ _getAreaClassName: function() { return "dx-pivotgrid-vertical-headers" }, _applyCustomStyles: function(options) { this.callBase(options); if (options.cellIndex === options.cellsCount - 1) { options.classArray.push("dx-last-cell") } if (options.rowIndex === options.rowsCount - 1) { options.cssArray.push("border-bottom: 0px") } if (options.cell.isWhiteSpace) { options.classArray.push("dx-white-space-column") } }, _getAreaName: function() { return "row" }, setVirtualContentParams: function(params) { this.callBase(params); this._setTableCss({ top: params.top, left: 0 }); this._virtualContentHeight = params.height }, hasScroll: function() { var tableHeight = this._virtualContent ? this._virtualContentHeight : this._tableHeight; var groupHeight = this.getGroupHeight(); if (groupHeight && tableHeight) { return tableHeight - groupHeight >= 1 } return false }, renderScrollable: function() { this._groupElement.dxScrollable({ useNative: false, useSimulatedScrollbar: false, showScrollbar: "never", bounceEnabled: false, direction: "vertical", updateManually: true }) }, processScrollBarSpacing: function(scrollBarWidth) { var groupHeight = this.getGroupHeight(); if (groupHeight) { this.setGroupHeight(groupHeight - scrollBarWidth) } if (this._scrollBarWidth) { this._groupElement.next().remove() } if (scrollBarWidth) { var $div = (0, _renderer.default)("
"); (0, _size.setWidth)($div, "100%"); (0, _size.setHeight)($div, scrollBarWidth - 1); this._groupElement.after($div) } this._scrollBarWidth = scrollBarWidth }, getScrollPath: function(offset) { var tableElement = this.tableElement(); var cell; offset -= parseInt(tableElement[0].style.top, 10) || 0; (0, _iterator.each)(tableElement.find("tr"), (function(_, tr) { var td = tr.childNodes[tr.childNodes.length - 1]; if (td && 1 === td.rowSpan && td.offsetTop <= offset && td.offsetHeight + td.offsetTop > offset) { cell = td; return false } return })); return getCellPath(tableElement, cell) }, _moveFakeTable: function(scrollPos) { this._moveFakeTableTop(scrollPos); this.callBase() }, _getRowClassNames: function(rowIndex, cell, rowClassNames) { if (0 !== rowIndex & cell.expanded && !rowClassNames.includes("dx-expand-border")) { rowClassNames.push("dx-expand-border") } }, _getMainElementMarkup: function() { var tbody = _dom_adapter.default.createElement("tbody"); tbody.classList.add(this._getAreaClassName()); return tbody }, _getCloseMainElementMarkup: function() { return "" }, updateColspans: function(columnCount) { var rows = this.tableElement()[0].rows; var columnOffset = 0; var columnOffsetResetIndexes = []; if (this.getColumnsCount() - columnCount > 0) { return } for (var i = 0; i < rows.length; i += 1) { for (var j = 0; j < rows[i].cells.length; j += 1) { var cell = rows[i].cells[j]; var rowSpan = cell.rowSpan; if (columnOffsetResetIndexes[i]) { columnOffset -= columnOffsetResetIndexes[i]; columnOffsetResetIndexes[i] = 0 } var diff = columnCount - (columnOffset + cell.colSpan); if (j === rows[i].cells.length - 1 && diff > 0) { cell.colSpan += diff } columnOffsetResetIndexes[i + rowSpan] = (columnOffsetResetIndexes[i + rowSpan] || 0) + cell.colSpan; columnOffset += cell.colSpan } } } }); exports.VerticalHeadersArea = VerticalHeadersArea; var _default = { HorizontalHeadersArea: HorizontalHeadersArea, VerticalHeadersArea: VerticalHeadersArea }; exports.default = _default }, 16564: /*!******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/local_store/m_local_store.js ***! \******************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.LocalStore = void 0; var _class = _interopRequireDefault(__webpack_require__( /*! ../../../../core/class */ 38377)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _data = __webpack_require__( /*! ../../../../core/utils/data */ 47617); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/date_serialization */ 69434)); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _array_store = _interopRequireDefault(__webpack_require__( /*! ../../../../data/array_store */ 26562)); var _custom_store = _interopRequireDefault(__webpack_require__( /*! ../../../../data/custom_store */ 88036)); var _data_source = __webpack_require__( /*! ../../../../data/data_source/data_source */ 85273); var _query = _interopRequireDefault(__webpack_require__( /*! ../../../../data/query */ 96687)); var _utils = __webpack_require__( /*! ../../../../data/utils */ 16454); var _m_widget_utils = __webpack_require__( /*! ../m_widget_utils */ 28580); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var LocalStore = _class.default.inherit(function() { var DATE_INTERVAL_SELECTORS = { year: function(date) { return date && date.getFullYear() }, quarter: function(date) { return date && Math.floor(date.getMonth() / 3) + 1 }, month: function(date) { return date && date.getMonth() + 1 }, day: function(date) { return date && date.getDate() }, dayOfWeek: function(date) { return date && date.getDay() } }; function getDataSelector(dataField) { return -1 !== dataField.indexOf(".") ? (0, _data.compileGetter)(dataField) : function(data) { return data[dataField] } } function getDateValue(dataSelector) { return function(data) { var value = dataSelector(data); if (value && !(value instanceof Date)) { value = _date_serialization.default.deserializeDate(value) } return value } } function prepareFields(fields) { (0, _iterator.each)(fields || [], (function(_, field) { var fieldSelector; var intervalSelector; var dataField = field.dataField; var groupInterval; var levels = field.levels; var dataSelector; if (!field.selector) { if (!dataField) { dataSelector = function(data) { return data } } else { dataSelector = getDataSelector(dataField) } if (levels) { prepareFields(levels) } if ("date" === field.dataType) { intervalSelector = DATE_INTERVAL_SELECTORS[field.groupInterval]; var valueSelector = getDateValue(dataSelector); fieldSelector = function(data) { var value = valueSelector(data); return intervalSelector ? intervalSelector(value) : value } } else if ("number" === field.dataType) { groupInterval = (0, _type.isNumeric)(field.groupInterval) && field.groupInterval > 0 && field.groupInterval; fieldSelector = function(data) { var value = dataSelector(data); if ((0, _type.isString)(value)) { value = Number(value) } return groupInterval ? Math.floor(value / groupInterval) * groupInterval : value } } else { fieldSelector = dataSelector }(0, _m_widget_utils.setDefaultFieldValueFormatting)(field); (0, _m_widget_utils.setFieldProperty)(field, "selector", fieldSelector) } })) } function generateHierarchyItems(data, loadOptions, headers, headerName) { var result = [0]; var expandIndex = loadOptions.headerName === headerName ? loadOptions.path.length : 0; var expandedPaths = "rows" === headerName ? loadOptions.rowExpandedPaths : loadOptions.columnExpandedPaths; var options = { data: data, childrenHash: headers["".concat(headerName, "Hash")], dimensions: loadOptions[headerName], expandedPathsHash: loadOptions.headerName !== headerName && expandedPaths && expandedPaths.hash }; ! function fillHierarchyItemIndexesCore(indexes, options, children, expandIndex, pathHash) { var dimension = options.dimensions[expandIndex]; var expandedPathsHash = options.expandedPathsHash; var dimensionValue; var hierarchyItem; if (dimension) { dimensionValue = dimension.selector(options.data); pathHash = void 0 !== pathHash ? pathHash + "/./" + dimensionValue : "".concat(dimensionValue); hierarchyItem = function(value, hierarchyItems, pathHash, childrenHash) { var hierarchyItem = childrenHash[pathHash]; if (!hierarchyItem) { hierarchyItem = { value: value, index: childrenHash.length++ }; childrenHash[pathHash] = hierarchyItem; hierarchyItems.push(hierarchyItem) } return hierarchyItem }(dimensionValue, children, pathHash, options.childrenHash); indexes.push(hierarchyItem.index); if (expandedPathsHash && expandedPathsHash[pathHash] || dimension.expanded) { if (!hierarchyItem.children) { hierarchyItem.children = [] } fillHierarchyItemIndexesCore(indexes, options, hierarchyItem.children, expandIndex + 1, pathHash) } } }(result, options, headers[headerName], expandIndex); return result } function generateAggregationCells(data, cells, headers, options) { var cellSet = []; var x; var y; var rowIndex; var columnIndex; var rowIndexes = generateHierarchyItems(data, options, headers, "rows"); var columnIndexes = generateHierarchyItems(data, options, headers, "columns"); for (y = 0; y < rowIndexes.length; y += 1) { rowIndex = rowIndexes[y]; cells[rowIndex] = cells[rowIndex] || []; for (x = 0; x < columnIndexes.length; x += 1) { columnIndex = columnIndexes[x]; cellSet.push(cells[rowIndex][columnIndex] = cells[rowIndex][columnIndex] || []) } } return cellSet } function fillHashExpandedPath(expandedPaths) { if (expandedPaths) { var hash = expandedPaths.hash = {}; expandedPaths.forEach((function(path) { var pathValue = path.map((function(value) { return "".concat(value) })).join("/./"); hash[pathValue] = true })) } } function prepareLoadOption(options) { options.rows = options.rows || []; options.columns = options.columns || []; options.filters = options.filters || []; fillHashExpandedPath(options.columnExpandedPaths); fillHashExpandedPath(options.rowExpandedPaths); prepareFields(options.columns); prepareFields(options.rows); prepareFields(options.values); prepareFields(options.filters) } function getAggregator(field) { if ("custom" === field.summaryType) { field.calculateCustomSummary = field.calculateCustomSummary || _common.noop; return { seed: function() { var options = { summaryProcess: "start", totalValue: void 0 }; field.calculateCustomSummary(options); return options }, step: function(options, value) { options.summaryProcess = "calculate"; options.value = value; field.calculateCustomSummary(options); return options }, finalize: function(options) { options.summaryProcess = "finalize"; delete options.value; field.calculateCustomSummary(options); return options.totalValue } } } return _utils.aggregators[field.summaryType] || _utils.aggregators.count } function aggregationStep(measures, aggregationCells, data) { for (var aggregatorIndex = 0; aggregatorIndex < measures.length; aggregatorIndex += 1) { var cellField = measures[aggregatorIndex]; var cellValue = cellField.selector(data); var aggregator = getAggregator(cellField); var isAggregatorSeedFunction = "function" === typeof aggregator.seed; for (var cellSetIndex = 0; cellSetIndex < aggregationCells.length; cellSetIndex += 1) { var cell = aggregationCells[cellSetIndex]; if (cell.length <= aggregatorIndex) { cell[aggregatorIndex] = isAggregatorSeedFunction ? aggregator.seed() : aggregator.seed } if (void 0 === cell[aggregatorIndex]) { cell[aggregatorIndex] = cellValue } else if ((0, _type.isDefined)(cellValue)) { cell[aggregatorIndex] = aggregator.step(cell[aggregatorIndex], cellValue) } } } } function areValuesEqual(filterValue, fieldValue) { var valueOfFilter = filterValue && filterValue.valueOf(); var valueOfField = fieldValue && fieldValue.valueOf(); if (Array.isArray(filterValue)) { fieldValue = fieldValue || []; for (var i = 0; i < filterValue.length; i += 1) { valueOfFilter = filterValue[i] && filterValue[i].valueOf(); valueOfField = fieldValue[i] && fieldValue[i].valueOf(); if (valueOfFilter !== valueOfField) { return false } } return true } return valueOfFilter === valueOfField } function createDimensionFilters(dimension) { var filters = []; (0, _iterator.each)(dimension, (function(_, field) { var filterValues = field.filterValues || []; var groupName = field.groupName; if (groupName && (0, _type.isNumeric)(field.groupIndex)) { return } filterValues.length && filters.push((function(dataItem) { var value = field.levels ? function(levels, data) { var value = []; (0, _iterator.each)(levels, (function(_, field) { value.push(field.selector(data)) })); return value }(field.levels, dataItem) : field.selector(dataItem); var result = false; for (var i = 0; i < filterValues.length; i += 1) { if (areValuesEqual(filterValues[i], value)) { result = true; break } } return "exclude" === field.filterType ? !result : result })) })); return filters } function createFilter(options) { var filters = createDimensionFilters(options.rows).concat(createDimensionFilters(options.columns)).concat(createDimensionFilters(options.filters)); var expandedDimensions = options[options.headerName]; var path = options.path; if (expandedDimensions) { filters.push((function(dataItem) { var expandValue; for (var i = 0; i < path.length; i += 1) { expandValue = expandedDimensions[i].selector(dataItem); if ((0, _data.toComparable)(expandValue, true) !== (0, _data.toComparable)(path[i], true)) { return false } } return true })) } return function(dataItem) { for (var i = 0; i < filters.length; i += 1) { if (!filters[i](dataItem)) { return false } } return true } } function loadCore(items, options, notifyProgress) { var headers = { columns: [], rows: [], columnsHash: { length: 1 }, rowsHash: { length: 1 } }; var values = []; var aggregationCells; var data; var d = new _deferred.Deferred; var i = 0; var filter = createFilter(options); ! function processData() { var t = new Date; var startIndex = i; for (; i < items.length; i += 1) { if (i > startIndex && i % 1e4 === 0) { if (new Date - t >= 300) { notifyProgress(i / items.length); setTimeout(processData, 0); return } } data = items[i]; if (filter(data)) { aggregationCells = generateAggregationCells(data, values, headers, options); aggregationStep(options.values, aggregationCells, data) } } measures = options.values, cells = values, void(0, _iterator.each)(measures, (function(aggregatorIndex, cellField) { var aggregator = getAggregator(cellField); if (aggregator.finalize) { (0, _iterator.each)(cells, (function(_, row) { (0, _iterator.each)(row, (function(_, cell) { if (cell && void 0 !== cell[aggregatorIndex]) { cell[aggregatorIndex] = aggregator.finalize(cell[aggregatorIndex]) } })) })) } })); var measures, cells; notifyProgress(1); d.resolve({ rows: headers.rows, columns: headers.columns, values: values, grandTotalRowIndex: 0, grandTotalColumnIndex: 0 }) }(); return d } function filterDataSource(dataSource, fieldSelectors) { var filter = dataSource.filter(); if (dataSource.store() instanceof _custom_store.default && filter) { filter = processFilter(filter, fieldSelectors); return (0, _query.default)(dataSource.items()).filter(filter).toArray() } return dataSource.items() } function loadDataSource(dataSource, fieldSelectors, reload) { var d = new _deferred.Deferred; var customizeStoreLoadOptionsHandler = function(options) { if (dataSource.store() instanceof _array_store.default) { options.storeLoadOptions.filter = processFilter(options.storeLoadOptions.filter, fieldSelectors) } }; dataSource.on("customizeStoreLoadOptions", customizeStoreLoadOptionsHandler); if (!dataSource.isLoaded() || reload) { var loadDeferred = reload ? dataSource.load() : dataSource.reload(); (0, _deferred.when)(loadDeferred).done((function() { loadDataSource(dataSource, fieldSelectors).done((function() { d.resolve(filterDataSource(dataSource, fieldSelectors)) })).fail(d.reject) })).fail(d.reject) } else { d.resolve(filterDataSource(dataSource, fieldSelectors)) } return d.always((function() { dataSource.off("customizeStoreLoadOptions", customizeStoreLoadOptionsHandler) })) } function fillSelectorsByFields(selectors, fields) { fields.forEach((function(field) { if (field.dataField && "date" === field.dataType) { var valueSelector = getDateValue(getDataSelector(field.dataField)); selectors[field.dataField] = function(data) { return valueSelector(data) } } })) } function getFieldSelectors(options) { var selectors = {}; if (Array.isArray(options)) { fillSelectorsByFields(selectors, options) } else if (options) { ["rows", "columns", "filters"].forEach((function(area) { options[area] && fillSelectorsByFields(selectors, options[area]) })) } return selectors } function processFilter(filter, fieldSelectors) { if (!Array.isArray(filter)) { return filter } filter = filter.slice(0); if ((0, _type.isString)(filter[0]) && (filter[1] instanceof Date || filter[2] instanceof Date)) { filter[0] = fieldSelectors[filter[0]] } for (var i = 0; i < filter.length; i += 1) { filter[i] = processFilter(filter[i], fieldSelectors) } return filter } return { ctor: function(options) { this._progressChanged = options.onProgressChanged || _common.noop; this._dataSource = new _data_source.DataSource(options); this._dataSource.paginate(false) }, getFields: function(fields) { var dataSource = this._dataSource; var d = new _deferred.Deferred; loadDataSource(dataSource, getFieldSelectors(fields)).done((function(data) { d.resolve((0, _m_widget_utils.discoverObjectFields)(data, fields)) })).fail(d.reject); return d }, key: function() { return this._dataSource.key() }, load: function(options) { var that = this; var dataSource = that._dataSource; var d = new _deferred.Deferred; prepareLoadOption(options); loadDataSource(dataSource, getFieldSelectors(options), options.reload).done((function(data) { (0, _deferred.when)(loadCore(data, options, that._progressChanged)).done(d.resolve) })).fail(d.reject); return d }, filter: function() { var dataSource = this._dataSource; return dataSource.filter.apply(dataSource, arguments) }, supportPaging: function() { return false }, getDrillDownItems: function(loadOptions, params) { loadOptions = loadOptions || {}; params = params || {}; prepareLoadOption(loadOptions); var drillDownItems = []; var items = this._dataSource.items(); var item; var _params = params, maxRowCount = _params.maxRowCount; var _params2 = params, customColumns = _params2.customColumns; var filter = createFilter(loadOptions); var pathFilter = createFilter({ rows: (0, _m_widget_utils.getFiltersByPath)(loadOptions.rows, params.rowPath), columns: (0, _m_widget_utils.getFiltersByPath)(loadOptions.columns, params.columnPath), filters: [] }); for (var i = 0; i < items.length; i += 1) { if (pathFilter(items[i]) && filter(items[i])) { if (customColumns) { item = {}; for (var j = 0; j < customColumns.length; j += 1) { item[customColumns[j]] = items[i][customColumns[j]] } } else { item = items[i] } drillDownItems.push(item) } if (maxRowCount > 0 && drillDownItems.length === maxRowCount) { break } } return drillDownItems } } }()).include(_m_widget_utils.storeDrillDownMixin); exports.LocalStore = LocalStore; var _default = { LocalStore: LocalStore }; exports.default = _default }, 61550: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/m_widget.js ***! \*************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.PivotGrid = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _element = __webpack_require__( /*! ../../../core/element */ 6415); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _string = __webpack_require__( /*! ../../../core/utils/string */ 68752); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); var _click = __webpack_require__( /*! ../../../events/click */ 95429); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../../events/utils/index */ 39611); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../localization/message */ 28109)); var _context_menu = _interopRequireDefault(__webpack_require__( /*! ../../../ui/context_menu */ 10042)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../ui/popup/ui.popup */ 51495)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../../../ui/widget/ui.widget */ 14390)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../../grids/grid_core/m_utils */ 60082)); var _m_chart_integration = __webpack_require__( /*! ./chart_integration/m_chart_integration */ 85654); var _m_data_area = _interopRequireDefault(__webpack_require__( /*! ./data_area/m_data_area */ 64318)); var _m_data_controller = _interopRequireDefault(__webpack_require__( /*! ./data_controller/m_data_controller */ 9517)); var _m_export = __webpack_require__( /*! ./export/m_export */ 75705); var _m_field_chooser = __webpack_require__( /*! ./field_chooser/m_field_chooser */ 63857); var _m_field_chooser_base = __webpack_require__( /*! ./field_chooser/m_field_chooser_base */ 16491); var _m_fields_area = __webpack_require__( /*! ./fields_area/m_fields_area */ 70513); var _m_headers_area = _interopRequireDefault(__webpack_require__( /*! ./headers_area/m_headers_area */ 95578)); var _m_widget_utils = __webpack_require__( /*! ./m_widget_utils */ 28580); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var TR = "
"; var TD = "
").append(fieldChooserBase.renderField(field, "row" === field.area)); var indicators = td.find(".dx-column-indicators"); if (indicators.length && that._shouldCreateButton()) { indicators.insertAfter(indicators.next()) } td.appendTo(row); ! function(field, nextField, prevField, $container) { if (prevField && prevField.groupName && prevField.groupName === field.groupName) { (0, _renderer.default)(DIV).addClass("dx-group-connector").addClass("dx-group-connector-prev").appendTo($container) } if (nextField && nextField.groupName && nextField.groupName === field.groupName) { (0, _renderer.default)(DIV).addClass("dx-group-connector").addClass("dx-group-connector-next").appendTo($container) } }(field, data[index + 1], data[index - 1], td) } })); if (!row.children().length) { (0, _renderer.default)("").append((0, _renderer.default)(DIV).addClass("dx-empty-area-text").text(this.option("fieldPanel.texts.".concat(area, "FieldArea")))).appendTo(row) } if (that._shouldCreateButton()) { that._renderButton(head); that._renderPopup(tableElement, row) } else { head.append(row) } }, setGroupWidth: function(value) { (0, _style.setWidth)(this.groupElement(), value) }, setGroupHeight: function(value) { (0, _style.setHeight)(this.groupElement(), value) }, reset: function() { this.callBase(); this.groupElement().css("marginTop", 0) }, _renderVirtualContent: _common.noop }); exports.FieldsArea = FieldsArea; var _default = { FieldsArea: FieldsArea }; exports.default = _default }, 95578: /*!********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/headers_area/m_headers_area.js ***! \********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.VerticalHeadersArea = exports.HorizontalHeadersArea = void 0; var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../../core/dom_adapter */ 73349)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/scroll_view/ui.scrollable */ 41183)); var _m_area_item = __webpack_require__( /*! ../area_item/m_area_item */ 74305); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var isRenovatedScrollable = !!_ui.default.IS_RENOVATED_WIDGET; function getCellPath(tableElement, cell) { if (cell) { var _tableElement$data = tableElement.data(), data = _tableElement$data.data; var rowIndex = cell.parentNode.rowIndex; var cellIndex = cell.cellIndex; return data[rowIndex] && data[rowIndex][cellIndex] && data[rowIndex][cellIndex].path } return } var HorizontalHeadersArea = _m_area_item.AreaItem.inherit({ ctor: function(component) { this.callBase(component); this._scrollBarWidth = 0 }, _getAreaName: function() { return "column" }, _getAreaClassName: function() { return "dx-pivotgrid-horizontal-headers" }, _createGroupElement: function() { return (0, _renderer.default)("
").addClass(this._getAreaClassName()).addClass("dx-pivotgrid-area") }, _applyCustomStyles: function(options) { var cssArray = options.cssArray; var cell = options.cell; var rowsCount = options.rowsCount; var classArray = options.classArray; if (options.cellIndex === options.cellsCount - 1) { cssArray.push("".concat(options.rtlEnabled ? "border-left:" : "border-right:", "0px")) } if (cell.rowspan === rowsCount - options.rowIndex || options.rowIndex + 1 === rowsCount) { cssArray.push("border-bottom-width:0px") } if ("T" === cell.type || "GT" === cell.type) { classArray.push("dx-row-total") } if ("T" === options.cell.type) { classArray.push("dx-total") } if ("GT" === options.cell.type) { classArray.push("dx-grandtotal") } if ((0, _type.isDefined)(cell.expanded)) { classArray.push(cell.expanded ? "dx-pivotgrid-expanded" : "dx-pivotgrid-collapsed") } this.callBase(options) }, _getMainElementMarkup: function() { var thead = _dom_adapter.default.createElement("thead"); thead.setAttribute("class", this._getAreaClassName()); return thead }, _getCloseMainElementMarkup: function() { return "
"; var DIV = "
"; var FIELD_CALCULATED_OPTIONS = ["allowSorting", "allowSortingBySummary", "allowFiltering", "allowExpandAll"]; function getArraySum(array) { var sum = 0; (0, _iterator.each)(array, (function(_, value) { sum += value || 0 })); return sum } function adjustSizeArray(sizeArray, space) { var delta = space / sizeArray.length; for (var i = 0; i < sizeArray.length; i += 1) { sizeArray[i] -= delta } } function unsubscribeScrollEvents(area) { area.off("scroll").off("stop") } function getCommonBorderWidth(elements, direction) { var borderStyleNames = "width" === direction ? ["borderLeftWidth", "borderRightWidth"] : ["borderTopWidth", "borderBottomWidth"]; var width = 0; (0, _iterator.each)(elements, (function(_, elem) { var computedStyle = window.getComputedStyle(elem.get(0)); borderStyleNames.forEach((function(borderStyleName) { width += parseFloat(computedStyle[borderStyleName]) || 0 })) })); return width } var PivotGrid = _ui2.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { scrolling: { timeout: 300, renderingThreshold: 150, minTimeout: 10, mode: "standard", useNative: "auto", removeInvisiblePages: true, virtualRowHeight: 50, virtualColumnWidth: 100, loadTwoPagesOnStart: true }, encodeHtml: true, dataSource: null, activeStateEnabled: false, fieldChooser: { minWidth: 250, minHeight: 250, enabled: true, allowSearch: false, searchTimeout: 500, layout: 0, title: _message.default.format("dxPivotGrid-fieldChooserTitle"), width: 600, height: 600, applyChangesMode: "instantly" }, onContextMenuPreparing: null, allowSorting: false, allowSortingBySummary: false, allowFiltering: false, allowExpandAll: false, wordWrapEnabled: true, fieldPanel: { showColumnFields: true, showFilterFields: true, showDataFields: true, showRowFields: true, allowFieldDragging: true, visible: false, texts: { columnFieldArea: _message.default.format("dxPivotGrid-columnFieldArea"), rowFieldArea: _message.default.format("dxPivotGrid-rowFieldArea"), filterFieldArea: _message.default.format("dxPivotGrid-filterFieldArea"), dataFieldArea: _message.default.format("dxPivotGrid-dataFieldArea") } }, dataFieldArea: "column", export: { enabled: false, fileName: "PivotGrid" }, showRowTotals: true, showRowGrandTotals: true, showColumnTotals: true, showColumnGrandTotals: true, hideEmptySummaryCells: true, showTotalsPrior: "none", rowHeaderLayout: "standard", loadPanel: { enabled: true, text: _message.default.format("Loading"), width: 200, height: 70, showIndicator: true, indicatorSrc: "", showPane: true }, texts: { grandTotal: _message.default.format("dxPivotGrid-grandTotal"), total: _message.default.getFormatter("dxPivotGrid-total"), noData: _message.default.format("dxDataGrid-noDataText"), showFieldChooser: _message.default.format("dxPivotGrid-showFieldChooser"), expandAll: _message.default.format("dxPivotGrid-expandAll"), collapseAll: _message.default.format("dxPivotGrid-collapseAll"), sortColumnBySummary: _message.default.getFormatter("dxPivotGrid-sortColumnBySummary"), sortRowBySummary: _message.default.getFormatter("dxPivotGrid-sortRowBySummary"), removeAllSorting: _message.default.format("dxPivotGrid-removeAllSorting"), exportToExcel: _message.default.format("dxDataGrid-exportToExcel"), dataNotAvailable: _message.default.format("dxPivotGrid-dataNotAvailable") }, onCellClick: null, onCellPrepared: null, showBorders: false, stateStoring: { enabled: false, storageKey: null, type: "localStorage", customLoad: null, customSave: null, savingTimeout: 2e3 }, onExpandValueChanging: null, renderCellCountLimit: 2e4, onExporting: null, headerFilter: { width: 252, height: 325, allowSelectAll: true, showRelevantValues: false, search: { enabled: false, timeout: 500, editorOptions: {}, mode: "contains" }, texts: { emptyValue: _message.default.format("dxDataGrid-headerFilterEmptyValue"), ok: _message.default.format("dxDataGrid-headerFilterOK"), cancel: _message.default.format("dxDataGrid-headerFilterCancel") } } }) }, _updateCalculatedOptions: function(fields) { var that = this; (0, _iterator.each)(fields, (function(_, field) { (0, _iterator.each)(FIELD_CALCULATED_OPTIONS, (function(_, optionName) { var isCalculated = field._initProperties && optionName in field._initProperties && void 0 === field._initProperties[optionName]; var needUpdate = void 0 === field[optionName] || isCalculated; if (needUpdate) { (0, _m_widget_utils.setFieldProperty)(field, optionName, that.option(optionName)) } })) })) }, _getDataControllerOptions: function() { var that = this; return { component: that, dataSource: that.option("dataSource"), texts: that.option("texts"), showRowTotals: that.option("showRowTotals"), showRowGrandTotals: that.option("showRowGrandTotals"), showColumnTotals: that.option("showColumnTotals"), showTotalsPrior: that.option("showTotalsPrior"), showColumnGrandTotals: that.option("showColumnGrandTotals"), dataFieldArea: that.option("dataFieldArea"), rowHeaderLayout: that.option("rowHeaderLayout"), hideEmptySummaryCells: that.option("hideEmptySummaryCells"), onFieldsPrepared: function(fields) { that._updateCalculatedOptions(fields) } } }, _initDataController: function() { var that = this; that._dataController && that._dataController.dispose(); that._dataController = new _m_data_controller.default.DataController(that._getDataControllerOptions()); if ((0, _window.hasWindow)()) { that._dataController.changed.add((function() { that._render() })) } that._dataController.scrollChanged.add((function(options) { that._scrollLeft = options.left; that._scrollTop = options.top })); that._dataController.loadingChanged.add((function() { that._updateLoading() })); that._dataController.progressChanged.add(that._updateLoading.bind(that)); that._dataController.dataSourceChanged.add((function() { that._trigger("onChanged") })); var expandValueChanging = that.option("onExpandValueChanging"); if (expandValueChanging) { that._dataController.expandValueChanging.add((function(e) { expandValueChanging(e) })) } }, _init: function() { this.callBase(); this._initDataController(); _m_utils.default.logHeaderFilterDeprecatedWarningIfNeed(this); this._scrollLeft = this._scrollTop = null; this._initActions() }, _initActions: function() { this._actions = { onChanged: this._createActionByOption("onChanged"), onContextMenuPreparing: this._createActionByOption("onContextMenuPreparing"), onCellClick: this._createActionByOption("onCellClick"), onExporting: this._createActionByOption("onExporting"), onCellPrepared: this._createActionByOption("onCellPrepared") } }, _trigger: function(eventName, eventArg) { this._actions[eventName](eventArg) }, _optionChanged: function(args) { if (FIELD_CALCULATED_OPTIONS.includes(args.name)) { var fields = this.getDataSource().fields(); this._updateCalculatedOptions(fields) } switch (args.name) { case "dataSource": case "allowSorting": case "allowFiltering": case "allowExpandAll": case "allowSortingBySummary": case "scrolling": case "stateStoring": this._initDataController(); this._fieldChooserPopup.hide(); this._renderFieldChooser(); this._invalidate(); break; case "texts": case "showTotalsPrior": case "showRowTotals": case "showRowGrandTotals": case "showColumnTotals": case "showColumnGrandTotals": case "hideEmptySummaryCells": case "dataFieldArea": this._dataController.updateViewOptions(this._getDataControllerOptions()); break; case "useNativeScrolling": case "encodeHtml": case "renderCellCountLimit": break; case "rtlEnabled": this.callBase(args); this._renderFieldChooser(); this._renderContextMenu(); (0, _window.hasWindow)() && this._renderLoadPanel(this._dataArea.groupElement(), this.$element()); this._invalidate(); break; case "export": this._renderDescriptionArea(); break; case "onExpandValueChanging": break; case "onCellClick": case "onContextMenuPreparing": case "onExporting": case "onExported": case "onFileSaving": case "onCellPrepared": this._actions[args.name] = this._createActionByOption(args.name); break; case "fieldChooser": this._renderFieldChooser(); this._renderDescriptionArea(); break; case "loadPanel": if ((0, _window.hasWindow)()) { if ("loadPanel.enabled" === args.fullName) { clearTimeout(this._hideLoadingTimeoutID); this._renderLoadPanel(this._dataArea.groupElement(), this.$element()) } else { this._renderLoadPanel(this._dataArea.groupElement(), this.$element()); this._invalidate() } } break; case "fieldPanel": this._renderDescriptionArea(); this._invalidate(); break; case "headerFilter": this._renderFieldChooser(); this._invalidate(); break; case "showBorders": this._tableElement().toggleClass("dx-pivotgrid-border", !!args.value); this.updateDimensions(); break; case "wordWrapEnabled": this._tableElement().toggleClass("dx-word-wrap", !!args.value); this.updateDimensions(); break; case "rowHeaderLayout": this._tableElement().find(".".concat("dx-area-row-cell")).toggleClass("dx-area-tree-view", "tree" === args.value); this._dataController.updateViewOptions(this._getDataControllerOptions()); break; case "height": case "width": this._hasHeight = null; this.callBase(args); this.resize(); break; default: this.callBase(args) } }, _updateScrollPosition: function(columnsArea, rowsArea, dataArea) { var force = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : false; var that = this; var scrollTop; var scrollLeft; var scrolled = that._scrollTop || that._scrollLeft; if (that._scrollUpdating) { return } that._scrollUpdating = true; if (rowsArea && !rowsArea.hasScroll() && that._hasHeight) { that._scrollTop = null } if (columnsArea && !columnsArea.hasScroll()) { that._scrollLeft = null } if (null !== that._scrollTop || null !== that._scrollLeft || scrolled || that.option("rtlEnabled")) { scrollTop = that._scrollTop || 0; scrollLeft = that._scrollLeft || 0; dataArea.scrollTo({ left: scrollLeft, top: scrollTop }, force); columnsArea.scrollTo({ left: scrollLeft }, force); rowsArea.scrollTo({ top: scrollTop }, force); that._dataController.updateWindowScrollPosition(that._scrollTop) } that._scrollUpdating = false }, _subscribeToEvents: function(columnsArea, rowsArea, dataArea) { var that = this; (0, _iterator.each)([columnsArea, rowsArea, dataArea], (function(_, area) { ! function(area, handler) { unsubscribeScrollEvents(area); area.on("scroll", handler).on("stop", handler) }(area, (function(e) { return function(e, area) { var scrollOffset = e.scrollOffset; var scrollable = area._getScrollable(); var leftOffset = "vertical" !== scrollable.option("direction") ? scrollOffset.left : that._scrollLeft; var topOffset = "horizontal" !== scrollable.option("direction") && that._hasHeight ? scrollOffset.top : that._scrollTop; if ((that._scrollLeft || 0) !== (leftOffset || 0) || (that._scrollTop || 0) !== (topOffset || 0)) { that._scrollLeft = leftOffset; that._scrollTop = topOffset; that._updateScrollPosition(columnsArea, rowsArea, dataArea); if ("virtual" === that.option("scrolling.mode")) { that._dataController.setViewportPosition(that._scrollLeft, that._scrollTop) } } }(e, area) })) })); !that._hasHeight && that._dataController.subscribeToWindowScrollEvents(dataArea.groupElement()) }, _clean: _common.noop, _needDelayResizing: function(cellsInfo) { var cellsCount = cellsInfo.length * (cellsInfo.length ? cellsInfo[0].length : 0); return cellsCount > this.option("renderCellCountLimit") }, _renderFieldChooser: function() { var _a; var that = this; var container = that._pivotGridContainer; var fieldChooserOptions = that.option("fieldChooser") || {}; var toolbarItems = "onDemand" === fieldChooserOptions.applyChangesMode ? [{ toolbar: "bottom", location: "after", widget: "dxButton", options: { text: _message.default.format("OK"), onClick: function() { that._fieldChooserPopup.$content().dxPivotGridFieldChooser("applyChanges"); that._fieldChooserPopup.hide() } } }, { toolbar: "bottom", location: "after", widget: "dxButton", options: { text: _message.default.format("Cancel"), onClick: function() { that._fieldChooserPopup.hide() } } }] : []; var fieldChooserComponentOptions = { layout: fieldChooserOptions.layout, texts: fieldChooserOptions.texts || {}, dataSource: that.getDataSource(), allowSearch: fieldChooserOptions.allowSearch, searchTimeout: fieldChooserOptions.searchTimeout, width: void 0, height: void 0, headerFilter: that.option("headerFilter"), encodeHtml: null !== (_a = that.option("fieldChooser.encodeHtml")) && void 0 !== _a ? _a : that.option("encodeHtml"), applyChangesMode: fieldChooserOptions.applyChangesMode, onContextMenuPreparing: function(e) { that._trigger("onContextMenuPreparing", e) } }; var popupOptions = { shading: false, title: fieldChooserOptions.title, width: fieldChooserOptions.width, height: fieldChooserOptions.height, showCloseButton: true, resizeEnabled: true, minWidth: fieldChooserOptions.minWidth, minHeight: fieldChooserOptions.minHeight, toolbarItems: toolbarItems, onResize: function(e) { e.component.$content().dxPivotGridFieldChooser("updateDimensions") }, onShown: function(e) { that._createComponent(e.component.content(), _m_field_chooser.FieldChooser, fieldChooserComponentOptions) }, onHidden: function(e) { var fieldChooser = e.component.$content().dxPivotGridFieldChooser("instance"); fieldChooser.resetTreeView(); fieldChooser.cancelChanges() } }; if (that._fieldChooserPopup) { that._fieldChooserPopup.option(popupOptions); that._fieldChooserPopup.$content().dxPivotGridFieldChooser(fieldChooserComponentOptions) } else { that._fieldChooserPopup = that._createComponent((0, _renderer.default)(DIV).addClass("dx-fieldchooser-popup").appendTo(container), _ui.default, popupOptions) } }, _renderContextMenu: function() { var that = this; var $container = that._pivotGridContainer; if (that._contextMenu) { that._contextMenu.$element().remove() } that._contextMenu = that._createComponent((0, _renderer.default)(DIV).appendTo($container), _context_menu.default, { onPositioning: function(actionArgs) { var event = actionArgs.event; actionArgs.cancel = true; if (!event) { return } var targetElement = event.target.cellIndex >= 0 ? event.target : (0, _renderer.default)(event.target).closest("td").get(0); if (!targetElement) { return } var args = that._createEventArgs(targetElement, event); var items = that._getContextMenuItems(args); if (items) { actionArgs.component.option("items", items); actionArgs.cancel = false } }, onItemClick: function(params) { params.itemData.onItemClick && params.itemData.onItemClick(params) }, cssClass: "dx-pivotgrid", target: that.$element() }) }, _getContextMenuItems: function(e) { var that = this; var items = []; var texts = that.option("texts"); if ("row" === e.area || "column" === e.area) { var areaFields = e["".concat(e.area, "Fields")]; var oppositeAreaFields = e["column" === e.area ? "rowFields" : "columnFields"]; var field = e.cell.path && areaFields[e.cell.path.length - 1]; var dataSource = that.getDataSource(); if (field && field.allowExpandAll && e.cell.path.length < e["".concat(e.area, "Fields")].length && !dataSource.paginate()) { items.push({ beginGroup: true, icon: "none", text: texts.expandAll, onItemClick: function() { dataSource.expandAll(field.index) } }); items.push({ text: texts.collapseAll, icon: "none", onItemClick: function() { dataSource.collapseAll(field.index) } }) } if (e.cell.isLast && !dataSource.paginate()) { var sortingBySummaryItemCount = 0; (0, _iterator.each)(oppositeAreaFields, (function(_, field) { if (!field.allowSortingBySummary) { return }(0, _iterator.each)(e.dataFields, (function(dataIndex, dataField) { if ((0, _type.isDefined)(e.cell.dataIndex) && e.cell.dataIndex !== dataIndex) { return } var showDataFieldCaption = !(0, _type.isDefined)(e.cell.dataIndex) && e.dataFields.length > 1; var textFormat = "column" === e.area ? texts.sortColumnBySummary : texts.sortRowBySummary; var checked = (0, _m_widget_utils.findField)(e.dataFields, field.sortBySummaryField) === dataIndex && (e.cell.path || []).join("/") === (field.sortBySummaryPath || []).join("/"); var text = (0, _string.format)(textFormat, showDataFieldCaption ? "".concat(field.caption, " - ").concat(dataField.caption) : field.caption); items.push({ beginGroup: 0 === sortingBySummaryItemCount, icon: checked ? "desc" === field.sortOrder ? "sortdowntext" : "sortuptext" : "none", text: text, onItemClick: function() { dataSource.field(field.index, { sortBySummaryField: dataField.name || dataField.caption || dataField.dataField, sortBySummaryPath: e.cell.path, sortOrder: "desc" === field.sortOrder ? "asc" : "desc" }); dataSource.load() } }); sortingBySummaryItemCount += 1 })) })); (0, _iterator.each)(oppositeAreaFields, (function(_, field) { if (!field.allowSortingBySummary || !(0, _type.isDefined)(field.sortBySummaryField)) { return } items.push({ beginGroup: 0 === sortingBySummaryItemCount, icon: "none", text: texts.removeAllSorting, onItemClick: function() { (0, _iterator.each)(oppositeAreaFields, (function(_, field) { dataSource.field(field.index, { sortBySummaryField: void 0, sortBySummaryPath: void 0, sortOrder: void 0 }) })); dataSource.load() } }); return false })) } } if (that.option("fieldChooser.enabled")) { items.push({ beginGroup: true, icon: "columnchooser", text: texts.showFieldChooser, onItemClick: function() { that._fieldChooserPopup.show() } }) } if (that.option("export.enabled")) { items.push({ beginGroup: true, icon: "xlsxfile", text: texts.exportToExcel, onItemClick: function() { that.exportTo() } }) } e.items = items; that._trigger("onContextMenuPreparing", e); items = e.items; if (items && items.length) { return items } return }, _createEventArgs: function(targetElement, dxEvent) { var dataSource = this.getDataSource(); var args = { rowFields: dataSource.getAreaFields("row"), columnFields: dataSource.getAreaFields("column"), dataFields: dataSource.getAreaFields("data"), event: dxEvent }; if ($targetElement = (0, _renderer.default)(targetElement), $targetElement.closest(".".concat("dx-area-fields")).length || $targetElement.find(".".concat("dx-area-fields")).length) { return (0, _extend.extend)(this._createFieldArgs(targetElement), args) } var $targetElement; return (0, _extend.extend)(this._createCellArgs(targetElement), args) }, _createFieldArgs: function(targetElement) { var field = (0, _renderer.default)(targetElement).children().data("field"); var args = { field: field }; return (0, _type.isDefined)(field) ? args : {} }, _createCellArgs: function(cellElement) { var $cellElement = (0, _renderer.default)(cellElement); var columnIndex = cellElement.cellIndex; var rowIndex = cellElement.parentElement.rowIndex; var $table = $cellElement.closest("table"); var data = $table.data("data"); var cell = data && data[rowIndex] && data[rowIndex][columnIndex]; var args = { area: $table.data("area"), rowIndex: rowIndex, columnIndex: columnIndex, cellElement: (0, _element.getPublicElement)($cellElement), cell: cell }; return args }, _handleCellClick: function(e) { var that = this; var args = that._createEventArgs(e.currentTarget, e); var cell = args.cell; if (!cell || !args.area && (args.rowIndex || args.columnIndex)) { return } that._trigger("onCellClick", args); cell && !args.cancel && (0, _type.isDefined)(cell.expanded) && setTimeout((function() { that._dataController[cell.expanded ? "collapseHeaderItem" : "expandHeaderItem"](args.area, cell.path) })) }, _getNoDataText: function() { return this.option("texts.noData") }, _renderNoDataText: _m_utils.default.renderNoDataText, _renderLoadPanel: _m_utils.default.renderLoadPanel, _updateLoading: function(progress) { var that = this; var isLoading = that._dataController.isLoading(); if (!that._loadPanel) { return } var loadPanelVisible = that._loadPanel.option("visible"); if (!loadPanelVisible) { that._startLoadingTime = new Date } if (isLoading) { if (progress) { if (new Date - that._startLoadingTime >= 1e3) { that._loadPanel.option("message", "".concat(Math.floor(100 * progress), "%")) } } else { that._loadPanel.option("message", that.option("loadPanel.text")) } } clearTimeout(that._hideLoadingTimeoutID); if (loadPanelVisible && !isLoading) { that._hideLoadingTimeoutID = setTimeout((function() { that._loadPanel.option("visible", false); that.$element().removeClass("dx-overflow-hidden") })) } else { var visibilityOptions = { visible: isLoading }; if (isLoading) { visibilityOptions.position = _m_utils.default.calculateLoadPanelPosition(that._dataArea.groupElement()) } that._loadPanel.option(visibilityOptions); that.$element().toggleClass("dx-overflow-hidden", !isLoading) } }, _renderDescriptionArea: function() { var _this = this; var $element = this.$element(); var $descriptionCell = $element.find(".".concat("dx-area-description-cell")); var $toolbarContainer = (0, _renderer.default)(DIV).addClass("dx-pivotgrid-toolbar"); var fieldPanel = this.option("fieldPanel"); var $filterHeader = $element.find(".dx-filter-header"); var $columnHeader = $element.find(".dx-column-header"); var $targetContainer; if (fieldPanel.visible && fieldPanel.showFilterFields) { $targetContainer = $filterHeader } else if (fieldPanel.visible && (fieldPanel.showDataFields || fieldPanel.showColumnFields)) { $targetContainer = $columnHeader } else { $targetContainer = $descriptionCell } $columnHeader.toggleClass("dx-bottom-border", !!(fieldPanel.visible && (fieldPanel.showDataFields || fieldPanel.showColumnFields))); $filterHeader.toggleClass("dx-bottom-border", !!(fieldPanel.visible && fieldPanel.showFilterFields)); $descriptionCell.toggleClass("dx-pivotgrid-background", fieldPanel.visible && (fieldPanel.showDataFields || fieldPanel.showColumnFields || fieldPanel.showRowFields)); this.$element().find(".dx-pivotgrid-toolbar").remove(); $toolbarContainer.prependTo($targetContainer); if (this.option("fieldChooser.enabled")) { var $buttonElement = (0, _renderer.default)(DIV).appendTo($toolbarContainer).addClass("dx-pivotgrid-field-chooser-button"); var buttonOptions = { icon: "columnchooser", hint: this.option("texts.showFieldChooser"), onClick: function() { _this.getFieldChooserPopup().show() } }; this._createComponent($buttonElement, "dxButton", buttonOptions) } if (this.option("export.enabled")) { var _$buttonElement = (0, _renderer.default)(DIV).appendTo($toolbarContainer).addClass("dx-pivotgrid-export-button"); var _buttonOptions = { icon: "xlsxfile", hint: this.option("texts.exportToExcel"), onClick: function() { _this.exportTo() } }; this._createComponent(_$buttonElement, "dxButton", _buttonOptions) } }, _detectHasContainerHeight: function() { var element = this.$element(); if ((0, _type.isDefined)(this._hasHeight)) { var height = this.option("height") || this.$element().get(0).style.height; if (height && this._hasHeight ^ "auto" !== height) { this._hasHeight = null } } if ((0, _type.isDefined)(this._hasHeight) || element.is(":hidden")) { return } this._pivotGridContainer.addClass("dx-hidden"); var testElement = (0, _renderer.default)(DIV); (0, _size.setHeight)(testElement, 66666); element.append(testElement); this._hasHeight = 66666 !== (0, _size.getHeight)(element); this._pivotGridContainer.removeClass("dx-hidden"); testElement.remove() }, _renderHeaders: function(rowHeaderContainer, columnHeaderContainer, filterHeaderContainer, dataHeaderContainer) { var dataSource = this.getDataSource(); this._rowFields = this._rowFields || new _m_fields_area.FieldsArea(this, "row"); this._rowFields.render(rowHeaderContainer, dataSource.getAreaFields("row")); this._columnFields = this._columnFields || new _m_fields_area.FieldsArea(this, "column"); this._columnFields.render(columnHeaderContainer, dataSource.getAreaFields("column")); this._filterFields = this._filterFields || new _m_fields_area.FieldsArea(this, "filter"); this._filterFields.render(filterHeaderContainer, dataSource.getAreaFields("filter")); this._dataFields = this._dataFields || new _m_fields_area.FieldsArea(this, "data"); this._dataFields.render(dataHeaderContainer, dataSource.getAreaFields("data")); this.$element().dxPivotGridFieldChooserBase("instance").renderSortable() }, _createTableElement: function() { var $table = (0, _renderer.default)("").css({ width: "100%" }).toggleClass("dx-pivotgrid-border", !!this.option("showBorders")).toggleClass("dx-word-wrap", !!this.option("wordWrapEnabled")); _events_engine.default.on($table, (0, _index.addNamespace)(_click.name, "dxPivotGrid"), "td", this._handleCellClick.bind(this)); return $table }, _renderDataArea: function(dataAreaElement) { var dataArea = this._dataArea || new _m_data_area.default.DataArea(this); this._dataArea = dataArea; dataArea.render(dataAreaElement, this._dataController.getCellsInfo()); return dataArea }, _renderRowsArea: function(rowsAreaElement) { var rowsArea = this._rowsArea || new _m_headers_area.default.VerticalHeadersArea(this); this._rowsArea = rowsArea; rowsArea.render(rowsAreaElement, this._dataController.getRowsInfo()); return rowsArea }, _renderColumnsArea: function(columnsAreaElement) { var columnsArea = this._columnsArea || new _m_headers_area.default.HorizontalHeadersArea(this); this._columnsArea = columnsArea; columnsArea.render(columnsAreaElement, this._dataController.getColumnsInfo()); return columnsArea }, _initMarkup: function() { var that = this; that.callBase.apply(this, arguments); that.$element().addClass("dx-pivotgrid") }, _renderContentImpl: function() { var columnsAreaElement; var rowsAreaElement; var dataAreaElement; var tableElement; var isFirstDrawing = !this._pivotGridContainer; var rowHeaderContainer; var columnHeaderContainer; var filterHeaderContainer; var dataHeaderContainer; tableElement = !isFirstDrawing && this._tableElement(); if (!tableElement) { this.$element().addClass("dx-row-lines").addClass("dx-pivotgrid-fields-container"); this._pivotGridContainer = (0, _renderer.default)(DIV).addClass("dx-pivotgrid-container"); this._renderFieldChooser(); this._renderContextMenu(); columnsAreaElement = (0, _renderer.default)(TD).addClass("dx-area-column-cell"); rowsAreaElement = (0, _renderer.default)(TD).addClass("dx-area-row-cell"); dataAreaElement = (0, _renderer.default)(TD).addClass("dx-area-data-cell"); tableElement = this._createTableElement(); dataHeaderContainer = (0, _renderer.default)(TD).addClass("dx-data-header"); filterHeaderContainer = (0, _renderer.default)("
").attr("colspan", "2").addClass("dx-filter-header"); columnHeaderContainer = (0, _renderer.default)(TD).addClass("dx-column-header"); rowHeaderContainer = (0, _renderer.default)(TD).addClass("dx-area-description-cell"); (0, _renderer.default)(TR).append(filterHeaderContainer).appendTo(tableElement); (0, _renderer.default)(TR).append(dataHeaderContainer).append(columnHeaderContainer).appendTo(tableElement); (0, _renderer.default)(TR).append(rowHeaderContainer).append(columnsAreaElement).appendTo(tableElement); (0, _renderer.default)(TR).addClass("dx-bottom-row").append(rowsAreaElement).append(dataAreaElement).appendTo(tableElement); this._pivotGridContainer.append(tableElement); this.$element().append(this._pivotGridContainer); if ("tree" === this.option("rowHeaderLayout")) { rowsAreaElement.addClass("dx-area-tree-view") } } this.$element().addClass("dx-overflow-hidden"); this._createComponent(this.$element(), _m_field_chooser_base.FieldChooserBase, { dataSource: this.getDataSource(), encodeHtml: this.option("encodeHtml"), allowFieldDragging: this.option("fieldPanel.allowFieldDragging"), headerFilter: this.option("headerFilter"), visible: this.option("visible"), remoteSort: "virtual" === this.option("scrolling.mode") }); var dataArea = this._renderDataArea(dataAreaElement); var rowsArea = this._renderRowsArea(rowsAreaElement); var columnsArea = this._renderColumnsArea(columnsAreaElement); dataArea.tableElement().prepend(columnsArea.headElement()); if (isFirstDrawing) { this._renderLoadPanel(dataArea.groupElement().parent(), this.$element()); this._renderDescriptionArea(); rowsArea.renderScrollable(); columnsArea.renderScrollable(); dataArea.renderScrollable() } [dataArea, rowsArea, columnsArea].forEach((function(area) { unsubscribeScrollEvents(area) })); this._renderHeaders(rowHeaderContainer, columnHeaderContainer, filterHeaderContainer, dataHeaderContainer); this._update(isFirstDrawing) }, _update: function(isFirstDrawing) { var that = this; var updateHandler = function() { that.updateDimensions() }; if (that._needDelayResizing(that._dataArea.getData()) && isFirstDrawing) { setTimeout(updateHandler) } else { updateHandler() } }, _fireContentReadyAction: function() { if (!this._dataController.isLoading()) { this.callBase() } }, getScrollPath: function(area) { if ("column" === area) { return this._columnsArea.getScrollPath(this._scrollLeft) } return this._rowsArea.getScrollPath(this._scrollTop) }, getDataSource: function() { return this._dataController.getDataSource() }, getFieldChooserPopup: function() { return this._fieldChooserPopup }, hasScroll: function(area) { return "column" === area ? this._columnsArea.hasScroll() : this._rowsArea.hasScroll() }, _dimensionChanged: function() { this.updateDimensions() }, _visibilityChanged: function(visible) { if (visible) { this.updateDimensions() } }, _dispose: function() { var that = this; clearTimeout(that._hideLoadingTimeoutID); that.callBase.apply(that, arguments); if (that._dataController) { that._dataController.dispose() } }, _tableElement: function() { return this.$element().find("table").first() }, addWidgetPrefix: function(className) { return "dx-pivotgrid-".concat(className) }, resize: function() { this.updateDimensions() }, isReady: function() { return this.callBase() && !this._dataController.isLoading() }, updateDimensions: function() { var that = this; var groupWidth; var tableElement = that._tableElement(); var bordersWidth; var totalWidth = 0; var totalHeight = 0; var rowsAreaWidth = 0; var hasRowsScroll; var hasColumnsScroll; var dataAreaCell = tableElement.find(".".concat("dx-area-data-cell")); var rowAreaCell = tableElement.find(".".concat("dx-area-row-cell")); var columnAreaCell = tableElement.find(".".concat("dx-area-column-cell")); var descriptionCell = tableElement.find(".".concat("dx-area-description-cell")); var filterHeaderCell = tableElement.find(".dx-filter-header"); var columnHeaderCell = tableElement.find(".dx-column-header"); var rowFieldsHeader = that._rowFields; var d = new _deferred.Deferred; if (!(0, _window.hasWindow)()) { return } var needSynchronizeFieldPanel = rowFieldsHeader.isVisible() && "tree" !== that.option("rowHeaderLayout"); that._detectHasContainerHeight(); if (!that._dataArea.headElement().length) { that._dataArea.tableElement().prepend(that._columnsArea.headElement()) } if (needSynchronizeFieldPanel) { that._rowsArea.updateColspans(rowFieldsHeader.getColumnsCount()); that._rowsArea.tableElement().prepend(rowFieldsHeader.headElement()) } tableElement.addClass("dx-incompressible-fields"); that._dataArea.reset(); that._rowsArea.reset(); that._columnsArea.reset(); rowFieldsHeader.reset(); var calculateHasScroll = function(areaSize, totalSize) { return totalSize - areaSize >= 1 }; var calculateGroupHeight = function(dataAreaHeight, totalHeight, hasRowsScroll, hasColumnsScroll, scrollBarWidth) { return hasRowsScroll ? dataAreaHeight : totalHeight + (hasColumnsScroll ? scrollBarWidth : 0) }; (0, _common.deferUpdate)((function() { var rowHeights = that._rowsArea.getRowsHeight(); var descriptionCellHeight = (0, _size.getOuterHeight)(descriptionCell[0], true) + (needSynchronizeFieldPanel ? rowHeights[0] : 0); var filterAreaHeight = 0; var dataAreaHeight = 0; if (that._hasHeight) { filterAreaHeight = (0, _size.getHeight)(filterHeaderCell); var $dataHeader = tableElement.find(".dx-data-header"); var dataHeaderHeight = (0, _size.getHeight)($dataHeader); bordersWidth = getCommonBorderWidth([columnAreaCell, dataAreaCell, tableElement, columnHeaderCell, filterHeaderCell], "height"); dataAreaHeight = (0, _size.getHeight)(that.$element()) - filterAreaHeight - dataHeaderHeight - (Math.max((0, _size.getHeight)(that._dataArea.headElement()), (0, _size.getHeight)(columnAreaCell), descriptionCellHeight) + bordersWidth) } var scrollBarWidth = that._dataArea.getScrollbarWidth(); var hasVerticalScrollbar = calculateHasScroll(dataAreaHeight, (0, _size.getHeight)(that._dataArea.tableElement())); that._dataArea.tableElement().css({ width: that._hasHeight && hasVerticalScrollbar && scrollBarWidth ? "calc(100% - ".concat(scrollBarWidth, "px)") : "100%" }); var resultWidths = that._dataArea.getColumnsWidth(); var rowsAreaHeights = needSynchronizeFieldPanel ? rowHeights.slice(1) : rowHeights; var dataAreaHeights = that._dataArea.getRowsHeight(); var columnsAreaRowCount = that._dataController.getColumnsInfo().length; var resultHeights = (0, _m_widget_utils.mergeArraysByMaxValue)(rowsAreaHeights, dataAreaHeights.slice(columnsAreaRowCount)); var columnsAreaRowHeights = dataAreaHeights.slice(0, columnsAreaRowCount); var columnsAreaHeight = getArraySum(columnsAreaRowHeights); var rowsAreaColumnWidths = that._rowsArea.getColumnsWidth(); totalWidth = (0, _size.getWidth)(that._dataArea.tableElement()); totalHeight = getArraySum(resultHeights); if (!totalWidth || !totalHeight) { d.resolve(); return } rowsAreaWidth = getArraySum(rowsAreaColumnWidths); var elementWidth = (0, _size.getWidth)(that.$element()); bordersWidth = getCommonBorderWidth([rowAreaCell, dataAreaCell, tableElement], "width"); groupWidth = elementWidth - rowsAreaWidth - bordersWidth; groupWidth = groupWidth > 0 ? groupWidth : totalWidth; var diff = totalWidth - groupWidth; var needAdjustWidthOnZoom = diff >= 0 && diff <= 2; if (needAdjustWidthOnZoom) { adjustSizeArray(resultWidths, diff); totalWidth = groupWidth } hasRowsScroll = that._hasHeight && calculateHasScroll(dataAreaHeight, totalHeight); hasColumnsScroll = calculateHasScroll(groupWidth, totalWidth); var groupHeight = calculateGroupHeight(dataAreaHeight, totalHeight, hasRowsScroll, hasColumnsScroll, scrollBarWidth); (0, _common.deferRender)((function() { that._columnsArea.tableElement().append(that._dataArea.headElement()); rowFieldsHeader.tableElement().append(that._rowsArea.headElement()); if (descriptionCellHeight > columnsAreaHeight) { adjustSizeArray(columnsAreaRowHeights, columnsAreaHeight - descriptionCellHeight); that._columnsArea.setRowsHeight(columnsAreaRowHeights) } tableElement.removeClass("dx-incompressible-fields"); columnHeaderCell.children().css("maxWidth", groupWidth); that._columnsArea.setGroupWidth(groupWidth); that._columnsArea.processScrollBarSpacing(hasRowsScroll ? scrollBarWidth : 0); that._columnsArea.setColumnsWidth(resultWidths); that._rowsArea.setGroupHeight(that._hasHeight ? groupHeight : "auto"); that._rowsArea.processScrollBarSpacing(hasColumnsScroll ? scrollBarWidth : 0); that._rowsArea.setColumnsWidth(rowsAreaColumnWidths); that._rowsArea.setRowsHeight(resultHeights); that._dataArea.setColumnsWidth(resultWidths); that._dataArea.setRowsHeight(resultHeights); that._dataArea.setGroupWidth(groupWidth); that._dataArea.setGroupHeight(that._hasHeight ? groupHeight : "auto"); needSynchronizeFieldPanel && rowFieldsHeader.setColumnsWidth(rowsAreaColumnWidths); dataAreaCell.toggleClass("dx-bottom-border", !hasRowsScroll); rowAreaCell.toggleClass("dx-bottom-border", !hasRowsScroll); if (!that._hasHeight && elementWidth !== (0, _size.getWidth)(that.$element())) { var _diff = elementWidth - (0, _size.getWidth)(that.$element()); if (!hasColumnsScroll) { adjustSizeArray(resultWidths, _diff); that._columnsArea.setColumnsWidth(resultWidths); that._dataArea.setColumnsWidth(resultWidths) } that._dataArea.setGroupWidth(groupWidth - _diff); that._columnsArea.setGroupWidth(groupWidth - _diff) } if (that._hasHeight && that._filterFields.isVisible() && (0, _size.getHeight)(filterHeaderCell) !== filterAreaHeight) { var _diff2 = (0, _size.getHeight)(filterHeaderCell) - filterAreaHeight; if (_diff2 > 0) { hasRowsScroll = calculateHasScroll(dataAreaHeight - _diff2, totalHeight); var _groupHeight = calculateGroupHeight(dataAreaHeight - _diff2, totalHeight, hasRowsScroll, hasColumnsScroll, scrollBarWidth); that._dataArea.setGroupHeight(_groupHeight); that._rowsArea.setGroupHeight(_groupHeight) } } var scrollingOptions = that.option("scrolling"); if ("virtual" === scrollingOptions.mode) { that._setVirtualContentParams(scrollingOptions, resultWidths, resultHeights, groupWidth, groupHeight, that._hasHeight, rowsAreaWidth) } var updateScrollableResults = []; that._dataArea.updateScrollableOptions({ direction: that._dataArea.getScrollableDirection(hasColumnsScroll, hasRowsScroll), rtlEnabled: that.option("rtlEnabled") }); that._columnsArea.updateScrollableOptions({ rtlEnabled: that.option("rtlEnabled") }); (0, _iterator.each)([that._columnsArea, that._rowsArea, that._dataArea], (function(_, area) { updateScrollableResults.push(area && area.updateScrollable()) })); that._updateLoading(); that._renderNoDataText(dataAreaCell); _deferred.when.apply(_renderer.default, updateScrollableResults).done((function() { that._updateScrollPosition(that._columnsArea, that._rowsArea, that._dataArea, true); that._subscribeToEvents(that._columnsArea, that._rowsArea, that._dataArea); d.resolve() })) })) })); return d }, _setVirtualContentParams: function(scrollingOptions, resultWidths, resultHeights, groupWidth, groupHeight, hasHeight, rowsAreaWidth) { var virtualContentParams = this._dataController.calculateVirtualContentParams({ virtualRowHeight: scrollingOptions.virtualRowHeight, virtualColumnWidth: scrollingOptions.virtualColumnWidth, itemWidths: resultWidths, itemHeights: resultHeights, rowCount: resultHeights.length, columnCount: resultWidths.length, viewportWidth: groupWidth, viewportHeight: hasHeight ? groupHeight : (0, _size.getOuterHeight)(window) }); this._dataArea.setVirtualContentParams({ top: virtualContentParams.contentTop, left: virtualContentParams.contentLeft, width: virtualContentParams.width, height: virtualContentParams.height }); this._rowsArea.setVirtualContentParams({ top: virtualContentParams.contentTop, width: rowsAreaWidth, height: virtualContentParams.height }); this._columnsArea.setVirtualContentParams({ left: virtualContentParams.contentLeft, width: virtualContentParams.width, height: (0, _size.getHeight)(this._columnsArea.groupElement()) }) }, applyPartialDataSource: function(area, path, dataSource) { this._dataController.applyPartialDataSource(area, path, dataSource) } }).inherit(_m_export.ExportController).include(_m_chart_integration.ChartIntegrationMixin); exports.PivotGrid = PivotGrid; (0, _component_registrator.default)("dxPivotGrid", PivotGrid); var _default = { PivotGrid: PivotGrid }; exports.default = _default }, 28580: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/m_widget_utils.js ***! \*******************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.calculateScrollbarWidth = void 0; exports.capitalizeFirstLetter = capitalizeFirstLetter; exports.createPath = createPath; exports.default = void 0; exports.discoverObjectFields = discoverObjectFields; exports.findField = findField; exports.foreachDataLevel = foreachDataLevel; exports.foreachTreeAsync = exports.foreachTree = void 0; exports.formatValue = formatValue; exports.getCompareFunction = getCompareFunction; exports.getExpandedLevel = getExpandedLevel; exports.getFieldsDataType = getFieldsDataType; exports.getFiltersByPath = getFiltersByPath; exports.getScrollbarWidth = void 0; exports.mergeArraysByMaxValue = mergeArraysByMaxValue; exports.sendRequest = sendRequest; exports.setDefaultFieldValueFormatting = setDefaultFieldValueFormatting; exports.storeDrillDownMixin = exports.setFieldProperty = void 0; var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../core/dom_adapter */ 73349)); var _ajax = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/ajax */ 37208)); var _call_once = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/call_once */ 39618)); var _data = __webpack_require__( /*! ../../../core/utils/data */ 47617); var _deferred = __webpack_require__( /*! ../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _array_store = _interopRequireDefault(__webpack_require__( /*! ../../../data/array_store */ 26562)); var _data_source = __webpack_require__( /*! ../../../data/data_source/data_source */ 85273); var _format_helper = _interopRequireDefault(__webpack_require__( /*! ../../../format_helper */ 30343)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../localization/date */ 91500)); var _const = __webpack_require__( /*! ./const */ 18813); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var setFieldProperty = function(field, property, value, isInitialization) { var initProperties = field._initProperties = field._initProperties || {}; var initValue = isInitialization ? value : field[property]; var needInitProperty = !Object.prototype.hasOwnProperty.call(initProperties, property) || isInitialization; if (needInitProperty && "_initProperties" !== property) { initProperties[property] = initValue } field[property] = value }; exports.setFieldProperty = setFieldProperty; function sendRequest(options) { return _ajax.default.sendRequest(options) } var foreachTreeAsyncDate = new Date; function createForeachTreeFunc(isAsync) { return function foreachTreeFunc(items, callback, parentAtFirst, members, index, isChildrenProcessing) { members = members || []; items = items || []; var i; var deferred; index = index || 0; function createForeachTreeAsyncHandler(deferred, i, isChildrenProcessing) { (0, _deferred.when)(foreachTreeFunc(items, callback, parentAtFirst, members, i, isChildrenProcessing)).done(deferred.resolve) } for (i = index; i < items.length; i += 1) { if (isAsync && i > index && i % 1e4 === 0 && new Date - foreachTreeAsyncDate >= 300) { foreachTreeAsyncDate = new Date; deferred = new _deferred.Deferred; createForeachTreeAsyncHandler(deferred, i, false); return deferred } var item = items[i]; if (!isChildrenProcessing) { members.unshift(item); if (parentAtFirst && false === callback(members, i)) { return } if (item.children) { var childrenDeferred = foreachTreeFunc(item.children, callback, parentAtFirst, members); if (isAsync && childrenDeferred) { deferred = new _deferred.Deferred; childrenDeferred.done(createForeachTreeAsyncHandler(deferred, i, true)); return deferred } } } isChildrenProcessing = false; if (!parentAtFirst && false === callback(members, i)) { return } members.shift(); if (items[i] !== item) { i -= 1 } } return } } var foreachTree = createForeachTreeFunc(false); exports.foreachTree = foreachTree; var foreachTreeAsync = createForeachTreeFunc(true); exports.foreachTreeAsync = foreachTreeAsync; function findField(fields, id) { if (fields && (0, _type.isDefined)(id)) { for (var i = 0; i < fields.length; i += 1) { var field = fields[i]; if (field.name === id || field.caption === id || field.dataField === id || field.index === id) { return i } } } return -1 } function formatValue(value, options) { var valueText = value === value && _format_helper.default.format(value, options.format); var formatObject = { value: value, valueText: valueText || "" }; return options.customizeText ? options.customizeText.call(options, formatObject) : formatObject.valueText } function getCompareFunction(valueSelector) { return function(a, b) { var result = 0; var valueA = valueSelector(a); var valueB = valueSelector(b); var aIsDefined = (0, _type.isDefined)(valueA); var bIsDefined = (0, _type.isDefined)(valueB); if (aIsDefined && bIsDefined) { if (valueA > valueB) { result = 1 } else if (valueA < valueB) { result = -1 } } if (aIsDefined && !bIsDefined) { result = 1 } if (!aIsDefined && bIsDefined) { result = -1 } return result } } function createPath(items) { var result = []; for (var i = items.length - 1; i >= 0; i -= 1) { result.push(items[i].key || items[i].value) } return result } function foreachDataLevel(data, callback, index, childrenField) { index = index || 0; childrenField = childrenField || "children"; if (data.length) { callback(data, index) } for (var i = 0; i < data.length; i += 1) { var item = data[i]; if (item[childrenField] && item[childrenField].length) { foreachDataLevel(item[childrenField], callback, index + 1, childrenField) } } } function mergeArraysByMaxValue(values1, values2) { var result = []; for (var i = 0; i < values1.length; i += 1) { result.push(Math.max(values1[i] || 0, values2[i] || 0)) } return result } function getExpandedLevel(options, axisName) { var dimensions = options[axisName]; var expandLevel = 0; var expandedPaths = ("columns" === axisName ? options.columnExpandedPaths : options.rowExpandedPaths) || []; if (options.headerName === axisName) { expandLevel = options.path.length } else if (options.headerName && options.headerName !== axisName && options.oppositePath) { expandLevel = options.oppositePath.length } else { (0, _iterator.each)(expandedPaths, (function(_, path) { expandLevel = Math.max(expandLevel, path.length) })) } while (dimensions[expandLevel + 1] && dimensions[expandLevel].expanded) { expandLevel += 1 } return expandLevel } function parseFields(dataSource, fieldsList, path, fieldsDataType) { var result = []; Object.keys(fieldsList || []).forEach((function(field) { if (field && field.startsWith("__")) { return } var dataIndex = 1; var currentPath = path.length ? "".concat(path, ".").concat(field) : field; var dataType = fieldsDataType[currentPath]; var getter = (0, _data.compileGetter)(currentPath); var value = fieldsList[field]; var items; while (!(0, _type.isDefined)(value) && dataSource[dataIndex]) { value = getter(dataSource[dataIndex]); dataIndex += 1 } if (!dataType && (0, _type.isDefined)(value)) { dataType = (0, _type.type)(value) } items = [{ dataField: currentPath, dataType: dataType, groupName: "date" === dataType ? field : void 0, groupInterval: void 0, displayFolder: path }]; if ("date" === dataType) { items = items.concat((item = items[0], (0, _iterator.map)(["year", "quarter", "month"], (function(value, index) { return (0, _extend.extend)({}, item, { groupInterval: value, groupIndex: index }) })))) } else if ("object" === dataType) { items = parseFields(dataSource, value, currentPath, fieldsDataType) } var item; result.push.apply(result, items) })); return result } function discoverObjectFields(items, fields) { var fieldsDataType = getFieldsDataType(fields); return parseFields(items, items[0], "", fieldsDataType) } function getFieldsDataType(fields) { var result = {}; (0, _iterator.each)(fields, (function(_, field) { result[field.dataField] = result[field.dataField] || field.dataType })); return result } var DATE_INTERVAL_FORMATS = { month: function(value) { return _date.default.getMonthNames()[value - 1] }, quarter: function(value) { return _date.default.format(new Date(2e3, 3 * value - 1), "quarter") }, dayOfWeek: function(value) { return _date.default.getDayNames()[value] } }; function setDefaultFieldValueFormatting(field) { if ("date" === field.dataType) { if (!field.format) { setFieldProperty(field, "format", DATE_INTERVAL_FORMATS[field.groupInterval]) } } else if ("number" === field.dataType) { var groupInterval = (0, _type.isNumeric)(field.groupInterval) && field.groupInterval > 0 && field.groupInterval; if (groupInterval && !field.customizeText) { setFieldProperty(field, "customizeText", (function(formatObject) { var secondValue = formatObject.value + groupInterval; var secondValueText = _format_helper.default.format(secondValue, field.format); return formatObject.valueText && secondValueText ? "".concat(formatObject.valueText, " - ").concat(secondValueText) : "" })) } } } function getFiltersByPath(fields, path) { var result = []; path = path || []; for (var i = 0; i < path.length; i += 1) { result.push((0, _extend.extend)({}, fields[i], { groupIndex: null, groupName: null, filterType: "include", filterValues: [path[i]] })) } return result } var storeDrillDownMixin = { createDrillDownDataSource: function(descriptions, params) { var items = this.getDrillDownItems(descriptions, params); function createCustomStoreMethod(methodName) { return function(options) { var d; if (void 0) { d = (void 0)[methodName](options) } else { d = new _deferred.Deferred; (0, _deferred.when)(items).done((function(data) { var arrayStore = new _array_store.default(data); arrayStore[methodName](options).done(d.resolve).fail(d.reject) })).fail(d.reject) } return d } } var dataSource = new _data_source.DataSource({ load: createCustomStoreMethod("load"), totalCount: createCustomStoreMethod("totalCount"), key: this.key() }); return dataSource } }; exports.storeDrillDownMixin = storeDrillDownMixin; function capitalizeFirstLetter(string) { return string.charAt(0).toUpperCase() + string.slice(1) } var getScrollbarWidth = function(containerElement) { return containerElement.offsetWidth - containerElement.clientWidth }; exports.getScrollbarWidth = getScrollbarWidth; var calculateScrollbarWidth = (0, _call_once.default)((function() { var document = _dom_adapter.default.getDocument(); document.body.insertAdjacentHTML("beforeend", '
')); var scrollbar = document.body.lastElementChild; var scrollbarWidth = getScrollbarWidth(scrollbar); if (scrollbar) { document.body.removeChild(scrollbar) } return scrollbarWidth })); exports.calculateScrollbarWidth = calculateScrollbarWidth; var _default = { setFieldProperty: setFieldProperty, sendRequest: sendRequest, foreachTree: foreachTree, foreachTreeAsync: foreachTreeAsync, findField: findField, formatValue: formatValue, getCompareFunction: getCompareFunction, createPath: createPath, foreachDataLevel: foreachDataLevel, mergeArraysByMaxValue: mergeArraysByMaxValue, getExpandedLevel: getExpandedLevel, discoverObjectFields: discoverObjectFields, getFieldsDataType: getFieldsDataType, setDefaultFieldValueFormatting: setDefaultFieldValueFormatting, getFiltersByPath: getFiltersByPath, storeDrillDownMixin: storeDrillDownMixin, capitalizeFirstLetter: capitalizeFirstLetter, getScrollbarWidth: getScrollbarWidth, calculateScrollbarWidth: calculateScrollbarWidth }; exports.default = _default }, 2166: /*!********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/remote_store/m_remote_store.js ***! \********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.RemoteStore = void 0; var _class = _interopRequireDefault(__webpack_require__( /*! ../../../../core/class */ 38377)); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/date_serialization */ 69434)); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _data_source = __webpack_require__( /*! ../../../../data/data_source/data_source */ 85273); var _utils = __webpack_require__( /*! ../../../../data/data_source/utils */ 9234); var _m_widget_utils = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../m_widget_utils */ 28580)); var _m_remote_store_utils = __webpack_require__( /*! ./m_remote_store_utils */ 98413); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function createGroupingOptions(dimensionOptions, useSortOrder) { var groupingOptions = []; (0, _iterator.each)(dimensionOptions, (function(index, dimensionOption) { groupingOptions.push({ selector: dimensionOption.dataField, groupInterval: dimensionOption.groupInterval, desc: useSortOrder && "desc" === dimensionOption.sortOrder, isExpanded: index < dimensionOptions.length - 1 }) })); return groupingOptions } function getIntervalFilterExpression(selector, numericInterval, numericValue, isExcludedFilterType) { var startFilterValue = [selector, isExcludedFilterType ? "<" : ">=", numericValue]; var endFilterValue = [selector, isExcludedFilterType ? ">=" : "<", numericValue + numericInterval]; return [startFilterValue, isExcludedFilterType ? "or" : "and", endFilterValue] } function getFilterExpressionForFilterValue(field, filterValue) { var selector = function(field) { var selector = field.dataField; var groupInterval = field.groupInterval; if ("date" === field.dataType && "string" === typeof groupInterval) { if ("quarter" === groupInterval.toLowerCase()) { groupInterval = "Month" } selector = "".concat(selector, ".").concat((0, _m_widget_utils.capitalizeFirstLetter)(groupInterval)) } return selector }(field); var isExcludedFilterType = "exclude" === field.filterType; var expression = [selector, isExcludedFilterType ? "<>" : "=", filterValue]; if ((0, _type.isDefined)(field.groupInterval)) { if ("string" === typeof field.groupInterval && "quarter" === field.groupInterval.toLowerCase()) { expression = getIntervalFilterExpression(selector, 3, 3 * (filterValue - 1) + 1, isExcludedFilterType) } else if ("number" === typeof field.groupInterval && "date" !== field.dataType) { expression = getIntervalFilterExpression(selector, field.groupInterval, filterValue, isExcludedFilterType) } } return expression } function createFilterExpressions(fields) { var filterExpressions = []; (0, _iterator.each)(fields, (function(_, field) { var fieldExpressions = function createFieldFilterExpressions(field, operation) { var fieldFilterExpressions = []; if (field.searchValue) { return [field.dataField, "contains", field.searchValue] } if ("exclude" === field.filterType) { operation = operation || "and" } else { operation = operation || "or" }(0, _iterator.each)(field.filterValues, (function(index, filterValue) { var currentExpression = []; if (Array.isArray(filterValue)) { var parseLevelsRecursive = field.levels && field.levels.length; if (parseLevelsRecursive) { currentExpression = createFieldFilterExpressions({ filterValues: filterValue, filterType: field.filterType, levels: field.levels }, "and") } } else { var currentField = field.levels ? field.levels[index] : field; currentExpression = getFilterExpressionForFilterValue(currentField, filterValue) } if (!currentExpression.length) { return } if (fieldFilterExpressions.length) { fieldFilterExpressions.push(operation) } fieldFilterExpressions.push(currentExpression) })); return fieldFilterExpressions }(field); if (!fieldExpressions.length) { return [] } if (filterExpressions.length) { filterExpressions.push("and") } filterExpressions.push(fieldExpressions); return })); if (1 === filterExpressions.length) { filterExpressions = filterExpressions[0] } return filterExpressions } function mergeFilters(filter1, filter2) { var mergedFilter; var notEmpty = function(filter) { return filter && filter.length }; if (notEmpty(filter1) && notEmpty(filter2)) { mergedFilter = [filter1, "and", filter2] } else { mergedFilter = notEmpty(filter1) ? filter1 : filter2 } return mergedFilter } function setValue(valuesArray, value, rowIndex, columnIndex, dataIndex) { valuesArray[rowIndex] = valuesArray[rowIndex] || []; valuesArray[rowIndex][columnIndex] = valuesArray[rowIndex][columnIndex] || []; if (!(0, _type.isDefined)(valuesArray[rowIndex][columnIndex][dataIndex])) { valuesArray[rowIndex][columnIndex][dataIndex] = value } } function parseValue(value, field) { if (field && "number" === field.dataType && (0, _type.isString)(value)) { return Number(value) } if (field && "date" === field.dataType && !field.groupInterval && !(value instanceof Date)) { return _date_serialization.default.deserializeDate(value) } return value } function parseResult(data, total, descriptions, result) { var rowPath = []; var columnPath = []; var rowHash = result.rowHash; var columnHash = result.columnHash; if (total && total.summary) { (0, _iterator.each)(total.summary, (function(index, summary) { setValue(result.values, summary, result.grandTotalRowIndex, result.grandTotalColumnIndex, index) })) } if (total && total.groupCount >= 0) { var skip = descriptions.rows.length ? descriptions.rowSkip : descriptions.columnSkip; data = _toConsumableArray(Array(skip)).concat(data); data.length = total.groupCount } function getItem(dataItem, dimensionName, path, level, field) { var dimensionHash = result["".concat(dimensionName, "Hash")]; var parentItem; var parentItemChildren; var item; var pathValue = path.slice(0, level + 1).join("/"); var parentPathValue; if (void 0 !== dimensionHash[pathValue]) { item = dimensionHash[pathValue] } else { item = { value: parseValue(dataItem.key, field), index: result["".concat(dimensionName, "Index")]++, displayText: dataItem.displayText }; parentPathValue = path.slice(0, level).join("/"); if (level > 0 && void 0 !== dimensionHash[parentPathValue]) { parentItem = dimensionHash[parentPathValue]; parentItemChildren = parentItem.children = parentItem.children || [] } else { parentItemChildren = result["".concat(dimensionName, "s")] } parentItemChildren.push(item); dimensionHash[pathValue] = item } return item }(0, _m_remote_store_utils.forEachGroup)(data, (function(item, level) { var rowLevel = level >= descriptions.rows.length ? descriptions.rows.length : level; var columnLevel = level >= descriptions.rows.length ? level - descriptions.rows.length : 0; var columnItem; var rowItem; if (level >= descriptions.rows.length && columnLevel >= descriptions.columns.length) { return } if (level < descriptions.rows.length) { columnPath = [] } if (level >= descriptions.rows.length) { if (item) { columnPath[columnLevel] = "".concat(item.key); columnItem = getItem(item, "column", columnPath, columnLevel, descriptions.columns[columnLevel]); rowItem = rowHash[rowPath.slice(0, rowLevel + 1).join("/")] } else { result.columns.push({}) } } else if (item) { rowPath[rowLevel] = "".concat(item.key); rowItem = getItem(item, "row", rowPath, rowLevel, descriptions.rows[rowLevel]); columnItem = columnHash[columnPath.slice(0, columnLevel + 1).join("/")] } else { result.rows.push({}) } var currentRowIndex = rowItem && rowItem.index || result.grandTotalRowIndex; var currentColumnIndex = columnItem && columnItem.index || result.grandTotalColumnIndex; (0, _iterator.each)(item && item.summary || [], (function(i, summary) { setValue(result.values, summary, currentRowIndex, currentColumnIndex, i) })) })); return result } function getFiltersForDimension(fields) { return (fields || []).filter((function(f) { return f.filterValues && f.filterValues.length || f.searchValue })) } function getExpandedIndex(options, axis) { if (options.headerName) { if (axis === options.headerName) { return options.path.length } if (options.oppositePath) { return options.oppositePath.length } } return 0 } function getExpandedPathSliceFilter(options, dimensionName, level, firstCollapsedFieldIndex) { var result = []; var startSliceIndex = level > firstCollapsedFieldIndex ? 0 : firstCollapsedFieldIndex; var fields = options.headerName !== dimensionName ? options[dimensionName].slice(startSliceIndex, level) : []; var paths = "rows" === dimensionName ? options.rowExpandedPaths : options.columnExpandedPaths; (0, _iterator.each)(fields, (function(index, field) { var filterValues = []; (0, _iterator.each)(paths, (function(_, path) { path = path.slice(startSliceIndex, level); if (index < path.length) { var filterValue = path[index]; if (!filterValues.includes(filterValue)) { filterValues.push(filterValue) } } })); if (filterValues.length) { result.push((0, _extend.extend)({}, field, { filterType: "include", filterValues: filterValues })) } })); return result } function getGrandTotalRequest(options, dimensionName, expandedIndex, expandedLevel, commonFilters, firstCollapsedFieldIndex) { var expandedPaths = ("columns" === dimensionName ? options.columnExpandedPaths : options.rowExpandedPaths) || []; var oppositeDimensionName = "columns" === dimensionName ? "rows" : "columns"; var fields = options[dimensionName]; var result = []; var newOptions; if (expandedPaths.length) { for (var i = expandedIndex; i < expandedLevel + 1; i += 1) { newOptions = { filters: commonFilters.concat(getExpandedPathSliceFilter(options, dimensionName, i, firstCollapsedFieldIndex)) }; newOptions[dimensionName] = fields.slice(expandedIndex, i + 1); newOptions[oppositeDimensionName] = []; result.push((0, _extend.extend)({}, options, newOptions)) } } else { newOptions = { filters: commonFilters }; newOptions[dimensionName] = fields.slice(expandedIndex, expandedLevel + 1); newOptions[oppositeDimensionName] = []; result.push((0, _extend.extend)({}, options, newOptions)) } result[0].includeTotalSummary = true; return result } function getFirstCollapsedIndex(fields) { var firstCollapsedIndex = 0; (0, _iterator.each)(fields, (function(index, field) { if (!field.expanded) { firstCollapsedIndex = index; return false } return })); return firstCollapsedIndex } function getRequestsData(options) { var rowExpandedLevel = (0, _m_widget_utils.getExpandedLevel)(options, "rows"); var columnExpandedLevel = (0, _m_widget_utils.getExpandedLevel)(options, "columns"); var filters = options.filters || []; var columnExpandedIndex = getExpandedIndex(options, "columns"); var firstCollapsedColumnIndex = getFirstCollapsedIndex(options.columns); var firstCollapsedRowIndex = getFirstCollapsedIndex(options.rows); var rowExpandedIndex = getExpandedIndex(options, "rows"); var data = []; filters = filters.concat(getFiltersForDimension(options.rows)).concat(getFiltersForDimension(options.columns)).concat(function(options) { return (0, _m_widget_utils.getFiltersByPath)(options[options.headerName], options.path).concat((0, _m_widget_utils.getFiltersByPath)(options["rows" === options.headerName ? "columns" : "rows"], options.oppositePath || [])) }(options)); var columnTotalsOptions = getGrandTotalRequest(options, "columns", columnExpandedIndex, columnExpandedLevel, filters, firstCollapsedColumnIndex); if (options.rows.length && options.columns.length) { if ("rows" !== options.headerName) { data = data.concat(columnTotalsOptions) } for (var i = rowExpandedIndex; i < rowExpandedLevel + 1; i += 1) { var rows = options.rows.slice(rowExpandedIndex, i + 1); var rowFilterByExpandedPaths = getExpandedPathSliceFilter(options, "rows", i, firstCollapsedRowIndex); for (var j = columnExpandedIndex; j < columnExpandedLevel + 1; j += 1) { var preparedOptions = (0, _extend.extend)({}, options, { columns: options.columns.slice(columnExpandedIndex, j + 1), rows: rows, filters: filters.concat(getExpandedPathSliceFilter(options, "columns", j, firstCollapsedColumnIndex)).concat(rowFilterByExpandedPaths) }); data.push(preparedOptions) } } } else { data = options.columns.length ? columnTotalsOptions : getGrandTotalRequest(options, "rows", rowExpandedIndex, rowExpandedLevel, filters, firstCollapsedRowIndex) } return data } function prepareFields(fields) { (0, _iterator.each)(fields || [], (function(_, field) { var levels = field.levels; if (levels) { prepareFields(levels) }(0, _m_widget_utils.setDefaultFieldValueFormatting)(field) })) } var RemoteStore = _class.default.inherit({ ctor: function(options) { this._dataSource = new _data_source.DataSource(options); this._store = this._dataSource.store() }, getFields: function(fields) { var d = new _deferred.Deferred; this._store.load({ skip: 0, take: 20 }).done((function(data) { var normalizedArguments = (0, _utils.normalizeLoadResult)(data); d.resolve(_m_widget_utils.default.discoverObjectFields(normalizedArguments.data, fields)) })).fail(d.reject); return d }, key: function() { return this._store.key() }, load: function(options) { var that = this; var d = new _deferred.Deferred; var result = { rows: [], columns: [], values: [], grandTotalRowIndex: 0, grandTotalColumnIndex: 0, rowHash: {}, columnHash: {}, rowIndex: 1, columnIndex: 1 }; var requestsData = getRequestsData(options); var deferreds = []; prepareFields(options.rows); prepareFields(options.columns); prepareFields(options.filters); (0, _iterator.each)(requestsData, (function(_, dataItem) { deferreds.push(that._store.load(function(options, externalFilterExpr, hasRows) { var filterExpressions = createFilterExpressions(options.filters); var groupingOptions = createGroupingOptions(options.rows, options.rowTake).concat(createGroupingOptions(options.columns, options.columnTake)); var loadOptions = { groupSummary: [], totalSummary: [], group: groupingOptions.length ? groupingOptions : void 0, take: groupingOptions.length ? void 0 : 1 }; if (options.rows.length && options.rowTake) { loadOptions.skip = options.rowSkip; loadOptions.take = options.rowTake; loadOptions.requireGroupCount = true } else if (options.columns.length && options.columnTake && !hasRows) { loadOptions.skip = options.columnSkip; loadOptions.take = options.columnTake; loadOptions.requireGroupCount = true } if (externalFilterExpr) { filterExpressions = mergeFilters(filterExpressions, externalFilterExpr) } if (filterExpressions.length) { loadOptions.filter = filterExpressions }(0, _iterator.each)(options.values, (function(_, value) { var summaryOption = { selector: value.dataField, summaryType: value.summaryType || "count" }; loadOptions.groupSummary.push(summaryOption); options.includeTotalSummary && loadOptions.totalSummary.push(summaryOption) })); return loadOptions }(dataItem, that.filter(), options.rows.length))) })); _deferred.when.apply(null, deferreds).done((function() { var args = deferreds.length > 1 ? arguments : [arguments]; (0, _iterator.each)(args, (function(index, argument) { var normalizedArguments = (0, _utils.normalizeLoadResult)(argument[0], argument[1]); parseResult(normalizedArguments.data, normalizedArguments.extra, requestsData[index], result) })); d.resolve({ rows: result.rows, columns: result.columns, values: result.values, grandTotalRowIndex: result.grandTotalRowIndex, grandTotalColumnIndex: result.grandTotalColumnIndex }) })).fail(d.reject); return d }, filter: function() { return this._dataSource.filter.apply(this._dataSource, arguments) }, supportPaging: function() { return false }, createDrillDownDataSource: function(loadOptions, params) { loadOptions = loadOptions || {}; params = params || {}; var store = this._store; var filters = (0, _m_widget_utils.getFiltersByPath)(loadOptions.rows, params.rowPath).concat((0, _m_widget_utils.getFiltersByPath)(loadOptions.columns, params.columnPath)).concat(getFiltersForDimension(loadOptions.rows)).concat(loadOptions.filters || []).concat(getFiltersForDimension(loadOptions.columns)); var filterExp = createFilterExpressions(filters); return new _data_source.DataSource({ load: function(loadOptions) { return store.load((0, _extend.extend)({}, loadOptions, { filter: mergeFilters(filterExp, loadOptions.filter), select: params.customColumns })) } }) } }); exports.RemoteStore = RemoteStore; var _default = { RemoteStore: RemoteStore }; exports.default = _default }, 98413: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/remote_store/m_remote_store_utils.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.forEachGroup = exports.default = void 0; var forEachGroup = function forEachGroup(data, callback, level) { data = data || []; level = level || 0; for (var i = 0; i < data.length; i += 1) { var group = data[i]; callback(group, level); if (group && group.items && group.items.length) { forEachGroup(group.items, callback, level + 1) } } }; exports.forEachGroup = forEachGroup; var _default = { forEachGroup: forEachGroup }; exports.default = _default }, 71442: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/sortable/m_sortable.js ***! \************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.Sortable = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../../core/component_registrator */ 99393)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../../core/dom_adapter */ 73349)); var _dom_component = _interopRequireDefault(__webpack_require__( /*! ../../../../core/dom_component */ 13046)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../../events/core/events_engine */ 55994)); var _drag = __webpack_require__( /*! ../../../../events/drag */ 23174); var _index = __webpack_require__( /*! ../../../../events/utils/index */ 39611); var _swatch_container = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/widget/swatch_container */ 92591)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var getSwatchContainer = _swatch_container.default.getSwatchContainer; function checkHorizontalPosition(position, itemOffset, rtl) { if ((0, _type.isDefined)(itemOffset.posHorizontal)) { return rtl ? position > itemOffset.posHorizontal : position < itemOffset.posHorizontal } return true } function getTargetGroup(e, $groups) { var result; (0, _iterator.each)($groups, (function() { if (function(element, x, y) { var $item = (0, _renderer.default)(element); var offset = $item.offset(); if (x >= offset.left && x <= offset.left + (0, _size.getOuterWidth)($item, true)) { if (y >= offset.top && y <= offset.top + (0, _size.getOuterHeight)($item, true)) { return true } } return }(this, e.pageX, e.pageY)) { result = (0, _renderer.default)(this) } })); return result } var Sortable = _dom_component.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { onChanged: null, onDragging: null, itemRender: null, groupSelector: null, itemSelector: ".dx-sort-item", itemContainerSelector: ".dx-sortable-old", sourceClass: "dx-drag-source", dragClass: "dx-drag", targetClass: "dx-drag-target", direction: "vertical", allowDragging: true, groupFilter: null, useIndicator: false }) }, _renderItem: function($sourceItem, target) { var itemRender = this.option("itemRender"); var $item; if (itemRender) { $item = itemRender($sourceItem, target) } else { $item = $sourceItem.clone(); $item.css({ width: (0, _size.getWidth)($sourceItem), height: (0, _size.getHeight)($sourceItem) }) } return $item }, _renderIndicator: function($item, isVertical, $targetGroup, isLast) { var height = (0, _size.getOuterHeight)($item, true); var width = (0, _size.getOuterWidth)($item, true); var top = $item.offset().top - $targetGroup.offset().top; var left = $item.offset().left - $targetGroup.offset().left; this._indicator.css({ position: "absolute", top: isLast && isVertical ? top + height : top, left: isLast && !isVertical ? left + width : left }).toggleClass("dx-position-indicator-horizontal", !isVertical).toggleClass("dx-position-indicator-vertical", !!isVertical).toggleClass("dx-position-indicator-last", !!isLast).appendTo($targetGroup); (0, _size.setHeight)(this._indicator, ""); (0, _size.setWidth)(this._indicator, ""); if (isVertical) { (0, _size.setWidth)(this._indicator, width) } else { (0, _size.setHeight)(this._indicator, height) } }, _renderDraggable: function($sourceItem) { this._$draggable && this._$draggable.remove(); this._$draggable = this._renderItem($sourceItem, "drag").addClass(this.option("dragClass")).appendTo(getSwatchContainer($sourceItem)).css({ zIndex: 1e6, position: "absolute" }) }, _detachEventHandlers: function() { var dragEventsString = [_drag.move, _drag.start, _drag.end, _drag.enter, _drag.leave, _drag.drop].join(" "); _events_engine.default.off(this._getEventListener(), (0, _index.addNamespace)(dragEventsString, "dxSortable"), void 0) }, _getItemOffset: function(isVertical, itemsOffset, e) { for (var i = 0; i < itemsOffset.length; i += 1) { var shouldInsert = void 0; var sameLine = e.pageY < itemsOffset[i].posVertical; if (isVertical) { shouldInsert = sameLine } else if (sameLine) { shouldInsert = checkHorizontalPosition(e.pageX, itemsOffset[i], this.option("rtlEnabled")); if (!shouldInsert && itemsOffset[i + 1] && itemsOffset[i + 1].posVertical > itemsOffset[i].posVertical) { shouldInsert = true } } if (shouldInsert) { return itemsOffset[i] } } return }, _getEventListener: function() { var groupSelector = this.option("groupSelector"); var element = this.$element(); return groupSelector ? element.find(groupSelector) : element }, _attachEventHandlers: function() { var that = this; var itemSelector = that.option("itemSelector"); var itemContainerSelector = that.option("itemContainerSelector"); var groupSelector = that.option("groupSelector"); var sourceClass = that.option("sourceClass"); var targetClass = that.option("targetClass"); var onDragging = that.option("onDragging"); var groupFilter = that.option("groupFilter"); var $sourceItem; var sourceIndex; var $targetItem; var $targetGroup; var startPositions; var sourceGroup; var element = that.$element(); var $groups; var scrollWrapper = null; var targetIndex = -1; var disposeScrollWrapper = function() { null === scrollWrapper || void 0 === scrollWrapper ? void 0 : scrollWrapper.dispose(); scrollWrapper = null }; that._detachEventHandlers(); if (that.option("allowDragging")) { var $eventListener = that._getEventListener(); _events_engine.default.on($eventListener, (0, _index.addNamespace)(_drag.start, "dxSortable"), itemSelector, (function(e) { $sourceItem = (0, _renderer.default)(e.currentTarget); var $sourceGroup = $sourceItem.closest(groupSelector); sourceGroup = $sourceGroup.attr("group"); sourceIndex = function($items, $item) { var index = -1; var itemElement = $item.get(0); (0, _iterator.each)($items, (function(elementIndex, element) { var $element = (0, _renderer.default)(element); if (!($element.attr("item-group") && $element.attr("item-group") === $items.eq(elementIndex - 1).attr("item-group"))) { index += 1 } if (element === itemElement) { return false } return })); return index === $items.length ? -1 : index }((groupSelector ? $sourceGroup : element).find(itemSelector), $sourceItem); if ($sourceItem.attr("item-group")) { $sourceItem = $sourceGroup.find("[item-group='".concat($sourceItem.attr("item-group"), "']")) } that._renderDraggable($sourceItem); $targetItem = that._renderItem($sourceItem, "target").addClass(targetClass); $sourceItem.addClass(sourceClass); ! function() { startPositions = []; (0, _iterator.each)($sourceItem, (function(_, item) { startPositions.push((0, _renderer.default)(item).offset()) })) }(); $groups = function() { var root = _dom_adapter.default.getRootNode(that.$element().get(0)); if (!groupSelector) { return element } return groupFilter ? (0, _renderer.default)(root).find(groupSelector).filter(groupFilter) : element.find(groupSelector) }(); that._indicator = (0, _renderer.default)("
").addClass("dx-position-indicator") })); _events_engine.default.on($eventListener, (0, _index.addNamespace)(_drag.move, "dxSortable"), (function(e) { var $item; var $lastItem; var $prevItem; if (!$sourceItem) { return } targetIndex = -1; that._indicator.detach(); (0, _iterator.each)(that._$draggable, (function(index, draggableElement) { (0, _renderer.default)(draggableElement).css({ top: startPositions[index].top + e.offset.y, left: startPositions[index].left + e.offset.x }) })); $targetGroup && $targetGroup.removeClass(targetClass); $targetGroup = getTargetGroup(e, $groups); $targetGroup && function() { var draggingArgs = { sourceGroup: sourceGroup, sourceIndex: sourceIndex, sourceElement: $sourceItem, targetGroup: $targetGroup.attr("group"), targetIndex: $targetGroup.find(itemSelector).index($targetItem) }; onDragging && onDragging(draggingArgs); if (draggingArgs.cancel) { $targetGroup = void 0 } }(); if ($targetGroup && scrollWrapper && $targetGroup.get(0) !== scrollWrapper.element().get(0)) { disposeScrollWrapper() } scrollWrapper && scrollWrapper.moveIfNeed(e); if (!$targetGroup) { $targetItem.detach(); return } if (!scrollWrapper && $targetGroup.attr("allow-scrolling")) { scrollWrapper = function(scrollable) { var timeout; var scrollTop = scrollable.scrollTop(); var $element = scrollable.$element(); var _$element$offset = $element.offset(), top = _$element$offset.top; var height = (0, _size.getHeight)($element); var delta = 0; function onScroll(e) { scrollTop = e.scrollOffset.top } scrollable.on("scroll", onScroll); function move() { stop(); scrollable.scrollTo(scrollTop += delta); timeout = setTimeout(move, 10) } function stop() { clearTimeout(timeout) } return { moveIfNeed: function(event) { if (event.pageY <= top + 20) { delta = -2 } else if (event.pageY >= top + height - 20) { delta = 2 } else { delta = 0; stop(); return } move() }, element: function() { return $element }, dispose: function() { stop(); scrollable.off("scroll", onScroll) } } }($targetGroup.dxScrollable("instance")) } $targetGroup.addClass(targetClass); var $itemContainer = $targetGroup.find(itemContainerSelector); var $items = $itemContainer.find(itemSelector); var targetSortable = $targetGroup.closest(".".concat("dx-sortable-old")).data("dxSortableOld"); var useIndicator = targetSortable.option("useIndicator"); var isVertical = "vertical" === (targetSortable || that).option("direction"); var itemsOffset = function($elements, isVertical, $itemsContainer) { var result = []; var $item = []; for (var i = 0; i < $elements.length; i += $item.length) { $item = $elements.eq(i); if ($item.attr("item-group")) { $item = $itemsContainer.find("[item-group='".concat($item.attr("item-group"), "']")) } if ($item.is(":visible")) { var offset = { item: $item, index: result.length, posVertical: isVertical ? ($item.last().offset().top + $item.offset().top + (0, _size.getOuterHeight)($item.last(), true)) / 2 : (0, _size.getOuterHeight)($item.last(), true) + $item.last().offset().top, posHorizontal: isVertical ? void 0 : ((0, _size.getOuterWidth)($item.last(), true) + $item.last().offset().left + $item.offset().left) / 2 }; result.push(offset) } } return result }($items, isVertical, $itemContainer); var itemOffset = that._getItemOffset(isVertical, itemsOffset, e); if (itemOffset) { $item = itemOffset.item; $prevItem = itemsOffset[itemOffset.index - 1] && itemsOffset[itemOffset.index - 1].item; if ($item.hasClass(sourceClass) || $prevItem && $prevItem.hasClass(sourceClass) && $prevItem.is(":visible")) { $targetItem.detach(); return } targetIndex = itemOffset.index; if (!useIndicator) { $targetItem.insertBefore($item); return } var isAnotherGroup = $targetGroup.attr("group") !== sourceGroup; var isSameIndex = targetIndex === sourceIndex; var isNextIndex = targetIndex === sourceIndex + 1; if (isAnotherGroup) { that._renderIndicator($item, isVertical, $targetGroup, that.option("rtlEnabled") && !isVertical); return } if (!isSameIndex && !isNextIndex) { that._renderIndicator($item, isVertical, $targetGroup, that.option("rtlEnabled") && !isVertical) } } else { $lastItem = $items.last(); if ($lastItem.is(":visible") && $lastItem.hasClass(sourceClass)) { return } if ($itemContainer.length) { targetIndex = itemsOffset.length ? itemsOffset[itemsOffset.length - 1].index + 1 : 0 } if (useIndicator) { $items.length && that._renderIndicator($lastItem, isVertical, $targetGroup, !that.option("rtlEnabled") || isVertical) } else { $targetItem.appendTo($itemContainer) } } })); _events_engine.default.on($eventListener, (0, _index.addNamespace)(_drag.end, "dxSortable"), (function() { disposeScrollWrapper(); if (!$sourceItem) { return } var onChanged = that.option("onChanged"); var changedArgs = { sourceIndex: sourceIndex, sourceElement: $sourceItem, sourceGroup: sourceGroup, targetIndex: targetIndex, removeSourceElement: true, removeTargetElement: false, removeSourceClass: true }; if ($targetGroup) { $targetGroup.removeClass(targetClass); changedArgs.targetGroup = $targetGroup.attr("group"); if (sourceGroup !== changedArgs.targetGroup || targetIndex > -1) { onChanged && onChanged(changedArgs); changedArgs.removeSourceElement && $sourceItem.remove() } } that._indicator.detach(); changedArgs.removeSourceClass && $sourceItem.removeClass(sourceClass); $sourceItem = null; that._$draggable.remove(); that._$draggable = null; changedArgs.removeTargetElement && $targetItem.remove(); $targetItem.removeClass(targetClass); $targetItem = null })) } }, _init: function() { this.callBase(); this._attachEventHandlers() }, _render: function() { this.callBase(); this.$element().addClass("dx-sortable-old") }, _dispose: function() { var that = this; that.callBase.apply(that, arguments); that._$draggable && that._$draggable.detach(); that._indicator && that._indicator.detach() }, _optionChanged: function(args) { switch (args.name) { case "onDragging": case "onChanged": case "itemRender": case "groupSelector": case "itemSelector": case "itemContainerSelector": case "sourceClass": case "targetClass": case "dragClass": case "allowDragging": case "groupFilter": case "useIndicator": this._attachEventHandlers(); break; case "direction": break; default: this.callBase(args) } }, _useTemplates: function() { return false } }); exports.Sortable = Sortable; (0, _component_registrator.default)("dxSortableOld", Sortable); var _default = { Sortable: Sortable }; exports.default = _default }, 42717: /*!**************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/summary_display_modes/m_summary_display_modes.js ***! \**************************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } Object.defineProperty(exports, "__esModule", { value: true }); exports.Cell = void 0; exports.applyDisplaySummaryMode = applyDisplaySummaryMode; exports.applyRunningTotal = applyRunningTotal; exports.createMockSummaryCell = createMockSummaryCell; exports.default = void 0; exports.getExpression = getExpression; exports.summaryDictionary = void 0; var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _m_widget_utils = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../m_widget_utils */ 28580)); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } var ROW = "row"; var calculatePercentValue = function(value, totalValue) { var result = value / totalValue; if (!(0, _type.isDefined)(value) || isNaN(result)) { result = null } return result }; var _percentOfGrandTotal = function(e, dimension) { return calculatePercentValue(e.value(), e.grandTotal(dimension).value()) }; var percentOfParent = function(e, dimension) { var parent = e.parent(dimension); var parentValue = parent ? parent.value() : e.value(); return calculatePercentValue(e.value(), parentValue) }; var createAbsoluteVariationExp = function(allowCrossGroup) { return function(e) { var prevCell = e.prev("column", allowCrossGroup); var prevValue = prevCell && prevCell.value(); if ((0, _type.isDefined)(prevValue) && (0, _type.isDefined)(e.value())) { return e.value() - prevValue } return null } }; var summaryDictionary = { percentOfColumnTotal: function(e) { return percentOfParent(e, ROW) }, percentOfRowTotal: function(e) { return percentOfParent(e, "column") }, percentOfColumnGrandTotal: function(e) { return _percentOfGrandTotal(e, ROW) }, percentOfRowGrandTotal: function(e) { return _percentOfGrandTotal(e, "column") }, percentOfGrandTotal: function(e) { return _percentOfGrandTotal(e) } }; exports.summaryDictionary = summaryDictionary; var createRunningTotalExpr = function(field) { if (!field.runningTotal) { return } var direction = "column" === field.runningTotal ? ROW : "column"; return function(e) { var prevCell = field.allowCrossGroupCalculation ? function getPrevCellCrossGroup(cell, direction) { if (!cell || !cell.parent(direction)) { return } var prevCell = cell.prev(direction); if (!prevCell) { prevCell = getPrevCellCrossGroup(cell.parent(direction), direction) } return prevCell }(e, direction) : e.prev(direction, false); var value = e.value(true); var prevValue = prevCell && prevCell.value(true); if ((0, _type.isDefined)(prevValue) && (0, _type.isDefined)(value)) { value = prevValue + value } else if ((0, _type.isDefined)(prevValue)) { value = prevValue } return value } }; function getFieldPos(descriptions, field, cache) { var fieldParams = { index: -1 }; if (!(0, _type.isObject)(field)) { if (cache.fields[field]) { field = cache[field] } else { var allFields = descriptions.columns.concat(descriptions.rows).concat(descriptions.values); var fieldIndex = (0, _m_widget_utils.findField)(allFields, field); field = cache[field] = allFields[fieldIndex] } } if (field) { var area = field.area || "data"; fieldParams = cache.positions[field.index] = cache.positions[field.index] || { area: area, index: descriptions["data" === area ? "values" : "".concat(area, "s")].indexOf(field) } } return fieldParams } function getPathFieldName(dimension) { return dimension === ROW ? "_rowPath" : "_columnPath" } var SummaryCell = function(columnPath, rowPath, data, descriptions, fieldIndex, fieldsCache) { this._columnPath = columnPath; this._rowPath = rowPath; this._fieldIndex = fieldIndex; this._fieldsCache = fieldsCache || { fields: {}, positions: {} }; this._data = data; this._descriptions = descriptions; var cell = data.values && data.values[rowPath[0].index] && data.values[rowPath[0].index][columnPath[0].index]; if (cell) { cell.originalCell = cell.originalCell || cell.slice(); cell.postProcessedFlags = cell.postProcessedFlags || []; this._cell = cell } }; exports.Cell = SummaryCell; SummaryCell.prototype = (0, _extend.extend)(SummaryCell.prototype, { _getPath: function(dimension) { return this[getPathFieldName(dimension)] }, _getDimension: function(dimension) { dimension = dimension === ROW ? "rows" : "columns"; return this._descriptions[dimension] }, _createCell: function(config) { return new SummaryCell(config._columnPath || this._columnPath, config._rowPath || this._rowPath, this._data, this._descriptions, this._fieldIndex) }, parent: function(direction) { var path = this._getPath(direction).slice(); var config = {}; path.shift(); if (path.length) { config[getPathFieldName(direction)] = path; return this._createCell(config) } return null }, children: function(direction) { var path = this._getPath(direction).slice(); var item = path[0]; var result = []; var cellConfig = {}; if (item.children) { for (var i = 0; i < item.children.length; i += 1) { cellConfig[getPathFieldName(direction)] = [item.children[i]].concat(path.slice()); result.push(this._createCell(cellConfig)) } } return result }, grandTotal: function(direction) { var config = {}; var rowPath = this._rowPath; var columnPath = this._columnPath; var dimensionPath = this._getPath(direction); var pathFieldName = getPathFieldName(direction); if (!direction) { config._rowPath = [rowPath[rowPath.length - 1]]; config._columnPath = [columnPath[columnPath.length - 1]] } else { config[pathFieldName] = [dimensionPath[dimensionPath.length - 1]] } return this._createCell(config) }, next: function(direction, allowCrossGroup) { var currentPath = this._getPath(direction); var item = currentPath[0]; var parent = this.parent(direction); var siblings; if (parent) { var index = currentPath[1].children.indexOf(item); siblings = parent.children(direction); if (siblings[index + 1]) { return siblings[index + 1] } } if (allowCrossGroup && parent) { do { parent = parent.next(direction, allowCrossGroup); siblings = parent ? parent.children(direction) : [] } while (parent && !siblings.length); return siblings[0] || null } return null }, prev: function(direction, allowCrossGroup) { var currentPath = this._getPath(direction); var item = currentPath[0]; var parent = this.parent(direction); var siblings; if (parent) { var index = currentPath[1].children.indexOf(item); siblings = parent.children(direction); if (siblings[index - 1]) { return siblings[index - 1] } } if (allowCrossGroup && parent) { do { parent = parent.prev(direction, allowCrossGroup); siblings = parent ? parent.children(direction) : [] } while (parent && !siblings.length); return siblings[siblings.length - 1] || null } return null }, cell: function() { return this._cell }, field: function(area) { if ("data" === area) { return this._descriptions.values[this._fieldIndex] } var path = this._getPath(area); var descriptions = this._getDimension(area); var field = descriptions[path.length - 2]; return field || null }, child: function(direction, fieldValue) { var childLevelField; var children = this.children(direction); for (var i = 0; i < children.length; i += 1) { childLevelField = childLevelField || children[i].field(direction); if (children[i].value(childLevelField) === fieldValue) { return children[i] } } return null }, slice: function(field, value) { var config = {}; var fieldPos = getFieldPos(this._descriptions, field, this._fieldsCache); var area = fieldPos.area; var fieldIndex = fieldPos.index; var sliceCell = null; if (area === ROW || "column" === area) { var path = this._getPath(area).slice(); var level = -1 !== fieldIndex && path.length - 2 - fieldIndex; if (path[level]) { [][path.length - 1] = path[path.length - 1]; for (var i = level; i >= 0; i -= 1) { if (path[i + 1]) { var childItems = path[i + 1].children || []; var currentValue = i === level ? value : path[i].value; path[i] = void 0; for (var childIndex = 0; childIndex < childItems.length; childIndex += 1) { if (childItems[childIndex].value === currentValue) { path[i] = childItems[childIndex]; break } } } if (void 0 === path[i]) { return sliceCell } } config[getPathFieldName(area)] = path; sliceCell = this._createCell(config) } } return sliceCell }, value: function(arg1, arg2) { var cell = this._cell; var fieldIndex = this._fieldIndex; var fistArgIsBoolean = true === arg1 || false === arg1; var field = !fistArgIsBoolean ? arg1 : null; var needCalculatedValue = fistArgIsBoolean && arg1 || arg2; if ((0, _type.isDefined)(field)) { var fieldPos = getFieldPos(this._descriptions, field, this._fieldsCache); fieldIndex = fieldPos.index; if ("data" !== fieldPos.area) { var path = this._getPath(fieldPos.area); var level = -1 !== fieldIndex && path.length - 2 - fieldIndex; return path[level] && path[level].value } } if (cell && cell.originalCell) { return needCalculatedValue ? cell[fieldIndex] : cell.originalCell[fieldIndex] } return null }, isPostProcessed: function(field) { var fieldIndex = this._fieldIndex; if ((0, _type.isDefined)(field)) { var fieldPos = getFieldPos(this._descriptions, field, this._fieldsCache); fieldIndex = fieldPos.index; if ("data" !== fieldPos.area) { return false } } return !!(this._cell && this._cell.postProcessedFlags[fieldIndex]) } }); function getExpression(field) { var summaryDisplayMode = field.summaryDisplayMode; var crossGroupCalculation = field.allowCrossGroupCalculation; var expression = null; if ((0, _type.isFunction)(field.calculateSummaryValue)) { expression = field.calculateSummaryValue } else if (summaryDisplayMode) { if ("absoluteVariation" === summaryDisplayMode) { expression = createAbsoluteVariationExp(crossGroupCalculation) } else if ("percentVariation" === summaryDisplayMode) { expression = (allowCrossGroup = crossGroupCalculation, absoluteExp = createAbsoluteVariationExp(allowCrossGroup), function(e) { var absVar = absoluteExp(e); var prevCell = e.prev("column", allowCrossGroup); var prevValue = prevCell && prevCell.value(); return null !== absVar && prevValue ? absVar / prevValue : null }) } else { expression = summaryDictionary[summaryDisplayMode] } if (expression && !field.format && -1 !== summaryDisplayMode.indexOf("percent")) { _m_widget_utils.default.setFieldProperty(field, "format", "percent") } } var allowCrossGroup, absoluteExp; return expression } function processDataCell(data, rowIndex, columnIndex, isRunningTotalCalculation) { var values = data.values[rowIndex][columnIndex] = data.values[rowIndex][columnIndex] || []; var originalCell = values.originalCell; if (!originalCell) { return } if (values.allowResetting || !isRunningTotalCalculation) { data.values[rowIndex][columnIndex] = originalCell.slice() } data.values[rowIndex][columnIndex].allowResetting = isRunningTotalCalculation } function applyDisplaySummaryMode(descriptions, data) { var expressions = []; var columnElements = [{ index: data.grandTotalColumnIndex, children: data.columns }]; var rowElements = [{ index: data.grandTotalRowIndex, children: data.rows }]; var valueFields = descriptions.values; var fieldsCache = { fields: {}, positions: {} }; data.values = data.values || []; (0, _m_widget_utils.foreachTree)(columnElements, (function(columnPath) { columnPath[0].isEmpty = [] }), false); (0, _m_widget_utils.foreachTree)(rowElements, (function(rowPath) { var rowItem = rowPath[0]; rowItem.isEmpty = []; data.values[rowItem.index] = data.values[rowItem.index] || []; (0, _m_widget_utils.foreachTree)(columnElements, (function(columnPath) { var columnItem = columnPath[0]; var isEmptyCell; processDataCell(data, rowItem.index, columnItem.index, false); for (var i = 0; i < valueFields.length; i += 1) { var field = valueFields[i]; var expression = expressions[i] = void 0 === expressions[i] ? getExpression(field) : expressions[i]; isEmptyCell = false; if (expression) { var expressionArg = new SummaryCell(columnPath, rowPath, data, descriptions, i, fieldsCache); var cell = expressionArg.cell(); var value = cell[i] = expression(expressionArg); cell.postProcessedFlags[i] = true; isEmptyCell = null === value || void 0 === value } if (void 0 === columnItem.isEmpty[i]) { columnItem.isEmpty[i] = true } if (void 0 === rowItem.isEmpty[i]) { rowItem.isEmpty[i] = true } if (!isEmptyCell) { rowItem.isEmpty[i] = columnItem.isEmpty[i] = false } } }), false) }), false); data.isEmptyGrandTotalRow = rowElements[0].isEmpty; data.isEmptyGrandTotalColumn = columnElements[0].isEmpty } function applyRunningTotal(descriptions, data) { var expressions = []; var columnElements = [{ index: data.grandTotalColumnIndex, children: data.columns }]; var rowElements = [{ index: data.grandTotalRowIndex, children: data.rows }]; var valueFields = descriptions.values; var fieldsCache = { fields: {}, positions: {} }; data.values = data.values || []; (0, _m_widget_utils.foreachTree)(rowElements, (function(rowPath) { var rowItem = rowPath[0]; data.values[rowItem.index] = data.values[rowItem.index] || []; (0, _m_widget_utils.foreachTree)(columnElements, (function(columnPath) { var columnItem = columnPath[0]; processDataCell(data, rowItem.index, columnItem.index, true); for (var i = 0; i < valueFields.length; i += 1) { var field = valueFields[i]; var expression = expressions[i] = void 0 === expressions[i] ? createRunningTotalExpr(field) : expressions[i]; if (expression) { var expressionArg = new SummaryCell(columnPath, rowPath, data, descriptions, i, fieldsCache); var cell = expressionArg.cell(); cell[i] = expression(expressionArg); cell.postProcessedFlags[i] = true } } }), false) }), false) } function createMockSummaryCell(descriptions, fields, indices) { var summaryCell = new SummaryCell([], [], {}, descriptions, 0); summaryCell.value = function(fieldId) { if ((0, _type.isDefined)(fieldId)) { var index = (0, _m_widget_utils.findField)(fields, fieldId); var field = fields[index]; if (!indices[index] && field && !(0, _type.isDefined)(field.area)) { descriptions.values.push(field); indices[index] = true } } }; summaryCell.grandTotal = function() { return this }; summaryCell.children = function() { return [] }; return summaryCell } var _default = { Cell: SummaryCell, summaryDictionary: summaryDictionary, getExpression: getExpression, applyRunningTotal: applyRunningTotal, createMockSummaryCell: createMockSummaryCell, applyDisplaySummaryMode: applyDisplaySummaryMode }; exports.default = _default }, 79755: /*!****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/pivot_grid/xmla_store/m_xmla_store.js ***! \****************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.XmlaStore = void 0; var _class = _interopRequireDefault(__webpack_require__( /*! ../../../../core/class */ 38377)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _string = __webpack_require__( /*! ../../../../core/utils/string */ 68752); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../../../core/utils/window */ 58201); var _errors = __webpack_require__( /*! ../../../../data/errors */ 18438); var _language_codes = __webpack_require__( /*! ../../../../localization/language_codes */ 9821); var _m_widget_utils = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../m_widget_utils */ 28580)); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var window = (0, _window.getWindow)(); var XmlaStore = _class.default.inherit(function() { var discover = '{2}{0}{1}{0}{3}'; var mdx = "SELECT {2} FROM {0} {1} CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS"; function execXMLA(requestOptions, data) { var deferred = new _deferred.Deferred; var beforeSend = requestOptions.beforeSend; var ajaxSettings = { url: requestOptions.url, dataType: "text", data: data, headers: { "Content-Type": "text/xml" }, xhrFields: {}, method: "POST" }; if ((0, _type.isFunction)(beforeSend)) { beforeSend(ajaxSettings) } _m_widget_utils.default.sendRequest(ajaxSettings).fail((function() { deferred.reject(arguments) })).done((function(text) { var parser = new window.DOMParser; var xml; try { try { xml = parser.parseFromString(text, "text/xml") } catch (e) { xml = void 0 } if (!xml || xml.getElementsByTagName("parsererror").length || 0 === xml.childNodes.length) { throw new _errors.errors.Error("E4023", text) } } catch (e) { deferred.reject({ statusText: e.message, stack: e.stack, responseText: text }) } deferred.resolve(xml) })); return deferred } function getLocaleIdProperty() { var languageId = (0, _language_codes.getLanguageId)(); if (void 0 !== languageId) { return (0, _string.format)("{0}", languageId) } return "" } function getAllMember(dimension) { return "".concat(dimension.hierarchyName || dimension.dataField, ".[All]") } function getAllMembers(field) { var result = "".concat(field.dataField, ".allMembers"); var searchValue = field.searchValue; if (searchValue) { searchValue = searchValue.replace(/'/g, "''"); result = "Filter(".concat(result, ", instr(").concat(field.dataField, ".currentmember.member_caption,'").concat(searchValue, "') > 0)") } return result } function crossJoinElements(elements) { var elementsString = elements.join(","); return elements.length > 1 ? (0, _string.format)("CrossJoin({0})", elementsString) : elementsString } function generateCrossJoin(path, expandLevel, expandAllCount, expandIndex, slicePath, options, axisName, take) { var crossJoinArgs = []; var dimensions = options[axisName]; var fields = []; var arg; var prevDimension; var member; for (var i = expandIndex; i <= expandLevel; i += 1) { var field = dimensions[i]; var dataField = field.dataField; var prevHierarchyName = dimensions[i - 1] && dimensions[i - 1].hierarchyName; var hierarchyName = field.hierarchyName; var isLastDimensionInGroup = !hierarchyName || !dimensions[i + 1] || dimensions[i + 1].hierarchyName !== hierarchyName; var expandAllIndex = path.length + expandAllCount + expandIndex; arg = null; fields.push(field); if (i < path.length) { if (isLastDimensionInGroup) { arg = "(".concat(dataField, ".").concat(preparePathValue(path[i], dataField), ")") } } else if (i <= expandAllIndex) { if (0 === i && 0 === expandAllCount) { var allMember = getAllMember(dimensions[expandIndex]); if (!hierarchyName) { arg = getAllMembers(dimensions[expandIndex]) } else { arg = "".concat(allMember, ",").concat(dimensions[expandIndex].dataField) } } else if (hierarchyName) { member = preparePathValue(slicePath[slicePath.length - 1]); if (isLastDimensionInGroup || i === expandAllIndex) { if (prevHierarchyName === hierarchyName) { if (slicePath.length) { prevDimension = dimensions[slicePath.length - 1] } if (!prevDimension || prevDimension.hierarchyName !== hierarchyName) { prevDimension = dimensions[i - 1]; member = "" } arg = (level = prevDimension.dataField, levelMember = member, nextLevel = dataField, memberExpression = void 0, memberExpression = levelMember || level, "Descendants({".concat(memberExpression, "}, ").concat(nextLevel, ", SELF_AND_BEFORE)")) } else { arg = getAllMembers(field) } } } else { arg = getAllMembers(field) } } else { var isFirstDimensionInGroup = !hierarchyName || prevHierarchyName !== hierarchyName; if (isFirstDimensionInGroup) { arg = "(".concat(getAllMember(field), ")") } } if (arg) { arg = (0, _string.format)("{{0}}", arg); if (take) { var sortBy = (field.hierarchyName || field.dataField) + ("displayText" === field.sortBy ? ".MEMBER_CAPTION" : ".MEMBER_VALUE"); arg = (0, _string.format)("Order({0}, {1}, {2})", arg, sortBy, "desc" === field.sortOrder ? "DESC" : "ASC") } crossJoinArgs.push(arg) } } var level, levelMember, nextLevel, memberExpression; return crossJoinElements(crossJoinArgs) } function fillCrossJoins(crossJoins, path, expandLevel, expandIndex, slicePath, options, axisName, cellsString, take, totalsOnly) { var expandAllCount = -1; var dimensions = options[axisName]; var dimensionIndex; do { expandAllCount += 1; dimensionIndex = path.length + expandAllCount + expandIndex; var crossJoin = generateCrossJoin(path, expandLevel, expandAllCount, expandIndex, slicePath, options, axisName, take); if (!take && !totalsOnly) { crossJoin = (0, _string.format)("NonEmpty({0}, {1})", crossJoin, cellsString) } crossJoins.push(crossJoin) } while (dimensions[dimensionIndex] && dimensions[dimensionIndex + 1] && dimensions[dimensionIndex].expanded) } function declare(expression, withArray, name, type) { name = name || "[DX_Set_".concat(withArray.length, "]"); type = type || "set"; withArray.push((0, _string.format)("{0} {1} as {2}", type, name, expression)); return name } function generateAxisMdx(options, axisName, cells, withArray, parseOptions) { var dimensions = options[axisName]; var crossJoins = []; var path = []; var expandedPaths = []; var expandIndex = 0; var expandLevel = 0; var result = []; var cellsString = (0, _string.format)("{{0}}", cells.join(",")); if (dimensions && dimensions.length) { if (options.headerName === axisName) { path = options.path; expandIndex = path.length } else if (options.headerName && options.oppositePath) { path = options.oppositePath; expandIndex = path.length } else { expandedPaths = ("columns" === axisName ? options.columnExpandedPaths : options.rowExpandedPaths) || expandedPaths } expandLevel = (0, _m_widget_utils.getExpandedLevel)(options, axisName); fillCrossJoins(crossJoins, [], expandLevel, expandIndex, path, options, axisName, cellsString, "rows" === axisName ? options.rowTake : options.columnTake, options.totalsOnly); (0, _iterator.each)(expandedPaths, (function(_, expandedPath) { fillCrossJoins(crossJoins, expandedPath, expandLevel, expandIndex, expandedPath, options, axisName, cellsString) })); for (var i = expandLevel; i >= path.length; i -= 1) { if (dimensions[i].hierarchyName) { parseOptions.visibleLevels[dimensions[i].hierarchyName] = parseOptions.visibleLevels[dimensions[i].hierarchyName] || []; parseOptions.visibleLevels[dimensions[i].hierarchyName].push(dimensions[i].dataField) } } } if (crossJoins.length) { var expression = (elements = crossJoins, elementsString = elements.join(","), elements.length > 1 ? "Union(".concat(elementsString, ")") : elementsString); if ("rows" === axisName && options.rowTake) { expression = (0, _string.format)("Subset({0}, {1}, {2})", expression, options.rowSkip > 0 ? options.rowSkip + 1 : 0, options.rowSkip > 0 ? options.rowTake : options.rowTake + 1) } if ("columns" === axisName && options.columnTake) { expression = (0, _string.format)("Subset({0}, {1}, {2})", expression, options.columnSkip > 0 ? options.columnSkip + 1 : 0, options.columnSkip > 0 ? options.columnTake : options.columnTake + 1) } var axisSet = "[DX_".concat(axisName, "]"); result.push(declare(expression, withArray, axisSet)); if (options.totalsOnly) { result.push(declare("COUNT(".concat(axisSet, ")"), withArray, "[DX_".concat(axisName, "_count]"), "member")) } } var elements, elementsString; if ("columns" === axisName && cells.length && !options.skipValues) { result.push(cellsString) } return (0, _string.format)("{0} DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME, MEMBER_VALUE ON {1}", crossJoinElements(result), axisName) } function generateAxisFieldsFilter(fields) { var filterMembers = []; (0, _iterator.each)(fields, (function(_, field) { var dataField = field.dataField; var filterExpression = []; var filterValues = field.filterValues || []; var filterStringExpression; if (field.hierarchyName && (0, _type.isNumeric)(field.groupIndex)) { return }(0, _iterator.each)(filterValues, (function(_, filterValue) { var filterMdx = "".concat(dataField, ".").concat(preparePathValue(Array.isArray(filterValue) ? filterValue[filterValue.length - 1] : filterValue, dataField)); if ("exclude" === field.filterType) { filterExpression.push("".concat(filterMdx, ".parent")); filterMdx = "Descendants(".concat(filterMdx, ")") } filterExpression.push(filterMdx) })); if (filterValues.length) { filterStringExpression = (0, _string.format)("{{0}}", filterExpression.join(",")); if ("exclude" === field.filterType) { filterStringExpression = "Except(".concat(getAllMembers(field), ",").concat(filterStringExpression, ")") } filterMembers.push(filterStringExpression) } })); return filterMembers.length ? crossJoinElements(filterMembers) : "" } function generateFrom(columnsFilter, rowsFilter, filter, cubeName) { var from = "[".concat(cubeName, "]"); (0, _iterator.each)([columnsFilter, rowsFilter, filter], (function(_, filter) { if (filter) { from = (0, _string.format)("(SELECT {0} FROM {1})", "".concat(filter, "on 0"), from) } })); return from } function generateMdxCore(axisStrings, withArray, columns, rows, filters, slice, cubeName) { var options = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : {}; var mdxString = ""; var withString = "".concat(withArray.length ? "with ".concat(withArray.join(" ")) : "", " "); if (axisStrings.length) { var select; if (options.totalsOnly) { var countMembers = []; if (rows.length) { countMembers.push("[DX_rows_count]") } if (columns.length) { countMembers.push("[DX_columns_count]") } select = "{".concat(countMembers.join(","), "} on columns") } else { select = axisStrings.join(",") } mdxString = withString + (0, _string.format)(mdx, generateFrom(generateAxisFieldsFilter(columns), generateAxisFieldsFilter(rows), generateAxisFieldsFilter(filters || []), cubeName), slice.length ? (0, _string.format)("WHERE ({0})", slice.join(",")) : "", select) } return mdxString } function prepareDataFields(withArray, valueFields) { return (0, _iterator.map)(valueFields, (function(cell) { if ((0, _type.isString)(cell.expression)) { declare(cell.expression, withArray, cell.dataField, "member") } return cell.dataField })) } function addSlices(slices, options, headerName, path) { (0, _iterator.each)(path, (function(index, value) { var dimension = options[headerName][index]; if (!dimension.hierarchyName || dimension.hierarchyName !== options[headerName][index + 1].hierarchyName) { slices.push("".concat(dimension.dataField, ".").concat(preparePathValue(value, dimension.dataField))) } })) } function generateMDX(options, cubeName, parseOptions) { var columns = options.columns || []; var rows = options.rows || []; var values = options.values && options.values.length ? options.values : [{ dataField: "[Measures]" }]; var slice = []; var withArray = []; var axisStrings = []; var dataFields = prepareDataFields(withArray, values); parseOptions.measureCount = options.skipValues ? 1 : values.length; parseOptions.visibleLevels = {}; if (options.headerName && options.path) { addSlices(slice, options, options.headerName, options.path) } if (options.headerName && options.oppositePath) { addSlices(slice, options, "rows" === options.headerName ? "columns" : "rows", options.oppositePath) } if (columns.length || dataFields.length) { axisStrings.push(generateAxisMdx(options, "columns", dataFields, withArray, parseOptions)) } if (rows.length) { axisStrings.push(generateAxisMdx(options, "rows", dataFields, withArray, parseOptions)) } return generateMdxCore(axisStrings, withArray, columns, rows, options.filters, slice, cubeName, options) } function createDrillDownAxisSlice(slice, fields, path) { (0, _iterator.each)(path, (function(index, value) { var field = fields[index]; if (field.hierarchyName && (fields[index + 1] || {}).hierarchyName === field.hierarchyName) { return } slice.push("".concat(field.dataField, ".").concat(preparePathValue(value, field.dataField))) })) } function getNumber(str) { return parseInt(str, 10) } function getFirstChildText(node, childTagName) { return getNodeText(function(node, tagName) { return (node.getElementsByTagName(tagName) || [])[0] }(node, childTagName)) } function getNodeText(node) { return node && (node.textContent || node.text || node.innerHTML) || "" } function parseCells(xml, axes, measureCount) { var cells = []; var cell = []; var index = 0; var cellsOriginal = []; var cellElements = xml.getElementsByTagName("Cell"); var errorDictionary = {}; for (var i = 0; i < cellElements.length; i += 1) { var xmlCell = cellElements[i]; var valueElement = xmlCell.getElementsByTagName("Value")[0]; var errorElements = valueElement && valueElement.getElementsByTagName("Error") || []; var text = 0 === errorElements.length ? getNodeText(valueElement) : "#N/A"; var value = parseFloat(text); var _isNumeric = text - value + 1 > 0; var cellOrdinal = getNumber(xmlCell.getAttribute("CellOrdinal")); if (errorElements.length) { errorDictionary[getNodeText(errorElements[0].getElementsByTagName("ErrorCode")[0])] = getNodeText(errorElements[0].getElementsByTagName("Description")[0]) } cellsOriginal[cellOrdinal] = { value: _isNumeric ? value : text || null } }(0, _iterator.each)(axes[1], (function() { var row = []; cells.push(row); (0, _iterator.each)(axes[0], (function() { var measureIndex = index % measureCount; if (0 === measureIndex) { cell = []; row.push(cell) } cell.push(cellsOriginal[index] ? cellsOriginal[index].value : null); index += 1 })) })); Object.keys(errorDictionary).forEach((function(key) { _errors.errors.log("W4002", errorDictionary[key]) })); return cells } function preparePathValue(pathValue, dataField) { if (pathValue) { pathValue = (0, _type.isString)(pathValue) && pathValue.includes("&") ? pathValue : "[".concat(pathValue, "]"); if (dataField && 0 === pathValue.indexOf("".concat(dataField, "."))) { pathValue = pathValue.slice(dataField.length + 1, pathValue.length) } } return pathValue } function getItem(hash, name, member, index) { var item = hash[name]; if (!item) { item = {}; hash[name] = item } if (!(0, _type.isDefined)(item.value) && member) { item.text = member.caption; item.value = member.value; item.key = name || ""; item.levelName = member.levelName; item.hierarchyName = member.hierarchyName; item.parentName = member.parentName; item.index = index; item.level = member.level } return item } function getVisibleChildren(item, visibleLevels) { var result = []; var children = item.children && (item.children.length ? item.children : Object.keys(item.children.grandTotalHash || {}).reduce((function(result, name) { return result.concat(item.children.grandTotalHash[name].children) }), [])); var firstChild = children && children[0]; if (firstChild && (visibleLevels[firstChild.hierarchyName] && visibleLevels[firstChild.hierarchyName].includes(firstChild.levelName) || !visibleLevels[firstChild.hierarchyName] || 0 === firstChild.level)) { var newChildren = children.filter((function(child) { return child.hierarchyName === firstChild.hierarchyName })); newChildren.grandTotalHash = children.grandTotalHash; return newChildren } if (firstChild) { for (var i = 0; i < children.length; i += 1) { if (children[i].hierarchyName === firstChild.hierarchyName) { result.push.apply(result, getVisibleChildren(children[i], visibleLevels)) } } } return result } function fillDataSourceAxes(dataSourceAxis, axisTuples, measureCount, visibleLevels) { var result = []; (0, _iterator.each)(axisTuples, (function(tupleIndex, members) { var parentItem = { children: result }; var dataIndex = (0, _type.isDefined)(measureCount) ? Math.floor(tupleIndex / measureCount) : tupleIndex; (0, _iterator.each)(members, (function(_, member) { parentItem = function(dataIndex, member, parentItem) { var children = parentItem.children = parentItem.children || []; var hash = children.hash = children.hash || {}; var grandTotalHash = children.grandTotalHash = children.grandTotalHash || {}; if (member.parentName) { parentItem = getItem(hash, member.parentName); children = parentItem.children = parentItem.children || [] } var currentItem = getItem(hash, member.name, member, dataIndex); if (member.hasValue && !currentItem.added) { currentItem.index = dataIndex; currentItem.added = true; children.push(currentItem) } if ((!parentItem.value || !parentItem.parentName) && member.parentName) { grandTotalHash[member.parentName] = parentItem } else if (grandTotalHash[parentItem.name]) { delete grandTotalHash[member.parentName] } return currentItem }(dataIndex, member, parentItem) })) })); var parentItem = { children: result }; parentItem.children = getVisibleChildren(parentItem, visibleLevels); var grandTotalIndex = function(parentItem, visibleLevels) { var grandTotalIndex; if (1 === parentItem.children.length && "" === parentItem.children[0].parentName) { grandTotalIndex = parentItem.children[0].index; var grandTotalHash = parentItem.children.grandTotalHash; parentItem.children = parentItem.children[0].children || []; parentItem.children.grandTotalHash = grandTotalHash; parentItem.children = getVisibleChildren(parentItem, visibleLevels) } else if (0 === parentItem.children.length) { grandTotalIndex = 0 } return grandTotalIndex }(parentItem, visibleLevels); (0, _m_widget_utils.foreachTree)(parentItem.children, (function(items) { var item = items[0]; var children = getVisibleChildren(item, visibleLevels); if (children.length) { item.children = children } else { delete item.children } delete item.levelName; delete item.hierarchyName; delete item.added; delete item.parentName; delete item.level }), true); (0, _iterator.each)(parentItem.children || [], (function(_, e) { dataSourceAxis.push(e) })); return grandTotalIndex } function checkError(xml) { var faultElementNS = xml.getElementsByTagName("soap:Fault"); var faultElement = xml.getElementsByTagName("Fault"); var errorElement = (0, _renderer.default)([].slice.call(faultElement.length ? faultElement : faultElementNS)).find("Error"); if (errorElement.length) { var description = errorElement.attr("Description"); var error = new _errors.errors.Error("E4000", description); _errors.errors.log("E4000", description); return error } return null } function parseResult(xml, parseOptions) { var dataSource = { columns: [], rows: [] }; var measureCount = parseOptions.measureCount; var axes = function(xml, skipValues) { var axes = []; (0, _iterator.each)(xml.getElementsByTagName("Axis"), (function(_, axisElement) { var name = axisElement.getAttribute("name"); var axis = []; var index = 0; if (0 === name.indexOf("Axis") && (0, _type.isNumeric)(getNumber(name.substr(4)))) { axes.push(axis); (0, _iterator.each)(axisElement.getElementsByTagName("Tuple"), (function(_, tupleElement) { var tupleMembers = tupleElement.childNodes; var levelSum = 0; var members = []; var membersCount = skipValues ? tupleMembers.length : tupleMembers.length - 1; var isAxisWithMeasure = 1 === axes.length; if (isAxisWithMeasure) { membersCount -= 1 } axis.push(members); for (var i = membersCount; i >= 0; i -= 1) { var tuple = tupleMembers[i]; var level = getNumber(getFirstChildText(tuple, "LNum")); members[i] = { caption: getFirstChildText(tuple, "Caption"), value: (valueText = getFirstChildText(tuple, "MEMBER_VALUE"), (0, _type.isNumeric)(valueText) ? parseFloat(valueText) : valueText), level: level, index: index++, hasValue: !levelSum && (!!level || 0 === i), name: getFirstChildText(tuple, "UName"), hierarchyName: tupleMembers[i].getAttribute("Hierarchy"), parentName: getFirstChildText(tuple, "PARENT_UNIQUE_NAME"), levelName: getFirstChildText(tuple, "LName") }; levelSum += level } var valueText })) } })); while (axes.length < 2) { axes.push([ [{ level: 0 }] ]) } return axes }(xml, parseOptions.skipValues); dataSource.grandTotalColumnIndex = fillDataSourceAxes(dataSource.columns, axes[0], measureCount, parseOptions.visibleLevels); dataSource.grandTotalRowIndex = fillDataSourceAxes(dataSource.rows, axes[1], void 0, parseOptions.visibleLevels); dataSource.values = parseCells(xml, axes, measureCount); return dataSource } function parseDiscoverRowSet(xml, schema, dimensions, translatedDisplayFolders) { var result = []; var isMeasure = "MEASURE" === schema; var displayFolderField = isMeasure ? "MEASUREGROUP_NAME" : "".concat(schema, "_DISPLAY_FOLDER"); (0, _iterator.each)(xml.getElementsByTagName("row"), (function(_, row) { var hierarchyName = "LEVEL" === schema ? getFirstChildText(row, "HIERARCHY_UNIQUE_NAME") : void 0; var levelNumber = getFirstChildText(row, "LEVEL_NUMBER"); var displayFolder = getFirstChildText(row, displayFolderField); if (isMeasure) { displayFolder = translatedDisplayFolders[displayFolder] || displayFolder } if (("0" !== levelNumber || "true" !== getFirstChildText(row, "".concat(schema, "_IS_VISIBLE"))) && "2" !== getFirstChildText(row, "DIMENSION_TYPE")) { var dimension = isMeasure ? "DX_MEASURES" : getFirstChildText(row, "DIMENSION_UNIQUE_NAME"); var dataField = getFirstChildText(row, "".concat(schema, "_UNIQUE_NAME")); result.push({ dimension: dimensions.names[dimension] || dimension, groupIndex: levelNumber ? getNumber(levelNumber) - 1 : void 0, dataField: dataField, caption: getFirstChildText(row, "".concat(schema, "_CAPTION")), hierarchyName: hierarchyName, groupName: hierarchyName, displayFolder: displayFolder, isMeasure: isMeasure, isDefault: !!dimensions.defaultHierarchies[dataField] }) } })); return result } function parseStringWithUnicodeSymbols(str) { str = str.replace(/_x(....)_/g, (function(_, group1) { return String.fromCharCode(parseInt(group1, 16)) })); var stringArray = str.match(/\[.+?\]/gi); if (stringArray && stringArray.length) { str = stringArray[stringArray.length - 1] } return str.replace(/\[/gi, "").replace(/\]/gi, "").replace(/\$/gi, "").replace(/\./gi, " ") } function sendQuery(storeOptions, mdxString) { mdxString = (0, _renderer.default)("
").text(mdxString).html(); return execXMLA(storeOptions, (0, _string.format)('{0}{1}TrueMicrosoft SQL Server Management Studio3600{2}', mdxString, storeOptions.catalog, getLocaleIdProperty())) } return { ctor: function(options) { this._options = options }, getFields: function() { var options = this._options; var catalog = options.catalog; var cube = options.cube; var localeIdProperty = getLocaleIdProperty(); var dimensionsRequest = execXMLA(options, (0, _string.format)(discover, catalog, cube, "MDSCHEMA_DIMENSIONS", localeIdProperty)); var measuresRequest = execXMLA(options, (0, _string.format)(discover, catalog, cube, "MDSCHEMA_MEASURES", localeIdProperty)); var hierarchiesRequest = execXMLA(options, (0, _string.format)(discover, catalog, cube, "MDSCHEMA_HIERARCHIES", localeIdProperty)); var levelsRequest = execXMLA(options, (0, _string.format)(discover, catalog, cube, "MDSCHEMA_LEVELS", localeIdProperty)); var result = new _deferred.Deferred; (0, _deferred.when)(dimensionsRequest, measuresRequest, hierarchiesRequest, levelsRequest).then((function(dimensionsResponse, measuresResponse, hierarchiesResponse, levelsResponse) { execXMLA(options, (0, _string.format)(discover, catalog, cube, "MDSCHEMA_MEASUREGROUPS", localeIdProperty)).done((function(measureGroupsResponse) { var dimensions = function(xml) { var result = { names: {}, defaultHierarchies: {} }; (0, _iterator.each)((0, _renderer.default)(xml).find("row"), (function() { var $row = (0, _renderer.default)(this); var type = $row.children("DIMENSION_TYPE").text(); var dimensionName = "2" === type ? "DX_MEASURES" : $row.children("DIMENSION_UNIQUE_NAME").text(); result.names[dimensionName] = $row.children("DIMENSION_CAPTION").text(); result.defaultHierarchies[$row.children("DEFAULT_HIERARCHY").text()] = true })); return result }(dimensionsResponse); var hierarchies = parseDiscoverRowSet(hierarchiesResponse, "HIERARCHY", dimensions); var levels = parseDiscoverRowSet(levelsResponse, "LEVEL", dimensions); var measureGroups = function(xml) { var measureGroups = {}; (0, _iterator.each)(xml.getElementsByTagName("row"), (function(_, row) { measureGroups[getFirstChildText(row, "MEASUREGROUP_NAME")] = getFirstChildText(row, "MEASUREGROUP_CAPTION") })); return measureGroups }(measureGroupsResponse); var fields = parseDiscoverRowSet(measuresResponse, "MEASURE", dimensions, measureGroups).concat(hierarchies); var levelsByHierarchy = {}; (0, _iterator.each)(levels, (function(_, level) { levelsByHierarchy[level.hierarchyName] = levelsByHierarchy[level.hierarchyName] || []; levelsByHierarchy[level.hierarchyName].push(level) })); (0, _iterator.each)(hierarchies, (function(_, hierarchy) { if (levelsByHierarchy[hierarchy.dataField] && levelsByHierarchy[hierarchy.dataField].length > 1) { hierarchy.groupName = hierarchy.hierarchyName = hierarchy.dataField; fields.push.apply(fields, levelsByHierarchy[hierarchy.hierarchyName]) } })); result.resolve(fields) })).fail(result.reject) })).fail(result.reject); return result }, load: function(options) { var result = new _deferred.Deferred; var storeOptions = this._options; var parseOptions = { skipValues: options.skipValues }; var mdxString = generateMDX(options, storeOptions.cube, parseOptions); var rowCountMdx; if (options.rowSkip || options.rowTake || options.columnTake || options.columnSkip) { rowCountMdx = generateMDX((0, _extend.extend)({}, options, { totalsOnly: true, rowSkip: null, rowTake: null, columnSkip: null, columnTake: null }), storeOptions.cube, {}) } var load = function() { if (mdxString) { (0, _deferred.when)(sendQuery(storeOptions, mdxString), rowCountMdx && sendQuery(storeOptions, rowCountMdx)).done((function(executeXml, rowCountXml) { var error = checkError(executeXml) || rowCountXml && checkError(rowCountXml); if (!error) { var response = parseResult(executeXml, parseOptions); if (rowCountXml) { ! function(data, options, totalCountXml) { var axes = []; var columnOptions = options.columns || []; var rowOptions = options.rows || []; if (columnOptions.length) { axes.push({}) } if (rowOptions.length) { axes.push({}) } var cells = parseCells(totalCountXml, [ [{}], [{}, {}] ], 1); if (!columnOptions.length && rowOptions.length) { data.rowCount = Math.max(cells[0][0][0] - 1, 0) } if (!rowOptions.length && columnOptions.length) { data.columnCount = Math.max(cells[0][0][0] - 1, 0) } if (rowOptions.length && columnOptions.length) { data.rowCount = Math.max(cells[0][0][0] - 1, 0); data.columnCount = Math.max(cells[1][0][0] - 1, 0) } if (void 0 !== data.rowCount && options.rowTake) { data.rows = _toConsumableArray(Array(options.rowSkip)).concat(data.rows); data.rows.length = data.rowCount; for (var i = 0; i < data.rows.length; i += 1) { data.rows[i] = data.rows[i] || {} } } if (void 0 !== data.columnCount && options.columnTake) { data.columns = _toConsumableArray(Array(options.columnSkip)).concat(data.columns); data.columns.length = data.columnCount; for (var _i = 0; _i < data.columns.length; _i += 1) { data.columns[_i] = data.columns[_i] || {} } } }(response, options, rowCountXml) } result.resolve(response) } else { result.reject(error) } })).fail(result.reject) } else { result.resolve({ columns: [], rows: [], values: [], grandTotalColumnIndex: 0, grandTotalRowIndex: 0 }) } }; if (options.delay) { setTimeout(load, options.delay) } else { load() } return result }, supportPaging: function() { return true }, getDrillDownItems: function(options, params) { var result = new _deferred.Deferred; var storeOptions = this._options; var mdxString = function(options, cubeName, params) { var columns = options.columns || []; var rows = options.rows || []; var values = options.values && options.values.length ? options.values : [{ dataField: "[Measures]" }]; var slice = []; var withArray = []; var axisStrings = []; var dataFields = prepareDataFields(withArray, values); var maxRowCount = params.maxRowCount; var customColumns = params.customColumns || []; var customColumnsString = customColumns.length > 0 ? " return ".concat(customColumns.join(",")) : ""; createDrillDownAxisSlice(slice, columns, params.columnPath || []); createDrillDownAxisSlice(slice, rows, params.rowPath || []); if (columns.length || dataFields.length) { axisStrings.push(["".concat(dataFields[params.dataIndex] || dataFields[0], " on 0")]) } var coreMDX = generateMdxCore(axisStrings, withArray, columns, rows, options.filters, slice, cubeName); return coreMDX ? "drillthrough".concat(maxRowCount > 0 ? " maxrows ".concat(maxRowCount) : "").concat(coreMDX).concat(customColumnsString) : coreMDX }(options, storeOptions.cube, params); if (mdxString) { (0, _deferred.when)(sendQuery(storeOptions, mdxString)).done((function(executeXml) { var error = checkError(executeXml); if (!error) { result.resolve(function(xml) { var rows = xml.getElementsByTagName("row"); var result = []; var columnNames = {}; for (var i = 0; i < rows.length; i += 1) { var children = rows[i].childNodes; var item = {}; for (var j = 0; j < children.length; j += 1) { var tagName = children[j].tagName; var name = columnNames[tagName] = columnNames[tagName] || parseStringWithUnicodeSymbols(tagName); item[name] = getNodeText(children[j]) } result.push(item) } return result }(executeXml)) } else { result.reject(error) } })).fail(result.reject) } else { result.resolve([]) } return result }, key: _common.noop, filter: _common.noop } }()).include(_m_widget_utils.storeDrillDownMixin); exports.XmlaStore = XmlaStore; var _default = { XmlaStore: XmlaStore }; exports.default = _default }, 26686: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/data_controller/m_data_controller.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.DataController = void 0; var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _m_data_controller = __webpack_require__( /*! ../../../grids/grid_core/data_controller/m_data_controller */ 72119); var _m_data_source_adapter = _interopRequireDefault(__webpack_require__( /*! ../data_source_adapter/m_data_source_adapter */ 22821)); var _m_core = _interopRequireDefault(__webpack_require__( /*! ../m_core */ 12500)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var DataController = _m_data_controller.dataControllerModule.controllers.data.inherit({ _getDataSourceAdapter: function() { return _m_data_source_adapter.default }, _getNodeLevel: function(node) { var level = -1; while (node.parent) { if (node.visible) { level++ } node = node.parent } return level }, _generateDataItem: function(node, options) { return { rowType: "data", node: node, key: node.key, data: node.data, isExpanded: this.isRowExpanded(node.key, options), level: this._getNodeLevel(node) } }, _loadOnOptionChange: function() { this._dataSource.load() }, _isItemEquals: function(item1, item2) { if (!this.callBase.apply(this, arguments)) { return false } if (item1.node && item2.node && item1.node.hasChildren !== item2.node.hasChildren) { return false } if (item1.level !== item2.level || item1.isExpanded !== item2.isExpanded) { return false } return true }, init: function() { this.createAction("onRowExpanding"); this.createAction("onRowExpanded"); this.createAction("onRowCollapsing"); this.createAction("onRowCollapsed"); this.callBase.apply(this, arguments) }, keyOf: function(data) { var dataSource = this._dataSource; if (dataSource) { return dataSource.keyOf(data) } }, key: function() { var dataSource = this._dataSource; if (dataSource) { return dataSource.getKeyExpr() } }, publicMethods: function() { return this.callBase().concat(["expandRow", "collapseRow", "isRowExpanded", "getRootNode", "getNodeByKey", "loadDescendants", "forEachNode"]) }, changeRowExpand: function(key) { var _this = this; if (this._dataSource) { var args = { key: key }; var isExpanded = this.isRowExpanded(key); this.executeAction(isExpanded ? "onRowCollapsing" : "onRowExpanding", args); if (!args.cancel) { return this._dataSource.changeRowExpand(key).done((function() { _this.executeAction(isExpanded ? "onRowCollapsed" : "onRowExpanded", args) })) } } return (new _deferred.Deferred).resolve() }, isRowExpanded: function(key, cache) { return this._dataSource && this._dataSource.isRowExpanded(key, cache) }, expandRow: function(key) { if (!this.isRowExpanded(key)) { return this.changeRowExpand(key) } return (new _deferred.Deferred).resolve() }, collapseRow: function(key) { if (this.isRowExpanded(key)) { return this.changeRowExpand(key) } return (new _deferred.Deferred).resolve() }, getRootNode: function() { return this._dataSource && this._dataSource.getRootNode() }, optionChanged: function(args) { switch (args.name) { case "rootValue": case "parentIdExpr": case "itemsExpr": case "filterMode": case "expandNodesOnFiltering": case "autoExpandAll": case "hasItemsExpr": case "dataStructure": this._columnsController.reset(); this._items = []; this._refreshDataSource(); args.handled = true; break; case "expandedRowKeys": case "onNodesInitialized": if (this._dataSource && !this._dataSource._isNodesInitializing && !(0, _common.equalByValue)(args.value, args.previousValue)) { this._loadOnOptionChange() } args.handled = true; break; case "maxFilterLengthInRequest": args.handled = true; break; default: this.callBase(args) } }, getNodeByKey: function(key) { if (!this._dataSource) { return } return this._dataSource.getNodeByKey(key) }, getChildNodeKeys: function(parentKey) { if (!this._dataSource) { return } return this._dataSource.getChildNodeKeys(parentKey) }, loadDescendants: function(keys, childrenOnly) { if (!this._dataSource) { return } return this._dataSource.loadDescendants(keys, childrenOnly) }, forEachNode: function() { this._dataSource.forEachNode.apply(this, arguments) } }); exports.DataController = DataController; _m_core.default.registerModule("data", { defaultOptions: function() { return (0, _extend.extend)({}, _m_data_controller.dataControllerModule.defaultOptions(), { itemsExpr: "items", parentIdExpr: "parentId", rootValue: 0, dataStructure: "plain", expandedRowKeys: [], filterMode: "withAncestors", expandNodesOnFiltering: true, autoExpandAll: false, onNodesInitialized: null, maxFilterLengthInRequest: 1500, paging: { enabled: false } }) }, controllers: { data: DataController } }) }, 22821: /*!*********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/data_source_adapter/m_data_source_adapter.js ***! \*********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _data = __webpack_require__( /*! ../../../../core/utils/data */ 47617); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _array_store = _interopRequireDefault(__webpack_require__( /*! ../../../../data/array_store */ 26562)); var _array_utils = __webpack_require__( /*! ../../../../data/array_utils */ 60637); var _query = _interopRequireDefault(__webpack_require__( /*! ../../../../data/query */ 96687)); var _store_helper = _interopRequireDefault(__webpack_require__( /*! ../../../../data/store_helper */ 99236)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/widget/ui.errors */ 96688)); var _m_data_source_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../grids/grid_core/data_source_adapter/m_data_source_adapter */ 30945)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../../../grids/grid_core/m_utils */ 60082)); var _m_core = _interopRequireDefault(__webpack_require__( /*! ../m_core */ 12500)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var queryByOptions = _store_helper.default.queryByOptions; var isFullBranchFilterMode = function(that) { return "fullBranch" === that.option("filterMode") }; var DataSourceAdapterTreeList = _m_data_source_adapter.default.inherit({ _createKeyGetter: function() { var keyExpr = this.getKeyExpr(); return (0, _data.compileGetter)(keyExpr) }, _createKeySetter: function() { var keyExpr = this.getKeyExpr(); if ((0, _type.isFunction)(keyExpr)) { return keyExpr } return (0, _data.compileSetter)(keyExpr) }, createParentIdGetter: function() { return (0, _data.compileGetter)(this.option("parentIdExpr")) }, createParentIdSetter: function() { var parentIdExpr = this.option("parentIdExpr"); if ((0, _type.isFunction)(parentIdExpr)) { return parentIdExpr } return (0, _data.compileSetter)(parentIdExpr) }, _createItemsGetter: function() { return (0, _data.compileGetter)(this.option("itemsExpr")) }, _createHasItemsGetter: function() { var hasItemsExpr = this.option("hasItemsExpr"); return hasItemsExpr && (0, _data.compileGetter)(hasItemsExpr) }, _createHasItemsSetter: function() { var hasItemsExpr = this.option("hasItemsExpr"); if ((0, _type.isFunction)(hasItemsExpr)) { return hasItemsExpr } return hasItemsExpr && (0, _data.compileSetter)(hasItemsExpr) }, _updateIndexByKeyObject: function(items) { var that = this; that._indexByKey = {}; (0, _iterator.each)(items, (function(index, item) { that._indexByKey[item.key] = index })) }, _calculateHasItems: function(node, options) { var parentIds = options.storeLoadOptions.parentIds; var hasItems; var isFullBranch = isFullBranchFilterMode(this); if (this._hasItemsGetter && (parentIds || !options.storeLoadOptions.filter || isFullBranch)) { hasItems = this._hasItemsGetter(node.data) } if (void 0 === hasItems) { if (!this._isChildrenLoaded[node.key] && options.remoteOperations.filtering && (parentIds || isFullBranch)) { hasItems = true } else if (options.loadOptions.filter && !options.remoteOperations.filtering && isFullBranch) { hasItems = node.children.length } else { hasItems = node.hasChildren } } return !!hasItems }, _fillVisibleItemsByNodes: function(nodes, options, result) { for (var i = 0; i < nodes.length; i++) { if (nodes[i].visible) { result.push(nodes[i]) } if ((this.isRowExpanded(nodes[i].key, options) || !nodes[i].visible) && nodes[i].hasChildren && nodes[i].children.length) { this._fillVisibleItemsByNodes(nodes[i].children, options, result) } } }, _convertItemToNode: function(item, rootValue, nodeByKey) { var key = this._keyGetter(item); var parentId = this._parentIdGetter(item); parentId = (0, _type.isDefined)(parentId) ? parentId : rootValue; var parentNode = nodeByKey[parentId] = nodeByKey[parentId] || { key: parentId, children: [] }; var node = nodeByKey[key] = nodeByKey[key] || { key: key, children: [] }; node.data = item; node.parent = parentNode; return node }, _createNodesByItems: function(items, visibleItems) { var rootValue = this.option("rootValue"); var visibleByKey = {}; var nodeByKey = this._nodeByKey = {}; var i; if (visibleItems) { for (i = 0; i < visibleItems.length; i++) { visibleByKey[this._keyGetter(visibleItems[i])] = true } } for (i = 0; i < items.length; i++) { var node = this._convertItemToNode(items[i], rootValue, nodeByKey); if (void 0 === node.key) { return } node.visible = !visibleItems || !!visibleByKey[node.key]; if (node.parent) { node.parent.children.push(node) } } var rootNode = nodeByKey[rootValue] || { key: rootValue, children: [] }; rootNode.level = -1; return rootNode }, _convertDataToPlainStructure: function(data, parentId, result) { var key; if (this._itemsGetter && !data.isConverted) { result = result || []; for (var i = 0; i < data.length; i++) { var item = (0, _array_utils.createObjectWithChanges)(data[i]); key = this._keyGetter(item); if (void 0 === key) { key = result.length + 1; this._keySetter(item, key) } this._parentIdSetter(item, void 0 === parentId ? this.option("rootValue") : parentId); result.push(item); var childItems = this._itemsGetter(item); if (childItems && childItems.length) { this._convertDataToPlainStructure(childItems, key, result); var itemsExpr = this.option("itemsExpr"); if (!(0, _type.isFunction)(itemsExpr)) { delete item[itemsExpr] } } } result.isConverted = true; return result } return data }, _createIdFilter: function(field, keys) { var parentIdFilters = []; for (var i = 0; i < keys.length; i++) { parentIdFilters.push([field, "=", keys[i]]) } return _m_utils.default.combineFilters(parentIdFilters, "or") }, _customizeRemoteOperations: function(options, operationTypes) { this.callBase.apply(this, arguments); options.remoteOperations.paging = false; var expandVisibleNodes = false; if (this.option("autoExpandAll")) { options.remoteOperations.sorting = false; options.remoteOperations.filtering = false; if ((!this._lastLoadOptions || operationTypes.filtering && !options.storeLoadOptions.filter) && !options.isCustomLoading) { expandVisibleNodes = true } } if (!options.isCustomLoading) { this._isReload = this._isReload || operationTypes.reload; if (!options.cachedStoreData) { this._isChildrenLoaded = {}; if (this._isReload) { this._nodeByKey = {} } } if (this.option("expandNodesOnFiltering") && (operationTypes.filtering || this._isReload && options.storeLoadOptions.filter)) { if (options.storeLoadOptions.filter) { expandVisibleNodes = true } else { options.collapseVisibleNodes = true } } } options.expandVisibleNodes = expandVisibleNodes }, _getParentIdsToLoad: function(parentIds) { var parentIdsToLoad = []; for (var i = 0; i < parentIds.length; i++) { var node = this.getNodeByKey(parentIds[i]); if (!node || node.hasChildren && !node.children.length) { parentIdsToLoad.push(parentIds[i]) } } return parentIdsToLoad }, _handleCustomizeStoreLoadOptions: function(options) { var rootValue = this.option("rootValue"); var parentIdExpr = this.option("parentIdExpr"); var parentIds = options.storeLoadOptions.parentIds; if (parentIds) { options.isCustomLoading = false } this.callBase.apply(this, arguments); if (options.remoteOperations.filtering && !options.isCustomLoading) { if (isFullBranchFilterMode(this) && options.cachedStoreData || !options.storeLoadOptions.filter) { var expandedRowKeys = options.collapseVisibleNodes ? [] : this.option("expandedRowKeys"); parentIds = [rootValue].concat(expandedRowKeys).concat(parentIds || []); var parentIdsToLoad = options.data ? this._getParentIdsToLoad(parentIds) : parentIds; if (parentIdsToLoad.length) { options.cachedPagingData = void 0; options.data = void 0; options.mergeStoreLoadData = true; options.delay = this.option("loadingTimeout") } options.storeLoadOptions.parentIds = parentIdsToLoad; options.storeLoadOptions.filter = this._createIdFilter(parentIdExpr, parentIdsToLoad) } } }, _generateInfoToLoad: function(data, needChildren) { var key; var keyMap = {}; var resultKeyMap = {}; var resultKeys = []; var rootValue = this.option("rootValue"); var i; for (i = 0; i < data.length; i++) { key = needChildren ? this._parentIdGetter(data[i]) : this._keyGetter(data[i]); keyMap[key] = true } for (i = 0; i < data.length; i++) { key = needChildren ? this._keyGetter(data[i]) : this._parentIdGetter(data[i]); var needToLoad = needChildren ? this.isRowExpanded(key) : key !== rootValue; if (!keyMap[key] && !resultKeyMap[key] && needToLoad) { resultKeyMap[key] = true; resultKeys.push(key) } } return { keyMap: resultKeyMap, keys: resultKeys } }, _loadParentsOrChildren: function(data, options, needChildren) { var _this = this; var that = this; var filter; var needLocalFiltering; var _that$_generateInfoTo = that._generateInfoToLoad(data, needChildren), keys = _that$_generateInfoTo.keys, keyMap = _that$_generateInfoTo.keyMap; var d = new _deferred.Deferred; var isRemoteFiltering = options.remoteOperations.filtering; var maxFilterLengthInRequest = that.option("maxFilterLengthInRequest"); var loadOptions = isRemoteFiltering ? options.storeLoadOptions : options.loadOptions; function concatLoadedData(loadedData) { if (isRemoteFiltering) { that._cachedStoreData = that._cachedStoreData.concat(loadedData) } return data.concat(loadedData) } if (!keys.length) { return d.resolve(data) } var cachedNodes = keys.map((function(id) { return _this.getNodeByKey(id) })).filter((function(node) { return node && node.data })); if (cachedNodes.length === keys.length) { if (needChildren) { cachedNodes = cachedNodes.reduce((function(result, node) { return result.concat(node.children) }), []) } if (cachedNodes.length) { return that._loadParentsOrChildren(concatLoadedData(cachedNodes.map((function(node) { return node.data }))), options, needChildren) } } var keyExpr = needChildren ? that.option("parentIdExpr") : that.getKeyExpr(); filter = that._createIdFilter(keyExpr, keys); var filterLength = encodeURI(JSON.stringify(filter)).length; if (filterLength > maxFilterLengthInRequest) { filter = function(itemData) { return keyMap[needChildren ? that._parentIdGetter(itemData) : that._keyGetter(itemData)] }; needLocalFiltering = isRemoteFiltering } loadOptions = (0, _extend.extend)({}, loadOptions, { filter: !needLocalFiltering ? filter : null }); var store = options.fullData ? new _array_store.default(options.fullData) : that._dataSource.store(); that.loadFromStore(loadOptions, store).done((function(loadedData) { if (loadedData.length) { if (needLocalFiltering) { loadedData = (0, _query.default)(loadedData).filter(filter).toArray() } that._loadParentsOrChildren(concatLoadedData(loadedData), options, needChildren).done(d.resolve).fail(d.reject) } else { d.resolve(data) } })).fail(d.reject); return d }, _loadParents: function(data, options) { return this._loadParentsOrChildren(data, options) }, _loadChildrenIfNeed: function(data, options) { if (isFullBranchFilterMode(this)) { return this._loadParentsOrChildren(data, options, true) } return (0, _deferred.when)(data) }, _updateHasItemsMap: function(options) { var parentIds = options.storeLoadOptions.parentIds; if (parentIds) { for (var i = 0; i < parentIds.length; i++) { this._isChildrenLoaded[parentIds[i]] = true } } }, _getKeyInfo: function() { return { key: function() { return "key" }, keyOf: function(data) { return data.key } } }, _processChanges: function(changes) { var _this2 = this; var processedChanges = []; changes.forEach((function(change) { if ("insert" === change.type) { processedChanges = processedChanges.concat(_this2._applyInsert(change)) } else if ("remove" === change.type) { processedChanges = processedChanges.concat(_this2._applyRemove(change)) } else if ("update" === change.type) { processedChanges.push({ type: change.type, key: change.key, data: { data: change.data } }) } })); return processedChanges }, _handleChanging: function(e) { var _this3 = this; this.callBase.apply(this, arguments); var processChanges = function(changes) { var changesToProcess = changes.filter((function(item) { return "update" === item.type })); return _this3._processChanges(changesToProcess) }; e.postProcessChanges = processChanges }, _applyBatch: function(changes) { var processedChanges = this._processChanges(changes); this.callBase(processedChanges) }, _setHasItems: function(node, value) { var hasItemsSetter = this._hasItemsSetter; node.hasChildren = value; if (hasItemsSetter && node.data) { hasItemsSetter(node.data, value) } }, _applyInsert: function(change) { var baseChanges = []; var parentId = this.parentKeyOf(change.data); var parentNode = this.getNodeByKey(parentId); if (parentNode) { var rootValue = this.option("rootValue"); var node = this._convertItemToNode(change.data, rootValue, this._nodeByKey); node.hasChildren = false; node.level = parentNode.level + 1; node.visible = true; parentNode.children.push(node); this._isChildrenLoaded[node.key] = true; this._setHasItems(parentNode, true); if ((!parentNode.parent || this.isRowExpanded(parentNode.key)) && void 0 !== change.index) { var index = this.items().indexOf(parentNode) + 1; index += change.index >= 0 ? Math.min(change.index, parentNode.children.length) : parentNode.children.length; baseChanges.push({ type: change.type, data: node, index: index }) } } return baseChanges }, _needToCopyDataObject: function() { return false }, _applyRemove: function(change) { var baseChanges = []; var node = this.getNodeByKey(change.key); var parentNode = node && node.parent; if (parentNode) { var index = parentNode.children.indexOf(node); if (index >= 0) { parentNode.children.splice(index, 1); if (!parentNode.children.length) { this._setHasItems(parentNode, false) } baseChanges.push(change); baseChanges = baseChanges.concat(this.getChildNodeKeys(change.key).map((function(key) { return { type: change.type, key: key } }))) } } return baseChanges }, _handleDataLoaded: function(options) { var data = options.data = this._convertDataToPlainStructure(options.data); if (!options.remoteOperations.filtering && options.loadOptions.filter) { options.fullData = queryByOptions((0, _query.default)(options.data), { sort: options.loadOptions && options.loadOptions.sort }).toArray() } this._updateHasItemsMap(options); this.callBase(options); if (data.isConverted && this._cachedStoreData) { this._cachedStoreData.isConverted = true } }, _fillNodes: function(nodes, options, expandedRowKeys, level) { var isFullBranch = isFullBranchFilterMode(this); level = level || 0; for (var i = 0; i < nodes.length; i++) { var node = nodes[i]; var needToExpand = false; this._fillNodes(nodes[i].children, options, expandedRowKeys, level + 1); node.level = level; node.hasChildren = this._calculateHasItems(node, options); if (node.visible && node.hasChildren) { if (isFullBranch) { if (node.children.filter((function(node) { return node.visible })).length) { needToExpand = true } else if (node.children.length) { _m_core.default.foreachNodes(node.children, (function(node) { node.visible = true })) } } else { needToExpand = true } if (options.expandVisibleNodes && needToExpand) { expandedRowKeys.push(node.key) } } if (node.visible || node.hasChildren) { node.parent.hasChildren = true } } }, _processTreeStructure: function(options, visibleItems) { var data = options.data; var parentIds = options.storeLoadOptions.parentIds; var expandedRowKeys = []; if (parentIds && parentIds.length || this._isReload) { if (options.fullData && options.fullData.length > options.data.length) { data = options.fullData; visibleItems = visibleItems || options.data } this._rootNode = this._createNodesByItems(data, visibleItems); if (!this._rootNode) { options.data = (new _deferred.Deferred).reject(_ui.default.Error("E1046", this.getKeyExpr())); return } this._fillNodes(this._rootNode.children, options, expandedRowKeys); this._isNodesInitializing = true; if (options.collapseVisibleNodes || expandedRowKeys.length) { this.option("expandedRowKeys", expandedRowKeys) } this._isReload = false; this.executeAction("onNodesInitialized", { root: this._rootNode }); this._isNodesInitializing = false } var resultData = []; this._fillVisibleItemsByNodes(this._rootNode.children, options, resultData); options.data = resultData; this._totalItemsCount = resultData.length }, _handleDataLoadedCore: function(options) { var that = this; var data = options.data; var callBase = that.callBase; var filter = options.storeLoadOptions.filter || options.loadOptions.filter; var filterMode = that.option("filterMode"); var visibleItems; var parentIds = options.storeLoadOptions.parentIds; var needLoadParents = filter && (!parentIds || !parentIds.length) && "standard" !== filterMode; if (!options.isCustomLoading) { if (needLoadParents) { var d = options.data = new _deferred.Deferred; if ("matchOnly" === filterMode) { visibleItems = data } return that._loadParents(data, options).done((function(data) { that._loadChildrenIfNeed(data, options).done((function(data) { options.data = data; that._processTreeStructure(options, visibleItems); callBase.call(that, options); d.resolve(options.data) })) })).fail(d.reject) } that._processTreeStructure(options) } that.callBase(options) }, _handlePush: function(_ref) { var changes = _ref.changes; var reshapeOnPush = this._dataSource._reshapeOnPush; var isNeedReshape = reshapeOnPush && !!changes.length; if (isNeedReshape) { this._isReload = true } changes.forEach((function(change) { var _a; null !== (_a = change.index) && void 0 !== _a ? _a : change.index = -1 })); this.callBase.apply(this, arguments) }, init: function(dataSource, remoteOperations) { this.callBase.apply(this, arguments); var dataStructure = this.option("dataStructure"); this._keyGetter = this._createKeyGetter(); this._parentIdGetter = this.createParentIdGetter(); this._hasItemsGetter = this._createHasItemsGetter(); this._hasItemsSetter = this._createHasItemsSetter(); if ("tree" === dataStructure) { this._itemsGetter = this._createItemsGetter(); this._keySetter = this._createKeySetter(); this._parentIdSetter = this.createParentIdSetter() } this._nodeByKey = {}; this._isChildrenLoaded = {}; this._totalItemsCount = 0; this.createAction("onNodesInitialized") }, getKeyExpr: function() { var store = this.store(); var key = store && store.key(); var keyExpr = this.option("keyExpr"); if ((0, _type.isDefined)(key) && (0, _type.isDefined)(keyExpr)) { if (!(0, _common.equalByValue)(key, keyExpr)) { throw _ui.default.Error("E1044") } } return key || keyExpr || "id" }, keyOf: function(data) { return this._keyGetter && this._keyGetter(data) }, parentKeyOf: function(data) { return this._parentIdGetter && this._parentIdGetter(data) }, getRootNode: function() { return this._rootNode }, totalItemsCount: function() { return this._totalItemsCount + this._totalCountCorrection }, isRowExpanded: function(key, cache) { if (cache) { var isExpandedByKey = cache.isExpandedByKey; if (!isExpandedByKey) { isExpandedByKey = cache.isExpandedByKey = {}; this.option("expandedRowKeys").forEach((function(key) { isExpandedByKey[key] = true })) } return !!isExpandedByKey[key] } var indexExpandedNodeKey = _m_utils.default.getIndexByKey(key, this.option("expandedRowKeys"), null); return indexExpandedNodeKey >= 0 }, _changeRowExpandCore: function(key) { var expandedRowKeys = this.option("expandedRowKeys").slice(); var indexExpandedNodeKey = _m_utils.default.getIndexByKey(key, expandedRowKeys, null); if (indexExpandedNodeKey < 0) { expandedRowKeys.push(key) } else { expandedRowKeys.splice(indexExpandedNodeKey, 1) } this.option("expandedRowKeys", expandedRowKeys) }, changeRowExpand: function(key) { this._changeRowExpandCore(key); return this._isNodesInitializing ? (new _deferred.Deferred).resolve() : this.load() }, getNodeByKey: function(key) { if (this._nodeByKey) { return this._nodeByKey[key] } }, getNodeLeafKeys: function() { var that = this; var result = []; var keys = that._rootNode ? [that._rootNode.key] : []; keys.forEach((function(key) { var node = that.getNodeByKey(key); node && _m_core.default.foreachNodes([node], (function(childNode) { !childNode.children.length && result.push(childNode.key) })) })); return result }, getChildNodeKeys: function(parentKey) { var node = this.getNodeByKey(parentKey); var childrenKeys = []; node && _m_core.default.foreachNodes(node.children, (function(childNode) { childrenKeys.push(childNode.key) })); return childrenKeys }, loadDescendants: function(keys, childrenOnly) { var that = this; var d = new _deferred.Deferred; var remoteOperations = that.remoteOperations(); if ((0, _type.isDefined)(keys)) { keys = Array.isArray(keys) ? keys : [keys] } else { keys = that.getNodeLeafKeys() } if (!remoteOperations.filtering || !keys.length) { return d.resolve() } var loadOptions = that._dataSource._createStoreLoadOptions(); loadOptions.parentIds = keys; that.load(loadOptions).done((function() { if (!childrenOnly) { var childKeys = function(that, keys) { var childKeys = []; keys.forEach((function(key) { var node = that.getNodeByKey(key); node && node.children.forEach((function(child) { childKeys.push(child.key) })) })); return childKeys }(that, keys); if (childKeys.length) { that.loadDescendants(childKeys, childrenOnly).done(d.resolve).fail(d.reject); return } } d.resolve() })).fail(d.reject); return d.promise() }, forEachNode: function() { var nodes = []; var callback; if (1 === arguments.length) { callback = arguments[0]; var rootNode = this.getRootNode(); nodes = rootNode && rootNode.children || [] } else if (2 === arguments.length) { callback = arguments[1]; nodes = arguments[0]; nodes = Array.isArray(nodes) ? nodes : [nodes] } _m_core.default.foreachNodes(nodes, callback) } }); var _default = { extend: function(extender) { DataSourceAdapterTreeList = DataSourceAdapterTreeList.inherit(extender) }, create: function(component) { return new DataSourceAdapterTreeList(component) } }; exports.default = _default }, 17629: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/editing/m_editing.js ***! \*********************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ../module_not_extended/editor_factory */ 29900); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../ui/widget/ui.errors */ 96688)); var _m_editing = __webpack_require__( /*! ../../../grids/grid_core/editing/m_editing */ 22324); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../../../grids/grid_core/m_utils */ 60082)); var _m_core = _interopRequireDefault(__webpack_require__( /*! ../m_core */ 12500)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var EditingController = _m_editing.editingModule.controllers.editing.inherit({ _generateNewItem: function(key) { var item = this.callBase(key); item.data = { key: key }; item.children = []; item.level = 0; item.parentKey = this.option("rootValue"); return item }, _isProcessedItem: function() { return true }, _setInsertAfterOrBeforeKey: function(change, parentKey) { if (void 0 !== parentKey && parentKey !== this.option("rootValue")) { change.insertAfterKey = parentKey } else { this.callBase.apply(this, arguments) } }, _getLoadedRowIndex: function(items, change) { var dataController = this.getController("data"); var dataSourceAdapter = dataController.dataSource(); var parentKey = null === dataSourceAdapter || void 0 === dataSourceAdapter ? void 0 : dataSourceAdapter.parentKeyOf(change.data); if (void 0 !== parentKey && parentKey !== this.option("rootValue")) { var rowIndex = _m_utils.default.getIndexByKey(parentKey, items); if (rowIndex >= 0 && this._dataController.isRowExpanded(parentKey)) { return rowIndex + 1 } return -1 } return this.callBase.apply(this, arguments) }, _isEditColumnVisible: function() { var result = this.callBase.apply(this, arguments); var editingOptions = this.option("editing"); return result || editingOptions.allowAdding }, _isDefaultButtonVisible: function(button, options) { var result = this.callBase.apply(this, arguments); var row = options.row; if ("add" === button.name) { return this.allowAdding(options) && row.rowIndex !== this._getVisibleEditRowIndex() && !(row.removed || row.isNewRow) } return result }, _getEditingButtons: function(options) { var buttons = this.callBase.apply(this, arguments); if (!options.column.buttons) { buttons.unshift(this._getButtonConfig("add", options)) } return buttons }, _beforeSaveEditData: function(change) { var dataController = this._dataController; var result = this.callBase.apply(this, arguments); if (change && "insert" !== change.type) { var store = null === dataController || void 0 === dataController ? void 0 : dataController.store(); var key = null === store || void 0 === store ? void 0 : store.key(); if (!(0, _type.isDefined)(key)) { throw _ui.default.Error("E1045") } } return result }, addRowByRowIndex: function(rowIndex) { var dataController = this.getController("data"); var row = dataController.getVisibleRows()[rowIndex]; return this.addRow(row ? row.key : void 0) }, addRow: function(key) { if (void 0 === key) { key = this.option("rootValue") } return this.callBase.call(this, key) }, _addRowCore: function(data, parentKey, oldEditRowIndex) { var _this = this; var callBase = this.callBase; var rootValue = this.option("rootValue"); var dataController = this.getController("data"); var dataSourceAdapter = dataController.dataSource(); var parentKeyGetter = dataSourceAdapter.createParentIdGetter(); parentKey = parentKeyGetter(data); if (void 0 !== parentKey && parentKey !== rootValue && !dataController.isRowExpanded(parentKey)) { var deferred = new _deferred.Deferred; dataController.expandRow(parentKey).done((function() { setTimeout((function() { callBase.call(_this, data, parentKey, oldEditRowIndex).done(deferred.resolve).fail(deferred.reject) })) })).fail(deferred.reject); return deferred.promise() } return callBase.call(this, data, parentKey, oldEditRowIndex) }, _initNewRow: function(options, parentKey) { var dataController = this.getController("data"); var dataSourceAdapter = dataController.dataSource(); var parentIdSetter = dataSourceAdapter.createParentIdSetter(); parentIdSetter(options.data, parentKey); return this.callBase.apply(this, arguments) }, allowAdding: function(options) { return this._allowEditAction("allowAdding", options) }, _needToCloseEditableCell: function($targetElement) { return this.callBase.apply(this, arguments) || $targetElement.closest(".".concat("dx-treelist-icon-container")).length && this.isEditing() }, getButtonLocalizationNames: function() { var names = this.callBase.apply(this); names.add = "dxTreeList-editingAddRowToNode"; return names } }); var originalRowClick = _m_editing.editingModule.extenders.views.rowsView._rowClick; var originalRowDblClick = _m_editing.editingModule.extenders.views.rowsView._rowDblClick; var validateClick = function(e) { var $targetElement = (0, _renderer.default)(e.event.target); var originalClickHandler = "dxdblclick" === e.event.type ? originalRowDblClick : originalRowClick; if ($targetElement.closest(".".concat("dx-select-checkbox")).length) { return false } return !needToCallOriginalClickHandler.call(this, e, originalClickHandler) }; function needToCallOriginalClickHandler(e, originalClickHandler) { var $targetElement = (0, _renderer.default)(e.event.target); if (!$targetElement.closest(".".concat("dx-treelist-icon-container")).length) { originalClickHandler.call(this, e); return true } return false } var RowsViewExtender = (0, _extend.extend)({}, _m_editing.editingModule.extenders.views.rowsView, { _renderCellCommandContent: function($container, options) { var editingController = this._editingController; var isEditRow = options.row && editingController.isEditRow(options.row.rowIndex); var isEditing = options.isEditing || isEditRow; if (!isEditing) { return this.callBase.apply(this, arguments) } return false }, _rowClick: function(e) { if (validateClick.call(this, e)) { this.callBase.apply(this, arguments) } }, _rowDblClick: function(e) { if (validateClick.call(this, e)) { this.callBase.apply(this, arguments) } } }); _m_core.default.registerModule("editing", { defaultOptions: function() { return (0, _extend.extend)(true, _m_editing.editingModule.defaultOptions(), { editing: { texts: { addRowToNode: _message.default.format("dxTreeList-editingAddRowToNode") } } }) }, controllers: { editing: EditingController }, extenders: { controllers: (0, _extend.extend)(true, {}, _m_editing.editingModule.extenders.controllers, { data: { changeRowExpand: function() { this._editingController.refresh(); return this.callBase.apply(this, arguments) } } }), views: { rowsView: RowsViewExtender, headerPanel: _m_editing.editingModule.extenders.views.headerPanel } } }) }, 79873: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/m_columns_controller.js ***! \************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.ColumnsController = void 0; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _m_columns_controller = __webpack_require__( /*! ../../grids/grid_core/columns_controller/m_columns_controller */ 10279); var _m_core = (obj = __webpack_require__( /*! ./m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; var ColumnsController = _m_columns_controller.columnsControllerModule.controllers.columns.inherit({ _getFirstItems: function(dataSourceAdapter) { return this.callBase(dataSourceAdapter).map((function(node) { return node.data })) }, getFirstDataColumnIndex: function() { var visibleColumns = this.getVisibleColumns(); var visibleColumnsLength = visibleColumns.length; var firstDataColumnIndex = 0; for (var i = 0; i <= visibleColumnsLength - 1; i++) { if (!(0, _type.isDefined)(visibleColumns[i].command)) { firstDataColumnIndex = visibleColumns[i].index; break } } return firstDataColumnIndex } }); exports.ColumnsController = ColumnsController; _m_core.default.registerModule("columns", { defaultOptions: _m_columns_controller.columnsControllerModule.defaultOptions, controllers: { columns: ColumnsController } }) }, 12500: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/m_core.js ***! \**********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _m_modules = (obj = __webpack_require__( /*! ../../grids/grid_core/m_modules */ 15943), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = (0, _extend.extend)({}, _m_modules.default, { modules: [], foreachNodes: function(nodes, callBack, ignoreHasChildren) { for (var i = 0; i < nodes.length; i++) { if (false !== callBack(nodes[i]) && (ignoreHasChildren || nodes[i].hasChildren) && nodes[i].children.length) { this.foreachNodes(nodes[i].children, callBack, ignoreHasChildren) } } } }); exports.default = _default }, 50226: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/m_focus.js ***! \***********************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _deferred = __webpack_require__( /*! ../../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _m_focus = __webpack_require__( /*! ../../grids/grid_core/focus/m_focus */ 5325); var _m_core = (obj = __webpack_require__( /*! ./m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("focus", (0, _extend.extend)(true, {}, _m_focus.focusModule, { extenders: { controllers: { data: { changeRowExpand: function(key) { if (this.option("focusedRowEnabled") && this.isRowExpanded(key)) { if (this._isFocusedRowInside(key)) { this.option("focusedRowKey", key) } } return this.callBase.apply(this, arguments) }, _isFocusedRowInside: function(parentKey) { var focusedRowKey = this.option("focusedRowKey"); var rowIndex = this.getRowIndexByKey(focusedRowKey); var focusedRow = rowIndex >= 0 && this.getVisibleRows()[rowIndex]; var parent = focusedRow && focusedRow.node.parent; while (parent) { if (parent.key === parentKey) { return true } parent = parent.parent } return false }, getParentKey: function(key) { var dataSource = this._dataSource; var node = this.getNodeByKey(key); var d = new _deferred.Deferred; if (node) { d.resolve(node.parent ? node.parent.key : void 0) } else { dataSource.load({ filter: [dataSource.getKeyExpr(), "=", key] }).done((function(items) { var parentData = items[0]; if (parentData) { d.resolve(dataSource.parentKeyOf(parentData)) } else { d.reject() } })).fail(d.reject) } return d.promise() }, expandAscendants: function(key) { var that = this; var dataSource = that._dataSource; var d = new _deferred.Deferred; that.getParentKey(key).done((function(parentKey) { if (dataSource && void 0 !== parentKey && parentKey !== that.option("rootValue")) { dataSource._isNodesInitializing = true; that.expandRow(parentKey); dataSource._isNodesInitializing = false; that.expandAscendants(parentKey).done(d.resolve).fail(d.reject) } else { d.resolve() } })).fail(d.reject); return d.promise() }, getPageIndexByKey: function(key) { var that = this; var dataSource = that._dataSource; var d = new _deferred.Deferred; that.expandAscendants(key).done((function() { dataSource.load({ parentIds: [] }).done((function(nodes) { var offset = function(items, callback) { var result = -1; items.forEach((function(node, index) { if (callback(node)) { result = index } })); return result }(nodes, (function(node) { return that.keyOf(node.data) === key })); var pageIndex = -1; if (offset >= 0) { pageIndex = Math.floor(offset / that.pageSize()) } d.resolve(pageIndex) })).fail(d.reject) })).fail(d.reject); return d.promise() } } } } })) }, 94907: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/m_grid_view.js ***! \***************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_grid_view = __webpack_require__( /*! ../../grids/grid_core/views/m_grid_view */ 28016); var _m_core = (obj = __webpack_require__( /*! ./m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; var GridView = _m_grid_view.gridViewModule.views.gridView.inherit({ _getWidgetAriaLabel: function() { return "dxTreeList-ariaTreeList" }, _getTableRoleName: function() { return "treegrid" } }); _m_core.default.registerModule("gridView", { defaultOptions: _m_grid_view.gridViewModule.defaultOptions, controllers: _m_grid_view.gridViewModule.controllers, views: { gridView: GridView }, extenders: { controllers: { resizing: { _toggleBestFitMode: function(isBestFit) { this.callBase(isBestFit); var $rowsTable = this._rowsView.getTableElement(); $rowsTable.find(".dx-treelist-cell-expandable").toggleClass(this.addWidgetPrefix("best-fit"), isBestFit) } } } } }) }, 38886: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/m_keyboard_navigation.js ***! \*************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _m_keyboard_navigation = __webpack_require__( /*! ../../grids/grid_core/keyboard_navigation/m_keyboard_navigation */ 31822); var _m_core = (obj = __webpack_require__( /*! ./m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("keyboardNavigation", (0, _extend.extend)(true, {}, _m_keyboard_navigation.keyboardNavigationModule, { extenders: { controllers: { keyboardNavigation: { _leftRightKeysHandler: function(eventArgs, isEditing) { var rowIndex = this.getVisibleRowIndex(); var dataController = this._dataController; if (eventArgs.ctrl) { var directionCode = this._getDirectionCodeByKey(eventArgs.keyName); var key = dataController.getKeyByRowIndex(rowIndex); if ("nextInRow" === directionCode) { dataController.expandRow(key) } else { dataController.collapseRow(key) } } else { return this.callBase.apply(this, arguments) } } } } } })) }, 31580: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/m_master_detail.js ***! \*******************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _m_master_detail = __webpack_require__( /*! ../../grids/grid_core/master_detail/m_master_detail */ 82802); var _m_core = (obj = __webpack_require__( /*! ./m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("masterDetail", (0, _extend.extend)(true, {}, _m_master_detail.masterDetailModule, { extenders: { controllers: { data: { isRowExpanded: function() { return this.callBase.apply(this, arguments) }, _processItems: function() { return this.callBase.apply(this, arguments) }, _processDataItem: function() { return this.callBase.apply(this, arguments) } } } } })) }, 13477: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/m_state_storing.js ***! \*******************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _m_state_storing = __webpack_require__( /*! ../../grids/grid_core/state_storing/m_state_storing */ 12440); var _m_core = (obj = __webpack_require__( /*! ./m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; var origApplyState = _m_state_storing.stateStoringModule.extenders.controllers.stateStoring.applyState; _m_core.default.registerModule("stateStoring", (0, _extend.extend)(true, {}, _m_state_storing.stateStoringModule, { extenders: { controllers: { stateStoring: { applyState: function(state) { origApplyState.apply(this, arguments); this.option("expandedRowKeys", state.expandedRowKeys ? state.expandedRowKeys.slice() : []) } }, data: { getUserState: function() { var state = this.callBase.apply(this, arguments); if (!this.option("autoExpandAll")) { state.expandedRowKeys = this.option("expandedRowKeys") } return state } } } } })) }, 99751: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/m_validating.js ***! \****************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _m_validating = __webpack_require__( /*! ../../grids/grid_core/validating/m_validating */ 39830); var _m_core = (obj = __webpack_require__( /*! ./m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; var EditingControllerExtender = (0, _extend.extend)({}, _m_validating.validatingModule.extenders.controllers.editing); delete EditingControllerExtender.processItems; delete EditingControllerExtender.processDataItem; _m_core.default.registerModule("validating", { defaultOptions: _m_validating.validatingModule.defaultOptions, controllers: _m_validating.validatingModule.controllers, extenders: { controllers: { editing: EditingControllerExtender, editorFactory: _m_validating.validatingModule.extenders.controllers.editorFactory }, views: _m_validating.validatingModule.extenders.views } }) }, 26058: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/m_virtual_scrolling.js ***! \***********************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _m_virtual_scrolling = __webpack_require__( /*! ../../grids/grid_core/virtual_scrolling/m_virtual_scrolling */ 92018); var _m_data_source_adapter = _interopRequireDefault(__webpack_require__( /*! ./data_source_adapter/m_data_source_adapter */ 22821)); var _m_core = _interopRequireDefault(__webpack_require__( /*! ./m_core */ 12500)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var oldDefaultOptions = _m_virtual_scrolling.virtualScrollingModule.defaultOptions; var originalDataControllerExtender = _m_virtual_scrolling.virtualScrollingModule.extenders.controllers.data; var originalDataSourceAdapterExtender = _m_virtual_scrolling.virtualScrollingModule.extenders.dataSourceAdapter; _m_virtual_scrolling.virtualScrollingModule.extenders.controllers.data = (0, _extend.extend)({}, originalDataControllerExtender, { _loadOnOptionChange: function() { var virtualScrollController = this._dataSource && this._dataSource._virtualScrollController; virtualScrollController && virtualScrollController.reset(); this.callBase() } }); _m_virtual_scrolling.virtualScrollingModule.extenders.dataSourceAdapter = (0, _extend.extend)({}, originalDataSourceAdapterExtender, { changeRowExpand: function() { var _this = this; return this.callBase.apply(this, arguments).done((function() { var viewportItemIndex = _this.getViewportItemIndex(); viewportItemIndex >= 0 && _this.setViewportItemIndex(viewportItemIndex) })) } }); _m_core.default.registerModule("virtualScrolling", (0, _extend.extend)({}, _m_virtual_scrolling.virtualScrollingModule, { defaultOptions: function() { return (0, _extend.extend)(true, oldDefaultOptions(), { scrolling: { mode: "virtual" } }) } })); _m_data_source_adapter.default.extend(_m_virtual_scrolling.virtualScrollingModule.extenders.dataSourceAdapter) }, 1977: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/m_widget.js ***! \************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _m_widget_base = (obj = __webpack_require__( /*! ./m_widget_base */ 14126), obj && obj.__esModule ? obj : { default: obj }); var obj; __webpack_require__( /*! ./m_state_storing */ 13477); __webpack_require__( /*! ./module_not_extended/column_chooser */ 92026); __webpack_require__( /*! ./m_master_detail */ 31580); __webpack_require__( /*! ./editing/m_editing */ 17629); __webpack_require__( /*! ./module_not_extended/editing_row_based */ 64757); __webpack_require__( /*! ./module_not_extended/editing_form_based */ 45998); __webpack_require__( /*! ./module_not_extended/editing_cell_based */ 7446); __webpack_require__( /*! ./m_validating */ 99751); __webpack_require__( /*! ./m_virtual_scrolling */ 26058); __webpack_require__( /*! ./module_not_extended/filter_row */ 98439); __webpack_require__( /*! ./module_not_extended/header_filter */ 26763); __webpack_require__( /*! ./module_not_extended/filter_sync */ 1440); __webpack_require__( /*! ./module_not_extended/filter_builder */ 49248); __webpack_require__( /*! ./module_not_extended/filter_panel */ 86737); __webpack_require__( /*! ./module_not_extended/pager */ 84214); __webpack_require__( /*! ./module_not_extended/columns_resizing_reordering */ 43468); __webpack_require__( /*! ./module_not_extended/column_fixing */ 50776); __webpack_require__( /*! ./module_not_extended/adaptivity */ 43301); __webpack_require__( /*! ./selection/m_selection */ 91445); __webpack_require__( /*! ./module_not_extended/search */ 1272); __webpack_require__( /*! ./m_keyboard_navigation */ 38886); __webpack_require__( /*! ./module_not_extended/virtual_columns */ 75188); __webpack_require__( /*! ./m_focus */ 50226); __webpack_require__( /*! ./module_not_extended/row_dragging */ 31937); var _default = _m_widget_base.default; exports.default = _default }, 14126: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/m_widget_base.js ***! \*****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; __webpack_require__( /*! ./module_not_extended/column_headers */ 25052); __webpack_require__( /*! ./m_columns_controller */ 79873); __webpack_require__( /*! ./data_controller/m_data_controller */ 26686); __webpack_require__( /*! ./module_not_extended/sorting */ 7138); __webpack_require__( /*! ./rows/m_rows */ 31397); __webpack_require__( /*! ./module_not_extended/context_menu */ 87454); __webpack_require__( /*! ./module_not_extended/error_handling */ 84973); __webpack_require__( /*! ./m_grid_view */ 94907); __webpack_require__( /*! ./module_not_extended/header_panel */ 37980); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _themes = __webpack_require__( /*! ../../../ui/themes */ 75811); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../ui/widget/ui.widget */ 14390)); var _m_utils = _interopRequireDefault(__webpack_require__( /*! ../../grids/grid_core/m_utils */ 60082)); var _m_core = _interopRequireDefault(__webpack_require__( /*! ./m_core */ 12500)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var callModuleItemsMethod = _m_core.default.callModuleItemsMethod; _m_core.default.registerModulesOrder(["stateStoring", "columns", "selection", "editorFactory", "columnChooser", "editingRowBased", "editingFormBased", "editingCellBased", "editing", "grouping", "masterDetail", "validating", "adaptivity", "data", "virtualScrolling", "columnHeaders", "filterRow", "headerPanel", "headerFilter", "sorting", "search", "rows", "pager", "columnsResizingReordering", "contextMenu", "keyboardNavigation", "errorHandling", "summary", "columnFixing", "export", "gridView"]); var TreeList = _ui.default.inherit({ _activeStateUnit: ".dx-row", _getDefaultOptions: function() { var result = this.callBase(); (0, _iterator.each)(_m_core.default.modules, (function() { if ((0, _type.isFunction)(this.defaultOptions)) { (0, _extend.extend)(true, result, this.defaultOptions()) } })); return result }, _setDeprecatedOptions: function() { this.callBase(); (0, _extend.extend)(this._deprecatedOptions, { "columnChooser.allowSearch": { since: "23.1", message: 'Use the "columnChooser.search.enabled" option instead' }, "columnChooser.searchTimeout": { since: "23.1", message: 'Use the "columnChooser.search.timeout" option instead' } }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return (0, _themes.isMaterial)() }, options: { showRowLines: true, showColumnLines: false, headerFilter: { height: 315 }, editing: { useIcons: true } } }]) }, _init: function() { this.callBase(); if (!this.option("_disableDeprecationWarnings")) { _m_utils.default.logHeaderFilterDeprecatedWarningIfNeed(this) } _m_core.default.processModules(this, _m_core.default); callModuleItemsMethod(this, "init") }, _clean: _common.noop, _optionChanged: function(args) { callModuleItemsMethod(this, "optionChanged", [args]); if (!args.handled) { this.callBase(args) } }, _dimensionChanged: function() { this.updateDimensions(true) }, _visibilityChanged: function(visible) { if (visible) { this.updateDimensions() } }, _initMarkup: function() { this.callBase.apply(this, arguments); this.$element().addClass("dx-treelist"); this.getView("gridView").render(this.$element()) }, _renderContentImpl: function() { this.getView("gridView").update() }, _renderContent: function() { var that = this; (0, _common.deferRender)((function() { that._renderContentImpl() })) }, _dispose: function() { this.callBase(); callModuleItemsMethod(this, "dispose") }, isReady: function() { return this.getController("data").isReady() }, beginUpdate: function() { this.callBase(); callModuleItemsMethod(this, "beginUpdate") }, endUpdate: function() { callModuleItemsMethod(this, "endUpdate"); this.callBase() }, getController: function(name) { return this._controllers[name] }, getView: function(name) { return this._views[name] }, focus: function(element) { this.callBase(); if ((0, _type.isDefined)(element)) { this.getController("keyboardNavigation").focus(element) } } }); TreeList.registerModule = _m_core.default.registerModule.bind(_m_core.default); (0, _component_registrator.default)("dxTreeList", TreeList); var _default = TreeList; exports.default = _default }, 43301: /*!**********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/adaptivity.js ***! \**********************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_adaptivity = __webpack_require__( /*! ../../../grids/grid_core/adaptivity/m_adaptivity */ 18107); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("adaptivity", _m_adaptivity.adaptivityModule) }, 92026: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/column_chooser.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_column_chooser = __webpack_require__( /*! ../../../grids/grid_core/column_chooser/m_column_chooser */ 71184); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("columnChooser", _m_column_chooser.columnChooserModule) }, 50776: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/column_fixing.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_column_fixing = __webpack_require__( /*! ../../../grids/grid_core/column_fixing/m_column_fixing */ 53424); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("columnFixing", _m_column_fixing.columnFixingModule) }, 25052: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/column_headers.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_column_headers = __webpack_require__( /*! ../../../grids/grid_core/column_headers/m_column_headers */ 14509); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("columnHeaders", _m_column_headers.columnHeadersModule) }, 43468: /*!***************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/columns_resizing_reordering.js ***! \***************************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_columns_resizing_reordering = __webpack_require__( /*! ../../../grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering */ 49505); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("columnsResizingReordering", _m_columns_resizing_reordering.columnsResizingReorderingModule) }, 87454: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/context_menu.js ***! \************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_context_menu = __webpack_require__( /*! ../../../grids/grid_core/context_menu/m_context_menu */ 69823); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("contextMenu", _m_context_menu.contextMenuModule) }, 7446: /*!******************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/editing_cell_based.js ***! \******************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_editing_cell_based = __webpack_require__( /*! ../../../grids/grid_core/editing/m_editing_cell_based */ 68802); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("editingCellBased", _m_editing_cell_based.editingCellBasedModule) }, 45998: /*!******************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/editing_form_based.js ***! \******************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_editing_form_based = __webpack_require__( /*! ../../../grids/grid_core/editing/m_editing_form_based */ 99211); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("editingFormBased", _m_editing_form_based.editingFormBasedModule) }, 64757: /*!*****************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/editing_row_based.js ***! \*****************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_editing_row_based = __webpack_require__( /*! ../../../grids/grid_core/editing/m_editing_row_based */ 55597); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("editingRowBased", _m_editing_row_based.editingRowBasedModule) }, 29900: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/editor_factory.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_editor_factory = __webpack_require__( /*! ../../../grids/grid_core/editor_factory/m_editor_factory */ 80070); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("editorFactory", _m_editor_factory.editorFactoryModule) }, 84973: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/error_handling.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_error_handling = __webpack_require__( /*! ../../../grids/grid_core/error_handling/m_error_handling */ 31152); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("errorHandling", _m_error_handling.errorHandlingModule) }, 49248: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/filter_builder.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_filter_builder = __webpack_require__( /*! ../../../grids/grid_core/filter/m_filter_builder */ 62690); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("filterBuilder", _m_filter_builder.filterBuilderModule) }, 86737: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/filter_panel.js ***! \************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_filter_panel = __webpack_require__( /*! ../../../grids/grid_core/filter/m_filter_panel */ 4062); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("filterPanel", _m_filter_panel.filterPanelModule) }, 98439: /*!**********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/filter_row.js ***! \**********************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_filter_row = __webpack_require__( /*! ../../../grids/grid_core/filter/m_filter_row */ 12302); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("filterRow", _m_filter_row.filterRowModule) }, 1440: /*!***********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/filter_sync.js ***! \***********************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_filter_sync = __webpack_require__( /*! ../../../grids/grid_core/filter/m_filter_sync */ 14407); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("filterSync", _m_filter_sync.filterSyncModule) }, 26763: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/header_filter.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_header_filter = __webpack_require__( /*! ../../../grids/grid_core/header_filter/m_header_filter */ 68796); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("headerFilter", _m_header_filter.headerFilterModule) }, 37980: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/header_panel.js ***! \************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_header_panel = __webpack_require__( /*! ../../../grids/grid_core/header_panel/m_header_panel */ 92468); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("headerPanel", _m_header_panel.headerPanelModule) }, 84214: /*!*****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/pager.js ***! \*****************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_pager = __webpack_require__( /*! ../../../grids/grid_core/pager/m_pager */ 3990); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("pager", _m_pager.pagerModule) }, 31937: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/row_dragging.js ***! \************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_row_dragging = __webpack_require__( /*! ../../../grids/grid_core/row_dragging/m_row_dragging */ 88351); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("rowDragging", _m_row_dragging.rowDraggingModule) }, 1272: /*!******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/search.js ***! \******************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_search = __webpack_require__( /*! ../../../grids/grid_core/search/m_search */ 92021); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("search", _m_search.searchModule) }, 7138: /*!*******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/sorting.js ***! \*******************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_sorting = __webpack_require__( /*! ../../../grids/grid_core/sorting/m_sorting */ 11590); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("sorting", _m_sorting.sortingModule) }, 75188: /*!***************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/module_not_extended/virtual_columns.js ***! \***************************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _m_virtual_columns = __webpack_require__( /*! ../../../grids/grid_core/virtual_columns/m_virtual_columns */ 87482); var _m_core = (obj = __webpack_require__( /*! ../m_core */ 12500), obj && obj.__esModule ? obj : { default: obj }); var obj; _m_core.default.registerModule("virtualColumns", _m_virtual_columns.virtualColumnsModule) }, 31397: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/rows/m_rows.js ***! \***************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.RowsView = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _m_rows_view = __webpack_require__( /*! ../../../grids/grid_core/views/m_rows_view */ 35095); var _m_core = _interopRequireDefault(__webpack_require__( /*! ../m_core */ 12500)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var RowsView = _m_rows_view.rowsModule.views.rowsView.inherit((createIcon = function(hasIcon, isExpanded) { var $iconElement = (0, _renderer.default)("
").addClass("dx-treelist-empty-space"); if (hasIcon) { $iconElement.toggleClass("dx-treelist-expanded", isExpanded).toggleClass("dx-treelist-collapsed", !isExpanded).append((0, _renderer.default)("")) } return $iconElement }, { _renderIconContainer: function($container, options) { var _this = this; var $iconContainer = (0, _renderer.default)("
").addClass("dx-treelist-icon-container").appendTo($container); options.watch && options.watch((function() { return [options.row.level, options.row.isExpanded, options.row.node.hasChildren] }), (function() { $iconContainer.empty(); _this._renderIcons($iconContainer, options) })); $container.addClass("dx-treelist-cell-expandable"); return this._renderIcons($iconContainer, options) }, _renderIcons: function($iconContainer, options) { var row = options.row; var level = row.level; for (var i = 0; i <= level; i++) { $iconContainer.append(createIcon(i === level && row.node.hasChildren, row.isExpanded)) } return $iconContainer }, _renderCellCommandContent: function(container, model) { this._renderIconContainer(container, model); return true }, _processTemplate: function(template, options) { var _a; var that = this; var resultTemplate; var renderingTemplate = this.callBase(template); var firstDataColumnIndex = that._columnsController.getFirstDataColumnIndex(); if (renderingTemplate && (null === (_a = options.column) || void 0 === _a ? void 0 : _a.index) === firstDataColumnIndex) { resultTemplate = { render: function(options) { var $container = options.container; if (that._renderCellCommandContent($container, options.model)) { options.container = function($container) { return (0, _renderer.default)("
").addClass("dx-treelist-text-content").appendTo($container) }($container) } renderingTemplate.render(options) } } } else { resultTemplate = renderingTemplate } return resultTemplate }, _updateCell: function($cell, options) { $cell = $cell.hasClass("dx-treelist-text-content") ? $cell.parent() : $cell; this.callBase($cell, options) }, _rowClick: function(e) { var dataController = this._dataController; var $targetElement = (0, _renderer.default)(e.event.target); var isExpandIcon = this.isExpandIcon($targetElement); var item = dataController && dataController.items()[e.rowIndex]; if (isExpandIcon && item) { dataController.changeRowExpand(item.key) } this.callBase(e) }, _createRow: function(row) { var node = row && row.node; var $rowElement = this.callBase.apply(this, arguments); if (node) { this.setAria("level", row.level + 1, $rowElement); if (node.hasChildren) { this.setAria("expanded", row.isExpanded, $rowElement) } } return $rowElement }, isExpandIcon: function($targetElement) { return !!$targetElement.closest(".".concat("dx-treelist-expanded", ", .").concat("dx-treelist-collapsed")).length } })); var createIcon; exports.RowsView = RowsView; _m_core.default.registerModule("rows", { defaultOptions: _m_rows_view.rowsModule.defaultOptions, views: { rowsView: RowsView } }) }, 91445: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/grids/tree_list/selection/m_selection.js ***! \*************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _m_selection = __webpack_require__( /*! ../../../grids/grid_core/selection/m_selection */ 17969); var _m_core = _interopRequireDefault(__webpack_require__( /*! ../m_core */ 12500)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var originalRowClick = _m_selection.selectionModule.extenders.views.rowsView._rowClick; var originalHandleDataChanged = _m_selection.selectionModule.extenders.controllers.data._handleDataChanged; var nodeExists = function(array, currentKey) { return !!array.filter((function(key) { return key === currentKey })).length }; _m_core.default.registerModule("selection", (0, _extend.extend)(true, {}, _m_selection.selectionModule, { defaultOptions: function() { return (0, _extend.extend)(true, _m_selection.selectionModule.defaultOptions(), { selection: { showCheckBoxesMode: "always", recursive: false } }) }, extenders: { controllers: { data: { _handleDataChanged: function(e) { var selectionController = this.getController("selection"); var isRecursiveSelection = selectionController.isRecursiveSelection(); if (isRecursiveSelection && (!e || "updateSelectionState" !== e.changeType)) { selectionController.updateSelectionState({ selectedItemKeys: this.option("selectedRowKeys") }) } originalHandleDataChanged.apply(this, arguments) }, loadDescendants: function() { var that = this; var d = that.callBase.apply(that, arguments); var selectionController = that.getController("selection"); var isRecursiveSelection = selectionController.isRecursiveSelection(); if (isRecursiveSelection) { d.done((function() { selectionController.updateSelectionState({ selectedItemKeys: that.option("selectedRowKeys") }) })) } return d } }, selection: { init: function() { this.callBase.apply(this, arguments); this._selectionStateByKey = {} }, _getSelectionConfig: function() { var _arguments = arguments, _this = this; var config = this.callBase.apply(this, arguments); var plainItems = config.plainItems; config.plainItems = function(cached) { var result; if (cached) { result = _this._dataController.getCachedStoreData() } result || (result = plainItems.apply(_this, _arguments).map((function(item) { return item.data }))); return result || [] }; config.isItemSelected = function(item) { var key = _this._dataController.keyOf(item); return _this.isRowSelected(key) }; config.isSelectableItem = function(item) { return !!item }; config.getItemData = function(item) { return item }; config.allowLoadByRange = function() { return false }; return config }, renderSelectCheckBoxContainer: function($container, model) { var rowsView = this.component.getView("rowsView"); $container.addClass("dx-cell-focus-disabled"); var $checkbox = rowsView._renderSelectCheckBox($container, { value: model.row.isSelected, row: model.row, column: model.column }); rowsView._attachCheckBoxClickEvent($checkbox) }, _updateSelectColumn: _common.noop, _getSelectAllNodeKeys: function() { var component = this.component; var root = component.getRootNode(); var cache = {}; var keys = []; var isRecursiveSelection = this.isRecursiveSelection(); root && _m_core.default.foreachNodes(root.children, (function(node) { if (void 0 !== node.key && (node.visible || isRecursiveSelection)) { keys.push(node.key) } if (!node.visible) { return true } return isRecursiveSelection ? false : component.isRowExpanded(node.key, cache) })); return keys }, isSelectAll: function() { var selectedRowKeys = this.option("selectedRowKeys") || []; if (0 === selectedRowKeys.length) { return false } var component = this.component; var visibleKeys = this._getSelectAllNodeKeys(); var isRecursiveSelection = this.isRecursiveSelection(); var hasIndeterminateState = false; var selectedVisibleKeys = visibleKeys.filter((function(key) { var isRowSelected = component.isRowSelected(key, isRecursiveSelection); if (void 0 === isRowSelected) { hasIndeterminateState = true } return isRowSelected })); if (!selectedVisibleKeys.length) { return hasIndeterminateState ? void 0 : false } if (selectedVisibleKeys.length === visibleKeys.length) { return true } return }, selectAll: function() { var _this2 = this; var visibleKeys = this._getSelectAllNodeKeys().filter((function(key) { return !_this2.isRowSelected(key) })); this.focusedItemIndex(-1); return this.selectRows(visibleKeys, true) }, deselectAll: function() { var visibleKeys = this._getSelectAllNodeKeys(); this.focusedItemIndex(-1); return this.deselectRows(visibleKeys) }, selectedItemKeys: function(value, preserve, isDeselect, isSelectAll) { var that = this; var selectedRowKeys = that.option("selectedRowKeys"); var isRecursiveSelection = this.isRecursiveSelection(); var normalizedArgs = isRecursiveSelection && that._normalizeSelectionArgs({ keys: (0, _type.isDefined)(value) ? value : [] }, preserve, !isDeselect); if (normalizedArgs && !(0, _common.equalByValue)(normalizedArgs.selectedRowKeys, selectedRowKeys)) { that._isSelectionNormalizing = true; return this.callBase(normalizedArgs.selectedRowKeys, false, false, false).always((function() { that._isSelectionNormalizing = false })).done((function(items) { normalizedArgs.selectedRowsData = items; that._fireSelectionChanged(normalizedArgs) })) } return this.callBase(value, preserve, isDeselect, isSelectAll) }, changeItemSelection: function(itemIndex, keyboardKeys) { var _this3 = this; var isRecursiveSelection = this.isRecursiveSelection(); if (isRecursiveSelection && !keyboardKeys.shift) { var key = this._dataController.getKeyByRowIndex(itemIndex); return this.selectedItemKeys(key, true, this.isRowSelected(key)).done((function() { _this3.isRowSelected(key) && _this3.callBase(itemIndex, keyboardKeys, true) })) } return this.callBase.apply(this, arguments) }, _updateParentSelectionState: function(node, isSelected) { var that = this; var state = isSelected; var parentNode = node.parent; if (parentNode) { if (parentNode.children.length > 1) { if (false === isSelected) { var hasSelectedState = parentNode.children.some((function(childNode) { return that._selectionStateByKey[childNode.key] })); state = hasSelectedState ? void 0 : false } else if (true === isSelected) { var hasNonSelectedState = parentNode.children.some((function(childNode) { return !that._selectionStateByKey[childNode.key] })); state = hasNonSelectedState ? void 0 : true } } this._selectionStateByKey[parentNode.key] = state; if (parentNode.parent && parentNode.parent.level >= 0) { this._updateParentSelectionState(parentNode, state) } } }, _updateChildrenSelectionState: function(node, isSelected) { var that = this; var children = node.children; children && children.forEach((function(childNode) { that._selectionStateByKey[childNode.key] = isSelected; if (childNode.children.length > 0) { that._updateChildrenSelectionState(childNode, isSelected) } })) }, _updateSelectionStateCore: function(keys, isSelected) { var dataController = this._dataController; for (var i = 0; i < keys.length; i++) { this._selectionStateByKey[keys[i]] = isSelected; var node = dataController.getNodeByKey(keys[i]); if (node) { this._updateParentSelectionState(node, isSelected); this._updateChildrenSelectionState(node, isSelected) } } }, _getSelectedParentKeys: function(key, selectedItemKeys, useCash) { var selectedParentNode; var node = this._dataController.getNodeByKey(key); var parentNode = node && node.parent; var result = []; while (parentNode && parentNode.level >= 0) { result.unshift(parentNode.key); var isSelected = useCash ? !nodeExists(selectedItemKeys, parentNode.key) && this.isRowSelected(parentNode.key) : selectedItemKeys.indexOf(parentNode.key) >= 0; if (isSelected) { selectedParentNode = parentNode; result = this._getSelectedParentKeys(selectedParentNode.key, selectedItemKeys, useCash).concat(result); break } else if (useCash) { break } parentNode = parentNode.parent } return selectedParentNode && result || [] }, _getSelectedChildKeys: function(key, keysToIgnore) { var _this4 = this; var childKeys = []; var node = this._dataController.getNodeByKey(key); node && _m_core.default.foreachNodes(node.children, (function(childNode) { var ignoreKeyIndex = keysToIgnore.indexOf(childNode.key); if (ignoreKeyIndex < 0) { childKeys.push(childNode.key) } return ignoreKeyIndex > 0 || ignoreKeyIndex < 0 && void 0 === _this4._selectionStateByKey[childNode.key] })); return childKeys }, _normalizeParentKeys: function(key, args) { var keysToIgnore = [key]; var parentNodeKeys = this._getSelectedParentKeys(key, args.selectedRowKeys); if (parentNodeKeys.length) { keysToIgnore = keysToIgnore.concat(parentNodeKeys); keysToIgnore.forEach((function(key) { var index = args.selectedRowKeys.indexOf(key); if (index >= 0) { args.selectedRowKeys.splice(index, 1) } })); var childKeys = this._getSelectedChildKeys(parentNodeKeys[0], keysToIgnore); args.selectedRowKeys = args.selectedRowKeys.concat(childKeys) } }, _normalizeChildrenKeys: function(key, args) { var _this5 = this; var node = this._dataController.getNodeByKey(key); node && node.children.forEach((function(childNode) { var index = args.selectedRowKeys.indexOf(childNode.key); if (index >= 0) { args.selectedRowKeys.splice(index, 1) } _this5._normalizeChildrenKeys(childNode.key, args) })) }, _normalizeSelectedRowKeysCore: function(keys, args, preserve, isSelect) { var that = this; keys.forEach((function(key) { if (preserve && that.isRowSelected(key) === isSelect) { return } that._normalizeChildrenKeys(key, args); var index = args.selectedRowKeys.indexOf(key); if (isSelect) { if (index < 0) { args.selectedRowKeys.push(key) } args.currentSelectedRowKeys.push(key) } else { if (index >= 0) { args.selectedRowKeys.splice(index, 1) } args.currentDeselectedRowKeys.push(key); that._normalizeParentKeys(key, args) } })) }, _normalizeSelectionArgs: function(args, preserve, isSelect) { var result; var keys = Array.isArray(args.keys) ? args.keys : [args.keys]; var selectedRowKeys = this.option("selectedRowKeys") || []; if (keys.length) { result = { currentSelectedRowKeys: [], currentDeselectedRowKeys: [], selectedRowKeys: preserve ? selectedRowKeys.slice(0) : [] }; this._normalizeSelectedRowKeysCore(keys, result, preserve, isSelect) } return result }, _updateSelectedItems: function(args) { this.updateSelectionState(args); this.callBase(args) }, _fireSelectionChanged: function() { if (!this._isSelectionNormalizing) { this.callBase.apply(this, arguments) } }, _isModeLeavesOnly: function(mode) { return "leavesOnly" === mode }, _removeDuplicatedKeys: function(keys) { var result = []; var processedKeys = {}; keys.forEach((function(key) { if (!processedKeys[key]) { processedKeys[key] = true; result.push(key) } })); return result }, _getAllChildKeys: function(key) { var childKeys = []; var node = this._dataController.getNodeByKey(key); node && _m_core.default.foreachNodes(node.children, (function(childNode) { childKeys.push(childNode.key) }), true); return childKeys }, _getAllSelectedRowKeys: function(keys) { var _this6 = this; var result = []; keys.forEach((function(key) { var parentKeys = _this6._getSelectedParentKeys(key, [], true); var childKeys = _this6._getAllChildKeys(key); result.push.apply(result, parentKeys.concat([key], childKeys)) })); result = this._removeDuplicatedKeys(result); return result }, _getParentSelectedRowKeys: function(keys) { var that = this; var result = []; keys.forEach((function(key) { var parentKeys = that._getSelectedParentKeys(key, keys); !parentKeys.length && result.push(key) })); return result }, _getLeafSelectedRowKeys: function(keys) { var result = []; var dataController = this._dataController; keys.forEach((function(key) { var node = dataController.getNodeByKey(key); node && !node.hasChildren && result.push(key) })); return result }, isRecursiveSelection: function() { var selectionMode = this.option("selection.mode"); var isRecursive = this.option("selection.recursive"); return "multiple" === selectionMode && isRecursive }, updateSelectionState: function(options) { var removedItemKeys = options.removedItemKeys || []; var selectedItemKeys = options.selectedItemKeys || []; if (this.isRecursiveSelection()) { this._updateSelectionStateCore(removedItemKeys, false); this._updateSelectionStateCore(selectedItemKeys, true) } }, isRowSelected: function(key, isRecursiveSelection) { var result = this.callBase.apply(this, arguments); isRecursiveSelection = null !== isRecursiveSelection && void 0 !== isRecursiveSelection ? isRecursiveSelection : this.isRecursiveSelection(); if (!result && isRecursiveSelection) { if (key in this._selectionStateByKey) { return this._selectionStateByKey[key] } return false } return result }, getSelectedRowKeys: function(mode) { var that = this; if (!that._dataController) { return [] } var selectedRowKeys = that.callBase.apply(that, arguments); if (mode) { if (this.isRecursiveSelection()) { selectedRowKeys = this._getAllSelectedRowKeys(selectedRowKeys) } if ("all" !== mode) { if ("excludeRecursive" === mode) { selectedRowKeys = that._getParentSelectedRowKeys(selectedRowKeys) } else if (that._isModeLeavesOnly(mode)) { selectedRowKeys = that._getLeafSelectedRowKeys(selectedRowKeys) } } } return selectedRowKeys }, getSelectedRowsData: function(mode) { var dataController = this._dataController; var selectedKeys = this.getSelectedRowKeys(mode) || []; var selectedRowsData = []; selectedKeys.forEach((function(key) { var node = dataController.getNodeByKey(key); node && selectedRowsData.push(node.data) })); return selectedRowsData }, refresh: function() { this._selectionStateByKey = {}; return this.callBase.apply(this, arguments) } } }, views: { columnHeadersView: { _processTemplate: function(template, options) { var that = this; var resultTemplate; var renderingTemplate = this.callBase(template, options); var firstDataColumnIndex = that._columnsController.getFirstDataColumnIndex(); if (renderingTemplate && "header" === options.rowType && options.column.index === firstDataColumnIndex) { resultTemplate = { render: function(options) { if ("multiple" === that.option("selection.mode")) { that.renderSelectAll(options.container, options.model) } renderingTemplate.render(options) } } } else { resultTemplate = renderingTemplate } return resultTemplate }, renderSelectAll: function($cell, options) { $cell.addClass("dx-treelist-select-all"); this._renderSelectAllCheckBox($cell) }, _isSortableElement: function($target) { return this.callBase($target) && !$target.closest(".".concat("dx-select-checkbox")).length } }, rowsView: { _renderIcons: function($iconContainer, options) { this.callBase.apply(this, arguments); if (!options.row.isNewRow && "multiple" === this.option("selection.mode")) { this.getController("selection").renderSelectCheckBoxContainer($iconContainer, options) } return $iconContainer }, _rowClick: function(e) { var $targetElement = (0, _renderer.default)(e.event.target); if (this.isExpandIcon($targetElement)) { this.callBase.apply(this, arguments) } else { originalRowClick.apply(this, arguments) } } } } } })) }, 86988: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/m_draggable.js ***! \***********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _position = _interopRequireDefault(__webpack_require__( /*! ../animation/position */ 49387)); var _translator = __webpack_require__( /*! ../animation/translator */ 31648); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); var _dom_component = _interopRequireDefault(__webpack_require__( /*! ../core/dom_component */ 13046)); var _element = __webpack_require__( /*! ../core/element */ 6415); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _empty_template = __webpack_require__( /*! ../core/templates/empty_template */ 10688); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _inflector = __webpack_require__( /*! ../core/utils/inflector */ 78008); var _position2 = __webpack_require__( /*! ../core/utils/position */ 37518); var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _string = __webpack_require__( /*! ../core/utils/string */ 68752); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _view_port = __webpack_require__( /*! ../core/utils/view_port */ 77695); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _drag = __webpack_require__( /*! ../events/drag */ 23174); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../events/pointer */ 93786)); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); var _animator = _interopRequireDefault(__webpack_require__( /*! ../ui/scroll_view/animator */ 6866)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var window = (0, _window.getWindow)(); var DRAGGABLE = "dxDraggable"; var DRAGSTART_EVENT_NAME = (0, _index.addNamespace)(_drag.start, DRAGGABLE); var DRAG_EVENT_NAME = (0, _index.addNamespace)(_drag.move, DRAGGABLE); var DRAGEND_EVENT_NAME = (0, _index.addNamespace)(_drag.end, DRAGGABLE); var DRAG_ENTER_EVENT_NAME = (0, _index.addNamespace)(_drag.enter, DRAGGABLE); var DRAGEND_LEAVE_EVENT_NAME = (0, _index.addNamespace)(_drag.leave, DRAGGABLE); var POINTERDOWN_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.down, DRAGGABLE); var KEYDOWN_EVENT_NAME = (0, _index.addNamespace)("keydown", DRAGGABLE); var targetDraggable; var sourceDraggable; var getMousePosition = function(event) { return { x: event.pageX - (0, _renderer.default)(window).scrollLeft(), y: event.pageY - (0, _renderer.default)(window).scrollTop() } }; var ScrollHelper = function() { function ScrollHelper(orientation, component) { this._$scrollableAtPointer = null; this._preventScroll = true; this._component = component; if ("vertical" === orientation) { this._scrollValue = "scrollTop"; this._overFlowAttr = "overflowY"; this._sizeAttr = "height"; this._scrollSizeProp = "scrollHeight"; this._clientSizeProp = "clientHeight"; this._limitProps = { start: "top", end: "bottom" } } else { this._scrollValue = "scrollLeft"; this._overFlowAttr = "overflowX"; this._sizeAttr = "width"; this._scrollSizeProp = "scrollWidth"; this._clientSizeProp = "clientWidth"; this._limitProps = { start: "left", end: "right" } } } var _proto = ScrollHelper.prototype; _proto.updateScrollable = function(elements, mousePosition) { var _this = this; var isScrollableFound = false; elements.some((function(element) { var $element = (0, _renderer.default)(element); var isTargetOverOverlayWrapper = $element.hasClass("dx-overlay-wrapper"); var isTargetOverOverlayContent = $element.hasClass("dx-overlay-content"); if (isTargetOverOverlayWrapper || isTargetOverOverlayContent) { return true } isScrollableFound = _this._trySetScrollable(element, mousePosition); return isScrollableFound })); if (!isScrollableFound) { this._$scrollableAtPointer = null; this._scrollSpeed = 0 } }; _proto.isScrolling = function() { return !!this._scrollSpeed }; _proto.isScrollable = function($element) { return ("auto" === $element.css(this._overFlowAttr) || $element.hasClass("dx-scrollable-container")) && $element.prop(this._scrollSizeProp) > Math.ceil("width" === this._sizeAttr ? (0, _size.getWidth)($element) : (0, _size.getHeight)($element)) }; _proto._trySetScrollable = function(element, mousePosition) { var $element = (0, _renderer.default)(element); var distanceToBorders; var sensitivity = this._component.option("scrollSensitivity"); var isScrollable = this.isScrollable($element); if (isScrollable) { distanceToBorders = this._calculateDistanceToBorders($element, mousePosition); if (sensitivity > distanceToBorders[this._limitProps.start]) { if (!this._preventScroll) { this._scrollSpeed = -this._calculateScrollSpeed(distanceToBorders[this._limitProps.start]); this._$scrollableAtPointer = $element } } else if (sensitivity > distanceToBorders[this._limitProps.end]) { if (!this._preventScroll) { this._scrollSpeed = this._calculateScrollSpeed(distanceToBorders[this._limitProps.end]); this._$scrollableAtPointer = $element } } else { isScrollable = false; this._preventScroll = false } } return isScrollable }; _proto._calculateDistanceToBorders = function($area, mousePosition) { var area = $area.get(0); var areaBoundingRect; if (area) { areaBoundingRect = (0, _position2.getBoundingRect)(area); return { left: mousePosition.x - areaBoundingRect.left, top: mousePosition.y - areaBoundingRect.top, right: areaBoundingRect.right - mousePosition.x, bottom: areaBoundingRect.bottom - mousePosition.y } } return {} }; _proto._calculateScrollSpeed = function(distance) { var component = this._component; var sensitivity = component.option("scrollSensitivity"); var maxSpeed = component.option("scrollSpeed"); return Math.ceil(Math.pow((sensitivity - distance) / sensitivity, 2) * maxSpeed) }; _proto.scrollByStep = function() { if (this._$scrollableAtPointer && this._scrollSpeed) { if (this._$scrollableAtPointer.hasClass("dx-scrollable-container")) { var $scrollable = this._$scrollableAtPointer.closest(".dx-scrollable"); var scrollableInstance = $scrollable.data("dxScrollable") || $scrollable.data("dxScrollView"); if (scrollableInstance) { var nextScrollPosition = scrollableInstance.scrollOffset()[this._limitProps.start] + this._scrollSpeed; scrollableInstance.scrollTo(_defineProperty({}, this._limitProps.start, nextScrollPosition)) } } else { var _nextScrollPosition = this._$scrollableAtPointer[this._scrollValue]() + this._scrollSpeed; this._$scrollableAtPointer[this._scrollValue](_nextScrollPosition) } var dragMoveArgs = this._component._dragMoveArgs; if (dragMoveArgs) { this._component._dragMoveHandler(dragMoveArgs) } } }; _proto.reset = function() { this._$scrollableAtPointer = null; this._scrollSpeed = 0; this._preventScroll = true }; _proto.isOutsideScrollable = function($scrollable, event) { if (!$scrollable) { return false } var scrollableSize = (0, _position2.getBoundingRect)($scrollable.get(0)); var start = scrollableSize[this._limitProps.start]; var size = scrollableSize[this._sizeAttr]; var mousePosition = getMousePosition(event); var location = "width" === this._sizeAttr ? mousePosition.x : mousePosition.y; return location < start || location > start + size }; return ScrollHelper }(); var ScrollAnimator = _animator.default.inherit({ ctor: function(strategy) { this.callBase(); this._strategy = strategy }, _step: function() { var horizontalScrollHelper = this._strategy._horizontalScrollHelper; var verticalScrollHelper = this._strategy._verticalScrollHelper; horizontalScrollHelper && horizontalScrollHelper.scrollByStep(); verticalScrollHelper && verticalScrollHelper.scrollByStep() } }); var Draggable = _dom_component.default.inherit({ reset: _common.noop, dragMove: _common.noop, dragEnter: _common.noop, dragLeave: _common.noop, dragEnd: function(sourceEvent) { var sourceDraggable = this._getSourceDraggable(); sourceDraggable._fireRemoveEvent(sourceEvent); return (0, _deferred.Deferred)().resolve() }, _fireRemoveEvent: _common.noop, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { onDragStart: null, onDragMove: null, onDragEnd: null, onDragEnter: null, onDragLeave: null, onDragCancel: null, onCancelByEsc: false, onDrop: null, immediate: true, dragDirection: "both", boundary: void 0, boundOffset: 0, allowMoveByClick: false, itemData: null, container: void 0, dragTemplate: void 0, contentTemplate: "content", handle: "", filter: "", clone: false, autoScroll: true, scrollSpeed: 30, scrollSensitivity: 60, group: void 0, data: void 0 }) }, _setOptionsByReference: function() { this.callBase.apply(this, arguments); (0, _extend.extend)(this._optionsByReference, { component: true, group: true, itemData: true, data: true }) }, _init: function() { this.callBase(); this._attachEventHandlers(); this._scrollAnimator = new ScrollAnimator(this); this._horizontalScrollHelper = new ScrollHelper("horizontal", this); this._verticalScrollHelper = new ScrollHelper("vertical", this); this._initScrollTop = 0; this._initScrollLeft = 0 }, _normalizeCursorOffset: function(offset) { if ((0, _type.isObject)(offset)) { offset = { h: offset.x, v: offset.y } } offset = (0, _common.splitPair)(offset).map((function(value) { return parseFloat(value) })); return { left: offset[0], top: 1 === offset.length ? offset[0] : offset[1] } }, _getNormalizedCursorOffset: function(offset, options) { if ((0, _type.isFunction)(offset)) { offset = offset.call(this, options) } return this._normalizeCursorOffset(offset) }, _calculateElementOffset: function(options) { var elementOffset; var dragElementOffset; var event = options.event; var $element = (0, _renderer.default)(options.itemElement); var $dragElement = (0, _renderer.default)(options.dragElement); var isCloned = this._dragElementIsCloned(); var cursorOffset = this.option("cursorOffset"); var normalizedCursorOffset = { left: 0, top: 0 }; var currentLocate = this._initialLocate = (0, _translator.locate)($dragElement); if (isCloned || options.initialOffset || cursorOffset) { elementOffset = options.initialOffset || $element.offset(); if (cursorOffset) { normalizedCursorOffset = this._getNormalizedCursorOffset(cursorOffset, options); if (isFinite(normalizedCursorOffset.left)) { elementOffset.left = event.pageX } if (isFinite(normalizedCursorOffset.top)) { elementOffset.top = event.pageY } } dragElementOffset = $dragElement.offset(); elementOffset.top -= dragElementOffset.top + (normalizedCursorOffset.top || 0) - currentLocate.top; elementOffset.left -= dragElementOffset.left + (normalizedCursorOffset.left || 0) - currentLocate.left } return elementOffset }, _initPosition: function(options) { var $dragElement = (0, _renderer.default)(options.dragElement); var elementOffset = this._calculateElementOffset(options); if (elementOffset) { this._move(elementOffset, $dragElement) } this._startPosition = (0, _translator.locate)($dragElement) }, _startAnimator: function() { if (!this._scrollAnimator.inProgress()) { this._scrollAnimator.start() } }, _stopAnimator: function() { this._scrollAnimator.stop() }, _addWidgetPrefix: function(className) { var componentName = this.NAME; return (0, _inflector.dasherize)(componentName) + (className ? "-".concat(className) : "") }, _getItemsSelector: function() { return this.option("filter") || "" }, _$content: function() { var $element = this.$element(); var $wrapper = $element.children(".dx-template-wrapper"); return $wrapper.length ? $wrapper : $element }, _attachEventHandlers: function() { var _this2 = this; if (this.option("disabled")) { return } var $element = this._$content(); var itemsSelector = this._getItemsSelector(); var allowMoveByClick = this.option("allowMoveByClick"); var data = { direction: this.option("dragDirection"), immediate: this.option("immediate"), checkDropTarget: function($target, event) { var targetGroup = _this2.option("group"); var sourceGroup = _this2._getSourceDraggable().option("group"); var $scrollable = _this2._getScrollable($target); if (_this2._verticalScrollHelper.isOutsideScrollable($scrollable, event) || _this2._horizontalScrollHelper.isOutsideScrollable($scrollable, event)) { return false } return sourceGroup && sourceGroup === targetGroup } }; if (allowMoveByClick) { $element = this._getArea(); _events_engine.default.on($element, POINTERDOWN_EVENT_NAME, data, this._pointerDownHandler.bind(this)) } if (">" === itemsSelector[0]) { itemsSelector = itemsSelector.slice(1) } _events_engine.default.on($element, DRAGSTART_EVENT_NAME, itemsSelector, data, this._dragStartHandler.bind(this)); _events_engine.default.on($element, DRAG_EVENT_NAME, data, this._dragMoveHandler.bind(this)); _events_engine.default.on($element, DRAGEND_EVENT_NAME, data, this._dragEndHandler.bind(this)); _events_engine.default.on($element, DRAG_ENTER_EVENT_NAME, data, this._dragEnterHandler.bind(this)); _events_engine.default.on($element, DRAGEND_LEAVE_EVENT_NAME, data, this._dragLeaveHandler.bind(this)); if (this.option("onCancelByEsc")) { _events_engine.default.on($element, KEYDOWN_EVENT_NAME, this._keydownHandler.bind(this)) } }, _dragElementIsCloned: function() { return this._$dragElement && this._$dragElement.hasClass(this._addWidgetPrefix("clone")) }, _getDragTemplateArgs: function($element, $container) { return { container: (0, _element.getPublicElement)($container), model: { itemData: this.option("itemData"), itemElement: (0, _element.getPublicElement)($element) } } }, _createDragElement: function($element) { var result = $element; var clone = this.option("clone"); var $container = this._getContainer(); var template = this.option("dragTemplate"); if (template) { template = this._getTemplate(template); result = (0, _renderer.default)("
").appendTo($container); template.render(this._getDragTemplateArgs($element, result)) } else if (clone) { result = (0, _renderer.default)("
").appendTo($container); $element.clone().css({ width: $element.css("width"), height: $element.css("height") }).appendTo(result) } return result.toggleClass(this._addWidgetPrefix("clone"), result.get(0) !== $element.get(0)).toggleClass("dx-rtl", this.option("rtlEnabled")) }, _resetDragElement: function() { if (this._dragElementIsCloned()) { this._$dragElement.remove() } else { this._toggleDraggingClass(false) } this._$dragElement = null }, _resetSourceElement: function() { this._toggleDragSourceClass(false); this._$sourceElement = null }, _detachEventHandlers: function() { _events_engine.default.off(this._$content(), ".".concat(DRAGGABLE)); _events_engine.default.off(this._getArea(), ".".concat(DRAGGABLE)) }, _move: function(position, $element) { (0, _translator.move)($element || this._$dragElement, position) }, _getDraggableElement: function(e) { var $sourceElement = this._getSourceElement(); if ($sourceElement) { return $sourceElement } var allowMoveByClick = this.option("allowMoveByClick"); if (allowMoveByClick) { return this.$element() } var $target = (0, _renderer.default)(e && e.target); var itemsSelector = this._getItemsSelector(); if (">" === itemsSelector[0]) { var $items = this._$content().find(itemsSelector); if (!$items.is($target)) { $target = $target.closest($items) } } return $target }, _getSourceElement: function() { var draggable = this._getSourceDraggable(); return draggable._$sourceElement }, _pointerDownHandler: function(e) { if ((0, _index.needSkipEvent)(e)) { return } var position = {}; var $element = this.$element(); var dragDirection = this.option("dragDirection"); if ("horizontal" === dragDirection || "both" === dragDirection) { position.left = e.pageX - $element.offset().left + (0, _translator.locate)($element).left - (0, _size.getWidth)($element) / 2 } if ("vertical" === dragDirection || "both" === dragDirection) { position.top = e.pageY - $element.offset().top + (0, _translator.locate)($element).top - (0, _size.getHeight)($element) / 2 } this._move(position, $element); this._getAction("onDragMove")(this._getEventArgs(e)) }, _isValidElement: function(event, $element) { var handle = this.option("handle"); var $target = (0, _renderer.default)(event.originalEvent && event.originalEvent.target); if (handle && !$target.closest(handle).length) { return false } if (!$element.length) { return false } return !$element.is(".dx-state-disabled, .dx-state-disabled *") }, _dragStartHandler: function(e) { var $element = this._getDraggableElement(e); this.dragInProgress = true; if (!this._isValidElement(e, $element)) { e.cancel = true; return } if (this._$sourceElement) { return } var dragStartArgs = this._getDragStartArgs(e, $element); this._getAction("onDragStart")(dragStartArgs); if (dragStartArgs.cancel) { e.cancel = true; return } this.option("itemData", dragStartArgs.itemData); this._setSourceDraggable(); this._$sourceElement = $element; var initialOffset = $element.offset(); if (!this._hasClonedDraggable() && this.option("autoScroll")) { this._initScrollTop = this._getScrollableScrollTop(); this._initScrollLeft = this._getScrollableScrollLeft(); initialOffset = this._getDraggableElementOffset(initialOffset.left, initialOffset.top) } var $dragElement = this._$dragElement = this._createDragElement($element); this._toggleDraggingClass(true); this._toggleDragSourceClass(true); this._setGestureCoverCursor($dragElement.children()); var isFixedPosition = "fixed" === $dragElement.css("position"); this._initPosition((0, _extend.extend)({}, dragStartArgs, { dragElement: $dragElement.get(0), initialOffset: isFixedPosition && initialOffset })); this._getAction("onDraggableElementShown")(_extends(_extends({}, dragStartArgs), { dragElement: $dragElement })); var $area = this._getArea(); var areaOffset = this._getAreaOffset($area); var boundOffset = this._getBoundOffset(); var areaWidth = (0, _size.getOuterWidth)($area); var areaHeight = (0, _size.getOuterHeight)($area); var elementWidth = (0, _size.getWidth)($dragElement); var elementHeight = (0, _size.getHeight)($dragElement); var startOffset_left = $dragElement.offset().left - areaOffset.left, startOffset_top = $dragElement.offset().top - areaOffset.top; if ($area.length) { e.maxLeftOffset = startOffset_left - boundOffset.left; e.maxRightOffset = areaWidth - startOffset_left - elementWidth - boundOffset.right; e.maxTopOffset = startOffset_top - boundOffset.top; e.maxBottomOffset = areaHeight - startOffset_top - elementHeight - boundOffset.bottom } if (this.option("autoScroll")) { this._startAnimator() } }, _getAreaOffset: function($area) { var offset = $area && _position.default.offset($area); return offset || { left: 0, top: 0 } }, _toggleDraggingClass: function(value) { this._$dragElement && this._$dragElement.toggleClass(this._addWidgetPrefix("dragging"), value) }, _toggleDragSourceClass: function(value, $element) { var $sourceElement = $element || this._$sourceElement; $sourceElement && $sourceElement.toggleClass(this._addWidgetPrefix("source"), value) }, _setGestureCoverCursor: function($element) { (0, _renderer.default)(".".concat("dx-gesture-cover")).css("cursor", $element.css("cursor")) }, _getBoundOffset: function() { var boundOffset = this.option("boundOffset"); if ((0, _type.isFunction)(boundOffset)) { boundOffset = boundOffset.call(this) } return (0, _string.quadToObject)(boundOffset) }, _getArea: function() { var area = this.option("boundary"); if ((0, _type.isFunction)(area)) { area = area.call(this) } return (0, _renderer.default)(area) }, _getContainer: function() { var container = this.option("container"); if (void 0 === container) { container = (0, _view_port.value)() } return (0, _renderer.default)(container) }, _getDraggableElementOffset: function(initialOffsetX, initialOffsetY) { var _a, _b, _c, _d; var initScrollTop = this._initScrollTop; var initScrollLeft = this._initScrollLeft; var scrollTop = this._getScrollableScrollTop(); var scrollLeft = this._getScrollableScrollLeft(); var elementPosition = (0, _renderer.default)(this.element()).css("position"); var isFixedPosition = "fixed" === elementPosition; var result = { left: (null !== (_b = null === (_a = this._startPosition) || void 0 === _a ? void 0 : _a.left) && void 0 !== _b ? _b : 0) + initialOffsetX, top: (null !== (_d = null === (_c = this._startPosition) || void 0 === _c ? void 0 : _c.top) && void 0 !== _d ? _d : 0) + initialOffsetY }; if (isFixedPosition || this._hasClonedDraggable()) { return result } return { left: (0, _type.isNumeric)(scrollLeft) ? result.left + scrollLeft - initScrollLeft : result.left, top: (0, _type.isNumeric)(scrollTop) ? result.top + scrollTop - initScrollTop : result.top } }, _hasClonedDraggable: function() { return this.option("clone") || this.option("dragTemplate") }, _dragMoveHandler: function(e) { this._dragMoveArgs = e; if (!this._$dragElement) { e.cancel = true; return } var offset = this._getDraggableElementOffset(e.offset.x, e.offset.y); this._move(offset); this._updateScrollable(e); var eventArgs = this._getEventArgs(e); this._getAction("onDragMove")(eventArgs); if (true === eventArgs.cancel) { return } var targetDraggable = this._getTargetDraggable(); targetDraggable.dragMove(e, scrollBy) }, _updateScrollable: function(e) { if (this.option("autoScroll")) { var mousePosition = getMousePosition(e); var allObjects = _dom_adapter.default.elementsFromPoint(mousePosition.x, mousePosition.y, this.$element().get(0)); this._verticalScrollHelper.updateScrollable(allObjects, mousePosition); this._horizontalScrollHelper.updateScrollable(allObjects, mousePosition) } }, _getScrollable: function($element) { var _this3 = this; var $scrollable; $element.parents().toArray().some((function(parent) { var $parent = (0, _renderer.default)(parent); if (_this3._horizontalScrollHelper.isScrollable($parent) || _this3._verticalScrollHelper.isScrollable($parent)) { $scrollable = $parent; return true } return false })); return $scrollable }, _getScrollableScrollTop: function() { var _a, _b; return null !== (_b = null === (_a = this._getScrollable((0, _renderer.default)(this.element()))) || void 0 === _a ? void 0 : _a.scrollTop()) && void 0 !== _b ? _b : 0 }, _getScrollableScrollLeft: function() { var _a, _b; return null !== (_b = null === (_a = this._getScrollable((0, _renderer.default)(this.element()))) || void 0 === _a ? void 0 : _a.scrollLeft()) && void 0 !== _b ? _b : 0 }, _defaultActionArgs: function() { var args = this.callBase.apply(this, arguments); var component = this.option("component"); if (component) { args.component = component; args.element = component.element() } return args }, _getEventArgs: function(e) { var sourceDraggable = this._getSourceDraggable(); var targetDraggable = this._getTargetDraggable(); return { event: e, itemData: sourceDraggable.option("itemData"), itemElement: (0, _element.getPublicElement)(sourceDraggable._$sourceElement), fromComponent: sourceDraggable.option("component") || sourceDraggable, toComponent: targetDraggable.option("component") || targetDraggable, fromData: sourceDraggable.option("data"), toData: targetDraggable.option("data") } }, _getDragStartArgs: function(e, $itemElement) { var args = this._getEventArgs(e); return { event: args.event, itemData: args.itemData, itemElement: $itemElement, fromData: args.fromData } }, _revertItemToInitialPosition: function() { !this._dragElementIsCloned() && this._move(this._initialLocate, this._$sourceElement) }, _dragEndHandler: function(e) { var _this4 = this; var d = (0, _deferred.Deferred)(); var dragEndEventArgs = this._getEventArgs(e); var dropEventArgs = this._getEventArgs(e); var targetDraggable = this._getTargetDraggable(); var needRevertPosition = true; this.dragInProgress = false; try { this._getAction("onDragEnd")(dragEndEventArgs) } finally { (0, _deferred.when)((0, _deferred.fromPromise)(dragEndEventArgs.cancel)).done((function(cancel) { if (!cancel) { if (targetDraggable !== _this4) { targetDraggable._getAction("onDrop")(dropEventArgs) } if (!dropEventArgs.cancel) { needRevertPosition = false; (0, _deferred.when)((0, _deferred.fromPromise)(targetDraggable.dragEnd(dragEndEventArgs))).always(d.resolve); return } } d.resolve() })).fail(d.resolve); d.done((function() { if (needRevertPosition) { _this4._revertItemToInitialPosition() } _this4._resetDragOptions(targetDraggable) })) } }, _isTargetOverAnotherDraggable: function(e) { var _this5 = this; var sourceDraggable = this._getSourceDraggable(); if (this === sourceDraggable) { return false } var $dragElement = sourceDraggable._$dragElement; var $sourceDraggableElement = sourceDraggable.$element(); var $targetDraggableElement = this.$element(); var mousePosition = getMousePosition(e); var elements = _dom_adapter.default.elementsFromPoint(mousePosition.x, mousePosition.y, this.element()); var firstWidgetElement = elements.filter((function(element) { var $element = (0, _renderer.default)(element); if ($element.hasClass(_this5._addWidgetPrefix())) { return !$element.closest($dragElement).length } return false }))[0]; var $sourceElement = this._getSourceElement(); var isTargetOverItself = firstWidgetElement === $sourceDraggableElement.get(0); var isTargetOverNestedDraggable = (0, _renderer.default)(firstWidgetElement).closest($sourceElement).length; return !firstWidgetElement || firstWidgetElement === $targetDraggableElement.get(0) && !isTargetOverItself && !isTargetOverNestedDraggable }, _dragEnterHandler: function(e) { this._fireDragEnterEvent(e); if (this._isTargetOverAnotherDraggable(e)) { this._setTargetDraggable() } var sourceDraggable = this._getSourceDraggable(); sourceDraggable.dragEnter(e) }, _dragLeaveHandler: function(e) { this._fireDragLeaveEvent(e); this._resetTargetDraggable(); if (this !== this._getSourceDraggable()) { this.reset() } var sourceDraggable = this._getSourceDraggable(); sourceDraggable.dragLeave(e) }, _keydownHandler: function(e) { if (this.dragInProgress && "Escape" === e.key) { this._keydownEscapeHandler(e) } }, _keydownEscapeHandler: function(e) { var $sourceElement = this._getSourceElement(); if (!$sourceElement) { return } var dragCancelEventArgs = this._getEventArgs(e); this._getAction("onDragCancel")(dragCancelEventArgs); if (dragCancelEventArgs.cancel) { return } this.dragInProgress = false; null === sourceDraggable || void 0 === sourceDraggable ? void 0 : sourceDraggable._toggleDraggingClass(false); this._detachEventHandlers(); this._revertItemToInitialPosition(); var targetDraggable = this._getTargetDraggable(); this._resetDragOptions(targetDraggable); this._attachEventHandlers() }, _getAction: function(name) { return this["_".concat(name, "Action")] || this._createActionByOption(name) }, _getAnonymousTemplateName: function() { return "content" }, _initTemplates: function() { if (!this.option("contentTemplate")) { return } this._templateManager.addDefaultTemplates({ content: new _empty_template.EmptyTemplate }); this.callBase.apply(this, arguments) }, _render: function() { this.callBase(); this.$element().addClass(this._addWidgetPrefix()); var transclude = this._templateManager.anonymousTemplateName === this.option("contentTemplate"); var template = this._getTemplateByOption("contentTemplate"); if (template) { (0, _renderer.default)(template.render({ container: this.element(), transclude: transclude })) } }, _optionChanged: function(args) { var name = args.name; switch (name) { case "onDragStart": case "onDragMove": case "onDragEnd": case "onDrop": case "onDragEnter": case "onDragLeave": case "onDragCancel": case "onDraggableElementShown": this["_".concat(name, "Action")] = this._createActionByOption(name); break; case "dragTemplate": case "contentTemplate": case "container": case "clone": break; case "allowMoveByClick": case "dragDirection": case "disabled": case "boundary": case "filter": case "immediate": this._resetDragElement(); this._detachEventHandlers(); this._attachEventHandlers(); break; case "onCancelByEsc": this._keydownHandler(); break; case "autoScroll": this._verticalScrollHelper.reset(); this._horizontalScrollHelper.reset(); break; case "scrollSensitivity": case "scrollSpeed": case "boundOffset": case "handle": case "group": case "data": case "itemData": break; default: this.callBase(args) } }, _getTargetDraggable: function() { return targetDraggable || this }, _getSourceDraggable: function() { return sourceDraggable || this }, _setTargetDraggable: function() { var currentGroup = this.option("group"); var sourceDraggable = this._getSourceDraggable(); if (currentGroup && currentGroup === sourceDraggable.option("group")) { targetDraggable = this } }, _setSourceDraggable: function() { sourceDraggable = this }, _resetSourceDraggable: function() { sourceDraggable = null }, _resetTargetDraggable: function() { targetDraggable = null }, _resetDragOptions: function(targetDraggable) { this.reset(); targetDraggable.reset(); this._stopAnimator(); this._horizontalScrollHelper.reset(); this._verticalScrollHelper.reset(); this._resetDragElement(); this._resetSourceElement(); this._resetTargetDraggable(); this._resetSourceDraggable() }, _dispose: function() { this.callBase(); this._detachEventHandlers(); this._resetDragElement(); this._resetTargetDraggable(); this._resetSourceDraggable(); this._$sourceElement = null; this._stopAnimator() }, _fireDragEnterEvent: function(sourceEvent) { var args = this._getEventArgs(sourceEvent); this._getAction("onDragEnter")(args) }, _fireDragLeaveEvent: function(sourceEvent) { var args = this._getEventArgs(sourceEvent); this._getAction("onDragLeave")(args) } }); (0, _component_registrator.default)(DRAGGABLE, Draggable); var _default = Draggable; exports.default = _default }, 75500: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/m_sortable.js ***! \**********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _fx = _interopRequireDefault(__webpack_require__( /*! ../animation/fx */ 87209)); var _translator = __webpack_require__( /*! ../animation/translator */ 31648); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _element = __webpack_require__( /*! ../core/element */ 6415); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _position = __webpack_require__( /*! ../core/utils/position */ 37518); var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _m_draggable = _interopRequireDefault(__webpack_require__( /*! ./m_draggable */ 86988)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var window = (0, _window.getWindow)(); var isElementVisible = function(itemElement) { return (0, _renderer.default)(itemElement).is(":visible") }; var animate = function(element, config) { var _a, _b; if (!element) { return } var left = (null === (_a = config.to) || void 0 === _a ? void 0 : _a.left) || 0; var top = (null === (_b = config.to) || void 0 === _b ? void 0 : _b.top) || 0; element.style.transform = "translate(".concat(left, "px,").concat(top, "px)"); element.style.transition = _fx.default.off ? "" : "transform ".concat(config.duration, "ms ").concat(config.easing) }; var stopAnimation = function(element) { if (!element) { return } element.style.transform = ""; element.style.transition = "" }; var Sortable = _m_draggable.default.inherit({ _init: function() { this.callBase(); this._sourceScrollHandler = this._handleSourceScroll.bind(this); this._sourceScrollableInfo = null }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { clone: true, filter: "> *", itemOrientation: "vertical", dropFeedbackMode: "push", allowDropInsideItem: false, allowReordering: true, moveItemOnDrop: false, onDragChange: null, onAdd: null, onRemove: null, onReorder: null, onPlaceholderPrepared: null, animation: { type: "slide", duration: 300, easing: "ease" }, fromIndex: null, toIndex: null, dropInsideItem: false, itemPoints: null, fromIndexOffset: 0, offset: 0, autoUpdate: false, draggableElementSize: 0 }) }, reset: function() { this.option({ dropInsideItem: false, toIndex: null, fromIndex: null, itemPoints: null, fromIndexOffset: 0, draggableElementSize: 0 }); if (this._$placeholderElement) { this._$placeholderElement.remove() } this._$placeholderElement = null; if (!this._isIndicateMode() && this._$modifiedItem) { this._$modifiedItem.css("marginBottom", this._modifiedItemMargin); this._$modifiedItem = null } }, _getPrevVisibleItem: function(items, index) { return items.slice(0, index).reverse().filter(isElementVisible)[0] }, _dragStartHandler: function(e) { this.callBase.apply(this, arguments); if (true === e.cancel) { return } var $sourceElement = this._getSourceElement(); this._updateItemPoints(); this._subscribeToSourceScroll(e); this.option("fromIndex", this._getElementIndex($sourceElement)); this.option("fromIndexOffset", this.option("offset")) }, _subscribeToSourceScroll: function(e) { var $scrollable = this._getScrollable((0, _renderer.default)(e.target)); if ($scrollable) { this._sourceScrollableInfo = { element: $scrollable, scrollLeft: $scrollable.scrollLeft(), scrollTop: $scrollable.scrollTop() }; _events_engine.default.off($scrollable, "scroll", this._sourceScrollHandler); _events_engine.default.on($scrollable, "scroll", this._sourceScrollHandler) } }, _unsubscribeFromSourceScroll: function() { if (this._sourceScrollableInfo) { _events_engine.default.off(this._sourceScrollableInfo.element, "scroll", this._sourceScrollHandler); this._sourceScrollableInfo = null } }, _handleSourceScroll: function(e) { var _this = this; var sourceScrollableInfo = this._sourceScrollableInfo; if (sourceScrollableInfo) { ["scrollLeft", "scrollTop"].forEach((function(scrollProp) { if (e.target[scrollProp] !== sourceScrollableInfo[scrollProp]) { var scrollBy = e.target[scrollProp] - sourceScrollableInfo[scrollProp]; _this._correctItemPoints(scrollBy); _this._movePlaceholder(); sourceScrollableInfo[scrollProp] = e.target[scrollProp] } })) } }, _dragEnterHandler: function(e) { this.callBase.apply(this, arguments); if (this === this._getSourceDraggable()) { return } this._subscribeToSourceScroll(e); this._updateItemPoints(); this.option("fromIndex", -1); if (!this._isIndicateMode()) { var itemPoints = this.option("itemPoints"); var lastItemPoint = itemPoints[itemPoints.length - 1]; if (lastItemPoint) { var $element = this.$element(); var $sourceElement = this._getSourceElement(); var isVertical = this._isVerticalOrientation(); var sourceElementSize = isVertical ? (0, _size.getOuterHeight)($sourceElement, true) : (0, _size.getOuterWidth)($sourceElement, true); var scrollSize = $element.get(0)[isVertical ? "scrollHeight" : "scrollWidth"]; var scrollPosition = $element.get(0)[isVertical ? "scrollTop" : "scrollLeft"]; var positionProp = isVertical ? "top" : "left"; var lastPointPosition = lastItemPoint[positionProp]; var elementPosition = $element.offset()[positionProp]; var freeSize = elementPosition + scrollSize - scrollPosition - lastPointPosition; if (freeSize < sourceElementSize) { if (isVertical) { var items = this._getItems(); var $lastItem = (0, _renderer.default)(this._getPrevVisibleItem(items)); this._$modifiedItem = $lastItem; this._modifiedItemMargin = $lastItem.get(0).style.marginBottom; $lastItem.css("marginBottom", sourceElementSize - freeSize); var $sortable = $lastItem.closest(".dx-sortable"); var sortable = $sortable.data("dxScrollable") || $sortable.data("dxScrollView"); sortable && sortable.update() } } } } }, _dragLeaveHandler: function() { this.callBase.apply(this, arguments); if (this !== this._getSourceDraggable()) { this._unsubscribeFromSourceScroll() } }, dragEnter: function() { if (this !== this._getTargetDraggable()) { this.option("toIndex", -1) } }, dragLeave: function() { if (this !== this._getTargetDraggable()) { this.option("toIndex", this.option("fromIndex")) } }, _allowDrop: function(event) { var targetDraggable = this._getTargetDraggable(); var $targetDraggable = targetDraggable.$element(); var $scrollable = this._getScrollable($targetDraggable); if ($scrollable) { var _getScrollableBoundar = function($scrollable) { var offset = $scrollable.offset(); var style = $scrollable[0].style; var paddingLeft = parseFloat(style.paddingLeft) || 0; var paddingRight = parseFloat(style.paddingRight) || 0; var paddingTop = parseFloat(style.paddingTop) || 0; var width = $scrollable[0].clientWidth - (paddingLeft + paddingRight); var height = (0, _size.getHeight)($scrollable); var left = offset.left + paddingLeft; var top = offset.top + paddingTop; return { left: left, right: left + width, top: top, bottom: top + height } }($scrollable), left = _getScrollableBoundar.left, right = _getScrollableBoundar.right, top = _getScrollableBoundar.top, bottom = _getScrollableBoundar.bottom; var toIndex = this.option("toIndex"); var itemPoints = this.option("itemPoints"); var itemPoint = null === itemPoints || void 0 === itemPoints ? void 0 : itemPoints.filter((function(item) { return item.index === toIndex }))[0]; if (itemPoint && void 0 !== itemPoint.top) { var isVertical = this._isVerticalOrientation(); if (isVertical) { return top <= Math.ceil(itemPoint.top) && Math.floor(itemPoint.top) <= bottom } return left <= Math.ceil(itemPoint.left) && Math.floor(itemPoint.left) <= right } } return true }, dragEnd: function(sourceEvent) { this._unsubscribeFromSourceScroll(); var $sourceElement = this._getSourceElement(); var sourceDraggable = this._getSourceDraggable(); var isSourceDraggable = sourceDraggable.NAME !== this.NAME; var toIndex = this.option("toIndex"); var event = sourceEvent.event; var allowDrop = this._allowDrop(event); if (null !== toIndex && toIndex >= 0 && allowDrop) { var cancelAdd; var cancelRemove; if (sourceDraggable !== this) { cancelAdd = this._fireAddEvent(event); if (!cancelAdd) { cancelRemove = this._fireRemoveEvent(event) } } if (isSourceDraggable) { (0, _translator.resetPosition)($sourceElement) } if (this.option("moveItemOnDrop")) { !cancelAdd && this._moveItem($sourceElement, toIndex, cancelRemove) } if (sourceDraggable === this) { return this._fireReorderEvent(event) } } return (0, _deferred.Deferred)().resolve() }, dragMove: function(e) { var itemPoints = this.option("itemPoints"); if (!itemPoints) { return } var isVertical = this._isVerticalOrientation(); var axisName = isVertical ? "top" : "left"; var cursorPosition = isVertical ? e.pageY : e.pageX; var rtlEnabled = this.option("rtlEnabled"); var itemPoint; for (var i = itemPoints.length - 1; i >= 0; i--) { var centerPosition = itemPoints[i + 1] && (itemPoints[i][axisName] + itemPoints[i + 1][axisName]) / 2; if ((!isVertical && rtlEnabled ? cursorPosition > centerPosition : centerPosition > cursorPosition) || void 0 === centerPosition) { itemPoint = itemPoints[i] } else { break } } if (itemPoint) { this._updatePlaceholderPosition(e, itemPoint); if (this._verticalScrollHelper.isScrolling() && this._isIndicateMode()) { this._movePlaceholder() } } }, _isIndicateMode: function() { return "indicate" === this.option("dropFeedbackMode") || this.option("allowDropInsideItem") }, _createPlaceholder: function() { var $placeholderContainer; if (this._isIndicateMode()) { $placeholderContainer = (0, _renderer.default)("
").addClass(this._addWidgetPrefix("placeholder")).insertBefore(this._getSourceDraggable()._$dragElement) } this._$placeholderElement = $placeholderContainer; return $placeholderContainer }, _getItems: function() { var itemsSelector = this._getItemsSelector(); return this._$content().find(itemsSelector).not(".".concat(this._addWidgetPrefix("placeholder"))).not(".".concat(this._addWidgetPrefix("clone"))).toArray() }, _allowReordering: function() { var sourceDraggable = this._getSourceDraggable(); var targetDraggable = this._getTargetDraggable(); return sourceDraggable !== targetDraggable || this.option("allowReordering") }, _isValidPoint: function(visibleIndex, draggableVisibleIndex, dropInsideItem) { var allowDropInsideItem = this.option("allowDropInsideItem"); var allowReordering = dropInsideItem || this._allowReordering(); if (!allowReordering && (0 !== visibleIndex || !allowDropInsideItem)) { return false } if (!this._isIndicateMode()) { return true } return -1 === draggableVisibleIndex || visibleIndex !== draggableVisibleIndex && (dropInsideItem || visibleIndex !== draggableVisibleIndex + 1) }, _getItemPoints: function() { var result = []; var $item; var offset; var itemWidth; var rtlEnabled = this.option("rtlEnabled"); var isVertical = this._isVerticalOrientation(); var itemElements = this._getItems(); var visibleItemElements = itemElements.filter(isElementVisible); var visibleItemCount = visibleItemElements.length; var $draggableItem = this._getDraggableElement(); var draggableVisibleIndex = visibleItemElements.indexOf($draggableItem.get(0)); if (visibleItemCount) { for (var i = 0; i <= visibleItemCount; i++) { var needCorrectLeftPosition = !isVertical && rtlEnabled ^ i === visibleItemCount; var needCorrectTopPosition = isVertical && i === visibleItemCount; if (i < visibleItemCount) { $item = (0, _renderer.default)(visibleItemElements[i]); offset = $item.offset(); itemWidth = (0, _size.getOuterWidth)($item) } result.push({ dropInsideItem: false, left: offset.left + (needCorrectLeftPosition ? itemWidth : 0), top: offset.top + (needCorrectTopPosition ? result[i - 1].height : 0), index: i === visibleItemCount ? itemElements.length : itemElements.indexOf($item.get(0)), $item: $item, width: (0, _size.getOuterWidth)($item), height: (0, _size.getOuterHeight)($item), isValid: this._isValidPoint(i, draggableVisibleIndex) }) } if (this.option("allowDropInsideItem")) { var points = result; result = []; for (var _i = 0; _i < points.length; _i++) { result.push(points[_i]); if (points[_i + 1]) { result.push((0, _extend.extend)({}, points[_i], { dropInsideItem: true, top: Math.floor((points[_i].top + points[_i + 1].top) / 2), left: Math.floor((points[_i].left + points[_i + 1].left) / 2), isValid: this._isValidPoint(_i, draggableVisibleIndex, true) })) } } } } else { result.push({ dropInsideItem: false, index: 0, isValid: true }) } return result }, _updateItemPoints: function(forceUpdate) { if (forceUpdate || this.option("autoUpdate") || !this.option("itemPoints")) { this.option("itemPoints", this._getItemPoints()) } }, _correctItemPoints: function(scrollBy) { var itemPoints = this.option("itemPoints"); if (scrollBy && itemPoints && !this.option("autoUpdate")) { var isVertical = this._isVerticalOrientation(); var positionPropName = isVertical ? "top" : "left"; itemPoints.forEach((function(itemPoint) { itemPoint[positionPropName] -= scrollBy })) } }, _getElementIndex: function($itemElement) { return this._getItems().indexOf($itemElement.get(0)) }, _getDragTemplateArgs: function($element) { var args = this.callBase.apply(this, arguments); args.model.fromIndex = this._getElementIndex($element); return args }, _togglePlaceholder: function(value) { this._$placeholderElement && this._$placeholderElement.toggle(value) }, _isVerticalOrientation: function() { return "vertical" === this.option("itemOrientation") }, _normalizeToIndex: function(toIndex, skipOffsetting) { var isAnotherDraggable = this._getSourceDraggable() !== this._getTargetDraggable(); var fromIndex = this._getActualFromIndex(); if (null === toIndex) { return fromIndex } return Math.max(isAnotherDraggable || fromIndex >= toIndex || skipOffsetting ? toIndex : toIndex - 1, 0) }, _updatePlaceholderPosition: function(e, itemPoint) { var sourceDraggable = this._getSourceDraggable(); var toIndex = this._normalizeToIndex(itemPoint.index, itemPoint.dropInsideItem); var eventArgs = (0, _extend.extend)(this._getEventArgs(e), { toIndex: toIndex, dropInsideItem: itemPoint.dropInsideItem }); itemPoint.isValid && this._getAction("onDragChange")(eventArgs); if (eventArgs.cancel || !itemPoint.isValid) { if (!itemPoint.isValid) { this.option({ dropInsideItem: false, toIndex: null }) } return } this.option({ dropInsideItem: itemPoint.dropInsideItem, toIndex: itemPoint.index }); this._getAction("onPlaceholderPrepared")((0, _extend.extend)(this._getEventArgs(e), { placeholderElement: (0, _element.getPublicElement)(this._$placeholderElement), dragElement: (0, _element.getPublicElement)(sourceDraggable._$dragElement) })); this._updateItemPoints() }, _makeWidthCorrection: function($item, width) { this._$scrollable = this._getScrollable($item); if (this._$scrollable) { var scrollableWidth = (0, _size.getWidth)(this._$scrollable); var overflowLeft = this._$scrollable.offset().left - $item.offset().left; var overflowRight = (0, _size.getOuterWidth)($item) - overflowLeft - scrollableWidth; if (overflowLeft > 0) { width -= overflowLeft } if (overflowRight > 0) { width -= overflowRight } } return width }, _updatePlaceholderSizes: function($placeholderElement, itemElement) { var dropInsideItem = this.option("dropInsideItem"); var $item = (0, _renderer.default)(itemElement); var isVertical = this._isVerticalOrientation(); var width = ""; var height = ""; $placeholderElement.toggleClass(this._addWidgetPrefix("placeholder-inside"), dropInsideItem); if (isVertical || dropInsideItem) { width = (0, _size.getOuterWidth)($item) } if (!isVertical || dropInsideItem) { height = (0, _size.getOuterHeight)($item) } width = this._makeWidthCorrection($item, width); $placeholderElement.css({ width: width, height: height }) }, _moveItem: function($itemElement, index, cancelRemove) { var $prevTargetItemElement; var $itemElements = this._getItems(); var $targetItemElement = $itemElements[index]; var sourceDraggable = this._getSourceDraggable(); if (cancelRemove) { $itemElement = $itemElement.clone(); sourceDraggable._toggleDragSourceClass(false, $itemElement) } if (!$targetItemElement) { $prevTargetItemElement = $itemElements[index - 1] } this._moveItemCore($itemElement, $targetItemElement, $prevTargetItemElement) }, _moveItemCore: function($targetItem, item, prevItem) { if (!item && !prevItem) { $targetItem.appendTo(this.$element()) } else if (prevItem) { $targetItem.insertAfter((0, _renderer.default)(prevItem)) } else { $targetItem.insertBefore((0, _renderer.default)(item)) } }, _getDragStartArgs: function(e, $itemElement) { return (0, _extend.extend)(this.callBase.apply(this, arguments), { fromIndex: this._getElementIndex($itemElement) }) }, _getEventArgs: function(e) { var sourceDraggable = this._getSourceDraggable(); var targetDraggable = this._getTargetDraggable(); var dropInsideItem = targetDraggable.option("dropInsideItem"); return (0, _extend.extend)(this.callBase.apply(this, arguments), { fromIndex: sourceDraggable.option("fromIndex"), toIndex: this._normalizeToIndex(targetDraggable.option("toIndex"), dropInsideItem), dropInsideItem: dropInsideItem }) }, _optionChanged: function(args) { var _this2 = this; var name = args.name; switch (name) { case "onDragChange": case "onPlaceholderPrepared": case "onAdd": case "onRemove": case "onReorder": this["_".concat(name, "Action")] = this._createActionByOption(name); break; case "itemOrientation": case "allowDropInsideItem": case "moveItemOnDrop": case "dropFeedbackMode": case "itemPoints": case "animation": case "allowReordering": case "fromIndexOffset": case "offset": case "draggableElementSize": case "autoUpdate": break; case "fromIndex": [false, true].forEach((function(isDragSource) { var fromIndex = isDragSource ? args.value : args.previousValue; if (null !== fromIndex) { var $fromElement = (0, _renderer.default)(_this2._getItems()[fromIndex]); _this2._toggleDragSourceClass(isDragSource, $fromElement) } })); break; case "dropInsideItem": this._optionChangedDropInsideItem(args); break; case "toIndex": this._optionChangedToIndex(args); break; default: this.callBase(args) } }, _optionChangedDropInsideItem: function() { if (this._isIndicateMode() && this._$placeholderElement) { this._movePlaceholder() } }, _isPositionVisible: function(position) { var $element = this.$element(); var scrollContainer; if ("hidden" !== $element.css("overflow")) { scrollContainer = $element.get(0) } else { $element.parents().each((function() { if ("visible" !== (0, _renderer.default)(this).css("overflow")) { scrollContainer = this; return false } return })) } if (scrollContainer) { var clientRect = (0, _position.getBoundingRect)(scrollContainer); var isVerticalOrientation = this._isVerticalOrientation(); var start = isVerticalOrientation ? "top" : "left"; var end = isVerticalOrientation ? "bottom" : "right"; var pageOffset = isVerticalOrientation ? window.pageYOffset : window.pageXOffset; if (position[start] < clientRect[start] + pageOffset || position[start] > clientRect[end] + pageOffset) { return false } } return true }, _optionChangedToIndex: function(args) { var toIndex = args.value; if (this._isIndicateMode()) { var showPlaceholder = null !== toIndex && toIndex >= 0; this._togglePlaceholder(showPlaceholder); if (showPlaceholder) { this._movePlaceholder() } } else { this._moveItems(args.previousValue, args.value, args.fullUpdate) } }, update: function() { if (null === this.option("fromIndex") && null === this.option("toIndex")) { return } this._updateItemPoints(true); this._updateDragSourceClass(); var toIndex = this.option("toIndex"); this._optionChangedToIndex({ value: toIndex, fullUpdate: true }) }, _updateDragSourceClass: function() { var fromIndex = this._getActualFromIndex(); var $fromElement = (0, _renderer.default)(this._getItems()[fromIndex]); if ($fromElement.length) { this._$sourceElement = $fromElement; this._toggleDragSourceClass(true, $fromElement) } }, _makeLeftCorrection: function(left) { var $scrollable = this._$scrollable; if ($scrollable && this._isVerticalOrientation()) { var overflowLeft = $scrollable.offset().left - left; if (overflowLeft > 0) { left += overflowLeft } } return left }, _movePlaceholder: function() { var $placeholderElement = this._$placeholderElement || this._createPlaceholder(); if (!$placeholderElement) { return } var items = this._getItems(); var toIndex = this.option("toIndex"); var isVerticalOrientation = this._isVerticalOrientation(); var rtlEnabled = this.option("rtlEnabled"); var dropInsideItem = this.option("dropInsideItem"); var position = null; var itemElement = items[toIndex]; if (itemElement) { var $itemElement = (0, _renderer.default)(itemElement); position = $itemElement.offset(); if (!isVerticalOrientation && rtlEnabled && !dropInsideItem) { position.left += (0, _size.getOuterWidth)($itemElement, true) } } else { var prevVisibleItemElement = itemElement = this._getPrevVisibleItem(items, toIndex); if (prevVisibleItemElement) { position = (0, _renderer.default)(prevVisibleItemElement).offset(); if (isVerticalOrientation) { position.top += (0, _size.getOuterHeight)(prevVisibleItemElement, true) } else if (!rtlEnabled) { position.left += (0, _size.getOuterWidth)(prevVisibleItemElement, true) } } } this._updatePlaceholderSizes($placeholderElement, itemElement); if (position && !this._isPositionVisible(position)) { position = null } if (position) { var isLastVerticalPosition = isVerticalOrientation && toIndex === items.length; var outerPlaceholderHeight = (0, _size.getOuterHeight)($placeholderElement); position.left = this._makeLeftCorrection(position.left); position.top = isLastVerticalPosition && position.top >= outerPlaceholderHeight ? position.top - outerPlaceholderHeight : position.top; this._move(position, $placeholderElement) } $placeholderElement.toggle(!!position) }, _getPositions: function(items, elementSize, fromIndex, toIndex) { var positions = []; for (var i = 0; i < items.length; i++) { var position = 0; if (null === toIndex || null === fromIndex) { positions.push(position); continue } if (-1 === fromIndex) { if (i >= toIndex) { position = elementSize } } else if (-1 === toIndex) { if (i > fromIndex) { position = -elementSize } } else if (fromIndex < toIndex) { if (i > fromIndex && i < toIndex) { position = -elementSize } } else if (fromIndex > toIndex) { if (i >= toIndex && i < fromIndex) { position = elementSize } } positions.push(position) } return positions }, _getDraggableElementSize: function(isVerticalOrientation) { var $draggableItem = this._getDraggableElement(); var size = this.option("draggableElementSize"); if (!size) { size = isVerticalOrientation ? ((0, _size.getOuterHeight)($draggableItem) + (0, _size.getOuterHeight)($draggableItem, true)) / 2 : ((0, _size.getOuterWidth)($draggableItem) + (0, _size.getOuterWidth)($draggableItem, true)) / 2; if (!this.option("autoUpdate")) { this.option("draggableElementSize", size) } } return size }, _getActualFromIndex: function() { var _this$option = this.option(), fromIndex = _this$option.fromIndex, fromIndexOffset = _this$option.fromIndexOffset, offset = _this$option.offset; return null == fromIndex ? null : fromIndex + fromIndexOffset - offset }, _moveItems: function(prevToIndex, toIndex, fullUpdate) { var fromIndex = this._getActualFromIndex(); var isVerticalOrientation = this._isVerticalOrientation(); var positionPropName = isVerticalOrientation ? "top" : "left"; var elementSize = this._getDraggableElementSize(isVerticalOrientation); var items = this._getItems(); var prevPositions = this._getPositions(items, elementSize, fromIndex, prevToIndex); var positions = this._getPositions(items, elementSize, fromIndex, toIndex); var animationConfig = this.option("animation"); var rtlEnabled = this.option("rtlEnabled"); for (var i = 0; i < items.length; i++) { var itemElement = items[i]; var prevPosition = prevPositions[i]; var position = positions[i]; if (null === toIndex || null === fromIndex) { stopAnimation(itemElement) } else if (prevPosition !== position || fullUpdate && position) { animate(itemElement, (0, _extend.extend)({}, animationConfig, { to: _defineProperty({}, positionPropName, !isVerticalOrientation && rtlEnabled ? -position : position) })) } } }, _toggleDragSourceClass: function(value, $element) { var $sourceElement = $element || this._$sourceElement; this.callBase.apply(this, arguments); if (!this._isIndicateMode()) { $sourceElement && $sourceElement.toggleClass(this._addWidgetPrefix("source-hidden"), value) } }, _dispose: function() { this.reset(); this.callBase() }, _fireAddEvent: function(sourceEvent) { var args = this._getEventArgs(sourceEvent); this._getAction("onAdd")(args); return args.cancel }, _fireRemoveEvent: function(sourceEvent) { var sourceDraggable = this._getSourceDraggable(); var args = this._getEventArgs(sourceEvent); sourceDraggable._getAction("onRemove")(args); return args.cancel }, _fireReorderEvent: function(sourceEvent) { var args = this._getEventArgs(sourceEvent); this._getAction("onReorder")(args); return args.promise || (0, _deferred.Deferred)().resolve() } }); (0, _component_registrator.default)("dxSortable", Sortable); var _default = Sortable; exports.default = _default }, 18945: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/__internal/utils/memoize.js ***! \*************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); exports.memoize = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var compareByReference = function(args, lastArgs) { return args.length === lastArgs.length && !Object.keys(args).some((function(key) { return args[key] !== lastArgs[key] })) }; var compareByValue = function(args, lastArgs) { return (0, _common.equalByValue)(args, lastArgs, { maxDepth: 4 }) }; var createCacheFunc = function(firstArgs, firstResult, originFunc, compareFunc) { var lastArgs = firstArgs; var lastResult = firstResult; return function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] } var argsEquals = compareFunc(args, lastArgs); if (argsEquals) { return lastResult } lastArgs = args; lastResult = originFunc.apply(void 0, _toConsumableArray(lastArgs)); return lastResult } }; var MEMOIZE_DEFAULT_OPTIONS = { compareType: "reference" }; exports.memoize = function(func) { var _ref = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : MEMOIZE_DEFAULT_OPTIONS, compareType = _ref.compareType; var cachedFunc = null; return function() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2] } if (!cachedFunc) { var firstResult = func.apply(void 0, args); cachedFunc = createCacheFunc(args, firstResult, func, "reference" === compareType ? compareByReference : compareByValue); return firstResult } return cachedFunc.apply(void 0, args) } } }, 23908: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/animation/easing.js ***! \*****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.convertTransitionTimingFuncToEasing = void 0; exports.getEasing = function(name) { return easing[name] }; exports.setEasing = function(value) { easing = value }; var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var CSS_TRANSITION_EASING_REGEX = /cubic-bezier\((\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\)/; var TransitionTimingFuncMap = { linear: "cubic-bezier(0, 0, 1, 1)", swing: "cubic-bezier(0.445, 0.05, 0.55, 0.95)", ease: "cubic-bezier(0.25, 0.1, 0.25, 1)", "ease-in": "cubic-bezier(0.42, 0, 1, 1)", "ease-out": "cubic-bezier(0, 0, 0.58, 1)", "ease-in-out": "cubic-bezier(0.42, 0, 0.58, 1)" }; var polynomBezier = function(x1, y1, x2, y2) { var Cx = 3 * x1; var Bx = 3 * (x2 - x1) - Cx; var Ax = 1 - Cx - Bx; var Cy = 3 * y1; var By = 3 * (y2 - y1) - Cy; var Ay = 1 - Cy - By; var bezierX = function(t) { return t * (Cx + t * (Bx + t * Ax)) }; var derivativeX = function(t) { return Cx + t * (2 * Bx + 3 * t * Ax) }; return function(t) { return function(t) { return t * (Cy + t * (By + t * Ay)) }(function(t) { var x = t; var i = 0; var z; while (i < 14) { z = bezierX(x) - t; if (Math.abs(z) < .001) { break } x -= z / derivativeX(x); i++ } return x }(t)) } }; var easing = {}; exports.convertTransitionTimingFuncToEasing = function(cssTransitionEasing) { cssTransitionEasing = TransitionTimingFuncMap[cssTransitionEasing] || cssTransitionEasing; var coeffs = cssTransitionEasing.match(CSS_TRANSITION_EASING_REGEX); var forceName; if (!coeffs) { forceName = "linear"; coeffs = TransitionTimingFuncMap[forceName].match(CSS_TRANSITION_EASING_REGEX) } coeffs = coeffs.slice(1, 5); for (var i = 0; i < coeffs.length; i++) { coeffs[i] = parseFloat(coeffs[i]) } var easingName = forceName || "cubicbezier_" + coeffs.join("_").replace(/\./g, "p"); if (!(0, _type.isFunction)(easing[easingName])) { easing[easingName] = function(x, t, b, c, d) { return c * polynomBezier(coeffs[0], coeffs[1], coeffs[2], coeffs[3])(t / d) + b } } return easingName } }, 90057: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/animation/frame.js ***! \****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.cancelAnimationFrame = function() { setAnimationFrameMethods(); cancel.apply(window, arguments) }; exports.requestAnimationFrame = function() { setAnimationFrameMethods(); return request.apply(window, arguments) }; var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _call_once = (obj = __webpack_require__( /*! ../core/utils/call_once */ 39618), obj && obj.__esModule ? obj : { default: obj }); var obj; var window = (0, _window.hasWindow)() ? (0, _window.getWindow)() : {}; var request = function(callback) { return setTimeout(callback, 1e3 / 60) }; var cancel = function(requestID) { clearTimeout(requestID) }; var setAnimationFrameMethods = (0, _call_once.default)((function() { var nativeRequest = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame; var nativeCancel = window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame; if (nativeRequest && nativeCancel) { request = nativeRequest; cancel = nativeCancel } })) }, 87209: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/animation/fx.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _errors = _interopRequireDefault(__webpack_require__( /*! ../core/errors */ 17381)); var _element = __webpack_require__( /*! ../core/element */ 6415); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _translator = __webpack_require__( /*! ./translator */ 31648); var _easing = __webpack_require__( /*! ./easing */ 23908); var _frame = __webpack_require__( /*! ./frame */ 90057); var _support = __webpack_require__( /*! ../core/utils/support */ 60137); var _position = _interopRequireDefault(__webpack_require__( /*! ./position */ 49387)); var _remove = __webpack_require__( /*! ../events/remove */ 29007); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } var window = (0, _window.getWindow)(); var removeEventName = (0, _index.addNamespace)(_remove.removeEvent, "dxFX"); var RELATIVE_VALUE_REGEX = /^([+-])=(.*)/i; var TransitionAnimationStrategy = { initAnimation: function($element, config) { $element.css({ transitionProperty: "none" }); if ("string" === typeof config.from) { $element.addClass(config.from) } else { setProps($element, config.from) } var that = this; var deferred = new _deferred.Deferred; var cleanupWhen = config.cleanupWhen; config.transitionAnimation = { deferred: deferred, finish: function() { that._finishTransition($element); if (cleanupWhen) { (0, _deferred.when)(deferred, cleanupWhen).always((function() { that._cleanup($element, config) })) } else { that._cleanup($element, config) } deferred.resolveWith($element, [config, $element]) } }; this._completeAnimationCallback($element, config).done((function() { config.transitionAnimation.finish() })).fail((function() { deferred.rejectWith($element, [config, $element]) })); if (!config.duration) { config.transitionAnimation.finish() } $element.css("transform") }, animate: function($element, config) { this._startAnimation($element, config); return config.transitionAnimation.deferred.promise() }, _completeAnimationCallback: function($element, config) { var that = this; var startTime = Date.now() + config.delay; var deferred = new _deferred.Deferred; var transitionEndFired = new _deferred.Deferred; var simulatedTransitionEndFired = new _deferred.Deferred; var simulatedEndEventTimer; var transitionEndEventFullName = (0, _support.transitionEndEventName)() + ".dxFX"; config.transitionAnimation.cleanup = function() { clearTimeout(simulatedEndEventTimer); clearTimeout(waitForJSCompleteTimer); _events_engine.default.off($element, transitionEndEventFullName); _events_engine.default.off($element, removeEventName) }; _events_engine.default.one($element, transitionEndEventFullName, (function() { if (Date.now() - startTime >= config.duration) { transitionEndFired.reject() } })); _events_engine.default.off($element, removeEventName); _events_engine.default.on($element, removeEventName, (function() { that.stop($element, config); deferred.reject() })); var waitForJSCompleteTimer = setTimeout((function() { simulatedEndEventTimer = setTimeout((function() { simulatedTransitionEndFired.reject() }), config.duration + config.delay + fx._simulatedTransitionEndDelay); (0, _deferred.when)(transitionEndFired, simulatedTransitionEndFired).fail(function() { deferred.resolve() }.bind(this)) })); return deferred.promise() }, _startAnimation: function($element, config) { $element.css({ transitionProperty: "all", transitionDelay: config.delay + "ms", transitionDuration: config.duration + "ms", transitionTimingFunction: config.easing }); if ("string" === typeof config.to) { $element[0].className += " " + config.to } else if (config.to) { setProps($element, config.to) } }, _finishTransition: function($element) { $element.css("transition", "none") }, _cleanup: function($element, config) { config.transitionAnimation.cleanup(); if ("string" === typeof config.from) { $element.removeClass(config.from); $element.removeClass(config.to) } }, stop: function($element, config, jumpToEnd) { if (!config) { return } if (jumpToEnd) { config.transitionAnimation.finish() } else { if ((0, _type.isPlainObject)(config.to)) { (0, _iterator.each)(config.to, (function(key) { $element.css(key, $element.css(key)) })) } this._finishTransition($element); this._cleanup($element, config) } } }; var FrameAnimationStrategy = { initAnimation: function($element, config) { setProps($element, config.from) }, animate: function($element, config) { var deferred = new _deferred.Deferred; var that = this; if (!config) { return deferred.reject().promise() }(0, _iterator.each)(config.to, (function(prop) { if (void 0 === config.from[prop]) { config.from[prop] = that._normalizeValue($element.css(prop)) } })); if (config.to.transform) { config.from.transform = that._parseTransform(config.from.transform); config.to.transform = that._parseTransform(config.to.transform) } config.frameAnimation = { to: config.to, from: config.from, currentValue: config.from, easing: (0, _easing.convertTransitionTimingFuncToEasing)(config.easing), duration: config.duration, startTime: (new Date).valueOf(), finish: function() { this.currentValue = this.to; this.draw(); (0, _frame.cancelAnimationFrame)(config.frameAnimation.animationFrameId); deferred.resolve() }, draw: function() { if (config.draw) { config.draw(this.currentValue); return } var currentValue = (0, _extend.extend)({}, this.currentValue); if (currentValue.transform) { currentValue.transform = (0, _iterator.map)(currentValue.transform, (function(value, prop) { if ("translate" === prop) { return (0, _translator.getTranslateCss)(value) } else if ("scale" === prop) { return "scale(" + value + ")" } else if ("rotate" === prop.substr(0, prop.length - 1)) { return prop + "(" + value + "deg)" } })).join(" ") } $element.css(currentValue) } }; if (config.delay) { config.frameAnimation.startTime += config.delay; config.frameAnimation.delayTimeout = setTimeout((function() { that._startAnimation($element, config) }), config.delay) } else { that._startAnimation($element, config) } return deferred.promise() }, _startAnimation: function($element, config) { _events_engine.default.off($element, removeEventName); _events_engine.default.on($element, removeEventName, (function() { if (config.frameAnimation) { (0, _frame.cancelAnimationFrame)(config.frameAnimation.animationFrameId) } })); this._animationStep($element, config) }, _parseTransform: function(transformString) { var result = {}; (0, _iterator.each)(transformString.match(/\w+\d*\w*\([^)]*\)\s*/g), (function(i, part) { var translateData = (0, _translator.parseTranslate)(part); var scaleData = part.match(/scale\((.+?)\)/); var rotateData = part.match(/(rotate.)\((.+)deg\)/); if (translateData) { result.translate = translateData } if (scaleData && scaleData[1]) { result.scale = parseFloat(scaleData[1]) } if (rotateData && rotateData[1]) { result[rotateData[1]] = parseFloat(rotateData[2]) } })); return result }, stop: function($element, config, jumpToEnd) { var frameAnimation = config && config.frameAnimation; if (!frameAnimation) { return }(0, _frame.cancelAnimationFrame)(frameAnimation.animationFrameId); clearTimeout(frameAnimation.delayTimeout); if (jumpToEnd) { frameAnimation.finish() } delete config.frameAnimation }, _animationStep: function($element, config) { var frameAnimation = config && config.frameAnimation; if (!frameAnimation) { return } var now = (new Date).valueOf(); if (now >= frameAnimation.startTime + frameAnimation.duration) { frameAnimation.finish(); return } frameAnimation.currentValue = this._calcStepValue(frameAnimation, now - frameAnimation.startTime); frameAnimation.draw(); var that = this; frameAnimation.animationFrameId = (0, _frame.requestAnimationFrame)((function() { that._animationStep($element, config) })) }, _calcStepValue: function(frameAnimation, currentDuration) { return function calcValueRecursively(from, to) { var result = Array.isArray(to) ? [] : {}; (0, _iterator.each)(to, (function(propName, endPropValue) { if ("string" === typeof endPropValue && false === parseFloat(endPropValue)) { return true } result[propName] = "object" === _typeof(endPropValue) ? calcValueRecursively(from[propName], endPropValue) : function(propName) { var x = currentDuration / frameAnimation.duration; var t = currentDuration; var b = 1 * from[propName]; var c = to[propName] - from[propName]; var d = frameAnimation.duration; return (0, _easing.getEasing)(frameAnimation.easing)(x, t, b, c, d) }(propName) })); return result }(frameAnimation.from, frameAnimation.to) }, _normalizeValue: function(value) { var numericValue = parseFloat(value); if (false === numericValue) { return value } return numericValue } }; var FallbackToNoAnimationStrategy = { initAnimation: function() {}, animate: function() { return (new _deferred.Deferred).resolve().promise() }, stop: _common.noop, isSynchronous: true }; var baseConfigValidator = function(config, animationType, validate, typeMessage) { (0, _iterator.each)(["from", "to"], (function() { if (!validate(config[this])) { throw _errors.default.Error("E0010", animationType, this, typeMessage) } })) }; var isObjectConfigValidator = function(config, animationType) { return baseConfigValidator(config, animationType, (function(target) { return (0, _type.isPlainObject)(target) }), "a plain object") }; var CssAnimationConfigurator = { validateConfig: function(config) { ! function(config, animationType) { return baseConfigValidator(config, animationType, (function(target) { return "string" === typeof target }), "a string") }(config, "css") }, setup: function() {} }; var positionAliases = { top: { my: "bottom center", at: "top center" }, bottom: { my: "top center", at: "bottom center" }, right: { my: "left center", at: "right center" }, left: { my: "right center", at: "left center" } }; var SlideAnimationConfigurator = { validateConfig: function(config) { isObjectConfigValidator(config, "slide") }, setup: function($element, config) { var location = (0, _translator.locate)($element); if ("slide" !== config.type) { var positioningConfig = "slideIn" === config.type ? config.from : config.to; positioningConfig.position = (0, _extend.extend)({ of: window }, positionAliases[config.direction]); setupPosition($element, positioningConfig) } this._setUpConfig(location, config.from); this._setUpConfig(location, config.to); (0, _translator.clearCache)($element) }, _setUpConfig: function(location, config) { config.left = "left" in config ? config.left : "+=0"; config.top = "top" in config ? config.top : "+=0"; this._initNewPosition(location, config) }, _initNewPosition: function(location, config) { var position = { left: config.left, top: config.top }; delete config.left; delete config.top; var relativeValue = this._getRelativeValue(position.left); if (void 0 !== relativeValue) { position.left = relativeValue + location.left } else { config.left = 0 } relativeValue = this._getRelativeValue(position.top); if (void 0 !== relativeValue) { position.top = relativeValue + location.top } else { config.top = 0 } config.transform = (0, _translator.getTranslateCss)({ x: position.left, y: position.top }) }, _getRelativeValue: function(value) { var relativeValue; if ("string" === typeof value && (relativeValue = RELATIVE_VALUE_REGEX.exec(value))) { return parseInt(relativeValue[1] + "1") * relativeValue[2] } } }; var FadeAnimationConfigurator = { setup: function($element, config) { var _from$opacity, _to$opacity; var from = config.from; var to = config.to; var defaultFromOpacity = "fadeOut" === config.type ? 1 : 0; var defaultToOpacity = "fadeOut" === config.type ? 0 : 1; var fromOpacity = (0, _type.isPlainObject)(from) ? String(null !== (_from$opacity = from.opacity) && void 0 !== _from$opacity ? _from$opacity : defaultFromOpacity) : String(from); var toOpacity = (0, _type.isPlainObject)(to) ? String(null !== (_to$opacity = to.opacity) && void 0 !== _to$opacity ? _to$opacity : defaultToOpacity) : String(to); if (!config.skipElementInitialStyles) { fromOpacity = $element.css("opacity") } switch (config.type) { case "fadeIn": toOpacity = 1; break; case "fadeOut": toOpacity = 0 } config.from = { visibility: "visible", opacity: fromOpacity }; config.to = { opacity: toOpacity } } }; var PopAnimationConfigurator = { validateConfig: function(config) { isObjectConfigValidator(config, "pop") }, setup: function($element, config) { var from = config.from; var to = config.to; var fromOpacity = "opacity" in from ? from.opacity : $element.css("opacity"); var toOpacity = "opacity" in to ? to.opacity : 1; var fromScale = "scale" in from ? from.scale : 0; var toScale = "scale" in to ? to.scale : 1; config.from = { opacity: fromOpacity }; var translate = (0, _translator.getTranslate)($element); config.from.transform = this._getCssTransform(translate, fromScale); config.to = { opacity: toOpacity }; config.to.transform = this._getCssTransform(translate, toScale) }, _getCssTransform: function(translate, scale) { return (0, _translator.getTranslateCss)(translate) + "scale(" + scale + ")" } }; var animationConfigurators = { custom: { setup: function() {} }, slide: SlideAnimationConfigurator, slideIn: SlideAnimationConfigurator, slideOut: SlideAnimationConfigurator, fade: FadeAnimationConfigurator, fadeIn: FadeAnimationConfigurator, fadeOut: FadeAnimationConfigurator, pop: PopAnimationConfigurator, css: CssAnimationConfigurator }; var defaultJSConfig = { type: "custom", from: {}, to: {}, duration: 400, start: _common.noop, complete: _common.noop, easing: "ease", delay: 0 }; var defaultCssConfig = { duration: 400, easing: "ease", delay: 0 }; function setupAnimationOnElement() { var $element = this.element; var config = this.config; setupPosition($element, config.from); setupPosition($element, config.to); this.configurator.setup($element, config); $element.data("dxAnimData", this); if (fx.off) { config.duration = 0; config.delay = 0 } this.strategy.initAnimation($element, config); if (config.start) { var element = (0, _element.getPublicElement)($element); config.start.apply(this, [element, config]) } } var startAnimationOnElement = function() { var animation = this; var $element = animation.element; var config = animation.config; animation.isStarted = true; return animation.strategy.animate($element, config).done((function() { ! function(animation) { var $element = animation.element; var config = animation.config; $element.removeData("dxAnimData"); if (config.complete) { var element = (0, _element.getPublicElement)($element); config.complete.apply(this, [element, config]) } animation.deferred.resolveWith(this, [$element, config]) }(animation) })).fail((function() { animation.deferred.rejectWith(this, [$element, config]) })) }; var stopAnimationOnElement = function(jumpToEnd) { var $element = this.element; var config = this.config; clearTimeout(this.startTimeout); if (!this.isStarted) { this.start() } this.strategy.stop($element, config, jumpToEnd) }; var scopedRemoveEvent = (0, _index.addNamespace)(_remove.removeEvent, "dxFXStartAnimation"); var createAnimation = function(element, initialConfig) { var defaultConfig = "css" === initialConfig.type ? defaultCssConfig : defaultJSConfig; var config = (0, _extend.extend)(true, {}, defaultConfig, initialConfig); var configurator = function(config) { var result = animationConfigurators[config.type]; if (!result) { throw _errors.default.Error("E0011", config.type) } return result }(config); var strategy = function(config) { config = config || {}; var animationStrategies = { transition: (0, _support.transition)() ? TransitionAnimationStrategy : FrameAnimationStrategy, frame: FrameAnimationStrategy, noAnimation: FallbackToNoAnimationStrategy }; var strategy = config.strategy || "transition"; if ("css" === config.type && !(0, _support.transition)()) { strategy = "noAnimation" } return animationStrategies[strategy] }(config); var animation = { element: (0, _renderer.default)(element), config: config, configurator: configurator, strategy: strategy, isSynchronous: strategy.isSynchronous, setup: setupAnimationOnElement, start: startAnimationOnElement, stop: stopAnimationOnElement, deferred: new _deferred.Deferred }; if ((0, _type.isFunction)(configurator.validateConfig)) { configurator.validateConfig(config) }! function(animation) { _events_engine.default.off(animation.element, scopedRemoveEvent); _events_engine.default.on(animation.element, scopedRemoveEvent, (function() { fx.stop(animation.element) })); animation.deferred.always((function() { _events_engine.default.off(animation.element, scopedRemoveEvent) })) }(animation); return animation }; function getAnimQueueData($element) { return $element.data("dxAnimQueue") || [] } var destroyAnimQueueData = function($element) { $element.removeData("dxAnimQueue") }; function isAnimating($element) { return !!$element.data("dxAnimData") } function shiftFromAnimationQueue($element, queueData) { queueData = getAnimQueueData($element); if (!queueData.length) { return } var animation = queueData.shift(); if (0 === queueData.length) { destroyAnimQueueData($element) }(function(animation) { animation.setup(); if (fx.off || animation.isSynchronous) { animation.start() } else { animation.startTimeout = setTimeout((function() { animation.start() })) } return animation.deferred.promise() })(animation).done((function() { if (!isAnimating($element)) { shiftFromAnimationQueue($element) } })) } function setupPosition($element, config) { if (!config || !config.position) { return } var win = (0, _renderer.default)(window); var left = 0; var top = 0; var position = _position.default.calculate($element, config.position); var offset = $element.offset(); var currentPosition = $element.position(); if (currentPosition.top > offset.top) { top = win.scrollTop() } if (currentPosition.left > offset.left) { left = win.scrollLeft() }(0, _extend.extend)(config, { left: position.h.location - offset.left + currentPosition.left - left, top: position.v.location - offset.top + currentPosition.top - top }); delete config.position } function setProps($element, props) { (0, _iterator.each)(props, (function(key, value) { try { $element.css(key, (0, _type.isFunction)(value) ? value() : value) } catch (e) {} })) } var fx = { off: false, animationTypes: animationConfigurators, animate: function(element, config) { var $element = (0, _renderer.default)(element); if (!$element.length) { return (new _deferred.Deferred).resolve().promise() } var animation = createAnimation($element, config); ! function($element, animation) { var queueData = getAnimQueueData($element); ! function($element, queueData) { $element.data("dxAnimQueue", queueData) }($element, queueData); queueData.push(animation); if (!isAnimating($element)) { shiftFromAnimationQueue($element, queueData) } }($element, animation); return animation.deferred.promise() }, createAnimation: createAnimation, isAnimating: isAnimating, stop: function(element, jumpToEnd) { var $element = (0, _renderer.default)(element); var queueData = getAnimQueueData($element); (0, _iterator.each)(queueData, (function(_, animation) { animation.config.delay = 0; animation.config.duration = 0; animation.isSynchronous = true })); if (!isAnimating($element)) { shiftFromAnimationQueue($element, queueData) } var animation = $element.data("dxAnimData"); if (animation) { animation.stop(jumpToEnd) } $element.removeData("dxAnimData"); destroyAnimQueueData($element) }, _simulatedTransitionEndDelay: 100 }; var _default = fx; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 49387: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/animation/position.js ***! \*******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _position = __webpack_require__( /*! ../core/utils/position */ 37518); var _browser = _interopRequireDefault(__webpack_require__( /*! ../core/utils/browser */ 47810)); var _translator = __webpack_require__( /*! ./translator */ 31648); var _support = __webpack_require__( /*! ../core/utils/support */ 60137); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _style = __webpack_require__( /*! ../core/utils/style */ 80968); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var horzRe = /left|right/; var vertRe = /top|bottom/; var collisionRe = /fit|flip|none/; var scaleRe = /scale\(.+?\)/; var IS_SAFARI = _browser.default.safari; var normalizeAlign = function(raw) { var result = { h: "center", v: "center" }; var pair = (0, _common.splitPair)(raw); if (pair) { (0, _iterator.each)(pair, (function() { var w = String(this).toLowerCase(); if (horzRe.test(w)) { result.h = w } else if (vertRe.test(w)) { result.v = w } })) } return result }; var normalizeOffset = function(raw) { return (0, _common.pairToObject)(raw) }; var getAlignFactor = function(align) { switch (align) { case "center": return .5; case "right": case "bottom": return 1; default: return 0 } }; var inverseAlign = function(align) { switch (align) { case "left": return "right"; case "right": return "left"; case "top": return "bottom"; case "bottom": return "top"; default: return align } }; var calculateOversize = function(data, bounds) { var oversize = 0; if (data.myLocation < bounds.min) { oversize += bounds.min - data.myLocation } if (data.myLocation > bounds.max) { oversize += data.myLocation - bounds.max } return oversize }; var collisionSide = function(direction, data, bounds) { if (data.myLocation < bounds.min) { return "h" === direction ? "left" : "top" } if (data.myLocation > bounds.max) { return "h" === direction ? "right" : "bottom" } return "none" }; var initMyLocation = function(data) { data.myLocation = data.atLocation + getAlignFactor(data.atAlign) * data.atSize - getAlignFactor(data.myAlign) * data.mySize + data.offset }; var collisionResolvers = { fit: function(data, bounds) { var result = false; if (data.myLocation > bounds.max) { data.myLocation = bounds.max; result = true } if (data.myLocation < bounds.min) { data.myLocation = bounds.min; result = true } data.fit = result }, flip: function(data, bounds) { data.flip = false; if ("center" === data.myAlign && "center" === data.atAlign) { return } if (data.myLocation < bounds.min || data.myLocation > bounds.max) { var inverseData = (0, _extend.extend)({}, data, { myAlign: inverseAlign(data.myAlign), atAlign: inverseAlign(data.atAlign), offset: -data.offset }); initMyLocation(inverseData); inverseData.oversize = calculateOversize(inverseData, bounds); if (inverseData.myLocation >= bounds.min && inverseData.myLocation <= bounds.max || data.oversize > inverseData.oversize) { data.myLocation = inverseData.myLocation; data.oversize = inverseData.oversize; data.flip = true } } }, flipfit: function(data, bounds) { this.flip(data, bounds); this.fit(data, bounds) }, none: function(data) { data.oversize = 0 } }; var scrollbarWidth; var calculateScrollbarWidth = function() { var $scrollDiv = (0, _renderer.default)("
").css({ width: 100, height: 100, overflow: "scroll", position: "absolute", top: -9999 }).appendTo((0, _renderer.default)("body")); var result = $scrollDiv.get(0).offsetWidth - $scrollDiv.get(0).clientWidth; $scrollDiv.remove(); scrollbarWidth = result }; var defaultPositionResult = { h: { location: 0, flip: false, fit: false, oversize: 0 }, v: { location: 0, flip: false, fit: false, oversize: 0 } }; var calculatePosition = function(what, options) { var $what = (0, _renderer.default)(what); var currentOffset = $what.offset(); var result = (0, _extend.extend)(true, {}, defaultPositionResult, { h: { location: currentOffset.left }, v: { location: currentOffset.top } }); if (!options) { return result } var my = normalizeAlign(options.my); var at = normalizeAlign(options.at); var of = (0, _renderer.default)(options.of).length && options.of || window; var offset = normalizeOffset(options.offset); var collision = function(raw) { var pair = (0, _common.splitPair)(raw); var h = String(pair && pair[0]).toLowerCase(); var v = String(pair && pair[1]).toLowerCase(); if (!collisionRe.test(h)) { h = "none" } if (!collisionRe.test(v)) { v = h } return { h: h, v: v } }(options.collision); var boundary = options.boundary; var boundaryOffset = normalizeOffset(options.boundaryOffset); var h = { mySize: (0, _size.getOuterWidth)($what), myAlign: my.h, atAlign: at.h, offset: offset.h, collision: collision.h, boundaryOffset: boundaryOffset.h }; var v = { mySize: (0, _size.getOuterHeight)($what), myAlign: my.v, atAlign: at.v, offset: offset.v, collision: collision.v, boundaryOffset: boundaryOffset.v }; if (of.preventDefault) { h.atLocation = of.pageX; v.atLocation = of.pageY; h.atSize = 0; v.atSize = 0 } else { of = (0, _renderer.default)(of); if ((0, _type.isWindow)(of [0])) { h.atLocation = of.scrollLeft(); v.atLocation = of.scrollTop(); if ("phone" === _devices.default.real().deviceType && of [0].visualViewport) { h.atLocation = Math.max(h.atLocation, of [0].visualViewport.offsetLeft); v.atLocation = Math.max(v.atLocation, of [0].visualViewport.offsetTop); h.atSize = of [0].visualViewport.width; v.atSize = of [0].visualViewport.height } else { h.atSize = of [0].innerWidth > of [0].outerWidth ? of [0].innerWidth : (0, _size.getWidth)(of); v.atSize = of [0].innerHeight > of [0].outerHeight || IS_SAFARI ? of [0].innerHeight : (0, _size.getHeight)(of) } } else if (9 === of [0].nodeType) { h.atLocation = 0; v.atLocation = 0; h.atSize = (0, _size.getWidth)(of); v.atSize = (0, _size.getHeight)(of) } else { var ofRect = (0, _position.getBoundingRect)(of.get(0)); var o = getOffsetWithoutScale(of); h.atLocation = o.left; v.atLocation = o.top; h.atSize = Math.max(ofRect.width, (0, _size.getOuterWidth)(of)); v.atSize = Math.max(ofRect.height, (0, _size.getOuterHeight)(of)) } } initMyLocation(h); initMyLocation(v); var bounds = function() { var win = (0, _renderer.default)(window); var windowWidth = (0, _size.getWidth)(win); var windowHeight = (0, _size.getHeight)(win); var left = win.scrollLeft(); var top = win.scrollTop(); var documentElement = _dom_adapter.default.getDocumentElement(); var hZoomLevel = _support.touch ? documentElement.clientWidth / windowWidth : 1; var vZoomLevel = _support.touch ? documentElement.clientHeight / windowHeight : 1; if (void 0 === scrollbarWidth) { calculateScrollbarWidth() } var boundaryWidth = windowWidth; var boundaryHeight = windowHeight; if (boundary && !(0, _type.isWindow)(boundary)) { var $boundary = (0, _renderer.default)(boundary); var boundaryPosition = $boundary.offset(); left = boundaryPosition.left; top = boundaryPosition.top; boundaryWidth = (0, _size.getWidth)($boundary); boundaryHeight = (0, _size.getHeight)($boundary) } return { h: { min: left + h.boundaryOffset, max: left + boundaryWidth / hZoomLevel - h.mySize - h.boundaryOffset }, v: { min: top + v.boundaryOffset, max: top + boundaryHeight / vZoomLevel - v.mySize - v.boundaryOffset } } }(); h.oversize = calculateOversize(h, bounds.h); v.oversize = calculateOversize(v, bounds.v); h.collisionSide = collisionSide("h", h, bounds.h); v.collisionSide = collisionSide("v", v, bounds.v); if (collisionResolvers[h.collision]) { collisionResolvers[h.collision](h, bounds.h) } if (collisionResolvers[v.collision]) { collisionResolvers[v.collision](v, bounds.v) } var preciser = function(number) { return options.precise ? number : Math.round(number) }; (0, _extend.extend)(true, result, { h: { location: preciser(h.myLocation), oversize: preciser(h.oversize), fit: h.fit, flip: h.flip, collisionSide: h.collisionSide }, v: { location: preciser(v.myLocation), oversize: preciser(v.oversize), fit: v.fit, flip: v.flip, collisionSide: v.collisionSide }, precise: options.precise }); return result }; var setScaleProperty = function(element, scale, styleAttr, isEmpty) { var stylePropIsValid = (0, _type.isDefined)(element.style) && !_dom_adapter.default.isNode(element.style); var newStyleValue = isEmpty ? styleAttr.replace(scale, "") : styleAttr; if (stylePropIsValid) { (0, _style.setStyle)(element, newStyleValue, false) } else { var styleAttributeNode = _dom_adapter.default.createAttribute("style"); styleAttributeNode.value = newStyleValue; element.setAttributeNode(styleAttributeNode) } }; var getOffsetWithoutScale = function getOffsetWithoutScale($startElement) { var _currentElement$getAt, _style$match; var $currentElement = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : $startElement; var currentElement = $currentElement.get(0); if (!currentElement) { return $startElement.offset() } var style = (null === (_currentElement$getAt = currentElement.getAttribute) || void 0 === _currentElement$getAt ? void 0 : _currentElement$getAt.call(currentElement, "style")) || ""; var scale = null === (_style$match = style.match(scaleRe)) || void 0 === _style$match ? void 0 : _style$match[0]; var offset; if (scale) { setScaleProperty(currentElement, scale, style, true); offset = getOffsetWithoutScale($startElement, $currentElement.parent()); setScaleProperty(currentElement, scale, style, false) } else { offset = getOffsetWithoutScale($startElement, $currentElement.parent()) } return offset }; var position = function(what, options) { var $what = (0, _renderer.default)(what); if (!options) { return $what.offset() }(0, _translator.resetPosition)($what, true); var offset = getOffsetWithoutScale($what); var targetPosition = options.h && options.v ? options : calculatePosition($what, options); var preciser = function(number) { return options.precise ? number : Math.round(number) }; (0, _translator.move)($what, { left: targetPosition.h.location - preciser(offset.left), top: targetPosition.v.location - preciser(offset.top) }); return targetPosition }; if (!position.inverseAlign) { position.inverseAlign = inverseAlign } if (!position.normalizeAlign) { position.normalizeAlign = normalizeAlign } var _default = { calculateScrollbarWidth: calculateScrollbarWidth, calculate: calculatePosition, setup: position, offset: function(element) { element = (0, _renderer.default)(element).get(0); if ((0, _type.isWindow)(element)) { return null } else if (element && "pageY" in element && "pageX" in element) { return { top: element.pageY, left: element.pageX } } return (0, _renderer.default)(element).offset() } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 42814: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/animation/presets/presets.js ***! \**************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.presets = exports.PresetCollection = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _component = __webpack_require__( /*! ../../core/component */ 44297); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _fx = _interopRequireDefault(__webpack_require__( /*! ../fx */ 87209)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var directionPostfixes = { forward: " dx-forward", backward: " dx-backward", none: " dx-no-direction", undefined: " dx-no-direction" }; var AnimationPresetCollection = _component.Component.inherit({ ctor: function() { this.callBase.apply(this, arguments); this._registeredPresets = []; this.resetToDefaults() }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { defaultAnimationDuration: 400, defaultAnimationDelay: 0, defaultStaggerAnimationDuration: 300, defaultStaggerAnimationDelay: 40, defaultStaggerAnimationStartDelay: 500 }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function(_device) { return _device.phone }, options: { defaultStaggerAnimationDuration: 350, defaultStaggerAnimationDelay: 50, defaultStaggerAnimationStartDelay: 0 } }, { device: function() { return _devices.default.current().android || _devices.default.real.android }, options: { defaultAnimationDelay: 100 } }]) }, _getPresetOptionName: function(animationName) { return "preset_" + animationName }, _createAndroidSlideAnimationConfig: function(throughOpacity, widthMultiplier) { var that = this; var createBaseConfig = function(configModifier) { return { type: "slide", delay: void 0 === configModifier.delay ? that.option("defaultAnimationDelay") : configModifier.delay, duration: void 0 === configModifier.duration ? that.option("defaultAnimationDuration") : configModifier.duration } }; return { enter: function($element, configModifier) { var width = (0, _size.getWidth)($element.parent()) * widthMultiplier; var direction = configModifier.direction; var config = createBaseConfig(configModifier); config.to = { left: 0, opacity: 1 }; if ("forward" === direction) { config.from = { left: width, opacity: throughOpacity } } else if ("backward" === direction) { config.from = { left: -width, opacity: throughOpacity } } else { config.from = { left: 0, opacity: 0 } } return _fx.default.createAnimation($element, config) }, leave: function($element, configModifier) { var width = (0, _size.getWidth)($element.parent()) * widthMultiplier; var direction = configModifier.direction; var config = createBaseConfig(configModifier); config.from = { left: 0, opacity: 1 }; if ("forward" === direction) { config.to = { left: -width, opacity: throughOpacity } } else if ("backward" === direction) { config.to = { left: width, opacity: throughOpacity } } else { config.to = { left: 0, opacity: 0 } } return _fx.default.createAnimation($element, config) } } }, _createOpenDoorConfig: function() { var that = this; var createBaseConfig = function(configModifier) { return { type: "css", extraCssClasses: "dx-opendoor-animation", delay: void 0 === configModifier.delay ? that.option("defaultAnimationDelay") : configModifier.delay, duration: void 0 === configModifier.duration ? that.option("defaultAnimationDuration") : configModifier.duration } }; return { enter: function($element, configModifier) { var direction = configModifier.direction; var config = createBaseConfig(configModifier); config.delay = "none" === direction ? config.delay : config.duration; config.from = "dx-enter dx-opendoor-animation" + directionPostfixes[direction]; config.to = "dx-enter-active"; return _fx.default.createAnimation($element, config) }, leave: function($element, configModifier) { var direction = configModifier.direction; var config = createBaseConfig(configModifier); config.from = "dx-leave dx-opendoor-animation" + directionPostfixes[direction]; config.to = "dx-leave-active"; return _fx.default.createAnimation($element, config) } } }, _createWinPopConfig: function() { var that = this; var baseConfig = { type: "css", extraCssClasses: "dx-win-pop-animation", duration: that.option("defaultAnimationDuration") }; return { enter: function($element, configModifier) { var config = baseConfig; var direction = configModifier.direction; config.delay = "none" === direction ? that.option("defaultAnimationDelay") : that.option("defaultAnimationDuration") / 2; config.from = "dx-enter dx-win-pop-animation" + directionPostfixes[direction]; config.to = "dx-enter-active"; return _fx.default.createAnimation($element, config) }, leave: function($element, configModifier) { var config = baseConfig; var direction = configModifier.direction; config.delay = that.option("defaultAnimationDelay"); config.from = "dx-leave dx-win-pop-animation" + directionPostfixes[direction]; config.to = "dx-leave-active"; return _fx.default.createAnimation($element, config) } } }, resetToDefaults: function() { this.clear(); this.registerDefaultPresets(); this.applyChanges() }, clear: function(name) { var that = this; var newRegisteredPresets = []; (0, _iterator.each)(this._registeredPresets, (function(index, preset) { if (!name || name === preset.name) { that.option(that._getPresetOptionName(preset.name), void 0) } else { newRegisteredPresets.push(preset) } })); this._registeredPresets = newRegisteredPresets; this.applyChanges() }, registerPreset: function(name, config) { this._registeredPresets.push({ name: name, config: config }) }, applyChanges: function() { var that = this; var customRules = []; (0, _iterator.each)(this._registeredPresets, (function(index, preset) { var rule = { device: preset.config.device, options: {} }; rule.options[that._getPresetOptionName(preset.name)] = preset.config.animation; customRules.push(rule) })); this._setOptionsByDevice(customRules) }, getPreset: function(name) { var result = name; while ("string" === typeof result) { result = this.option(this._getPresetOptionName(result)) } return result }, registerDefaultPresets: function() { this.registerPreset("pop", { animation: { extraCssClasses: "dx-android-pop-animation", delay: this.option("defaultAnimationDelay"), duration: this.option("defaultAnimationDuration") } }); this.registerPreset("openDoor", { animation: this._createOpenDoorConfig() }); this.registerPreset("win-pop", { animation: this._createWinPopConfig() }); this.registerPreset("fade", { animation: { extraCssClasses: "dx-fade-animation", delay: this.option("defaultAnimationDelay"), duration: this.option("defaultAnimationDuration") } }); this.registerPreset("slide", { device: function() { return _devices.default.current().android || _devices.default.real.android }, animation: this._createAndroidSlideAnimationConfig(1, 1) }); this.registerPreset("slide", { device: function() { return !_devices.default.current().android && !_devices.default.real.android }, animation: { extraCssClasses: "dx-slide-animation", delay: this.option("defaultAnimationDelay"), duration: this.option("defaultAnimationDuration") } }); this.registerPreset("ios7-slide", { animation: { extraCssClasses: "dx-ios7-slide-animation", delay: this.option("defaultAnimationDelay"), duration: this.option("defaultAnimationDuration") } }); this.registerPreset("overflow", { animation: { extraCssClasses: "dx-overflow-animation", delay: this.option("defaultAnimationDelay"), duration: this.option("defaultAnimationDuration") } }); this.registerPreset("ios7-toolbar", { device: function() { return !_devices.default.current().android && !_devices.default.real.android }, animation: { extraCssClasses: "dx-ios7-toolbar-animation", delay: this.option("defaultAnimationDelay"), duration: this.option("defaultAnimationDuration") } }); this.registerPreset("ios7-toolbar", { device: function() { return _devices.default.current().android || _devices.default.real.android }, animation: this._createAndroidSlideAnimationConfig(0, .4) }); this.registerPreset("stagger-fade", { animation: { extraCssClasses: "dx-fade-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }); this.registerPreset("stagger-slide", { animation: { extraCssClasses: "dx-slide-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }); this.registerPreset("stagger-fade-slide", { animation: { extraCssClasses: "dx-fade-slide-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }); this.registerPreset("stagger-drop", { animation: { extraCssClasses: "dx-drop-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }); this.registerPreset("stagger-fade-drop", { animation: { extraCssClasses: "dx-fade-drop-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }); this.registerPreset("stagger-fade-rise", { animation: { extraCssClasses: "dx-fade-rise-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }); this.registerPreset("stagger-3d-drop", { animation: { extraCssClasses: "dx-3d-drop-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }); this.registerPreset("stagger-fade-zoom", { animation: { extraCssClasses: "dx-fade-zoom-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }) } }); exports.PresetCollection = AnimationPresetCollection; var animationPresets = new AnimationPresetCollection; exports.presets = animationPresets }, 52431: /*!**************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/animation/transition_executor/transition_executor.js ***! \**************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.TransitionExecutor = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _fx = _interopRequireDefault(__webpack_require__( /*! ../fx */ 87209)); var _presets = __webpack_require__( /*! ../presets/presets */ 42814); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var directionPostfixes = { forward: " dx-forward", backward: " dx-backward", none: " dx-no-direction", undefined: " dx-no-direction" }; var TransitionExecutor = _class.default.inherit({ ctor: function() { this._accumulatedDelays = { enter: 0, leave: 0 }; this._animations = []; this.reset() }, _createAnimations: function($elements, initialConfig, configModifier, type) { $elements = (0, _renderer.default)($elements); var that = this; var result = []; configModifier = configModifier || {}; var animationConfig = this._prepareElementAnimationConfig(initialConfig, configModifier, type); if (animationConfig) { $elements.each((function() { var animation = that._createAnimation((0, _renderer.default)(this), animationConfig, configModifier); if (animation) { animation.element.addClass("dx-animating"); animation.setup(); result.push(animation) } })) } return result }, _prepareElementAnimationConfig: function(config, configModifier, type) { var result; if ("string" === typeof config) { var presetName = config; config = _presets.presets.getPreset(presetName) } if (!config) { result = void 0 } else if ((0, _type.isFunction)(config[type])) { result = config[type] } else { result = (0, _extend.extend)({ skipElementInitialStyles: true, cleanupWhen: this._completePromise }, config, configModifier); if (!result.type || "css" === result.type) { var cssClass = "dx-" + type; var extraCssClasses = (result.extraCssClasses ? " " + result.extraCssClasses : "") + directionPostfixes[result.direction]; result.type = "css"; result.from = (result.from || cssClass) + extraCssClasses; result.to = result.to || cssClass + "-active" } result.staggerDelay = result.staggerDelay || 0; result.delay = result.delay || 0; if (result.staggerDelay) { result.delay += this._accumulatedDelays[type]; this._accumulatedDelays[type] += result.staggerDelay } } return result }, _createAnimation: function($element, animationConfig, configModifier) { var result; if ((0, _type.isPlainObject)(animationConfig)) { result = _fx.default.createAnimation($element, animationConfig) } else if ((0, _type.isFunction)(animationConfig)) { result = animationConfig($element, configModifier) } return result }, _startAnimations: function() { var animations = this._animations; for (var i = 0; i < animations.length; i++) { animations[i].start() } }, _stopAnimations: function(jumpToEnd) { var animations = this._animations; for (var i = 0; i < animations.length; i++) { animations[i].stop(jumpToEnd) } }, _clearAnimations: function() { var animations = this._animations; for (var i = 0; i < animations.length; i++) { animations[i].element.removeClass("dx-animating") } this._animations.length = 0 }, reset: function() { this._accumulatedDelays.enter = 0; this._accumulatedDelays.leave = 0; this._clearAnimations(); this._completeDeferred = new _deferred.Deferred; this._completePromise = this._completeDeferred.promise() }, enter: function($elements, animationConfig, configModifier) { var animations = this._createAnimations($elements, animationConfig, configModifier, "enter"); this._animations.push.apply(this._animations, animations) }, leave: function($elements, animationConfig, configModifier) { var animations = this._createAnimations($elements, animationConfig, configModifier, "leave"); this._animations.push.apply(this._animations, animations) }, start: function() { var that = this; var result; if (!this._animations.length) { that.reset(); result = (new _deferred.Deferred).resolve().promise() } else { var animationDeferreds = (0, _iterator.map)(this._animations, (function(animation) { var result = new _deferred.Deferred; animation.deferred.always((function() { result.resolve() })); return result.promise() })); result = _deferred.when.apply(_renderer.default, animationDeferreds).always((function() { that._completeDeferred.resolve(); that.reset() })); (0, _common.executeAsync)((function() { that._startAnimations() })) } return result }, stop: function(jumpToEnd) { this._stopAnimations(jumpToEnd) } }); exports.TransitionExecutor = TransitionExecutor }, 31648: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/animation/translator.js ***! \*********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.resetPosition = exports.parseTranslate = exports.move = exports.locate = exports.getTranslateCss = exports.getTranslate = exports.clearCache = void 0; var _renderer = (obj = __webpack_require__( /*! ../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _element_data = __webpack_require__( /*! ../core/element_data */ 97906); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var TRANSFORM_MATRIX_REGEX = /matrix(3d)?\((.+?)\)/; var TRANSLATE_REGEX = /translate(?:3d)?\((.+?)\)/; exports.locate = function($element) { $element = (0, _renderer.default)($element); var translate = getTranslate($element); return { left: translate.x, top: translate.y } }; function isPercentValue(value) { return "string" === (0, _type.type)(value) && "%" === value[value.length - 1] } function cacheTranslate($element, translate) { if ($element.length) { (0, _element_data.data)($element.get(0), "dxTranslator", translate) } } var clearCache = function($element) { if ($element.length) { (0, _element_data.removeData)($element.get(0), "dxTranslator") } }; exports.clearCache = clearCache; var getTranslateCss = function(translate) { translate.x = translate.x || 0; translate.y = translate.y || 0; var xValueString = isPercentValue(translate.x) ? translate.x : translate.x + "px"; var yValueString = isPercentValue(translate.y) ? translate.y : translate.y + "px"; return "translate(" + xValueString + ", " + yValueString + ")" }; exports.getTranslateCss = getTranslateCss; var getTranslate = function($element) { var result = $element.length ? (0, _element_data.data)($element.get(0), "dxTranslator") : null; if (!result) { var transformValue = $element.css("transform") || getTranslateCss({ x: 0, y: 0 }); var matrix = transformValue.match(TRANSFORM_MATRIX_REGEX); var is3D = matrix && matrix[1]; if (matrix) { matrix = matrix[2].split(","); if ("3d" === is3D) { matrix = matrix.slice(12, 15) } else { matrix.push(0); matrix = matrix.slice(4, 7) } } else { matrix = [0, 0, 0] } result = { x: parseFloat(matrix[0]), y: parseFloat(matrix[1]), z: parseFloat(matrix[2]) }; cacheTranslate($element, result) } return result }; exports.getTranslate = getTranslate; exports.move = function($element, position) { $element = (0, _renderer.default)($element); var left = position.left; var top = position.top; var translate; if (void 0 === left) { translate = getTranslate($element); translate.y = top || 0 } else if (void 0 === top) { translate = getTranslate($element); translate.x = left || 0 } else { translate = { x: left || 0, y: top || 0, z: 0 }; cacheTranslate($element, translate) } $element.css({ transform: getTranslateCss(translate) }); if (isPercentValue(left) || isPercentValue(top)) { clearCache($element) } }; exports.resetPosition = function($element, finishTransition) { $element = (0, _renderer.default)($element); var originalTransition; var stylesConfig = { left: 0, top: 0, transform: "none" }; if (finishTransition) { originalTransition = $element.css("transition"); stylesConfig.transition = "none" } $element.css(stylesConfig); clearCache($element); if (finishTransition) { $element.get(0).offsetHeight; $element.css("transition", originalTransition) } }; exports.parseTranslate = function(translateString) { var result = translateString.match(TRANSLATE_REGEX); if (!result || !result[1]) { return } result = result[1].split(","); result = { x: parseFloat(result[0]), y: parseFloat(result[1]), z: parseFloat(result[2]) }; return result } }, 16354: /*!***************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/bundles/dx.all.js ***! \***************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; __webpack_require__( /*! ./modules/parts/widgets-web */ 2025); __webpack_require__( /*! ./modules/parts/viz */ 66312); var _core = (obj = __webpack_require__( /*! ./modules/core */ 36991), obj && obj.__esModule ? obj : { default: obj }); var obj; var _events_strategy = __webpack_require__( /*! ../core/events_strategy */ 80566); var _index = __webpack_require__( /*! ../core/options/index */ 95683); _core.default.integration = {}; _core.default.integration.EventsStrategy = _events_strategy.EventsStrategy; _core.default.integration.Options = _index.Options; var _default = _core.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 72505: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/bundles/modules/common.charts.js ***! \******************************************************************************/ function(module, __unused_webpack_exports, __webpack_require__) { var DevExpress = __webpack_require__( /*! ./core */ 36991); DevExpress.common = DevExpress.common || {}; DevExpress.common.charts = __webpack_require__( /*! ../../common/charts */ 29932); module.exports = DevExpress.common.charts }, 36991: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/bundles/modules/core.js ***! \*********************************************************************/ function(module, __unused_webpack_exports, __webpack_require__) { var windowUtils = __webpack_require__( /*! ../../core/utils/window */ 58201); var window = windowUtils.getWindow(); var DevExpress = window.DevExpress = window.DevExpress || {}; var errors = DevExpress.errors = __webpack_require__( /*! ../../core/errors */ 17381); if (DevExpress._DEVEXTREME_BUNDLE_INITIALIZED) { throw errors.Error("E0024") } DevExpress._DEVEXTREME_BUNDLE_INITIALIZED = true; DevExpress.clientExporter = __webpack_require__( /*! ../../exporter */ 78292); DevExpress.excelExporter = __webpack_require__( /*! ../../excel_exporter */ 2994); DevExpress.pdfExporter = __webpack_require__( /*! ../../pdf_exporter */ 44194); DevExpress.VERSION = __webpack_require__( /*! ../../core/version */ 36739).version; DevExpress.Class = __webpack_require__( /*! ../../core/class */ 38377); DevExpress.DOMComponent = __webpack_require__( /*! ../../core/dom_component */ 13046); DevExpress.Component = __webpack_require__( /*! ../../core/component */ 44297).Component; DevExpress.registerComponent = __webpack_require__( /*! ../../core/component_registrator */ 99393); DevExpress.devices = __webpack_require__( /*! ../../core/devices */ 20530); DevExpress.Color = __webpack_require__( /*! ../../color */ 52752); var animationFrame = __webpack_require__( /*! ../../animation/frame */ 90057); DevExpress.utils = {}; DevExpress.utils.requestAnimationFrame = animationFrame.requestAnimationFrame; DevExpress.utils.cancelAnimationFrame = animationFrame.cancelAnimationFrame; DevExpress.utils.initMobileViewport = __webpack_require__( /*! ../../mobile/init_mobile_viewport/init_mobile_viewport */ 88185).p; DevExpress.utils.getTimeZones = __webpack_require__( /*! ../../time_zone_utils */ 88673).Z; DevExpress.utils.extendFromObject = __webpack_require__( /*! ../../core/utils/extend */ 13306).extendFromObject; DevExpress.utils.triggerShownEvent = __webpack_require__( /*! ../../events/visibility_change */ 80506).triggerShownEvent; DevExpress.utils.triggerHidingEvent = __webpack_require__( /*! ../../events/visibility_change */ 80506).triggerHidingEvent; DevExpress.utils.resetActiveElement = __webpack_require__( /*! ../../core/utils/dom */ 3532).resetActiveElement; DevExpress.utils.findBestMatches = __webpack_require__( /*! ../../core/utils/common */ 20576).findBestMatches; DevExpress.createQueue = __webpack_require__( /*! ../../core/utils/queue */ 59504).create; DevExpress.utils.dom = __webpack_require__( /*! ../../core/utils/dom */ 3532); DevExpress.utils.common = __webpack_require__( /*! ../../core/utils/common */ 20576); DevExpress.utils.date = __webpack_require__( /*! ../../core/utils/date */ 91198); DevExpress.utils.browser = __webpack_require__( /*! ../../core/utils/browser */ 47810); DevExpress.utils.inflector = __webpack_require__( /*! ../../core/utils/inflector */ 78008); DevExpress.utils.iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); DevExpress.utils.readyCallbacks = __webpack_require__( /*! ../../core/utils/ready_callbacks */ 24311); DevExpress.utils.resizeCallbacks = __webpack_require__( /*! ../../core/utils/resize_callbacks */ 55814); DevExpress.utils.console = __webpack_require__( /*! ../../core/utils/console */ 30869); DevExpress.utils.string = __webpack_require__( /*! ../../core/utils/string */ 68752); DevExpress.utils.support = __webpack_require__( /*! ../../core/utils/support */ 60137); DevExpress.utils.ajax = __webpack_require__( /*! ../../core/utils/ajax */ 37208); DevExpress.viewPort = __webpack_require__( /*! ../../core/utils/view_port */ 77695).value; DevExpress.hideTopOverlay = __webpack_require__( /*! ../../mobile/hide_top_overlay */ 60628); DevExpress.formatHelper = __webpack_require__( /*! ../../format_helper */ 30343); DevExpress.config = __webpack_require__( /*! ../../core/config */ 80209); DevExpress.animationPresets = __webpack_require__( /*! ../../animation/presets/presets */ 42814).presets; DevExpress.fx = __webpack_require__( /*! ../../animation/fx */ 87209); DevExpress.TransitionExecutor = __webpack_require__( /*! ../../animation/transition_executor/transition_executor */ 52431).TransitionExecutor; DevExpress.AnimationPresetCollection = __webpack_require__( /*! ../../animation/presets/presets */ 42814).PresetCollection; DevExpress.events = __webpack_require__( /*! ../../events */ 66365); DevExpress.events.click = __webpack_require__( /*! ../../events/click */ 95429); DevExpress.events.utils = __webpack_require__( /*! ../../events/utils */ 39611); DevExpress.events.GestureEmitter = __webpack_require__( /*! ../../events/gesture/emitter.gesture */ 98621); DevExpress.localization = __webpack_require__( /*! ../../localization */ 94484); DevExpress.templateRendered = __webpack_require__( /*! ../../core/templates/template_base */ 81033).renderedCallbacks; DevExpress.setTemplateEngine = __webpack_require__( /*! ../../core/templates/template_engine_registry */ 72987).setTemplateEngine; module.exports = DevExpress }, 86635: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/bundles/modules/data.js ***! \*********************************************************************/ function(module, __unused_webpack_exports, __webpack_require__) { var DevExpress = __webpack_require__( /*! ./core */ 36991); var errors = __webpack_require__( /*! ../../core/errors */ 17381); module.exports = DevExpress.data = DevExpress.data || {}; Object.defineProperty(DevExpress.data, "errorHandler", { get: function() { return __webpack_require__( /*! ../../data/errors */ 18438).errorHandler }, set: function(value) { errors.log("W0003", "DevExpress.data", "errorHandler", "21.1", "Use the 'setErrorHandler' method instead"); __webpack_require__( /*! ../../data/errors */ 18438).setErrorHandler(value) } }); Object.defineProperty(DevExpress.data, "_errorHandler", { get: function() { return __webpack_require__( /*! ../../data/errors */ 18438).handleError }, set: function(value) { errors.log("W0003", "DevExpress.data", "_errorHandler", "21.1", "Use the 'setErrorHandler' method instead"); __webpack_require__( /*! ../../data/errors */ 18438).setErrorHandler(value) } }); DevExpress.data.setErrorHandler = __webpack_require__( /*! ../../data/errors */ 18438).setErrorHandler; DevExpress.data.DataSource = __webpack_require__( /*! ../../data/data_source */ 33546); DevExpress.data.query = __webpack_require__( /*! ../../data/query */ 96687); DevExpress.data.Store = __webpack_require__( /*! ../../data/abstract_store */ 67403); DevExpress.data.ArrayStore = __webpack_require__( /*! ../../data/array_store */ 26562); DevExpress.data.CustomStore = __webpack_require__( /*! ../../data/custom_store */ 88036); DevExpress.data.LocalStore = __webpack_require__( /*! ../../data/local_store */ 82837); DevExpress.data.base64_encode = __webpack_require__( /*! ../../data/utils */ 16454).base64_encode; DevExpress.data.applyChanges = __webpack_require__( /*! ../../data/apply_changes */ 36893); DevExpress.data.Guid = __webpack_require__( /*! ../../core/guid */ 73176); DevExpress.data.utils = {}; DevExpress.data.utils.compileGetter = __webpack_require__( /*! ../../core/utils/data */ 47617).compileGetter; DevExpress.data.utils.compileSetter = __webpack_require__( /*! ../../core/utils/data */ 47617).compileSetter; DevExpress.EndpointSelector = __webpack_require__( /*! ../../data/endpoint_selector */ 8162); DevExpress.data.queryImpl = __webpack_require__( /*! ../../data/query_implementation */ 77549).queryImpl; DevExpress.data.queryAdapters = __webpack_require__( /*! ../../data/query_adapters */ 16135); var dataUtils = __webpack_require__( /*! ../../data/utils */ 16454); DevExpress.data.utils.normalizeBinaryCriterion = dataUtils.normalizeBinaryCriterion; DevExpress.data.utils.normalizeSortingInfo = dataUtils.normalizeSortingInfo; DevExpress.data.utils.errorMessageFromXhr = dataUtils.errorMessageFromXhr; DevExpress.data.utils.aggregators = dataUtils.aggregators; DevExpress.data.utils.keysEqual = dataUtils.keysEqual; DevExpress.data.utils.isDisjunctiveOperator = dataUtils.isDisjunctiveOperator; DevExpress.data.utils.isConjunctiveOperator = dataUtils.isConjunctiveOperator; DevExpress.data.utils.processRequestResultLock = dataUtils.processRequestResultLock; DevExpress.data.utils.toComparable = __webpack_require__( /*! ../../core/utils/data */ 47617).toComparable; DevExpress.data.utils.multiLevelGroup = __webpack_require__( /*! ../../data/store_helper */ 99236).multiLevelGroup; DevExpress.data.utils.arrangeSortingInfo = __webpack_require__( /*! ../../data/store_helper */ 99236).arrangeSortingInfo; DevExpress.data.utils.normalizeDataSourceOptions = __webpack_require__( /*! ../../data/data_source/utils */ 9234).normalizeDataSourceOptions }, 72343: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/bundles/modules/data.odata.js ***! \***************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ./data */ 86635); DevExpress.data.ODataStore = __webpack_require__( /*! ../../data/odata/store */ 341); DevExpress.data.ODataContext = __webpack_require__( /*! ../../data/odata/context */ 47256); DevExpress.data.utils = DevExpress.data.utils || {}; DevExpress.data.utils.odata = {}; DevExpress.data.utils.odata.keyConverters = __webpack_require__( /*! ../../data/odata/utils */ 77869).keyConverters; DevExpress.data.EdmLiteral = __webpack_require__( /*! ../../data/odata/utils */ 77869).EdmLiteral; var ODataUtilsModule = __webpack_require__( /*! ../../data/odata/utils */ 77869); DevExpress.data.utils.odata.serializePropName = ODataUtilsModule.serializePropName; DevExpress.data.utils.odata.serializeValue = ODataUtilsModule.serializeValue; DevExpress.data.utils.odata.serializeKey = ODataUtilsModule.serializeKey; DevExpress.data.utils.odata.sendRequest = ODataUtilsModule.sendRequest; DevExpress.data.queryAdapters = DevExpress.data.queryAdapters || {}; DevExpress.data.queryAdapters.odata = __webpack_require__( /*! ../../data/odata/query_adapter */ 54263).odata }, 56208: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/bundles/modules/file_management.js ***! \********************************************************************************/ function(module, __unused_webpack_exports, __webpack_require__) { var _core = _interopRequireDefault(__webpack_require__( /*! ./core */ 36991)); var _error = _interopRequireDefault(__webpack_require__( /*! ../../file_management/error */ 49816)); var _file_system_item = _interopRequireDefault(__webpack_require__( /*! ../../file_management/file_system_item */ 45765)); var _object_provider = _interopRequireDefault(__webpack_require__( /*! ../../file_management/object_provider */ 4323)); var _remote_provider = _interopRequireDefault(__webpack_require__( /*! ../../file_management/remote_provider */ 41332)); var _custom_provider = _interopRequireDefault(__webpack_require__( /*! ../../file_management/custom_provider */ 98831)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } module.exports = _core.default.fileManagement = _core.default.fileManagement || {}; _core.default.fileManagement.FileSystemError = _error.default; _core.default.fileManagement.FileSystemItem = _file_system_item.default; _core.default.fileManagement.ObjectFileSystemProvider = _object_provider.default; _core.default.fileManagement.RemoteFileSystemProvider = _remote_provider.default; _core.default.fileManagement.CustomFileSystemProvider = _custom_provider.default }, 85357: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/bundles/modules/parts/core.js ***! \***************************************************************************/ function(module, __unused_webpack_exports, __webpack_require__) { var DevExpress = __webpack_require__( /*! ../../../bundles/modules/core */ 36991); __webpack_require__( /*! ../../../integration/jquery */ 78475); __webpack_require__( /*! ../../../integration/angular */ 71582); __webpack_require__( /*! ../../../integration/knockout */ 49281); __webpack_require__( /*! ../../../localization/globalize/core */ 74872); __webpack_require__( /*! ../../../localization/globalize/message */ 46949); __webpack_require__( /*! ../../../localization/globalize/number */ 908); __webpack_require__( /*! ../../../localization/globalize/date */ 60316); __webpack_require__( /*! ../../../localization/globalize/currency */ 7239); __webpack_require__( /*! ../../../events/click */ 95429); __webpack_require__( /*! ../../../events/contextmenu */ 49166); __webpack_require__( /*! ../../../events/double_click */ 85272); __webpack_require__( /*! ../../../events/drag */ 23174); __webpack_require__( /*! ../../../events/hold */ 11699); __webpack_require__( /*! ../../../events/hover */ 24028); __webpack_require__( /*! ../../../events/pointer */ 93786); __webpack_require__( /*! ../../../events/swipe */ 34309); __webpack_require__( /*! ../../../events/transform */ 91093); module.exports = DevExpress }, 94620: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/bundles/modules/parts/data.js ***! \***************************************************************************/ function(module, __unused_webpack_exports, __webpack_require__) { var DevExpress = __webpack_require__( /*! ./core */ 85357); var data = DevExpress.data = __webpack_require__( /*! ../../../bundles/modules/data */ 86635); data.odata = __webpack_require__( /*! ../../../bundles/modules/data.odata */ 72343); module.exports = data }, 70527: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/bundles/modules/parts/file_management.js ***! \**************************************************************************************/ function(module, __unused_webpack_exports, __webpack_require__) { var _core = (obj = __webpack_require__( /*! ./core */ 85357), obj && obj.__esModule ? obj : { default: obj }); var obj; var fileManagement = __webpack_require__( /*! ../../../bundles/modules/file_management */ 56208); _core.default.fileManagement = fileManagement; module.exports = fileManagement }, 66312: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/bundles/modules/parts/viz.js ***! \**************************************************************************/ function(module, __unused_webpack_exports, __webpack_require__) { var DevExpress = __webpack_require__( /*! ./core */ 85357); __webpack_require__( /*! ./data */ 94620); __webpack_require__( /*! ../common.charts */ 72505); var viz = DevExpress.viz = __webpack_require__( /*! ../../../bundles/modules/viz */ 20802); viz.currentTheme = __webpack_require__( /*! ../../../viz/themes */ 86231).currentTheme; viz.registerTheme = __webpack_require__( /*! ../../../viz/themes */ 86231).registerTheme; viz.exportFromMarkup = __webpack_require__( /*! ../../../viz/export */ 5259).exportFromMarkup; viz.getMarkup = __webpack_require__( /*! ../../../viz/export */ 5259).getMarkup; viz.exportWidgets = __webpack_require__( /*! ../../../viz/export */ 5259).exportWidgets; viz.currentPalette = __webpack_require__( /*! ../../../viz/palette */ 23696).currentPalette; viz.getPalette = __webpack_require__( /*! ../../../viz/palette */ 23696).getPalette; viz.generateColors = __webpack_require__( /*! ../../../viz/palette */ 23696).generateColors; viz.registerPalette = __webpack_require__( /*! ../../../viz/palette */ 23696).registerPalette; viz.refreshTheme = __webpack_require__( /*! ../../../viz/themes */ 86231).refreshTheme; viz.dxChart = __webpack_require__( /*! ../../../viz/chart */ 99511); viz.dxPieChart = __webpack_require__( /*! ../../../viz/pie_chart */ 72111); viz.dxPolarChart = __webpack_require__( /*! ../../../viz/polar_chart */ 80919); viz.dxLinearGauge = __webpack_require__( /*! ../../../viz/linear_gauge */ 99630); viz.dxCircularGauge = __webpack_require__( /*! ../../../viz/circular_gauge */ 39847); viz.dxBarGauge = __webpack_require__( /*! ../../../viz/bar_gauge */ 45888); viz.dxRangeSelector = __webpack_require__( /*! ../../../viz/range_selector */ 82879); viz.dxVectorMap = __webpack_require__( /*! ../../../viz/vector_map */ 81849); viz.map = {}; viz.map.sources = {}; viz.map.projection = __webpack_require__( /*! ../../../viz/vector_map/projection */ 102).projection; viz.dxSparkline = __webpack_require__( /*! ../../../viz/sparkline */ 43759); viz.dxBullet = __webpack_require__( /*! ../../../viz/bullet */ 88950); viz.dxTreeMap = __webpack_require__( /*! ../../../viz/tree_map */ 15584); viz.dxFunnel = __webpack_require__( /*! ../../../viz/funnel */ 30187); viz.dxSankey = __webpack_require__( /*! ../../../viz/sankey */ 34377); viz.BaseWidget = __webpack_require__( /*! ../../../viz/core/base_widget */ 59063); viz.getTheme = __webpack_require__( /*! ../../../viz/themes */ 86231).getTheme; viz.findTheme = __webpack_require__( /*! ../../../viz/themes */ 86231).getTheme; viz.refreshAll = __webpack_require__( /*! ../../../viz/themes */ 86231).refreshTheme; viz.refreshPaths = __webpack_require__( /*! ../../../viz/utils */ 34434).refreshPaths; viz.gauges = { __internals: {} }; viz._dashboard = {}; viz._dashboard.Renderer = __webpack_require__( /*! ../../../viz/core/renderers/renderer */ 56453).Renderer; viz._dashboard.SvgElement = __webpack_require__( /*! ../../../viz/core/renderers/renderer */ 56453).SvgElement; viz._dashboard.patchFontOptions = __webpack_require__( /*! ../../../viz/core/utils */ 19157).patchFontOptions; module.exports = viz }, 50779: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/bundles/modules/parts/widgets-base.js ***! \***********************************************************************************/ function(module, __unused_webpack_exports, __webpack_require__) { var DevExpress = __webpack_require__( /*! ./core */ 85357); __webpack_require__( /*! ./data */ 94620); __webpack_require__( /*! ./file_management */ 70527); var ui = DevExpress.ui = __webpack_require__( /*! ../../../bundles/modules/ui */ 26864); ui.themes = __webpack_require__( /*! ../../../ui/themes */ 75811); ui.setTemplateEngine = __webpack_require__( /*! ../../../core/templates/template_engine_registry */ 72987).setTemplateEngine; ui.dialog = __webpack_require__( /*! ../../../ui/dialog */ 15029); ui.notify = __webpack_require__( /*! ../../../ui/notify */ 59958); ui.repaintFloatingActionButton = __webpack_require__( /*! ../../../ui/speed_dial_action/repaint_floating_action_button */ 81374); ui.hideToasts = __webpack_require__( /*! ../../../ui/toast/hide_toasts */ 33964); ui.dxActionSheet = __webpack_require__( /*! ../../../ui/action_sheet */ 81476); ui.dxAutocomplete = __webpack_require__( /*! ../../../ui/autocomplete */ 65418); ui.dxBox = __webpack_require__( /*! ../../../ui/box */ 55551); ui.dxButton = __webpack_require__( /*! ../../../ui/button */ 63008); ui.dxDropDownButton = __webpack_require__( /*! ../../../ui/drop_down_button */ 45231); ui.dxButtonGroup = __webpack_require__( /*! ../../../ui/button_group */ 28236); ui.dxCalendar = __webpack_require__( /*! ../../../ui/calendar */ 26559); ui.dxCheckBox = __webpack_require__( /*! ../../../ui/check_box */ 18859); ui.dxColorBox = __webpack_require__( /*! ../../../ui/color_box */ 4278); ui.dxDateBox = __webpack_require__( /*! ../../../ui/date_box */ 29589); ui.dxDateRangeBox = __webpack_require__( /*! ../../../ui/date_range_box */ 56258); ui.dxDrawer = __webpack_require__( /*! ../../../ui/drawer */ 45065); ui.dxDeferRendering = __webpack_require__( /*! ../../../ui/defer_rendering */ 28414); ui.dxDropDownBox = __webpack_require__( /*! ../../../ui/drop_down_box */ 36646); ui.dxFileUploader = __webpack_require__( /*! ../../../ui/file_uploader */ 53749); ui.dxForm = __webpack_require__( /*! ../../../ui/form */ 17737); ui.dxGallery = __webpack_require__( /*! ../../../ui/gallery */ 49433); ui.dxHtmlEditor = __webpack_require__( /*! ../../../ui/html_editor */ 9619); ui.dxList = __webpack_require__( /*! ../../../ui/list */ 86e3); ui.dxLoadIndicator = __webpack_require__( /*! ../../../ui/load_indicator */ 2492); ui.dxLoadPanel = __webpack_require__( /*! ../../../ui/load_panel */ 97218); ui.dxLookup = __webpack_require__( /*! ../../../ui/lookup */ 55935); ui.dxMap = __webpack_require__( /*! ../../../ui/map */ 64304); ui.dxMultiView = __webpack_require__( /*! ../../../ui/multi_view */ 86478); ui.dxNumberBox = __webpack_require__( /*! ../../../ui/number_box */ 34171); ui.dxOverlay = __webpack_require__( /*! ../../../ui/overlay/ui.overlay */ 89799); ui.dxPopover = __webpack_require__( /*! ../../../ui/popover */ 22348); ui.dxPopup = __webpack_require__( /*! ../../../ui/popup */ 39114); ui.dxProgressBar = __webpack_require__( /*! ../../../ui/progress_bar */ 28080); ui.dxRadioGroup = __webpack_require__( /*! ../../../ui/radio_group */ 14305); ui.dxRangeSlider = __webpack_require__( /*! ../../../ui/range_slider */ 36992); ui.dxResizable = __webpack_require__( /*! ../../../ui/resizable */ 46743); ui.dxResponsiveBox = __webpack_require__( /*! ../../../ui/responsive_box */ 21643); ui.dxScrollView = __webpack_require__( /*! ../../../ui/scroll_view */ 4741); ui.dxSelectBox = __webpack_require__( /*! ../../../ui/select_box */ 78665); ui.dxSlider = __webpack_require__( /*! ../../../ui/slider */ 97834); ui.dxSpeedDialAction = __webpack_require__( /*! ../../../ui/speed_dial_action */ 17017); ui.dxSwitch = __webpack_require__( /*! ../../../ui/switch */ 31609); ui.dxTabPanel = __webpack_require__( /*! ../../../ui/tab_panel */ 21807); ui.dxTabs = __webpack_require__( /*! ../../../ui/tabs */ 13453); ui.dxTagBox = __webpack_require__( /*! ../../../ui/tag_box */ 31362); ui.dxTextArea = __webpack_require__( /*! ../../../ui/text_area */ 51237); ui.dxTextBox = __webpack_require__( /*! ../../../ui/text_box */ 29837); ui.dxTileView = __webpack_require__( /*! ../../../ui/tile_view */ 93094); ui.dxToast = __webpack_require__( /*! ../../../ui/toast */ 37748); ui.dxToolbar = __webpack_require__( /*! ../../../ui/toolbar */ 71042); ui.dxTooltip = __webpack_require__( /*! ../../../ui/tooltip */ 94920); ui.dxTrackBar = __webpack_require__( /*! ../../../ui/track_bar */ 39661); ui.dxDraggable = __webpack_require__( /*! ../../../ui/draggable */ 42160); ui.dxSortable = __webpack_require__( /*! ../../../ui/sortable */ 66843); DevExpress.validationEngine = __webpack_require__( /*! ../../../ui/validation_engine */ 90964); ui.dxValidationSummary = __webpack_require__( /*! ../../../ui/validation_summary */ 97289); ui.dxValidationGroup = __webpack_require__( /*! ../../../ui/validation_group */ 4401); ui.dxValidator = __webpack_require__( /*! ../../../ui/validator */ 39562); __webpack_require__( /*! ../../../ui/html_editor/converters/markdown */ 52935); ui.CollectionWidget = __webpack_require__( /*! ../../../ui/collection/ui.collection_widget.edit */ 11050); ui.dxDropDownEditor = __webpack_require__( /*! ../../../ui/drop_down_editor/ui.drop_down_editor */ 44687); module.exports = ui }, 2025: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/bundles/modules/parts/widgets-web.js ***! \**********************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var data = __webpack_require__( /*! ./data */ 94620); var ui = __webpack_require__( /*! ./widgets-base */ 50779); ui.dxAccordion = __webpack_require__( /*! ../../../ui/accordion */ 76219); ui.dxContextMenu = __webpack_require__( /*! ../../../ui/context_menu */ 10042); ui.dxDataGrid = __webpack_require__( /*! ../../../ui/data_grid */ 1186); ui.dxTreeList = __webpack_require__( /*! ../../../ui/tree_list */ 82655); ui.dxMenu = __webpack_require__( /*! ../../../ui/menu */ 76995); ui.dxPivotGrid = __webpack_require__( /*! ../../../ui/pivot_grid */ 96089); ui.dxPivotGridFieldChooser = __webpack_require__( /*! ../../../ui/pivot_grid_field_chooser */ 32014); data.PivotGridDataSource = __webpack_require__( /*! ../../../ui/pivot_grid/data_source */ 98713); data.XmlaStore = __webpack_require__( /*! ../../../ui/pivot_grid/xmla_store */ 9170); ui.dxScheduler = __webpack_require__( /*! ../../../ui/scheduler */ 9508); ui.dxTreeView = __webpack_require__( /*! ../../../ui/tree_view */ 30254); ui.dxFilterBuilder = __webpack_require__( /*! ../../../ui/filter_builder */ 20301); ui.dxFileManager = __webpack_require__( /*! ../../../ui/file_manager */ 87446); ui.dxDiagram = __webpack_require__( /*! ../../../ui/diagram */ 52311); ui.dxGantt = __webpack_require__( /*! ../../../ui/gantt */ 33465) }, 26864: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/bundles/modules/ui.js ***! \*******************************************************************/ function(module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ./core */ 36991); module.exports = DevExpress.ui = {} }, 20802: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/bundles/modules/viz.js ***! \********************************************************************/ function(module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ./core */ 36991); module.exports = DevExpress.viz = DevExpress.viz || {} }, 52752: /*!******************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/color.js ***! \******************************************************/ function(module, exports) { exports.default = void 0; var standardColorNames = { aliceblue: "f0f8ff", antiquewhite: "faebd7", aqua: "00ffff", aquamarine: "7fffd4", azure: "f0ffff", beige: "f5f5dc", bisque: "ffe4c4", black: "000000", blanchedalmond: "ffebcd", blue: "0000ff", blueviolet: "8a2be2", brown: "a52a2a", burlywood: "deb887", cadetblue: "5f9ea0", chartreuse: "7fff00", chocolate: "d2691e", coral: "ff7f50", cornflowerblue: "6495ed", cornsilk: "fff8dc", crimson: "dc143c", cyan: "00ffff", darkblue: "00008b", darkcyan: "008b8b", darkgoldenrod: "b8860b", darkgray: "a9a9a9", darkgreen: "006400", darkgrey: "a9a9a9", darkkhaki: "bdb76b", darkmagenta: "8b008b", darkolivegreen: "556b2f", darkorange: "ff8c00", darkorchid: "9932cc", darkred: "8b0000", darksalmon: "e9967a", darkseagreen: "8fbc8f", darkslateblue: "483d8b", darkslategray: "2f4f4f", darkslategrey: "2f4f4f", darkturquoise: "00ced1", darkviolet: "9400d3", deeppink: "ff1493", deepskyblue: "00bfff", dimgray: "696969", dimgrey: "696969", dodgerblue: "1e90ff", feldspar: "d19275", firebrick: "b22222", floralwhite: "fffaf0", forestgreen: "228b22", fuchsia: "ff00ff", gainsboro: "dcdcdc", ghostwhite: "f8f8ff", gold: "ffd700", goldenrod: "daa520", gray: "808080", green: "008000", greenyellow: "adff2f", grey: "808080", honeydew: "f0fff0", hotpink: "ff69b4", indianred: "cd5c5c", indigo: "4b0082", ivory: "fffff0", khaki: "f0e68c", lavender: "e6e6fa", lavenderblush: "fff0f5", lawngreen: "7cfc00", lemonchiffon: "fffacd", lightblue: "add8e6", lightcoral: "f08080", lightcyan: "e0ffff", lightgoldenrodyellow: "fafad2", lightgray: "d3d3d3", lightgreen: "90ee90", lightgrey: "d3d3d3", lightpink: "ffb6c1", lightsalmon: "ffa07a", lightseagreen: "20b2aa", lightskyblue: "87cefa", lightslateblue: "8470ff", lightslategray: "778899", lightslategrey: "778899", lightsteelblue: "b0c4de", lightyellow: "ffffe0", lime: "00ff00", limegreen: "32cd32", linen: "faf0e6", magenta: "ff00ff", maroon: "800000", mediumaquamarine: "66cdaa", mediumblue: "0000cd", mediumorchid: "ba55d3", mediumpurple: "9370d8", mediumseagreen: "3cb371", mediumslateblue: "7b68ee", mediumspringgreen: "00fa9a", mediumturquoise: "48d1cc", mediumvioletred: "c71585", midnightblue: "191970", mintcream: "f5fffa", mistyrose: "ffe4e1", moccasin: "ffe4b5", navajowhite: "ffdead", navy: "000080", oldlace: "fdf5e6", olive: "808000", olivedrab: "6b8e23", orange: "ffa500", orangered: "ff4500", orchid: "da70d6", palegoldenrod: "eee8aa", palegreen: "98fb98", paleturquoise: "afeeee", palevioletred: "d87093", papayawhip: "ffefd5", peachpuff: "ffdab9", peru: "cd853f", pink: "ffc0cb", plum: "dda0dd", powderblue: "b0e0e6", purple: "800080", rebeccapurple: "663399", red: "ff0000", rosybrown: "bc8f8f", royalblue: "4169e1", saddlebrown: "8b4513", salmon: "fa8072", sandybrown: "f4a460", seagreen: "2e8b57", seashell: "fff5ee", sienna: "a0522d", silver: "c0c0c0", skyblue: "87ceeb", slateblue: "6a5acd", slategray: "708090", slategrey: "708090", snow: "fffafa", springgreen: "00ff7f", steelblue: "4682b4", tan: "d2b48c", teal: "008080", thistle: "d8bfd8", tomato: "ff6347", turquoise: "40e0d0", violet: "ee82ee", violetred: "d02090", wheat: "f5deb3", white: "ffffff", whitesmoke: "f5f5f5", yellow: "ffff00", yellowgreen: "9acd32" }; var standardColorTypes = [{ re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/, process: function(colorString) { return [parseInt(colorString[1], 10), parseInt(colorString[2], 10), parseInt(colorString[3], 10)] } }, { re: /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d*\.*\d+)\)$/, process: function(colorString) { return [parseInt(colorString[1], 10), parseInt(colorString[2], 10), parseInt(colorString[3], 10), parseFloat(colorString[4])] } }, { re: /^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/, process: function(colorString) { return [parseInt(colorString[1], 16), parseInt(colorString[2], 16), parseInt(colorString[3], 16)] } }, { re: /^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/, process: function(colorString) { return [parseInt(colorString[1], 16), parseInt(colorString[2], 16), parseInt(colorString[3], 16), Number((parseInt(colorString[4], 16) / 255).toFixed(2))] } }, { re: /^#([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})$/, process: function(colorString) { return [parseInt(colorString[1] + colorString[1], 16), parseInt(colorString[2] + colorString[2], 16), parseInt(colorString[3] + colorString[3], 16), Number((parseInt(colorString[4] + colorString[4], 16) / 255).toFixed(2))] } }, { re: /^#([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})$/, process: function(colorString) { return [parseInt(colorString[1] + colorString[1], 16), parseInt(colorString[2] + colorString[2], 16), parseInt(colorString[3] + colorString[3], 16)] } }, { re: /^hsv\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/, process: function(colorString) { var h = parseInt(colorString[1], 10); var s = parseInt(colorString[2], 10); var v = parseInt(colorString[3], 10); var rgb = hsvToRgb(h, s, v); return [rgb[0], rgb[1], rgb[2], 1, [h, s, v]] } }, { re: /^hsl\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/, process: function(colorString) { var h = parseInt(colorString[1], 10); var s = parseInt(colorString[2], 10); var l = parseInt(colorString[3], 10); var rgb = hslToRgb(h, s, l); return [rgb[0], rgb[1], rgb[2], 1, null, [h, s, l]] } }]; var _round = Math.round; function Color(value) { this.baseColor = value; var color; if (value) { color = String(value).toLowerCase().replace(/ /g, ""); color = standardColorNames[color] ? "#" + standardColorNames[color] : color; color = function(color) { if ("transparent" === color) { return [0, 0, 0, 0] } var i = 0; var ii = standardColorTypes.length; var str; for (; i < ii; ++i) { str = standardColorTypes[i].re.exec(color); if (str) { return standardColorTypes[i].process(str) } } return null }(color) } if (!color) { this.colorIsInvalid = true } color = color || {}; this.r = normalize(color[0]); this.g = normalize(color[1]); this.b = normalize(color[2]); this.a = normalize(color[3], 1, 1); if (color[4]) { this.hsv = { h: color[4][0], s: color[4][1], v: color[4][2] } } else { this.hsv = function(r, g, b) { var max = Math.max(r, g, b); var min = Math.min(r, g, b); var delta = max - min; var H; var S; var V = max; S = 0 === max ? 0 : 1 - min / max; if (max === min) { H = 0 } else { switch (max) { case r: H = (g - b) / delta * 60; if (g < b) { H += 360 } break; case g: H = (b - r) / delta * 60 + 120; break; case b: H = (r - g) / delta * 60 + 240 } } S *= 100; V *= 100 / 255; return { h: Math.round(H), s: Math.round(S), v: Math.round(V) } }(this.r, this.g, this.b) } if (color[5]) { this.hsl = { h: color[5][0], s: color[5][1], l: color[5][2] } } else { this.hsl = function(r, g, b) { r = convertTo01Bounds(r, 255); g = convertTo01Bounds(g, 255); b = convertTo01Bounds(b, 255); var max = Math.max(r, g, b); var min = Math.min(r, g, b); var maxMinSum = max + min; var h; var s; var l = maxMinSum / 2; if (max === min) { h = s = 0 } else { var delta = max - min; if (l > .5) { s = delta / (2 - maxMinSum) } else { s = delta / maxMinSum } h = function(r, g, b, delta) { var max = Math.max(r, g, b); switch (max) { case r: return (g - b) / delta + (g < b ? 6 : 0); case g: return (b - r) / delta + 2; case b: return (r - g) / delta + 4 } }(r, g, b, delta); h /= 6 } return { h: _round(360 * h), s: _round(100 * s), l: _round(100 * l) } }(this.r, this.g, this.b) } } function normalize(colorComponent, def, max) { def = def || 0; max = max || 255; return colorComponent < 0 || isNaN(colorComponent) ? def : colorComponent > max ? max : colorComponent } function hsvToRgb(h, s, v) { var index = Math.floor(h % 360 / 60); var vMin = (100 - s) * v / 100; var a = h % 60 / 60 * (v - vMin); var vInc = vMin + a; var vDec = v - a; var r; var g; var b; switch (index) { case 0: r = v; g = vInc; b = vMin; break; case 1: r = vDec; g = v; b = vMin; break; case 2: r = vMin; g = v; b = vInc; break; case 3: r = vMin; g = vDec; b = v; break; case 4: r = vInc; g = vMin; b = v; break; case 5: r = v; g = vMin; b = vDec } return [Math.round(2.55 * r), Math.round(2.55 * g), Math.round(2.55 * b)] } function makeColorTint(colorPart, h) { var colorTint = h; if ("r" === colorPart) { colorTint = h + 1 / 3 } if ("b" === colorPart) { colorTint = h - 1 / 3 } return colorTint } function hueToRgb(p, q, colorTint) { colorTint = function(colorTint) { if (colorTint < 0) { colorTint += 1 } if (colorTint > 1) { colorTint -= 1 } return colorTint }(colorTint); if (colorTint < 1 / 6) { return p + 6 * (q - p) * colorTint } if (colorTint < .5) { return q } if (colorTint < 2 / 3) { return p + (q - p) * (2 / 3 - colorTint) * 6 } return p } function hslToRgb(h, s, l) { var r; var g; var b; h = convertTo01Bounds(h, 360); s = convertTo01Bounds(s, 100); l = convertTo01Bounds(l, 100); if (0 === s) { r = g = b = l } else { var q = l < .5 ? l * (1 + s) : l + s - l * s; var p = 2 * l - q; r = hueToRgb(p, q, makeColorTint("r", h)); g = hueToRgb(p, q, makeColorTint("g", h)); b = hueToRgb(p, q, makeColorTint("b", h)) } return [_round(255 * r), _round(255 * g), _round(255 * b)] } function convertTo01Bounds(n, max) { n = Math.min(max, Math.max(0, parseFloat(n))); if (Math.abs(n - max) < 1e-6) { return 1 } return n % max / parseFloat(max) } function isIntegerBetweenMinAndMax(number, min, max) { min = min || 0; max = max || 255; if (number % 1 !== 0 || number < min || number > max || "number" !== typeof number || isNaN(number)) { return false } return true } Color.prototype = { constructor: Color, highlight: function(step) { step = step || 10; return this.alter(step).toHex() }, darken: function(step) { step = step || 10; return this.alter(-step).toHex() }, alter: function(step) { var result = new Color; result.r = normalize(this.r + step); result.g = normalize(this.g + step); result.b = normalize(this.b + step); return result }, blend: function(blendColor, opacity) { var other = blendColor instanceof Color ? blendColor : new Color(blendColor); var result = new Color; result.r = normalize(_round(this.r * (1 - opacity) + other.r * opacity)); result.g = normalize(_round(this.g * (1 - opacity) + other.g * opacity)); result.b = normalize(_round(this.b * (1 - opacity) + other.b * opacity)); return result }, toHex: function() { return r = this.r, g = this.g, b = this.b, "#" + (16777216 | r << 16 | g << 8 | b).toString(16).slice(1); var r, g, b }, getPureColor: function() { var rgb = hsvToRgb(this.hsv.h, 100, 100); return new Color("rgb(" + rgb.join(",") + ")") }, isValidHex: function(hex) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(hex) }, isValidRGB: function(r, g, b) { if (!isIntegerBetweenMinAndMax(r) || !isIntegerBetweenMinAndMax(g) || !isIntegerBetweenMinAndMax(b)) { return false } return true }, isValidAlpha: function(a) { if (isNaN(a) || a < 0 || a > 1 || "number" !== typeof a) { return false } return true }, colorIsInvalid: false, fromHSL: function(hsl) { var color = new Color; var rgb = hslToRgb(hsl.h, hsl.s, hsl.l); color.r = rgb[0]; color.g = rgb[1]; color.b = rgb[2]; return color } }; var _default = Color; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 29932: /*!**************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/common/charts.js ***! \**************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.registerPattern = exports.registerGradient = exports.getGraphicObjects = void 0; var _utils = __webpack_require__( /*! ../viz/core/utils */ 19157); function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var graphicObjects = {}; exports.registerPattern = function(options) { var id = (0, _utils.getNextDefsSvgId)(); graphicObjects[id] = _extends({ type: "pattern" }, options); return id }; exports.registerGradient = function(type, options) { var id = (0, _utils.getNextDefsSvgId)(); graphicObjects[id] = _extends({ type: type }, options); return id }; exports.getGraphicObjects = function() { return graphicObjects } }, 62414: /*!************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/action.js ***! \************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = (obj = __webpack_require__( /*! ./renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _window = __webpack_require__( /*! ./utils/window */ 58201); var _type = __webpack_require__( /*! ./utils/type */ 35922); var _iterator = __webpack_require__( /*! ./utils/iterator */ 95479); var Action = function() { function Action(action, config) { config = config || {}; this._action = action; this._context = config.context || (0, _window.getWindow)(); this._beforeExecute = config.beforeExecute; this._afterExecute = config.afterExecute; this._component = config.component; this._validatingTargetName = config.validatingTargetName; var excludeValidators = this._excludeValidators = {}; if (config.excludeValidators) { for (var i = 0; i < config.excludeValidators.length; i++) { excludeValidators[config.excludeValidators[i]] = true } } } var _proto = Action.prototype; _proto.execute = function() { var e = { action: this._action, args: Array.prototype.slice.call(arguments), context: this._context, component: this._component, validatingTargetName: this._validatingTargetName, cancel: false, handled: false }; var beforeExecute = this._beforeExecute; var afterExecute = this._afterExecute; var argsBag = e.args[0] || {}; if (!this._validateAction(e)) { return } null === beforeExecute || void 0 === beforeExecute ? void 0 : beforeExecute.call(this._context, e); if (e.cancel) { return } var result = this._executeAction(e); if (argsBag.cancel) { return } null === afterExecute || void 0 === afterExecute ? void 0 : afterExecute.call(this._context, e); return result }; _proto._validateAction = function(e) { var excludeValidators = this._excludeValidators; var executors = Action.executors; for (var name in executors) { if (!excludeValidators[name]) { var _executor$validate; var executor = executors[name]; null === (_executor$validate = executor.validate) || void 0 === _executor$validate ? void 0 : _executor$validate.call(executor, e); if (e.cancel) { return false } } } return true }; _proto._executeAction = function(e) { var result; var executors = Action.executors; for (var name in executors) { var _executor$execute; var executor = executors[name]; null === (_executor$execute = executor.execute) || void 0 === _executor$execute ? void 0 : _executor$execute.call(executor, e); if (e.handled) { result = e.result; break } } return result }; Action.registerExecutor = function(name, executor) { if ((0, _type.isPlainObject)(name)) { (0, _iterator.each)(name, Action.registerExecutor); return } Action.executors[name] = executor }; Action.unregisterExecutor = function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] }(0, _iterator.each)(args, (function() { delete Action.executors[this] })) }; return Action }(); exports.default = Action; Action.executors = {}; var createValidatorByTargetElement = function(condition) { return function(e) { if (!e.args.length) { return } var args = e.args[0]; var element = args[e.validatingTargetName] || args.element; if (element && condition((0, _renderer.default)(element))) { e.cancel = true } } }; Action.registerExecutor({ disabled: { validate: createValidatorByTargetElement((function($target) { return $target.is(".dx-state-disabled, .dx-state-disabled *") })) }, readOnly: { validate: createValidatorByTargetElement((function($target) { return $target.is(".dx-state-readonly, .dx-state-readonly *:not(.dx-state-independent)") })) }, undefined: { execute: function(e) { if (!e.action) { e.result = void 0; e.handled = true } } }, func: { execute: function(e) { if ((0, _type.isFunction)(e.action)) { e.result = e.action.call(e.context, e.args[0]); e.handled = true } } } }); module.exports = exports.default; module.exports.default = exports.default }, 38377: /*!***********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/class.js ***! \***********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _errors = (obj = __webpack_require__( /*! ./errors */ 17381), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ./utils/type */ 35922); var wrapOverridden = function(baseProto, methodName, method) { return function() { var prevCallBase = this.callBase; this.callBase = baseProto[methodName]; try { return method.apply(this, arguments) } finally { this.callBase = prevCallBase } } }; var redefine = function(members) { var overridden; var memberName; var member; if (!members) { return this } for (memberName in members) { member = members[memberName]; overridden = "function" === typeof this.prototype[memberName] && "function" === typeof member; this.prototype[memberName] = overridden ? wrapOverridden(this.parent.prototype, memberName, member) : member } return this }; var include = function() { var classObj = this; var argument; var name; var i; var hasClassObjOwnProperty = Object.prototype.hasOwnProperty.bind(classObj); var isES6Class = !hasClassObjOwnProperty("_includedCtors") && !hasClassObjOwnProperty("_includedPostCtors"); if (isES6Class) { classObj._includedCtors = classObj._includedCtors.slice(0); classObj._includedPostCtors = classObj._includedPostCtors.slice(0) } for (i = 0; i < arguments.length; i++) { argument = arguments[i]; if (argument.ctor) { classObj._includedCtors.push(argument.ctor) } if (argument.postCtor) { classObj._includedPostCtors.push(argument.postCtor) } for (name in argument) { if ("ctor" === name || "postCtor" === name || "default" === name) { continue } classObj.prototype[name] = argument[name] } } return classObj }; var subclassOf = function(parentClass) { var hasParentProperty = Object.prototype.hasOwnProperty.bind(this)("parent"); var isES6Class = !hasParentProperty && this.parent; if (isES6Class) { var baseClass = Object.getPrototypeOf(this); return baseClass === parentClass || baseClass.subclassOf(parentClass) } else { if (this.parent === parentClass) { return true } if (!this.parent || !this.parent.subclassOf) { return false } return this.parent.subclassOf(parentClass) } }; var abstract = function() { throw _errors.default.Error("E0001") }; var copyStatic = (hasOwn = Object.prototype.hasOwnProperty, function(source, destination) { for (var key in source) { if (!hasOwn.call(source, key)) { return } destination[key] = source[key] } }); var hasOwn; var classImpl = function() {}; classImpl.inherit = function(members) { var inheritor = function() { if (!this || (0, _type.isWindow)(this) || "function" !== typeof this.constructor) { throw _errors.default.Error("E0003") } var instance = this; var ctor = instance.ctor; var includedCtors = instance.constructor._includedCtors; var includedPostCtors = instance.constructor._includedPostCtors; var i; for (i = 0; i < includedCtors.length; i++) { includedCtors[i].call(instance) } if (ctor) { ctor.apply(instance, arguments) } for (i = 0; i < includedPostCtors.length; i++) { includedPostCtors[i].call(instance) } }; inheritor.prototype = function(obj) { var func = function() {}; func.prototype = obj.prototype; return new func }(this); copyStatic(this, inheritor); inheritor.inherit = this.inherit; inheritor.abstract = abstract; inheritor.redefine = redefine; inheritor.include = include; inheritor.subclassOf = subclassOf; inheritor.parent = this; inheritor._includedCtors = this._includedCtors ? this._includedCtors.slice(0) : []; inheritor._includedPostCtors = this._includedPostCtors ? this._includedPostCtors.slice(0) : []; inheritor.prototype.constructor = inheritor; inheritor.redefine(members); return inheritor }; classImpl.abstract = abstract; var _default = classImpl; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 44297: /*!***************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/component.js ***! \***************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Component = void 0; var _config = _interopRequireDefault(__webpack_require__( /*! ./config */ 80209)); var _extend = __webpack_require__( /*! ./utils/extend */ 13306); var _index = __webpack_require__( /*! ./options/index */ 95683); var _utils = __webpack_require__( /*! ./options/utils */ 45434); var _class = _interopRequireDefault(__webpack_require__( /*! ./class */ 38377)); var _action = _interopRequireDefault(__webpack_require__( /*! ./action */ 62414)); var _errors = _interopRequireDefault(__webpack_require__( /*! ./errors */ 17381)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ./utils/callbacks */ 44504)); var _events_strategy = __webpack_require__( /*! ./events_strategy */ 80566); var _public_component = __webpack_require__( /*! ./utils/public_component */ 9321); var _postponed_operations = __webpack_require__( /*! ./postponed_operations */ 90889); var _type = __webpack_require__( /*! ./utils/type */ 35922); var _common = __webpack_require__( /*! ./utils/common */ 20576); var _data = __webpack_require__( /*! ./utils/data */ 47617); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var getEventName = function(actionName) { return actionName.charAt(2).toLowerCase() + actionName.substr(3) }; var Component = _class.default.inherit({ _setDeprecatedOptions: function() { this._deprecatedOptions = {} }, _getDeprecatedOptions: function() { return this._deprecatedOptions }, _getDefaultOptions: function() { return { onInitialized: null, onOptionChanged: null, onDisposing: null, defaultOptionsRules: null } }, _defaultOptionsRules: function() { return [] }, _setOptionsByDevice: function(rules) { this._options.applyRules(rules) }, _convertRulesToOptions: function(rules) { return (0, _utils.convertRulesToOptions)(rules) }, _isInitialOptionValue: function(name) { return this._options.isInitial(name) }, _setOptionsByReference: function() { this._optionsByReference = {} }, _getOptionsByReference: function() { return this._optionsByReference }, ctor: function() { var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; var _optionChangedCallbacks = options._optionChangedCallbacks, _disposingCallbacks = options._disposingCallbacks; this.NAME = (0, _public_component.name)(this.constructor); this._eventsStrategy = _events_strategy.EventsStrategy.create(this, options.eventsStrategy); this._updateLockCount = 0; this._optionChangedCallbacks = _optionChangedCallbacks || (0, _callbacks.default)(); this._disposingCallbacks = _disposingCallbacks || (0, _callbacks.default)(); this.postponedOperations = new _postponed_operations.PostponedOperations; this._createOptions(options) }, _createOptions: function(options) { var _this = this; this.beginUpdate(); try { this._setOptionsByReference(); this._setDeprecatedOptions(); this._options = new _index.Options(this._getDefaultOptions(), this._getDefaultOptions(), this._getOptionsByReference(), this._getDeprecatedOptions()); this._options.onChanging((function(name, previousValue, value) { return _this._initialized && _this._optionChanging(name, previousValue, value) })); this._options.onDeprecated((function(option, info) { return _this._logDeprecatedOptionWarning(option, info) })); this._options.onChanged((function(name, value, previousValue) { return _this._notifyOptionChanged(name, value, previousValue) })); this._options.onStartChange((function() { return _this.beginUpdate() })); this._options.onEndChange((function() { return _this.endUpdate() })); this._options.addRules(this._defaultOptionsRules()); if (options && options.onInitializing) { options.onInitializing.apply(this, [options]) } this._setOptionsByDevice(options.defaultOptionsRules); this._initOptions(options) } finally { this.endUpdate() } }, _initOptions: function(options) { this.option(options) }, _init: function() { var _this2 = this; this._createOptionChangedAction(); this.on("disposing", (function(args) { _this2._disposingCallbacks.fireWith(_this2, [args]) })) }, _logDeprecatedOptionWarning: function(option, info) { var message = info.message || "Use the '".concat(info.alias, "' option instead"); _errors.default.log("W0001", this.NAME, option, info.since, message) }, _logDeprecatedComponentWarning: function(since, alias) { _errors.default.log("W0000", this.NAME, since, "Use the '".concat(alias, "' widget instead")) }, _createOptionChangedAction: function() { this._optionChangedAction = this._createActionByOption("onOptionChanged", { excludeValidators: ["disabled", "readOnly"] }) }, _createDisposingAction: function() { this._disposingAction = this._createActionByOption("onDisposing", { excludeValidators: ["disabled", "readOnly"] }) }, _optionChanged: function(args) { switch (args.name) { case "onDisposing": case "onInitialized": break; case "onOptionChanged": this._createOptionChangedAction() } }, _dispose: function() { this._optionChangedCallbacks.empty(); this._createDisposingAction(); this._disposingAction(); this._eventsStrategy.dispose(); this._options.dispose(); this._disposed = true }, _lockUpdate: function() { this._updateLockCount++ }, _unlockUpdate: function() { this._updateLockCount = Math.max(this._updateLockCount - 1, 0) }, _isUpdateAllowed: function() { return 0 === this._updateLockCount }, _isInitializingRequired: function() { return !this._initializing && !this._initialized }, isInitialized: function() { return this._initialized }, _commitUpdate: function() { this.postponedOperations.callPostponedOperations(); this._isInitializingRequired() && this._initializeComponent() }, _initializeComponent: function() { this._initializing = true; try { this._init() } finally { this._initializing = false; this._lockUpdate(); this._createActionByOption("onInitialized", { excludeValidators: ["disabled", "readOnly"] })(); this._unlockUpdate(); this._initialized = true } }, instance: function() { return this }, beginUpdate: function() { this._lockUpdate() }, endUpdate: function() { this._unlockUpdate(); this._isUpdateAllowed() && this._commitUpdate() }, _optionChanging: _common.noop, _notifyOptionChanged: function(option, value, previousValue) { if (this._initialized) { var optionNames = [option].concat(this._options.getAliasesByName(option)); for (var i = 0; i < optionNames.length; i++) { var name = optionNames[i]; var args = { name: (0, _data.getPathParts)(name)[0], fullName: name, value: value, previousValue: previousValue }; if (!(optionName = name, 0 === optionName.indexOf("_", 0))) { this._optionChangedCallbacks.fireWith(this, [(0, _extend.extend)(this._defaultActionArgs(), args)]); this._optionChangedAction((0, _extend.extend)({}, args)) } if (!this._disposed && this._cancelOptionChange !== name) { this._optionChanged(args) } } } var optionName }, initialOption: function(name) { return this._options.initial(name) }, _defaultActionConfig: function() { return { context: this, component: this } }, _defaultActionArgs: function() { return { component: this } }, _createAction: function(actionSource, config) { var _this3 = this; var action; return function(e) { if (!(0, _type.isDefined)(e)) { e = {} } if (!(0, _type.isPlainObject)(e)) { e = { actionValue: e } } action = action || new _action.default(actionSource, (0, _extend.extend)(config, _this3._defaultActionConfig())); return action.execute.call(action, (0, _extend.extend)(e, _this3._defaultActionArgs())) } }, _createActionByOption: function(optionName, config) { var _this4 = this; var action; var eventName; var actionFunc; var result = function() { if (!eventName) { config = config || {}; if ("string" !== typeof optionName) { throw _errors.default.Error("E0008") } if (0 === optionName.indexOf("on")) { eventName = getEventName(optionName) } actionFunc = _this4.option(optionName) } if (!action && !actionFunc && !config.beforeExecute && !config.afterExecute && !_this4._eventsStrategy.hasEvent(eventName)) { return } if (!action) { var beforeExecute = config.beforeExecute; config.beforeExecute = function() { for (var _len2 = arguments.length, props = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { props[_key2] = arguments[_key2] } beforeExecute && beforeExecute.apply(_this4, props); _this4._eventsStrategy.fireEvent(eventName, props[0].args) }; action = _this4._createAction(actionFunc, config) } for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] } if ((0, _config.default)().wrapActionsBeforeExecute) { var beforeActionExecute = _this4.option("beforeActionExecute") || _common.noop; var wrappedAction = beforeActionExecute(_this4, action, config) || action; return wrappedAction.apply(_this4, args) } return action.apply(_this4, args) }; if ((0, _config.default)().wrapActionsBeforeExecute) { return result } var onActionCreated = this.option("onActionCreated") || _common.noop; return onActionCreated(this, result, config) || result }, on: function(eventName, eventHandler) { this._eventsStrategy.on(eventName, eventHandler); return this }, off: function(eventName, eventHandler) { this._eventsStrategy.off(eventName, eventHandler); return this }, hasActionSubscription: function(actionName) { return !!this._options.silent(actionName) || this._eventsStrategy.hasEvent(getEventName(actionName)) }, isOptionDeprecated: function(name) { return this._options.isDeprecated(name) }, _setOptionWithoutOptionChange: function(name, value) { this._cancelOptionChange = name; this.option(name, value); this._cancelOptionChange = false }, _getOptionValue: function(name, context) { var value = this.option(name); if ((0, _type.isFunction)(value)) { return value.bind(context)() } return value }, option: function() { var _this$_options; return (_this$_options = this._options).option.apply(_this$_options, arguments) }, resetOption: function(name) { this.beginUpdate(); this._options.reset(name); this.endUpdate() } }); exports.Component = Component }, 99393: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/component_registrator.js ***! \***************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ./renderer */ 68374)); var _component_registrator_callbacks = _interopRequireDefault(__webpack_require__( /*! ./component_registrator_callbacks */ 5554)); var _errors = _interopRequireDefault(__webpack_require__( /*! ./errors */ 17381)); var _public_component = __webpack_require__( /*! ./utils/public_component */ 9321); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } _component_registrator_callbacks.default.add((function(name, componentClass) { _renderer.default.fn[name] = function(options) { var isMemberInvoke = "string" === typeof options; var result; if (isMemberInvoke) { var memberName = options; var memberArgs = [].slice.call(arguments).slice(1); this.each((function() { var instance = componentClass.getInstance(this); if (!instance) { throw _errors.default.Error("E0009", name) } var member = instance[memberName]; var memberValue = member.apply(instance, memberArgs); if (void 0 === result) { result = memberValue } })) } else { this.each((function() { var instance = componentClass.getInstance(this); if (instance) { instance.option(options) } else { new componentClass(this, options) } })); result = this } return result } })); var _default = function(name, namespace, componentClass) { if (!componentClass) { componentClass = namespace } else { namespace[name] = componentClass }(0, _public_component.name)(componentClass, name); _component_registrator_callbacks.default.fire(name, componentClass) }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 5554: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/component_registrator_callbacks.js ***! \*************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _memorized_callbacks = (obj = __webpack_require__( /*! ./memorized_callbacks */ 83358), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = new _memorized_callbacks.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 80209: /*!************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/config.js ***! \************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend = __webpack_require__( /*! ./utils/extend */ 13306); var _errors = (obj = __webpack_require__( /*! ./errors */ 17381), obj && obj.__esModule ? obj : { default: obj }); var obj; var config = { rtlEnabled: false, defaultCurrency: "USD", defaultUseCurrencyAccountingStyle: true, oDataFilterToLower: true, serverDecimalSeparator: ".", decimalSeparator: ".", thousandsSeparator: ",", forceIsoDateParsing: true, wrapActionsBeforeExecute: true, useLegacyStoreResult: false, useJQuery: void 0, editorStylingMode: void 0, useLegacyVisibleIndex: false, floatingActionButtonConfig: { icon: "add", closeIcon: "close", label: "", position: { at: "right bottom", my: "right bottom", offset: { x: -16, y: -16 } }, maxSpeedDialActionCount: 5, shading: false, direction: "auto" }, optionsParser: function(optionsString) { if ("{" !== optionsString.trim().charAt(0)) { optionsString = "{" + optionsString + "}" } try { return JSON.parse(optionsString) } catch (ex) { try { return JSON.parse(normalizeToJSONString(optionsString)) } catch (exNormalize) { throw _errors.default.Error("E3018", ex, optionsString) } } } }; var normalizeToJSONString = function(optionsString) { return optionsString.replace(/'/g, '"').replace(/,\s*([\]}])/g, "$1").replace(/([{,])\s*([^":\s]+)\s*:/g, '$1"$2":') }; var deprecatedFields = ["decimalSeparator", "thousandsSeparator"]; var configMethod = function() { if (!arguments.length) { return config } var newConfig = arguments.length <= 0 ? void 0 : arguments[0]; deprecatedFields.forEach((function(deprecatedField) { if (newConfig[deprecatedField]) { var message = "Now, the ".concat(deprecatedField, " is selected based on the specified locale."); _errors.default.log("W0003", "config", deprecatedField, "19.2", message) } })); (0, _extend.extend)(config, newConfig) }; if ("undefined" !== typeof DevExpress && DevExpress.config) { configMethod(DevExpress.config) } var _default = configMethod; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 20530: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/devices.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ./utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _window = __webpack_require__( /*! ./utils/window */ 58201); var _extend = __webpack_require__( /*! ./utils/extend */ 13306); var _type = __webpack_require__( /*! ./utils/type */ 35922); var _iterator = __webpack_require__( /*! ./utils/iterator */ 95479); var _errors = _interopRequireDefault(__webpack_require__( /*! ./errors */ 17381)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ./utils/callbacks */ 44504)); var _ready_callbacks = _interopRequireDefault(__webpack_require__( /*! ./utils/ready_callbacks */ 24311)); var _resize_callbacks = _interopRequireDefault(__webpack_require__( /*! ./utils/resize_callbacks */ 55814)); var _events_strategy = __webpack_require__( /*! ./events_strategy */ 80566); var _storage = __webpack_require__( /*! ./utils/storage */ 36613); var _view_port = __webpack_require__( /*! ./utils/view_port */ 77695); var _config = _interopRequireDefault(__webpack_require__( /*! ./config */ 80209)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var navigator = (0, _window.getNavigator)(); var window = (0, _window.getWindow)(); var KNOWN_UA_TABLE = { iPhone: "iPhone", iPhone5: "iPhone", iPhone6: "iPhone", iPhone6plus: "iPhone", iPad: "iPad", iPadMini: "iPad Mini", androidPhone: "Android Mobile", androidTablet: "Android", msSurface: "Windows ARM Tablet PC", desktop: "desktop" }; var DEFAULT_DEVICE = { deviceType: "desktop", platform: "generic", version: [], phone: false, tablet: false, android: false, ios: false, generic: true, grade: "A", mac: false }; var uaParsers = { generic: function(userAgent) { var isPhone = /windows phone/i.test(userAgent) || userAgent.match(/WPDesktop/); var isTablet = !isPhone && /Windows(.*)arm(.*)Tablet PC/i.test(userAgent); var isDesktop = !isPhone && !isTablet && /msapphost/i.test(userAgent); var isMac = /((intel|ppc) mac os x)/.test(userAgent.toLowerCase()); if (!(isPhone || isTablet || isDesktop || isMac)) { return } return { deviceType: isPhone ? "phone" : isTablet ? "tablet" : "desktop", platform: "generic", version: [], grade: "A", mac: isMac } }, ios: function(userAgent) { if (!/ip(hone|od|ad)/i.test(userAgent)) { return } var isPhone = /ip(hone|od)/i.test(userAgent); var matches = userAgent.match(/os (\d+)_(\d+)_?(\d+)?/i); var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2], 10), parseInt(matches[3] || 0, 10)] : []; var isIPhone4 = 480 === window.screen.height; var grade = isIPhone4 ? "B" : "A"; return { deviceType: isPhone ? "phone" : "tablet", platform: "ios", version: version, grade: grade } }, android: function(userAgent) { if (!/android|htc_|silk/i.test(userAgent)) { return } var isPhone = /mobile/i.test(userAgent); var matches = userAgent.match(/android (\d+)\.?(\d+)?\.?(\d+)?/i); var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2] || 0, 10), parseInt(matches[3] || 0, 10)] : []; var worseThan4_4 = version.length > 1 && (version[0] < 4 || 4 === version[0] && version[1] < 4); var grade = worseThan4_4 ? "B" : "A"; return { deviceType: isPhone ? "phone" : "tablet", platform: "android", version: version, grade: grade } } }; var Devices = function() { function Devices(options) { this._window = (null === options || void 0 === options ? void 0 : options.window) || window; this._realDevice = this._getDevice(); this._currentDevice = void 0; this._currentOrientation = void 0; this._eventsStrategy = new _events_strategy.EventsStrategy(this); this.changed = (0, _callbacks.default)(); if ((0, _window.hasWindow)()) { _ready_callbacks.default.add(this._recalculateOrientation.bind(this)); _resize_callbacks.default.add(this._recalculateOrientation.bind(this)) } } var _proto = Devices.prototype; _proto.current = function(deviceOrName) { if (deviceOrName) { this._currentDevice = this._getDevice(deviceOrName); this._forced = true; this.changed.fire(); return } if (!this._currentDevice) { deviceOrName = void 0; try { deviceOrName = this._getDeviceOrNameFromWindowScope() } catch (e) { deviceOrName = this._getDeviceNameFromSessionStorage() } finally { if (!deviceOrName) { deviceOrName = this._getDeviceNameFromSessionStorage() } if (deviceOrName) { this._forced = true } } this._currentDevice = this._getDevice(deviceOrName) } return this._currentDevice }; _proto.real = function(forceDevice) { return (0, _extend.extend)({}, this._realDevice) }; _proto.orientation = function() { return this._currentOrientation }; _proto.isForced = function() { return this._forced }; _proto.isRippleEmulator = function() { return !!this._window.tinyHippos }; _proto._getCssClasses = function(device) { var result = []; var realDevice = this._realDevice; device = device || this.current(); if (device.deviceType) { result.push("dx-device-".concat(device.deviceType)); if ("desktop" !== device.deviceType) { result.push("dx-device-mobile") } } result.push("dx-device-".concat(realDevice.platform)); if (realDevice.version && realDevice.version.length) { result.push("dx-device-".concat(realDevice.platform, "-").concat(realDevice.version[0])) } if (this.isSimulator()) { result.push("dx-simulator") } if ((0, _config.default)().rtlEnabled) { result.push("dx-rtl") } return result }; _proto.attachCssClasses = function(element, device) { this._deviceClasses = this._getCssClasses(device).join(" "); (0, _renderer.default)(element).addClass(this._deviceClasses) }; _proto.detachCssClasses = function(element) { (0, _renderer.default)(element).removeClass(this._deviceClasses) }; _proto.isSimulator = function() { try { return this._isSimulator || (0, _window.hasWindow)() && this._window.top !== this._window.self && this._window.top["dx-force-device"] || this.isRippleEmulator() } catch (e) { return false } }; _proto.forceSimulator = function() { this._isSimulator = true }; _proto._getDevice = function(deviceName) { if ("genericPhone" === deviceName) { deviceName = { deviceType: "phone", platform: "generic", generic: true } } if ((0, _type.isPlainObject)(deviceName)) { return this._fromConfig(deviceName) } else { var ua; if (deviceName) { ua = KNOWN_UA_TABLE[deviceName]; if (!ua) { throw _errors.default.Error("E0005") } } else { ua = navigator.userAgent } return this._fromUA(ua) } }; _proto._getDeviceOrNameFromWindowScope = function() { var result; if ((0, _window.hasWindow)() && (this._window.top["dx-force-device-object"] || this._window.top["dx-force-device"])) { result = this._window.top["dx-force-device-object"] || this._window.top["dx-force-device"] } return result }; _proto._getDeviceNameFromSessionStorage = function() { var sessionStorage = (0, _storage.sessionStorage)(); if (!sessionStorage) { return } var deviceOrName = sessionStorage.getItem("dx-force-device"); try { return JSON.parse(deviceOrName) } catch (ex) { return deviceOrName } }; _proto._fromConfig = function(config) { var result = (0, _extend.extend)({}, DEFAULT_DEVICE, this._currentDevice, config); var shortcuts = { phone: "phone" === result.deviceType, tablet: "tablet" === result.deviceType, android: "android" === result.platform, ios: "ios" === result.platform, generic: "generic" === result.platform }; return (0, _extend.extend)(result, shortcuts) }; _proto._fromUA = function(ua) { var config; (0, _iterator.each)(uaParsers, (function(platform, parser) { config = parser(ua); return !config })); if (config) { return this._fromConfig(config) } return DEFAULT_DEVICE }; _proto._changeOrientation = function() { var $window = (0, _renderer.default)(this._window); var orientation = (0, _size.getHeight)($window) > (0, _size.getWidth)($window) ? "portrait" : "landscape"; if (this._currentOrientation === orientation) { return } this._currentOrientation = orientation; this._eventsStrategy.fireEvent("orientationChanged", [{ orientation: orientation }]) }; _proto._recalculateOrientation = function() { var windowWidth = (0, _size.getWidth)(this._window); if (this._currentWidth === windowWidth) { return } this._currentWidth = windowWidth; this._changeOrientation() }; _proto.on = function(eventName, eventHandler) { this._eventsStrategy.on(eventName, eventHandler); return this }; _proto.off = function(eventName, eventHandler) { this._eventsStrategy.off(eventName, eventHandler); return this }; return Devices }(); var devices = new Devices; var viewPortElement = (0, _view_port.value)(); if (viewPortElement) { devices.attachCssClasses(viewPortElement) } _view_port.changeCallback.add((function(viewPort, prevViewport) { devices.detachCssClasses(prevViewport); devices.attachCssClasses(viewPort) })); var _default = devices; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 73349: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/dom_adapter.js ***! \*****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _dependency_injector = (obj = __webpack_require__( /*! ./utils/dependency_injector */ 20476), obj && obj.__esModule ? obj : { default: obj }); var obj; var _common = __webpack_require__( /*! ./utils/common */ 20576); var _shadow_dom = __webpack_require__( /*! ./utils/shadow_dom */ 90330); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } var nativeDOMAdapterStrategy = { querySelectorAll: function(element, selector) { return element.querySelectorAll(selector) }, elementMatches: function(element, selector) { var _this = this; var matches = element.matches || element.matchesSelector || element.mozMatchesSelector || element.msMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector || function(selector) { var doc = element.document || element.ownerDocument; if (!doc) { return false } var items = _this.querySelectorAll(doc, selector); for (var i = 0; i < items.length; i++) { if (items[i] === element) { return true } } }; return matches.call(element, selector) }, createElement: function(tagName, context) { context = context || this._document; return context.createElement(tagName) }, createElementNS: function(ns, tagName, context) { context = context || this._document; return context.createElementNS(ns, tagName) }, createTextNode: function(text, context) { context = context || this._document; return context.createTextNode(text) }, createAttribute: function(text, context) { context = context || this._document; return context.createAttribute(text) }, isNode: function(element) { return element && "object" === _typeof(element) && "nodeType" in element && "nodeName" in element }, isElementNode: function(element) { return element && 1 === element.nodeType }, isTextNode: function(element) { return element && 3 === element.nodeType }, isDocument: function(element) { return element && 9 === element.nodeType }, isDocumentFragment: function(element) { return element && 11 === element.nodeType }, removeElement: function(element) { var parentNode = element && element.parentNode; if (parentNode) { parentNode.removeChild(element) } }, insertElement: function(parentElement, newElement, nextSiblingElement) { if (parentElement && newElement && parentElement !== newElement) { if (nextSiblingElement) { parentElement.insertBefore(newElement, nextSiblingElement) } else { parentElement.appendChild(newElement) } } }, getAttribute: function(element, name) { return element.getAttribute(name) }, setAttribute: function(element, name, value) { if ("style" === name) { element.style.cssText = value } else { element.setAttribute(name, value) } }, removeAttribute: function(element, name) { element.removeAttribute(name) }, setProperty: function(element, name, value) { element[name] = value }, setText: function(element, text) { if (element) { element.textContent = text } }, setClass: function(element, className, isAdd) { if (1 === element.nodeType && className) { isAdd ? element.classList.add(className) : element.classList.remove(className) } }, setStyle: function(element, name, value) { element.style[name] = value || "" }, _document: "undefined" === typeof document ? void 0 : document, getDocument: function() { return this._document }, getActiveElement: function(element) { var activeElementHolder = this.getRootNode(element); return activeElementHolder.activeElement }, getRootNode: function(element) { var _element$getRootNode, _element$getRootNode2; return null !== (_element$getRootNode = null === element || void 0 === element ? void 0 : null === (_element$getRootNode2 = element.getRootNode) || void 0 === _element$getRootNode2 ? void 0 : _element$getRootNode2.call(element)) && void 0 !== _element$getRootNode ? _element$getRootNode : this._document }, getBody: function() { return this._document.body }, createDocumentFragment: function() { return this._document.createDocumentFragment() }, getDocumentElement: function() { return this._document.documentElement }, getLocation: function() { return this._document.location }, getSelection: function() { return this._document.selection }, getReadyState: function() { return this._document.readyState }, getHead: function() { return this._document.head }, hasDocumentProperty: function(property) { return property in this._document }, listen: function(element, event, callback, options) { if (!element || !("addEventListener" in element)) { return _common.noop } element.addEventListener(event, callback, options); return function() { element.removeEventListener(event, callback) } }, elementsFromPoint: function(x, y, element) { var activeElementHolder = this.getRootNode(element); if (activeElementHolder.host) { return (0, _shadow_dom.getShadowElementsFromPoint)(x, y, activeElementHolder) } return activeElementHolder.elementsFromPoint(x, y) } }; var _default = (0, _dependency_injector.default)(nativeDOMAdapterStrategy); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 13046: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/dom_component.js ***! \*******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _config = _interopRequireDefault(__webpack_require__( /*! ./config */ 80209)); var _errors = _interopRequireDefault(__webpack_require__( /*! ./errors */ 17381)); var _resize_callbacks = _interopRequireDefault(__webpack_require__( /*! ../core/utils/resize_callbacks */ 55814)); var _component = __webpack_require__( /*! ./component */ 44297); var _template_manager = __webpack_require__( /*! ./template_manager */ 14192); var _public_component = __webpack_require__( /*! ./utils/public_component */ 9321); var _shadow_dom = __webpack_require__( /*! ./utils/shadow_dom */ 90330); var _element_data = __webpack_require__( /*! ./element_data */ 97906); var _iterator = __webpack_require__( /*! ./utils/iterator */ 95479); var _extend = __webpack_require__( /*! ./utils/extend */ 13306); var _element = __webpack_require__( /*! ../core/element */ 6415); var _common = __webpack_require__( /*! ./utils/common */ 20576); var _type = __webpack_require__( /*! ./utils/type */ 35922); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _short = __webpack_require__( /*! ../events/short */ 72918); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var abstract = _component.Component.abstract; var DOMComponent = _component.Component.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { width: void 0, height: void 0, rtlEnabled: (0, _config.default)().rtlEnabled, elementAttr: {}, disabled: false, integrationOptions: {} }, this._useTemplates() ? _template_manager.TemplateManager.createDefaultOptions() : {}) }, ctor: function(element, options) { this._customClass = null; this._createElement(element); (0, _public_component.attachInstanceToElement)(this._$element, this, this._dispose); this.callBase(options) }, _createElement: function(element) { this._$element = (0, _renderer.default)(element) }, _getSynchronizableOptionsForCreateComponent: function() { return ["rtlEnabled", "disabled", "templatesRenderAsynchronously"] }, _checkFunctionValueDeprecation: function(optionNames) { var _this = this; if (!this.option("_ignoreFunctionValueDeprecation")) { optionNames.forEach((function(optionName) { if ((0, _type.isFunction)(_this.option(optionName))) { _errors.default.log("W0017", optionName) } })) } }, _visibilityChanged: abstract, _dimensionChanged: abstract, _init: function() { this.callBase(); this._checkFunctionValueDeprecation(["width", "height", "maxHeight", "maxWidth", "minHeight", "minWidth", "popupHeight", "popupWidth"]); this._attachWindowResizeCallback(); this._initTemplateManager() }, _setOptionsByDevice: function(instanceCustomRules) { this.callBase([].concat(this.constructor._classCustomRules || [], instanceCustomRules || [])) }, _isInitialOptionValue: function(name) { var isCustomOption = this.constructor._classCustomRules && Object.prototype.hasOwnProperty.call(this._convertRulesToOptions(this.constructor._classCustomRules), name); return !isCustomOption && this.callBase(name) }, _attachWindowResizeCallback: function() { if (this._isDimensionChangeSupported()) { var windowResizeCallBack = this._windowResizeCallBack = this._dimensionChanged.bind(this); _resize_callbacks.default.add(windowResizeCallBack) } }, _isDimensionChangeSupported: function() { return this._dimensionChanged !== abstract }, _renderComponent: function() { this._initMarkup(); (0, _window.hasWindow)() && this._render() }, _initMarkup: function() { var _ref = this.option() || {}, rtlEnabled = _ref.rtlEnabled; this._renderElementAttributes(); this._toggleRTLDirection(rtlEnabled); this._renderVisibilityChange(); this._renderDimensions() }, _render: function() { this._attachVisibilityChangeHandlers(); (0, _shadow_dom.addShadowDomStyles)(this.$element()) }, _renderElementAttributes: function() { var _ref2 = this.option() || {}, elementAttr = _ref2.elementAttr; var attributes = (0, _extend.extend)({}, elementAttr); var classNames = attributes.class; delete attributes.class; this.$element().attr(attributes).removeClass(this._customClass).addClass(classNames); this._customClass = classNames }, _renderVisibilityChange: function() { if (this._isDimensionChangeSupported()) { this._attachDimensionChangeHandlers() } if (this._isVisibilityChangeSupported()) { var $element = this.$element(); $element.addClass("dx-visibility-change-handler") } }, _renderDimensions: function() { var $element = this.$element(); var element = $element.get(0); var width = this._getOptionValue("width", element); var height = this._getOptionValue("height", element); if (this._isCssUpdateRequired(element, height, width)) { $element.css({ width: null === width ? "" : width, height: null === height ? "" : height }) } }, _isCssUpdateRequired: function(element, height, width) { return !!((0, _type.isDefined)(width) || (0, _type.isDefined)(height) || element.style.width || element.style.height) }, _attachDimensionChangeHandlers: function() { var _this2 = this; var $el = this.$element(); var namespace = "".concat(this.NAME, "VisibilityChange"); _short.resize.off($el, { namespace: namespace }); _short.resize.on($el, (function() { return _this2._dimensionChanged() }), { namespace: namespace }) }, _attachVisibilityChangeHandlers: function() { var _this3 = this; if (this._isVisibilityChangeSupported()) { var $el = this.$element(); var namespace = "".concat(this.NAME, "VisibilityChange"); this._isHidden = !this._isVisible(); _short.visibility.off($el, { namespace: namespace }); _short.visibility.on($el, (function() { return _this3._checkVisibilityChanged("shown") }), (function() { return _this3._checkVisibilityChanged("hiding") }), { namespace: namespace }) } }, _isVisible: function() { var $element = this.$element(); return $element.is(":visible") }, _checkVisibilityChanged: function(action) { var isVisible = this._isVisible(); if (isVisible) { if ("hiding" === action && !this._isHidden) { this._visibilityChanged(false); this._isHidden = true } else if ("shown" === action && this._isHidden) { this._isHidden = false; this._visibilityChanged(true) } } }, _isVisibilityChangeSupported: function() { return this._visibilityChanged !== abstract && (0, _window.hasWindow)() }, _clean: _common.noop, _modelByElement: function() { var _this$option = this.option(), modelByElement = _this$option.modelByElement; var $element = this.$element(); return modelByElement ? modelByElement($element) : void 0 }, _invalidate: function() { if (this._isUpdateAllowed()) { throw _errors.default.Error("E0007") } this._requireRefresh = true }, _refresh: function() { this._clean(); this._renderComponent() }, _dispose: function() { this._templateManager && this._templateManager.dispose(); this.callBase(); this._clean(); this._detachWindowResizeCallback() }, _detachWindowResizeCallback: function() { if (this._isDimensionChangeSupported()) { _resize_callbacks.default.remove(this._windowResizeCallBack) } }, _toggleRTLDirection: function(rtl) { var $element = this.$element(); $element.toggleClass("dx-rtl", rtl) }, _createComponent: function(element, component) { var _this4 = this; var config = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; var synchronizableOptions = (0, _common.grep)(this._getSynchronizableOptionsForCreateComponent(), (function(value) { return !(value in config) })); var _this$option2 = this.option(), integrationOptions = _this$option2.integrationOptions; var _this$option3 = this.option(), nestedComponentOptions = _this$option3.nestedComponentOptions; nestedComponentOptions = nestedComponentOptions || _common.noop; var nestedComponentConfig = (0, _extend.extend)({ integrationOptions: integrationOptions }, nestedComponentOptions(this)); synchronizableOptions.forEach((function(optionName) { return nestedComponentConfig[optionName] = _this4.option(optionName) })); this._extendConfig(config, nestedComponentConfig); var instance = void 0; if ((0, _type.isString)(component)) { var $element = (0, _renderer.default)(element)[component](config); instance = $element[component]("instance") } else if (element) { instance = component.getInstance(element); if (instance) { instance.option(config) } else { instance = new component(element, config) } } if (instance) { var optionChangedHandler = function(_ref3) { var name = _ref3.name, value = _ref3.value; if (synchronizableOptions.includes(name)) { instance.option(name, value) } }; this.on("optionChanged", optionChangedHandler); instance.on("disposing", (function() { return _this4.off("optionChanged", optionChangedHandler) })) } return instance }, _extendConfig: function(config, extendConfig) { (0, _iterator.each)(extendConfig, (function(key, value) { !Object.prototype.hasOwnProperty.call(config, key) && (config[key] = value) })) }, _defaultActionConfig: function() { var $element = this.$element(); var context = this._modelByElement($element); return (0, _extend.extend)(this.callBase(), { context: context }) }, _defaultActionArgs: function() { var $element = this.$element(); var model = this._modelByElement($element); var element = this.element(); return (0, _extend.extend)(this.callBase(), { element: element, model: model }) }, _optionChanged: function(args) { switch (args.name) { case "width": case "height": this._renderDimensions(); break; case "rtlEnabled": this._invalidate(); break; case "elementAttr": this._renderElementAttributes(); break; case "disabled": case "integrationOptions": break; default: this.callBase(args) } }, _removeAttributes: function(element) { var attrs = element.attributes; for (var i = attrs.length - 1; i >= 0; i--) { var attr = attrs[i]; if (attr) { var name = attr.name; if (!name.indexOf("aria-") || -1 !== name.indexOf("dx-") || "role" === name || "style" === name || "tabindex" === name) { element.removeAttribute(name) } } } }, _removeClasses: function(element) { element.className = element.className.split(" ").filter((function(cssClass) { return 0 !== cssClass.lastIndexOf("dx-", 0) })).join(" ") }, _updateDOMComponent: function(renderRequired) { if (renderRequired) { this._renderComponent() } else if (this._requireRefresh) { this._requireRefresh = false; this._refresh() } }, endUpdate: function() { var renderRequired = this._isInitializingRequired(); this.callBase(); this._isUpdateAllowed() && this._updateDOMComponent(renderRequired) }, $element: function() { return this._$element }, element: function() { var $element = this.$element(); return (0, _element.getPublicElement)($element) }, dispose: function() { var element = this.$element().get(0); (0, _element_data.cleanDataRecursive)(element, true); element.textContent = ""; this._removeAttributes(element); this._removeClasses(element) }, resetOption: function(optionName) { this.callBase(optionName); if ("width" === optionName || "height" === optionName) { var initialOption = this.initialOption(optionName); !(0, _type.isDefined)(initialOption) && this.$element().css(optionName, "") } }, _getAnonymousTemplateName: function() { return }, _initTemplateManager: function() { if (this._templateManager || !this._useTemplates()) { return } var _this$option4 = this.option(), _this$option4$integra = _this$option4.integrationOptions, integrationOptions = void 0 === _this$option4$integra ? {} : _this$option4$integra; var createTemplate = integrationOptions.createTemplate; this._templateManager = new _template_manager.TemplateManager(createTemplate, this._getAnonymousTemplateName()); this._initTemplates() }, _initTemplates: function() { var _this5 = this; var _this$_templateManage = this._templateManager.extractTemplates(this.$element()), templates = _this$_templateManage.templates, anonymousTemplateMeta = _this$_templateManage.anonymousTemplateMeta; var anonymousTemplate = this.option("integrationOptions.templates.".concat(anonymousTemplateMeta.name)); templates.forEach((function(_ref4) { var name = _ref4.name, template = _ref4.template; _this5._options.silent("integrationOptions.templates.".concat(name), template) })); if (anonymousTemplateMeta.name && !anonymousTemplate) { this._options.silent("integrationOptions.templates.".concat(anonymousTemplateMeta.name), anonymousTemplateMeta.template); this._options.silent("_hasAnonymousTemplateContent", true) } }, _getTemplateByOption: function(optionName) { return this._getTemplate(this.option(optionName)) }, _getTemplate: function(templateSource) { var templates = this.option("integrationOptions.templates"); var isAsyncTemplate = this.option("templatesRenderAsynchronously"); var skipTemplates = this.option("integrationOptions.skipTemplates"); return this._templateManager.getTemplate(templateSource, templates, { isAsyncTemplate: isAsyncTemplate, skipTemplates: skipTemplates }, this) }, _saveTemplate: function(name, template) { this._setOptionWithoutOptionChange("integrationOptions.templates." + name, this._templateManager._createTemplate(template)) }, _useTemplates: function() { return true } }); DOMComponent.getInstance = function(element) { return (0, _public_component.getInstanceByElement)((0, _renderer.default)(element), this) }; DOMComponent.defaultOptions = function(rule) { this._classCustomRules = this._classCustomRules || []; this._classCustomRules.push(rule) }; var _default = DOMComponent; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 6415: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/element.js ***! \*************************************************************/ function(__unused_webpack_module, exports) { exports.getPublicElement = function(element) { return strategy(element) }; exports.setPublicElementWrapper = function(newStrategy) { strategy = newStrategy }; var strategy = function(element) { return element && element.get(0) } }, 97906: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/element_data.js ***! \******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.afterCleanData = function(callback) { afterCleanDataFunc = callback }; exports.beforeCleanData = function(callback) { beforeCleanDataFunc = callback }; exports.cleanData = function(nodes) { return strategy.cleanData.call(this, nodes) }; exports.cleanDataRecursive = function(element, cleanSelf) { if (!_dom_adapter.default.isElementNode(element)) { return } var childElements = element.getElementsByTagName("*"); strategy.cleanData(childElements); if (cleanSelf) { strategy.cleanData([element]) } }; exports.data = function() { return strategy.data.apply(this, arguments) }; exports.getDataStrategy = function() { return strategy }; exports.removeData = function(element, key) { return strategy.removeData.call(this, element, key) }; exports.strategyChanging = exports.setDataStrategy = void 0; var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ./dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _memorized_callbacks = _interopRequireDefault(__webpack_require__( /*! ./memorized_callbacks */ 83358)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var dataMap = new WeakMap; var strategy; var strategyChanging = new _memorized_callbacks.default; exports.strategyChanging = strategyChanging; var beforeCleanDataFunc = function() {}; var afterCleanDataFunc = function() {}; var setDataStrategy = function(value) { strategyChanging.fire(value); strategy = value; var cleanData = strategy.cleanData; strategy.cleanData = function(nodes) { beforeCleanDataFunc(nodes); var result = cleanData.call(this, nodes); afterCleanDataFunc(nodes); return result } }; exports.setDataStrategy = setDataStrategy; setDataStrategy({ data: function() { var element = arguments[0]; var key = arguments[1]; var value = arguments[2]; if (!element) { return } var elementData = dataMap.get(element); if (!elementData) { elementData = {}; dataMap.set(element, elementData) } if (void 0 === key) { return elementData } if (2 === arguments.length) { return elementData[key] } elementData[key] = value; return value }, removeData: function(element, key) { if (!element) { return } if (void 0 === key) { dataMap.delete(element) } else { var elementData = dataMap.get(element); if (elementData) { delete elementData[key] } } }, cleanData: function(elements) { for (var i = 0; i < elements.length; i++) { _events_engine.default.off(elements[i]); dataMap.delete(elements[i]) } } }) }, 17381: /*!************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/errors.js ***! \************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _error = (obj = __webpack_require__( /*! ./utils/error */ 95640), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = (0, _error.default)({ E0001: "Method is not implemented", E0002: "Member name collision: {0}", E0003: "A class must be instantiated using the 'new' keyword", E0004: "The NAME property of the component is not specified", E0005: "Unknown device", E0006: "Unknown endpoint key is requested", E0007: "'Invalidate' method is called outside the update transaction", E0008: "Type of the option name is not appropriate to create an action", E0009: "Component '{0}' has not been initialized for an element", E0010: "Animation configuration with the '{0}' type requires '{1}' configuration as {2}", E0011: "Unknown animation type '{0}'", E0012: "jQuery version is too old. Please upgrade jQuery to 1.10.0 or later", E0013: "KnockoutJS version is too old. Please upgrade KnockoutJS to 2.3.0 or later", E0014: "The 'release' method shouldn't be called for an unlocked Lock object", E0015: "Queued task returned an unexpected result", E0017: "Event namespace is not defined", E0018: "DevExpress.ui.DevExpressPopup widget is required", E0020: "Template engine '{0}' is not supported", E0021: "Unknown theme is set: {0}", E0022: "LINK[rel=DevExpress-theme] tags must go before DevExpress included scripts", E0023: "Template name is not specified", E0024: "DevExtreme bundle already included", E0025: "Unexpected argument type", E0100: "Unknown validation type is detected", E0101: "Misconfigured range validation rule is detected", E0102: "Misconfigured comparison validation rule is detected", E0103: "validationCallback of an asynchronous rule should return a jQuery or a native promise", E0110: "Unknown validation group is detected", E0120: "Adapter for a DevExpressValidator component cannot be configured", E0121: "The 'customItem' parameter of the 'onCustomItemCreating' function is empty or contains invalid data. Assign a custom object or a Promise that is resolved after the item is created.", W0000: "'{0}' is deprecated in {1}. {2}", W0001: "{0} - '{1}' option is deprecated in {2}. {3}", W0002: "{0} - '{1}' method is deprecated in {2}. {3}", W0003: "{0} - '{1}' property is deprecated in {2}. {3}", W0004: "Timeout for theme loading is over: {0}", W0005: "'{0}' event is deprecated in {1}. {2}", W0006: "Invalid recurrence rule: '{0}'", W0007: "'{0}' Globalize culture is not defined", W0008: "Invalid view name: '{0}'", W0009: "Invalid time zone name: '{0}'", W0010: "{0} is deprecated in {1}. {2}", W0011: "Number parsing is invoked while the parser is not defined", W0012: "Date parsing is invoked while the parser is not defined", W0013: "'{0}' file is deprecated in {1}. {2}", W0014: "{0} - '{1}' type is deprecated in {2}. {3}", W0015: "Instead of returning a value from the '{0}' function, write it into the '{1}' field of the function's parameter.", W0016: 'The "{0}" option does not accept the "{1}" value since v{2}. {3}.', W0017: 'Setting the "{0}" property with a function is deprecated since v21.2', W0018: 'Setting the "position" property with a function is deprecated since v21.2' }); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 80566: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/events_strategy.js ***! \*********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.EventsStrategy = void 0; var _callbacks = (obj = __webpack_require__( /*! ./utils/callbacks */ 44504), obj && obj.__esModule ? obj : { default: obj }); var obj; var _iterator = __webpack_require__( /*! ./utils/iterator */ 95479); var _type = __webpack_require__( /*! ./utils/type */ 35922); var EventsStrategy = function() { function EventsStrategy(owner) { var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; this._events = {}; this._owner = owner; this._options = options } EventsStrategy.create = function(owner, strategy) { if (strategy) { return (0, _type.isFunction)(strategy) ? strategy(owner) : strategy } else { return new EventsStrategy(owner) } }; var _proto = EventsStrategy.prototype; _proto.hasEvent = function(eventName) { var callbacks = this._events[eventName]; return callbacks ? callbacks.has() : false }; _proto.fireEvent = function(eventName, eventArgs) { var callbacks = this._events[eventName]; if (callbacks) { callbacks.fireWith(this._owner, eventArgs) } return this._owner }; _proto.on = function(eventName, eventHandler) { var _this = this; if ((0, _type.isPlainObject)(eventName)) { (0, _iterator.each)(eventName, (function(e, h) { _this.on(e, h) })) } else { var callbacks = this._events[eventName]; if (!callbacks) { callbacks = (0, _callbacks.default)({ syncStrategy: this._options.syncStrategy }); this._events[eventName] = callbacks } var addFn = callbacks.originalAdd || callbacks.add; addFn.call(callbacks, eventHandler) } }; _proto.off = function(eventName, eventHandler) { var callbacks = this._events[eventName]; if (callbacks) { if ((0, _type.isFunction)(eventHandler)) { callbacks.remove(eventHandler) } else { callbacks.empty() } } }; _proto.dispose = function() { (0, _iterator.each)(this._events, (function(eventName, event) { event.empty() })) }; return EventsStrategy }(); exports.EventsStrategy = EventsStrategy }, 73176: /*!**********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/guid.js ***! \**********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _class = (obj = __webpack_require__( /*! ./class */ 38377), obj && obj.__esModule ? obj : { default: obj }); var obj; var Guid = _class.default.inherit({ ctor: function(value) { if (value) { value = String(value) } this._value = this._normalize(value || this._generate()) }, _normalize: function(value) { value = value.replace(/[^a-f0-9]/gi, "").toLowerCase(); while (value.length < 32) { value += "0" } return [value.substr(0, 8), value.substr(8, 4), value.substr(12, 4), value.substr(16, 4), value.substr(20, 12)].join("-") }, _generate: function() { var value = ""; for (var i = 0; i < 32; i++) { value += Math.round(15 * Math.random()).toString(16) } return value }, toString: function() { return this._value }, valueOf: function() { return this._value }, toJSON: function() { return this._value } }); var _default = Guid; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 83448: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/http_request.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _window = __webpack_require__( /*! ./utils/window */ 58201); var _dependency_injector = (obj = __webpack_require__( /*! ./utils/dependency_injector */ 20476), obj && obj.__esModule ? obj : { default: obj }); var obj; var window = (0, _window.getWindow)(); var nativeXMLHttpRequest = { getXhr: function() { return new window.XMLHttpRequest } }; var _default = (0, _dependency_injector.default)(nativeXMLHttpRequest); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 15334: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/inferno_renderer.js ***! \**********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _infernoCreateElement = __webpack_require__( /*! inferno-create-element */ 87456); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ./dom_adapter */ 73349)); var _element_data = __webpack_require__( /*! ./element_data */ 97906); var _dependency_injector = _interopRequireDefault(__webpack_require__( /*! ./utils/dependency_injector */ 20476)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var remove = function(element) { var parentNode = element.parentNode; if (parentNode) { var nextSibling = element.nextSibling; (0, _element_data.cleanDataRecursive)(element); parentNode.$V = element.$V; (0, _inferno.render)(null, parentNode); parentNode.insertBefore(element, nextSibling); element.innerHTML = ""; delete parentNode.$V } delete element.$V }; var _default = (0, _dependency_injector.default)({ createElement: function(component, props) { return (0, _infernoCreateElement.createElement)(component, props) }, remove: remove, onAfterRender: function() { _inferno2.InfernoEffectHost.callEffects() }, onPreRender: function() { _inferno2.InfernoEffectHost.lock() }, render: function(component, props, container, replace) { if (!replace) { var parentNode = container.parentNode; var nextNode = null === container || void 0 === container ? void 0 : container.nextSibling; var rootNode = _dom_adapter.default.createElement("div"); rootNode.appendChild(container); var mountNode = _dom_adapter.default.createDocumentFragment().appendChild(rootNode); var vNodeAlreadyExists = !!container.$V; vNodeAlreadyExists && remove(container); (0, _inferno2.hydrate)((0, _infernoCreateElement.createElement)(component, props), mountNode); container.$V = mountNode.$V; if (parentNode) { parentNode.insertBefore(container, nextNode) } } else { (0, _inferno.render)((0, _infernoCreateElement.createElement)(component, props), container) } } }); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 83358: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/memorized_callbacks.js ***! \*************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _callbacks = (obj = __webpack_require__( /*! ./utils/callbacks */ 44504), obj && obj.__esModule ? obj : { default: obj }); var obj; var MemorizedCallbacks = function() { function MemorizedCallbacks() { this.memory = []; this.callbacks = (0, _callbacks.default)() } var _proto = MemorizedCallbacks.prototype; _proto.add = function(fn) { (0, _iterator.each)(this.memory, (function(_, item) { return fn.apply(fn, item) })); this.callbacks.add(fn) }; _proto.remove = function(fn) { this.callbacks.remove(fn) }; _proto.fire = function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] } this.memory.push(args); this.callbacks.fire.apply(this.callbacks, args) }; return MemorizedCallbacks }(); exports.default = MemorizedCallbacks; module.exports = exports.default; module.exports.default = exports.default }, 95683: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/options/index.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Options = void 0; var _type = __webpack_require__( /*! ../utils/type */ 35922); var _common = __webpack_require__( /*! ../utils/common */ 20576); var _option_manager = __webpack_require__( /*! ./option_manager */ 9030); var _data = __webpack_require__( /*! ../utils/data */ 47617); var _utils = __webpack_require__( /*! ./utils */ 45434); var _extend = __webpack_require__( /*! ../utils/extend */ 13306); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var Options = function() { function Options(options, defaultOptions, optionsByReference, deprecatedOptions) { var _this = this; this._deprecatedCallback; this._startChangeCallback; this._endChangeCallback; this._default = defaultOptions; this._deprecated = deprecatedOptions; this._deprecatedNames = []; this._initDeprecatedNames(); this._optionManager = new _option_manager.OptionManager(options, optionsByReference); this._optionManager.onRelevantNamesPrepared((function(options, name, value, silent) { return _this._setRelevantNames(options, name, value, silent) })); this._cachedOptions = {}; this._rules = [] } var _proto = Options.prototype; _proto._initDeprecatedNames = function() { for (var optionName in this._deprecated) { this._deprecatedNames.push(optionName) } }; _proto._getByRules = function(rules) { rules = Array.isArray(rules) ? this._rules.concat(rules) : this._rules; return (0, _utils.convertRulesToOptions)(rules) }; _proto._notifyDeprecated = function(option) { var info = this._deprecated[option]; if (info) { this._deprecatedCallback(option, info) } }; _proto._setRelevantNames = function(options, name, value, silent) { if (name) { var normalizedName = this._normalizeName(name, silent); if (normalizedName && normalizedName !== name) { this._setField(options, normalizedName, value); this._clearField(options, name) } } }; _proto._setField = function(options, fullName, value) { var fieldName = ""; var fieldObject = null; do { fieldName = fieldName ? ".".concat(fieldName) : ""; fieldName = (0, _utils.getFieldName)(fullName) + fieldName; fullName = (0, _utils.getParentName)(fullName); fieldObject = fullName ? this._optionManager.get(options, fullName, false) : options } while (!fieldObject); fieldObject[fieldName] = value }; _proto._clearField = function(options, name) { delete options[name]; var previousFieldName = (0, _utils.getParentName)(name); var fieldObject = previousFieldName ? this._optionManager.get(options, previousFieldName, false) : options; if (fieldObject) { delete fieldObject[(0, _utils.getFieldName)(name)] } }; _proto._normalizeName = function(name, silent) { if (this._deprecatedNames.length && name) { for (var i = 0; i < this._deprecatedNames.length; i++) { if (this._deprecatedNames[i] === name) { var deprecate = this._deprecated[name]; if (deprecate) { !silent && this._notifyDeprecated(name); return deprecate.alias || name } } } } return name }; _proto.addRules = function(rules) { this._rules = rules.concat(this._rules) }; _proto.applyRules = function(rules) { var options = this._getByRules(rules); this.silent(options) }; _proto.dispose = function() { this._deprecatedCallback = _common.noop; this._startChangeCallback = _common.noop; this._endChangeCallback = _common.noop; this._optionManager.dispose() }; _proto.onChanging = function(callBack) { this._optionManager.onChanging(callBack) }; _proto.onChanged = function(callBack) { this._optionManager.onChanged(callBack) }; _proto.onDeprecated = function(callBack) { this._deprecatedCallback = callBack }; _proto.onStartChange = function(callBack) { this._startChangeCallback = callBack }; _proto.onEndChange = function(callBack) { this._endChangeCallback = callBack }; _proto.isInitial = function(name) { var value = this.silent(name); var initialValue = this.initial(name); var areFunctions = (0, _type.isFunction)(value) && (0, _type.isFunction)(initialValue); return areFunctions ? value.toString() === initialValue.toString() : (0, _common.equalByValue)(value, initialValue) }; _proto.initial = function(name) { return (0, _utils.getNestedOptionValue)(this._initial, name) }; _proto.option = function(options, value) { var isGetter = arguments.length < 2 && "object" !== (0, _type.type)(options); if (isGetter) { return this._optionManager.get(void 0, this._normalizeName(options)) } else { this._startChangeCallback(); try { this._optionManager.set(options, value) } finally { this._endChangeCallback() } } }; _proto.silent = function(options, value) { var isGetter = arguments.length < 2 && "object" !== (0, _type.type)(options); if (isGetter) { return this._optionManager.get(void 0, options, void 0, true) } else { this._optionManager.set(options, value, void 0, true) } }; _proto.reset = function(name) { var _this2 = this; if (name) { var fullPath = (0, _data.getPathParts)(name); var value = fullPath.reduce((function(value, field) { return value ? value[field] : _this2.initial(field) }), null); var defaultValue = (0, _type.isObject)(value) ? _extends({}, value) : value; this._optionManager.set(name, defaultValue, false) } }; _proto.getAliasesByName = function(name) { var _this3 = this; return Object.keys(this._deprecated).filter((function(aliasName) { return name === _this3._deprecated[aliasName].alias })) }; _proto.isDeprecated = function(name) { return Object.prototype.hasOwnProperty.call(this._deprecated, name) }; _proto.cache = function(name, options) { var isGetter = arguments.length < 2; if (isGetter) { return this._cachedOptions[name] } else { this._cachedOptions[name] = (0, _extend.extend)(this._cachedOptions[name], options) } }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Options, [{ key: "_initial", get: function() { if (!this._initialOptions) { var rulesOptions = this._getByRules(this.silent("defaultOptionsRules")); this._initialOptions = this._default; this._optionManager._setByReference(this._initialOptions, rulesOptions) } return this._initialOptions }, set: function(value) { this._initialOptions = value } }]); return Options }(); exports.Options = Options }, 9030: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/options/option_manager.js ***! \****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.OptionManager = void 0; var _data = __webpack_require__( /*! ../utils/data */ 47617); var _common = __webpack_require__( /*! ../utils/common */ 20576); var _comparator = __webpack_require__( /*! ../utils/comparator */ 49036); var _extend = __webpack_require__( /*! ../utils/extend */ 13306); var _type = __webpack_require__( /*! ../utils/type */ 35922); var _utils = __webpack_require__( /*! ./utils */ 45434); var cachedGetters = {}; var cachedSetters = {}; var OptionManager = function() { function OptionManager(options, optionsByReference) { this._options = options; this._optionsByReference = optionsByReference; this._changingCallback; this._changedCallback; this._namePreparedCallbacks } var _proto = OptionManager.prototype; _proto._setByReference = function(options, rulesOptions) { (0, _extend.extend)(true, options, rulesOptions); for (var fieldName in this._optionsByReference) { if (Object.prototype.hasOwnProperty.call(rulesOptions, fieldName)) { options[fieldName] = rulesOptions[fieldName] } } }; _proto._setPreparedValue = function(name, value, merge, silent) { var previousValue = this.get(this._options, name, false); if (!(0, _comparator.equals)(previousValue, value)) { var path = (0, _data.getPathParts)(name); !silent && this._changingCallback(name, previousValue, value); cachedSetters[name] = cachedSetters[name] || (0, _data.compileSetter)(name); cachedSetters[name](this._options, value, { functionsAsIs: true, merge: (0, _type.isDefined)(merge) ? merge : !this._optionsByReference[name], unwrapObservables: path.length > 1 && !!this._optionsByReference[path[0]] }); !silent && this._changedCallback(name, value, previousValue) } }; _proto._prepareRelevantNames = function(options, name, value, silent) { if ((0, _type.isPlainObject)(value)) { for (var valueName in value) { this._prepareRelevantNames(options, "".concat(name, ".").concat(valueName), value[valueName]) } } this._namePreparedCallbacks(options, name, value, silent) }; _proto.get = function() { var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._options; var name = arguments.length > 1 ? arguments[1] : void 0; var unwrapObservables = arguments.length > 2 ? arguments[2] : void 0; cachedGetters[name] = cachedGetters[name] || (0, _data.compileGetter)(name); return cachedGetters[name](options, { functionsAsIs: true, unwrapObservables: unwrapObservables }) }; _proto.set = function(options, value, merge, silent) { options = (0, _utils.normalizeOptions)(options, value); for (var name in options) { this._prepareRelevantNames(options, name, options[name], silent) } for (var _name in options) { this._setPreparedValue(_name, options[_name], merge, silent) } }; _proto.onRelevantNamesPrepared = function(callBack) { this._namePreparedCallbacks = callBack }; _proto.onChanging = function(callBack) { this._changingCallback = callBack }; _proto.onChanged = function(callBack) { this._changedCallback = callBack }; _proto.dispose = function() { this._changingCallback = _common.noop; this._changedCallback = _common.noop }; return OptionManager }(); exports.OptionManager = OptionManager }, 45434: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/options/utils.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.normalizeOptions = exports.getParentName = exports.getNestedOptionValue = exports.getFieldName = exports.deviceMatch = exports.createDefaultOptionRules = exports.convertRulesToOptions = void 0; var _devices = (obj = __webpack_require__( /*! ../devices */ 20530), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../utils/type */ 35922); var _common = __webpack_require__( /*! ../utils/common */ 20576); var _extend = __webpack_require__( /*! ../utils/extend */ 13306); var _data = __webpack_require__( /*! ../utils/data */ 47617); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var cachedGetters = {}; exports.convertRulesToOptions = function(rules) { var currentDevice = _devices.default.current(); return rules.reduce((function(options, _ref) { var device = _ref.device, ruleOptions = _ref.options; var deviceFilter = device || {}; var match = (0, _type.isFunction)(deviceFilter) ? deviceFilter(currentDevice) : deviceMatch(currentDevice, deviceFilter); if (match) { (0, _extend.extend)(true, options, ruleOptions) } return options }), {}) }; exports.normalizeOptions = function(options, value) { return "string" !== typeof options ? options : _defineProperty({}, options, value) }; var deviceMatch = function(device, filter) { return (0, _type.isEmptyObject)(filter) || (0, _common.findBestMatches)(device, [filter]).length > 0 }; exports.deviceMatch = deviceMatch; exports.getFieldName = function(fullName) { return fullName.substr(fullName.lastIndexOf(".") + 1) }; exports.getParentName = function(fullName) { return fullName.substr(0, fullName.lastIndexOf(".")) }; exports.getNestedOptionValue = function(optionsObject, name) { cachedGetters[name] = cachedGetters[name] || (0, _data.compileGetter)(name); return cachedGetters[name](optionsObject, { functionsAsIs: true }) }; exports.createDefaultOptionRules = function() { var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []; return options } }, 90889: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/postponed_operations.js ***! \**************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.PostponedOperations = void 0; var _deferred = __webpack_require__( /*! ./utils/deferred */ 62754); var _type = __webpack_require__( /*! ./utils/type */ 35922); function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var PostponedOperations = function() { function PostponedOperations() { this._postponedOperations = {} } var _proto = PostponedOperations.prototype; _proto.add = function(key, fn, postponedPromise) { if (key in this._postponedOperations) { postponedPromise && this._postponedOperations[key].promises.push(postponedPromise) } else { var completePromise = new _deferred.Deferred; this._postponedOperations[key] = { fn: fn, completePromise: completePromise, promises: postponedPromise ? [postponedPromise] : [] } } return this._postponedOperations[key].completePromise.promise() }; _proto.callPostponedOperations = function() { for (var key in this._postponedOperations) { var operation = this._postponedOperations[key]; if ((0, _type.isDefined)(operation)) { if (operation.promises && operation.promises.length) { _deferred.when.apply(void 0, _toConsumableArray(operation.promises)).done(operation.fn).then(operation.completePromise.resolve) } else { operation.fn().done(operation.completePromise.resolve) } } } this._postponedOperations = {} }; return PostponedOperations }(); exports.PostponedOperations = PostponedOperations }, 68374: /*!**************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/renderer.js ***! \**************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer_base = (obj = __webpack_require__( /*! ./renderer_base */ 82981), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _renderer_base.default.get(); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 82981: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/renderer_base.js ***! \*******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _element_data = __webpack_require__( /*! ./element_data */ 97906); var _dom_adapter = (obj = __webpack_require__( /*! ./dom_adapter */ 73349), obj && obj.__esModule ? obj : { default: obj }); var obj; var _window = __webpack_require__( /*! ./utils/window */ 58201); var _type = __webpack_require__( /*! ./utils/type */ 35922); var _style = __webpack_require__( /*! ./utils/style */ 80968); var _size = __webpack_require__( /*! ./utils/size */ 58664); var _html_parser = __webpack_require__( /*! ./utils/html_parser */ 61371); var window = (0, _window.getWindow)(); var renderer; var initRender = function(selector, context) { if (!selector) { this.length = 0; return this } if ("string" === typeof selector) { if ("body" === selector) { this[0] = context ? context.body : _dom_adapter.default.getBody(); this.length = 1; return this } context = context || _dom_adapter.default.getDocument(); if ("<" === selector[0]) { this[0] = _dom_adapter.default.createElement(selector.slice(1, -1), context); this.length = 1; return this } [].push.apply(this, _dom_adapter.default.querySelectorAll(context, selector)); return this } else if (_dom_adapter.default.isNode(selector) || (0, _type.isWindow)(selector)) { this[0] = selector; this.length = 1; return this } else if (Array.isArray(selector)) { [].push.apply(this, selector); return this } return renderer(selector.toArray ? selector.toArray() : [selector]) }; renderer = function(selector, context) { return new initRender(selector, context) }; renderer.fn = { dxRenderer: true }; initRender.prototype = renderer.fn; var repeatMethod = function(methodName, args) { for (var i = 0; i < this.length; i++) { var item = renderer(this[i]); item[methodName].apply(item, args) } return this }; var setAttributeValue = function(element, attrName, value) { if (void 0 !== value && null !== value && false !== value) { _dom_adapter.default.setAttribute(element, attrName, value) } else { _dom_adapter.default.removeAttribute(element, attrName) } }; initRender.prototype.show = function() { return this.toggle(true) }; initRender.prototype.hide = function() { return this.toggle(false) }; initRender.prototype.toggle = function(value) { if (this[0]) { this.toggleClass("dx-state-invisible", !value) } return this }; initRender.prototype.attr = function(attrName, value) { if (this.length > 1 && arguments.length > 1) { return repeatMethod.call(this, "attr", arguments) } if (!this[0]) { if ((0, _type.isObject)(attrName) || void 0 !== value) { return this } else { return } } if (!this[0].getAttribute) { return this.prop(attrName, value) } if ("string" === typeof attrName && 1 === arguments.length) { var result = this[0].getAttribute(attrName); return null == result ? void 0 : result } else if ((0, _type.isPlainObject)(attrName)) { for (var key in attrName) { this.attr(key, attrName[key]) } } else { setAttributeValue(this[0], attrName, value) } return this }; initRender.prototype.removeAttr = function(attrName) { this[0] && _dom_adapter.default.removeAttribute(this[0], attrName); return this }; initRender.prototype.prop = function(propName, value) { if (!this[0]) { return this } if ("string" === typeof propName && 1 === arguments.length) { return this[0][propName] } else if ((0, _type.isPlainObject)(propName)) { for (var key in propName) { this.prop(key, propName[key]) } } else { _dom_adapter.default.setProperty(this[0], propName, value) } return this }; initRender.prototype.addClass = function(className) { return this.toggleClass(className, true) }; initRender.prototype.removeClass = function(className) { return this.toggleClass(className, false) }; initRender.prototype.hasClass = function(className) { if (!this[0] || void 0 === this[0].className) { return false } var classNames = className.split(" "); for (var i = 0; i < classNames.length; i++) { if (this[0].classList) { if (this[0].classList.contains(classNames[i])) { return true } } else { var _className = (0, _type.isString)(this[0].className) ? this[0].className : _dom_adapter.default.getAttribute(this[0], "class"); if ((_className || "").split(" ").indexOf(classNames[i]) >= 0) { return true } } } return false }; initRender.prototype.toggleClass = function(className, value) { if (this.length > 1) { return repeatMethod.call(this, "toggleClass", arguments) } if (!this[0] || !className) { return this } value = void 0 === value ? !this.hasClass(className) : value; var classNames = className.split(" "); for (var i = 0; i < classNames.length; i++) { _dom_adapter.default.setClass(this[0], classNames[i], value) } return this }; initRender.prototype.html = function(value) { if (!arguments.length) { return this[0].innerHTML } this.empty(); if ("string" === typeof value && !(0, _html_parser.isTablePart)(value) || "number" === typeof value) { this[0].innerHTML = value; return this } return this.append((0, _html_parser.parseHTML)(value)) }; var appendElements = function(element, nextSibling) { if (!this[0] || !element) { return } if ("string" === typeof element) { element = (0, _html_parser.parseHTML)(element) } else if (element.nodeType) { element = [element] } else if ((0, _type.isNumeric)(element)) { element = [_dom_adapter.default.createTextNode(element)] } for (var i = 0; i < element.length; i++) { var item = element[i]; var container = this[0]; var wrapTR = "TABLE" === container.tagName && "TR" === item.tagName; if (wrapTR && container.tBodies && container.tBodies.length) { container = container.tBodies[0] } _dom_adapter.default.insertElement(container, item.nodeType ? item : item[0], nextSibling) } }; var setCss = function(name, value) { if (!this[0] || !this[0].style) { return } if (null === value || "number" === typeof value && isNaN(value)) { return } name = (0, _style.styleProp)(name); for (var i = 0; i < this.length; i++) { this[i].style[name] = (0, _style.normalizeStyleProp)(name, value) } }; initRender.prototype.css = function(name, value) { if ((0, _type.isString)(name)) { if (2 === arguments.length) { setCss.call(this, name, value) } else { if (!this[0]) { return } name = (0, _style.styleProp)(name); var result = window.getComputedStyle(this[0])[name] || this[0].style[name]; return (0, _type.isNumeric)(result) ? result.toString() : result } } else if ((0, _type.isPlainObject)(name)) { for (var key in name) { setCss.call(this, key, name[key]) } } return this }; initRender.prototype.prepend = function(element) { if (arguments.length > 1) { for (var i = 0; i < arguments.length; i++) { this.prepend(arguments[i]) } return this } appendElements.apply(this, [element, this[0].firstChild]); return this }; initRender.prototype.append = function(element) { if (arguments.length > 1) { for (var i = 0; i < arguments.length; i++) { this.append(arguments[i]) } return this } appendElements.apply(this, [element]); return this }; initRender.prototype.prependTo = function(element) { if (this.length > 1) { for (var i = this.length - 1; i >= 0; i--) { renderer(this[i]).prependTo(element) } return this } element = renderer(element); if (element[0]) { _dom_adapter.default.insertElement(element[0], this[0], element[0].firstChild) } return this }; initRender.prototype.appendTo = function(element) { if (this.length > 1) { return repeatMethod.call(this, "appendTo", arguments) } _dom_adapter.default.insertElement(renderer(element)[0], this[0]); return this }; initRender.prototype.insertBefore = function(element) { if (element && element[0]) { _dom_adapter.default.insertElement(element[0].parentNode, this[0], element[0]) } return this }; initRender.prototype.insertAfter = function(element) { if (element && element[0]) { _dom_adapter.default.insertElement(element[0].parentNode, this[0], element[0].nextSibling) } return this }; initRender.prototype.before = function(element) { if (this[0]) { _dom_adapter.default.insertElement(this[0].parentNode, element[0], this[0]) } return this }; initRender.prototype.after = function(element) { if (this[0]) { _dom_adapter.default.insertElement(this[0].parentNode, element[0], this[0].nextSibling) } return this }; initRender.prototype.wrap = function(wrapper) { if (this[0]) { var wrap = renderer(wrapper); wrap.insertBefore(this); wrap.append(this) } return this }; initRender.prototype.wrapInner = function(wrapper) { var contents = this.contents(); if (contents.length) { contents.wrap(wrapper) } else { this.append(wrapper) } return this }; initRender.prototype.replaceWith = function(element) { if (!(element && element[0])) { return } if (element.is(this)) { return this } element.insertBefore(this); this.remove(); return element }; initRender.prototype.remove = function() { if (this.length > 1) { return repeatMethod.call(this, "remove", arguments) }(0, _element_data.cleanDataRecursive)(this[0], true); _dom_adapter.default.removeElement(this[0]); return this }; initRender.prototype.detach = function() { if (this.length > 1) { return repeatMethod.call(this, "detach", arguments) } _dom_adapter.default.removeElement(this[0]); return this }; initRender.prototype.empty = function() { if (this.length > 1) { return repeatMethod.call(this, "empty", arguments) }(0, _element_data.cleanDataRecursive)(this[0]); _dom_adapter.default.setText(this[0], ""); return this }; initRender.prototype.clone = function() { var result = []; for (var i = 0; i < this.length; i++) { result.push(this[i].cloneNode(true)) } return renderer(result) }; initRender.prototype.text = function(value) { if (!arguments.length) { var result = ""; for (var i = 0; i < this.length; i++) { result += this[i] && this[i].textContent || "" } return result } var text = (0, _type.isFunction)(value) ? value() : value; (0, _element_data.cleanDataRecursive)(this[0], false); _dom_adapter.default.setText(this[0], (0, _type.isDefined)(text) ? text : ""); return this }; initRender.prototype.val = function(value) { if (1 === arguments.length) { return this.prop("value", (0, _type.isDefined)(value) ? value : "") } return this.prop("value") }; initRender.prototype.contents = function() { if (!this[0]) { return renderer() } var result = []; result.push.apply(result, this[0].childNodes); return renderer(result) }; initRender.prototype.find = function(selector) { var result = renderer(); if (!selector) { return result } var nodes = []; var i; if ("string" === typeof selector) { selector = selector.trim(); for (i = 0; i < this.length; i++) { var element = this[i]; if (_dom_adapter.default.isElementNode(element)) { var elementId = element.getAttribute("id"); var queryId = elementId || "dx-query-children"; if (!elementId) { setAttributeValue(element, "id", queryId) } queryId = "[id='" + queryId + "'] "; var querySelector = queryId + selector.replace(/([^\\])(,)/g, "$1, " + queryId); nodes.push.apply(nodes, _dom_adapter.default.querySelectorAll(element, querySelector)); setAttributeValue(element, "id", elementId) } else if (_dom_adapter.default.isDocument(element) || _dom_adapter.default.isDocumentFragment(element)) { nodes.push.apply(nodes, _dom_adapter.default.querySelectorAll(element, selector)) } } } else { for (i = 0; i < this.length; i++) { selector = _dom_adapter.default.isNode(selector) ? selector : selector[0]; if (this[i] !== selector && this[i].contains(selector)) { nodes.push(selector) } } } return result.add(nodes) }; var isVisible = function(_, element) { var _element$host; element = null !== (_element$host = element.host) && void 0 !== _element$host ? _element$host : element; if (!element.nodeType) { return true } return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length) }; initRender.prototype.filter = function(selector) { if (!selector) { return renderer() } if (":visible" === selector) { return this.filter(isVisible) } else if (":hidden" === selector) { return this.filter((function(_, element) { return !isVisible(0, element) })) } var result = []; for (var i = 0; i < this.length; i++) { var item = this[i]; if (_dom_adapter.default.isElementNode(item) && "string" === (0, _type.type)(selector)) { _dom_adapter.default.elementMatches(item, selector) && result.push(item) } else if (_dom_adapter.default.isNode(selector) || (0, _type.isWindow)(selector)) { selector === item && result.push(item) } else if ((0, _type.isFunction)(selector)) { selector.call(item, i, item) && result.push(item) } else { for (var j = 0; j < selector.length; j++) { selector[j] === item && result.push(item) } } } return renderer(result) }; initRender.prototype.not = function(selector) { var result = []; var nodes = this.filter(selector).toArray(); for (var i = 0; i < this.length; i++) { if (-1 === nodes.indexOf(this[i])) { result.push(this[i]) } } return renderer(result) }; initRender.prototype.is = function(selector) { return !!this.filter(selector).length }; initRender.prototype.children = function(selector) { var result = []; for (var i = 0; i < this.length; i++) { var nodes = this[i] ? this[i].childNodes : []; for (var j = 0; j < nodes.length; j++) { if (_dom_adapter.default.isElementNode(nodes[j])) { result.push(nodes[j]) } } } result = renderer(result); return selector ? result.filter(selector) : result }; initRender.prototype.siblings = function() { var element = this[0]; if (!element || !element.parentNode) { return renderer() } var result = []; var parentChildNodes = element.parentNode.childNodes || []; for (var i = 0; i < parentChildNodes.length; i++) { var node = parentChildNodes[i]; if (_dom_adapter.default.isElementNode(node) && node !== element) { result.push(node) } } return renderer(result) }; initRender.prototype.each = function(callback) { for (var i = 0; i < this.length; i++) { if (false === callback.call(this[i], i, this[i])) { break } } }; initRender.prototype.index = function(element) { if (!element) { return this.parent().children().index(this) } element = renderer(element); return this.toArray().indexOf(element[0]) }; initRender.prototype.get = function(index) { return this[index < 0 ? this.length + index : index] }; initRender.prototype.eq = function(index) { index = index < 0 ? this.length + index : index; return renderer(this[index]) }; initRender.prototype.first = function() { return this.eq(0) }; initRender.prototype.last = function() { return this.eq(-1) }; initRender.prototype.select = function() { for (var i = 0; i < this.length; i += 1) { this[i].select && this[i].select() } return this }; initRender.prototype.parent = function(selector) { if (!this[0]) { return renderer() } var result = renderer(this[0].parentNode); return !selector || result.is(selector) ? result : renderer() }; initRender.prototype.parents = function(selector) { var result = []; var parent = this.parent(); while (parent && parent[0] && !_dom_adapter.default.isDocument(parent[0])) { if (_dom_adapter.default.isElementNode(parent[0])) { if (!selector || parent.is(selector)) { result.push(parent.get(0)) } } parent = parent.parent() } return renderer(result) }; initRender.prototype.closest = function(selector) { if (this.is(selector)) { return this } var parent = this.parent(); while (parent && parent.length) { if (parent.is(selector)) { return parent } parent = parent.parent() } return renderer() }; initRender.prototype.next = function(selector) { if (!this[0]) { return renderer() } var next = renderer(this[0].nextSibling); if (!arguments.length) { return next } while (next && next.length) { if (next.is(selector)) { return next } next = next.next() } return renderer() }; initRender.prototype.prev = function() { if (!this[0]) { return renderer() } return renderer(this[0].previousSibling) }; initRender.prototype.add = function(selector) { var targets = renderer(selector); var result = this.toArray(); for (var i = 0; i < targets.length; i++) { var target = targets[i]; if (-1 === result.indexOf(target)) { result.push(target) } } return renderer(result) }; var emptyArray = []; initRender.prototype.splice = function() { return renderer(emptyArray.splice.apply(this, arguments)) }; initRender.prototype.slice = function() { return renderer(emptyArray.slice.apply(this, arguments)) }; initRender.prototype.toArray = function() { return emptyArray.slice.call(this) }; initRender.prototype.offset = function() { if (!this[0]) { return } return (0, _size.getOffset)(this[0]) }; initRender.prototype.offsetParent = function() { if (!this[0]) { return renderer() } var offsetParent = renderer(this[0].offsetParent); while (offsetParent[0] && "static" === offsetParent.css("position")) { offsetParent = renderer(offsetParent[0].offsetParent) } offsetParent = offsetParent[0] ? offsetParent : renderer(_dom_adapter.default.getDocumentElement()); return offsetParent }; initRender.prototype.position = function() { if (!this[0]) { return } var offset; var marginTop = parseFloat(this.css("marginTop")); var marginLeft = parseFloat(this.css("marginLeft")); if ("fixed" === this.css("position")) { offset = this[0].getBoundingClientRect(); return { top: offset.top - marginTop, left: offset.left - marginLeft } } offset = this.offset(); var offsetParent = this.offsetParent(); var parentOffset = { top: 0, left: 0 }; if ("HTML" !== offsetParent[0].nodeName) { parentOffset = offsetParent.offset() } parentOffset = { top: parentOffset.top + parseFloat(offsetParent.css("borderTopWidth")), left: parentOffset.left + parseFloat(offsetParent.css("borderLeftWidth")) }; return { top: offset.top - parentOffset.top - marginTop, left: offset.left - parentOffset.left - marginLeft } }; [{ name: "scrollLeft", offsetProp: "pageXOffset", scrollWindow: function(win, value) { win.scrollTo(value, win.pageYOffset) } }, { name: "scrollTop", offsetProp: "pageYOffset", scrollWindow: function(win, value) { win.scrollTo(win.pageXOffset, value) } }].forEach((function(directionStrategy) { var propName = directionStrategy.name; initRender.prototype[propName] = function(value) { if (!this[0]) { return } var window = (0, _size.getWindowByElement)(this[0]); if (void 0 === value) { return window ? window[directionStrategy.offsetProp] : this[0][propName] } if (window) { directionStrategy.scrollWindow(window, value) } else { this[0][propName] = value } return this } })); initRender.prototype.data = function(key, value) { if (!this[0]) { return } if (arguments.length < 2) { return _element_data.data.call(renderer, this[0], key) } _element_data.data.call(renderer, this[0], key, value); return this }; initRender.prototype.removeData = function(key) { this[0] && (0, _element_data.removeData)(this[0], key); return this }; var rendererWrapper = function() { return renderer.apply(this, arguments) }; Object.defineProperty(rendererWrapper, "fn", { enumerable: true, configurable: true, get: function() { return renderer.fn }, set: function(value) { renderer.fn = value } }); var _default = { set: function(strategy) { renderer = strategy }, get: function() { return rendererWrapper } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 91784: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/resize_observer.js ***! \*********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _common = __webpack_require__( /*! ./utils/common */ 20576); var _window = __webpack_require__( /*! ./utils/window */ 58201); var window = (0, _window.getWindow)(); var ResizeObserverMock = { observe: _common.noop, unobserve: _common.noop, disconnect: _common.noop }; var ResizeObserverSingleton = function() { function ResizeObserverSingleton() { var _this = this; if (!(0, _window.hasWindow)() || !window.ResizeObserver) { return ResizeObserverMock } this._callbacksMap = new Map; this._observer = new window.ResizeObserver((function(entries) { entries.forEach((function(entry) { var _this$_callbacksMap$g; null === (_this$_callbacksMap$g = _this._callbacksMap.get(entry.target)) || void 0 === _this$_callbacksMap$g ? void 0 : _this$_callbacksMap$g(entry) })) })) } var _proto = ResizeObserverSingleton.prototype; _proto.observe = function(element, callback) { this._callbacksMap.set(element, callback); this._observer.observe(element) }; _proto.unobserve = function(element) { this._callbacksMap.delete(element); this._observer.unobserve(element) }; _proto.disconnect = function() { this._callbacksMap.clear(); this._observer.disconnect() }; return ResizeObserverSingleton }(); var resizeObserverSingleton = new ResizeObserverSingleton; var _default = resizeObserverSingleton; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 14192: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/template_manager.js ***! \**********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.TemplateManager = void 0; var _renderer = (obj = __webpack_require__( /*! ./renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ./utils/type */ 35922); var _common = __webpack_require__( /*! ./utils/common */ 20576); var _extend = __webpack_require__( /*! ./utils/extend */ 13306); var _function_template = __webpack_require__( /*! ./templates/function_template */ 68494); var _empty_template = __webpack_require__( /*! ./templates/empty_template */ 10688); var _template_manager = __webpack_require__( /*! ./utils/template_manager */ 69697); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var DX_POLYMORPH_WIDGET_TEMPLATE = new _function_template.FunctionTemplate((function(_ref) { var model = _ref.model, parent = _ref.parent; var widgetName = model.widget; if (!widgetName) { return (0, _renderer.default)() } var widgetElement = (0, _renderer.default)("
"); var widgetOptions = model.options || {}; if (parent) { parent._createComponent(widgetElement, widgetName, widgetOptions) } else { widgetElement[widgetName](widgetOptions) } return widgetElement })); var TemplateManager = function() { function TemplateManager(createElement, anonymousTemplateName) { this._tempTemplates = []; this._defaultTemplates = {}; this._anonymousTemplateName = anonymousTemplateName || "template"; this._createElement = createElement || _template_manager.defaultCreateElement; this._createTemplateIfNeeded = this._createTemplateIfNeeded.bind(this) } TemplateManager.createDefaultOptions = function() { return { integrationOptions: { watchMethod: function(fn, callback) { var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; if (!options.skipImmediate) { callback(fn()) } return _common.noop }, templates: { "dx-polymorph-widget": DX_POLYMORPH_WIDGET_TEMPLATE }, useDeferUpdateForTemplates: true } } }; var _proto = TemplateManager.prototype; _proto.addDefaultTemplates = function(templates) { this._defaultTemplates = (0, _extend.extend)({}, this._defaultTemplates, templates) }; _proto.dispose = function() { this._tempTemplates.forEach((function(tempTemplate) { tempTemplate.template.dispose && tempTemplate.template.dispose() })); this._tempTemplates = [] }; _proto.extractTemplates = function($el) { var templates = this._extractTemplates($el); var anonymousTemplateMeta = this._extractAnonymousTemplate($el); return { templates: templates, anonymousTemplateMeta: anonymousTemplateMeta } }; _proto._extractTemplates = function($el) { var _this = this; var templates = (0, _template_manager.findTemplates)($el, "dxTemplate"); var suitableTemplates = (0, _template_manager.suitableTemplatesByName)(templates); templates.forEach((function(_ref2) { var element = _ref2.element, name = _ref2.options.name; if (element === suitableTemplates[name]) { (0, _renderer.default)(element).addClass("dx-template-wrapper").detach() } else { (0, _renderer.default)(element).remove() } })); return Object.keys(suitableTemplates).map((function(name) { return { name: name, template: _this._createTemplate(suitableTemplates[name]) } })) }; _proto._extractAnonymousTemplate = function($el) { var $anonymousTemplate = $el.contents().detach(); var $notJunkTemplateContent = $anonymousTemplate.filter((function(_, element) { var isTextNode = 3 === element.nodeType; var isEmptyText = (0, _renderer.default)(element).text().trim().length < 1; return !(isTextNode && isEmptyText) })); return $notJunkTemplateContent.length > 0 ? { template: this._createTemplate($anonymousTemplate), name: this._anonymousTemplateName } : {} }; _proto._createTemplateIfNeeded = function(templateSource) { var cachedTemplate = this._tempTemplates.filter((function(tempTemplate) { return tempTemplate.source === (0, _template_manager.templateKey)(templateSource) }))[0]; if (cachedTemplate) { return cachedTemplate.template } var template = this._createTemplate(templateSource); this._tempTemplates.push({ template: template, source: (0, _template_manager.templateKey)(templateSource) }); return template }; _proto._createTemplate = function(templateSource) { return this._createElement((0, _template_manager.validateTemplateSource)(templateSource)) }; _proto.getTemplate = function(templateSource, templates, _ref3, context) { var _this2 = this; var isAsyncTemplate = _ref3.isAsyncTemplate, skipTemplates = _ref3.skipTemplates; if (!(0, _type.isFunction)(templateSource)) { return (0, _template_manager.acquireTemplate)(templateSource, this._createTemplateIfNeeded, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates) } return new _function_template.FunctionTemplate((function(options) { var templateSourceResult = templateSource.apply(context, (0, _template_manager.getNormalizedTemplateArgs)(options)); if (!(0, _type.isDefined)(templateSourceResult)) { return new _empty_template.EmptyTemplate } var dispose = false; var template = (0, _template_manager.acquireTemplate)(templateSourceResult, (function(templateSource) { if (templateSource.nodeType || (0, _type.isRenderer)(templateSource) && !(0, _renderer.default)(templateSource).is("script")) { return new _function_template.FunctionTemplate((function() { return templateSource })) } dispose = true; return _this2._createTemplate(templateSource) }), templates, isAsyncTemplate, skipTemplates, _this2._defaultTemplates); var result = template.render(options); dispose && template.dispose && template.dispose(); return result })) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(TemplateManager, [{ key: "anonymousTemplateName", get: function() { return this._anonymousTemplateName } }]); return TemplateManager }(); exports.TemplateManager = TemplateManager }, 93280: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/templates/bindable_template.js ***! \*********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.BindableTemplate = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../renderer */ 68374)); var _template_base = __webpack_require__( /*! ./template_base */ 81033); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _remove = __webpack_require__( /*! ../../events/remove */ 29007); var _type = __webpack_require__( /*! ../utils/type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var watchChanges = function(rawData, watchMethod, fields, fieldsMap, callback) { var fieldsDispose; var globalDispose = function(data, watchMethod, callback) { return watchMethod((function() { return data }), callback) }(rawData, watchMethod, (function(dataWithRawFields) { fieldsDispose && fieldsDispose(); if ((0, _type.isPrimitive)(dataWithRawFields)) { callback(dataWithRawFields); return } fieldsDispose = function(data, watchMethod, fields, fieldsMap, callback) { var resolvedData = {}; var missedFields = fields.slice(); var watchHandlers = fields.map((function(name) { var fieldGetter = fieldsMap[name]; return watchMethod(fieldGetter ? function() { return fieldGetter(data) } : function() { return data[name] }, (function(value) { resolvedData[name] = value; if (missedFields.length) { var index = missedFields.indexOf(name); if (index >= 0) { missedFields.splice(index, 1) } } if (!missedFields.length) { callback(resolvedData) } })) })); return function() { watchHandlers.forEach((function(dispose) { return dispose() })) } }(dataWithRawFields, watchMethod, fields, fieldsMap, callback) })); return function() { fieldsDispose && fieldsDispose(); globalDispose && globalDispose() } }; var BindableTemplate = function(_TemplateBase) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(BindableTemplate, _TemplateBase); function BindableTemplate(render, fields, watchMethod, fieldsMap) { var _this; _this = _TemplateBase.call(this) || this; _this._render = render; _this._fields = fields; _this._fieldsMap = fieldsMap || {}; _this._watchMethod = watchMethod; return _this } var _proto = BindableTemplate.prototype; _proto._renderCore = function(options) { var _this2 = this; var $container = (0, _renderer.default)(options.container); var dispose = watchChanges(options.model, this._watchMethod, this._fields, this._fieldsMap, (function(data) { $container.empty(); _this2._render($container, data, options.model) })); _events_engine.default.on($container, _remove.removeEvent, dispose); return $container.contents() }; return BindableTemplate }(_template_base.TemplateBase); exports.BindableTemplate = BindableTemplate }, 91627: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/templates/child_default_template.js ***! \**************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.ChildDefaultTemplate = void 0; var _template_base = __webpack_require__( /*! ./template_base */ 81033); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ChildDefaultTemplate = function(_TemplateBase) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ChildDefaultTemplate, _TemplateBase); function ChildDefaultTemplate(name) { var _this; _this = _TemplateBase.call(this) || this; _this.name = name; return _this } return ChildDefaultTemplate }(_template_base.TemplateBase); exports.ChildDefaultTemplate = ChildDefaultTemplate }, 10688: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/templates/empty_template.js ***! \******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.EmptyTemplate = void 0; var _renderer = (obj = __webpack_require__( /*! ../renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _template_base = __webpack_require__( /*! ./template_base */ 81033); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var EmptyTemplate = function(_TemplateBase) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(EmptyTemplate, _TemplateBase); function EmptyTemplate() { return _TemplateBase.apply(this, arguments) || this } var _proto = EmptyTemplate.prototype; _proto._renderCore = function() { return (0, _renderer.default)() }; return EmptyTemplate }(_template_base.TemplateBase); exports.EmptyTemplate = EmptyTemplate }, 68494: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/templates/function_template.js ***! \*********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.FunctionTemplate = void 0; var _template_base = __webpack_require__( /*! ./template_base */ 81033); var _dom = __webpack_require__( /*! ../utils/dom */ 3532); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FunctionTemplate = function(_TemplateBase) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FunctionTemplate, _TemplateBase); function FunctionTemplate(render) { var _this; _this = _TemplateBase.call(this) || this; _this._render = render; return _this } var _proto = FunctionTemplate.prototype; _proto._renderCore = function(options) { return (0, _dom.normalizeTemplateElement)(this._render(options)) }; return FunctionTemplate }(_template_base.TemplateBase); exports.FunctionTemplate = FunctionTemplate }, 9545: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/templates/template.js ***! \************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Template = void 0; var _renderer = (obj = __webpack_require__( /*! ../renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _template_base = __webpack_require__( /*! ./template_base */ 81033); var _dom = __webpack_require__( /*! ../utils/dom */ 3532); var _template_engine_registry = __webpack_require__( /*! ./template_engine_registry */ 72987); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) }(0, _template_engine_registry.registerTemplateEngine)("default", { compile: function(element) { return (0, _dom.normalizeTemplateElement)(element) }, render: function(template, model, index) { return template.clone() } }); (0, _template_engine_registry.setTemplateEngine)("default"); var Template = function(_TemplateBase) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Template, _TemplateBase); function Template(element) { var _this; _this = _TemplateBase.call(this) || this; _this._element = element; return _this } var _proto = Template.prototype; _proto._renderCore = function(options) { var transclude = options.transclude; if (!transclude && !this._compiledTemplate) { this._compiledTemplate = (0, _template_engine_registry.getCurrentTemplateEngine)().compile(this._element) } return (0, _renderer.default)("
").append(transclude ? this._element : (0, _template_engine_registry.getCurrentTemplateEngine)().render(this._compiledTemplate, options.model, options.index)).contents() }; _proto.source = function() { return (0, _renderer.default)(this._element).clone() }; return Template }(_template_base.TemplateBase); exports.Template = Template }, 81033: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/templates/template_base.js ***! \*****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.renderedCallbacks = exports.TemplateBase = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../dom_adapter */ 73349)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../utils/callbacks */ 44504)); var _dom = __webpack_require__( /*! ../utils/dom */ 3532); var _visibility_change = __webpack_require__( /*! ../../events/visibility_change */ 80506); var _errors = _interopRequireDefault(__webpack_require__( /*! ../errors */ 17381)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var renderedCallbacks = (0, _callbacks.default)({ syncStrategy: true }); exports.renderedCallbacks = renderedCallbacks; var TemplateBase = function() { function TemplateBase() {} var _proto = TemplateBase.prototype; _proto.render = function(options) { options = options || {}; var onRendered = options.onRendered; delete options.onRendered; var $result; if (options.renovated && options.transclude && this._element) { $result = (0, _renderer.default)("
").append(this._element).contents() } else { $result = this._renderCore(options) } this._ensureResultInContainer($result, options.container); renderedCallbacks.fire($result, options.container); onRendered && onRendered(); return $result }; _proto._ensureResultInContainer = function($result, container) { if (!container) { return } var $container = (0, _renderer.default)(container); var resultInContainer = (0, _dom.contains)($container.get(0), $result.get(0)); $container.append($result); if (resultInContainer) { return } var resultInBody = _dom_adapter.default.getBody().contains($container.get(0)); if (!resultInBody) { return }(0, _visibility_change.triggerShownEvent)($result) }; _proto._renderCore = function() { throw _errors.default.Error("E0001") }; return TemplateBase }(); exports.TemplateBase = TemplateBase }, 72987: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/templates/template_engine_registry.js ***! \****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getCurrentTemplateEngine = function() { return currentTemplateEngine }; exports.registerTemplateEngine = function(name, templateEngine) { templateEngines[name] = templateEngine }; exports.setTemplateEngine = function(templateEngine) { if ((0, _type.isString)(templateEngine)) { currentTemplateEngine = templateEngines[templateEngine]; if (!currentTemplateEngine) { throw _errors.default.Error("E0020", templateEngine) } } else { currentTemplateEngine = templateEngine } }; var _type = __webpack_require__( /*! ../utils/type */ 35922); var _errors = (obj = __webpack_require__( /*! ../errors */ 17381), obj && obj.__esModule ? obj : { default: obj }); var obj; var templateEngines = {}; var currentTemplateEngine }, 37208: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/ajax.js ***! \****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _deferred = __webpack_require__( /*! ./deferred */ 62754); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _http_request = _interopRequireDefault(__webpack_require__( /*! ../../core/http_request */ 83448)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _extend = __webpack_require__( /*! ./extend */ 13306); var _type = __webpack_require__( /*! ./type */ 35922); var _dependency_injector = _interopRequireDefault(__webpack_require__( /*! ./dependency_injector */ 20476)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var createScript = function(options) { var script = _dom_adapter.default.createElement("script"); for (var name in options) { script[name] = options[name] } return script }; var removeScript = function(scriptNode) { scriptNode.parentNode.removeChild(scriptNode) }; var appendToHead = function(element) { return _dom_adapter.default.getHead().appendChild(element) }; var evalScript = function(code) { var script = createScript({ text: code }); appendToHead(script); removeScript(script) }; var getRequestOptions = function(options, headers) { var params = options.data; var paramsAlreadyString = "string" === typeof params; var url = options.url || window.location.href; if (!paramsAlreadyString && !options.cache) { params = params || {}; params._ = Date.now() } if (params && !options.upload) { if (!paramsAlreadyString) { params = function(params) { var result = []; for (var name in params) { var value = params[name]; if (void 0 === value) { continue } if (null === value) { value = "" } if ("function" === typeof value) { value = value() } result.push(encodeURIComponent(name) + "=" + encodeURIComponent(value)) } return result.join("&") }(params) } if ("GET" === getMethod(options)) { if ("" !== params) { url += (url.indexOf("?") > -1 ? "&" : "?") + params } params = null } else if (headers["Content-Type"] && headers["Content-Type"].indexOf("application/x-www-form-urlencoded") > -1) { params = params.replace(/%20/g, "+") } } return { url: url, parameters: params } }; function getMethod(options) { return (options.method || "GET").toUpperCase() } var getRequestHeaders = function(options) { var headers = options.headers || {}; headers["Content-Type"] = headers["Content-Type"] || function(options) { var defaultContentType; if (options.data && !options.upload && "GET" !== getMethod(options)) { defaultContentType = "application/x-www-form-urlencoded;charset=utf-8" } return options.contentType || defaultContentType }(options); headers.Accept = headers.Accept || function(options) { var dataType = options.dataType || "*"; var scriptAccept = "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"; var accepts = { "*": "*/*", text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript", jsonp: scriptAccept, script: scriptAccept }; (0, _extend.extendFromObject)(accepts, options.accepts, true); return accepts[dataType] ? accepts[dataType] + ("*" !== dataType ? ", */*; q=0.01" : "") : accepts["*"] }(options); if (!options.crossDomain && !headers["X-Requested-With"]) { headers["X-Requested-With"] = "XMLHttpRequest" } return headers }; var _default = (0, _dependency_injector.default)({ sendRequest: function(options) { var xhr = _http_request.default.getXhr(); var d = new _deferred.Deferred; var result = d.promise(); var async = (0, _type.isDefined)(options.async) ? options.async : true; var dataType = options.dataType; var timeout = options.timeout || 0; var timeoutId; options.crossDomain = function(url) { if (!(0, _window.hasWindow)()) { return true } var crossDomain = false; var originAnchor = _dom_adapter.default.createElement("a"); var urlAnchor = _dom_adapter.default.createElement("a"); originAnchor.href = window.location.href; try { urlAnchor.href = url; urlAnchor.href = urlAnchor.href; crossDomain = originAnchor.protocol + "//" + originAnchor.host !== urlAnchor.protocol + "//" + urlAnchor.host } catch (e) { crossDomain = true } return crossDomain }(options.url); var needScriptEvaluation = "jsonp" === dataType || "script" === dataType; if (void 0 === options.cache) { options.cache = !needScriptEvaluation } var callbackName = function(options) { if ("jsonp" === options.dataType) { var random = Math.random().toString().replace(/\D/g, ""); var callbackName = options.jsonpCallback || "dxCallback" + Date.now() + "_" + random; var callbackParameter = options.jsonp || "callback"; options.data = options.data || {}; options.data[callbackParameter] = callbackName; return callbackName } }(options); var headers = getRequestHeaders(options); var requestOptions = getRequestOptions(options, headers); var url = requestOptions.url; var parameters = requestOptions.parameters; if (callbackName) { window[callbackName] = function(data) { d.resolve(data, "success", xhr) } } if (options.crossDomain && needScriptEvaluation) { (function(url) { var script = createScript({ src: url }); return new Promise((function(resolve, reject) { var events = { load: resolve, error: reject }; var loadHandler = function(e) { events[e.type](); removeScript(script) }; for (var event in events) { _dom_adapter.default.listen(script, event, loadHandler) } appendToHead(script) })) })(url).then((function() { if ("jsonp" === dataType) { return } d.resolve(null, "success", xhr) }), (function() { d.reject(xhr, "error") })); return result } if (options.crossDomain && !("withCredentials" in xhr)) { d.reject(xhr, "error"); return result } xhr.open(getMethod(options), url, async, options.username, options.password); if (async) { xhr.timeout = timeout; timeoutId = function(timeout, xhr) { return timeout && setTimeout((function() { xhr.customStatus = "timeout"; xhr.abort() }), timeout) }(timeout, xhr) } xhr.onreadystatechange = function(e) { if (4 === xhr.readyState) { clearTimeout(timeoutId); if (status = xhr.status, 200 <= status && status < 300) { if (function(status) { return 204 !== status }(xhr.status)) { ! function(deferred, xhr, dataType) { var data = function(xhr) { return xhr.responseType && "text" !== xhr.responseType || "string" !== typeof xhr.responseText ? xhr.response : xhr.responseText }(xhr); switch (dataType) { case "jsonp": evalScript(data); break; case "script": evalScript(data); deferred.resolve(data, "success", xhr); break; case "json": try { deferred.resolve(JSON.parse(data), "success", xhr) } catch (e) { deferred.reject(xhr, "parsererror", e) } break; default: deferred.resolve(data, "success", xhr) } }(d, xhr, dataType) } else { d.resolve(null, "nocontent", xhr) } } else { d.reject(xhr, xhr.customStatus || "error") } } var status }; if (options.upload) { xhr.upload.onprogress = options.upload.onprogress; xhr.upload.onloadstart = options.upload.onloadstart; xhr.upload.onabort = options.upload.onabort } if (options.xhrFields) { for (var field in options.xhrFields) { xhr[field] = options.xhrFields[field] } } if ("arraybuffer" === options.responseType) { xhr.responseType = options.responseType } for (var name in headers) { if (Object.prototype.hasOwnProperty.call(headers, name) && (0, _type.isDefined)(headers[name])) { xhr.setRequestHeader(name, headers[name]) } } if (options.beforeSend) { options.beforeSend(xhr) } xhr.send(parameters); result.abort = function() { xhr.abort() }; return result } }); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 89386: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/array.js ***! \*****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.wrapToArray = exports.removeDuplicates = exports.normalizeIndexes = exports.groupBy = exports.getUniqueValues = exports.getIntersection = void 0; var _type = __webpack_require__( /*! ./type */ 35922); var _object = __webpack_require__( /*! ./object */ 48013); var _config2 = (obj = __webpack_require__( /*! ../config */ 80209), obj && obj.__esModule ? obj : { default: obj }); var obj; function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function createOccurrenceMap(array) { return array.reduce((function(map, value) { var _map$get; var count = (null !== (_map$get = map.get(value)) && void 0 !== _map$get ? _map$get : 0) + 1; map.set(value, count); return map }), new Map) } exports.wrapToArray = function(item) { return Array.isArray(item) ? item : [item] }; exports.getUniqueValues = function(values) { return _toConsumableArray(new Set(values)) }; exports.getIntersection = function(firstArray, secondArray) { var toRemoveMap = createOccurrenceMap(secondArray); return firstArray.filter((function(value) { var occurrencesCount = toRemoveMap.get(value); occurrencesCount && toRemoveMap.set(value, occurrencesCount - 1); return occurrencesCount })) }; exports.removeDuplicates = function() { var from = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []; var toRemove = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : []; var toRemoveMap = createOccurrenceMap(toRemove); return from.filter((function(value) { var occurrencesCount = toRemoveMap.get(value); occurrencesCount && toRemoveMap.set(value, occurrencesCount - 1); return !occurrencesCount })) }; exports.normalizeIndexes = function(items, indexPropName, currentItem, needIndexCallback) { var indexedItems = {}; var _config = (0, _config2.default)(), useLegacyVisibleIndex = _config.useLegacyVisibleIndex; var currentIndex = 0; var shouldUpdateIndex = function(item) { return !(0, _type.isDefined)(item[indexPropName]) && (!needIndexCallback || needIndexCallback(item)) }; items.forEach((function(item) { var index = item[indexPropName]; if (index >= 0) { indexedItems[index] = indexedItems[index] || []; if (item === currentItem) { indexedItems[index].unshift(item) } else { indexedItems[index].push(item) } } else { item[indexPropName] = void 0 } })); if (!useLegacyVisibleIndex) { items.forEach((function(item) { if (shouldUpdateIndex(item)) { while (indexedItems[currentIndex]) { currentIndex++ } indexedItems[currentIndex] = [item]; currentIndex++ } })) } currentIndex = 0; (0, _object.orderEach)(indexedItems, (function(index, items) { items.forEach((function(item) { if (index >= 0) { item[indexPropName] = currentIndex++ } })) })); if (useLegacyVisibleIndex) { items.forEach((function(item) { if (shouldUpdateIndex(item)) { item[indexPropName] = currentIndex++ } })) } }; exports.groupBy = function(array, getGroupName) { return array.reduce((function(groupedResult, item) { var _groupedResult$groupN; var groupName = getGroupName(item); groupedResult[groupName] = null !== (_groupedResult$groupN = groupedResult[groupName]) && void 0 !== _groupedResult$groupN ? _groupedResult$groupN : []; groupedResult[groupName].push(item); return groupedResult }), {}) } }, 34671: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/array_compare.js ***! \*************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.isKeysEqual = exports.findChanges = void 0; var _type = __webpack_require__( /*! ./type */ 35922); var getKeyWrapper = function(item, getKey) { var key = getKey(item); if ((0, _type.isObject)(key)) { try { return JSON.stringify(key) } catch (e) { return key } } return key }; var getSameNewByOld = function(oldItem, newItems, newIndexByKey, getKey) { var key = getKeyWrapper(oldItem, getKey); return newItems[newIndexByKey[key]] }; exports.isKeysEqual = function(oldKeys, newKeys) { if (oldKeys.length !== newKeys.length) { return false } for (var i = 0; i < newKeys.length; i++) { if (oldKeys[i] !== newKeys[i]) { return false } } return true }; exports.findChanges = function(oldItems, newItems, getKey, isItemEquals) { var oldIndexByKey = {}; var newIndexByKey = {}; var addedCount = 0; var removeCount = 0; var result = []; oldItems.forEach((function(item, index) { var key = getKeyWrapper(item, getKey); oldIndexByKey[key] = index })); newItems.forEach((function(item, index) { var key = getKeyWrapper(item, getKey); newIndexByKey[key] = index })); var itemCount = Math.max(oldItems.length, newItems.length); for (var index = 0; index < itemCount + addedCount; index++) { var newItem = newItems[index]; var oldNextIndex = index - addedCount + removeCount; var nextOldItem = oldItems[oldNextIndex]; var isRemoved = !newItem || nextOldItem && !getSameNewByOld(nextOldItem, newItems, newIndexByKey, getKey); if (isRemoved) { if (nextOldItem) { result.push({ type: "remove", key: getKey(nextOldItem), index: index, oldItem: nextOldItem }); removeCount++; index-- } } else { var key = getKeyWrapper(newItem, getKey); var oldIndex = oldIndexByKey[key]; var oldItem = oldItems[oldIndex]; if (!oldItem) { addedCount++; result.push({ type: "insert", data: newItem, index: index }) } else if (oldIndex === oldNextIndex) { if (!isItemEquals(oldItem, newItem)) { result.push({ type: "update", data: newItem, key: getKey(newItem), index: index, oldItem: oldItem }) } } else { return } } } return result } }, 47810: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/browser.js ***! \*******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend = __webpack_require__( /*! ./extend */ 13306); var _window = __webpack_require__( /*! ./window */ 58201); var navigator = (0, _window.getNavigator)(); var webkitRegExp = /(webkit)[ /]([\w.]+)/; var mozillaRegExp = /(mozilla)(?:.*? rv:([\w.]+))/; var browserFromUA = function(ua) { ua = ua.toLowerCase(); var result = {}; var matches = webkitRegExp.exec(ua) || ua.indexOf("compatible") < 0 && mozillaRegExp.exec(ua) || []; var browserName = matches[1]; var browserVersion = matches[2]; if ("webkit" === browserName) { result.webkit = true; if (ua.indexOf("chrome") >= 0 || ua.indexOf("crios") >= 0) { browserName = "chrome"; browserVersion = /(?:chrome|crios)\/(\d+\.\d+)/.exec(ua); browserVersion = browserVersion && browserVersion[1] } else if (ua.indexOf("fxios") >= 0) { browserName = "mozilla"; browserVersion = /fxios\/(\d+\.\d+)/.exec(ua); browserVersion = browserVersion && browserVersion[1] } else if (ua.indexOf("safari") >= 0 && /version|phantomjs/.test(ua)) { browserName = "safari"; browserVersion = /(?:version|phantomjs)\/([0-9.]+)/.exec(ua); browserVersion = browserVersion && browserVersion[1] } else { browserName = "unknown"; browserVersion = /applewebkit\/([0-9.]+)/.exec(ua); browserVersion = browserVersion && browserVersion[1] } } if (browserName) { result[browserName] = true; result.version = browserVersion } return result }; var _default = (0, _extend.extend)({ _fromUA: browserFromUA }, browserFromUA(navigator.userAgent)); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 39618: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/call_once.js ***! \*********************************************************************/ function(module, exports) { exports.default = void 0; var _default = function(handler) { var result; var _wrappedHandler = function() { result = handler.apply(this, arguments); _wrappedHandler = function() { return result }; return result }; return function() { return _wrappedHandler.apply(this, arguments) } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 44504: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/callbacks.js ***! \*********************************************************************/ function(module, exports) { exports.default = void 0; var Callback = function(options) { this._options = options || {}; this._list = []; this._queue = []; this._firing = false; this._fired = false; this._firingIndexes = [] }; Callback.prototype._fireCore = function(context, args) { var firingIndexes = this._firingIndexes; var list = this._list; var stopOnFalse = this._options.stopOnFalse; var step = firingIndexes.length; for (firingIndexes[step] = 0; firingIndexes[step] < list.length; firingIndexes[step]++) { var result = list[firingIndexes[step]].apply(context, args); if (false === result && stopOnFalse) { break } } firingIndexes.pop() }; Callback.prototype.add = function(fn) { if ("function" === typeof fn && (!this._options.unique || !this.has(fn))) { this._list.push(fn) } return this }; Callback.prototype.remove = function(fn) { var list = this._list; var firingIndexes = this._firingIndexes; var index = list.indexOf(fn); if (index > -1) { list.splice(index, 1); if (this._firing && firingIndexes.length) { for (var step = 0; step < firingIndexes.length; step++) { if (index <= firingIndexes[step]) { firingIndexes[step]-- } } } } return this }; Callback.prototype.has = function(fn) { var list = this._list; return fn ? list.indexOf(fn) > -1 : !!list.length }; Callback.prototype.empty = function(fn) { this._list = []; return this }; Callback.prototype.fireWith = function(context, args) { var queue = this._queue; args = args || []; args = args.slice ? args.slice() : args; if (this._options.syncStrategy) { this._firing = true; this._fireCore(context, args) } else { queue.push([context, args]); if (this._firing) { return } this._firing = true; while (queue.length) { var memory = queue.shift(); this._fireCore(memory[0], memory[1]) } } this._firing = false; this._fired = true; return this }; Callback.prototype.fire = function() { this.fireWith(this, arguments) }; Callback.prototype.fired = function() { return this._fired }; var _default = function(options) { return new Callback(options) }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 20576: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/common.js ***! \******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.splitPair = exports.pairToObject = exports.normalizeKey = exports.noop = exports.grep = exports.getKeyHash = exports.findBestMatches = exports.executeAsync = exports.escapeRegExp = exports.equalByValue = exports.ensureDefined = exports.denormalizeKey = exports.deferUpdater = exports.deferUpdate = exports.deferRenderer = exports.deferRender = exports.asyncNoop = exports.applyServerDecimalSeparator = void 0; var _config = _interopRequireDefault(__webpack_require__( /*! ../config */ 80209)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../guid */ 73176)); var _deferred = __webpack_require__( /*! ../utils/deferred */ 62754); var _data = __webpack_require__( /*! ./data */ 47617); var _iterator = __webpack_require__( /*! ./iterator */ 95479); var _type = __webpack_require__( /*! ./type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } exports.ensureDefined = function(value, defaultValue) { return (0, _type.isDefined)(value) ? value : defaultValue }; exports.executeAsync = function(action, context) { var deferred = new _deferred.Deferred; var normalizedContext = context || this; var task = { promise: deferred.promise(), abort: function() { clearTimeout(timerId); deferred.rejectWith(normalizedContext) } }; var callback = function() { var result = action.call(normalizedContext); if (result && result.done && (0, _type.isFunction)(result.done)) { result.done((function() { deferred.resolveWith(normalizedContext) })) } else { deferred.resolveWith(normalizedContext) } }; var timerId = (arguments[2] || setTimeout)(callback, "number" === typeof context ? context : 0); return task }; var delayedFuncs = []; var delayedNames = []; var delayedDeferreds = []; var executingName; var deferExecute = function(name, func, deferred) { if (executingName && executingName !== name) { delayedFuncs.push(func); delayedNames.push(name); deferred = deferred || new _deferred.Deferred; delayedDeferreds.push(deferred); return deferred } else { var oldExecutingName = executingName; var currentDelayedCount = delayedDeferreds.length; executingName = name; var result = func(); if (!result) { if (delayedDeferreds.length > currentDelayedCount) { result = _deferred.when.apply(this, delayedDeferreds.slice(currentDelayedCount)) } else if (deferred) { deferred.resolve() } } executingName = oldExecutingName; if (deferred && result && result.done) { result.done(deferred.resolve).fail(deferred.reject) } if (!executingName && delayedFuncs.length) { ("render" === delayedNames.shift() ? deferRender : deferUpdate)(delayedFuncs.shift(), delayedDeferreds.shift()) } return result || (0, _deferred.when)() } }; var deferRender = function(func, deferred) { return deferExecute("render", func, deferred) }; exports.deferRender = deferRender; var deferUpdate = function(func, deferred) { return deferExecute("update", func, deferred) }; exports.deferUpdate = deferUpdate; exports.deferRenderer = function(func) { return function() { var that = this; return deferExecute("render", (function() { return func.call(that) })) } }; exports.deferUpdater = function(func) { return function() { var that = this; return deferExecute("update", (function() { return func.call(that) })) } }; exports.findBestMatches = function(targetFilter, items, mapFn) { var bestMatches = []; var maxMatchCount = 0; (0, _iterator.each)(items, (function(index, itemSrc) { var matchCount = 0; var item = mapFn ? mapFn(itemSrc) : itemSrc; (0, _iterator.each)(targetFilter, (function(paramName, targetValue) { var value = item[paramName]; if (void 0 === value) { return } if (match(value, targetValue)) { matchCount++; return } matchCount = -1; return false })); if (matchCount < maxMatchCount) { return } if (matchCount > maxMatchCount) { bestMatches.length = 0; maxMatchCount = matchCount } bestMatches.push(itemSrc) })); return bestMatches }; var match = function(value, targetValue) { if (Array.isArray(value) && Array.isArray(targetValue)) { var mismatch = false; (0, _iterator.each)(value, (function(index, valueItem) { if (valueItem !== targetValue[index]) { mismatch = true; return false } })); if (mismatch) { return false } return true } if (value === targetValue) { return true } return false }; var splitPair = function(raw) { var _raw$x, _raw$y; switch ((0, _type.type)(raw)) { case "string": return raw.split(/\s+/, 2); case "object": return [null !== (_raw$x = raw.x) && void 0 !== _raw$x ? _raw$x : raw.h, null !== (_raw$y = raw.y) && void 0 !== _raw$y ? _raw$y : raw.v]; case "number": return [raw]; case "array": return raw; default: return null } }; exports.splitPair = splitPair; exports.normalizeKey = function(id) { var key = (0, _type.isString)(id) ? id : id.toString(); var arr = key.match(/[^a-zA-Z0-9_]/g); arr && (0, _iterator.each)(arr, (function(_, sign) { key = key.replace(sign, "__" + sign.charCodeAt() + "__") })); return key }; exports.denormalizeKey = function(key) { var arr = key.match(/__\d+__/g); arr && arr.forEach((function(char) { var charCode = parseInt(char.replace("__", "")); key = key.replace(char, String.fromCharCode(charCode)) })); return key }; exports.pairToObject = function(raw, preventRound) { var pair = splitPair(raw); var h = preventRound ? parseFloat(pair && pair[0]) : parseInt(pair && pair[0], 10); var v = preventRound ? parseFloat(pair && pair[1]) : parseInt(pair && pair[1], 10); if (!isFinite(h)) { h = 0 } if (!isFinite(v)) { v = h } return { h: h, v: v } }; exports.getKeyHash = function(key) { if (key instanceof _guid.default) { return key.toString() } else if ((0, _type.isObject)(key) || Array.isArray(key)) { try { var keyHash = JSON.stringify(key); return "{}" === keyHash ? key : keyHash } catch (e) { return key } } return key }; exports.escapeRegExp = function(string) { return string.replace(/[[\]{}\-()*+?.\\^$|\s]/g, "\\$&") }; exports.applyServerDecimalSeparator = function(value) { var separator = (0, _config.default)().serverDecimalSeparator; if ((0, _type.isDefined)(value)) { value = value.toString().replace(".", separator) } return value }; exports.noop = function() {}; exports.asyncNoop = function() { return (new _deferred.Deferred).resolve().promise() }; exports.grep = function(elements, checkFunction, invert) { var result = []; var check; var expectedCheck = !invert; for (var i = 0; i < elements.length; i++) { check = !!checkFunction(elements[i], i); if (check === expectedCheck) { result.push(elements[i]) } } return result }; var compareArrays = function(array1, array2, depth, options) { if (array1.length !== array2.length) { return false } return !array1.some((function(item, idx) { return !compareByValue(item, array2[idx], depth + 1, _extends({}, options, { strict: true })) })) }; var compareObjects = function(object1, object2, depth, options) { var keys1 = Object.keys(object1); var keys2 = Object.keys(object2); if (keys1.length !== keys2.length) { return false } var keys2Set = new Set(keys2); return !keys1.some((function(key) { return !keys2Set.has(key) || !compareByValue(object1[key], object2[key], depth + 1, options) })) }; var DEFAULT_EQUAL_BY_VALUE_OPTS = { maxDepth: 3, strict: true }; var compareByValue = function(value1, value2, depth, options) { var strict = options.strict, maxDepth = options.maxDepth; var comparable1 = (0, _data.toComparable)(value1, true); var comparable2 = (0, _data.toComparable)(value2, true); var comparisonResult = strict ? comparable1 === comparable2 : comparable1 == comparable2; switch (true) { case comparisonResult: case depth >= maxDepth: return true; case (0, _type.isObject)(comparable1) && (0, _type.isObject)(comparable2): return compareObjects(comparable1, comparable2, depth, options); case Array.isArray(comparable1) && Array.isArray(comparable2): return compareArrays(comparable1, comparable2, depth, options); default: return false } }; exports.equalByValue = function(value1, value2) { var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : DEFAULT_EQUAL_BY_VALUE_OPTS; var compareOptions = _extends({}, DEFAULT_EQUAL_BY_VALUE_OPTS, options); return compareByValue(value1, value2, 0, compareOptions) } }, 49036: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/comparator.js ***! \**********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.equals = void 0; var _dom_adapter = (obj = __webpack_require__( /*! ../dom_adapter */ 73349), obj && obj.__esModule ? obj : { default: obj }); var obj; var _data = __webpack_require__( /*! ./data */ 47617); var _type = __webpack_require__( /*! ./type */ 35922); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.equals = function(oldValue, newValue) { oldValue = (0, _data.toComparable)(oldValue, true); newValue = (0, _data.toComparable)(newValue, true); if (oldValue && newValue && (0, _type.isRenderer)(oldValue) && (0, _type.isRenderer)(newValue)) { return newValue.is(oldValue) } var oldValueIsNaN = oldValue !== oldValue; var newValueIsNaN = newValue !== newValue; if (oldValueIsNaN && newValueIsNaN) { return true } if (0 === oldValue && 0 === newValue) { return function(oldValue, newValue) { return 1 / oldValue === 1 / newValue }(oldValue, newValue) } if (null === oldValue || "object" !== _typeof(oldValue) || _dom_adapter.default.isElementNode(oldValue)) { return oldValue === newValue } return false } }, 30869: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/console.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.logger = exports.debug = void 0; var _type = __webpack_require__( /*! ./type */ 35922); var noop = function() {}; var getConsoleMethod = function(method) { if ("undefined" === typeof console || !(0, _type.isFunction)(console[method])) { return noop } return console[method].bind(console) }; var logger = { log: getConsoleMethod("log"), info: getConsoleMethod("info"), warn: getConsoleMethod("warn"), error: getConsoleMethod("error") }; exports.logger = logger; var debug = function() { function assert(condition, message) { if (!condition) { throw new Error(message) } } return { assert: assert, assertParam: function(parameter, message) { assert(null !== parameter && void 0 !== parameter, message) } } }(); exports.debug = debug }, 47617: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/data.js ***! \****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.toComparable = exports.getPathParts = exports.compileSetter = exports.compileGetter = void 0; var _errors = _interopRequireDefault(__webpack_require__( /*! ../errors */ 17381)); var _class = _interopRequireDefault(__webpack_require__( /*! ../class */ 38377)); var _object = __webpack_require__( /*! ./object */ 48013); var _type = __webpack_require__( /*! ./type */ 35922); var _iterator = __webpack_require__( /*! ./iterator */ 95479); var _variable_wrapper = _interopRequireDefault(__webpack_require__( /*! ./variable_wrapper */ 26974)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var unwrapVariable = _variable_wrapper.default.unwrap; var isWrapped = _variable_wrapper.default.isWrapped; var assign = _variable_wrapper.default.assign; var getPathParts = function(name) { return (expr = name, expr.replace(/\[/g, ".").replace(/\]/g, "")).split("."); var expr }; exports.getPathParts = getPathParts; var assignPropValue = function(obj, propName, value, options) { if ("this" === propName) { throw new _errors.default.Error("E4016") } var propValue = obj[propName]; if (options.unwrapObservables && isWrapped(propValue)) { assign(propValue, value) } else { obj[propName] = value } }; var prepareOptions = function(options) { options = options || {}; options.unwrapObservables = void 0 !== options.unwrapObservables ? options.unwrapObservables : true; return options }; function unwrap(value, options) { return options.unwrapObservables ? unwrapVariable(value) : value } var compileGetter = function(expr) { if (arguments.length > 1) { expr = [].slice.call(arguments) } if (!expr || "this" === expr) { return function(obj) { return obj } } if ("string" === typeof expr) { var path = getPathParts(expr); return function(obj, options) { options = prepareOptions(options); var functionAsIs = options.functionsAsIs; var hasDefaultValue = "defaultValue" in options; var current = unwrap(obj, options); for (var i = 0; i < path.length; i++) { if (!current) { if (null == current && hasDefaultValue) { return options.defaultValue } break } var pathPart = path[i]; if (hasDefaultValue && (0, _type.isObject)(current) && !(pathPart in current)) { return options.defaultValue } var next = unwrap(current[pathPart], options); if (!functionAsIs && (0, _type.isFunction)(next)) { next = next.call(current) } current = next } return current } } if (Array.isArray(expr)) { return combineGetters(expr) } if ((0, _type.isFunction)(expr)) { return expr } }; exports.compileGetter = compileGetter; function combineGetters(getters) { var compiledGetters = {}; for (var i = 0, l = getters.length; i < l; i++) { var getter = getters[i]; compiledGetters[getter] = compileGetter(getter) } return function(obj, options) { var result; (0, _iterator.each)(compiledGetters, (function(name) { var value = this(obj, options); if (void 0 === value) { return } var current = result || (result = {}); var path = name.split("."); var last = path.length - 1; for (var _i = 0; _i < last; _i++) { var pathItem = path[_i]; if (!(pathItem in current)) { current[pathItem] = {} } current = current[pathItem] } current[path[last]] = value })); return result } } var ensurePropValueDefined = function(obj, propName, value, options) { if ((0, _type.isDefined)(value)) { return value } var newValue = {}; assignPropValue(obj, propName, newValue, options); return newValue }; exports.compileSetter = function(expr) { expr = getPathParts(expr || "this"); var lastLevelIndex = expr.length - 1; return function(obj, value, options) { options = prepareOptions(options); var currentValue = unwrap(obj, options); expr.forEach((function(propertyName, levelIndex) { var propertyValue = function(obj, propName, options) { options = options || {}; if ("this" === propName) { return unwrap(obj, options) } return unwrap(obj[propName], options) }(currentValue, propertyName, options); var isPropertyFunc = !options.functionsAsIs && (0, _type.isFunction)(propertyValue) && !isWrapped(propertyValue); if (levelIndex === lastLevelIndex) { if (options.merge && (0, _type.isPlainObject)(value) && (!(0, _type.isDefined)(propertyValue) || (0, _type.isPlainObject)(propertyValue))) { propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options); (0, _object.deepExtendArraySafe)(propertyValue, value, false, true) } else if (isPropertyFunc) { currentValue[propertyName](value) } else { assignPropValue(currentValue, propertyName, value, options) } } else { propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options); if (isPropertyFunc) { propertyValue = propertyValue.call(currentValue) } currentValue = propertyValue } })) } }; exports.toComparable = function(value, caseSensitive) { var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; if (value instanceof Date) { return value.getTime() } if (value && value instanceof _class.default && value.valueOf) { return value.valueOf() } if (!caseSensitive && "string" === typeof value) { var _options$collatorOpti; if ("base" === (null === options || void 0 === options ? void 0 : null === (_options$collatorOpti = options.collatorOptions) || void 0 === _options$collatorOpti ? void 0 : _options$collatorOpti.sensitivity)) { var REMOVE_DIACRITICAL_MARKS_REGEXP = /[\u0300-\u036f]/g; value = value.normalize("NFD").replace(REMOVE_DIACRITICAL_MARKS_REGEXP, "") } return null !== options && void 0 !== options && options.locale ? value.toLocaleLowerCase(options.locale) : value.toLowerCase() } return value } }, 91198: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/date.js ***! \****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _type = __webpack_require__( /*! ./type */ 35922); var _math = __webpack_require__( /*! ./math */ 60810); var _iterator = __webpack_require__( /*! ./iterator */ 95479); var _inflector = __webpack_require__( /*! ./inflector */ 78008); var _index = __webpack_require__( /*! ../../renovation/ui/common/utils/date/index */ 25050); function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind() } else { _construct = function(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor; if (Class) { _setPrototypeOf(instance, Class.prototype) } return instance } } return _construct.apply(null, arguments) } function _isNativeReflectConstruct() { if ("undefined" === typeof Reflect || !Reflect.construct) { return false } if (Reflect.construct.sham) { return false } if ("function" === typeof Proxy) { return true } try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function() {}))); return true } catch (e) { return false } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var dateUnitIntervals = ["millisecond", "second", "minute", "hour", "day", "week", "month", "quarter", "year"]; var convertMillisecondsToDateUnits = function(value) { var i; var dateUnitCount; var dateUnitInterval; var dateUnitIntervals = ["millisecond", "second", "minute", "hour", "day", "month", "year"]; var result = {}; for (i = dateUnitIntervals.length - 1; i >= 0; i--) { dateUnitInterval = dateUnitIntervals[i]; dateUnitCount = Math.floor(value / (0, _index.toMilliseconds)(dateUnitInterval)); if (dateUnitCount > 0) { result[dateUnitInterval + "s"] = dateUnitCount; value -= convertDateUnitToMilliseconds(dateUnitInterval, dateUnitCount) } } return result }; function convertDateUnitToMilliseconds(dateUnit, count) { return (0, _index.toMilliseconds)(dateUnit) * count } function getDateUnitInterval(tickInterval) { var maxInterval = -1; var i; if ((0, _type.isString)(tickInterval)) { return tickInterval } if ((0, _type.isObject)(tickInterval)) { (0, _iterator.each)(tickInterval, (function(key, value) { for (i = 0; i < dateUnitIntervals.length; i++) { if (value && (key === dateUnitIntervals[i] + "s" || key === dateUnitIntervals[i]) && maxInterval < i) { maxInterval = i } } })); return dateUnitIntervals[maxInterval] } return "" } var tickIntervalToFormatMap = { millisecond: "millisecond", second: "longtime", minute: "shorttime", hour: "shorttime", day: "day", week: "day", month: "month", quarter: "quarter", year: "year" }; var getQuarter = function(month) { return Math.floor(month / 3) }; var getFirstQuarterMonth = function(month) { return 3 * getQuarter(month) }; function correctDateWithUnitBeginning(date, dateInterval, withCorrection, firstDayOfWeek) { date = new Date(date.getTime()); var oldDate = new Date(date.getTime()); var firstQuarterMonth; var month; var dateUnitInterval = getDateUnitInterval(dateInterval); switch (dateUnitInterval) { case "second": date = new Date(1e3 * Math.floor(oldDate.getTime() / 1e3)); break; case "minute": date = new Date(6e4 * Math.floor(oldDate.getTime() / 6e4)); break; case "hour": date = new Date(36e5 * Math.floor(oldDate.getTime() / 36e5)); break; case "year": date.setMonth(0); case "month": date.setDate(1); case "day": date.setHours(0, 0, 0, 0); break; case "week": date = getFirstWeekDate(date, firstDayOfWeek || 0); date.setHours(0, 0, 0, 0); break; case "quarter": firstQuarterMonth = getFirstQuarterMonth(date.getMonth()); month = date.getMonth(); date.setDate(1); date.setHours(0, 0, 0, 0); if (month !== firstQuarterMonth) { date.setMonth(firstQuarterMonth) } } if (withCorrection && "hour" !== dateUnitInterval && "minute" !== dateUnitInterval && "second" !== dateUnitInterval) { fixTimezoneGap(oldDate, date) } return date } function trimTime(date) { return correctDateWithUnitBeginning(date, "day") } function addDateInterval(value, interval, dir) { var result = new Date(value.getTime()); var intervalObject = (0, _type.isString)(interval) ? getDateIntervalByString(interval.toLowerCase()) : (0, _type.isNumeric)(interval) ? convertMillisecondsToDateUnits(interval) : interval; if (intervalObject.years) { result.setFullYear(result.getFullYear() + intervalObject.years * dir) } if (intervalObject.quarters) { result.setMonth(result.getMonth() + 3 * intervalObject.quarters * dir) } if (intervalObject.months) { result.setMonth(result.getMonth() + intervalObject.months * dir) } if (intervalObject.weeks) { result.setDate(result.getDate() + 7 * intervalObject.weeks * dir) } if (intervalObject.days) { result.setDate(result.getDate() + intervalObject.days * dir) } if (intervalObject.hours) { result.setTime(result.getTime() + 36e5 * intervalObject.hours * dir) } if (intervalObject.minutes) { result.setTime(result.getTime() + 6e4 * intervalObject.minutes * dir) } if (intervalObject.seconds) { result.setTime(result.getTime() + 1e3 * intervalObject.seconds * dir) } if (intervalObject.milliseconds) { result.setTime(result.getTime() + intervalObject.milliseconds * dir) } return result } var addInterval = function(value, interval, isNegative) { var dir = isNegative ? -1 : 1; return (0, _type.isDate)(value) ? addDateInterval(value, interval, dir) : (0, _math.adjust)(value + interval * dir, interval) }; function getLastMonthDay(date) { var resultDate = createDateWithFullYear(date.getFullYear(), date.getMonth() + 1, 0); return resultDate.getDate() } function getDateIntervalByString(intervalString) { var result = {}; switch (intervalString) { case "year": result.years = 1; break; case "month": result.months = 1; break; case "quarter": result.months = 3; break; case "week": result.weeks = 1; break; case "day": result.days = 1; break; case "hour": result.hours = 1; break; case "minute": result.minutes = 1; break; case "second": result.seconds = 1; break; case "millisecond": result.milliseconds = 1 } return result } function sameMonthAndYear(date1, date2) { return sameYear(date1, date2) && date1.getMonth() === date2.getMonth() } function sameYear(date1, date2) { return date1 && date2 && date1.getFullYear() === date2.getFullYear() } function getFirstDecadeInCentury(date) { return date && date.getFullYear() - date.getFullYear() % 100 } function getFirstYearInDecade(date) { return date && date.getFullYear() - date.getFullYear() % 10 } function getFirstWeekDate(date, firstDayOfWeek) { var delta = (date.getDay() - firstDayOfWeek + 7) % 7; var result = new Date(date); result.setDate(date.getDate() - delta); return result } function getUTCTime(date) { return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()) } function getFirstDateInYear(year) { return new Date(year, 0, 1) } function getLastDateInYear(year) { return new Date(year, 11, 31) } function getDayWeekNumber(date, firstDayOfWeek) { var day = date.getDay() - firstDayOfWeek + 1; if (day <= 0) { day += 7 } return day } function normalizeDate(date, min, max) { var normalizedDate = date; if (!(0, _type.isDefined)(date)) { return date } if ((0, _type.isDefined)(min) && date < min) { normalizedDate = min } if ((0, _type.isDefined)(max) && date > max) { normalizedDate = max } return normalizedDate } function fixTimezoneGap(oldDate, newDate) { if (!(0, _type.isDefined)(oldDate)) { return } var diff = newDate.getHours() - oldDate.getHours(); if (0 === diff) { return } var sign = 1 === diff || -23 === diff ? -1 : 1; var trial = new Date(newDate.getTime() + 36e5 * sign); if (sign > 0 || trial.getDate() === newDate.getDate()) { newDate.setTime(trial.getTime()) } } function getTimezonesDifference(min, max) { return 60 * (max.getTimezoneOffset() - min.getTimezoneOffset()) * 1e3 } var createDateWithFullYear = function(year) { var result = _construct(Date, Array.prototype.slice.call(arguments)); result.setFullYear(year); return result }; var dateUtils = { dateUnitIntervals: dateUnitIntervals, convertMillisecondsToDateUnits: convertMillisecondsToDateUnits, dateToMilliseconds: function(tickInterval) { var milliseconds = 0; if ((0, _type.isObject)(tickInterval)) { (0, _iterator.each)(tickInterval, (function(key, value) { milliseconds += convertDateUnitToMilliseconds(key.substr(0, key.length - 1), value) })) } if ((0, _type.isString)(tickInterval)) { milliseconds = convertDateUnitToMilliseconds(tickInterval, 1) } return milliseconds }, getNextDateUnit: function(unit, withWeeks) { var interval = getDateUnitInterval(unit); switch (interval) { case "millisecond": return "second"; case "second": return "minute"; case "minute": return "hour"; case "hour": return "day"; case "day": return withWeeks ? "week" : "month"; case "week": return "month"; case "month": return "quarter"; case "quarter": case "year": return "year"; default: return 0 } }, convertDateUnitToMilliseconds: convertDateUnitToMilliseconds, getDateUnitInterval: getDateUnitInterval, getDateFormatByTickInterval: function(tickInterval) { return tickIntervalToFormatMap[getDateUnitInterval(tickInterval)] || "" }, getDatesDifferences: function(date1, date2) { var counter = 0; var differences = { year: date1.getFullYear() !== date2.getFullYear(), month: date1.getMonth() !== date2.getMonth(), day: date1.getDate() !== date2.getDate(), hour: date1.getHours() !== date2.getHours(), minute: date1.getMinutes() !== date2.getMinutes(), second: date1.getSeconds() !== date2.getSeconds(), millisecond: date1.getMilliseconds() !== date2.getMilliseconds() }; (0, _iterator.each)(differences, (function(key, value) { if (value) { counter++ } })); if (0 === counter && 0 !== getTimezonesDifference(date1, date2)) { differences.hour = true; counter++ } differences.count = counter; return differences }, correctDateWithUnitBeginning: correctDateWithUnitBeginning, trimTime: trimTime, setToDayEnd: function(date) { var result = trimTime(date); result.setDate(result.getDate() + 1); return new Date(result.getTime() - 1) }, roundDateByStartDayHour: function(date, startDayHour) { var startTime = this.dateTimeFromDecimal(startDayHour); var result = new Date(date); if (date.getHours() === startTime.hours && date.getMinutes() < startTime.minutes || date.getHours() < startTime.hours) { result.setHours(startTime.hours, startTime.minutes, 0, 0) } return result }, dateTimeFromDecimal: function(number) { var hours = Math.floor(number); var minutes = number % 1 * 60; return { hours: hours, minutes: minutes } }, addDateInterval: addDateInterval, addInterval: addInterval, getSequenceByInterval: function(min, max, interval) { var intervals = []; var cur; intervals.push((0, _type.isDate)(min) ? new Date(min.getTime()) : min); cur = min; while (cur < max) { cur = addInterval(cur, interval); intervals.push(cur) } return intervals }, getDateIntervalByString: getDateIntervalByString, sameHoursAndMinutes: function(date1, date2) { return date1 && date2 && date1.getHours() === date2.getHours() && date1.getMinutes() === date2.getMinutes() }, sameDate: function(date1, date2) { return sameMonthAndYear(date1, date2) && date1.getDate() === date2.getDate() }, sameMonthAndYear: sameMonthAndYear, sameMonth: sameMonthAndYear, sameYear: sameYear, sameDecade: function(date1, date2) { if (!(0, _type.isDefined)(date1) || !(0, _type.isDefined)(date2)) { return } var startDecadeDate1 = date1.getFullYear() - date1.getFullYear() % 10; var startDecadeDate2 = date2.getFullYear() - date2.getFullYear() % 10; return date1 && date2 && startDecadeDate1 === startDecadeDate2 }, sameCentury: function(date1, date2) { if (!(0, _type.isDefined)(date1) || !(0, _type.isDefined)(date2)) { return } var startCenturyDate1 = date1.getFullYear() - date1.getFullYear() % 100; var startCenturyDate2 = date2.getFullYear() - date2.getFullYear() % 100; return date1 && date2 && startCenturyDate1 === startCenturyDate2 }, getDifferenceInMonth: function(typeView) { var difference = 1; if ("year" === typeView) { difference = 12 } if ("decade" === typeView) { difference = 120 } if ("century" === typeView) { difference = 1200 } return difference }, getDifferenceInMonthForCells: function(typeView) { var difference = 1; if ("decade" === typeView) { difference = 12 } if ("century" === typeView) { difference = 120 } return difference }, getFirstYearInDecade: getFirstYearInDecade, getFirstDecadeInCentury: getFirstDecadeInCentury, getShortDateFormat: function() { return "yyyy/MM/dd" }, getViewFirstCellDate: function(viewType, date) { if ("month" === viewType) { return createDateWithFullYear(date.getFullYear(), date.getMonth(), 1) } if ("year" === viewType) { return createDateWithFullYear(date.getFullYear(), 0, date.getDate()) } if ("decade" === viewType) { return createDateWithFullYear(getFirstYearInDecade(date), date.getMonth(), date.getDate()) } if ("century" === viewType) { return createDateWithFullYear(getFirstDecadeInCentury(date), date.getMonth(), date.getDate()) } }, getViewLastCellDate: function(viewType, date) { if ("month" === viewType) { return createDateWithFullYear(date.getFullYear(), date.getMonth(), getLastMonthDay(date)) } if ("year" === viewType) { return createDateWithFullYear(date.getFullYear(), 11, date.getDate()) } if ("decade" === viewType) { return createDateWithFullYear(getFirstYearInDecade(date) + 9, date.getMonth(), date.getDate()) } if ("century" === viewType) { return createDateWithFullYear(getFirstDecadeInCentury(date) + 90, date.getMonth(), date.getDate()) } }, getViewDown: function(typeView) { switch (typeView) { case "century": return "decade"; case "decade": return "year"; case "year": return "month" } }, getViewUp: function(typeView) { switch (typeView) { case "month": return "year"; case "year": return "decade"; case "decade": return "century" } }, getLastMonthDay: getLastMonthDay, getLastMonthDate: function(date) { if (!(0, _type.isDefined)(date)) { return } return createDateWithFullYear(date.getFullYear(), date.getMonth() + 1, 0) }, getFirstMonthDate: function(date) { if (!(0, _type.isDefined)(date)) { return } return createDateWithFullYear(date.getFullYear(), date.getMonth(), 1) }, getFirstWeekDate: getFirstWeekDate, getWeekNumber: function getWeekNumber(date, firstDayOfWeek, rule) { var firstWeekDayInYear = getDayWeekNumber(getFirstDateInYear(date.getFullYear()), firstDayOfWeek); var lastWeekDayInYear = getDayWeekNumber(getLastDateInYear(date.getFullYear()), firstDayOfWeek); var daysInFirstWeek = 7 - firstWeekDayInYear + 1; var weekNumber = Math.ceil((function(date) { var ms = getUTCTime(date) - getUTCTime(getFirstDateInYear(date.getFullYear())); return 1 + Math.floor(ms / (0, _index.toMilliseconds)("day")) }(date) - daysInFirstWeek) / 7); switch (rule) { case "fullWeek": if (7 === daysInFirstWeek) { weekNumber++ } if (0 === weekNumber) { var lastDateInPreviousYear = getLastDateInYear(date.getFullYear() - 1); return getWeekNumber(lastDateInPreviousYear, firstDayOfWeek, rule) } return weekNumber; case "firstDay": if (daysInFirstWeek > 0) { weekNumber++ } var isSunday = 7 === firstWeekDayInYear || 7 === lastWeekDayInYear; if (weekNumber > 52 && !isSunday || 54 === weekNumber) { weekNumber = 1 } return weekNumber; case "firstFourDays": if (daysInFirstWeek > 3) { weekNumber++ } var isThursday = 4 === firstWeekDayInYear || 4 === lastWeekDayInYear; if (weekNumber > 52 && !isThursday) { weekNumber = 1 } if (0 === weekNumber) { var _lastDateInPreviousYear = getLastDateInYear(date.getFullYear() - 1); return getWeekNumber(_lastDateInPreviousYear, firstDayOfWeek, rule) } return weekNumber } }, normalizeDateByWeek: function(date, currentDate) { var differenceInDays = dateUtils.getDatesInterval(date, currentDate, "day"); var resultDate = new Date(date); if (differenceInDays >= 6) { resultDate = new Date(resultDate.setDate(resultDate.getDate() + 7)) } return resultDate }, getQuarter: getQuarter, getFirstQuarterMonth: getFirstQuarterMonth, dateInRange: function(date, min, max, format) { if ("date" === format) { min = min && dateUtils.correctDateWithUnitBeginning(min, "day"); max = max && dateUtils.correctDateWithUnitBeginning(max, "day"); date = date && dateUtils.correctDateWithUnitBeginning(date, "day") } return normalizeDate(date, min, max) === date }, intervalsOverlap: function(options) { var firstMin = options.firstMin, firstMax = options.firstMax, secondMin = options.secondMin, secondMax = options.secondMax; return firstMin <= secondMin && secondMin <= firstMax || firstMin > secondMin && firstMin < secondMax || firstMin < secondMax && firstMax > secondMax }, roundToHour: function(date) { var result = new Date(date.getTime()); result.setHours(result.getHours() + 1); result.setMinutes(0); return result }, normalizeDate: normalizeDate, getViewMinBoundaryDate: function(viewType, date) { var resultDate = createDateWithFullYear(date.getFullYear(), date.getMonth(), 1); if ("month" === viewType) { return resultDate } resultDate.setMonth(0); if ("year" === viewType) { return resultDate } if ("decade" === viewType) { resultDate.setFullYear(getFirstYearInDecade(date)) } if ("century" === viewType) { resultDate.setFullYear(getFirstDecadeInCentury(date)) } return resultDate }, getViewMaxBoundaryDate: function(viewType, date) { var resultDate = new Date(date); resultDate.setDate(getLastMonthDay(date)); if ("month" === viewType) { return resultDate } resultDate.setMonth(11); resultDate.setDate(getLastMonthDay(resultDate)); if ("year" === viewType) { return resultDate } if ("decade" === viewType) { resultDate.setFullYear(getFirstYearInDecade(date) + 9) } if ("century" === viewType) { resultDate.setFullYear(getFirstDecadeInCentury(date) + 99) } return resultDate }, fixTimezoneGap: fixTimezoneGap, getTimezonesDifference: getTimezonesDifference, makeDate: function(date) { return new Date(date) }, getDatesInterval: function(startDate, endDate, intervalUnit) { var delta = endDate.getTime() - startDate.getTime(); var millisecondCount = (0, _index.toMilliseconds)(intervalUnit) || 1; return Math.floor(delta / millisecondCount) }, getDatesOfInterval: function(startDate, endDate, step) { var result = []; var currentDate = new Date(startDate.getTime()); while (currentDate < endDate) { result.push(new Date(currentDate.getTime())); currentDate = this.addInterval(currentDate, step) } return result }, createDateWithFullYear: createDateWithFullYear }; dateUtils.sameView = function(view, date1, date2) { return dateUtils[(0, _inflector.camelize)("same " + view)](date1, date2) }; var _default = dateUtils; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 69434: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/date_serialization.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _config = _interopRequireDefault(__webpack_require__( /*! ../config */ 80209)); var _date = __webpack_require__( /*! ../../localization/ldml/date.formatter */ 40594); var _default_date_names = _interopRequireDefault(__webpack_require__( /*! ../../localization/default_date_names */ 15564)); var _type = __webpack_require__( /*! ./type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ISO8601_PATTERN = /^(\d{4,})(-)?(\d{2})(-)?(\d{2})(?:T(\d{2})(:)?(\d{2})?(:)?(\d{2}(?:\.(\d{1,3})\d*)?)?)?(Z|([+-])(\d{2})(:)?(\d{2})?)?$/; var ISO8601_TIME_PATTERN = /^(\d{2}):(\d{2})(:(\d{2}))?$/; var ISO8601_PATTERN_PARTS = ["", "yyyy", "", "MM", "", "dd", "THH", "", "mm", "", "ss", ".SSS"]; var DATE_SERIALIZATION_PATTERN = /^(\d{4})\/(\d{2})\/(\d{2})$/; var dateParser = function(text, skipISO8601Parsing) { var result; if ((0, _type.isString)(text) && !skipISO8601Parsing) { result = function(text) { var parts = text.match(ISO8601_PATTERN); if (!parts) { parts = text.match(ISO8601_TIME_PATTERN); if (parts) { return new Date(0, 0, 0, getTimePart(parts[1]), getTimePart(parts[2]), getTimePart(parts[4])) } return } var year = getTimePart(parts[1]); var month = --parts[3]; var day = parts[5]; var timeZoneHour = 0; var timeZoneMinute = 0; var correctYear = function(d) { year < 100 && d.setFullYear(year); return d }; timeZoneHour = getTimePart(parts[14]); timeZoneMinute = getTimePart(parts[16]); if ("-" === parts[13]) { timeZoneHour = -timeZoneHour; timeZoneMinute = -timeZoneMinute } var hour = getTimePart(parts[6]) - timeZoneHour; var minute = getTimePart(parts[8]) - timeZoneMinute; var second = getTimePart(parts[10]); var millisecond = function(part) { part = part || ""; return getTimePart(part) * Math.pow(10, 3 - part.length) }(parts[11]); if (parts[12]) { return correctYear(new Date(Date.UTC(year, month, day, hour, minute, second, millisecond))) } return correctYear(new Date(year, month, day, hour, minute, second, millisecond)) }(text) } return result || function(text) { var isDefaultSerializationFormat = "yyyy/MM/dd" === getDateSerializationFormat(text); var parsedValue = !(0, _type.isDate)(text) && Date.parse(text); if (!parsedValue && isDefaultSerializationFormat) { var parts = text.match(DATE_SERIALIZATION_PATTERN); if (parts) { var newDate = new Date(getTimePart(parts[1]), getTimePart(parts[2]), getTimePart(parts[3])); newDate.setFullYear(getTimePart(parts[1])); newDate.setMonth(getTimePart(parts[2]) - 1); newDate.setDate(getTimePart(parts[3])); return newDate } } return (0, _type.isNumeric)(parsedValue) ? new Date(parsedValue) : text }(text) }; function getTimePart(part) { return +part || 0 } var getDateSerializationFormat = function(value) { if ("number" === typeof value) { return "number" } else if ((0, _type.isString)(value)) { var format; if ((0, _config.default)().forceIsoDateParsing) { format = function(text, useUtc) { var parts = text.match(ISO8601_PATTERN); var result = ""; if (!parts) { parts = text.match(ISO8601_TIME_PATTERN); if (parts) { return parts[3] ? "HH:mm:ss" : "HH:mm" } return } for (var i = 1; i < ISO8601_PATTERN_PARTS.length; i++) { if (parts[i]) { result += ISO8601_PATTERN_PARTS[i] || parts[i] } } if ("Z" === parts[12]) { result += "'Z'" } if (parts[14]) { if (parts[15]) { result += "xxx" } else if (parts[16]) { result += "xx" } else { result += "x" } } return result }(value) } if (format) { return format } else if (value.indexOf(":") >= 0) { return "yyyy/MM/dd HH:mm:ss" } else { return "yyyy/MM/dd" } } else if (value) { return null } }; var _default = { dateParser: dateParser, deserializeDate: function(value) { if ("number" === typeof value) { return new Date(value) } return dateParser(value, !(0, _config.default)().forceIsoDateParsing) }, serializeDate: function(value, serializationFormat) { if (!serializationFormat) { return value } if (!(0, _type.isDate)(value)) { return null } if ("number" === serializationFormat) { return value && value.valueOf ? value.valueOf() : null } return (0, _date.getFormatter)(serializationFormat, _default_date_names.default)(value) }, getDateSerializationFormat: getDateSerializationFormat }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 62754: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/deferred.js ***! \********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Deferred = function() { return new _DeferredObj }; exports.fromPromise = fromPromise; exports.setStrategy = function(value) { _DeferredObj = value.Deferred; whenFunc = value.when }; exports.when = function() { return whenFunc.apply(this, arguments) }; var _type = __webpack_require__( /*! ../utils/type */ 35922); var _extend = __webpack_require__( /*! ../utils/extend */ 13306); var _callbacks = (obj = __webpack_require__( /*! ../utils/callbacks */ 44504), obj && obj.__esModule ? obj : { default: obj }); var obj; var deferredConfig = [{ method: "resolve", handler: "done", state: "resolved" }, { method: "reject", handler: "fail", state: "rejected" }, { method: "notify", handler: "progress" }]; var _DeferredObj = function() { var that = this; this._state = "pending"; this._promise = {}; deferredConfig.forEach(function(config) { var methodName = config.method; this[methodName + "Callbacks"] = (0, _callbacks.default)(); this[methodName] = function() { return this[methodName + "With"](this._promise, arguments) }.bind(this); this._promise[config.handler] = function(handler) { if (!handler) { return this } var callbacks = that[methodName + "Callbacks"]; if (callbacks.fired()) { handler.apply(that[methodName + "Context"], that[methodName + "Args"]) } else { callbacks.add(function(context, args) { handler.apply(context, args) }.bind(this)) } return this } }.bind(this)); this._promise.always = function(handler) { return this.done(handler).fail(handler) }; this._promise.catch = function(handler) { return this.then(null, handler) }; this._promise.then = function(resolve, reject) { var result = new _DeferredObj; ["done", "fail"].forEach(function(method) { var callback = "done" === method ? resolve : reject; this[method]((function() { if (!callback) { result["done" === method ? "resolve" : "reject"].apply(this, arguments); return } var callbackResult = callback && callback.apply(this, arguments); if ((0, _type.isDeferred)(callbackResult)) { callbackResult.done(result.resolve).fail(result.reject) } else if ((0, _type.isPromise)(callbackResult)) { callbackResult.then(result.resolve, result.reject) } else { result.resolve.apply(this, (0, _type.isDefined)(callbackResult) ? [callbackResult] : arguments) } })) }.bind(this)); return result.promise() }; this._promise.state = function() { return that._state }; this._promise.promise = function(args) { return args ? (0, _extend.extend)(args, that._promise) : that._promise }; this._promise.promise(this) }; deferredConfig.forEach((function(config) { var methodName = config.method; var state = config.state; _DeferredObj.prototype[methodName + "With"] = function(context, args) { var callbacks = this[methodName + "Callbacks"]; if ("pending" === this.state()) { this[methodName + "Args"] = args; this[methodName + "Context"] = context; if (state) { this._state = state } callbacks.fire(context, args) } return this } })); function fromPromise(promise, context) { if ((0, _type.isDeferred)(promise)) { return promise } else if ((0, _type.isPromise)(promise)) { var d = new _DeferredObj; promise.then((function() { d.resolveWith.apply(d, [context].concat([ [].slice.call(arguments) ])) }), (function() { d.rejectWith.apply(d, [context].concat([ [].slice.call(arguments) ])) })); return d } return (new _DeferredObj).resolveWith(context, [promise]) } var whenFunc = function() { if (1 === arguments.length) { return fromPromise(arguments[0]) } var values = [].slice.call(arguments); var contexts = []; var resolvedCount = 0; var deferred = new _DeferredObj; var updateState = function(i) { return function(value) { contexts[i] = this; values[i] = arguments.length > 1 ? [].slice.call(arguments) : value; resolvedCount++; if (resolvedCount === values.length) { deferred.resolveWith(contexts, values) } } }; for (var i = 0; i < values.length; i++) { if ((0, _type.isDeferred)(values[i])) { values[i].promise().done(updateState(i)).fail(deferred.reject) } else { resolvedCount++ } } if (resolvedCount === values.length) { deferred.resolveWith(contexts, values) } return deferred.promise() } }, 20476: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/dependency_injector.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = function(object) { var BaseClass = _class.default.inherit(object); var InjectedClass = BaseClass; var instance = new InjectedClass(object); var initialFields = {}; var injectFields = function(injectionObject, initial) { (0, _iterator.each)(injectionObject, (function(key) { if ((0, _type.isFunction)(instance[key])) { if (initial || !object[key]) { object[key] = function() { return instance[key].apply(object, arguments) } } } else { if (initial) { initialFields[key] = object[key] } object[key] = instance[key] } })) }; injectFields(object, true); object.inject = function(injectionObject) { InjectedClass = InjectedClass.inherit(injectionObject); instance = new InjectedClass; injectFields(injectionObject) }; object.resetInjection = function() { (0, _extend.extend)(object, initialFields); InjectedClass = BaseClass; instance = new BaseClass }; return object }; var _extend = __webpack_require__( /*! ./extend */ 13306); var _type = __webpack_require__( /*! ./type */ 35922); var _iterator = __webpack_require__( /*! ./iterator */ 95479); var _class = (obj = __webpack_require__( /*! ../class */ 38377), obj && obj.__esModule ? obj : { default: obj }); var obj; module.exports = exports.default; module.exports.default = exports.default }, 3532: /*!***************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/dom.js ***! \***************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.resetActiveElement = exports.replaceWith = exports.normalizeTemplateElement = exports.isElementInDom = exports.insertBefore = exports.extractTemplateMarkup = exports.createTextElementHiddenCopy = exports.contains = exports.closestCommonParent = exports.clipboardText = exports.clearSelection = void 0; var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _iterator = __webpack_require__( /*! ./iterator */ 95479); var _type = __webpack_require__( /*! ./type */ 35922); var _window = __webpack_require__( /*! ./window */ 58201); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); exports.resetActiveElement = function() { var activeElement = _dom_adapter.default.getActiveElement(); if (activeElement && activeElement !== _dom_adapter.default.getBody()) { var _activeElement$blur; null === (_activeElement$blur = activeElement.blur) || void 0 === _activeElement$blur ? void 0 : _activeElement$blur.call(activeElement) } }; exports.clearSelection = function() { var selection = window.getSelection(); if (!selection) { return } if ("Caret" === selection.type) { return } if (selection.empty) { selection.empty() } else if (selection.removeAllRanges) { try { selection.removeAllRanges() } catch (e) {} } }; exports.closestCommonParent = function(startTarget, endTarget) { var $startTarget = (0, _renderer.default)(startTarget); var $endTarget = (0, _renderer.default)(endTarget); if ($startTarget[0] === $endTarget[0]) { return $startTarget[0] } var $startParents = $startTarget.parents(); var $endParents = $endTarget.parents(); var startingParent = Math.min($startParents.length, $endParents.length); for (var i = -startingParent; i < 0; i++) { if ($startParents.get(i) === $endParents.get(i)) { return $startParents.get(i) } } }; exports.extractTemplateMarkup = function(element) { element = (0, _renderer.default)(element); var templateTag = element.length && element.filter((function() { var $node = (0, _renderer.default)(this); return $node.is("script[type]") && $node.attr("type").indexOf("script") < 0 })); if (templateTag.length) { return templateTag.eq(0).html() } else { element = (0, _renderer.default)("
").append(element); return element.html() } }; exports.normalizeTemplateElement = function normalizeTemplateElement(element) { var $element = (0, _type.isDefined)(element) && (element.nodeType || (0, _type.isRenderer)(element)) ? (0, _renderer.default)(element) : (0, _renderer.default)("
").html(element).contents(); if (1 === $element.length) { if ($element.is("script")) { $element = normalizeTemplateElement($element.html().trim()) } else if ($element.is("table")) { $element = $element.children("tbody").contents() } } return $element }; exports.clipboardText = function(event, text) { var clipboard = event.originalEvent && event.originalEvent.clipboardData || window.clipboardData; if (!text) { return clipboard && clipboard.getData("Text") } clipboard && clipboard.setData("Text", text) }; exports.contains = function contains(container, element) { if (!element) { return false } if ((0, _type.isWindow)(container)) { return contains(container.document, element) } return container.contains(element) || contains(container, function(element) { if (!element.getRootNode) { return } var host = element.getRootNode().host; if ((0, _type.isString)(host)) { return } return host }(element)) }; exports.createTextElementHiddenCopy = function(element, text, options) { var elementStyles = window.getComputedStyle((0, _renderer.default)(element).get(0)); var includePaddings = options && options.includePaddings; return (0, _renderer.default)("
").text(text).css({ fontStyle: elementStyles.fontStyle, fontVariant: elementStyles.fontVariant, fontWeight: elementStyles.fontWeight, fontSize: elementStyles.fontSize, fontFamily: elementStyles.fontFamily, letterSpacing: elementStyles.letterSpacing, border: elementStyles.border, paddingTop: includePaddings ? elementStyles.paddingTop : "", paddingRight: includePaddings ? elementStyles.paddingRight : "", paddingBottom: includePaddings ? elementStyles.paddingBottom : "", paddingLeft: includePaddings ? elementStyles.paddingLeft : "", visibility: "hidden", whiteSpace: "pre", position: "absolute", float: "left" }) }; var insertBefore = function(element, newElement) { if (newElement) { _dom_adapter.default.insertElement(element.parentNode, newElement, element) } return element }; exports.insertBefore = insertBefore; exports.replaceWith = function(element, newElement) { if (!(newElement && newElement[0])) { return } if (newElement.is(element)) { return element }(0, _iterator.each)(newElement, (function(_, currentElement) { insertBefore(element[0], currentElement) })); element.remove(); return newElement }; exports.isElementInDom = function($element) { var element = null === $element || void 0 === $element ? void 0 : $element.get(0); var shadowHost = null === element || void 0 === element ? void 0 : element.getRootNode().host; return !!(0, _renderer.default)(shadowHost || element).closest((0, _window.getWindow)().document).length } }, 95640: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/error.js ***! \*****************************************************************/ function(module, exports, __webpack_require__) { exports.default = function(baseErrors, errors) { var exports = { ERROR_MESSAGES: (0, _extend.extend)(errors, baseErrors), Error: function() { return makeError([].slice.call(arguments)) }, log: function(id) { var method = "log"; if (/^E\d+$/.test(id)) { method = "error" } else if (/^W\d+$/.test(id)) { method = "warn" } _console.logger[method]("log" === method ? id : combineMessage([].slice.call(arguments))) } }; function combineMessage(args) { var id = args[0]; args = args.slice(1); return formatMessage(id, formatDetails(id, args)) } function formatDetails(id, args) { args = [exports.ERROR_MESSAGES[id]].concat(args); return _string.format.apply(this, args).replace(/\.*\s*?$/, "") } function formatMessage(id, details) { return _string.format.apply(this, ["{0} - {1}. See:\n{2}", id, details, getErrorUrl(id)]) } function makeError(args) { var id = args[0]; args = args.slice(1); var details = formatDetails(id, args); var url = getErrorUrl(id); var message = formatMessage(id, details); return (0, _extend.extend)(new Error(message), { __id: id, __details: details, url: url }) } function getErrorUrl(id) { return ERROR_URL + id } return exports }; var _extend = __webpack_require__( /*! ./extend */ 13306); var _console = __webpack_require__( /*! ./console */ 30869); var _string = __webpack_require__( /*! ./string */ 68752); var _version = __webpack_require__( /*! ../version */ 36739); var ERROR_URL = "http://js.devexpress.com/error/" + _version.version.split(".").slice(0, 2).join("_") + "/"; module.exports = exports.default; module.exports.default = exports.default }, 13306: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/extend.js ***! \******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.extendFromObject = exports.extend = void 0; var _type = __webpack_require__( /*! ./type */ 35922); exports.extendFromObject = function(target, source, overrideExistingValues) { target = target || {}; for (var prop in source) { if (Object.prototype.hasOwnProperty.call(source, prop)) { var value = source[prop]; if (!(prop in target) || overrideExistingValues) { target[prop] = value } } } return target }; exports.extend = function extend(target) { target = target || {}; var i = 1; var deep = false; if ("boolean" === typeof target) { deep = target; target = arguments[1] || {}; i++ } for (; i < arguments.length; i++) { var source = arguments[i]; if (null == source) { continue } for (var key in source) { var targetValue = target[key]; var sourceValue = source[key]; var sourceValueIsArray = false; var clone = void 0; if ("__proto__" === key || "constructor" === key || target === sourceValue) { continue } if (deep && sourceValue && ((0, _type.isPlainObject)(sourceValue) || (sourceValueIsArray = Array.isArray(sourceValue)))) { if (sourceValueIsArray) { clone = targetValue && Array.isArray(targetValue) ? targetValue : [] } else { clone = targetValue && (0, _type.isPlainObject)(targetValue) ? targetValue : {} } target[key] = extend(deep, clone, sourceValue) } else if (void 0 !== sourceValue) { target[key] = sourceValue } } } return target } }, 61371: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/html_parser.js ***! \***********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.parseHTML = exports.isTablePart = void 0; var _dom_adapter = (obj = __webpack_require__( /*! ../dom_adapter */ 73349), obj && obj.__esModule ? obj : { default: obj }); var obj; function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var isTagName = /<([a-z][^/\0>\x20\t\r\n\f]+)/i; var tagWrappers = { default: { tagsCount: 0, startTags: "", endTags: "" }, thead: { tagsCount: 1, startTags: "", endTags: "
" }, td: { tagsCount: 3, startTags: "", endTags: "
" }, col: { tagsCount: 2, startTags: "", endTags: "
" }, tr: { tagsCount: 2, startTags: "", endTags: "
" } }; tagWrappers.tbody = tagWrappers.colgroup = tagWrappers.caption = tagWrappers.tfoot = tagWrappers.thead; tagWrappers.th = tagWrappers.td; exports.parseHTML = function(html) { if ("string" !== typeof html) { return null } var fragment = _dom_adapter.default.createDocumentFragment(); var container = fragment.appendChild(_dom_adapter.default.createElement("div")); var tags = isTagName.exec(html); var firstRootTag = tags && tags[1].toLowerCase(); var tagWrapper = tagWrappers[firstRootTag] || tagWrappers.default; container.innerHTML = tagWrapper.startTags + html + tagWrapper.endTags; for (var i = 0; i < tagWrapper.tagsCount; i++) { container = container.lastChild } return _toConsumableArray(container.childNodes) }; exports.isTablePart = function(html) { var tags = isTagName.exec(html); return tags && tags[1] in tagWrappers } }, 44899: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/icon.js ***! \****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getImageSourceType = exports.getImageContainer = void 0; var _renderer = (obj = __webpack_require__( /*! ../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var getImageSourceType = function(source) { if (!source || "string" !== typeof source) { return false } if (/^\s*]*>(.|\r?\n)*?<\/svg>\s*$/i.test(source)) { return "svg" } if (/data:.*base64|\.|[^<\s]\/{1,1}/.test(source)) { return "image" } if (/^[\w-_]+$/.test(source)) { return "dxIcon" } if (/^\s?([\w-_]\s?)+$/.test(source)) { return "fontIcon" } return false }; exports.getImageSourceType = getImageSourceType; exports.getImageContainer = function(source) { switch (getImageSourceType(source)) { case "image": return (0, _renderer.default)("").attr("src", source).addClass("dx-icon"); case "fontIcon": return (0, _renderer.default)("").addClass("".concat("dx-icon", " ").concat(source)); case "dxIcon": return (0, _renderer.default)("").addClass("".concat("dx-icon", " ").concat("dx-icon", "-").concat(source)); case "svg": return (0, _renderer.default)("").addClass("".concat("dx-icon", " ").concat("dx-svg-icon")).append(source); default: return null } } }, 78008: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/inflector.js ***! \*********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.underscore = exports.titleize = exports.humanize = exports.dasherize = exports.captionize = exports.camelize = void 0; var _iterator = __webpack_require__( /*! ./iterator */ 95479); var _normalize = function(text) { if (void 0 === text || null === text) { return "" } return String(text) }; var _upperCaseFirst = function(text) { return _normalize(text).charAt(0).toUpperCase() + text.substr(1) }; var _chop = function(text) { return _normalize(text).replace(/([a-z\d])([A-Z])/g, "$1 $2").split(/[\s_-]+/) }; var dasherize = function(text) { return (0, _iterator.map)(_chop(text), (function(p) { return p.toLowerCase() })).join("-") }; exports.dasherize = dasherize; exports.underscore = function(text) { return dasherize(text).replace(/-/g, "_") }; exports.camelize = function(text, upperFirst) { return (0, _iterator.map)(_chop(text), (function(p, i) { p = p.toLowerCase(); if (upperFirst || i > 0) { p = _upperCaseFirst(p) } return p })).join("") }; exports.humanize = function(text) { return _upperCaseFirst(dasherize(text).replace(/-/g, " ")) }; exports.titleize = function(text) { return (0, _iterator.map)(_chop(text), (function(p) { return _upperCaseFirst(p.toLowerCase()) })).join(" ") }; var DIGIT_CHARS = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]; exports.captionize = function(name) { var captionList = []; var i; var char; var isPrevCharNewWord = false; var isNewWord = false; for (i = 0; i < name.length; i++) { char = name.charAt(i); isNewWord = char === char.toUpperCase() && "-" !== char && ")" !== char && "/" !== char || char in DIGIT_CHARS; if ("_" === char || "." === char) { char = " "; isNewWord = true } else if (0 === i) { char = char.toUpperCase(); isNewWord = true } else if (!isPrevCharNewWord && isNewWord) { if (captionList.length > 0) { captionList.push(" ") } } captionList.push(char); isPrevCharNewWord = isNewWord } return captionList.join("") } }, 95479: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/iterator.js ***! \********************************************************************/ function(__unused_webpack_module, exports) { exports.reverseEach = exports.map = exports.each = void 0; exports.map = function(values, callback) { if (Array.isArray(values)) { return values.map(callback) } var result = []; for (var key in values) { result.push(callback(values[key], key)) } return result }; exports.each = function(values, callback) { if (!values) { return } if ("length" in values) { for (var i = 0; i < values.length; i++) { if (false === callback.call(values[i], i, values[i])) { break } } } else { for (var key in values) { if (false === callback.call(values[key], key, values[key])) { break } } } return values }; exports.reverseEach = function(array, callback) { if (!array || !("length" in array) || 0 === array.length) { return } for (var i = array.length - 1; i >= 0; i--) { if (false === callback.call(array[i], i, array[i])) { break } } } }, 88933: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/locker.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _errors = (obj = __webpack_require__( /*! ../errors */ 17381), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = function() { var info = {}; var currentCount = function(lockName) { return info[lockName] || 0 }; return { obtain: function(lockName) { info[lockName] = currentCount(lockName) + 1 }, release: function(lockName) { var count = currentCount(lockName); if (count < 1) { throw _errors.default.Error("E0014") } if (1 === count) { delete info[lockName] } else { info[lockName] = count - 1 } }, locked: function(lockName) { return currentCount(lockName) > 0 } } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 60810: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/math.js ***! \****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.adjust = function(value, interval) { var precision = getPrecision(interval || 0) + 2; var separatedValue = value.toString().split("."); var sourceValue = value; var absValue = Math.abs(value); var separatedAdjustedValue; var isExponentValue = (0, _type.isExponential)(value); var integerPart = absValue > 1 ? 10 : 0; if (1 === separatedValue.length) { return value } if (!isExponentValue) { if ((0, _type.isExponential)(interval)) { precision = separatedValue[0].length + getExponent(interval) } value = absValue; value = value - Math.floor(value) + integerPart } precision = "0.000300" !== 3e-4.toPrecision(3) && getExponent(value) > 6 || precision > 7 ? 15 : 7; if (!isExponentValue) { separatedAdjustedValue = parseFloat(value.toPrecision(precision)).toString().split("."); if (separatedAdjustedValue[0] === integerPart.toString()) { return parseFloat(separatedValue[0] + "." + separatedAdjustedValue[1]) } } return parseFloat(sourceValue.toPrecision(precision)) }; exports.fitIntoRange = void 0; exports.getExponent = getExponent; exports.getExponentLength = function(value) { var _valueString$split$; var valueString = value.toString(); return (null === (_valueString$split$ = valueString.split(".")[1]) || void 0 === _valueString$split$ ? void 0 : _valueString$split$.length) || parseInt(valueString.split("e-")[1]) || 0 }; exports.getPrecision = getPrecision; exports.getRemainderByDivision = function(dividend, divider, digitsCount) { if (divider === parseInt(divider)) { return dividend % divider } var quotient = roundFloatPart(dividend / divider, digitsCount); return (quotient - parseInt(quotient)) * divider }; exports.getRoot = getRoot; exports.inRange = void 0; exports.multiplyInExponentialForm = function(value, exponentShift) { var exponentialNotation = function(value) { var parts = value.toExponential().split("e"); var mantissa = parseFloat(parts[0]); var exponent = parseInt(parts[1]); return { exponent: exponent, mantissa: mantissa } }(value); return parseFloat("".concat(exponentialNotation.mantissa, "e").concat(exponentialNotation.exponent + exponentShift)) }; exports.roundFloatPart = roundFloatPart; exports.sign = void 0; exports.solveCubicEquation = function(a, b, c, d) { if (Math.abs(a) < 1e-8) { a = b; b = c; c = d; if (Math.abs(a) < 1e-8) { a = b; b = c; if (Math.abs(a) < 1e-8) { return [] } return [-b / a] } var D2 = b * b - 4 * a * c; if (Math.abs(D2) < 1e-8) { return [-b / (2 * a)] } else if (D2 > 0) { return [(-b + Math.sqrt(D2)) / (2 * a), (-b - Math.sqrt(D2)) / (2 * a)] } return [] } var p = (3 * a * c - b * b) / (3 * a * a); var q = (2 * b * b * b - 9 * a * b * c + 27 * a * a * d) / (27 * a * a * a); var roots; var u; if (Math.abs(p) < 1e-8) { roots = [getRoot(-q, 3)] } else if (Math.abs(q) < 1e-8) { roots = [0].concat(p < 0 ? [Math.sqrt(-p), -Math.sqrt(-p)] : []) } else { var D3 = q * q / 4 + p * p * p / 27; if (Math.abs(D3) < 1e-8) { roots = [-1.5 * q / p, 3 * q / p] } else if (D3 > 0) { u = getRoot(-q / 2 - Math.sqrt(D3), 3); roots = [u - p / (3 * u)] } else { u = 2 * Math.sqrt(-p / 3); var t = Math.acos(3 * q / p / u) / 3; var k = 2 * Math.PI / 3; roots = [u * Math.cos(t), u * Math.cos(t - k), u * Math.cos(t - 2 * k)] } } for (var i = 0; i < roots.length; i++) { roots[i] -= b / (3 * a) } return roots }; exports.trunc = function(value) { return Math.trunc ? Math.trunc(value) : value > 0 ? Math.floor(value) : Math.ceil(value) }; var _type = __webpack_require__( /*! ./type */ 35922); exports.sign = function(value) { if (0 === value) { return 0 } return value / Math.abs(value) }; exports.fitIntoRange = function(value, minValue, maxValue) { var isMinValueUndefined = !minValue && 0 !== minValue; var isMaxValueUndefined = !maxValue && 0 !== maxValue; isMinValueUndefined && (minValue = !isMaxValueUndefined ? Math.min(value, maxValue) : value); isMaxValueUndefined && (maxValue = !isMinValueUndefined ? Math.max(value, minValue) : value); return Math.min(Math.max(value, minValue), maxValue) }; exports.inRange = function(value, minValue, maxValue) { return value >= minValue && value <= maxValue }; function getExponent(value) { return Math.abs(parseInt(value.toExponential().split("e")[1])) } function getPrecision(value) { var str = value.toString(); if (str.indexOf(".") < 0) { return 0 } var mantissa = str.split("."); var positionOfDelimiter = mantissa[1].indexOf("e"); return positionOfDelimiter >= 0 ? positionOfDelimiter : mantissa[1].length } function getRoot(x, n) { if (x < 0 && n % 2 !== 1) { return NaN } var y = Math.pow(Math.abs(x), 1 / n); return n % 2 === 1 && x < 0 ? -y : y } function roundFloatPart(value) { var digitsCount = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; return parseFloat(value.toFixed(digitsCount)) } }, 48013: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/object.js ***! \******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.orderEach = exports.deepExtendArraySafe = exports.clone = void 0; var _type = __webpack_require__( /*! ./type */ 35922); var _variable_wrapper = (obj = __webpack_require__( /*! ./variable_wrapper */ 26974), obj && obj.__esModule ? obj : { default: obj }); var obj; var clone = function() { function Clone() {} return function(obj) { Clone.prototype = obj; return new Clone } }(); exports.clone = clone; exports.orderEach = function(map, func) { var keys = []; var key; var i; for (key in map) { if (Object.prototype.hasOwnProperty.call(map, key)) { keys.push(key) } } keys.sort((function(x, y) { var isNumberX = (0, _type.isNumeric)(x); var isNumberY = (0, _type.isNumeric)(y); if (isNumberX && isNumberY) { return x - y } if (isNumberX && !isNumberY) { return -1 } if (!isNumberX && isNumberY) { return 1 } if (x < y) { return -1 } if (x > y) { return 1 } return 0 })); for (i = 0; i < keys.length; i++) { key = keys[i]; func(key, map[key]) } }; var assignValueToProperty = function(target, property, value, assignByReference) { if (!assignByReference && _variable_wrapper.default.isWrapped(target[property])) { _variable_wrapper.default.assign(target[property], value) } else { target[property] = value } }; exports.deepExtendArraySafe = function deepExtendArraySafe(target, changes, extendComplexObject, assignByReference) { var prevValue; var newValue; for (var name in changes) { prevValue = target[name]; newValue = changes[name]; if ("__proto__" === name || "constructor" === name || target === newValue) { continue } if ((0, _type.isPlainObject)(newValue)) { var goDeeper = extendComplexObject ? (0, _type.isObject)(prevValue) : (0, _type.isPlainObject)(prevValue); newValue = deepExtendArraySafe(goDeeper ? prevValue : {}, newValue, extendComplexObject, assignByReference) } if (void 0 !== newValue && prevValue !== newValue) { assignValueToProperty(target, name, newValue, assignByReference) } } return target } }, 37518: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/position.js ***! \********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getDefaultAlignment = exports.getBoundingRect = void 0; var _config = (obj = __webpack_require__( /*! ../config */ 80209), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../utils/type */ 35922); exports.getDefaultAlignment = function(isRtlEnabled) { var rtlEnabled = null !== isRtlEnabled && void 0 !== isRtlEnabled ? isRtlEnabled : (0, _config.default)().rtlEnabled; return rtlEnabled ? "right" : "left" }; exports.getBoundingRect = function(element) { if ((0, _type.isWindow)(element)) { return { width: element.outerWidth, height: element.outerHeight } } return element.getBoundingClientRect() } }, 9321: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/public_component.js ***! \****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.attachInstanceToElement = function($element, componentInstance, disposeFn) { var data = (0, _element_data.data)($element.get(0)); var name = getName(componentInstance.constructor); data[name] = componentInstance; if (disposeFn) { _events_engine.default.one($element, _remove.removeEvent, (function() { disposeFn.call(componentInstance) })) } if (!data.dxComponents) { data.dxComponents = [] } data.dxComponents.push(name) }; exports.getInstanceByElement = function($element, componentClass) { var name = getName(componentClass); return (0, _element_data.data)($element.get(0), name) }; exports.name = void 0; var _element_data = __webpack_require__( /*! ../../core/element_data */ 97906); var _events_engine = (obj = __webpack_require__( /*! ../../events/core/events_engine */ 55994), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ./type */ 35922); var _remove = __webpack_require__( /*! ../../events/remove */ 29007); var componentNames = new WeakMap; var nextAnonymousComponent = 0; var getName = function(componentClass, newName) { if ((0, _type.isDefined)(newName)) { componentNames.set(componentClass, newName); return } if (!componentNames.has(componentClass)) { var generatedName = "dxPrivateComponent" + nextAnonymousComponent++; componentNames.set(componentClass, generatedName); return generatedName } return componentNames.get(componentClass) }; exports.name = getName }, 59504: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/queue.js ***! \*****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.create = createQueue; exports.enqueue = void 0; var _errors = (obj = __webpack_require__( /*! ../errors */ 17381), obj && obj.__esModule ? obj : { default: obj }); var obj; var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function createQueue(discardPendingTasks) { var _tasks = []; var _busy = false; function exec() { while (_tasks.length) { _busy = true; var task = _tasks.shift(); var result = task(); if (void 0 === result) { continue } if (result.then) { (0, _deferred.when)(result).always(exec); return } throw _errors.default.Error("E0015") } _busy = false } return { add: function(task, removeTaskCallback) { if (!discardPendingTasks) { _tasks.push(task) } else { if (_tasks[0] && removeTaskCallback) { removeTaskCallback(_tasks[0]) } _tasks = [task] } if (!_busy) { exec() } }, busy: function() { return _busy } } } var enqueue = createQueue().add; exports.enqueue = enqueue }, 24311: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/ready_callbacks.js ***! \***************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../dom_adapter */ 73349)); var _dependency_injector = _interopRequireDefault(__webpack_require__( /*! ./dependency_injector */ 20476)); var _window = __webpack_require__( /*! ./window */ 58201); var _call_once = _interopRequireDefault(__webpack_require__( /*! ./call_once */ 39618)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var callbacks = []; var subscribeReady = (0, _call_once.default)((function() { var removeListener = _dom_adapter.default.listen(_dom_adapter.default.getDocument(), "DOMContentLoaded", (function() { readyCallbacks.fire(); removeListener() })) })); var readyCallbacks = { add: function(callback) { var windowExists = (0, _window.hasWindow)(); if (windowExists && "loading" !== _dom_adapter.default.getReadyState()) { callback() } else { callbacks.push(callback); windowExists && subscribeReady() } }, fire: function() { callbacks.forEach((function(callback) { return callback() })); callbacks = [] } }; var _default = (0, _dependency_injector.default)(readyCallbacks); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 55814: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/resize_callbacks.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _window = __webpack_require__( /*! ./window */ 58201); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../dom_adapter */ 73349)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ./callbacks */ 44504)); var _ready_callbacks = _interopRequireDefault(__webpack_require__( /*! ./ready_callbacks */ 24311)); var _call_once = _interopRequireDefault(__webpack_require__( /*! ./call_once */ 39618)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var resizeCallbacks = function() { var prevSize; var callbacks = (0, _callbacks.default)(); var originalCallbacksAdd = callbacks.add; var originalCallbacksRemove = callbacks.remove; if (!(0, _window.hasWindow)()) { return callbacks } var formatSize = function() { var window = (0, _window.getWindow)(); return { width: window.innerWidth, height: window.innerHeight } }; var handleResize = function() { var now = formatSize(); if (now.width === prevSize.width && now.height === prevSize.height) { return } var changedDimension; if (now.width === prevSize.width) { changedDimension = "height" } if (now.height === prevSize.height) { changedDimension = "width" } prevSize = now; callbacks.fire(changedDimension) }; var setPrevSize = (0, _call_once.default)((function() { prevSize = formatSize() })); var removeListener; callbacks.add = function() { var result = originalCallbacksAdd.apply(callbacks, arguments); setPrevSize(); _ready_callbacks.default.add((function() { if (!removeListener && callbacks.has()) { removeListener = _dom_adapter.default.listen((0, _window.getWindow)(), "resize", handleResize) } })); return result }; callbacks.remove = function() { var result = originalCallbacksRemove.apply(callbacks, arguments); if (!callbacks.has() && removeListener) { removeListener(); removeListener = void 0 } return result }; return callbacks }(); var _default = resizeCallbacks; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 49601: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/selection_filter.js ***! \****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.SelectionFilterCreator = void 0; var _common = __webpack_require__( /*! ./common */ 20576); var _type = __webpack_require__( /*! ./type */ 35922); exports.SelectionFilterCreator = function(selectedItemKeys, isSelectAll) { this.getLocalFilter = function(keyGetter, equalKeys, equalByReference, keyExpr) { equalKeys = void 0 === equalKeys ? _common.equalByValue : equalKeys; return functionFilter.bind(this, equalKeys, keyGetter, equalByReference, keyExpr) }; this.getExpr = function(keyExpr) { if (!keyExpr) { return } var filterExpr; selectedItemKeys.forEach((function(key, index) { filterExpr = filterExpr || []; var filterExprPart; if (index > 0) { filterExpr.push(isSelectAll ? "and" : "or") } if ((0, _type.isString)(keyExpr)) { filterExprPart = getFilterForPlainKey(keyExpr, key) } else { filterExprPart = function(keyExpr, itemKeyValue) { var filterExpr = []; for (var i = 0, length = keyExpr.length; i < length; i++) { var currentKeyExpr = keyExpr[i]; var currentKeyValue = itemKeyValue && itemKeyValue[currentKeyExpr]; var filterExprPart = getFilterForPlainKey(currentKeyExpr, currentKeyValue); if (!filterExprPart) { break } if (i > 0) { filterExpr.push(isSelectAll ? "or" : "and") } filterExpr.push(filterExprPart) } return filterExpr }(keyExpr, key) } filterExpr.push(filterExprPart) })); if (filterExpr && 1 === filterExpr.length) { filterExpr = filterExpr[0] } return filterExpr }; this.getCombinedFilter = function(keyExpr, dataSourceFilter) { var forceCombinedFilter = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false; var filterExpr = this.getExpr(keyExpr); var combinedFilter = filterExpr; if ((forceCombinedFilter || isSelectAll) && dataSourceFilter) { if (filterExpr) { combinedFilter = []; combinedFilter.push(filterExpr); combinedFilter.push(dataSourceFilter) } else { combinedFilter = dataSourceFilter } } return combinedFilter }; var selectedItemKeyHashesMap; var normalizeKeys = function(keys, keyOf, keyExpr) { return Array.isArray(keyExpr) ? keys.map((function(key) { return keyOf(key) })) : keys }; function functionFilter(equalKeys, keyOf, equalByReference, keyExpr, item) { var key = keyOf(item); var keyHash; var i; if (!equalByReference) { keyHash = (0, _common.getKeyHash)(key); if (!(0, _type.isObject)(keyHash)) { var selectedKeyHashesMap = function(keyOf, keyExpr) { if (!selectedItemKeyHashesMap) { selectedItemKeyHashesMap = {}; var normalizedKeys = normalizeKeys(selectedItemKeys, keyOf, keyExpr); for (var i = 0; i < normalizedKeys.length; i++) { selectedItemKeyHashesMap[(0, _common.getKeyHash)(normalizedKeys[i])] = true } } return selectedItemKeyHashesMap }(keyOf, keyExpr); if (selectedKeyHashesMap[keyHash]) { return !isSelectAll } return !!isSelectAll } } for (i = 0; i < selectedItemKeys.length; i++) { if (equalKeys(selectedItemKeys[i], key)) { return !isSelectAll } } return !!isSelectAll } function getFilterForPlainKey(keyExpr, keyValue) { if (void 0 === keyValue) { return } return [keyExpr, isSelectAll ? "<>" : "=", keyValue] } } }, 90330: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/shadow_dom.js ***! \**********************************************************************/ function(__unused_webpack_module, exports) { exports.addShadowDomStyles = function($element) { var _el$getRootNode; var el = $element.get(0); var root = null === (_el$getRootNode = el.getRootNode) || void 0 === _el$getRootNode ? void 0 : _el$getRootNode.call(el); if (!(null !== root && void 0 !== root && root.host)) { return } if (!ownerDocumentStyleSheet) { ownerDocumentStyleSheet = createConstructedStyleSheet(root); processRules(ownerDocumentStyleSheet, el.ownerDocument.styleSheets, false) } var currentShadowDomStyleSheet = createConstructedStyleSheet(root); processRules(currentShadowDomStyleSheet, root.styleSheets, true); root.adoptedStyleSheets = [ownerDocumentStyleSheet, currentShadowDomStyleSheet] }; exports.getShadowElementsFromPoint = function(x, y, root) { var elementQueue = (shiftIndex = 0, items = [], Object.defineProperties({ push: function(item) { items.push(item); return this }, shift: function() { shiftIndex++; return items[shiftIndex - 1] } }, { length: { get: function() { return items.length - shiftIndex }, configurable: true, enumerable: true }, items: { get: function() { return items }, configurable: true, enumerable: true } })).push(root); var shiftIndex, items; while (elementQueue.length) { var el = elementQueue.shift(); for (var i = 0; i < el.childNodes.length; i++) { var childNode = el.childNodes[i]; if (childNode.nodeType === Node.ELEMENT_NODE && isPositionInElementRectangle(childNode, x, y) && "none" !== getComputedStyle(childNode).pointerEvents) { elementQueue.push(childNode) } } } var result = elementQueue.items.reverse(); result.pop(); return result }; var ownerDocumentStyleSheet = null; function createConstructedStyleSheet(rootNode) { try { return new CSSStyleSheet } catch (err) { var styleElement = rootNode.ownerDocument.createElement("style"); rootNode.appendChild(styleElement); return styleElement.sheet } } function processRules(targetStyleSheet, styleSheets, needApplyAllStyles) { for (var i = 0; i < styleSheets.length; i++) { var sheet = styleSheets[i]; try { for (var j = 0; j < sheet.cssRules.length; j++) { insertRule(targetStyleSheet, sheet.cssRules[j], needApplyAllStyles) } } catch (err) {} } } function insertRule(targetStyleSheet, rule, needApplyAllStyles) { var _rule$selectorText, _rule$cssRules, _rule$cssRules$, _rule$cssRules$$selec, _rule$name, _rule$style; var isDxRule = needApplyAllStyles || (null === (_rule$selectorText = rule.selectorText) || void 0 === _rule$selectorText ? void 0 : _rule$selectorText.includes("dx-")) || (null === (_rule$cssRules = rule.cssRules) || void 0 === _rule$cssRules ? void 0 : null === (_rule$cssRules$ = _rule$cssRules[0]) || void 0 === _rule$cssRules$ ? void 0 : null === (_rule$cssRules$$selec = _rule$cssRules$.selectorText) || void 0 === _rule$cssRules$$selec ? void 0 : _rule$cssRules$$selec.includes("dx-")) || (null === (_rule$name = rule.name) || void 0 === _rule$name ? void 0 : _rule$name.startsWith("dx-")) || "DXIcons" === (null === (_rule$style = rule.style) || void 0 === _rule$style ? void 0 : _rule$style.fontFamily); if (isDxRule) { targetStyleSheet.insertRule(rule.cssText, targetStyleSheet.cssRules.length) } } function isPositionInElementRectangle(element, x, y) { var rect = element.getBoundingClientRect(); return rect && x >= rect.left && x < rect.right && y >= rect.top && y < rect.bottom } }, 58664: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/size.js ***! \****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.setWidth = exports.setOuterWidth = exports.setOuterHeight = exports.setInnerWidth = exports.setInnerHeight = exports.setHeight = exports.parseHeight = exports.implementationsMap = exports.getWindowByElement = exports.getWidth = exports.getVisibleHeight = exports.getVerticalOffsets = exports.getSize = exports.getOuterWidth = exports.getOuterHeight = exports.getOffset = exports.getInnerWidth = exports.getInnerHeight = exports.getHeight = exports.getElementBoxParams = exports.addOffsetToMinHeight = exports.addOffsetToMaxHeight = void 0; var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _dom_adapter = (obj = __webpack_require__( /*! ../../core/dom_adapter */ 73349), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../utils/type */ 35922); var window = (0, _window.getWindow)(); var SPECIAL_HEIGHT_VALUES = ["auto", "none", "inherit", "initial"]; var getSizeByStyles = function(elementStyles, styles) { var result = 0; styles.forEach((function(style) { result += parseFloat(elementStyles[style]) || 0 })); return result }; var getElementBoxParams = function(name, elementStyles) { var beforeName = "width" === name ? "Left" : "Top"; var afterName = "width" === name ? "Right" : "Bottom"; return { padding: getSizeByStyles(elementStyles, ["padding" + beforeName, "padding" + afterName]), border: getSizeByStyles(elementStyles, ["border" + beforeName + "Width", "border" + afterName + "Width"]), margin: getSizeByStyles(elementStyles, ["margin" + beforeName, "margin" + afterName]) } }; exports.getElementBoxParams = getElementBoxParams; var getElementComputedStyle = function(element) { var _element$ownerDocumen; var view = (null === element || void 0 === element ? void 0 : null === (_element$ownerDocumen = element.ownerDocument) || void 0 === _element$ownerDocumen ? void 0 : _element$ownerDocumen.defaultView) || window; return view.getComputedStyle && view.getComputedStyle(element) }; var getCSSProperty = function(element, styles, name, defaultValue) { var _element$style; return (null === styles || void 0 === styles ? void 0 : styles[name]) || (null === (_element$style = element.style) || void 0 === _element$style ? void 0 : _element$style[name]) || defaultValue }; var boxIndices = { content: 0, padding: 1, border: 2, margin: 3, "content-box": 0, "border-box": 2 }; var dimensionComponents = { width: ["left", "right"], height: ["top", "bottom"] }; function getComponentThickness(elem, dimension, component, styles) { var get = function(elem, styles, field) { return parseFloat(getCSSProperty(elem, styles, field, "0")) || 0 }; var suffix = "border" === component ? "-width" : ""; return get(elem, styles, "".concat(component, "-").concat(dimensionComponents[dimension][0]).concat(suffix)) + get(elem, styles, "".concat(component, "-").concat(dimensionComponents[dimension][1]).concat(suffix)) } var getSize = function(element, dimension, box) { var offsetFieldName = "width" === dimension ? "offsetWidth" : "offsetHeight"; var styles = getElementComputedStyle(element); var result = getCSSProperty(element, styles, dimension); if ("" === result || "auto" === result) { result = element[offsetFieldName] } result = parseFloat(result) || 0; var currentBox = getCSSProperty(element, styles, "boxSizing", "content-box"); var targetBox = box || currentBox; var targetBoxIndex = boxIndices[targetBox]; var currentBoxIndex = boxIndices[currentBox]; if (void 0 === targetBoxIndex || void 0 === currentBoxIndex) { throw new Error } if (currentBoxIndex === targetBoxIndex) { return result } var coeff = Math.sign(targetBoxIndex - currentBoxIndex); var padding = false; var border = false; var margin = false; var scrollThickness = false; if (1 === coeff) { targetBoxIndex += 1; currentBoxIndex += 1 } for (var boxPart = currentBoxIndex; boxPart !== targetBoxIndex; boxPart += coeff) { switch (boxPart) { case boxIndices.content: break; case boxIndices.padding: padding = coeff * getComponentThickness(element, dimension, "padding", styles); break; case boxIndices.border: border = coeff * getComponentThickness(element, dimension, "border", styles); break; case boxIndices.margin: margin = coeff * getComponentThickness(element, dimension, "margin", styles) } } if (padding || border) { var paddingAndBorder = (false === padding ? coeff * getComponentThickness(element, dimension, "padding", styles) : padding) + (false === border ? coeff * getComponentThickness(element, dimension, "border", styles) : border); scrollThickness = coeff * Math.max(0, Math.floor(element[offsetFieldName] - result - coeff * paddingAndBorder)) || 0 } return result + margin + padding + border + scrollThickness }; exports.getSize = getSize; var parseHeight = function(value, container, element) { if (value.indexOf("px") > 0) { value = parseInt(value.replace("px", "")) } else if (value.indexOf("%") > 0) { value = parseInt(value.replace("%", "")) * function(container) { return (0, _type.isWindow)(container) ? container.innerHeight : container.offsetHeight }(container) / 100 } else if (!isNaN(value)) { value = parseInt(value) } else if (value.indexOf("vh") > 0) { value = window.innerHeight / 100 * parseInt(value.replace("vh", "")) } else if (element && value.indexOf("em") > 0) { value = parseFloat(value.replace("em", "")) * parseFloat(window.getComputedStyle(element).fontSize) } return value }; exports.parseHeight = parseHeight; var getHeightWithOffset = function(value, offset, container) { if (!value) { return null } if (SPECIAL_HEIGHT_VALUES.indexOf(value) > -1) { return offset ? null : value } if ((0, _type.isString)(value)) { value = parseHeight(value, container) } if ((0, _type.isNumeric)(value)) { return Math.max(0, value + offset) } var operationString = offset < 0 ? " - " : " "; return "calc(" + value + operationString + Math.abs(offset) + "px)" }; exports.addOffsetToMaxHeight = function(value, offset, container) { var maxHeight = getHeightWithOffset(value, offset, container); return null !== maxHeight ? maxHeight : "none" }; exports.addOffsetToMinHeight = function(value, offset, container) { var minHeight = getHeightWithOffset(value, offset, container); return null !== minHeight ? minHeight : 0 }; exports.getVerticalOffsets = function(element, withMargins) { if (!element) { return 0 } var boxParams = getElementBoxParams("height", window.getComputedStyle(element)); return boxParams.padding + boxParams.border + (withMargins ? boxParams.margin : 0) }; exports.getVisibleHeight = function(element) { if (element) { var boundingClientRect = element.getBoundingClientRect(); if (boundingClientRect.height) { return boundingClientRect.height } } return 0 }; var implementationsMap = { getWidth: function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] } return elementSizeHelper.apply(void 0, ["width"].concat(args)) }, setWidth: function() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2] } return elementSizeHelper.apply(void 0, ["width"].concat(args)) }, getHeight: function() { for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3] } return elementSizeHelper.apply(void 0, ["height"].concat(args)) }, setHeight: function() { for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4] } return elementSizeHelper.apply(void 0, ["height"].concat(args)) }, getOuterWidth: function() { for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { args[_key5] = arguments[_key5] } return elementSizeHelper.apply(void 0, ["outerWidth"].concat(args)) }, setOuterWidth: function() { for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) { args[_key6] = arguments[_key6] } return elementSizeHelper.apply(void 0, ["outerWidth"].concat(args)) }, getOuterHeight: function() { for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) { args[_key7] = arguments[_key7] } return elementSizeHelper.apply(void 0, ["outerHeight"].concat(args)) }, setOuterHeight: function() { for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) { args[_key8] = arguments[_key8] } return elementSizeHelper.apply(void 0, ["outerHeight"].concat(args)) }, getInnerWidth: function() { for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) { args[_key9] = arguments[_key9] } return elementSizeHelper.apply(void 0, ["innerWidth"].concat(args)) }, setInnerWidth: function() { for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) { args[_key10] = arguments[_key10] } return elementSizeHelper.apply(void 0, ["innerWidth"].concat(args)) }, getInnerHeight: function() { for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) { args[_key11] = arguments[_key11] } return elementSizeHelper.apply(void 0, ["innerHeight"].concat(args)) }, setInnerHeight: function() { for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) { args[_key12] = arguments[_key12] } return elementSizeHelper.apply(void 0, ["innerHeight"].concat(args)) } }; exports.implementationsMap = implementationsMap; function elementSizeHelper(sizeProperty, el, value) { return 2 === arguments.length ? elementSize(el, sizeProperty) : elementSize(el, sizeProperty, value) } exports.getWidth = function(el) { return implementationsMap.getWidth(el) }; exports.setWidth = function(el, value) { return implementationsMap.setWidth(el, value) }; exports.getHeight = function(el) { return implementationsMap.getHeight(el) }; exports.setHeight = function(el, value) { return implementationsMap.setHeight(el, value) }; exports.getOuterWidth = function(el, includeMargin) { return implementationsMap.getOuterWidth(el, includeMargin || false) }; exports.setOuterWidth = function(el, value) { return implementationsMap.setOuterWidth(el, value) }; exports.getOuterHeight = function(el, includeMargin) { return implementationsMap.getOuterHeight(el, includeMargin || false) }; exports.setOuterHeight = function(el, value) { return implementationsMap.setOuterHeight(el, value) }; exports.getInnerWidth = function(el) { return implementationsMap.getInnerWidth(el) }; exports.setInnerWidth = function(el, value) { return implementationsMap.setInnerWidth(el, value) }; exports.getInnerHeight = function(el) { return implementationsMap.getInnerHeight(el) }; exports.setInnerHeight = function(el, value) { return implementationsMap.setInnerHeight(el, value) }; var elementSize = function elementSize(el, sizeProperty, value) { var partialName = sizeProperty.toLowerCase().indexOf("width") >= 0 ? "Width" : "Height"; var propName = partialName.toLowerCase(); var isOuter = 0 === sizeProperty.indexOf("outer"); var isInner = 0 === sizeProperty.indexOf("inner"); var isGetter = 2 === arguments.length || "boolean" === typeof value; if ((0, _type.isRenderer)(el)) { if (el.length > 1 && !isGetter) { for (var i = 0; i < el.length; i++) { elementSize(el[i], sizeProperty, value) } return } el = el[0] } if (!el) { return } if ((0, _type.isWindow)(el)) { return isOuter ? el["inner" + partialName] : _dom_adapter.default.getDocumentElement()["client" + partialName] } if (_dom_adapter.default.isDocument(el)) { var documentElement = _dom_adapter.default.getDocumentElement(); var body = _dom_adapter.default.getBody(); return Math.max(body["scroll" + partialName], body["offset" + partialName], documentElement["scroll" + partialName], documentElement["offset" + partialName], documentElement["client" + partialName]) } if (isGetter) { var box = "content"; if (isOuter) { box = value ? "margin" : "border" } if (isInner) { box = "padding" } return getSize(el, propName, box) } if ((0, _type.isNumeric)(value)) { var elementStyles = getElementComputedStyle(el); var sizeAdjustment = getElementBoxParams(propName, elementStyles); var isBorderBox = "border-box" === elementStyles.boxSizing; value = Number(value); if (isOuter) { value -= isBorderBox ? 0 : sizeAdjustment.border + sizeAdjustment.padding } else if (isInner) { value += isBorderBox ? sizeAdjustment.border : -sizeAdjustment.padding } else if (isBorderBox) { value += sizeAdjustment.border + sizeAdjustment.padding } } value += (0, _type.isNumeric)(value) ? "px" : ""; _dom_adapter.default.setStyle(el, propName, value); return null }; var getWindowByElement = function(el) { return (0, _type.isWindow)(el) ? el : el.defaultView }; exports.getWindowByElement = getWindowByElement; exports.getOffset = function(el) { if (!el.getClientRects().length) { return { top: 0, left: 0 } } var rect = el.getBoundingClientRect(); var win = getWindowByElement(el.ownerDocument); var docElem = el.ownerDocument.documentElement; return { top: rect.top + win.pageYOffset - docElem.clientTop, left: rect.left + win.pageXOffset - docElem.clientLeft } } }, 36613: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/storage.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.sessionStorage = void 0; var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var window = (0, _window.getWindow)(); exports.sessionStorage = function() { var sessionStorage; try { sessionStorage = window.sessionStorage } catch (e) {} return sessionStorage } }, 68752: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/string.js ***! \******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.encodeHtml = void 0; exports.format = function(template) { for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { values[_key - 1] = arguments[_key] } if ((0, _type.isFunction)(template)) { return template.apply(void 0, values) } values.forEach((function(value, index) { if ((0, _type.isString)(value)) { value = value.replace(/\$/g, "$$$$") } var placeholderReg = new RegExp("\\{" + index + "\\}", "gm"); template = template.replace(placeholderReg, value) })); return template }; exports.replaceAll = exports.quadToObject = exports.isEmpty = void 0; var _type = __webpack_require__( /*! ./type */ 35922); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } var encodeHtml = (encodeRegExp = [new RegExp("&", "g"), new RegExp('"', "g"), new RegExp("'", "g"), new RegExp("<", "g"), new RegExp(">", "g")], function(str) { return String(str).replace(encodeRegExp[0], "&").replace(encodeRegExp[1], """).replace(encodeRegExp[2], "'").replace(encodeRegExp[3], "<").replace(encodeRegExp[4], ">") }); var encodeRegExp; exports.encodeHtml = encodeHtml; exports.quadToObject = function(raw) { var quad = function(raw) { switch (_typeof(raw)) { case "string": return raw.split(/\s+/, 4); case "object": return [raw.x || raw.h || raw.left, raw.y || raw.v || raw.top, raw.x || raw.h || raw.right, raw.y || raw.v || raw.bottom]; case "number": return [raw]; default: return raw } }(raw); var left = parseInt(quad && quad[0], 10); var top = parseInt(quad && quad[1], 10); var right = parseInt(quad && quad[2], 10); var bottom = parseInt(quad && quad[3], 10); if (!isFinite(left)) { left = 0 } if (!isFinite(top)) { top = left } if (!isFinite(right)) { right = left } if (!isFinite(bottom)) { bottom = top } return { top: top, right: right, bottom: bottom, left: left } }; var replaceAll = function(text, searchToken, replacementToken) { return text.replace(new RegExp("(" + (str = searchToken, (str + "").replace(/([+*?.[^\]$(){}><|=!:])/g, "\\$1")) + ")", "gi"), replacementToken); var str }; exports.replaceAll = replaceAll; var isEmpty = (SPACE_REGEXP = /\s/g, function(text) { return !text || !text.replace(SPACE_REGEXP, "") }); var SPACE_REGEXP; exports.isEmpty = isEmpty }, 2146: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/stubs.js ***! \*****************************************************************/ function(__unused_webpack_module, exports) { exports.stubComponent = function(componentName) { return function() { function NoComponent() { throw new Error("Module '".concat(componentName, "' not found")) } NoComponent.getInstance = function() {}; return NoComponent }() } }, 80968: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/style.js ***! \*****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.stylePropPrefix = exports.styleProp = exports.setWidth = exports.setStyle = exports.setHeight = exports.parsePixelValue = exports.normalizeStyleProp = void 0; var _inflector = __webpack_require__( /*! ./inflector */ 78008); var _call_once = _interopRequireDefault(__webpack_require__( /*! ./call_once */ 39618)); var _type = __webpack_require__( /*! ./type */ 35922); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../dom_adapter */ 73349)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var jsPrefixes = ["", "Webkit", "Moz", "O", "Ms"]; var cssPrefixes = { "": "", Webkit: "-webkit-", Moz: "-moz-", O: "-o-", ms: "-ms-" }; var getStyles = (0, _call_once.default)((function() { return _dom_adapter.default.createElement("dx").style })); exports.styleProp = function(name) { if (name in getStyles()) { return name } var originalName = name; name = name.charAt(0).toUpperCase() + name.substr(1); for (var i = 1; i < jsPrefixes.length; i++) { var prefixedProp = jsPrefixes[i].toLowerCase() + name; if (prefixedProp in getStyles()) { return prefixedProp } } return originalName }; exports.stylePropPrefix = function(prop) { return function(prop, callBack) { prop = (0, _inflector.camelize)(prop, true); var result; for (var i = 0, cssPrefixesCount = jsPrefixes.length; i < cssPrefixesCount; i++) { var jsPrefix = jsPrefixes[i]; var prefixedProp = jsPrefix + prop; var lowerPrefixedProp = (0, _inflector.camelize)(prefixedProp); result = callBack(lowerPrefixedProp, jsPrefix); if (void 0 === result) { result = callBack(prefixedProp, jsPrefix) } if (void 0 !== result) { break } } return result || "" }(prop, (function(specific, jsPrefix) { if (specific in getStyles()) { return cssPrefixes[jsPrefix] } })) }; var pxExceptions = ["fillOpacity", "columnCount", "flexGrow", "flexShrink", "fontWeight", "lineHeight", "opacity", "zIndex", "zoom"]; exports.parsePixelValue = function(value) { if ((0, _type.isNumeric)(value)) { return value } else if ((0, _type.isString)(value)) { return Number(value.replace("px", "")) } return NaN }; exports.normalizeStyleProp = function(prop, value) { if ((0, _type.isNumeric)(value) && -1 === pxExceptions.indexOf(prop)) { value += "px" } return value }; var setDimensionProperty = function(elements, propertyName, value) { if (elements) { value = (0, _type.isNumeric)(value) ? value += "px" : value; for (var i = 0; i < elements.length; ++i) { elements[i].style[propertyName] = value } } }; exports.setWidth = function(elements, value) { setDimensionProperty(elements, "width", value) }; exports.setHeight = function(elements, value) { setDimensionProperty(elements, "height", value) }; exports.setStyle = function(element, styleString) { var resetStyle = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : true; if (resetStyle) { var styleList = [].slice.call(element.style); styleList.forEach((function(propertyName) { element.style.removeProperty(propertyName) })) } styleString.split(";").forEach((function(style) { var parts = style.split(":").map((function(stylePart) { return stylePart.trim() })); if (2 === parts.length) { var _parts = _slicedToArray(parts, 2), property = _parts[0], value = _parts[1]; element.style[property] = value } })) } }, 60137: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/support.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.pointerEvents = exports.nativeScrolling = exports.inputType = exports.animation = void 0; Object.defineProperty(exports, "styleProp", { enumerable: true, get: function() { return _style.styleProp } }); Object.defineProperty(exports, "stylePropPrefix", { enumerable: true, get: function() { return _style.stylePropPrefix } }); exports.transitionEndEventName = exports.transition = exports.touchEvents = exports.touch = exports.supportProp = void 0; var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../dom_adapter */ 73349)); var _call_once = _interopRequireDefault(__webpack_require__( /*! ./call_once */ 39618)); var _window = __webpack_require__( /*! ./window */ 58201); var _devices = _interopRequireDefault(__webpack_require__( /*! ../devices */ 20530)); var _style = __webpack_require__( /*! ./style */ 80968); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _getNavigator = (0, _window.getNavigator)(), maxTouchPoints = _getNavigator.maxTouchPoints; var transitionEndEventNames = { webkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd", transition: "transitionend" }; var supportProp = function(prop) { return !!(0, _style.styleProp)(prop) }; exports.supportProp = supportProp; exports.inputType = function(type) { if ("text" === type) { return true } var input = _dom_adapter.default.createElement("input"); try { input.setAttribute("type", type); input.value = "wrongValue"; return !input.value } catch (e) { return false } }; var touchEvents = function(hasWindowProperty, maxTouchPoints) { return (hasWindowProperty("ontouchstart") || !!maxTouchPoints) && !hasWindowProperty("callPhantom") }(_window.hasProperty, maxTouchPoints); exports.touchEvents = touchEvents; var pointerEvents = (hasWindowProperty = _window.hasProperty, hasWindowProperty("PointerEvent")); var hasWindowProperty; exports.pointerEvents = pointerEvents; var touchPointersPresent = !!maxTouchPoints; var touch = touchEvents || pointerEvents && touchPointersPresent; exports.touch = touch; var transition = (0, _call_once.default)((function() { return supportProp("transition") })); exports.transition = transition; var transitionEndEventName = (0, _call_once.default)((function() { return transitionEndEventNames[(0, _style.styleProp)("transition")] })); exports.transitionEndEventName = transitionEndEventName; var animation = (0, _call_once.default)((function() { return supportProp("animation") })); exports.animation = animation; var nativeScrolling = (_devices$real = _devices.default.real(), platform = _devices$real.platform, isMac = _devices$real.mac, isNativeScrollDevice = "ios" === platform || "android" === platform || isMac, isNativeScrollDevice); var _devices$real, platform, isMac, isNativeScrollDevice; exports.nativeScrolling = nativeScrolling }, 19155: /*!***************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/svg.js ***! \***************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.HIDDEN_FOR_EXPORT = void 0; exports.getSvgElement = function(markup) { return _dom_adapter.default.isNode(markup) ? markup : (new window.DOMParser).parseFromString(markup, "image/svg+xml").childNodes[0] }; exports.getSvgMarkup = function(element, backgroundColor) { return function(markup) { var first = true; if (-1 === markup.indexOf("xmlns:xlink")) { markup = markup.replace(" yItem) { return 1 } } return 0 } }, 77695: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/view_port.js ***! \*********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.changeCallback = void 0; exports.originalViewPort = function() { return $originalViewPort }; exports.value = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../renderer */ 68374)); var _ready_callbacks = _interopRequireDefault(__webpack_require__( /*! ./ready_callbacks */ 24311)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ./callbacks */ 44504)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ready = _ready_callbacks.default.add; var changeCallback = (0, _callbacks.default)(); exports.changeCallback = changeCallback; var $originalViewPort = (0, _renderer.default)(); var value = function(element) { if (!arguments.length) { return $current } var $element = (0, _renderer.default)(element); $originalViewPort = $element; var isNewViewportFound = !!$element.length; var prevViewPort = value(); $current = isNewViewportFound ? $element : (0, _renderer.default)("body"); changeCallback.fire(isNewViewportFound ? value() : (0, _renderer.default)(), prevViewPort) }; var $current; exports.value = value; ready((function() { value(".dx-viewport") })) }, 58201: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/utils/window.js ***! \******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.setWindow = exports.hasWindow = exports.hasProperty = exports.getWindow = exports.getNavigator = exports.getCurrentScreenFactor = exports.defaultScreenFactorFunc = void 0; var _dom_adapter = (obj = __webpack_require__( /*! ../dom_adapter */ 73349), obj && obj.__esModule ? obj : { default: obj }); var obj; var hasWindowValue = "undefined" !== typeof window; var hasWindow = function() { return hasWindowValue }; exports.hasWindow = hasWindow; var windowObject = hasWindow() ? window : void 0; if (!windowObject) { windowObject = {}; windowObject.window = windowObject } exports.getWindow = function() { return windowObject }; exports.setWindow = function(newWindowObject, hasWindow) { if (void 0 === hasWindow) { hasWindowValue = "undefined" !== typeof window && window === newWindowObject } else { hasWindowValue = hasWindow } windowObject = newWindowObject }; exports.hasProperty = function(prop) { return hasWindow() && prop in windowObject }; var defaultScreenFactorFunc = function(width) { if (width < 768) { return "xs" } else if (width < 992) { return "sm" } else if (width < 1200) { return "md" } else { return "lg" } }; exports.defaultScreenFactorFunc = defaultScreenFactorFunc; exports.getCurrentScreenFactor = function(screenFactorCallback) { var screenFactorFunc = screenFactorCallback || defaultScreenFactorFunc; var windowWidth = _dom_adapter.default.getDocumentElement().clientWidth; return screenFactorFunc(windowWidth) }; exports.getNavigator = function() { return hasWindow() ? windowObject.navigator : { userAgent: "" } } }, 36739: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/core/version.js ***! \*************************************************************/ function(__unused_webpack_module, exports) { exports.version = void 0; exports.version = "23.1.4" }, 67403: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/abstract_store.js ***! \********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _class = _interopRequireDefault(__webpack_require__( /*! ../core/class */ 38377)); var _events_strategy = __webpack_require__( /*! ../core/events_strategy */ 80566); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _errors = __webpack_require__( /*! ./errors */ 18438); var _utils = __webpack_require__( /*! ./utils */ 16454); var _data = __webpack_require__( /*! ../core/utils/data */ 47617); var _store_helper = _interopRequireDefault(__webpack_require__( /*! ./store_helper */ 99236)); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var abstract = _class.default.abstract; var queryByOptions = _store_helper.default.queryByOptions; var storeImpl = {}; var Store = _class.default.inherit({ _langParams: {}, ctor: function(options) { var that = this; options = options || {}; this._eventsStrategy = new _events_strategy.EventsStrategy(this); (0, _iterator.each)(["onLoaded", "onLoading", "onInserted", "onInserting", "onUpdated", "onUpdating", "onPush", "onRemoved", "onRemoving", "onModified", "onModifying"], (function(_, optionName) { if (optionName in options) { that.on(optionName.slice(2).toLowerCase(), options[optionName]) } })); this._key = options.key; this._errorHandler = options.errorHandler; this._useDefaultSearch = true }, _clearCache: _common.noop, _customLoadOptions: function() { return null }, key: function() { return this._key }, keyOf: function(obj) { if (!this._keyGetter) { this._keyGetter = (0, _data.compileGetter)(this.key()) } return this._keyGetter(obj) }, _requireKey: function() { if (!this.key()) { throw _errors.errors.Error("E4005") } }, load: function(options) { var that = this; options = options || {}; this._eventsStrategy.fireEvent("loading", [options]); return this._withLock(this._loadImpl(options)).done((function(result) { that._eventsStrategy.fireEvent("loaded", [result, options]) })) }, _loadImpl: function(options) { if (!(0, _type.isEmptyObject)(this._langParams)) { options = options || {}; options._langParams = _extends({}, this._langParams, options._langParams) } return queryByOptions(this.createQuery(options), options).enumerate() }, _withLock: function(task) { var result = new _deferred.Deferred; task.done((function() { var that = this; var args = arguments; _utils.processRequestResultLock.promise().done((function() { result.resolveWith(that, args) })) })).fail((function() { result.rejectWith(this, arguments) })); return result }, createQuery: abstract, totalCount: function(options) { return this._totalCountImpl(options) }, _totalCountImpl: function(options) { return queryByOptions(this.createQuery(options), options, true).count() }, byKey: function(key, extraOptions) { return this._addFailHandlers(this._withLock(this._byKeyImpl(key, extraOptions))) }, _byKeyImpl: abstract, insert: function(values) { var that = this; that._eventsStrategy.fireEvent("modifying"); that._eventsStrategy.fireEvent("inserting", [values]); return that._addFailHandlers(that._insertImpl(values).done((function(callbackValues, callbackKey) { that._eventsStrategy.fireEvent("inserted", [callbackValues, callbackKey]); that._eventsStrategy.fireEvent("modified") }))) }, _insertImpl: abstract, update: function(key, values) { var that = this; that._eventsStrategy.fireEvent("modifying"); that._eventsStrategy.fireEvent("updating", [key, values]); return that._addFailHandlers(that._updateImpl(key, values).done((function() { that._eventsStrategy.fireEvent("updated", [key, values]); that._eventsStrategy.fireEvent("modified") }))) }, _updateImpl: abstract, push: function(changes) { var _this = this; var beforePushArgs = { changes: changes, waitFor: [] }; this._eventsStrategy.fireEvent("beforePush", [beforePushArgs]); _deferred.when.apply(void 0, _toConsumableArray(beforePushArgs.waitFor)).done((function() { _this._pushImpl(changes); _this._eventsStrategy.fireEvent("push", [changes]) })) }, _pushImpl: _common.noop, remove: function(key) { var that = this; that._eventsStrategy.fireEvent("modifying"); that._eventsStrategy.fireEvent("removing", [key]); return that._addFailHandlers(that._removeImpl(key).done((function(callbackKey) { that._eventsStrategy.fireEvent("removed", [callbackKey]); that._eventsStrategy.fireEvent("modified") }))) }, _removeImpl: abstract, _addFailHandlers: function(deferred) { return deferred.fail(this._errorHandler).fail(_errors.handleError) }, on: function(eventName, eventHandler) { this._eventsStrategy.on(eventName, eventHandler); return this }, off: function(eventName, eventHandler) { this._eventsStrategy.off(eventName, eventHandler); return this } }); Store.create = function(alias, options) { if (!(alias in storeImpl)) { throw _errors.errors.Error("E4020", alias) } return new storeImpl[alias](options) }; Store.registerClass = function(type, alias) { if (alias) { storeImpl[alias] = type } return type }; Store.inherit = (inheritor = Store.inherit, function(members, alias) { var type = inheritor.apply(this, [members]); Store.registerClass(type, alias); return type }); var inheritor; var _default = Store; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 36893: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/apply_changes.js ***! \*******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _array_utils = __webpack_require__( /*! ./array_utils */ 60637); var _default = _array_utils.applyChanges; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 35042: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/array_query.js ***! \*****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _class = (obj = __webpack_require__( /*! ../core/class */ 38377), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _data = __webpack_require__( /*! ../core/utils/data */ 47617); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _errors = __webpack_require__( /*! ./errors */ 18438); var _utils = __webpack_require__( /*! ./utils */ 16454); var Iterator = _class.default.inherit({ toArray: function() { var result = []; this.reset(); while (this.next()) { result.push(this.current()) } return result }, countable: function() { return false } }); var ArrayIterator = Iterator.inherit({ ctor: function(array) { this.array = array; this.index = -1 }, next: function() { if (this.index + 1 < this.array.length) { this.index++; return true } return false }, current: function() { return this.array[this.index] }, reset: function() { this.index = -1 }, toArray: function() { return this.array.slice(0) }, countable: function() { return true }, count: function() { return this.array.length } }); var WrappedIterator = Iterator.inherit({ ctor: function(iter) { this.iter = iter }, next: function() { return this.iter.next() }, current: function() { return this.iter.current() }, reset: function() { return this.iter.reset() } }); var MapIterator = WrappedIterator.inherit({ ctor: function(iter, mapper) { this.callBase(iter); this.index = -1; this.mapper = mapper }, current: function() { return this.mapper(this.callBase(), this.index) }, next: function() { var hasNext = this.callBase(); if (hasNext) { this.index++ } return hasNext } }); var SortIterator = Iterator.inherit({ ctor: function(iter, getter, desc, compare) { this.langParams = iter.langParams; if (!(iter instanceof MapIterator)) { iter = new MapIterator(iter, this._wrap); iter.langParams = this.langParams } this.iter = iter; this.rules = [{ getter: getter, desc: desc, compare: compare, langParams: this.langParams }] }, thenBy: function(getter, desc, compare) { var result = new SortIterator(this.sortedIter || this.iter, getter, desc, compare); if (!this.sortedIter) { result.rules = this.rules.concat(result.rules) } return result }, next: function() { this._ensureSorted(); return this.sortedIter.next() }, current: function() { this._ensureSorted(); return this.sortedIter.current() }, reset: function() { delete this.sortedIter }, countable: function() { return this.sortedIter || this.iter.countable() }, count: function() { if (this.sortedIter) { return this.sortedIter.count() } return this.iter.count() }, _ensureSorted: function() { var that = this; if (that.sortedIter) { return }(0, _iterator.each)(that.rules, (function() { this.getter = (0, _data.compileGetter)(this.getter) })); that.sortedIter = new MapIterator(new ArrayIterator(this.iter.toArray().sort((function(x, y) { return that._compare(x, y) }))), that._unwrap) }, _wrap: function(record, index) { return { index: index, value: record } }, _unwrap: function(wrappedItem) { return wrappedItem.value }, _getDefaultCompare: function(langParams) { return function(xValue, yValue) { return function(xValue, yValue, options) { if ((0, _type.isString)(xValue) && (0, _type.isString)(yValue) && (null !== options && void 0 !== options && options.locale || null !== options && void 0 !== options && options.collatorOptions)) { return new Intl.Collator((null === options || void 0 === options ? void 0 : options.locale) || void 0, (null === options || void 0 === options ? void 0 : options.collatorOptions) || void 0).compare(xValue, yValue) } xValue = (0, _data.toComparable)(xValue, false, options); yValue = (0, _data.toComparable)(yValue, false, options); if (null === xValue && null !== yValue) { return -1 } if (null !== xValue && null === yValue) { return 1 } if (void 0 === xValue && void 0 !== yValue) { return 1 } if (void 0 !== xValue && void 0 === yValue) { return -1 } if (xValue < yValue) { return -1 } if (xValue > yValue) { return 1 } return 0 }(xValue, yValue, langParams) } }, _compare: function(x, y) { var xIndex = x.index; var yIndex = y.index; x = x.value; y = y.value; if (x === y) { return xIndex - yIndex } for (var i = 0, rulesCount = this.rules.length; i < rulesCount; i++) { var rule = this.rules[i]; var xValue = rule.getter(x); var yValue = rule.getter(y); var compare = rule.compare || this._getDefaultCompare(rule.langParams); var compareResult = compare(xValue, yValue); if (compareResult) { return rule.desc ? -compareResult : compareResult } } return xIndex - yIndex } }); var compileCriteria = function() { var langParams = {}; var _toComparable = function(value) { return (0, _data.toComparable)(value, false, langParams) }; var toString = function(value) { var _langParams; return (0, _type.isDefined)(value) ? null !== (_langParams = langParams) && void 0 !== _langParams && _langParams.locale ? value.toLocaleString(langParams.locale) : value.toString() : "" }; function compileEquals(getter, value, negate) { return function(obj) { obj = _toComparable(getter(obj)); var result = function(value) { return "" === value || 0 === value || false === value }(value) ? obj === value : obj == value; if (negate) { result = !result } return result } } return function(crit, options) { langParams = options || {}; if ((0, _type.isFunction)(crit)) { return crit } if ((0, _utils.isGroupCriterion)(crit)) { return function(crit) { var ops = []; var isConjunctiveOperator = false; var isConjunctiveNextOperator = false; (0, _iterator.each)(crit, (function() { if (Array.isArray(this) || (0, _type.isFunction)(this)) { if (ops.length > 1 && isConjunctiveOperator !== isConjunctiveNextOperator) { throw new _errors.errors.Error("E4019") } ops.push(compileCriteria(this, langParams)); isConjunctiveOperator = isConjunctiveNextOperator; isConjunctiveNextOperator = true } else { isConjunctiveNextOperator = (0, _utils.isConjunctiveOperator)(this) } })); return function(d) { var result = isConjunctiveOperator; for (var i = 0; i < ops.length; i++) { if (ops[i](d) !== isConjunctiveOperator) { result = !isConjunctiveOperator; break } } return result } }(crit) } if ((0, _utils.isUnaryOperation)(crit)) { return function(crit) { var op = crit[0]; var criteria = compileCriteria(crit[1], langParams); if ("!" === op) { return function(obj) { return !criteria(obj) } } throw _errors.errors.Error("E4003", op) }(crit) } return function(crit) { crit = (0, _utils.normalizeBinaryCriterion)(crit); var getter = (0, _data.compileGetter)(crit[0]); var op = crit[1]; var value = crit[2]; value = _toComparable(value); var compare = function(obj, operatorFn) { obj = _toComparable(getter(obj)); return (null == value || null == obj) && value !== obj ? false : operatorFn(obj, value) }; switch (op.toLowerCase()) { case "=": return compileEquals(getter, value); case "<>": return compileEquals(getter, value, true); case ">": return function(obj) { return compare(obj, (function(a, b) { return a > b })) }; case "<": return function(obj) { return compare(obj, (function(a, b) { return a < b })) }; case ">=": return function(obj) { return compare(obj, (function(a, b) { return a >= b })) }; case "<=": return function(obj) { return compare(obj, (function(a, b) { return a <= b })) }; case "startswith": return function(obj) { return 0 === _toComparable(toString(getter(obj))).indexOf(value) }; case "endswith": return function(obj) { var getterValue = _toComparable(toString(getter(obj))); var searchValue = toString(value); if (getterValue.length < searchValue.length) { return false } var index = getterValue.lastIndexOf(value); return -1 !== index && index === getterValue.length - value.length }; case "contains": return function(obj) { return _toComparable(toString(getter(obj))).indexOf(value) > -1 }; case "notcontains": return function(obj) { return -1 === _toComparable(toString(getter(obj))).indexOf(value) } } throw _errors.errors.Error("E4003", op) }(crit) } }(); var FilterIterator = WrappedIterator.inherit({ ctor: function(iter, criteria) { this.callBase(iter); this.langParams = iter.langParams; this.criteria = compileCriteria(criteria, this.langParams) }, next: function() { while (this.iter.next()) { if (this.criteria(this.current())) { return true } } return false } }); var GroupIterator = Iterator.inherit({ ctor: function(iter, getter) { this.iter = iter; this.getter = getter }, next: function() { this._ensureGrouped(); return this.groupedIter.next() }, current: function() { this._ensureGrouped(); return this.groupedIter.current() }, reset: function() { delete this.groupedIter }, countable: function() { return !!this.groupedIter }, count: function() { return this.groupedIter.count() }, _ensureGrouped: function() { if (this.groupedIter) { return } var hash = {}; var keys = []; var iter = this.iter; var getter = (0, _data.compileGetter)(this.getter); iter.reset(); while (iter.next()) { var current = iter.current(); var key = getter(current); if (key in hash) { hash[key].push(current) } else { hash[key] = [current]; keys.push(key) } } this.groupedIter = new ArrayIterator((0, _iterator.map)(keys, (function(key) { return { key: key, items: hash[key] } }))) } }); var SelectIterator = WrappedIterator.inherit({ ctor: function(iter, getter) { this.callBase(iter); this.getter = (0, _data.compileGetter)(getter) }, current: function() { return this.getter(this.callBase()) }, countable: function() { return this.iter.countable() }, count: function() { return this.iter.count() } }); var SliceIterator = WrappedIterator.inherit({ ctor: function(iter, skip, take) { this.callBase(iter); this.skip = Math.max(0, skip); this.take = Math.max(0, take); this.pos = 0 }, next: function() { if (this.pos >= this.skip + this.take) { return false } while (this.pos < this.skip && this.iter.next()) { this.pos++ } this.pos++; return this.iter.next() }, reset: function() { this.callBase(); this.pos = 0 }, countable: function() { return this.iter.countable() }, count: function() { return Math.min(this.iter.count() - this.skip, this.take) } }); var _default = function arrayQueryImpl(iter, queryOptions) { queryOptions = queryOptions || {}; if (!(iter instanceof Iterator)) { iter = new ArrayIterator(iter) } if (queryOptions.langParams) { iter.langParams = queryOptions.langParams } var handleError = function(error) { var handler = queryOptions.errorHandler; if (handler) { handler(error) }(0, _errors.handleError)(error) }; var aggregateCore = function(aggregator) { var d = (new _deferred.Deferred).fail(handleError); var seed; var step = aggregator.step; var finalize = aggregator.finalize; try { iter.reset(); if ("seed" in aggregator) { seed = aggregator.seed } else { seed = iter.next() ? iter.current() : NaN } var accumulator = seed; while (iter.next()) { accumulator = step(accumulator, iter.current()) } d.resolve(finalize ? finalize(accumulator) : accumulator) } catch (x) { d.reject(x) } return d.promise() }; var standardAggregate = function(name) { return aggregateCore(_utils.aggregators[name]) }; var select = function(getter) { if (!(0, _type.isFunction)(getter) && !Array.isArray(getter)) { getter = [].slice.call(arguments) } return chainQuery(new SelectIterator(iter, getter)) }; var selectProp = function(name) { return select((0, _data.compileGetter)(name)) }; function chainQuery(iter) { return arrayQueryImpl(iter, queryOptions) } return { toArray: function() { return iter.toArray() }, enumerate: function() { var d = (new _deferred.Deferred).fail(handleError); try { d.resolve(iter.toArray()) } catch (x) { d.reject(x) } return d.promise() }, setLangParams: function(options) { iter.langParams = options }, sortBy: function(getter, desc, compare) { return chainQuery(new SortIterator(iter, getter, desc, compare)) }, thenBy: function(getter, desc, compare) { if (iter instanceof SortIterator) { return chainQuery(iter.thenBy(getter, desc, compare)) } throw _errors.errors.Error("E4004") }, filter: function(criteria) { if (!Array.isArray(criteria)) { criteria = [].slice.call(arguments) } return chainQuery(new FilterIterator(iter, criteria)) }, slice: function(skip, take) { if (void 0 === take) { take = Number.MAX_VALUE } return chainQuery(new SliceIterator(iter, skip, take)) }, select: select, groupBy: function(getter) { return chainQuery(new GroupIterator(iter, getter)) }, aggregate: function(seed, step, finalize) { if (arguments.length < 2) { return aggregateCore({ step: arguments[0] }) } return aggregateCore({ seed: seed, step: step, finalize: finalize }) }, count: function() { if (iter.countable()) { var d = (new _deferred.Deferred).fail(handleError); try { d.resolve(iter.count()) } catch (x) { d.reject(x) } return d.promise() } return standardAggregate("count") }, sum: function(getter) { if (getter) { return selectProp(getter).sum() } return standardAggregate("sum") }, min: function(getter) { if (getter) { return selectProp(getter).min() } return standardAggregate("min") }, max: function(getter) { if (getter) { return selectProp(getter).max() } return standardAggregate("max") }, avg: function(getter) { if (getter) { return selectProp(getter).avg() } return standardAggregate("avg") } } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 26562: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/array_store.js ***! \*****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _utils = __webpack_require__( /*! ./utils */ 16454); var _query = _interopRequireDefault(__webpack_require__( /*! ./query */ 96687)); var _errors = __webpack_require__( /*! ./errors */ 18438); var _abstract_store = _interopRequireDefault(__webpack_require__( /*! ./abstract_store */ 67403)); var _array_utils = __webpack_require__( /*! ./array_utils */ 60637); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ArrayStore = _abstract_store.default.inherit({ ctor: function(options) { if (Array.isArray(options)) { options = { data: options } } else { options = options || {} } this.callBase(options); var initialArray = options.data; if (initialArray && !Array.isArray(initialArray)) { throw _errors.errors.Error("E4006") } this._array = initialArray || [] }, createQuery: function() { return (0, _query.default)(this._array, { errorHandler: this._errorHandler }) }, _byKeyImpl: function(key) { var index = (0, _array_utils.indexByKey)(this, this._array, key); if (-1 === index) { return (0, _utils.rejectedPromise)(_errors.errors.Error("E4009")) } return (0, _utils.trivialPromise)(this._array[index]) }, _insertImpl: function(values) { return (0, _array_utils.insert)(this, this._array, values) }, _pushImpl: function(changes) { (0, _array_utils.applyBatch)({ keyInfo: this, data: this._array, changes: changes }) }, _updateImpl: function(key, values) { return (0, _array_utils.update)(this, this._array, key, values) }, _removeImpl: function(key) { return (0, _array_utils.remove)(this, this._array, key) }, clear: function() { this._eventsStrategy.fireEvent("modifying"); this._array = []; this._eventsStrategy.fireEvent("modified") } }, "array"); var _default = ArrayStore; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 60637: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/array_utils.js ***! \*****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.applyBatch = applyBatch; exports.applyChanges = function(data, changes) { var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; var _options$keyExpr = options.keyExpr, keyExpr = void 0 === _options$keyExpr ? "id" : _options$keyExpr, _options$immutable = options.immutable, immutable = void 0 === _options$immutable ? true : _options$immutable; var keyGetter = (0, _data.compileGetter)(keyExpr); var keyInfo = { key: function() { return keyExpr }, keyOf: function(obj) { return keyGetter(obj) } }; return applyBatch({ keyInfo: keyInfo, data: data, changes: changes, immutable: immutable, disableCache: true, logError: true }) }; exports.createObjectWithChanges = createObjectWithChanges; exports.indexByKey = indexByKey; exports.insert = insert; exports.remove = remove; exports.update = update; var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _config = _interopRequireDefault(__webpack_require__( /*! ../core/config */ 80209)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../core/guid */ 73176)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _errors = __webpack_require__( /*! ./errors */ 18438); var _object = __webpack_require__( /*! ../core/utils/object */ 48013); var _data = __webpack_require__( /*! ../core/utils/data */ 47617); var _utils = __webpack_require__( /*! ./utils */ 16454); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function getItems(keyInfo, items, key, groupCount) { if (groupCount) { return function findItems(keyInfo, items, key, groupCount) { var childItems; var result; if (groupCount) { for (var i = 0; i < items.length; i++) { childItems = items[i].items || items[i].collapsedItems || []; result = findItems(keyInfo, childItems || [], key, groupCount - 1); if (result) { return result } } } else if (indexByKey(keyInfo, items, key) >= 0) { return items } }(keyInfo, items, key, groupCount) || [] } return items } function setDataByKeyMapValue(array, key, data) { if (array._dataByKeyMap) { array._dataByKeyMap[JSON.stringify(key)] = data; array._dataByKeyMapLength += data ? 1 : -1 } } function createObjectWithChanges(target, changes) { var result = function cloneInstanceWithChangedPaths(instance, changes, clonedInstances) { clonedInstances = clonedInstances || new WeakMap; var result = instance ? Object.create(Object.getPrototypeOf(instance)) : {}; if (instance) { clonedInstances.set(instance, result) } var instanceWithoutPrototype = _extends({}, instance); (0, _object.deepExtendArraySafe)(result, instanceWithoutPrototype, true, true); for (var name in instanceWithoutPrototype) { var value = instanceWithoutPrototype[name]; var change = null === changes || void 0 === changes ? void 0 : changes[name]; if ((0, _type.isObject)(value) && !(0, _type.isPlainObject)(value) && (0, _type.isObject)(change) && !clonedInstances.has(value)) { result[name] = cloneInstanceWithChangedPaths(value, change, clonedInstances) } } for (var _name in result) { var prop = result[_name]; if ((0, _type.isObject)(prop) && clonedInstances.has(prop)) { result[_name] = clonedInstances.get(prop) } } return result }(target, changes); return (0, _object.deepExtendArraySafe)(result, changes, true, true) } function applyBatch(_ref) { var keyInfo = _ref.keyInfo, data = _ref.data, changes = _ref.changes, groupCount = _ref.groupCount, useInsertIndex = _ref.useInsertIndex, immutable = _ref.immutable, disableCache = _ref.disableCache, logError = _ref.logError, skipCopying = _ref.skipCopying; var resultItems = true === immutable ? _toConsumableArray(data) : data; changes.forEach((function(item) { var items = "insert" === item.type ? resultItems : getItems(keyInfo, resultItems, item.key, groupCount); !disableCache && function(keyInfo, array) { if (keyInfo.key() && (!array._dataByKeyMap || array._dataByKeyMapLength !== array.length)) { var dataByKeyMap = {}; var arrayLength = array.length; for (var i = 0; i < arrayLength; i++) { dataByKeyMap[JSON.stringify(keyInfo.keyOf(array[i]))] = array[i] } array._dataByKeyMap = dataByKeyMap; array._dataByKeyMapLength = arrayLength } }(keyInfo, items); switch (item.type) { case "update": update(keyInfo, items, item.key, item.data, true, immutable, logError); break; case "insert": insert(keyInfo, items, item.data, useInsertIndex && (0, _type.isDefined)(item.index) ? item.index : -1, true, logError, skipCopying); break; case "remove": remove(keyInfo, items, item.key, true, logError) } })); return resultItems } function getErrorResult(isBatch, logError, errorCode) { return !isBatch ? (0, _utils.rejectedPromise)(_errors.errors.Error(errorCode)) : logError && _errors.errors.log(errorCode) } function update(keyInfo, array, key, data, isBatch, immutable, logError) { var target; var keyExpr = keyInfo.key(); if (keyExpr) { if (function(target, keyOrKeys) { var key; var keys = "string" === typeof keyOrKeys ? keyOrKeys.split() : keyOrKeys.slice(); while (keys.length) { key = keys.shift(); if (key in target) { return true } } return false }(data, keyExpr) && !(0, _utils.keysEqual)(keyExpr, key, keyInfo.keyOf(data))) { return getErrorResult(isBatch, logError, "E4017") } target = function(array, key) { if (array._dataByKeyMap) { return array._dataByKeyMap[JSON.stringify(key)] } }(array, key); if (!target) { var index = indexByKey(keyInfo, array, key); if (index < 0) { return getErrorResult(isBatch, logError, "E4009") } target = array[index]; if (true === immutable && (0, _type.isDefined)(target)) { var newTarget = createObjectWithChanges(target, data); array[index] = newTarget; return !isBatch && (0, _utils.trivialPromise)(newTarget, key) } } } else { target = key }(0, _object.deepExtendArraySafe)(target, data, true); if (!isBatch) { if ((0, _config.default)().useLegacyStoreResult) { return (0, _utils.trivialPromise)(key, data) } else { return (0, _utils.trivialPromise)(target, key) } } } function insert(keyInfo, array, data, index, isBatch, logError, skipCopying) { var keyValue; var keyExpr = keyInfo.key(); var obj = (0, _type.isPlainObject)(data) && !skipCopying ? (0, _extend.extend)({}, data) : data; if (keyExpr) { keyValue = keyInfo.keyOf(obj); if (void 0 === keyValue || "object" === _typeof(keyValue) && (0, _type.isEmptyObject)(keyValue)) { if (Array.isArray(keyExpr)) { throw _errors.errors.Error("E4007") } keyValue = obj[keyExpr] = String(new _guid.default) } else if (void 0 !== array[indexByKey(keyInfo, array, keyValue)]) { return getErrorResult(isBatch, logError, "E4008") } } else { keyValue = obj } if (index >= 0) { array.splice(index, 0, obj) } else { array.push(obj) } setDataByKeyMapValue(array, keyValue, obj); if (!isBatch) { return (0, _utils.trivialPromise)((0, _config.default)().useLegacyStoreResult ? data : obj, keyValue) } } function remove(keyInfo, array, key, isBatch, logError) { var index = indexByKey(keyInfo, array, key); if (index > -1) { array.splice(index, 1); setDataByKeyMapValue(array, key, null) } if (!isBatch) { return (0, _utils.trivialPromise)(key) } else if (index < 0) { return getErrorResult(isBatch, logError, "E4009") } } function indexByKey(keyInfo, array, key) { var keyExpr = keyInfo.key(); if (! function(array, key) { if (array._dataByKeyMap) { return array._dataByKeyMap[JSON.stringify(key)] } return true }(array, key)) { return -1 } for (var i = 0, arrayLength = array.length; i < arrayLength; i++) { if ((0, _utils.keysEqual)(keyExpr, keyInfo.keyOf(array[i]), key)) { return i } } return -1 } }, 88036: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/custom_store.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _utils = __webpack_require__( /*! ./utils */ 16454); var _array_utils = __webpack_require__( /*! ./array_utils */ 60637); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _config = _interopRequireDefault(__webpack_require__( /*! ../core/config */ 80209)); var _errors = __webpack_require__( /*! ./errors */ 18438); var _abstract_store = _interopRequireDefault(__webpack_require__( /*! ./abstract_store */ 67403)); var _array_query = _interopRequireDefault(__webpack_require__( /*! ./array_query */ 35042)); var _store_helper = _interopRequireDefault(__webpack_require__( /*! ./store_helper */ 99236)); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function isPromise(obj) { return obj && (0, _type.isFunction)(obj.then) } function trivialPromise(value) { return (new _deferred.Deferred).resolve(value).promise() } function ensureRequiredFuncOption(name, obj) { if (!(0, _type.isFunction)(obj)) { throw _errors.errors.Error("E4011", name) } } function throwInvalidUserFuncResult(name) { throw _errors.errors.Error("E4012", name) } function createUserFuncFailureHandler(pendingDeferred) { function errorMessageFromXhr(promiseArguments) { var xhr = promiseArguments[0]; var textStatus = promiseArguments[1]; if (!xhr || !xhr.getResponseHeader) { return null } return (0, _utils.errorMessageFromXhr)(xhr, textStatus) } return function(arg) { var error; if (arg instanceof Error) { error = arg } else { error = new Error(errorMessageFromXhr(arguments) || arg && String(arg) || "Unknown error") } if (error.message !== _utils.XHR_ERROR_UNLOAD) { pendingDeferred.reject(error) } } } function invokeUserLoad(store, options) { var userFunc = store._loadFunc; var userResult; ensureRequiredFuncOption("load", userFunc); userResult = userFunc.apply(store, [options]); if (Array.isArray(userResult)) { userResult = trivialPromise(userResult) } else if (null === userResult || void 0 === userResult) { userResult = trivialPromise([]) } else if (!isPromise(userResult)) { throwInvalidUserFuncResult("load") } return (0, _deferred.fromPromise)(userResult) } function runRawLoad(pendingDeferred, store, userFuncOptions, continuation) { if (store.__rawData) { continuation(store.__rawData) } else { var loadPromise = store.__rawDataPromise || invokeUserLoad(store, userFuncOptions); if (store._cacheRawData) { store.__rawDataPromise = loadPromise } loadPromise.always((function() { delete store.__rawDataPromise })).done((function(rawData) { if (store._cacheRawData) { store.__rawData = rawData } continuation(rawData) })).fail(createUserFuncFailureHandler(pendingDeferred)) } } function runRawLoadWithQuery(pendingDeferred, store, options, countOnly) { options = options || {}; var userFuncOptions = {}; if ("userData" in options) { userFuncOptions.userData = options.userData } runRawLoad(pendingDeferred, store, userFuncOptions, (function(rawData) { var rawDataQuery = (0, _array_query.default)(rawData, { errorHandler: store._errorHandler }); var itemsQuery; var totalCountQuery; var waitList = []; var items; var totalCount; if (!countOnly) { itemsQuery = _store_helper.default.queryByOptions(rawDataQuery, options); if (itemsQuery === rawDataQuery) { items = rawData.slice(0) } else { waitList.push(itemsQuery.enumerate().done((function(asyncResult) { items = asyncResult }))) } } if (options.requireTotalCount || countOnly) { totalCountQuery = _store_helper.default.queryByOptions(rawDataQuery, options, true); if (totalCountQuery === rawDataQuery) { totalCount = rawData.length } else { waitList.push(totalCountQuery.count().done((function(asyncResult) { totalCount = asyncResult }))) } } _deferred.when.apply(_renderer.default, waitList).done((function() { if (countOnly) { pendingDeferred.resolve(totalCount) } else if (options.requireTotalCount) { pendingDeferred.resolve(items, { totalCount: totalCount }) } else { pendingDeferred.resolve(items) } })).fail((function(x) { pendingDeferred.reject(x) })) })) } var CustomStore = _abstract_store.default.inherit({ ctor: function(options) { options = options || {}; this.callBase(options); this._useDefaultSearch = !!options.useDefaultSearch || "raw" === options.loadMode; this._loadMode = options.loadMode; this._cacheRawData = false !== options.cacheRawData; this._loadFunc = options.load; this._totalCountFunc = options.totalCount; this._byKeyFunc = options.byKey; this._insertFunc = options.insert; this._updateFunc = options.update; this._removeFunc = options.remove }, _clearCache: function() { delete this.__rawData }, createQuery: function() { throw _errors.errors.Error("E4010") }, clearRawDataCache: function() { this._clearCache() }, _totalCountImpl: function(options) { var d = new _deferred.Deferred; if ("raw" === this._loadMode && !this._totalCountFunc) { runRawLoadWithQuery(d, this, options, true) } else { (function(store, options) { var userFunc = store._totalCountFunc; var userResult; if (!(0, _type.isFunction)(userFunc)) { throw _errors.errors.Error("E4021") } userResult = userFunc.apply(store, [options]); if (!isPromise(userResult)) { userResult = Number(userResult); if (!isFinite(userResult)) { throwInvalidUserFuncResult("totalCount") } userResult = trivialPromise(userResult) } return (0, _deferred.fromPromise)(userResult) })(this, options).done((function(count) { d.resolve(Number(count)) })).fail(createUserFuncFailureHandler(d)); d = this._addFailHandlers(d) } return d.promise() }, _pushImpl: function(changes) { if (this.__rawData) { (0, _array_utils.applyBatch)({ keyInfo: this, data: this.__rawData, changes: changes }) } }, _loadImpl: function(options) { var d = new _deferred.Deferred; if ("raw" === this._loadMode) { runRawLoadWithQuery(d, this, options, false) } else { invokeUserLoad(this, options).done((function(data, extra) { d.resolve(data, extra) })).fail(createUserFuncFailureHandler(d)); d = this._addFailHandlers(d) } return d.promise() }, _byKeyImpl: function(key, extraOptions) { var d = new _deferred.Deferred; if (this._byKeyViaLoad()) { this._requireKey(); ! function(pendingDeferred, store, key) { runRawLoad(pendingDeferred, store, {}, (function(rawData) { var keyExpr = store.key(); var item; for (var i = 0, len = rawData.length; i < len; i++) { item = rawData[i]; if ((0, _utils.keysEqual)(keyExpr, store.keyOf(rawData[i]), key)) { pendingDeferred.resolve(item); return } } pendingDeferred.reject(_errors.errors.Error("E4009")) })) }(d, this, key) } else { (function(store, key, extraOptions) { var userFunc = store._byKeyFunc; var userResult; ensureRequiredFuncOption("byKey", userFunc); userResult = userFunc.apply(store, [key, extraOptions]); if (!isPromise(userResult)) { userResult = trivialPromise(userResult) } return (0, _deferred.fromPromise)(userResult) })(this, key, extraOptions).done((function(obj) { d.resolve(obj) })).fail(createUserFuncFailureHandler(d)) } return d.promise() }, _byKeyViaLoad: function() { return "raw" === this._loadMode && !this._byKeyFunc }, _insertImpl: function(values) { var that = this; var userFunc = that._insertFunc; var userResult; var d = new _deferred.Deferred; ensureRequiredFuncOption("insert", userFunc); userResult = userFunc.apply(that, [values]); if (!isPromise(userResult)) { userResult = trivialPromise(userResult) }(0, _deferred.fromPromise)(userResult).done((function(serverResponse) { if ((0, _config.default)().useLegacyStoreResult) { d.resolve(values, serverResponse) } else { d.resolve(serverResponse || values, that.keyOf(serverResponse)) } })).fail(createUserFuncFailureHandler(d)); return d.promise() }, _updateImpl: function(key, values) { var userFunc = this._updateFunc; var userResult; var d = new _deferred.Deferred; ensureRequiredFuncOption("update", userFunc); userResult = userFunc.apply(this, [key, values]); if (!isPromise(userResult)) { userResult = trivialPromise(userResult) }(0, _deferred.fromPromise)(userResult).done((function(serverResponse) { if ((0, _config.default)().useLegacyStoreResult) { d.resolve(key, values) } else { d.resolve(serverResponse || values, key) } })).fail(createUserFuncFailureHandler(d)); return d.promise() }, _removeImpl: function(key) { var userFunc = this._removeFunc; var userResult; var d = new _deferred.Deferred; ensureRequiredFuncOption("remove", userFunc); userResult = userFunc.apply(this, [key]); if (!isPromise(userResult)) { userResult = trivialPromise() }(0, _deferred.fromPromise)(userResult).done((function() { d.resolve(key) })).fail(createUserFuncFailureHandler(d)); return d.promise() } }); var _default = CustomStore; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 33546: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/data_source.js ***! \*****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _data_source = __webpack_require__( /*! ./data_source/data_source */ 85273); var _default = _data_source.DataSource; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 85273: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/data_source/data_source.js ***! \*****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.DataSource = void 0; var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _utils = __webpack_require__( /*! ../utils */ 16454); var _array_utils = __webpack_require__( /*! ../array_utils */ 60637); var _custom_store = _interopRequireDefault(__webpack_require__( /*! ../custom_store */ 88036)); var _events_strategy = __webpack_require__( /*! ../../core/events_strategy */ 80566); var _errors = __webpack_require__( /*! ../errors */ 18438); var _queue = __webpack_require__( /*! ../../core/utils/queue */ 59504); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _operation_manager = _interopRequireDefault(__webpack_require__( /*! ./operation_manager */ 88665)); var _utils2 = __webpack_require__( /*! ./utils */ 9234); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var DataSource = _class.default.inherit({ ctor: function(options) { var _options$reshapeOnPus, _this = this; options = (0, _utils2.normalizeDataSourceOptions)(options); this._eventsStrategy = new _events_strategy.EventsStrategy(this, { syncStrategy: true }); this._store = options.store; this._changedTime = 0; var needThrottling = 0 !== options.pushAggregationTimeout; if (needThrottling) { var throttlingTimeout = void 0 === options.pushAggregationTimeout ? function() { return 5 * _this._changedTime } : options.pushAggregationTimeout; var pushDeferred; var lastPushWaiters; var throttlingPushHandler = (0, _utils.throttleChanges)((function(changes) { pushDeferred.resolve(); var storePushPending = _deferred.when.apply(void 0, _toConsumableArray(lastPushWaiters)); storePushPending.done((function() { return _this._onPush(changes) })); lastPushWaiters = void 0; pushDeferred = void 0 }), throttlingTimeout); this._onPushHandler = function(args) { _this._aggregationTimeoutId = throttlingPushHandler(args.changes); if (!pushDeferred) { pushDeferred = new _deferred.Deferred } lastPushWaiters = args.waitFor; args.waitFor.push(pushDeferred.promise()) }; this._store.on("beforePush", this._onPushHandler) } else { this._onPushHandler = function(changes) { return _this._onPush(changes) }; this._store.on("push", this._onPushHandler) } this._storeLoadOptions = this._extractLoadOptions(options); this._mapFunc = options.map; this._postProcessFunc = options.postProcess; this._pageIndex = void 0 !== options.pageIndex ? options.pageIndex : 0; this._pageSize = void 0 !== options.pageSize ? options.pageSize : 20; this._loadingCount = 0; this._loadQueue = this._createLoadQueue(); this._searchValue = "searchValue" in options ? options.searchValue : null; this._searchOperation = options.searchOperation || "contains"; this._searchExpr = options.searchExpr; this._paginate = options.paginate; this._reshapeOnPush = null !== (_options$reshapeOnPus = options.reshapeOnPush) && void 0 !== _options$reshapeOnPus ? _options$reshapeOnPus : false; (0, _iterator.each)(["onChanged", "onLoadError", "onLoadingChanged", "onCustomizeLoadResult", "onCustomizeStoreLoadOptions"], (function(_, optionName) { if (optionName in options) { _this.on(optionName.substr(2, 1).toLowerCase() + optionName.substr(3), options[optionName]) } })); this._operationManager = new _operation_manager.default; this._init() }, _init: function() { this._items = []; this._userData = {}; this._totalCount = -1; this._isLoaded = false; if (!(0, _type.isDefined)(this._paginate)) { this._paginate = !this.group() } this._isLastPage = !this._paginate }, dispose: function() { var _this$_delayedLoadTas; this._store.off("beforePush", this._onPushHandler); this._store.off("push", this._onPushHandler); this._eventsStrategy.dispose(); clearTimeout(this._aggregationTimeoutId); null === (_this$_delayedLoadTas = this._delayedLoadTask) || void 0 === _this$_delayedLoadTas ? void 0 : _this$_delayedLoadTas.abort(); this._operationManager.cancelAll(); delete this._store; delete this._items; delete this._delayedLoadTask; this._disposed = true }, _extractLoadOptions: function(options) { var result = {}; var names = ["sort", "filter", "langParams", "select", "group", "requireTotalCount"]; var customNames = this._store._customLoadOptions(); if (customNames) { names = names.concat(customNames) }(0, _iterator.each)(names, (function() { result[this] = options[this] })); return result }, loadOptions: function() { return this._storeLoadOptions }, items: function() { return this._items }, pageIndex: function(newIndex) { if (!(0, _type.isNumeric)(newIndex)) { return this._pageIndex } this._pageIndex = newIndex; this._isLastPage = !this._paginate }, paginate: function(value) { if (!(0, _type.isBoolean)(value)) { return this._paginate } if (this._paginate !== value) { this._paginate = value; this.pageIndex(0) } }, pageSize: function(value) { if (!(0, _type.isNumeric)(value)) { return this._pageSize } this._pageSize = value }, isLastPage: function() { return this._isLastPage }, generateStoreLoadOptionAccessor: function(optionName) { var _this2 = this; return function(args) { var normalizedArgs = (0, _utils2.normalizeStoreLoadOptionAccessorArguments)(args); if (void 0 === normalizedArgs) { return _this2._storeLoadOptions[optionName] } _this2._storeLoadOptions[optionName] = normalizedArgs } }, sort: function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] } return this.generateStoreLoadOptionAccessor("sort")(args) }, filter: function() { var newFilter = (0, _utils2.normalizeStoreLoadOptionAccessorArguments)(arguments); if (void 0 === newFilter) { return this._storeLoadOptions.filter } this._storeLoadOptions.filter = newFilter; this.pageIndex(0) }, group: function() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2] } return this.generateStoreLoadOptionAccessor("group")(args) }, select: function() { for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3] } return this.generateStoreLoadOptionAccessor("select")(args) }, requireTotalCount: function(value) { if (!(0, _type.isBoolean)(value)) { return this._storeLoadOptions.requireTotalCount } this._storeLoadOptions.requireTotalCount = value }, searchValue: function(value) { if (arguments.length < 1) { return this._searchValue } this._searchValue = value; this.pageIndex(0) }, searchOperation: function(op) { if (!(0, _type.isString)(op)) { return this._searchOperation } this._searchOperation = op; this.pageIndex(0) }, searchExpr: function(expr) { var argc = arguments.length; if (0 === argc) { return this._searchExpr } if (argc > 1) { expr = [].slice.call(arguments) } this._searchExpr = expr; this.pageIndex(0) }, store: function() { return this._store }, key: function() { var _this$_store; return null === (_this$_store = this._store) || void 0 === _this$_store ? void 0 : _this$_store.key() }, totalCount: function() { return this._totalCount }, isLoaded: function() { return this._isLoaded }, isLoading: function() { return this._loadingCount > 0 }, beginLoading: function() { this._changeLoadingCount(1) }, endLoading: function() { this._changeLoadingCount(-1) }, _createLoadQueue: function() { return (0, _queue.create)() }, _changeLoadingCount: function(increment) { var oldLoading = this.isLoading(); this._loadingCount += increment; var newLoading = this.isLoading(); if (oldLoading ^ newLoading) { this._eventsStrategy.fireEvent("loadingChanged", [newLoading]) } }, _scheduleLoadCallbacks: function(deferred) { var _this3 = this; this.beginLoading(); deferred.always((function() { _this3.endLoading() })) }, _scheduleFailCallbacks: function(deferred) { var _this4 = this; deferred.fail((function() { for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4] } if (args[0] === _utils2.CANCELED_TOKEN) { return } _this4._eventsStrategy.fireEvent("loadError", args) })) }, _fireChanged: function(args) { var date = new Date; this._eventsStrategy.fireEvent("changed", args); this._changedTime = new Date - date }, _scheduleChangedCallbacks: function(deferred) { var _this5 = this; deferred.done((function() { return _this5._fireChanged() })) }, loadSingle: function(propName, propValue) { var _this6 = this; var d = new _deferred.Deferred; var key = this.key(); var store = this._store; var options = this._createStoreLoadOptions(); var handleDone = function(data) { var isEmptyArray = Array.isArray(data) && !data.length; if (!(0, _type.isDefined)(data) || isEmptyArray) { d.reject(new _errors.errors.Error("E4009")) } else { if (!Array.isArray(data)) { data = [data] } d.resolve(_this6._applyMapFunction(data)[0]) } }; this._scheduleFailCallbacks(d); if (arguments.length < 2) { propValue = propName; propName = key } delete options.skip; delete options.group; delete options.refresh; delete options.pageIndex; delete options.searchString; var shouldForceByKey = function() { return store instanceof _custom_store.default && !store._byKeyViaLoad() }; (function() { if (propName === key || shouldForceByKey()) { return store.byKey(propValue, options) } options.take = 1; options.filter = options.filter ? [options.filter, [propName, propValue]] : [propName, propValue]; return store.load(options) })().fail(d.reject).done(handleDone); return d.promise() }, load: function() { var _this7 = this; var d = new _deferred.Deferred; var loadTask = function() { if (_this7._disposed) { return } if (!(0, _utils2.isPending)(d)) { return } return _this7._loadFromStore(loadOperation, d) }; this._scheduleLoadCallbacks(d); this._scheduleFailCallbacks(d); this._scheduleChangedCallbacks(d); var loadOperation = this._createLoadOperation(d); this._eventsStrategy.fireEvent("customizeStoreLoadOptions", [loadOperation]); this._loadQueue.add((function() { if ("number" === typeof loadOperation.delay) { _this7._delayedLoadTask = (0, _common.executeAsync)(loadTask, loadOperation.delay) } else { loadTask() } return d.promise() })); return d.promise({ operationId: loadOperation.operationId }) }, _onPush: function(changes) { var _this8 = this; if (this._reshapeOnPush) { this.load() } else { var changingArgs = { changes: changes }; this._eventsStrategy.fireEvent("changing", [changingArgs]); var group = this.group(); var items = this.items(); var groupLevel = 0; var dataSourceChanges = this.paginate() || group ? changes.filter((function(item) { return "update" === item.type })) : changes; if (group) { groupLevel = Array.isArray(group) ? group.length : 1 } if (this._mapFunc) { dataSourceChanges.forEach((function(item) { if ("insert" === item.type) { item.data = _this8._mapFunc(item.data) } })) } if (changingArgs.postProcessChanges) { dataSourceChanges = changingArgs.postProcessChanges(dataSourceChanges) }(0, _array_utils.applyBatch)({ keyInfo: this.store(), data: items, changes: dataSourceChanges, groupCount: groupLevel, useInsertIndex: true }); this._fireChanged([{ changes: changes }]) } }, _createLoadOperation: function(deferred) { var _this9 = this; var operationId = this._operationManager.add(deferred); var storeLoadOptions = this._createStoreLoadOptions(); if (this._store && !(0, _type.isEmptyObject)(null === storeLoadOptions || void 0 === storeLoadOptions ? void 0 : storeLoadOptions.langParams)) { this._store._langParams = _extends({}, this._store._langParams, storeLoadOptions.langParams) } deferred.always((function() { return _this9._operationManager.remove(operationId) })); return { operationId: operationId, storeLoadOptions: storeLoadOptions } }, reload: function() { var store = this.store(); store._clearCache(); this._init(); return this.load() }, cancel: function(operationId) { return this._operationManager.cancel(operationId) }, cancelAll: function() { return this._operationManager.cancelAll() }, _addSearchOptions: function(storeLoadOptions) { if (this._disposed) { return } if (this.store()._useDefaultSearch) { this._addSearchFilter(storeLoadOptions) } else { storeLoadOptions.searchOperation = this._searchOperation; storeLoadOptions.searchValue = this._searchValue; storeLoadOptions.searchExpr = this._searchExpr } }, _createStoreLoadOptions: function() { var result = (0, _extend.extend)({}, this._storeLoadOptions); this._addSearchOptions(result); if (this._paginate) { if (this._pageSize) { result.skip = this._pageIndex * this._pageSize; result.take = this._pageSize } } result.userData = this._userData; return result }, _addSearchFilter: function(storeLoadOptions) { var value = this._searchValue; var op = this._searchOperation; var selector = this._searchExpr; var searchFilter = []; if (!value) { return } if (!selector) { selector = "this" } if (!Array.isArray(selector)) { selector = [selector] }(0, _iterator.each)(selector, (function(i, item) { if (searchFilter.length) { searchFilter.push("or") } searchFilter.push([item, op, value]) })); if (storeLoadOptions.filter) { storeLoadOptions.filter = [searchFilter, storeLoadOptions.filter] } else { storeLoadOptions.filter = searchFilter } }, _loadFromStore: function(loadOptions, pendingDeferred) { var _this10 = this; var handleSuccess = function(data, extra) { if (_this10._disposed) { return } if (!(0, _utils2.isPending)(pendingDeferred)) { return } var loadResult = (0, _extend.extend)((0, _utils2.normalizeLoadResult)(data, extra), loadOptions); _this10._eventsStrategy.fireEvent("customizeLoadResult", [loadResult]); (0, _deferred.when)(loadResult.data).done((function(data) { loadResult.data = data; _this10._processStoreLoadResult(loadResult, pendingDeferred) })).fail(pendingDeferred.reject) }; if (loadOptions.data) { return (new _deferred.Deferred).resolve(loadOptions.data).done(handleSuccess) } return this.store().load(loadOptions.storeLoadOptions).done(handleSuccess).fail(pendingDeferred.reject) }, _processStoreLoadResult: function(loadResult, pendingDeferred) { var _this11 = this; var data = loadResult.data; var extra = loadResult.extra; var storeLoadOptions = loadResult.storeLoadOptions; var resolvePendingDeferred = function() { _this11._isLoaded = true; _this11._totalCount = isFinite(extra.totalCount) ? extra.totalCount : -1; return pendingDeferred.resolve(data, extra) }; if (this._disposed) { return } data = this._applyPostProcessFunction(this._applyMapFunction(data)); if (!(0, _type.isObject)(extra)) { extra = {} } this._items = data; if (!data.length || !this._paginate || this._pageSize && data.length < this._pageSize) { this._isLastPage = true } if (storeLoadOptions.requireTotalCount && !isFinite(extra.totalCount)) { void _this11.store().totalCount(storeLoadOptions).done((function(count) { extra.totalCount = count; resolvePendingDeferred() })).fail(pendingDeferred.reject) } else { resolvePendingDeferred() } }, _applyMapFunction: function(data) { if (this._mapFunc) { return (0, _utils2.mapDataRespectingGrouping)(data, this._mapFunc, this.group()) } return data }, _applyPostProcessFunction: function(data) { if (this._postProcessFunc) { return this._postProcessFunc(data) } return data }, on: function(eventName, eventHandler) { this._eventsStrategy.on(eventName, eventHandler); return this }, off: function(eventName, eventHandler) { this._eventsStrategy.off(eventName, eventHandler); return this } }); exports.DataSource = DataSource }, 88665: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/data_source/operation_manager.js ***! \***********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _utils = __webpack_require__( /*! ./utils */ 9234); var OperationManager = function() { function OperationManager() { this._counter = -1; this._deferreds = {} } var _proto = OperationManager.prototype; _proto.add = function(deferred) { this._counter++; this._deferreds[this._counter] = deferred; return this._counter }; _proto.remove = function(operationId) { return delete this._deferreds[operationId] }; _proto.cancel = function(operationId) { if (operationId in this._deferreds) { this._deferreds[operationId].reject(_utils.CANCELED_TOKEN); return true } return false }; _proto.cancelAll = function() { while (this._counter > -1) { this.cancel(this._counter); this._counter-- } }; return OperationManager }(); exports.default = OperationManager; module.exports = exports.default; module.exports.default = exports.default }, 9234: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/data_source/utils.js ***! \***********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.normalizeStoreLoadOptionAccessorArguments = exports.normalizeLoadResult = exports.normalizeDataSourceOptions = exports.mapDataRespectingGrouping = exports.isPending = exports.CANCELED_TOKEN = void 0; var _ajax = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/ajax */ 37208)); var _abstract_store = _interopRequireDefault(__webpack_require__( /*! ../abstract_store */ 67403)); var _array_store = _interopRequireDefault(__webpack_require__( /*! ../array_store */ 26562)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _custom_store = _interopRequireDefault(__webpack_require__( /*! ../custom_store */ 88036)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _utils = __webpack_require__( /*! ../utils */ 16454); var _excluded = ["items"]; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } exports.CANCELED_TOKEN = "canceled"; exports.isPending = function(deferred) { return "pending" === deferred.state() }; exports.normalizeStoreLoadOptionAccessorArguments = function(originalArguments) { switch (originalArguments.length) { case 0: return; case 1: return originalArguments[0] } return [].slice.call(originalArguments) }; var mapGroup = function(group, level, mapper) { return (0, _iterator.map)(group, (function(item) { item.items; var restItem = _objectWithoutProperties(item, _excluded); return _extends({}, restItem, { items: mapRecursive(item.items, level - 1, mapper) }) })) }; var mapRecursive = function(items, level, mapper) { if (!Array.isArray(items)) { return items } return level ? mapGroup(items, level, mapper) : (0, _iterator.map)(items, mapper) }; exports.mapDataRespectingGrouping = function(items, mapper, groupInfo) { var level = groupInfo ? (0, _utils.normalizeSortingInfo)(groupInfo).length : 0; return mapRecursive(items, level, mapper) }; exports.normalizeLoadResult = function(data, extra) { var _data; if (null !== (_data = data) && void 0 !== _data && _data.data) { extra = data; data = data.data } if (!Array.isArray(data)) { data = [data] } return { data: data, extra: extra } }; var createCustomStoreFromUrl = function(url, normalizationOptions) { return new _custom_store.default({ load: function() { return _ajax.default.sendRequest({ url: url, dataType: "json" }) }, loadMode: null === normalizationOptions || void 0 === normalizationOptions ? void 0 : normalizationOptions.fromUrlLoadMode }) }; exports.normalizeDataSourceOptions = function(options, normalizationOptions) { var store; if ("string" === typeof options) { options = { paginate: false, store: createCustomStoreFromUrl(options, normalizationOptions) } } if (void 0 === options) { options = [] } if (Array.isArray(options) || options instanceof _abstract_store.default) { options = { store: options } } else { options = (0, _extend.extend)({}, options) } if (void 0 === options.store) { options.store = [] } store = options.store; if ("load" in options) { store = function(options) { var storeConfig = {}; (0, _iterator.each)(["useDefaultSearch", "key", "load", "loadMode", "cacheRawData", "byKey", "lookup", "totalCount", "insert", "update", "remove"], (function() { storeConfig[this] = options[this]; delete options[this] })); return new _custom_store.default(storeConfig) }(options) } else if (Array.isArray(store)) { store = new _array_store.default(store) } else if ((0, _type.isPlainObject)(store)) { store = function(storeConfig) { var alias = storeConfig.type; delete storeConfig.type; return _abstract_store.default.create(alias, storeConfig) }((0, _extend.extend)({}, store)) } options.store = store; return options } }, 8162: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/endpoint_selector.js ***! \***********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _errors = (obj = __webpack_require__( /*! ../core/errors */ 17381), obj && obj.__esModule ? obj : { default: obj }); var obj; var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var window = (0, _window.getWindow)(); var IS_WINJS_ORIGIN; var IS_LOCAL_ORIGIN; var EndpointSelector = function(config) { this.config = config; IS_WINJS_ORIGIN = "ms-appx:" === window.location.protocol; IS_LOCAL_ORIGIN = (url = window.location.hostname, /^(localhost$|127\.)/i.test(url)); var url }; EndpointSelector.prototype = { urlFor: function(key) { var bag = this.config[key]; if (!bag) { throw _errors.default.Error("E0006") } if (bag.production) { if (IS_WINJS_ORIGIN && !Debug.debuggerEnabled || !IS_WINJS_ORIGIN && !IS_LOCAL_ORIGIN) { return bag.production } } return bag.local } }; var _default = EndpointSelector; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 18438: /*!************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/errors.js ***! \************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.setErrorHandler = exports.handleError = exports.errors = exports.errorHandler = void 0; var _error = _interopRequireDefault(__webpack_require__( /*! ../core/utils/error */ 95640)); var _errors = _interopRequireDefault(__webpack_require__( /*! ../core/errors */ 17381)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var errors = (0, _error.default)(_errors.default.ERROR_MESSAGES, { E4000: "[DevExpress.data]: {0}", E4001: "Unknown aggregating function is detected: '{0}'", E4002: "Unsupported OData protocol version is used", E4003: "Unknown filter operation is used: {0}", E4004: "The thenby() method is called before the sortby() method", E4005: "Store requires a key expression for this operation", E4006: "ArrayStore 'data' option must be an array", E4007: "Compound keys cannot be auto-generated", E4008: "Attempt to insert an item with a duplicated key", E4009: "Data item cannot be found", E4010: "CustomStore does not support creating queries", E4011: "Custom Store method is not implemented or is not a function: {0}", E4012: "Custom Store method returns an invalid value: {0}", E4013: "Local Store requires the 'name' configuration option is specified", E4014: "Unknown data type is specified for ODataStore: {0}", E4015: "Unknown entity name or alias is used: {0}", E4016: "The compileSetter(expr) method is called with 'self' passed as a parameter", E4017: "Keys cannot be modified", E4018: "The server has returned a non-numeric value in a response to an item count request", E4019: "Mixing of group operators inside a single group of filter expression is not allowed", E4020: "Unknown store type is detected: {0}", E4021: "The server response does not provide the totalCount value", E4022: "The server response does not provide the groupCount value", E4023: "Could not parse the following XML: {0}", E4024: "String function {0} cannot be used with the data field {1} of type {2}.", W4000: "Data returned from the server has an incorrect structure", W4001: 'The {0} field is listed in both "keyType" and "fieldTypes". The value of "fieldTypes" is used.', W4002: "Data loading has failed for some cells due to the following error: {0}" }); exports.errors = errors; var errorHandler = null; exports.errorHandler = errorHandler; exports.handleError = function(error) { var _errorHandler; null === (_errorHandler = errorHandler) || void 0 === _errorHandler ? void 0 : _errorHandler(error) }; exports.setErrorHandler = function(handler) { return exports.errorHandler = errorHandler = handler } }, 82837: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/local_store.js ***! \*****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _class = _interopRequireDefault(__webpack_require__( /*! ../core/class */ 38377)); var _errors = __webpack_require__( /*! ./errors */ 18438); var _array_store = _interopRequireDefault(__webpack_require__( /*! ./array_store */ 26562)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var abstract = _class.default.abstract; var LocalStoreBackend = _class.default.inherit({ ctor: function(store, storeOptions) { this._store = store; this._dirty = !!storeOptions.data; this.save(); var immediate = this._immediate = storeOptions.immediate; var flushInterval = Math.max(100, storeOptions.flushInterval || 1e4); if (!immediate) { var saveProxy = this.save.bind(this); setInterval(saveProxy, flushInterval); _events_engine.default.on(window, "beforeunload", saveProxy); if (window.cordova) { _dom_adapter.default.listen(_dom_adapter.default.getDocument(), "pause", saveProxy, false) } } }, notifyChanged: function() { this._dirty = true; if (this._immediate) { this.save() } }, load: function() { this._store._array = this._loadImpl(); this._dirty = false }, save: function() { if (!this._dirty) { return } this._saveImpl(this._store._array); this._dirty = false }, _loadImpl: abstract, _saveImpl: abstract }); var DomLocalStoreBackend = LocalStoreBackend.inherit({ ctor: function(store, storeOptions) { var name = storeOptions.name; if (!name) { throw _errors.errors.Error("E4013") } this._key = "dx-data-localStore-" + name; this.callBase(store, storeOptions) }, _loadImpl: function() { var raw = window.localStorage.getItem(this._key); if (raw) { return JSON.parse(raw) } return [] }, _saveImpl: function(array) { if (!array.length) { window.localStorage.removeItem(this._key) } else { window.localStorage.setItem(this._key, JSON.stringify(array)) } } }); var localStoreBackends = { dom: DomLocalStoreBackend }; var LocalStore = _array_store.default.inherit({ ctor: function(options) { if ("string" === typeof options) { options = { name: options } } else { options = options || {} } this.callBase(options); this._backend = new localStoreBackends[options.backend || "dom"](this, options); this._backend.load() }, _clearCache: function() { this._backend.load() }, clear: function() { this.callBase(); this._backend.notifyChanged() }, _insertImpl: function(values) { var b = this._backend; return this.callBase(values).done(b.notifyChanged.bind(b)) }, _updateImpl: function(key, values) { var b = this._backend; return this.callBase(key, values).done(b.notifyChanged.bind(b)) }, _removeImpl: function(key) { var b = this._backend; return this.callBase(key).done(b.notifyChanged.bind(b)) } }, "local"); var _default = LocalStore; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 47256: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/odata/context.js ***! \*******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _errors = __webpack_require__( /*! ../errors */ 18438); var _store = _interopRequireDefault(__webpack_require__( /*! ./store */ 341)); var _request_dispatcher = _interopRequireDefault(__webpack_require__( /*! ./request_dispatcher */ 63081)); var _utils = __webpack_require__( /*! ./utils */ 77869); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); __webpack_require__( /*! ./query_adapter */ 54263); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ODataContext = _class.default.inherit({ ctor: function(options) { var _this = this; this._requestDispatcher = new _request_dispatcher.default(options); this._errorHandler = options.errorHandler; (0, _iterator.each)(options.entities || [], (function(entityAlias, entityOptions) { _this[entityAlias] = new _store.default((0, _extend.extend)({}, options, { url: "".concat(_this._requestDispatcher.url, "/").concat(encodeURIComponent(entityOptions.name || entityAlias)) }, entityOptions)) })) }, get: function(operationName, params) { return this.invoke(operationName, params, "GET") }, invoke: function(operationName) { var params = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; var httpMethod = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "POST"; httpMethod = httpMethod.toLowerCase(); var d = new _deferred.Deferred; var url = "".concat(this._requestDispatcher.url, "/").concat(encodeURIComponent(operationName)); var payload; if (4 === this.version()) { if ("get" === httpMethod) { url = (0, _utils.formatFunctionInvocationUrl)(url, (0, _utils.escapeServiceOperationParams)(params, this.version())); params = null } else if ("post" === httpMethod) { payload = params; params = null } }(0, _deferred.when)(this._requestDispatcher.sendRequest(url, httpMethod, (0, _utils.escapeServiceOperationParams)(params, this.version()), payload)).done((function(r) { if ((0, _type.isPlainObject)(r) && operationName in r) { r = r[operationName] } d.resolve(r) })).fail(this._errorHandler).fail(_errors.handleError).fail(d.reject); return d.promise() }, objectLink: function(entityAlias, key) { var store = this[entityAlias]; if (!store) { throw _errors.errors.Error("E4015", entityAlias) } if (!(0, _type.isDefined)(key)) { return null } return { __metadata: { uri: store._byKeyUrl(key) } } }, version: function() { return this._requestDispatcher.version } }); var _default = ODataContext; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 54263: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/odata/query_adapter.js ***! \*************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.odata = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _config = _interopRequireDefault(__webpack_require__( /*! ../../core/config */ 80209)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _query_adapters = _interopRequireDefault(__webpack_require__( /*! ../query_adapters */ 16135)); var _utils = __webpack_require__( /*! ./utils */ 77869); var _errors = __webpack_require__( /*! ../errors */ 18438); var _utils2 = __webpack_require__( /*! ../utils */ 16454); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var STRING_FUNCTIONS = ["contains", "notcontains", "startswith", "endswith"]; var compileCriteria = (createBinaryOperationFormatter = function(op) { return function(prop, val) { return "".concat(prop, " ").concat(op, " ").concat(val) } }, createStringFuncFormatter = function(op, reverse) { return function(prop, val) { var bag = [op, "("]; if (forceLowerCase) { prop = -1 === prop.indexOf("tolower(") ? "tolower(".concat(prop, ")") : prop; val = val.toLowerCase() } if (reverse) { bag.push(val, ",", prop) } else { bag.push(prop, ",", val) } bag.push(")"); return bag.join("") } }, formatters = { "=": createBinaryOperationFormatter("eq"), "<>": createBinaryOperationFormatter("ne"), ">": createBinaryOperationFormatter("gt"), ">=": createBinaryOperationFormatter("ge"), "<": createBinaryOperationFormatter("lt"), "<=": createBinaryOperationFormatter("le"), startswith: createStringFuncFormatter("startswith"), endswith: createStringFuncFormatter("endswith") }, formattersV2 = (0, _extend.extend)({}, formatters, { contains: createStringFuncFormatter("substringof", true), notcontains: createStringFuncFormatter("not substringof", true) }), formattersV4 = (0, _extend.extend)({}, formatters, { contains: createStringFuncFormatter("contains"), notcontains: createStringFuncFormatter("not contains") }), compileBinary = function(criteria) { var _fieldTypes; criteria = (0, _utils2.normalizeBinaryCriterion)(criteria); var op = criteria[1]; var fieldName = criteria[0]; var fieldType = fieldTypes && fieldTypes[fieldName]; if (fieldType && (name = op, STRING_FUNCTIONS.some((function(funcName) { return funcName === name }))) && "String" !== fieldType) { throw new _errors.errors.Error("E4024", op, fieldName, fieldType) } var name; var formatters = 4 === protocolVersion ? formattersV4 : formattersV2; var formatter = formatters[op.toLowerCase()]; if (!formatter) { throw _errors.errors.Error("E4003", op) } var value = criteria[2]; if (null !== (_fieldTypes = fieldTypes) && void 0 !== _fieldTypes && _fieldTypes[fieldName]) { value = (0, _utils.convertPrimitiveValue)(fieldTypes[fieldName], value) } return formatter((0, _utils.serializePropName)(fieldName), (0, _utils.serializeValue)(value, protocolVersion)) }, compileUnary = function(criteria) { var op = criteria[0]; var crit = compileCore(criteria[1]); if ("!" === op) { return "not (".concat(crit, ")") } throw _errors.errors.Error("E4003", op) }, compileGroup = function(criteria) { var bag = []; var groupOperator; var nextGroupOperator; (0, _iterator.each)(criteria, (function(index, criterion) { if (Array.isArray(criterion)) { if (bag.length > 1 && groupOperator !== nextGroupOperator) { throw new _errors.errors.Error("E4019") } bag.push("(".concat(compileCore(criterion), ")")); groupOperator = nextGroupOperator; nextGroupOperator = "and" } else { nextGroupOperator = (0, _utils2.isConjunctiveOperator)(this) ? "and" : "or" } })); return bag.join(" ".concat(groupOperator, " ")) }, compileCore = function(criteria) { if (Array.isArray(criteria[0])) { return compileGroup(criteria) } if ((0, _utils2.isUnaryOperation)(criteria)) { return compileUnary(criteria) } return compileBinary(criteria) }, function(criteria, version, types, filterToLower) { fieldTypes = types; forceLowerCase = null !== filterToLower && void 0 !== filterToLower ? filterToLower : (0, _config.default)().oDataFilterToLower; protocolVersion = version; return compileCore(criteria) }); var protocolVersion, forceLowerCase, fieldTypes, createBinaryOperationFormatter, createStringFuncFormatter, formatters, formattersV2, formattersV4, compileBinary, compileUnary, compileGroup, compileCore; var createODataQueryAdapter = function(queryOptions) { var _sorting = []; var _criteria = []; var _expand = queryOptions.expand; var _select; var _skip; var _take; var _countQuery; var _oDataVersion = queryOptions.version || 2; var hasSlice = function() { return _skip || void 0 !== _take }; var hasFunction = function hasFunction(criterion) { for (var i = 0; i < criterion.length; i++) { if ((0, _type.isFunction)(criterion[i])) { return true } if (Array.isArray(criterion[i]) && hasFunction(criterion[i])) { return true } } return false }; var requestData = function() { var result = {}; if (!_countQuery) { if (_sorting.length) { result.$orderby = _sorting.join(",") } if (_skip) { result.$skip = _skip } if (void 0 !== _take) { result.$top = _take } result.$select = (0, _utils.generateSelect)(_oDataVersion, _select) || void 0; result.$expand = (0, _utils.generateExpand)(_oDataVersion, _expand, _select) || void 0 } if (_criteria.length) { var criteria = _criteria.length < 2 ? _criteria[0] : _criteria; var fieldTypes = null === queryOptions || void 0 === queryOptions ? void 0 : queryOptions.fieldTypes; var filterToLower = null === queryOptions || void 0 === queryOptions ? void 0 : queryOptions.filterToLower; result.$filter = compileCriteria(criteria, _oDataVersion, fieldTypes, filterToLower) } if (_countQuery) { result.$top = 0 } if (queryOptions.requireTotalCount || _countQuery) { if (4 !== _oDataVersion) { result.$inlinecount = "allpages" } else { result.$count = "true" } } return result }; return { optimize: function(tasks) { var selectIndex = -1; for (var i = 0; i < tasks.length; i++) { if ("select" === tasks[i].name) { selectIndex = i; break } } if (selectIndex < 0 || !(0, _type.isFunction)(tasks[selectIndex].args[0])) { return } var nextTask = tasks[1 + selectIndex]; if (!nextTask || "slice" !== nextTask.name) { return } tasks[1 + selectIndex] = tasks[selectIndex]; tasks[selectIndex] = nextTask }, exec: function(url) { return (0, _utils.sendRequest)(_oDataVersion, { url: url, params: (0, _extend.extend)(requestData(), null === queryOptions || void 0 === queryOptions ? void 0 : queryOptions.params) }, { beforeSend: queryOptions.beforeSend, jsonp: queryOptions.jsonp, withCredentials: queryOptions.withCredentials, countOnly: _countQuery, deserializeDates: queryOptions.deserializeDates, fieldTypes: queryOptions.fieldTypes, isPaged: isFinite(_take) }) }, multiSort: function(args) { var rules; if (hasSlice()) { return false } for (var i = 0; i < args.length; i++) { var getter = args[i][0]; var desc = !!args[i][1]; var rule = void 0; if ("string" !== typeof getter) { return false } rule = (0, _utils.serializePropName)(getter); if (desc) { rule += " desc" } rules = rules || []; rules.push(rule) } _sorting = rules }, slice: function(skipCount, takeCount) { if (hasSlice()) { return false } _skip = skipCount; _take = takeCount }, filter: function(criterion) { if (hasSlice()) { return false } if (!Array.isArray(criterion)) { criterion = [].slice.call(arguments) } if (hasFunction(criterion)) { return false } if (_criteria.length) { _criteria.push("and") } _criteria.push(criterion) }, select: function(expr) { if (_select || (0, _type.isFunction)(expr)) { return false } if (!Array.isArray(expr)) { expr = [].slice.call(arguments) } _select = expr }, count: function() { return _countQuery = true } } }; _query_adapters.default.odata = createODataQueryAdapter; var odata = createODataQueryAdapter; exports.odata = odata }, 63081: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/odata/request_dispatcher.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _utils = __webpack_require__( /*! ./utils */ 77869); __webpack_require__( /*! ./query_adapter */ 54263); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var RequestDispatcher = function() { function RequestDispatcher(options) { options = options || {}; this._url = String(options.url).replace(/\/+$/, ""); this._beforeSend = options.beforeSend; this._jsonp = options.jsonp; this._version = options.version || 2; this._withCredentials = options.withCredentials; this._deserializeDates = options.deserializeDates; this._filterToLower = options.filterToLower } var _proto = RequestDispatcher.prototype; _proto.sendRequest = function(url, method, params, payload) { return (0, _utils.sendRequest)(this.version, { url: url, method: method, params: params || {}, payload: payload }, { beforeSend: this._beforeSend, jsonp: this._jsonp, withCredentials: this._withCredentials, deserializeDates: this._deserializeDates }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(RequestDispatcher, [{ key: "version", get: function() { return this._version } }, { key: "beforeSend", get: function() { return this._beforeSend } }, { key: "url", get: function() { return this._url } }, { key: "jsonp", get: function() { return this._jsonp } }, { key: "filterToLower", get: function() { return this._filterToLower } }]); return RequestDispatcher }(); exports.default = RequestDispatcher; module.exports = exports.default; module.exports.default = exports.default }, 341: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/odata/store.js ***! \*****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _config = _interopRequireDefault(__webpack_require__( /*! ../../core/config */ 80209)); var _utils = __webpack_require__( /*! ./utils */ 77869); var _errors = __webpack_require__( /*! ../errors */ 18438); var _query = _interopRequireDefault(__webpack_require__( /*! ../query */ 96687)); var _abstract_store = _interopRequireDefault(__webpack_require__( /*! ../abstract_store */ 67403)); var _request_dispatcher = _interopRequireDefault(__webpack_require__( /*! ./request_dispatcher */ 63081)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); __webpack_require__( /*! ./query_adapter */ 54263); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var ODataStore = _abstract_store.default.inherit({ ctor: function(options) { this.callBase(options); this._requestDispatcher = new _request_dispatcher.default(options); var key = this.key(); var fieldTypes = options.fieldTypes; var keyType = options.keyType; if (keyType) { var keyTypeIsString = "string" === typeof keyType; if (!key) { key = keyTypeIsString ? "5d46402c-7899-4ea9-bd81-8b73c47c7683" : Object.keys(keyType); this._legacyAnonymousKey = key } if (keyTypeIsString) { keyType = function(key, keyType) { return _defineProperty({}, key, keyType) }(key, keyType) } fieldTypes = function(fieldTypes, keyType) { var result = {}; for (var field in fieldTypes) { result[field] = fieldTypes[field] } for (var keyName in keyType) { if (keyName in result) { if (result[keyName] !== keyType[keyName]) { _errors.errors.log("W4001", keyName) } } else { result[keyName] = keyType[keyName] } } return result }(fieldTypes, keyType) } this._fieldTypes = fieldTypes || {}; if (2 === this.version()) { this._updateMethod = "MERGE" } else { this._updateMethod = "PATCH" } }, _customLoadOptions: function() { return ["expand", "customQueryParams"] }, _byKeyImpl: function(key, extraOptions) { var params = {}; if (extraOptions) { params.$expand = (0, _utils.generateExpand)(this.version(), extraOptions.expand, extraOptions.select) || void 0; params.$select = (0, _utils.generateSelect)(this.version(), extraOptions.select) || void 0 } return this._requestDispatcher.sendRequest(this._byKeyUrl(key), "GET", params) }, createQuery: function(loadOptions) { var _loadOptions$urlOverr; var url; var queryOptions = { adapter: "odata", beforeSend: this._requestDispatcher.beforeSend, errorHandler: this._errorHandler, jsonp: this._requestDispatcher.jsonp, version: this._requestDispatcher.version, withCredentials: this._requestDispatcher._withCredentials, expand: null === loadOptions || void 0 === loadOptions ? void 0 : loadOptions.expand, requireTotalCount: null === loadOptions || void 0 === loadOptions ? void 0 : loadOptions.requireTotalCount, deserializeDates: this._requestDispatcher._deserializeDates, fieldTypes: this._fieldTypes }; url = null !== (_loadOptions$urlOverr = null === loadOptions || void 0 === loadOptions ? void 0 : loadOptions.urlOverride) && void 0 !== _loadOptions$urlOverr ? _loadOptions$urlOverr : this._requestDispatcher.url; if ((0, _type.isDefined)(this._requestDispatcher.filterToLower)) { queryOptions.filterToLower = this._requestDispatcher.filterToLower } if (null !== loadOptions && void 0 !== loadOptions && loadOptions.customQueryParams) { var params = (0, _utils.escapeServiceOperationParams)(null === loadOptions || void 0 === loadOptions ? void 0 : loadOptions.customQueryParams, this.version()); if (4 === this.version()) { url = (0, _utils.formatFunctionInvocationUrl)(url, params) } else { queryOptions.params = params } } return (0, _query.default)(url, queryOptions) }, _insertImpl: function(values) { var _this = this; this._requireKey(); var d = new _deferred.Deferred; (0, _deferred.when)(this._requestDispatcher.sendRequest(this._requestDispatcher.url, "POST", null, values)).done((function(serverResponse) { return d.resolve(serverResponse && !(0, _config.default)().useLegacyStoreResult ? serverResponse : values, _this.keyOf(serverResponse)) })).fail(d.reject); return d.promise() }, _updateImpl: function(key, values) { var d = new _deferred.Deferred; (0, _deferred.when)(this._requestDispatcher.sendRequest(this._byKeyUrl(key), this._updateMethod, null, values)).done((function(serverResponse) { return (0, _config.default)().useLegacyStoreResult ? d.resolve(key, values) : d.resolve(serverResponse || values, key) })).fail(d.reject); return d.promise() }, _removeImpl: function(key) { var d = new _deferred.Deferred; (0, _deferred.when)(this._requestDispatcher.sendRequest(this._byKeyUrl(key), "DELETE")).done((function() { return d.resolve(key) })).fail(d.reject); return d.promise() }, _convertKey: function(value) { var result = value; var fieldTypes = this._fieldTypes; var key = this.key() || this._legacyAnonymousKey; if (Array.isArray(key)) { result = {}; for (var i = 0; i < key.length; i++) { var keyName = key[i]; result[keyName] = (0, _utils.convertPrimitiveValue)(fieldTypes[keyName], value[keyName]) } } else if (fieldTypes[key]) { result = (0, _utils.convertPrimitiveValue)(fieldTypes[key], value) } return result }, _byKeyUrl: function(value) { var baseUrl = this._requestDispatcher.url; var convertedKey = this._convertKey(value); return "".concat(baseUrl, "(").concat(encodeURIComponent((0, _utils.serializeKey)(convertedKey, this.version())), ")") }, version: function() { return this._requestDispatcher.version } }, "odata"); var _default = ODataStore; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 77869: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/odata/utils.js ***! \*****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.serializeValue = exports.serializePropName = exports.serializeKey = exports.sendRequest = exports.keyConverters = exports.generateSelect = exports.generateExpand = exports.formatFunctionInvocationUrl = exports.escapeServiceOperationParams = exports.convertPrimitiveValue = exports.EdmLiteral = void 0; var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _ajax = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/ajax */ 37208)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _errors = __webpack_require__( /*! ../errors */ 18438); var _utils = __webpack_require__( /*! ../utils */ 16454); var _string = __webpack_require__( /*! ../../core/utils/string */ 68752); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } var GUID_REGEX = /^(\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\}{0,1})$/; var VERBOSE_DATE_REGEX = /^\/Date\((-?\d+)((\+|-)?(\d+)?)\)\/$/; var ISO8601_DATE_REGEX = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[-+]{1}\d{2}(:?)(\d{2})?)?$/; var JSON_VERBOSE_MIME_TYPE = "application/json;odata=verbose"; var makeArray = function(value) { return "string" === (0, _type.type)(value) ? value.split() : value }; var hasDot = function(x) { return /\./.test(x) }; var pad = function(text, length, right) { text = String(text); while (text.length < length) { text = right ? "".concat(text, "0") : "0".concat(text) } return text }; var formatISO8601 = function(date, skipZeroTime, skipTimezone) { var bag = []; var padLeft2 = function(text) { return pad(text, 2) }; bag.push(date.getFullYear()); bag.push("-"); bag.push(padLeft2(date.getMonth() + 1)); bag.push("-"); bag.push(padLeft2(date.getDate())); if (!(skipZeroTime && date.getHours() + date.getMinutes() + date.getSeconds() + date.getMilliseconds() < 1)) { bag.push("T"); bag.push(padLeft2(date.getHours())); bag.push(":"); bag.push(padLeft2(date.getMinutes())); bag.push(":"); bag.push(padLeft2(date.getSeconds())); if (date.getMilliseconds()) { bag.push("."); bag.push(pad(date.getMilliseconds(), 3)) } if (!skipTimezone) { bag.push("Z") } } return bag.join("") }; var parseISO8601 = function(isoString) { var result = new Date(60 * new Date(0).getTimezoneOffset() * 1e3); var chunks = isoString.replace("Z", "").split("T"); var date = /(\d{4})-(\d{2})-(\d{2})/.exec(chunks[0]); var time = /(\d{2}):(\d{2}):(\d{2})\.?(\d{0,7})?/.exec(chunks[1]); result.setFullYear(Number(date[1])); result.setMonth(Number(date[2]) - 1); result.setDate(Number(date[3])); if (Array.isArray(time) && time.length) { result.setHours(Number(time[1])); result.setMinutes(Number(time[2])); result.setSeconds(Number(time[3])); var fractional = (time[4] || "").slice(0, 3); fractional = pad(fractional, 3, true); result.setMilliseconds(Number(fractional)) } return result }; var param = function(params) { var result = []; for (var name in params) { result.push(name + "=" + params[name]) } return result.join("&") }; exports.sendRequest = function sendRequest(protocolVersion, request, options) { var deserializeDates = options.deserializeDates, fieldTypes = options.fieldTypes, countOnly = options.countOnly, isPaged = options.isPaged; var d = new _deferred.Deferred; var ajaxOptions = function(protocolVersion, request) { var _options$beforeSend; var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; var formatPayload = function(payload) { return JSON.stringify(payload, (function(key, value) { if (!(this[key] instanceof Date)) { return value } value = formatISO8601(this[key]); switch (protocolVersion) { case 2: return value.substr(0, value.length - 1); case 3: case 4: return value; default: throw _errors.errors.Error("E4002") } })) }; request = (0, _extend.extend)({ async: true, method: "get", url: "", params: {}, payload: null, headers: {}, timeout: 3e4 }, request); null === (_options$beforeSend = options.beforeSend) || void 0 === _options$beforeSend ? void 0 : _options$beforeSend.call(options, request); var _request = request, async = _request.async, timeout = _request.timeout, headers = _request.headers; var _request2 = request, url = _request2.url, method = _request2.method; var jsonp = options.jsonp, withCredentials = options.withCredentials; method = (method || "get").toLowerCase(); var isGet = "get" === method; var useJsonp = isGet && jsonp; var params = (0, _extend.extend)({}, request.params); var ajaxData = isGet ? params : formatPayload(request.payload); var qs = !isGet && param(params); var contentType = !isGet && JSON_VERBOSE_MIME_TYPE; if (qs) { url += (url.indexOf("?") > -1 ? "&" : "?") + qs } if (useJsonp) { ajaxData.$format = "json" } return { url: url, data: ajaxData, dataType: useJsonp ? "jsonp" : "json", jsonp: useJsonp && "$callback", method: method, async: async, timeout: timeout, headers: headers, contentType: contentType, accepts: { json: [JSON_VERBOSE_MIME_TYPE, "text/plain"].join() }, xhrFields: { withCredentials: withCredentials } } }(protocolVersion, request, options); _ajax.default.sendRequest(ajaxOptions).always((function(obj, textStatus) { var transformOptions = { deserializeDates: deserializeDates, fieldTypes: fieldTypes }; var tuple = interpretJsonFormat(obj, textStatus, transformOptions, ajaxOptions); var error = tuple.error, data = tuple.data, count = tuple.count; var nextUrl = tuple.nextUrl; if (error) { if (error.message !== _utils.XHR_ERROR_UNLOAD) { d.reject(error) } } else if (countOnly) { if (isFinite(count)) { d.resolve(count) } else { d.reject(new _errors.errors.Error("E4018")) } } else if (nextUrl && !isPaged) { if (!(url = nextUrl, /^(?:[a-z]+:)?\/{2,2}/i.test(url))) { nextUrl = function(basePath, relativePath) { var part; var baseParts = function(url) { var index = url.indexOf("?"); if (index > -1) { return url.substr(0, index) } return url }(basePath).split("/"); var relativeParts = relativePath.split("/"); baseParts.pop(); while (relativeParts.length) { part = relativeParts.shift(); if (".." === part) { baseParts.pop() } else { baseParts.push(part) } } return baseParts.join("/") }(ajaxOptions.url, nextUrl) } sendRequest(protocolVersion, { url: nextUrl }, options).fail(d.reject).done((function(nextData) { return d.resolve(data.concat(nextData)) })) } else { var extra = isFinite(count) ? { totalCount: count } : void 0; d.resolve(data, extra) } var url })); return d.promise() }; var interpretJsonFormat = function(obj, textStatus, transformOptions, ajaxOptions) { var error = function(obj, textStatus, ajaxOptions) { var _response, _response2, _response3, _response4; if ("nocontent" === textStatus) { return null } var message = "Unknown error"; var response = obj; var httpStatus = 200; var errorData = { requestOptions: ajaxOptions }; if ("success" !== textStatus) { var status = obj.status, responseText = obj.responseText; httpStatus = status; message = (0, _utils.errorMessageFromXhr)(obj, textStatus); try { response = JSON.parse(responseText) } catch (x) {} } var errorObj = (null === (_response = response) || void 0 === _response ? void 0 : _response.then) || (null === (_response2 = response) || void 0 === _response2 ? void 0 : _response2.error) || (null === (_response3 = response) || void 0 === _response3 ? void 0 : _response3["odata.error"]) || (null === (_response4 = response) || void 0 === _response4 ? void 0 : _response4["@odata.error"]); if (errorObj) { message = function(errorObj) { var message; var currentMessage; var currentError = errorObj; if ("message" in errorObj) { var _errorObj$message; message = (null === (_errorObj$message = errorObj.message) || void 0 === _errorObj$message ? void 0 : _errorObj$message.value) || errorObj.message } while (currentError = currentError.innererror || currentError.internalexception) { var _currentMessage; currentMessage = currentError.message; message = null !== (_currentMessage = currentMessage) && void 0 !== _currentMessage ? _currentMessage : message; if (currentError.internalexception && -1 === message.indexOf("inner exception")) { break } } return message }(errorObj) || message; errorData.errorDetails = errorObj; if (200 === httpStatus) { httpStatus = 500 } var customCode = Number(errorObj.code); if (isFinite(customCode) && customCode >= 400) { httpStatus = customCode } } if (httpStatus >= 400 || 0 === httpStatus) { errorData.httpStatus = httpStatus; return (0, _extend.extend)(Error(message), errorData) } return null }(obj, textStatus, ajaxOptions); if (error) { return { error: error } } if (!(0, _type.isPlainObject)(obj)) { return { data: obj } } var value = "d" in obj && (Array.isArray(obj.d) || (0, _type.isObject)(obj.d)) ? interpretVerboseJsonFormat(obj) : interpretLightJsonFormat(obj); transformTypes(value, transformOptions); return value }; var interpretVerboseJsonFormat = function(_ref) { var _data$results; var data = _ref.d; if (!(0, _type.isDefined)(data)) { return { error: Error("Malformed or unsupported JSON response received") } } return { data: null !== (_data$results = data.results) && void 0 !== _data$results ? _data$results : data, nextUrl: data.__next, count: parseInt(data.__count, 10) } }; var interpretLightJsonFormat = function(obj) { var _obj$value; return { data: null !== (_obj$value = obj.value) && void 0 !== _obj$value ? _obj$value : obj, nextUrl: obj["@odata.nextLink"], count: parseInt(obj["@odata.count"], 10) } }; var EdmLiteral = _class.default.inherit({ ctor: function(value) { this._value = value }, valueOf: function() { return this._value } }); exports.EdmLiteral = EdmLiteral; var transformTypes = function transformTypes(obj) { var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; (0, _iterator.each)(obj, (function(key, value) { if (null !== value && "object" === _typeof(value)) { if ("results" in value) { obj[key] = value.results } transformTypes(obj[key], options) } else if ("string" === typeof value) { var fieldTypes = options.fieldTypes, deserializeDates = options.deserializeDates; var canBeGuid = !fieldTypes || "String" !== fieldTypes[key]; if (canBeGuid && GUID_REGEX.test(value)) { obj[key] = new _guid.default(value) } if (false !== deserializeDates) { if (value.match(VERBOSE_DATE_REGEX)) { var date = new Date(Number(RegExp.$1) + 60 * RegExp.$2 * 1e3); obj[key] = new Date(date.valueOf() + 60 * date.getTimezoneOffset() * 1e3) } else if (ISO8601_DATE_REGEX.test(value)) { obj[key] = new Date(parseISO8601(obj[key]).valueOf()) } } } })) }; var serializePropName = function(propName) { return propName instanceof EdmLiteral ? propName.valueOf() : propName.replace(/\./g, "/") }; exports.serializePropName = serializePropName; var serializeValueV2 = function(value) { if (value instanceof Date) { return date = value, "datetime'".concat(formatISO8601(date, true, true), "'") } var date; if (value instanceof _guid.default) { return "guid'".concat(value, "'") } if (value instanceof EdmLiteral) { return value.valueOf() } if ("string" === typeof value) { return function(value) { return "'".concat(value.replace(/'/g, "''"), "'") }(value) } return String(value) }; var serializeValue = function(value, protocolVersion) { switch (protocolVersion) { case 2: case 3: return serializeValueV2(value); case 4: return function serializeValueV4(value) { if (value instanceof Date) { return formatISO8601(value, false, false) } if (value instanceof _guid.default) { return value.valueOf() } if (Array.isArray(value)) { return "[".concat(value.map((function(item) { return serializeValueV4(item) })).join(","), "]") } return serializeValueV2(value) }(value); default: throw _errors.errors.Error("E4002") } }; exports.serializeValue = serializeValue; exports.serializeKey = function(key, protocolVersion) { if ((0, _type.isPlainObject)(key)) { var parts = []; (0, _iterator.each)(key, (function(k, v) { return parts.push("".concat(serializePropName(k), "=").concat(serializeValue(v, protocolVersion))) })); return parts.join() } return serializeValue(key, protocolVersion) }; var keyConverters = { String: function(value) { return "".concat(value) }, Int32: function(value) { return Math.floor(value) }, Int64: function(value) { return value instanceof EdmLiteral ? value : new EdmLiteral("".concat(value, "L")) }, Guid: function(value) { return value instanceof _guid.default ? value : new _guid.default(value) }, Boolean: function(value) { return !!value }, Single: function(value) { return value instanceof EdmLiteral ? value : new EdmLiteral(value + "f") }, Decimal: function(value) { return value instanceof EdmLiteral ? value : new EdmLiteral(value + "m") } }; exports.keyConverters = keyConverters; exports.convertPrimitiveValue = function(type, value) { if (null === value) { return null } var converter = keyConverters[type]; if (!converter) { throw _errors.errors.Error("E4014", type) } return converter(value) }; exports.generateSelect = function(oDataVersion, select) { if (!select) { return } return oDataVersion < 4 ? serializePropName(select.join()) : (0, _common.grep)(select, hasDot, true).join() }; var format = function(hash) { var result = []; (0, _iterator.each)(hash, (function(key, value) { return result.push("".concat(key).concat(function formatCore(hash) { var result = ""; var selectValue = []; var expandValue = []; (0, _iterator.each)(hash, (function(key, value) { if (Array.isArray(value)) { [].push.apply(selectValue, value) } if ((0, _type.isPlainObject)(value)) { expandValue.push("".concat(key).concat(formatCore(value))) } })); if (selectValue.length || expandValue.length) { result += "("; if (selectValue.length) { result += "$select=".concat((0, _iterator.map)(selectValue, serializePropName).join()) } if (expandValue.length) { if (selectValue.length) { result += ";" } result += "$expand=".concat((0, _iterator.map)(expandValue, serializePropName).join()) } result += ")" } return result }(value))) })); return result.join() }; var parseTree = function(exprs, root, stepper) { return (0, _iterator.each)(exprs, (function(_, x) { return function parseCore(exprParts, root, stepper) { var result = stepper(root, exprParts.shift(), exprParts); if (false === result) { return } parseCore(exprParts, result, stepper) }(x.split("."), root, stepper) })) }; exports.generateExpand = function(oDataVersion, expand, select) { return oDataVersion < 4 ? function(expand, select) { var hash = {}; if (expand) { (0, _iterator.each)(makeArray(expand), (function() { hash[serializePropName(this)] = 1 })) } if (select) { (0, _iterator.each)(makeArray(select), (function() { var path = this.split("."); if (path.length < 2) { return } path.pop(); hash[serializePropName(path.join("."))] = 1 })) } return (0, _iterator.map)(hash, (function(_, v) { return v })).join() }(expand, select) : function(expand, select) { var hash = {}; if (expand || select) { if (expand) { parseTree(makeArray(expand), hash, (function(node, key, path) { node[key] = node[key] || {}; return !path.length ? false : node[key] })) } if (select) { parseTree((0, _common.grep)(makeArray(select), hasDot), hash, (function(node, key, path) { if (!path.length) { node[key] = node[key] || []; node[key].push(key); return false } return node[key] = node[key] || {} })) } return format(hash) } }(expand, select) }; exports.formatFunctionInvocationUrl = function(baseUrl, args) { return (0, _string.format)("{0}({1})", baseUrl, (0, _iterator.map)(args || {}, (function(value, key) { return (0, _string.format)("{0}={1}", key, value) })).join(",")) }; exports.escapeServiceOperationParams = function(params, version) { if (!params) { return params } var result = {}; (0, _iterator.each)(params, (function(k, v) { result[k] = serializeValue(v, version) })); return result } }, 96687: /*!***********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/query.js ***! \***********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _query_implementation = __webpack_require__( /*! ./query_implementation */ 77549); var _default = function() { var impl = Array.isArray(arguments[0]) ? "array" : "remote"; return _query_implementation.queryImpl[impl].apply(this, arguments) }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 16135: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/query_adapters.js ***! \********************************************************************/ function(module, exports) { exports.default = void 0; exports.default = {}; module.exports = exports.default; module.exports.default = exports.default }, 77549: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/query_implementation.js ***! \**************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.queryImpl = void 0; var _array_query = _interopRequireDefault(__webpack_require__( /*! ./array_query */ 35042)); var _remote_query = _interopRequireDefault(__webpack_require__( /*! ./remote_query */ 41428)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var queryImpl = { array: _array_query.default, remote: _remote_query.default }; exports.queryImpl = queryImpl }, 41428: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/remote_query.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _query_adapters = _interopRequireDefault(__webpack_require__( /*! ./query_adapters */ 16135)); var _errors = __webpack_require__( /*! ./errors */ 18438); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _array_query = _interopRequireDefault(__webpack_require__( /*! ./array_query */ 35042)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _default = function remoteQueryImpl(url, queryOptions, tasks) { tasks = tasks || []; queryOptions = queryOptions || {}; var createTask = function(name, args) { return { name: name, args: args } }; var exec = function(executorTask) { var d = new _deferred.Deferred; var _adapterFactory; var _adapter; var _taskQueue; var _currentTask; var _mergedSortArgs; var rejectWithNotify = function(error) { var handler = queryOptions.errorHandler; if (handler) { handler(error) }(0, _errors.handleError)(error); d.reject(error) }; function mergeSortTask(task) { switch (task.name) { case "sortBy": _mergedSortArgs = [task.args]; return true; case "thenBy": if (!_mergedSortArgs) { throw _errors.errors.Error("E4004") } _mergedSortArgs.push(task.args); return true } return false } try { _adapterFactory = queryOptions.adapter; if (!(0, _type.isFunction)(_adapterFactory)) { _adapterFactory = _query_adapters.default[_adapterFactory] } _adapter = _adapterFactory(queryOptions); _taskQueue = [].concat(tasks).concat(executorTask); var optimize = _adapter.optimize; if (optimize) { optimize(_taskQueue) } while (_taskQueue.length) { _currentTask = _taskQueue[0]; if (!mergeSortTask(_currentTask)) { if (_mergedSortArgs) { _taskQueue.unshift(createTask("multiSort", [_mergedSortArgs])); _mergedSortArgs = null; continue } if ("enumerate" !== String(_currentTask.name)) { if (!_adapter[_currentTask.name] || false === _adapter[_currentTask.name].apply(_adapter, _currentTask.args)) { break } } } _taskQueue.shift() }! function() { var head = _taskQueue[0]; var unmergedTasks = []; if (head && "multiSort" === head.name) { _taskQueue.shift(); (0, _iterator.each)(head.args[0], (function() { unmergedTasks.push(createTask(unmergedTasks.length ? "thenBy" : "sortBy", this)) })) } _taskQueue = unmergedTasks.concat(_taskQueue) }(); _adapter.exec(url).done((function(result, extra) { if (!_taskQueue.length) { d.resolve(result, extra) } else { var clientChain = (0, _array_query.default)(result, { errorHandler: queryOptions.errorHandler }); (0, _iterator.each)(_taskQueue, (function() { clientChain = clientChain[this.name].apply(clientChain, this.args) })); clientChain.done(d.resolve).fail(d.reject) } })).fail(rejectWithNotify) } catch (x) { rejectWithNotify(x) } return d.promise() }; var query = {}; (0, _iterator.each)(["sortBy", "thenBy", "filter", "slice", "select", "groupBy"], (function() { var name = String(this); query[name] = function() { return remoteQueryImpl(url, queryOptions, tasks.concat(createTask(name, arguments))) } })); (0, _iterator.each)(["count", "min", "max", "sum", "avg", "aggregate", "enumerate"], (function() { var name = String(this); query[name] = function() { return exec.call(this, createTask(name, arguments)) } })); return query }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 99236: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/store_helper.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _array_query = (obj = __webpack_require__( /*! ./array_query */ 35042), obj && obj.__esModule ? obj : { default: obj }); var obj; var _utils = __webpack_require__( /*! ./utils */ 16454); function multiLevelGroup(query, groupInfo) { query = query.groupBy(groupInfo[0].selector); if (groupInfo.length > 1) { query = query.select((function(g) { return (0, _extend.extend)({}, g, { items: multiLevelGroup((0, _array_query.default)(g.items), groupInfo.slice(1)).toArray() }) })) } return query } function arrangeSortingInfo(groupInfo, sortInfo) { var filteredGroup = []; (0, _iterator.each)(groupInfo, (function(_, group) { var collision = (0, _common.grep)(sortInfo, (function(sort) { return group.selector === sort.selector })); if (collision.length < 1) { filteredGroup.push(group) } })); return filteredGroup.concat(sortInfo) } var _default = { multiLevelGroup: multiLevelGroup, arrangeSortingInfo: arrangeSortingInfo, queryByOptions: function(query, options, isCountQuery) { var _options; options = options || {}; var filter = options.filter; if (null !== (_options = options) && void 0 !== _options && _options.langParams) { var _query$setLangParams, _query; null === (_query$setLangParams = (_query = query).setLangParams) || void 0 === _query$setLangParams ? void 0 : _query$setLangParams.call(_query, options.langParams) } if (filter) { query = query.filter(filter) } if (isCountQuery) { return query } var sort = options.sort; var select = options.select; var group = options.group; var skip = options.skip; var take = options.take; if (group) { group = (0, _utils.normalizeSortingInfo)(group); group.keepInitialKeyOrder = !!options.group.keepInitialKeyOrder } if (sort || group) { sort = (0, _utils.normalizeSortingInfo)(sort || []); if (group && !group.keepInitialKeyOrder) { sort = arrangeSortingInfo(group, sort) }(0, _iterator.each)(sort, (function(index) { query = query[index ? "thenBy" : "sortBy"](this.selector, this.desc, this.compare) })) } if (select) { query = query.select(select) } if (group) { query = multiLevelGroup(query, group) } if (take || skip) { query = query.slice(skip || 0, take) } return query } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 16454: /*!***********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data/utils.js ***! \***********************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.errorMessageFromXhr = exports.base64_encode = exports.aggregators = exports.XHR_ERROR_UNLOAD = void 0; exports.isConjunctiveOperator = function(condition) { return /^(and|&&|&)$/i.test(condition) }; exports.isDisjunctiveOperator = function(condition) { return /^(or|\|\||\|)$/i.test(condition) }; exports.rejectedPromise = exports.processRequestResultLock = exports.normalizeSortingInfo = exports.normalizeBinaryCriterion = exports.keysEqual = exports.isUnaryOperation = exports.isGroupCriterion = void 0; exports.throttleChanges = function(func, timeout) { var cache = []; var throttled = function(func, timeout) { var timeoutId; return function() { var _this = this; if (!timeoutId) { timeoutId = setTimeout((function() { timeoutId = void 0; func.call(_this) }), (0, _type.isFunction)(timeout) ? timeout() : timeout) } return timeoutId } }((function() { func.call(this, cache); cache = [] }), timeout); return function(changes) { if (Array.isArray(changes)) { var _cache; (_cache = cache).push.apply(_cache, (arr = changes, function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }())) } var arr; return throttled.call(this, cache) } }; exports.trivialPromise = void 0; var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); var _ready_callbacks = _interopRequireDefault(__webpack_require__( /*! ../core/utils/ready_callbacks */ 24311)); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var ready = _ready_callbacks.default.add; exports.XHR_ERROR_UNLOAD = "DEVEXTREME_XHR_ERROR_UNLOAD"; exports.normalizeBinaryCriterion = function(crit) { return [crit[0], crit.length < 3 ? "=" : String(crit[1]).toLowerCase(), crit.length < 2 ? true : crit[crit.length - 1]] }; exports.normalizeSortingInfo = function(info) { if (!Array.isArray(info)) { info = [info] } return (0, _iterator.map)(info, (function(i) { var result = { selector: (0, _type.isFunction)(i) || "string" === typeof i ? i : i.getter || i.field || i.selector, desc: !!(i.desc || "d" === String(i.dir).charAt(0).toLowerCase()) }; if (i.compare) { result.compare = i.compare } return result })) }; var errorMessageFromXhr = function() { var textStatusMessages = { timeout: "Network connection timeout", error: "Unspecified network error", parsererror: "Unexpected server response" }; var unloading; ready((function() { var window = (0, _window.getWindow)(); _dom_adapter.default.listen(window, "beforeunload", (function() { unloading = true })) })); return function(xhr, textStatus) { if (unloading) { return "DEVEXTREME_XHR_ERROR_UNLOAD" } if (xhr.status < 400) { return function(textStatus) { var result = textStatusMessages[textStatus]; if (!result) { return textStatus } return result }(textStatus) } return xhr.statusText } }(); exports.errorMessageFromXhr = errorMessageFromXhr; var aggregators = { count: { seed: 0, step: function(count) { return 1 + count } }, sum: { seed: 0, step: function(sum, item) { return sum + item } }, min: { step: function(min, item) { return item < min ? item : min } }, max: { step: function(max, item) { return item > max ? item : max } }, avg: { seed: [0, 0], step: function(pair, value) { return [pair[0] + value, pair[1] + 1] }, finalize: function(pair) { return pair[1] ? pair[0] / pair[1] : NaN } } }; exports.aggregators = aggregators; var processRequestResultLock = (lockCount = 0, { obtain: function() { if (0 === lockCount) { lockDeferred = new _deferred.Deferred } lockCount++ }, release: function() { lockCount--; if (lockCount < 1) { lockDeferred.resolve() } }, promise: function() { var deferred = 0 === lockCount ? (new _deferred.Deferred).resolve() : lockDeferred; return deferred.promise() }, reset: function() { lockCount = 0; if (lockDeferred) { lockDeferred.resolve() } } }); var lockCount, lockDeferred; exports.processRequestResultLock = processRequestResultLock; exports.keysEqual = function(keyExpr, key1, key2) { if (Array.isArray(keyExpr)) { var names = (0, _iterator.map)(key1, (function(v, k) { return k })); var name; for (var i = 0; i < names.length; i++) { name = names[i]; if (!(0, _common.equalByValue)(key1[name], key2[name], { strict: false })) { return false } } return true } return (0, _common.equalByValue)(key1, key2, { strict: false }) }; exports.base64_encode = function(input) { if (!Array.isArray(input)) { input = function(str) { var bytes = []; var code; var i; for (i = 0; i < str.length; i++) { code = str.charCodeAt(i); if (code < 128) { bytes.push(code) } else if (code < 2048) { bytes.push(192 + (code >> 6), 128 + (63 & code)) } else if (code < 65536) { bytes.push(224 + (code >> 12), 128 + (code >> 6 & 63), 128 + (63 & code)) } else if (code < 2097152) { bytes.push(240 + (code >> 18), 128 + (code >> 12 & 63), 128 + (code >> 6 & 63), 128 + (63 & code)) } } return bytes }(String(input)) } var result = ""; function getBase64Char(index) { return "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(index) } for (var i = 0; i < input.length; i += 3) { var octet1 = input[i]; var octet2 = input[i + 1]; var octet3 = input[i + 2]; result += (0, _iterator.map)([octet1 >> 2, (3 & octet1) << 4 | octet2 >> 4, isNaN(octet2) ? 64 : (15 & octet2) << 2 | octet3 >> 6, isNaN(octet3) ? 64 : 63 & octet3], getBase64Char).join("") } return result }; exports.isUnaryOperation = function(crit) { return "!" === crit[0] && Array.isArray(crit[1]) }; exports.isGroupCriterion = function(crit) { var first = crit[0]; var second = crit[1]; if (Array.isArray(first)) { return true } if ((0, _type.isFunction)(first)) { if (Array.isArray(second) || (0, _type.isFunction)(second) || (value = second, "and" === value || "or" === value)) { return true } } var value; return false }; exports.trivialPromise = function() { var d = new _deferred.Deferred; return d.resolve.apply(d, arguments).promise() }; exports.rejectedPromise = function() { var d = new _deferred.Deferred; return d.reject.apply(d, arguments).promise() } }, 53305: /*!************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/data_helper.js ***! \************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _data_source = __webpack_require__( /*! ./data/data_source/data_source */ 85273); var _extend = __webpack_require__( /*! ./core/utils/extend */ 13306); var _utils = __webpack_require__( /*! ./data/data_source/utils */ 9234); var _data_controller = (obj = __webpack_require__( /*! ./ui/collection/data_controller */ 97326), obj && obj.__esModule ? obj : { default: obj }); var obj; var DataHelperMixin = { postCtor: function() { this.on("disposing", function() { this._disposeDataSource() }.bind(this)) }, _refreshDataSource: function() { this._initDataSource(); this._loadDataSource() }, _initDataSource: function() { var dataSourceOptions = "_getSpecificDataSourceOption" in this ? this._getSpecificDataSourceOption() : this.option("dataSource"); var widgetDataSourceOptions; var dataSourceType; this._disposeDataSource(); if (dataSourceOptions) { if (dataSourceOptions instanceof _data_source.DataSource) { this._isSharedDataSource = true; this._dataSource = dataSourceOptions } else { widgetDataSourceOptions = "_dataSourceOptions" in this ? this._dataSourceOptions() : {}; dataSourceType = this._dataSourceType ? this._dataSourceType() : _data_source.DataSource; dataSourceOptions = (0, _utils.normalizeDataSourceOptions)(dataSourceOptions, { fromUrlLoadMode: "_dataSourceFromUrlLoadMode" in this && this._dataSourceFromUrlLoadMode() }); this._dataSource = new dataSourceType((0, _extend.extend)(true, {}, widgetDataSourceOptions, dataSourceOptions)) } if ("_normalizeDataSource" in this) { this._dataSource = this._normalizeDataSource(this._dataSource) } this._addDataSourceHandlers(); this._initDataController() } }, _initDataController: function() { var _this$option; var dataController = null === (_this$option = this.option) || void 0 === _this$option ? void 0 : _this$option.call(this, "_dataController"); var dataSource = this._dataSource; if (dataController) { this._dataController = dataController } else { this._dataController = new _data_controller.default(dataSource) } }, _addDataSourceHandlers: function() { if ("_dataSourceChangedHandler" in this) { this._addDataSourceChangeHandler() } if ("_dataSourceLoadErrorHandler" in this) { this._addDataSourceLoadErrorHandler() } if ("_dataSourceLoadingChangedHandler" in this) { this._addDataSourceLoadingChangedHandler() } this._addReadyWatcher() }, _addReadyWatcher: function() { this._dataSource.on("loadingChanged", function(isLoading) { this._ready && this._ready(!isLoading) }.bind(this)) }, _addDataSourceChangeHandler: function() { var dataSource = this._dataSource; this._proxiedDataSourceChangedHandler = function(e) { this._dataSourceChangedHandler(dataSource.items(), e) }.bind(this); dataSource.on("changed", this._proxiedDataSourceChangedHandler) }, _addDataSourceLoadErrorHandler: function() { this._proxiedDataSourceLoadErrorHandler = this._dataSourceLoadErrorHandler.bind(this); this._dataSource.on("loadError", this._proxiedDataSourceLoadErrorHandler) }, _addDataSourceLoadingChangedHandler: function() { this._proxiedDataSourceLoadingChangedHandler = this._dataSourceLoadingChangedHandler.bind(this); this._dataSource.on("loadingChanged", this._proxiedDataSourceLoadingChangedHandler) }, _loadDataSource: function() { var dataSource = this._dataSource; if (dataSource) { if (dataSource.isLoaded()) { this._proxiedDataSourceChangedHandler && this._proxiedDataSourceChangedHandler() } else { dataSource.load() } } }, _loadSingle: function(key, value) { key = "this" === key ? this._dataSource.key() || "this" : key; return this._dataSource.loadSingle(key, value) }, _isLastPage: function() { return !this._dataSource || this._dataSource.isLastPage() || !this._dataSource._pageSize }, _isDataSourceLoading: function() { return this._dataSource && this._dataSource.isLoading() }, _disposeDataSource: function() { if (this._dataSource) { if (this._isSharedDataSource) { delete this._isSharedDataSource; this._proxiedDataSourceChangedHandler && this._dataSource.off("changed", this._proxiedDataSourceChangedHandler); this._proxiedDataSourceLoadErrorHandler && this._dataSource.off("loadError", this._proxiedDataSourceLoadErrorHandler); this._proxiedDataSourceLoadingChangedHandler && this._dataSource.off("loadingChanged", this._proxiedDataSourceLoadingChangedHandler) } else { this._dataSource.dispose() } delete this._dataSource; delete this._proxiedDataSourceChangedHandler; delete this._proxiedDataSourceLoadErrorHandler; delete this._proxiedDataSourceLoadingChangedHandler } }, getDataSource: function() { return this._dataSource || null } }; var _default = DataHelperMixin; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 95429: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/click.js ***! \*************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.name = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); var _dom = __webpack_require__( /*! ../core/utils/dom */ 3532); var _frame = __webpack_require__( /*! ../animation/frame */ 90057); var _index = __webpack_require__( /*! ./utils/index */ 39611); var _event_nodes_disposing = __webpack_require__( /*! ./utils/event_nodes_disposing */ 27575); var _pointer = _interopRequireDefault(__webpack_require__( /*! ./pointer */ 93786)); var _emitter = _interopRequireDefault(__webpack_require__( /*! ./core/emitter */ 31391)); var _emitter_registrator = _interopRequireDefault(__webpack_require__( /*! ./core/emitter_registrator */ 82495)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } exports.name = "dxclick"; _frame.requestAnimationFrame, _frame.cancelAnimationFrame; var prevented = null; var lastFiredEvent = null; var onNodeRemove = function() { lastFiredEvent = null }; var clickHandler = function(e) { var originalEvent = e.originalEvent; var eventAlreadyFired = lastFiredEvent === originalEvent || originalEvent && originalEvent.DXCLICK_FIRED; var leftButton = !e.which || 1 === e.which; if (leftButton && !prevented && !eventAlreadyFired) { if (originalEvent) { originalEvent.DXCLICK_FIRED = true }(0, _event_nodes_disposing.unsubscribeNodesDisposing)(lastFiredEvent, onNodeRemove); lastFiredEvent = originalEvent; (0, _event_nodes_disposing.subscribeNodesDisposing)(lastFiredEvent, onNodeRemove); (0, _index.fireEvent)({ type: "dxclick", originalEvent: e }) } }; var ClickEmitter = _emitter.default.inherit({ ctor: function(element) { this.callBase(element); _events_engine.default.on(this.getElement(), "click", clickHandler) }, start: function(e) { prevented = null }, cancel: function() { prevented = true }, dispose: function() { _events_engine.default.off(this.getElement(), "click", clickHandler) } }); ! function() { var desktopDevice = _devices.default.real().generic; if (!desktopDevice) { var startTarget = null; var blurPrevented = false; var document = _dom_adapter.default.getDocument(); _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)(_pointer.default.down, "NATIVE_CLICK_FIXER"), (function(e) { startTarget = e.target; blurPrevented = e.isDefaultPrevented() })); _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)("click", "NATIVE_CLICK_FIXER"), (function(e) { var $target = (0, _renderer.default)(e.target); if (!blurPrevented && startTarget && !$target.is(startTarget) && !(0, _renderer.default)(startTarget).is("label") && (element = $target, (0, _renderer.default)(element).is("input, textarea, select, button ,:focus, :focus *"))) { (0, _dom.resetActiveElement)() } var element; startTarget = null; blurPrevented = false })) } }(); (0, _emitter_registrator.default)({ emitter: ClickEmitter, bubble: true, events: ["dxclick"] }) }, 49166: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/contextmenu.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.name = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _support = __webpack_require__( /*! ../core/utils/support */ 60137); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _class = _interopRequireDefault(__webpack_require__( /*! ../core/class */ 38377)); var _event_registrator = _interopRequireDefault(__webpack_require__( /*! ./core/event_registrator */ 85788)); var _index = __webpack_require__( /*! ./utils/index */ 39611); var _hold = _interopRequireDefault(__webpack_require__( /*! ./hold */ 11699)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var CONTEXTMENU_NAMESPACED_EVENT_NAME = (0, _index.addNamespace)("contextmenu", "dxContexMenu"); var HOLD_NAMESPACED_EVENT_NAME = (0, _index.addNamespace)(_hold.default.name, "dxContexMenu"); var ContextMenu = _class.default.inherit({ setup: function(element) { var $element = (0, _renderer.default)(element); _events_engine.default.on($element, CONTEXTMENU_NAMESPACED_EVENT_NAME, this._contextMenuHandler.bind(this)); if (_support.touch || _devices.default.isSimulator()) { _events_engine.default.on($element, HOLD_NAMESPACED_EVENT_NAME, this._holdHandler.bind(this)) } }, _holdHandler: function(e) { if ((0, _index.isMouseEvent)(e) && !_devices.default.isSimulator()) { return } this._fireContextMenu(e) }, _contextMenuHandler: function(e) { this._fireContextMenu(e) }, _fireContextMenu: function(e) { return (0, _index.fireEvent)({ type: "dxcontextmenu", originalEvent: e }) }, teardown: function(element) { _events_engine.default.off(element, ".dxContexMenu") } }); (0, _event_registrator.default)("dxcontextmenu", new ContextMenu); exports.name = "dxcontextmenu" }, 91633: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/core/emitter.feedback.js ***! \*****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.lock = exports.inactive = exports.active = void 0; var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _dom = __webpack_require__( /*! ../../core/utils/dom */ 3532); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _index = __webpack_require__( /*! ../utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../pointer */ 93786)); var _emitter = _interopRequireDefault(__webpack_require__( /*! ./emitter */ 31391)); var _emitter_registrator = _interopRequireDefault(__webpack_require__( /*! ./emitter_registrator */ 82495)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } exports.active = "dxactive"; exports.inactive = "dxinactive"; var FeedbackEvent = _class.default.inherit({ ctor: function(timeout, fire) { this._timeout = timeout; this._fire = fire }, start: function() { var that = this; this._schedule((function() { that.force() })) }, _schedule: function(fn) { this.stop(); this._timer = setTimeout(fn, this._timeout) }, stop: function() { clearTimeout(this._timer) }, force: function() { if (this._fired) { return } this.stop(); this._fire(); this._fired = true }, fired: function() { return this._fired } }); var activeFeedback; var FeedbackEmitter = _emitter.default.inherit({ ctor: function() { this.callBase.apply(this, arguments); this._active = new FeedbackEvent(0, _common.noop); this._inactive = new FeedbackEvent(0, _common.noop) }, configure: function(data, eventName) { switch (eventName) { case "dxactive": data.activeTimeout = data.timeout; break; case "dxinactive": data.inactiveTimeout = data.timeout } this.callBase(data) }, start: function(e) { if (activeFeedback) { var activeChildExists = (0, _dom.contains)(this.getElement().get(0), activeFeedback.getElement().get(0)); var childJustActivated = !activeFeedback._active.fired(); if (activeChildExists && childJustActivated) { this._cancel(); return } activeFeedback._inactive.force() } activeFeedback = this; this._initEvents(e); this._active.start() }, _initEvents: function(e) { var that = this; var eventTarget = this._getEmitterTarget(e); var mouseEvent = (0, _index.isMouseEvent)(e); var isSimulator = _devices.default.isSimulator(); var deferFeedback = isSimulator || !mouseEvent; var activeTimeout = (0, _common.ensureDefined)(this.activeTimeout, 30); var inactiveTimeout = (0, _common.ensureDefined)(this.inactiveTimeout, 400); this._active = new FeedbackEvent(deferFeedback ? activeTimeout : 0, (function() { that._fireEvent("dxactive", e, { target: eventTarget }) })); this._inactive = new FeedbackEvent(deferFeedback ? inactiveTimeout : 0, (function() { that._fireEvent("dxinactive", e, { target: eventTarget }); activeFeedback = null })) }, cancel: function(e) { this.end(e) }, end: function(e) { var skipTimers = e.type !== _pointer.default.up; if (skipTimers) { this._active.stop() } else { this._active.force() } this._inactive.start(); if (skipTimers) { this._inactive.force() } }, dispose: function() { this._active.stop(); this._inactive.stop(); if (activeFeedback === this) { activeFeedback = null } this.callBase() }, lockInactive: function() { this._active.force(); this._inactive.stop(); activeFeedback = null; this._cancel(); return this._inactive.force.bind(this._inactive) } }); FeedbackEmitter.lock = function(deferred) { var lockInactive = activeFeedback ? activeFeedback.lockInactive() : _common.noop; deferred.done(lockInactive) }; (0, _emitter_registrator.default)({ emitter: FeedbackEmitter, events: ["dxactive", "dxinactive"] }); var lock = FeedbackEmitter.lock; exports.lock = lock }, 31391: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/core/emitter.js ***! \********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/callbacks */ 44504)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _index = __webpack_require__( /*! ../utils/index */ 39611); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var Emitter = _class.default.inherit({ ctor: function(element) { this._$element = (0, _renderer.default)(element); this._cancelCallback = (0, _callbacks.default)(); this._acceptCallback = (0, _callbacks.default)() }, getElement: function() { return this._$element }, validate: function(e) { return !(0, _index.isDxMouseWheelEvent)(e) }, validatePointers: function(e) { return 1 === (0, _index.hasTouches)(e) }, allowInterruptionByMouseWheel: function() { return true }, configure: function(data) { (0, _extend.extend)(this, data) }, addCancelCallback: function(callback) { this._cancelCallback.add(callback) }, removeCancelCallback: function() { this._cancelCallback.empty() }, _cancel: function(e) { this._cancelCallback.fire(this, e) }, addAcceptCallback: function(callback) { this._acceptCallback.add(callback) }, removeAcceptCallback: function() { this._acceptCallback.empty() }, _accept: function(e) { this._acceptCallback.fire(this, e) }, _requestAccept: function(e) { this._acceptRequestEvent = e }, _forgetAccept: function() { this._accept(this._acceptRequestEvent); this._acceptRequestEvent = null }, start: _common.noop, move: _common.noop, end: _common.noop, cancel: _common.noop, reset: function() { if (this._acceptRequestEvent) { this._accept(this._acceptRequestEvent) } }, _fireEvent: function(eventName, e, params) { var eventData = (0, _extend.extend)({ type: eventName, originalEvent: e, target: this._getEmitterTarget(e), delegateTarget: this.getElement().get(0) }, params); e = (0, _index.fireEvent)(eventData); if (e.cancel) { this._cancel(e) } return e }, _getEmitterTarget: function(e) { return (this.delegateSelector ? (0, _renderer.default)(e.target).closest(this.delegateSelector) : this.getElement()).get(0) }, dispose: _common.noop }); var _default = Emitter; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 82495: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/core/emitter_registrator.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _ready_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/ready_callbacks */ 24311)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _element_data = __webpack_require__( /*! ../../core/element_data */ 97906); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _event_registrator = _interopRequireDefault(__webpack_require__( /*! ./event_registrator */ 85788)); var _index = __webpack_require__( /*! ../utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../pointer */ 93786)); var _wheel = __webpack_require__( /*! ./wheel */ 765); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var EventManager = _class.default.inherit({ ctor: function() { this._attachHandlers(); this.reset(); this._proxiedCancelHandler = this._cancelHandler.bind(this); this._proxiedAcceptHandler = this._acceptHandler.bind(this) }, _attachHandlers: function() { _ready_callbacks.default.add(function() { var document = _dom_adapter.default.getDocument(); _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)(_pointer.default.down, "dxEventManager"), this._pointerDownHandler.bind(this)); _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)(_pointer.default.move, "dxEventManager"), this._pointerMoveHandler.bind(this)); _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)([_pointer.default.up, _pointer.default.cancel].join(" "), "dxEventManager"), this._pointerUpHandler.bind(this)); _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)(_wheel.name, "dxEventManager"), this._mouseWheelHandler.bind(this)) }.bind(this)) }, _eachEmitter: function(callback) { var activeEmitters = this._activeEmitters || []; var i = 0; while (activeEmitters.length > i) { var emitter = activeEmitters[i]; if (false === callback(emitter)) { break } if (activeEmitters[i] === emitter) { i++ } } }, _applyToEmitters: function(method, arg) { this._eachEmitter((function(emitter) { emitter[method].call(emitter, arg) })) }, reset: function() { this._eachEmitter(this._proxiedCancelHandler); this._activeEmitters = [] }, resetEmitter: function(emitter) { this._proxiedCancelHandler(emitter) }, _pointerDownHandler: function(e) { if ((0, _index.isMouseEvent)(e) && e.which > 1) { return } this._updateEmitters(e) }, _updateEmitters: function(e) { if (!this._isSetChanged(e)) { return } this._cleanEmitters(e); this._fetchEmitters(e) }, _isSetChanged: function(e) { var currentSet = this._closestEmitter(e); var previousSet = this._emittersSet || []; var setChanged = currentSet.length !== previousSet.length; (0, _iterator.each)(currentSet, (function(index, emitter) { setChanged = setChanged || previousSet[index] !== emitter; return !setChanged })); this._emittersSet = currentSet; return setChanged }, _closestEmitter: function(e) { var that = this; var result = []; var $element = (0, _renderer.default)(e.target); function handleEmitter(_, emitter) { if (!!emitter && emitter.validatePointers(e) && emitter.validate(e)) { emitter.addCancelCallback(that._proxiedCancelHandler); emitter.addAcceptCallback(that._proxiedAcceptHandler); result.push(emitter) } } while ($element.length) { var emitters = (0, _element_data.data)($element.get(0), "dxEmitter") || []; (0, _iterator.each)(emitters, handleEmitter); $element = $element.parent() } return result }, _acceptHandler: function(acceptedEmitter, e) { var that = this; this._eachEmitter((function(emitter) { if (emitter !== acceptedEmitter) { that._cancelEmitter(emitter, e) } })) }, _cancelHandler: function(canceledEmitter, e) { this._cancelEmitter(canceledEmitter, e) }, _cancelEmitter: function(emitter, e) { var activeEmitters = this._activeEmitters; if (e) { emitter.cancel(e) } else { emitter.reset() } emitter.removeCancelCallback(); emitter.removeAcceptCallback(); var emitterIndex = activeEmitters.indexOf(emitter); if (emitterIndex > -1) { activeEmitters.splice(emitterIndex, 1) } }, _cleanEmitters: function(e) { this._applyToEmitters("end", e); this.reset(e) }, _fetchEmitters: function(e) { this._activeEmitters = this._emittersSet.slice(); this._applyToEmitters("start", e) }, _pointerMoveHandler: function(e) { this._applyToEmitters("move", e) }, _pointerUpHandler: function(e) { this._updateEmitters(e) }, _mouseWheelHandler: function(e) { if (!this._allowInterruptionByMouseWheel()) { return } e.pointers = [null]; this._pointerDownHandler(e); this._adjustWheelEvent(e); this._pointerMoveHandler(e); e.pointers = []; this._pointerUpHandler(e) }, _allowInterruptionByMouseWheel: function() { var allowInterruption = true; this._eachEmitter((function(emitter) { allowInterruption = emitter.allowInterruptionByMouseWheel() && allowInterruption; return allowInterruption })); return allowInterruption }, _adjustWheelEvent: function(e) { var closestGestureEmitter = null; this._eachEmitter((function(emitter) { if (!emitter.gesture) { return } var direction = emitter.getDirection(e); if ("horizontal" !== direction && !e.shiftKey || "vertical" !== direction && e.shiftKey) { closestGestureEmitter = emitter; return false } })); if (!closestGestureEmitter) { return } var direction = closestGestureEmitter.getDirection(e); var verticalGestureDirection = "both" === direction && !e.shiftKey || "vertical" === direction; var prop = verticalGestureDirection ? "pageY" : "pageX"; e[prop] += e.delta }, isActive: function(element) { var result = false; this._eachEmitter((function(emitter) { result = result || emitter.getElement().is(element) })); return result } }); var eventManager = new EventManager; var _default = function(emitterConfig) { var emitterClass = emitterConfig.emitter; var emitterName = emitterConfig.events[0]; var emitterEvents = emitterConfig.events; (0, _iterator.each)(emitterEvents, (function(_, eventName) { (0, _event_registrator.default)(eventName, { noBubble: !emitterConfig.bubble, setup: function(element) { var subscriptions = (0, _element_data.data)(element, "dxEmitterSubscription") || {}; var emitters = (0, _element_data.data)(element, "dxEmitter") || {}; var emitter = emitters[emitterName] || new emitterClass(element); subscriptions[eventName] = true; emitters[emitterName] = emitter; (0, _element_data.data)(element, "dxEmitter", emitters); (0, _element_data.data)(element, "dxEmitterSubscription", subscriptions) }, add: function(element, handleObj) { var emitters = (0, _element_data.data)(element, "dxEmitter"); var emitter = emitters[emitterName]; emitter.configure((0, _extend.extend)({ delegateSelector: handleObj.selector }, handleObj.data), handleObj.type) }, teardown: function(element) { var subscriptions = (0, _element_data.data)(element, "dxEmitterSubscription"); var emitters = (0, _element_data.data)(element, "dxEmitter"); var emitter = emitters[emitterName]; delete subscriptions[eventName]; var disposeEmitter = true; (0, _iterator.each)(emitterEvents, (function(_, eventName) { disposeEmitter = disposeEmitter && !subscriptions[eventName]; return disposeEmitter })); if (disposeEmitter) { if (eventManager.isActive(element)) { eventManager.resetEmitter(emitter) } emitter && emitter.dispose(); delete emitters[emitterName] } } }) })) }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 85788: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/core/event_registrator.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _event_registrator_callbacks = (obj = __webpack_require__( /*! ./event_registrator_callbacks */ 94553), obj && obj.__esModule ? obj : { default: obj }); var obj; var registerEvent = function(name, eventObject) { var strategy = {}; if ("noBubble" in eventObject) { strategy.noBubble = eventObject.noBubble } if ("bindType" in eventObject) { strategy.bindType = eventObject.bindType } if ("delegateType" in eventObject) { strategy.delegateType = eventObject.delegateType }(0, _iterator.each)(["setup", "teardown", "add", "remove", "trigger", "handle", "_default", "dispose"], (function(_, methodName) { if (!eventObject[methodName]) { return } strategy[methodName] = function() { var args = [].slice.call(arguments); args.unshift(this); return eventObject[methodName].apply(eventObject, args) } })); _event_registrator_callbacks.default.fire(name, strategy) }; registerEvent.callbacks = _event_registrator_callbacks.default; var _default = registerEvent; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 94553: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/core/event_registrator_callbacks.js ***! \****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _memorized_callbacks = (obj = __webpack_require__( /*! ../../core/memorized_callbacks */ 83358), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = new _memorized_callbacks.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 55994: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/core/events_engine.js ***! \**************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _event_registrator_callbacks = _interopRequireDefault(__webpack_require__( /*! ./event_registrator_callbacks */ 94553)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _dependency_injector = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/dependency_injector */ 20476)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/callbacks */ 44504)); var _errors = _interopRequireDefault(__webpack_require__( /*! ../../core/errors */ 17381)); var _hook_touch_props = _interopRequireDefault(__webpack_require__( /*! ../../events/core/hook_touch_props */ 2418)); var _call_once = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/call_once */ 39618)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var window = (0, _window.getWindow)(); var NATIVE_EVENTS_TO_SUBSCRIBE = { mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }; var NATIVE_EVENTS_TO_TRIGGER = { focusin: "focus", focusout: "blur" }; var NO_BUBBLE_EVENTS = ["blur", "focus", "load"]; var forcePassiveFalseEventNames = ["touchmove", "wheel", "mousewheel", "touchstart"]; function matchesSafe(target, selector) { return !(0, _type.isWindow)(target) && "#document" !== target.nodeName && _dom_adapter.default.elementMatches(target, selector) } var elementDataMap = new WeakMap; var guid = 0; var skipEvent; var special = function() { var specialData = {}; _event_registrator_callbacks.default.add((function(eventName, eventObject) { specialData[eventName] = eventObject })); return { getField: function(eventName, field) { return specialData[eventName] && specialData[eventName][field] }, callMethod: function(eventName, methodName, context, args) { return specialData[eventName] && specialData[eventName][methodName] && specialData[eventName][methodName].apply(context, args) } } }(); var eventsEngine = (0, _dependency_injector.default)({ on: getHandler(normalizeOnArguments(iterate((function(element, eventName, selector, data, handler) { var handlersController = getHandlersController(element, eventName); handlersController.addHandler(handler, selector, data) })))), one: getHandler(normalizeOnArguments((function(element, eventName, selector, data, handler) { eventsEngine.on(element, eventName, selector, data, (function oneTimeHandler() { eventsEngine.off(element, eventName, selector, oneTimeHandler); handler.apply(this, arguments) })) }))), off: getHandler((callback = iterate((function(element, eventName, selector, handler) { var handlersController = getHandlersController(element, eventName); handlersController.removeHandler(handler, selector) })), function(element, eventName, selector, handler) { if ("function" === typeof selector) { handler = selector; selector = void 0 } callback(element, eventName, selector, handler) })), trigger: getHandler(normalizeTriggerArguments((function(element, event, extraParameters) { var eventName = event.type; var handlersController = getHandlersController(element, event.type); special.callMethod(eventName, "trigger", element, [event, extraParameters]); handlersController.callHandlers(event, extraParameters); var noBubble = special.getField(eventName, "noBubble") || event.isPropagationStopped() || -1 !== NO_BUBBLE_EVENTS.indexOf(eventName); if (!noBubble) { var parents = []; ! function getParents(element) { var _element$parentNode; var parent = null !== (_element$parentNode = element.parentNode) && void 0 !== _element$parentNode ? _element$parentNode : element.host; if (parent) { parents.push(parent); getParents(parent) } }(element); parents.push(window); var i = 0; while (parents[i] && !event.isPropagationStopped()) { var parentDataByEvent = getHandlersController(parents[i], event.type); parentDataByEvent.callHandlers((0, _extend.extend)(event, { currentTarget: parents[i] }), extraParameters); i++ } } if (element.nodeType || (0, _type.isWindow)(element)) { special.callMethod(eventName, "_default", element, [event, extraParameters]); ! function(eventName, element) { var nativeMethodName = NATIVE_EVENTS_TO_TRIGGER[eventName] || eventName; if (function(eventName, element) { return "click" === eventName && "a" === element.localName }(eventName, element)) { return } if ((0, _type.isFunction)(element[nativeMethodName])) { skipEvent = eventName; element[nativeMethodName](); skipEvent = void 0 } }(eventName, element) } }))), triggerHandler: getHandler(normalizeTriggerArguments((function(element, event, extraParameters) { var handlersController = getHandlersController(element, event.type); handlersController.callHandlers(event, extraParameters) }))) }); var callback; function applyForEach(args, method) { var element = args[0]; if (!element) { return } if (_dom_adapter.default.isNode(element) || (0, _type.isWindow)(element)) { method.apply(eventsEngine, args) } else if (!(0, _type.isString)(element) && "length" in element) { var itemArgs = Array.prototype.slice.call(args, 0); Array.prototype.forEach.call(element, (function(itemElement) { itemArgs[0] = itemElement; applyForEach(itemArgs, method) })) } else { throw _errors.default.Error("E0025") } } function getHandler(method) { return function() { applyForEach(arguments, method) } } var passiveEventHandlersSupported = (0, _call_once.default)((function() { var isSupported = false; try { var options = Object.defineProperty({}, "passive", { get: function() { isSupported = true; return true } }); window.addEventListener("test", null, options) } catch (e) {} return isSupported })); function getHandlersController(element, eventName) { var elementData = elementDataMap.get(element); eventName = eventName || ""; var eventNameParts = eventName.split("."); var namespaces = eventNameParts.slice(1); var eventNameIsDefined = !!eventNameParts[0]; eventName = eventNameParts[0] || "dxEmptyEventType"; if (!elementData) { elementData = {}; elementDataMap.set(element, elementData) } if (!elementData[eventName]) { elementData[eventName] = { handleObjects: [], nativeHandler: null } } var eventData = elementData[eventName]; return { addHandler: function(handler, selector, data) { var callHandler = function(e, extraParameters) { var handlerArgs = [e]; var target = e.currentTarget; var relatedTarget = e.relatedTarget; var secondaryTargetIsInside; var result; if (eventName in NATIVE_EVENTS_TO_SUBSCRIBE) { secondaryTargetIsInside = relatedTarget && target && (relatedTarget === target || function contains(container, element) { if ((0, _type.isWindow)(container)) { return contains(container.document, element) } return container.contains ? container.contains(element) : !!(element.compareDocumentPosition(container) & element.DOCUMENT_POSITION_CONTAINS) }(target, relatedTarget)) } if (void 0 !== extraParameters) { handlerArgs.push(extraParameters) } special.callMethod(eventName, "handle", element, [e, data]); if (!secondaryTargetIsInside) { result = handler.apply(target, handlerArgs) } if (false === result) { e.preventDefault(); e.stopPropagation() } }; var handleObject = { handler: handler, wrappedHandler: function(e, extraParameters) { if (skipEvent && e.type === skipEvent) { return } e.data = data; e.delegateTarget = element; if (selector) { var currentTarget = e.target; while (currentTarget && currentTarget !== element) { if (matchesSafe(currentTarget, selector)) { e.currentTarget = currentTarget; callHandler(e, extraParameters) } currentTarget = currentTarget.parentNode } } else { e.currentTarget = e.delegateTarget || e.target; callHandler(e, extraParameters) } }, selector: selector, type: eventName, data: data, namespace: namespaces.join("."), namespaces: namespaces, guid: ++guid }; eventData.handleObjects.push(handleObject); var firstHandlerForTheType = 1 === eventData.handleObjects.length; var shouldAddNativeListener = firstHandlerForTheType && eventNameIsDefined; var nativeListenerOptions; if (shouldAddNativeListener) { shouldAddNativeListener = !special.callMethod(eventName, "setup", element, [data, namespaces, handler]) } if (shouldAddNativeListener) { eventData.nativeHandler = (subscribeName = eventName, function(event, extraParameters) { var handlersController = getHandlersController(this, subscribeName); event = eventsEngine.Event(event); handlersController.callHandlers(event, extraParameters) }); if (passiveEventHandlersSupported() && forcePassiveFalseEventNames.indexOf(eventName) > -1) { nativeListenerOptions = { passive: false } } eventData.removeListener = _dom_adapter.default.listen(element, NATIVE_EVENTS_TO_SUBSCRIBE[eventName] || eventName, eventData.nativeHandler, nativeListenerOptions) } var subscribeName; special.callMethod(eventName, "add", element, [handleObject]) }, removeHandler: function(handler, selector) { var removeByEventName = function(eventName) { var eventData = elementData[eventName]; if (!eventData.handleObjects.length) { delete elementData[eventName]; return } var removedHandler; eventData.handleObjects = eventData.handleObjects.filter((function(handleObject) { var skip = namespaces.length && !isSubset(handleObject.namespaces, namespaces) || handler && handleObject.handler !== handler || selector && handleObject.selector !== selector; if (!skip) { removedHandler = handleObject.handler; special.callMethod(eventName, "remove", element, [handleObject]) } return skip })); var lastHandlerForTheType = !eventData.handleObjects.length; var shouldRemoveNativeListener = lastHandlerForTheType && "dxEmptyEventType" !== eventName; if (shouldRemoveNativeListener) { special.callMethod(eventName, "teardown", element, [namespaces, removedHandler]); if (eventData.nativeHandler) { eventData.removeListener() } delete elementData[eventName] } }; if (eventNameIsDefined) { removeByEventName(eventName) } else { for (var name in elementData) { removeByEventName(name) } } var elementDataIsEmpty = 0 === Object.keys(elementData).length; if (elementDataIsEmpty) { elementDataMap.delete(element) } }, callHandlers: function(event, extraParameters) { var forceStop = false; var handleCallback = function(handleObject) { if (forceStop) { return } if (!namespaces.length || isSubset(handleObject.namespaces, namespaces)) { handleObject.wrappedHandler(event, extraParameters); forceStop = event.isImmediatePropagationStopped() } }; eventData.handleObjects.forEach(handleCallback); if (namespaces.length && elementData.dxEmptyEventType) { elementData.dxEmptyEventType.handleObjects.forEach(handleCallback) } } } } function isSubset(original, checked) { for (var i = 0; i < checked.length; i++) { if (original.indexOf(checked[i]) < 0) { return false } } return true } function normalizeOnArguments(callback) { return function(element, eventName, selector, data, handler) { if (!handler) { handler = data; data = void 0 } if ("string" !== typeof selector) { data = selector; selector = void 0 } if (!handler && "string" === typeof eventName) { handler = data || selector; selector = void 0; data = void 0 } callback(element, eventName, selector, data, handler) } } function normalizeTriggerArguments(callback) { return function(element, src, extraParameters) { if ("string" === typeof src) { src = { type: src } } if (!src.target) { src.target = element } src.currentTarget = element; if (!src.delegateTarget) { src.delegateTarget = element } if (!src.type && src.originalEvent) { src.type = src.originalEvent.type } callback(element, src instanceof eventsEngine.Event ? src : eventsEngine.Event(src), extraParameters) } } function iterate(callback) { var iterateEventNames = function(element, eventName) { if (eventName && eventName.indexOf(" ") > -1) { var args = Array.prototype.slice.call(arguments, 0); eventName.split(" ").forEach((function(eventName) { args[1] = eventName; callback.apply(this, args) })) } else { callback.apply(this, arguments) } }; return function(element, eventName) { if ("object" === _typeof(eventName)) { var args = Array.prototype.slice.call(arguments, 0); for (var name in eventName) { args[1] = name; args[args.length - 1] = eventName[name]; iterateEventNames.apply(this, args) } } else { iterateEventNames.apply(this, arguments) } } } function calculateWhich(event) { if (function(event) { return null == event.which && 0 === event.type.indexOf("key") }(event)) { return null != event.charCode ? event.charCode : event.keyCode } if (function(event) { return !event.which && void 0 !== event.button && /^(?:mouse|pointer|contextmenu|drag|drop)|click/.test(event.type) }(event)) { return { 1: 1, 2: 3, 3: 1, 4: 2 } [event.button] } return event.which } function initEvent(EventClass) { if (EventClass) { eventsEngine.Event = EventClass; eventsEngine.Event.prototype = EventClass.prototype } } initEvent(function(callback) { eventsEngine.Event = function(src, config) { if (!(this instanceof eventsEngine.Event)) { return new eventsEngine.Event(src, config) } if (!src) { src = {} } if ("string" === typeof src) { src = { type: src } } if (!config) { config = {} } callback.call(this, src, config) }; _extends(eventsEngine.Event.prototype, { _propagationStopped: false, _immediatePropagationStopped: false, _defaultPrevented: false, isPropagationStopped: function() { return !!(this._propagationStopped || this.originalEvent && this.originalEvent.propagationStopped) }, stopPropagation: function() { this._propagationStopped = true; this.originalEvent && this.originalEvent.stopPropagation() }, isImmediatePropagationStopped: function() { return this._immediatePropagationStopped }, stopImmediatePropagation: function() { this.stopPropagation(); this._immediatePropagationStopped = true; this.originalEvent && this.originalEvent.stopImmediatePropagation() }, isDefaultPrevented: function() { return !!(this._defaultPrevented || this.originalEvent && this.originalEvent.defaultPrevented) }, preventDefault: function() { this._defaultPrevented = true; this.originalEvent && this.originalEvent.preventDefault() } }); return eventsEngine.Event }((function(src, config) { var _src$view; var srcIsEvent = src instanceof eventsEngine.Event || (0, _window.hasWindow)() && src instanceof window.Event || (null === (_src$view = src.view) || void 0 === _src$view ? void 0 : _src$view.Event) && src instanceof src.view.Event; if (srcIsEvent) { this.originalEvent = src; this.type = src.type; this.currentTarget = void 0; if (Object.prototype.hasOwnProperty.call(src, "isTrusted")) { this.isTrusted = src.isTrusted } this.timeStamp = src.timeStamp || Date.now() } else { _extends(this, src) } addProperty("which", calculateWhich, this); if (0 === src.type.indexOf("touch")) { delete config.pageX; delete config.pageY } _extends(this, config); this.guid = ++guid }))); function addProperty(propName, hook, eventInstance) { Object.defineProperty(eventInstance || eventsEngine.Event.prototype, propName, { enumerable: true, configurable: true, get: function() { return this.originalEvent && hook(this.originalEvent) }, set: function(value) { Object.defineProperty(this, propName, { enumerable: true, configurable: true, writable: true, value: value }) } }) } ["target", "relatedTarget", "delegateTarget", "altKey", "bubbles", "cancelable", "changedTouches", "ctrlKey", "detail", "eventPhase", "metaKey", "shiftKey", "view", "char", "code", "charCode", "key", "keyCode", "button", "buttons", "offsetX", "offsetY", "pointerId", "pointerType", "targetTouches", "toElement", "touches"].forEach((function(prop) { return addProperty(prop, (function(event) { return event[prop] })) })); (0, _hook_touch_props.default)(addProperty); var beforeSetStrategy = (0, _callbacks.default)(); var afterSetStrategy = (0, _callbacks.default)(); eventsEngine.set = function(engine) { beforeSetStrategy.fire(); eventsEngine.inject(engine); initEvent(engine.Event); afterSetStrategy.fire() }; eventsEngine.subscribeGlobal = function() { applyForEach(arguments, normalizeOnArguments((function() { var args = arguments; eventsEngine.on.apply(this, args); beforeSetStrategy.add((function() { var offArgs = Array.prototype.slice.call(args, 0); offArgs.splice(3, 1); eventsEngine.off.apply(this, offArgs) })); afterSetStrategy.add((function() { eventsEngine.on.apply(this, args) })) }))) }; eventsEngine.forcePassiveFalseEventNames = forcePassiveFalseEventNames; eventsEngine.passiveEventHandlersSupported = passiveEventHandlersSupported; var _default = eventsEngine; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 2418: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/core/hook_touch_props.js ***! \*****************************************************************************/ function(module, exports) { exports.default = function(callback) { touchPropsToHook.forEach((function(name) { callback(name, (function(event) { return function(name, event) { if (event[name] && !event.touches || !event.touches) { return event[name] } var touches = event.touches.length ? event.touches : event.changedTouches; if (!touches.length) { return } return touches[0][name] }(name, event) })) }), this) }; var touchPropsToHook = ["pageX", "pageY", "screenX", "screenY", "clientX", "clientY"]; module.exports = exports.default; module.exports.default = exports.default }, 51661: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/core/keyboard_processor.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var createKeyDownOptions = function(e) { return { keyName: (0, _index.normalizeKeyName)(e), key: e.key, code: e.code, ctrl: e.ctrlKey, location: e.location, metaKey: e.metaKey, shift: e.shiftKey, alt: e.altKey, which: e.which, originalEvent: e } }; var KeyboardProcessor = _class.default.inherit({ _keydown: (0, _index.addNamespace)("keydown", "KeyboardProcessor"), _compositionStart: (0, _index.addNamespace)("compositionstart", "KeyboardProcessor"), _compositionEnd: (0, _index.addNamespace)("compositionend", "KeyboardProcessor"), ctor: function(options) { var _this = this; options = options || {}; if (options.element) { this._element = (0, _renderer.default)(options.element) } if (options.focusTarget) { this._focusTarget = options.focusTarget } this._handler = options.handler; if (this._element) { this._processFunction = function(e) { var focusTargets = (0, _renderer.default)(_this._focusTarget).toArray(); var isNotFocusTarget = _this._focusTarget && _this._focusTarget !== e.target && !focusTargets.includes(e.target); var shouldSkipProcessing = _this._isComposingJustFinished && 229 === e.which || _this._isComposing || isNotFocusTarget; _this._isComposingJustFinished = false; if (!shouldSkipProcessing) { _this.process(e) } }; this._toggleProcessingWithContext = this.toggleProcessing.bind(this); _events_engine.default.on(this._element, this._keydown, this._processFunction); _events_engine.default.on(this._element, this._compositionStart, this._toggleProcessingWithContext); _events_engine.default.on(this._element, this._compositionEnd, this._toggleProcessingWithContext) } }, dispose: function() { if (this._element) { _events_engine.default.off(this._element, this._keydown, this._processFunction); _events_engine.default.off(this._element, this._compositionStart, this._toggleProcessingWithContext); _events_engine.default.off(this._element, this._compositionEnd, this._toggleProcessingWithContext) } this._element = void 0; this._handler = void 0 }, process: function(e) { this._handler(createKeyDownOptions(e)) }, toggleProcessing: function(_ref) { var type = _ref.type; this._isComposing = "compositionstart" === type; this._isComposingJustFinished = !this._isComposing } }); KeyboardProcessor.createKeyDownOptions = createKeyDownOptions; var _default = KeyboardProcessor; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 765: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/core/wheel.js ***! \******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.name = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _event_registrator = _interopRequireDefault(__webpack_require__( /*! ./event_registrator */ 85788)); var _index = __webpack_require__( /*! ../utils/index */ 39611); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } exports.name = "dxmousewheel"; var wheel = { setup: function(element) { var $element = (0, _renderer.default)(element); _events_engine.default.on($element, (0, _index.addNamespace)("wheel", "dxWheel"), wheel._wheelHandler.bind(wheel)) }, teardown: function(element) { _events_engine.default.off(element, ".".concat("dxWheel")) }, _wheelHandler: function(e) { var _e$originalEvent = e.originalEvent, deltaMode = _e$originalEvent.deltaMode, deltaY = _e$originalEvent.deltaY, deltaX = _e$originalEvent.deltaX, deltaZ = _e$originalEvent.deltaZ; (0, _index.fireEvent)({ type: "dxmousewheel", originalEvent: e, delta: this._normalizeDelta(deltaY, deltaMode), deltaX: deltaX, deltaY: deltaY, deltaZ: deltaZ, deltaMode: deltaMode, pointerType: "mouse" }); e.stopPropagation() }, _normalizeDelta: function(delta) { var deltaMode = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; if (0 === deltaMode) { return -delta } else { return -30 * delta } } }; (0, _event_registrator.default)("dxmousewheel", wheel) }, 85272: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/double_click.js ***! \********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.name = void 0; var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _dom = __webpack_require__( /*! ../core/utils/dom */ 3532); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); var _class = _interopRequireDefault(__webpack_require__( /*! ../core/class */ 38377)); var _event_registrator = _interopRequireDefault(__webpack_require__( /*! ./core/event_registrator */ 85788)); var _click = __webpack_require__( /*! ./click */ 95429); var _index = __webpack_require__( /*! ./utils/index */ 39611); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } exports.name = "dxdblclick"; var NAMESPACED_CLICK_EVENT = (0, _index.addNamespace)(_click.name, "dxDblClick"); var DblClick = _class.default.inherit({ ctor: function() { this._handlerCount = 0; this._forgetLastClick() }, _forgetLastClick: function() { this._firstClickTarget = null; this._lastClickTimeStamp = -300 }, add: function() { if (this._handlerCount <= 0) { _events_engine.default.on(_dom_adapter.default.getDocument(), NAMESPACED_CLICK_EVENT, this._clickHandler.bind(this)) } this._handlerCount++ }, _clickHandler: function(e) { var timeStamp = e.timeStamp || Date.now(); var timeBetweenClicks = timeStamp - this._lastClickTimeStamp; var isSimulated = timeBetweenClicks < 0; var isDouble = !isSimulated && timeBetweenClicks < 300; if (isDouble) { (0, _index.fireEvent)({ type: "dxdblclick", target: (0, _dom.closestCommonParent)(this._firstClickTarget, e.target), originalEvent: e }); this._forgetLastClick() } else { this._firstClickTarget = e.target; this._lastClickTimeStamp = timeStamp } }, remove: function() { this._handlerCount--; if (this._handlerCount <= 0) { this._forgetLastClick(); _events_engine.default.off(_dom_adapter.default.getDocument(), NAMESPACED_CLICK_EVENT) } } }); (0, _event_registrator.default)("dxdblclick", new DblClick) }, 23174: /*!************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/drag.js ***! \************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.start = exports.move = exports.leave = exports.enter = exports.end = exports.drop = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _element_data = __webpack_require__( /*! ../core/element_data */ 97906); var _array = __webpack_require__( /*! ../core/utils/array */ 89386); var iteratorUtils = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../core/utils/iterator */ 95479)); var _dom = __webpack_require__( /*! ../core/utils/dom */ 3532); var _event_registrator = _interopRequireDefault(__webpack_require__( /*! ./core/event_registrator */ 85788)); var _index = __webpack_require__( /*! ./utils/index */ 39611); var _emitter = _interopRequireDefault(__webpack_require__( /*! ./gesture/emitter.gesture */ 98621)); var _emitter_registrator = _interopRequireDefault(__webpack_require__( /*! ./core/emitter_registrator */ 82495)); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } exports.start = "dxdragstart"; exports.move = "dxdrag"; exports.end = "dxdragend"; var DRAG_ENTER_EVENT = "dxdragenter"; exports.enter = DRAG_ENTER_EVENT; var DRAG_LEAVE_EVENT = "dxdragleave"; exports.leave = DRAG_LEAVE_EVENT; var DROP_EVENT = "dxdrop"; exports.drop = DROP_EVENT; var knownDropTargets = []; var knownDropTargetSelectors = []; var knownDropTargetConfigs = []; var dropTargetRegistration = { setup: function(element, data) { var knownDropTarget = knownDropTargets.includes(element); if (!knownDropTarget) { knownDropTargets.push(element); knownDropTargetSelectors.push([]); knownDropTargetConfigs.push(data || {}) } }, add: function(element, handleObj) { var index = knownDropTargets.indexOf(element); this.updateEventsCounter(element, handleObj.type, 1); var selector = handleObj.selector; if (!knownDropTargetSelectors[index].includes(selector)) { knownDropTargetSelectors[index].push(selector) } }, updateEventsCounter: function(element, event, value) { if ([DRAG_ENTER_EVENT, DRAG_LEAVE_EVENT, DROP_EVENT].indexOf(event) > -1) { var eventsCount = (0, _element_data.data)(element, "dxDragEventsCount") || 0; (0, _element_data.data)(element, "dxDragEventsCount", Math.max(0, eventsCount + value)) } }, remove: function(element, handleObj) { this.updateEventsCounter(element, handleObj.type, -1) }, teardown: function(element) { var handlersCount = (0, _element_data.data)(element, "dxDragEventsCount"); if (!handlersCount) { var index = knownDropTargets.indexOf(element); knownDropTargets.splice(index, 1); knownDropTargetSelectors.splice(index, 1); knownDropTargetConfigs.splice(index, 1); (0, _element_data.removeData)(element, "dxDragEventsCount") } } }; (0, _event_registrator.default)(DRAG_ENTER_EVENT, dropTargetRegistration); (0, _event_registrator.default)(DRAG_LEAVE_EVENT, dropTargetRegistration); (0, _event_registrator.default)(DROP_EVENT, dropTargetRegistration); var DragEmitter = _emitter.default.inherit({ ctor: function(element) { this.callBase(element); this.direction = "both" }, _init: function(e) { this._initEvent = e }, _start: function(e) { e = this._fireEvent("dxdragstart", this._initEvent); this._maxLeftOffset = e.maxLeftOffset; this._maxRightOffset = e.maxRightOffset; this._maxTopOffset = e.maxTopOffset; this._maxBottomOffset = e.maxBottomOffset; if (e.targetElements || null === e.targetElements) { var dropTargets = (0, _array.wrapToArray)(e.targetElements || []); this._dropTargets = iteratorUtils.map(dropTargets, (function(element) { return (0, _renderer.default)(element).get(0) })) } else { this._dropTargets = knownDropTargets } }, _move: function(e) { var eventData = (0, _index.eventData)(e); var dragOffset = this._calculateOffset(eventData); e = this._fireEvent("dxdrag", e, { offset: dragOffset }); this._processDropTargets(e); if (!e._cancelPreventDefault) { e.preventDefault() } }, _calculateOffset: function(eventData) { return { x: this._calculateXOffset(eventData), y: this._calculateYOffset(eventData) } }, _calculateXOffset: function(eventData) { if ("vertical" !== this.direction) { var offset = eventData.x - this._startEventData.x; return this._fitOffset(offset, this._maxLeftOffset, this._maxRightOffset) } return 0 }, _calculateYOffset: function(eventData) { if ("horizontal" !== this.direction) { var offset = eventData.y - this._startEventData.y; return this._fitOffset(offset, this._maxTopOffset, this._maxBottomOffset) } return 0 }, _fitOffset: function(offset, minOffset, maxOffset) { if (null != minOffset) { offset = Math.max(offset, -minOffset) } if (null != maxOffset) { offset = Math.min(offset, maxOffset) } return offset }, _processDropTargets: function(e) { var target = this._findDropTarget(e); var sameTarget = target === this._currentDropTarget; if (!sameTarget) { this._fireDropTargetEvent(e, DRAG_LEAVE_EVENT); this._currentDropTarget = target; this._fireDropTargetEvent(e, DRAG_ENTER_EVENT) } }, _fireDropTargetEvent: function(event, eventName) { if (!this._currentDropTarget) { return } var eventData = { type: eventName, originalEvent: event, draggingElement: this._$element.get(0), target: this._currentDropTarget }; (0, _index.fireEvent)(eventData) }, _findDropTarget: function(e) { var that = this; var result; iteratorUtils.each(knownDropTargets, (function(_, target) { if (!that._checkDropTargetActive(target)) { return } var $target = (0, _renderer.default)(target); iteratorUtils.each(function($element) { var dropTargetIndex = knownDropTargets.indexOf($element.get(0)); var dropTargetSelectors = knownDropTargetSelectors[dropTargetIndex].filter((function(selector) { return selector })); var $delegatedTargets = $element.find(dropTargetSelectors.join(", ")); if (knownDropTargetSelectors[dropTargetIndex].includes(void 0)) { $delegatedTargets = $delegatedTargets.add($element) } return $delegatedTargets }($target), (function(_, delegatedTarget) { var $delegatedTarget = (0, _renderer.default)(delegatedTarget); if (that._checkDropTarget(($element = $target, dropTargetIndex = knownDropTargets.indexOf($element.get(0)), knownDropTargetConfigs[dropTargetIndex]), $delegatedTarget, (0, _renderer.default)(result), e)) { result = delegatedTarget } var $element, dropTargetIndex })) })); return result }, _checkDropTargetActive: function(target) { var active = false; iteratorUtils.each(this._dropTargets, (function(_, activeTarget) { active = active || activeTarget === target || (0, _dom.contains)(activeTarget, target); return !active })); return active }, _checkDropTarget: function(config, $target, $prevTarget, e) { var isDraggingElement = $target.get(0) === (0, _renderer.default)(e.target).get(0); if (isDraggingElement) { return false } var targetPosition = function(dropTargetConfig, $element) { if (dropTargetConfig.itemPositionFunc) { return dropTargetConfig.itemPositionFunc($element) } else { return $element.offset() } }(config, $target); if (e.pageX < targetPosition.left) { return false } if (e.pageY < targetPosition.top) { return false } var targetSize = function(dropTargetConfig, $element) { if (dropTargetConfig.itemSizeFunc) { return dropTargetConfig.itemSizeFunc($element) } return { width: $element.get(0).getBoundingClientRect().width, height: $element.get(0).getBoundingClientRect().height } }(config, $target); if (e.pageX > targetPosition.left + targetSize.width) { return false } if (e.pageY > targetPosition.top + targetSize.height) { return false } if ($prevTarget.length && $prevTarget.closest($target).length) { return false } if (config.checkDropTarget && !config.checkDropTarget($target, e)) { return false } return $target }, _end: function(e) { var eventData = (0, _index.eventData)(e); this._fireEvent("dxdragend", e, { offset: this._calculateOffset(eventData) }); this._fireDropTargetEvent(e, DROP_EVENT); delete this._currentDropTarget } }); (0, _emitter_registrator.default)({ emitter: DragEmitter, events: ["dxdragstart", "dxdrag", "dxdragend"] }) }, 98621: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/gesture/emitter.gesture.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _style = __webpack_require__( /*! ../../core/utils/style */ 80968); var _call_once = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/call_once */ 39618)); var _dom = __webpack_require__( /*! ../../core/utils/dom */ 3532); var _ready_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/ready_callbacks */ 24311)); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _index = __webpack_require__( /*! ../utils/index */ 39611); var _emitter = _interopRequireDefault(__webpack_require__( /*! ../core/emitter */ 31391)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ready = _ready_callbacks.default.add; var abs = Math.abs; var TOUCH_BOUNDARY = 10; var setGestureCover = (0, _call_once.default)((function() { var isDesktop = "desktop" === _devices.default.real().deviceType; if (!(0, _style.styleProp)("pointer-events") || !isDesktop) { return _common.noop } var $cover = (0, _renderer.default)("
").addClass("dx-gesture-cover").css("pointerEvents", "none"); _events_engine.default.subscribeGlobal($cover, "dxmousewheel", (function(e) { e.preventDefault() })); ready((function() { $cover.appendTo("body") })); return function(toggle, cursor) { $cover.css("pointerEvents", toggle ? "all" : "none"); toggle && $cover.css("cursor", cursor) } })); var GestureEmitter = _emitter.default.inherit({ gesture: true, configure: function(data) { this.getElement().css("msTouchAction", data.immediate ? "pinch-zoom" : ""); this.callBase(data) }, allowInterruptionByMouseWheel: function() { return 2 !== this._stage }, getDirection: function() { return this.direction }, _cancel: function() { this.callBase.apply(this, arguments); this._toggleGestureCover(false); this._stage = 0 }, start: function(e) { if (e._needSkipEvent || (0, _index.needSkipEvent)(e)) { this._cancel(e); return } this._startEvent = (0, _index.createEvent)(e); this._startEventData = (0, _index.eventData)(e); this._stage = 1; this._init(e); this._setupImmediateTimer() }, _setupImmediateTimer: function() { var _this$immediateTimeou; clearTimeout(this._immediateTimer); this._immediateAccepted = false; if (!this.immediate) { return } if (0 === this.immediateTimeout) { this._immediateAccepted = true; return } this._immediateTimer = setTimeout(function() { this._immediateAccepted = true }.bind(this), null !== (_this$immediateTimeou = this.immediateTimeout) && void 0 !== _this$immediateTimeou ? _this$immediateTimeou : 180) }, move: function(e) { if (1 === this._stage && this._directionConfirmed(e)) { this._stage = 2; this._resetActiveElement(); this._toggleGestureCover(true); this._clearSelection(e); this._adjustStartEvent(e); this._start(this._startEvent); if (0 === this._stage) { return } this._requestAccept(e); this._move(e); this._forgetAccept() } else if (2 === this._stage) { this._clearSelection(e); this._move(e) } }, _directionConfirmed: function(e) { var touchBoundary = this._getTouchBoundary(e); var delta = (0, _index.eventDelta)(this._startEventData, (0, _index.eventData)(e)); var deltaX = abs(delta.x); var deltaY = abs(delta.y); var horizontalMove = this._validateMove(touchBoundary, deltaX, deltaY); var verticalMove = this._validateMove(touchBoundary, deltaY, deltaX); var direction = this.getDirection(e); var bothAccepted = "both" === direction && (horizontalMove || verticalMove); var horizontalAccepted = "horizontal" === direction && horizontalMove; var verticalAccepted = "vertical" === direction && verticalMove; return bothAccepted || horizontalAccepted || verticalAccepted || this._immediateAccepted }, _validateMove: function(touchBoundary, mainAxis, crossAxis) { return mainAxis && mainAxis >= touchBoundary && (this.immediate ? mainAxis >= crossAxis : true) }, _getTouchBoundary: function(e) { return this.immediate || (0, _index.isDxMouseWheelEvent)(e) ? 0 : TOUCH_BOUNDARY }, _adjustStartEvent: function(e) { var touchBoundary = this._getTouchBoundary(e); var delta = (0, _index.eventDelta)(this._startEventData, (0, _index.eventData)(e)); this._startEvent.pageX += (0, _math.sign)(delta.x) * touchBoundary; this._startEvent.pageY += (0, _math.sign)(delta.y) * touchBoundary }, _resetActiveElement: function() { if ("ios" === _devices.default.real().platform && this.getElement().find(":focus").length) { (0, _dom.resetActiveElement)() } }, _toggleGestureCover: function(toggle) { this._toggleGestureCoverImpl(toggle) }, _toggleGestureCoverImpl: function(toggle) { var isStarted = 2 === this._stage; if (isStarted) { ! function(toggle, cursor) { var gestureCoverStrategy = setGestureCover(); gestureCoverStrategy(toggle, cursor) }(toggle, this.getElement().css("cursor")) } }, _clearSelection: function(e) { if ((0, _index.isDxMouseWheelEvent)(e) || (0, _index.isTouchEvent)(e)) { return }(0, _dom.clearSelection)() }, end: function(e) { this._toggleGestureCover(false); if (2 === this._stage) { this._end(e) } else if (1 === this._stage) { this._stop(e) } this._stage = 0 }, dispose: function() { clearTimeout(this._immediateTimer); this.callBase.apply(this, arguments); this._toggleGestureCover(false) }, _init: _common.noop, _start: _common.noop, _move: _common.noop, _stop: _common.noop, _end: _common.noop }); GestureEmitter.initialTouchBoundary = TOUCH_BOUNDARY; GestureEmitter.touchBoundary = function(newBoundary) { if ((0, _type.isDefined)(newBoundary)) { TOUCH_BOUNDARY = newBoundary; return } return TOUCH_BOUNDARY }; var _default = GestureEmitter; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 37334: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/gesture/emitter.gesture.scroll.js ***! \**************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _emitter = _interopRequireDefault(__webpack_require__( /*! ../../events/gesture/emitter.gesture */ 98621)); var _emitter_registrator = _interopRequireDefault(__webpack_require__( /*! ../../events/core/emitter_registrator */ 82495)); var _frame = __webpack_require__( /*! ../../animation/frame */ 90057); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var abstract = _class.default.abstract; var realDevice = _devices.default.real(); var Locker = _class.default.inherit((NAMESPACED_SCROLL_EVENT = (0, _index.addNamespace)("scroll", "dxScrollEmitter"), { ctor: function(element) { var _this = this; this._element = element; this._locked = false; this._proxiedScroll = function(e) { if (!_this._disposed) { _this._scroll(e) } }; _events_engine.default.on(this._element, NAMESPACED_SCROLL_EVENT, this._proxiedScroll) }, _scroll: abstract, check: function(e, callback) { if (this._locked) { callback() } }, dispose: function() { this._disposed = true; _events_engine.default.off(this._element, NAMESPACED_SCROLL_EVENT, this._proxiedScroll) } })); var NAMESPACED_SCROLL_EVENT; var TimeoutLocker = Locker.inherit({ ctor: function(element, timeout) { this.callBase(element); this._timeout = timeout }, _scroll: function() { this._prepare(); this._forget() }, _prepare: function() { if (this._timer) { this._clearTimer() } this._locked = true }, _clearTimer: function() { clearTimeout(this._timer); this._locked = false; this._timer = null }, _forget: function() { var that = this; this._timer = setTimeout((function() { that._clearTimer() }), this._timeout) }, dispose: function() { this.callBase(); this._clearTimer() } }); var WheelLocker = TimeoutLocker.inherit({ ctor: function(element) { this.callBase(element, 400); this._lastWheelDirection = null }, check: function(e, callback) { this._checkDirectionChanged(e); this.callBase(e, callback) }, _checkDirectionChanged: function(e) { if (!(0, _index.isDxMouseWheelEvent)(e)) { this._lastWheelDirection = null; return } var direction = e.shiftKey || false; var directionChange = null !== this._lastWheelDirection && direction !== this._lastWheelDirection; this._lastWheelDirection = direction; this._locked = this._locked && !directionChange } }); var PointerLocker = TimeoutLocker.inherit({ ctor: function(element) { this.callBase(element, 400) } }); ! function() { var isIos = realDevice.ios, isAndroid = realDevice.android; if (!(isIos || isAndroid)) { return } PointerLocker = Locker.inherit({ _scroll: function() { this._locked = true; var that = this; (0, _frame.cancelAnimationFrame)(this._scrollFrame); this._scrollFrame = (0, _frame.requestAnimationFrame)((function() { that._locked = false })) }, check: function(e, callback) { (0, _frame.cancelAnimationFrame)(this._scrollFrame); (0, _frame.cancelAnimationFrame)(this._checkFrame); var that = this; var callBase = this.callBase; this._checkFrame = (0, _frame.requestAnimationFrame)((function() { callBase.call(that, e, callback); that._locked = false })) }, dispose: function() { this.callBase(); (0, _frame.cancelAnimationFrame)(this._scrollFrame); (0, _frame.cancelAnimationFrame)(this._checkFrame) } }) }(); var ScrollEmitter = _emitter.default.inherit((FRAME_DURATION = Math.round(1e3 / 60), { ctor: function(element) { this.callBase.apply(this, arguments); this.direction = "both"; this._pointerLocker = new PointerLocker(element); this._wheelLocker = new WheelLocker(element) }, validate: function() { return true }, configure: function(data) { if (data.scrollTarget) { this._pointerLocker.dispose(); this._wheelLocker.dispose(); this._pointerLocker = new PointerLocker(data.scrollTarget); this._wheelLocker = new WheelLocker(data.scrollTarget) } this.callBase(data) }, _init: function(e) { this._wheelLocker.check(e, function() { if ((0, _index.isDxMouseWheelEvent)(e)) { this._accept(e) } }.bind(this)); this._pointerLocker.check(e, function() { var skipCheck = this.isNative && (0, _index.isMouseEvent)(e); if (!(0, _index.isDxMouseWheelEvent)(e) && !skipCheck) { this._accept(e) } }.bind(this)); this._fireEvent("dxscrollinit", e); this._prevEventData = (0, _index.eventData)(e) }, move: function(e) { this.callBase.apply(this, arguments); e.isScrollingEvent = this.isNative || e.isScrollingEvent }, _start: function(e) { this._savedEventData = (0, _index.eventData)(e); this._fireEvent("dxscrollstart", e); this._prevEventData = (0, _index.eventData)(e) }, _move: function(e) { var currentEventData = (0, _index.eventData)(e); this._fireEvent("dxscroll", e, { delta: (0, _index.eventDelta)(this._prevEventData, currentEventData) }); var delta = (0, _index.eventDelta)(this._savedEventData, currentEventData); if (delta.time > 200) { this._savedEventData = this._prevEventData } this._prevEventData = (0, _index.eventData)(e) }, _end: function(e) { var endEventDelta = (0, _index.eventDelta)(this._prevEventData, (0, _index.eventData)(e)); var velocity = { x: 0, y: 0 }; if (!(0, _index.isDxMouseWheelEvent)(e) && endEventDelta.time < 100) { var delta = (0, _index.eventDelta)(this._savedEventData, this._prevEventData); var velocityMultiplier = FRAME_DURATION / delta.time; velocity = { x: delta.x * velocityMultiplier, y: delta.y * velocityMultiplier } } this._fireEvent("dxscrollend", e, { velocity: velocity }) }, _stop: function(e) { this._fireEvent("dxscrollstop", e) }, cancel: function(e) { this.callBase.apply(this, arguments); this._fireEvent("dxscrollcancel", e) }, dispose: function() { this.callBase.apply(this, arguments); this._pointerLocker.dispose(); this._wheelLocker.dispose() }, _clearSelection: function() { if (this.isNative) { return } return this.callBase.apply(this, arguments) }, _toggleGestureCover: function() { if (this.isNative) { return } return this.callBase.apply(this, arguments) } })); var FRAME_DURATION; (0, _emitter_registrator.default)({ emitter: ScrollEmitter, events: ["dxscrollinit", "dxscrollstart", "dxscroll", "dxscrollend", "dxscrollstop", "dxscrollcancel"] }); var _default = { init: "dxscrollinit", start: "dxscrollstart", move: "dxscroll", end: "dxscrollend", stop: "dxscrollstop", cancel: "dxscrollcancel", scroll: "scroll" }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 66894: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/gesture/swipeable.js ***! \*************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _swipe = __webpack_require__( /*! ../swipe */ 34309); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _dom_component = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_component */ 13046)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _index = __webpack_require__( /*! ../utils/index */ 39611); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _public_component = __webpack_require__( /*! ../../core/utils/public_component */ 9321); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ACTION_TO_EVENT_MAP = { onStart: _swipe.start, onUpdated: _swipe.swipe, onEnd: _swipe.end, onCancel: "dxswipecancel" }; var Swipeable = _dom_component.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { elastic: true, immediate: false, immediateTimeout: 180, direction: "horizontal", itemSizeFunc: null, onStart: null, onUpdated: null, onEnd: null, onCancel: null }) }, _render: function() { this.callBase(); this.$element().addClass("dx-swipeable"); this._attachEventHandlers() }, _attachEventHandlers: function() { this._detachEventHandlers(); if (this.option("disabled")) { return } var NAME = this.NAME; this._createEventData(); (0, _iterator.each)(ACTION_TO_EVENT_MAP, function(actionName, eventName) { var action = this._createActionByOption(actionName, { context: this }); eventName = (0, _index.addNamespace)(eventName, NAME); _events_engine.default.on(this.$element(), eventName, this._eventData, (function(e) { return action({ event: e }) })) }.bind(this)) }, _createEventData: function() { this._eventData = { elastic: this.option("elastic"), itemSizeFunc: this.option("itemSizeFunc"), direction: this.option("direction"), immediate: this.option("immediate"), immediateTimeout: this.option("immediateTimeout") } }, _detachEventHandlers: function() { _events_engine.default.off(this.$element(), ".dxSwipeable") }, _optionChanged: function(args) { switch (args.name) { case "disabled": case "onStart": case "onUpdated": case "onEnd": case "onCancel": case "elastic": case "immediate": case "itemSizeFunc": case "direction": this._detachEventHandlers(); this._attachEventHandlers(); break; case "rtlEnabled": break; default: this.callBase(args) } }, _useTemplates: function() { return false } }); (0, _public_component.name)(Swipeable, "dxSwipeable"); var _default = Swipeable; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 11699: /*!************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/hold.js ***! \************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _index = __webpack_require__( /*! ./utils/index */ 39611); var _emitter = _interopRequireDefault(__webpack_require__( /*! ./core/emitter */ 31391)); var _emitter_registrator = _interopRequireDefault(__webpack_require__( /*! ./core/emitter_registrator */ 82495)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var abs = Math.abs; var HoldEmitter = _emitter.default.inherit({ start: function(e) { this._startEventData = (0, _index.eventData)(e); this._startTimer(e) }, _startTimer: function(e) { var holdTimeout = "timeout" in this ? this.timeout : 750; this._holdTimer = setTimeout(function() { this._requestAccept(e); this._fireEvent("dxhold", e, { target: e.target }); this._forgetAccept() }.bind(this), holdTimeout) }, move: function(e) { if (this._touchWasMoved(e)) { this._cancel(e) } }, _touchWasMoved: function(e) { var delta = (0, _index.eventDelta)(this._startEventData, (0, _index.eventData)(e)); return abs(delta.x) > 5 || abs(delta.y) > 5 }, end: function() { this._stopTimer() }, _stopTimer: function() { clearTimeout(this._holdTimer) }, cancel: function() { this._stopTimer() }, dispose: function() { this._stopTimer() } }); (0, _emitter_registrator.default)({ emitter: HoldEmitter, bubble: true, events: ["dxhold"] }); var _default = { name: "dxhold" }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 24028: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/hover.js ***! \*************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.start = exports.end = void 0; var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _element_data = __webpack_require__( /*! ../core/element_data */ 97906); var _class = _interopRequireDefault(__webpack_require__( /*! ../core/class */ 38377)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _event_registrator = _interopRequireDefault(__webpack_require__( /*! ./core/event_registrator */ 85788)); var _index = __webpack_require__( /*! ./utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ./pointer */ 93786)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } exports.start = "dxhoverstart"; var POINTERENTER_NAMESPACED_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.enter, "dxHoverStart"); exports.end = "dxhoverend"; var POINTERLEAVE_NAMESPACED_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.leave, "dxHoverEnd"); var Hover = _class.default.inherit({ noBubble: true, ctor: function() { this._handlerArrayKeyPath = this._eventNamespace + "_HandlerStore" }, setup: function(element) { (0, _element_data.data)(element, this._handlerArrayKeyPath, {}) }, add: function(element, handleObj) { var that = this; var handler = function(e) { that._handler(e) }; _events_engine.default.on(element, this._originalEventName, handleObj.selector, handler); (0, _element_data.data)(element, this._handlerArrayKeyPath)[handleObj.guid] = handler }, _handler: function(e) { if ((0, _index.isTouchEvent)(e) || _devices.default.isSimulator()) { return }(0, _index.fireEvent)({ type: this._eventName, originalEvent: e, delegateTarget: e.delegateTarget }) }, remove: function(element, handleObj) { var handler = (0, _element_data.data)(element, this._handlerArrayKeyPath)[handleObj.guid]; _events_engine.default.off(element, this._originalEventName, handleObj.selector, handler) }, teardown: function(element) { (0, _element_data.removeData)(element, this._handlerArrayKeyPath) } }); var HoverStart = Hover.inherit({ ctor: function() { this._eventNamespace = "dxHoverStart"; this._eventName = "dxhoverstart"; this._originalEventName = POINTERENTER_NAMESPACED_EVENT_NAME; this.callBase() }, _handler: function(e) { var pointers = e.pointers || []; if (!pointers.length) { this.callBase(e) } } }); var HoverEnd = Hover.inherit({ ctor: function() { this._eventNamespace = "dxHoverEnd"; this._eventName = "dxhoverend"; this._originalEventName = POINTERLEAVE_NAMESPACED_EVENT_NAME; this.callBase() } }); (0, _event_registrator.default)("dxhoverstart", new HoverStart); (0, _event_registrator.default)("dxhoverend", new HoverEnd) }, 66365: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/index.js ***! \*************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.triggerHandler = exports.trigger = exports.one = exports.on = exports.off = exports.Event = void 0; var _events_engine = (obj = __webpack_require__( /*! ./core/events_engine */ 55994), obj && obj.__esModule ? obj : { default: obj }); var obj; var on = _events_engine.default.on; exports.on = on; var one = _events_engine.default.one; exports.one = one; var off = _events_engine.default.off; exports.off = off; var trigger = _events_engine.default.trigger; exports.trigger = trigger; var triggerHandler = _events_engine.default.triggerHandler; exports.triggerHandler = triggerHandler; var Event = _events_engine.default.Event; exports.Event = Event }, 93786: /*!***************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/pointer.js ***! \***************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var support = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../core/utils/support */ 60137)); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _event_registrator = _interopRequireDefault(__webpack_require__( /*! ./core/event_registrator */ 85788)); var _touch = _interopRequireDefault(__webpack_require__( /*! ./pointer/touch */ 69120)); var _mouse = _interopRequireDefault(__webpack_require__( /*! ./pointer/mouse */ 66509)); var _mouse_and_touch = _interopRequireDefault(__webpack_require__( /*! ./pointer/mouse_and_touch */ 87720)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } var EventStrategy = function(support, device) { var tablet = device.tablet, phone = device.phone; if (support.touch && !(tablet || phone)) { return _mouse_and_touch.default } if (support.touch) { return _touch.default } return _mouse.default }(support, _devices.default.real()); (0, _iterator.each)(EventStrategy.map, (function(pointerEvent, originalEvents) { (0, _event_registrator.default)(pointerEvent, new EventStrategy(pointerEvent, originalEvents)) })); var _default = { down: "dxpointerdown", up: "dxpointerup", move: "dxpointermove", cancel: "dxpointercancel", enter: "dxpointerenter", leave: "dxpointerleave", over: "dxpointerover", out: "dxpointerout" }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 88136: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/pointer/base.js ***! \********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/browser */ 47810)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _index = __webpack_require__( /*! ../utils/index */ 39611); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var BaseStrategy = _class.default.inherit({ ctor: function(eventName, originalEvents) { this._eventName = eventName; this._originalEvents = (0, _index.addNamespace)(originalEvents, "dxPointerEvents"); this._handlerCount = 0; this.noBubble = this._isNoBubble() }, _isNoBubble: function() { var eventName = this._eventName; return "dxpointerenter" === eventName || "dxpointerleave" === eventName }, _handler: function(e) { var _originalEvent$target; var delegateTarget = this._getDelegateTarget(e); var event = { type: this._eventName, pointerType: e.pointerType || (0, _index.eventSource)(e), originalEvent: e, delegateTarget: delegateTarget, timeStamp: _browser.default.mozilla ? (new Date).getTime() : e.timeStamp }; var originalEvent = e.originalEvent; if (null !== originalEvent && void 0 !== originalEvent && null !== (_originalEvent$target = originalEvent.target) && void 0 !== _originalEvent$target && _originalEvent$target.shadowRoot) { var _originalEvent$path, _originalEvent$compos; var path = null !== (_originalEvent$path = originalEvent.path) && void 0 !== _originalEvent$path ? _originalEvent$path : null === (_originalEvent$compos = originalEvent.composedPath) || void 0 === _originalEvent$compos ? void 0 : _originalEvent$compos.call(originalEvent); event.target = path[0] } return this._fireEvent(event) }, _getDelegateTarget: function(e) { var delegateTarget; if (this.noBubble) { delegateTarget = e.delegateTarget } return delegateTarget }, _fireEvent: function(args) { return (0, _index.fireEvent)(args) }, _setSelector: function(handleObj) { this._selector = this.noBubble && handleObj ? handleObj.selector : null }, _getSelector: function() { return this._selector }, setup: function() { return true }, add: function(element, handleObj) { if (this._handlerCount <= 0 || this.noBubble) { element = this.noBubble ? element : _dom_adapter.default.getDocument(); this._setSelector(handleObj); var that = this; _events_engine.default.on(element, this._originalEvents, this._getSelector(), (function(e) { that._handler(e) })) } if (!this.noBubble) { this._handlerCount++ } }, remove: function(handleObj) { this._setSelector(handleObj); if (!this.noBubble) { this._handlerCount-- } }, teardown: function(element) { if (this._handlerCount && !this.noBubble) { return } element = this.noBubble ? element : _dom_adapter.default.getDocument(); if (".dxPointerEvents" !== this._originalEvents) { _events_engine.default.off(element, this._originalEvents, this._getSelector()) } }, dispose: function(element) { element = this.noBubble ? element : _dom_adapter.default.getDocument(); _events_engine.default.off(element, this._originalEvents) } }); var _default = BaseStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 66509: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/pointer/mouse.js ***! \*********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _base = _interopRequireDefault(__webpack_require__( /*! ./base */ 88136)); var _observer = _interopRequireDefault(__webpack_require__( /*! ./observer */ 25544)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var eventMap = { dxpointerdown: "mousedown", dxpointermove: "mousemove", dxpointerup: "mouseup", dxpointercancel: "", dxpointerover: "mouseover", dxpointerout: "mouseout", dxpointerenter: "mouseenter", dxpointerleave: "mouseleave" }; var normalizeMouseEvent = function(e) { e.pointerId = 1; return { pointers: observer.pointers(), pointerId: 1 } }; var observer; var activated = false; var activateStrategy = function() { if (activated) { return } observer = new _observer.default(eventMap, (function() { return true })); activated = true }; var MouseStrategy = _base.default.inherit({ ctor: function() { this.callBase.apply(this, arguments); activateStrategy() }, _fireEvent: function(args) { return this.callBase((0, _extend.extend)(normalizeMouseEvent(args.originalEvent), args)) } }); MouseStrategy.map = eventMap; MouseStrategy.normalize = normalizeMouseEvent; MouseStrategy.activate = activateStrategy; MouseStrategy.resetObserver = function() { observer.reset() }; var _default = MouseStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 87720: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/pointer/mouse_and_touch.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _base = _interopRequireDefault(__webpack_require__( /*! ./base */ 88136)); var _mouse = _interopRequireDefault(__webpack_require__( /*! ./mouse */ 66509)); var _touch = _interopRequireDefault(__webpack_require__( /*! ./touch */ 69120)); var _index = __webpack_require__( /*! ../utils/index */ 39611); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var activated = false; var activateStrategy = function() { if (activated) { return } _mouse.default.activate(); activated = true }; var MouseAndTouchStrategy = _base.default.inherit({ EVENT_LOCK_TIMEOUT: 100, ctor: function() { this.callBase.apply(this, arguments); activateStrategy() }, _handler: function(e) { var isMouse = (0, _index.isMouseEvent)(e); if (!isMouse) { this._skipNextEvents = true } if (isMouse && this._mouseLocked) { return } if (isMouse && this._skipNextEvents) { this._skipNextEvents = false; this._mouseLocked = true; clearTimeout(this._unlockMouseTimer); var that = this; this._unlockMouseTimer = setTimeout((function() { that._mouseLocked = false }), this.EVENT_LOCK_TIMEOUT); return } return this.callBase(e) }, _fireEvent: function(args) { var normalizer = (0, _index.isMouseEvent)(args.originalEvent) ? _mouse.default.normalize : _touch.default.normalize; return this.callBase((0, _extend.extend)(normalizer(args.originalEvent), args)) }, dispose: function() { this.callBase(); this._skipNextEvents = false; this._mouseLocked = false; clearTimeout(this._unlockMouseTimer) } }); MouseAndTouchStrategy.map = { dxpointerdown: "touchstart mousedown", dxpointermove: "touchmove mousemove", dxpointerup: "touchend mouseup", dxpointercancel: "touchcancel", dxpointerover: "mouseover", dxpointerout: "mouseout", dxpointerenter: "mouseenter", dxpointerleave: "mouseleave" }; MouseAndTouchStrategy.resetObserver = _mouse.default.resetObserver; var _default = MouseAndTouchStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 25544: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/pointer/observer.js ***! \************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _ready_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/ready_callbacks */ 24311)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var addEventsListener = function(events, handler) { _ready_callbacks.default.add((function() { events.split(" ").forEach((function(event) { _dom_adapter.default.listen(_dom_adapter.default.getDocument(), event, handler, true) })) })) }; var _default = function(eventMap, pointerEquals, onPointerAdding) { onPointerAdding = onPointerAdding || function() {}; var pointers = []; var getPointerIndex = function(e) { var index = -1; (0, _iterator.each)(pointers, (function(i, pointer) { if (!pointerEquals(e, pointer)) { return true } index = i; return false })); return index }; var removePointer = function(e) { var index = getPointerIndex(e); if (index > -1) { pointers.splice(index, 1) } }; addEventsListener(eventMap.dxpointerdown, (function(e) { if (-1 === getPointerIndex(e)) { onPointerAdding(e); pointers.push(e) } })); addEventsListener(eventMap.dxpointermove, (function(e) { pointers[getPointerIndex(e)] = e })); addEventsListener(eventMap.dxpointerup, removePointer); addEventsListener(eventMap.dxpointercancel, removePointer); this.pointers = function() { return pointers }; this.reset = function() { pointers = [] } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 69120: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/pointer/touch.js ***! \*********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _base = _interopRequireDefault(__webpack_require__( /*! ./base */ 88136)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var normalizeTouchEvent = function(e) { var pointers = []; (0, _iterator.each)(e.touches, (function(_, touch) { pointers.push((0, _extend.extend)({ pointerId: touch.identifier }, touch)) })); return { pointers: pointers, pointerId: e.changedTouches[0].identifier } }; var skipTouchWithSameIdentifier = function(pointerEvent) { return "ios" === _devices.default.real().platform && ("dxpointerdown" === pointerEvent || "dxpointerup" === pointerEvent) }; var TouchStrategy = _base.default.inherit({ ctor: function() { this.callBase.apply(this, arguments); this._pointerId = 0 }, _handler: function(e) { if (skipTouchWithSameIdentifier(this._eventName)) { var touch = e.changedTouches[0]; if (this._pointerId === touch.identifier && 0 !== this._pointerId) { return } this._pointerId = touch.identifier } return this.callBase.apply(this, arguments) }, _fireEvent: function(args) { return this.callBase((0, _extend.extend)(normalizeTouchEvent(args.originalEvent), args)) } }); TouchStrategy.map = { dxpointerdown: "touchstart", dxpointermove: "touchmove", dxpointerup: "touchend", dxpointercancel: "touchcancel", dxpointerover: "", dxpointerout: "", dxpointerenter: "", dxpointerleave: "" }; TouchStrategy.normalize = normalizeTouchEvent; var _default = TouchStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 29007: /*!**************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/remove.js ***! \**************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.removeEvent = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _element_data = __webpack_require__( /*! ../core/element_data */ 97906); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ./core/events_engine */ 55994)); var _event_registrator = _interopRequireDefault(__webpack_require__( /*! ./core/event_registrator */ 85788)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } exports.removeEvent = "dxremove"; (0, _element_data.beforeCleanData)((function(elements) { elements = [].slice.call(elements); for (var i = 0; i < elements.length; i++) { var $element = (0, _renderer.default)(elements[i]); if ($element.prop("dxRemoveEvent")) { $element[0].dxRemoveEvent = null; _events_engine.default.triggerHandler($element, "dxremove") } } })); (0, _event_registrator.default)("dxremove", { noBubble: true, setup: function(element) { (0, _renderer.default)(element).prop("dxRemoveEvent", true) } }) }, 72918: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/short.js ***! \*************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.visibility = exports.resize = exports.keyboard = exports.hover = exports.focus = exports.dxClick = exports.click = exports.active = void 0; var _events_engine = _interopRequireDefault(__webpack_require__( /*! ./core/events_engine */ 55994)); var _keyboard_processor = _interopRequireDefault(__webpack_require__( /*! ./core/keyboard_processor */ 51661)); var _index = __webpack_require__( /*! ./utils/index */ 39611); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function addNamespace(event, namespace) { return namespace ? (0, _index.addNamespace)(event, namespace) : event } function executeAction(action, args) { return "function" === typeof action ? action(args) : action.execute(args) } var active = { on: function($el, active, inactive, opts) { var selector = opts.selector, showTimeout = opts.showTimeout, hideTimeout = opts.hideTimeout, namespace = opts.namespace; _events_engine.default.on($el, addNamespace("dxactive", namespace), selector, { timeout: showTimeout }, (function(event) { return executeAction(active, { event: event, element: event.currentTarget }) })); _events_engine.default.on($el, addNamespace("dxinactive", namespace), selector, { timeout: hideTimeout }, (function(event) { return executeAction(inactive, { event: event, element: event.currentTarget }) })) }, off: function($el, _ref) { var namespace = _ref.namespace, selector = _ref.selector; _events_engine.default.off($el, addNamespace("dxactive", namespace), selector); _events_engine.default.off($el, addNamespace("dxinactive", namespace), selector) } }; exports.active = active; var resize = { on: function($el, resize) { var _ref2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, namespace = _ref2.namespace; _events_engine.default.on($el, addNamespace("dxresize", namespace), resize) }, off: function($el) { var _ref3 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, namespace = _ref3.namespace; _events_engine.default.off($el, addNamespace("dxresize", namespace)) } }; exports.resize = resize; var hover = { on: function($el, start, end, _ref4) { var selector = _ref4.selector, namespace = _ref4.namespace; _events_engine.default.on($el, addNamespace("dxhoverend", namespace), selector, (function(event) { return end(event) })); _events_engine.default.on($el, addNamespace("dxhoverstart", namespace), selector, (function(event) { return executeAction(start, { element: event.target, event: event }) })) }, off: function($el, _ref5) { var selector = _ref5.selector, namespace = _ref5.namespace; _events_engine.default.off($el, addNamespace("dxhoverstart", namespace), selector); _events_engine.default.off($el, addNamespace("dxhoverend", namespace), selector) } }; exports.hover = hover; var visibility = { on: function($el, shown, hiding, _ref6) { var namespace = _ref6.namespace; _events_engine.default.on($el, addNamespace("dxhiding", namespace), hiding); _events_engine.default.on($el, addNamespace("dxshown", namespace), shown) }, off: function($el, _ref7) { var namespace = _ref7.namespace; _events_engine.default.off($el, addNamespace("dxhiding", namespace)); _events_engine.default.off($el, addNamespace("dxshown", namespace)) } }; exports.visibility = visibility; var focus = { on: function($el, focusIn, focusOut, _ref8) { var namespace = _ref8.namespace; _events_engine.default.on($el, addNamespace("focusin", namespace), focusIn); _events_engine.default.on($el, addNamespace("focusout", namespace), focusOut) }, off: function($el, _ref9) { var namespace = _ref9.namespace; _events_engine.default.off($el, addNamespace("focusin", namespace)); _events_engine.default.off($el, addNamespace("focusout", namespace)) }, trigger: function($el) { return _events_engine.default.trigger($el, "focus") } }; exports.focus = focus; var dxClick = { on: function($el, click) { var _ref10 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, namespace = _ref10.namespace; _events_engine.default.on($el, addNamespace("dxclick", namespace), click) }, off: function($el) { var _ref11 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, namespace = _ref11.namespace; _events_engine.default.off($el, addNamespace("dxclick", namespace)) } }; exports.dxClick = dxClick; var click = { on: function($el, click) { var _ref12 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, namespace = _ref12.namespace; _events_engine.default.on($el, addNamespace("click", namespace), click) }, off: function($el) { var _ref13 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, namespace = _ref13.namespace; _events_engine.default.off($el, addNamespace("click", namespace)) } }; exports.click = click; var index = 0; var keyboardProcessors = {}; var keyboard = { on: function(element, focusTarget, handler) { var listenerId = "keyboardProcessorId".concat(index++); keyboardProcessors[listenerId] = new _keyboard_processor.default({ element: element, focusTarget: focusTarget, handler: handler }); return listenerId }, off: function(listenerId) { if (listenerId && keyboardProcessors[listenerId]) { keyboardProcessors[listenerId].dispose(); delete keyboardProcessors[listenerId] } }, _getProcessor: function(listenerId) { return keyboardProcessors[listenerId] } }; exports.keyboard = keyboard }, 34309: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/swipe.js ***! \*************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.swipe = exports.start = exports.end = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _index = __webpack_require__( /*! ./utils/index */ 39611); var _emitter = _interopRequireDefault(__webpack_require__( /*! ./gesture/emitter.gesture */ 98621)); var _emitter_registrator = _interopRequireDefault(__webpack_require__( /*! ./core/emitter_registrator */ 82495)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } exports.start = "dxswipestart"; exports.swipe = "dxswipe"; exports.end = "dxswipeend"; var HorizontalStrategy = { defaultItemSizeFunc: function() { return (0, _size.getWidth)(this.getElement()) }, getBounds: function() { return [this._maxLeftOffset, this._maxRightOffset] }, calcOffsetRatio: function(e) { var endEventData = (0, _index.eventData)(e); return (endEventData.x - (this._savedEventData && this._savedEventData.x || 0)) / this._itemSizeFunc().call(this, e) }, isFastSwipe: function(e) { var endEventData = (0, _index.eventData)(e); return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(endEventData.x - this._tickData.x) >= endEventData.time - this._tickData.time } }; var VerticalStrategy = { defaultItemSizeFunc: function() { return (0, _size.getHeight)(this.getElement()) }, getBounds: function() { return [this._maxTopOffset, this._maxBottomOffset] }, calcOffsetRatio: function(e) { var endEventData = (0, _index.eventData)(e); return (endEventData.y - (this._savedEventData && this._savedEventData.y || 0)) / this._itemSizeFunc().call(this, e) }, isFastSwipe: function(e) { var endEventData = (0, _index.eventData)(e); return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(endEventData.y - this._tickData.y) >= endEventData.time - this._tickData.time } }; var STRATEGIES = { horizontal: HorizontalStrategy, vertical: VerticalStrategy }; var SwipeEmitter = _emitter.default.inherit({ TICK_INTERVAL: 300, FAST_SWIPE_SPEED_LIMIT: 10, ctor: function(element) { this.callBase(element); this.direction = "horizontal"; this.elastic = true }, _getStrategy: function() { return STRATEGIES[this.direction] }, _defaultItemSizeFunc: function() { return this._getStrategy().defaultItemSizeFunc.call(this) }, _itemSizeFunc: function() { return this.itemSizeFunc || this._defaultItemSizeFunc }, _init: function(e) { this._tickData = (0, _index.eventData)(e) }, _start: function(e) { this._savedEventData = (0, _index.eventData)(e); e = this._fireEvent("dxswipestart", e); if (!e.cancel) { this._maxLeftOffset = e.maxLeftOffset; this._maxRightOffset = e.maxRightOffset; this._maxTopOffset = e.maxTopOffset; this._maxBottomOffset = e.maxBottomOffset } }, _move: function(e) { var strategy = this._getStrategy(); var moveEventData = (0, _index.eventData)(e); var offset = strategy.calcOffsetRatio.call(this, e); offset = this._fitOffset(offset, this.elastic); if (moveEventData.time - this._tickData.time > this.TICK_INTERVAL) { this._tickData = moveEventData } this._fireEvent("dxswipe", e, { offset: offset }); if (false !== e.cancelable) { e.preventDefault() } }, _end: function(e) { var strategy = this._getStrategy(); var offsetRatio = strategy.calcOffsetRatio.call(this, e); var isFast = strategy.isFastSwipe.call(this, e); var startOffset = offsetRatio; var targetOffset = this._calcTargetOffset(offsetRatio, isFast); startOffset = this._fitOffset(startOffset, this.elastic); targetOffset = this._fitOffset(targetOffset, false); this._fireEvent("dxswipeend", e, { offset: startOffset, targetOffset: targetOffset }) }, _fitOffset: function(offset, elastic) { var strategy = this._getStrategy(); var bounds = strategy.getBounds.call(this); if (offset < -bounds[0]) { return elastic ? (-2 * bounds[0] + offset) / 3 : -bounds[0] } if (offset > bounds[1]) { return elastic ? (2 * bounds[1] + offset) / 3 : bounds[1] } return offset }, _calcTargetOffset: function(offsetRatio, isFast) { var result; if (isFast) { result = Math.ceil(Math.abs(offsetRatio)); if (offsetRatio < 0) { result = -result } } else { result = Math.round(offsetRatio) } return result } }); (0, _emitter_registrator.default)({ emitter: SwipeEmitter, events: ["dxswipestart", "dxswipe", "dxswipeend"] }) }, 91093: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/transform.js ***! \*****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.zoomstart = exports.zoomend = exports.zoom = exports.translatestart = exports.translateend = exports.translate = exports.transformstart = exports.transformend = exports.transform = exports.rotatestart = exports.rotateend = exports.rotate = exports.pinchstart = exports.pinchend = exports.pinch = void 0; var _math = __webpack_require__( /*! ../core/utils/math */ 60810); var iteratorUtils = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../core/utils/iterator */ 95479)); var _index = __webpack_require__( /*! ./utils/index */ 39611); var _emitter = _interopRequireDefault(__webpack_require__( /*! ./core/emitter */ 31391)); var _emitter_registrator = _interopRequireDefault(__webpack_require__( /*! ./core/emitter_registrator */ 82495)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } var START_POSTFIX = "start"; var UPDATE_POSTFIX = ""; var END_POSTFIX = "end"; var eventAliases = []; var addAlias = function(eventName, eventArgs) { eventAliases.push({ name: eventName, args: eventArgs }) }; addAlias("transform", { scale: true, deltaScale: true, rotation: true, deltaRotation: true, translation: true, deltaTranslation: true }); addAlias("translate", { translation: true, deltaTranslation: true }); addAlias("pinch", { scale: true, deltaScale: true }); addAlias("rotate", { rotation: true, deltaRotation: true }); var getEventVector = function(e) { var pointers = e.pointers; return first = pointers[0], second = pointers[1], { x: second.pageX - first.pageX, y: -second.pageY + first.pageY, centerX: .5 * (second.pageX + first.pageX), centerY: .5 * (second.pageY + first.pageY) }; var first, second }; var getDistance = function(vector) { return Math.sqrt(vector.x * vector.x + vector.y * vector.y) }; var getScale = function(firstVector, secondVector) { return getDistance(firstVector) / getDistance(secondVector) }; var getRotation = function(firstVector, secondVector) { var scalarProduct = firstVector.x * secondVector.x + firstVector.y * secondVector.y; var distanceProduct = getDistance(firstVector) * getDistance(secondVector); if (0 === distanceProduct) { return 0 } var sign = (0, _math.sign)(firstVector.x * secondVector.y - secondVector.x * firstVector.y); var angle = Math.acos((0, _math.fitIntoRange)(scalarProduct / distanceProduct, -1, 1)); return sign * angle }; var getTranslation = function(firstVector, secondVector) { return { x: firstVector.centerX - secondVector.centerX, y: firstVector.centerY - secondVector.centerY } }; var TransformEmitter = _emitter.default.inherit({ validatePointers: function(e) { return (0, _index.hasTouches)(e) > 1 }, start: function(e) { this._accept(e); var startVector = getEventVector(e); this._startVector = startVector; this._prevVector = startVector; this._fireEventAliases(START_POSTFIX, e) }, move: function(e) { var currentVector = getEventVector(e); var eventArgs = this._getEventArgs(currentVector); this._fireEventAliases(UPDATE_POSTFIX, e, eventArgs); this._prevVector = currentVector }, end: function(e) { var eventArgs = this._getEventArgs(this._prevVector); this._fireEventAliases(END_POSTFIX, e, eventArgs) }, _getEventArgs: function(vector) { return { scale: getScale(vector, this._startVector), deltaScale: getScale(vector, this._prevVector), rotation: getRotation(vector, this._startVector), deltaRotation: getRotation(vector, this._prevVector), translation: getTranslation(vector, this._startVector), deltaTranslation: getTranslation(vector, this._prevVector) } }, _fireEventAliases: function(eventPostfix, originalEvent, eventArgs) { eventArgs = eventArgs || {}; iteratorUtils.each(eventAliases, function(_, eventAlias) { var args = {}; iteratorUtils.each(eventAlias.args, (function(name) { if (name in eventArgs) { args[name] = eventArgs[name] } })); this._fireEvent("dx" + eventAlias.name + eventPostfix, originalEvent, args) }.bind(this)) } }); var eventNames = eventAliases.reduce((function(result, eventAlias) { [START_POSTFIX, UPDATE_POSTFIX, END_POSTFIX].forEach((function(eventPostfix) { result.push("dx" + eventAlias.name + eventPostfix) })); return result }), []); (0, _emitter_registrator.default)({ emitter: TransformEmitter, events: eventNames }); var exportNames = {}; iteratorUtils.each(eventNames, (function(_, eventName) { exportNames[eventName.substring("dx".length)] = eventName })); var transformstart = exportNames.transformstart, transform = exportNames.transform, transformend = exportNames.transformend, translatestart = exportNames.translatestart, translate = exportNames.translate, translateend = exportNames.translateend, zoomstart = exportNames.zoomstart, zoom = exportNames.zoom, zoomend = exportNames.zoomend, pinchstart = exportNames.pinchstart, pinch = exportNames.pinch, pinchend = exportNames.pinchend, rotatestart = exportNames.rotatestart, rotate = exportNames.rotate, rotateend = exportNames.rotateend; exports.rotateend = rotateend; exports.rotate = rotate; exports.rotatestart = rotatestart; exports.pinchend = pinchend; exports.pinch = pinch; exports.pinchstart = pinchstart; exports.zoomend = zoomend; exports.zoom = zoom; exports.zoomstart = zoomstart; exports.translateend = translateend; exports.translate = translate; exports.translatestart = translatestart; exports.transformend = transformend; exports.transform = transform; exports.transformstart = transformstart }, 19141: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/utils/add_namespace.js ***! \***************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _errors = (obj = __webpack_require__( /*! ../../core/errors */ 17381), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = function addNamespace(eventNames, namespace) { if (!namespace) { throw _errors.default.Error("E0017") } if (Array.isArray(eventNames)) { return eventNames.map((function(eventName) { return addNamespace(eventName, namespace) })).join(" ") } if (-1 !== eventNames.indexOf(" ")) { return addNamespace(eventNames.split(/\s+/g), namespace) } return "".concat(eventNames, ".").concat(namespace) }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 27575: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/utils/event_nodes_disposing.js ***! \***********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.unsubscribeNodesDisposing = exports.subscribeNodesDisposing = void 0; var _events_engine = (obj = __webpack_require__( /*! ../core/events_engine */ 55994), obj && obj.__esModule ? obj : { default: obj }); var obj; var _remove = __webpack_require__( /*! ../remove */ 29007); function nodesByEvent(event) { return event && [event.target, event.delegateTarget, event.relatedTarget, event.currentTarget].filter((function(node) { return !!node })) } exports.subscribeNodesDisposing = function(event, callback) { _events_engine.default.one(nodesByEvent(event), _remove.removeEvent, callback) }; exports.unsubscribeNodesDisposing = function(event, callback) { _events_engine.default.off(nodesByEvent(event), _remove.removeEvent, callback) } }, 39611: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/utils/index.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.stopEventsSkipping = exports.setEventFixMethod = exports.normalizeKeyName = exports.needSkipEvent = exports.isTouchEvent = exports.isPointerEvent = exports.isMouseEvent = exports.isKeyboardEvent = exports.isFakeClickEvent = exports.isDxMouseWheelEvent = exports.isCommandKeyPressed = exports.hasTouches = exports.getChar = exports.forceSkipEvents = exports.fireEvent = exports.eventSource = exports.eventDelta = exports.eventData = exports.createEvent = exports.addNamespace = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _add_namespace = _interopRequireDefault(__webpack_require__( /*! ./add_namespace */ 19141)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../core/events_engine */ 55994)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _selectors = __webpack_require__( /*! ../../ui/widget/selectors */ 31421); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var KEY_MAP = { backspace: "backspace", tab: "tab", enter: "enter", escape: "escape", pageup: "pageUp", pagedown: "pageDown", end: "end", home: "home", arrowleft: "leftArrow", arrowup: "upArrow", arrowright: "rightArrow", arrowdown: "downArrow", delete: "del", " ": "space", f: "F", a: "A", "*": "asterisk", "-": "minus", alt: "alt", control: "control", shift: "shift" }; var LEGACY_KEY_CODES = { 8: "backspace", 9: "tab", 13: "enter", 27: "escape", 33: "pageUp", 34: "pageDown", 35: "end", 36: "home", 37: "leftArrow", 38: "upArrow", 39: "rightArrow", 40: "downArrow", 46: "del", 32: "space", 70: "F", 65: "A", 106: "asterisk", 109: "minus", 189: "minus", 173: "minus", 16: "shift", 17: "control", 18: "alt" }; var EVENT_SOURCES_REGEX = { dx: /^dx/i, mouse: /(mouse|wheel)/i, touch: /^touch/i, keyboard: /^key/i, pointer: /^(ms)?pointer/i }; var fixMethod = function(e) { return e }; var isDxEvent = function(e) { return "dx" === eventSource(e) }; var isNativeTouchEvent = function(e) { return "touch" === eventSource(e) }; var eventSource = function(_ref) { var type = _ref.type; var result = "other"; (0, _iterator.each)(EVENT_SOURCES_REGEX, (function(key) { if (this.test(type)) { result = key; return false } })); return result }; exports.eventSource = eventSource; var isPointerEvent = function(e) { return "pointer" === eventSource(e) }; exports.isPointerEvent = isPointerEvent; var isMouseEvent = function(e) { return function(e) { return "mouse" === eventSource(e) }(e) || (isPointerEvent(e) || isDxEvent(e)) && "mouse" === e.pointerType }; exports.isMouseEvent = isMouseEvent; var isDxMouseWheelEvent = function(e) { return e && "dxmousewheel" === e.type }; exports.isDxMouseWheelEvent = isDxMouseWheelEvent; var isTouchEvent = function(e) { return isNativeTouchEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && "touch" === e.pointerType }; exports.isTouchEvent = isTouchEvent; exports.isKeyboardEvent = function(e) { return "keyboard" === eventSource(e) }; exports.isFakeClickEvent = function(_ref2) { var screenX = _ref2.screenX, offsetX = _ref2.offsetX, pageX = _ref2.pageX; return 0 === screenX && !offsetX && 0 === pageX }; exports.eventData = function(_ref3) { var pageX = _ref3.pageX, pageY = _ref3.pageY, timeStamp = _ref3.timeStamp; return { x: pageX, y: pageY, time: timeStamp } }; exports.eventDelta = function(from, to) { return { x: to.x - from.x, y: to.y - from.y, time: to.time - from.time || 1 } }; exports.hasTouches = function(e) { var originalEvent = e.originalEvent, pointers = e.pointers; if (isNativeTouchEvent(e)) { return (originalEvent.touches || []).length } if (isDxEvent(e)) { return (pointers || []).length } return 0 }; var skipEvents = false; exports.forceSkipEvents = function() { return skipEvents = true }; exports.stopEventsSkipping = function() { return skipEvents = false }; exports.needSkipEvent = function(e) { if (skipEvents) { return true } var target = e.target; var $target = (0, _renderer.default)(target); var isContentEditable = (null === target || void 0 === target ? void 0 : target.isContentEditable) || (null === target || void 0 === target ? void 0 : target.hasAttribute("contenteditable")); var touchInEditable = $target.is("input, textarea, select") || isContentEditable; if (isDxMouseWheelEvent(e)) { var isTextArea = $target.is("textarea") && $target.hasClass("dx-texteditor-input"); if (isTextArea || isContentEditable) { return false } var isInputFocused = $target.is("input[type='number'], textarea, select") && $target.is(":focus"); return isInputFocused } if (isMouseEvent(e)) { return touchInEditable || e.which > 1 } if (isTouchEvent(e)) { return touchInEditable && (0, _selectors.focused)($target) } }; exports.setEventFixMethod = function(func) { return fixMethod = func }; var createEvent = function(originalEvent, args) { var event = function(originalEvent) { return fixMethod(_events_engine.default.Event(originalEvent, originalEvent), originalEvent) }(originalEvent); args && (0, _extend.extend)(event, args); return event }; exports.createEvent = createEvent; exports.fireEvent = function(props) { var originalEvent = props.originalEvent, delegateTarget = props.delegateTarget; var event = createEvent(originalEvent, props); _events_engine.default.trigger(delegateTarget || event.target, event); return event }; exports.normalizeKeyName = function(_ref4) { var key = _ref4.key, which = _ref4.which; var normalizedKey = KEY_MAP[null === key || void 0 === key ? void 0 : key.toLowerCase()] || key; var normalizedKeyFromWhich = LEGACY_KEY_CODES[which]; if (normalizedKeyFromWhich && normalizedKey === key) { return normalizedKeyFromWhich } else if (!normalizedKey && which) { return String.fromCharCode(which) } return normalizedKey }; exports.getChar = function(_ref5) { var key = _ref5.key, which = _ref5.which; return key || String.fromCharCode(which) }; var addNamespace = _add_namespace.default; exports.addNamespace = addNamespace; exports.isCommandKeyPressed = function(_ref6) { var ctrlKey = _ref6.ctrlKey, metaKey = _ref6.metaKey; return ctrlKey || metaKey } }, 80506: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/events/visibility_change.js ***! \*************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.triggerShownEvent = exports.triggerResizeEvent = exports.triggerHidingEvent = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ./core/events_engine */ 55994)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var triggerVisibilityChangeEvent = function(eventName) { return function(element) { var $element = (0, _renderer.default)(element || "body"); var changeHandlers = $element.filter(".dx-visibility-change-handler").add($element.find(".dx-visibility-change-handler")); for (var i = 0; i < changeHandlers.length; i++) { _events_engine.default.triggerHandler(changeHandlers[i], eventName) } } }; var triggerShownEvent = triggerVisibilityChangeEvent("dxshown"); exports.triggerShownEvent = triggerShownEvent; var triggerHidingEvent = triggerVisibilityChangeEvent("dxhiding"); exports.triggerHidingEvent = triggerHidingEvent; var triggerResizeEvent = triggerVisibilityChangeEvent("dxresize"); exports.triggerResizeEvent = triggerResizeEvent }, 2994: /*!***************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/excel_exporter.js ***! \***************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "exportDataGrid", { enumerable: true, get: function() { return _export_data_grid.exportDataGrid } }); Object.defineProperty(exports, "exportPivotGrid", { enumerable: true, get: function() { return _export_pivot_grid.exportPivotGrid } }); var _export_data_grid = __webpack_require__( /*! ./exporter/exceljs/export_data_grid */ 8572); var _export_pivot_grid = __webpack_require__( /*! ./exporter/exceljs/export_pivot_grid */ 77328) }, 78292: /*!*********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter.js ***! \*********************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.export = function(data, options, getData) { if (!data) { return (new _deferred.Deferred).resolve() } var exportingAction = options.exportingAction; var exportedAction = options.exportedAction; var fileSavingAction = options.fileSavingAction; var eventArgs = { fileName: options.fileName, format: options.format, cancel: false }; if ((0, _type.isBoolean)(options.selectedRowsOnly)) { eventArgs.selectedRowsOnly = options.selectedRowsOnly }(0, _type.isFunction)(exportingAction) && exportingAction(eventArgs); if (!eventArgs.cancel) { return getData(data, options).then((function(blob) { (0, _type.isFunction)(exportedAction) && exportedAction(); if ((0, _type.isFunction)(fileSavingAction)) { eventArgs.data = blob; fileSavingAction(eventArgs) } if (!eventArgs.cancel) { var format = "xlsx" === options.format ? "EXCEL" : options.format; _file_saver.fileSaver.saveAs(eventArgs.fileName, format, blob) } })) } return (new _deferred.Deferred).resolve() }; Object.defineProperty(exports, "fileSaver", { enumerable: true, get: function() { return _file_saver.fileSaver } }); exports.svg = exports.pdf = exports.image = void 0; var _file_saver = __webpack_require__( /*! ./exporter/file_saver */ 48351); var _image_creator = __webpack_require__( /*! ./exporter/image_creator */ 12173); var _svg_creator = __webpack_require__( /*! ./exporter/svg_creator */ 37596); var _type = __webpack_require__( /*! ./core/utils/type */ 35922); var _deferred = __webpack_require__( /*! ./core/utils/deferred */ 62754); var _pdf_creator = __webpack_require__( /*! ./exporter/pdf_creator */ 30855); var image = { creator: _image_creator.imageCreator, getData: _image_creator.getData, testFormats: _image_creator.testFormats }; exports.image = image; var pdf = { getData: _pdf_creator.getData }; exports.pdf = pdf; var svg = { creator: _svg_creator.svgCreator, getData: _svg_creator.getData }; exports.svg = svg }, 5332: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/common/export_load_panel.js ***! \**********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.ExportLoadPanel = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _load_panel = _interopRequireDefault(__webpack_require__( /*! ../../ui/load_panel */ 97218)); var _uiGrid_core = _interopRequireDefault(__webpack_require__( /*! ../../ui/grid_core/ui.grid_core.utils */ 13615)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ExportLoadPanel = function() { function ExportLoadPanel(component, $targetElement, $container, options) { this._$targetElement = $targetElement; this._$container = $container; this._loadPanel = component._createComponent((0, _renderer.default)("
").addClass("dx-export-loadpanel").appendTo(this._$container), _load_panel.default, this.getOptions(options)) } var _proto = ExportLoadPanel.prototype; _proto.getDefaultOptions = function() { return { animation: null, shading: false, height: 90, width: 200, container: this._$container } }; _proto.getOptions = function(options) { if ((0, _type.isDefined)(options.text)) { options.message = options.text } else { options.message = _message.default.format("dxDataGrid-exporting") } return (0, _extend.extend)(this.getDefaultOptions(), options) }; _proto.show = function() { this._loadPanel.option("position", _uiGrid_core.default.calculateLoadPanelPosition(this._$targetElement)); this._loadPanel.show() }; _proto.dispose = function() { (0, _renderer.default)(this._loadPanel.element()).remove(); delete this._loadPanel }; return ExportLoadPanel }(); exports.ExportLoadPanel = ExportLoadPanel }, 11385: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/exceljs/export.js ***! \************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Export = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _export_format = __webpack_require__( /*! ./export_format */ 38526); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _export_load_panel = __webpack_require__( /*! ../common/export_load_panel */ 5332); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var Export = { getFullOptions: function(options) { var fullOptions = (0, _extend.extend)({}, options); if (!((0, _type.isDefined)(fullOptions.worksheet) && (0, _type.isObject)(fullOptions.worksheet))) { throw Error('The "worksheet" field must contain an object.') } if (!(0, _type.isDefined)(fullOptions.topLeftCell)) { fullOptions.topLeftCell = { row: 1, column: 1 } } else if ((0, _type.isString)(fullOptions.topLeftCell)) { var _fullOptions$workshee = fullOptions.worksheet.getCell(fullOptions.topLeftCell), row = _fullOptions$workshee.row, col = _fullOptions$workshee.col; fullOptions.topLeftCell = { row: row, column: col } } if (!(0, _type.isDefined)(fullOptions.keepColumnWidths)) { fullOptions.keepColumnWidths = true } if (!(0, _type.isDefined)(fullOptions.loadPanel)) { fullOptions.loadPanel = {} } if (!(0, _type.isDefined)(fullOptions.loadPanel.enabled)) { fullOptions.loadPanel.enabled = true } if (!(0, _type.isDefined)(fullOptions.encodeExecutableContent)) { fullOptions.encodeExecutableContent = false } return fullOptions }, convertDateForExcelJS: function(date) { return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds())) }, setNumberFormat: function(excelCell, numberFormat) { excelCell.numFmt = numberFormat }, getCellStyles: function(dataProvider) { var _this = this; var styles = dataProvider.getStyles(); styles.forEach((function(style) { var numberFormat = _this.tryConvertToExcelNumberFormat(style.format, style.dataType); if ((0, _type.isDefined)(numberFormat)) { numberFormat = numberFormat.replace(/"/g, '"') } style.numberFormat = numberFormat })); return styles }, tryConvertToExcelNumberFormat: function(format, dataType) { var newFormat = _export_format.ExportFormat.formatObjectConverter(format, dataType); var currency = newFormat.currency; format = newFormat.format; dataType = newFormat.dataType; return _export_format.ExportFormat.convertFormat(format, newFormat.precision, dataType, currency) }, setAlignment: function(excelCell, wrapText, horizontalAlignment) { var _excelCell$alignment; excelCell.alignment = null !== (_excelCell$alignment = excelCell.alignment) && void 0 !== _excelCell$alignment ? _excelCell$alignment : {}; if ((0, _type.isDefined)(wrapText)) { excelCell.alignment.wrapText = wrapText } if ((0, _type.isDefined)(horizontalAlignment)) { excelCell.alignment.horizontal = horizontalAlignment } excelCell.alignment.vertical = "top" }, setColumnsWidth: function(worksheet, widths, startColumnIndex) { if (!(0, _type.isDefined)(widths)) { return } for (var i = 0; i < widths.length; i++) { var columnWidth = widths[i]; if ("number" === typeof columnWidth && isFinite(columnWidth)) { worksheet.getColumn(startColumnIndex + i).width = Math.min(255, Math.floor(columnWidth / 7 * 100) / 100) } } }, export: function(options, Helpers, getLoadPanelTargetElement, getLoadPanelContainer) { var _component$_getIntern, _this2 = this; var component = options.component, worksheet = options.worksheet, topLeftCell = options.topLeftCell, keepColumnWidths = options.keepColumnWidths, selectedRowsOnly = options.selectedRowsOnly, loadPanel = options.loadPanel, encodeExecutableContent = options.encodeExecutableContent; var dataProvider = component.getDataProvider(selectedRowsOnly); var internalComponent = (null === (_component$_getIntern = component._getInternalInstance) || void 0 === _component$_getIntern ? void 0 : _component$_getIntern.call(component)) || component; var initialLoadPanelEnabledOption = internalComponent.option("loadPanel") && internalComponent.option("loadPanel").enabled; if (initialLoadPanelEnabledOption) { component.option("loadPanel.enabled", false) } var exportLoadPanel; if (loadPanel.enabled && (0, _window.hasWindow)()) { var $targetElement = getLoadPanelTargetElement(component); var $container = getLoadPanelContainer(component); exportLoadPanel = new _export_load_panel.ExportLoadPanel(component, $targetElement, $container, loadPanel); exportLoadPanel.show() } var wrapText = !!component.option("wordWrapEnabled"); worksheet.properties.outlineProperties = { summaryBelow: false, summaryRight: false }; var cellRange = { from: { row: topLeftCell.row, column: topLeftCell.column }, to: { row: topLeftCell.row, column: topLeftCell.column } }; return new Promise((function(resolve) { dataProvider.ready().done((function() { var columns = dataProvider.getColumns(); var dataRowsCount = dataProvider.getRowsCount(); var helpers = new Helpers(component, dataProvider, worksheet, options); if (keepColumnWidths) { _this2.setColumnsWidth(worksheet, dataProvider.getColumnsWidths(), cellRange.from.column) } helpers._exportAllFieldHeaders(columns, _this2.setAlignment); var fieldHeaderRowsCount = helpers._getFieldHeaderRowsCount(); cellRange.to.row = cellRange.from.row + fieldHeaderRowsCount; var styles = _this2.getCellStyles(dataProvider); for (var rowIndex = 0; rowIndex < dataRowsCount; rowIndex++) { var currentRowIndex = cellRange.from.row + fieldHeaderRowsCount + rowIndex; var row = worksheet.getRow(currentRowIndex); var startColumnIndex = 0; if (helpers._isRowFieldHeadersRow(rowIndex)) { startColumnIndex = dataProvider.getRowAreaColCount(); helpers._exportFieldHeaders("row", currentRowIndex, 0, startColumnIndex, _this2.setAlignment) } helpers._trySetOutlineLevel(row, rowIndex); _this2.exportRow(dataProvider, helpers, row, rowIndex, startColumnIndex, columns.length, wrapText, styles, encodeExecutableContent); cellRange.to.row = currentRowIndex } helpers.mergedRangesManager.applyMergedRages(); cellRange.to.column += columns.length > 0 ? columns.length - 1 : 0; var worksheetViewSettings = worksheet.views[0] || {}; if (component.option("rtlEnabled")) { worksheetViewSettings.rightToLeft = true } if (helpers._isFrozenZone(dataProvider)) { if (-1 === Object.keys(worksheetViewSettings).indexOf("state")) { (0, _extend.extend)(worksheetViewSettings, helpers._getWorksheetFrozenState(cellRange)) } helpers._trySetAutoFilter(cellRange) } if (Object.keys(worksheetViewSettings).length > 0) { worksheet.views = [worksheetViewSettings] } resolve(cellRange) })).always((function() { if (initialLoadPanelEnabledOption) { component.option("loadPanel.enabled", initialLoadPanelEnabledOption) } if (loadPanel.enabled && (0, _window.hasWindow)()) { exportLoadPanel.dispose() } })) })) }, exportRow: function(dataProvider, helpers, row, rowIndex, startColumnIndex, columnsCount, wrapText, styles, encodeExecutableContent) { for (var cellIndex = startColumnIndex; cellIndex < columnsCount; cellIndex++) { var cellData = dataProvider.getCellData(rowIndex, cellIndex, true); var excelCell = row.getCell(helpers._getFirstColumnIndex() + cellIndex); helpers.mergedRangesManager.updateMergedRanges(excelCell, rowIndex, cellIndex, helpers); var cellInfo = helpers.mergedRangesManager.findMergedCellInfo(rowIndex, cellIndex, helpers._isHeaderCell(rowIndex, cellIndex)); if ((0, _type.isDefined)(cellInfo) && excelCell !== cellInfo.masterCell) { excelCell.style = cellInfo.masterCell.style; excelCell.value = cellInfo.masterCell.value } else { if ((0, _type.isDate)(cellData.value)) { excelCell.value = this.convertDateForExcelJS(cellData.value) } else { excelCell.value = cellData.value } if ((0, _type.isDefined)(excelCell.value)) { var _styles$dataProvider$ = styles[dataProvider.getStyleId(rowIndex, cellIndex)], bold = _styles$dataProvider$.bold, horizontalAlignment = _styles$dataProvider$.alignment, numberFormat = _styles$dataProvider$.numberFormat; if ((0, _type.isDefined)(numberFormat)) { this.setNumberFormat(excelCell, numberFormat) } else if ((0, _type.isString)(excelCell.value) && /^[@=+-]/.test(excelCell.value)) { this.setNumberFormat(excelCell, "@") } helpers._trySetFont(excelCell, bold); this.setAlignment(excelCell, wrapText, horizontalAlignment) } } helpers._customizeCell(excelCell, cellData.cellSourceData); if (encodeExecutableContent) { excelCell.value = _export_format.ExportFormat.encode(excelCell.value) } } } }; exports.Export = Export }, 8572: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/exceljs/export_data_grid.js ***! \**********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.exportDataGrid = function(options) { return _export.Export.export(function(options) { if (!((0, _type.isDefined)(options) && (0, _type.isObject)(options))) { throw Error('The "exportDataGrid" method requires a configuration object.') } if (!((0, _type.isDefined)(options.component) && (0, _type.isObject)(options.component) && "dxDataGrid" === options.component.NAME)) { throw Error('The "component" field must contain a DataGrid instance.') } if (!(0, _type.isDefined)(options.selectedRowsOnly)) { options.selectedRowsOnly = false } if (!(0, _type.isDefined)(options.autoFilterEnabled)) { options.autoFilterEnabled = false } return _export.Export.getFullOptions(options) }(options), DataGridHelpers, _getLoadPanelTargetElement, _getLoadPanelContainer) }; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _export = __webpack_require__( /*! ./export */ 11385); var _export_merged_ranges_manager = __webpack_require__( /*! ./export_merged_ranges_manager */ 31980); var DataGridHelpers = function() { function DataGridHelpers(component, dataProvider, worksheet, options) { this.component = component; this.dataProvider = dataProvider; this.worksheet = worksheet; this.mergedRangesManager = new _export_merged_ranges_manager.MergedRangesManager(dataProvider, worksheet); this.topLeftCell = options.topLeftCell; this.customizeCell = options.customizeCell; this.autoFilterEnabled = options.autoFilterEnabled } var _proto = DataGridHelpers.prototype; _proto._getFirstColumnIndex = function() { return this.topLeftCell.column }; _proto._getFieldHeaderRowsCount = function() { return 0 }; _proto._trySetAutoFilter = function(cellRange) { if (this.autoFilterEnabled) { if (!(0, _type.isDefined)(this.worksheet.autoFilter) && this.dataProvider.getRowsCount() > 0) { var dataRange = { from: { row: cellRange.from.row + this.dataProvider.getHeaderRowCount() - 1, column: cellRange.from.column }, to: cellRange.to }; this.worksheet.autoFilter = dataRange } } }; _proto._trySetFont = function(excelCell, bold) { if ((0, _type.isDefined)(bold)) { excelCell.font = excelCell.font || {}; excelCell.font.bold = bold } }; _proto._getWorksheetFrozenState = function(cellRange) { return { state: "frozen", ySplit: cellRange.from.row + this.dataProvider.getFrozenArea().y - 1 } }; _proto._trySetOutlineLevel = function(row, rowIndex) { if (rowIndex >= this.dataProvider.getHeaderRowCount()) { row.outlineLevel = this.dataProvider.getGroupLevel(rowIndex) } }; _proto._isFrozenZone = function(dataProvider) { return dataProvider.getHeaderRowCount() > 0 }; _proto._isHeaderCell = function(rowIndex) { return rowIndex < this.dataProvider.getHeaderRowCount() }; _proto._isInfoCell = function() { return false }; _proto._allowToMergeRange = function() { return true }; _proto._getAllFieldHeaders = function() { return [] }; _proto._customizeCell = function(excelCell, gridCell) { if ((0, _type.isFunction)(this.customizeCell)) { this.customizeCell({ excelCell: excelCell, gridCell: gridCell }) } }; _proto._exportFieldHeaders = function() {}; _proto._exportAllFieldHeaders = function() {}; _proto._isRowFieldHeadersRow = function() {}; return DataGridHelpers }(); function _getLoadPanelTargetElement(component) { return component.getView("rowsView").element() } function _getLoadPanelContainer(component) { return component.getView("rowsView").element().parent() } }, 38526: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/exceljs/export_format.js ***! \*******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.ExportFormat = void 0; var _string = __webpack_require__( /*! ../../core/utils/string */ 68752); var _number = _interopRequireDefault(__webpack_require__( /*! ../../localization/number */ 18016)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _date2 = __webpack_require__( /*! ../../localization/ldml/date.format */ 59937); var _language_codes = __webpack_require__( /*! ../../localization/language_codes */ 9821); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); __webpack_require__( /*! ../../localization/currency */ 89740); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var DEFINED_NUMBER_FORMTATS = { thousands: "#,##0{0},"K"", millions: "#,##0{0},,"M"", billions: "#,##0{0},,,"B"", trillions: "#,##0{0},,,,"T"", percent: "0{0}%", decimal: "#{0}", fixedpoint: "#,##0{0}", exponential: "0{0}E+00", currency: " " }; var PERIOD_REGEXP = /a+/g; var DAY_REGEXP = /E/g; var DO_REGEXP = /dE+/g; var STANDALONE_MONTH_REGEXP = /L/g; var HOUR_REGEXP = /h/g; var ANY_REGEXP = /./g; function _convertDateFormat(format) { var formattedValue = (_date.default.format(new Date(2009, 8, 8, 6, 5, 4), format) || "").toString(); var result = (0, _date2.getFormat)((function(value) { return _date.default.format(value, format) })); if (result) { result = function(format) { return format.split("/").join("\\/").split("'").map((function(datePart, index) { if (index % 2 === 0) { return datePart.replace(PERIOD_REGEXP, "AM/PM").replace(DO_REGEXP, "d").replace(DAY_REGEXP, "d").replace(STANDALONE_MONTH_REGEXP, "M").replace(HOUR_REGEXP, "H").split("[").join("\\[").split("]").join("\\]") } if (datePart) { return datePart.replace(ANY_REGEXP, "\\$&") } return "'" })).join("") }(result); result = function(defaultPattern) { var languageID = (0, _language_codes.getLanguageId)(); var languageIDStr = languageID ? languageID.toString(16) : ""; var languageInfo = ""; if (function(text) { var code; for (var i = 0; i < text.length; i++) { code = text.charCodeAt(i); if (code >= 1632 && code < 1642) { return true } } return false }(defaultPattern)) { while (languageIDStr.length < 3) { languageIDStr = "0" + languageIDStr } languageInfo = "[$-2010" + languageIDStr + "]" } else if (languageIDStr) { languageInfo = "[$-" + languageIDStr + "]" } return languageInfo }(formattedValue) + result } return result } function _includesCSVExpression(value) { if (!value) { return false } if (/^[@=\t\r]/.test(value)) { return true } if (!/^[+-]/.test(value)) { return false } return !(0, _type.isNumeric)(value) } var ExportFormat = { formatObjectConverter: function(format, dataType) { var result = { format: format, precision: format && format.precision, dataType: dataType }; if ((0, _type.isObject)(format)) { return (0, _extend.extend)(result, format, { format: format.formatter || format.type, currency: format.currency }) } return result }, convertFormat: function(format, precision, type, currency) { if ((0, _type.isDefined)(format)) { if ("date" === type) { return _convertDateFormat(format) } else if ((0, _type.isString)(format) && DEFINED_NUMBER_FORMTATS[format.toLowerCase()]) { return function(format, precision, currency) { var result; var excelFormat; if ("currency" === format) { excelFormat = _number.default.getOpenXmlCurrencyFormat(currency) } else { excelFormat = DEFINED_NUMBER_FORMTATS[format.toLowerCase()] } if (excelFormat) { result = (0, _string.format)(excelFormat, function(format, precision) { var result; var i; if (precision > 0) { result = "decimal" !== format ? "." : ""; for (i = 0; i < precision; i++) { result += "0" } return result } return "" }(format, precision)) } return result }(format, precision, currency) } } }, encode: function(value) { var escaped = false; if (function(value) { if (!value || value.length < 2) { return false } return _includesCSVExpression(value) }(value)) { escaped = true } else if (function(value, textQualifier) { if (!value || value.length < 4 || value[0] !== textQualifier) { return false } return _includesCSVExpression(value.substring(1, value.length - 1)) }(value, '"')) { value = value.substring(1, value.length - 1); escaped = true } if (escaped) { var escapedTextQualifier = "".concat('"').concat('"'); return "\"'" + value.replaceAll('"', escapedTextQualifier) + '"' } return value } }; exports.ExportFormat = ExportFormat }, 31980: /*!**********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/exceljs/export_merged_ranges_manager.js ***! \**********************************************************************************************/ function(__unused_webpack_module, exports) { exports.MergedRangesManager = void 0; var MergedRangesManager = function() { function MergedRangesManager(dataProvider, worksheet) { this.dataProvider = dataProvider; this.worksheet = worksheet; this.mergedCells = []; this.mergedRanges = [] } var _proto = MergedRangesManager.prototype; _proto.updateMergedRanges = function(excelCell, rowIndex, cellIndex, helpers) { if (helpers._isHeaderCell(rowIndex, cellIndex) && !this.isCellInMergedRanges(rowIndex, cellIndex)) { var _this$dataProvider$ge = this.dataProvider.getCellMerging(rowIndex, cellIndex), rowspan = _this$dataProvider$ge.rowspan, colspan = _this$dataProvider$ge.colspan; var isMasterCellOfMergedRange = colspan || rowspan; if (isMasterCellOfMergedRange) { var allowToMergeRange = helpers._allowToMergeRange(rowIndex, cellIndex, rowspan, colspan); this.updateMergedCells(excelCell, rowIndex, cellIndex, rowspan, colspan); if (allowToMergeRange) { var shouldReduceInfoRange = helpers._isInfoCell(rowIndex, cellIndex) && helpers._allowExportRowFieldHeaders(); this.mergedRanges.push({ masterCell: excelCell, rowspan: rowspan - (shouldReduceInfoRange && rowspan > 0), colspan: colspan }) } } } }; _proto.isCellInMergedRanges = function(rowIndex, cellIndex) { return this.mergedCells[rowIndex] && this.mergedCells[rowIndex][cellIndex] }; _proto.findMergedCellInfo = function(rowIndex, cellIndex, isHeaderCell) { if (isHeaderCell && this.isCellInMergedRanges(rowIndex, cellIndex)) { return this.mergedCells[rowIndex][cellIndex] } }; _proto.updateMergedCells = function(excelCell, rowIndex, cellIndex, rowspan, colspan) { for (var i = rowIndex; i <= rowIndex + rowspan; i++) { for (var j = cellIndex; j <= cellIndex + colspan; j++) { if (!this.mergedCells[i]) { this.mergedCells[i] = [] } this.mergedCells[i][j] = { masterCell: excelCell } } } }; _proto.addMergedRange = function(masterCell, rowspan, colspan) { this.mergedRanges.push({ masterCell: masterCell, rowspan: rowspan, colspan: colspan }) }; _proto.applyMergedRages = function() { var _this = this; this.mergedRanges.forEach((function(range) { var startRowIndex = range.masterCell.fullAddress.row; var startColumnIndex = range.masterCell.fullAddress.col; var endRowIndex = startRowIndex + range.rowspan; var endColumnIndex = startColumnIndex + range.colspan; _this.worksheet.mergeCells(startRowIndex, startColumnIndex, endRowIndex, endColumnIndex) })) }; return MergedRangesManager }(); exports.MergedRangesManager = MergedRangesManager }, 77328: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/exceljs/export_pivot_grid.js ***! \***********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.exportPivotGrid = function(options) { return _export.Export.export(function(options) { if (!((0, _type.isDefined)(options) && (0, _type.isObject)(options))) { throw Error('The "exportPivotGrid" method requires a configuration object.') } if (!((0, _type.isDefined)(options.component) && (0, _type.isObject)(options.component) && "dxPivotGrid" === options.component.NAME)) { throw Error('The "component" field must contain a PivotGrid instance.') } if (!(0, _type.isDefined)(options.mergeRowFieldValues)) { options.mergeRowFieldValues = true } if (!(0, _type.isDefined)(options.mergeColumnFieldValues)) { options.mergeColumnFieldValues = true } if (!(0, _type.isDefined)(options.exportDataFieldHeaders)) { options.exportDataFieldHeaders = false } if (!(0, _type.isDefined)(options.exportRowFieldHeaders)) { options.exportRowFieldHeaders = false } if (!(0, _type.isDefined)(options.exportColumnFieldHeaders)) { options.exportColumnFieldHeaders = false } if (!(0, _type.isDefined)(options.exportFilterFieldHeaders)) { options.exportFilterFieldHeaders = false } return _export.Export.getFullOptions(options) }(options), PivotGridHelpers, _getLoadPanelTargetElement, _getLoadPanelContainer) }; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _export = __webpack_require__( /*! ./export */ 11385); var _position = __webpack_require__( /*! ../../core/utils/position */ 37518); var _inflector = __webpack_require__( /*! ../../core/utils/inflector */ 78008); var _export_merged_ranges_manager = __webpack_require__( /*! ./export_merged_ranges_manager */ 31980); function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var PivotGridHelpers = function() { function PivotGridHelpers(component, dataProvider, worksheet, options) { this.component = component; this.dataProvider = dataProvider; this.worksheet = worksheet; this.mergedRangesManager = new _export_merged_ranges_manager.MergedRangesManager(dataProvider, worksheet); this.topLeftCell = options.topLeftCell; this.customizeCell = options.customizeCell; this.mergeColumnFieldValues = options.mergeColumnFieldValues; this.mergeRowFieldValues = options.mergeRowFieldValues; this.exportFilterFieldHeaders = options.exportFilterFieldHeaders; this.exportDataFieldHeaders = options.exportDataFieldHeaders; this.exportColumnFieldHeaders = options.exportColumnFieldHeaders; this.exportRowFieldHeaders = options.exportRowFieldHeaders; this.rtlEnabled = component.option("rtlEnabled"); this.rowHeaderLayout = component.option("rowHeaderLayout"); this.wrapText = !!component.option("wordWrapEnabled"); this.filterFieldHeaders = this._tryGetFieldHeaders("filter"); this.dataFieldHeaders = this._tryGetFieldHeaders("data"); this.columnFieldHeaders = this._tryGetFieldHeaders("column"); this.rowFieldHeaders = this._tryGetFieldHeaders("row") } var _proto = PivotGridHelpers.prototype; _proto._getFirstColumnIndex = function() { return this.topLeftCell.column }; _proto._getWorksheetFrozenState = function(cellRange) { var _this$dataProvider$ge = this.dataProvider.getFrozenArea(), x = _this$dataProvider$ge.x, y = _this$dataProvider$ge.y; return { state: "frozen", xSplit: cellRange.from.column + x - 1, ySplit: cellRange.from.row + y + this._getFieldHeaderRowsCount() - 1 } }; _proto._getFieldHeaderRowsCount = function() { return 0 + this._allowExportFilterFieldHeaders() + (this._allowExportDataFieldHeaders() || this._allowExportColumnFieldHeaders()) }; _proto._isFrozenZone = function() { return true }; _proto._isHeaderCell = function(rowIndex, cellIndex) { return rowIndex < this.dataProvider.getColumnAreaRowCount() || cellIndex < this.dataProvider.getRowAreaColCount() }; _proto._getDefaultFieldHeaderCellsData = function(value) { return { text: value, value: value } }; _proto._isInfoCell = function(rowIndex, cellIndex) { return rowIndex < this.dataProvider.getColumnAreaRowCount() && cellIndex < this.dataProvider.getRowAreaColCount() }; _proto._allowToMergeRange = function(rowIndex, cellIndex, rowspan, colspan) { return !(this.dataProvider.isColumnAreaCell(rowIndex, cellIndex) && !this.mergeColumnFieldValues && !!colspan || this.dataProvider.isRowAreaCell(rowIndex, cellIndex) && !this.mergeRowFieldValues && !!rowspan) }; _proto._trySetAutoFilter = function() {}; _proto._trySetFont = function(excelCell, bold) { if ((0, _type.isDefined)(bold)) { excelCell.font = excelCell.font || {}; excelCell.font.bold = bold } }; _proto._getFieldHeaderStyles = function() { var borderStyle = { style: "thin", color: { argb: "FF7E7E7E" } }; return { alignment: (0, _position.getDefaultAlignment)(this.rtlEnabled), bold: true, border: { bottom: borderStyle, left: borderStyle, right: borderStyle, top: borderStyle } } }; _proto._trySetOutlineLevel = function() {}; _proto._getAllFieldHeaders = function() { return this.dataProvider._exportController.getDataSource()._descriptions }; _proto._tryGetFieldHeaders = function(area) { if (!this["export".concat((0, _inflector.camelize)(area, true), "FieldHeaders")]) { return [] } var fields = this._getAllFieldHeaders()["data" === area ? "values" : "".concat(area, "s")].filter((function(fieldHeader) { return fieldHeader.area === area })); if ("right" === (0, _position.getDefaultAlignment)(this.rtlEnabled)) { fields.sort((function(a, b) { return b.areaIndex - a.areaIndex })) } return fields.map((function(field) { return field.caption })) }; _proto._customizeCell = function(excelCell, pivotCell, shouldPreventCall) { if ((0, _type.isFunction)(this.customizeCell) && !shouldPreventCall) { this.customizeCell({ excelCell: excelCell, pivotCell: pivotCell }) } }; _proto._isRowFieldHeadersRow = function(rowIndex) { var isLastInfoRangeCell = this._isInfoCell(rowIndex, 0) && "row" === this.dataProvider.getCellData(rowIndex + 1, 0, true).cellSourceData.area; return this._allowExportRowFieldHeaders() && isLastInfoRangeCell }; _proto._exportAllFieldHeaders = function(columns, setAlignment) { var totalCellsCount = columns.length; var rowAreaColCount = this.dataProvider.getRowAreaColCount(); var rowIndex = this.topLeftCell.row; if (this._allowExportFilterFieldHeaders()) { this._exportFieldHeaders("filter", rowIndex, 0, totalCellsCount, setAlignment); rowIndex++ } if (this._allowExportDataFieldHeaders()) { this._exportFieldHeaders("data", rowIndex, 0, rowAreaColCount, setAlignment); if (!this._allowExportColumnFieldHeaders()) { this._exportFieldHeaders("column", rowIndex, rowAreaColCount, totalCellsCount - rowAreaColCount, setAlignment) } } if (this._allowExportColumnFieldHeaders()) { if (!this._allowExportDataFieldHeaders()) { this._exportFieldHeaders("data", rowIndex, 0, rowAreaColCount, setAlignment) } this._exportFieldHeaders("column", rowIndex, rowAreaColCount, totalCellsCount - rowAreaColCount, setAlignment) } }; _proto._exportFieldHeaders = function(area, rowIndex, startColumnIndex, totalColumnsCount, setAlignment) { var fieldHeaders = this["".concat(area, "FieldHeaders")]; var row = this.worksheet.getRow(rowIndex); var shouldMergeHeaderField = "row" !== area || "row" === area && "tree" === this.rowHeaderLayout; if (shouldMergeHeaderField) { this.mergedRangesManager.addMergedRange(row.getCell(this.topLeftCell.column + startColumnIndex), 0, totalColumnsCount - 1) } for (var cellIndex = 0; cellIndex < totalColumnsCount; cellIndex++) { var excelCell = row.getCell(this.topLeftCell.column + startColumnIndex + cellIndex); var values = fieldHeaders; var cellData; var value = values.length > totalColumnsCount || shouldMergeHeaderField ? values.join(", ") : values[cellIndex]; cellData = _extends({}, this._getDefaultFieldHeaderCellsData(value), { headerType: area }); excelCell.value = value; this._applyHeaderStyles(excelCell, setAlignment); this._customizeCell(excelCell, cellData) } }; _proto._applyHeaderStyles = function(excelCell, setAlignment) { var _this$_getFieldHeader = this._getFieldHeaderStyles(), bold = _this$_getFieldHeader.bold, alignment = _this$_getFieldHeader.alignment, border = _this$_getFieldHeader.border; this._trySetFont(excelCell, bold); setAlignment(excelCell, this.wrapText, alignment); excelCell.border = border }; _proto._allowExportRowFieldHeaders = function() { return this.rowFieldHeaders.length > 0 }; _proto._allowExportFilterFieldHeaders = function() { return this.filterFieldHeaders.length > 0 }; _proto._allowExportDataFieldHeaders = function() { return this.dataFieldHeaders.length > 0 }; _proto._allowExportColumnFieldHeaders = function() { return this.columnFieldHeaders.length > 0 }; return PivotGridHelpers }(); function _getLoadPanelTargetElement(component) { return component._dataArea.groupElement() } function _getLoadPanelContainer(component) { return component.$element() } }, 48351: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/file_saver.js ***! \********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.fileSaver = exports.MIME_TYPES = void 0; var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _ui = _interopRequireDefault(__webpack_require__( /*! ../ui/widget/ui.errors */ 96688)); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _console = __webpack_require__( /*! ../core/utils/console */ 30869); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var navigator = (0, _window.getNavigator)(); var FILE_EXTESIONS = { EXCEL: "xlsx", CSS: "css", PNG: "png", JPEG: "jpeg", GIF: "gif", SVG: "svg", PDF: "pdf" }; var MIME_TYPES = { CSS: "text/css", EXCEL: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", PNG: "image/png", JPEG: "image/jpeg", GIF: "image/gif", SVG: "image/svg+xml", PDF: "application/pdf" }; exports.MIME_TYPES = MIME_TYPES; var fileSaver = { _revokeObjectURLTimeout: 3e4, _getDataUri: function(format, data) { var mimeType = this._getMimeType(format); return "data:".concat(mimeType, ";base64,").concat(data) }, _getMimeType: function(format) { return MIME_TYPES[format] || "application/octet-stream" }, _linkDownloader: function(fileName, href) { var exportLinkElement = _dom_adapter.default.createElement("a"); exportLinkElement.download = fileName; exportLinkElement.href = href; exportLinkElement.target = "_blank"; return exportLinkElement }, _winJSBlobSave: function(blob, fileName, format) { var savePicker = new Windows.Storage.Pickers.FileSavePicker; savePicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.documentsLibrary; var fileExtension = FILE_EXTESIONS[format]; if (fileExtension) { var mimeType = this._getMimeType(format); savePicker.fileTypeChoices.insert(mimeType, ["." + fileExtension]) } savePicker.suggestedFileName = fileName; savePicker.pickSaveFileAsync().then((function(file) { if (file) { file.openAsync(Windows.Storage.FileAccessMode.readWrite).then((function(outputStream) { var inputStream = blob.msDetachStream(); Windows.Storage.Streams.RandomAccessStream.copyAsync(inputStream, outputStream).then((function() { outputStream.flushAsync().done((function() { inputStream.close(); outputStream.close() })) })) })) } })) }, _click: function(link) { try { link.dispatchEvent(new MouseEvent("click", { cancelable: true })) } catch (e) { var event = _dom_adapter.default.getDocument().createEvent("MouseEvents"); event.initMouseEvent("click", true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null); link.dispatchEvent(event) } }, _saveBlobAs: function(fileName, format, data) { var _this = this; this._blobSaved = false; if ((0, _type.isDefined)(navigator.msSaveOrOpenBlob)) { navigator.msSaveOrOpenBlob(data, fileName); this._blobSaved = true } else if ((0, _type.isDefined)(window.WinJS)) { this._winJSBlobSave(data, fileName, format); this._blobSaved = true } else { var URL = window.URL || window.webkitURL || window.mozURL || window.msURL || window.oURL; if ((0, _type.isDefined)(URL)) { var objectURL = URL.createObjectURL(data); var downloadLink = this._linkDownloader(fileName, objectURL); setTimeout((function() { URL.revokeObjectURL(objectURL); _this._objectUrlRevoked = true }), this._revokeObjectURLTimeout); this._click(downloadLink) } else { _console.logger.warn("window.URL || window.webkitURL || window.mozURL || window.msURL || window.oURL is not defined") } } }, saveAs: function(fileName, format, data) { var fileExtension = FILE_EXTESIONS[format]; if (fileExtension) { fileName += "." + fileExtension } if ((0, _type.isFunction)(window.Blob)) { this._saveBlobAs(fileName, format, data) } else { if (!(0, _type.isDefined)(navigator.userAgent.match(/iPad/i))) { _ui.default.log("E1034") } var downloadLink = this._linkDownloader(fileName, this._getDataUri(format, data)); this._click(downloadLink) } } }; exports.fileSaver = fileSaver }, 12173: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/image_creator.js ***! \***********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.calcScaledInfo = calcScaledInfo; exports.getData = function(data, options) { return imageCreator.getData(data, options) }; exports.imageCreator = void 0; exports.testFormats = function(formats) { var canvas = imageCreator._createCanvas(100, 100, 0); return formats.reduce((function(r, f) { var mimeType = ("image/" + f).toLowerCase(); if (-1 !== canvas.toDataURL(mimeType).indexOf(mimeType)) { r.supported.push(f) } else { r.unsupported.push(f) } return r }), { supported: [], unsupported: [] }) }; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _color = _interopRequireDefault(__webpack_require__( /*! ../color */ 52752)); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _svg = __webpack_require__( /*! ../core/utils/svg */ 19155); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); var _dom = __webpack_require__( /*! ../core/utils/dom */ 3532); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _inflector = __webpack_require__( /*! ../core/utils/inflector */ 78008); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var _math = Math; var PI = _math.PI; var _min = _math.min; var _abs = _math.abs; var _sqrt = _math.sqrt; var _pow = _math.pow; var _atan2 = _math.atan2; var _cos = _math.cos; var _sin = _math.sin; var _number = Number; var parseAttributes; function arcTo(x1, y1, x2, y2, radius, largeArcFlag, clockwise, context) { var cBx = (x1 + x2) / 2; var cBy = (y1 + y2) / 2; var aB = _atan2(y1 - y2, x1 - x2); var k = largeArcFlag ? 1 : -1; aB += PI / 180 * 90 * (clockwise ? 1 : -1); var opSide = _sqrt(_pow(x2 - x1, 2) + _pow(y2 - y1, 2)) / 2; var adjSide = _sqrt(_abs(_pow(radius, 2) - _pow(opSide, 2))); var centerX = cBx + k * (adjSide * _cos(aB)); var centerY = cBy + k * (adjSide * _sin(aB)); var startAngle = _atan2(y1 - centerY, x1 - centerX); var endAngle = _atan2(y2 - centerY, x2 - centerX); context.arc(centerX, centerY, radius, startAngle, endAngle, !clockwise) } function getElementOptions(element, rootAppended) { var attr = parseAttributes(element.attributes || {}); var options = (0, _extend.extend)({}, attr, { text: element.textContent.replace(/\s+/g, " "), textAlign: "middle" === attr["text-anchor"] ? "center" : attr["text-anchor"] }); var transform = attr.transform; var coords; if (transform) { coords = transform.match(/translate\(-*\d+([.]\d+)*(,*\s*-*\d+([.]\d+)*)*/); if (coords) { coords = coords[0].match(/-*\d+([.]\d+)*/g); options.translateX = _number(coords[0]); options.translateY = coords[1] ? _number(coords[1]) : 0 } coords = transform.match(/rotate\(-*\d+([.]\d+)*(,*\s*-*\d+([.]\d+)*,*\s*-*\d+([.]\d+)*)*/); if (coords) { coords = coords[0].match(/-*\d+([.]\d+)*/g); options.rotationAngle = _number(coords[0]); options.rotationX = coords[1] && _number(coords[1]); options.rotationY = coords[2] && _number(coords[2]) } coords = transform.match(/scale\(-*\d+([.]\d+)*(,*\s*-*\d+([.]\d+)*)*/); if (coords) { coords = coords[0].match(/-*\d+([.]\d+)*/g); options.scaleX = _number(coords[0]); if (coords.length > 1) { options.scaleY = _number(coords[1]) } else { options.scaleY = options.scaleX } } }! function(element, options, rootAppended) { var style = element.style || {}; var field; for (field in style) { if ("" !== style[field]) { options[(0, _inflector.camelize)(field)] = style[field] } } if (rootAppended && _dom_adapter.default.isElementNode(element)) { style = window.getComputedStyle(element); ["fill", "stroke", "stroke-width", "font-family", "font-size", "font-style", "font-weight"].forEach((function(prop) { if (prop in style && "" !== style[prop]) { options[(0, _inflector.camelize)(prop)] = style[prop] } })); ["opacity", "fill-opacity", "stroke-opacity"].forEach((function(prop) { if (prop in style && "" !== style[prop] && "1" !== style[prop]) { options[prop] = _number(style[prop]) } })) } options.textDecoration = options.textDecoration || options.textDecorationLine; options.globalAlpha = (0, _type.isDefined)(options.opacity) ? options.opacity : options.globalAlpha }(element, options, rootAppended); return options } function parseUrl(urlString) { var matches = urlString && urlString.match(/url\(.*#(.*?)["']?\)/i); return matches && matches[1] } function setFontStyle(context, options) { var fontParams = []; options.fontSize = options.fontSize || "10px"; options.fontFamily = options.fontFamily || "sans-serif"; options.fill = options.fill || "#000"; options.fontStyle && fontParams.push(options.fontStyle); options.fontWeight && fontParams.push(options.fontWeight); fontParams.push(options.fontSize); fontParams.push(options.fontFamily); context.font = fontParams.join(" "); context.textAlign = options.textAlign; context.fillStyle = options.fill; context.globalAlpha = options.globalAlpha } function drawText(context, options, shared) { setFontStyle(context, options); applyFilter(context, options, shared); options.text && context.fillText(options.text, options.x || 0, options.y || 0); strokeElement(context, options, true); ! function(context, options, shared) { if (!options.textDecoration || "none" === options.textDecoration) { return } var x = options.x; var textWidth = context.measureText(options.text).width; var textHeight = parseInt(options.fontSize, 10); var lineHeight = .05 * textHeight < 1 ? 1 : .05 * textHeight; var y = options.y; switch (options.textDecoration) { case "line-through": y -= textHeight / 3 + lineHeight / 2; break; case "overline": y -= textHeight - lineHeight; break; case "underline": y += lineHeight } context.rect(x, y, textWidth, lineHeight); fillElement(context, options, shared); strokeElement(context, options) }(context, options, shared) } function hasTspan(element) { var nodes = element.childNodes; for (var i = 0; i < nodes.length; i++) { if ("tspan" === nodes[i].tagName) { return true } } return false } function drawElement(element, context, parentOptions, shared) { var tagName = element.tagName; var isText = "text" === tagName || "tspan" === tagName || void 0 === tagName; var isImage = "image" === tagName; var isComment = 8 === element.nodeType; var options = (0, _extend.extend)({}, parentOptions, getElementOptions(element, shared.rootAppended)); if ("hidden" === options.visibility || options[_svg.HIDDEN_FOR_EXPORT] || isComment) { return } context.save(); !isImage && transformElement(context, options); clipElement(context, options, shared); ! function(options) { options.strokeOpacity = void 0 !== options["stroke-opacity"] ? options["stroke-opacity"] : 1; options.fillOpacity = void 0 !== options["fill-opacity"] ? options["fill-opacity"] : 1; if (void 0 !== options.opacity) { options.strokeOpacity *= options.opacity; options.fillOpacity *= options.opacity } }(options); var promise; context.beginPath(); switch (element.tagName) { case void 0: drawText(context, options, shared); break; case "text": case "tspan": ! function drawTextElement(childNodes, context, options, shared) { var lines = []; var line; var offset = 0; for (var i = 0; i < childNodes.length; i++) { var element = childNodes[i]; if (void 0 === element.tagName) { drawElement(element, context, options, shared) } else if ("tspan" === element.tagName || "text" === element.tagName) { var elementOptions = getElementOptions(element, shared.rootAppended); var mergedOptions = (0, _extend.extend)({}, options, elementOptions); if ("tspan" === element.tagName && hasTspan(element)) { drawTextElement(element.childNodes, context, mergedOptions, shared); continue } mergedOptions.textAlign = "start"; if (!line || void 0 !== elementOptions.x) { line = { elements: [], options: [], widths: [], offsets: [] }; lines.push(line) } if (void 0 !== elementOptions.y) { offset = 0 } if (void 0 !== elementOptions.dy) { offset += parseFloat(elementOptions.dy) } line.elements.push(element); line.options.push(mergedOptions); line.offsets.push(offset); setFontStyle(context, mergedOptions); line.widths.push(context.measureText(mergedOptions.text).width) } } lines.forEach((function(line) { var commonWidth = line.widths.reduce((function(commonWidth, width) { return commonWidth + width }), 0); var xDiff = 0; var currentOffset = 0; if ("center" === options.textAlign) { xDiff = commonWidth / 2 } if ("end" === options.textAlign) { xDiff = commonWidth } line.options.forEach((function(o, index) { var width = line.widths[index]; o.x = o.x - xDiff + currentOffset; o.y += line.offsets[index]; currentOffset += width })); line.elements.forEach((function(element, index) { drawTextElement(element.childNodes, context, line.options[index], shared) })) })) }(element.childNodes, context, options, shared); break; case "image": promise = function(context, options, shared) { var d = new _deferred.Deferred; var image = new window.Image; image.onload = function() { context.save(); context.globalAlpha = options.globalAlpha; transformElement(context, options); clipElement(context, options, shared); context.drawImage(image, options.x || 0, options.y || 0, options.width, options.height); context.restore(); d.resolve() }; image.onerror = function() { d.resolve() }; image.setAttribute("crossOrigin", "anonymous"); image.src = options.href || options["xlink:href"]; return d }(context, options, shared); break; case "path": ! function(context, dAttr) { var dArray = dAttr.replace(/,/g, " ").split(/([A-Z])/i).filter((function(item) { return "" !== item.trim() })); var i = 0; var params; var prevParams; var prevParamsLen; do { params = (dArray[i + 1] || "").trim().split(" "); switch (dArray[i]) { case "M": context.moveTo(_number(params[0]), _number(params[1])); i += 2; break; case "L": for (var j = 0; j < params.length / 2; j++) { context.lineTo(_number(params[2 * j]), _number(params[2 * j + 1])) } i += 2; break; case "C": context.bezierCurveTo(_number(params[0]), _number(params[1]), _number(params[2]), _number(params[3]), _number(params[4]), _number(params[5])); i += 2; break; case "a": prevParams = dArray[i - 1].trim().split(" "); prevParamsLen = prevParams.length - 1; arcTo(_number(prevParams[prevParamsLen - 1]), _number(prevParams[prevParamsLen]), _number(prevParams[prevParamsLen - 1]) + _number(params[5]), _number(prevParams[prevParamsLen]) + _number(params[6]), _number(params[0]), _number(params[3]), _number(params[4]), context); i += 2; break; case "A": prevParams = dArray[i - 1].trim().split(" "); prevParamsLen = prevParams.length - 1; arcTo(_number(prevParams[prevParamsLen - 1]), _number(prevParams[prevParamsLen]), _number(params[5]), _number(params[6]), _number(params[0]), _number(params[3]), _number(params[4]), context); i += 2; break; case "Z": context.closePath(); i += 1; break; default: i++ } } while (i < dArray.length) }(context, options.d); break; case "rect": ! function(context, options) { var x = options.x; var y = options.y; var width = options.width; var height = options.height; var cornerRadius = options.rx; if (!cornerRadius) { context.rect(x, y, width, height) } else { cornerRadius = _min(cornerRadius, width / 2, height / 2); context.save(); context.translate(x, y); context.moveTo(width / 2, 0); context.arcTo(width, 0, width, height, cornerRadius); context.arcTo(width, height, 0, height, cornerRadius); context.arcTo(0, height, 0, 0, cornerRadius); context.arcTo(0, 0, cornerRadius, 0, cornerRadius); context.lineTo(width / 2, 0); context.restore() } }(context, options); context.closePath(); break; case "circle": context.arc(options.cx, options.cy, options.r, 0, 2 * PI, 1) } if (!isText) { applyFilter(context, options, shared); if (!isImage) { promise = fillElement(context, options, shared) } strokeElement(context, options) } applyGradient(context, options, shared, element, "linear"); applyGradient(context, options, shared, element, "radial"); context.restore(); return promise } function applyGradient(context, options, _ref, element, type) { var linearGradients = _ref.linearGradients, radialGradients = _ref.radialGradients; var gradients = "linear" === type ? linearGradients : radialGradients; if (0 === Object.keys(gradients).length) { return } var id = parseUrl(options.fill); if (id && gradients[id]) { var box = element.getBBox(); var horizontalCenter = box.x + box.width / 2; var verticalCenter = box.y + box.height / 2; var maxRadius = Math.max(box.height / 2, box.width / 2); var gradient = "linear" === type ? context.createLinearGradient(box.x, 0, box.x + box.width, 0) : context.createRadialGradient(horizontalCenter, verticalCenter, 0, horizontalCenter, verticalCenter, maxRadius); gradients[id].colors.forEach((function(opt) { var offset = parseInt(opt.offset.replace(/%/, "")); gradient.addColorStop(offset / 100, opt.stopColor) })); if ("linear" === type) { var _ref2, _gradients$id$transfo; var angle = null !== (_ref2 = (null === (_gradients$id$transfo = gradients[id].transform) || void 0 === _gradients$id$transfo ? void 0 : _gradients$id$transfo.replace(/\D/g, "")) * Math.PI / 180) && void 0 !== _ref2 ? _ref2 : 0; context.translate(horizontalCenter, verticalCenter); context.rotate(angle); context.translate(-horizontalCenter, -verticalCenter) } context.globalAlpha = options.opacity; context.fillStyle = gradient; context.fill() } } function applyFilter(context, options, shared) { var filterOptions; var id = parseUrl(options.filter); if (id) { filterOptions = shared.filters[id]; if (!filterOptions) { filterOptions = { offsetX: 0, offsetY: 0, blur: 0, color: "#000" } } context.shadowOffsetX = filterOptions.offsetX; context.shadowOffsetY = filterOptions.offsetY; context.shadowColor = filterOptions.color; context.shadowBlur = filterOptions.blur } } function transformElement(context, options) { context.translate(options.translateX || 0, options.translateY || 0); options.translateX = void 0; options.translateY = void 0; if (options.rotationAngle) { context.translate(options.rotationX || 0, options.rotationY || 0); context.rotate(options.rotationAngle * PI / 180); context.translate(-(options.rotationX || 0), -(options.rotationY || 0)); options.rotationAngle = void 0; options.rotationX = void 0; options.rotationY = void 0 } if (isFinite(options.scaleX)) { context.scale(options.scaleX, options.scaleY); options.scaleX = void 0; options.scaleY = void 0 } } function clipElement(context, options, shared) { if (options["clip-path"]) { drawElement(shared.clipPaths[parseUrl(options["clip-path"])], context, {}, shared); context.clip(); options["clip-path"] = void 0 } } function createGradient(element) { var _element$attributes$g; var options = { colors: [], transform: null === (_element$attributes$g = element.attributes.gradientTransform) || void 0 === _element$attributes$g ? void 0 : _element$attributes$g.textContent }; (0, _iterator.each)(element.childNodes, (function(_, _ref3) { var attributes = _ref3.attributes; options.colors.push({ offset: attributes.offset.value, stopColor: attributes["stop-color"].value }) })); return options } function createFilter(element) { var color; var opacity; var filterOptions = {}; (0, _iterator.each)(element.childNodes, (function(_, node) { var attr = node.attributes; if (!attr.result) { return } switch (attr.result.value) { case "gaussianBlurResult": filterOptions.blur = _number(attr.stdDeviation.value); break; case "offsetResult": filterOptions.offsetX = _number(attr.dx.value); filterOptions.offsetY = _number(attr.dy.value); break; case "floodResult": color = attr["flood-color"] ? attr["flood-color"].value : "#000"; opacity = attr["flood-opacity"] ? attr["flood-opacity"].value : 1; filterOptions.color = function(hexColor, alpha) { var color = new _color.default(hexColor); return "rgba(" + color.r + "," + color.g + "," + color.b + "," + alpha + ")" }(color, opacity) } })); return filterOptions } function drawCanvasElements(elements, context, parentOptions, shared) { return function asyncEach(array, callback) { var d = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : new _deferred.Deferred; var i = 0; for (; i < array.length; i++) { var result = callback(array[i]); if ((0, _type.isPromise)(result)) { result.then((function() { asyncEach(Array.prototype.slice.call(array, i + 1), callback, d) })); break } } if (i === array.length) { d.resolve() } return d }(elements, (function(element) { switch (element.tagName && element.tagName.toLowerCase()) { case "g": case "svg": var options = (0, _extend.extend)({}, parentOptions, getElementOptions(element, shared.rootAppended)); context.save(); transformElement(context, options); clipElement(context, options, shared); var onDone = function() { context.restore() }; var promise = drawCanvasElements(element.childNodes, context, options, shared); if ((0, _type.isPromise)(promise)) { promise.then(onDone) } else { onDone() } return promise; case "defs": return drawCanvasElements(element.childNodes, context, {}, shared); case "clippath": shared.clipPaths[element.attributes.id.textContent] = element.childNodes[0]; break; case "pattern": shared.patterns[element.attributes.id.textContent] = element; break; case "filter": shared.filters[element.id] = createFilter(element); break; case "lineargradient": shared.linearGradients[element.attributes.id.textContent] = createGradient(element); break; case "radialgradient": shared.radialGradients[element.attributes.id.textContent] = createGradient(element); break; default: return drawElement(element, context, parentOptions, shared) } })) } function strokeElement(context, options, isText) { var stroke = options.stroke; if (stroke && "none" !== stroke && 0 !== options["stroke-width"]) { ! function(context, options) { var matches = options["stroke-dasharray"] && options["stroke-dasharray"].match(/(\d+)/g); if (matches && matches.length) { matches = (0, _iterator.map)(matches, (function(item) { return _number(item) })); context.setLineDash(matches) } }(context, options); context.lineJoin = options["stroke-linejoin"]; context.lineWidth = options["stroke-width"]; context.globalAlpha = options.strokeOpacity; context.strokeStyle = stroke; isText ? context.strokeText(options.text, options.x, options.y) : context.stroke(); context.globalAlpha = 1 } } function fillElement(context, options, shared) { var fill = options.fill; var promise; if (fill && "none" !== fill) { if (-1 === fill.search(/url/)) { context.fillStyle = fill; context.globalAlpha = options.fillOpacity; context.fill(); context.globalAlpha = 1 } else { var pattern = shared.patterns[parseUrl(fill)]; if (!pattern) { return } promise = function(context, pattern, shared, parentOptions) { var options = getElementOptions(pattern, shared.rootAppended); var patternCanvas = imageCreator._createCanvas(options.width, options.height, 0); var patternContext = patternCanvas.getContext("2d"); var promise = drawCanvasElements(pattern.childNodes, patternContext, options, shared); var onDone = function() { context.fillStyle = context.createPattern(patternCanvas, "repeat"); context.globalAlpha = parentOptions.fillOpacity; context.fill(); context.globalAlpha = 1 }; if ((0, _type.isPromise)(promise)) { promise.then(onDone) } else { onDone() } return promise }(context, pattern, shared, options) } } return promise } parseAttributes = function(attributes) { var newAttributes = {}; var attr; (0, _iterator.each)(attributes, (function(index, item) { attr = item.textContent; if (isFinite(attr)) { attr = _number(attr) } newAttributes[item.name.toLowerCase()] = attr })); return newAttributes }; function convertSvgToCanvas(svg, canvas, rootAppended) { return drawCanvasElements(svg.childNodes, canvas.getContext("2d"), {}, { clipPaths: {}, patterns: {}, filters: {}, linearGradients: {}, radialGradients: {}, rootAppended: rootAppended }) } function getCanvasFromSvg(markup, _ref4) { var width = _ref4.width, height = _ref4.height, backgroundColor = _ref4.backgroundColor, margin = _ref4.margin, _ref4$svgToCanvas = _ref4.svgToCanvas, svgToCanvas = void 0 === _ref4$svgToCanvas ? convertSvgToCanvas : _ref4$svgToCanvas; var scaledScreenInfo = calcScaledInfo(width, height); var canvas = imageCreator._createCanvas(scaledScreenInfo.width, scaledScreenInfo.height, margin); var context = canvas.getContext("2d"); context.setTransform(scaledScreenInfo.pixelRatio, 0, 0, scaledScreenInfo.pixelRatio, 0, 0); var svgElem = (0, _svg.getSvgElement)(markup); var invisibleDiv; var markupIsDomElement = _dom_adapter.default.isElementNode(markup); context.translate(margin, margin); _dom_adapter.default.getBody().appendChild(canvas); if (!markupIsDomElement) { invisibleDiv = function() { var invisibleDiv = _dom_adapter.default.createElement("div"); invisibleDiv.style.left = "-9999px"; invisibleDiv.style.position = "absolute"; return invisibleDiv }(); invisibleDiv.appendChild(svgElem); _dom_adapter.default.getBody().appendChild(invisibleDiv) } if (svgElem.attributes.direction) { canvas.dir = svgElem.attributes.direction.textContent }! function(context, width, height, backgroundColor, margin) { context.fillStyle = backgroundColor || "#ffffff"; context.fillRect(-margin, -margin, width + 2 * margin, height + 2 * margin) }(context, width, height, backgroundColor, margin); return (0, _deferred.fromPromise)(svgToCanvas(svgElem, canvas, markupIsDomElement && (0, _dom.contains)(_dom_adapter.default.getBody(), markup))).then((function() { return canvas })).always((function() { invisibleDiv && _dom_adapter.default.getBody().removeChild(invisibleDiv); _dom_adapter.default.getBody().removeChild(canvas) })) } var imageCreator = { getImageData: function(markup, options) { var mimeType = "image/" + options.format; if ((0, _type.isFunction)(options.__parseAttributesFn)) { parseAttributes = options.__parseAttributesFn } return getCanvasFromSvg(markup, options).then((function(canvas) { return function(canvas, mimeType) { var dataURL = canvas.toDataURL(mimeType, 1); var imageData = window.atob(dataURL.substring(("data:" + mimeType + ";base64,").length)); return imageData }(canvas, mimeType) })) }, getData: function(markup, options) { var that = this; return imageCreator.getImageData(markup, options).then((function(binaryData) { var mimeType = "image/" + options.format; var data = (0, _type.isFunction)(window.Blob) && !options.useBase64 ? that._getBlob(binaryData, mimeType) : that._getBase64(binaryData); return data })) }, _getBlob: function(binaryData, mimeType) { var i; var dataArray = new Uint8Array(binaryData.length); for (i = 0; i < binaryData.length; i++) { dataArray[i] = binaryData.charCodeAt(i) } return new window.Blob([dataArray.buffer], { type: mimeType }) }, _getBase64: function(binaryData) { return window.btoa(binaryData) }, _createCanvas: function(width, height, margin) { var canvas = (0, _renderer.default)("")[0]; canvas.width = width + 2 * margin; canvas.height = height + 2 * margin; canvas.hidden = true; return canvas } }; exports.imageCreator = imageCreator; function calcScaledInfo(width, height) { var pixelRatio = window.devicePixelRatio || 1; return { pixelRatio: pixelRatio, width: width * pixelRatio, height: height * pixelRatio } } }, 18577: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/jspdf/autotable/export.js ***! \********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Export = void 0; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../localization/date */ 91500)); var _number = _interopRequireDefault(__webpack_require__( /*! ../../../localization/number */ 18016)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../localization/message */ 28109)); var _export_load_panel = __webpack_require__( /*! ../../common/export_load_panel */ 5332); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var Export = { getFullOptions: function(options) { var fullOptions = (0, _extend.extend)({}, options); if (!((0, _type.isDefined)(fullOptions.jsPDFDocument) && (0, _type.isObject)(fullOptions.jsPDFDocument))) { throw Error('The "jsPDFDocument" field must contain a jsPDF instance.') } if (!((0, _type.isDefined)(fullOptions.jsPDFDocument.autoTable) && (0, _type.isFunction)(fullOptions.jsPDFDocument.autoTable))) { throw Error('The "exportDataGrid" method requires a autoTable plugin for jsPDF object.') } if (!(0, _type.isDefined)(fullOptions.keepColumnWidths)) { fullOptions.keepColumnWidths = true } if (!(0, _type.isDefined)(fullOptions.autoTableOptions)) { fullOptions.autoTableOptions = this._getDefaultAutoTableOptions() } else { if (!(0, _type.isObject)(fullOptions.autoTableOptions)) { throw Error('The "autoTableOptions" option must be of object type.') } fullOptions.autoTableOptions = (0, _extend.extend)(true, {}, this._getDefaultAutoTableOptions(), fullOptions.autoTableOptions) } if (!(0, _type.isDefined)(fullOptions.loadPanel)) { fullOptions.loadPanel = {} } if (!(0, _type.isDefined)(fullOptions.loadPanel.enabled)) { fullOptions.loadPanel.enabled = true } if (!(0, _type.isDefined)(fullOptions.loadPanel.text)) { fullOptions.loadPanel.text = _message.default.format("dxDataGrid-exporting") } return fullOptions }, _getDefaultAutoTableOptions: function() { return { theme: "plain", tableLineColor: 149, tableLineWidth: .1, styles: { textColor: 51, lineColor: 149, lineWidth: 0 }, columnStyles: {}, headStyles: { fontStyle: "normal", textColor: 149, lineWidth: .1 }, bodyStyles: { lineWidth: .1 }, head: [], body: [] } }, export: function(options) { var _component$_getIntern, _this = this; var jsPDFDocument = options.jsPDFDocument, autoTableOptions = options.autoTableOptions, component = options.component, customizeCell = options.customizeCell, keepColumnWidths = options.keepColumnWidths, selectedRowsOnly = options.selectedRowsOnly, loadPanel = options.loadPanel; var internalComponent = (null === (_component$_getIntern = component._getInternalInstance) || void 0 === _component$_getIntern ? void 0 : _component$_getIntern.call(component)) || component; var initialLoadPanelEnabledOption = internalComponent.option("loadPanel") && internalComponent.option("loadPanel").enabled; if (initialLoadPanelEnabledOption) { component.option("loadPanel.enabled", false) } var exportLoadPanel; if (loadPanel.enabled && (0, _window.hasWindow)()) { var rowsView = component.getView("rowsView"); exportLoadPanel = new _export_load_panel.ExportLoadPanel(component, rowsView.element(), rowsView.element().parent(), loadPanel); exportLoadPanel.show() } var dataProvider = component.getDataProvider(selectedRowsOnly); var wrapText = !!component.option("wordWrapEnabled"); return new Promise((function(resolve) { dataProvider.ready().done((function() { var columns = dataProvider.getColumns(); var styles = dataProvider.getStyles(); var dataRowsCount = dataProvider.getRowsCount(); var headerRowCount = dataProvider.getHeaderRowCount(); var mergedCells = []; if (keepColumnWidths) { var pdfColumnWidths = _this._tryGetPdfColumnWidths(autoTableOptions.tableWidth, dataProvider.getColumnsWidths()); if ((0, _type.isDefined)(pdfColumnWidths) && (0, _type.isDefined)(autoTableOptions.columnStyles)) { _this._setColumnWidths(autoTableOptions.columnStyles, pdfColumnWidths) } } for (var rowIndex = 0; rowIndex < dataRowsCount; rowIndex++) { var row = []; for (var cellIndex = 0; cellIndex < columns.length; cellIndex++) { var _dataProvider$getCell = dataProvider.getCellData(rowIndex, cellIndex, true), value = _dataProvider$getCell.value, gridCell = _dataProvider$getCell.cellSourceData; var cellStyle = styles[dataProvider.getStyleId(rowIndex, cellIndex)]; var pdfCell = { content: _this._getFormattedValue(value, cellStyle.format), styles: _this._getPDFCellStyles(gridCell.rowType, columns[cellIndex].alignment, cellStyle, wrapText) }; if ("header" === gridCell.rowType) { var mergedRange = _this._tryGetMergeRange(rowIndex, cellIndex, mergedCells, dataProvider); if (mergedRange && mergedRange.rowSpan > 0) { pdfCell.rowSpan = mergedRange.rowSpan + 1 } if (mergedRange && mergedRange.colSpan > 0) { pdfCell.colSpan = mergedRange.colSpan + 1 } var isMergedCell = mergedCells[rowIndex] && mergedCells[rowIndex][cellIndex]; if (!isMergedCell || pdfCell.rowSpan > 1 || pdfCell.colSpan > 1) { if ((0, _type.isFunction)(customizeCell)) { customizeCell({ gridCell: gridCell, pdfCell: pdfCell }) } row.push(pdfCell) } } else if ("group" === gridCell.rowType && !(0, _type.isDefined)(pdfCell.content) && 1 === row.length) { var _row$0$colSpan; row[0].colSpan = null !== (_row$0$colSpan = row[0].colSpan) && void 0 !== _row$0$colSpan ? _row$0$colSpan : 1; row[0].colSpan++ } else { var _pdfCell$content; pdfCell.content = null !== (_pdfCell$content = pdfCell.content) && void 0 !== _pdfCell$content ? _pdfCell$content : ""; if ((0, _type.isFunction)(customizeCell)) { customizeCell({ gridCell: gridCell, pdfCell: pdfCell }) } row.push(pdfCell) } } if (rowIndex < headerRowCount) { autoTableOptions.head.push(row) } else { autoTableOptions.body.push(row) } } jsPDFDocument.autoTable(autoTableOptions); resolve() })).always((function() { if (initialLoadPanelEnabledOption) { component.option("loadPanel.enabled", initialLoadPanelEnabledOption) } if (loadPanel.enabled && (0, _window.hasWindow)()) { exportLoadPanel.dispose() } })) })) }, _getFormattedValue: function(value, format) { if ((0, _type.isDefined)(format)) { if ((0, _type.isDate)(value)) { return _date.default.format(value, format) } if ((0, _type.isNumeric)(value)) { return _number.default.format(value, format) } } return value }, _getPDFCellStyles: function(rowType, columnAlignment, cellStyle, wrapText) { var cellAlignment = cellStyle.alignment, bold = cellStyle.bold; var align = "header" === rowType ? columnAlignment : cellAlignment; var pdfCellStyle = {}; if (align) { pdfCellStyle.halign = align } if (bold && "header" !== rowType) { pdfCellStyle.fontStyle = "bold" } if (wrapText) { pdfCellStyle.cellWidth = "wrap" } return pdfCellStyle }, _tryGetMergeRange: function(rowIndex, cellIndex, mergedCells, dataProvider) { if (!mergedCells[rowIndex] || !mergedCells[rowIndex][cellIndex]) { var _dataProvider$getCell2 = dataProvider.getCellMerging(rowIndex, cellIndex), colspan = _dataProvider$getCell2.colspan, rowspan = _dataProvider$getCell2.rowspan; if (colspan || rowspan) { for (var i = rowIndex; i <= rowIndex + rowspan || 0; i++) { for (var j = cellIndex; j <= cellIndex + colspan || 0; j++) { if (!mergedCells[i]) { mergedCells[i] = [] } mergedCells[i][j] = true } } return { rowSpan: rowspan, colSpan: colspan } } } }, _tryGetPdfColumnWidths: function(autoTableWidth, columnWidths) { if ((0, _type.isNumeric)(autoTableWidth) && (0, _type.isDefined)(columnWidths)) { var tableWidth = columnWidths.reduce((function(a, b) { return a + b }), 0); return columnWidths.map((function(columnWidth) { return autoTableWidth * columnWidth / tableWidth })) } }, _setColumnWidths: function(autoTableColumnStyles, pdfColumnWidths) { pdfColumnWidths.forEach((function(width, index) { autoTableColumnStyles[index] = autoTableColumnStyles[index] || {}; autoTableColumnStyles[index].cellWidth = width })) } }; exports.Export = Export }, 83152: /*!******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/jspdf/autotable/export_data_grid.js ***! \******************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.exportDataGrid = function(options) { return _export.Export.export(function(options) { if (!((0, _type.isDefined)(options) && (0, _type.isObject)(options))) { throw Error('The "exportDataGrid" method requires a configuration object.') } if (!((0, _type.isDefined)(options.component) && (0, _type.isObject)(options.component) && "dxDataGrid" === options.component.NAME)) { throw Error('The "component" field must contain a DataGrid instance.') } if (!(0, _type.isDefined)(options.selectedRowsOnly)) { options.selectedRowsOnly = false } return _export.Export.getFullOptions(options) }(options)) }; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _export = __webpack_require__( /*! ./export */ 18577) }, 66867: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/jspdf/common/draw_utils.js ***! \*********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.addNewPage = function(doc) { doc.addPage(); ! function(doc) { if (!(0, _type.isDefined)(doc.getLineWidth)) { doc.__borderWidth = null } }(doc) }; exports.drawCellsContent = function(doc, customDrawCell, cellsArray, docStyles) { cellsArray.forEach((function(cell) { var _rect = cell._rect, gridCell = cell.gridCell, pdfCell = function(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target }(cell, _excluded); var x = _rect.x, y = _rect.y, w = _rect.w, h = _rect.h; var rect = { x: x, y: y, w: w, h: h }; var eventArg = { doc: doc, rect: rect, pdfCell: pdfCell, gridCell: gridCell, cancel: false }; null === customDrawCell || void 0 === customDrawCell ? void 0 : customDrawCell(eventArg); if (!eventArg.cancel) { ! function(doc, cell) { if ((0, _type.isDefined)(cell.backgroundColor)) { trySetColor(doc, "fill", cell.backgroundColor); drawRect(doc, cell._rect.x, cell._rect.y, cell._rect.w, cell._rect.h, "F") } }(doc, cell); ! function(doc, cell, docStyles) { if ((0, _type.isDefined)(cell.text) && "" !== cell.text) { var textColor = cell.textColor, font = cell.font, _rect = cell._rect, padding = cell.padding; ! function(doc, _ref2, docStyles) { var textColor = _ref2.textColor, font = _ref2.font; trySetColor(doc, "text", (0, _type.isDefined)(textColor) ? textColor : docStyles.textColor); var currentFont = (0, _type.isDefined)(font) ? (0, _extend.extend)({}, docStyles.font, font) : docStyles.font; var docFont = doc.getFont(); if (currentFont.name !== docFont.fontName || currentFont.style !== docFont.fontStyle || (0, _type.isDefined)(currentFont.weight)) { doc.setFont(currentFont.name, currentFont.style, currentFont.weight) } if (currentFont.size !== doc.getFontSize()) { doc.setFontSize(currentFont.size) } }(doc, { textColor: textColor, font: font }, docStyles); var textRect = { x: _rect.x + padding.left, y: _rect.y + padding.top, w: _rect.w - (padding.left + padding.right), h: _rect.h - (padding.top + padding.bottom) }; if ((0, _type.isDefined)(cell._textLeftOffset) || (0, _type.isDefined)(cell._textTopOffset)) { var _cell$_textLeftOffset, _cell$_textTopOffset; textRect.x = textRect.x + (null !== (_cell$_textLeftOffset = cell._textLeftOffset) && void 0 !== _cell$_textLeftOffset ? _cell$_textLeftOffset : 0); textRect.y = textRect.y + (null !== (_cell$_textTopOffset = cell._textTopOffset) && void 0 !== _cell$_textTopOffset ? _cell$_textTopOffset : 0); doc.saveGraphicsState(); ! function(doc, x, y, w, h) { doc.moveTo(roundToThreeDecimals(x), roundToThreeDecimals(y)); doc.lineTo(roundToThreeDecimals(x + w), roundToThreeDecimals(y)); doc.lineTo(roundToThreeDecimals(x + w), roundToThreeDecimals(y + h)); doc.lineTo(roundToThreeDecimals(x), roundToThreeDecimals(y + h)); doc.clip(); doc.discardPath() }(doc, cell._rect.x, cell._rect.y, cell._rect.w, cell._rect.h) } drawTextInRect(doc, cell.text, textRect, cell.verticalAlign, cell.horizontalAlign, cell._internalTextOptions); if ((0, _type.isDefined)(cell._textLeftOffset) || (0, _type.isDefined)(cell._textTopOffset)) { doc.restoreGraphicsState() } } }(doc, cell, docStyles) } })) }; exports.drawCellsLines = function(doc, cellsArray, docStyles) { cellsArray.filter((function(cell) { return !(0, _type.isDefined)(cell.borderColor) })).forEach((function(cell) { drawBorders(doc, cell._rect, cell, docStyles) })); cellsArray.filter((function(cell) { return (0, _type.isDefined)(cell.borderColor) })).forEach((function(cell) { drawBorders(doc, cell._rect, cell, docStyles) })) }; exports.drawGridLines = function(doc, rect, options, docStyles) { drawBorders(doc, rect, options, docStyles) }; exports.drawLine = drawLine; exports.drawRect = drawRect; exports.drawTextInRect = drawTextInRect; exports.getDocumentStyles = function(doc) { var docFont = doc.getFont(); return { borderWidth: getDocBorderWidth(doc), borderColor: doc.getDrawColor(), font: { name: docFont.fontName, style: docFont.fontStyle, size: doc.getFontSize() }, textColor: doc.getTextColor() } }; exports.roundToThreeDecimals = roundToThreeDecimals; exports.setDocumentStyles = function(doc, styles) { var borderWidth = styles.borderWidth, borderColor = styles.borderColor, font = styles.font, textColor = styles.textColor; var docFont = doc.getFont(); if (docFont.fontName !== font.name || docFont.fontStyle !== font.style) { doc.setFont(font.name, font.style, void 0) } var docFontSize = doc.getFontSize(); if (docFontSize !== font.size) { doc.setFontSize(font.size) } if (getDocBorderWidth(doc) !== borderWidth) { setDocBorderWidth(doc, borderWidth) } if (doc.getDrawColor() !== borderColor) { doc.setDrawColor(borderColor) } if (doc.getTextColor() !== textColor) { doc.setTextColor(textColor) } }; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _pdf_utils = __webpack_require__( /*! ./pdf_utils */ 79262); var _excluded = ["_rect", "gridCell"]; function capitalizeFirstLetter(string) { return string.charAt(0).toUpperCase() + string.slice(1) } function roundToThreeDecimals(value) { return Math.round(1e3 * value) / 1e3 } function drawLine(doc, startX, startY, endX, endY) { doc.line(roundToThreeDecimals(startX), roundToThreeDecimals(startY), roundToThreeDecimals(endX), roundToThreeDecimals(endY)) } function drawRect(doc, x, y, width, height, style) { if ((0, _type.isDefined)(style)) { doc.rect(roundToThreeDecimals(x), roundToThreeDecimals(y), roundToThreeDecimals(width), roundToThreeDecimals(height), style) } else { doc.rect(roundToThreeDecimals(x), roundToThreeDecimals(y), roundToThreeDecimals(width), roundToThreeDecimals(height)) } } function drawTextInRect(doc, text, rect, verticalAlign, horizontalAlign, jsPDFTextOptions) { var textArray = text.split("\n"); var linesCount = textArray.length; var heightOfOneLine = (0, _pdf_utils.calculateTextHeight)(doc, textArray[0], doc.getFont(), { wordWrapEnabled: false, targetRectWidth: 1e9 }); var vAlign = null !== verticalAlign && void 0 !== verticalAlign ? verticalAlign : "middle"; var hAlign = null !== horizontalAlign && void 0 !== horizontalAlign ? horizontalAlign : "left"; var verticalAlignCoefficientsMap = { top: 0, middle: .5, bottom: 1 }; var y = rect.y + rect.h * verticalAlignCoefficientsMap[vAlign] - heightOfOneLine * (linesCount - 1) * verticalAlignCoefficientsMap[vAlign] + function(doc) { return (doc.getLineHeightFactor() - 1.15) * doc.getFontSize() }(doc); var x = rect.x + rect.w * { left: 0, center: .5, right: 1 } [hAlign]; var textOptions = (0, _extend.extend)({ baseline: vAlign, align: hAlign }, jsPDFTextOptions); doc.text(textArray.join("\n"), roundToThreeDecimals(x), roundToThreeDecimals(y), textOptions) } function drawBorders(doc, rect, _ref, docStyles) { var borderWidth = _ref.borderWidth, borderColor = _ref.borderColor, _ref$drawLeftBorder = _ref.drawLeftBorder, drawLeftBorder = void 0 === _ref$drawLeftBorder ? true : _ref$drawLeftBorder, _ref$drawRightBorder = _ref.drawRightBorder, drawRightBorder = void 0 === _ref$drawRightBorder ? true : _ref$drawRightBorder, _ref$drawTopBorder = _ref.drawTopBorder, drawTopBorder = void 0 === _ref$drawTopBorder ? true : _ref$drawTopBorder, _ref$drawBottomBorder = _ref.drawBottomBorder, drawBottomBorder = void 0 === _ref$drawBottomBorder ? true : _ref$drawBottomBorder; if (!(0, _type.isDefined)(rect)) { throw "rect is required" } if (!drawLeftBorder && !drawRightBorder && !drawTopBorder && !drawBottomBorder) { return } else if (drawLeftBorder && drawRightBorder && drawTopBorder && drawBottomBorder) { setLinesStyles(doc, { borderWidth: borderWidth, borderColor: borderColor }, docStyles); drawRect(doc, rect.x, rect.y, rect.w, rect.h) } else { setLinesStyles(doc, { borderWidth: borderWidth, borderColor: borderColor }, docStyles); if (drawTopBorder) { drawLine(doc, rect.x, rect.y, rect.x + rect.w, rect.y) } if (drawLeftBorder) { drawLine(doc, rect.x, rect.y, rect.x, rect.y + rect.h) } if (drawRightBorder) { drawLine(doc, rect.x + rect.w, rect.y, rect.x + rect.w, rect.y + rect.h) } if (drawBottomBorder) { drawLine(doc, rect.x, rect.y + rect.h, rect.x + rect.w, rect.y + rect.h) } } } function setLinesStyles(doc, _ref3, docStyles) { var borderWidth = _ref3.borderWidth, borderColor = _ref3.borderColor; var currentBorderWidth = (0, _type.isDefined)(borderWidth) ? borderWidth : docStyles.borderWidth; if (currentBorderWidth !== getDocBorderWidth(doc)) { setDocBorderWidth(doc, (0, _pdf_utils.toPdfUnit)(doc, currentBorderWidth)) } trySetColor(doc, "draw", (0, _type.isDefined)(borderColor) ? borderColor : docStyles.borderColor) } function trySetColor(doc, target, color) { var getterName = "get".concat(capitalizeFirstLetter(target), "Color"); var setterName = "set".concat(capitalizeFirstLetter(target), "Color"); var _color$ch = color.ch1, ch1 = void 0 === _color$ch ? color : _color$ch, ch2 = color.ch2, ch3 = color.ch3, ch4 = color.ch4; var normalizedColor = doc.__private__.decodeColorString(doc.__private__.encodeColorString({ ch1: ch1, ch2: ch2, ch3: ch3, ch4: ch4, precision: "text" === target ? 3 : 2 })); if (normalizedColor !== doc[getterName]() || "fill" === target) { doc[setterName].apply(doc, [ch1, ch2, ch3, ch4].filter((function(item) { return void 0 !== item }))) } } function getDocBorderWidth(doc) { var _doc$__borderWidth; if ((0, _type.isDefined)(doc.getLineWidth)) { return doc.getLineWidth() } return null !== (_doc$__borderWidth = doc.__borderWidth) && void 0 !== _doc$__borderWidth ? _doc$__borderWidth : .200025 } function setDocBorderWidth(doc, width) { doc.setLineWidth(width); if (!(0, _type.isDefined)(doc.getLineWidth)) { doc.__borderWidth = width } } }, 17195: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/jspdf/common/export.js ***! \*****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Export = void 0; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _normalizeOptions = __webpack_require__( /*! ./normalizeOptions */ 30646); var _row_utils = __webpack_require__( /*! ./row_utils */ 65322); var _height_updater = __webpack_require__( /*! ./height_updater */ 41269); var _rows_generator = __webpack_require__( /*! ./rows_generator */ 27504); var _rows_splitting = __webpack_require__( /*! ./rows_splitting */ 22775); var _draw_utils = __webpack_require__( /*! ./draw_utils */ 66867); var _pdf_utils = __webpack_require__( /*! ./pdf_utils */ 79262); var _message = (obj = __webpack_require__( /*! ../../../localization/message */ 28109), obj && obj.__esModule ? obj : { default: obj }); var obj; var _export_load_panel = __webpack_require__( /*! ../../common/export_load_panel */ 5332); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var Export = { getFullOptions: function(options) { var jsPDFDocument = options.jsPDFDocument; var fullOptions = (0, _extend.extend)({}, options); if (!(0, _type.isDefined)(fullOptions.topLeft)) { fullOptions.topLeft = { x: 0, y: 0 } } if (!(0, _type.isDefined)(fullOptions.indent)) { fullOptions.indent = 0 } if (!(0, _type.isDefined)(fullOptions.repeatHeaders)) { fullOptions.repeatHeaders = true } if (!(0, _type.isDefined)(fullOptions.margin)) { fullOptions.margin = (0, _pdf_utils.toPdfUnit)(jsPDFDocument, 40) } fullOptions.margin = (0, _normalizeOptions.normalizeBoundaryValue)(fullOptions.margin); if (!Array.isArray(fullOptions.columnWidths)) { fullOptions.columnWidths = [] } if (!(0, _type.isDefined)(fullOptions.loadPanel)) { fullOptions.loadPanel = {} } if (!(0, _type.isDefined)(fullOptions.loadPanel.enabled)) { fullOptions.loadPanel.enabled = true } if (!(0, _type.isDefined)(fullOptions.loadPanel.text)) { fullOptions.loadPanel.text = _message.default.format("dxDataGrid-exporting") } return fullOptions }, export: function(options) { var _component$_getIntern; var jsPDFDocument = options.jsPDFDocument, component = options.component, selectedRowsOnly = options.selectedRowsOnly, loadPanel = options.loadPanel; var internalComponent = (null === (_component$_getIntern = component._getInternalInstance) || void 0 === _component$_getIntern ? void 0 : _component$_getIntern.call(component)) || component; var initialLoadPanelEnabledOption = internalComponent.option("loadPanel") && internalComponent.option("loadPanel").enabled; if (initialLoadPanelEnabledOption) { component.option("loadPanel.enabled", false) } var exportLoadPanel; if (loadPanel.enabled && (0, _window.hasWindow)()) { var rowsView = component.getView("rowsView"); exportLoadPanel = new _export_load_panel.ExportLoadPanel(component, rowsView.element(), rowsView.element().parent(), loadPanel); exportLoadPanel.show() } var dataProvider = component.getDataProvider(selectedRowsOnly); return new Promise((function(resolve) { dataProvider.ready().done((function() { var _options$rowOptions, _options$rowOptions$h; var rowsInfo = (0, _rows_generator.generateRowsInfo)(jsPDFDocument, dataProvider, component, null === (_options$rowOptions = options.rowOptions) || void 0 === _options$rowOptions ? void 0 : null === (_options$rowOptions$h = _options$rowOptions.headerStyles) || void 0 === _options$rowOptions$h ? void 0 : _options$rowOptions$h.backgroundColor); if (options.customizeCell) { rowsInfo.forEach((function(rowInfo) { return rowInfo.cells.forEach((function(cellInfo) { return options.customizeCell(cellInfo) })) })) }(0, _normalizeOptions.normalizeRowsInfo)(rowsInfo); (0, _row_utils.initializeCellsWidth)(jsPDFDocument, dataProvider, rowsInfo, options); (0, _row_utils.resizeFirstColumnByIndentLevel)(rowsInfo, options); (0, _row_utils.applyColSpans)(rowsInfo); (0, _row_utils.calculateHeights)(jsPDFDocument, rowsInfo, options); (0, _row_utils.applyRowSpans)(rowsInfo); (0, _height_updater.updateRowsAndCellsHeights)(jsPDFDocument, rowsInfo); (0, _row_utils.calculateCoordinates)(jsPDFDocument, rowsInfo, options); (0, _row_utils.applyBordersConfig)(rowsInfo); (0, _pdf_utils.applyWordWrap)(jsPDFDocument, rowsInfo); var docStyles = (0, _draw_utils.getDocumentStyles)(jsPDFDocument); var rtlEnabled = !!component.option("rtlEnabled"); var rectsByPages = (0, _rows_splitting.splitByPages)(jsPDFDocument, rowsInfo, options, (function(_ref) { var _sourceRect$sourceCel; var sourceRect = _ref.sourceRect, leftRect = _ref.leftRect, rightRect = _ref.rightRect; var leftRectTextOptions = {}; var rightRectTextOptions = {}; var isTextNotEmpty = (null === (_sourceRect$sourceCel = sourceRect.sourceCellInfo.text) || void 0 === _sourceRect$sourceCel ? void 0 : _sourceRect$sourceCel.length) > 0; if (isTextNotEmpty) { if (rtlEnabled) { var isTextWidthGreaterThanRect = jsPDFDocument.getTextWidth(sourceRect.sourceCellInfo.text) > leftRect.w; var isTextRightAlignment = !(0, _type.isDefined)(sourceRect.sourceCellInfo.horizontalAlign) || "right" === sourceRect.sourceCellInfo.horizontalAlign; if (isTextWidthGreaterThanRect || !isTextRightAlignment) { var _sourceRect$sourceCel2, _sourceRect$sourceCel4, _sourceRect$sourceCel5; var rightRectTextOffset; var leftRectTextOffset; if ("right" === (null === (_sourceRect$sourceCel2 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel2 ? void 0 : _sourceRect$sourceCel2.horizontalAlign)) { var _sourceRect$sourceCel3; rightRectTextOffset = null !== (_sourceRect$sourceCel3 = sourceRect.sourceCellInfo._textLeftOffset) && void 0 !== _sourceRect$sourceCel3 ? _sourceRect$sourceCel3 : 0; leftRectTextOffset = rightRectTextOffset + leftRect.w } else if ("center" === (null === (_sourceRect$sourceCel4 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel4 ? void 0 : _sourceRect$sourceCel4.horizontalAlign)) { leftRectTextOffset = sourceRect.x + sourceRect.w - (rightRect.x + rightRect.w) + sourceRect.sourceCellInfo._rect.w / 2 - leftRect.w / 2; rightRectTextOffset = leftRectTextOffset - rightRect.w } else if ("left" === (null === (_sourceRect$sourceCel5 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel5 ? void 0 : _sourceRect$sourceCel5.horizontalAlign)) { leftRectTextOffset = sourceRect.x + sourceRect.w - (rightRect.x + rightRect.w); rightRectTextOffset = leftRectTextOffset - rightRect.w } leftRectTextOptions = _extends({}, { _textLeftOffset: rightRectTextOffset }); rightRectTextOptions = _extends({}, { _textLeftOffset: leftRectTextOffset }) } else { rightRectTextOptions = _extends({}, { text: "" }) } } else { var _isTextWidthGreaterThanRect = jsPDFDocument.getTextWidth(sourceRect.sourceCellInfo.text) > leftRect.w; var isTextLeftAlignment = !(0, _type.isDefined)(sourceRect.sourceCellInfo.horizontalAlign) || "left" === sourceRect.sourceCellInfo.horizontalAlign; if (_isTextWidthGreaterThanRect || !isTextLeftAlignment) { var _sourceRect$sourceCel6, _sourceRect$sourceCel8, _sourceRect$sourceCel10; var leftTextLeftOffset; var rightTextLeftOffset; if ("left" === (null === (_sourceRect$sourceCel6 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel6 ? void 0 : _sourceRect$sourceCel6.horizontalAlign)) { var _sourceRect$sourceCel7; leftTextLeftOffset = null !== (_sourceRect$sourceCel7 = sourceRect.sourceCellInfo._textLeftOffset) && void 0 !== _sourceRect$sourceCel7 ? _sourceRect$sourceCel7 : 0; rightTextLeftOffset = leftTextLeftOffset - leftRect.w } else if ("center" === (null === (_sourceRect$sourceCel8 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel8 ? void 0 : _sourceRect$sourceCel8.horizontalAlign)) { var _sourceRect$sourceCel9; var offset = null !== (_sourceRect$sourceCel9 = sourceRect.sourceCellInfo._textLeftOffset) && void 0 !== _sourceRect$sourceCel9 ? _sourceRect$sourceCel9 : 0; leftTextLeftOffset = offset + (sourceRect.x + sourceRect.w / 2) - (leftRect.x + leftRect.w / 2); rightTextLeftOffset = offset + (sourceRect.x + sourceRect.w / 2) - (rightRect.x + rightRect.w / 2) } else if ("right" === (null === (_sourceRect$sourceCel10 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel10 ? void 0 : _sourceRect$sourceCel10.horizontalAlign)) { leftTextLeftOffset = sourceRect.x + sourceRect.w - (leftRect.x + leftRect.w); rightTextLeftOffset = sourceRect.x + sourceRect.w - (rightRect.x + rightRect.w) } leftRectTextOptions = _extends({}, { _textLeftOffset: leftTextLeftOffset }); rightRectTextOptions = _extends({}, { _textLeftOffset: rightTextLeftOffset }) } else { rightRectTextOptions = _extends({}, { text: "" }) } } } leftRect.sourceCellInfo = _extends({}, sourceRect.sourceCellInfo, { debugSourceCellInfo: sourceRect.sourceCellInfo }, leftRectTextOptions); rightRect.sourceCellInfo = _extends({}, sourceRect.sourceCellInfo, { debugSourceCellInfo: sourceRect.sourceCellInfo }, rightRectTextOptions) }), (function(_ref2) { var _sourceRect$sourceCel11; var sourceRect = _ref2.sourceRect, topRect = _ref2.topRect, bottomRect = _ref2.bottomRect; var topRectTextOptions = {}; var bottomRectTextOptions = {}; var isTextNotEmpty = (null === (_sourceRect$sourceCel11 = sourceRect.sourceCellInfo.text) || void 0 === _sourceRect$sourceCel11 ? void 0 : _sourceRect$sourceCel11.length) > 0; if (isTextNotEmpty) { var _sourceRect$sourceCel12; var isTextHeightGreaterThanRect = jsPDFDocument.getTextDimensions(sourceRect.sourceCellInfo.text).h > topRect.h; var isTextTopAlignment = "top" === (null === (_sourceRect$sourceCel12 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel12 ? void 0 : _sourceRect$sourceCel12.verticalAlign); if (isTextHeightGreaterThanRect || !isTextTopAlignment) { var _sourceRect$sourceCel13, _sourceRect$sourceCel15, _sourceRect$sourceCel17; var topTextTopOffset; var bottomTextTopOffset; if ("top" === (null === (_sourceRect$sourceCel13 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel13 ? void 0 : _sourceRect$sourceCel13.verticalAlign)) { var _sourceRect$sourceCel14; topTextTopOffset = null !== (_sourceRect$sourceCel14 = sourceRect.sourceCellInfo._textTopOffset) && void 0 !== _sourceRect$sourceCel14 ? _sourceRect$sourceCel14 : 0; bottomTextTopOffset = topTextTopOffset - topRect.h } else if ("middle" === (null === (_sourceRect$sourceCel15 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel15 ? void 0 : _sourceRect$sourceCel15.verticalAlign)) { var _sourceRect$sourceCel16; var offset = null !== (_sourceRect$sourceCel16 = sourceRect.sourceCellInfo._textTopOffset) && void 0 !== _sourceRect$sourceCel16 ? _sourceRect$sourceCel16 : 0; topTextTopOffset = offset + (sourceRect.y + sourceRect.h / 2) - (topRect.y + topRect.h / 2); bottomTextTopOffset = offset + (sourceRect.y + sourceRect.h / 2) - (bottomRect.y + bottomRect.h / 2) } else if ("bottom" === (null === (_sourceRect$sourceCel17 = sourceRect.sourceCellInfo) || void 0 === _sourceRect$sourceCel17 ? void 0 : _sourceRect$sourceCel17.verticalAlign)) { topTextTopOffset = sourceRect.y + sourceRect.h - (topRect.y + topRect.h); bottomTextTopOffset = sourceRect.y + sourceRect.h - (bottomRect.y + bottomRect.h) } topRectTextOptions = _extends({}, { _textTopOffset: topTextTopOffset }); bottomRectTextOptions = _extends({}, { _textTopOffset: bottomTextTopOffset }) } else { bottomRectTextOptions = _extends({}, { text: "" }) } } topRect.sourceCellInfo = _extends({}, sourceRect.sourceCellInfo, { debugSourceCellInfo: sourceRect.sourceCellInfo }, topRectTextOptions); bottomRect.sourceCellInfo = _extends({}, sourceRect.sourceCellInfo, { debugSourceCellInfo: sourceRect.sourceCellInfo }, bottomRectTextOptions) })); if (rtlEnabled) { (0, _pdf_utils.applyRtl)(jsPDFDocument, rectsByPages, options) } rectsByPages.forEach((function(pdfCellsInfo, index) { if (index > 0) { (0, _draw_utils.addNewPage)(jsPDFDocument) }(0, _draw_utils.drawCellsContent)(jsPDFDocument, options.customDrawCell, pdfCellsInfo, docStyles); (0, _draw_utils.drawCellsLines)(jsPDFDocument, pdfCellsInfo, docStyles); var isEmptyPdfCellsInfoSpecified = (0, _type.isDefined)(pdfCellsInfo) && 0 === pdfCellsInfo.length; if (isEmptyPdfCellsInfoSpecified) { var tableRect = (0, _row_utils.calculateTableSize)(jsPDFDocument, pdfCellsInfo, options); var baseStyle = (0, _rows_generator.getBaseTableStyle)(); (0, _draw_utils.drawGridLines)(jsPDFDocument, tableRect, baseStyle, docStyles) } })); (0, _draw_utils.setDocumentStyles)(jsPDFDocument, docStyles); resolve() })).always((function() { if (initialLoadPanelEnabledOption) { component.option("loadPanel.enabled", initialLoadPanelEnabledOption) } if (loadPanel.enabled && (0, _window.hasWindow)()) { exportLoadPanel.dispose() } })) })) } }; exports.Export = Export }, 41269: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/jspdf/common/height_updater.js ***! \*************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.updateRowsAndCellsHeights = function(doc, rows) { var rowsAdditionalHeights = function(doc, rows) { var rowsAdditionalHeights = Array.from({ length: rows.length }, (function() { return 0 })); var sortedRows = function(rows) { var getMaxRowSpan = function(row) { var spansArray = row.cells.map((function(cell) { var _cell$rowSpan2; return null !== (_cell$rowSpan2 = cell.rowSpan) && void 0 !== _cell$rowSpan2 ? _cell$rowSpan2 : 0 })); return Math.max.apply(Math, _toConsumableArray(spansArray)) }; return _toConsumableArray(rows).sort((function(row1, row2) { var row1RowSpan = getMaxRowSpan(row1); var row2RowSpan = getMaxRowSpan(row2); if (row1RowSpan > row2RowSpan) { return 1 } if (row2RowSpan > row1RowSpan) { return -1 } return 0 })) }(rows); sortedRows.forEach((function(row) { var cellsWithRowSpan = row.cells.filter((function(cell) { return (0, _type.isDefined)(cell.rowSpan) })); cellsWithRowSpan.forEach((function(cell) { var targetRectWidth = (0, _pdf_utils.calculateTargetRectWidth)(cell.pdfCell._rect.w, cell.pdfCell.padding); var textHeight = (0, _pdf_utils.calculateTextHeight)(doc, cell.pdfCell.text, cell.pdfCell.font, { wordWrapEnabled: cell.pdfCell.wordWrapEnabled, targetRectWidth: targetRectWidth }); var cellHeight = textHeight + cell.pdfCell.padding.top + cell.pdfCell.padding.bottom; var rowsCount = cell.rowSpan + 1; var currentRowSpanRowsHeight = rows.slice(row.rowIndex, row.rowIndex + rowsCount).reduce((function(accumulator, rowInfo) { return accumulator + rowInfo.height + rowsAdditionalHeights[rowInfo.rowIndex] }), 0); if (cellHeight > currentRowSpanRowsHeight) { var delta = (cellHeight - currentRowSpanRowsHeight) / rowsCount; for (var spanIndex = row.rowIndex; spanIndex < row.rowIndex + rowsCount; spanIndex++) { rowsAdditionalHeights[spanIndex] += delta } } })) })); return rowsAdditionalHeights }(doc, rows); rows.forEach((function(row) { row.height += rowsAdditionalHeights[row.rowIndex] })); rows.forEach((function(row) { row.cells.forEach((function(cell) { var _cell$rowSpan; var rowsCount = (null !== (_cell$rowSpan = cell.rowSpan) && void 0 !== _cell$rowSpan ? _cell$rowSpan : 0) + 1; cell.pdfCell._rect.h = rows.slice(row.rowIndex, row.rowIndex + rowsCount).reduce((function(accumulator, rowInfo) { return accumulator + rowInfo.height }), 0) })) })) }; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _pdf_utils = __webpack_require__( /*! ./pdf_utils */ 79262); function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } }, 30646: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/jspdf/common/normalizeOptions.js ***! \***************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.normalizeBoundaryValue = normalizeBoundaryValue; exports.normalizeRowsInfo = function(rowsInfo) { rowsInfo.forEach((function(row) { row.cells.forEach((function(_ref) { var pdfCell = _ref.pdfCell; pdfCell.padding = normalizeBoundaryValue(pdfCell.padding) })) })) }; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); function normalizeBoundaryValue(value) { var _value$top, _value$right, _value$bottom, _value$left; if ((0, _type.isNumeric)(value)) { return { top: value, right: value, bottom: value, left: value } } return { top: null !== (_value$top = null === value || void 0 === value ? void 0 : value.top) && void 0 !== _value$top ? _value$top : 0, right: null !== (_value$right = null === value || void 0 === value ? void 0 : value.right) && void 0 !== _value$right ? _value$right : 0, bottom: null !== (_value$bottom = null === value || void 0 === value ? void 0 : value.bottom) && void 0 !== _value$bottom ? _value$bottom : 0, left: null !== (_value$left = null === value || void 0 === value ? void 0 : value.left) && void 0 !== _value$left ? _value$left : 0 } } }, 79262: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/jspdf/common/pdf_utils.js ***! \********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.applyRtl = function(doc, rectsByPages, options) { rectsByPages.forEach((function(pageRects) { pageRects.forEach((function(pdfCell) { var mirroredX = getPageWidth(doc) - (pdfCell._rect.x + pdfCell._rect.w); var marginDiff = options.margin.left - options.margin.right; pdfCell._rect.x = mirroredX + marginDiff })) })) }; exports.applyWordWrap = function(doc, rowsInfo) { rowsInfo.forEach((function(row) { row.cells.forEach((function(_ref3) { var pdfCell = _ref3.pdfCell; if ((0, _type.isDefined)(pdfCell.text)) { var lines = getTextLines(doc, pdfCell.text, pdfCell.font, { wordWrapEnabled: pdfCell.wordWrapEnabled, targetRectWidth: calculateTargetRectWidth(pdfCell._rect.w, pdfCell.padding) }); pdfCell.text = lines.join("\n") } })) })) }; exports.calculateRowHeight = function(doc, cells, columnWidths) { if (cells.length !== columnWidths.length) { throw "the cells count must be equal to the count of the columns" } var rowHeight = 0; for (var cellIndex = 0; cellIndex < cells.length; cellIndex++) { if ((0, _type.isDefined)(cells[cellIndex].rowSpan)) { continue } var cellText = cells[cellIndex].pdfCell.text; var cellPadding = cells[cellIndex].pdfCell.padding; var font = cells[cellIndex].pdfCell.font; var wordWrapEnabled = cells[cellIndex].pdfCell.wordWrapEnabled; var columnWidth = columnWidths[cellIndex]; var targetRectWidth = calculateTargetRectWidth(columnWidth, cellPadding); if ((0, _type.isDefined)(cellText)) { var textHeight = "" !== cellText ? calculateTextHeight(doc, cellText, font, { wordWrapEnabled: wordWrapEnabled, targetRectWidth: targetRectWidth }) : 0; var cellHeight = textHeight + cellPadding.top + cellPadding.bottom; if (rowHeight < cellHeight) { rowHeight = cellHeight } } } return rowHeight }; exports.calculateTargetRectWidth = calculateTargetRectWidth; exports.calculateTextHeight = calculateTextHeight; exports.getPageHeight = function(doc) { return doc.internal.pageSize.getHeight() }; exports.getPageWidth = getPageWidth; exports.getTextDimensions = getTextDimensions; exports.getTextLines = getTextLines; exports.toPdfUnit = function(doc, value) { var coefficient = 1 / doc.internal.scaleFactor; return value * coefficient }; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); function getPageWidth(doc) { return doc.internal.pageSize.getWidth() } function getTextLines(doc, text, font, _ref) { var wordWrapEnabled = _ref.wordWrapEnabled, targetRectWidth = _ref.targetRectWidth; if (wordWrapEnabled) { var usedFont = doc.getFont(null === font || void 0 === font ? void 0 : font.name, null === font || void 0 === font ? void 0 : font.style); return doc.splitTextToSize(text, targetRectWidth, { fontSize: (null === font || void 0 === font ? void 0 : font.size) || doc.getFontSize(), fontName: usedFont.fontName, fontStyle: usedFont.fontStyle }) } var textWithoutLineBreak = text.split("\n").filter((function(ch) { return "" !== ch })).join(" "); if (getTextDimensions(doc, textWithoutLineBreak, font).w <= targetRectWidth) { return [textWithoutLineBreak] } var textWidth = getTextDimensions(doc, textWithoutLineBreak + "...", font).w; while (textWithoutLineBreak.length > 0 && textWidth > targetRectWidth) { var symbolsCountToRemove = 0; if (textWidth >= 2 * targetRectWidth) { symbolsCountToRemove = textWithoutLineBreak.length / 2 } if (symbolsCountToRemove < 1) { symbolsCountToRemove = 1 } textWithoutLineBreak = textWithoutLineBreak.substring(0, textWithoutLineBreak.length - symbolsCountToRemove); textWidth = getTextDimensions(doc, textWithoutLineBreak + "...", font).w } return [textWithoutLineBreak + "..."] } function calculateTargetRectWidth(columnWidth, padding) { var width = columnWidth - (padding.left + padding.right); return width >= 0 ? width : 0 } function getTextDimensions(doc, text, font) { return doc.getTextDimensions(text, { font: doc.getFont(null === font || void 0 === font ? void 0 : font.name, null === font || void 0 === font ? void 0 : font.style), fontSize: (null === font || void 0 === font ? void 0 : font.size) || doc.getFontSize() }) } function calculateTextHeight(doc, text, font, _ref2) { var wordWrapEnabled = _ref2.wordWrapEnabled, targetRectWidth = _ref2.targetRectWidth; var heightOfOneLine = getTextDimensions(doc, text, font).h; var linesCount = getTextLines(doc, text, font, { wordWrapEnabled: wordWrapEnabled, targetRectWidth: targetRectWidth }).length; return heightOfOneLine * linesCount * doc.getLineHeightFactor() } }, 65322: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/jspdf/common/row_utils.js ***! \********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.applyBordersConfig = function(rows) { for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) { var cells = rows[rowIndex].cells; for (var columnIndex = 0; columnIndex < cells.length; columnIndex++) { var pdfCell = cells[columnIndex].pdfCell; var leftPdfCell = columnIndex >= 1 ? cells[columnIndex - 1].pdfCell : null; var topPdfCell = rowIndex >= 1 ? rows[rowIndex - 1].cells[columnIndex].pdfCell : null; if (false === pdfCell.drawLeftBorder && !(0, _type.isDefined)(cells[columnIndex].colSpan)) { if ((0, _type.isDefined)(leftPdfCell)) { leftPdfCell.drawRightBorder = false } } else if (!(0, _type.isDefined)(pdfCell.drawLeftBorder)) { if ((0, _type.isDefined)(leftPdfCell) && false === leftPdfCell.drawRightBorder) { pdfCell.drawLeftBorder = false } } if (false === pdfCell.drawTopBorder) { if ((0, _type.isDefined)(topPdfCell)) { topPdfCell.drawBottomBorder = false } } else if (!(0, _type.isDefined)(pdfCell.drawTopBorder)) { if ((0, _type.isDefined)(topPdfCell) && false === topPdfCell.drawBottomBorder) { pdfCell.drawTopBorder = false } } } } }; exports.applyColSpans = function(rows) { for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) { var row = rows[rowIndex]; for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) { var cell = row.cells[cellIndex]; if ((0, _type.isDefined)(cell.colSpan) && !(0, _type.isDefined)(cell.pdfCell.isMerged)) { for (var spanIndex = 1; spanIndex <= cell.colSpan; spanIndex++) { var mergedCell = rows[rowIndex].cells[cellIndex + spanIndex]; cell.pdfCell._rect.w += mergedCell.pdfCell._rect.w; mergedCell.pdfCell._rect.w = 0; mergedCell.pdfCell.isMerged = true } } } } }; exports.applyRowSpans = function(rows) { for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) { var row = rows[rowIndex]; for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) { var cell = row.cells[cellIndex]; if ((0, _type.isDefined)(cell.rowSpan) && !(0, _type.isDefined)(cell.pdfCell.isMerged)) { for (var spanIndex = 1; spanIndex <= cell.rowSpan; spanIndex++) { var mergedCell = rows[rowIndex + spanIndex].cells[cellIndex]; cell.pdfCell._rect.h += mergedCell.pdfCell._rect.h; mergedCell.pdfCell._rect.h = 0; mergedCell.pdfCell.isMerged = true } } } } }; exports.calculateCoordinates = function(doc, rows, options) { var _topLeft$y; var topLeft = null === options || void 0 === options ? void 0 : options.topLeft; var margin = null === options || void 0 === options ? void 0 : options.margin; var y = (null !== (_topLeft$y = null === topLeft || void 0 === topLeft ? void 0 : topLeft.y) && void 0 !== _topLeft$y ? _topLeft$y : 0) + margin.top; rows.forEach((function(row) { var _topLeft$x; var x = (null !== (_topLeft$x = null === topLeft || void 0 === topLeft ? void 0 : topLeft.x) && void 0 !== _topLeft$x ? _topLeft$x : 0) + margin.left; var intend = row.indentLevel * options.indent; row.cells.forEach((function(cell) { cell.pdfCell._rect.x = x + intend; cell.pdfCell._rect.y = y; x += cell.pdfCell._rect.w })); y += row.height })) }; exports.calculateHeights = function(doc, rows, options) { rows.forEach((function(row) { var pdfCells = row.cells.map((function(c) { return c.pdfCell })); var customerHeight; if (options.onRowExporting) { var args = { rowCells: pdfCells }; options.onRowExporting(args); if ((0, _type.isDefined)(args.rowHeight)) { customerHeight = args.rowHeight } } row.height = (0, _type.isDefined)(customerHeight) ? customerHeight : (0, _pdf_utils.calculateRowHeight)(doc, row.cells, pdfCells.map((function(c) { return c._rect.w }))); pdfCells.forEach((function(cell) { cell._rect.h = row.height })) })) }; exports.calculateTableSize = function(doc, cells, options) { var _ref2, _leftPos, _options$topLeft, _ref3, _topPos, _options$topLeft2; var leftPos; var topPos; var rightPos; var bottomPos; cells.forEach((function(cell) { if (!(0, _type.isDefined)(leftPos) || leftPos > cell._rect.x) { leftPos = cell._rect.x } if (!(0, _type.isDefined)(topPos) || topPos > cell._rect.y) { topPos = cell._rect.y } if (!(0, _type.isDefined)(rightPos) || rightPos < cell._rect.x + cell._rect.w) { rightPos = cell._rect.x + cell._rect.w } if (!(0, _type.isDefined)(bottomPos) || bottomPos < cell._rect.y + cell._rect.h) { bottomPos = cell._rect.y + cell._rect.h } })); var x = null !== (_ref2 = null !== (_leftPos = leftPos) && void 0 !== _leftPos ? _leftPos : null === options || void 0 === options ? void 0 : null === (_options$topLeft = options.topLeft) || void 0 === _options$topLeft ? void 0 : _options$topLeft.x) && void 0 !== _ref2 ? _ref2 : 0; var y = null !== (_ref3 = null !== (_topPos = topPos) && void 0 !== _topPos ? _topPos : null === options || void 0 === options ? void 0 : null === (_options$topLeft2 = options.topLeft) || void 0 === _options$topLeft2 ? void 0 : _options$topLeft2.y) && void 0 !== _ref3 ? _ref3 : 0; var w = (0, _type.isDefined)(rightPos) ? rightPos - x : 0; var h = (0, _type.isDefined)(bottomPos) ? bottomPos - y : 0; return { x: x, y: y, w: w, h: h } }; exports.initializeCellsWidth = function(doc, dataProvider, rows, options) { var columnWidths = function(doc, dataProvider, topLeftX, margin, customerColumnWidths) { var resultWidths = dataProvider.getColumnsWidths().map((function(width) { return (0, _pdf_utils.toPdfUnit)(doc, null !== width && void 0 !== width ? width : 150) })); var totalAutoColumnsWidth = resultWidths.filter((function(width, index) { return !(0, _type.isDefined)(customerColumnWidths[index]) })).reduce(getSum, 0); var totalCustomerColumnsWidth = customerColumnWidths.filter((function(width) { return (0, _type.isNumeric)(width) })).reduce(getSum, 0); var availablePageWidth = function(doc, topLeftX, margin) { return (0, _pdf_utils.getPageWidth)(doc) - topLeftX - margin.left - margin.right }(doc, topLeftX, margin); var ratio = totalCustomerColumnsWidth < availablePageWidth ? (availablePageWidth - totalCustomerColumnsWidth) / totalAutoColumnsWidth : 1; return resultWidths.map((function(width, index) { var _customerColumnWidths; return null !== (_customerColumnWidths = customerColumnWidths[index]) && void 0 !== _customerColumnWidths ? _customerColumnWidths : width * ratio })) }(doc, dataProvider, options.topLeft.x, options.margin, options.columnWidths); rows.forEach((function(row) { row.cells.forEach((function(_ref, index) { _ref.gridCell; var pdfCell = _ref.pdfCell; pdfCell._rect.w = columnWidths[index] })) })) }; exports.resizeFirstColumnByIndentLevel = function(rows, options) { rows.forEach((function(row) { row.cells[0].pdfCell._rect.w -= row.indentLevel * options.indent })) }; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _pdf_utils = __webpack_require__( /*! ./pdf_utils */ 79262); var getSum = function(a, b) { return a + b } }, 27504: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/jspdf/common/rows_generator.js ***! \*************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.generateRowsInfo = function(doc, dataProvider, dataGrid, headerBackgroundColor) { var result = []; var rowsCount = dataProvider.getRowsCount(); var wordWrapEnabled = !!dataGrid.option("wordWrapEnabled"); var rtlEnabled = !!dataGrid.option("rtlEnabled"); var columns = dataProvider.getColumns(); var styles = dataProvider.getStyles(); for (var rowIndex = 0; rowIndex < rowsCount; rowIndex++) { var rowType = dataProvider.getCellData(rowIndex, 0, true).cellSourceData.rowType; var indentLevel = "header" !== rowType ? dataProvider.getGroupLevel(rowIndex) : 0; var previousRow = result[rowIndex - 1]; if ("groupFooter" === rowType && "groupFooter" === (null === previousRow || void 0 === previousRow ? void 0 : previousRow.rowType)) { indentLevel = previousRow.indentLevel - 1 } result.push({ rowType: rowType, indentLevel: indentLevel, cells: generateRowCells({ doc: doc, dataProvider: dataProvider, rowIndex: rowIndex, wordWrapEnabled: wordWrapEnabled, columns: columns, styles: styles, rowType: rowType, backgroundColor: "header" === rowType ? headerBackgroundColor : void 0, rtlEnabled: rtlEnabled }), rowIndex: rowIndex }) } return result }; exports.getBaseTableStyle = function() { return defaultStyles.base }; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../localization/date */ 91500)); var _number = _interopRequireDefault(__webpack_require__( /*! ../../../localization/number */ 18016)); var _pdf_utils = __webpack_require__( /*! ./pdf_utils */ 79262); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var defaultStyles = { base: { font: { size: 10 }, borderWidth: .5, borderColor: "#979797" }, header: { textColor: "#979797" }, group: {}, data: {}, groupFooter: {}, totalFooter: {} }; function generateRowCells(_ref) { var doc = _ref.doc, dataProvider = _ref.dataProvider, rowIndex = _ref.rowIndex, wordWrapEnabled = _ref.wordWrapEnabled, columns = _ref.columns, styles = _ref.styles, rowType = _ref.rowType, backgroundColor = _ref.backgroundColor, rtlEnabled = _ref.rtlEnabled; var result = []; for (var cellIndex = 0; cellIndex < columns.length; cellIndex++) { var _style$alignment; var cellData = dataProvider.getCellData(rowIndex, cellIndex, true); var cellStyle = styles[dataProvider.getStyleId(rowIndex, cellIndex)]; var style = getPdfCellStyle(columns[cellIndex], rowType, cellStyle); var defaultAlignment = rtlEnabled ? "right" : "left"; var paddingValue = (0, _pdf_utils.toPdfUnit)(doc, 5); var pdfCell = { text: getFormattedValue(cellData.value, cellStyle.format), verticalAlign: "middle", horizontalAlign: null !== (_style$alignment = style.alignment) && void 0 !== _style$alignment ? _style$alignment : defaultAlignment, wordWrapEnabled: wordWrapEnabled, backgroundColor: backgroundColor, padding: { top: paddingValue, right: paddingValue, bottom: paddingValue, left: paddingValue }, _rect: {}, _internalTextOptions: {} }; if (rtlEnabled) { pdfCell._internalTextOptions.isInputVisual = false; pdfCell._internalTextOptions.isOutputVisual = true; pdfCell._internalTextOptions.isInputRtl = true; pdfCell._internalTextOptions.isOutputRtl = false } var cellInfo = { gridCell: cellData.cellSourceData, pdfCell: _extends({}, pdfCell, style) }; if ("header" === rowType) { var cellMerging = dataProvider.getCellMerging(rowIndex, cellIndex); if (cellMerging && cellMerging.rowspan > 0) { cellInfo.rowSpan = cellMerging.rowspan } if (cellMerging && cellMerging.colspan > 0) { cellInfo.colSpan = cellMerging.colspan } } else if ("group" === rowType) { var drawLeftBorderField = rtlEnabled ? "drawRightBorder" : "drawLeftBorder"; var drawRightBorderField = rtlEnabled ? "drawLeftBorder" : "drawRightBorder"; cellInfo.pdfCell[drawLeftBorderField] = 0 === cellIndex; cellInfo.pdfCell[drawRightBorderField] = cellIndex === columns.length - 1; if (cellIndex > 0) { var isEmptyCellsExceptFirst = result.slice(1).reduce((function(accumulate, cellInfo) { return accumulate && !(0, _type.isDefined)(cellInfo.pdfCell.text) }), true); if (!(0, _type.isDefined)(cellInfo.pdfCell.text) && isEmptyCellsExceptFirst) { result[0].pdfCell[drawRightBorderField] = true; for (var i = 0; i < result.length; i++) { result[i].colSpan = result.length } cellInfo.colSpan = result.length } } } result.push(cellInfo) } return result } function getPdfCellStyle(column, rowType, cellStyle) { var styles = _extends({}, defaultStyles.base, defaultStyles[rowType]); var alignment = "header" === rowType ? column.alignment : cellStyle.alignment; if (alignment) { styles.alignment = alignment } if (cellStyle.bold && "header" !== rowType) { styles.font = _extends({}, styles.font, { style: "bold" }) } return styles } function getFormattedValue(value, format) { if ((0, _type.isDefined)(format)) { if ((0, _type.isDate)(value)) { return _date.default.format(value, format) } if ((0, _type.isNumeric)(value)) { return _number.default.format(value, format) } } return null === value || void 0 === value ? void 0 : value.toString() } }, 72666: /*!************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/jspdf/common/rows_spliting_utils/create_on_split_multipage_row.js ***! \************************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.createOnSplitMultiPageRow = void 0; var _pdf_utils = __webpack_require__( /*! ../pdf_utils */ 79262); function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function createMultiCellRect(rect, text, marginTop) { return _extends({}, rect, { sourceCellInfo: _extends({}, rect.sourceCellInfo, { text: text }), y: marginTop }) } exports.createOnSplitMultiPageRow = function(doc, options, headerHeight, maxBottomRight) { return function(isFirstPage, pageRects) { var currentPageRects = []; var nextPageRects = []; var maxCurrentPageHeight = 0; var maxNextPageHeight = 0; pageRects.forEach((function(rect) { var w = rect.w, sourceCellInfo = rect.sourceCellInfo; var additionalHeight = !isFirstPage && options.repeatHeaders ? headerHeight : headerHeight + options.topLeft.y; var heightOfOneLine = (0, _pdf_utils.getTextDimensions)(doc, sourceCellInfo.text, sourceCellInfo.font).h; var paddingHeight = sourceCellInfo.padding.top + sourceCellInfo.padding.bottom; var fullPageHeight = maxBottomRight.y - additionalHeight - paddingHeight - options.margin.top; var possibleLinesCount = Math.floor(fullPageHeight / (heightOfOneLine * doc.getLineHeightFactor())); var allLines = (0, _pdf_utils.getTextLines)(doc, sourceCellInfo.text, sourceCellInfo.font, { wordWrapEnabled: sourceCellInfo.wordWrapEnabled, targetRectWidth: w }); if (possibleLinesCount < allLines.length) { var currentPageText = allLines.slice(0, possibleLinesCount).join("\n"); var currentPageHeight = (0, _pdf_utils.calculateTextHeight)(doc, currentPageText, sourceCellInfo.font, { wordWrapEnabled: sourceCellInfo.wordWrapEnabled, targetRectWidth: w }); maxCurrentPageHeight = Math.max(maxCurrentPageHeight, currentPageHeight + paddingHeight); maxNextPageHeight = rect.h - currentPageHeight; currentPageRects.push(createMultiCellRect(rect, currentPageText, options.margin.top)); nextPageRects.push(createMultiCellRect(rect, allLines.slice(possibleLinesCount).join("\n"), options.margin.top)) } else { var _currentPageHeight = (0, _pdf_utils.calculateTextHeight)(doc, sourceCellInfo.text, sourceCellInfo.font, { wordWrapEnabled: sourceCellInfo.wordWrapEnabled, targetRectWidth: w }); maxCurrentPageHeight = Math.max(maxCurrentPageHeight, _currentPageHeight + paddingHeight); maxNextPageHeight = Math.max(maxNextPageHeight, _currentPageHeight + paddingHeight); currentPageRects.push(createMultiCellRect(rect, sourceCellInfo.text, options.margin.top)); nextPageRects.push(createMultiCellRect(rect, "", options.margin.top)) } })); currentPageRects.forEach((function(rect) { return rect.h = maxCurrentPageHeight })); nextPageRects.forEach((function(rect) { return rect.h = maxNextPageHeight })); return [currentPageRects, nextPageRects] } } }, 10830: /*!******************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/jspdf/common/rows_spliting_utils/get_multipage_row_pages.js ***! \******************************************************************************************************************/ function(__unused_webpack_module, exports) { exports.getMultiPageRowPages = exports.checkPageContainsOnlyHeader = void 0; function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var isHeader = function(rect) { return "header" === (null === rect || void 0 === rect ? void 0 : rect.sourceCellInfo.gridCell.rowType) }; exports.checkPageContainsOnlyHeader = function(pageRects, isFirstPage) { return isFirstPage && isHeader(pageRects[pageRects.length - 1]) }; exports.getMultiPageRowPages = function(currentPageRects, rectsToSplit, isCurrentPageContainsOnlyHeader, splitMultiPageRowFunc, checkIsFitToPageFunc) { if (!splitMultiPageRowFunc) { return [] } var currentPageLastRect = currentPageRects[currentPageRects.length - 1]; var nextPageFirstRect = rectsToSplit[currentPageRects.length]; if (!nextPageFirstRect || isHeader(nextPageFirstRect)) { return [] } var isRectsFitsToPage = checkIsFitToPageFunc(isCurrentPageContainsOnlyHeader, nextPageFirstRect.h); if (isRectsFitsToPage && !isCurrentPageContainsOnlyHeader) { return [] } var rectsToPatch = rectsToSplit.filter((function(_ref) { var y = _ref.y; return y === nextPageFirstRect.y })); var firstRectYAdjustment = currentPageLastRect.y + currentPageLastRect.h; var _spitMultiPageRows = function(rectsToPatch, isCurrentPageContainsOnlyHeader, firstRectYAdjustment, splitMultiPageRowFunc, checkIsFitToPageFunc) { var _splitMultiPageRowFun = splitMultiPageRowFunc(isCurrentPageContainsOnlyHeader, rectsToPatch), _splitMultiPageRowFun2 = _slicedToArray(_splitMultiPageRowFun, 2), newPageRects = _splitMultiPageRowFun2[0], remainPageRects = _splitMultiPageRowFun2[1]; var newPageRectsArray = [isCurrentPageContainsOnlyHeader ? newPageRects.map((function(rect) { return _extends({}, rect, { y: firstRectYAdjustment }) })) : newPageRects]; while (!checkIsFitToPageFunc(false, remainPageRects[0].h)) { var _splitMultiPageRowFun3 = splitMultiPageRowFunc(false, remainPageRects); var _splitMultiPageRowFun4 = _slicedToArray(_splitMultiPageRowFun3, 2); newPageRects = _splitMultiPageRowFun4[0]; remainPageRects = _splitMultiPageRowFun4[1]; newPageRectsArray.push(newPageRects) } return [newPageRectsArray, remainPageRects] }(rectsToPatch, isCurrentPageContainsOnlyHeader, firstRectYAdjustment, splitMultiPageRowFunc, checkIsFitToPageFunc), _spitMultiPageRows2 = _slicedToArray(_spitMultiPageRows, 2), multiPageRowPages = _spitMultiPageRows2[0], remainPageRects = _spitMultiPageRows2[1]; ! function(rectsToSplit, rectsToPatch, remainPageRects) { rectsToPatch.forEach((function(rect, rectIndex) { rect.sourceCellInfo.text = remainPageRects[rectIndex].sourceCellInfo.text; rect.h = remainPageRects[rectIndex].h })); var untouchedRowIdx = rectsToSplit.indexOf(rectsToPatch[rectsToPatch.length - 1]) + 1; if (untouchedRowIdx >= rectsToSplit.length) { return } var delta = rectsToSplit[untouchedRowIdx].y - (rectsToPatch[0].y + remainPageRects[0].h); for (var idx = untouchedRowIdx; idx < rectsToSplit.length; idx++) { rectsToSplit[idx].y = rectsToSplit[idx].y - delta } }(rectsToSplit, rectsToPatch, remainPageRects); return multiPageRowPages } }, 22775: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/jspdf/common/rows_splitting.js ***! \*************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.splitByPages = function(doc, rowsInfo, options, onSeparateRectHorizontally, onSeparateRectVertically) { if (0 === rowsInfo.length) { return [ [] ] } var maxBottomRight = { x: (0, _pdf_utils.getPageWidth)(doc) - options.margin.right, y: (0, _pdf_utils.getPageHeight)(doc) - options.margin.bottom }; var headerRows = rowsInfo.filter((function(r) { return "header" === r.rowType })); var headerHeight = headerRows.reduce((function(accumulator, row) { return accumulator + row.height }), 0); var verticallyPages = splitRectsByPages(convertToCellsArray(rowsInfo), options.margin.top, "y", "h", (function(isFirstPage, currentCoordinate) { var additionalHeight = !isFirstPage && options.repeatHeaders ? headerHeight : 0; return (0, _draw_utils.roundToThreeDecimals)(currentCoordinate + additionalHeight) <= (0, _draw_utils.roundToThreeDecimals)(maxBottomRight.y) }), (function(rect, currentPageMaxRectCoordinate, currentPageRects, rectsToSplit) { var args = { sourceRect: rect, topRect: { x: rect.x, y: rect.y, w: rect.w, h: currentPageMaxRectCoordinate - rect.y }, bottomRect: { x: rect.x, y: currentPageMaxRectCoordinate, w: rect.w, h: rect.h - (currentPageMaxRectCoordinate - rect.y) } }; onSeparateRectVertically(args); currentPageRects.push(args.topRect); rectsToSplit.push(args.bottomRect) }), (0, _create_on_split_multipage_row.createOnSplitMultiPageRow)(doc, options, headerHeight, maxBottomRight)); if (options.repeatHeaders) { for (var i = 1; i < verticallyPages.length; i++) { verticallyPages[i].forEach((function(rect) { return rect.y += headerHeight })); var headerCells = convertToCellsArray(headerRows); headerCells.forEach((function(cell) { cell.y -= options.topLeft.y })); verticallyPages[i] = [].concat(_toConsumableArray(headerCells), _toConsumableArray(verticallyPages[i])) } } var pageIndex = 0; while (pageIndex < verticallyPages.length) { var horizontallyPages = splitRectsByPages(verticallyPages[pageIndex], options.margin.left, "x", "w", (function(pagesLength, currentCoordinate) { return (0, _draw_utils.roundToThreeDecimals)(currentCoordinate) <= (0, _draw_utils.roundToThreeDecimals)(maxBottomRight.x) }), (function(rect, currentPageMaxRectCoordinate, currentPageRects, rectsToSplit) { var args = { sourceRect: rect, leftRect: { x: rect.x, y: rect.y, w: currentPageMaxRectCoordinate - rect.x, h: rect.h }, rightRect: { x: currentPageMaxRectCoordinate, y: rect.y, w: rect.w - (currentPageMaxRectCoordinate - rect.x), h: rect.h } }; onSeparateRectHorizontally(args); currentPageRects.push(args.leftRect); rectsToSplit.push(args.rightRect) })); if (horizontallyPages.length > 1) { verticallyPages.splice.apply(verticallyPages, [pageIndex, 1].concat(_toConsumableArray(horizontallyPages))); pageIndex += horizontallyPages.length } else { pageIndex += 1 } } return verticallyPages.map((function(rects) { return rects.map((function(rect) { return _extends({}, rect.sourceCellInfo, { _rect: rect }) })) })) }; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _pdf_utils = __webpack_require__( /*! ./pdf_utils */ 79262); var _draw_utils = __webpack_require__( /*! ./draw_utils */ 66867); var _get_multipage_row_pages = __webpack_require__( /*! ./rows_spliting_utils/get_multipage_row_pages */ 10830); var _create_on_split_multipage_row = __webpack_require__( /*! ./rows_spliting_utils/create_on_split_multipage_row */ 72666); function _toArray(arr) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _unsupportedIterableToArray(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } } function _iterableToArray(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function convertToCellsArray(rows) { return [].concat.apply([], rows.map((function(rowInfo) { return rowInfo.cells.filter((function(cell) { return !(0, _type.isDefined)(cell.pdfCell.isMerged) })).map((function(cellInfo) { return _extends({}, cellInfo.pdfCell._rect, { sourceCellInfo: _extends({}, cellInfo.pdfCell, { gridCell: cellInfo.gridCell }) }) })) }))) } function splitRectsByPages(rects, marginValue, coordinate, dimension, isFitToPage, onSeparateCallback, onSplitMultiPageRow) { var pages = []; var rectsToSplit = _toConsumableArray(rects); var isFitToPageForMultiPageRow = function(isFirstPage, rectHeight) { return isFitToPage(isFirstPage, rectHeight + marginValue) }; var _loop = function() { var currentPageMaxRectCoordinate = 0; var currentPageRects = rectsToSplit.filter((function(rect) { var currentRectCoordinate = rect[coordinate] + rect[dimension]; if (isFitToPage(0 === pages.length, currentRectCoordinate)) { if (currentPageMaxRectCoordinate <= currentRectCoordinate) { currentPageMaxRectCoordinate = currentRectCoordinate } return true } else { return false } })); var isCurrentPageContainsOnlyHeader = (0, _get_multipage_row_pages.checkPageContainsOnlyHeader)(currentPageRects, 0 === pages.length); var multiPageRowPages = (0, _get_multipage_row_pages.getMultiPageRowPages)(currentPageRects, rectsToSplit, isCurrentPageContainsOnlyHeader, onSplitMultiPageRow, isFitToPageForMultiPageRow); var rectsToSeparate = rectsToSplit.filter((function(rect) { var currentRectLeft = rect[coordinate]; var currentRectRight = rect[coordinate] + rect[dimension]; return currentPageMaxRectCoordinate - currentRectLeft > .001 && currentRectRight - currentPageMaxRectCoordinate > .001 })); rectsToSeparate.forEach((function(rect) { onSeparateCallback(rect, currentPageMaxRectCoordinate, currentPageRects, rectsToSplit); var index = rectsToSplit.indexOf(rect); if (-1 !== index) { rectsToSplit.splice(index, 1) } })); currentPageRects.forEach((function(rect) { var index = rectsToSplit.indexOf(rect); if (-1 !== index) { rectsToSplit.splice(index, 1) } })); rectsToSplit.forEach((function(rect) { rect[coordinate] = (0, _type.isDefined)(currentPageMaxRectCoordinate) ? rect[coordinate] - currentPageMaxRectCoordinate + marginValue : rect[coordinate] })); var firstPageContainsHeaderAndMultiPageRow = isCurrentPageContainsOnlyHeader && multiPageRowPages.length > 0; if (firstPageContainsHeaderAndMultiPageRow) { var _multiPageRowPages = _toArray(multiPageRowPages), firstPage = _multiPageRowPages[0], restOfPages = _multiPageRowPages.slice(1); pages.push([].concat(_toConsumableArray(currentPageRects), _toConsumableArray(firstPage))); pages.push.apply(pages, _toConsumableArray(restOfPages)) } else if (currentPageRects.length > 0) { pages.push(currentPageRects); pages.push.apply(pages, _toConsumableArray(multiPageRowPages)) } else if (multiPageRowPages.length > 0) { pages.push.apply(pages, _toConsumableArray(multiPageRowPages)); pages.push(rectsToSplit) } else { pages.push(rectsToSplit); return "break" } }; while (rectsToSplit.length > 0) { var _ret = _loop(); if ("break" === _ret) { break } } return pages } }, 654: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/jspdf/export_data_grid.js ***! \********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.exportDataGrid = function(options) { return _export.Export.export(function(options) { if (!((0, _type.isDefined)(options) && (0, _type.isObject)(options))) { throw Error('The "exportDataGrid" method requires a configuration object.') } if (!((0, _type.isDefined)(options.component) && (0, _type.isObject)(options.component) && "dxDataGrid" === options.component.NAME)) { throw Error('The "component" field must contain a DataGrid instance.') } if (!((0, _type.isDefined)(options.jsPDFDocument) && (0, _type.isObject)(options.jsPDFDocument))) { throw Error('The "jsPDFDocument" field must contain a jsPDF instance.') } if ((0, _type.isDefined)(options.autoTableOptions)) { _errors.default.log("W0001", "Export", "autoTableOptions", "22.1", "You can migrate from exporting to PDF with the AutoTable plugin to a new export system. See the following topic for more information: ".concat("https://supportcenter.devexpress.com/ticket/details/t1077554")) } return _export.Export.getFullOptions(options) }(options)) }; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _errors = (obj = __webpack_require__( /*! ../../core/errors */ 17381), obj && obj.__esModule ? obj : { default: obj }); var obj; var _export = __webpack_require__( /*! ./common/export */ 17195) }, 29982: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/jspdf/export_gantt.js ***! \****************************************************************************/ function(__unused_webpack_module, exports) { exports.exportGantt = function(options) { var component = options.component; return null === component || void 0 === component ? void 0 : component.exportToPdf(options) } }, 30855: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/pdf_creator.js ***! \*********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getData = function(data, options) { return _image_creator.imageCreator.getImageData(data, (0, _extend.extend)({}, options, { format: "JPEG" })).then((function(imageString) { var binaryData = function(imageString, options, curDate) { var margin = 2 * (options.margin || 0); var _calcScaledInfo = (0, _image_creator.calcScaledInfo)(options.width, options.height), width = _calcScaledInfo.width, height = _calcScaledInfo.height; width += margin; height += margin; var widthPt = (.75 * width).toFixed(2); var heightPt = (.75 * height).toFixed(2); var flooredWidth = Math.floor(width); var flooredHeight = Math.floor(height); var mainPage = "%PDF-1.3\r\n2 0 obj\r\n<>>>\r\nendobj\r\n4 0 obj\r\n<>\r\nendobj\r\n7 0 obj\r\n<>\r\nendobj\r\n1 0 obj\r\n<>\r\nendobj\r\n".replace("_width_", widthPt).replace("_height_", heightPt); var content = "3 0 obj\r\n<>stream\r\n0.20 w\n0 G\nq _width_ 0 0 _height_ 0.00 0.00 cm /I0 Do Q\r\nendstream\r\nendobj\r\n".replace("_width_", widthPt).replace("_height_", heightPt); var info = "6 0 obj\r\n<>\r\nendobj\r\n".replace("_date_", curDate).replace("_version_", _version.version); var image = "5 0 obj\r\n<>stream\r\n".replace("_width_", flooredWidth).replace("_height_", flooredHeight).replace("_length_", imageString.length) + imageString + "\r\nendstream\r\nendobj\r\n"; var xref = (mainPageLength = mainPage.length, contentLength = content.length, infoLength = info.length, "xref\r\n0 8\r\n0000000000 65535 f\r\n0000000241 00000 n\r\n0000000010 00000 n\r\n_main_ 00000 n\r\n0000000089 00000 n\r\n_image_ 00000 n\r\n_info_ 00000 n\r\n0000000143 00000 n\r\n".replace("_main_", pad(mainPageLength + "", 10)).replace("_info_", pad(mainPageLength + contentLength + "", 10)).replace("_image_", pad(mainPageLength + contentLength + infoLength + "", 10))); var mainPageLength, contentLength, infoLength; var mainContent = mainPage + content + info + image; var trailer = "trailer\r\n<<\r\n/Size 8\r\n/Root 7 0 R\r\n/Info 6 0 R\r\n>>\r\nstartxref\r\n_length_\r\n%%EOF".replace("_length_", mainContent.length); return mainContent + xref + trailer }(imageString, options, (date = new Date, dateUnits = [date.getUTCFullYear(), getTwoDigitValue(date.getUTCMonth()), getTwoDigitValue(date.getUTCDate()), getTwoDigitValue(date.getUTCHours()), getTwoDigitValue(date.getUTCMinutes()), getTwoDigitValue(date.getUTCSeconds())], "(D:".concat(dateUnits.join(""), "Z00'00')"))); var date, dateUnits; var pdfData = (0, _type.isFunction)(window.Blob) ? function(binaryData) { var i = 0; var dataArray = new Uint8Array(binaryData.length); for (; i < binaryData.length; i++) { dataArray[i] = binaryData.charCodeAt(i) } return new window.Blob([dataArray.buffer], { type: "application/pdf" }) }(binaryData) : function(binaryData) { return window.btoa(binaryData) }(binaryData); return pdfData })) }; var _version = __webpack_require__( /*! ../core/version */ 36739); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _image_creator = __webpack_require__( /*! ./image_creator */ 12173); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var window = (0, _window.getWindow)(); var pad = function pad(str, len) { return str.length < len ? pad("0" + str, len) : str }; function getTwoDigitValue(value) { var stringValue = value.toString(); if (1 === stringValue.length) { return "0".concat(value) } return value } }, 37596: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/exporter/svg_creator.js ***! \*********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getData = function(data, options) { return svgCreator.getData(data, options) }; exports.svgCreator = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _ajax = _interopRequireDefault(__webpack_require__( /*! ../core/utils/ajax */ 37208)); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _svg = __webpack_require__( /*! ../core/utils/svg */ 19155); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var svgCreator = { _markup: "", _imageArray: {}, _imageDeferreds: [], _getBinaryFile: function(src, callback) { _ajax.default.sendRequest({ url: src, method: "GET", responseType: "arraybuffer" }).done(callback).fail((function() { callback(false) })) }, _loadImages: function() { var that = this; (0, _iterator.each)(that._imageArray, (function(src) { var deferred = new _deferred.Deferred; that._imageDeferreds.push(deferred); that._getBinaryFile(src, (function(response) { if (!response) { delete that._imageArray[src]; deferred.resolve(); return } var i; var binary = ""; var bytes = new Uint8Array(response); var length = bytes.byteLength; for (i = 0; i < length; i++) { binary += String.fromCharCode(bytes[i]) } that._imageArray[src] = "data:image/png;base64," + window.btoa(binary); deferred.resolve() })) })) }, _parseImages: function(element) { var href; var that = this; if ("image" === element.tagName) { href = (0, _renderer.default)(element).attr("href") || (0, _renderer.default)(element).attr("xlink:href"); if (!that._imageArray[href]) { that._imageArray[href] = "" } }(0, _iterator.each)(element.childNodes, (function(_, element) { that._parseImages(element) })) }, _prepareImages: function(svgElem) { this._parseImages(svgElem); this._loadImages(); return _deferred.when.apply(_renderer.default, this._imageDeferreds) }, getData: function(data, options) { var markup; var that = this; var svgElem = (0, _svg.getSvgElement)(data); var $svgObject = (0, _renderer.default)(svgElem); $svgObject.find("[".concat(_svg.HIDDEN_FOR_EXPORT, "]")).remove(); markup = '' + (0, _svg.getSvgMarkup)($svgObject.get(0), options.backgroundColor); return that._prepareImages(svgElem).then((function() { (0, _iterator.each)(that._imageArray, (function(href, dataURI) { var regexpString = "href=['|\"]".concat(href, "['|\"]"); markup = markup.replace(new RegExp(regexpString, "gi"), 'href="'.concat(dataURI, '"')) })); return (0, _type.isFunction)(window.Blob) ? that._getBlob(markup) : that._getBase64(markup) })) }, _getBlob: function(markup) { return new window.Blob([markup], { type: "image/svg+xml" }) }, _getBase64: function(markup) { return window.btoa(markup) } }; exports.svgCreator = svgCreator }, 98831: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/file_management/custom_provider.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _data = __webpack_require__( /*! ../core/utils/data */ 47617); var _provider_base = (obj = __webpack_require__( /*! ./provider_base */ 19073), obj && obj.__esModule ? obj : { default: obj }); var obj; function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var CustomFileSystemProvider = function(_FileSystemProviderBa) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(CustomFileSystemProvider, _FileSystemProviderBa); function CustomFileSystemProvider(options) { var _this; options = (0, _common.ensureDefined)(options, {}); _this = _FileSystemProviderBa.call(this, options) || this; _this._hasSubDirsGetter = (0, _data.compileGetter)(options.hasSubDirectoriesExpr || "hasSubDirectories"); _this._getItemsFunction = _this._ensureFunction(options.getItems, (function() { return [] })); _this._renameItemFunction = _this._ensureFunction(options.renameItem); _this._createDirectoryFunction = _this._ensureFunction(options.createDirectory); _this._deleteItemFunction = _this._ensureFunction(options.deleteItem); _this._moveItemFunction = _this._ensureFunction(options.moveItem); _this._copyItemFunction = _this._ensureFunction(options.copyItem); _this._uploadFileChunkFunction = _this._ensureFunction(options.uploadFileChunk); _this._abortFileUploadFunction = _this._ensureFunction(options.abortFileUpload); _this._downloadItemsFunction = _this._ensureFunction(options.downloadItems); _this._getItemsContentFunction = _this._ensureFunction(options.getItemsContent); return _this } var _proto = CustomFileSystemProvider.prototype; _proto.getItems = function(parentDir) { var _this2 = this; var pathInfo = parentDir.getFullPathInfo(); return this._executeActionAsDeferred((function() { return _this2._getItemsFunction(parentDir) }), true).then((function(dataItems) { return _this2._convertDataObjectsToFileItems(dataItems, pathInfo) })) }; _proto.renameItem = function(item, name) { var _this3 = this; return this._executeActionAsDeferred((function() { return _this3._renameItemFunction(item, name) })) }; _proto.createDirectory = function(parentDir, name) { var _this4 = this; return this._executeActionAsDeferred((function() { return _this4._createDirectoryFunction(parentDir, name) })) }; _proto.deleteItems = function(items) { var _this5 = this; return items.map((function(item) { return _this5._executeActionAsDeferred((function() { return _this5._deleteItemFunction(item) })) })) }; _proto.moveItems = function(items, destinationDirectory) { var _this6 = this; return items.map((function(item) { return _this6._executeActionAsDeferred((function() { return _this6._moveItemFunction(item, destinationDirectory) })) })) }; _proto.copyItems = function(items, destinationFolder) { var _this7 = this; return items.map((function(item) { return _this7._executeActionAsDeferred((function() { return _this7._copyItemFunction(item, destinationFolder) })) })) }; _proto.uploadFileChunk = function(fileData, chunksInfo, destinationDirectory) { var _this8 = this; return this._executeActionAsDeferred((function() { return _this8._uploadFileChunkFunction(fileData, chunksInfo, destinationDirectory) })) }; _proto.abortFileUpload = function(fileData, chunksInfo, destinationDirectory) { var _this9 = this; return this._executeActionAsDeferred((function() { return _this9._abortFileUploadFunction(fileData, chunksInfo, destinationDirectory) })) }; _proto.downloadItems = function(items) { var _this10 = this; return this._executeActionAsDeferred((function() { return _this10._downloadItemsFunction(items) })) }; _proto.getItemsContent = function(items) { var _this11 = this; return this._executeActionAsDeferred((function() { return _this11._getItemsContentFunction(items) })) }; _proto._hasSubDirs = function(dataObj) { var hasSubDirs = this._hasSubDirsGetter(dataObj); return "boolean" === typeof hasSubDirs ? hasSubDirs : true }; _proto._getKeyExpr = function(options) { return options.keyExpr || "key" }; _proto._ensureFunction = function(functionObject, defaultFunction) { defaultFunction = defaultFunction || _common.noop; return (0, _type.isFunction)(functionObject) ? functionObject : defaultFunction }; return CustomFileSystemProvider }(_provider_base.default); var _default = CustomFileSystemProvider; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 49816: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/file_management/error.js ***! \**********************************************************************/ function(module, exports) { exports.default = void 0; var _default = function(errorCode, fileSystemItem, errorText) { this.errorCode = errorCode; this.fileSystemItem = fileSystemItem; this.errorText = errorText }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 41011: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/file_management/error_codes.js ***! \****************************************************************************/ function(module, exports) { exports.default = void 0; var _default = { NoAccess: 0, FileExists: 1, FileNotFound: 2, DirectoryExists: 3, DirectoryNotFound: 4, WrongFileExtension: 5, MaxFileSizeExceeded: 6, InvalidSymbols: 7, Other: 32767 }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 45765: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/file_management/file_system_item.js ***! \*********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _utils = __webpack_require__( /*! ./utils */ 73173); function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var FileSystemItem = function() { function FileSystemItem() { var ctor = (0, _type.isString)(arguments[0]) ? this._publicCtor : this._internalCtor; ctor.apply(this, arguments) } var _proto = FileSystemItem.prototype; _proto._internalCtor = function(pathInfo, name, isDirectory, key) { this.name = name || ""; this.pathInfo = pathInfo && _toConsumableArray(pathInfo) || []; this.parentPath = this._getPathByPathInfo(this.pathInfo); this.relativeName = (0, _utils.pathCombine)(this.parentPath, name); this.key = key || this._getPathByPathInfo(this.getFullPathInfo(), true); this.path = (0, _utils.pathCombine)(this.parentPath, name); this.pathKeys = this.pathInfo.map((function(_ref) { var key = _ref.key; return key })); if (!this.isRoot()) { this.pathKeys.push(this.key) } this._initialize(isDirectory) }; _proto._publicCtor = function(path, isDirectory, pathKeys) { this.path = path || ""; this.pathKeys = pathKeys || []; var pathInfo = []; var parts = (0, _utils.getPathParts)(path, true); for (var i = 0; i < parts.length - 1; i++) { var part = parts[i]; var pathInfoPart = { key: this.pathKeys[i] || part, name: (0, _utils.getName)(part) }; pathInfo.push(pathInfoPart) } this.pathInfo = pathInfo; this.relativeName = path; this.name = (0, _utils.getName)(path); this.key = this.pathKeys.length ? this.pathKeys[this.pathKeys.length - 1] : path; this.parentPath = parts.length > 1 ? parts[parts.length - 2] : ""; this._initialize(isDirectory) }; _proto._initialize = function(isDirectory) { this.isDirectory = !!isDirectory; this.size = 0; this.dateModified = new Date; this.thumbnail = ""; this.tooltipText = "" }; _proto.getFullPathInfo = function() { var pathInfo = _toConsumableArray(this.pathInfo); if (!this.isRoot()) { pathInfo.push({ key: this.key, name: this.name }) } return pathInfo }; _proto.isRoot = function() { return "" === this.path }; _proto.getFileExtension = function() { return this.isDirectory ? "" : (0, _utils.getFileExtension)(this.name) }; _proto.equals = function(item) { return item && this.key === item.key }; _proto.createClone = function() { var result = new FileSystemItem(this.pathInfo, this.name, this.isDirectory, this.key); result.key = this.key; result.size = this.size; result.dateModified = this.dateModified; result.thumbnail = this.thumbnail; result.tooltipText = this.tooltipText; result.hasSubDirectories = this.hasSubDirectories; result.dataItem = this.dataItem; return result }; _proto._getPathByPathInfo = function(pathInfo, escape) { return pathInfo.map((function(info) { return escape ? (0, _utils.getEscapedFileName)(info.name) : info.name })).join(_utils.PATH_SEPARATOR) }; return FileSystemItem }(); var _default = FileSystemItem; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 4323: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/file_management/object_provider.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _data = __webpack_require__( /*! ../core/utils/data */ 47617); var _guid = _interopRequireDefault(__webpack_require__( /*! ../core/guid */ 73176)); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _errors = __webpack_require__( /*! ../data/errors */ 18438); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _file_saver = __webpack_require__( /*! ../exporter/file_saver */ 48351); var _ui = _interopRequireDefault(__webpack_require__( /*! ../ui/widget/ui.errors */ 96688)); var _jszip = _interopRequireDefault(__webpack_require__( /*! jszip */ 97405)); var _provider_base = _interopRequireDefault(__webpack_require__( /*! ./provider_base */ 19073)); var _error = _interopRequireDefault(__webpack_require__( /*! ./error */ 49816)); var _error_codes = _interopRequireDefault(__webpack_require__( /*! ./error_codes */ 41011)); var _utils = __webpack_require__( /*! ./utils */ 73173); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var window = (0, _window.getWindow)(); var ObjectFileSystemProvider = function(_FileSystemProviderBa) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ObjectFileSystemProvider, _FileSystemProviderBa); function ObjectFileSystemProvider(options) { var _this; options = (0, _common.ensureDefined)(options, {}); _this = _FileSystemProviderBa.call(this, options) || this; var initialArray = options.data; if (initialArray && !Array.isArray(initialArray)) { throw _errors.errors.Error("E4006") } var itemsExpr = options.itemsExpr || "items"; _this._subFileItemsGetter = (0, _data.compileGetter)(itemsExpr); _this._subFileItemsSetter = _this._getSetter(itemsExpr); var contentExpr = options.contentExpr || "content"; _this._contentGetter = (0, _data.compileGetter)(contentExpr); _this._contentSetter = _this._getSetter(contentExpr); var nameExpr = _this._getNameExpr(options); _this._nameSetter = _this._getSetter(nameExpr); var isDirExpr = _this._getIsDirExpr(options); _this._getIsDirSetter = _this._getSetter(isDirExpr); var keyExpr = _this._getKeyExpr(options); _this._keySetter = _this._getSetter(keyExpr); var sizeExpr = _this._getSizeExpr(options); _this._sizeSetter = _this._getSetter(sizeExpr); var dateModifiedExpr = _this._getDateModifiedExpr(options); _this._dateModifiedSetter = _this._getSetter(dateModifiedExpr); _this._data = initialArray || []; return _this } var _proto = ObjectFileSystemProvider.prototype; _proto.getItems = function(parentDir) { var _this2 = this; return this._executeActionAsDeferred((function() { return _this2._getItems(parentDir) }), true) }; _proto.renameItem = function(item, name) { var _this3 = this; return this._executeActionAsDeferred((function() { return _this3._renameItemCore(item, name) })) }; _proto._renameItemCore = function(item, name) { if (!item) { return } var dataItem = this._findDataObject(item); this._nameSetter(dataItem, name); item.name = name; item.key = this._ensureDataObjectKey(dataItem) }; _proto.createDirectory = function(parentDir, name) { var _this4 = this; return this._executeActionAsDeferred((function() { _this4._validateDirectoryExists(parentDir); _this4._createDataObject(parentDir, name, true) })) }; _proto.deleteItems = function(items) { var _this5 = this; return items.map((function(item) { return _this5._executeActionAsDeferred((function() { return _this5._deleteItem(item) })) })) }; _proto.moveItems = function(items, destinationDir) { var _this6 = this; var destinationDataItem = this._findDataObject(destinationDir); var array = this._getDirectoryDataItems(destinationDataItem); var deferreds = items.map((function(item) { return _this6._executeActionAsDeferred((function() { _this6._checkAbilityToMoveOrCopyItem(item, destinationDir); var dataItem = _this6._findDataObject(item); _this6._deleteItem(item); array.push(dataItem) })) })); return deferreds }; _proto.copyItems = function(items, destinationDir) { var _this7 = this; var destinationDataItem = this._findDataObject(destinationDir); var array = this._getDirectoryDataItems(destinationDataItem); var deferreds = items.map((function(item) { return _this7._executeActionAsDeferred((function() { _this7._checkAbilityToMoveOrCopyItem(item, destinationDir); var dataItem = _this7._findDataObject(item); var copiedItem = _this7._createCopy(dataItem); array.push(copiedItem) })) })); return deferreds }; _proto.uploadFileChunk = function(fileData, chunksInfo, destinationDirectory) { var _this8 = this; if (chunksInfo.chunkIndex > 0) { return chunksInfo.customData.deferred } this._validateDirectoryExists(destinationDirectory); var deferred = chunksInfo.customData.deferred = new _deferred.Deferred; var reader = this._createFileReader(); reader.readAsDataURL(fileData); reader.onload = function() { var content = reader.result.split(",")[1]; var dataObj = _this8._createDataObject(destinationDirectory, fileData.name, false); _this8._sizeSetter(dataObj, fileData.size); _this8._dateModifiedSetter(dataObj, fileData.lastModifiedDate); _this8._contentSetter(dataObj, content); deferred.resolve() }; reader.onerror = function(error) { return deferred.reject(error) }; return deferred }; _proto.downloadItems = function(items) { if (1 === items.length) { this._downloadSingleFile(items[0]) } else { this._downloadMultipleFiles(items) } }; _proto._downloadSingleFile = function(file) { var content = this._getFileContent(file); var byteString = window.atob(content); var arrayBuffer = new ArrayBuffer(byteString.length); var array = new Uint8Array(arrayBuffer); for (var i = 0; i < byteString.length; i++) { array[i] = byteString.charCodeAt(i) } var blob = new window.Blob([arrayBuffer], { type: "application/octet-stream" }); _file_saver.fileSaver.saveAs(file.name, null, blob) }; _proto._downloadMultipleFiles = function(files) { var _this9 = this; var jsZip = function() { if (!_jszip.default) { throw _ui.default.Error("E1041", "JSZip") } return _jszip.default }(); var zip = new jsZip; files.forEach((function(file) { return zip.file(file.name, _this9._getFileContent(file), { base64: true }) })); var options = { type: "blob", compression: "DEFLATE", mimeType: "application/zip" }; var deferred = new _deferred.Deferred; if (zip.generateAsync) { zip.generateAsync(options).then(deferred.resolve) } else { deferred.resolve(zip.generate(options)) } deferred.done((function(blob) { return _file_saver.fileSaver.saveAs("files.zip", null, blob) })) }; _proto._getFileContent = function(file) { var dataItem = this._findDataObject(file); return this._contentGetter(dataItem) || "" }; _proto._validateDirectoryExists = function(directoryInfo) { if (!this._isFileItemExists(directoryInfo) || this._isDirGetter(directoryInfo.fileItem)) { throw new _error.default(_error_codes.default.DirectoryNotFound, directoryInfo) } }; _proto._checkAbilityToMoveOrCopyItem = function(item, destinationDir) { var _this10 = this; var dataItem = this._findDataObject(item); var itemKey = this._getKeyFromDataObject(dataItem, item.parentPath); var pathInfo = destinationDir.getFullPathInfo(); var currentPath = ""; pathInfo.forEach((function(info) { currentPath = (0, _utils.pathCombine)(currentPath, info.name); var pathKey = _this10._getDataObjectKey(info.key, currentPath); if (pathKey === itemKey) { throw new _error.default(_error_codes.default.Other, item) } })) }; _proto._createDataObject = function(parentDir, name, isDirectory) { var dataObj = {}; this._nameSetter(dataObj, name); this._getIsDirSetter(dataObj, isDirectory); this._keySetter(dataObj, String(new _guid.default)); var parentDataItem = this._findDataObject(parentDir); var array = this._getDirectoryDataItems(parentDataItem); array.push(dataObj); return dataObj }; _proto._createCopy = function(dataObj) { var _this11 = this; var copyObj = {}; this._nameSetter(copyObj, this._nameGetter(dataObj)); this._getIsDirSetter(copyObj, this._isDirGetter(dataObj)); var items = this._subFileItemsGetter(dataObj); if (Array.isArray(items)) { var itemsCopy = []; items.forEach((function(childItem) { var childCopy = _this11._createCopy(childItem); itemsCopy.push(childCopy) })); this._subFileItemsSetter(copyObj, itemsCopy) } return copyObj }; _proto._deleteItem = function(fileItem) { var dataItem = this._findDataObject(fileItem); var parentDirDataObj = this._findFileItemObj(fileItem.pathInfo); var array = this._getDirectoryDataItems(parentDirDataObj); var index = array.indexOf(dataItem); array.splice(index, 1) }; _proto._getDirectoryDataItems = function(directoryDataObj) { if (!directoryDataObj) { return this._data } var dataItems = this._subFileItemsGetter(directoryDataObj); if (!Array.isArray(dataItems)) { dataItems = []; this._subFileItemsSetter(directoryDataObj, dataItems) } return dataItems }; _proto._getItems = function(parentDir) { this._validateDirectoryExists(parentDir); var pathInfo = parentDir.getFullPathInfo(); var parentDirKey = pathInfo && pathInfo.length > 0 ? pathInfo[pathInfo.length - 1].key : null; var dirFileObjects = this._data; if (parentDirKey) { var directoryEntry = this._findFileItemObj(pathInfo); dirFileObjects = directoryEntry && this._subFileItemsGetter(directoryEntry) || [] } this._ensureKeysForDuplicateNameItems(dirFileObjects); return this._convertDataObjectsToFileItems(dirFileObjects, pathInfo) }; _proto._ensureKeysForDuplicateNameItems = function(dataObjects) { var _this12 = this; var names = {}; dataObjects.forEach((function(obj) { var name = _this12._nameGetter(obj); if (names[name]) { _this12._ensureDataObjectKey(obj) } else { names[name] = true } })) }; _proto._findDataObject = function(item) { if (item.isRoot()) { return null } var result = this._findFileItemObj(item.getFullPathInfo()); if (!result) { var errorCode = item.isDirectory ? _error_codes.default.DirectoryNotFound : _error_codes.default.FileNotFound; throw new _error.default(errorCode, item) } return result }; _proto._findFileItemObj = function(pathInfo) { var _this13 = this; if (!Array.isArray(pathInfo)) { pathInfo = [] } var currentPath = ""; var fileItemObj = null; var fileItemObjects = this._data; var _loop = function(i) { fileItemObj = fileItemObjects.find((function(item) { var hasCorrectFileItemType = _this13._isDirGetter(item) || i === pathInfo.length - 1; return _this13._getKeyFromDataObject(item, currentPath) === pathInfo[i].key && _this13._nameGetter(item) === pathInfo[i].name && hasCorrectFileItemType })); if (fileItemObj) { currentPath = (0, _utils.pathCombine)(currentPath, _this13._nameGetter(fileItemObj)); fileItemObjects = _this13._subFileItemsGetter(fileItemObj) } }; for (var i = 0; i < pathInfo.length && (0 === i || fileItemObj); i++) { _loop(i) } return fileItemObj }; _proto._getKeyFromDataObject = function(dataObj, defaultKeyPrefix) { var key = this._keyGetter(dataObj); var relativeName = (0, _utils.pathCombine)(defaultKeyPrefix, this._nameGetter(dataObj)); return this._getDataObjectKey(key, relativeName) }; _proto._getDataObjectKey = function(key, relativeName) { return key ? key : relativeName }; _proto._ensureDataObjectKey = function(dataObj) { var key = this._keyGetter(dataObj); if (!key) { key = String(new _guid.default); this._keySetter(dataObj, key) } return key }; _proto._hasSubDirs = function(dataObj) { var subItems = (0, _common.ensureDefined)(this._subFileItemsGetter(dataObj), []); if (!Array.isArray(subItems)) { return true } for (var i = 0; i < subItems.length; i++) { if (true === this._isDirGetter(subItems[i])) { return true } } return false }; _proto._getSetter = function(expr) { return (0, _type.isFunction)(expr) ? expr : (0, _data.compileSetter)(expr) }; _proto._isFileItemExists = function(fileItem) { return fileItem.isDirectory && fileItem.isRoot() || !!this._findFileItemObj(fileItem.getFullPathInfo()) }; _proto._createFileReader = function() { return new window.FileReader }; return ObjectFileSystemProvider }(_provider_base.default); var _default = ObjectFileSystemProvider; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 19073: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/file_management/provider_base.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _data = __webpack_require__( /*! ../core/utils/data */ 47617); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../core/utils/date_serialization */ 69434)); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _file_system_item = _interopRequireDefault(__webpack_require__( /*! ./file_system_item */ 45765)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var FileSystemProviderBase = function() { function FileSystemProviderBase(options) { options = (0, _common.ensureDefined)(options, {}); this._keyGetter = (0, _data.compileGetter)(this._getKeyExpr(options)); this._nameGetter = (0, _data.compileGetter)(this._getNameExpr(options)); this._isDirGetter = (0, _data.compileGetter)(this._getIsDirExpr(options)); this._sizeGetter = (0, _data.compileGetter)(this._getSizeExpr(options)); this._dateModifiedGetter = (0, _data.compileGetter)(this._getDateModifiedExpr(options)); this._thumbnailGetter = (0, _data.compileGetter)(options.thumbnailExpr || "thumbnail") } var _proto = FileSystemProviderBase.prototype; _proto.getItems = function(parentDirectory) { return [] }; _proto.renameItem = function(item, name) {}; _proto.createDirectory = function(parentDirectory, name) {}; _proto.deleteItems = function(items) {}; _proto.moveItems = function(items, destinationDirectory) {}; _proto.copyItems = function(items, destinationDirectory) {}; _proto.uploadFileChunk = function(fileData, chunksInfo, destinationDirectory) {}; _proto.abortFileUpload = function(fileData, chunksInfo, destinationDirectory) {}; _proto.downloadItems = function(items) {}; _proto.getItemsContent = function(items) {}; _proto.getFileUploadChunkSize = function() { return 2e5 }; _proto._convertDataObjectsToFileItems = function(entries, pathInfo) { var _this = this; var result = []; (0, _iterator.each)(entries, (function(_, entry) { var fileItem = _this._createFileItem(entry, pathInfo); result.push(fileItem) })); return result }; _proto._createFileItem = function(dataObj, pathInfo) { var key = this._keyGetter(dataObj); var fileItem = new _file_system_item.default(pathInfo, this._nameGetter(dataObj), !!this._isDirGetter(dataObj), key); fileItem.size = this._sizeGetter(dataObj); if (void 0 === fileItem.size) { fileItem.size = 0 } fileItem.dateModified = _date_serialization.default.deserializeDate(this._dateModifiedGetter(dataObj)); if (void 0 === fileItem.dateModified) { fileItem.dateModified = new Date } if (fileItem.isDirectory) { fileItem.hasSubDirectories = this._hasSubDirs(dataObj) } if (!key) { fileItem.key = fileItem.relativeName } fileItem.thumbnail = this._thumbnailGetter(dataObj) || ""; fileItem.dataItem = dataObj; return fileItem }; _proto._hasSubDirs = function(dataObj) { return true }; _proto._getKeyExpr = function(options) { return options.keyExpr || this._defaultKeyExpr }; _proto._defaultKeyExpr = function(fileItem) { if (2 === arguments.length) { fileItem.__KEY__ = arguments[1]; return } return Object.prototype.hasOwnProperty.call(fileItem, "__KEY__") ? fileItem.__KEY__ : null }; _proto._getNameExpr = function(options) { return options.nameExpr || "name" }; _proto._getIsDirExpr = function(options) { return options.isDirectoryExpr || "isDirectory" }; _proto._getSizeExpr = function(options) { return options.sizeExpr || "size" }; _proto._getDateModifiedExpr = function(options) { return options.dateModifiedExpr || "dateModified" }; _proto._executeActionAsDeferred = function(action, keepResult) { var deferred = new _deferred.Deferred; try { var result = action(); if ((0, _type.isPromise)(result)) { (0, _deferred.fromPromise)(result).done((function(userResult) { return deferred.resolve(keepResult && userResult || void 0) })).fail((function(error) { return deferred.reject(error) })) } else { deferred.resolve(keepResult && result || void 0) } } catch (error) { return deferred.reject(error) } return deferred.promise() }; return FileSystemProviderBase }(); var _default = FileSystemProviderBase; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 41332: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/file_management/remote_provider.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _ajax = _interopRequireDefault(__webpack_require__( /*! ../core/utils/ajax */ 37208)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _guid = _interopRequireDefault(__webpack_require__( /*! ../core/guid */ 73176)); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _provider_base = _interopRequireDefault(__webpack_require__( /*! ./provider_base */ 19073)); var _data2 = __webpack_require__( /*! ../core/utils/data */ 47617); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var window = (0, _window.getWindow)(); var FILE_SYSTEM_COMMNAD_GET_DIR_CONTENTS = "GetDirContents", FILE_SYSTEM_COMMNAD_CREATE_DIR = "CreateDir", FILE_SYSTEM_COMMNAD_RENAME = "Rename", FILE_SYSTEM_COMMNAD_MOVE = "Move", FILE_SYSTEM_COMMNAD_COPY = "Copy", FILE_SYSTEM_COMMNAD_REMOVE = "Remove", FILE_SYSTEM_COMMNAD_UPLOAD_CHUNK = "UploadChunk", FILE_SYSTEM_COMMNAD_ABORT_UPLOAD = "AbortUpload", FILE_SYSTEM_COMMNAD_DOWLOAD = "Download"; var REQUEST_METHOD_GET = "GET", REQUEST_METHOD_POST = "POST"; var RemoteFileSystemProvider = function(_FileSystemProviderBa) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(RemoteFileSystemProvider, _FileSystemProviderBa); function RemoteFileSystemProvider(options) { var _this; options = (0, _common.ensureDefined)(options, {}); _this = _FileSystemProviderBa.call(this, options) || this; _this._endpointUrl = options.endpointUrl; _this._beforeAjaxSend = options.beforeAjaxSend; _this._beforeSubmit = options.beforeSubmit; _this._requestHeaders = options.requestHeaders; _this._hasSubDirsGetter = (0, _data2.compileGetter)(options.hasSubDirectoriesExpr || "hasSubDirectories"); return _this } var _proto = RemoteFileSystemProvider.prototype; _proto.getItems = function(parentDir) { var _this2 = this; var pathInfo = parentDir.getFullPathInfo(); return this._executeRequest(FILE_SYSTEM_COMMNAD_GET_DIR_CONTENTS, { pathInfo: pathInfo }).then((function(result) { return _this2._convertDataObjectsToFileItems(result.result, pathInfo) })) }; _proto.renameItem = function(item, name) { return this._executeRequest(FILE_SYSTEM_COMMNAD_RENAME, { pathInfo: item.getFullPathInfo(), isDirectory: item.isDirectory, name: name }) }; _proto.createDirectory = function(parentDir, name) { return this._executeRequest(FILE_SYSTEM_COMMNAD_CREATE_DIR, { pathInfo: parentDir.getFullPathInfo(), name: name }) }; _proto.deleteItems = function(items) { var _this3 = this; return items.map((function(item) { return _this3._executeRequest(FILE_SYSTEM_COMMNAD_REMOVE, { pathInfo: item.getFullPathInfo(), isDirectory: item.isDirectory }) })) }; _proto.moveItems = function(items, destinationDirectory) { var _this4 = this; return items.map((function(item) { return _this4._executeRequest(FILE_SYSTEM_COMMNAD_MOVE, { sourcePathInfo: item.getFullPathInfo(), sourceIsDirectory: item.isDirectory, destinationPathInfo: destinationDirectory.getFullPathInfo() }) })) }; _proto.copyItems = function(items, destinationFolder) { var _this5 = this; return items.map((function(item) { return _this5._executeRequest(FILE_SYSTEM_COMMNAD_COPY, { sourcePathInfo: item.getFullPathInfo(), sourceIsDirectory: item.isDirectory, destinationPathInfo: destinationFolder.getFullPathInfo() }) })) }; _proto.uploadFileChunk = function(fileData, chunksInfo, destinationDirectory) { var _data; if (0 === chunksInfo.chunkIndex) { chunksInfo.customData.uploadId = new _guid.default } var args = { destinationPathInfo: destinationDirectory.getFullPathInfo(), chunkMetadata: JSON.stringify({ UploadId: chunksInfo.customData.uploadId, FileName: fileData.name, Index: chunksInfo.chunkIndex, TotalCount: chunksInfo.chunkCount, FileSize: fileData.size }) }; var ajaxSettings = { url: this._endpointUrl, headers: this._requestHeaders || {}, method: REQUEST_METHOD_POST, dataType: "json", data: (_data = {}, _defineProperty(_data, "chunk", chunksInfo.chunkBlob), _defineProperty(_data, "arguments", JSON.stringify(args)), _defineProperty(_data, "command", FILE_SYSTEM_COMMNAD_UPLOAD_CHUNK), _data), upload: { onprogress: _common.noop, onloadstart: _common.noop, onabort: _common.noop }, xhrFields: {}, cache: false }; var deferred = new _deferred.Deferred; this._beforeSendInternal(ajaxSettings); _ajax.default.sendRequest(ajaxSettings).done((function(result) { !result.success && deferred.reject(result) || deferred.resolve() })).fail(deferred.reject); return deferred.promise() }; _proto.abortFileUpload = function(fileData, chunksInfo, destinationDirectory) { return this._executeRequest(FILE_SYSTEM_COMMNAD_ABORT_UPLOAD, { uploadId: chunksInfo.customData.uploadId }) }; _proto.downloadItems = function(items) { var args = this._getDownloadArgs(items); var $form = (0, _renderer.default)("
").css({ display: "none" }).attr({ method: REQUEST_METHOD_POST, action: args.url }); var formDataEntries = { command: args.command, arguments: args.arguments }; this._beforeSubmitInternal(formDataEntries); this._appendFormDataInputsToForm(formDataEntries, $form); $form.appendTo("body"); _events_engine.default.trigger($form, "submit"); setTimeout((function() { return $form.remove() })) }; _proto.getItemsContent = function(items) { var args = this._getDownloadArgs(items); var ajaxSettings = { url: args.url, headers: this._requestHeaders || {}, method: REQUEST_METHOD_POST, responseType: "arraybuffer", data: { command: args.command, arguments: args.arguments }, upload: { onprogress: _common.noop, onloadstart: _common.noop, onabort: _common.noop }, xhrFields: {}, cache: false }; this._beforeSendInternal(ajaxSettings); return _ajax.default.sendRequest(ajaxSettings) }; _proto._getDownloadArgs = function(items) { var pathInfoList = items.map((function(item) { return item.getFullPathInfo() })); var args = { pathInfoList: pathInfoList }; var argsStr = JSON.stringify(args); return { url: this._endpointUrl, arguments: argsStr, command: FILE_SYSTEM_COMMNAD_DOWLOAD } }; _proto._getItemsIds = function(items) { return items.map((function(it) { return it.relativeName })) }; _proto._executeRequest = function(command, args) { var method = command === FILE_SYSTEM_COMMNAD_GET_DIR_CONTENTS ? REQUEST_METHOD_GET : REQUEST_METHOD_POST; var deferred = new _deferred.Deferred; var ajaxSettings = { url: this._getEndpointUrl(command, args), headers: this._requestHeaders || {}, method: method, dataType: "json", data: {}, xhrFields: {}, cache: false }; this._beforeSendInternal(ajaxSettings); _ajax.default.sendRequest(ajaxSettings).then((function(result) { !result.success && deferred.reject(result) || deferred.resolve(result) }), (function(e) { return deferred.reject(e) })); return deferred.promise() }; _proto._beforeSubmitInternal = function(formDataEntries) { if ((0, _type.isFunction)(this._beforeSubmit)) { this._beforeSubmit({ formData: formDataEntries }) } }; _proto._beforeSendInternal = function(ajaxSettings) { if ((0, _type.isFunction)(this._beforeAjaxSend)) { var ajaxArguments = { headers: ajaxSettings.headers, formData: ajaxSettings.data, xhrFields: ajaxSettings.xhrFields }; this._beforeAjaxSend(ajaxArguments); ajaxSettings.headers = ajaxArguments.headers; ajaxSettings.data = ajaxArguments.formData; ajaxSettings.xhrFields = ajaxArguments.xhrFields } if ((0, _type.isEmptyObject)(ajaxSettings.data)) { delete ajaxSettings.data } else if (ajaxSettings.responseType || ajaxSettings.upload) { ajaxSettings.data = this._createFormData(ajaxSettings.data) } }; _proto._createFormData = function(formDataEntries) { var formData = new window.FormData; for (var entryName in formDataEntries) { if (Object.prototype.hasOwnProperty.call(formDataEntries, entryName) && (0, _type.isDefined)(formDataEntries[entryName])) { formData.append(entryName, formDataEntries[entryName]) } } return formData }; _proto._appendFormDataInputsToForm = function(formDataEntries, formElement) { for (var entryName in formDataEntries) { if (Object.prototype.hasOwnProperty.call(formDataEntries, entryName) && (0, _type.isDefined)(formDataEntries[entryName])) { (0, _renderer.default)("").attr({ type: "hidden", name: entryName, value: formDataEntries[entryName] }).appendTo(formElement) } } }; _proto._getEndpointUrl = function(command, args) { var queryString = this._getQueryString({ command: command, arguments: JSON.stringify(args) }); var separator = this._endpointUrl && this._endpointUrl.indexOf("?") > 0 ? "&" : "?"; return this._endpointUrl + separator + queryString }; _proto._getQueryString = function(params) { var pairs = []; var keys = Object.keys(params); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = params[key]; if (void 0 === value) { continue } if (null === value) { value = "" } if (Array.isArray(value)) { this._processQueryStringArrayParam(key, value, pairs) } else { var pair = this._getQueryStringPair(key, value); pairs.push(pair) } } return pairs.join("&") }; _proto._processQueryStringArrayParam = function(key, array, pairs) { var _this6 = this; (0, _iterator.each)(array, (function(_, item) { var pair = _this6._getQueryStringPair(key, item); pairs.push(pair) })) }; _proto._getQueryStringPair = function(key, value) { return encodeURIComponent(key) + "=" + encodeURIComponent(value) }; _proto._hasSubDirs = function(dataObj) { var hasSubDirs = this._hasSubDirsGetter(dataObj); return "boolean" === typeof hasSubDirs ? hasSubDirs : true }; _proto._getKeyExpr = function(options) { return options.keyExpr || "key" }; return RemoteFileSystemProvider }(_provider_base.default); var _default = RemoteFileSystemProvider; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 73173: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/file_management/utils.js ***! \**********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.pathCombine = exports.getPathParts = exports.getParentPath = exports.getName = exports.getFileExtension = exports.getEscapedFileName = exports.PATH_SEPARATOR = void 0; var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); exports.PATH_SEPARATOR = "/"; exports.getFileExtension = function(path) { var index = path.lastIndexOf("."); return -1 !== index ? path.substr(index) : "" }; exports.getName = function(path) { var index = path.lastIndexOf("/"); return -1 !== index ? path.substr(index + "/".length) : path }; exports.getParentPath = function(path) { var index = path.lastIndexOf("/"); return -1 !== index ? path.substr(0, index) : "" }; exports.getPathParts = function(path, includeFullPath) { if (!path || "/" === path) { return [] } var result = []; var pathPart = ""; for (var i = 0; i < path.length; i++) { var char = path.charAt(i); if ("/" === char) { var nextChar = path.charAt(i + 1); if ("/" !== nextChar) { if (pathPart) { result.push(pathPart); pathPart = "" } char = nextChar } i++ } pathPart += char } if (pathPart) { result.push(pathPart) } if (includeFullPath) { for (var _i = 0; _i < result.length; _i++) { result[_i] = pathCombine(0 === _i ? "" : result[_i - 1], getEscapedFileName(result[_i])) } } return result }; var getEscapedFileName = function(fileName) { return fileName.replace(/\/{1,1}/g, "//") }; exports.getEscapedFileName = getEscapedFileName; var pathCombine = function() { var result = ""; (0, _iterator.each)(arguments, (function(_, arg) { if (arg) { if (result) { result += "/" } result += arg } })); return result }; exports.pathCombine = pathCombine }, 30343: /*!**************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/format_helper.js ***! \**************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _type = __webpack_require__( /*! ./core/utils/type */ 35922); var _date = _interopRequireDefault(__webpack_require__( /*! ./core/utils/date */ 91198)); var _number = _interopRequireDefault(__webpack_require__( /*! ./localization/number */ 18016)); var _date2 = _interopRequireDefault(__webpack_require__( /*! ./localization/date */ 91500)); var _dependency_injector = _interopRequireDefault(__webpack_require__( /*! ./core/utils/dependency_injector */ 20476)); __webpack_require__( /*! ./localization/currency */ 89740); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _default = (0, _dependency_injector.default)({ format: function(value, _format) { var formatIsValid = (0, _type.isString)(_format) && "" !== _format || (0, _type.isPlainObject)(_format) || (0, _type.isFunction)(_format); var valueIsValid = (0, _type.isNumeric)(value) || (0, _type.isDate)(value); if (!formatIsValid || !valueIsValid) { return (0, _type.isDefined)(value) ? value.toString() : "" } if ((0, _type.isFunction)(_format)) { return _format(value) } if ((0, _type.isString)(_format)) { _format = { type: _format } } if ((0, _type.isNumeric)(value)) { return _number.default.format(value, _format) } if ((0, _type.isDate)(value)) { return _date2.default.format(value, _format) } }, getTimeFormat: function(showSecond) { return showSecond ? "longtime" : "shorttime" }, _normalizeFormat: function(format) { if (!Array.isArray(format)) { return format } if (1 === format.length) { return format[0] } return function(date) { return format.map((function(formatPart) { return _date2.default.format(date, formatPart) })).join(" ") } }, getDateFormatByDifferences: function(dateDifferences, intervalFormat) { var resultFormat = []; var needSpecialSecondFormatter = intervalFormat && dateDifferences.millisecond && !(dateDifferences.year || dateDifferences.month || dateDifferences.day); if (needSpecialSecondFormatter) { resultFormat.push((function(date) { return date.getSeconds() + date.getMilliseconds() / 1e3 + "s" })) } else if (dateDifferences.millisecond) { resultFormat.push("millisecond") } if (dateDifferences.hour || dateDifferences.minute || !needSpecialSecondFormatter && dateDifferences.second) { resultFormat.unshift(this.getTimeFormat(dateDifferences.second)) } if (dateDifferences.year && dateDifferences.month && dateDifferences.day) { if (intervalFormat && "month" === intervalFormat) { return "monthandyear" } else { resultFormat.unshift("shortdate"); return this._normalizeFormat(resultFormat) } } if (dateDifferences.year && dateDifferences.month) { return "monthandyear" } if (dateDifferences.year && dateDifferences.quarter) { return "quarterandyear" } if (dateDifferences.year) { return "year" } if (dateDifferences.quarter) { return "quarter" } if (dateDifferences.month && dateDifferences.day) { if (intervalFormat) { resultFormat.unshift((function(date) { return _date2.default.getMonthNames("abbreviated")[date.getMonth()] + " " + _date2.default.format(date, "day") })) } else { resultFormat.unshift("monthandday") } return this._normalizeFormat(resultFormat) } if (dateDifferences.month) { return "month" } if (dateDifferences.day) { if (intervalFormat) { resultFormat.unshift("day") } else { resultFormat.unshift((function(date) { return _date2.default.format(date, "dayofweek") + ", " + _date2.default.format(date, "day") })) } return this._normalizeFormat(resultFormat) } return this._normalizeFormat(resultFormat) }, getDateFormatByTicks: function(ticks) { var maxDiff; var currentDiff; var i; if (ticks.length > 1) { maxDiff = _date.default.getDatesDifferences(ticks[0], ticks[1]); for (i = 1; i < ticks.length - 1; i++) { currentDiff = _date.default.getDatesDifferences(ticks[i], ticks[i + 1]); if (maxDiff.count < currentDiff.count) { maxDiff = currentDiff } } } else { maxDiff = { year: true, month: true, day: true, hour: ticks[0].getHours() > 0, minute: ticks[0].getMinutes() > 0, second: ticks[0].getSeconds() > 0, millisecond: ticks[0].getMilliseconds() > 0 } } var resultFormat = this.getDateFormatByDifferences(maxDiff); return resultFormat }, getDateFormatByTickInterval: function(startValue, endValue, tickInterval) { var dateUnitInterval; var correctDateDifferences = function(dateDifferences, tickInterval, value) { switch (tickInterval) { case "year": case "quarter": dateDifferences.month = value; case "month": dateDifferences.day = value; case "week": case "day": dateDifferences.hour = value; case "hour": dateDifferences.minute = value; case "minute": dateDifferences.second = value; case "second": dateDifferences.millisecond = value } }; tickInterval = (0, _type.isString)(tickInterval) ? tickInterval.toLowerCase() : tickInterval; var dateDifferences = _date.default.getDatesDifferences(startValue, endValue); if (startValue !== endValue) { ! function(differences, minDate, maxDate) { if (!maxDate.getMilliseconds() && maxDate.getSeconds()) { if (maxDate.getSeconds() - minDate.getSeconds() === 1) { differences.millisecond = true; differences.second = false } } else if (!maxDate.getSeconds() && maxDate.getMinutes()) { if (maxDate.getMinutes() - minDate.getMinutes() === 1) { differences.second = true; differences.minute = false } } else if (!maxDate.getMinutes() && maxDate.getHours()) { if (maxDate.getHours() - minDate.getHours() === 1) { differences.minute = true; differences.hour = false } } else if (!maxDate.getHours() && maxDate.getDate() > 1) { if (maxDate.getDate() - minDate.getDate() === 1) { differences.hour = true; differences.day = false } } else if (1 === maxDate.getDate() && maxDate.getMonth()) { if (maxDate.getMonth() - minDate.getMonth() === 1) { differences.day = true; differences.month = false } } else if (!maxDate.getMonth() && maxDate.getFullYear()) { if (maxDate.getFullYear() - minDate.getFullYear() === 1) { differences.month = true; differences.year = false } } }(dateDifferences, startValue > endValue ? endValue : startValue, startValue > endValue ? startValue : endValue) } dateUnitInterval = _date.default.getDateUnitInterval(dateDifferences); correctDateDifferences(dateDifferences, dateUnitInterval, true); dateUnitInterval = _date.default.getDateUnitInterval(tickInterval || "second"); correctDateDifferences(dateDifferences, dateUnitInterval, false); dateDifferences[{ week: "day" } [dateUnitInterval] || dateUnitInterval] = true; var resultFormat = this.getDateFormatByDifferences(dateDifferences); return resultFormat } }); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 71582: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/angular.js ***! \********************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ./jquery */ 78475); __webpack_require__( /*! ./angular/component_registrator */ 38971); __webpack_require__( /*! ./angular/event_registrator */ 12993); __webpack_require__( /*! ./angular/components */ 11579); __webpack_require__( /*! ./angular/action_executors */ 21298) }, 21298: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/angular/action_executors.js ***! \*************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _action = _interopRequireDefault(__webpack_require__( /*! ../../core/action */ 62414)); var _angular = _interopRequireDefault(__webpack_require__( /*! angular */ 62387)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } if (_angular.default) { _action.default.registerExecutor({ ngExpression: { execute: function(e) { if ("string" === typeof e.action) { e.context.$eval(e.action) } } } }) } }, 38971: /*!******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/angular/component_registrator.js ***! \******************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _angular = _interopRequireDefault(__webpack_require__( /*! angular */ 62387)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _config = _interopRequireDefault(__webpack_require__( /*! ../../core/config */ 80209)); var _component_registrator_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator_callbacks */ 5554)); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/callbacks */ 44504)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _locker = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/locker */ 88933)); var _editor = _interopRequireDefault(__webpack_require__( /*! ../../ui/editor/editor */ 96452)); var _template = __webpack_require__( /*! ./template */ 76165); var _module = _interopRequireDefault(__webpack_require__( /*! ./module */ 69155)); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ../../ui/collection/ui.collection_widget.edit */ 11050)); var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _comparator = __webpack_require__( /*! ../../core/utils/comparator */ 49036); var _inflector = __webpack_require__( /*! ../../core/utils/inflector */ 78008); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } if (_angular.default) { var safeApply = function(func, scope) { if (scope.$root.$$phase) { return func(scope) } else { return scope.$apply((function() { return func(scope) })) } }; var ComponentBuilder = _class.default.inherit({ ctor: function(options) { this._componentDisposing = (0, _callbacks.default)(); this._optionChangedCallbacks = (0, _callbacks.default)(); this._ngLocker = new _locker.default; this._scope = options.scope; this._$element = options.$element; this._$templates = options.$templates; this._componentClass = options.componentClass; this._parse = options.parse; this._compile = options.compile; this._itemAlias = options.itemAlias; this._transcludeFn = options.transcludeFn; this._digestCallbacks = options.dxDigestCallbacks; this._normalizeOptions(options.ngOptions); this._initComponentBindings(); this._initComponent(this._scope); if (!options.ngOptions) { this._addOptionsStringWatcher(options.ngOptionsString) } }, _addOptionsStringWatcher: function(optionsString) { var _this = this; var clearOptionsStringWatcher = this._scope.$watch(optionsString, (function(newOptions) { if (!newOptions) { return } clearOptionsStringWatcher(); _this._normalizeOptions(newOptions); _this._initComponentBindings(); _this._component.option(_this._evalOptions(_this._scope)) })); this._componentDisposing.add(clearOptionsStringWatcher) }, _normalizeOptions: function(options) { var _this2 = this; this._ngOptions = (0, _extend.extendFromObject)({}, options); if (!options) { return } if (!Object.prototype.hasOwnProperty.call(options, "bindingOptions") && options.bindingOptions) { this._ngOptions.bindingOptions = options.bindingOptions } if (options.bindingOptions) { (0, _iterator.each)(options.bindingOptions, (function(key, value) { if ("string" === (0, _type.type)(value)) { _this2._ngOptions.bindingOptions[key] = { dataPath: value } } })) } }, _initComponent: function(scope) { this._component = new this._componentClass(this._$element, this._evalOptions(scope)); this._component._isHidden = true; this._handleDigestPhase() }, _handleDigestPhase: function() { var _this3 = this; var beginUpdate = function() { _this3._component.beginUpdate() }; var endUpdate = function() { _this3._component.endUpdate() }; this._digestCallbacks.begin.add(beginUpdate); this._digestCallbacks.end.add(endUpdate); this._componentDisposing.add((function() { _this3._digestCallbacks.begin.remove(beginUpdate); _this3._digestCallbacks.end.remove(endUpdate) })) }, _initComponentBindings: function() { var _this4 = this; var optionDependencies = {}; if (!this._ngOptions.bindingOptions) { return }(0, _iterator.each)(this._ngOptions.bindingOptions, (function(optionPath, value) { var separatorIndex = optionPath.search(/\[|\./); var optionForSubscribe = separatorIndex > -1 ? optionPath.substring(0, separatorIndex) : optionPath; var prevWatchMethod; var clearWatcher; var valuePath = value.dataPath; var deepWatch = true; var forcePlainWatchMethod = false; if (void 0 !== value.deep) { forcePlainWatchMethod = deepWatch = !!value.deep } if (!optionDependencies[optionForSubscribe]) { optionDependencies[optionForSubscribe] = {} } optionDependencies[optionForSubscribe][optionPath] = valuePath; ! function updateWatcher() { var watchMethod = Array.isArray(_this4._scope.$eval(valuePath)) && !forcePlainWatchMethod ? "$watchCollection" : "$watch"; if (prevWatchMethod !== watchMethod) { if (clearWatcher) { clearWatcher() } clearWatcher = _this4._scope[watchMethod](valuePath, (function(newValue, oldValue) { if (_this4._ngLocker.locked(optionPath)) { return } _this4._ngLocker.obtain(optionPath); _this4._component.option(optionPath, newValue); updateWatcher(); if ((0, _comparator.equals)(oldValue, newValue) && _this4._ngLocker.locked(optionPath)) { _this4._ngLocker.release(optionPath) } }), deepWatch); prevWatchMethod = watchMethod } }(); _this4._componentDisposing.add(clearWatcher) })); this._optionChangedCallbacks.add((function(args) { var optionName = args.name; var fullName = args.fullName; var component = args.component; if (_this4._ngLocker.locked(fullName)) { _this4._ngLocker.release(fullName); return } if (!optionDependencies || !optionDependencies[optionName]) { return } var isActivePhase = _this4._scope.$root.$$phase; var obtainOption = function() { _this4._ngLocker.obtain(fullName) }; if (isActivePhase) { _this4._digestCallbacks.begin.add(obtainOption) } else { obtainOption() } safeApply((function() { (0, _iterator.each)(optionDependencies[optionName], (function(optionPath, valuePath) { if (!_this4._optionsAreLinked(fullName, optionPath)) { return } var value = component.option(optionPath); _this4._parse(valuePath).assign(_this4._scope, value); var scopeValue = _this4._parse(valuePath)(_this4._scope); if (scopeValue !== value) { args.component.option(optionPath, scopeValue) } })) }), _this4._scope); var releaseOption = function releaseOption() { if (_this4._ngLocker.locked(fullName)) { _this4._ngLocker.release(fullName) } _this4._digestCallbacks.begin.remove(obtainOption); _this4._digestCallbacks.end.remove(releaseOption) }; if (isActivePhase) { _this4._digestCallbacks.end.addPrioritized(releaseOption) } else { releaseOption() } })) }, _optionsAreNested: function(optionPath1, optionPath2) { var parentSeparator = optionPath1[optionPath2.length]; return 0 === optionPath1.indexOf(optionPath2) && ("." === parentSeparator || "[" === parentSeparator) }, _optionsAreLinked: function(optionPath1, optionPath2) { if (optionPath1 === optionPath2) { return true } return optionPath1.length > optionPath2.length ? this._optionsAreNested(optionPath1, optionPath2) : this._optionsAreNested(optionPath2, optionPath1) }, _compilerByTemplate: function(template) { var _this5 = this; var scopeItemsPath = this._getScopeItemsPath(); return function(options) { var $resultMarkup = (0, _renderer.default)(template).clone(); var dataIsScope = options.model && options.model.constructor === _this5._scope.$root.constructor; var templateScope = dataIsScope ? options.model : options.noModel ? _this5._scope : _this5._createScopeWithData(options); if (scopeItemsPath) { _this5._synchronizeScopes(templateScope, scopeItemsPath, options.index) } $resultMarkup.appendTo(options.container); if (!options.noModel) { _events_engine.default.on($resultMarkup, "$destroy", (function() { var destroyAlreadyCalled = !templateScope.$parent; if (destroyAlreadyCalled) { return } templateScope.$destroy() })) } var ngTemplate = _this5._compile($resultMarkup, _this5._transcludeFn); _this5._applyAsync((function(scope) { ngTemplate(scope, null, { parentBoundTranscludeFn: _this5._transcludeFn }) }), templateScope); return $resultMarkup } }, _applyAsync: function(func, scope) { var _this6 = this; func(scope); if (!scope.$root.$$phase) { if (!this._renderingTimer) { var clearRenderingTimer = function() { clearTimeout(_this6._renderingTimer) }; this._renderingTimer = setTimeout((function() { scope.$apply(); _this6._renderingTimer = null; _this6._componentDisposing.remove(clearRenderingTimer) })); this._componentDisposing.add(clearRenderingTimer) } } }, _getScopeItemsPath: function() { if (this._componentClass.subclassOf(_uiCollection_widget.default) && this._ngOptions.bindingOptions && this._ngOptions.bindingOptions.items) { return this._ngOptions.bindingOptions.items.dataPath } }, _createScopeWithData: function(options) { var newScope = this._scope.$new(); if (this._itemAlias) { newScope[this._itemAlias] = options.model } if ((0, _type.isDefined)(options.index)) { newScope.$index = options.index } return newScope }, _synchronizeScopes: function(itemScope, parentPrefix, itemIndex) { if (this._itemAlias && "object" !== _typeof(itemScope[this._itemAlias])) { this._synchronizeScopeField({ parentScope: this._scope, childScope: itemScope, fieldPath: this._itemAlias, parentPrefix: parentPrefix, itemIndex: itemIndex }) } }, _synchronizeScopeField: function(args) { var parentScope = args.parentScope; var childScope = args.childScope; var fieldPath = args.fieldPath; var parentPrefix = args.parentPrefix; var itemIndex = args.itemIndex; var innerPathSuffix = fieldPath === this._itemAlias ? "" : "." + fieldPath; var collectionField = void 0 !== itemIndex; var optionOuterBag = [parentPrefix]; if (collectionField) { if (!(0, _type.isNumeric)(itemIndex)) { return } optionOuterBag.push("[", itemIndex, "]") } optionOuterBag.push(innerPathSuffix); var optionOuterPath = optionOuterBag.join(""); var clearParentWatcher = parentScope.$watch(optionOuterPath, (function(newValue, oldValue) { if (newValue !== oldValue) { (0, _data.compileSetter)(fieldPath)(childScope, newValue) } })); var clearItemWatcher = childScope.$watch(fieldPath, (function(newValue, oldValue) { if (newValue !== oldValue) { if (collectionField && !(0, _data.compileGetter)(parentPrefix)(parentScope)[itemIndex]) { clearItemWatcher(); return }(0, _data.compileSetter)(optionOuterPath)(parentScope, newValue) } })); this._componentDisposing.add([clearParentWatcher, clearItemWatcher]) }, _evalOptions: function(scope) { var _this8 = this; var result = (0, _extend.extendFromObject)({}, this._ngOptions); delete result.bindingOptions; if (this._ngOptions.bindingOptions) { (0, _iterator.each)(this._ngOptions.bindingOptions, (function(key, value) { result[key] = scope.$eval(value.dataPath) })) } result._optionChangedCallbacks = this._optionChangedCallbacks; result._disposingCallbacks = this._componentDisposing; result.onActionCreated = function(component, action, config) { if (config && "rendering" === config.category) { return action } return function() { var _this7 = this; var args = arguments; if (!scope || !scope.$root || scope.$root.$$phase) { return action.apply(this, args) } return safeApply((function() { return action.apply(_this7, args) }), scope) } }; result.beforeActionExecute = result.onActionCreated; result.nestedComponentOptions = function(component) { return { templatesRenderAsynchronously: component.option("templatesRenderAsynchronously"), forceApplyBindings: component.option("forceApplyBindings"), modelByElement: component.option("modelByElement"), onActionCreated: component.option("onActionCreated"), beforeActionExecute: component.option("beforeActionExecute"), nestedComponentOptions: component.option("nestedComponentOptions") } }; result.templatesRenderAsynchronously = true; if ((0, _config.default)().wrapActionsBeforeExecute) { result.forceApplyBindings = function() { safeApply((function() {}), scope) } } result.integrationOptions = { createTemplate: function(element) { return new _template.NgTemplate(element, _this8._compilerByTemplate.bind(_this8)) }, watchMethod: function(fn, callback, options) { options = options || {}; var immediateValue; var skipCallback = options.skipImmediate; var disposeWatcher = scope.$watch((function() { var value = fn(); if (value instanceof Date) { value = value.valueOf() } return value }), (function(newValue) { var isSameValue = immediateValue === newValue; if (!skipCallback && (!isSameValue || isSameValue && options.deep)) { callback(newValue) } skipCallback = false }), options.deep); if (!skipCallback) { immediateValue = fn(); callback(immediateValue) } if ((0, _config.default)().wrapActionsBeforeExecute) { _this8._applyAsync((function() {}), scope) } return disposeWatcher }, templates: { "dx-polymorph-widget": { render: function(options) { var widgetName = options.model.widget; if (!widgetName) { return } var markup = (0, _renderer.default)("
").attr((0, _inflector.dasherize)(widgetName), "options").get(0); var newScope = _this8._scope.$new(); newScope.options = options.model.options; options.container.append(markup); _this8._compile(markup)(newScope) } } } }; result.modelByElement = function() { return scope }; return result } }); ComponentBuilder = ComponentBuilder.inherit({ ctor: function(options) { this._componentName = options.componentName; this._ngModel = options.ngModel; this._ngModelController = options.ngModelController; this.callBase.apply(this, arguments) }, _isNgModelRequired: function() { return _editor.default.isEditor(this._componentClass.prototype) && this._ngModel }, _initComponentBindings: function() { this.callBase.apply(this, arguments); this._initNgModelBinding() }, _initNgModelBinding: function() { var _this9 = this; if (!this._isNgModelRequired()) { return } var clearNgModelWatcher = this._scope.$watch(this._ngModel, (function(newValue, oldValue) { if (_this9._ngLocker.locked("value")) { return } if (newValue === oldValue) { return } _this9._component.option("value", newValue) })); this._optionChangedCallbacks.add((function(args) { _this9._ngLocker.obtain("value"); try { if ("value" !== args.name) { return } _this9._ngModelController.$setViewValue(args.value) } finally { if (_this9._ngLocker.locked("value")) { _this9._ngLocker.release("value") } } })); this._componentDisposing.add(clearNgModelWatcher) }, _evalOptions: function() { if (!this._isNgModelRequired()) { return this.callBase.apply(this, arguments) } var result = this.callBase.apply(this, arguments); result.value = this._parse(this._ngModel)(this._scope); return result } }); var registeredComponents = {}; var registerComponentDirective = function(name) { var priority = "dxValidator" !== name ? 1 : 10; _module.default.directive(name, ["$compile", "$parse", "dxDigestCallbacks", function($compile, $parse, dxDigestCallbacks) { return { restrict: "A", require: "^?ngModel", priority: priority, compile: function($element) { var componentClass = registeredComponents[name]; var useTemplates = componentClass.prototype._useTemplates ? componentClass.prototype._useTemplates() : function getClassMethod(initClass, methodName) { var hasParentProperty = Object.prototype.hasOwnProperty.bind(initClass)("parent"); var isES6Class = !hasParentProperty && initClass.parent; if (isES6Class) { var baseClass = Object.getPrototypeOf(initClass); return baseClass.prototype[methodName] ? function() { return baseClass.prototype[methodName]() } : getClassMethod(baseClass, methodName) } else { var method = initClass.parent.prototype[methodName]; if (method) { return function() { return method() } } if (!method || !initClass.parent.subclassOf) { return function() { return } } return getClassMethod(initClass.parent, methodName) } }(componentClass, "_useTemplates")(); var $content = useTemplates ? $element.contents().detach() : null; return function(scope, $element, attrs, ngModelController, transcludeFn) { $element.append($content); safeApply((function() { new ComponentBuilder({ componentClass: componentClass, componentName: name, compile: $compile, parse: $parse, $element: $element, scope: scope, ngOptionsString: attrs[name], ngOptions: attrs[name] ? scope.$eval(attrs[name]) : {}, ngModel: attrs.ngModel, ngModelController: ngModelController, transcludeFn: transcludeFn, itemAlias: attrs.dxItemAlias, dxDigestCallbacks: dxDigestCallbacks }) }), scope) } } } }]) }; _component_registrator_callbacks.default.add((function(name, componentClass) { if (!registeredComponents[name]) { registerComponentDirective(name) } registeredComponents[name] = componentClass })) } }, 11579: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/angular/components.js ***! \*******************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/callbacks */ 44504)); var _module = _interopRequireDefault(__webpack_require__( /*! ./module */ 69155)); var _angular = _interopRequireDefault(__webpack_require__( /*! angular */ 62387)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } if (_angular.default) { _module.default.service("dxDigestCallbacks", ["$rootScope", function($rootScope) { var begin = (0, _callbacks.default)(); var prioritizedEnd = (0, _callbacks.default)(); var end = (0, _callbacks.default)(); var digestPhase = false; $rootScope.$watch((function() { if (digestPhase) { return } digestPhase = true; begin.fire(); $rootScope.$$postDigest((function() { digestPhase = false; prioritizedEnd.fire(); end.fire() })) })); return { begin: { add: function(callback) { if (digestPhase) { callback() } begin.add(callback) }, remove: begin.remove.bind(begin) }, end: { add: end.add.bind(end), addPrioritized: prioritizedEnd.add.bind(prioritizedEnd), remove: end.remove.bind(end) } } }]) } }, 12993: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/angular/event_registrator.js ***! \**************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _event_registrator_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../events/core/event_registrator_callbacks */ 94553)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _module = _interopRequireDefault(__webpack_require__( /*! ./module */ 69155)); var _angular = _interopRequireDefault(__webpack_require__( /*! angular */ 62387)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } if (_angular.default) { _event_registrator_callbacks.default.add((function(name) { var ngEventName = name.slice(0, 2) + name.charAt(2).toUpperCase() + name.slice(3); _module.default.directive(ngEventName, ["$parse", function($parse) { return function(scope, element, attr) { var attrValue = attr[ngEventName].trim(); var handler; var eventOptions = {}; if ("{" === attrValue.charAt(0)) { eventOptions = scope.$eval(attrValue); handler = $parse(eventOptions.execute) } else { handler = $parse(attr[ngEventName]) } _events_engine.default.on(element, name, eventOptions, (function(e) { scope.$apply((function() { handler(scope, { $event: e }) })) })) } }]) })) } }, 69155: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/angular/module.js ***! \***************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _angular = (obj = __webpack_require__( /*! angular */ 62387), obj && obj.__esModule ? obj : { default: obj }); var obj; var ngModule = {}; if (_angular.default) { ngModule = _angular.default.module("dx", []) } var _default = ngModule; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 76165: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/angular/template.js ***! \*****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.NgTemplate = void 0; var _renderer = (obj = __webpack_require__( /*! ../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _template_base = __webpack_require__( /*! ../../core/templates/template_base */ 81033); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _dom = __webpack_require__( /*! ../../core/utils/dom */ 3532); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var NgTemplate = function(_TemplateBase) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(NgTemplate, _TemplateBase); function NgTemplate(element, templateCompiler) { var _this; _this = _TemplateBase.call(this) || this; _this._element = element; _this._compiledTemplate = templateCompiler((0, _dom.normalizeTemplateElement)(_this._element)); return _this } var _proto = NgTemplate.prototype; _proto._renderCore = function(options) { var compiledTemplate = this._compiledTemplate; return (0, _type.isFunction)(compiledTemplate) ? compiledTemplate(options) : compiledTemplate }; _proto.source = function() { return (0, _renderer.default)(this._element).clone() }; return NgTemplate }(_template_base.TemplateBase); exports.NgTemplate = NgTemplate }, 78475: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/jquery.js ***! \*******************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _jquery = _interopRequireDefault(__webpack_require__( /*! jquery */ 96073)); var _version = __webpack_require__( /*! ../core/utils/version */ 58020); var _error = _interopRequireDefault(__webpack_require__( /*! ../core/utils/error */ 95640)); var _use_jquery = _interopRequireDefault(__webpack_require__( /*! ./jquery/use_jquery */ 72722)); __webpack_require__( /*! ./jquery/renderer */ 17394); __webpack_require__( /*! ./jquery/hooks */ 59228); __webpack_require__( /*! ./jquery/deferred */ 66809); __webpack_require__( /*! ./jquery/hold_ready */ 32185); __webpack_require__( /*! ./jquery/events */ 711); __webpack_require__( /*! ./jquery/easing */ 27387); __webpack_require__( /*! ./jquery/element_data */ 95063); __webpack_require__( /*! ./jquery/element */ 63200); __webpack_require__( /*! ./jquery/component_registrator */ 87481); __webpack_require__( /*! ./jquery/ajax */ 30829); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var useJQuery = (0, _use_jquery.default)(); if (useJQuery && (0, _version.compare)(_jquery.default.fn.jquery, [1, 10]) < 0) { throw _error.default.Error("E0012") } }, 30829: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/jquery/ajax.js ***! \************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _jquery = _interopRequireDefault(__webpack_require__( /*! jquery */ 96073)); var _ajax = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/ajax */ 37208)); var _use_jquery = _interopRequireDefault(__webpack_require__( /*! ./use_jquery */ 72722)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var useJQuery = (0, _use_jquery.default)(); if (useJQuery) { _ajax.default.inject({ sendRequest: function(options) { if (!options.responseType && !options.upload) { return _jquery.default.ajax(options) } return this.callBase.apply(this, [options]) } }) } }, 87481: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/jquery/component_registrator.js ***! \*****************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _jquery = _interopRequireDefault(__webpack_require__( /*! jquery */ 96073)); var _component_registrator_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator_callbacks */ 5554)); var _errors = _interopRequireDefault(__webpack_require__( /*! ../../core/errors */ 17381)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } if (_jquery.default) { _component_registrator_callbacks.default.add((function(name, componentClass) { _jquery.default.fn[name] = function(options) { var isMemberInvoke = "string" === typeof options; var result; if (isMemberInvoke) { var memberName = options; var memberArgs = [].slice.call(arguments).slice(1); this.each((function() { var instance = componentClass.getInstance(this); if (!instance) { throw _errors.default.Error("E0009", name) } var member = instance[memberName]; var memberValue = member.apply(instance, memberArgs); if (void 0 === result) { result = memberValue } })) } else { this.each((function() { var instance = componentClass.getInstance(this); if (instance) { instance.option(options) } else { new componentClass(this, options) } })); result = this } return result } })) } }, 66809: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/jquery/deferred.js ***! \****************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _jquery = _interopRequireDefault(__webpack_require__( /*! jquery */ 96073)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _version = __webpack_require__( /*! ../../core/utils/version */ 58020); var _use_jquery = _interopRequireDefault(__webpack_require__( /*! ./use_jquery */ 72722)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var useJQuery = (0, _use_jquery.default)(); if (useJQuery) { var Deferred = _jquery.default.Deferred; var strategy = { Deferred: Deferred }; strategy.when = (0, _version.compare)(_jquery.default.fn.jquery, [3]) < 0 ? _jquery.default.when : function(singleArg) { if (0 === arguments.length) { return (new Deferred).resolve() } else if (1 === arguments.length) { return singleArg && singleArg.then ? singleArg : (new Deferred).resolve(singleArg) } else { return _jquery.default.when.apply(_jquery.default, arguments) } }; (0, _deferred.setStrategy)(strategy) } }, 27387: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/jquery/easing.js ***! \**************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _jquery = (obj = __webpack_require__( /*! jquery */ 96073), obj && obj.__esModule ? obj : { default: obj }); var obj; var _easing = __webpack_require__( /*! ../../animation/easing */ 23908); if (_jquery.default) { (0, _easing.setEasing)(_jquery.default.easing) } }, 63200: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/jquery/element.js ***! \***************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _element = __webpack_require__( /*! ../../core/element */ 6415); var _use_jquery = (obj = __webpack_require__( /*! ./use_jquery */ 72722), obj && obj.__esModule ? obj : { default: obj }); var obj; var useJQuery = (0, _use_jquery.default)(); if (useJQuery) { (0, _element.setPublicElementWrapper)((function($element) { return $element })) } }, 95063: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/jquery/element_data.js ***! \********************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _jquery = _interopRequireDefault(__webpack_require__( /*! jquery */ 96073)); var _element_data = __webpack_require__( /*! ../../core/element_data */ 97906); var _use_jquery = _interopRequireDefault(__webpack_require__( /*! ./use_jquery */ 72722)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var useJQuery = (0, _use_jquery.default)(); if (useJQuery) { (0, _element_data.setDataStrategy)(_jquery.default) } }, 711: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/jquery/events.js ***! \**************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _jquery = _interopRequireDefault(__webpack_require__( /*! jquery */ 96073)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _use_jquery = _interopRequireDefault(__webpack_require__( /*! ./use_jquery */ 72722)); var _event_registrator_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../events/core/event_registrator_callbacks */ 94553)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var useJQuery = (0, _use_jquery.default)(); if (useJQuery) { _event_registrator_callbacks.default.add((function(name, eventObject) { _jquery.default.event.special[name] = eventObject })); if (_events_engine.default.passiveEventHandlersSupported()) { _events_engine.default.forcePassiveFalseEventNames.forEach((function(eventName) { _jquery.default.event.special[eventName] = { setup: function(data, namespaces, handler) { _dom_adapter.default.listen(this, eventName, handler, { passive: false }) } } })) } _events_engine.default.set({ on: function(element) { (0, _jquery.default)(element).on.apply((0, _jquery.default)(element), Array.prototype.slice.call(arguments, 1)) }, one: function(element) { (0, _jquery.default)(element).one.apply((0, _jquery.default)(element), Array.prototype.slice.call(arguments, 1)) }, off: function(element) { (0, _jquery.default)(element).off.apply((0, _jquery.default)(element), Array.prototype.slice.call(arguments, 1)) }, trigger: function(element) { (0, _jquery.default)(element).trigger.apply((0, _jquery.default)(element), Array.prototype.slice.call(arguments, 1)) }, triggerHandler: function(element) { (0, _jquery.default)(element).triggerHandler.apply((0, _jquery.default)(element), Array.prototype.slice.call(arguments, 1)) }, Event: _jquery.default.Event }) } }, 32185: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/jquery/hold_ready.js ***! \******************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _jquery = _interopRequireDefault(__webpack_require__( /*! jquery */ 96073)); var _themes_callback = __webpack_require__( /*! ../../ui/themes_callback */ 89729); var _ready_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/ready_callbacks */ 24311)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } if (_jquery.default && !_themes_callback.themeReadyCallback.fired()) { var holdReady = _jquery.default.holdReady || _jquery.default.fn.holdReady; holdReady(true); _themes_callback.themeReadyCallback.add((function() { _ready_callbacks.default.add((function() { holdReady(false) })) })) } }, 59228: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/jquery/hooks.js ***! \*************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _jquery = _interopRequireDefault(__webpack_require__( /*! jquery */ 96073)); var _use_jquery = _interopRequireDefault(__webpack_require__( /*! ./use_jquery */ 72722)); var _version = __webpack_require__( /*! ../../core/utils/version */ 58020); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _event_registrator = _interopRequireDefault(__webpack_require__( /*! ../../events/core/event_registrator */ 85788)); var _hook_touch_props = _interopRequireDefault(__webpack_require__( /*! ../../events/core/hook_touch_props */ 2418)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var useJQuery = (0, _use_jquery.default)(); if (useJQuery) { if ((0, _version.compare)(_jquery.default.fn.jquery, [3]) < 0) { var POINTER_TYPE_MAP = { 2: "touch", 3: "pen", 4: "mouse" }; (0, _iterator.each)(["MSPointerDown", "MSPointerMove", "MSPointerUp", "MSPointerCancel", "MSPointerOver", "MSPointerOut", "mouseenter", "mouseleave", "pointerdown", "pointermove", "pointerup", "pointercancel", "pointerover", "pointerout", "pointerenter", "pointerleave"], (function() { _jquery.default.event.fixHooks[this] = { filter: function(event, originalEvent) { var pointerType = originalEvent.pointerType; if ((0, _type.isNumeric)(pointerType)) { event.pointerType = POINTER_TYPE_MAP[pointerType] } return event }, props: _jquery.default.event.mouseHooks.props.concat(["pointerId", "pointerType", "originalTarget", "width", "height", "pressure", "result", "tiltX", "charCode", "tiltY", "detail", "isPrimary", "prevValue"]) } })); (0, _iterator.each)(["touchstart", "touchmove", "touchend", "touchcancel"], (function() { _jquery.default.event.fixHooks[this] = { filter: function(event, originalEvent) { (0, _hook_touch_props.default)((function(name, hook) { event[name] = hook(originalEvent) })); return event }, props: _jquery.default.event.mouseHooks.props.concat(["touches", "changedTouches", "targetTouches", "detail", "result", "originalTarget", "charCode", "prevValue"]) } })); _jquery.default.event.fixHooks.wheel = _jquery.default.event.mouseHooks; var DX_EVENT_HOOKS = { props: _jquery.default.event.mouseHooks.props.concat(["pointerType", "pointerId", "pointers"]) }; _event_registrator.default.callbacks.add((function(name) { _jquery.default.event.fixHooks[name] = DX_EVENT_HOOKS })); (0, _index.setEventFixMethod)((function(event, originalEvent) { var fixHook = _jquery.default.event.fixHooks[originalEvent.type] || _jquery.default.event.mouseHooks; var props = fixHook.props ? _jquery.default.event.props.concat(fixHook.props) : _jquery.default.event.props; var propIndex = props.length; while (propIndex--) { var prop = props[propIndex]; event[prop] = originalEvent[prop] } return fixHook.filter ? fixHook.filter(event, originalEvent) : event })) } else { (0, _hook_touch_props.default)((function(name, hook) { _jquery.default.event.addProp(name, hook) })) } } }, 17394: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/jquery/renderer.js ***! \****************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _jquery = _interopRequireDefault(__webpack_require__( /*! jquery */ 96073)); var _renderer_base = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer_base */ 82981)); var _use_jquery = _interopRequireDefault(__webpack_require__( /*! ./use_jquery */ 72722)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var useJQuery = (0, _use_jquery.default)(); if (useJQuery) { _renderer_base.default.set(_jquery.default) } }, 72722: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/jquery/use_jquery.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = function() { return _jquery.default && (0, _config.default)().useJQuery }; var _jquery = _interopRequireDefault(__webpack_require__( /*! jquery */ 96073)); var _config = _interopRequireDefault(__webpack_require__( /*! ../../core/config */ 80209)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var useJQuery = (0, _config.default)().useJQuery; if (_jquery.default && false !== useJQuery) { (0, _config.default)({ useJQuery: true }) } module.exports = exports.default; module.exports.default = exports.default }, 49281: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/knockout.js ***! \*********************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _knockout = _interopRequireDefault(__webpack_require__( /*! knockout */ 76130)); var _errors = _interopRequireDefault(__webpack_require__( /*! ../core/errors */ 17381)); var _version = __webpack_require__( /*! ../core/utils/version */ 58020); __webpack_require__( /*! ./knockout/component_registrator */ 89135); __webpack_require__( /*! ./knockout/event_registrator */ 70883); __webpack_require__( /*! ./knockout/components */ 89620); __webpack_require__( /*! ./knockout/validation */ 24935); __webpack_require__( /*! ./knockout/variable_wrapper_utils */ 74942); __webpack_require__( /*! ./knockout/clean_node */ 27521); __webpack_require__( /*! ./knockout/clean_node_old */ 61823); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } if (_knockout.default) { if ((0, _version.compare)(_knockout.default.version, [2, 3]) < 0) { throw _errors.default.Error("E0013") } } }, 27521: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/knockout/clean_node.js ***! \********************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _element_data = __webpack_require__( /*! ../../core/element_data */ 97906); var _knockout = (obj = __webpack_require__( /*! knockout */ 76130), obj && obj.__esModule ? obj : { default: obj }); var obj; var _version = __webpack_require__( /*! ../../core/utils/version */ 58020); var _utils = __webpack_require__( /*! ./utils */ 45994); if (_knockout.default) { var originalKOCleanExternalData = _knockout.default.utils.domNodeDisposal.cleanExternalData; ! function() { (0, _element_data.afterCleanData)((function(nodes) { var i; for (i = 0; i < nodes.length; i++) { nodes[i].cleanedByJquery = true } for (i = 0; i < nodes.length; i++) { if (!nodes[i].cleanedByKo) { _knockout.default.cleanNode(nodes[i]) } delete nodes[i].cleanedByKo } for (i = 0; i < nodes.length; i++) { delete nodes[i].cleanedByJquery } })); _knockout.default.utils.domNodeDisposal.cleanExternalData = function(node) { node.cleanedByKo = true; if ((0, _utils.getClosestNodeWithKoCreation)(node)) { if (!node.cleanedByJquery) { (0, _element_data.cleanData)([node]) } } } }(); _element_data.strategyChanging.add((function(strategy) { var isJQuery = !!strategy.fn; if (isJQuery && (0, _version.compare)(strategy.fn.jquery, [2, 0]) < 0) { ! function() { (0, _element_data.afterCleanData)((function() {})); _knockout.default.utils.domNodeDisposal.cleanExternalData = originalKOCleanExternalData }() } })) } }, 61823: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/knockout/clean_node_old.js ***! \************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _knockout = (obj = __webpack_require__( /*! knockout */ 76130), obj && obj.__esModule ? obj : { default: obj }); var obj; var _version = __webpack_require__( /*! ../../core/utils/version */ 58020); var _element_data = __webpack_require__( /*! ../../core/element_data */ 97906); if (_knockout.default) { _element_data.strategyChanging.add((function(strategy) { var isJQuery = !!strategy.fn; if (isJQuery && (0, _version.compare)(strategy.fn.jquery, [2, 0]) < 0) { ! function(jQuery) { var cleanKoData = function(element, andSelf) { var cleanNode = function() { _knockout.default.cleanNode(this) }; if (andSelf) { element.each(cleanNode) } else { element.find("*").each(cleanNode) } }; var originalEmpty = jQuery.fn.empty; jQuery.fn.empty = function() { cleanKoData(this, false); return originalEmpty.apply(this, arguments) }; var originalRemove = jQuery.fn.remove; jQuery.fn.remove = function(selector, keepData) { if (!keepData) { var subject = this; if (selector) { subject = subject.filter(selector) } cleanKoData(subject, true) } return originalRemove.call(this, selector, keepData) }; var originalHtml = jQuery.fn.html; jQuery.fn.html = function(value) { if ("string" === typeof value) { cleanKoData(this, false) } return originalHtml.apply(this, arguments) }; var originalReplaceWith = jQuery.fn.replaceWith; jQuery.fn.replaceWith = function() { var result = originalReplaceWith.apply(this, arguments); if (!this.parent().length) { cleanKoData(this, true) } return result } }(strategy) } })) } }, 89135: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/knockout/component_registrator.js ***! \*******************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _knockout = _interopRequireDefault(__webpack_require__( /*! knockout */ 76130)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/callbacks */ 44504)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _component_registrator_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator_callbacks */ 5554)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../ui/widget/ui.widget */ 14390)); var _base_widget = _interopRequireDefault(__webpack_require__( /*! ../../viz/core/base_widget */ 59063)); var _component = _interopRequireDefault(__webpack_require__( /*! ../../renovation/component_wrapper/common/component */ 27135)); var _draggable = _interopRequireDefault(__webpack_require__( /*! ../../ui/draggable */ 42160)); var _scroll_view = _interopRequireDefault(__webpack_require__( /*! ../../ui/scroll_view */ 4741)); var _template = __webpack_require__( /*! ./template */ 1129); var _editor = _interopRequireDefault(__webpack_require__( /*! ../../ui/editor/editor */ 96452)); var _locker = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/locker */ 88933)); var _utils = __webpack_require__( /*! ./utils */ 45994); var _config = _interopRequireDefault(__webpack_require__( /*! ../../core/config */ 80209)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } if (_knockout.default) { var editorsBindingHandlers = []; _component_registrator_callbacks.default.add((function(name, componentClass) { ! function(componentName, componentClass) { if (_editor.default.isEditor(componentClass.prototype)) { editorsBindingHandlers.push(componentName) } _knockout.default.bindingHandlers[componentName] = { init: function(domNode, valueAccessor) { var $element = (0, _renderer.default)(domNode); var optionChangedCallbacks = (0, _callbacks.default)(); var optionsByReference = {}; var component; var knockoutConfig = (0, _config.default)().knockout; var isBindingPropertyPredicateName = knockoutConfig && knockoutConfig.isBindingPropertyPredicateName; var isBindingPropertyPredicate; var ctorOptions = { onInitializing: function(options) { var _this = this; optionsByReference = this._getOptionsByReference(); _knockout.default.computed((function() { var model = _knockout.default.unwrap(valueAccessor()); if (component) { component.beginUpdate() } isBindingPropertyPredicate = isBindingPropertyPredicateName && model && model[isBindingPropertyPredicateName]; unwrapModel(model); if (component) { component.endUpdate() } else { var _model$onInitializing; null === model || void 0 === model ? void 0 : null === (_model$onInitializing = model.onInitializing) || void 0 === _model$onInitializing ? void 0 : _model$onInitializing.call(_this, options) } }), null, { disposeWhenNodeIsRemoved: domNode }); component = this }, modelByElement: function($element) { if ($element.length) { var node = (0, _utils.getClosestNodeWithContext)($element.get(0)); return _knockout.default.dataFor(node) } }, nestedComponentOptions: function(component) { return { modelByElement: component.option("modelByElement"), nestedComponentOptions: component.option("nestedComponentOptions") } }, _optionChangedCallbacks: optionChangedCallbacks, integrationOptions: { watchMethod: function(fn, callback, options) { options = options || {}; var skipCallback = options.skipImmediate; var watcher = _knockout.default.computed((function() { var newValue = _knockout.default.unwrap(fn()); if (!skipCallback) { callback(newValue) } skipCallback = false })); return function() { watcher.dispose() } }, templates: { "dx-polymorph-widget": { render: function(options) { var widgetName = _knockout.default.utils.unwrapObservable(options.model.widget); if (!widgetName) { return } var markup = (0, _renderer.default)("
").attr("data-bind", widgetName + ": options").get(0); (0, _renderer.default)(options.container).append(markup); _knockout.default.applyBindings(options.model, markup) } } }, createTemplate: function(element) { return new _template.KoTemplate(element) } } }; var optionNameToModelMap = {}; var applyModelValueToOption = function(optionName, modelValue, unwrap) { var locks = $element.data("dxKoLocks"); var optionValue = unwrap ? _knockout.default.unwrap(modelValue) : modelValue; if (_knockout.default.isWriteableObservable(modelValue)) { optionNameToModelMap[optionName] = modelValue } if (component) { if (locks.locked(optionName)) { return } locks.obtain(optionName); try { if (_knockout.default.ignoreDependencies) { _knockout.default.ignoreDependencies(component.option, component, [optionName, optionValue]) } else { component.option(optionName, optionValue) } } finally { locks.release(optionName) } } else { ctorOptions[optionName] = optionValue } }; var handleOptionChanged = function(args) { var optionName = args.fullName; var optionValue = args.value; if (!(optionName in optionNameToModelMap)) { return } var $element = this._$element; var locks = $element.data("dxKoLocks"); if (locks.locked(optionName)) { return } locks.obtain(optionName); try { optionNameToModelMap[optionName](optionValue) } finally { locks.release(optionName) } }; var unwrapModelValue = function(currentModel, propertyName, propertyPath) { if (propertyPath === isBindingPropertyPredicateName) { return } if (!isBindingPropertyPredicate || isBindingPropertyPredicate(propertyPath, propertyName, currentModel)) { var unwrappedPropertyValue; _knockout.default.computed((function() { var propertyValue = currentModel[propertyName]; applyModelValueToOption(propertyPath, propertyValue, true); unwrappedPropertyValue = _knockout.default.unwrap(propertyValue) }), null, { disposeWhenNodeIsRemoved: domNode }); if ((0, _type.isPlainObject)(unwrappedPropertyValue)) { if (!optionsByReference[propertyPath]) { unwrapModel(unwrappedPropertyValue, propertyPath) } } } else { applyModelValueToOption(propertyPath, currentModel[propertyName], false) } }; function unwrapModel(model, propertyPath) { for (var propertyName in model) { if (Object.prototype.hasOwnProperty.call(model, propertyName)) { unwrapModelValue(model, propertyName, propertyPath ? [propertyPath, propertyName].join(".") : propertyName) } } }! function() { optionChangedCallbacks.add(handleOptionChanged); $element.data("dxKoCreation", true).data("dxKoLocks", new _locker.default); new componentClass($element, ctorOptions); ctorOptions = null }(); return { controlsDescendantBindings: componentClass.subclassOf(_ui.default) || componentClass.subclassOf(_base_widget.default) || componentClass.subclassOf(_component.default) && !(component instanceof _scroll_view.default) || component instanceof _draggable.default } } }; if ("dxValidator" === componentName) { _knockout.default.bindingHandlers.dxValidator.after = editorsBindingHandlers } }(name, componentClass) })) } }, 89620: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/knockout/components.js ***! \********************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _knockout = (obj = __webpack_require__( /*! knockout */ 76130), obj && obj.__esModule ? obj : { default: obj }); var obj; var _icon = __webpack_require__( /*! ../../core/utils/icon */ 44899); if (_knockout.default) { _knockout.default.bindingHandlers.dxControlsDescendantBindings = { init: function(_, valueAccessor) { return { controlsDescendantBindings: _knockout.default.unwrap(valueAccessor()) } } }; _knockout.default.bindingHandlers.dxIcon = { init: function(element, valueAccessor) { var options = _knockout.default.utils.unwrapObservable(valueAccessor()) || {}; var iconElement = (0, _icon.getImageContainer)(options); _knockout.default.virtualElements.emptyNode(element); if (iconElement) { _knockout.default.virtualElements.prepend(element, iconElement.get(0)) } }, update: function(element, valueAccessor) { var options = _knockout.default.utils.unwrapObservable(valueAccessor()) || {}; var iconElement = (0, _icon.getImageContainer)(options); _knockout.default.virtualElements.emptyNode(element); if (iconElement) { _knockout.default.virtualElements.prepend(element, iconElement.get(0)) } } }; _knockout.default.virtualElements.allowedBindings.dxIcon = true } }, 70883: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/knockout/event_registrator.js ***! \***************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _knockout = _interopRequireDefault(__webpack_require__( /*! knockout */ 76130)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _event_registrator_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../events/core/event_registrator_callbacks */ 94553)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } if (_knockout.default) { _event_registrator_callbacks.default.add((function(name) { var koBindingEventName = (0, _index.addNamespace)(name, name + "Binding"); _knockout.default.bindingHandlers[name] = { update: function(element, valueAccessor, allBindingsAccessor, viewModel) { var $element = (0, _renderer.default)(element); var unwrappedValue = _knockout.default.utils.unwrapObservable(valueAccessor()); var eventSource = unwrappedValue.execute ? unwrappedValue.execute : unwrappedValue; _events_engine.default.off($element, koBindingEventName); _events_engine.default.on($element, koBindingEventName, (0, _type.isPlainObject)(unwrappedValue) ? unwrappedValue : {}, (function(e) { eventSource.call(viewModel, viewModel, e) })) } } })) } }, 1129: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/knockout/template.js ***! \******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.KoTemplate = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _knockout = _interopRequireDefault(__webpack_require__( /*! knockout */ 76130)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _template_base = __webpack_require__( /*! ../../core/templates/template_base */ 81033); var _dom = __webpack_require__( /*! ../../core/utils/dom */ 3532); var _utils = __webpack_require__( /*! ./utils */ 45994); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var KoTemplate = function(_TemplateBase) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(KoTemplate, _TemplateBase); function KoTemplate(element) { var _this; _this = _TemplateBase.call(this) || this; _this._element = element; _this._template = (0, _renderer.default)("
").append((0, _dom.normalizeTemplateElement)(element)); _this._registerKoTemplate(); return _this } var _proto = KoTemplate.prototype; _proto._registerKoTemplate = function() { var template = this._template.get(0); new _knockout.default.templateSources.anonymousTemplate(template).nodes(template) }; _proto._prepareDataForContainer = function(data, container) { if (container && container.length) { var node = (0, _utils.getClosestNodeWithContext)(container.get(0)); var containerContext = _knockout.default.contextFor(node); data = void 0 !== data ? data : _knockout.default.dataFor(node) || {}; if (containerContext) { return data === containerContext.$data ? containerContext : containerContext.createChildContext(data) } } return function(data) { var parentNode = _dom_adapter.default.createElement("div"); _knockout.default.applyBindingsToNode(parentNode, null, data); var parentContext = _knockout.default.contextFor(parentNode); _knockout.default.cleanNode(parentNode); return parentContext }(data).createChildContext(data) }; _proto._renderCore = function(options) { var model = this._prepareDataForContainer(options.model, (0, _renderer.default)(options.container)); if ((0, _type.isDefined)(options.index)) { model.$index = options.index } var $placeholder = (0, _renderer.default)("
").appendTo(options.container); var $result; _knockout.default.renderTemplate(this._template.get(0), model, { afterRender: function(nodes) { $result = (0, _renderer.default)(nodes) } }, $placeholder.get(0), "replaceNode"); return $result }; _proto.source = function() { return (0, _renderer.default)(this._element).clone() }; _proto.dispose = function() { this._template.remove() }; return KoTemplate }(_template_base.TemplateBase); exports.KoTemplate = KoTemplate }, 45994: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/knockout/utils.js ***! \***************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getClosestNodeWithKoCreation = exports.getClosestNodeWithContext = void 0; var _knockout = _interopRequireDefault(__webpack_require__( /*! knockout */ 76130)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } exports.getClosestNodeWithContext = function getClosestNodeWithContext(node) { var context = _knockout.default.contextFor(node); if (!context && node.parentNode) { return getClosestNodeWithContext(node.parentNode) } return node }; exports.getClosestNodeWithKoCreation = function getClosestNodeWithKoCreation(node) { var $el = (0, _renderer.default)(node); var data = $el.data(); var hasFlag = data && data.dxKoCreation; if (hasFlag) { return node } if (node.parentNode) { return getClosestNodeWithKoCreation(node.parentNode) } return null } }, 24935: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/knockout/validation.js ***! \********************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _events_strategy = __webpack_require__( /*! ../../core/events_strategy */ 80566); var _validation_engine = _interopRequireDefault(__webpack_require__( /*! ../../ui/validation_engine */ 90964)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); var _knockout = _interopRequireDefault(__webpack_require__( /*! knockout */ 76130)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } if (_knockout.default) { var koDxValidator = _class.default.inherit({ ctor: function(target, _ref) { var _this = this; var name = _ref.name, validationRules = _ref.validationRules; this.target = target; this.name = name; this.isValid = _knockout.default.observable(true); this.validationError = _knockout.default.observable(); this.validationErrors = _knockout.default.observable(); this.validationStatus = _knockout.default.observable("valid"); this._eventsStrategy = new _events_strategy.EventsStrategy(this); this.validationRules = (0, _iterator.map)(validationRules, (function(rule, index) { return (0, _extend.extend)({}, rule, { validator: _this, index: index }) })); this._validationInfo = { result: null, deferred: null } }, _updateValidationResult: function(result) { if (!this._validationInfo.result || this._validationInfo.result.id !== result.id) { var complete = this._validationInfo.deferred && this._validationInfo.result.complete; this._validationInfo.result = (0, _extend.extend)({}, result, { complete: complete }) } else { for (var prop in result) { if ("id" !== prop && "complete" !== prop) { this._validationInfo.result[prop] = result[prop] } } } }, validate: function() { var _this2 = this; var currentResult = this._validationInfo && this._validationInfo.result; var value = this.target(); if (currentResult && "pending" === currentResult.status && currentResult.value === value) { return (0, _extend.extend)({}, currentResult) } var result = _validation_engine.default.validate(value, this.validationRules, this.name); result.id = (new _guid.default).toString(); this._applyValidationResult(result); result.complete && result.complete.then((function(res) { if (res.id === _this2._validationInfo.result.id) { _this2._applyValidationResult(res) } })); return (0, _extend.extend)({}, this._validationInfo.result) }, reset: function() { this.target(null); var result = { id: null, isValid: true, brokenRule: null, pendingRules: null, status: "valid", complete: null }; this._applyValidationResult(result); return result }, _applyValidationResult: function(result) { result.validator = this; this._updateValidationResult(result); this.target.dxValidator.isValid(this._validationInfo.result.isValid); this.target.dxValidator.validationError(this._validationInfo.result.brokenRule); this.target.dxValidator.validationErrors(this._validationInfo.result.brokenRules); this.target.dxValidator.validationStatus(this._validationInfo.result.status); if ("pending" === result.status) { if (!this._validationInfo.deferred) { this._validationInfo.deferred = new _deferred.Deferred; this._validationInfo.result.complete = this._validationInfo.deferred.promise() } this._eventsStrategy.fireEvent("validating", [this._validationInfo.result]); return } if ("pending" !== result.status) { this._eventsStrategy.fireEvent("validated", [result]); if (this._validationInfo.deferred) { this._validationInfo.deferred.resolve(result); this._validationInfo.deferred = null } } }, on: function(eventName, eventHandler) { this._eventsStrategy.on(eventName, eventHandler); return this }, off: function(eventName, eventHandler) { this._eventsStrategy.off(eventName, eventHandler); return this } }); _knockout.default.extenders.dxValidator = function(target, option) { target.dxValidator = new koDxValidator(target, option); target.subscribe(target.dxValidator.validate.bind(target.dxValidator)); return target }; _validation_engine.default.registerModelForValidation = function(model) { (0, _iterator.each)(model, (function(name, member) { if (_knockout.default.isObservable(member) && member.dxValidator) { _validation_engine.default.registerValidatorInGroup(model, member.dxValidator) } })) }; _validation_engine.default.unregisterModelForValidation = function(model) { (0, _iterator.each)(model, (function(name, member) { if (_knockout.default.isObservable(member) && member.dxValidator) { _validation_engine.default.removeRegisteredValidator(model, member.dxValidator) } })) }; _validation_engine.default.validateModel = _validation_engine.default.validateGroup } }, 74942: /*!********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/integration/knockout/variable_wrapper_utils.js ***! \********************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _knockout = _interopRequireDefault(__webpack_require__( /*! knockout */ 76130)); var _variable_wrapper = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/variable_wrapper */ 26974)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } if (_knockout.default) { _variable_wrapper.default.inject({ isWrapped: _knockout.default.isObservable, isWritableWrapped: _knockout.default.isWritableObservable, wrap: _knockout.default.observable, unwrap: function(value) { if (_knockout.default.isObservable(value)) { return _knockout.default.utils.unwrapObservable(value) } return this.callBase(value) }, assign: function(variable, value) { if (_knockout.default.isObservable(variable)) { variable(value) } else { this.callBase(variable, value) } } }) } }, 94484: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization.js ***! \*************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "date", { enumerable: true, get: function() { return _date.default } }); exports.disableIntl = function() { if ("intl" === _number.default.engine()) { _number.default.resetInjection() } if ("intl" === _date.default.engine()) { _date.default.resetInjection() } }; exports.locale = exports.loadMessages = exports.formatNumber = exports.formatMessage = exports.formatDate = void 0; Object.defineProperty(exports, "message", { enumerable: true, get: function() { return _message.default } }); Object.defineProperty(exports, "number", { enumerable: true, get: function() { return _number.default } }); exports.parseNumber = exports.parseDate = void 0; var _core = _interopRequireDefault(__webpack_require__( /*! ./localization/core */ 91331)); var _message = _interopRequireDefault(__webpack_require__( /*! ./localization/message */ 28109)); var _number = _interopRequireDefault(__webpack_require__( /*! ./localization/number */ 18016)); var _date = _interopRequireDefault(__webpack_require__( /*! ./localization/date */ 91500)); __webpack_require__( /*! ./localization/currency */ 89740); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var locale = _core.default.locale.bind(_core.default); exports.locale = locale; var loadMessages = _message.default.load.bind(_message.default); exports.loadMessages = loadMessages; var formatMessage = _message.default.format.bind(_message.default); exports.formatMessage = formatMessage; var formatNumber = _number.default.format.bind(_number.default); exports.formatNumber = formatNumber; var parseNumber = _number.default.parse.bind(_number.default); exports.parseNumber = parseNumber; var formatDate = _date.default.format.bind(_date.default); exports.formatDate = formatDate; var parseDate = _date.default.parse.bind(_date.default); exports.parseDate = parseDate }, 71868: /*!******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/cldr-data/accounting_formats.js ***! \******************************************************************************************/ function(module, exports) { exports.default = void 0; // !!! AUTO-GENERATED FILE, DO NOT EDIT exports.default = { af: "\xa4#,##0.00;(\xa4#,##0.00)", "af-NA": "\xa4#,##0.00;(\xa4#,##0.00)", agq: "#,##0.00\xa4", ak: "\xa4#,##0.00", am: "\xa4#,##0.00;(\xa4#,##0.00)", ar: "\xa4#,##0.00;(\xa4#,##0.00)", "ar-AE": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-BH": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-DJ": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-DZ": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-EG": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-EH": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-ER": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-IL": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-IQ": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-JO": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-KM": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-KW": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-LB": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-LY": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-MA": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-MR": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-OM": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-PS": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-QA": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-SA": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-SD": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-SO": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-SS": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-SY": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-TD": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-TN": "\xa4#,##0.00;(\xa4#,##0.00)", "ar-YE": "\xa4#,##0.00;(\xa4#,##0.00)", as: "\xa4\xa0#,##,##0.00", asa: "#,##0.00\xa0\xa4", ast: "#,##0.00\xa0\xa4", az: "#,##0.00\xa0\xa4", "az-Cyrl": "#,##0.00\xa0\xa4", "az-Latn": "#,##0.00\xa0\xa4", bas: "#,##0.00\xa0\xa4", be: "#,##0.00\xa0\xa4", "be-tarask": "#,##0.00\xa0\xa4", bem: "\xa4#,##0.00;(\xa4#,##0.00)", bez: "#,##0.00\xa4", bg: "0.00\xa0\xa4;(0.00\xa0\xa4)", bm: "\xa4#,##0.00;(\xa4#,##0.00)", bn: "#,##,##0.00\xa4;(#,##,##0.00\xa4)", "bn-IN": "#,##,##0.00\xa4;(#,##,##0.00\xa4)", bo: "\xa4\xa0#,##0.00", "bo-IN": "\xa4\xa0#,##0.00", br: "#,##0.00\xa0\xa4", brx: "\xa4\xa0#,##,##0.00", bs: "#,##0.00\xa0\xa4", "bs-Cyrl": "#,##0.00\xa0\xa4", "bs-Latn": "#,##0.00\xa0\xa4", ca: "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "ca-AD": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "ca-ES-valencia": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "ca-FR": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "ca-IT": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", ccp: "#,##,##0.00\xa4;(#,##,##0.00\xa4)", "ccp-IN": "#,##,##0.00\xa4;(#,##,##0.00\xa4)", ce: "#,##0.00\xa0\xa4", ceb: "\xa4#,##0.00;(\xa4#,##0.00)", cgg: "\xa4#,##0.00", chr: "\xa4#,##0.00;(\xa4#,##0.00)", ckb: "\xa4\xa0#,##0.00", "ckb-IR": "\xa4\xa0#,##0.00", cs: "#,##0.00\xa0\xa4", cy: "\xa4#,##0.00;(\xa4#,##0.00)", da: "#,##0.00\xa0\xa4", "da-GL": "#,##0.00\xa0\xa4", dav: "\xa4#,##0.00;(\xa4#,##0.00)", de: "#,##0.00\xa0\xa4", "de-AT": "#,##0.00\xa0\xa4", "de-BE": "#,##0.00\xa0\xa4", "de-CH": "#,##0.00\xa0\xa4", "de-IT": "#,##0.00\xa0\xa4", "de-LI": "#,##0.00\xa0\xa4", "de-LU": "#,##0.00\xa0\xa4", dje: "#,##0.00\xa4", doi: "\xa4#,##0.00", dsb: "#,##0.00\xa0\xa4", dua: "#,##0.00\xa0\xa4", dyo: "#,##0.00\xa0\xa4", dz: "\xa4#,##,##0.00", ebu: "\xa4#,##0.00;(\xa4#,##0.00)", ee: "\xa4#,##0.00;(\xa4#,##0.00)", "ee-TG": "\xa4#,##0.00;(\xa4#,##0.00)", el: "#,##0.00\xa0\xa4", "el-CY": "#,##0.00\xa0\xa4", en: "\xa4#,##0.00;(\xa4#,##0.00)", "en-001": "\xa4#,##0.00;(\xa4#,##0.00)", "en-150": "#,##0.00\xa0\xa4", "en-AE": "\xa4#,##0.00;(\xa4#,##0.00)", "en-AG": "\xa4#,##0.00;(\xa4#,##0.00)", "en-AI": "\xa4#,##0.00;(\xa4#,##0.00)", "en-AS": "\xa4#,##0.00;(\xa4#,##0.00)", "en-AT": "\xa4\xa0#,##0.00", "en-AU": "\xa4#,##0.00;(\xa4#,##0.00)", "en-BB": "\xa4#,##0.00;(\xa4#,##0.00)", "en-BE": "#,##0.00\xa0\xa4", "en-BI": "\xa4#,##0.00;(\xa4#,##0.00)", "en-BM": "\xa4#,##0.00;(\xa4#,##0.00)", "en-BS": "\xa4#,##0.00;(\xa4#,##0.00)", "en-BW": "\xa4#,##0.00;(\xa4#,##0.00)", "en-BZ": "\xa4#,##0.00;(\xa4#,##0.00)", "en-CA": "\xa4#,##0.00;(\xa4#,##0.00)", "en-CC": "\xa4#,##0.00;(\xa4#,##0.00)", "en-CH": "\xa4\xa0#,##0.00;\xa4-#,##0.00", "en-CK": "\xa4#,##0.00;(\xa4#,##0.00)", "en-CM": "\xa4#,##0.00;(\xa4#,##0.00)", "en-CX": "\xa4#,##0.00;(\xa4#,##0.00)", "en-CY": "\xa4#,##0.00;(\xa4#,##0.00)", "en-DE": "#,##0.00\xa0\xa4", "en-DG": "\xa4#,##0.00;(\xa4#,##0.00)", "en-DK": "#,##0.00\xa0\xa4", "en-DM": "\xa4#,##0.00;(\xa4#,##0.00)", "en-ER": "\xa4#,##0.00;(\xa4#,##0.00)", "en-FI": "#,##0.00\xa0\xa4", "en-FJ": "\xa4#,##0.00;(\xa4#,##0.00)", "en-FK": "\xa4#,##0.00;(\xa4#,##0.00)", "en-FM": "\xa4#,##0.00;(\xa4#,##0.00)", "en-GB": "\xa4#,##0.00;(\xa4#,##0.00)", "en-GD": "\xa4#,##0.00;(\xa4#,##0.00)", "en-GG": "\xa4#,##0.00;(\xa4#,##0.00)", "en-GH": "\xa4#,##0.00;(\xa4#,##0.00)", "en-GI": "\xa4#,##0.00;(\xa4#,##0.00)", "en-GM": "\xa4#,##0.00;(\xa4#,##0.00)", "en-GU": "\xa4#,##0.00;(\xa4#,##0.00)", "en-GY": "\xa4#,##0.00;(\xa4#,##0.00)", "en-HK": "\xa4#,##0.00;(\xa4#,##0.00)", "en-IE": "\xa4#,##0.00;(\xa4#,##0.00)", "en-IL": "\xa4#,##0.00;(\xa4#,##0.00)", "en-IM": "\xa4#,##0.00;(\xa4#,##0.00)", "en-IN": "\xa4#,##0.00;(\xa4#,##0.00)", "en-IO": "\xa4#,##0.00;(\xa4#,##0.00)", "en-JE": "\xa4#,##0.00;(\xa4#,##0.00)", "en-JM": "\xa4#,##0.00;(\xa4#,##0.00)", "en-KE": "\xa4#,##0.00;(\xa4#,##0.00)", "en-KI": "\xa4#,##0.00;(\xa4#,##0.00)", "en-KN": "\xa4#,##0.00;(\xa4#,##0.00)", "en-KY": "\xa4#,##0.00;(\xa4#,##0.00)", "en-LC": "\xa4#,##0.00;(\xa4#,##0.00)", "en-LR": "\xa4#,##0.00;(\xa4#,##0.00)", "en-LS": "\xa4#,##0.00;(\xa4#,##0.00)", "en-MG": "\xa4#,##0.00;(\xa4#,##0.00)", "en-MH": "\xa4#,##0.00;(\xa4#,##0.00)", "en-MO": "\xa4#,##0.00;(\xa4#,##0.00)", "en-MP": "\xa4#,##0.00;(\xa4#,##0.00)", "en-MS": "\xa4#,##0.00;(\xa4#,##0.00)", "en-MT": "\xa4#,##0.00;(\xa4#,##0.00)", "en-MU": "\xa4#,##0.00;(\xa4#,##0.00)", "en-MV": "\xa4\xa0#,##0.00", "en-MW": "\xa4#,##0.00;(\xa4#,##0.00)", "en-MY": "\xa4#,##0.00;(\xa4#,##0.00)", "en-NA": "\xa4#,##0.00;(\xa4#,##0.00)", "en-NF": "\xa4#,##0.00;(\xa4#,##0.00)", "en-NG": "\xa4#,##0.00;(\xa4#,##0.00)", "en-NL": "\xa4\xa0#,##0.00;(\xa4\xa0#,##0.00)", "en-NR": "\xa4#,##0.00;(\xa4#,##0.00)", "en-NU": "\xa4#,##0.00;(\xa4#,##0.00)", "en-NZ": "\xa4#,##0.00;(\xa4#,##0.00)", "en-PG": "\xa4#,##0.00;(\xa4#,##0.00)", "en-PH": "\xa4#,##0.00;(\xa4#,##0.00)", "en-PK": "\xa4#,##0.00;(\xa4#,##0.00)", "en-PN": "\xa4#,##0.00;(\xa4#,##0.00)", "en-PR": "\xa4#,##0.00;(\xa4#,##0.00)", "en-PW": "\xa4#,##0.00;(\xa4#,##0.00)", "en-RW": "\xa4#,##0.00;(\xa4#,##0.00)", "en-SB": "\xa4#,##0.00;(\xa4#,##0.00)", "en-SC": "\xa4#,##0.00;(\xa4#,##0.00)", "en-SD": "\xa4#,##0.00;(\xa4#,##0.00)", "en-SE": "#,##0.00\xa0\xa4", "en-SG": "\xa4#,##0.00;(\xa4#,##0.00)", "en-SH": "\xa4#,##0.00;(\xa4#,##0.00)", "en-SI": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "en-SL": "\xa4#,##0.00;(\xa4#,##0.00)", "en-SS": "\xa4#,##0.00;(\xa4#,##0.00)", "en-SX": "\xa4#,##0.00;(\xa4#,##0.00)", "en-SZ": "\xa4#,##0.00;(\xa4#,##0.00)", "en-TC": "\xa4#,##0.00;(\xa4#,##0.00)", "en-TK": "\xa4#,##0.00;(\xa4#,##0.00)", "en-TO": "\xa4#,##0.00;(\xa4#,##0.00)", "en-TT": "\xa4#,##0.00;(\xa4#,##0.00)", "en-TV": "\xa4#,##0.00;(\xa4#,##0.00)", "en-TZ": "\xa4#,##0.00;(\xa4#,##0.00)", "en-UG": "\xa4#,##0.00;(\xa4#,##0.00)", "en-UM": "\xa4#,##0.00;(\xa4#,##0.00)", "en-VC": "\xa4#,##0.00;(\xa4#,##0.00)", "en-VG": "\xa4#,##0.00;(\xa4#,##0.00)", "en-VI": "\xa4#,##0.00;(\xa4#,##0.00)", "en-VU": "\xa4#,##0.00;(\xa4#,##0.00)", "en-WS": "\xa4#,##0.00;(\xa4#,##0.00)", "en-ZA": "\xa4#,##0.00;(\xa4#,##0.00)", "en-ZM": "\xa4#,##0.00;(\xa4#,##0.00)", "en-ZW": "\xa4#,##0.00;(\xa4#,##0.00)", eo: "\xa4\xa0#,##0.00", es: "#,##0.00\xa0\xa4", "es-419": "\xa4#,##0.00", "es-AR": "\xa4\xa0#,##0.00;(\xa4\xa0#,##0.00)", "es-BO": "\xa4#,##0.00", "es-BR": "\xa4#,##0.00", "es-BZ": "\xa4#,##0.00", "es-CL": "\xa4#,##0.00", "es-CO": "\xa4#,##0.00", "es-CR": "\xa4#,##0.00", "es-CU": "\xa4#,##0.00", "es-DO": "\xa4#,##0.00;(\xa4#,##0.00)", "es-EA": "#,##0.00\xa0\xa4", "es-EC": "\xa4#,##0.00", "es-GQ": "#,##0.00\xa0\xa4", "es-GT": "\xa4#,##0.00", "es-HN": "\xa4#,##0.00", "es-IC": "#,##0.00\xa0\xa4", "es-MX": "\xa4#,##0.00", "es-NI": "\xa4#,##0.00", "es-PA": "\xa4#,##0.00", "es-PE": "\xa4#,##0.00", "es-PH": "#,##0.00\xa0\xa4", "es-PR": "\xa4#,##0.00", "es-PY": "\xa4#,##0.00", "es-SV": "\xa4#,##0.00", "es-US": "\xa4#,##0.00", "es-UY": "\xa4\xa0#,##0.00;(\xa4\xa0#,##0.00)", "es-VE": "\xa4#,##0.00", et: "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", eu: "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", ewo: "#,##0.00\xa0\xa4", fa: "\u200e\xa4\xa0#,##0.00;\u200e(\xa4\xa0#,##0.00)", "fa-AF": "\xa4\xa0#,##0.00;\u200e(\xa4\xa0#,##0.00)", ff: "#,##0.00\xa0\xa4", "ff-Adlm": "\xa4\xa0#,##0.00", "ff-Adlm-BF": "\xa4\xa0#,##0.00", "ff-Adlm-CM": "\xa4\xa0#,##0.00", "ff-Adlm-GH": "\xa4\xa0#,##0.00", "ff-Adlm-GM": "\xa4\xa0#,##0.00", "ff-Adlm-GW": "\xa4\xa0#,##0.00", "ff-Adlm-LR": "\xa4\xa0#,##0.00", "ff-Adlm-MR": "\xa4\xa0#,##0.00", "ff-Adlm-NE": "\xa4\xa0#,##0.00", "ff-Adlm-NG": "\xa4\xa0#,##0.00", "ff-Adlm-SL": "\xa4\xa0#,##0.00", "ff-Adlm-SN": "\xa4\xa0#,##0.00", "ff-Latn": "#,##0.00\xa0\xa4", "ff-Latn-BF": "#,##0.00\xa0\xa4", "ff-Latn-CM": "#,##0.00\xa0\xa4", "ff-Latn-GH": "#,##0.00\xa0\xa4", "ff-Latn-GM": "#,##0.00\xa0\xa4", "ff-Latn-GN": "#,##0.00\xa0\xa4", "ff-Latn-GW": "#,##0.00\xa0\xa4", "ff-Latn-LR": "#,##0.00\xa0\xa4", "ff-Latn-MR": "#,##0.00\xa0\xa4", "ff-Latn-NE": "#,##0.00\xa0\xa4", "ff-Latn-NG": "#,##0.00\xa0\xa4", "ff-Latn-SL": "#,##0.00\xa0\xa4", fi: "#,##0.00\xa0\xa4", fil: "\xa4#,##0.00;(\xa4#,##0.00)", fo: "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fo-DK": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", fr: "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-BE": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-BF": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-BI": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-BJ": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-BL": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-CA": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-CD": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-CF": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-CG": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-CH": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-CI": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-CM": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-DJ": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-DZ": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-GA": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-GF": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-GN": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-GP": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-GQ": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-HT": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-KM": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-LU": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-MA": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-MC": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-MF": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-MG": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-ML": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-MQ": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-MR": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-MU": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-NC": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-NE": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-PF": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-PM": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-RE": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-RW": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-SC": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-SN": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-SY": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-TD": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-TG": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-TN": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-VU": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-WF": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "fr-YT": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", fur: "\xa4\xa0#,##0.00", fy: "\xa4\xa0#,##0.00;(\xa4\xa0#,##0.00)", ga: "\xa4#,##0.00;(\xa4#,##0.00)", "ga-GB": "\xa4#,##0.00;(\xa4#,##0.00)", gd: "\xa4#,##0.00;(\xa4#,##0.00)", gl: "#,##0.00\xa0\xa4", gsw: "#,##0.00\xa0\xa4", "gsw-FR": "#,##0.00\xa0\xa4", "gsw-LI": "#,##0.00\xa0\xa4", gu: "\xa4#,##,##0.00;(\xa4#,##,##0.00)", guz: "\xa4#,##0.00;(\xa4#,##0.00)", gv: "\xa4#,##0.00", ha: "\xa4\xa0#,##0.00", "ha-GH": "\xa4\xa0#,##0.00", "ha-NE": "\xa4\xa0#,##0.00", haw: "\xa4#,##0.00;(\xa4#,##0.00)", he: "#,##0.00\xa0\xa4", hi: "\xa4#,##,##0.00", "hi-Latn": "\xa4#,##,##0.00", hr: "#,##0.00\xa0\xa4", "hr-BA": "#,##0.00\xa0\xa4", hsb: "#,##0.00\xa0\xa4", hu: "#,##0.00\xa0\xa4", hy: "#,##0.00\xa0\xa4", ia: "\xa4\xa0#,##0.00;(\xa4\xa0#,##0.00)", id: "\xa4#,##0.00", ig: "\xa4#,##0.00;(\xa4#,##0.00)", ii: "\xa4\xa0#,##0.00", is: "#,##0.00\xa0\xa4", it: "#,##0.00\xa0\xa4", "it-CH": "#,##0.00\xa0\xa4", "it-SM": "#,##0.00\xa0\xa4", "it-VA": "#,##0.00\xa0\xa4", ja: "\xa4#,##0.00;(\xa4#,##0.00)", jgo: "\xa4\xa0#,##0.00", jmc: "\xa4#,##0.00", jv: "\xa4\xa0#,##0.00", ka: "#,##0.00\xa0\xa4", kab: "#,##0.00\xa4", kam: "\xa4#,##0.00;(\xa4#,##0.00)", kde: "\xa4#,##0.00;(\xa4#,##0.00)", kea: "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", kgp: "\xa4\xa0#,##0.00", khq: "#,##0.00\xa4", ki: "\xa4#,##0.00;(\xa4#,##0.00)", kk: "#,##0.00\xa0\xa4", kkj: "\xa4\xa0#,##0.00", kl: "\xa4#,##0.00;\xa4-#,##0.00", kln: "\xa4#,##0.00;(\xa4#,##0.00)", km: "#,##0.00\xa4;(#,##0.00\xa4)", kn: "\xa4#,##0.00;(\xa4#,##0.00)", ko: "\xa4#,##0.00;(\xa4#,##0.00)", "ko-KP": "\xa4#,##0.00;(\xa4#,##0.00)", kok: "\xa4#,##0.00;(\xa4#,##0.00)", ks: "\xa4#,##0.00", "ks-Arab": "\xa4#,##0.00", "ks-Deva": "\xa4\xa0#,##0.00", ksb: "#,##0.00\xa4", ksf: "#,##0.00\xa0\xa4", ksh: "#,##0.00\xa0\xa4", ku: "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", kw: "\xa4#,##0.00", ky: "#,##0.00\xa0\xa4", lag: "\xa4\xa0#,##0.00", lb: "#,##0.00\xa0\xa4", lg: "#,##0.00\xa4", lkt: "\xa4\xa0#,##0.00", ln: "#,##0.00\xa0\xa4", "ln-AO": "#,##0.00\xa0\xa4", "ln-CF": "#,##0.00\xa0\xa4", "ln-CG": "#,##0.00\xa0\xa4", lo: "\xa4#,##0.00;\xa4-#,##0.00", lrc: "\xa4\xa0#,##0.00", "lrc-IQ": "\xa4\xa0#,##0.00", lt: "#,##0.00\xa0\xa4", lu: "#,##0.00\xa4", luo: "#,##0.00\xa4", luy: "\xa4#,##0.00;\xa4-\xa0#,##0.00", lv: "#,##0.00\xa0\xa4", mai: "\xa4\xa0#,##0.00", mas: "\xa4#,##0.00;(\xa4#,##0.00)", "mas-TZ": "\xa4#,##0.00;(\xa4#,##0.00)", mer: "\xa4#,##0.00;(\xa4#,##0.00)", mfe: "\xa4\xa0#,##0.00", mg: "\xa4#,##0.00", mgh: "\xa4\xa0#,##0.00", mgo: "\xa4\xa0#,##0.00", mi: "\xa4\xa0#,##0.00", mk: "#,##0.00\xa0\xa4", ml: "\xa4#,##0.00;(\xa4#,##0.00)", mn: "\xa4\xa0#,##0.00", mni: "\xa4\xa0#,##0.00", "mni-Beng": "\xa4\xa0#,##0.00", mr: "\xa4#,##0.00;(\xa4#,##0.00)", ms: "\xa4#,##0.00;(\xa4#,##0.00)", "ms-BN": "\xa4#,##0.00;(\xa4#,##0.00)", "ms-ID": "\xa4#,##0.00", "ms-SG": "\xa4#,##0.00;(\xa4#,##0.00)", mt: "\xa4#,##0.00", mua: "\xa4#,##0.00;(\xa4#,##0.00)", my: "\xa4\xa0#,##0.00", mzn: "\xa4\xa0#,##0.00", naq: "\xa4#,##0.00", nb: "\xa4\xa0#,##0.00;(\xa4\xa0#,##0.00)", "nb-SJ": "\xa4\xa0#,##0.00;(\xa4\xa0#,##0.00)", nd: "\xa4#,##0.00;(\xa4#,##0.00)", nds: "\xa4\xa0#,##0.00", "nds-NL": "\xa4\xa0#,##0.00", ne: "\xa4\xa0#,##,##0.00", "ne-IN": "\xa4\xa0#,##,##0.00", nl: "\xa4\xa0#,##0.00;(\xa4\xa0#,##0.00)", "nl-AW": "\xa4\xa0#,##0.00;(\xa4\xa0#,##0.00)", "nl-BE": "\xa4\xa0#,##0.00;(\xa4\xa0#,##0.00)", "nl-BQ": "\xa4\xa0#,##0.00;(\xa4\xa0#,##0.00)", "nl-CW": "\xa4\xa0#,##0.00;(\xa4\xa0#,##0.00)", "nl-SR": "\xa4\xa0#,##0.00;(\xa4\xa0#,##0.00)", "nl-SX": "\xa4\xa0#,##0.00;(\xa4\xa0#,##0.00)", nmg: "#,##0.00\xa0\xa4", nn: "#,##0.00\xa0\xa4", nnh: "\xa4\xa0#,##0.00", no: "\xa4\xa0#,##0.00;(\xa4\xa0#,##0.00)", nus: "\xa4#,##0.00;(\xa4#,##0.00)", nyn: "\xa4#,##0.00", om: "\xa4#,##0.00", "om-KE": "\xa4#,##0.00", or: "\xa4#,##0.00;(\xa4#,##0.00)", os: "\xa4\xa0#,##0.00", "os-RU": "\xa4\xa0#,##0.00", pa: "\xa4\xa0#,##0.00", "pa-Arab": "\xa4\xa0#,##0.00", "pa-Guru": "\xa4\xa0#,##0.00", pcm: "\xa4#,##0.00", pl: "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", ps: "\xa4#,##0.00;(\xa4#,##0.00)", "ps-PK": "\xa4#,##0.00;(\xa4#,##0.00)", pt: "\xa4\xa0#,##0.00", "pt-AO": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "pt-CH": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "pt-CV": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "pt-GQ": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "pt-GW": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "pt-LU": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "pt-MO": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "pt-MZ": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "pt-PT": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "pt-ST": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "pt-TL": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", qu: "\xa4\xa0#,##0.00", "qu-BO": "\xa4\xa0#,##0.00", "qu-EC": "\xa4\xa0#,##0.00", rm: "#,##0.00\xa0\xa4", rn: "#,##0.00\xa4", ro: "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "ro-MD": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", rof: "\xa4#,##0.00", ru: "#,##0.00\xa0\xa4", "ru-BY": "#,##0.00\xa0\xa4", "ru-KG": "#,##0.00\xa0\xa4", "ru-KZ": "#,##0.00\xa0\xa4", "ru-MD": "#,##0.00\xa0\xa4", "ru-UA": "#,##0.00\xa0\xa4", rw: "\xa4\xa0#,##0.00", rwk: "#,##0.00\xa4", sa: "\xa4\xa0#,##0.00", sah: "#,##0.00\xa0\xa4", saq: "\xa4#,##0.00;(\xa4#,##0.00)", sat: "\xa4\xa0#,##0.00", "sat-Olck": "\xa4\xa0#,##0.00", sbp: "#,##0.00\xa4", sc: "#,##0.00\xa0\xa4", sd: "\xa4\xa0#,##0.00", "sd-Arab": "\xa4\xa0#,##0.00", "sd-Deva": "\xa4\xa0#,##0.00", se: "#,##0.00\xa0\xa4", "se-FI": "#,##0.00\xa0\xa4", "se-SE": "#,##0.00\xa0\xa4", seh: "#,##0.00\xa4", ses: "#,##0.00\xa4", sg: "\xa4#,##0.00;\xa4-#,##0.00", shi: "#,##0.00\xa4", "shi-Latn": "#,##0.00\xa4", "shi-Tfng": "#,##0.00\xa4", si: "\xa4#,##0.00;(\xa4#,##0.00)", sk: "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", sl: "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", smn: "#,##0.00\xa0\xa4", sn: "\xa4#,##0.00;(\xa4#,##0.00)", so: "\xa4#,##0.00;(\xa4#,##0.00)", "so-DJ": "\xa4#,##0.00;(\xa4#,##0.00)", "so-ET": "\xa4#,##0.00;(\xa4#,##0.00)", "so-KE": "\xa4#,##0.00;(\xa4#,##0.00)", sq: "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "sq-MK": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "sq-XK": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", sr: "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "sr-Cyrl": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "sr-Cyrl-BA": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "sr-Cyrl-ME": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "sr-Cyrl-XK": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "sr-Latn": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "sr-Latn-BA": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "sr-Latn-ME": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", "sr-Latn-XK": "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", su: "\xa4#,##0.00", "su-Latn": "\xa4#,##0.00", sv: "#,##0.00\xa0\xa4", "sv-AX": "#,##0.00\xa0\xa4", "sv-FI": "#,##0.00\xa0\xa4", sw: "\xa4\xa0#,##0.00", "sw-CD": "\xa4\xa0#,##0.00", "sw-KE": "\xa4\xa0#,##0.00", "sw-UG": "\xa4\xa0#,##0.00", ta: "\xa4#,##0.00;(\xa4#,##0.00)", "ta-LK": "\xa4#,##0.00;(\xa4#,##0.00)", "ta-MY": "\xa4#,##0.00;(\xa4#,##0.00)", "ta-SG": "\xa4#,##0.00;(\xa4#,##0.00)", te: "\xa4#,##0.00;(\xa4#,##0.00)", teo: "\xa4#,##0.00;(\xa4#,##0.00)", "teo-KE": "\xa4#,##0.00;(\xa4#,##0.00)", tg: "#,##0.00\xa0\xa4", th: "\xa4#,##0.00;(\xa4#,##0.00)", ti: "\xa4#,##0.00", "ti-ER": "\xa4#,##0.00", tk: "#,##0.00\xa0\xa4", to: "\xa4\xa0#,##0.00", tr: "\xa4#,##0.00;(\xa4#,##0.00)", "tr-CY": "\xa4#,##0.00;(\xa4#,##0.00)", tt: "#,##0.00\xa0\xa4", twq: "#,##0.00\xa4", tzm: "#,##0.00\xa0\xa4", ug: "\xa4#,##0.00;(\xa4#,##0.00)", uk: "#,##0.00\xa0\xa4", und: "\xa4\xa0#,##0.00", ur: "\xa4#,##0.00;(\xa4#,##0.00)", "ur-IN": "\xa4#,##0.00;(\xa4#,##0.00)", uz: "#,##0.00\xa0\xa4", "uz-Arab": "\xa4\xa0#,##0.00", "uz-Cyrl": "#,##0.00\xa0\xa4", "uz-Latn": "#,##0.00\xa0\xa4", vai: "\xa4#,##0.00;(\xa4#,##0.00)", "vai-Latn": "\xa4#,##0.00;(\xa4#,##0.00)", "vai-Vaii": "\xa4#,##0.00;(\xa4#,##0.00)", vi: "#,##0.00\xa0\xa4", vun: "\xa4#,##0.00", wae: "\xa4\xa0#,##0.00", wo: "\xa4\xa0#,##0.00", xh: "\xa4#,##0.00", xog: "#,##0.00\xa0\xa4", yav: "#,##0.00\xa0\xa4;(#,##0.00\xa0\xa4)", yi: "\xa4\xa0#,##0.00", yo: "\xa4#,##0.00;(\xa4#,##0.00)", "yo-BJ": "\xa4#,##0.00;(\xa4#,##0.00)", yrl: "\xa4\xa0#,##0.00", "yrl-CO": "\xa4\xa0#,##0.00", "yrl-VE": "\xa4\xa0#,##0.00", yue: "\xa4#,##0.00;(\xa4#,##0.00)", "yue-Hans": "\xa4#,##0.00;(\xa4#,##0.00)", "yue-Hant": "\xa4#,##0.00;(\xa4#,##0.00)", zgh: "#,##0.00\xa4", zh: "\xa4#,##0.00;(\xa4#,##0.00)", "zh-Hans": "\xa4#,##0.00;(\xa4#,##0.00)", "zh-Hans-HK": "\xa4#,##0.00;(\xa4#,##0.00)", "zh-Hans-MO": "\xa4#,##0.00;(\xa4#,##0.00)", "zh-Hans-SG": "\xa4#,##0.00;(\xa4#,##0.00)", "zh-Hant": "\xa4#,##0.00;(\xa4#,##0.00)", "zh-Hant-HK": "\xa4#,##0.00;(\xa4#,##0.00)", "zh-Hant-MO": "\xa4#,##0.00;(\xa4#,##0.00)", zu: "\xa4#,##0.00;(\xa4#,##0.00)" }; module.exports = exports.default; module.exports.default = exports.default }, 35608: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/cldr-data/en.js ***! \**************************************************************************/ function(__unused_webpack_module, exports) { exports.enCldr = void 0; // !!! AUTO-GENERATED FILE, DO NOT EDIT exports.enCldr = { main: { en: { identity: { version: { _cldrVersion: "36" } }, dates: { calendars: { gregorian: { months: { format: { abbreviated: { 1: "Jan", 2: "Feb", 3: "Mar", 4: "Apr", 5: "May", 6: "Jun", 7: "Jul", 8: "Aug", 9: "Sep", 10: "Oct", 11: "Nov", 12: "Dec" }, narrow: { 1: "J", 2: "F", 3: "M", 4: "A", 5: "M", 6: "J", 7: "J", 8: "A", 9: "S", 10: "O", 11: "N", 12: "D" }, wide: { 1: "January", 2: "February", 3: "March", 4: "April", 5: "May", 6: "June", 7: "July", 8: "August", 9: "September", 10: "October", 11: "November", 12: "December" } }, "stand-alone": { abbreviated: { 1: "Jan", 2: "Feb", 3: "Mar", 4: "Apr", 5: "May", 6: "Jun", 7: "Jul", 8: "Aug", 9: "Sep", 10: "Oct", 11: "Nov", 12: "Dec" }, narrow: { 1: "J", 2: "F", 3: "M", 4: "A", 5: "M", 6: "J", 7: "J", 8: "A", 9: "S", 10: "O", 11: "N", 12: "D" }, wide: { 1: "January", 2: "February", 3: "March", 4: "April", 5: "May", 6: "June", 7: "July", 8: "August", 9: "September", 10: "October", 11: "November", 12: "December" } } }, days: { format: { abbreviated: { sun: "Sun", mon: "Mon", tue: "Tue", wed: "Wed", thu: "Thu", fri: "Fri", sat: "Sat" }, narrow: { sun: "S", mon: "M", tue: "T", wed: "W", thu: "T", fri: "F", sat: "S" }, short: { sun: "Su", mon: "Mo", tue: "Tu", wed: "We", thu: "Th", fri: "Fr", sat: "Sa" }, wide: { sun: "Sunday", mon: "Monday", tue: "Tuesday", wed: "Wednesday", thu: "Thursday", fri: "Friday", sat: "Saturday" } }, "stand-alone": { abbreviated: { sun: "Sun", mon: "Mon", tue: "Tue", wed: "Wed", thu: "Thu", fri: "Fri", sat: "Sat" }, narrow: { sun: "S", mon: "M", tue: "T", wed: "W", thu: "T", fri: "F", sat: "S" }, short: { sun: "Su", mon: "Mo", tue: "Tu", wed: "We", thu: "Th", fri: "Fr", sat: "Sa" }, wide: { sun: "Sunday", mon: "Monday", tue: "Tuesday", wed: "Wednesday", thu: "Thursday", fri: "Friday", sat: "Saturday" } } }, quarters: { format: { abbreviated: { 1: "Q1", 2: "Q2", 3: "Q3", 4: "Q4" }, narrow: { 1: "1", 2: "2", 3: "3", 4: "4" }, wide: { 1: "1st quarter", 2: "2nd quarter", 3: "3rd quarter", 4: "4th quarter" } }, "stand-alone": { abbreviated: { 1: "Q1", 2: "Q2", 3: "Q3", 4: "Q4" }, narrow: { 1: "1", 2: "2", 3: "3", 4: "4" }, wide: { 1: "1st quarter", 2: "2nd quarter", 3: "3rd quarter", 4: "4th quarter" } } }, dayPeriods: { format: { abbreviated: { midnight: "midnight", am: "AM", "am-alt-variant": "am", noon: "noon", pm: "PM", "pm-alt-variant": "pm", morning1: "in the morning", afternoon1: "in the afternoon", evening1: "in the evening", night1: "at night" }, narrow: { midnight: "mi", am: "a", "am-alt-variant": "am", noon: "n", pm: "p", "pm-alt-variant": "pm", morning1: "in the morning", afternoon1: "in the afternoon", evening1: "in the evening", night1: "at night" }, wide: { midnight: "midnight", am: "AM", "am-alt-variant": "am", noon: "noon", pm: "PM", "pm-alt-variant": "pm", morning1: "in the morning", afternoon1: "in the afternoon", evening1: "in the evening", night1: "at night" } }, "stand-alone": { abbreviated: { midnight: "midnight", am: "AM", "am-alt-variant": "am", noon: "noon", pm: "PM", "pm-alt-variant": "pm", morning1: "morning", afternoon1: "afternoon", evening1: "evening", night1: "night" }, narrow: { midnight: "midnight", am: "AM", "am-alt-variant": "am", noon: "noon", pm: "PM", "pm-alt-variant": "pm", morning1: "morning", afternoon1: "afternoon", evening1: "evening", night1: "night" }, wide: { midnight: "midnight", am: "AM", "am-alt-variant": "am", noon: "noon", pm: "PM", "pm-alt-variant": "pm", morning1: "morning", afternoon1: "afternoon", evening1: "evening", night1: "night" } } }, eras: { eraNames: { 0: "Before Christ", 1: "Anno Domini", "0-alt-variant": "Before Common Era", "1-alt-variant": "Common Era" }, eraAbbr: { 0: "BC", 1: "AD", "0-alt-variant": "BCE", "1-alt-variant": "CE" }, eraNarrow: { 0: "B", 1: "A", "0-alt-variant": "BCE", "1-alt-variant": "CE" } }, dateFormats: { full: "EEEE, MMMM d, y", long: "MMMM d, y", medium: "MMM d, y", short: "M/d/yy" }, timeFormats: { full: "h:mm:ss a zzzz", long: "h:mm:ss a z", medium: "h:mm:ss a", short: "h:mm a" }, dateTimeFormats: { full: "{1} 'at' {0}", long: "{1} 'at' {0}", medium: "{1}, {0}", short: "{1}, {0}", availableFormats: { Bh: "h B", Bhm: "h:mm B", Bhms: "h:mm:ss B", d: "d", E: "ccc", EBhm: "E h:mm B", EBhms: "E h:mm:ss B", Ed: "d E", Ehm: "E h:mm a", EHm: "E HH:mm", Ehms: "E h:mm:ss a", EHms: "E HH:mm:ss", Gy: "y G", GyMMM: "MMM y G", GyMMMd: "MMM d, y G", GyMMMEd: "E, MMM d, y G", h: "h a", H: "HH", hm: "h:mm a", Hm: "HH:mm", hms: "h:mm:ss a", Hms: "HH:mm:ss", hmsv: "h:mm:ss a v", Hmsv: "HH:mm:ss v", hmv: "h:mm a v", Hmv: "HH:mm v", M: "L", Md: "M/d", MEd: "E, M/d", MMM: "LLL", MMMd: "MMM d", MMMEd: "E, MMM d", MMMMd: "MMMM d", "MMMMW-count-one": "'week' W 'of' MMMM", "MMMMW-count-other": "'week' W 'of' MMMM", ms: "mm:ss", y: "y", yM: "M/y", yMd: "M/d/y", yMEd: "E, M/d/y", yMMM: "MMM y", yMMMd: "MMM d, y", yMMMEd: "E, MMM d, y", yMMMM: "MMMM y", yQQQ: "QQQ y", yQQQQ: "QQQQ y", "yw-count-one": "'week' w 'of' Y", "yw-count-other": "'week' w 'of' Y" } } } } }, numbers: { defaultNumberingSystem: "latn", otherNumberingSystems: { native: "latn" }, minimumGroupingDigits: "1", "symbols-numberSystem-latn": { decimal: ".", group: ",", list: ";", percentSign: "%", plusSign: "+", minusSign: "-", exponential: "E", superscriptingExponent: "\xd7", perMille: "\u2030", infinity: "\u221e", nan: "NaN", timeSeparator: ":" }, "decimalFormats-numberSystem-latn": { standard: "#,##0.###" }, "scientificFormats-numberSystem-latn": { standard: "#E0" }, "percentFormats-numberSystem-latn": { standard: "#,##0%" }, "currencyFormats-numberSystem-latn": { currencySpacing: { beforeCurrency: { currencyMatch: "[:^S:]", surroundingMatch: "[:digit:]", insertBetween: "\xa0" }, afterCurrency: { currencyMatch: "[:^S:]", surroundingMatch: "[:digit:]", insertBetween: "\xa0" } }, standard: "\xa4#,##0.00", accounting: "\xa4#,##0.00;(\xa4#,##0.00)" }, currencies: { ADP: { symbol: "ADP" }, AED: { symbol: "AED" }, AFA: { symbol: "AFA" }, AFN: { symbol: "AFN" }, ALK: { symbol: "ALK" }, ALL: { symbol: "ALL" }, AMD: { symbol: "AMD" }, ANG: { symbol: "ANG" }, AOA: { symbol: "AOA", "symbol-alt-narrow": "Kz" }, AOK: { symbol: "AOK" }, AON: { symbol: "AON" }, AOR: { symbol: "AOR" }, ARA: { symbol: "ARA" }, ARL: { symbol: "ARL" }, ARM: { symbol: "ARM" }, ARP: { symbol: "ARP" }, ARS: { symbol: "ARS", "symbol-alt-narrow": "$" }, ATS: { symbol: "ATS" }, AUD: { symbol: "A$", "symbol-alt-narrow": "$" }, AWG: { symbol: "AWG" }, AZM: { symbol: "AZM" }, AZN: { symbol: "AZN" }, BAD: { symbol: "BAD" }, BAM: { symbol: "BAM", "symbol-alt-narrow": "KM" }, BAN: { symbol: "BAN" }, BBD: { symbol: "BBD", "symbol-alt-narrow": "$" }, BDT: { symbol: "BDT", "symbol-alt-narrow": "\u09f3" }, BEC: { symbol: "BEC" }, BEF: { symbol: "BEF" }, BEL: { symbol: "BEL" }, BGL: { symbol: "BGL" }, BGM: { symbol: "BGM" }, BGN: { symbol: "BGN" }, BGO: { symbol: "BGO" }, BHD: { symbol: "BHD" }, BIF: { symbol: "BIF" }, BMD: { symbol: "BMD", "symbol-alt-narrow": "$" }, BND: { symbol: "BND", "symbol-alt-narrow": "$" }, BOB: { symbol: "BOB", "symbol-alt-narrow": "Bs" }, BOL: { symbol: "BOL" }, BOP: { symbol: "BOP" }, BOV: { symbol: "BOV" }, BRB: { symbol: "BRB" }, BRC: { symbol: "BRC" }, BRE: { symbol: "BRE" }, BRL: { symbol: "R$", "symbol-alt-narrow": "R$" }, BRN: { symbol: "BRN" }, BRR: { symbol: "BRR" }, BRZ: { symbol: "BRZ" }, BSD: { symbol: "BSD", "symbol-alt-narrow": "$" }, BTN: { symbol: "BTN" }, BUK: { symbol: "BUK" }, BWP: { symbol: "BWP", "symbol-alt-narrow": "P" }, BYB: { symbol: "BYB" }, BYN: { symbol: "BYN", "symbol-alt-narrow": "\u0440." }, BYR: { symbol: "BYR" }, BZD: { symbol: "BZD", "symbol-alt-narrow": "$" }, CAD: { symbol: "CA$", "symbol-alt-narrow": "$" }, CDF: { symbol: "CDF" }, CHE: { symbol: "CHE" }, CHF: { symbol: "CHF" }, CHW: { symbol: "CHW" }, CLE: { symbol: "CLE" }, CLF: { symbol: "CLF" }, CLP: { symbol: "CLP", "symbol-alt-narrow": "$" }, CNH: { symbol: "CNH" }, CNX: { symbol: "CNX" }, CNY: { symbol: "CN\xa5", "symbol-alt-narrow": "\xa5" }, COP: { symbol: "COP", "symbol-alt-narrow": "$" }, COU: { symbol: "COU" }, CRC: { symbol: "CRC", "symbol-alt-narrow": "\u20a1" }, CSD: { symbol: "CSD" }, CSK: { symbol: "CSK" }, CUC: { symbol: "CUC", "symbol-alt-narrow": "$" }, CUP: { symbol: "CUP", "symbol-alt-narrow": "$" }, CVE: { symbol: "CVE" }, CYP: { symbol: "CYP" }, CZK: { symbol: "CZK", "symbol-alt-narrow": "K\u010d" }, DDM: { symbol: "DDM" }, DEM: { symbol: "DEM" }, DJF: { symbol: "DJF" }, DKK: { symbol: "DKK", "symbol-alt-narrow": "kr" }, DOP: { symbol: "DOP", "symbol-alt-narrow": "$" }, DZD: { symbol: "DZD" }, ECS: { symbol: "ECS" }, ECV: { symbol: "ECV" }, EEK: { symbol: "EEK" }, EGP: { symbol: "EGP", "symbol-alt-narrow": "E\xa3" }, ERN: { symbol: "ERN" }, ESA: { symbol: "ESA" }, ESB: { symbol: "ESB" }, ESP: { symbol: "ESP", "symbol-alt-narrow": "\u20a7" }, ETB: { symbol: "ETB" }, EUR: { symbol: "\u20ac", "symbol-alt-narrow": "\u20ac" }, FIM: { symbol: "FIM" }, FJD: { symbol: "FJD", "symbol-alt-narrow": "$" }, FKP: { symbol: "FKP", "symbol-alt-narrow": "\xa3" }, FRF: { symbol: "FRF" }, GBP: { symbol: "\xa3", "symbol-alt-narrow": "\xa3" }, GEK: { symbol: "GEK" }, GEL: { symbol: "GEL", "symbol-alt-narrow": "\u20be" }, GHC: { symbol: "GHC" }, GHS: { symbol: "GHS" }, GIP: { symbol: "GIP", "symbol-alt-narrow": "\xa3" }, GMD: { symbol: "GMD" }, GNF: { symbol: "GNF", "symbol-alt-narrow": "FG" }, GNS: { symbol: "GNS" }, GQE: { symbol: "GQE" }, GRD: { symbol: "GRD" }, GTQ: { symbol: "GTQ", "symbol-alt-narrow": "Q" }, GWE: { symbol: "GWE" }, GWP: { symbol: "GWP" }, GYD: { symbol: "GYD", "symbol-alt-narrow": "$" }, HKD: { symbol: "HK$", "symbol-alt-narrow": "$" }, HNL: { symbol: "HNL", "symbol-alt-narrow": "L" }, HRD: { symbol: "HRD" }, HRK: { symbol: "HRK", "symbol-alt-narrow": "kn" }, HTG: { symbol: "HTG" }, HUF: { symbol: "HUF", "symbol-alt-narrow": "Ft" }, IDR: { symbol: "IDR", "symbol-alt-narrow": "Rp" }, IEP: { symbol: "IEP" }, ILP: { symbol: "ILP" }, ILR: { symbol: "ILR" }, ILS: { symbol: "\u20aa", "symbol-alt-narrow": "\u20aa" }, INR: { symbol: "\u20b9", "symbol-alt-narrow": "\u20b9" }, IQD: { symbol: "IQD" }, IRR: { symbol: "IRR" }, ISJ: { symbol: "ISJ" }, ISK: { symbol: "ISK", "symbol-alt-narrow": "kr" }, ITL: { symbol: "ITL" }, JMD: { symbol: "JMD", "symbol-alt-narrow": "$" }, JOD: { symbol: "JOD" }, JPY: { symbol: "\xa5", "symbol-alt-narrow": "\xa5" }, KES: { symbol: "KES" }, KGS: { symbol: "KGS" }, KHR: { symbol: "KHR", "symbol-alt-narrow": "\u17db" }, KMF: { symbol: "KMF", "symbol-alt-narrow": "CF" }, KPW: { symbol: "KPW", "symbol-alt-narrow": "\u20a9" }, KRH: { symbol: "KRH" }, KRO: { symbol: "KRO" }, KRW: { symbol: "\u20a9", "symbol-alt-narrow": "\u20a9" }, KWD: { symbol: "KWD" }, KYD: { symbol: "KYD", "symbol-alt-narrow": "$" }, KZT: { symbol: "KZT", "symbol-alt-narrow": "\u20b8" }, LAK: { symbol: "LAK", "symbol-alt-narrow": "\u20ad" }, LBP: { symbol: "LBP", "symbol-alt-narrow": "L\xa3" }, LKR: { symbol: "LKR", "symbol-alt-narrow": "Rs" }, LRD: { symbol: "LRD", "symbol-alt-narrow": "$" }, LSL: { symbol: "LSL" }, LTL: { symbol: "LTL", "symbol-alt-narrow": "Lt" }, LTT: { symbol: "LTT" }, LUC: { symbol: "LUC" }, LUF: { symbol: "LUF" }, LUL: { symbol: "LUL" }, LVL: { symbol: "LVL", "symbol-alt-narrow": "Ls" }, LVR: { symbol: "LVR" }, LYD: { symbol: "LYD" }, MAD: { symbol: "MAD" }, MAF: { symbol: "MAF" }, MCF: { symbol: "MCF" }, MDC: { symbol: "MDC" }, MDL: { symbol: "MDL" }, MGA: { symbol: "MGA", "symbol-alt-narrow": "Ar" }, MGF: { symbol: "MGF" }, MKD: { symbol: "MKD" }, MKN: { symbol: "MKN" }, MLF: { symbol: "MLF" }, MMK: { symbol: "MMK", "symbol-alt-narrow": "K" }, MNT: { symbol: "MNT", "symbol-alt-narrow": "\u20ae" }, MOP: { symbol: "MOP" }, MRO: { symbol: "MRO" }, MRU: { symbol: "MRU" }, MTL: { symbol: "MTL" }, MTP: { symbol: "MTP" }, MUR: { symbol: "MUR", "symbol-alt-narrow": "Rs" }, MVP: { symbol: "MVP" }, MVR: { symbol: "MVR" }, MWK: { symbol: "MWK" }, MXN: { symbol: "MX$", "symbol-alt-narrow": "$" }, MXP: { symbol: "MXP" }, MXV: { symbol: "MXV" }, MYR: { symbol: "MYR", "symbol-alt-narrow": "RM" }, MZE: { symbol: "MZE" }, MZM: { symbol: "MZM" }, MZN: { symbol: "MZN" }, NAD: { symbol: "NAD", "symbol-alt-narrow": "$" }, NGN: { symbol: "NGN", "symbol-alt-narrow": "\u20a6" }, NIC: { symbol: "NIC" }, NIO: { symbol: "NIO", "symbol-alt-narrow": "C$" }, NLG: { symbol: "NLG" }, NOK: { symbol: "NOK", "symbol-alt-narrow": "kr" }, NPR: { symbol: "NPR", "symbol-alt-narrow": "Rs" }, NZD: { symbol: "NZ$", "symbol-alt-narrow": "$" }, OMR: { symbol: "OMR" }, PAB: { symbol: "PAB" }, PEI: { symbol: "PEI" }, PEN: { symbol: "PEN" }, PES: { symbol: "PES" }, PGK: { symbol: "PGK" }, PHP: { symbol: "PHP", "symbol-alt-narrow": "\u20b1" }, PKR: { symbol: "PKR", "symbol-alt-narrow": "Rs" }, PLN: { symbol: "PLN", "symbol-alt-narrow": "z\u0142" }, PLZ: { symbol: "PLZ" }, PTE: { symbol: "PTE" }, PYG: { symbol: "PYG", "symbol-alt-narrow": "\u20b2" }, QAR: { symbol: "QAR" }, RHD: { symbol: "RHD" }, ROL: { symbol: "ROL" }, RON: { symbol: "RON", "symbol-alt-narrow": "lei" }, RSD: { symbol: "RSD" }, RUB: { symbol: "RUB", "symbol-alt-narrow": "\u20bd" }, RUR: { symbol: "RUR", "symbol-alt-narrow": "\u0440." }, RWF: { symbol: "RWF", "symbol-alt-narrow": "RF" }, SAR: { symbol: "SAR" }, SBD: { symbol: "SBD", "symbol-alt-narrow": "$" }, SCR: { symbol: "SCR" }, SDD: { symbol: "SDD" }, SDG: { symbol: "SDG" }, SDP: { symbol: "SDP" }, SEK: { symbol: "SEK", "symbol-alt-narrow": "kr" }, SGD: { symbol: "SGD", "symbol-alt-narrow": "$" }, SHP: { symbol: "SHP", "symbol-alt-narrow": "\xa3" }, SIT: { symbol: "SIT" }, SKK: { symbol: "SKK" }, SLL: { symbol: "SLL" }, SOS: { symbol: "SOS" }, SRD: { symbol: "SRD", "symbol-alt-narrow": "$" }, SRG: { symbol: "SRG" }, SSP: { symbol: "SSP", "symbol-alt-narrow": "\xa3" }, STD: { symbol: "STD" }, STN: { symbol: "STN", "symbol-alt-narrow": "Db" }, SUR: { symbol: "SUR" }, SVC: { symbol: "SVC" }, SYP: { symbol: "SYP", "symbol-alt-narrow": "\xa3" }, SZL: { symbol: "SZL" }, THB: { symbol: "THB", "symbol-alt-narrow": "\u0e3f" }, TJR: { symbol: "TJR" }, TJS: { symbol: "TJS" }, TMM: { symbol: "TMM" }, TMT: { symbol: "TMT" }, TND: { symbol: "TND" }, TOP: { symbol: "TOP", "symbol-alt-narrow": "T$" }, TPE: { symbol: "TPE" }, TRL: { symbol: "TRL" }, TRY: { symbol: "TRY", "symbol-alt-narrow": "\u20ba" }, TTD: { symbol: "TTD", "symbol-alt-narrow": "$" }, TWD: { symbol: "NT$", "symbol-alt-narrow": "$" }, TZS: { symbol: "TZS" }, UAH: { symbol: "UAH", "symbol-alt-narrow": "\u20b4" }, UAK: { symbol: "UAK" }, UGS: { symbol: "UGS" }, UGX: { symbol: "UGX" }, USD: { symbol: "$", "symbol-alt-narrow": "$" }, USN: { symbol: "USN" }, USS: { symbol: "USS" }, UYI: { symbol: "UYI" }, UYP: { symbol: "UYP" }, UYU: { symbol: "UYU", "symbol-alt-narrow": "$" }, UYW: { symbol: "UYW" }, UZS: { symbol: "UZS" }, VEB: { symbol: "VEB" }, VEF: { symbol: "VEF", "symbol-alt-narrow": "Bs" }, VES: { symbol: "VES" }, VND: { symbol: "\u20ab", "symbol-alt-narrow": "\u20ab" }, VNN: { symbol: "VNN" }, VUV: { symbol: "VUV" }, WST: { symbol: "WST" }, XAF: { symbol: "FCFA" }, XAG: { symbol: "XAG" }, XAU: { symbol: "XAU" }, XBA: { symbol: "XBA" }, XBB: { symbol: "XBB" }, XBC: { symbol: "XBC" }, XBD: { symbol: "XBD" }, XCD: { symbol: "EC$", "symbol-alt-narrow": "$" }, XDR: { symbol: "XDR" }, XEU: { symbol: "XEU" }, XFO: { symbol: "XFO" }, XFU: { symbol: "XFU" }, XOF: { symbol: "CFA" }, XPD: { symbol: "XPD" }, XPF: { symbol: "CFPF" }, XPT: { symbol: "XPT" }, XRE: { symbol: "XRE" }, XSU: { symbol: "XSU" }, XTS: { symbol: "XTS" }, XUA: { symbol: "XUA" }, XXX: { symbol: "\xa4" }, YDD: { symbol: "YDD" }, YER: { symbol: "YER" }, YUD: { symbol: "YUD" }, YUM: { symbol: "YUM" }, YUN: { symbol: "YUN" }, YUR: { symbol: "YUR" }, ZAL: { symbol: "ZAL" }, ZAR: { symbol: "ZAR", "symbol-alt-narrow": "R" }, ZMK: { symbol: "ZMK" }, ZMW: { symbol: "ZMW", "symbol-alt-narrow": "ZK" }, ZRN: { symbol: "ZRN" }, ZRZ: { symbol: "ZRZ" }, ZWD: { symbol: "ZWD" }, ZWL: { symbol: "ZWL" }, ZWR: { symbol: "ZWR" } } } } } } }, 92286: /*!**********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/cldr-data/first_day_of_week_data.js ***! \**********************************************************************************************/ function(module, exports) { exports.default = void 0; // !!! AUTO-GENERATED FILE, DO NOT EDIT exports.default = { "af-NA": 1, agq: 1, ak: 1, ar: 6, "ar-EH": 1, "ar-ER": 1, "ar-KM": 1, "ar-LB": 1, "ar-MA": 1, "ar-MR": 1, "ar-PS": 1, "ar-SO": 1, "ar-SS": 1, "ar-TD": 1, "ar-TN": 1, asa: 1, ast: 1, az: 1, "az-Cyrl": 1, bas: 1, be: 1, bem: 1, bez: 1, bg: 1, bm: 1, br: 1, bs: 1, "bs-Cyrl": 1, ca: 1, ce: 1, cgg: 1, ckb: 6, cs: 1, cy: 1, da: 1, de: 1, dje: 1, dsb: 1, dua: 1, dyo: 1, ee: 1, el: 1, "en-001": 1, "en-AE": 6, "en-BI": 1, "en-MP": 1, "en-MV": 5, "en-SD": 6, eo: 1, es: 1, et: 1, eu: 1, ewo: 1, fa: 6, ff: 1, "ff-Adlm": 1, fi: 1, fo: 1, fr: 1, "fr-DJ": 6, "fr-DZ": 6, "fr-SY": 6, fur: 1, fy: 1, ga: 1, gd: 1, gl: 1, gsw: 1, gv: 1, ha: 1, hr: 1, hsb: 1, hu: 1, hy: 1, ia: 1, ig: 1, is: 1, it: 1, jgo: 1, jmc: 1, ka: 1, kab: 6, kde: 1, kea: 1, khq: 1, kk: 1, kkj: 1, kl: 1, "ko-KP": 1, ksb: 1, ksf: 1, ksh: 1, ku: 1, kw: 1, ky: 1, lag: 1, lb: 1, lg: 1, ln: 1, lrc: 6, lt: 1, lu: 1, lv: 1, "mas-TZ": 1, mfe: 1, mg: 1, mgo: 1, mi: 1, mk: 1, mn: 1, ms: 1, mua: 1, mzn: 6, naq: 1, nds: 1, nl: 1, nmg: 1, nnh: 1, no: 1, nus: 1, nyn: 1, os: 1, pcm: 1, pl: 1, ps: 6, "pt-AO": 1, "pt-CH": 1, "pt-CV": 1, "pt-GQ": 1, "pt-GW": 1, "pt-LU": 1, "pt-ST": 1, "pt-TL": 1, "qu-BO": 1, "qu-EC": 1, rm: 1, rn: 1, ro: 1, rof: 1, ru: 1, rw: 1, rwk: 1, sah: 1, sbp: 1, sc: 1, se: 1, ses: 1, sg: 1, shi: 1, "shi-Latn": 1, si: 1, sk: 1, sl: 1, smn: 1, so: 1, "so-DJ": 6, sq: 1, sr: 1, "sr-Latn": 1, sv: 1, sw: 1, "ta-LK": 1, "ta-MY": 1, teo: 1, tg: 1, "ti-ER": 1, tk: 1, to: 1, tr: 1, tt: 1, twq: 1, tzm: 1, uk: 1, uz: 1, "uz-Arab": 6, "uz-Cyrl": 1, vai: 1, "vai-Latn": 1, vi: 1, vun: 1, wae: 1, wo: 1, xog: 1, yav: 1, yi: 1, yo: 1, zgh: 1 }; module.exports = exports.default; module.exports.default = exports.default }, 73806: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/cldr-data/parent_locales.js ***! \**************************************************************************************/ function(module, exports) { exports.default = void 0; // !!! AUTO-GENERATED FILE, DO NOT EDIT exports.default = { "en-150": "en-001", "en-AG": "en-001", "en-AI": "en-001", "en-AU": "en-001", "en-BB": "en-001", "en-BM": "en-001", "en-BS": "en-001", "en-BW": "en-001", "en-BZ": "en-001", "en-CC": "en-001", "en-CK": "en-001", "en-CM": "en-001", "en-CX": "en-001", "en-CY": "en-001", "en-DG": "en-001", "en-DM": "en-001", "en-ER": "en-001", "en-FJ": "en-001", "en-FK": "en-001", "en-FM": "en-001", "en-GB": "en-001", "en-GD": "en-001", "en-GG": "en-001", "en-GH": "en-001", "en-GI": "en-001", "en-GM": "en-001", "en-GY": "en-001", "en-HK": "en-001", "en-IE": "en-001", "en-IL": "en-001", "en-IM": "en-001", "en-IN": "en-001", "en-IO": "en-001", "en-JE": "en-001", "en-JM": "en-001", "en-KE": "en-001", "en-KI": "en-001", "en-KN": "en-001", "en-KY": "en-001", "en-LC": "en-001", "en-LR": "en-001", "en-LS": "en-001", "en-MG": "en-001", "en-MO": "en-001", "en-MS": "en-001", "en-MT": "en-001", "en-MU": "en-001", "en-MV": "en-001", "en-MW": "en-001", "en-MY": "en-001", "en-NA": "en-001", "en-NF": "en-001", "en-NG": "en-001", "en-NR": "en-001", "en-NU": "en-001", "en-NZ": "en-001", "en-PG": "en-001", "en-PK": "en-001", "en-PN": "en-001", "en-PW": "en-001", "en-RW": "en-001", "en-SB": "en-001", "en-SC": "en-001", "en-SD": "en-001", "en-SG": "en-001", "en-SH": "en-001", "en-SL": "en-001", "en-SS": "en-001", "en-SX": "en-001", "en-SZ": "en-001", "en-TC": "en-001", "en-TK": "en-001", "en-TO": "en-001", "en-TT": "en-001", "en-TV": "en-001", "en-TZ": "en-001", "en-UG": "en-001", "en-VC": "en-001", "en-VG": "en-001", "en-VU": "en-001", "en-WS": "en-001", "en-ZA": "en-001", "en-ZM": "en-001", "en-ZW": "en-001", "en-AT": "en-150", "en-BE": "en-150", "en-CH": "en-150", "en-DE": "en-150", "en-DK": "en-150", "en-FI": "en-150", "en-NL": "en-150", "en-SE": "en-150", "en-SI": "en-150", "hi-Latn": "en-IN", "es-AR": "es-419", "es-BO": "es-419", "es-BR": "es-419", "es-BZ": "es-419", "es-CL": "es-419", "es-CO": "es-419", "es-CR": "es-419", "es-CU": "es-419", "es-DO": "es-419", "es-EC": "es-419", "es-GT": "es-419", "es-HN": "es-419", "es-MX": "es-419", "es-NI": "es-419", "es-PA": "es-419", "es-PE": "es-419", "es-PR": "es-419", "es-PY": "es-419", "es-SV": "es-419", "es-US": "es-419", "es-UY": "es-419", "es-VE": "es-419", nb: "no", nn: "no", "pt-AO": "pt-PT", "pt-CH": "pt-PT", "pt-CV": "pt-PT", "pt-FR": "pt-PT", "pt-GQ": "pt-PT", "pt-GW": "pt-PT", "pt-LU": "pt-PT", "pt-MO": "pt-PT", "pt-MZ": "pt-PT", "pt-ST": "pt-PT", "pt-TL": "pt-PT", "az-Arab": "und", "az-Cyrl": "und", "bal-Latn": "und", "blt-Latn": "und", "bm-Nkoo": "und", "bs-Cyrl": "und", "byn-Latn": "und", "cu-Glag": "und", "dje-Arab": "und", "dyo-Arab": "und", "en-Dsrt": "und", "en-Shaw": "und", "ff-Adlm": "und", "ff-Arab": "und", "ha-Arab": "und", "iu-Latn": "und", "kk-Arab": "und", "ks-Deva": "und", "ku-Arab": "und", "ky-Arab": "und", "ky-Latn": "und", "ml-Arab": "und", "mn-Mong": "und", "mni-Mtei": "und", "ms-Arab": "und", "pa-Arab": "und", "sat-Deva": "und", "sd-Deva": "und", "sd-Khoj": "und", "sd-Sind": "und", "shi-Latn": "und", "so-Arab": "und", "sr-Latn": "und", "sw-Arab": "und", "tg-Arab": "und", "ug-Cyrl": "und", "uz-Arab": "und", "uz-Cyrl": "und", "vai-Latn": "und", "wo-Arab": "und", "yo-Arab": "und", "yue-Hans": "und", "zh-Hant": "und", "zh-Hant-MO": "zh-Hant-HK" }; module.exports = exports.default; module.exports.default = exports.default }, 57421: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/cldr-data/supplemental.js ***! \************************************************************************************/ function(__unused_webpack_module, exports) { exports.supplementalCldr = void 0; // !!! AUTO-GENERATED FILE, DO NOT EDIT exports.supplementalCldr = { supplemental: { version: { _unicodeVersion: "12.1.0", _cldrVersion: "36" }, likelySubtags: { aa: "aa-Latn-ET", aai: "aai-Latn-ZZ", aak: "aak-Latn-ZZ", aau: "aau-Latn-ZZ", ab: "ab-Cyrl-GE", abi: "abi-Latn-ZZ", abq: "abq-Cyrl-ZZ", abr: "abr-Latn-GH", abt: "abt-Latn-ZZ", aby: "aby-Latn-ZZ", acd: "acd-Latn-ZZ", ace: "ace-Latn-ID", ach: "ach-Latn-UG", ada: "ada-Latn-GH", ade: "ade-Latn-ZZ", adj: "adj-Latn-ZZ", adp: "adp-Tibt-BT", ady: "ady-Cyrl-RU", adz: "adz-Latn-ZZ", ae: "ae-Avst-IR", aeb: "aeb-Arab-TN", aey: "aey-Latn-ZZ", af: "af-Latn-ZA", agc: "agc-Latn-ZZ", agd: "agd-Latn-ZZ", agg: "agg-Latn-ZZ", agm: "agm-Latn-ZZ", ago: "ago-Latn-ZZ", agq: "agq-Latn-CM", aha: "aha-Latn-ZZ", ahl: "ahl-Latn-ZZ", aho: "aho-Ahom-IN", ajg: "ajg-Latn-ZZ", ak: "ak-Latn-GH", akk: "akk-Xsux-IQ", ala: "ala-Latn-ZZ", ali: "ali-Latn-ZZ", aln: "aln-Latn-XK", alt: "alt-Cyrl-RU", am: "am-Ethi-ET", amm: "amm-Latn-ZZ", amn: "amn-Latn-ZZ", amo: "amo-Latn-NG", amp: "amp-Latn-ZZ", an: "an-Latn-ES", anc: "anc-Latn-ZZ", ank: "ank-Latn-ZZ", ann: "ann-Latn-ZZ", any: "any-Latn-ZZ", aoj: "aoj-Latn-ZZ", aom: "aom-Latn-ZZ", aoz: "aoz-Latn-ID", apc: "apc-Arab-ZZ", apd: "apd-Arab-TG", ape: "ape-Latn-ZZ", apr: "apr-Latn-ZZ", aps: "aps-Latn-ZZ", apz: "apz-Latn-ZZ", ar: "ar-Arab-EG", arc: "arc-Armi-IR", "arc-Nbat": "arc-Nbat-JO", "arc-Palm": "arc-Palm-SY", arh: "arh-Latn-ZZ", arn: "arn-Latn-CL", aro: "aro-Latn-BO", arq: "arq-Arab-DZ", ars: "ars-Arab-SA", ary: "ary-Arab-MA", arz: "arz-Arab-EG", as: "as-Beng-IN", asa: "asa-Latn-TZ", ase: "ase-Sgnw-US", asg: "asg-Latn-ZZ", aso: "aso-Latn-ZZ", ast: "ast-Latn-ES", ata: "ata-Latn-ZZ", atg: "atg-Latn-ZZ", atj: "atj-Latn-CA", auy: "auy-Latn-ZZ", av: "av-Cyrl-RU", avl: "avl-Arab-ZZ", avn: "avn-Latn-ZZ", avt: "avt-Latn-ZZ", avu: "avu-Latn-ZZ", awa: "awa-Deva-IN", awb: "awb-Latn-ZZ", awo: "awo-Latn-ZZ", awx: "awx-Latn-ZZ", ay: "ay-Latn-BO", ayb: "ayb-Latn-ZZ", az: "az-Latn-AZ", "az-Arab": "az-Arab-IR", "az-IQ": "az-Arab-IQ", "az-IR": "az-Arab-IR", "az-RU": "az-Cyrl-RU", ba: "ba-Cyrl-RU", bal: "bal-Arab-PK", ban: "ban-Latn-ID", bap: "bap-Deva-NP", bar: "bar-Latn-AT", bas: "bas-Latn-CM", bav: "bav-Latn-ZZ", bax: "bax-Bamu-CM", bba: "bba-Latn-ZZ", bbb: "bbb-Latn-ZZ", bbc: "bbc-Latn-ID", bbd: "bbd-Latn-ZZ", bbj: "bbj-Latn-CM", bbp: "bbp-Latn-ZZ", bbr: "bbr-Latn-ZZ", bcf: "bcf-Latn-ZZ", bch: "bch-Latn-ZZ", bci: "bci-Latn-CI", bcm: "bcm-Latn-ZZ", bcn: "bcn-Latn-ZZ", bco: "bco-Latn-ZZ", bcq: "bcq-Ethi-ZZ", bcu: "bcu-Latn-ZZ", bdd: "bdd-Latn-ZZ", be: "be-Cyrl-BY", bef: "bef-Latn-ZZ", beh: "beh-Latn-ZZ", bej: "bej-Arab-SD", bem: "bem-Latn-ZM", bet: "bet-Latn-ZZ", bew: "bew-Latn-ID", bex: "bex-Latn-ZZ", bez: "bez-Latn-TZ", bfd: "bfd-Latn-CM", bfq: "bfq-Taml-IN", bft: "bft-Arab-PK", bfy: "bfy-Deva-IN", bg: "bg-Cyrl-BG", bgc: "bgc-Deva-IN", bgn: "bgn-Arab-PK", bgx: "bgx-Grek-TR", bhb: "bhb-Deva-IN", bhg: "bhg-Latn-ZZ", bhi: "bhi-Deva-IN", bhl: "bhl-Latn-ZZ", bho: "bho-Deva-IN", bhy: "bhy-Latn-ZZ", bi: "bi-Latn-VU", bib: "bib-Latn-ZZ", big: "big-Latn-ZZ", bik: "bik-Latn-PH", bim: "bim-Latn-ZZ", bin: "bin-Latn-NG", bio: "bio-Latn-ZZ", biq: "biq-Latn-ZZ", bjh: "bjh-Latn-ZZ", bji: "bji-Ethi-ZZ", bjj: "bjj-Deva-IN", bjn: "bjn-Latn-ID", bjo: "bjo-Latn-ZZ", bjr: "bjr-Latn-ZZ", bjt: "bjt-Latn-SN", bjz: "bjz-Latn-ZZ", bkc: "bkc-Latn-ZZ", bkm: "bkm-Latn-CM", bkq: "bkq-Latn-ZZ", bku: "bku-Latn-PH", bkv: "bkv-Latn-ZZ", blt: "blt-Tavt-VN", bm: "bm-Latn-ML", bmh: "bmh-Latn-ZZ", bmk: "bmk-Latn-ZZ", bmq: "bmq-Latn-ML", bmu: "bmu-Latn-ZZ", bn: "bn-Beng-BD", bng: "bng-Latn-ZZ", bnm: "bnm-Latn-ZZ", bnp: "bnp-Latn-ZZ", bo: "bo-Tibt-CN", boj: "boj-Latn-ZZ", bom: "bom-Latn-ZZ", bon: "bon-Latn-ZZ", bpy: "bpy-Beng-IN", bqc: "bqc-Latn-ZZ", bqi: "bqi-Arab-IR", bqp: "bqp-Latn-ZZ", bqv: "bqv-Latn-CI", br: "br-Latn-FR", bra: "bra-Deva-IN", brh: "brh-Arab-PK", brx: "brx-Deva-IN", brz: "brz-Latn-ZZ", bs: "bs-Latn-BA", bsj: "bsj-Latn-ZZ", bsq: "bsq-Bass-LR", bss: "bss-Latn-CM", bst: "bst-Ethi-ZZ", bto: "bto-Latn-PH", btt: "btt-Latn-ZZ", btv: "btv-Deva-PK", bua: "bua-Cyrl-RU", buc: "buc-Latn-YT", bud: "bud-Latn-ZZ", bug: "bug-Latn-ID", buk: "buk-Latn-ZZ", bum: "bum-Latn-CM", buo: "buo-Latn-ZZ", bus: "bus-Latn-ZZ", buu: "buu-Latn-ZZ", bvb: "bvb-Latn-GQ", bwd: "bwd-Latn-ZZ", bwr: "bwr-Latn-ZZ", bxh: "bxh-Latn-ZZ", bye: "bye-Latn-ZZ", byn: "byn-Ethi-ER", byr: "byr-Latn-ZZ", bys: "bys-Latn-ZZ", byv: "byv-Latn-CM", byx: "byx-Latn-ZZ", bza: "bza-Latn-ZZ", bze: "bze-Latn-ML", bzf: "bzf-Latn-ZZ", bzh: "bzh-Latn-ZZ", bzw: "bzw-Latn-ZZ", ca: "ca-Latn-ES", can: "can-Latn-ZZ", cbj: "cbj-Latn-ZZ", cch: "cch-Latn-NG", ccp: "ccp-Cakm-BD", ce: "ce-Cyrl-RU", ceb: "ceb-Latn-PH", cfa: "cfa-Latn-ZZ", cgg: "cgg-Latn-UG", ch: "ch-Latn-GU", chk: "chk-Latn-FM", chm: "chm-Cyrl-RU", cho: "cho-Latn-US", chp: "chp-Latn-CA", chr: "chr-Cher-US", cic: "cic-Latn-US", cja: "cja-Arab-KH", cjm: "cjm-Cham-VN", cjv: "cjv-Latn-ZZ", ckb: "ckb-Arab-IQ", ckl: "ckl-Latn-ZZ", cko: "cko-Latn-ZZ", cky: "cky-Latn-ZZ", cla: "cla-Latn-ZZ", cme: "cme-Latn-ZZ", cmg: "cmg-Soyo-MN", co: "co-Latn-FR", cop: "cop-Copt-EG", cps: "cps-Latn-PH", cr: "cr-Cans-CA", crh: "crh-Cyrl-UA", crj: "crj-Cans-CA", crk: "crk-Cans-CA", crl: "crl-Cans-CA", crm: "crm-Cans-CA", crs: "crs-Latn-SC", cs: "cs-Latn-CZ", csb: "csb-Latn-PL", csw: "csw-Cans-CA", ctd: "ctd-Pauc-MM", cu: "cu-Cyrl-RU", "cu-Glag": "cu-Glag-BG", cv: "cv-Cyrl-RU", cy: "cy-Latn-GB", da: "da-Latn-DK", dad: "dad-Latn-ZZ", daf: "daf-Latn-ZZ", dag: "dag-Latn-ZZ", dah: "dah-Latn-ZZ", dak: "dak-Latn-US", dar: "dar-Cyrl-RU", dav: "dav-Latn-KE", dbd: "dbd-Latn-ZZ", dbq: "dbq-Latn-ZZ", dcc: "dcc-Arab-IN", ddn: "ddn-Latn-ZZ", de: "de-Latn-DE", ded: "ded-Latn-ZZ", den: "den-Latn-CA", dga: "dga-Latn-ZZ", dgh: "dgh-Latn-ZZ", dgi: "dgi-Latn-ZZ", dgl: "dgl-Arab-ZZ", dgr: "dgr-Latn-CA", dgz: "dgz-Latn-ZZ", dia: "dia-Latn-ZZ", dje: "dje-Latn-NE", dnj: "dnj-Latn-CI", dob: "dob-Latn-ZZ", doi: "doi-Arab-IN", dop: "dop-Latn-ZZ", dow: "dow-Latn-ZZ", drh: "drh-Mong-CN", dri: "dri-Latn-ZZ", drs: "drs-Ethi-ZZ", dsb: "dsb-Latn-DE", dtm: "dtm-Latn-ML", dtp: "dtp-Latn-MY", dts: "dts-Latn-ZZ", dty: "dty-Deva-NP", dua: "dua-Latn-CM", duc: "duc-Latn-ZZ", dud: "dud-Latn-ZZ", dug: "dug-Latn-ZZ", dv: "dv-Thaa-MV", dva: "dva-Latn-ZZ", dww: "dww-Latn-ZZ", dyo: "dyo-Latn-SN", dyu: "dyu-Latn-BF", dz: "dz-Tibt-BT", dzg: "dzg-Latn-ZZ", ebu: "ebu-Latn-KE", ee: "ee-Latn-GH", efi: "efi-Latn-NG", egl: "egl-Latn-IT", egy: "egy-Egyp-EG", eka: "eka-Latn-ZZ", eky: "eky-Kali-MM", el: "el-Grek-GR", ema: "ema-Latn-ZZ", emi: "emi-Latn-ZZ", en: "en-Latn-US", "en-Shaw": "en-Shaw-GB", enn: "enn-Latn-ZZ", enq: "enq-Latn-ZZ", eo: "eo-Latn-001", eri: "eri-Latn-ZZ", es: "es-Latn-ES", esg: "esg-Gonm-IN", esu: "esu-Latn-US", et: "et-Latn-EE", etr: "etr-Latn-ZZ", ett: "ett-Ital-IT", etu: "etu-Latn-ZZ", etx: "etx-Latn-ZZ", eu: "eu-Latn-ES", ewo: "ewo-Latn-CM", ext: "ext-Latn-ES", fa: "fa-Arab-IR", faa: "faa-Latn-ZZ", fab: "fab-Latn-ZZ", fag: "fag-Latn-ZZ", fai: "fai-Latn-ZZ", fan: "fan-Latn-GQ", ff: "ff-Latn-SN", "ff-Adlm": "ff-Adlm-GN", ffi: "ffi-Latn-ZZ", ffm: "ffm-Latn-ML", fi: "fi-Latn-FI", fia: "fia-Arab-SD", fil: "fil-Latn-PH", fit: "fit-Latn-SE", fj: "fj-Latn-FJ", flr: "flr-Latn-ZZ", fmp: "fmp-Latn-ZZ", fo: "fo-Latn-FO", fod: "fod-Latn-ZZ", fon: "fon-Latn-BJ", for: "for-Latn-ZZ", fpe: "fpe-Latn-ZZ", fqs: "fqs-Latn-ZZ", fr: "fr-Latn-FR", frc: "frc-Latn-US", frp: "frp-Latn-FR", frr: "frr-Latn-DE", frs: "frs-Latn-DE", fub: "fub-Arab-CM", fud: "fud-Latn-WF", fue: "fue-Latn-ZZ", fuf: "fuf-Latn-GN", fuh: "fuh-Latn-ZZ", fuq: "fuq-Latn-NE", fur: "fur-Latn-IT", fuv: "fuv-Latn-NG", fuy: "fuy-Latn-ZZ", fvr: "fvr-Latn-SD", fy: "fy-Latn-NL", ga: "ga-Latn-IE", gaa: "gaa-Latn-GH", gaf: "gaf-Latn-ZZ", gag: "gag-Latn-MD", gah: "gah-Latn-ZZ", gaj: "gaj-Latn-ZZ", gam: "gam-Latn-ZZ", gan: "gan-Hans-CN", gaw: "gaw-Latn-ZZ", gay: "gay-Latn-ID", gba: "gba-Latn-ZZ", gbf: "gbf-Latn-ZZ", gbm: "gbm-Deva-IN", gby: "gby-Latn-ZZ", gbz: "gbz-Arab-IR", gcr: "gcr-Latn-GF", gd: "gd-Latn-GB", gde: "gde-Latn-ZZ", gdn: "gdn-Latn-ZZ", gdr: "gdr-Latn-ZZ", geb: "geb-Latn-ZZ", gej: "gej-Latn-ZZ", gel: "gel-Latn-ZZ", gez: "gez-Ethi-ET", gfk: "gfk-Latn-ZZ", ggn: "ggn-Deva-NP", ghs: "ghs-Latn-ZZ", gil: "gil-Latn-KI", gim: "gim-Latn-ZZ", gjk: "gjk-Arab-PK", gjn: "gjn-Latn-ZZ", gju: "gju-Arab-PK", gkn: "gkn-Latn-ZZ", gkp: "gkp-Latn-ZZ", gl: "gl-Latn-ES", glk: "glk-Arab-IR", gmm: "gmm-Latn-ZZ", gmv: "gmv-Ethi-ZZ", gn: "gn-Latn-PY", gnd: "gnd-Latn-ZZ", gng: "gng-Latn-ZZ", god: "god-Latn-ZZ", gof: "gof-Ethi-ZZ", goi: "goi-Latn-ZZ", gom: "gom-Deva-IN", gon: "gon-Telu-IN", gor: "gor-Latn-ID", gos: "gos-Latn-NL", got: "got-Goth-UA", grb: "grb-Latn-ZZ", grc: "grc-Cprt-CY", "grc-Linb": "grc-Linb-GR", grt: "grt-Beng-IN", grw: "grw-Latn-ZZ", gsw: "gsw-Latn-CH", gu: "gu-Gujr-IN", gub: "gub-Latn-BR", guc: "guc-Latn-CO", gud: "gud-Latn-ZZ", gur: "gur-Latn-GH", guw: "guw-Latn-ZZ", gux: "gux-Latn-ZZ", guz: "guz-Latn-KE", gv: "gv-Latn-IM", gvf: "gvf-Latn-ZZ", gvr: "gvr-Deva-NP", gvs: "gvs-Latn-ZZ", gwc: "gwc-Arab-ZZ", gwi: "gwi-Latn-CA", gwt: "gwt-Arab-ZZ", gyi: "gyi-Latn-ZZ", ha: "ha-Latn-NG", "ha-CM": "ha-Arab-CM", "ha-SD": "ha-Arab-SD", hag: "hag-Latn-ZZ", hak: "hak-Hans-CN", ham: "ham-Latn-ZZ", haw: "haw-Latn-US", haz: "haz-Arab-AF", hbb: "hbb-Latn-ZZ", hdy: "hdy-Ethi-ZZ", he: "he-Hebr-IL", hhy: "hhy-Latn-ZZ", hi: "hi-Deva-IN", hia: "hia-Latn-ZZ", hif: "hif-Latn-FJ", hig: "hig-Latn-ZZ", hih: "hih-Latn-ZZ", hil: "hil-Latn-PH", hla: "hla-Latn-ZZ", hlu: "hlu-Hluw-TR", hmd: "hmd-Plrd-CN", hmt: "hmt-Latn-ZZ", hnd: "hnd-Arab-PK", hne: "hne-Deva-IN", hnj: "hnj-Hmng-LA", hnn: "hnn-Latn-PH", hno: "hno-Arab-PK", ho: "ho-Latn-PG", hoc: "hoc-Deva-IN", hoj: "hoj-Deva-IN", hot: "hot-Latn-ZZ", hr: "hr-Latn-HR", hsb: "hsb-Latn-DE", hsn: "hsn-Hans-CN", ht: "ht-Latn-HT", hu: "hu-Latn-HU", hui: "hui-Latn-ZZ", hy: "hy-Armn-AM", hz: "hz-Latn-NA", ia: "ia-Latn-001", ian: "ian-Latn-ZZ", iar: "iar-Latn-ZZ", iba: "iba-Latn-MY", ibb: "ibb-Latn-NG", iby: "iby-Latn-ZZ", ica: "ica-Latn-ZZ", ich: "ich-Latn-ZZ", id: "id-Latn-ID", idd: "idd-Latn-ZZ", idi: "idi-Latn-ZZ", idu: "idu-Latn-ZZ", ife: "ife-Latn-TG", ig: "ig-Latn-NG", igb: "igb-Latn-ZZ", ige: "ige-Latn-ZZ", ii: "ii-Yiii-CN", ijj: "ijj-Latn-ZZ", ik: "ik-Latn-US", ikk: "ikk-Latn-ZZ", ikt: "ikt-Latn-CA", ikw: "ikw-Latn-ZZ", ikx: "ikx-Latn-ZZ", ilo: "ilo-Latn-PH", imo: "imo-Latn-ZZ", in: "in-Latn-ID", inh: "inh-Cyrl-RU", io: "io-Latn-001", iou: "iou-Latn-ZZ", iri: "iri-Latn-ZZ", is: "is-Latn-IS", it: "it-Latn-IT", iu: "iu-Cans-CA", iw: "iw-Hebr-IL", iwm: "iwm-Latn-ZZ", iws: "iws-Latn-ZZ", izh: "izh-Latn-RU", izi: "izi-Latn-ZZ", ja: "ja-Jpan-JP", jab: "jab-Latn-ZZ", jam: "jam-Latn-JM", jbo: "jbo-Latn-001", jbu: "jbu-Latn-ZZ", jen: "jen-Latn-ZZ", jgk: "jgk-Latn-ZZ", jgo: "jgo-Latn-CM", ji: "ji-Hebr-UA", jib: "jib-Latn-ZZ", jmc: "jmc-Latn-TZ", jml: "jml-Deva-NP", jra: "jra-Latn-ZZ", jut: "jut-Latn-DK", jv: "jv-Latn-ID", jw: "jw-Latn-ID", ka: "ka-Geor-GE", kaa: "kaa-Cyrl-UZ", kab: "kab-Latn-DZ", kac: "kac-Latn-MM", kad: "kad-Latn-ZZ", kai: "kai-Latn-ZZ", kaj: "kaj-Latn-NG", kam: "kam-Latn-KE", kao: "kao-Latn-ML", kbd: "kbd-Cyrl-RU", kbm: "kbm-Latn-ZZ", kbp: "kbp-Latn-ZZ", kbq: "kbq-Latn-ZZ", kbx: "kbx-Latn-ZZ", kby: "kby-Arab-NE", kcg: "kcg-Latn-NG", kck: "kck-Latn-ZW", kcl: "kcl-Latn-ZZ", kct: "kct-Latn-ZZ", kde: "kde-Latn-TZ", kdh: "kdh-Arab-TG", kdl: "kdl-Latn-ZZ", kdt: "kdt-Thai-TH", kea: "kea-Latn-CV", ken: "ken-Latn-CM", kez: "kez-Latn-ZZ", kfo: "kfo-Latn-CI", kfr: "kfr-Deva-IN", kfy: "kfy-Deva-IN", kg: "kg-Latn-CD", kge: "kge-Latn-ID", kgf: "kgf-Latn-ZZ", kgp: "kgp-Latn-BR", kha: "kha-Latn-IN", khb: "khb-Talu-CN", khn: "khn-Deva-IN", khq: "khq-Latn-ML", khs: "khs-Latn-ZZ", kht: "kht-Mymr-IN", khw: "khw-Arab-PK", khz: "khz-Latn-ZZ", ki: "ki-Latn-KE", kij: "kij-Latn-ZZ", kiu: "kiu-Latn-TR", kiw: "kiw-Latn-ZZ", kj: "kj-Latn-NA", kjd: "kjd-Latn-ZZ", kjg: "kjg-Laoo-LA", kjs: "kjs-Latn-ZZ", kjy: "kjy-Latn-ZZ", kk: "kk-Cyrl-KZ", "kk-AF": "kk-Arab-AF", "kk-Arab": "kk-Arab-CN", "kk-CN": "kk-Arab-CN", "kk-IR": "kk-Arab-IR", "kk-MN": "kk-Arab-MN", kkc: "kkc-Latn-ZZ", kkj: "kkj-Latn-CM", kl: "kl-Latn-GL", kln: "kln-Latn-KE", klq: "klq-Latn-ZZ", klt: "klt-Latn-ZZ", klx: "klx-Latn-ZZ", km: "km-Khmr-KH", kmb: "kmb-Latn-AO", kmh: "kmh-Latn-ZZ", kmo: "kmo-Latn-ZZ", kms: "kms-Latn-ZZ", kmu: "kmu-Latn-ZZ", kmw: "kmw-Latn-ZZ", kn: "kn-Knda-IN", knf: "knf-Latn-GW", knp: "knp-Latn-ZZ", ko: "ko-Kore-KR", koi: "koi-Cyrl-RU", kok: "kok-Deva-IN", kol: "kol-Latn-ZZ", kos: "kos-Latn-FM", koz: "koz-Latn-ZZ", kpe: "kpe-Latn-LR", kpf: "kpf-Latn-ZZ", kpo: "kpo-Latn-ZZ", kpr: "kpr-Latn-ZZ", kpx: "kpx-Latn-ZZ", kqb: "kqb-Latn-ZZ", kqf: "kqf-Latn-ZZ", kqs: "kqs-Latn-ZZ", kqy: "kqy-Ethi-ZZ", kr: "kr-Latn-ZZ", krc: "krc-Cyrl-RU", kri: "kri-Latn-SL", krj: "krj-Latn-PH", krl: "krl-Latn-RU", krs: "krs-Latn-ZZ", kru: "kru-Deva-IN", ks: "ks-Arab-IN", ksb: "ksb-Latn-TZ", ksd: "ksd-Latn-ZZ", ksf: "ksf-Latn-CM", ksh: "ksh-Latn-DE", ksj: "ksj-Latn-ZZ", ksr: "ksr-Latn-ZZ", ktb: "ktb-Ethi-ZZ", ktm: "ktm-Latn-ZZ", kto: "kto-Latn-ZZ", ktr: "ktr-Latn-MY", ku: "ku-Latn-TR", "ku-Arab": "ku-Arab-IQ", "ku-LB": "ku-Arab-LB", kub: "kub-Latn-ZZ", kud: "kud-Latn-ZZ", kue: "kue-Latn-ZZ", kuj: "kuj-Latn-ZZ", kum: "kum-Cyrl-RU", kun: "kun-Latn-ZZ", kup: "kup-Latn-ZZ", kus: "kus-Latn-ZZ", kv: "kv-Cyrl-RU", kvg: "kvg-Latn-ZZ", kvr: "kvr-Latn-ID", kvx: "kvx-Arab-PK", kw: "kw-Latn-GB", kwj: "kwj-Latn-ZZ", kwo: "kwo-Latn-ZZ", kwq: "kwq-Latn-ZZ", kxa: "kxa-Latn-ZZ", kxc: "kxc-Ethi-ZZ", kxe: "kxe-Latn-ZZ", kxm: "kxm-Thai-TH", kxp: "kxp-Arab-PK", kxw: "kxw-Latn-ZZ", kxz: "kxz-Latn-ZZ", ky: "ky-Cyrl-KG", "ky-Arab": "ky-Arab-CN", "ky-CN": "ky-Arab-CN", "ky-Latn": "ky-Latn-TR", "ky-TR": "ky-Latn-TR", kye: "kye-Latn-ZZ", kyx: "kyx-Latn-ZZ", kzj: "kzj-Latn-MY", kzr: "kzr-Latn-ZZ", kzt: "kzt-Latn-MY", la: "la-Latn-VA", lab: "lab-Lina-GR", lad: "lad-Hebr-IL", lag: "lag-Latn-TZ", lah: "lah-Arab-PK", laj: "laj-Latn-UG", las: "las-Latn-ZZ", lb: "lb-Latn-LU", lbe: "lbe-Cyrl-RU", lbu: "lbu-Latn-ZZ", lbw: "lbw-Latn-ID", lcm: "lcm-Latn-ZZ", lcp: "lcp-Thai-CN", ldb: "ldb-Latn-ZZ", led: "led-Latn-ZZ", lee: "lee-Latn-ZZ", lem: "lem-Latn-ZZ", lep: "lep-Lepc-IN", leq: "leq-Latn-ZZ", leu: "leu-Latn-ZZ", lez: "lez-Cyrl-RU", lg: "lg-Latn-UG", lgg: "lgg-Latn-ZZ", li: "li-Latn-NL", lia: "lia-Latn-ZZ", lid: "lid-Latn-ZZ", lif: "lif-Deva-NP", "lif-Limb": "lif-Limb-IN", lig: "lig-Latn-ZZ", lih: "lih-Latn-ZZ", lij: "lij-Latn-IT", lis: "lis-Lisu-CN", ljp: "ljp-Latn-ID", lki: "lki-Arab-IR", lkt: "lkt-Latn-US", lle: "lle-Latn-ZZ", lln: "lln-Latn-ZZ", lmn: "lmn-Telu-IN", lmo: "lmo-Latn-IT", lmp: "lmp-Latn-ZZ", ln: "ln-Latn-CD", lns: "lns-Latn-ZZ", lnu: "lnu-Latn-ZZ", lo: "lo-Laoo-LA", loj: "loj-Latn-ZZ", lok: "lok-Latn-ZZ", lol: "lol-Latn-CD", lor: "lor-Latn-ZZ", los: "los-Latn-ZZ", loz: "loz-Latn-ZM", lrc: "lrc-Arab-IR", lt: "lt-Latn-LT", ltg: "ltg-Latn-LV", lu: "lu-Latn-CD", lua: "lua-Latn-CD", luo: "luo-Latn-KE", luy: "luy-Latn-KE", luz: "luz-Arab-IR", lv: "lv-Latn-LV", lwl: "lwl-Thai-TH", lzh: "lzh-Hans-CN", lzz: "lzz-Latn-TR", mad: "mad-Latn-ID", maf: "maf-Latn-CM", mag: "mag-Deva-IN", mai: "mai-Deva-IN", mak: "mak-Latn-ID", man: "man-Latn-GM", "man-GN": "man-Nkoo-GN", "man-Nkoo": "man-Nkoo-GN", mas: "mas-Latn-KE", maw: "maw-Latn-ZZ", maz: "maz-Latn-MX", mbh: "mbh-Latn-ZZ", mbo: "mbo-Latn-ZZ", mbq: "mbq-Latn-ZZ", mbu: "mbu-Latn-ZZ", mbw: "mbw-Latn-ZZ", mci: "mci-Latn-ZZ", mcp: "mcp-Latn-ZZ", mcq: "mcq-Latn-ZZ", mcr: "mcr-Latn-ZZ", mcu: "mcu-Latn-ZZ", mda: "mda-Latn-ZZ", mde: "mde-Arab-ZZ", mdf: "mdf-Cyrl-RU", mdh: "mdh-Latn-PH", mdj: "mdj-Latn-ZZ", mdr: "mdr-Latn-ID", mdx: "mdx-Ethi-ZZ", med: "med-Latn-ZZ", mee: "mee-Latn-ZZ", mek: "mek-Latn-ZZ", men: "men-Latn-SL", mer: "mer-Latn-KE", met: "met-Latn-ZZ", meu: "meu-Latn-ZZ", mfa: "mfa-Arab-TH", mfe: "mfe-Latn-MU", mfn: "mfn-Latn-ZZ", mfo: "mfo-Latn-ZZ", mfq: "mfq-Latn-ZZ", mg: "mg-Latn-MG", mgh: "mgh-Latn-MZ", mgl: "mgl-Latn-ZZ", mgo: "mgo-Latn-CM", mgp: "mgp-Deva-NP", mgy: "mgy-Latn-TZ", mh: "mh-Latn-MH", mhi: "mhi-Latn-ZZ", mhl: "mhl-Latn-ZZ", mi: "mi-Latn-NZ", mif: "mif-Latn-ZZ", min: "min-Latn-ID", mis: "mis-Hatr-IQ", "mis-Medf": "mis-Medf-NG", miw: "miw-Latn-ZZ", mk: "mk-Cyrl-MK", mki: "mki-Arab-ZZ", mkl: "mkl-Latn-ZZ", mkp: "mkp-Latn-ZZ", mkw: "mkw-Latn-ZZ", ml: "ml-Mlym-IN", mle: "mle-Latn-ZZ", mlp: "mlp-Latn-ZZ", mls: "mls-Latn-SD", mmo: "mmo-Latn-ZZ", mmu: "mmu-Latn-ZZ", mmx: "mmx-Latn-ZZ", mn: "mn-Cyrl-MN", "mn-CN": "mn-Mong-CN", "mn-Mong": "mn-Mong-CN", mna: "mna-Latn-ZZ", mnf: "mnf-Latn-ZZ", mni: "mni-Beng-IN", mnw: "mnw-Mymr-MM", mo: "mo-Latn-RO", moa: "moa-Latn-ZZ", moe: "moe-Latn-CA", moh: "moh-Latn-CA", mos: "mos-Latn-BF", mox: "mox-Latn-ZZ", mpp: "mpp-Latn-ZZ", mps: "mps-Latn-ZZ", mpt: "mpt-Latn-ZZ", mpx: "mpx-Latn-ZZ", mql: "mql-Latn-ZZ", mr: "mr-Deva-IN", mrd: "mrd-Deva-NP", mrj: "mrj-Cyrl-RU", mro: "mro-Mroo-BD", ms: "ms-Latn-MY", "ms-CC": "ms-Arab-CC", "ms-ID": "ms-Arab-ID", mt: "mt-Latn-MT", mtc: "mtc-Latn-ZZ", mtf: "mtf-Latn-ZZ", mti: "mti-Latn-ZZ", mtr: "mtr-Deva-IN", mua: "mua-Latn-CM", mur: "mur-Latn-ZZ", mus: "mus-Latn-US", mva: "mva-Latn-ZZ", mvn: "mvn-Latn-ZZ", mvy: "mvy-Arab-PK", mwk: "mwk-Latn-ML", mwr: "mwr-Deva-IN", mwv: "mwv-Latn-ID", mww: "mww-Hmnp-US", mxc: "mxc-Latn-ZW", mxm: "mxm-Latn-ZZ", my: "my-Mymr-MM", myk: "myk-Latn-ZZ", mym: "mym-Ethi-ZZ", myv: "myv-Cyrl-RU", myw: "myw-Latn-ZZ", myx: "myx-Latn-UG", myz: "myz-Mand-IR", mzk: "mzk-Latn-ZZ", mzm: "mzm-Latn-ZZ", mzn: "mzn-Arab-IR", mzp: "mzp-Latn-ZZ", mzw: "mzw-Latn-ZZ", mzz: "mzz-Latn-ZZ", na: "na-Latn-NR", nac: "nac-Latn-ZZ", naf: "naf-Latn-ZZ", nak: "nak-Latn-ZZ", nan: "nan-Hans-CN", nap: "nap-Latn-IT", naq: "naq-Latn-NA", nas: "nas-Latn-ZZ", nb: "nb-Latn-NO", nca: "nca-Latn-ZZ", nce: "nce-Latn-ZZ", ncf: "ncf-Latn-ZZ", nch: "nch-Latn-MX", nco: "nco-Latn-ZZ", ncu: "ncu-Latn-ZZ", nd: "nd-Latn-ZW", ndc: "ndc-Latn-MZ", nds: "nds-Latn-DE", ne: "ne-Deva-NP", neb: "neb-Latn-ZZ", new: "new-Deva-NP", nex: "nex-Latn-ZZ", nfr: "nfr-Latn-ZZ", ng: "ng-Latn-NA", nga: "nga-Latn-ZZ", ngb: "ngb-Latn-ZZ", ngl: "ngl-Latn-MZ", nhb: "nhb-Latn-ZZ", nhe: "nhe-Latn-MX", nhw: "nhw-Latn-MX", nif: "nif-Latn-ZZ", nii: "nii-Latn-ZZ", nij: "nij-Latn-ID", nin: "nin-Latn-ZZ", niu: "niu-Latn-NU", niy: "niy-Latn-ZZ", niz: "niz-Latn-ZZ", njo: "njo-Latn-IN", nkg: "nkg-Latn-ZZ", nko: "nko-Latn-ZZ", nl: "nl-Latn-NL", nmg: "nmg-Latn-CM", nmz: "nmz-Latn-ZZ", nn: "nn-Latn-NO", nnf: "nnf-Latn-ZZ", nnh: "nnh-Latn-CM", nnk: "nnk-Latn-ZZ", nnm: "nnm-Latn-ZZ", nnp: "nnp-Wcho-IN", no: "no-Latn-NO", nod: "nod-Lana-TH", noe: "noe-Deva-IN", non: "non-Runr-SE", nop: "nop-Latn-ZZ", nou: "nou-Latn-ZZ", nqo: "nqo-Nkoo-GN", nr: "nr-Latn-ZA", nrb: "nrb-Latn-ZZ", nsk: "nsk-Cans-CA", nsn: "nsn-Latn-ZZ", nso: "nso-Latn-ZA", nss: "nss-Latn-ZZ", ntm: "ntm-Latn-ZZ", ntr: "ntr-Latn-ZZ", nui: "nui-Latn-ZZ", nup: "nup-Latn-ZZ", nus: "nus-Latn-SS", nuv: "nuv-Latn-ZZ", nux: "nux-Latn-ZZ", nv: "nv-Latn-US", nwb: "nwb-Latn-ZZ", nxq: "nxq-Latn-CN", nxr: "nxr-Latn-ZZ", ny: "ny-Latn-MW", nym: "nym-Latn-TZ", nyn: "nyn-Latn-UG", nzi: "nzi-Latn-GH", oc: "oc-Latn-FR", ogc: "ogc-Latn-ZZ", okr: "okr-Latn-ZZ", okv: "okv-Latn-ZZ", om: "om-Latn-ET", ong: "ong-Latn-ZZ", onn: "onn-Latn-ZZ", ons: "ons-Latn-ZZ", opm: "opm-Latn-ZZ", or: "or-Orya-IN", oro: "oro-Latn-ZZ", oru: "oru-Arab-ZZ", os: "os-Cyrl-GE", osa: "osa-Osge-US", ota: "ota-Arab-ZZ", otk: "otk-Orkh-MN", ozm: "ozm-Latn-ZZ", pa: "pa-Guru-IN", "pa-Arab": "pa-Arab-PK", "pa-PK": "pa-Arab-PK", pag: "pag-Latn-PH", pal: "pal-Phli-IR", "pal-Phlp": "pal-Phlp-CN", pam: "pam-Latn-PH", pap: "pap-Latn-AW", pau: "pau-Latn-PW", pbi: "pbi-Latn-ZZ", pcd: "pcd-Latn-FR", pcm: "pcm-Latn-NG", pdc: "pdc-Latn-US", pdt: "pdt-Latn-CA", ped: "ped-Latn-ZZ", peo: "peo-Xpeo-IR", pex: "pex-Latn-ZZ", pfl: "pfl-Latn-DE", phl: "phl-Arab-ZZ", phn: "phn-Phnx-LB", pil: "pil-Latn-ZZ", pip: "pip-Latn-ZZ", pka: "pka-Brah-IN", pko: "pko-Latn-KE", pl: "pl-Latn-PL", pla: "pla-Latn-ZZ", pms: "pms-Latn-IT", png: "png-Latn-ZZ", pnn: "pnn-Latn-ZZ", pnt: "pnt-Grek-GR", pon: "pon-Latn-FM", ppa: "ppa-Deva-IN", ppo: "ppo-Latn-ZZ", pra: "pra-Khar-PK", prd: "prd-Arab-IR", prg: "prg-Latn-001", ps: "ps-Arab-AF", pss: "pss-Latn-ZZ", pt: "pt-Latn-BR", ptp: "ptp-Latn-ZZ", puu: "puu-Latn-GA", pwa: "pwa-Latn-ZZ", qu: "qu-Latn-PE", quc: "quc-Latn-GT", qug: "qug-Latn-EC", rai: "rai-Latn-ZZ", raj: "raj-Deva-IN", rao: "rao-Latn-ZZ", rcf: "rcf-Latn-RE", rej: "rej-Latn-ID", rel: "rel-Latn-ZZ", res: "res-Latn-ZZ", rgn: "rgn-Latn-IT", rhg: "rhg-Arab-MM", ria: "ria-Latn-IN", rif: "rif-Tfng-MA", "rif-NL": "rif-Latn-NL", rjs: "rjs-Deva-NP", rkt: "rkt-Beng-BD", rm: "rm-Latn-CH", rmf: "rmf-Latn-FI", rmo: "rmo-Latn-CH", rmt: "rmt-Arab-IR", rmu: "rmu-Latn-SE", rn: "rn-Latn-BI", rna: "rna-Latn-ZZ", rng: "rng-Latn-MZ", ro: "ro-Latn-RO", rob: "rob-Latn-ID", rof: "rof-Latn-TZ", roo: "roo-Latn-ZZ", rro: "rro-Latn-ZZ", rtm: "rtm-Latn-FJ", ru: "ru-Cyrl-RU", rue: "rue-Cyrl-UA", rug: "rug-Latn-SB", rw: "rw-Latn-RW", rwk: "rwk-Latn-TZ", rwo: "rwo-Latn-ZZ", ryu: "ryu-Kana-JP", sa: "sa-Deva-IN", saf: "saf-Latn-GH", sah: "sah-Cyrl-RU", saq: "saq-Latn-KE", sas: "sas-Latn-ID", sat: "sat-Latn-IN", sav: "sav-Latn-SN", saz: "saz-Saur-IN", sba: "sba-Latn-ZZ", sbe: "sbe-Latn-ZZ", sbp: "sbp-Latn-TZ", sc: "sc-Latn-IT", sck: "sck-Deva-IN", scl: "scl-Arab-ZZ", scn: "scn-Latn-IT", sco: "sco-Latn-GB", scs: "scs-Latn-CA", sd: "sd-Arab-PK", "sd-Deva": "sd-Deva-IN", "sd-Khoj": "sd-Khoj-IN", "sd-Sind": "sd-Sind-IN", sdc: "sdc-Latn-IT", sdh: "sdh-Arab-IR", se: "se-Latn-NO", sef: "sef-Latn-CI", seh: "seh-Latn-MZ", sei: "sei-Latn-MX", ses: "ses-Latn-ML", sg: "sg-Latn-CF", sga: "sga-Ogam-IE", sgs: "sgs-Latn-LT", sgw: "sgw-Ethi-ZZ", sgz: "sgz-Latn-ZZ", shi: "shi-Tfng-MA", shk: "shk-Latn-ZZ", shn: "shn-Mymr-MM", shu: "shu-Arab-ZZ", si: "si-Sinh-LK", sid: "sid-Latn-ET", sig: "sig-Latn-ZZ", sil: "sil-Latn-ZZ", sim: "sim-Latn-ZZ", sjr: "sjr-Latn-ZZ", sk: "sk-Latn-SK", skc: "skc-Latn-ZZ", skr: "skr-Arab-PK", sks: "sks-Latn-ZZ", sl: "sl-Latn-SI", sld: "sld-Latn-ZZ", sli: "sli-Latn-PL", sll: "sll-Latn-ZZ", sly: "sly-Latn-ID", sm: "sm-Latn-WS", sma: "sma-Latn-SE", smj: "smj-Latn-SE", smn: "smn-Latn-FI", smp: "smp-Samr-IL", smq: "smq-Latn-ZZ", sms: "sms-Latn-FI", sn: "sn-Latn-ZW", snc: "snc-Latn-ZZ", snk: "snk-Latn-ML", snp: "snp-Latn-ZZ", snx: "snx-Latn-ZZ", sny: "sny-Latn-ZZ", so: "so-Latn-SO", sog: "sog-Sogd-UZ", sok: "sok-Latn-ZZ", soq: "soq-Latn-ZZ", sou: "sou-Thai-TH", soy: "soy-Latn-ZZ", spd: "spd-Latn-ZZ", spl: "spl-Latn-ZZ", sps: "sps-Latn-ZZ", sq: "sq-Latn-AL", sr: "sr-Cyrl-RS", "sr-ME": "sr-Latn-ME", "sr-RO": "sr-Latn-RO", "sr-RU": "sr-Latn-RU", "sr-TR": "sr-Latn-TR", srb: "srb-Sora-IN", srn: "srn-Latn-SR", srr: "srr-Latn-SN", srx: "srx-Deva-IN", ss: "ss-Latn-ZA", ssd: "ssd-Latn-ZZ", ssg: "ssg-Latn-ZZ", ssy: "ssy-Latn-ER", st: "st-Latn-ZA", stk: "stk-Latn-ZZ", stq: "stq-Latn-DE", su: "su-Latn-ID", sua: "sua-Latn-ZZ", sue: "sue-Latn-ZZ", suk: "suk-Latn-TZ", sur: "sur-Latn-ZZ", sus: "sus-Latn-GN", sv: "sv-Latn-SE", sw: "sw-Latn-TZ", swb: "swb-Arab-YT", swc: "swc-Latn-CD", swg: "swg-Latn-DE", swp: "swp-Latn-ZZ", swv: "swv-Deva-IN", sxn: "sxn-Latn-ID", sxw: "sxw-Latn-ZZ", syl: "syl-Beng-BD", syr: "syr-Syrc-IQ", szl: "szl-Latn-PL", ta: "ta-Taml-IN", taj: "taj-Deva-NP", tal: "tal-Latn-ZZ", tan: "tan-Latn-ZZ", taq: "taq-Latn-ZZ", tbc: "tbc-Latn-ZZ", tbd: "tbd-Latn-ZZ", tbf: "tbf-Latn-ZZ", tbg: "tbg-Latn-ZZ", tbo: "tbo-Latn-ZZ", tbw: "tbw-Latn-PH", tbz: "tbz-Latn-ZZ", tci: "tci-Latn-ZZ", tcy: "tcy-Knda-IN", tdd: "tdd-Tale-CN", tdg: "tdg-Deva-NP", tdh: "tdh-Deva-NP", tdu: "tdu-Latn-MY", te: "te-Telu-IN", ted: "ted-Latn-ZZ", tem: "tem-Latn-SL", teo: "teo-Latn-UG", tet: "tet-Latn-TL", tfi: "tfi-Latn-ZZ", tg: "tg-Cyrl-TJ", "tg-Arab": "tg-Arab-PK", "tg-PK": "tg-Arab-PK", tgc: "tgc-Latn-ZZ", tgo: "tgo-Latn-ZZ", tgu: "tgu-Latn-ZZ", th: "th-Thai-TH", thl: "thl-Deva-NP", thq: "thq-Deva-NP", thr: "thr-Deva-NP", ti: "ti-Ethi-ET", tif: "tif-Latn-ZZ", tig: "tig-Ethi-ER", tik: "tik-Latn-ZZ", tim: "tim-Latn-ZZ", tio: "tio-Latn-ZZ", tiv: "tiv-Latn-NG", tk: "tk-Latn-TM", tkl: "tkl-Latn-TK", tkr: "tkr-Latn-AZ", tkt: "tkt-Deva-NP", tl: "tl-Latn-PH", tlf: "tlf-Latn-ZZ", tlx: "tlx-Latn-ZZ", tly: "tly-Latn-AZ", tmh: "tmh-Latn-NE", tmy: "tmy-Latn-ZZ", tn: "tn-Latn-ZA", tnh: "tnh-Latn-ZZ", to: "to-Latn-TO", tof: "tof-Latn-ZZ", tog: "tog-Latn-MW", toq: "toq-Latn-ZZ", tpi: "tpi-Latn-PG", tpm: "tpm-Latn-ZZ", tpz: "tpz-Latn-ZZ", tqo: "tqo-Latn-ZZ", tr: "tr-Latn-TR", tru: "tru-Latn-TR", trv: "trv-Latn-TW", trw: "trw-Arab-ZZ", ts: "ts-Latn-ZA", tsd: "tsd-Grek-GR", tsf: "tsf-Deva-NP", tsg: "tsg-Latn-PH", tsj: "tsj-Tibt-BT", tsw: "tsw-Latn-ZZ", tt: "tt-Cyrl-RU", ttd: "ttd-Latn-ZZ", tte: "tte-Latn-ZZ", ttj: "ttj-Latn-UG", ttr: "ttr-Latn-ZZ", tts: "tts-Thai-TH", ttt: "ttt-Latn-AZ", tuh: "tuh-Latn-ZZ", tul: "tul-Latn-ZZ", tum: "tum-Latn-MW", tuq: "tuq-Latn-ZZ", tvd: "tvd-Latn-ZZ", tvl: "tvl-Latn-TV", tvu: "tvu-Latn-ZZ", twh: "twh-Latn-ZZ", twq: "twq-Latn-NE", txg: "txg-Tang-CN", ty: "ty-Latn-PF", tya: "tya-Latn-ZZ", tyv: "tyv-Cyrl-RU", tzm: "tzm-Latn-MA", ubu: "ubu-Latn-ZZ", udm: "udm-Cyrl-RU", ug: "ug-Arab-CN", "ug-Cyrl": "ug-Cyrl-KZ", "ug-KZ": "ug-Cyrl-KZ", "ug-MN": "ug-Cyrl-MN", uga: "uga-Ugar-SY", uk: "uk-Cyrl-UA", uli: "uli-Latn-FM", umb: "umb-Latn-AO", und: "en-Latn-US", "und-002": "en-Latn-NG", "und-003": "en-Latn-US", "und-005": "pt-Latn-BR", "und-009": "en-Latn-AU", "und-011": "en-Latn-NG", "und-013": "es-Latn-MX", "und-014": "sw-Latn-TZ", "und-015": "ar-Arab-EG", "und-017": "sw-Latn-CD", "und-018": "en-Latn-ZA", "und-019": "en-Latn-US", "und-021": "en-Latn-US", "und-029": "es-Latn-CU", "und-030": "zh-Hans-CN", "und-034": "hi-Deva-IN", "und-035": "id-Latn-ID", "und-039": "it-Latn-IT", "und-053": "en-Latn-AU", "und-054": "en-Latn-PG", "und-057": "en-Latn-GU", "und-061": "sm-Latn-WS", "und-142": "zh-Hans-CN", "und-143": "uz-Latn-UZ", "und-145": "ar-Arab-SA", "und-150": "ru-Cyrl-RU", "und-151": "ru-Cyrl-RU", "und-154": "en-Latn-GB", "und-155": "de-Latn-DE", "und-202": "en-Latn-NG", "und-419": "es-Latn-419", "und-AD": "ca-Latn-AD", "und-Adlm": "ff-Adlm-GN", "und-AE": "ar-Arab-AE", "und-AF": "fa-Arab-AF", "und-Aghb": "lez-Aghb-RU", "und-Ahom": "aho-Ahom-IN", "und-AL": "sq-Latn-AL", "und-AM": "hy-Armn-AM", "und-AO": "pt-Latn-AO", "und-AQ": "und-Latn-AQ", "und-AR": "es-Latn-AR", "und-Arab": "ar-Arab-EG", "und-Arab-CC": "ms-Arab-CC", "und-Arab-CN": "ug-Arab-CN", "und-Arab-GB": "ks-Arab-GB", "und-Arab-ID": "ms-Arab-ID", "und-Arab-IN": "ur-Arab-IN", "und-Arab-KH": "cja-Arab-KH", "und-Arab-MM": "rhg-Arab-MM", "und-Arab-MN": "kk-Arab-MN", "und-Arab-MU": "ur-Arab-MU", "und-Arab-NG": "ha-Arab-NG", "und-Arab-PK": "ur-Arab-PK", "und-Arab-TG": "apd-Arab-TG", "und-Arab-TH": "mfa-Arab-TH", "und-Arab-TJ": "fa-Arab-TJ", "und-Arab-TR": "az-Arab-TR", "und-Arab-YT": "swb-Arab-YT", "und-Armi": "arc-Armi-IR", "und-Armn": "hy-Armn-AM", "und-AS": "sm-Latn-AS", "und-AT": "de-Latn-AT", "und-Avst": "ae-Avst-IR", "und-AW": "nl-Latn-AW", "und-AX": "sv-Latn-AX", "und-AZ": "az-Latn-AZ", "und-BA": "bs-Latn-BA", "und-Bali": "ban-Bali-ID", "und-Bamu": "bax-Bamu-CM", "und-Bass": "bsq-Bass-LR", "und-Batk": "bbc-Batk-ID", "und-BD": "bn-Beng-BD", "und-BE": "nl-Latn-BE", "und-Beng": "bn-Beng-BD", "und-BF": "fr-Latn-BF", "und-BG": "bg-Cyrl-BG", "und-BH": "ar-Arab-BH", "und-Bhks": "sa-Bhks-IN", "und-BI": "rn-Latn-BI", "und-BJ": "fr-Latn-BJ", "und-BL": "fr-Latn-BL", "und-BN": "ms-Latn-BN", "und-BO": "es-Latn-BO", "und-Bopo": "zh-Bopo-TW", "und-BQ": "pap-Latn-BQ", "und-BR": "pt-Latn-BR", "und-Brah": "pka-Brah-IN", "und-Brai": "fr-Brai-FR", "und-BT": "dz-Tibt-BT", "und-Bugi": "bug-Bugi-ID", "und-Buhd": "bku-Buhd-PH", "und-BV": "und-Latn-BV", "und-BY": "be-Cyrl-BY", "und-Cakm": "ccp-Cakm-BD", "und-Cans": "cr-Cans-CA", "und-Cari": "xcr-Cari-TR", "und-CD": "sw-Latn-CD", "und-CF": "fr-Latn-CF", "und-CG": "fr-Latn-CG", "und-CH": "de-Latn-CH", "und-Cham": "cjm-Cham-VN", "und-Cher": "chr-Cher-US", "und-CI": "fr-Latn-CI", "und-CL": "es-Latn-CL", "und-CM": "fr-Latn-CM", "und-CN": "zh-Hans-CN", "und-CO": "es-Latn-CO", "und-Copt": "cop-Copt-EG", "und-CP": "und-Latn-CP", "und-Cprt": "grc-Cprt-CY", "und-CR": "es-Latn-CR", "und-CU": "es-Latn-CU", "und-CV": "pt-Latn-CV", "und-CW": "pap-Latn-CW", "und-CY": "el-Grek-CY", "und-Cyrl": "ru-Cyrl-RU", "und-Cyrl-AL": "mk-Cyrl-AL", "und-Cyrl-BA": "sr-Cyrl-BA", "und-Cyrl-GE": "ab-Cyrl-GE", "und-Cyrl-GR": "mk-Cyrl-GR", "und-Cyrl-MD": "uk-Cyrl-MD", "und-Cyrl-RO": "bg-Cyrl-RO", "und-Cyrl-SK": "uk-Cyrl-SK", "und-Cyrl-TR": "kbd-Cyrl-TR", "und-Cyrl-XK": "sr-Cyrl-XK", "und-CZ": "cs-Latn-CZ", "und-DE": "de-Latn-DE", "und-Deva": "hi-Deva-IN", "und-Deva-BT": "ne-Deva-BT", "und-Deva-FJ": "hif-Deva-FJ", "und-Deva-MU": "bho-Deva-MU", "und-Deva-PK": "btv-Deva-PK", "und-DJ": "aa-Latn-DJ", "und-DK": "da-Latn-DK", "und-DO": "es-Latn-DO", "und-Dogr": "doi-Dogr-IN", "und-Dupl": "fr-Dupl-FR", "und-DZ": "ar-Arab-DZ", "und-EA": "es-Latn-EA", "und-EC": "es-Latn-EC", "und-EE": "et-Latn-EE", "und-EG": "ar-Arab-EG", "und-Egyp": "egy-Egyp-EG", "und-EH": "ar-Arab-EH", "und-Elba": "sq-Elba-AL", "und-Elym": "arc-Elym-IR", "und-ER": "ti-Ethi-ER", "und-ES": "es-Latn-ES", "und-ET": "am-Ethi-ET", "und-Ethi": "am-Ethi-ET", "und-EU": "en-Latn-GB", "und-EZ": "de-Latn-EZ", "und-FI": "fi-Latn-FI", "und-FO": "fo-Latn-FO", "und-FR": "fr-Latn-FR", "und-GA": "fr-Latn-GA", "und-GE": "ka-Geor-GE", "und-Geor": "ka-Geor-GE", "und-GF": "fr-Latn-GF", "und-GH": "ak-Latn-GH", "und-GL": "kl-Latn-GL", "und-Glag": "cu-Glag-BG", "und-GN": "fr-Latn-GN", "und-Gong": "wsg-Gong-IN", "und-Gonm": "esg-Gonm-IN", "und-Goth": "got-Goth-UA", "und-GP": "fr-Latn-GP", "und-GQ": "es-Latn-GQ", "und-GR": "el-Grek-GR", "und-Gran": "sa-Gran-IN", "und-Grek": "el-Grek-GR", "und-Grek-TR": "bgx-Grek-TR", "und-GS": "und-Latn-GS", "und-GT": "es-Latn-GT", "und-Gujr": "gu-Gujr-IN", "und-Guru": "pa-Guru-IN", "und-GW": "pt-Latn-GW", "und-Hanb": "zh-Hanb-TW", "und-Hang": "ko-Hang-KR", "und-Hani": "zh-Hani-CN", "und-Hano": "hnn-Hano-PH", "und-Hans": "zh-Hans-CN", "und-Hant": "zh-Hant-TW", "und-Hatr": "mis-Hatr-IQ", "und-Hebr": "he-Hebr-IL", "und-Hebr-CA": "yi-Hebr-CA", "und-Hebr-GB": "yi-Hebr-GB", "und-Hebr-SE": "yi-Hebr-SE", "und-Hebr-UA": "yi-Hebr-UA", "und-Hebr-US": "yi-Hebr-US", "und-Hira": "ja-Hira-JP", "und-HK": "zh-Hant-HK", "und-Hluw": "hlu-Hluw-TR", "und-HM": "und-Latn-HM", "und-Hmng": "hnj-Hmng-LA", "und-Hmnp": "mww-Hmnp-US", "und-HN": "es-Latn-HN", "und-HR": "hr-Latn-HR", "und-HT": "ht-Latn-HT", "und-HU": "hu-Latn-HU", "und-Hung": "hu-Hung-HU", "und-IC": "es-Latn-IC", "und-ID": "id-Latn-ID", "und-IL": "he-Hebr-IL", "und-IN": "hi-Deva-IN", "und-IQ": "ar-Arab-IQ", "und-IR": "fa-Arab-IR", "und-IS": "is-Latn-IS", "und-IT": "it-Latn-IT", "und-Ital": "ett-Ital-IT", "und-Jamo": "ko-Jamo-KR", "und-Java": "jv-Java-ID", "und-JO": "ar-Arab-JO", "und-JP": "ja-Jpan-JP", "und-Jpan": "ja-Jpan-JP", "und-Kali": "eky-Kali-MM", "und-Kana": "ja-Kana-JP", "und-KE": "sw-Latn-KE", "und-KG": "ky-Cyrl-KG", "und-KH": "km-Khmr-KH", "und-Khar": "pra-Khar-PK", "und-Khmr": "km-Khmr-KH", "und-Khoj": "sd-Khoj-IN", "und-KM": "ar-Arab-KM", "und-Knda": "kn-Knda-IN", "und-Kore": "ko-Kore-KR", "und-KP": "ko-Kore-KP", "und-KR": "ko-Kore-KR", "und-Kthi": "bho-Kthi-IN", "und-KW": "ar-Arab-KW", "und-KZ": "ru-Cyrl-KZ", "und-LA": "lo-Laoo-LA", "und-Lana": "nod-Lana-TH", "und-Laoo": "lo-Laoo-LA", "und-Latn-AF": "tk-Latn-AF", "und-Latn-AM": "ku-Latn-AM", "und-Latn-CN": "za-Latn-CN", "und-Latn-CY": "tr-Latn-CY", "und-Latn-DZ": "fr-Latn-DZ", "und-Latn-ET": "en-Latn-ET", "und-Latn-GE": "ku-Latn-GE", "und-Latn-IR": "tk-Latn-IR", "und-Latn-KM": "fr-Latn-KM", "und-Latn-MA": "fr-Latn-MA", "und-Latn-MK": "sq-Latn-MK", "und-Latn-MM": "kac-Latn-MM", "und-Latn-MO": "pt-Latn-MO", "und-Latn-MR": "fr-Latn-MR", "und-Latn-RU": "krl-Latn-RU", "und-Latn-SY": "fr-Latn-SY", "und-Latn-TN": "fr-Latn-TN", "und-Latn-TW": "trv-Latn-TW", "und-Latn-UA": "pl-Latn-UA", "und-LB": "ar-Arab-LB", "und-Lepc": "lep-Lepc-IN", "und-LI": "de-Latn-LI", "und-Limb": "lif-Limb-IN", "und-Lina": "lab-Lina-GR", "und-Linb": "grc-Linb-GR", "und-Lisu": "lis-Lisu-CN", "und-LK": "si-Sinh-LK", "und-LS": "st-Latn-LS", "und-LT": "lt-Latn-LT", "und-LU": "fr-Latn-LU", "und-LV": "lv-Latn-LV", "und-LY": "ar-Arab-LY", "und-Lyci": "xlc-Lyci-TR", "und-Lydi": "xld-Lydi-TR", "und-MA": "ar-Arab-MA", "und-Mahj": "hi-Mahj-IN", "und-Maka": "mak-Maka-ID", "und-Mand": "myz-Mand-IR", "und-Mani": "xmn-Mani-CN", "und-Marc": "bo-Marc-CN", "und-MC": "fr-Latn-MC", "und-MD": "ro-Latn-MD", "und-ME": "sr-Latn-ME", "und-Medf": "mis-Medf-NG", "und-Mend": "men-Mend-SL", "und-Merc": "xmr-Merc-SD", "und-Mero": "xmr-Mero-SD", "und-MF": "fr-Latn-MF", "und-MG": "mg-Latn-MG", "und-MK": "mk-Cyrl-MK", "und-ML": "bm-Latn-ML", "und-Mlym": "ml-Mlym-IN", "und-MM": "my-Mymr-MM", "und-MN": "mn-Cyrl-MN", "und-MO": "zh-Hant-MO", "und-Modi": "mr-Modi-IN", "und-Mong": "mn-Mong-CN", "und-MQ": "fr-Latn-MQ", "und-MR": "ar-Arab-MR", "und-Mroo": "mro-Mroo-BD", "und-MT": "mt-Latn-MT", "und-Mtei": "mni-Mtei-IN", "und-MU": "mfe-Latn-MU", "und-Mult": "skr-Mult-PK", "und-MV": "dv-Thaa-MV", "und-MX": "es-Latn-MX", "und-MY": "ms-Latn-MY", "und-Mymr": "my-Mymr-MM", "und-Mymr-IN": "kht-Mymr-IN", "und-Mymr-TH": "mnw-Mymr-TH", "und-MZ": "pt-Latn-MZ", "und-NA": "af-Latn-NA", "und-Nand": "sa-Nand-IN", "und-Narb": "xna-Narb-SA", "und-Nbat": "arc-Nbat-JO", "und-NC": "fr-Latn-NC", "und-NE": "ha-Latn-NE", "und-Newa": "new-Newa-NP", "und-NI": "es-Latn-NI", "und-Nkoo": "man-Nkoo-GN", "und-NL": "nl-Latn-NL", "und-NO": "nb-Latn-NO", "und-NP": "ne-Deva-NP", "und-Nshu": "zhx-Nshu-CN", "und-Ogam": "sga-Ogam-IE", "und-Olck": "sat-Olck-IN", "und-OM": "ar-Arab-OM", "und-Orkh": "otk-Orkh-MN", "und-Orya": "or-Orya-IN", "und-Osge": "osa-Osge-US", "und-Osma": "so-Osma-SO", "und-PA": "es-Latn-PA", "und-Palm": "arc-Palm-SY", "und-Pauc": "ctd-Pauc-MM", "und-PE": "es-Latn-PE", "und-Perm": "kv-Perm-RU", "und-PF": "fr-Latn-PF", "und-PG": "tpi-Latn-PG", "und-PH": "fil-Latn-PH", "und-Phag": "lzh-Phag-CN", "und-Phli": "pal-Phli-IR", "und-Phlp": "pal-Phlp-CN", "und-Phnx": "phn-Phnx-LB", "und-PK": "ur-Arab-PK", "und-PL": "pl-Latn-PL", "und-Plrd": "hmd-Plrd-CN", "und-PM": "fr-Latn-PM", "und-PR": "es-Latn-PR", "und-Prti": "xpr-Prti-IR", "und-PS": "ar-Arab-PS", "und-PT": "pt-Latn-PT", "und-PW": "pau-Latn-PW", "und-PY": "gn-Latn-PY", "und-QA": "ar-Arab-QA", "und-QO": "en-Latn-DG", "und-RE": "fr-Latn-RE", "und-Rjng": "rej-Rjng-ID", "und-RO": "ro-Latn-RO", "und-Rohg": "rhg-Rohg-MM", "und-RS": "sr-Cyrl-RS", "und-RU": "ru-Cyrl-RU", "und-Runr": "non-Runr-SE", "und-RW": "rw-Latn-RW", "und-SA": "ar-Arab-SA", "und-Samr": "smp-Samr-IL", "und-Sarb": "xsa-Sarb-YE", "und-Saur": "saz-Saur-IN", "und-SC": "fr-Latn-SC", "und-SD": "ar-Arab-SD", "und-SE": "sv-Latn-SE", "und-Sgnw": "ase-Sgnw-US", "und-Shaw": "en-Shaw-GB", "und-Shrd": "sa-Shrd-IN", "und-SI": "sl-Latn-SI", "und-Sidd": "sa-Sidd-IN", "und-Sind": "sd-Sind-IN", "und-Sinh": "si-Sinh-LK", "und-SJ": "nb-Latn-SJ", "und-SK": "sk-Latn-SK", "und-SM": "it-Latn-SM", "und-SN": "fr-Latn-SN", "und-SO": "so-Latn-SO", "und-Sogd": "sog-Sogd-UZ", "und-Sogo": "sog-Sogo-UZ", "und-Sora": "srb-Sora-IN", "und-Soyo": "cmg-Soyo-MN", "und-SR": "nl-Latn-SR", "und-ST": "pt-Latn-ST", "und-Sund": "su-Sund-ID", "und-SV": "es-Latn-SV", "und-SY": "ar-Arab-SY", "und-Sylo": "syl-Sylo-BD", "und-Syrc": "syr-Syrc-IQ", "und-Tagb": "tbw-Tagb-PH", "und-Takr": "doi-Takr-IN", "und-Tale": "tdd-Tale-CN", "und-Talu": "khb-Talu-CN", "und-Taml": "ta-Taml-IN", "und-Tang": "txg-Tang-CN", "und-Tavt": "blt-Tavt-VN", "und-TD": "fr-Latn-TD", "und-Telu": "te-Telu-IN", "und-TF": "fr-Latn-TF", "und-Tfng": "zgh-Tfng-MA", "und-TG": "fr-Latn-TG", "und-Tglg": "fil-Tglg-PH", "und-TH": "th-Thai-TH", "und-Thaa": "dv-Thaa-MV", "und-Thai": "th-Thai-TH", "und-Thai-CN": "lcp-Thai-CN", "und-Thai-KH": "kdt-Thai-KH", "und-Thai-LA": "kdt-Thai-LA", "und-Tibt": "bo-Tibt-CN", "und-Tirh": "mai-Tirh-IN", "und-TJ": "tg-Cyrl-TJ", "und-TK": "tkl-Latn-TK", "und-TL": "pt-Latn-TL", "und-TM": "tk-Latn-TM", "und-TN": "ar-Arab-TN", "und-TO": "to-Latn-TO", "und-TR": "tr-Latn-TR", "und-TV": "tvl-Latn-TV", "und-TW": "zh-Hant-TW", "und-TZ": "sw-Latn-TZ", "und-UA": "uk-Cyrl-UA", "und-UG": "sw-Latn-UG", "und-Ugar": "uga-Ugar-SY", "und-UY": "es-Latn-UY", "und-UZ": "uz-Latn-UZ", "und-VA": "it-Latn-VA", "und-Vaii": "vai-Vaii-LR", "und-VE": "es-Latn-VE", "und-VN": "vi-Latn-VN", "und-VU": "bi-Latn-VU", "und-Wara": "hoc-Wara-IN", "und-Wcho": "nnp-Wcho-IN", "und-WF": "fr-Latn-WF", "und-WS": "sm-Latn-WS", "und-XK": "sq-Latn-XK", "und-Xpeo": "peo-Xpeo-IR", "und-Xsux": "akk-Xsux-IQ", "und-YE": "ar-Arab-YE", "und-Yiii": "ii-Yiii-CN", "und-YT": "fr-Latn-YT", "und-Zanb": "cmg-Zanb-MN", "und-ZW": "sn-Latn-ZW", unr: "unr-Beng-IN", "unr-Deva": "unr-Deva-NP", "unr-NP": "unr-Deva-NP", unx: "unx-Beng-IN", uok: "uok-Latn-ZZ", ur: "ur-Arab-PK", uri: "uri-Latn-ZZ", urt: "urt-Latn-ZZ", urw: "urw-Latn-ZZ", usa: "usa-Latn-ZZ", utr: "utr-Latn-ZZ", uvh: "uvh-Latn-ZZ", uvl: "uvl-Latn-ZZ", uz: "uz-Latn-UZ", "uz-AF": "uz-Arab-AF", "uz-Arab": "uz-Arab-AF", "uz-CN": "uz-Cyrl-CN", vag: "vag-Latn-ZZ", vai: "vai-Vaii-LR", van: "van-Latn-ZZ", ve: "ve-Latn-ZA", vec: "vec-Latn-IT", vep: "vep-Latn-RU", vi: "vi-Latn-VN", vic: "vic-Latn-SX", viv: "viv-Latn-ZZ", vls: "vls-Latn-BE", vmf: "vmf-Latn-DE", vmw: "vmw-Latn-MZ", vo: "vo-Latn-001", vot: "vot-Latn-RU", vro: "vro-Latn-EE", vun: "vun-Latn-TZ", vut: "vut-Latn-ZZ", wa: "wa-Latn-BE", wae: "wae-Latn-CH", waj: "waj-Latn-ZZ", wal: "wal-Ethi-ET", wan: "wan-Latn-ZZ", war: "war-Latn-PH", wbp: "wbp-Latn-AU", wbq: "wbq-Telu-IN", wbr: "wbr-Deva-IN", wci: "wci-Latn-ZZ", wer: "wer-Latn-ZZ", wgi: "wgi-Latn-ZZ", whg: "whg-Latn-ZZ", wib: "wib-Latn-ZZ", wiu: "wiu-Latn-ZZ", wiv: "wiv-Latn-ZZ", wja: "wja-Latn-ZZ", wji: "wji-Latn-ZZ", wls: "wls-Latn-WF", wmo: "wmo-Latn-ZZ", wnc: "wnc-Latn-ZZ", wni: "wni-Arab-KM", wnu: "wnu-Latn-ZZ", wo: "wo-Latn-SN", wob: "wob-Latn-ZZ", wos: "wos-Latn-ZZ", wrs: "wrs-Latn-ZZ", wsg: "wsg-Gong-IN", wsk: "wsk-Latn-ZZ", wtm: "wtm-Deva-IN", wuu: "wuu-Hans-CN", wuv: "wuv-Latn-ZZ", wwa: "wwa-Latn-ZZ", xav: "xav-Latn-BR", xbi: "xbi-Latn-ZZ", xcr: "xcr-Cari-TR", xes: "xes-Latn-ZZ", xh: "xh-Latn-ZA", xla: "xla-Latn-ZZ", xlc: "xlc-Lyci-TR", xld: "xld-Lydi-TR", xmf: "xmf-Geor-GE", xmn: "xmn-Mani-CN", xmr: "xmr-Merc-SD", xna: "xna-Narb-SA", xnr: "xnr-Deva-IN", xog: "xog-Latn-UG", xon: "xon-Latn-ZZ", xpr: "xpr-Prti-IR", xrb: "xrb-Latn-ZZ", xsa: "xsa-Sarb-YE", xsi: "xsi-Latn-ZZ", xsm: "xsm-Latn-ZZ", xsr: "xsr-Deva-NP", xwe: "xwe-Latn-ZZ", yam: "yam-Latn-ZZ", yao: "yao-Latn-MZ", yap: "yap-Latn-FM", yas: "yas-Latn-ZZ", yat: "yat-Latn-ZZ", yav: "yav-Latn-CM", yay: "yay-Latn-ZZ", yaz: "yaz-Latn-ZZ", yba: "yba-Latn-ZZ", ybb: "ybb-Latn-CM", yby: "yby-Latn-ZZ", yer: "yer-Latn-ZZ", ygr: "ygr-Latn-ZZ", ygw: "ygw-Latn-ZZ", yi: "yi-Hebr-001", yko: "yko-Latn-ZZ", yle: "yle-Latn-ZZ", ylg: "ylg-Latn-ZZ", yll: "yll-Latn-ZZ", yml: "yml-Latn-ZZ", yo: "yo-Latn-NG", yon: "yon-Latn-ZZ", yrb: "yrb-Latn-ZZ", yre: "yre-Latn-ZZ", yrl: "yrl-Latn-BR", yss: "yss-Latn-ZZ", yua: "yua-Latn-MX", yue: "yue-Hant-HK", "yue-CN": "yue-Hans-CN", "yue-Hans": "yue-Hans-CN", yuj: "yuj-Latn-ZZ", yut: "yut-Latn-ZZ", yuw: "yuw-Latn-ZZ", za: "za-Latn-CN", zag: "zag-Latn-SD", zdj: "zdj-Arab-KM", zea: "zea-Latn-NL", zgh: "zgh-Tfng-MA", zh: "zh-Hans-CN", "zh-AU": "zh-Hant-AU", "zh-BN": "zh-Hant-BN", "zh-Bopo": "zh-Bopo-TW", "zh-GB": "zh-Hant-GB", "zh-GF": "zh-Hant-GF", "zh-Hanb": "zh-Hanb-TW", "zh-Hant": "zh-Hant-TW", "zh-HK": "zh-Hant-HK", "zh-ID": "zh-Hant-ID", "zh-MO": "zh-Hant-MO", "zh-MY": "zh-Hant-MY", "zh-PA": "zh-Hant-PA", "zh-PF": "zh-Hant-PF", "zh-PH": "zh-Hant-PH", "zh-SR": "zh-Hant-SR", "zh-TH": "zh-Hant-TH", "zh-TW": "zh-Hant-TW", "zh-US": "zh-Hant-US", "zh-VN": "zh-Hant-VN", zhx: "zhx-Nshu-CN", zia: "zia-Latn-ZZ", zlm: "zlm-Latn-TG", zmi: "zmi-Latn-MY", zne: "zne-Latn-ZZ", zu: "zu-Latn-ZA", zza: "zza-Latn-TR" }, timeData: { AX: { _allowed: "H", _preferred: "H" }, BQ: { _allowed: "H", _preferred: "H" }, CP: { _allowed: "H", _preferred: "H" }, CZ: { _allowed: "H", _preferred: "H" }, DK: { _allowed: "H", _preferred: "H" }, FI: { _allowed: "H", _preferred: "H" }, ID: { _allowed: "H", _preferred: "H" }, IS: { _allowed: "H", _preferred: "H" }, ML: { _allowed: "H", _preferred: "H" }, NE: { _allowed: "H", _preferred: "H" }, RU: { _allowed: "H", _preferred: "H" }, SE: { _allowed: "H", _preferred: "H" }, SJ: { _allowed: "H", _preferred: "H" }, SK: { _allowed: "H", _preferred: "H" }, AS: { _allowed: "h H", _preferred: "h" }, BT: { _allowed: "h H", _preferred: "h" }, DJ: { _allowed: "h H", _preferred: "h" }, ER: { _allowed: "h H", _preferred: "h" }, GH: { _allowed: "h H", _preferred: "h" }, IN: { _allowed: "h H", _preferred: "h" }, LS: { _allowed: "h H", _preferred: "h" }, PG: { _allowed: "h H", _preferred: "h" }, PW: { _allowed: "h H", _preferred: "h" }, SO: { _allowed: "h H", _preferred: "h" }, TO: { _allowed: "h H", _preferred: "h" }, VU: { _allowed: "h H", _preferred: "h" }, WS: { _allowed: "h H", _preferred: "h" }, "001": { _allowed: "H h", _preferred: "H" }, AL: { _allowed: "h H hB", _preferred: "h" }, TD: { _allowed: "h H hB", _preferred: "h" }, ca_ES: { _allowed: "H h hB", _preferred: "H" }, CF: { _allowed: "H h hB", _preferred: "H" }, CM: { _allowed: "H h hB", _preferred: "H" }, fr_CA: { _allowed: "H h hB", _preferred: "H" }, gl_ES: { _allowed: "H h hB", _preferred: "H" }, it_CH: { _allowed: "H h hB", _preferred: "H" }, it_IT: { _allowed: "H h hB", _preferred: "H" }, LU: { _allowed: "H h hB", _preferred: "H" }, NP: { _allowed: "H h hB", _preferred: "H" }, PF: { _allowed: "H h hB", _preferred: "H" }, SC: { _allowed: "H h hB", _preferred: "H" }, SM: { _allowed: "H h hB", _preferred: "H" }, SN: { _allowed: "H h hB", _preferred: "H" }, TF: { _allowed: "H h hB", _preferred: "H" }, VA: { _allowed: "H h hB", _preferred: "H" }, CY: { _allowed: "h H hb hB", _preferred: "h" }, GR: { _allowed: "h H hb hB", _preferred: "h" }, CO: { _allowed: "h H hB hb", _preferred: "h" }, DO: { _allowed: "h H hB hb", _preferred: "h" }, KP: { _allowed: "h H hB hb", _preferred: "h" }, KR: { _allowed: "h H hB hb", _preferred: "h" }, NA: { _allowed: "h H hB hb", _preferred: "h" }, PA: { _allowed: "h H hB hb", _preferred: "h" }, PR: { _allowed: "h H hB hb", _preferred: "h" }, VE: { _allowed: "h H hB hb", _preferred: "h" }, AC: { _allowed: "H h hb hB", _preferred: "H" }, AI: { _allowed: "H h hb hB", _preferred: "H" }, BW: { _allowed: "H h hb hB", _preferred: "H" }, BZ: { _allowed: "H h hb hB", _preferred: "H" }, CC: { _allowed: "H h hb hB", _preferred: "H" }, CK: { _allowed: "H h hb hB", _preferred: "H" }, CX: { _allowed: "H h hb hB", _preferred: "H" }, DG: { _allowed: "H h hb hB", _preferred: "H" }, FK: { _allowed: "H h hb hB", _preferred: "H" }, GB: { _allowed: "H h hb hB", _preferred: "H" }, GG: { _allowed: "H h hb hB", _preferred: "H" }, GI: { _allowed: "H h hb hB", _preferred: "H" }, IE: { _allowed: "H h hb hB", _preferred: "H" }, IM: { _allowed: "H h hb hB", _preferred: "H" }, IO: { _allowed: "H h hb hB", _preferred: "H" }, JE: { _allowed: "H h hb hB", _preferred: "H" }, LT: { _allowed: "H h hb hB", _preferred: "H" }, MK: { _allowed: "H h hb hB", _preferred: "H" }, MN: { _allowed: "H h hb hB", _preferred: "H" }, MS: { _allowed: "H h hb hB", _preferred: "H" }, NF: { _allowed: "H h hb hB", _preferred: "H" }, NG: { _allowed: "H h hb hB", _preferred: "H" }, NR: { _allowed: "H h hb hB", _preferred: "H" }, NU: { _allowed: "H h hb hB", _preferred: "H" }, PN: { _allowed: "H h hb hB", _preferred: "H" }, SH: { _allowed: "H h hb hB", _preferred: "H" }, SX: { _allowed: "H h hb hB", _preferred: "H" }, TA: { _allowed: "H h hb hB", _preferred: "H" }, ZA: { _allowed: "H h hb hB", _preferred: "H" }, af_ZA: { _allowed: "H h hB hb", _preferred: "H" }, AR: { _allowed: "H h hB hb", _preferred: "H" }, CL: { _allowed: "H h hB hb", _preferred: "H" }, CR: { _allowed: "H h hB hb", _preferred: "H" }, CU: { _allowed: "H h hB hb", _preferred: "H" }, EA: { _allowed: "H h hB hb", _preferred: "H" }, es_BO: { _allowed: "H h hB hb", _preferred: "H" }, es_BR: { _allowed: "H h hB hb", _preferred: "H" }, es_EC: { _allowed: "H h hB hb", _preferred: "H" }, es_ES: { _allowed: "H h hB hb", _preferred: "H" }, es_GQ: { _allowed: "H h hB hb", _preferred: "H" }, es_PE: { _allowed: "H h hB hb", _preferred: "H" }, GT: { _allowed: "H h hB hb", _preferred: "H" }, HN: { _allowed: "H h hB hb", _preferred: "H" }, IC: { _allowed: "H h hB hb", _preferred: "H" }, KG: { _allowed: "H h hB hb", _preferred: "H" }, KM: { _allowed: "H h hB hb", _preferred: "H" }, LK: { _allowed: "H h hB hb", _preferred: "H" }, MA: { _allowed: "H h hB hb", _preferred: "H" }, MX: { _allowed: "H h hB hb", _preferred: "H" }, NI: { _allowed: "H h hB hb", _preferred: "H" }, PY: { _allowed: "H h hB hb", _preferred: "H" }, SV: { _allowed: "H h hB hb", _preferred: "H" }, UY: { _allowed: "H h hB hb", _preferred: "H" }, JP: { _allowed: "H h K", _preferred: "H" }, AD: { _allowed: "H hB", _preferred: "H" }, AM: { _allowed: "H hB", _preferred: "H" }, AO: { _allowed: "H hB", _preferred: "H" }, AT: { _allowed: "H hB", _preferred: "H" }, AW: { _allowed: "H hB", _preferred: "H" }, BE: { _allowed: "H hB", _preferred: "H" }, BF: { _allowed: "H hB", _preferred: "H" }, BJ: { _allowed: "H hB", _preferred: "H" }, BL: { _allowed: "H hB", _preferred: "H" }, BR: { _allowed: "H hB", _preferred: "H" }, CG: { _allowed: "H hB", _preferred: "H" }, CI: { _allowed: "H hB", _preferred: "H" }, CV: { _allowed: "H hB", _preferred: "H" }, DE: { _allowed: "H hB", _preferred: "H" }, EE: { _allowed: "H hB", _preferred: "H" }, FR: { _allowed: "H hB", _preferred: "H" }, GA: { _allowed: "H hB", _preferred: "H" }, GF: { _allowed: "H hB", _preferred: "H" }, GN: { _allowed: "H hB", _preferred: "H" }, GP: { _allowed: "H hB", _preferred: "H" }, GW: { _allowed: "H hB", _preferred: "H" }, HR: { _allowed: "H hB", _preferred: "H" }, IL: { _allowed: "H hB", _preferred: "H" }, IT: { _allowed: "H hB", _preferred: "H" }, KZ: { _allowed: "H hB", _preferred: "H" }, MC: { _allowed: "H hB", _preferred: "H" }, MD: { _allowed: "H hB", _preferred: "H" }, MF: { _allowed: "H hB", _preferred: "H" }, MQ: { _allowed: "H hB", _preferred: "H" }, MZ: { _allowed: "H hB", _preferred: "H" }, NC: { _allowed: "H hB", _preferred: "H" }, NL: { _allowed: "H hB", _preferred: "H" }, PM: { _allowed: "H hB", _preferred: "H" }, PT: { _allowed: "H hB", _preferred: "H" }, RE: { _allowed: "H hB", _preferred: "H" }, RO: { _allowed: "H hB", _preferred: "H" }, SI: { _allowed: "H hB", _preferred: "H" }, SR: { _allowed: "H hB", _preferred: "H" }, ST: { _allowed: "H hB", _preferred: "H" }, TG: { _allowed: "H hB", _preferred: "H" }, TR: { _allowed: "H hB", _preferred: "H" }, WF: { _allowed: "H hB", _preferred: "H" }, YT: { _allowed: "H hB", _preferred: "H" }, BD: { _allowed: "h hB H", _preferred: "h" }, PK: { _allowed: "h hB H", _preferred: "h" }, AZ: { _allowed: "H hB h", _preferred: "H" }, BA: { _allowed: "H hB h", _preferred: "H" }, BG: { _allowed: "H hB h", _preferred: "H" }, CH: { _allowed: "H hB h", _preferred: "H" }, GE: { _allowed: "H hB h", _preferred: "H" }, LI: { _allowed: "H hB h", _preferred: "H" }, ME: { _allowed: "H hB h", _preferred: "H" }, RS: { _allowed: "H hB h", _preferred: "H" }, UA: { _allowed: "H hB h", _preferred: "H" }, UZ: { _allowed: "H hB h", _preferred: "H" }, XK: { _allowed: "H hB h", _preferred: "H" }, AG: { _allowed: "h hb H hB", _preferred: "h" }, AU: { _allowed: "h hb H hB", _preferred: "h" }, BB: { _allowed: "h hb H hB", _preferred: "h" }, BM: { _allowed: "h hb H hB", _preferred: "h" }, BS: { _allowed: "h hb H hB", _preferred: "h" }, CA: { _allowed: "h hb H hB", _preferred: "h" }, DM: { _allowed: "h hb H hB", _preferred: "h" }, en_001: { _allowed: "h hb H hB", _preferred: "h" }, FJ: { _allowed: "h hb H hB", _preferred: "h" }, FM: { _allowed: "h hb H hB", _preferred: "h" }, GD: { _allowed: "h hb H hB", _preferred: "h" }, GM: { _allowed: "h hb H hB", _preferred: "h" }, GU: { _allowed: "h hb H hB", _preferred: "h" }, GY: { _allowed: "h hb H hB", _preferred: "h" }, JM: { _allowed: "h hb H hB", _preferred: "h" }, KI: { _allowed: "h hb H hB", _preferred: "h" }, KN: { _allowed: "h hb H hB", _preferred: "h" }, KY: { _allowed: "h hb H hB", _preferred: "h" }, LC: { _allowed: "h hb H hB", _preferred: "h" }, LR: { _allowed: "h hb H hB", _preferred: "h" }, MH: { _allowed: "h hb H hB", _preferred: "h" }, MP: { _allowed: "h hb H hB", _preferred: "h" }, MW: { _allowed: "h hb H hB", _preferred: "h" }, NZ: { _allowed: "h hb H hB", _preferred: "h" }, SB: { _allowed: "h hb H hB", _preferred: "h" }, SG: { _allowed: "h hb H hB", _preferred: "h" }, SL: { _allowed: "h hb H hB", _preferred: "h" }, SS: { _allowed: "h hb H hB", _preferred: "h" }, SZ: { _allowed: "h hb H hB", _preferred: "h" }, TC: { _allowed: "h hb H hB", _preferred: "h" }, TT: { _allowed: "h hb H hB", _preferred: "h" }, UM: { _allowed: "h hb H hB", _preferred: "h" }, US: { _allowed: "h hb H hB", _preferred: "h" }, VC: { _allowed: "h hb H hB", _preferred: "h" }, VG: { _allowed: "h hb H hB", _preferred: "h" }, VI: { _allowed: "h hb H hB", _preferred: "h" }, ZM: { _allowed: "h hb H hB", _preferred: "h" }, BO: { _allowed: "H hB h hb", _preferred: "H" }, EC: { _allowed: "H hB h hb", _preferred: "H" }, ES: { _allowed: "H hB h hb", _preferred: "H" }, GQ: { _allowed: "H hB h hb", _preferred: "H" }, PE: { _allowed: "H hB h hb", _preferred: "H" }, AE: { _allowed: "h hB hb H", _preferred: "h" }, ar_001: { _allowed: "h hB hb H", _preferred: "h" }, BH: { _allowed: "h hB hb H", _preferred: "h" }, DZ: { _allowed: "h hB hb H", _preferred: "h" }, EG: { _allowed: "h hB hb H", _preferred: "h" }, EH: { _allowed: "h hB hb H", _preferred: "h" }, IQ: { _allowed: "h hB hb H", _preferred: "h" }, JO: { _allowed: "h hB hb H", _preferred: "h" }, KW: { _allowed: "h hB hb H", _preferred: "h" }, LB: { _allowed: "h hB hb H", _preferred: "h" }, LY: { _allowed: "h hB hb H", _preferred: "h" }, MR: { _allowed: "h hB hb H", _preferred: "h" }, OM: { _allowed: "h hB hb H", _preferred: "h" }, PH: { _allowed: "h hB hb H", _preferred: "h" }, PS: { _allowed: "h hB hb H", _preferred: "h" }, QA: { _allowed: "h hB hb H", _preferred: "h" }, SA: { _allowed: "h hB hb H", _preferred: "h" }, SD: { _allowed: "h hB hb H", _preferred: "h" }, SY: { _allowed: "h hB hb H", _preferred: "h" }, TN: { _allowed: "h hB hb H", _preferred: "h" }, YE: { _allowed: "h hB hb H", _preferred: "h" }, AF: { _allowed: "H hb hB h", _preferred: "H" }, LA: { _allowed: "H hb hB h", _preferred: "H" }, LV: { _allowed: "H hB hb h", _preferred: "H" }, TL: { _allowed: "H hB hb h", _preferred: "H" }, zu_ZA: { _allowed: "H hB hb h", _preferred: "H" }, CD: { _allowed: "hB H", _preferred: "H" }, IR: { _allowed: "hB H", _preferred: "H" }, hi_IN: { _allowed: "hB h H", _preferred: "h" }, kn_IN: { _allowed: "hB h H", _preferred: "h" }, ml_IN: { _allowed: "hB h H", _preferred: "h" }, te_IN: { _allowed: "hB h H", _preferred: "h" }, KH: { _allowed: "hB h H hb", _preferred: "h" }, ta_IN: { _allowed: "hB h hb H", _preferred: "h" }, BN: { _allowed: "hb hB h H", _preferred: "h" }, MY: { _allowed: "hb hB h H", _preferred: "h" }, CN: { _allowed: "hB hb h H", _preferred: "h" }, ET: { _allowed: "hB hb h H", _preferred: "h" }, gu_IN: { _allowed: "hB hb h H", _preferred: "h" }, HK: { _allowed: "hB hb h H", _preferred: "h" }, MO: { _allowed: "hB hb h H", _preferred: "h" }, mr_IN: { _allowed: "hB hb h H", _preferred: "h" }, pa_IN: { _allowed: "hB hb h H", _preferred: "h" }, TW: { _allowed: "hB hb h H", _preferred: "h" }, KE: { _allowed: "hB hb H h", _preferred: "H" }, MM: { _allowed: "hB hb H h", _preferred: "H" }, TZ: { _allowed: "hB hb H h", _preferred: "H" }, UG: { _allowed: "hB hb H h", _preferred: "H" } }, weekData: { minDays: { "001": "1", AD: "4", AN: "4", AT: "4", AX: "4", BE: "4", BG: "4", CH: "4", CZ: "4", DE: "4", DK: "4", EE: "4", ES: "4", FI: "4", FJ: "4", FO: "4", FR: "4", GB: "4", GF: "4", GG: "4", GI: "4", GP: "4", GR: "4", GU: "1", HU: "4", IE: "4", IM: "4", IS: "4", IT: "4", JE: "4", LI: "4", LT: "4", LU: "4", MC: "4", MQ: "4", NL: "4", NO: "4", PL: "4", PT: "4", RE: "4", RU: "4", SE: "4", SJ: "4", SK: "4", SM: "4", UM: "1", US: "1", VA: "4", VI: "1" }, firstDay: { "001": "mon", AD: "mon", AE: "sat", AF: "sat", AG: "sun", AI: "mon", AL: "mon", AM: "mon", AN: "mon", AR: "mon", AS: "sun", AT: "mon", AU: "sun", AX: "mon", AZ: "mon", BA: "mon", BD: "sun", BE: "mon", BG: "mon", BH: "sat", BM: "mon", BN: "mon", BR: "sun", BS: "sun", BT: "sun", BW: "sun", BY: "mon", BZ: "sun", CA: "sun", CH: "mon", CL: "mon", CM: "mon", CN: "sun", CO: "sun", CR: "mon", CY: "mon", CZ: "mon", DE: "mon", DJ: "sat", DK: "mon", DM: "sun", DO: "sun", DZ: "sat", EC: "mon", EE: "mon", EG: "sat", ES: "mon", ET: "sun", FI: "mon", FJ: "mon", FO: "mon", FR: "mon", GB: "mon", "GB-alt-variant": "sun", GE: "mon", GF: "mon", GP: "mon", GR: "mon", GT: "sun", GU: "sun", HK: "sun", HN: "sun", HR: "mon", HU: "mon", ID: "sun", IE: "mon", IL: "sun", IN: "sun", IQ: "sat", IR: "sat", IS: "mon", IT: "mon", JM: "sun", JO: "sat", JP: "sun", KE: "sun", KG: "mon", KH: "sun", KR: "sun", KW: "sat", KZ: "mon", LA: "sun", LB: "mon", LI: "mon", LK: "mon", LT: "mon", LU: "mon", LV: "mon", LY: "sat", MC: "mon", MD: "mon", ME: "mon", MH: "sun", MK: "mon", MM: "sun", MN: "mon", MO: "sun", MQ: "mon", MT: "sun", MV: "fri", MX: "sun", MY: "mon", MZ: "sun", NI: "sun", NL: "mon", NO: "mon", NP: "sun", NZ: "mon", OM: "sat", PA: "sun", PE: "sun", PH: "sun", PK: "sun", PL: "mon", PR: "sun", PT: "sun", PY: "sun", QA: "sat", RE: "mon", RO: "mon", RS: "mon", RU: "mon", SA: "sun", SD: "sat", SE: "mon", SG: "sun", SI: "mon", SK: "mon", SM: "mon", SV: "sun", SY: "sat", TH: "sun", TJ: "mon", TM: "mon", TR: "mon", TT: "sun", TW: "sun", UA: "mon", UM: "sun", US: "sun", UY: "mon", UZ: "mon", VA: "mon", VE: "sun", VI: "sun", VN: "mon", WS: "sun", XK: "mon", YE: "sun", ZA: "sun", ZW: "sun" }, weekendStart: { "001": "sat", AE: "fri", AF: "thu", BH: "fri", DZ: "fri", EG: "fri", IL: "fri", IN: "sun", IQ: "fri", IR: "fri", JO: "fri", KW: "fri", LY: "fri", OM: "fri", QA: "fri", SA: "fri", SD: "fri", SY: "fri", UG: "sun", YE: "fri" }, weekendEnd: { "001": "sun", AE: "sat", AF: "fri", BH: "sat", DZ: "sat", EG: "sat", IL: "sat", IQ: "sat", IR: "fri", JO: "sat", KW: "sat", LY: "sat", OM: "sat", QA: "sat", SA: "sat", SD: "sat", SY: "sat", YE: "sat" }, af: { _ordering: "weekOfDate weekOfInterval weekOfMonth" }, "am az bs cs cy da el et hi ky lt mk sk ta th": { _ordering: "weekOfYear weekOfMonth" }, "ar fil gu hu hy id kk ko": { _ordering: "weekOfMonth" }, "be ro ru": { _ordering: "weekOfInterval weekOfMonth" }, "bg de iw pt ur zh": { _ordering: "weekOfDate weekOfMonth weekOfInterval" }, "ca es fr gl": { _ordering: "weekOfDate" }, "en bn ja ka": { _ordering: "weekOfDate weekOfMonth" }, eu: { _ordering: "weekOfMonth weekOfDate" }, "fa hr it lv pl si sr uk uz": { _ordering: "weekOfMonth weekOfInterval" }, "fi zh-TW": { _ordering: "weekOfYear weekOfDate weekOfMonth" }, "is mn no sv vi": { _ordering: "weekOfYear weekOfMonth weekOfInterval" }, "km mr": { _ordering: "weekOfMonth weekOfYear" }, "kn ml pa": { _ordering: "weekOfMonth weekOfDate weekOfYear" }, "lo sq": { _ordering: "weekOfMonth weekOfInterval weekOfDate weekOfYear" }, "ms tr": { _ordering: "weekOfMonth weekOfYear weekOfInterval weekOfDate" }, nl: { _ordering: "weekOfDate weekOfYear weekOfMonth" }, sl: { _ordering: "weekOfInterval" }, "sw te": { _ordering: "weekOfMonth weekOfInterval weekOfYear" }, und: { _ordering: "weekOfYear" }, zu: { _ordering: "weekOfYear weekOfInterval" } }, currencyData: { fractions: { ADP: { _rounding: "0", _digits: "0" }, AFN: { _rounding: "0", _digits: "0" }, ALL: { _rounding: "0", _digits: "0" }, AMD: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, BHD: { _rounding: "0", _digits: "3" }, BIF: { _rounding: "0", _digits: "0" }, BYN: { _rounding: "0", _digits: "2" }, BYR: { _rounding: "0", _digits: "0" }, CAD: { _rounding: "0", _digits: "2", _cashRounding: "5" }, CHF: { _rounding: "0", _digits: "2", _cashRounding: "5" }, CLF: { _rounding: "0", _digits: "4" }, CLP: { _rounding: "0", _digits: "0" }, COP: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, CRC: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, CZK: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, DEFAULT: { _rounding: "0", _digits: "2" }, DJF: { _rounding: "0", _digits: "0" }, DKK: { _rounding: "0", _digits: "2", _cashRounding: "50" }, ESP: { _rounding: "0", _digits: "0" }, GNF: { _rounding: "0", _digits: "0" }, GYD: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, HUF: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, IDR: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, IQD: { _rounding: "0", _digits: "0" }, IRR: { _rounding: "0", _digits: "0" }, ISK: { _rounding: "0", _digits: "0" }, ITL: { _rounding: "0", _digits: "0" }, JOD: { _rounding: "0", _digits: "3" }, JPY: { _rounding: "0", _digits: "0" }, KMF: { _rounding: "0", _digits: "0" }, KPW: { _rounding: "0", _digits: "0" }, KRW: { _rounding: "0", _digits: "0" }, KWD: { _rounding: "0", _digits: "3" }, LAK: { _rounding: "0", _digits: "0" }, LBP: { _rounding: "0", _digits: "0" }, LUF: { _rounding: "0", _digits: "0" }, LYD: { _rounding: "0", _digits: "3" }, MGA: { _rounding: "0", _digits: "0" }, MGF: { _rounding: "0", _digits: "0" }, MMK: { _rounding: "0", _digits: "0" }, MNT: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, MRO: { _rounding: "0", _digits: "0" }, MUR: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, NOK: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, OMR: { _rounding: "0", _digits: "3" }, PKR: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, PYG: { _rounding: "0", _digits: "0" }, RSD: { _rounding: "0", _digits: "0" }, RWF: { _rounding: "0", _digits: "0" }, SEK: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, SLL: { _rounding: "0", _digits: "0" }, SOS: { _rounding: "0", _digits: "0" }, STD: { _rounding: "0", _digits: "0" }, SYP: { _rounding: "0", _digits: "0" }, TMM: { _rounding: "0", _digits: "0" }, TND: { _rounding: "0", _digits: "3" }, TRL: { _rounding: "0", _digits: "0" }, TWD: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, TZS: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, UGX: { _rounding: "0", _digits: "0" }, UYI: { _rounding: "0", _digits: "0" }, UYW: { _rounding: "0", _digits: "4" }, UZS: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, VEF: { _rounding: "0", _digits: "2", _cashRounding: "0", _cashDigits: "0" }, VND: { _rounding: "0", _digits: "0" }, VUV: { _rounding: "0", _digits: "0" }, XAF: { _rounding: "0", _digits: "0" }, XOF: { _rounding: "0", _digits: "0" }, XPF: { _rounding: "0", _digits: "0" }, YER: { _rounding: "0", _digits: "0" }, ZMK: { _rounding: "0", _digits: "0" }, ZWD: { _rounding: "0", _digits: "0" } }, region: { AC: [{ SHP: { _from: "1976-01-01" } }], AD: [{ ESP: { _from: "1873-01-01", _to: "2002-02-28" } }, { ADP: { _from: "1936-01-01", _to: "2001-12-31" } }, { FRF: { _from: "1960-01-01", _to: "2002-02-17" } }, { EUR: { _from: "1999-01-01" } }], AE: [{ AED: { _from: "1973-05-19" } }], AF: [{ AFA: { _from: "1927-03-14", _to: "2002-12-31" } }, { AFN: { _from: "2002-10-07" } }], AG: [{ XCD: { _from: "1965-10-06" } }], AI: [{ XCD: { _from: "1965-10-06" } }], AL: [{ ALK: { _from: "1946-11-01", _to: "1965-08-16" } }, { ALL: { _from: "1965-08-16" } }], AM: [{ SUR: { _from: "1961-01-01", _to: "1991-12-25" } }, { RUR: { _from: "1991-12-25", _to: "1993-11-22" } }, { AMD: { _from: "1993-11-22" } }], AO: [{ AOK: { _from: "1977-01-08", _to: "1991-03-01" } }, { AON: { _from: "1990-09-25", _to: "2000-02-01" } }, { AOR: { _from: "1995-07-01", _to: "2000-02-01" } }, { AOA: { _from: "1999-12-13" } }], AQ: [{ XXX: { _tender: "false" } }], AR: [{ ARM: { _from: "1881-11-05", _to: "1970-01-01" } }, { ARL: { _from: "1970-01-01", _to: "1983-06-01" } }, { ARP: { _from: "1983-06-01", _to: "1985-06-14" } }, { ARA: { _from: "1985-06-14", _to: "1992-01-01" } }, { ARS: { _from: "1992-01-01" } }], AS: [{ USD: { _from: "1904-07-16" } }], AT: [{ ATS: { _from: "1947-12-04", _to: "2002-02-28" } }, { EUR: { _from: "1999-01-01" } }], AU: [{ AUD: { _from: "1966-02-14" } }], AW: [{ ANG: { _from: "1940-05-10", _to: "1986-01-01" } }, { AWG: { _from: "1986-01-01" } }], AX: [{ EUR: { _from: "1999-01-01" } }], AZ: [{ SUR: { _from: "1961-01-01", _to: "1991-12-25" } }, { RUR: { _from: "1991-12-25", _to: "1994-01-01" } }, { AZM: { _from: "1993-11-22", _to: "2006-12-31" } }, { AZN: { _from: "2006-01-01" } }], BA: [{ YUD: { _from: "1966-01-01", _to: "1990-01-01" } }, { YUN: { _from: "1990-01-01", _to: "1992-07-01" } }, { YUR: { _from: "1992-07-01", _to: "1993-10-01" } }, { BAD: { _from: "1992-07-01", _to: "1994-08-15" } }, { BAN: { _from: "1994-08-15", _to: "1997-07-01" } }, { BAM: { _from: "1995-01-01" } }], BB: [{ XCD: { _from: "1965-10-06", _to: "1973-12-03" } }, { BBD: { _from: "1973-12-03" } }], BD: [{ INR: { _from: "1835-08-17", _to: "1948-04-01" } }, { PKR: { _from: "1948-04-01", _to: "1972-01-01" } }, { BDT: { _from: "1972-01-01" } }], BE: [{ NLG: { _from: "1816-12-15", _to: "1831-02-07" } }, { BEF: { _from: "1831-02-07", _to: "2002-02-28" } }, { BEC: { _tender: "false", _from: "1970-01-01", _to: "1990-03-05" } }, { BEL: { _tender: "false", _from: "1970-01-01", _to: "1990-03-05" } }, { EUR: { _from: "1999-01-01" } }], BF: [{ XOF: { _from: "1984-08-04" } }], BG: [{ BGO: { _from: "1879-07-08", _to: "1952-05-12" } }, { BGM: { _from: "1952-05-12", _to: "1962-01-01" } }, { BGL: { _from: "1962-01-01", _to: "1999-07-05" } }, { BGN: { _from: "1999-07-05" } }], BH: [{ BHD: { _from: "1965-10-16" } }], BI: [{ BIF: { _from: "1964-05-19" } }], BJ: [{ XOF: { _from: "1975-11-30" } }], BL: [{ FRF: { _from: "1960-01-01", _to: "2002-02-17" } }, { EUR: { _from: "1999-01-01" } }], BM: [{ BMD: { _from: "1970-02-06" } }], BN: [{ MYR: { _from: "1963-09-16", _to: "1967-06-12" } }, { BND: { _from: "1967-06-12" } }], BO: [{ BOV: { _tender: "false" } }, { BOL: { _from: "1863-06-23", _to: "1963-01-01" } }, { BOP: { _from: "1963-01-01", _to: "1986-12-31" } }, { BOB: { _from: "1987-01-01" } }], BQ: [{ ANG: { _from: "2010-10-10", _to: "2011-01-01" } }, { USD: { _from: "2011-01-01" } }], BR: [{ BRZ: { _from: "1942-11-01", _to: "1967-02-13" } }, { BRB: { _from: "1967-02-13", _to: "1986-02-28" } }, { BRC: { _from: "1986-02-28", _to: "1989-01-15" } }, { BRN: { _from: "1989-01-15", _to: "1990-03-16" } }, { BRE: { _from: "1990-03-16", _to: "1993-08-01" } }, { BRR: { _from: "1993-08-01", _to: "1994-07-01" } }, { BRL: { _from: "1994-07-01" } }], BS: [{ BSD: { _from: "1966-05-25" } }], BT: [{ INR: { _from: "1907-01-01" } }, { BTN: { _from: "1974-04-16" } }], BU: [{ BUK: { _from: "1952-07-01", _to: "1989-06-18" } }], BV: [{ NOK: { _from: "1905-06-07" } }], BW: [{ ZAR: { _from: "1961-02-14", _to: "1976-08-23" } }, { BWP: { _from: "1976-08-23" } }], BY: [{ SUR: { _from: "1961-01-01", _to: "1991-12-25" } }, { RUR: { _from: "1991-12-25", _to: "1994-11-08" } }, { BYB: { _from: "1994-08-01", _to: "2000-12-31" } }, { BYR: { _from: "2000-01-01", _to: "2017-01-01" } }, { BYN: { _from: "2016-07-01" } }], BZ: [{ BZD: { _from: "1974-01-01" } }], CA: [{ CAD: { _from: "1858-01-01" } }], CC: [{ AUD: { _from: "1966-02-14" } }], CD: [{ ZRZ: { _from: "1971-10-27", _to: "1993-11-01" } }, { ZRN: { _from: "1993-11-01", _to: "1998-07-01" } }, { CDF: { _from: "1998-07-01" } }], CF: [{ XAF: { _from: "1993-01-01" } }], CG: [{ XAF: { _from: "1993-01-01" } }], CH: [{ CHE: { _tender: "false" } }, { CHW: { _tender: "false" } }, { CHF: { _from: "1799-03-17" } }], CI: [{ XOF: { _from: "1958-12-04" } }], CK: [{ NZD: { _from: "1967-07-10" } }], CL: [{ CLF: { _tender: "false" } }, { CLE: { _from: "1960-01-01", _to: "1975-09-29" } }, { CLP: { _from: "1975-09-29" } }], CM: [{ XAF: { _from: "1973-04-01" } }], CN: [{ CNY: { _from: "1953-03-01" } }, { CNX: { _tender: "false", _from: "1979-01-01", _to: "1998-12-31" } }, { CNH: { _tender: "false", _from: "2010-07-19" } }], CO: [{ COU: { _tender: "false" } }, { COP: { _from: "1905-01-01" } }], CP: [{ XXX: { _tender: "false" } }], CR: [{ CRC: { _from: "1896-10-26" } }], CS: [{ YUM: { _from: "1994-01-24", _to: "2002-05-15" } }, { CSD: { _from: "2002-05-15", _to: "2006-06-03" } }, { EUR: { _from: "2003-02-04", _to: "2006-06-03" } }], CU: [{ CUP: { _from: "1859-01-01" } }, { USD: { _from: "1899-01-01", _to: "1959-01-01" } }, { CUC: { _from: "1994-01-01" } }], CV: [{ PTE: { _from: "1911-05-22", _to: "1975-07-05" } }, { CVE: { _from: "1914-01-01" } }], CW: [{ ANG: { _from: "2010-10-10" } }], CX: [{ AUD: { _from: "1966-02-14" } }], CY: [{ CYP: { _from: "1914-09-10", _to: "2008-01-31" } }, { EUR: { _from: "2008-01-01" } }], CZ: [{ CSK: { _from: "1953-06-01", _to: "1993-03-01" } }, { CZK: { _from: "1993-01-01" } }], DD: [{ DDM: { _from: "1948-07-20", _to: "1990-10-02" } }], DE: [{ DEM: { _from: "1948-06-20", _to: "2002-02-28" } }, { EUR: { _from: "1999-01-01" } }], DG: [{ USD: { _from: "1965-11-08" } }], DJ: [{ DJF: { _from: "1977-06-27" } }], DK: [{ DKK: { _from: "1873-05-27" } }], DM: [{ XCD: { _from: "1965-10-06" } }], DO: [{ USD: { _from: "1905-06-21", _to: "1947-10-01" } }, { DOP: { _from: "1947-10-01" } }], DZ: [{ DZD: { _from: "1964-04-01" } }], EA: [{ EUR: { _from: "1999-01-01" } }], EC: [{ ECS: { _from: "1884-04-01", _to: "2000-10-02" } }, { ECV: { _tender: "false", _from: "1993-05-23", _to: "2000-01-09" } }, { USD: { _from: "2000-10-02" } }], EE: [{ SUR: { _from: "1961-01-01", _to: "1992-06-20" } }, { EEK: { _from: "1992-06-21", _to: "2010-12-31" } }, { EUR: { _from: "2011-01-01" } }], EG: [{ EGP: { _from: "1885-11-14" } }], EH: [{ MAD: { _from: "1976-02-26" } }], ER: [{ ETB: { _from: "1993-05-24", _to: "1997-11-08" } }, { ERN: { _from: "1997-11-08" } }], ES: [{ ESP: { _from: "1868-10-19", _to: "2002-02-28" } }, { ESB: { _tender: "false", _from: "1975-01-01", _to: "1994-12-31" } }, { ESA: { _tender: "false", _from: "1978-01-01", _to: "1981-12-31" } }, { EUR: { _from: "1999-01-01" } }], ET: [{ ETB: { _from: "1976-09-15" } }], EU: [{ XEU: { _tender: "false", _from: "1979-01-01", _to: "1998-12-31" } }, { EUR: { _from: "1999-01-01" } }], FI: [{ FIM: { _from: "1963-01-01", _to: "2002-02-28" } }, { EUR: { _from: "1999-01-01" } }], FJ: [{ FJD: { _from: "1969-01-13" } }], FK: [{ FKP: { _from: "1901-01-01" } }], FM: [{ JPY: { _from: "1914-10-03", _to: "1944-01-01" } }, { USD: { _from: "1944-01-01" } }], FO: [{ DKK: { _from: "1948-01-01" } }], FR: [{ FRF: { _from: "1960-01-01", _to: "2002-02-17" } }, { EUR: { _from: "1999-01-01" } }], GA: [{ XAF: { _from: "1993-01-01" } }], GB: [{ GBP: { _from: "1694-07-27" } }], GD: [{ XCD: { _from: "1967-02-27" } }], GE: [{ SUR: { _from: "1961-01-01", _to: "1991-12-25" } }, { RUR: { _from: "1991-12-25", _to: "1993-06-11" } }, { GEK: { _from: "1993-04-05", _to: "1995-09-25" } }, { GEL: { _from: "1995-09-23" } }], GF: [{ FRF: { _from: "1960-01-01", _to: "2002-02-17" } }, { EUR: { _from: "1999-01-01" } }], GG: [{ GBP: { _from: "1830-01-01" } }], GH: [{ GHC: { _from: "1979-03-09", _to: "2007-12-31" } }, { GHS: { _from: "2007-07-03" } }], GI: [{ GIP: { _from: "1713-01-01" } }], GL: [{ DKK: { _from: "1873-05-27" } }], GM: [{ GMD: { _from: "1971-07-01" } }], GN: [{ GNS: { _from: "1972-10-02", _to: "1986-01-06" } }, { GNF: { _from: "1986-01-06" } }], GP: [{ FRF: { _from: "1960-01-01", _to: "2002-02-17" } }, { EUR: { _from: "1999-01-01" } }], GQ: [{ GQE: { _from: "1975-07-07", _to: "1986-06-01" } }, { XAF: { _from: "1993-01-01" } }], GR: [{ GRD: { _from: "1954-05-01", _to: "2002-02-28" } }, { EUR: { _from: "2001-01-01" } }], GS: [{ GBP: { _from: "1908-01-01" } }], GT: [{ GTQ: { _from: "1925-05-27" } }], GU: [{ USD: { _from: "1944-08-21" } }], GW: [{ GWE: { _from: "1914-01-01", _to: "1976-02-28" } }, { GWP: { _from: "1976-02-28", _to: "1997-03-31" } }, { XOF: { _from: "1997-03-31" } }], GY: [{ GYD: { _from: "1966-05-26" } }], HK: [{ HKD: { _from: "1895-02-02" } }], HM: [{ AUD: { _from: "1967-02-16" } }], HN: [{ HNL: { _from: "1926-04-03" } }], HR: [{ YUD: { _from: "1966-01-01", _to: "1990-01-01" } }, { YUN: { _from: "1990-01-01", _to: "1991-12-23" } }, { HRD: { _from: "1991-12-23", _to: "1995-01-01" } }, { HRK: { _from: "1994-05-30" } }], HT: [{ HTG: { _from: "1872-08-26" } }, { USD: { _from: "1915-01-01" } }], HU: [{ HUF: { _from: "1946-07-23" } }], IC: [{ EUR: { _from: "1999-01-01" } }], ID: [{ IDR: { _from: "1965-12-13" } }], IE: [{ GBP: { _from: "1800-01-01", _to: "1922-01-01" } }, { IEP: { _from: "1922-01-01", _to: "2002-02-09" } }, { EUR: { _from: "1999-01-01" } }], IL: [{ ILP: { _from: "1948-08-16", _to: "1980-02-22" } }, { ILR: { _from: "1980-02-22", _to: "1985-09-04" } }, { ILS: { _from: "1985-09-04" } }], IM: [{ GBP: { _from: "1840-01-03" } }], IN: [{ INR: { _from: "1835-08-17" } }], IO: [{ USD: { _from: "1965-11-08" } }], IQ: [{ EGP: { _from: "1920-11-11", _to: "1931-04-19" } }, { INR: { _from: "1920-11-11", _to: "1931-04-19" } }, { IQD: { _from: "1931-04-19" } }], IR: [{ IRR: { _from: "1932-05-13" } }], IS: [{ DKK: { _from: "1873-05-27", _to: "1918-12-01" } }, { ISJ: { _from: "1918-12-01", _to: "1981-01-01" } }, { ISK: { _from: "1981-01-01" } }], IT: [{ ITL: { _from: "1862-08-24", _to: "2002-02-28" } }, { EUR: { _from: "1999-01-01" } }], JE: [{ GBP: { _from: "1837-01-01" } }], JM: [{ JMD: { _from: "1969-09-08" } }], JO: [{ JOD: { _from: "1950-07-01" } }], JP: [{ JPY: { _from: "1871-06-01" } }], KE: [{ KES: { _from: "1966-09-14" } }], KG: [{ SUR: { _from: "1961-01-01", _to: "1991-12-25" } }, { RUR: { _from: "1991-12-25", _to: "1993-05-10" } }, { KGS: { _from: "1993-05-10" } }], KH: [{ KHR: { _from: "1980-03-20" } }], KI: [{ AUD: { _from: "1966-02-14" } }], KM: [{ KMF: { _from: "1975-07-06" } }], KN: [{ XCD: { _from: "1965-10-06" } }], KP: [{ KPW: { _from: "1959-04-17" } }], KR: [{ KRO: { _from: "1945-08-15", _to: "1953-02-15" } }, { KRH: { _from: "1953-02-15", _to: "1962-06-10" } }, { KRW: { _from: "1962-06-10" } }], KW: [{ KWD: { _from: "1961-04-01" } }], KY: [{ JMD: { _from: "1969-09-08", _to: "1971-01-01" } }, { KYD: { _from: "1971-01-01" } }], KZ: [{ KZT: { _from: "1993-11-05" } }], LA: [{ LAK: { _from: "1979-12-10" } }], LB: [{ LBP: { _from: "1948-02-02" } }], LC: [{ XCD: { _from: "1965-10-06" } }], LI: [{ CHF: { _from: "1921-02-01" } }], LK: [{ LKR: { _from: "1978-05-22" } }], LR: [{ LRD: { _from: "1944-01-01" } }], LS: [{ ZAR: { _from: "1961-02-14" } }, { LSL: { _from: "1980-01-22" } }], LT: [{ SUR: { _from: "1961-01-01", _to: "1992-10-01" } }, { LTT: { _from: "1992-10-01", _to: "1993-06-25" } }, { LTL: { _from: "1993-06-25", _to: "2014-12-31" } }, { EUR: { _from: "2015-01-01" } }], LU: [{ LUF: { _from: "1944-09-04", _to: "2002-02-28" } }, { LUC: { _tender: "false", _from: "1970-01-01", _to: "1990-03-05" } }, { LUL: { _tender: "false", _from: "1970-01-01", _to: "1990-03-05" } }, { EUR: { _from: "1999-01-01" } }], LV: [{ SUR: { _from: "1961-01-01", _to: "1992-07-20" } }, { LVR: { _from: "1992-05-07", _to: "1993-10-17" } }, { LVL: { _from: "1993-06-28", _to: "2013-12-31" } }, { EUR: { _from: "2014-01-01" } }], LY: [{ LYD: { _from: "1971-09-01" } }], MA: [{ MAF: { _from: "1881-01-01", _to: "1959-10-17" } }, { MAD: { _from: "1959-10-17" } }], MC: [{ FRF: { _from: "1960-01-01", _to: "2002-02-17" } }, { MCF: { _from: "1960-01-01", _to: "2002-02-17" } }, { EUR: { _from: "1999-01-01" } }], MD: [{ MDC: { _from: "1992-06-01", _to: "1993-11-29" } }, { MDL: { _from: "1993-11-29" } }], ME: [{ YUM: { _from: "1994-01-24", _to: "2002-05-15" } }, { DEM: { _from: "1999-10-02", _to: "2002-05-15" } }, { EUR: { _from: "2002-01-01" } }], MF: [{ FRF: { _from: "1960-01-01", _to: "2002-02-17" } }, { EUR: { _from: "1999-01-01" } }], MG: [{ MGF: { _from: "1963-07-01", _to: "2004-12-31" } }, { MGA: { _from: "1983-11-01" } }], MH: [{ USD: { _from: "1944-01-01" } }], MK: [{ MKN: { _from: "1992-04-26", _to: "1993-05-20" } }, { MKD: { _from: "1993-05-20" } }], ML: [{ XOF: { _from: "1958-11-24", _to: "1962-07-02" } }, { MLF: { _from: "1962-07-02", _to: "1984-08-31" } }, { XOF: { _from: "1984-06-01" } }], MM: [{ BUK: { _from: "1952-07-01", _to: "1989-06-18" } }, { MMK: { _from: "1989-06-18" } }], MN: [{ MNT: { _from: "1915-03-01" } }], MO: [{ MOP: { _from: "1901-01-01" } }], MP: [{ USD: { _from: "1944-01-01" } }], MQ: [{ FRF: { _from: "1960-01-01", _to: "2002-02-17" } }, { EUR: { _from: "1999-01-01" } }], MR: [{ XOF: { _from: "1958-11-28", _to: "1973-06-29" } }, { MRO: { _from: "1973-06-29", _to: "2018-06-30" } }, { MRU: { _from: "2018-01-01" } }], MS: [{ XCD: { _from: "1967-02-27" } }], MT: [{ MTP: { _from: "1914-08-13", _to: "1968-06-07" } }, { MTL: { _from: "1968-06-07", _to: "2008-01-31" } }, { EUR: { _from: "2008-01-01" } }], MU: [{ MUR: { _from: "1934-04-01" } }], MV: [{ MVP: { _from: "1947-01-01", _to: "1981-07-01" } }, { MVR: { _from: "1981-07-01" } }], MW: [{ MWK: { _from: "1971-02-15" } }], MX: [{ MXV: { _tender: "false" } }, { MXP: { _from: "1822-01-01", _to: "1992-12-31" } }, { MXN: { _from: "1993-01-01" } }], MY: [{ MYR: { _from: "1963-09-16" } }], MZ: [{ MZE: { _from: "1975-06-25", _to: "1980-06-16" } }, { MZM: { _from: "1980-06-16", _to: "2006-12-31" } }, { MZN: { _from: "2006-07-01" } }], NA: [{ ZAR: { _from: "1961-02-14" } }, { NAD: { _from: "1993-01-01" } }], NC: [{ XPF: { _from: "1985-01-01" } }], NE: [{ XOF: { _from: "1958-12-19" } }], NF: [{ AUD: { _from: "1966-02-14" } }], NG: [{ NGN: { _from: "1973-01-01" } }], NI: [{ NIC: { _from: "1988-02-15", _to: "1991-04-30" } }, { NIO: { _from: "1991-04-30" } }], NL: [{ NLG: { _from: "1813-01-01", _to: "2002-02-28" } }, { EUR: { _from: "1999-01-01" } }], NO: [{ SEK: { _from: "1873-05-27", _to: "1905-06-07" } }, { NOK: { _from: "1905-06-07" } }], NP: [{ INR: { _from: "1870-01-01", _to: "1966-10-17" } }, { NPR: { _from: "1933-01-01" } }], NR: [{ AUD: { _from: "1966-02-14" } }], NU: [{ NZD: { _from: "1967-07-10" } }], NZ: [{ NZD: { _from: "1967-07-10" } }], OM: [{ OMR: { _from: "1972-11-11" } }], PA: [{ PAB: { _from: "1903-11-04" } }, { USD: { _from: "1903-11-18" } }], PE: [{ PES: { _from: "1863-02-14", _to: "1985-02-01" } }, { PEI: { _from: "1985-02-01", _to: "1991-07-01" } }, { PEN: { _from: "1991-07-01" } }], PF: [{ XPF: { _from: "1945-12-26" } }], PG: [{ AUD: { _from: "1966-02-14", _to: "1975-09-16" } }, { PGK: { _from: "1975-09-16" } }], PH: [{ PHP: { _from: "1946-07-04" } }], PK: [{ INR: { _from: "1835-08-17", _to: "1947-08-15" } }, { PKR: { _from: "1948-04-01" } }], PL: [{ PLZ: { _from: "1950-10-28", _to: "1994-12-31" } }, { PLN: { _from: "1995-01-01" } }], PM: [{ FRF: { _from: "1972-12-21", _to: "2002-02-17" } }, { EUR: { _from: "1999-01-01" } }], PN: [{ NZD: { _from: "1969-01-13" } }], PR: [{ ESP: { _from: "1800-01-01", _to: "1898-12-10" } }, { USD: { _from: "1898-12-10" } }], PS: [{ JOD: { _from: "1950-07-01", _to: "1967-06-01" } }, { ILP: { _from: "1967-06-01", _to: "1980-02-22" } }, { ILS: { _from: "1985-09-04" } }, { JOD: { _from: "1996-02-12" } }], PT: [{ PTE: { _from: "1911-05-22", _to: "2002-02-28" } }, { EUR: { _from: "1999-01-01" } }], PW: [{ USD: { _from: "1944-01-01" } }], PY: [{ PYG: { _from: "1943-11-01" } }], QA: [{ QAR: { _from: "1973-05-19" } }], RE: [{ FRF: { _from: "1975-01-01", _to: "2002-02-17" } }, { EUR: { _from: "1999-01-01" } }], RO: [{ ROL: { _from: "1952-01-28", _to: "2006-12-31" } }, { RON: { _from: "2005-07-01" } }], RS: [{ YUM: { _from: "1994-01-24", _to: "2002-05-15" } }, { CSD: { _from: "2002-05-15", _to: "2006-10-25" } }, { RSD: { _from: "2006-10-25" } }], RU: [{ RUR: { _from: "1991-12-25", _to: "1998-12-31" } }, { RUB: { _from: "1999-01-01" } }], RW: [{ RWF: { _from: "1964-05-19" } }], SA: [{ SAR: { _from: "1952-10-22" } }], SB: [{ AUD: { _from: "1966-02-14", _to: "1978-06-30" } }, { SBD: { _from: "1977-10-24" } }], SC: [{ SCR: { _from: "1903-11-01" } }], SD: [{ EGP: { _from: "1889-01-19", _to: "1958-01-01" } }, { GBP: { _from: "1889-01-19", _to: "1958-01-01" } }, { SDP: { _from: "1957-04-08", _to: "1998-06-01" } }, { SDD: { _from: "1992-06-08", _to: "2007-06-30" } }, { SDG: { _from: "2007-01-10" } }], SE: [{ SEK: { _from: "1873-05-27" } }], SG: [{ MYR: { _from: "1963-09-16", _to: "1967-06-12" } }, { SGD: { _from: "1967-06-12" } }], SH: [{ SHP: { _from: "1917-02-15" } }], SI: [{ SIT: { _from: "1992-10-07", _to: "2007-01-14" } }, { EUR: { _from: "2007-01-01" } }], SJ: [{ NOK: { _from: "1905-06-07" } }], SK: [{ CSK: { _from: "1953-06-01", _to: "1992-12-31" } }, { SKK: { _from: "1992-12-31", _to: "2009-01-01" } }, { EUR: { _from: "2009-01-01" } }], SL: [{ GBP: { _from: "1808-11-30", _to: "1966-02-04" } }, { SLL: { _from: "1964-08-04" } }], SM: [{ ITL: { _from: "1865-12-23", _to: "2001-02-28" } }, { EUR: { _from: "1999-01-01" } }], SN: [{ XOF: { _from: "1959-04-04" } }], SO: [{ SOS: { _from: "1960-07-01" } }], SR: [{ NLG: { _from: "1815-11-20", _to: "1940-05-10" } }, { SRG: { _from: "1940-05-10", _to: "2003-12-31" } }, { SRD: { _from: "2004-01-01" } }], SS: [{ SDG: { _from: "2007-01-10", _to: "2011-09-01" } }, { SSP: { _from: "2011-07-18" } }], ST: [{ STD: { _from: "1977-09-08", _to: "2017-12-31" } }, { STN: { _from: "2018-01-01" } }], SU: [{ SUR: { _from: "1961-01-01", _to: "1991-12-25" } }], SV: [{ SVC: { _from: "1919-11-11", _to: "2001-01-01" } }, { USD: { _from: "2001-01-01" } }], SX: [{ ANG: { _from: "2010-10-10" } }], SY: [{ SYP: { _from: "1948-01-01" } }], SZ: [{ SZL: { _from: "1974-09-06" } }], TA: [{ GBP: { _from: "1938-01-12" } }], TC: [{ USD: { _from: "1969-09-08" } }], TD: [{ XAF: { _from: "1993-01-01" } }], TF: [{ FRF: { _from: "1959-01-01", _to: "2002-02-17" } }, { EUR: { _from: "1999-01-01" } }], TG: [{ XOF: { _from: "1958-11-28" } }], TH: [{ THB: { _from: "1928-04-15" } }], TJ: [{ RUR: { _from: "1991-12-25", _to: "1995-05-10" } }, { TJR: { _from: "1995-05-10", _to: "2000-10-25" } }, { TJS: { _from: "2000-10-26" } }], TK: [{ NZD: { _from: "1967-07-10" } }], TL: [{ TPE: { _from: "1959-01-02", _to: "2002-05-20" } }, { IDR: { _from: "1975-12-07", _to: "2002-05-20" } }, { USD: { _from: "1999-10-20" } }], TM: [{ SUR: { _from: "1961-01-01", _to: "1991-12-25" } }, { RUR: { _from: "1991-12-25", _to: "1993-11-01" } }, { TMM: { _from: "1993-11-01", _to: "2009-01-01" } }, { TMT: { _from: "2009-01-01" } }], TN: [{ TND: { _from: "1958-11-01" } }], TO: [{ TOP: { _from: "1966-02-14" } }], TP: [{ TPE: { _from: "1959-01-02", _to: "2002-05-20" } }, { IDR: { _from: "1975-12-07", _to: "2002-05-20" } }], TR: [{ TRL: { _from: "1922-11-01", _to: "2005-12-31" } }, { TRY: { _from: "2005-01-01" } }], TT: [{ TTD: { _from: "1964-01-01" } }], TV: [{ AUD: { _from: "1966-02-14" } }], TW: [{ TWD: { _from: "1949-06-15" } }], TZ: [{ TZS: { _from: "1966-06-14" } }], UA: [{ SUR: { _from: "1961-01-01", _to: "1991-12-25" } }, { RUR: { _from: "1991-12-25", _to: "1992-11-13" } }, { UAK: { _from: "1992-11-13", _to: "1993-10-17" } }, { UAH: { _from: "1996-09-02" } }], UG: [{ UGS: { _from: "1966-08-15", _to: "1987-05-15" } }, { UGX: { _from: "1987-05-15" } }], UM: [{ USD: { _from: "1944-01-01" } }], US: [{ USN: { _tender: "false" } }, { USS: { _tender: "false", _to: "2014-03-01" } }, { USD: { _from: "1792-01-01" } }], UY: [{ UYI: { _tender: "false" } }, { UYW: { _tender: "false" } }, { UYP: { _from: "1975-07-01", _to: "1993-03-01" } }, { UYU: { _from: "1993-03-01" } }], UZ: [{ UZS: { _from: "1994-07-01" } }], VA: [{ ITL: { _from: "1870-10-19", _to: "2002-02-28" } }, { EUR: { _from: "1999-01-01" } }], VC: [{ XCD: { _from: "1965-10-06" } }], VE: [{ VEB: { _from: "1871-05-11", _to: "2008-06-30" } }, { VEF: { _from: "2008-01-01", _to: "2018-08-20" } }, { VES: { _from: "2018-08-20" } }], VG: [{ USD: { _from: "1833-01-01" } }, { GBP: { _from: "1833-01-01", _to: "1959-01-01" } }], VI: [{ USD: { _from: "1837-01-01" } }], VN: [{ VNN: { _from: "1978-05-03", _to: "1985-09-14" } }, { VND: { _from: "1985-09-14" } }], VU: [{ VUV: { _from: "1981-01-01" } }], WF: [{ XPF: { _from: "1961-07-30" } }], WS: [{ WST: { _from: "1967-07-10" } }], XK: [{ YUM: { _from: "1994-01-24", _to: "1999-09-30" } }, { DEM: { _from: "1999-09-01", _to: "2002-03-09" } }, { EUR: { _from: "2002-01-01" } }], YD: [{ YDD: { _from: "1965-04-01", _to: "1996-01-01" } }], YE: [{ YER: { _from: "1990-05-22" } }], YT: [{ KMF: { _from: "1975-01-01", _to: "1976-02-23" } }, { FRF: { _from: "1976-02-23", _to: "2002-02-17" } }, { EUR: { _from: "1999-01-01" } }], YU: [{ YUD: { _from: "1966-01-01", _to: "1990-01-01" } }, { YUN: { _from: "1990-01-01", _to: "1992-07-24" } }, { YUM: { _from: "1994-01-24", _to: "2002-05-15" } }], ZA: [{ ZAR: { _from: "1961-02-14" } }, { ZAL: { _tender: "false", _from: "1985-09-01", _to: "1995-03-13" } }], ZM: [{ ZMK: { _from: "1968-01-16", _to: "2013-01-01" } }, { ZMW: { _from: "2013-01-01" } }], ZR: [{ ZRZ: { _from: "1971-10-27", _to: "1993-11-01" } }, { ZRN: { _from: "1993-11-01", _to: "1998-07-31" } }], ZW: [{ RHD: { _from: "1970-02-17", _to: "1980-04-18" } }, { ZWD: { _from: "1980-04-18", _to: "2008-08-01" } }, { ZWR: { _from: "2008-08-01", _to: "2009-02-02" } }, { ZWL: { _from: "2009-02-02", _to: "2009-04-12" } }, { USD: { _from: "2009-04-12" } }], ZZ: [{ XAG: { _tender: "false" } }, { XAU: { _tender: "false" } }, { XBA: { _tender: "false" } }, { XBB: { _tender: "false" } }, { XBC: { _tender: "false" } }, { XBD: { _tender: "false" } }, { XDR: { _tender: "false" } }, { XPD: { _tender: "false" } }, { XPT: { _tender: "false" } }, { XSU: { _tender: "false" } }, { XTS: { _tender: "false" } }, { XUA: { _tender: "false" } }, { XXX: { _tender: "false" } }, { XRE: { _tender: "false", _to: "1999-11-30" } }, { XFU: { _tender: "false", _to: "2013-11-30" } }, { XFO: { _tender: "false", _from: "1930-01-01", _to: "2003-04-01" } }] } }, numberingSystems: { adlm: { _digits: "\ud83a\udd50\ud83a\udd51\ud83a\udd52\ud83a\udd53\ud83a\udd54\ud83a\udd55\ud83a\udd56\ud83a\udd57\ud83a\udd58\ud83a\udd59", _type: "numeric" }, ahom: { _digits: "\ud805\udf30\ud805\udf31\ud805\udf32\ud805\udf33\ud805\udf34\ud805\udf35\ud805\udf36\ud805\udf37\ud805\udf38\ud805\udf39", _type: "numeric" }, arab: { _digits: "\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669", _type: "numeric" }, arabext: { _digits: "\u06f0\u06f1\u06f2\u06f3\u06f4\u06f5\u06f6\u06f7\u06f8\u06f9", _type: "numeric" }, armn: { _rules: "armenian-upper", _type: "algorithmic" }, armnlow: { _rules: "armenian-lower", _type: "algorithmic" }, bali: { _digits: "\u1b50\u1b51\u1b52\u1b53\u1b54\u1b55\u1b56\u1b57\u1b58\u1b59", _type: "numeric" }, beng: { _digits: "\u09e6\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef", _type: "numeric" }, bhks: { _digits: "\ud807\udc50\ud807\udc51\ud807\udc52\ud807\udc53\ud807\udc54\ud807\udc55\ud807\udc56\ud807\udc57\ud807\udc58\ud807\udc59", _type: "numeric" }, brah: { _digits: "\ud804\udc66\ud804\udc67\ud804\udc68\ud804\udc69\ud804\udc6a\ud804\udc6b\ud804\udc6c\ud804\udc6d\ud804\udc6e\ud804\udc6f", _type: "numeric" }, cakm: { _digits: "\ud804\udd36\ud804\udd37\ud804\udd38\ud804\udd39\ud804\udd3a\ud804\udd3b\ud804\udd3c\ud804\udd3d\ud804\udd3e\ud804\udd3f", _type: "numeric" }, cham: { _digits: "\uaa50\uaa51\uaa52\uaa53\uaa54\uaa55\uaa56\uaa57\uaa58\uaa59", _type: "numeric" }, cyrl: { _rules: "cyrillic-lower", _type: "algorithmic" }, deva: { _digits: "\u0966\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f", _type: "numeric" }, ethi: { _rules: "ethiopic", _type: "algorithmic" }, fullwide: { _digits: "\uff10\uff11\uff12\uff13\uff14\uff15\uff16\uff17\uff18\uff19", _type: "numeric" }, geor: { _rules: "georgian", _type: "algorithmic" }, gong: { _digits: "\ud807\udda0\ud807\udda1\ud807\udda2\ud807\udda3\ud807\udda4\ud807\udda5\ud807\udda6\ud807\udda7\ud807\udda8\ud807\udda9", _type: "numeric" }, gonm: { _digits: "\ud807\udd50\ud807\udd51\ud807\udd52\ud807\udd53\ud807\udd54\ud807\udd55\ud807\udd56\ud807\udd57\ud807\udd58\ud807\udd59", _type: "numeric" }, grek: { _rules: "greek-upper", _type: "algorithmic" }, greklow: { _rules: "greek-lower", _type: "algorithmic" }, gujr: { _digits: "\u0ae6\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef", _type: "numeric" }, guru: { _digits: "\u0a66\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f", _type: "numeric" }, hanidays: { _rules: "zh/SpelloutRules/spellout-numbering-days", _type: "algorithmic" }, hanidec: { _digits: "\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d", _type: "numeric" }, hans: { _rules: "zh/SpelloutRules/spellout-cardinal", _type: "algorithmic" }, hansfin: { _rules: "zh/SpelloutRules/spellout-cardinal-financial", _type: "algorithmic" }, hant: { _rules: "zh_Hant/SpelloutRules/spellout-cardinal", _type: "algorithmic" }, hantfin: { _rules: "zh_Hant/SpelloutRules/spellout-cardinal-financial", _type: "algorithmic" }, hebr: { _rules: "hebrew", _type: "algorithmic" }, hmng: { _digits: "\ud81a\udf50\ud81a\udf51\ud81a\udf52\ud81a\udf53\ud81a\udf54\ud81a\udf55\ud81a\udf56\ud81a\udf57\ud81a\udf58\ud81a\udf59", _type: "numeric" }, hmnp: { _digits: "\ud838\udd40\ud838\udd41\ud838\udd42\ud838\udd43\ud838\udd44\ud838\udd45\ud838\udd46\ud838\udd47\ud838\udd48\ud838\udd49", _type: "numeric" }, java: { _digits: "\ua9d0\ua9d1\ua9d2\ua9d3\ua9d4\ua9d5\ua9d6\ua9d7\ua9d8\ua9d9", _type: "numeric" }, jpan: { _rules: "ja/SpelloutRules/spellout-cardinal", _type: "algorithmic" }, jpanfin: { _rules: "ja/SpelloutRules/spellout-cardinal-financial", _type: "algorithmic" }, jpanyear: { _rules: "ja/SpelloutRules/spellout-numbering-year-latn", _type: "algorithmic" }, kali: { _digits: "\ua900\ua901\ua902\ua903\ua904\ua905\ua906\ua907\ua908\ua909", _type: "numeric" }, khmr: { _digits: "\u17e0\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9", _type: "numeric" }, knda: { _digits: "\u0ce6\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef", _type: "numeric" }, lana: { _digits: "\u1a80\u1a81\u1a82\u1a83\u1a84\u1a85\u1a86\u1a87\u1a88\u1a89", _type: "numeric" }, lanatham: { _digits: "\u1a90\u1a91\u1a92\u1a93\u1a94\u1a95\u1a96\u1a97\u1a98\u1a99", _type: "numeric" }, laoo: { _digits: "\u0ed0\u0ed1\u0ed2\u0ed3\u0ed4\u0ed5\u0ed6\u0ed7\u0ed8\u0ed9", _type: "numeric" }, latn: { _digits: "0123456789", _type: "numeric" }, lepc: { _digits: "\u1c40\u1c41\u1c42\u1c43\u1c44\u1c45\u1c46\u1c47\u1c48\u1c49", _type: "numeric" }, limb: { _digits: "\u1946\u1947\u1948\u1949\u194a\u194b\u194c\u194d\u194e\u194f", _type: "numeric" }, mathbold: { _digits: "\ud835\udfce\ud835\udfcf\ud835\udfd0\ud835\udfd1\ud835\udfd2\ud835\udfd3\ud835\udfd4\ud835\udfd5\ud835\udfd6\ud835\udfd7", _type: "numeric" }, mathdbl: { _digits: "\ud835\udfd8\ud835\udfd9\ud835\udfda\ud835\udfdb\ud835\udfdc\ud835\udfdd\ud835\udfde\ud835\udfdf\ud835\udfe0\ud835\udfe1", _type: "numeric" }, mathmono: { _digits: "\ud835\udff6\ud835\udff7\ud835\udff8\ud835\udff9\ud835\udffa\ud835\udffb\ud835\udffc\ud835\udffd\ud835\udffe\ud835\udfff", _type: "numeric" }, mathsanb: { _digits: "\ud835\udfec\ud835\udfed\ud835\udfee\ud835\udfef\ud835\udff0\ud835\udff1\ud835\udff2\ud835\udff3\ud835\udff4\ud835\udff5", _type: "numeric" }, mathsans: { _digits: "\ud835\udfe2\ud835\udfe3\ud835\udfe4\ud835\udfe5\ud835\udfe6\ud835\udfe7\ud835\udfe8\ud835\udfe9\ud835\udfea\ud835\udfeb", _type: "numeric" }, mlym: { _digits: "\u0d66\u0d67\u0d68\u0d69\u0d6a\u0d6b\u0d6c\u0d6d\u0d6e\u0d6f", _type: "numeric" }, modi: { _digits: "\ud805\ude50\ud805\ude51\ud805\ude52\ud805\ude53\ud805\ude54\ud805\ude55\ud805\ude56\ud805\ude57\ud805\ude58\ud805\ude59", _type: "numeric" }, mong: { _digits: "\u1810\u1811\u1812\u1813\u1814\u1815\u1816\u1817\u1818\u1819", _type: "numeric" }, mroo: { _digits: "\ud81a\ude60\ud81a\ude61\ud81a\ude62\ud81a\ude63\ud81a\ude64\ud81a\ude65\ud81a\ude66\ud81a\ude67\ud81a\ude68\ud81a\ude69", _type: "numeric" }, mtei: { _digits: "\uabf0\uabf1\uabf2\uabf3\uabf4\uabf5\uabf6\uabf7\uabf8\uabf9", _type: "numeric" }, mymr: { _digits: "\u1040\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049", _type: "numeric" }, mymrshan: { _digits: "\u1090\u1091\u1092\u1093\u1094\u1095\u1096\u1097\u1098\u1099", _type: "numeric" }, mymrtlng: { _digits: "\ua9f0\ua9f1\ua9f2\ua9f3\ua9f4\ua9f5\ua9f6\ua9f7\ua9f8\ua9f9", _type: "numeric" }, newa: { _digits: "\ud805\udc50\ud805\udc51\ud805\udc52\ud805\udc53\ud805\udc54\ud805\udc55\ud805\udc56\ud805\udc57\ud805\udc58\ud805\udc59", _type: "numeric" }, nkoo: { _digits: "\u07c0\u07c1\u07c2\u07c3\u07c4\u07c5\u07c6\u07c7\u07c8\u07c9", _type: "numeric" }, olck: { _digits: "\u1c50\u1c51\u1c52\u1c53\u1c54\u1c55\u1c56\u1c57\u1c58\u1c59", _type: "numeric" }, orya: { _digits: "\u0b66\u0b67\u0b68\u0b69\u0b6a\u0b6b\u0b6c\u0b6d\u0b6e\u0b6f", _type: "numeric" }, osma: { _digits: "\ud801\udca0\ud801\udca1\ud801\udca2\ud801\udca3\ud801\udca4\ud801\udca5\ud801\udca6\ud801\udca7\ud801\udca8\ud801\udca9", _type: "numeric" }, rohg: { _digits: "\ud803\udd30\ud803\udd31\ud803\udd32\ud803\udd33\ud803\udd34\ud803\udd35\ud803\udd36\ud803\udd37\ud803\udd38\ud803\udd39", _type: "numeric" }, roman: { _rules: "roman-upper", _type: "algorithmic" }, romanlow: { _rules: "roman-lower", _type: "algorithmic" }, saur: { _digits: "\ua8d0\ua8d1\ua8d2\ua8d3\ua8d4\ua8d5\ua8d6\ua8d7\ua8d8\ua8d9", _type: "numeric" }, shrd: { _digits: "\ud804\uddd0\ud804\uddd1\ud804\uddd2\ud804\uddd3\ud804\uddd4\ud804\uddd5\ud804\uddd6\ud804\uddd7\ud804\uddd8\ud804\uddd9", _type: "numeric" }, sind: { _digits: "\ud804\udef0\ud804\udef1\ud804\udef2\ud804\udef3\ud804\udef4\ud804\udef5\ud804\udef6\ud804\udef7\ud804\udef8\ud804\udef9", _type: "numeric" }, sinh: { _digits: "\u0de6\u0de7\u0de8\u0de9\u0dea\u0deb\u0dec\u0ded\u0dee\u0def", _type: "numeric" }, sora: { _digits: "\ud804\udcf0\ud804\udcf1\ud804\udcf2\ud804\udcf3\ud804\udcf4\ud804\udcf5\ud804\udcf6\ud804\udcf7\ud804\udcf8\ud804\udcf9", _type: "numeric" }, sund: { _digits: "\u1bb0\u1bb1\u1bb2\u1bb3\u1bb4\u1bb5\u1bb6\u1bb7\u1bb8\u1bb9", _type: "numeric" }, takr: { _digits: "\ud805\udec0\ud805\udec1\ud805\udec2\ud805\udec3\ud805\udec4\ud805\udec5\ud805\udec6\ud805\udec7\ud805\udec8\ud805\udec9", _type: "numeric" }, talu: { _digits: "\u19d0\u19d1\u19d2\u19d3\u19d4\u19d5\u19d6\u19d7\u19d8\u19d9", _type: "numeric" }, taml: { _rules: "tamil", _type: "algorithmic" }, tamldec: { _digits: "\u0be6\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef", _type: "numeric" }, telu: { _digits: "\u0c66\u0c67\u0c68\u0c69\u0c6a\u0c6b\u0c6c\u0c6d\u0c6e\u0c6f", _type: "numeric" }, thai: { _digits: "\u0e50\u0e51\u0e52\u0e53\u0e54\u0e55\u0e56\u0e57\u0e58\u0e59", _type: "numeric" }, tibt: { _digits: "\u0f20\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29", _type: "numeric" }, tirh: { _digits: "\ud805\udcd0\ud805\udcd1\ud805\udcd2\ud805\udcd3\ud805\udcd4\ud805\udcd5\ud805\udcd6\ud805\udcd7\ud805\udcd8\ud805\udcd9", _type: "numeric" }, vaii: { _digits: "\ua620\ua621\ua622\ua623\ua624\ua625\ua626\ua627\ua628\ua629", _type: "numeric" }, wara: { _digits: "\ud806\udce0\ud806\udce1\ud806\udce2\ud806\udce3\ud806\udce4\ud806\udce5\ud806\udce6\ud806\udce7\ud806\udce8\ud806\udce9", _type: "numeric" }, wcho: { _digits: "\ud838\udef0\ud838\udef1\ud838\udef2\ud838\udef3\ud838\udef4\ud838\udef5\ud838\udef6\ud838\udef7\ud838\udef8\ud838\udef9", _type: "numeric" } } } } }, 91331: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/core.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _dependency_injector = _interopRequireDefault(__webpack_require__( /*! ../core/utils/dependency_injector */ 20476)); var _parent_locales = _interopRequireDefault(__webpack_require__( /*! ./cldr-data/parent_locales */ 73806)); var _parentLocale = _interopRequireDefault(__webpack_require__( /*! ./parentLocale */ 49198)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _default = (0, _dependency_injector.default)({ locale: (currentLocale = "en", function(locale) { if (!locale) { return currentLocale } currentLocale = locale }), getValueByClosestLocale: function(getter) { var locale = this.locale(); var value = getter(locale); var isRootLocale; while (!value && !isRootLocale) { locale = (0, _parentLocale.default)(_parent_locales.default, locale); if (locale) { value = getter(locale) } else { isRootLocale = true } } if (void 0 === value && "en" !== locale) { return getter("en") } return value } }); var currentLocale; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 89740: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/currency.js ***! \**********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _default = { _formatNumberCore: function(value, format, formatConfig) { if ("currency" === format) { formatConfig.precision = formatConfig.precision || 0; var result = this.format(value, (0, _extend.extend)({}, formatConfig, { type: "fixedpoint" })); var currencyPart = this.getCurrencySymbol().symbol.replace(/\$/g, "$$$$"); result = result.replace(/^(\D*)(\d.*)/, "$1" + currencyPart + "$2"); return result } return this.callBase.apply(this, arguments) }, getCurrencySymbol: function() { return { symbol: "$" } }, getOpenXmlCurrencyFormat: function() { return "$#,##0{0}_);\\($#,##0{0}\\)" } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 91500: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/date.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _dependency_injector = _interopRequireDefault(__webpack_require__( /*! ../core/utils/dependency_injector */ 20476)); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _errors = _interopRequireDefault(__webpack_require__( /*! ../core/errors */ 17381)); var _date = __webpack_require__( /*! ./ldml/date.formatter */ 40594); var _date2 = __webpack_require__( /*! ./ldml/date.format */ 59937); var _date3 = __webpack_require__( /*! ./ldml/date.parser */ 2892); var _default_date_names = _interopRequireDefault(__webpack_require__( /*! ./default_date_names */ 15564)); var _first_day_of_week_data = _interopRequireDefault(__webpack_require__( /*! ./cldr-data/first_day_of_week_data */ 92286)); var _core = _interopRequireDefault(__webpack_require__( /*! ./core */ 91331)); var _number = _interopRequireDefault(__webpack_require__( /*! ./number */ 18016)); var _date4 = _interopRequireDefault(__webpack_require__( /*! ./intl/date */ 13024)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var hasIntl = "undefined" !== typeof Intl; var FORMATS_TO_PATTERN_MAP = { shortdate: "M/d/y", shorttime: "h:mm a", longdate: "EEEE, MMMM d, y", longtime: "h:mm:ss a", monthandday: "MMMM d", monthandyear: "MMMM y", quarterandyear: "QQQ y", day: "d", year: "y", shortdateshorttime: "M/d/y, h:mm a", longdatelongtime: "EEEE, MMMM d, y, h:mm:ss a", month: "LLLL", shortyear: "yy", dayofweek: "EEEE", quarter: "QQQ", hour: "HH", minute: "mm", second: "ss", millisecond: "SSS", "datetime-local": "yyyy-MM-ddTHH':'mm':'ss" }; var possiblePartPatterns = { year: ["y", "yy", "yyyy"], day: ["d", "dd"], month: ["M", "MM", "MMM", "MMMM"], hours: ["H", "HH", "h", "hh", "ah"], minutes: ["m", "mm"], seconds: ["s", "ss"], milliseconds: ["S", "SS", "SSS"] }; var dateLocalization = (0, _dependency_injector.default)({ engine: function() { return "base" }, _getPatternByFormat: function(format) { return FORMATS_TO_PATTERN_MAP[format.toLowerCase()] }, _expandPattern: function(pattern) { return this._getPatternByFormat(pattern) || pattern }, formatUsesMonthName: function(format) { return -1 !== this._expandPattern(format).indexOf("MMMM") }, formatUsesDayName: function(format) { return -1 !== this._expandPattern(format).indexOf("EEEE") }, getFormatParts: function(format) { var pattern = this._getPatternByFormat(format) || format; var result = []; (0, _iterator.each)(pattern.split(/\W+/), (function(_, formatPart) { (0, _iterator.each)(possiblePartPatterns, (function(partName, possiblePatterns) { if (possiblePatterns.includes(formatPart)) { result.push(partName) } })) })); return result }, getMonthNames: function(format) { return _default_date_names.default.getMonthNames(format) }, getDayNames: function(format) { return _default_date_names.default.getDayNames(format) }, getQuarterNames: function(format) { return _default_date_names.default.getQuarterNames(format) }, getPeriodNames: function(format) { return _default_date_names.default.getPeriodNames(format) }, getTimeSeparator: function() { return ":" }, is24HourFormat: function(format) { var amTime = new Date(2017, 0, 20, 11, 0, 0, 0); var pmTime = new Date(2017, 0, 20, 23, 0, 0, 0); var amTimeFormatted = this.format(amTime, format); var pmTimeFormatted = this.format(pmTime, format); for (var i = 0; i < amTimeFormatted.length; i++) { if (amTimeFormatted[i] !== pmTimeFormatted[i]) { return !isNaN(parseInt(amTimeFormatted[i])) } } }, format: function(date, _format) { if (!date) { return } if (!_format) { return date } var formatter; if ("function" === typeof _format) { formatter = _format } else if (_format.formatter) { formatter = _format.formatter } else { _format = _format.type || _format; if ((0, _type.isString)(_format)) { _format = FORMATS_TO_PATTERN_MAP[_format.toLowerCase()] || _format; return _number.default.convertDigits((0, _date.getFormatter)(_format, this)(date)) } } if (!formatter) { return } return formatter(date) }, parse: function(text, format) { var that = this; var ldmlFormat; var formatter; if (!text) { return } if (!format) { return this.parse(text, "shortdate") } if (format.parser) { return format.parser(text) } if ("string" === typeof format && !FORMATS_TO_PATTERN_MAP[format.toLowerCase()]) { ldmlFormat = format } else { formatter = function(value) { var text = that.format(value, format); return _number.default.convertDigits(text, true) }; try { ldmlFormat = (0, _date2.getFormat)(formatter) } catch (e) {} } if (ldmlFormat) { text = _number.default.convertDigits(text, true); return (0, _date3.getParser)(ldmlFormat, this)(text) } _errors.default.log("W0012"); var result = new Date(text); if (!result || isNaN(result.getTime())) { return } return result }, firstDayOfWeekIndex: function() { var index = _core.default.getValueByClosestLocale((function(locale) { return _first_day_of_week_data.default[locale] })); return void 0 === index ? 0 : index } }); if (hasIntl) { dateLocalization.inject(_date4.default) } var _default = dateLocalization; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 15564: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/default_date_names.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; var DAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; var PERIODS = ["AM", "PM"]; var QUARTERS = ["Q1", "Q2", "Q3", "Q4"]; var cutCaptions = function(captions, format) { var lengthByFormat = { abbreviated: 3, short: 2, narrow: 1 }; return (0, _iterator.map)(captions, (function(caption) { return caption.substr(0, lengthByFormat[format]) })) }; var _default = { getMonthNames: function(format) { return cutCaptions(MONTHS, format) }, getDayNames: function(format) { return cutCaptions(DAYS, format) }, getQuarterNames: function(format) { return QUARTERS }, getPeriodNames: function(format) { return PERIODS } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 18121: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/default_messages.js ***! \******************************************************************************/ function(__unused_webpack_module, exports) { exports.defaultMessages = void 0; // !!! AUTO-GENERATED FILE, DO NOT EDIT exports.defaultMessages = { en: { Yes: "Yes", No: "No", Cancel: "Cancel", Close: "Close", Clear: "Clear", Done: "Done", Loading: "Loading...", Select: "Select...", Search: "Search", Back: "Back", OK: "OK", "dxCollectionWidget-noDataText": "No data to display", "dxDropDownEditor-selectLabel": "Select", "validation-required": "Required", "validation-required-formatted": "{0} is required", "validation-numeric": "Value must be a number", "validation-numeric-formatted": "{0} must be a number", "validation-range": "Value is out of range", "validation-range-formatted": "{0} is out of range", "validation-stringLength": "The length of the value is not correct", "validation-stringLength-formatted": "The length of {0} is not correct", "validation-custom": "Value is invalid", "validation-custom-formatted": "{0} is invalid", "validation-async": "Value is invalid", "validation-async-formatted": "{0} is invalid", "validation-compare": "Values do not match", "validation-compare-formatted": "{0} does not match", "validation-pattern": "Value does not match pattern", "validation-pattern-formatted": "{0} does not match pattern", "validation-email": "Email is invalid", "validation-email-formatted": "{0} is invalid", "validation-mask": "Value is invalid", "dxLookup-searchPlaceholder": "Minimum character number: {0}", "dxList-pullingDownText": "Pull down to refresh...", "dxList-pulledDownText": "Release to refresh...", "dxList-refreshingText": "Refreshing...", "dxList-pageLoadingText": "Loading...", "dxList-nextButtonText": "More", "dxList-selectAll": "Select All", "dxListEditDecorator-delete": "Delete", "dxListEditDecorator-more": "More", "dxScrollView-pullingDownText": "Pull down to refresh...", "dxScrollView-pulledDownText": "Release to refresh...", "dxScrollView-refreshingText": "Refreshing...", "dxScrollView-reachBottomText": "Loading...", "dxDateBox-simulatedDataPickerTitleTime": "Select time", "dxDateBox-simulatedDataPickerTitleDate": "Select date", "dxDateBox-simulatedDataPickerTitleDateTime": "Select date and time", "dxDateBox-validation-datetime": "Value must be a date or time", "dxDateRangeBox-invalidStartDateMessage": "Start value must be a date", "dxDateRangeBox-invalidEndDateMessage": "End value must be a date", "dxDateRangeBox-startDateOutOfRangeMessage": "Start date is out of range", "dxDateRangeBox-endDateOutOfRangeMessage": "End date is out of range", "dxDateRangeBox-startDateLabel": "Start Date", "dxDateRangeBox-endDateLabel": "End Date", "dxFileUploader-selectFile": "Select a file", "dxFileUploader-dropFile": "or Drop a file here", "dxFileUploader-bytes": "bytes", "dxFileUploader-kb": "kb", "dxFileUploader-Mb": "Mb", "dxFileUploader-Gb": "Gb", "dxFileUploader-upload": "Upload", "dxFileUploader-uploaded": "Uploaded", "dxFileUploader-readyToUpload": "Ready to upload", "dxFileUploader-uploadAbortedMessage": "Upload cancelled", "dxFileUploader-uploadFailedMessage": "Upload failed", "dxFileUploader-invalidFileExtension": "File type is not allowed", "dxFileUploader-invalidMaxFileSize": "File is too large", "dxFileUploader-invalidMinFileSize": "File is too small", "dxRangeSlider-ariaFrom": "From", "dxRangeSlider-ariaTill": "Till", "dxSwitch-switchedOnText": "ON", "dxSwitch-switchedOffText": "OFF", "dxForm-optionalMark": "optional", "dxForm-requiredMessage": "{0} is required", "dxNumberBox-invalidValueMessage": "Value must be a number", "dxNumberBox-noDataText": "No data", "dxDataGrid-emptyHeaderWithColumnChooserText": "Use {0} to display columns", "dxDataGrid-emptyHeaderWithGroupPanelText": "Drag a column from the group panel here", "dxDataGrid-emptyHeaderWithColumnChooserAndGroupPanelText": "Use {0} or drag a column from the group panel", "dxDataGrid-emptyHeaderColumnChooserText": "column chooser", "dxDataGrid-columnChooserTitle": "Column Chooser", "dxDataGrid-columnChooserEmptyText": "Drag a column here to hide it", "dxDataGrid-groupContinuesMessage": "Continues on the next page", "dxDataGrid-groupContinuedMessage": "Continued from the previous page", "dxDataGrid-groupHeaderText": "Group by This Column", "dxDataGrid-ungroupHeaderText": "Ungroup", "dxDataGrid-ungroupAllText": "Ungroup All", "dxDataGrid-editingEditRow": "Edit", "dxDataGrid-editingSaveRowChanges": "Save", "dxDataGrid-editingCancelRowChanges": "Cancel", "dxDataGrid-editingDeleteRow": "Delete", "dxDataGrid-editingUndeleteRow": "Undelete", "dxDataGrid-editingConfirmDeleteMessage": "Are you sure you want to delete this record?", "dxDataGrid-validationCancelChanges": "Cancel changes", "dxDataGrid-groupPanelEmptyText": "Drag a column header here to group by that column", "dxDataGrid-noDataText": "No data", "dxDataGrid-searchPanelPlaceholder": "Search...", "dxDataGrid-filterRowShowAllText": "(All)", "dxDataGrid-filterRowResetOperationText": "Reset", "dxDataGrid-filterRowOperationEquals": "Equals", "dxDataGrid-filterRowOperationNotEquals": "Does not equal", "dxDataGrid-filterRowOperationLess": "Less than", "dxDataGrid-filterRowOperationLessOrEquals": "Less than or equal to", "dxDataGrid-filterRowOperationGreater": "Greater than", "dxDataGrid-filterRowOperationGreaterOrEquals": "Greater than or equal to", "dxDataGrid-filterRowOperationStartsWith": "Starts with", "dxDataGrid-filterRowOperationContains": "Contains", "dxDataGrid-filterRowOperationNotContains": "Does not contain", "dxDataGrid-filterRowOperationEndsWith": "Ends with", "dxDataGrid-filterRowOperationBetween": "Between", "dxDataGrid-filterRowOperationBetweenStartText": "Start", "dxDataGrid-filterRowOperationBetweenEndText": "End", "dxDataGrid-ariaSearchBox": "Search box", "dxDataGrid-applyFilterText": "Apply filter", "dxDataGrid-trueText": "true", "dxDataGrid-falseText": "false", "dxDataGrid-sortingAscendingText": "Sort Ascending", "dxDataGrid-sortingDescendingText": "Sort Descending", "dxDataGrid-sortingClearText": "Clear Sorting", "dxDataGrid-editingSaveAllChanges": "Save changes", "dxDataGrid-editingCancelAllChanges": "Discard changes", "dxDataGrid-editingAddRow": "Add a row", "dxDataGrid-summaryMin": "Min: {0}", "dxDataGrid-summaryMinOtherColumn": "Min of {1} is {0}", "dxDataGrid-summaryMax": "Max: {0}", "dxDataGrid-summaryMaxOtherColumn": "Max of {1} is {0}", "dxDataGrid-summaryAvg": "Avg: {0}", "dxDataGrid-summaryAvgOtherColumn": "Avg of {1} is {0}", "dxDataGrid-summarySum": "Sum: {0}", "dxDataGrid-summarySumOtherColumn": "Sum of {1} is {0}", "dxDataGrid-summaryCount": "Count: {0}", "dxDataGrid-columnFixingFix": "Fix", "dxDataGrid-columnFixingUnfix": "Unfix", "dxDataGrid-columnFixingLeftPosition": "To the left", "dxDataGrid-columnFixingRightPosition": "To the right", "dxDataGrid-exportTo": "Export", "dxDataGrid-exportToExcel": "Export to Excel file", "dxDataGrid-exporting": "Exporting...", "dxDataGrid-excelFormat": "Excel file", "dxDataGrid-selectedRows": "Selected rows", "dxDataGrid-exportSelectedRows": "Export selected rows to {0}", "dxDataGrid-exportAll": "Export all data to {0}", "dxDataGrid-headerFilterLabel": "Filter options", "dxDataGrid-headerFilterIndicatorLabel": "Show filter options for column '{0}'", "dxDataGrid-headerFilterEmptyValue": "(Blanks)", "dxDataGrid-headerFilterOK": "OK", "dxDataGrid-headerFilterCancel": "Cancel", "dxDataGrid-ariaAdaptiveCollapse": "Hide additional data", "dxDataGrid-ariaAdaptiveExpand": "Display additional data", "dxDataGrid-ariaColumn": "Column", "dxDataGrid-ariaValue": "Value", "dxDataGrid-ariaFilterCell": "Filter cell", "dxDataGrid-ariaCollapse": "Collapse", "dxDataGrid-ariaExpand": "Expand", "dxDataGrid-ariaDataGrid": "Data grid with {0} rows and {1} columns", "dxDataGrid-ariaSearchInGrid": "Search in the data grid", "dxDataGrid-ariaSelectAll": "Select all", "dxDataGrid-ariaSelectRow": "Select row", "dxDataGrid-ariaToolbar": "Data grid toolbar", "dxDataGrid-filterBuilderPopupTitle": "Filter Builder", "dxDataGrid-filterPanelCreateFilter": "Create Filter", "dxDataGrid-filterPanelClearFilter": "Clear", "dxDataGrid-filterPanelFilterEnabledHint": "Enable the filter", "dxTreeList-ariaTreeList": "Tree list", "dxTreeList-ariaSearchInGrid": "Search in the tree list", "dxTreeList-ariaToolbar": "Tree list toolbar", "dxTreeList-editingAddRowToNode": "Add", "dxPager-infoText": "Page {0} of {1} ({2} items)", "dxPager-pagesCountText": "of", "dxPager-pageSize": "Items per page: {0}", "dxPager-pageSizesAllText": "All", "dxPager-page": "Page {0}", "dxPager-prevPage": "Previous Page", "dxPager-nextPage": "Next Page", "dxPager-ariaLabel": "Page Navigation", "dxPager-ariaPageSize": "Page size", "dxPager-ariaPageNumber": "Page number", "dxPivotGrid-grandTotal": "Grand Total", "dxPivotGrid-total": "{0} Total", "dxPivotGrid-fieldChooserTitle": "Field Chooser", "dxPivotGrid-showFieldChooser": "Show Field Chooser", "dxPivotGrid-expandAll": "Expand All", "dxPivotGrid-collapseAll": "Collapse All", "dxPivotGrid-sortColumnBySummary": 'Sort "{0}" by This Column', "dxPivotGrid-sortRowBySummary": 'Sort "{0}" by This Row', "dxPivotGrid-removeAllSorting": "Remove All Sorting", "dxPivotGrid-dataNotAvailable": "N/A", "dxPivotGrid-rowFields": "Row Fields", "dxPivotGrid-columnFields": "Column Fields", "dxPivotGrid-dataFields": "Data Fields", "dxPivotGrid-filterFields": "Filter Fields", "dxPivotGrid-allFields": "All Fields", "dxPivotGrid-columnFieldArea": "Drop Column Fields Here", "dxPivotGrid-dataFieldArea": "Drop Data Fields Here", "dxPivotGrid-rowFieldArea": "Drop Row Fields Here", "dxPivotGrid-filterFieldArea": "Drop Filter Fields Here", "dxScheduler-editorLabelTitle": "Subject", "dxScheduler-editorLabelStartDate": "Start Date", "dxScheduler-editorLabelEndDate": "End Date", "dxScheduler-editorLabelDescription": "Description", "dxScheduler-editorLabelRecurrence": "Repeat", "dxScheduler-openAppointment": "Open appointment", "dxScheduler-recurrenceNever": "Never", "dxScheduler-recurrenceMinutely": "Every minute", "dxScheduler-recurrenceHourly": "Hourly", "dxScheduler-recurrenceDaily": "Daily", "dxScheduler-recurrenceWeekly": "Weekly", "dxScheduler-recurrenceMonthly": "Monthly", "dxScheduler-recurrenceYearly": "Yearly", "dxScheduler-recurrenceRepeatEvery": "Repeat Every", "dxScheduler-recurrenceRepeatOn": "Repeat On", "dxScheduler-recurrenceEnd": "End repeat", "dxScheduler-recurrenceAfter": "After", "dxScheduler-recurrenceOn": "On", "dxScheduler-recurrenceRepeatMinutely": "minute(s)", "dxScheduler-recurrenceRepeatHourly": "hour(s)", "dxScheduler-recurrenceRepeatDaily": "day(s)", "dxScheduler-recurrenceRepeatWeekly": "week(s)", "dxScheduler-recurrenceRepeatMonthly": "month(s)", "dxScheduler-recurrenceRepeatYearly": "year(s)", "dxScheduler-switcherDay": "Day", "dxScheduler-switcherWeek": "Week", "dxScheduler-switcherWorkWeek": "Work Week", "dxScheduler-switcherMonth": "Month", "dxScheduler-switcherAgenda": "Agenda", "dxScheduler-switcherTimelineDay": "Timeline Day", "dxScheduler-switcherTimelineWeek": "Timeline Week", "dxScheduler-switcherTimelineWorkWeek": "Timeline Work Week", "dxScheduler-switcherTimelineMonth": "Timeline Month", "dxScheduler-recurrenceRepeatOnDate": "on date", "dxScheduler-recurrenceRepeatCount": "occurrence(s)", "dxScheduler-allDay": "All day", "dxScheduler-confirmRecurrenceEditMessage": "Do you want to edit only this appointment or the whole series?", "dxScheduler-confirmRecurrenceDeleteMessage": "Do you want to delete only this appointment or the whole series?", "dxScheduler-confirmRecurrenceEditSeries": "Edit series", "dxScheduler-confirmRecurrenceDeleteSeries": "Delete series", "dxScheduler-confirmRecurrenceEditOccurrence": "Edit appointment", "dxScheduler-confirmRecurrenceDeleteOccurrence": "Delete appointment", "dxScheduler-noTimezoneTitle": "No timezone", "dxScheduler-moreAppointments": "{0} more", "dxCalendar-todayButtonText": "Today", "dxCalendar-ariaWidgetName": "Calendar", "dxCalendar-ariaHotKeysInfo": "To navigate between views, press Control, and then Left Arrow or Right Arrow. To zoom in on a view, press Control, and then Down Arrow. To zoom out, press Control, and then Up Arrow.", "dxColorView-ariaRed": "Red", "dxColorView-ariaGreen": "Green", "dxColorView-ariaBlue": "Blue", "dxColorView-ariaAlpha": "Transparency", "dxColorView-ariaHex": "Color code", "dxTagBox-selected": "{0} selected", "dxTagBox-allSelected": "All selected ({0})", "dxTagBox-moreSelected": "{0} more", "vizExport-printingButtonText": "Print", "vizExport-titleMenuText": "Exporting/Printing", "vizExport-exportButtonText": "{0} file", "dxFilterBuilder-and": "And", "dxFilterBuilder-or": "Or", "dxFilterBuilder-notAnd": "Not And", "dxFilterBuilder-notOr": "Not Or", "dxFilterBuilder-addCondition": "Add Condition", "dxFilterBuilder-addGroup": "Add Group", "dxFilterBuilder-enterValueText": "", "dxFilterBuilder-filterOperationEquals": "Equals", "dxFilterBuilder-filterOperationNotEquals": "Does not equal", "dxFilterBuilder-filterOperationLess": "Is less than", "dxFilterBuilder-filterOperationLessOrEquals": "Is less than or equal to", "dxFilterBuilder-filterOperationGreater": "Is greater than", "dxFilterBuilder-filterOperationGreaterOrEquals": "Is greater than or equal to", "dxFilterBuilder-filterOperationStartsWith": "Starts with", "dxFilterBuilder-filterOperationContains": "Contains", "dxFilterBuilder-filterOperationNotContains": "Does not contain", "dxFilterBuilder-filterOperationEndsWith": "Ends with", "dxFilterBuilder-filterOperationIsBlank": "Is blank", "dxFilterBuilder-filterOperationIsNotBlank": "Is not blank", "dxFilterBuilder-filterOperationBetween": "Is between", "dxFilterBuilder-filterOperationAnyOf": "Is any of", "dxFilterBuilder-filterOperationNoneOf": "Is none of", "dxHtmlEditor-dialogColorCaption": "Change Font Color", "dxHtmlEditor-dialogBackgroundCaption": "Change Background Color", "dxHtmlEditor-dialogLinkCaption": "Add Link", "dxHtmlEditor-dialogLinkUrlField": "URL", "dxHtmlEditor-dialogLinkTextField": "Text", "dxHtmlEditor-dialogLinkTargetField": "Open link in new window", "dxHtmlEditor-dialogImageCaption": "Add Image", "dxHtmlEditor-dialogImageUrlField": "URL", "dxHtmlEditor-dialogImageAltField": "Alternate text", "dxHtmlEditor-dialogImageWidthField": "Width (px)", "dxHtmlEditor-dialogImageHeightField": "Height (px)", "dxHtmlEditor-dialogInsertTableRowsField": "Rows", "dxHtmlEditor-dialogInsertTableColumnsField": "Columns", "dxHtmlEditor-dialogInsertTableCaption": "Insert Table", "dxHtmlEditor-dialogUpdateImageCaption": "Update Image", "dxHtmlEditor-dialogImageUpdateButton": "Update", "dxHtmlEditor-dialogImageAddButton": "Add", "dxHtmlEditor-dialogImageSpecifyUrl": "From the Web", "dxHtmlEditor-dialogImageSelectFile": "From This Device", "dxHtmlEditor-dialogImageKeepAspectRatio": "Keep Aspect Ratio", "dxHtmlEditor-dialogImageEncodeToBase64": "Encode to Base64", "dxHtmlEditor-heading": "Heading", "dxHtmlEditor-normalText": "Normal text", "dxHtmlEditor-background": "Background Color", "dxHtmlEditor-bold": "Bold", "dxHtmlEditor-color": "Font Color", "dxHtmlEditor-font": "Font", "dxHtmlEditor-italic": "Italic", "dxHtmlEditor-link": "Add Link", "dxHtmlEditor-image": "Add Image", "dxHtmlEditor-size": "Size", "dxHtmlEditor-strike": "Strikethrough", "dxHtmlEditor-subscript": "Subscript", "dxHtmlEditor-superscript": "Superscript", "dxHtmlEditor-underline": "Underline", "dxHtmlEditor-blockquote": "Blockquote", "dxHtmlEditor-header": "Header", "dxHtmlEditor-increaseIndent": "Increase Indent", "dxHtmlEditor-decreaseIndent": "Decrease Indent", "dxHtmlEditor-orderedList": "Ordered List", "dxHtmlEditor-bulletList": "Bullet List", "dxHtmlEditor-alignLeft": "Align Left", "dxHtmlEditor-alignCenter": "Align Center", "dxHtmlEditor-alignRight": "Align Right", "dxHtmlEditor-alignJustify": "Align Justify", "dxHtmlEditor-codeBlock": "Code Block", "dxHtmlEditor-variable": "Add Variable", "dxHtmlEditor-undo": "Undo", "dxHtmlEditor-redo": "Redo", "dxHtmlEditor-clear": "Clear Formatting", "dxHtmlEditor-insertTable": "Insert Table", "dxHtmlEditor-insertHeaderRow": "Insert Header Row", "dxHtmlEditor-insertRowAbove": "Insert Row Above", "dxHtmlEditor-insertRowBelow": "Insert Row Below", "dxHtmlEditor-insertColumnLeft": "Insert Column Left", "dxHtmlEditor-insertColumnRight": "Insert Column Right", "dxHtmlEditor-deleteColumn": "Delete Column", "dxHtmlEditor-deleteRow": "Delete Row", "dxHtmlEditor-deleteTable": "Delete Table", "dxHtmlEditor-cellProperties": "Cell Properties", "dxHtmlEditor-tableProperties": "Table Properties", "dxHtmlEditor-insert": "Insert", "dxHtmlEditor-delete": "Delete", "dxHtmlEditor-border": "Border", "dxHtmlEditor-style": "Style", "dxHtmlEditor-width": "Width", "dxHtmlEditor-height": "Height", "dxHtmlEditor-borderColor": "Color", "dxHtmlEditor-tableBackground": "Background", "dxHtmlEditor-dimensions": "Dimensions", "dxHtmlEditor-alignment": "Alignment", "dxHtmlEditor-horizontal": "Horizontal", "dxHtmlEditor-vertical": "Vertical", "dxHtmlEditor-paddingVertical": "Vertical Padding", "dxHtmlEditor-paddingHorizontal": "Horizontal Padding", "dxHtmlEditor-pixels": "Pixels", "dxHtmlEditor-list": "List", "dxHtmlEditor-ordered": "Ordered", "dxHtmlEditor-bullet": "Bullet", "dxHtmlEditor-align": "Align", "dxHtmlEditor-center": "Center", "dxHtmlEditor-left": "Left", "dxHtmlEditor-right": "Right", "dxHtmlEditor-indent": "Indent", "dxHtmlEditor-justify": "Justify", "dxFileManager-newDirectoryName": "Untitled directory", "dxFileManager-rootDirectoryName": "Files", "dxFileManager-errorNoAccess": "Access Denied. Operation could not be completed.", "dxFileManager-errorDirectoryExistsFormat": "Directory '{0}' already exists.", "dxFileManager-errorFileExistsFormat": "File '{0}' already exists.", "dxFileManager-errorFileNotFoundFormat": "File '{0}' not found.", "dxFileManager-errorDirectoryNotFoundFormat": "Directory '{0}' not found.", "dxFileManager-errorWrongFileExtension": "File extension is not allowed.", "dxFileManager-errorMaxFileSizeExceeded": "File size exceeds the maximum allowed size.", "dxFileManager-errorInvalidSymbols": "This name contains invalid characters.", "dxFileManager-errorDefault": "Unspecified error.", "dxFileManager-errorDirectoryOpenFailed": "The directory cannot be opened", "dxFileManager-commandCreate": "New directory", "dxFileManager-commandRename": "Rename", "dxFileManager-commandMove": "Move to", "dxFileManager-commandCopy": "Copy to", "dxFileManager-commandDelete": "Delete", "dxFileManager-commandDownload": "Download", "dxFileManager-commandUpload": "Upload files", "dxFileManager-commandRefresh": "Refresh", "dxFileManager-commandThumbnails": "Thumbnails View", "dxFileManager-commandDetails": "Details View", "dxFileManager-commandClearSelection": "Clear selection", "dxFileManager-commandShowNavPane": "Toggle navigation pane", "dxFileManager-dialogDirectoryChooserMoveTitle": "Move to", "dxFileManager-dialogDirectoryChooserMoveButtonText": "Move", "dxFileManager-dialogDirectoryChooserCopyTitle": "Copy to", "dxFileManager-dialogDirectoryChooserCopyButtonText": "Copy", "dxFileManager-dialogRenameItemTitle": "Rename", "dxFileManager-dialogRenameItemButtonText": "Save", "dxFileManager-dialogCreateDirectoryTitle": "New directory", "dxFileManager-dialogCreateDirectoryButtonText": "Create", "dxFileManager-dialogDeleteItemTitle": "Delete", "dxFileManager-dialogDeleteItemButtonText": "Delete", "dxFileManager-dialogDeleteItemSingleItemConfirmation": "Are you sure you want to delete {0}?", "dxFileManager-dialogDeleteItemMultipleItemsConfirmation": "Are you sure you want to delete {0} items?", "dxFileManager-dialogButtonCancel": "Cancel", "dxFileManager-editingCreateSingleItemProcessingMessage": "Creating a directory inside {0}", "dxFileManager-editingCreateSingleItemSuccessMessage": "Created a directory inside {0}", "dxFileManager-editingCreateSingleItemErrorMessage": "Directory was not created", "dxFileManager-editingCreateCommonErrorMessage": "Directory was not created", "dxFileManager-editingRenameSingleItemProcessingMessage": "Renaming an item inside {0}", "dxFileManager-editingRenameSingleItemSuccessMessage": "Renamed an item inside {0}", "dxFileManager-editingRenameSingleItemErrorMessage": "Item was not renamed", "dxFileManager-editingRenameCommonErrorMessage": "Item was not renamed", "dxFileManager-editingDeleteSingleItemProcessingMessage": "Deleting an item from {0}", "dxFileManager-editingDeleteMultipleItemsProcessingMessage": "Deleting {0} items from {1}", "dxFileManager-editingDeleteSingleItemSuccessMessage": "Deleted an item from {0}", "dxFileManager-editingDeleteMultipleItemsSuccessMessage": "Deleted {0} items from {1}", "dxFileManager-editingDeleteSingleItemErrorMessage": "Item was not deleted", "dxFileManager-editingDeleteMultipleItemsErrorMessage": "{0} items were not deleted", "dxFileManager-editingDeleteCommonErrorMessage": "Some items were not deleted", "dxFileManager-editingMoveSingleItemProcessingMessage": "Moving an item to {0}", "dxFileManager-editingMoveMultipleItemsProcessingMessage": "Moving {0} items to {1}", "dxFileManager-editingMoveSingleItemSuccessMessage": "Moved an item to {0}", "dxFileManager-editingMoveMultipleItemsSuccessMessage": "Moved {0} items to {1}", "dxFileManager-editingMoveSingleItemErrorMessage": "Item was not moved", "dxFileManager-editingMoveMultipleItemsErrorMessage": "{0} items were not moved", "dxFileManager-editingMoveCommonErrorMessage": "Some items were not moved", "dxFileManager-editingCopySingleItemProcessingMessage": "Copying an item to {0}", "dxFileManager-editingCopyMultipleItemsProcessingMessage": "Copying {0} items to {1}", "dxFileManager-editingCopySingleItemSuccessMessage": "Copied an item to {0}", "dxFileManager-editingCopyMultipleItemsSuccessMessage": "Copied {0} items to {1}", "dxFileManager-editingCopySingleItemErrorMessage": "Item was not copied", "dxFileManager-editingCopyMultipleItemsErrorMessage": "{0} items were not copied", "dxFileManager-editingCopyCommonErrorMessage": "Some items were not copied", "dxFileManager-editingUploadSingleItemProcessingMessage": "Uploading an item to {0}", "dxFileManager-editingUploadMultipleItemsProcessingMessage": "Uploading {0} items to {1}", "dxFileManager-editingUploadSingleItemSuccessMessage": "Uploaded an item to {0}", "dxFileManager-editingUploadMultipleItemsSuccessMessage": "Uploaded {0} items to {1}", "dxFileManager-editingUploadSingleItemErrorMessage": "Item was not uploaded", "dxFileManager-editingUploadMultipleItemsErrorMessage": "{0} items were not uploaded", "dxFileManager-editingUploadCanceledMessage": "Canceled", "dxFileManager-editingDownloadSingleItemErrorMessage": "Item was not downloaded", "dxFileManager-editingDownloadMultipleItemsErrorMessage": "{0} items were not downloaded", "dxFileManager-listDetailsColumnCaptionName": "Name", "dxFileManager-listDetailsColumnCaptionDateModified": "Date Modified", "dxFileManager-listDetailsColumnCaptionFileSize": "File Size", "dxFileManager-listThumbnailsTooltipTextSize": "Size", "dxFileManager-listThumbnailsTooltipTextDateModified": "Date Modified", "dxFileManager-notificationProgressPanelTitle": "Progress", "dxFileManager-notificationProgressPanelEmptyListText": "No operations", "dxFileManager-notificationProgressPanelOperationCanceled": "Canceled", "dxDiagram-categoryGeneral": "General", "dxDiagram-categoryFlowchart": "Flowchart", "dxDiagram-categoryOrgChart": "Org Chart", "dxDiagram-categoryContainers": "Containers", "dxDiagram-categoryCustom": "Custom", "dxDiagram-commandExportToSvg": "Export to SVG", "dxDiagram-commandExportToPng": "Export to PNG", "dxDiagram-commandExportToJpg": "Export to JPEG", "dxDiagram-commandUndo": "Undo", "dxDiagram-commandRedo": "Redo", "dxDiagram-commandFontName": "Font Name", "dxDiagram-commandFontSize": "Font Size", "dxDiagram-commandBold": "Bold", "dxDiagram-commandItalic": "Italic", "dxDiagram-commandUnderline": "Underline", "dxDiagram-commandTextColor": "Font Color", "dxDiagram-commandLineColor": "Line Color", "dxDiagram-commandLineWidth": "Line Width", "dxDiagram-commandLineStyle": "Line Style", "dxDiagram-commandLineStyleSolid": "Solid", "dxDiagram-commandLineStyleDotted": "Dotted", "dxDiagram-commandLineStyleDashed": "Dashed", "dxDiagram-commandFillColor": "Fill Color", "dxDiagram-commandAlignLeft": "Align Left", "dxDiagram-commandAlignCenter": "Align Center", "dxDiagram-commandAlignRight": "Align Right", "dxDiagram-commandConnectorLineType": "Connector Line Type", "dxDiagram-commandConnectorLineStraight": "Straight", "dxDiagram-commandConnectorLineOrthogonal": "Orthogonal", "dxDiagram-commandConnectorLineStart": "Connector Line Start", "dxDiagram-commandConnectorLineEnd": "Connector Line End", "dxDiagram-commandConnectorLineNone": "None", "dxDiagram-commandConnectorLineArrow": "Arrow", "dxDiagram-commandFullscreen": "Full Screen", "dxDiagram-commandUnits": "Units", "dxDiagram-commandPageSize": "Page Size", "dxDiagram-commandPageOrientation": "Page Orientation", "dxDiagram-commandPageOrientationLandscape": "Landscape", "dxDiagram-commandPageOrientationPortrait": "Portrait", "dxDiagram-commandPageColor": "Page Color", "dxDiagram-commandShowGrid": "Show Grid", "dxDiagram-commandSnapToGrid": "Snap to Grid", "dxDiagram-commandGridSize": "Grid Size", "dxDiagram-commandZoomLevel": "Zoom Level", "dxDiagram-commandAutoZoom": "Auto Zoom", "dxDiagram-commandFitToContent": "Fit to Content", "dxDiagram-commandFitToWidth": "Fit to Width", "dxDiagram-commandAutoZoomByContent": "Auto Zoom by Content", "dxDiagram-commandAutoZoomByWidth": "Auto Zoom by Width", "dxDiagram-commandSimpleView": "Simple View", "dxDiagram-commandCut": "Cut", "dxDiagram-commandCopy": "Copy", "dxDiagram-commandPaste": "Paste", "dxDiagram-commandSelectAll": "Select All", "dxDiagram-commandDelete": "Delete", "dxDiagram-commandBringToFront": "Bring to Front", "dxDiagram-commandSendToBack": "Send to Back", "dxDiagram-commandLock": "Lock", "dxDiagram-commandUnlock": "Unlock", "dxDiagram-commandInsertShapeImage": "Insert Image...", "dxDiagram-commandEditShapeImage": "Change Image...", "dxDiagram-commandDeleteShapeImage": "Delete Image", "dxDiagram-commandLayoutLeftToRight": "Left-to-right", "dxDiagram-commandLayoutRightToLeft": "Right-to-left", "dxDiagram-commandLayoutTopToBottom": "Top-to-bottom", "dxDiagram-commandLayoutBottomToTop": "Bottom-to-top", "dxDiagram-unitIn": "in", "dxDiagram-unitCm": "cm", "dxDiagram-unitPx": "px", "dxDiagram-dialogButtonOK": "OK", "dxDiagram-dialogButtonCancel": "Cancel", "dxDiagram-dialogInsertShapeImageTitle": "Insert Image", "dxDiagram-dialogEditShapeImageTitle": "Change Image", "dxDiagram-dialogEditShapeImageSelectButton": "Select image", "dxDiagram-dialogEditShapeImageLabelText": "or drop a file here", "dxDiagram-uiExport": "Export", "dxDiagram-uiProperties": "Properties", "dxDiagram-uiSettings": "Settings", "dxDiagram-uiShowToolbox": "Show Toolbox", "dxDiagram-uiSearch": "Search", "dxDiagram-uiStyle": "Style", "dxDiagram-uiLayout": "Layout", "dxDiagram-uiLayoutTree": "Tree", "dxDiagram-uiLayoutLayered": "Layered", "dxDiagram-uiDiagram": "Diagram", "dxDiagram-uiText": "Text", "dxDiagram-uiObject": "Object", "dxDiagram-uiConnector": "Connector", "dxDiagram-uiPage": "Page", "dxDiagram-shapeText": "Text", "dxDiagram-shapeRectangle": "Rectangle", "dxDiagram-shapeEllipse": "Ellipse", "dxDiagram-shapeCross": "Cross", "dxDiagram-shapeTriangle": "Triangle", "dxDiagram-shapeDiamond": "Diamond", "dxDiagram-shapeHeart": "Heart", "dxDiagram-shapePentagon": "Pentagon", "dxDiagram-shapeHexagon": "Hexagon", "dxDiagram-shapeOctagon": "Octagon", "dxDiagram-shapeStar": "Star", "dxDiagram-shapeArrowLeft": "Left Arrow", "dxDiagram-shapeArrowUp": "Up Arrow", "dxDiagram-shapeArrowRight": "Right Arrow", "dxDiagram-shapeArrowDown": "Down Arrow", "dxDiagram-shapeArrowUpDown": "Up Down Arrow", "dxDiagram-shapeArrowLeftRight": "Left Right Arrow", "dxDiagram-shapeProcess": "Process", "dxDiagram-shapeDecision": "Decision", "dxDiagram-shapeTerminator": "Terminator", "dxDiagram-shapePredefinedProcess": "Predefined Process", "dxDiagram-shapeDocument": "Document", "dxDiagram-shapeMultipleDocuments": "Multiple Documents", "dxDiagram-shapeManualInput": "Manual Input", "dxDiagram-shapePreparation": "Preparation", "dxDiagram-shapeData": "Data", "dxDiagram-shapeDatabase": "Database", "dxDiagram-shapeHardDisk": "Hard Disk", "dxDiagram-shapeInternalStorage": "Internal Storage", "dxDiagram-shapePaperTape": "Paper Tape", "dxDiagram-shapeManualOperation": "Manual Operation", "dxDiagram-shapeDelay": "Delay", "dxDiagram-shapeStoredData": "Stored Data", "dxDiagram-shapeDisplay": "Display", "dxDiagram-shapeMerge": "Merge", "dxDiagram-shapeConnector": "Connector", "dxDiagram-shapeOr": "Or", "dxDiagram-shapeSummingJunction": "Summing Junction", "dxDiagram-shapeContainerDefaultText": "Container", "dxDiagram-shapeVerticalContainer": "Vertical Container", "dxDiagram-shapeHorizontalContainer": "Horizontal Container", "dxDiagram-shapeCardDefaultText": "Person's Name", "dxDiagram-shapeCardWithImageOnLeft": "Card with Image on the Left", "dxDiagram-shapeCardWithImageOnTop": "Card with Image on the Top", "dxDiagram-shapeCardWithImageOnRight": "Card with Image on the Right", "dxGantt-dialogTitle": "Title", "dxGantt-dialogStartTitle": "Start", "dxGantt-dialogEndTitle": "End", "dxGantt-dialogProgressTitle": "Progress", "dxGantt-dialogResourcesTitle": "Resources", "dxGantt-dialogResourceManagerTitle": "Resource Manager", "dxGantt-dialogTaskDetailsTitle": "Task Details", "dxGantt-dialogEditResourceListHint": "Edit Resource List", "dxGantt-dialogEditNoResources": "No resources", "dxGantt-dialogButtonAdd": "Add", "dxGantt-contextMenuNewTask": "New Task", "dxGantt-contextMenuNewSubtask": "New Subtask", "dxGantt-contextMenuDeleteTask": "Delete Task", "dxGantt-contextMenuDeleteDependency": "Delete Dependency", "dxGantt-dialogTaskDeleteConfirmation": "Deleting a task also deletes all its dependencies and subtasks. Are you sure you want to delete this task?", "dxGantt-dialogDependencyDeleteConfirmation": "Are you sure you want to delete the dependency from the task?", "dxGantt-dialogResourcesDeleteConfirmation": "Deleting a resource also deletes it from tasks to which this resource is assigned. Are you sure you want to delete these resources? Resources: {0}", "dxGantt-dialogConstraintCriticalViolationMessage": "The task you are attempting to move is linked to a second task by a dependency relation. This change would conflict with dependency rules. How would you like to proceed?", "dxGantt-dialogConstraintViolationMessage": "The task you are attempting to move is linked to a second task by a dependency relation. How would you like to proceed?", "dxGantt-dialogCancelOperationMessage": "Cancel the operation", "dxGantt-dialogDeleteDependencyMessage": "Delete the dependency", "dxGantt-dialogMoveTaskAndKeepDependencyMessage": "Move the task and keep the dependency", "dxGantt-dialogConstraintCriticalViolationSeveralTasksMessage": "The task you are attempting to move is linked to another tasks by dependency relations. This change would conflict with dependency rules. How would you like to proceed?", "dxGantt-dialogConstraintViolationSeveralTasksMessage": "The task you are attempting to move is linked to another tasks by dependency relations. How would you like to proceed?", "dxGantt-dialogDeleteDependenciesMessage": "Delete the dependency relations", "dxGantt-dialogMoveTaskAndKeepDependenciesMessage": "Move the task and keep the dependencies", "dxGantt-undo": "Undo", "dxGantt-redo": "Redo", "dxGantt-expandAll": "Expand All", "dxGantt-collapseAll": "Collapse All", "dxGantt-addNewTask": "Add New Task", "dxGantt-deleteSelectedTask": "Delete Selected Task", "dxGantt-zoomIn": "Zoom In", "dxGantt-zoomOut": "Zoom Out", "dxGantt-fullScreen": "Full Screen", "dxGantt-quarter": "Q{0}", "dxGantt-sortingAscendingText": "Sort Ascending", "dxGantt-sortingDescendingText": "Sort Descending", "dxGantt-sortingClearText": "Clear Sorting", "dxGantt-showResources": "Show Resources", "dxGantt-showDependencies": "Show Dependencies", "dxGantt-dialogStartDateValidation": "Start date must be after {0}", "dxGantt-dialogEndDateValidation": "End date must be after {0}" } } }, 74872: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/globalize/core.js ***! \****************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _globalize = _interopRequireDefault(__webpack_require__( /*! globalize */ 71272)); var _core = _interopRequireDefault(__webpack_require__( /*! ../core */ 91331)); var _en = __webpack_require__( /*! ../cldr-data/en */ 35608); var _supplemental = __webpack_require__( /*! ../cldr-data/supplemental */ 57421); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } if (_globalize.default && _globalize.default.load) { if (!_globalize.default.locale()) { _globalize.default.load(_en.enCldr, _supplemental.supplementalCldr); _globalize.default.locale("en") } _core.default.inject({ locale: function(_locale) { if (!_locale) { return _globalize.default.locale().locale } _globalize.default.locale(_locale) } }) } }, 7239: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/globalize/currency.js ***! \********************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _open_xml_currency_format = _interopRequireDefault(__webpack_require__( /*! ../open_xml_currency_format */ 44592)); __webpack_require__( /*! ./core */ 74872); __webpack_require__( /*! ./number */ 908); __webpack_require__( /*! ../currency */ 89740); __webpack_require__( /*! globalize/currency */ 71272); var _globalize = _interopRequireDefault(__webpack_require__( /*! globalize */ 71272)); var _config = _interopRequireDefault(__webpack_require__( /*! ../../core/config */ 80209)); var _number2 = _interopRequireDefault(__webpack_require__( /*! ../number */ 18016)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } var CURRENCY_STYLES = ["symbol", "accounting"]; if (_globalize.default && _globalize.default.formatCurrency) { if ("en" === _globalize.default.locale().locale) { _globalize.default.locale("en") } var formattersCache = {}; var getFormatter = function(currency, format) { var formatter; var formatCacheKey; if ("object" === _typeof(format)) { formatCacheKey = _globalize.default.locale().locale + ":" + currency + ":" + JSON.stringify(format) } else { formatCacheKey = _globalize.default.locale().locale + ":" + currency + ":" + format } formatter = formattersCache[formatCacheKey]; if (!formatter) { formatter = formattersCache[formatCacheKey] = _globalize.default.currencyFormatter(currency, format) } return formatter }; var globalizeCurrencyLocalization = { _formatNumberCore: function(value, format, formatConfig) { if ("currency" === format) { var currency = formatConfig && formatConfig.currency || (0, _config.default)().defaultCurrency; return getFormatter(currency, this._normalizeFormatConfig(format, formatConfig, value))(value) } return this.callBase.apply(this, arguments) }, _normalizeFormatConfig: function(format, formatConfig, value) { var normalizedConfig = this.callBase(format, formatConfig, value); if ("currency" === format) { var _formatConfig$useCurr; var useAccountingStyle = null !== (_formatConfig$useCurr = formatConfig.useCurrencyAccountingStyle) && void 0 !== _formatConfig$useCurr ? _formatConfig$useCurr : (0, _config.default)().defaultUseCurrencyAccountingStyle; normalizedConfig.style = CURRENCY_STYLES[+useAccountingStyle] } return normalizedConfig }, format: function(value, _format) { if ("number" !== typeof value) { return value } _format = this._normalizeFormat(_format); if (_format) { if ("default" === _format.currency) { _format.currency = (0, _config.default)().defaultCurrency } if ("currency" === _format.type) { return this._formatNumber(value, this._parseNumberFormatString("currency"), _format) } else if (!_format.type && _format.currency) { return getFormatter(_format.currency, _format)(value) } } return this.callBase.apply(this, arguments) }, getCurrencySymbol: function(currency) { if (!currency) { currency = (0, _config.default)().defaultCurrency } return _globalize.default.cldr.main("numbers/currencies/" + currency) }, getOpenXmlCurrencyFormat: function(currency) { var currencySymbol = this.getCurrencySymbol(currency).symbol; var accountingFormat = _globalize.default.cldr.main("numbers/currencyFormats-numberSystem-latn").accounting; return (0, _open_xml_currency_format.default)(currencySymbol, accountingFormat) } }; _number2.default.inject(globalizeCurrencyLocalization) } }, 60316: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/globalize/date.js ***! \****************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } __webpack_require__( /*! ./core */ 74872); __webpack_require__( /*! ./number */ 908); __webpack_require__( /*! globalize/date */ 71272); var _globalize = _interopRequireDefault(__webpack_require__( /*! globalize */ 71272)); var _date2 = _interopRequireDefault(__webpack_require__( /*! ../date */ 91500)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var iteratorUtils = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../../core/utils/iterator */ 95479)); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ACCEPTABLE_JSON_FORMAT_PROPERTIES = ["skeleton", "date", "time", "datetime", "raw"]; var RTL_MARKS_REGEX = /[\u200E\u200F]/g; if (_globalize.default && _globalize.default.formatDate) { if ("en" === _globalize.default.locale().locale) { _globalize.default.locale("en") } var formattersCache = {}; var FORMATS_TO_GLOBALIZE_MAP = { shortdate: { path: "dateTimeFormats/availableFormats/yMd" }, shorttime: { path: "timeFormats/short" }, longdate: { path: "dateFormats/full" }, longtime: { path: "timeFormats/medium" }, monthandday: { path: "dateTimeFormats/availableFormats/MMMMd" }, monthandyear: { path: "dateTimeFormats/availableFormats/yMMMM" }, quarterandyear: { path: "dateTimeFormats/availableFormats/yQQQ" }, day: { path: "dateTimeFormats/availableFormats/d" }, year: { path: "dateTimeFormats/availableFormats/y" }, shortdateshorttime: { path: "dateTimeFormats/short", parts: ["shorttime", "shortdate"] }, longdatelongtime: { path: "dateTimeFormats/medium", parts: ["longtime", "longdate"] }, month: { pattern: "LLLL" }, shortyear: { pattern: "yy" }, dayofweek: { pattern: "EEEE" }, quarter: { pattern: "QQQ" }, millisecond: { pattern: "SSS" }, hour: { pattern: "HH" }, minute: { pattern: "mm" }, second: { pattern: "ss" } }; var globalizeDateLocalization = { engine: function() { return "globalize" }, _getPatternByFormat: function(format) { var that = this; var lowerFormat = format.toLowerCase(); var globalizeFormat = FORMATS_TO_GLOBALIZE_MAP[lowerFormat]; if ("datetime-local" === lowerFormat) { return "yyyy-MM-ddTHH':'mm':'ss" } if (!globalizeFormat) { return } var result = globalizeFormat.path && that._getFormatStringByPath(globalizeFormat.path) || globalizeFormat.pattern; if (globalizeFormat.parts) { iteratorUtils.each(globalizeFormat.parts, (function(index, part) { result = result.replace("{" + index + "}", that._getPatternByFormat(part)) })) } return result }, _getFormatStringByPath: function(path) { return _globalize.default.locale().main("dates/calendars/gregorian/" + path) }, getPeriodNames: function(format, type) { format = format || "wide"; type = "format" === type ? type : "stand-alone"; var json = _globalize.default.locale().main("dates/calendars/gregorian/dayPeriods/".concat(type, "/").concat(format)); return [json.am, json.pm] }, getMonthNames: function(format, type) { var months = _globalize.default.locale().main("dates/calendars/gregorian/months/" + ("format" === type ? type : "stand-alone") + "/" + (format || "wide")); return iteratorUtils.map(months, (function(month) { return month })) }, getDayNames: function(format) { var days = _globalize.default.locale().main("dates/calendars/gregorian/days/stand-alone/" + (format || "wide")); return iteratorUtils.map(days, (function(day) { return day })) }, getTimeSeparator: function() { return _globalize.default.locale().main("numbers/symbols-numberSystem-latn/timeSeparator") }, removeRtlMarks: function(text) { return text.replace(RTL_MARKS_REGEX, "") }, format: function(date, _format) { if (!date) { return } if (!_format) { return date } var formatter; var formatCacheKey; if ("function" === typeof _format) { return _format(date) } if (_format.formatter) { return _format.formatter(date) } _format = _format.type || _format; if ("string" === typeof _format) { formatCacheKey = _globalize.default.locale().locale + ":" + _format; formatter = formattersCache[formatCacheKey]; if (!formatter) { _format = { raw: this._getPatternByFormat(_format) || _format }; formatter = formattersCache[formatCacheKey] = _globalize.default.dateFormatter(_format) } } else { if (!this._isAcceptableFormat(_format)) { return } formatter = _globalize.default.dateFormatter(_format) } return this.removeRtlMarks(formatter(date)) }, parse: function(text, format) { if (!text) { return } if (!format || "function" === typeof format || (0, _type.isObject)(format) && !this._isAcceptableFormat(format)) { if (format) { var parsedValue = this.callBase(text, format); if (parsedValue) { return parsedValue } } return _globalize.default.parseDate(text) } if (format.parser) { return format.parser(text) } if ("string" === typeof format) { format = { raw: this._getPatternByFormat(format) || format } } var parsedDate = _globalize.default.parseDate(text, format); return parsedDate ? parsedDate : this.callBase(text, format) }, _isAcceptableFormat: function(format) { if (format.parser) { return true } for (var i = 0; i < ACCEPTABLE_JSON_FORMAT_PROPERTIES.length; i++) { if (Object.prototype.hasOwnProperty.call(format, ACCEPTABLE_JSON_FORMAT_PROPERTIES[i])) { return true } } }, firstDayOfWeekIndex: function() { var firstDay = _globalize.default.locale().supplemental.weekData.firstDay(); return this._getDayKeys().indexOf(firstDay) }, _getDayKeys: function() { var days = _globalize.default.locale().main("dates/calendars/gregorian/days/format/short"); return iteratorUtils.map(days, (function(day, key) { return key })) } }; _date2.default.resetInjection(); _date2.default.inject(globalizeDateLocalization) } }, 46949: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/globalize/message.js ***! \*******************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ./core */ 74872); var _globalize = _interopRequireDefault(__webpack_require__( /*! globalize */ 71272)); var _message = _interopRequireDefault(__webpack_require__( /*! ../message */ 28109)); var _core2 = _interopRequireDefault(__webpack_require__( /*! ../core */ 91331)); __webpack_require__( /*! globalize/message */ 71272); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } if (_globalize.default && _globalize.default.formatMessage) { var originalLoadMessages = _globalize.default.loadMessages; _globalize.default.loadMessages = function(messages) { _message.default.load(messages) }; var globalizeMessageLocalization = { engine: function() { return "globalize" }, ctor: function() { this.load(this._dictionary) }, load: function(messages) { this.callBase(messages); originalLoadMessages(messages) }, getMessagesByLocales: function() { return _globalize.default.cldr.get("globalize-messages") }, getFormatter: function(key, locale) { var currentLocale = locale || _core2.default.locale(); var formatter = this._getFormatterBase(key, locale); if (!formatter) { formatter = this._formatterByGlobalize(key, locale) } if (!formatter && "en" !== currentLocale) { formatter = this.getFormatter(key, "en") } return formatter }, _formatterByGlobalize: function(key, locale) { var currentGlobalize = !locale || locale === _core2.default.locale() ? _globalize.default : new _globalize.default(locale); var result; if (this._messageLoaded(key, locale)) { result = currentGlobalize.messageFormatter(key) } return result }, _messageLoaded: function(key, locale) { var currentCldr = locale ? new _globalize.default(locale).cldr : _globalize.default.locale(); var value = currentCldr.get(["globalize-messages/{bundle}", key]); return !!value }, _loadSingle: function(key, value, locale) { var data = {}; data[locale] = {}; data[locale][key] = value; this.load(data) } }; _message.default.inject(globalizeMessageLocalization) } }, 908: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/globalize/number.js ***! \******************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ./core */ 74872); var _globalize = _interopRequireDefault(__webpack_require__( /*! globalize */ 71272)); var _number = _interopRequireDefault(__webpack_require__( /*! ../number */ 18016)); var _errors = _interopRequireDefault(__webpack_require__( /*! ../../core/errors */ 17381)); __webpack_require__( /*! globalize/number */ 71272); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } if (_globalize.default && _globalize.default.formatNumber) { if ("en" === _globalize.default.locale().locale) { _globalize.default.locale("en") } var formattersCache = {}; var getFormatter = function(format) { var formatter; var formatCacheKey; if ("object" === _typeof(format)) { formatCacheKey = _globalize.default.locale().locale + ":" + JSON.stringify(format) } else { formatCacheKey = _globalize.default.locale().locale + ":" + format } formatter = formattersCache[formatCacheKey]; if (!formatter) { formatter = formattersCache[formatCacheKey] = _globalize.default.numberFormatter(format) } return formatter }; var globalizeNumberLocalization = { engine: function() { return "globalize" }, _formatNumberCore: function(value, format, formatConfig) { if ("exponential" === format) { return this.callBase.apply(this, arguments) } return getFormatter(this._normalizeFormatConfig(format, formatConfig, value))(value) }, _normalizeFormatConfig: function(format, formatConfig, value) { var config; if ("decimal" === format) { config = { minimumIntegerDigits: formatConfig.precision || 1, useGrouping: false, minimumFractionDigits: 0, maximumFractionDigits: 20, round: value < 0 ? "ceil" : "floor" } } else { config = this._getPrecisionConfig(formatConfig.precision) } if ("percent" === format) { config.style = "percent" } return config }, _getPrecisionConfig: function(precision) { var config; if (null === precision) { config = { minimumFractionDigits: 0, maximumFractionDigits: 20 } } else { config = { minimumFractionDigits: precision || 0, maximumFractionDigits: precision || 0 } } return config }, format: function(value, _format) { if ("number" !== typeof value) { return value } _format = this._normalizeFormat(_format); if (!_format || "function" !== typeof _format && !_format.type && !_format.formatter) { return getFormatter(_format)(value) } return this.callBase.apply(this, arguments) }, parse: function(text, format) { if (!text) { return } if (format && (format.parser || "string" === typeof format)) { return this.callBase.apply(this, arguments) } if (format) { _errors.default.log("W0011") } var result = _globalize.default.parseNumber(text); if (isNaN(result)) { result = this.callBase.apply(this, arguments) } return result } }; _number.default.resetInjection(); _number.default.inject(globalizeNumberLocalization) } }, 13024: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/intl/date.js ***! \***********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _core = (obj = __webpack_require__( /*! ../core */ 91331), obj && obj.__esModule ? obj : { default: obj }); var obj; function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } var SYMBOLS_TO_REMOVE_REGEX = /[\u200E\u200F]/g; var NARROW_NO_BREAK_SPACE_REGEX = /[\u202F]/g; var getIntlFormatter = function(format) { return function(date) { if (!format.timeZoneName) { var year = date.getFullYear(); var recognizableAsTwentyCentury = String(year).length < 3; var temporaryYearValue = recognizableAsTwentyCentury ? year + 400 : year; var utcDate = new Date(Date.UTC(temporaryYearValue, date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds())); if (recognizableAsTwentyCentury) { utcDate.setFullYear(year) } var utcFormat = (0, _extend.extend)({ timeZone: "UTC" }, format); return formatDateTime(utcDate, utcFormat) } return formatDateTime(date, format) } }; var formattersCache = {}; function formatDateTime(date, format) { return function(format) { var key = _core.default.locale() + "/" + JSON.stringify(format); if (!formattersCache[key]) { formattersCache[key] = new Intl.DateTimeFormat(_core.default.locale(), format).format } return formattersCache[key] }(format)(date).replace(SYMBOLS_TO_REMOVE_REGEX, "").replace(NARROW_NO_BREAK_SPACE_REGEX, " ") } var formatNumber = function(number) { return new Intl.NumberFormat(_core.default.locale()).format(number) }; var getAlternativeNumeralsMap = (numeralsMapCache = {}, function(locale) { if (!(locale in numeralsMapCache)) { if ("0" === formatNumber(0)) { numeralsMapCache[locale] = false; return false } numeralsMapCache[locale] = {}; for (var i = 0; i < 10; ++i) { numeralsMapCache[locale][formatNumber(i)] = i } } return numeralsMapCache[locale] }); var numeralsMapCache; var normalizeNumerals = function(dateString) { var alternativeNumeralsMap = getAlternativeNumeralsMap(_core.default.locale()); if (!alternativeNumeralsMap) { return dateString } return dateString.split("").map((function(sign) { return sign in alternativeNumeralsMap ? String(alternativeNumeralsMap[sign]) : sign })).join("") }; var removeLeadingZeroes = function(str) { return str.replace(/(\D)0+(\d)/g, "$1$2") }; var normalizeMonth = function(text) { return text.replace("d\u2019", "de ") }; var intlFormats = { day: { day: "numeric" }, dayofweek: { weekday: "long" }, longdate: { weekday: "long", year: "numeric", month: "long", day: "numeric" }, longdatelongtime: { weekday: "long", year: "numeric", month: "long", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }, longtime: { hour: "numeric", minute: "numeric", second: "numeric" }, month: { month: "long" }, monthandday: { month: "long", day: "numeric" }, monthandyear: { year: "numeric", month: "long" }, shortdate: {}, shorttime: { hour: "numeric", minute: "numeric" }, shortyear: { year: "2-digit" }, year: { year: "numeric" } }; Object.defineProperty(intlFormats, "shortdateshorttime", { get: function() { var defaultOptions = Intl.DateTimeFormat(_core.default.locale()).resolvedOptions(); return { year: defaultOptions.year, month: defaultOptions.month, day: defaultOptions.day, hour: "numeric", minute: "numeric" } } }); var getIntlFormat = function(format) { return "string" === typeof format && intlFormats[format.toLowerCase()] }; var monthNameStrategies = { standalone: function(monthIndex, monthFormat) { var date = new Date(1999, monthIndex, 13, 1); var dateString = getIntlFormatter({ month: monthFormat })(date); return dateString }, format: function(monthIndex, monthFormat) { var date = new Date(0, monthIndex, 13, 1); var dateString = normalizeMonth(getIntlFormatter({ day: "numeric", month: monthFormat })(date)); var parts = dateString.split(" ").filter((function(part) { return part.indexOf("13") < 0 })); if (1 === parts.length) { return parts[0] } else if (2 === parts.length) { return parts[0].length > parts[1].length ? parts[0] : parts[1] } return monthNameStrategies.standalone(monthIndex, monthFormat) } }; var _default = { engine: function() { return "intl" }, getMonthNames: function(format, type) { var monthFormat = { wide: "long", abbreviated: "short", narrow: "narrow" } [format || "wide"]; type = "format" === type ? type : "standalone"; return Array.apply(null, new Array(12)).map((function(_, monthIndex) { return monthNameStrategies[type](monthIndex, monthFormat) })) }, getDayNames: function(format) { var result = function(format) { return Array.apply(null, new Array(7)).map((function(_, dayIndex) { return getIntlFormatter({ weekday: format })(new Date(0, 0, dayIndex)) })) }({ wide: "long", abbreviated: "short", short: "narrow", narrow: "narrow" } [format || "wide"]); return result }, getPeriodNames: function() { var hour12Formatter = getIntlFormatter({ hour: "numeric", hour12: true }); return [1, 13].map((function(hours) { var hourNumberText = formatNumber(1); var timeParts = hour12Formatter(new Date(0, 0, 1, hours)).split(hourNumberText); if (2 !== timeParts.length) { return "" } var biggerPart = timeParts[0].length > timeParts[1].length ? timeParts[0] : timeParts[1]; return biggerPart.trim() })) }, format: function(date, _format) { if (!date) { return } if (!_format) { return date } if ("function" !== typeof _format && !_format.formatter) { _format = _format.type || _format } var intlFormat = getIntlFormat(_format); if (intlFormat) { return getIntlFormatter(intlFormat)(date) } var formatType = _typeof(_format); if (_format.formatter || "function" === formatType || "string" === formatType) { return this.callBase.apply(this, arguments) } return getIntlFormatter(_format)(date) }, parse: function(dateString, format) { var _this = this; var formatter; if (format && !format.parser && "string" === typeof dateString) { dateString = normalizeMonth(dateString); formatter = function(date) { return normalizeMonth(_this.format(date, format)) } } return this.callBase(dateString, formatter || format) }, _parseDateBySimpleFormat: function(dateString, format) { var _this2 = this; dateString = normalizeNumerals(dateString); var formatParts = this.getFormatParts(format); var dateParts = dateString.split(/\D+/).filter((function(part) { return part.length > 0 })); if (formatParts.length !== dateParts.length) { return } var dateArgs = this._generateDateArgs(formatParts, dateParts); var constructValidDate = function(ampmShift) { var parsedDate = function(dateArgs, ampmShift) { var hoursShift = ampmShift ? 12 : 0; return new Date(dateArgs.year, dateArgs.month, dateArgs.day, (dateArgs.hours + hoursShift) % 24, dateArgs.minutes, dateArgs.seconds) }(dateArgs, ampmShift); if (actual = normalizeNumerals(_this2.format(parsedDate, format)), expected = dateString, removeLeadingZeroes(actual) === removeLeadingZeroes(expected)) { return parsedDate } var actual, expected }; return constructValidDate(false) || constructValidDate(true) }, _generateDateArgs: function(formatParts, dateParts) { var currentDate = new Date; var dateArgs = { year: currentDate.getFullYear(), month: currentDate.getMonth(), day: currentDate.getDate(), hours: 0, minutes: 0, seconds: 0 }; formatParts.forEach((function(formatPart, index) { var datePart = dateParts[index]; var parsed = parseInt(datePart, 10); if ("month" === formatPart) { parsed -= 1 } dateArgs[formatPart] = parsed })); return dateArgs }, formatUsesMonthName: function(format) { if ("object" === _typeof(format) && !(format.type || format.format)) { return "long" === format.month } return this.callBase.apply(this, arguments) }, formatUsesDayName: function(format) { if ("object" === _typeof(format) && !(format.type || format.format)) { return "long" === format.weekday } return this.callBase.apply(this, arguments) }, getTimeSeparator: function() { return normalizeNumerals(formatDateTime(new Date(2001, 1, 1, 11, 11), { hour: "numeric", minute: "numeric", hour12: false })).replace(/\d/g, "") }, getFormatParts: function(format) { if ("string" === typeof format) { return this.callBase(format) } var intlFormat = (0, _extend.extend)({}, intlFormats[format.toLowerCase()]); var date = new Date(2001, 2, 4, 5, 6, 7); var formattedDate = getIntlFormatter(intlFormat)(date); formattedDate = normalizeNumerals(formattedDate); return [{ name: "year", value: 1 }, { name: "month", value: 3 }, { name: "day", value: 4 }, { name: "hours", value: 5 }, { name: "minutes", value: 6 }, { name: "seconds", value: 7 }].map((function(part) { return { name: part.name, index: formattedDate.indexOf(part.value) } })).filter((function(part) { return part.index > -1 })).sort((function(a, b) { return a.index - b.index })).map((function(part) { return part.name })) } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 38702: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/intl/number.js ***! \*************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _config = _interopRequireDefault(__webpack_require__( /*! ../../core/config */ 80209)); var _core = _interopRequireDefault(__webpack_require__( /*! ../core */ 91331)); var _open_xml_currency_format = _interopRequireDefault(__webpack_require__( /*! ../open_xml_currency_format */ 44592)); var _accounting_formats = _interopRequireDefault(__webpack_require__( /*! ../cldr-data/accounting_formats */ 71868)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var CURRENCY_STYLES = ["standard", "accounting"]; var detectCurrencySymbolRegex = /([^\s0]+)?(\s*)0*[.,]*0*(\s*)([^\s0]+)?/; var formattersCache = {}; var getFormatter = function(format) { var key = _core.default.locale() + "/" + JSON.stringify(format); if (!formattersCache[key]) { formattersCache[key] = new Intl.NumberFormat(_core.default.locale(), format).format } return formattersCache[key] }; var _default = { engine: function() { return "intl" }, _formatNumberCore: function(value, format, formatConfig) { if ("exponential" === format) { return this.callBase.apply(this, arguments) } return getFormatter(this._normalizeFormatConfig(format, formatConfig, value))(value) }, _normalizeFormatConfig: function(format, formatConfig, value) { var config; if ("decimal" === format) { var fractionDigits = String(value).split(".")[1]; config = { minimumIntegerDigits: formatConfig.precision || void 0, useGrouping: false, maximumFractionDigits: fractionDigits && fractionDigits.length, round: value < 0 ? "ceil" : "floor" } } else { config = this._getPrecisionConfig(formatConfig.precision) } if ("percent" === format) { config.style = "percent" } else if ("currency" === format) { var _formatConfig$useCurr; var useAccountingStyle = null !== (_formatConfig$useCurr = formatConfig.useCurrencyAccountingStyle) && void 0 !== _formatConfig$useCurr ? _formatConfig$useCurr : (0, _config.default)().defaultUseCurrencyAccountingStyle; config.style = "currency"; config.currency = formatConfig.currency || (0, _config.default)().defaultCurrency; config.currencySign = CURRENCY_STYLES[+useAccountingStyle] } return config }, _getPrecisionConfig: function(precision) { var config; if (null === precision) { config = { minimumFractionDigits: 0, maximumFractionDigits: 20 } } else { config = { minimumFractionDigits: precision || 0, maximumFractionDigits: precision || 0 } } return config }, format: function(value, _format) { if ("number" !== typeof value) { return value } _format = this._normalizeFormat(_format); if ("default" === _format.currency) { _format.currency = (0, _config.default)().defaultCurrency } if (!_format || "function" !== typeof _format && !_format.type && !_format.formatter) { return getFormatter(_format)(value) } return this.callBase.apply(this, arguments) }, _getCurrencySymbolInfo: function(currency) { var formatter = function(currency) { return new Intl.NumberFormat(_core.default.locale(), { style: "currency", currency: currency }) }(currency); return this._extractCurrencySymbolInfo(formatter.format(0)) }, _extractCurrencySymbolInfo: function(currencyValueString) { var match = detectCurrencySymbolRegex.exec(currencyValueString) || []; var position = match[1] ? "before" : "after"; var symbol = match[1] || match[4] || ""; var delimiter = match[2] || match[3] || ""; return { position: position, symbol: symbol, delimiter: delimiter } }, getCurrencySymbol: function(currency) { if (!currency) { currency = (0, _config.default)().defaultCurrency } var symbolInfo = this._getCurrencySymbolInfo(currency); return { symbol: symbolInfo.symbol } }, getOpenXmlCurrencyFormat: function(currency) { var targetCurrency = currency || (0, _config.default)().defaultCurrency; var currencySymbol = this._getCurrencySymbolInfo(targetCurrency).symbol; var closestAccountingFormat = _core.default.getValueByClosestLocale((function(locale) { return _accounting_formats.default[locale] })); return (0, _open_xml_currency_format.default)(currencySymbol, closestAccountingFormat) } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 9821: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/language_codes.js ***! \****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getLanguageId = function() { return LANGUAGE_CODES[_core.default.locale()] }; var _core = (obj = __webpack_require__( /*! ./core */ 91331), obj && obj.__esModule ? obj : { default: obj }); var obj; var LANGUAGE_CODES = { ar: 1, bg: 2, ca: 3, "zh-Hans": 4, cs: 5, da: 6, de: 7, el: 8, en: 9, es: 10, fi: 11, fr: 12, he: 13, hu: 14, is: 15, it: 16, ja: 17, ko: 18, nl: 19, no: 20, pl: 21, pt: 22, rm: 23, ro: 24, ru: 25, hr: 26, sk: 27, sq: 28, sv: 29, th: 30, tr: 31, ur: 32, id: 33, uk: 34, be: 35, sl: 36, et: 37, lv: 38, lt: 39, tg: 40, fa: 41, vi: 42, hy: 43, az: 44, eu: 45, hsb: 46, mk: 47, tn: 50, xh: 52, zu: 53, af: 54, ka: 55, fo: 56, hi: 57, mt: 58, se: 59, ga: 60, ms: 62, kk: 63, ky: 64, sw: 65, tk: 66, uz: 67, tt: 68, bn: 69, pa: 70, gu: 71, or: 72, ta: 73, te: 74, kn: 75, ml: 76, as: 77, mr: 78, sa: 79, mn: 80, bo: 81, cy: 82, km: 83, lo: 84, gl: 86, kok: 87, syr: 90, si: 91, iu: 93, am: 94, tzm: 95, ne: 97, fy: 98, ps: 99, fil: 100, dv: 101, ha: 104, yo: 106, quz: 107, nso: 108, ba: 109, lb: 110, kl: 111, ig: 112, ii: 120, arn: 122, moh: 124, br: 126, ug: 128, mi: 129, oc: 130, co: 131, gsw: 132, sah: 133, qut: 134, rw: 135, wo: 136, prs: 140, gd: 145, "ar-SA": 1025, "bg-BG": 1026, "ca-ES": 1027, "zh-TW": 1028, "cs-CZ": 1029, "da-DK": 1030, "de-DE": 1031, "el-GR": 1032, "en-US": 1033, "fi-FI": 1035, "fr-FR": 1036, "he-IL": 1037, "hu-HU": 1038, "is-IS": 1039, "it-IT": 1040, "ja-JP": 1041, "ko-KR": 1042, "nl-NL": 1043, "nb-NO": 1044, "pl-PL": 1045, "pt-BR": 1046, "rm-CH": 1047, "ro-RO": 1048, "ru-RU": 1049, "hr-HR": 1050, "sk-SK": 1051, "sq-AL": 1052, "sv-SE": 1053, "th-TH": 1054, "tr-TR": 1055, "ur-PK": 1056, "id-ID": 1057, "uk-UA": 1058, "be-BY": 1059, "sl-SI": 1060, "et-EE": 1061, "lv-LV": 1062, "lt-LT": 1063, "tg-Cyrl-TJ": 1064, "fa-IR": 1065, "vi-VN": 1066, "hy-AM": 1067, "az-Latn-AZ": 1068, "eu-ES": 1069, "hsb-DE": 1070, "mk-MK": 1071, "tn-ZA": 1074, "xh-ZA": 1076, "zu-ZA": 1077, "af-ZA": 1078, "ka-GE": 1079, "fo-FO": 1080, "hi-IN": 1081, "mt-MT": 1082, "se-NO": 1083, "ms-MY": 1086, "kk-KZ": 1087, "ky-KG": 1088, "sw-KE": 1089, "tk-TM": 1090, "uz-Latn-UZ": 1091, "tt-RU": 1092, "bn-IN": 1093, "pa-IN": 1094, "gu-IN": 1095, "or-IN": 1096, "ta-IN": 1097, "te-IN": 1098, "kn-IN": 1099, "ml-IN": 1100, "as-IN": 1101, "mr-IN": 1102, "sa-IN": 1103, "mn-MN": 1104, "bo-CN": 1105, "cy-GB": 1106, "km-KH": 1107, "lo-LA": 1108, "gl-ES": 1110, "kok-IN": 1111, "syr-SY": 1114, "si-LK": 1115, "iu-Cans-CA": 1117, "am-ET": 1118, "ne-NP": 1121, "fy-NL": 1122, "ps-AF": 1123, "fil-PH": 1124, "dv-MV": 1125, "ha-Latn-NG": 1128, "yo-NG": 1130, "quz-BO": 1131, "nso-ZA": 1132, "ba-RU": 1133, "lb-LU": 1134, "kl-GL": 1135, "ig-NG": 1136, "ii-CN": 1144, "arn-CL": 1146, "moh-CA": 1148, "br-FR": 1150, "ug-CN": 1152, "mi-NZ": 1153, "oc-FR": 1154, "co-FR": 1155, "gsw-FR": 1156, "sah-RU": 1157, "qut-GT": 1158, "rw-RW": 1159, "wo-SN": 1160, "prs-AF": 1164, "gd-GB": 1169, "ar-IQ": 2049, "zh-CN": 2052, "de-CH": 2055, "en-GB": 2057, "es-MX": 2058, "fr-BE": 2060, "it-CH": 2064, "nl-BE": 2067, "nn-NO": 2068, "pt-PT": 2070, "sr-Latn-CS": 2074, "sv-FI": 2077, "az-Cyrl-AZ": 2092, "dsb-DE": 2094, "se-SE": 2107, "ga-IE": 2108, "ms-BN": 2110, "uz-Cyrl-UZ": 2115, "bn-BD": 2117, "mn-Mong-CN": 2128, "iu-Latn-CA": 2141, "tzm-Latn-DZ": 2143, "quz-EC": 2155, "ar-EG": 3073, "zh-HK": 3076, "de-AT": 3079, "en-AU": 3081, "es-ES": 3082, "fr-CA": 3084, "sr-Cyrl-CS": 3098, "se-FI": 3131, "quz-PE": 3179, "ar-LY": 4097, "zh-SG": 4100, "de-LU": 4103, "en-CA": 4105, "es-GT": 4106, "fr-CH": 4108, "hr-BA": 4122, "smj-NO": 4155, "ar-DZ": 5121, "zh-MO": 5124, "de-LI": 5127, "en-NZ": 5129, "es-CR": 5130, "fr-LU": 5132, "bs-Latn-BA": 5146, "smj-SE": 5179, "ar-MA": 6145, "en-IE": 6153, "es-PA": 6154, "fr-MC": 6156, "sr-Latn-BA": 6170, "sma-NO": 6203, "ar-TN": 7169, "en-ZA": 7177, "es-DO": 7178, "sr-Cyrl-BA": 7194, "sma-SE": 7227, "ar-OM": 8193, "en-JM": 8201, "es-VE": 8202, "bs-Cyrl-BA": 8218, "sms-FI": 8251, "ar-YE": 9217, "en-029": 9225, "es-CO": 9226, "sr-Latn-RS": 9242, "smn-FI": 9275, "ar-SY": 10241, "en-BZ": 10249, "es-PE": 10250, "sr-Cyrl-RS": 10266, "ar-JO": 11265, "en-TT": 11273, "es-AR": 11274, "sr-Latn-ME": 11290, "ar-LB": 12289, "en-ZW": 12297, "es-EC": 12298, "sr-Cyrl-ME": 12314, "ar-KW": 13313, "en-PH": 13321, "es-CL": 13322, "ar-AE": 14337, "es-UY": 14346, "ar-BH": 15361, "es-PY": 15370, "ar-QA": 16385, "en-IN": 16393, "es-BO": 16394, "en-MY": 17417, "es-SV": 17418, "en-SG": 18441, "es-HN": 18442, "es-NI": 19466, "es-PR": 20490, "es-US": 21514, "bs-Cyrl": 25626, "bs-Latn": 26650, "sr-Cyrl": 27674, "sr-Latn": 28698, smn: 28731, "az-Cyrl": 29740, sms: 29755, zh: 30724, nn: 30740, bs: 30746, "az-Latn": 30764, sma: 30779, "uz-Cyrl": 30787, "mn-Cyrl": 30800, "iu-Cans": 30813, "zh-Hant": 31748, nb: 31764, sr: 31770, "tg-Cyrl": 31784, dsb: 31790, smj: 31803, "uz-Latn": 31811, "mn-Mong": 31824, "iu-Latn": 31837, "tzm-Latn": 31839, "ha-Latn": 31848 } }, 59937: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/ldml/date.format.js ***! \******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getFormat = void 0; var _number = (obj = __webpack_require__( /*! ../number */ 18016), obj && obj.__esModule ? obj : { default: obj }); var obj; var FORMAT_SEPARATORS = " .,:;/\\<>()-[]\u060c"; var checkDigit = function(char) { var code = char && _number.default.convertDigits(char, false).charCodeAt(0); var zeroCode = _number.default.convertDigits("0", false).charCodeAt(0); return zeroCode <= code && code < zeroCode + 10 }; var checkPatternContinue = function(text, patterns, index, isDigit) { var char = text[index]; var nextChar = text[index + 1]; if (!isDigit) { if ("." === char || " " === char && ". m." === text.slice(index - 1, index + 3)) { return true } if ("-" === char && !checkDigit(nextChar)) { return true } } var isDigitChanged = isDigit && patterns.some((function(pattern) { return text[index] !== pattern[index] })); return FORMAT_SEPARATORS.indexOf(char) < 0 && isDigit === checkDigit(char) && (!isDigit || isDigitChanged) }; var getPatternStartIndex = function(defaultPattern, index) { if (!checkDigit(defaultPattern[index])) { while (index > 0 && !checkDigit(defaultPattern[index - 1]) && ("." === defaultPattern[index - 1] || FORMAT_SEPARATORS.indexOf(defaultPattern[index - 1]) < 0)) { index-- } } return index }; var formatValue = function(value, formatter) { if (Array.isArray(value)) { return value.map((function(value) { return (formatter(value) || "").toString() })) } return (formatter(value) || "").toString() }; var ESCAPE_CHARS_REGEXP = /[a-zA-Z]/g; exports.getFormat = function(formatter) { var processedIndexes = []; var defaultPattern = formatValue(new Date(2009, 8, 8, 6, 5, 4), formatter); var patternPositions = defaultPattern.split("").map((function(_, index) { return index })); var result = defaultPattern; var replacedPatterns = {}; var datePatterns = [{ date: new Date(2009, 8, 8, 6, 5, 4, 111), pattern: "S" }, { date: new Date(2009, 8, 8, 6, 5, 2), pattern: "s" }, { date: new Date(2009, 8, 8, 6, 2, 4), pattern: "m" }, { date: new Date(2009, 8, 8, 18, 5, 4), pattern: "H", isDigit: true }, { date: new Date(2009, 8, 8, 2, 5, 4), pattern: "h", isDigit: true }, { date: new Date(2009, 8, 8, 18, 5, 4), pattern: "a", isDigit: false }, { date: new Date(2009, 8, 1, 6, 5, 4), pattern: "d" }, { date: [new Date(2009, 8, 2, 6, 5, 4), new Date(2009, 8, 3, 6, 5, 4), new Date(2009, 8, 4, 6, 5, 4)], pattern: "E" }, { date: new Date(2009, 9, 6, 6, 5, 4), pattern: "M" }, { date: new Date(1998, 8, 8, 6, 5, 4), pattern: "y" }]; if (!result) { return } datePatterns.forEach((function(test) { var diff = function(defaultPattern, patterns, processedIndexes, isDigit) { var i = 0; var result = []; var patternsFilter = function(pattern) { return defaultPattern[i] !== pattern[i] && (void 0 === isDigit || checkDigit(defaultPattern[i]) === isDigit) }; if (!Array.isArray(patterns)) { patterns = [patterns] } for (i = 0; i < defaultPattern.length; i++) { if (processedIndexes.indexOf(i) < 0 && patterns.filter(patternsFilter).length) { i = getPatternStartIndex(defaultPattern, i); do { isDigit = checkDigit(defaultPattern[i]); if (!result.length && !isDigit && checkDigit(patterns[0][i])) { break } result.push(i); processedIndexes.unshift(i); i++ } while (defaultPattern[i] && checkPatternContinue(defaultPattern, patterns, i, isDigit)); break } } if (1 === result.length && ("0" === defaultPattern[processedIndexes[0] - 1] || "\u0660" === defaultPattern[processedIndexes[0] - 1])) { processedIndexes.unshift(processedIndexes[0] - 1) } return result }(defaultPattern, formatValue(test.date, formatter), processedIndexes, test.isDigit); var pattern = "M" === test.pattern && !replacedPatterns.d ? "L" : test.pattern; result = function(pattern, indexes, char, patternPositions) { var i; var index; var patternIndex; if (!checkDigit(pattern[indexes[0]] || "0")) { var letterCount = Math.max(indexes.length <= 3 ? 3 : 4, char.length); while (indexes.length > letterCount) { index = indexes.pop(); patternIndex = patternPositions[index]; patternPositions[index] = -1; for (i = index + 1; i < patternPositions.length; i++) { patternPositions[i]-- } pattern = pattern.substr(0, patternIndex) + pattern.substr(patternIndex + 1) } index = indexes[indexes.length - 1] + 1, patternIndex = index < patternPositions.length ? patternPositions[index] : index; while (indexes.length < letterCount) { indexes.push(indexes[indexes.length - 1] + 1); for (i = index; i < patternPositions.length; i++) { patternPositions[i]++ } pattern = pattern.substr(0, patternIndex) + " " + pattern.substr(patternIndex) } } pattern = function(pattern, indexes, char, patternPositions) { var baseCharIndex = indexes[0]; var patternIndex = baseCharIndex < patternPositions.length ? patternPositions[baseCharIndex] : baseCharIndex; indexes.forEach((function(_, index) { pattern = pattern.substr(0, patternIndex + index) + (char.length > 1 ? char[index] : char) + pattern.substr(patternIndex + index + 1) })); if (1 === indexes.length) { pattern = pattern.replace("0" + char, char + char); pattern = pattern.replace("\u0660" + char, char + char) } return pattern }(pattern, indexes, char, patternPositions); return pattern }(result, diff, pattern, patternPositions); replacedPatterns[pattern] = diff.length })); result = function(pattern, defaultPattern, processedIndexes, patternPositions) { var escapeIndexes = defaultPattern.split("").map((function(char, index) { if (processedIndexes.indexOf(index) < 0 && (char.match(ESCAPE_CHARS_REGEXP) || "'" === char)) { return patternPositions[index] } return -1 })); pattern = pattern.split("").map((function(char, index) { var result = char; var isCurrentCharEscaped = escapeIndexes.indexOf(index) >= 0; var isPrevCharEscaped = index > 0 && escapeIndexes.indexOf(index - 1) >= 0; var isNextCharEscaped = escapeIndexes.indexOf(index + 1) >= 0; if (isCurrentCharEscaped) { if (!isPrevCharEscaped) { result = "'" + result } if (!isNextCharEscaped) { result += "'" } } return result })).join(""); return pattern }(result, defaultPattern, processedIndexes, patternPositions); if (processedIndexes.length) { return result } } }, 40594: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/ldml/date.formatter.js ***! \*********************************************************************************/ function(__unused_webpack_module, exports) { exports.getFormatter = void 0; function leftPad(text, length) { while (text.length < length) { text = "0" + text } return text } var FORMAT_TYPES = { 3: "abbreviated", 4: "wide", 5: "narrow" }; var LDML_FORMATTERS = { y: function(date, count, useUtc) { var year = date[useUtc ? "getUTCFullYear" : "getFullYear"](); if (2 === count) { year %= 100 } return leftPad(year.toString(), count) }, M: function(date, count, useUtc, dateParts) { var month = date[useUtc ? "getUTCMonth" : "getMonth"](); var formatType = FORMAT_TYPES[count]; if (formatType) { return dateParts.getMonthNames(formatType, "format")[month] } return leftPad((month + 1).toString(), Math.min(count, 2)) }, L: function(date, count, useUtc, dateParts) { var month = date[useUtc ? "getUTCMonth" : "getMonth"](); var formatType = FORMAT_TYPES[count]; if (formatType) { return dateParts.getMonthNames(formatType, "standalone")[month] } return leftPad((month + 1).toString(), Math.min(count, 2)) }, Q: function(date, count, useUtc, dateParts) { var month = date[useUtc ? "getUTCMonth" : "getMonth"](); var quarter = Math.floor(month / 3); var formatType = FORMAT_TYPES[count]; if (formatType) { return dateParts.getQuarterNames(formatType)[quarter] } return leftPad((quarter + 1).toString(), Math.min(count, 2)) }, E: function(date, count, useUtc, dateParts) { var day = date[useUtc ? "getUTCDay" : "getDay"](); var formatType = FORMAT_TYPES[count < 3 ? 3 : count]; return dateParts.getDayNames(formatType)[day] }, a: function(date, count, useUtc, dateParts) { var hours = date[useUtc ? "getUTCHours" : "getHours"](); var period = hours < 12 ? 0 : 1; var formatType = FORMAT_TYPES[count]; return dateParts.getPeriodNames(formatType)[period] }, d: function(date, count, useUtc) { return leftPad(date[useUtc ? "getUTCDate" : "getDate"]().toString(), Math.min(count, 2)) }, H: function(date, count, useUtc) { return leftPad(date[useUtc ? "getUTCHours" : "getHours"]().toString(), Math.min(count, 2)) }, h: function(date, count, useUtc) { var hours = date[useUtc ? "getUTCHours" : "getHours"](); return leftPad((hours % 12 || 12).toString(), Math.min(count, 2)) }, m: function(date, count, useUtc) { return leftPad(date[useUtc ? "getUTCMinutes" : "getMinutes"]().toString(), Math.min(count, 2)) }, s: function(date, count, useUtc) { return leftPad(date[useUtc ? "getUTCSeconds" : "getSeconds"]().toString(), Math.min(count, 2)) }, S: function(date, count, useUtc) { return leftPad(date[useUtc ? "getUTCMilliseconds" : "getMilliseconds"]().toString(), 3).substr(0, count) }, x: function(date, count, useUtc) { var timezoneOffset = useUtc ? 0 : date.getTimezoneOffset(); var signPart = timezoneOffset > 0 ? "-" : "+"; var timezoneOffsetAbs = Math.abs(timezoneOffset); var hours = Math.floor(timezoneOffsetAbs / 60); var minutes = timezoneOffsetAbs % 60; var hoursPart = leftPad(hours.toString(), 2); var minutesPart = leftPad(minutes.toString(), 2); return signPart + hoursPart + (count >= 3 ? ":" : "") + (count > 1 || minutes ? minutesPart : "") }, X: function(date, count, useUtc) { if (useUtc || !date.getTimezoneOffset()) { return "Z" } return LDML_FORMATTERS.x(date, count, useUtc) }, Z: function(date, count, useUtc) { return LDML_FORMATTERS.X(date, count >= 5 ? 3 : 2, useUtc) } }; exports.getFormatter = function(format, dateParts) { return function(date) { var charIndex; var formatter; var char; var charCount = 0; var isEscaping = false; var isCurrentCharEqualsNext; var result = ""; if (!date) { return null } if (!format) { return date } var useUtc = "Z" === format[format.length - 1] || "'Z'" === format.slice(-3); for (charIndex = 0; charIndex < format.length; charIndex++) { char = format[charIndex]; formatter = LDML_FORMATTERS[char]; isCurrentCharEqualsNext = char === format[charIndex + 1]; charCount++; if (!isCurrentCharEqualsNext) { if (formatter && !isEscaping) { result += formatter(date, charCount, useUtc, dateParts) } charCount = 0 } if ("'" === char && !isCurrentCharEqualsNext) { isEscaping = !isEscaping } else if (isEscaping || !formatter) { result += char } if ("'" === char && isCurrentCharEqualsNext) { charIndex++ } } return result } } }, 2892: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/ldml/date.parser.js ***! \******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.isPossibleForParsingFormat = exports.getRegExpInfo = exports.getPatternSetters = exports.getParser = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _console = __webpack_require__( /*! ../../core/utils/console */ 30869); var FORMAT_TYPES = { 3: "abbreviated", 4: "wide", 5: "narrow" }; var monthRegExpGenerator = function(count, dateParts) { if (count > 2) { return Object.keys(FORMAT_TYPES).map((function(count) { return ["format", "standalone"].map((function(type) { return dateParts.getMonthNames(FORMAT_TYPES[count], type).join("|") })).join("|") })).join("|") } return 2 === count ? "1[012]|0?[1-9]" : "0??[1-9]|1[012]" }; var PATTERN_REGEXPS = { ":": function(count, dateParts) { var countSuffix = count > 1 ? "{".concat(count, "}") : ""; var timeSeparator = (0, _common.escapeRegExp)(dateParts.getTimeSeparator()); ":" !== timeSeparator && (timeSeparator = "".concat(timeSeparator, "|:")); return "".concat(timeSeparator).concat(countSuffix) }, y: function(count) { return 2 === count ? "[0-9]{".concat(count, "}") : "[0-9]+?" }, M: monthRegExpGenerator, L: monthRegExpGenerator, Q: function(count, dateParts) { if (count > 2) { return dateParts.getQuarterNames(FORMAT_TYPES[count], "format").join("|") } return "0?[1-4]" }, E: function(count, dateParts) { return "\\D*" }, a: function(count, dateParts) { return dateParts.getPeriodNames(FORMAT_TYPES[count < 3 ? 3 : count], "format").join("|") }, d: function(count) { return 2 === count ? "3[01]|[12][0-9]|0?[1-9]" : "0??[1-9]|[12][0-9]|3[01]" }, H: function(count) { return 2 === count ? "2[0-3]|1[0-9]|0?[0-9]" : "0??[0-9]|1[0-9]|2[0-3]" }, h: function(count) { return 2 === count ? "1[012]|0?[1-9]" : "0??[1-9]|1[012]" }, m: function(count) { return 2 === count ? "[1-5][0-9]|0?[0-9]" : "0??[0-9]|[1-5][0-9]" }, s: function(count) { return 2 === count ? "[1-5][0-9]|0?[0-9]" : "0??[0-9]|[1-5][0-9]" }, S: function(count) { return "[0-9]{1,".concat(count, "}") }, w: function(count) { return 2 === count ? "[1-5][0-9]|0?[0-9]" : "0??[0-9]|[1-5][0-9]" } }; var parseNumber = Number; var caseInsensitiveIndexOf = function(array, value) { return array.map((function(item) { return item.toLowerCase() })).indexOf(value.toLowerCase()) }; var monthPatternParser = function(text, count, dateParts) { if (count > 2) { return ["format", "standalone"].map((function(type) { return Object.keys(FORMAT_TYPES).map((function(count) { var monthNames = dateParts.getMonthNames(FORMAT_TYPES[count], type); return caseInsensitiveIndexOf(monthNames, text) })) })).reduce((function(a, b) { return a.concat(b) })).filter((function(index) { return index >= 0 }))[0] } return parseNumber(text) - 1 }; var PATTERN_PARSERS = { y: function(text, count) { var year = parseNumber(text); if (2 === count) { return year < 30 ? 2e3 + year : 1900 + year } return year }, M: monthPatternParser, L: monthPatternParser, Q: function(text, count, dateParts) { if (count > 2) { return dateParts.getQuarterNames(FORMAT_TYPES[count], "format").indexOf(text) } return parseNumber(text) - 1 }, E: function(text, count, dateParts) { var dayNames = dateParts.getDayNames(FORMAT_TYPES[count < 3 ? 3 : count], "format"); return caseInsensitiveIndexOf(dayNames, text) }, a: function(text, count, dateParts) { var periodNames = dateParts.getPeriodNames(FORMAT_TYPES[count < 3 ? 3 : count], "format"); return caseInsensitiveIndexOf(periodNames, text) }, d: parseNumber, H: parseNumber, h: parseNumber, m: parseNumber, s: parseNumber, S: function(text, count) { count = Math.max(count, 3); text = text.slice(0, 3); while (count < 3) { text += "0"; count++ } return parseNumber(text) } }; var ORDERED_PATTERNS = ["y", "M", "d", "h", "m", "s", "S"]; var PATTERN_SETTERS = { y: "setFullYear", M: "setMonth", L: "setMonth", a: function(date, value, datePartValues) { var hours = date.getHours(); var hourPartValue = datePartValues.h; if (void 0 !== hourPartValue && hourPartValue !== hours) { hours-- } if (!value && 12 === hours) { hours = 0 } else if (value && 12 !== hours) { hours += 12 } date.setHours(hours) }, d: "setDate", H: "setHours", h: "setHours", m: "setMinutes", s: "setSeconds", S: "setMilliseconds" }; var getSameCharCount = function(text, index) { var char = text[index]; if (!char) { return 0 } var count = 0; do { index++; count++ } while (text[index] === char); return count }; var createPattern = function(char, count) { var result = ""; for (var i = 0; i < count; i++) { result += char } return result }; var getRegExpInfo = function(format, dateParts) { var regexpText = ""; var stubText = ""; var isEscaping; var patterns = []; var addPreviousStub = function() { if (stubText) { patterns.push("'".concat(stubText, "'")); regexpText += "".concat((0, _common.escapeRegExp)(stubText), ")"); stubText = "" } }; for (var i = 0; i < format.length; i++) { var char = format[i]; var isEscapeChar = "'" === char; var regexpPart = PATTERN_REGEXPS[char]; if (isEscapeChar) { isEscaping = !isEscaping; if ("'" !== format[i - 1]) { continue } } if (regexpPart && !isEscaping) { var count = getSameCharCount(format, i); var pattern = createPattern(char, count); addPreviousStub(); patterns.push(pattern); regexpText += "(".concat(regexpPart(count, dateParts), ")"); i += count - 1 } else { if (!stubText) { regexpText += "(" } stubText += char } } addPreviousStub(); if (!isPossibleForParsingFormat(patterns)) { _console.logger.warn("The following format may be parsed incorrectly: ".concat(format, ".")) } return { patterns: patterns, regexp: new RegExp("^".concat(regexpText, "$"), "i") } }; exports.getRegExpInfo = getRegExpInfo; var digitFieldSymbols = ["d", "H", "h", "m", "s", "w", "M", "L", "Q"]; var isPossibleForParsingFormat = function(patterns) { var isDigitPattern = function(pattern) { if (!pattern) { return false } var char = pattern[0]; return ["y", "S"].includes(char) || digitFieldSymbols.includes(char) && pattern.length < 3 }; var possibleForParsing = true; var ambiguousDigitPatternsCount = 0; return patterns.every((function(pattern, index, patterns) { if (isDigitPattern(pattern)) { if (function(pattern) { return "S" !== pattern[0] && 2 !== pattern.length }(pattern)) { possibleForParsing = ++ambiguousDigitPatternsCount < 2 } if (!isDigitPattern(patterns[index + 1])) { ambiguousDigitPatternsCount = 0 } } return possibleForParsing })) }; exports.isPossibleForParsingFormat = isPossibleForParsingFormat; exports.getPatternSetters = function() { return PATTERN_SETTERS }; exports.getParser = function(format, dateParts) { var regExpInfo = getRegExpInfo(format, dateParts); return function(text) { var regExpResult = regExpInfo.regexp.exec(text); if (regExpResult) { var now = new Date; var date = new Date(now.getFullYear(), 0, 1); var formatPatterns = (fullPatterns = regExpInfo.patterns, fullPatterns.map((function(pattern) { if ("'" === pattern[0]) { return "" } else { return "H" === pattern[0] ? "h" : pattern[0] } }))); var maxPatternIndex = (patterns = formatPatterns, indexes = patterns.map((function(pattern) { return ORDERED_PATTERNS.indexOf(pattern) })), Math.max.apply(Math, indexes)); var orderedFormatPatterns = function(formatPatterns) { var otherPatterns = formatPatterns.filter((function(pattern) { return ORDERED_PATTERNS.indexOf(pattern) < 0 })); return ORDERED_PATTERNS.concat(otherPatterns) }(formatPatterns); var datePartValues = {}; orderedFormatPatterns.forEach((function(pattern, index) { if (!pattern || index < ORDERED_PATTERNS.length && index > maxPatternIndex) { return } var patternIndex = formatPatterns.indexOf(pattern); if (patternIndex >= 0) { var regExpPattern = regExpInfo.patterns[patternIndex]; var regExpText = regExpResult[patternIndex + 1]; ! function(date, pattern, text, dateParts, datePartValues) { var patternChar = pattern[0]; var partSetter = PATTERN_SETTERS[patternChar]; var partParser = PATTERN_PARSERS[patternChar]; if (partSetter && partParser) { var value = partParser(text, pattern.length, dateParts); datePartValues[pattern] = value; if (date[partSetter]) { date[partSetter](value) } else { partSetter(date, value, datePartValues) } } }(date, regExpPattern, regExpText, dateParts, datePartValues) } else { ! function(date, pattern, now) { var setterName = PATTERN_SETTERS[pattern]; var getterName = "g" + setterName.substr(1); var value = now[getterName](); date[setterName](value) }(date, pattern, now) } })); return date } var patterns, indexes; var fullPatterns; return null } } }, 70629: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/ldml/number.js ***! \*************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getFormat = function(formatter) { var valueText = "."; var isPercent = formatter(1).indexOf("100") >= 0; valueText = prepareValueText(valueText, formatter, isPercent, true); valueText = prepareValueText(valueText, formatter, isPercent, false); var positiveFormat = getFormatByValueText(valueText, formatter, isPercent, false); var negativeFormat = getFormatByValueText(valueText, formatter, isPercent, true); return negativeFormat === "-" + positiveFormat ? positiveFormat : positiveFormat + ";" + negativeFormat }; exports.getFormatter = function(format, config) { config = config || DEFAULT_CONFIG; return function(value) { if ("number" !== typeof value || isNaN(value)) { return "" } var signFormatParts = function(format) { var signParts = format.split(";"); if (1 === signParts.length) { signParts.push("-" + signParts[0]) } return signParts }(format); var isPositiveZero = 1 / value === 1 / 0; var isPositive = value > 0 || isPositiveZero; var numberFormat = signFormatParts[isPositive ? 0 : 1]; var floatPointIndex = function(format) { var isEscape = false; for (var index = 0; index < format.length; index++) { if ("'" === format[index]) { isEscape = !isEscape } if ("." === format[index] && !isEscape) { return index } } return format.length }(numberFormat); var floatFormatParts = [numberFormat.substr(0, floatPointIndex), numberFormat.substr(floatPointIndex + 1)]; var minFloatPrecision = getRequiredDigitCount(floatFormatParts[1]); var maxFloatPrecision = minFloatPrecision + getNonRequiredDigitCount(floatFormatParts[1]); if (function(format) { return -1 !== format.indexOf("%") && !format.match(/'[^']*%[^']*'/g) }(numberFormat)) { value = (0, _math.multiplyInExponentialForm)(value, 2) } if (!isPositive) { value = -value } var minIntegerPrecision = getRequiredDigitCount(floatFormatParts[0]); var maxIntegerPrecision = getNonRequiredDigitCount(floatFormatParts[0]) || config.unlimitedIntegerDigits ? void 0 : minIntegerPrecision; var integerLength = Math.floor(value).toString().length; var floatPrecision = (0, _math.fitIntoRange)(maxFloatPrecision, 0, 15 - integerLength); var groupSizes = (formatString = floatFormatParts[0], formatString.split(",").slice(1).map((function(str) { var singleQuotesLeft = 0; return str.split("").filter((function(char, index) { singleQuotesLeft += "'" === char; var isDigit = "#" === char || "0" === char; var isInStub = singleQuotesLeft % 2; return isDigit && !isInStub })).length }))).reverse(); var formatString; var valueParts = (0, _utils.toFixed)(value, floatPrecision < 0 ? 0 : floatPrecision).split("."); var valueIntegerPart = normalizeValueString(reverseString(valueParts[0]), minIntegerPrecision, maxIntegerPrecision); var valueFloatPart = normalizeValueString(valueParts[1], minFloatPrecision, maxFloatPrecision); valueIntegerPart = function(valueString, groupSizes, thousandsSeparator) { if (!groupSizes.length) { return valueString } var groups = []; var index = 0; while (valueString) { var groupSize = groupSizes[index]; if (!groupSize) { break } groups.push(valueString.slice(0, groupSize)); valueString = valueString.slice(groupSize); if (index < groupSizes.length - 1) { index++ } } return groups.join(thousandsSeparator) }(valueIntegerPart, groupSizes, config.thousandsSeparator); var integerString = reverseString(formatNumberPart(reverseString(floatFormatParts[0]), valueIntegerPart)); var floatString = maxFloatPrecision ? formatNumberPart(floatFormatParts[1], valueFloatPart) : ""; var result = integerString + (floatString.match(/\d/) ? config.decimalSeparator : "") + floatString; return result } }; var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _utils = __webpack_require__( /*! ../utils */ 97360); var DEFAULT_CONFIG = { thousandsSeparator: ",", decimalSeparator: "." }; function reverseString(str) { return str.toString().split("").reverse().join("") } function removeStubs(str) { return str.replace(/'.+'/g, "") } function getNonRequiredDigitCount(floatFormat) { if (!floatFormat) { return 0 } var format = removeStubs(floatFormat); return format.length - format.replace(/[#]/g, "").length } function getRequiredDigitCount(floatFormat) { if (!floatFormat) { return 0 } var format = removeStubs(floatFormat); return format.length - format.replace(/[0]/g, "").length } function normalizeValueString(valuePart, minDigitCount, maxDigitCount) { if (!valuePart) { return "" } if (valuePart.length > maxDigitCount) { valuePart = valuePart.substr(0, maxDigitCount) } while (valuePart.length > minDigitCount && "0" === valuePart.slice(-1)) { valuePart = valuePart.substr(0, valuePart.length - 1) } while (valuePart.length < minDigitCount) { valuePart += "0" } return valuePart } function formatNumberPart(format, valueString) { return format.split("'").map((function(formatPart, escapeIndex) { var isEscape = escapeIndex % 2; if (!formatPart && isEscape) { return "'" } return isEscape ? formatPart : formatPart.replace(/[,#0]+/, valueString) })).join("") } function parseValue(text, isPercent, isNegative) { var value = (isPercent ? .01 : 1) * parseFloat(text) || 0; return isNegative ? -value : value } function prepareValueText(valueText, formatter, isPercent, isIntegerPart) { var nextValueText = valueText; var char; var text; var nextText; do { if (nextText) { char = text.length === nextText.length ? "0" : "1"; valueText = isIntegerPart ? char + valueText : valueText + char } text = nextText || formatter(parseValue(nextValueText, isPercent)); nextValueText = isIntegerPart ? "1" + nextValueText : nextValueText + "1"; nextText = formatter(parseValue(nextValueText, isPercent)) } while (text !== nextText && (isIntegerPart ? text.length === nextText.length : text.length <= nextText.length)); if (isIntegerPart && nextText.length > text.length) { var hasGroups = -1 === formatter(12345).indexOf("12345"); do { valueText = "1" + valueText } while (hasGroups && parseValue(valueText, isPercent) < 1e5) } return valueText } function getFormatByValueText(valueText, formatter, isPercent, isNegative) { var format = formatter(parseValue(valueText, isPercent, isNegative)); var valueTextParts = valueText.split("."); var valueTextWithModifiedFloat = valueTextParts[0] + ".3" + valueTextParts[1].slice(1); var valueWithModifiedFloat = parseValue(valueTextWithModifiedFloat, isPercent, isNegative); var decimalSeparatorIndex = formatter(valueWithModifiedFloat).indexOf("3") - 1; format = format.replace(/(\d)\D(\d)/g, "$1,$2"); if (decimalSeparatorIndex >= 0) { format = format.slice(0, decimalSeparatorIndex) + "." + format.slice(decimalSeparatorIndex + 1) } format = format.replace(/1+/, "1").replace(/1/g, "#"); if (!isPercent) { format = format.replace("%", "'%'") } return format } }, 28109: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/message.js ***! \*********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _dependency_injector = _interopRequireDefault(__webpack_require__( /*! ../core/utils/dependency_injector */ 20476)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _string = __webpack_require__( /*! ../core/utils/string */ 68752); var _inflector = __webpack_require__( /*! ../core/utils/inflector */ 78008); var _core = _interopRequireDefault(__webpack_require__( /*! ./core */ 91331)); var _default_messages = __webpack_require__( /*! ./default_messages */ 18121); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var baseDictionary = (0, _extend.extend)(true, {}, _default_messages.defaultMessages); var newMessages = {}; var messageLocalization = (0, _dependency_injector.default)({ engine: function() { return "base" }, _dictionary: baseDictionary, load: function(messages) { (0, _extend.extend)(true, this._dictionary, messages) }, _localizablePrefix: "@", setup: function(localizablePrefix) { this._localizablePrefix = localizablePrefix }, localizeString: function(text) { var that = this; var regex = new RegExp("(^|[^a-zA-Z_0-9" + that._localizablePrefix + "-]+)(" + that._localizablePrefix + "{1,2})([a-zA-Z_0-9-]+)", "g"); var escapeString = that._localizablePrefix + that._localizablePrefix; return text.replace(regex, (function(str, prefix, escape, localizationKey) { var defaultResult = that._localizablePrefix + localizationKey; var result; if (escape !== escapeString) { result = that.format(localizationKey) } if (!result) { newMessages[localizationKey] = (0, _inflector.humanize)(localizationKey) } return prefix + (result || defaultResult) })) }, getMessagesByLocales: function() { return this._dictionary }, getDictionary: function(onlyNew) { if (onlyNew) { return newMessages } return (0, _extend.extend)({}, newMessages, this.getMessagesByLocales()[_core.default.locale()]) }, getFormatter: function(key) { return this._getFormatterBase(key) || this._getFormatterBase(key, "en") }, _getFormatterBase: function(key, locale) { var _this = this; var message = _core.default.getValueByClosestLocale((function(locale) { return function(localeData, locale) { return localeData[locale] || {} }(_this._dictionary, locale)[key] })); if (message) { return function() { var args = 1 === arguments.length && Array.isArray(arguments[0]) ? arguments[0].slice(0) : Array.prototype.slice.call(arguments, 0); args.unshift(message); return _string.format.apply(this, args) } } }, format: function(key) { var formatter = this.getFormatter(key); var values = Array.prototype.slice.call(arguments, 1); return formatter && formatter.apply(this, values) || "" } }); var _default = messageLocalization; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 18016: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/number.js ***! \********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _dependency_injector = _interopRequireDefault(__webpack_require__( /*! ../core/utils/dependency_injector */ 20476)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _number = __webpack_require__( /*! ./ldml/number */ 70629); var _config = _interopRequireDefault(__webpack_require__( /*! ../core/config */ 80209)); var _errors = _interopRequireDefault(__webpack_require__( /*! ../core/errors */ 17381)); var _utils = __webpack_require__( /*! ./utils */ 97360); var _currency = _interopRequireDefault(__webpack_require__( /*! ./currency */ 89740)); var _number2 = _interopRequireDefault(__webpack_require__( /*! ./intl/number */ 38702)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var hasIntl = "undefined" !== typeof Intl; var NUMERIC_FORMATS = ["currency", "fixedpoint", "exponential", "percent", "decimal"]; var LargeNumberFormatPostfixes = { 1: "K", 2: "M", 3: "B", 4: "T" }; var LargeNumberFormatPowers = { largenumber: "auto", thousands: 1, millions: 2, billions: 3, trillions: 4 }; var numberLocalization = (0, _dependency_injector.default)({ engine: function() { return "base" }, numericFormats: NUMERIC_FORMATS, defaultLargeNumberFormatPostfixes: LargeNumberFormatPostfixes, _parseNumberFormatString: function(formatType) { var formatObject = {}; if (!formatType || "string" !== typeof formatType) { return } var formatList = formatType.toLowerCase().split(" "); (0, _iterator.each)(formatList, (function(index, value) { if (NUMERIC_FORMATS.includes(value)) { formatObject.formatType = value } else if (value in LargeNumberFormatPowers) { formatObject.power = LargeNumberFormatPowers[value] } })); if (formatObject.power && !formatObject.formatType) { formatObject.formatType = "fixedpoint" } if (formatObject.formatType) { return formatObject } }, _calculateNumberPower: function(value, base, minPower, maxPower) { var number = Math.abs(value); var power = 0; if (number > 1) { while (number && number >= base && (void 0 === maxPower || power < maxPower)) { power++; number /= base } } else if (number > 0 && number < 1) { while (number < 1 && (void 0 === minPower || power > minPower)) { power--; number *= base } } return power }, _getNumberByPower: function(number, power, base) { var result = number; while (power > 0) { result /= base; power-- } while (power < 0) { result *= base; power++ } return result }, _formatNumber: function(value, formatObject, formatConfig) { if ("auto" === formatObject.power) { formatObject.power = this._calculateNumberPower(value, 1e3, 0, 4) } if (formatObject.power) { value = this._getNumberByPower(value, formatObject.power, 1e3) } var powerPostfix = this.defaultLargeNumberFormatPostfixes[formatObject.power] || ""; var result = this._formatNumberCore(value, formatObject.formatType, formatConfig); result = result.replace(/(\d|.$)(\D*)$/, "$1" + powerPostfix + "$2"); return result }, _formatNumberExponential: function(value, formatConfig) { var power = this._calculateNumberPower(value, 10); var number = this._getNumberByPower(value, power, 10); if (void 0 === formatConfig.precision) { formatConfig.precision = 1 } if (number.toFixed(formatConfig.precision || 0) >= 10) { power++; number /= 10 } var powString = (power >= 0 ? "+" : "") + power.toString(); return this._formatNumberCore(number, "fixedpoint", formatConfig) + "E" + powString }, _addZeroes: function(value, precision) { var multiplier = Math.pow(10, precision); var sign = value < 0 ? "-" : ""; value = (Math.abs(value) * multiplier >>> 0) / multiplier; var result = value.toString(); while (result.length < precision) { result = "0" + result } return sign + result }, _addGroupSeparators: function(value) { var parts = value.toString().split("."); return parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, (0, _config.default)().thousandsSeparator) + (parts[1] ? (0, _config.default)().decimalSeparator + parts[1] : "") }, _formatNumberCore: function(value, format, formatConfig) { if ("exponential" === format) { return this._formatNumberExponential(value, formatConfig) } if ("decimal" !== format && null !== formatConfig.precision) { formatConfig.precision = formatConfig.precision || 0 } if ("percent" === format) { value *= 100 } if (void 0 !== formatConfig.precision) { if ("decimal" === format) { value = this._addZeroes(value, formatConfig.precision) } else { value = null === formatConfig.precision ? value.toPrecision() : (0, _utils.toFixed)(value, formatConfig.precision) } } if ("decimal" !== format) { value = this._addGroupSeparators(value) } else { value = value.toString().replace(".", (0, _config.default)().decimalSeparator) } if ("percent" === format) { value += "%" } return value }, _normalizeFormat: function(format) { if (!format) { return {} } if ("function" === typeof format) { return format } if (!(0, _type.isPlainObject)(format)) { format = { type: format } } return format }, _getSeparators: function() { return { decimalSeparator: this.getDecimalSeparator(), thousandsSeparator: this.getThousandsSeparator() } }, getThousandsSeparator: function() { return this.format(1e4, "fixedPoint")[2] }, getDecimalSeparator: function() { return this.format(1.2, { type: "fixedPoint", precision: 1 })[1] }, convertDigits: function(value, toStandard) { var digits = this.format(90, "decimal"); if ("string" !== typeof value || "0" === digits[1]) { return value } var fromFirstDigit = toStandard ? digits[1] : "0"; var toFirstDigit = toStandard ? "0" : digits[1]; var fromLastDigit = toStandard ? digits[0] : "9"; var regExp = new RegExp("[" + fromFirstDigit + "-" + fromLastDigit + "]", "g"); return value.replace(regExp, (function(char) { return String.fromCharCode(char.charCodeAt(0) + (toFirstDigit.charCodeAt(0) - fromFirstDigit.charCodeAt(0))) })) }, getNegativeEtalonRegExp: function(format) { var separators = this._getSeparators(); var digitalRegExp = new RegExp("[0-9" + (0, _common.escapeRegExp)(separators.decimalSeparator + separators.thousandsSeparator) + "]+", "g"); var negativeEtalon = this.format(-1, format).replace(digitalRegExp, "1"); ["\\", "(", ")", "[", "]", "*", "+", "$", "^", "?", "|", "{", "}"].forEach((function(char) { negativeEtalon = negativeEtalon.replace(new RegExp("\\".concat(char), "g"), "\\".concat(char)) })); negativeEtalon = negativeEtalon.replace(/ /g, "\\s"); negativeEtalon = negativeEtalon.replace(/1/g, ".*"); return new RegExp(negativeEtalon, "g") }, getSign: function(text, format) { if (!format) { if ("-" === text.replace(/[^0-9-]/g, "").charAt(0)) { return -1 } return 1 } var negativeEtalon = this.getNegativeEtalonRegExp(format); return text.match(negativeEtalon) ? -1 : 1 }, format: function(value, _format) { if ("number" !== typeof value) { return value } if ("number" === typeof _format) { return value } _format = _format && _format.formatter || _format; if ("function" === typeof _format) { return _format(value) } _format = this._normalizeFormat(_format); if (!_format.type) { _format.type = "decimal" } var numberConfig = this._parseNumberFormatString(_format.type); if (!numberConfig) { var formatterConfig = this._getSeparators(); formatterConfig.unlimitedIntegerDigits = _format.unlimitedIntegerDigits; return this.convertDigits((0, _number.getFormatter)(_format.type, formatterConfig)(value)) } return this._formatNumber(value, numberConfig, _format) }, parse: function(text, format) { if (!text) { return } if (format && format.parser) { return format.parser(text) } text = this.convertDigits(text, true); if (format && "string" !== typeof format) { _errors.default.log("W0011") } var decimalSeparator = this.getDecimalSeparator(); var regExp = new RegExp("[^0-9" + (0, _common.escapeRegExp)(decimalSeparator) + "]", "g"); var cleanedText = text.replace(regExp, "").replace(decimalSeparator, ".").replace(/\.$/g, ""); if ("." === cleanedText || "" === cleanedText) { return null } if (this._calcSignificantDigits(cleanedText) > 15) { return NaN } var parsed = +cleanedText * this.getSign(text, format); format = this._normalizeFormat(format); var formatConfig = this._parseNumberFormatString(format.type); var power = null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.power; if (power) { if ("auto" === power) { var match = text.match(/\d(K|M|B|T)/); if (match) { power = Object.keys(LargeNumberFormatPostfixes).find((function(power) { return LargeNumberFormatPostfixes[power] === match[1] })) } } parsed *= Math.pow(10, 3 * power) } if ("percent" === (null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.formatType)) { parsed /= 100 } return parsed }, _calcSignificantDigits: function(text) { var _text$split = text.split("."), _text$split2 = _slicedToArray(_text$split, 2), integer = _text$split2[0], fractional = _text$split2[1]; var calcDigitsAfterLeadingZeros = function(digits) { var index = -1; for (var i = 0; i < digits.length; i++) { if ("0" !== digits[i]) { index = i; break } } return index > -1 ? digits.length - index : 0 }; var result = 0; if (integer) { result += calcDigitsAfterLeadingZeros(integer.split("")) } if (fractional) { result += calcDigitsAfterLeadingZeros(fractional.split("").reverse()) } return result } }); numberLocalization.inject(_currency.default); if (hasIntl) { numberLocalization.inject(_number2.default) } var _default = numberLocalization; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 44592: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/open_xml_currency_format.js ***! \**************************************************************************************/ function(module, exports) { exports.default = void 0; exports.default = function(currencySymbol, accountingFormat) { if (!accountingFormat) { return } var encodedCurrencySymbol = currencySymbol; if ("string" === typeof currencySymbol) { encodedCurrencySymbol = ""; for (var i = 0; i < currencySymbol.length; i++) { if ("$" !== currencySymbol[i]) { encodedCurrencySymbol += "\\" } encodedCurrencySymbol += currencySymbol[i] } } var encodeSymbols = { ".00": "{0}", "'": "\\'", "\\(": "\\(", "\\)": "\\)", " ": "\\ ", '"': """, "\\\xa4": encodedCurrencySymbol }; var result = accountingFormat.split(";"); for (var _i = 0; _i < result.length; _i++) { for (var symbol in encodeSymbols) { if (Object.prototype.hasOwnProperty.call(encodeSymbols, symbol)) { result[_i] = result[_i].replace(new RegExp(symbol, "g"), encodeSymbols[symbol]) } } } return 2 === result.length ? result[0] + "_);" + result[1] : result[0] }; module.exports = exports.default; module.exports.default = exports.default }, 49198: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/parentLocale.js ***! \**************************************************************************/ function(module, exports) { exports.default = void 0; exports.default = function(parentLocales, locale) { var parentLocale = parentLocales[locale]; if (parentLocale) { return "root" !== parentLocale && parentLocale } return locale.substr(0, locale.lastIndexOf("-")) }; module.exports = exports.default; module.exports.default = exports.default }, 97360: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/localization/utils.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.toFixed = function(value, precision) { var valuePrecision = precision || 0; var adjustedValue = valuePrecision > 0 ? adjustValue.apply(void 0, arguments) : value; return adjustedValue.toFixed(valuePrecision) }; var _math = __webpack_require__( /*! ../core/utils/math */ 60810); function adjustValue(value, precision) { var precisionMultiplier = Math.pow(10, precision); var intermediateValue = (0, _math.multiplyInExponentialForm)(value, precision); return function(value) { var valueSign = (0, _math.sign)(value); return valueSign * Math.round(Math.abs(value)) }(intermediateValue) / precisionMultiplier } }, 4928: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/mobile/hide_callback.js ***! \*********************************************************************/ function(__unused_webpack_module, exports) { exports.hideCallback = void 0; var hideCallback = (callbacks = [], { add: function(callback) { if (!callbacks.includes(callback)) { callbacks.push(callback) } }, remove: function(callback) { var indexOfCallback = callbacks.indexOf(callback); if (-1 !== indexOfCallback) { callbacks.splice(indexOfCallback, 1) } }, fire: function() { var callback = callbacks.pop(); var result = !!callback; if (result) { callback() } return result }, hasCallback: function() { return callbacks.length > 0 } }); var callbacks; exports.hideCallback = hideCallback }, 60628: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/mobile/hide_top_overlay.js ***! \************************************************************************/ function(module, exports, __webpack_require__) { exports.default = function() { return _hide_callback.hideCallback.fire() }; var _hide_callback = __webpack_require__( /*! ./hide_callback */ 4928); module.exports = exports.default; module.exports.default = exports.default }, 88185: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/mobile/init_mobile_viewport/init_mobile_viewport.js ***! \*************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.p = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _resize_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/resize_callbacks */ 55814)); var _support = __webpack_require__( /*! ../../core/utils/support */ 60137); var _style = __webpack_require__( /*! ../../core/utils/style */ 80968); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); exports.p = function(options) { options = (0, _extend.extend)({}, options); var realDevice = _devices.default.real(); var allowZoom = options.allowZoom; var allowPan = options.allowPan; var allowSelection = "allowSelection" in options ? options.allowSelection : "generic" === realDevice.platform; if (!(0, _renderer.default)("meta[name=viewport]").length) { (0, _renderer.default)("").attr("name", "viewport").appendTo("head") } var metaVerbs = ["width=device-width"]; var msTouchVerbs = []; if (allowZoom) { msTouchVerbs.push("pinch-zoom") } else { metaVerbs.push("initial-scale=1.0", "maximum-scale=1.0, user-scalable=no") } if (allowPan) { msTouchVerbs.push("pan-x", "pan-y") } if (!allowPan && !allowZoom) { (0, _renderer.default)("html, body").css({ msContentZooming: "none", msUserSelect: "none", overflow: "hidden" }) } else { (0, _renderer.default)("html").css("msOverflowStyle", "-ms-autohiding-scrollbar") } if (!allowSelection && (0, _support.supportProp)("userSelect")) { (0, _renderer.default)(".dx-viewport").css((0, _style.styleProp)("userSelect"), "none") }(0, _renderer.default)("meta[name=viewport]").attr("content", metaVerbs.join()); (0, _renderer.default)("html").css("msTouchAction", msTouchVerbs.join(" ") || "none"); realDevice = _devices.default.real(); if (_support.touch) { _events_engine.default.off(_dom_adapter.default.getDocument(), ".dxInitMobileViewport"); _events_engine.default.on(_dom_adapter.default.getDocument(), "dxpointermove.dxInitMobileViewport", (function(e) { var count = e.pointers.length; var isTouchEvent = "touch" === e.pointerType; var zoomDisabled = !allowZoom && count > 1; var panDisabled = !allowPan && 1 === count && !e.isScrollingEvent; if (isTouchEvent && (zoomDisabled || panDisabled)) { e.preventDefault() } })) } if (realDevice.ios) { var isPhoneGap = "file:" === _dom_adapter.default.getLocation().protocol; if (!isPhoneGap) { _resize_callbacks.default.add((function() { var windowWidth = (0, _size.getWidth)(window); (0, _size.setWidth)((0, _renderer.default)("body"), windowWidth) })) } } if (realDevice.android) { _resize_callbacks.default.add((function() { setTimeout((function() { var activeElement = _dom_adapter.default.getActiveElement(); activeElement.scrollIntoViewIfNeeded ? activeElement.scrollIntoViewIfNeeded() : activeElement.scrollIntoView(false) })) })) } } }, 44194: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/pdf_exporter.js ***! \*************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "exportDataGrid", { enumerable: true, get: function() { return _export_data_grid.exportDataGrid } }); Object.defineProperty(exports, "exportDataGridWithAutoTable", { enumerable: true, get: function() { return _export_data_grid2.exportDataGrid } }); Object.defineProperty(exports, "exportGantt", { enumerable: true, get: function() { return _export_gantt.exportGantt } }); var _export_data_grid = __webpack_require__( /*! ./exporter/jspdf/export_data_grid */ 654); var _export_data_grid2 = __webpack_require__( /*! ./exporter/jspdf/autotable/export_data_grid */ 83152); var _export_gantt = __webpack_require__( /*! ./exporter/jspdf/export_gantt */ 29982) }, 49697: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/common/config_context.js ***! \*********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.ConfigContext = void 0; var _inferno = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var ConfigContext = (0, _inferno.createContext)(void 0); exports.ConfigContext = ConfigContext }, 66042: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/common/config_provider.js ***! \**********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.ConfigProviderProps = exports.ConfigProvider = void 0; var _inferno = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _config_context = __webpack_require__( /*! ./config_context */ 49697); var _excluded = ["children", "rtlEnabled"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(viewModel) { return viewModel.props.children }; exports.viewFunction = viewFunction; var ConfigProviderProps = {}; exports.ConfigProviderProps = ConfigProviderProps; var ConfigProvider = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ConfigProvider, _BaseInfernoComponent); function ConfigProvider(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; _this.__getterCache = {}; return _this } var _proto = ConfigProvider.prototype; _proto.getChildContext = function() { return _extends({}, this.context, function(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj }({}, _config_context.ConfigContext.id, this.config || _config_context.ConfigContext.defaultValue)) }; _proto.componentWillUpdate = function(nextProps, nextState, context) { if (this.props.rtlEnabled !== nextProps.rtlEnabled) { this.__getterCache.config = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), config: this.config, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(ConfigProvider, [{ key: "config", get: function() { var _this2 = this; if (void 0 !== this.__getterCache.config) { return this.__getterCache.config } return this.__getterCache.config = { rtlEnabled: _this2.props.rtlEnabled } } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.children, _this$props.rtlEnabled, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return ConfigProvider }(_inferno.BaseInfernoComponent); exports.ConfigProvider = ConfigProvider; ConfigProvider.defaultProps = ConfigProviderProps }, 8668: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/component_wrapper/button.js ***! \************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _validation_engine = _interopRequireDefault(__webpack_require__( /*! ../../ui/validation_engine */ 90964)); var _component = _interopRequireDefault(__webpack_require__( /*! ./common/component */ 27135)); var _icon = __webpack_require__( /*! ../../core/utils/icon */ 44899); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ButtonWrapper = function(_Component) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ButtonWrapper, _Component); function ButtonWrapper() { return _Component.apply(this, arguments) || this } var _proto = ButtonWrapper.prototype; _proto.getDefaultTemplateNames = function() { return ["content"] }; _proto.getSupportedKeyNames = function() { return ["space", "enter"] }; _proto.getProps = function() { var _this = this; var props = _Component.prototype.getProps.call(this); props.onClick = function(_ref) { var event = _ref.event; _this._clickAction({ event: event, validationGroup: _this._validationGroupConfig }) }; var iconType = (0, _icon.getImageSourceType)(props.icon); if ("svg" === iconType) { props.iconTemplate = this._createTemplateComponent((function() { return props.icon })) } return props }; _proto._toggleActiveState = function(_, value) { var button = this.viewRef; value ? button.activate() : button.deactivate() }; _proto._getSubmitAction = function() { var _this2 = this; var needValidate = true; var validationStatus = "valid"; return this._createAction((function(_ref2) { var event = _ref2.event, submitInput = _ref2.submitInput; if (needValidate) { var validationGroup = _this2._validationGroupConfig; if (void 0 !== validationGroup && "" !== validationGroup) { var validationResult = validationGroup.validate(); validationStatus = validationResult.status; if ("pending" === validationResult.status) { needValidate = false; _this2.option("disabled", true); validationResult.complete.then((function(_ref3) { var status = _ref3.status; _this2.option("disabled", false); validationStatus = status; "valid" === validationStatus && submitInput.click(); needValidate = true })) } } } "valid" !== validationStatus && event.preventDefault(); event.stopPropagation() })) }; _proto._initializeComponent = function() { _Component.prototype._initializeComponent.call(this); this._addAction("onSubmit", this._getSubmitAction()); this._clickAction = this._createClickAction() }; _proto._initMarkup = function() { _Component.prototype._initMarkup.call(this); var $content = this.$element().find(".dx-button-content"); var $template = $content.children().filter(".dx-template-wrapper"); var $input = $content.children().filter(".dx-button-submit-input"); if ($template.length) { $template.addClass("dx-button-content"); $template.append($input); $content.replaceWith($template) } }; _proto._patchOptionValues = function(options) { return _Component.prototype._patchOptionValues.call(this, _extends({}, options, { templateData: options._templateData })) }; _proto._findGroup = function() { var $element = this.$element(); var validationGroup = this.option("validationGroup"); return void 0 !== validationGroup && "" !== validationGroup ? validationGroup : _validation_engine.default.findGroup($element, this._modelByElement($element)) }; _proto._createClickAction = function() { return this._createActionByOption("onClick", { excludeValidators: ["readOnly"] }) }; _proto._optionChanged = function(option) { switch (option.name) { case "onClick": this._clickAction = this._createClickAction() } _Component.prototype._optionChanged.call(this, option) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(ButtonWrapper, [{ key: "_validationGroupConfig", get: function() { return _validation_engine.default.getGroupConfig(this._findGroup()) } }, { key: "_templatesInfo", get: function() { return { template: "content" } } }]); return ButtonWrapper }(_component.default); exports.default = ButtonWrapper; module.exports = exports.default; module.exports.default = exports.default }, 27135: /*!**********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/component_wrapper/common/component.js ***! \**********************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _keyboard_processor = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/keyboard_processor */ 51661)); var _inferno_renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/inferno_renderer */ 15334)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../core/dom_adapter */ 73349)); var _dom_component = _interopRequireDefault(__webpack_require__( /*! ../../../core/dom_component */ 13046)); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _element = __webpack_require__( /*! ../../../core/element */ 6415); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _template_wrapper = __webpack_require__( /*! ./template_wrapper */ 93407); var _update_props_immutable = __webpack_require__( /*! ../utils/update_props_immutable */ 36583); __webpack_require__( /*! ../../../events/click */ 95429); __webpack_require__( /*! ../../../events/core/emitter.feedback */ 91633); __webpack_require__( /*! ../../../events/hover */ 24028); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || _unsupportedIterableToArray(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || _unsupportedIterableToArray(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _unsupportedIterableToArray(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var setDefaultOptionValue = function(options, defaultValueGetter) { return function(name) { if (Object.prototype.hasOwnProperty.call(options, name) && void 0 === options[name]) { options[name] = defaultValueGetter(name) } } }; var ComponentWrapper = function(_DOMComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ComponentWrapper, _DOMComponent); function ComponentWrapper(element, options) { var _this; _this = _DOMComponent.call(this, element, options) || this; _this._shouldRaiseContentReady = false; _this.validateKeyDownHandler(); return _this } var _proto = ComponentWrapper.prototype; _proto.validateKeyDownHandler = function() { var supportedKeyNames = this.getSupportedKeyNames(); var hasComponentDefaultKeyHandlers = supportedKeyNames.length > 0; var hasComponentKeyDownMethod = "function" === typeof this._viewComponent.prototype.keyDown; if (hasComponentDefaultKeyHandlers && !hasComponentKeyDownMethod) { throw Error("Component's declaration must have 'keyDown' method.") } }; _proto._checkContentReadyOption = function(fullName) { var contentReadyOptions = this._getContentReadyOptions().reduce((function(options, name) { options[name] = true; return options }), {}); this._checkContentReadyOption = function(optionName) { return !!contentReadyOptions[optionName] }; return this._checkContentReadyOption(fullName) }; _proto._getContentReadyOptions = function() { return ["rtlEnabled"] }; _proto._fireContentReady = function() { this._actionsMap.onContentReady({}) }; _proto._getDefaultOptions = function() { var _this2 = this; var viewDefaultProps = this._getViewComponentDefaultProps(); return (0, _extend.extend)(true, _DOMComponent.prototype._getDefaultOptions.call(this), viewDefaultProps, this._propsInfo.twoWay.reduce((function(options, _ref) { var _extends2; var _ref2 = _slicedToArray(_ref, 3), name = _ref2[0], defaultName = _ref2[1], eventName = _ref2[2]; return _extends({}, options, (_extends2 = {}, _defineProperty(_extends2, name, viewDefaultProps[defaultName]), _defineProperty(_extends2, eventName, (function(value) { return _this2.option(name, value) })), _extends2)) }), {}), this._propsInfo.templates.reduce((function(options, name) { return _extends({}, options, _defineProperty({}, name, null)) }), {})) }; _proto._getUnwrappedOption = function() { var _this3 = this; var unwrappedProps = {}; Object.keys(this.option()).forEach((function(key) { unwrappedProps[key] = _this3.option(key) })); return unwrappedProps }; _proto._initializeComponent = function() { var _this$_templateManage, _this4 = this; _DOMComponent.prototype._initializeComponent.call(this); null === (_this$_templateManage = this._templateManager) || void 0 === _this$_templateManage ? void 0 : _this$_templateManage.addDefaultTemplates(this.getDefaultTemplates()); var optionProxy = this._getUnwrappedOption(); this._props = this._optionsWithDefaultTemplates(optionProxy); this._propsInfo.templates.forEach((function(template) { _this4._componentTemplates[template] = _this4._createTemplateComponent(_this4._props[template]) })); Object.keys(this._getActionConfigsFull()).forEach((function(name) { return _this4._addAction(name) })); this._viewRef = (0, _inferno.createRef)(); this.defaultKeyHandlers = this._createDefaultKeyHandlers() }; _proto._initMarkup = function() { var props = this.getProps(); this._renderWrapper(props) }; _proto._renderWrapper = function(props) { var containerNode = this.$element()[0]; if (!this._isNodeReplaced) { _inferno_renderer.default.onPreRender() } _inferno_renderer.default.render(this._viewComponent, props, containerNode, this._isNodeReplaced); if (!this._isNodeReplaced) { this._isNodeReplaced = true; _inferno_renderer.default.onAfterRender(); this._shouldRaiseContentReady = true } if (this._shouldRaiseContentReady) { this._fireContentReady(); this._shouldRaiseContentReady = false } }; _proto._silent = function(name, value) { this._options.silent(name, value) }; _proto._render = function() {}; _proto._removeWidget = function() { _inferno_renderer.default.remove(this.$element()[0]) }; _proto._dispose = function() { this._removeWidget(); _DOMComponent.prototype._dispose.call(this) }; _proto._getAdditionalActionConfigs = function() { return { onContentReady: { excludeValidators: ["disabled", "readOnly"] } } }; _proto._getAdditionalProps = function() { return [] }; _proto._patchOptionValues = function(options) { var _this5 = this; var _this$_propsInfo = this._propsInfo, allowNull = _this$_propsInfo.allowNull, elements = _this$_propsInfo.elements, props = _this$_propsInfo.props, twoWay = _this$_propsInfo.twoWay; var viewDefaultProps = this._getViewComponentDefaultProps(); var defaultWidgetPropsKeys = Object.keys(viewDefaultProps); var defaultOptions = this._getDefaultOptions(); var children = options.children, onKeyboardHandled = options.onKeyboardHandled, ref = options.ref; var onKeyDown = onKeyboardHandled ? function(_, event_options) { onKeyboardHandled(event_options) } : void 0; var widgetProps = { ref: ref, children: children, onKeyDown: onKeyDown }; [].concat(_toConsumableArray(props), _toConsumableArray(this._getAdditionalProps())).forEach((function(propName) { if (Object.prototype.hasOwnProperty.call(options, propName)) { widgetProps[propName] = options[propName] } })); allowNull.forEach(setDefaultOptionValue(widgetProps, (function() { return null }))); defaultWidgetPropsKeys.forEach(setDefaultOptionValue(widgetProps, (function(name) { return defaultOptions[name] }))); twoWay.forEach((function(_ref3) { var _ref4 = _slicedToArray(_ref3, 2), name = _ref4[0], defaultName = _ref4[1]; setDefaultOptionValue(widgetProps, (function() { return defaultOptions[defaultName] }))(name) })); elements.forEach((function(name) { if (name in widgetProps) { var value = widgetProps[name]; if ((0, _type.isRenderer)(value)) { widgetProps[name] = _this5._patchElementParam(value) } } })); return widgetProps }; _proto.getSupportedKeyNames = function() { return [] }; _proto.prepareStyleProp = function(props) { if ("string" === typeof props.style) { return _extends({}, props, { style: {}, cssText: props.style }) } return props }; _proto.getProps = function() { var _this$elementAttr$cla, _elementAttr$class, _this6 = this; var _this$option = this.option(), elementAttr = _this$option.elementAttr; var options = this._patchOptionValues(_extends({}, this._props, { ref: this._viewRef, children: this._extractDefaultSlot(), aria: this._aria })); this._propsInfo.templates.forEach((function(template) { options[template] = _this6._componentTemplates[template] })); return this.prepareStyleProp(_extends({}, options, this.elementAttr, elementAttr, { className: [].concat(_toConsumableArray((null !== (_this$elementAttr$cla = this.elementAttr.class) && void 0 !== _this$elementAttr$cla ? _this$elementAttr$cla : "").split(" ")), _toConsumableArray((null !== (_elementAttr$class = null === elementAttr || void 0 === elementAttr ? void 0 : elementAttr.class) && void 0 !== _elementAttr$class ? _elementAttr$class : "").split(" "))).filter((function(c, i, a) { return c && a.indexOf(c) === i })).join(" ").trim(), class: "" }, this._actionsMap)) }; _proto._getActionConfigs = function() { return {} }; _proto._getActionConfigsFull = function() { return _extends({}, this._getActionConfigs(), this._getAdditionalActionConfigs()) }; _proto.getDefaultTemplates = function() { var defaultTemplates = Object.values(this._templatesInfo); var result = {}; defaultTemplates.forEach((function(template) { result[template] = "dx-renovation-template-mock" })); return result }; _proto._optionsWithDefaultTemplates = function(options) { var templateOptions = Object.entries(this._templatesInfo).reduce((function(result, _ref5) { var _options$templateName; var _ref6 = _slicedToArray(_ref5, 2), templateName = _ref6[0], templateValue = _ref6[1]; return _extends({}, result, _defineProperty({}, templateName, null !== (_options$templateName = options[templateName]) && void 0 !== _options$templateName ? _options$templateName : templateValue)) }), {}); return _extends({}, options, templateOptions) }; _proto._init = function() { _DOMComponent.prototype._init.call(this); this.customKeyHandlers = {}; this._actionsMap = {}; this._aria = {}; this._componentTemplates = {} }; _proto._createDefaultKeyHandlers = function() { var _this7 = this; var result = {}; var keys = this.getSupportedKeyNames(); keys.forEach((function(key) { result[key] = function(e) { return _this7.viewRef.keyDown(_keyboard_processor.default.createKeyDownOptions(e)) } })); return result }; _proto._addAction = function(event, actionToAdd) { var action = actionToAdd; if (!action) { var actionByOption = this._createActionByOption(event, this._getActionConfigsFull()[event]); action = function(actArgs) { Object.keys(actArgs).forEach((function(name) { if ((0, _type.isDefined)(actArgs[name]) && _dom_adapter.default.isNode(actArgs[name])) { actArgs[name] = (0, _element.getPublicElement)((0, _renderer.default)(actArgs[name])) } })); return actionByOption(actArgs) } } this._actionsMap[event] = action }; _proto._optionChanged = function(option) { var fullName = option.fullName, name = option.name, previousValue = option.previousValue, value = option.value; (0, _update_props_immutable.updatePropsImmutable)(this._props, this.option(), name, fullName); if (this._propsInfo.templates.includes(name) && value !== previousValue) { this._componentTemplates[name] = this._createTemplateComponent(value) } if (name && this._getActionConfigsFull()[name]) { this._addAction(name) } this._shouldRaiseContentReady = this._shouldRaiseContentReady || this._checkContentReadyOption(fullName); _DOMComponent.prototype._optionChanged.call(this, option); this._invalidate() }; _proto._extractDefaultSlot = function() { if (this.option("_hasAnonymousTemplateContent")) { return _inferno_renderer.default.createElement(_template_wrapper.TemplateWrapper, { template: this._getTemplate(this._templateManager.anonymousTemplateName), transclude: true, renovated: true }) } return null }; _proto._createTemplateComponent = function(templateOption) { if (!templateOption) { return } var template = this._getTemplate(templateOption); if ((0, _type.isString)(template) && "dx-renovation-template-mock" === template) { return } return function(model) { return _inferno_renderer.default.createElement(_template_wrapper.TemplateWrapper, (0, _template_wrapper.buildTemplateArgs)(model, template)) } }; _proto._wrapKeyDownHandler = function(initialHandler) { var _this8 = this; return function(options) { var keyName = options.keyName, originalEvent = options.originalEvent, which = options.which; var keys = _this8.customKeyHandlers; var func = keys[keyName] || keys[which]; if (void 0 !== func) { var handler = func.bind(_this8); var result = handler(originalEvent, options); if (!result) { originalEvent.cancel = true; return originalEvent } } return null === initialHandler || void 0 === initialHandler ? void 0 : initialHandler(originalEvent, options) } }; _proto._toPublicElement = function(element) { return (0, _element.getPublicElement)((0, _renderer.default)(element)) }; _proto._patchElementParam = function(value) { try { var result = (0, _renderer.default)(value); var element = null === result || void 0 === result ? void 0 : result.get(0); return null !== element && void 0 !== element && element.nodeType ? element : value } catch (error) { return value } }; _proto.repaint = function() { this._isNodeReplaced = false; this._shouldRaiseContentReady = true; this._removeWidget(); this._refresh() }; _proto._supportedKeys = function() { return _extends({}, this.defaultKeyHandlers, this.customKeyHandlers) }; _proto.registerKeyHandler = function(key, handler) { this.customKeyHandlers[key] = handler }; _proto.setAria = function(name, value) { this._aria[name] = value; this._initMarkup() }; _proto._getViewComponentDefaultProps = function() { return this._viewComponent.defaultProps || {} }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(ComponentWrapper, [{ key: "_propsInfo", get: function() { return { allowNull: [], twoWay: [], elements: [], templates: [], props: [] } } }, { key: "viewRef", get: function() { var _this$_viewRef; return null === (_this$_viewRef = this._viewRef) || void 0 === _this$_viewRef ? void 0 : _this$_viewRef.current } }, { key: "elementAttr", get: function() { var _this9 = this; var element = this.$element()[0]; if (!this._elementAttr) { var attributes = element.attributes; var attrs = Array.from(attributes).filter((function(attr) { var _attributes$attr$name; return !_this9._propsInfo.templates.includes(attr.name) && (null === (_attributes$attr$name = attributes[attr.name]) || void 0 === _attributes$attr$name ? void 0 : _attributes$attr$name.specified) })).reduce((function(result, _ref7) { var name = _ref7.name, value = _ref7.value; var updatedAttributes = result; var isDomAttr = name in element; updatedAttributes[name] = "" === value && isDomAttr ? element[name] : value; return updatedAttributes }), {}); this._elementAttr = attrs; this._storedClasses = element.getAttribute("class") || "" } var elemStyle = element.style; var style = {}; for (var i = 0; i < elemStyle.length; i += 1) { style[elemStyle[i]] = elemStyle.getPropertyValue(elemStyle[i]) } this._elementAttr.style = style; this._elementAttr.class = this._storedClasses; return this._elementAttr } }, { key: "_templatesInfo", get: function() { return {} } }]); return ComponentWrapper }(_dom_component.default); exports.default = ComponentWrapper; ComponentWrapper.IS_RENOVATED_WIDGET = false; ComponentWrapper.IS_RENOVATED_WIDGET = true; module.exports = exports.default; module.exports.default = exports.default }, 48384: /*!********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/component_wrapper/common/mutations_recording.js ***! \********************************************************************************************************/ function(__unused_webpack_module, exports) { exports.recordMutations = function(target, func) { var observer = new MutationObserver((function() {})); observer.observe(target, { childList: true, subtree: false }); func(); var mutations = observer.takeRecords(); observer.disconnect(); return function() { return mutations.forEach(revertMutation) } }; function revertMutation(_ref) { var addedNodes = _ref.addedNodes, type = _ref.type; switch (type) { case "childList": addedNodes.forEach((function(n) { return (node = n, "function" === typeof node.remove) && n.remove(); var node })) } } }, 93407: /*!*****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/component_wrapper/common/template_wrapper.js ***! \*****************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.TemplateWrapper = void 0; exports.buildTemplateArgs = function(model, template) { var _model$data; var args = { template: template, model: _extends({}, model) }; var _ref = null !== (_model$data = model.data) && void 0 !== _model$data ? _model$data : {}, isEqual = _ref.isEqual, data = function(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target }(_ref, _excluded); if (isEqual) { args.model.data = data; args.isEqual = isEqual } return args }; var _inferno = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _inferno2 = __webpack_require__( /*! inferno */ 55285); var _shallow_equals = __webpack_require__( /*! ../../utils/shallow_equals */ 33502); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../core/dom_adapter */ 73349)); var _element = __webpack_require__( /*! ../../../core/element */ 6415); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _mutations_recording = __webpack_require__( /*! ./mutations_recording */ 48384); var _excluded = ["isEqual"]; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var TemplateWrapper = function(_InfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(TemplateWrapper, _InfernoComponent); function TemplateWrapper(props) { var _this; _this = _InfernoComponent.call(this, props) || this; _this.cleanParent = _common.noop; _this.renderTemplate = _this.renderTemplate.bind(function(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self }(_this)); return _this } var _proto = TemplateWrapper.prototype; _proto.renderTemplate = function() { var _this2 = this; var node = (0, _inferno2.findDOMfromVNode)(this.$LI, true); var container = node.parentElement; this.cleanParent(); this.cleanParent = (0, _mutations_recording.recordMutations)(container, (function() { var content = function(props, container) { var _props$model; var _ref2 = null !== (_props$model = props.model) && void 0 !== _props$model ? _props$model : { data: {} }, data = _ref2.data, index = _ref2.index; if (data) { Object.keys(data).forEach((function(name) { if (data[name] && _dom_adapter.default.isNode(data[name])) { data[name] = (0, _element.getPublicElement)((0, _renderer.default)(data[name])) } })) } var rendered = props.template.render(_extends({ container: container, transclude: props.transclude }, { renovated: props.renovated }, !props.transclude ? { model: data } : {}, !props.transclude && Number.isFinite(index) ? { index: index } : {})); if (void 0 === rendered) { return [] } return (element = rendered, !!element.toArray) ? rendered.toArray() : [(0, _renderer.default)(rendered).get(0)]; var element }(_this2.props, (0, _element.getPublicElement)((0, _renderer.default)(container))); if (0 !== content.length && !(1 === content.length && content[0] === container)) { node.after.apply(node, _toConsumableArray(content)) } })) }; _proto.shouldComponentUpdate = function(nextProps) { var _this$props = this.props, model = _this$props.model, template = _this$props.template; var isEqual = nextProps.isEqual, nextModel = nextProps.model, nextTemplate = nextProps.template; var equalityComparer = null !== isEqual && void 0 !== isEqual ? isEqual : _shallow_equals.shallowEquals; if (template !== nextTemplate) { return true } if (!(0, _type.isDefined)(model) || !(0, _type.isDefined)(nextModel)) { return model !== nextModel } var data = model.data, index = model.index; var nextData = nextModel.data, nextIndex = nextModel.index; if (index !== nextIndex) { return true } return !equalityComparer(data, nextData) }; _proto.createEffects = function() { return [new _inferno.InfernoEffect(this.renderTemplate, [this.props.template, this.props.model])] }; _proto.updateEffects = function() { this._effects[0].update([this.props.template, this.props.model]) }; _proto.componentWillUnmount = function() { this.cleanParent() }; _proto.render = function() { return null }; return TemplateWrapper }(_inferno.InfernoComponent); exports.TemplateWrapper = TemplateWrapper }, 74046: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/component_wrapper/editors/check_box.js ***! \***********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _editor = (obj = __webpack_require__( /*! ./editor */ 88667), obj && obj.__esModule ? obj : { default: obj }); var obj; function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var CheckBox = function(_Editor) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(CheckBox, _Editor); function CheckBox() { return _Editor.apply(this, arguments) || this } var _proto = CheckBox.prototype; _proto._useTemplates = function() { return false }; _proto._isFocused = function() { var focusTarget = this.$element()[0]; return focusTarget.classList.contains("dx-state-focused") }; _proto.getSupportedKeyNames = function() { return ["space"] }; _proto.getProps = function() { var props = _Editor.prototype.getProps.call(this); if (null !== props.value) { props.value = Boolean(props.value) } return props }; return CheckBox }(_editor.default); exports.default = CheckBox; module.exports = exports.default; module.exports.default = exports.default }, 88667: /*!********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/component_wrapper/editors/editor.js ***! \********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _component = _interopRequireDefault(__webpack_require__( /*! ../common/component */ 27135)); var _validation_engine = _interopRequireDefault(__webpack_require__( /*! ../../../ui/validation_engine */ 90964)); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _element_data = __webpack_require__( /*! ../../../core/element_data */ 97906); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/callbacks */ 44504)); var _editor = _interopRequireDefault(__webpack_require__( /*! ../../../ui/editor/editor */ 96452)); var _dom = __webpack_require__( /*! ../../utils/dom */ 46299); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var Editor = function(_Component) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Editor, _Component); function Editor() { return _Component.apply(this, arguments) || this } var _proto = Editor.prototype; _proto.getProps = function() { var _this = this; var props = _Component.prototype.getProps.call(this); props.onFocusIn = function() { var isValidationMessageShownOnFocus = "auto" === _this.option("validationMessageMode"); if (isValidationMessageShownOnFocus) { var $validationMessageWrapper = (0, _renderer.default)((0, _dom.querySelectorInSameDocument)(_this.element(), ".dx-invalid-message.dx-overlay-wrapper")); null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.removeClass("dx-invalid-message-auto"); if (_this.showValidationMessageTimeout) { clearTimeout(_this.showValidationMessageTimeout) } _this.showValidationMessageTimeout = setTimeout((function() { null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.addClass("dx-invalid-message-auto") }), 150) } }; props.saveValueChangeEvent = function(e) { _this._valueChangeEventInstance = e }; return props }; _proto._createElement = function(element) { _Component.prototype._createElement.call(this, element); this.showValidationMessageTimeout = void 0; this.validationRequest = (0, _callbacks.default)(); (0, _element_data.data)(this.$element()[0], "dx-validation-target", this) }; _proto._render = function() { var _this$option; null === (_this$option = this.option("_onMarkupRendered")) || void 0 === _this$option ? void 0 : _this$option() }; _proto._initializeComponent = function() { _Component.prototype._initializeComponent.call(this); this._valueChangeAction = this._createActionByOption("onValueChanged", { excludeValidators: ["disabled", "readOnly"] }) }; _proto._initOptions = function(options) { _Component.prototype._initOptions.call(this, options); this.option(_validation_engine.default.initValidationOptions(options)) }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Component.prototype._getDefaultOptions.call(this), { validationMessageOffset: { h: 0, v: 0 }, validationTooltipOptions: {} }) }; _proto._bindInnerWidgetOptions = function(innerWidget, optionsContainer) { var _this2 = this; var innerWidgetOptions = (0, _extend.extend)({}, innerWidget.option()); var syncOptions = function() { return _this2._silent(optionsContainer, innerWidgetOptions) }; syncOptions(); innerWidget.on("optionChanged", syncOptions) }; _proto._raiseValidation = function(value, previousValue) { var areValuesEmpty = !(0, _type.isDefined)(value) && !(0, _type.isDefined)(previousValue); if (value !== previousValue && !areValuesEmpty) { this.validationRequest.fire({ value: value, editor: this }) } }; _proto._raiseValueChangeAction = function(value, previousValue) { var _this$_valueChangeAct; null === (_this$_valueChangeAct = this._valueChangeAction) || void 0 === _this$_valueChangeAct ? void 0 : _this$_valueChangeAct.call(this, { element: this.$element(), previousValue: previousValue, value: value, event: this._valueChangeEventInstance }); this._valueChangeEventInstance = void 0 }; _proto._optionChanged = function(option) { var name = option.name, previousValue = option.previousValue, value = option.value; if (name && void 0 !== this._getActionConfigs()[name]) { this._addAction(name) } switch (name) { case "value": this._raiseValidation(value, previousValue); this._raiseValueChangeAction(value, previousValue); break; case "onValueChanged": this._valueChangeAction = this._createActionByOption("onValueChanged", { excludeValidators: ["disabled", "readOnly"] }); break; case "isValid": case "validationError": case "validationErrors": case "validationStatus": this.option(_validation_engine.default.synchronizeValidationOptions(option, this.option())) } _Component.prototype._optionChanged.call(this, option) }; _proto.reset = function() { var _this$_getDefaultOpti = this._getDefaultOptions(), value = _this$_getDefaultOpti.value; this.option({ value: value }) }; _proto._dispose = function() { _Component.prototype._dispose.call(this); (0, _element_data.data)(this.element(), "dx-validation-target", null); if (this.showValidationMessageTimeout) { clearTimeout(this.showValidationMessageTimeout) } }; return Editor }(_component.default); exports.default = Editor; var prevIsEditor = _editor.default.isEditor; var newIsEditor = function(instance) { return prevIsEditor(instance) || instance instanceof Editor }; Editor.isEditor = newIsEditor; _editor.default.isEditor = newIsEditor; module.exports = exports.default; module.exports.default = exports.default }, 97827: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/component_wrapper/grid_pager.js ***! \****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GridPagerWrapper = void 0; var _component = (obj = __webpack_require__( /*! ./common/component */ 27135), obj && obj.__esModule ? obj : { default: obj }); var obj; function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var GridPagerWrapper = function(_Component) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(GridPagerWrapper, _Component); function GridPagerWrapper() { return _Component.apply(this, arguments) || this } var _proto = GridPagerWrapper.prototype; _proto._optionChanged = function(args) { switch (args.name) { case "pageIndex": var pageIndexChanged = this.option("pageIndexChanged"); if (pageIndexChanged) { pageIndexChanged(args.value) } break; case "pageSize": var pageSizeChanged = this.option("pageSizeChanged"); if (pageSizeChanged) { pageSizeChanged(args.value) } } _Component.prototype._optionChanged.call(this, args) }; return GridPagerWrapper }(_component.default); exports.GridPagerWrapper = GridPagerWrapper }, 15281: /*!**************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/component_wrapper/scheduler/date_table.js ***! \**************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.DateTable = void 0; var _component = (obj = __webpack_require__( /*! ../common/component */ 27135), obj && obj.__esModule ? obj : { default: obj }); var obj; function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DateTable = function(_Component) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DateTable, _Component); function DateTable() { return _Component.apply(this, arguments) || this } var _proto = DateTable.prototype; _proto._setOptionsByReference = function() { _Component.prototype._setOptionsByReference.call(this); this._optionsByReference = _extends({}, this._optionsByReference, { dataCellTemplate: true }) }; return DateTable }(_component.default); exports.DateTable = DateTable }, 55095: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/component_wrapper/scheduler/group_panel.js ***! \***************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GroupPanelWrapper = void 0; var _component = (obj = __webpack_require__( /*! ../common/component */ 27135), obj && obj.__esModule ? obj : { default: obj }); var obj; function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var GroupPanelWrapper = function(_Component) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(GroupPanelWrapper, _Component); function GroupPanelWrapper() { return _Component.apply(this, arguments) || this } var _proto = GroupPanelWrapper.prototype; _proto._setOptionsByReference = function() { _Component.prototype._setOptionsByReference.call(this); this._optionsByReference = _extends({}, this._optionsByReference, { resourceCellTemplate: true }) }; return GroupPanelWrapper }(_component.default); exports.GroupPanelWrapper = GroupPanelWrapper }, 86214: /*!****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/component_wrapper/scheduler/header_panel.js ***! \****************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.HeaderPanel = void 0; var _component = (obj = __webpack_require__( /*! ../common/component */ 27135), obj && obj.__esModule ? obj : { default: obj }); var obj; function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var HeaderPanel = function(_Component) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(HeaderPanel, _Component); function HeaderPanel() { return _Component.apply(this, arguments) || this } var _proto = HeaderPanel.prototype; _proto._setOptionsByReference = function() { _Component.prototype._setOptionsByReference.call(this); this._optionsByReference = _extends({}, this._optionsByReference, { dateHeaderData: true, resourceCellTemplate: true, dateCellTemplate: true, timeCellTemplate: true }) }; return HeaderPanel }(_component.default); exports.HeaderPanel = HeaderPanel }, 99503: /*!**************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/component_wrapper/scheduler/time_panel.js ***! \**************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.TimePanel = void 0; var _component = (obj = __webpack_require__( /*! ../common/component */ 27135), obj && obj.__esModule ? obj : { default: obj }); var obj; function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var TimePanel = function(_Component) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(TimePanel, _Component); function TimePanel() { return _Component.apply(this, arguments) || this } var _proto = TimePanel.prototype; _proto._setOptionsByReference = function() { _Component.prototype._setOptionsByReference.call(this); this._optionsByReference = _extends({}, this._optionsByReference, { timeCellTemplate: true }) }; return TimePanel }(_component.default); exports.TimePanel = TimePanel }, 36583: /*!**********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/component_wrapper/utils/update_props_immutable.js ***! \**********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.updatePropsImmutable = function(props, option, name, fullName) { var currentPropsValue = option[name]; var prevPropsValue = props[name]; var result = props; if ((0, _type.isPlainObject)(currentPropsValue) || name !== fullName && Array.isArray(currentPropsValue)) { result[name] = function cloneObjectProp(value, prevValue, fullNameParts) { var result = fullNameParts.length > 0 && prevValue && value !== prevValue ? cloneObjectValue(prevValue) : cloneObjectValue(value); var name = fullNameParts[0]; if (fullNameParts.length > 1) { result[name] = cloneObjectProp(value[name], null === prevValue || void 0 === prevValue ? void 0 : prevValue[name], fullNameParts.slice(1)) } else if (name) { if ((0, _type.isPlainObject)(value[name])) { result[name] = cloneObjectValue(value[name]) } else { result[name] = value[name] } } return result }(currentPropsValue, prevPropsValue, (0, _data.getPathParts)(fullName).slice(1)) } else { result[name] = currentPropsValue } }; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _data = __webpack_require__( /*! ../../../core/utils/data */ 47617); function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function cloneObjectValue(value) { return Array.isArray(value) ? _toConsumableArray(value) : _extends({}, value) } }, 83151: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/button.j.js ***! \***********************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _button = _interopRequireDefault(__webpack_require__( /*! ../component_wrapper/button */ 8668)); var _button2 = __webpack_require__( /*! ./button */ 36729); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var Button = function(_BaseComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Button, _BaseComponent); function Button() { return _BaseComponent.apply(this, arguments) || this } var _proto = Button.prototype; _proto.getProps = function() { var props = _BaseComponent.prototype.getProps.call(this); props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown); return props }; _proto.focus = function() { var _this$viewRef; return null === (_this$viewRef = this.viewRef) || void 0 === _this$viewRef ? void 0 : _this$viewRef.focus.apply(_this$viewRef, arguments) }; _proto.activate = function() { var _this$viewRef2; return null === (_this$viewRef2 = this.viewRef) || void 0 === _this$viewRef2 ? void 0 : _this$viewRef2.activate.apply(_this$viewRef2, arguments) }; _proto.deactivate = function() { var _this$viewRef3; return null === (_this$viewRef3 = this.viewRef) || void 0 === _this$viewRef3 ? void 0 : _this$viewRef3.deactivate.apply(_this$viewRef3, arguments) }; _proto._getActionConfigs = function() { return { onClick: { excludeValidators: ["readOnly"] }, onSubmit: {} } }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Button, [{ key: "_propsInfo", get: function() { return { twoWay: [], allowNull: [], elements: ["onSubmit"], templates: ["template", "iconTemplate"], props: ["activeStateEnabled", "hoverStateEnabled", "icon", "iconPosition", "onClick", "onSubmit", "pressed", "stylingMode", "template", "iconTemplate", "text", "type", "useInkRipple", "useSubmitBehavior", "templateData", "className", "accessKey", "disabled", "focusStateEnabled", "height", "hint", "onKeyDown", "rtlEnabled", "tabIndex", "visible", "width"] } } }, { key: "_viewComponent", get: function() { return _button2.Button } }]); return Button }(_button.default); exports.default = Button; (0, _component_registrator.default)("dxButton", Button); Button.defaultOptions = _button2.defaultOptions; module.exports = exports.default; module.exports.default = exports.default }, 36729: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/button.js ***! \*********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.defaultOptionRules = exports.ButtonProps = exports.Button = void 0; exports.defaultOptions = function(rule) { __defaultOptionRules.push(rule); Button.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(Button.defaultProps), Object.getOwnPropertyDescriptors((0, _utils.convertRulesToOptions)(defaultOptionRules)), Object.getOwnPropertyDescriptors((0, _utils.convertRulesToOptions)(__defaultOptionRules)))) }; exports.viewFunction = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _utils = __webpack_require__( /*! ../../core/options/utils */ 45434); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _themes = __webpack_require__( /*! ../../ui/themes */ 75811); var _short = __webpack_require__( /*! ../../events/short */ 72918); var _combine_classes = __webpack_require__( /*! ../utils/combine_classes */ 86237); var _icon = __webpack_require__( /*! ../../core/utils/icon */ 44899); var _inflector = __webpack_require__( /*! ../../core/utils/inflector */ 78008); var _icon2 = __webpack_require__( /*! ./common/icon */ 92272); var _errors = _interopRequireDefault(__webpack_require__( /*! ../../core/errors */ 17381)); var _ink_ripple = __webpack_require__( /*! ./common/ink_ripple */ 84507); var _widget = __webpack_require__( /*! ./common/widget */ 73687); var _base_props = __webpack_require__( /*! ./common/base_props */ 31651); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _excluded = ["accessKey", "activeStateEnabled", "children", "className", "disabled", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "iconPosition", "iconTemplate", "onClick", "onKeyDown", "onSubmit", "pressed", "rtlEnabled", "stylingMode", "tabIndex", "template", "templateData", "text", "type", "useInkRipple", "useSubmitBehavior", "visible", "width"]; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } var stylingModes = ["outlined", "text", "contained"]; var viewFunction = function(viewModel) { var _viewModel$props = viewModel.props, children = _viewModel$props.children, iconPosition = _viewModel$props.iconPosition, IconTemplate = _viewModel$props.iconTemplate, ButtonTemplate = _viewModel$props.template, text = _viewModel$props.text; var renderText = !viewModel.props.template && !children && "" !== text; var isIconLeft = "left" === iconPosition; var iconComponent = !viewModel.props.template && !children && (viewModel.iconSource || viewModel.props.iconTemplate) && (0, _inferno.createComponentVNode)(2, _icon2.Icon, { source: viewModel.iconSource, position: iconPosition, iconTemplate: IconTemplate }); return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _widget.Widget, _extends({ accessKey: viewModel.props.accessKey, activeStateEnabled: viewModel.props.activeStateEnabled, aria: viewModel.aria, className: viewModel.props.className, classes: viewModel.cssClasses, disabled: viewModel.props.disabled, focusStateEnabled: viewModel.props.focusStateEnabled, height: viewModel.props.height, hint: viewModel.props.hint, hoverStateEnabled: viewModel.props.hoverStateEnabled, onActive: viewModel.onActive, onClick: viewModel.onWidgetClick, onInactive: viewModel.onInactive, onKeyDown: viewModel.keyDown, rtlEnabled: viewModel.props.rtlEnabled, tabIndex: viewModel.props.tabIndex, visible: viewModel.props.visible, width: viewModel.props.width }, viewModel.restAttributes, { children: (0, _inferno.createVNode)(1, "div", "dx-button-content", [viewModel.props.template && ButtonTemplate({ data: viewModel.buttonTemplateData }), !viewModel.props.template && children, isIconLeft && iconComponent, renderText && (0, _inferno.createVNode)(1, "span", "dx-button-text", text, 0), !isIconLeft && iconComponent, viewModel.props.useSubmitBehavior && (0, _inferno.createVNode)(64, "input", "dx-button-submit-input", null, 1, { type: "submit", tabIndex: -1 }, null, viewModel.submitInputRef), viewModel.props.useInkRipple && (0, _inferno.createComponentVNode)(2, _ink_ripple.InkRipple, { config: viewModel.inkRippleConfig }, null, viewModel.inkRippleRef)], 0, null, null, viewModel.contentRef) }), null, viewModel.widgetRef)) }; exports.viewFunction = viewFunction; var ButtonProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_base_props.BaseWidgetProps), Object.getOwnPropertyDescriptors({ activeStateEnabled: true, hoverStateEnabled: true, icon: "", iconPosition: "left", stylingMode: "contained", text: "", type: "normal", useInkRipple: false, useSubmitBehavior: false, templateData: Object.freeze({}) }))); exports.ButtonProps = ButtonProps; var defaultOptionRules = (0, _utils.createDefaultOptionRules)([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }, { device: function() { return (0, _themes.isMaterial)((0, _themes.current)()) }, options: { useInkRipple: true } }]); exports.defaultOptionRules = defaultOptionRules; var getTemplate = function(TemplateProp) { return TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp) }; var Button = function(_InfernoWrapperCompon) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Button, _InfernoWrapperCompon); function Button(props) { var _this; _this = _InfernoWrapperCompon.call(this, props) || this; _this.state = {}; _this.contentRef = (0, _inferno.createRef)(); _this.inkRippleRef = (0, _inferno.createRef)(); _this.submitInputRef = (0, _inferno.createRef)(); _this.widgetRef = (0, _inferno.createRef)(); _this.__getterCache = {}; _this.focus = _this.focus.bind(_assertThisInitialized(_this)); _this.activate = _this.activate.bind(_assertThisInitialized(_this)); _this.deactivate = _this.deactivate.bind(_assertThisInitialized(_this)); _this.submitEffect = _this.submitEffect.bind(_assertThisInitialized(_this)); _this.checkDeprecation = _this.checkDeprecation.bind(_assertThisInitialized(_this)); _this.onActive = _this.onActive.bind(_assertThisInitialized(_this)); _this.onInactive = _this.onInactive.bind(_assertThisInitialized(_this)); _this.onWidgetClick = _this.onWidgetClick.bind(_assertThisInitialized(_this)); _this.keyDown = _this.keyDown.bind(_assertThisInitialized(_this)); return _this } var _proto = Button.prototype; _proto.createEffects = function() { return [new _inferno2.InfernoEffect(this.submitEffect, [this.props.onSubmit, this.props.useSubmitBehavior]), new _inferno2.InfernoEffect(this.checkDeprecation, [this.props.type]), (0, _inferno2.createReRenderEffect)()] }; _proto.updateEffects = function() { var _this$_effects$, _this$_effects$2; null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.onSubmit, this.props.useSubmitBehavior]); null === (_this$_effects$2 = this._effects[1]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props.type]) }; _proto.submitEffect = function() { var _this2 = this; var _this$props = this.props, onSubmit = _this$props.onSubmit, useSubmitBehavior = _this$props.useSubmitBehavior; if (useSubmitBehavior && onSubmit) { _short.click.on(this.submitInputRef.current, (function(event) { return onSubmit({ event: event, submitInput: _this2.submitInputRef.current }) }), { namespace: "UIFeedback" }); return function() { return _short.click.off(_this2.submitInputRef.current, { namespace: "UIFeedback" }) } } return }; _proto.checkDeprecation = function() { var type = this.props.type; if ("back" === type) { _errors.default.log("W0016", "type", "back", "22.2", "Use the 'back' icon instead") } }; _proto.onActive = function(event) { var useInkRipple = this.props.useInkRipple; useInkRipple && this.inkRippleRef.current.showWave({ element: this.contentRef.current, event: event }) }; _proto.onInactive = function(event) { var useInkRipple = this.props.useInkRipple; useInkRipple && this.inkRippleRef.current.hideWave({ element: this.contentRef.current, event: event }) }; _proto.onWidgetClick = function(event) { var _this$props2 = this.props, onClick = _this$props2.onClick, useSubmitBehavior = _this$props2.useSubmitBehavior; null === onClick || void 0 === onClick ? void 0 : onClick({ event: event }); useSubmitBehavior && this.submitInputRef.current.click() }; _proto.keyDown = function(e) { var onKeyDown = this.props.onKeyDown; var keyName = e.keyName, originalEvent = e.originalEvent, which = e.which; var result = null === onKeyDown || void 0 === onKeyDown ? void 0 : onKeyDown(e); if (null !== result && void 0 !== result && result.cancel) { return result } if ("space" === keyName || "space" === which || "enter" === keyName || "enter" === which) { originalEvent.preventDefault(); this.onWidgetClick(originalEvent) } return }; _proto.focus = function() { this.widgetRef.current.focus() }; _proto.activate = function() { this.widgetRef.current.activate() }; _proto.deactivate = function() { this.widgetRef.current.deactivate() }; _proto.componentWillUpdate = function(nextProps, nextState, context) { _InfernoWrapperCompon.prototype.componentWillUpdate.call(this); if (this.props.icon !== nextProps.icon || this.props.text !== nextProps.text || this.props.type !== nextProps.type) { this.__getterCache.inkRippleConfig = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { template: getTemplate(props.template), iconTemplate: getTemplate(props.iconTemplate) }), contentRef: this.contentRef, submitInputRef: this.submitInputRef, inkRippleRef: this.inkRippleRef, widgetRef: this.widgetRef, onActive: this.onActive, onInactive: this.onInactive, onWidgetClick: this.onWidgetClick, keyDown: this.keyDown, aria: this.aria, cssClasses: this.cssClasses, iconSource: this.iconSource, inkRippleConfig: this.inkRippleConfig, buttonTemplateData: this.buttonTemplateData, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Button, [{ key: "aria", get: function() { var _this$props3 = this.props, icon = _this$props3.icon, text = _this$props3.text; var label = null !== text && void 0 !== text ? text : ""; if (!text && icon) { var iconSource = (0, _icon.getImageSourceType)(icon); switch (iconSource) { case "image": var isPathToImage = !icon.includes("base64") && /^(?!(?:https?:\/\/)|(?:ftp:\/\/)|(?:www\.))[^\s]+$/.test(icon); label = isPathToImage ? icon.replace(/.+\/([^.]+)\..+$/, "$1") : ""; break; case "dxIcon": label = _message.default.format((0, _inflector.camelize)(icon, true)) || icon; break; case "fontIcon": label = icon; break; case "svg": var _titleRegexp$exec$, _titleRegexp$exec; var title = null !== (_titleRegexp$exec$ = null === (_titleRegexp$exec = /(.*?)<\/title>/.exec(icon)) || void 0 === _titleRegexp$exec ? void 0 : _titleRegexp$exec[1]) && void 0 !== _titleRegexp$exec$ ? _titleRegexp$exec$ : ""; label = title } } return _extends({ role: "button" }, label ? { label: label } : {}) } }, { key: "cssClasses", get: function() { return model = this.props, icon = model.icon, iconPosition = model.iconPosition, stylingMode = model.stylingMode, text = model.text, type = model.type, isValidStylingMode = stylingMode && stylingModes.includes(stylingMode), classesMap = (_classesMap = { "dx-button": true }, _defineProperty(_classesMap, "dx-button-mode-".concat(isValidStylingMode ? stylingMode : "contained"), true), _defineProperty(_classesMap, "dx-button-".concat(null !== type && void 0 !== type ? type : "normal"), true), _defineProperty(_classesMap, "dx-button-has-text", !!text), _defineProperty(_classesMap, "dx-button-has-icon", !!icon), _defineProperty(_classesMap, "dx-button-icon-right", "left" !== iconPosition), _classesMap), (0, _combine_classes.combineClasses)(classesMap); var model, _classesMap, icon, iconPosition, stylingMode, text, type, isValidStylingMode, classesMap } }, { key: "iconSource", get: function() { var _this$props4 = this.props, icon = _this$props4.icon, type = _this$props4.type; if (icon || "back" === type) { return (null !== icon && void 0 !== icon ? icon : "") || "back" } return "" } }, { key: "inkRippleConfig", get: function() { var _this3 = this; if (void 0 !== this.__getterCache.inkRippleConfig) { return this.__getterCache.inkRippleConfig } return this.__getterCache.inkRippleConfig = (_this3$props = _this3.props, icon = _this3$props.icon, text = _this3$props.text, type = _this3$props.type, !text && icon || "back" === type ? { isCentered: true, useHoldAnimation: false, waveSizeCoefficient: 1 } : {}); var _this3$props, icon, text, type } }, { key: "buttonTemplateData", get: function() { var _this$props5 = this.props, icon = _this$props5.icon, templateData = _this$props5.templateData, text = _this$props5.text; return _extends({ icon: icon, text: text }, templateData) } }, { key: "restAttributes", get: function() { var _this$props6 = this.props, restProps = (_this$props6.accessKey, _this$props6.activeStateEnabled, _this$props6.children, _this$props6.className, _this$props6.disabled, _this$props6.focusStateEnabled, _this$props6.height, _this$props6.hint, _this$props6.hoverStateEnabled, _this$props6.icon, _this$props6.iconPosition, _this$props6.iconTemplate, _this$props6.onClick, _this$props6.onKeyDown, _this$props6.onSubmit, _this$props6.pressed, _this$props6.rtlEnabled, _this$props6.stylingMode, _this$props6.tabIndex, _this$props6.template, _this$props6.templateData, _this$props6.text, _this$props6.type, _this$props6.useInkRipple, _this$props6.useSubmitBehavior, _this$props6.visible, _this$props6.width, _objectWithoutProperties(_this$props6, _excluded)); return restProps } }]); return Button }(_inferno2.InfernoWrapperComponent); exports.Button = Button; Button.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(ButtonProps), Object.getOwnPropertyDescriptors(_extends({}, (0, _utils.convertRulesToOptions)(defaultOptionRules))))); var __defaultOptionRules = [] }, 31651: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/common/base_props.js ***! \********************************************************************************/ function(__unused_webpack_module, exports) { exports.BaseWidgetProps = void 0; exports.BaseWidgetProps = { className: "", activeStateEnabled: false, disabled: false, focusStateEnabled: false, hoverStateEnabled: false, tabIndex: 0, visible: true } }, 96886: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/common/dom_component_wrapper.js ***! \*******************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.DomComponentWrapperProps = exports.DomComponentWrapper = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _config_context = __webpack_require__( /*! ../../common/config_context */ 49697); var _get_updated_options = __webpack_require__( /*! ./utils/get_updated_options */ 28240); var _excluded = ["valueChange"], _excluded2 = ["componentProps", "componentType", "templateNames"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var normalizeProps = function(props) { return Object.keys(props).reduce((function(accumulator, key) { if (void 0 !== props[key]) { accumulator[key] = props[key] } return accumulator }), {}) }; var viewFunction = function(_ref) { var className = _ref.props.componentProps.className, restAttributes = _ref.restAttributes, widgetRef = _ref.widgetRef; return normalizeProps((0, _inferno.createVNode)(1, "div", className, null, 1, _extends({}, restAttributes), null, widgetRef)) }; exports.viewFunction = viewFunction; var DomComponentWrapperProps = {}; exports.DomComponentWrapperProps = DomComponentWrapperProps; var DomComponentWrapper = function(_InfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DomComponentWrapper, _InfernoComponent); function DomComponentWrapper(props) { var _this; _this = _InfernoComponent.call(this, props) || this; _this.state = {}; _this.widgetRef = (0, _inferno.createRef)(); _this.getInstance = _this.getInstance.bind(_assertThisInitialized(_this)); _this.setupWidget = _this.setupWidget.bind(_assertThisInitialized(_this)); _this.updateWidget = _this.updateWidget.bind(_assertThisInitialized(_this)); return _this } var _proto = DomComponentWrapper.prototype; _proto.createEffects = function() { return [new _inferno2.InfernoEffect(this.setupWidget, []), new _inferno2.InfernoEffect(this.updateWidget, [this.props.componentProps, this.config, this.props.templateNames])] }; _proto.updateEffects = function() { var _this$_effects$; null === (_this$_effects$ = this._effects[1]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.componentProps, this.config, this.props.templateNames]) }; _proto.setupWidget = function() { var _this2 = this; var componentInstance = new this.props.componentType(this.widgetRef.current, this.properties); this.instance = componentInstance; return function() { componentInstance.dispose(); _this2.instance = null } }; _proto.updateWidget = function() { var instance = this.getInstance(); if (!instance) { return } var updatedOptions = (0, _get_updated_options.getUpdatedOptions)(this.prevProps || {}, this.properties); if (updatedOptions.length) { instance.beginUpdate(); updatedOptions.forEach((function(_ref2) { var path = _ref2.path, value = _ref2.value; instance.option(path, value) })); instance.endUpdate() } this.prevProps = this.properties }; _proto.getInstance = function() { return this.instance }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), widgetRef: this.widgetRef, config: this.config, properties: this.properties, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(DomComponentWrapper, [{ key: "config", get: function() { if (this.context[_config_context.ConfigContext.id]) { return this.context[_config_context.ConfigContext.id] } return _config_context.ConfigContext.defaultValue } }, { key: "properties", get: function() { var _this$config, _this3 = this; var normalizedProps = normalizeProps(this.props.componentProps); var valueChange = normalizedProps.valueChange, restProps = _objectWithoutProperties(normalizedProps, _excluded); var properties = _extends({ rtlEnabled: !!(null !== (_this$config = this.config) && void 0 !== _this$config && _this$config.rtlEnabled), isRenovated: true }, restProps); if (valueChange) { properties.onValueChanged = function(_ref3) { var value = _ref3.value; return valueChange(value) } } var templates = this.props.templateNames; templates.forEach((function(name) { if ((0, _inferno2.hasTemplate)(name, properties, _this3)) { properties[name] = function(item, index, container) { (0, _inferno2.renderTemplate)(_this3.props.componentProps[name], { item: item, index: index, container: container }, _this3) } } })); return properties } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.componentProps, _this$props.componentType, _this$props.templateNames, _objectWithoutProperties(_this$props, _excluded2)); return restProps } }]); return DomComponentWrapper }(_inferno2.InfernoComponent); exports.DomComponentWrapper = DomComponentWrapper; DomComponentWrapper.defaultProps = DomComponentWrapperProps }, 92272: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/common/icon.js ***! \**************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.IconProps = exports.Icon = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _icon = __webpack_require__( /*! ../../../core/utils/icon */ 44899); var _combine_classes = __webpack_require__( /*! ../../utils/combine_classes */ 86237); var _excluded = ["iconTemplate", "position", "source"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var iconClassName = _ref.iconClassName, _ref$props = _ref.props, IconTemplate = _ref$props.iconTemplate, source = _ref$props.source, sourceType = _ref.sourceType; return (0, _inferno.createFragment)(["dxIcon" === sourceType && (0, _inferno.createVNode)(1, "i", iconClassName), "fontIcon" === sourceType && (0, _inferno.createVNode)(1, "i", iconClassName), "image" === sourceType && (0, _inferno.createVNode)(1, "img", iconClassName, null, 1, { alt: "", src: source }), IconTemplate && (0, _inferno.createVNode)(1, "i", iconClassName, IconTemplate({}), 0)], 0) }; exports.viewFunction = viewFunction; var IconProps = { position: "left", source: "" }; exports.IconProps = IconProps; var Icon = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Icon, _BaseInfernoComponent); function Icon(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = Icon.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { iconTemplate: (TemplateProp = props.iconTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), sourceType: this.sourceType, cssClass: this.cssClass, iconClassName: this.iconClassName, restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Icon, [{ key: "sourceType", get: function() { return (0, _icon.getImageSourceType)(this.props.source) } }, { key: "cssClass", get: function() { return "left" !== this.props.position ? "dx-icon-right" : "" } }, { key: "iconClassName", get: function() { var generalClasses = _defineProperty({ "dx-icon": true }, this.cssClass, !!this.cssClass); var source = this.props.source; if ("dxIcon" === this.sourceType) { return (0, _combine_classes.combineClasses)(_extends({}, generalClasses, _defineProperty({}, "dx-icon-".concat(source), true))) } if ("fontIcon" === this.sourceType) { return (0, _combine_classes.combineClasses)(_extends({}, generalClasses, _defineProperty({}, String(source), !!source))) } if ("image" === this.sourceType) { return (0, _combine_classes.combineClasses)(generalClasses) } if ("svg" === this.sourceType) { return (0, _combine_classes.combineClasses)(_extends({}, generalClasses, { "dx-svg-icon": true })) } return "" } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.iconTemplate, _this$props.position, _this$props.source, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return Icon }(_inferno2.BaseInfernoComponent); exports.Icon = Icon; Icon.defaultProps = IconProps }, 84507: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/common/ink_ripple.js ***! \********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.InkRippleProps = exports.InkRipple = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _utils = __webpack_require__( /*! ../../../ui/widget/utils.ink_ripple */ 72672); var _excluded = ["config"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(model) { return (0, _inferno.normalizeProps)((0, _inferno.createVNode)(1, "div", "dx-inkripple", null, 1, _extends({}, model.restAttributes))) }; exports.viewFunction = viewFunction; var InkRippleProps = { config: Object.freeze({}) }; exports.InkRippleProps = InkRippleProps; var InkRipple = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(InkRipple, _BaseInfernoComponent); function InkRipple(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; _this.__getterCache = {}; _this.hideWave = _this.hideWave.bind(_assertThisInitialized(_this)); _this.showWave = _this.showWave.bind(_assertThisInitialized(_this)); return _this } var _proto = InkRipple.prototype; _proto.hideWave = function(opts) { (0, _utils.hideWave)(this.getConfig, opts) }; _proto.showWave = function(opts) { (0, _utils.showWave)(this.getConfig, opts) }; _proto.componentWillUpdate = function(nextProps, nextState, context) { if (this.props.config !== nextProps.config) { this.__getterCache.getConfig = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), getConfig: this.getConfig, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(InkRipple, [{ key: "getConfig", get: function() { var _this2 = this; if (void 0 !== this.__getterCache.getConfig) { return this.__getterCache.getConfig } return this.__getterCache.getConfig = (config = _this2.props.config, (0, _utils.initConfig)(config)); var config } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.config, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return InkRipple }(_inferno2.BaseInfernoComponent); exports.InkRipple = InkRipple; InkRipple.defaultProps = InkRippleProps }, 25050: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/common/utils/date/index.js ***! \**************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { var _toMilliseconds = __webpack_require__( /*! ./toMilliseconds */ 78503); Object.keys(_toMilliseconds).forEach((function(key) { if ("default" === key || "__esModule" === key) { return } if (key in exports && exports[key] === _toMilliseconds[key]) { return } Object.defineProperty(exports, key, { enumerable: true, get: function() { return _toMilliseconds[key] } }) })) }, 78503: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/common/utils/date/toMilliseconds.js ***! \***********************************************************************************************/ function(__unused_webpack_module, exports) { exports.toMilliseconds = function(value) { return timeIntervals[value] }; var timeIntervals = { millisecond: 1, second: 1e3, minute: 6e4, hour: 36e5, day: 864e5, week: 6048e5, month: 2592e6, quarter: 7776e6, year: 31536e6 } }, 28240: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/common/utils/get_updated_options.js ***! \***********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getUpdatedOptions = function(oldProps, props) { var notDeepCopyArrays = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : defaultNotDeepCopyArrays; return objectDiffsWithoutReactProps(oldProps, props, "", notDeepCopyArrays) }; var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var defaultNotDeepCopyArrays = ["dataSource", "selectedRowKeys"]; var propsToIgnore = { integrationOptions: true }; function getDiffItem(key, value, previousValue) { return { path: key, value: value, previousValue: previousValue } } function compare(resultPaths, item1, item2, key, fullPropName, notDeepCopyArrays) { if (propsToIgnore[key]) { return } var type1 = (0, _type.type)(item1); var type2 = (0, _type.type)(item2); if (item1 === item2) { return } if (type1 !== type2) { resultPaths.push(getDiffItem(key, item2, item1)) } else if ("object" === type1) { if (!(0, _type.isPlainObject)(item2)) { resultPaths.push(getDiffItem(key, item2, item1)) } else { var diffPaths = objectDiffs(item1, item2, fullPropName, notDeepCopyArrays); resultPaths.push.apply(resultPaths, _toConsumableArray(diffPaths.map((function(item) { return _extends({}, item, { path: "".concat(key, ".").concat(item.path) }) })))) } } else if ("array" === type1) { var notDeepCopy = notDeepCopyArrays.some((function(prop) { return fullPropName.includes(prop) })); if (notDeepCopy && item1 !== item2) { resultPaths.push(getDiffItem(key, item2, item1)) } else if (item1.length !== item2.length) { resultPaths.push(getDiffItem(key, item2, item1)) } else { var _diffPaths = objectDiffs(item1, item2, fullPropName, notDeepCopyArrays); [].push.apply(resultPaths, _diffPaths.map((function(item) { return _extends({}, item, { path: "".concat(key).concat(item.path) }) }))) } } else { resultPaths.push(getDiffItem(key, item2, item1)) } } var objectDiffsFiltered = function(propsEnumerator) { return function(oldProps, props, fullPropName, notDeepCopyArrays) { var resultPaths = []; var processItem = !Array.isArray(oldProps) ? function(propName) { compare(resultPaths, oldProps[propName], props[propName], propName, "".concat(fullPropName, ".").concat(propName), notDeepCopyArrays) } : function(propName) { compare(resultPaths, oldProps[propName], props[propName], "[".concat(propName, "]"), "".concat(fullPropName, ".").concat(propName), notDeepCopyArrays) }; propsEnumerator(oldProps).forEach(processItem); Object.keys(props).filter((function(propName) { return !Object.prototype.hasOwnProperty.call(oldProps, propName) && oldProps[propName] !== props[propName] })).forEach((function(propName) { resultPaths.push({ path: propName, value: props[propName], previousValue: oldProps[propName] }) })); return resultPaths } }; var objectDiffs = objectDiffsFiltered((function(oldProps) { return Object.keys(oldProps) })); var reactProps = { key: true, ref: true, children: true, style: true }; var objectDiffsWithoutReactProps = objectDiffsFiltered((function(prop) { return Object.keys(prop).filter((function(p) { return !reactProps[p] })) })) }, 41672: /*!*****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/common/utils/scroll/getMemoizeScrollTo.js ***! \*****************************************************************************************************/ function(__unused_webpack_module, exports) { exports.getMemoizeScrollTo = function(getScrollableInstance) { var instance = getScrollableInstance(); var lastParams = {}; return function(params) { var force = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false; var normalizedParams = { top: void 0 !== params.top ? Math.ceil(params.top) : void 0, left: void 0 !== params.left ? Math.ceil(params.left) : void 0 }; var isSameParams = normalizedParams.top === lastParams.top && normalizedParams.left === lastParams.left; if (!force && isSameParams) { return } lastParams = normalizedParams; instance.scrollTo(params) } } }, 73687: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/common/widget.js ***! \****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.WidgetProps = exports.Widget = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); __webpack_require__( /*! ../../../events/click */ 95429); __webpack_require__( /*! ../../../events/hover */ 24028); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _short = __webpack_require__( /*! ../../../events/short */ 72918); var _subscribe_to_event = __webpack_require__( /*! ../../utils/subscribe_to_event */ 19828); var _combine_classes = __webpack_require__( /*! ../../utils/combine_classes */ 86237); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _style = __webpack_require__( /*! ../../../core/utils/style */ 80968); var _base_props = __webpack_require__( /*! ./base_props */ 31651); var _config_context = __webpack_require__( /*! ../../common/config_context */ 49697); var _config_provider = __webpack_require__( /*! ../../common/config_provider */ 66042); var _resolve_rtl = __webpack_require__( /*! ../../utils/resolve_rtl */ 8374); var _resize_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/resize_callbacks */ 55814)); var _errors = _interopRequireDefault(__webpack_require__( /*! ../../../core/errors */ 17381)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../core/dom_adapter */ 73349)); var _excluded = ["_feedbackHideTimeout", "_feedbackShowTimeout", "accessKey", "activeStateEnabled", "activeStateUnit", "addWidgetClass", "aria", "children", "className", "classes", "cssText", "disabled", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "name", "onActive", "onClick", "onDimensionChanged", "onFocusIn", "onFocusOut", "onHoverEnd", "onHoverStart", "onInactive", "onKeyDown", "onRootElementRendered", "onVisibilityChange", "rootElementRef", "rtlEnabled", "tabIndex", "visible", "width"]; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(viewModel) { var widget = (0, _inferno.normalizeProps)((0, _inferno.createVNode)(1, "div", viewModel.cssClasses, viewModel.props.children, 0, _extends({}, viewModel.attributes, { tabIndex: viewModel.tabIndex, title: viewModel.props.hint, style: (0, _inferno2.normalizeStyles)(viewModel.styles) }), null, viewModel.widgetElementRef)); return viewModel.shouldRenderConfigProvider ? (0, _inferno.createComponentVNode)(2, _config_provider.ConfigProvider, { rtlEnabled: viewModel.rtlEnabled, children: widget }) : widget }; exports.viewFunction = viewFunction; var WidgetProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_base_props.BaseWidgetProps), Object.getOwnPropertyDescriptors({ _feedbackHideTimeout: 400, _feedbackShowTimeout: 30, cssText: "", aria: Object.freeze({}), classes: "", name: "", addWidgetClass: true }))); exports.WidgetProps = WidgetProps; var Widget = function(_InfernoWrapperCompon) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Widget, _InfernoWrapperCompon); function Widget(props) { var _this; _this = _InfernoWrapperCompon.call(this, props) || this; _this.widgetElementRef = (0, _inferno.createRef)(); _this.state = { active: false, focused: false, hovered: false }; _this.setRootElementRef = _this.setRootElementRef.bind(_assertThisInitialized(_this)); _this.activeEffect = _this.activeEffect.bind(_assertThisInitialized(_this)); _this.inactiveEffect = _this.inactiveEffect.bind(_assertThisInitialized(_this)); _this.clickEffect = _this.clickEffect.bind(_assertThisInitialized(_this)); _this.focus = _this.focus.bind(_assertThisInitialized(_this)); _this.blur = _this.blur.bind(_assertThisInitialized(_this)); _this.activate = _this.activate.bind(_assertThisInitialized(_this)); _this.deactivate = _this.deactivate.bind(_assertThisInitialized(_this)); _this.focusInEffect = _this.focusInEffect.bind(_assertThisInitialized(_this)); _this.focusOutEffect = _this.focusOutEffect.bind(_assertThisInitialized(_this)); _this.hoverStartEffect = _this.hoverStartEffect.bind(_assertThisInitialized(_this)); _this.hoverEndEffect = _this.hoverEndEffect.bind(_assertThisInitialized(_this)); _this.keyboardEffect = _this.keyboardEffect.bind(_assertThisInitialized(_this)); _this.resizeEffect = _this.resizeEffect.bind(_assertThisInitialized(_this)); _this.windowResizeEffect = _this.windowResizeEffect.bind(_assertThisInitialized(_this)); _this.visibilityEffect = _this.visibilityEffect.bind(_assertThisInitialized(_this)); _this.checkDeprecation = _this.checkDeprecation.bind(_assertThisInitialized(_this)); _this.applyCssTextEffect = _this.applyCssTextEffect.bind(_assertThisInitialized(_this)); return _this } var _proto = Widget.prototype; _proto.createEffects = function() { return [new _inferno2.InfernoEffect(this.setRootElementRef, []), new _inferno2.InfernoEffect(this.activeEffect, [this.props._feedbackShowTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.disabled, this.props.onActive]), new _inferno2.InfernoEffect(this.inactiveEffect, [this.props._feedbackHideTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.onInactive, this.state.active]), new _inferno2.InfernoEffect(this.clickEffect, [this.props.disabled, this.props.name, this.props.onClick]), new _inferno2.InfernoEffect(this.focusInEffect, [this.props.disabled, this.props.focusStateEnabled, this.props.name, this.props.onFocusIn]), new _inferno2.InfernoEffect(this.focusOutEffect, [this.props.focusStateEnabled, this.props.name, this.props.onFocusOut, this.state.focused]), new _inferno2.InfernoEffect(this.hoverStartEffect, [this.props.activeStateUnit, this.props.disabled, this.props.hoverStateEnabled, this.props.onHoverStart, this.state.active]), new _inferno2.InfernoEffect(this.hoverEndEffect, [this.props.activeStateUnit, this.props.hoverStateEnabled, this.props.onHoverEnd, this.state.hovered]), new _inferno2.InfernoEffect(this.keyboardEffect, [this.props.focusStateEnabled, this.props.onKeyDown]), new _inferno2.InfernoEffect(this.resizeEffect, [this.props.name, this.props.onDimensionChanged]), new _inferno2.InfernoEffect(this.windowResizeEffect, [this.props.onDimensionChanged]), new _inferno2.InfernoEffect(this.visibilityEffect, [this.props.name, this.props.onVisibilityChange]), new _inferno2.InfernoEffect(this.checkDeprecation, [this.props.height, this.props.width]), new _inferno2.InfernoEffect(this.applyCssTextEffect, [this.props.cssText]), (0, _inferno2.createReRenderEffect)()] }; _proto.updateEffects = function() { var _this$_effects$, _this$_effects$2, _this$_effects$3, _this$_effects$4, _this$_effects$5, _this$_effects$6, _this$_effects$7, _this$_effects$8, _this$_effects$9, _this$_effects$10, _this$_effects$11, _this$_effects$12, _this$_effects$13; null === (_this$_effects$ = this._effects[1]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props._feedbackShowTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.disabled, this.props.onActive]); null === (_this$_effects$2 = this._effects[2]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props._feedbackHideTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.onInactive, this.state.active]); null === (_this$_effects$3 = this._effects[3]) || void 0 === _this$_effects$3 ? void 0 : _this$_effects$3.update([this.props.disabled, this.props.name, this.props.onClick]); null === (_this$_effects$4 = this._effects[4]) || void 0 === _this$_effects$4 ? void 0 : _this$_effects$4.update([this.props.disabled, this.props.focusStateEnabled, this.props.name, this.props.onFocusIn]); null === (_this$_effects$5 = this._effects[5]) || void 0 === _this$_effects$5 ? void 0 : _this$_effects$5.update([this.props.focusStateEnabled, this.props.name, this.props.onFocusOut, this.state.focused]); null === (_this$_effects$6 = this._effects[6]) || void 0 === _this$_effects$6 ? void 0 : _this$_effects$6.update([this.props.activeStateUnit, this.props.disabled, this.props.hoverStateEnabled, this.props.onHoverStart, this.state.active]); null === (_this$_effects$7 = this._effects[7]) || void 0 === _this$_effects$7 ? void 0 : _this$_effects$7.update([this.props.activeStateUnit, this.props.hoverStateEnabled, this.props.onHoverEnd, this.state.hovered]); null === (_this$_effects$8 = this._effects[8]) || void 0 === _this$_effects$8 ? void 0 : _this$_effects$8.update([this.props.focusStateEnabled, this.props.onKeyDown]); null === (_this$_effects$9 = this._effects[9]) || void 0 === _this$_effects$9 ? void 0 : _this$_effects$9.update([this.props.name, this.props.onDimensionChanged]); null === (_this$_effects$10 = this._effects[10]) || void 0 === _this$_effects$10 ? void 0 : _this$_effects$10.update([this.props.onDimensionChanged]); null === (_this$_effects$11 = this._effects[11]) || void 0 === _this$_effects$11 ? void 0 : _this$_effects$11.update([this.props.name, this.props.onVisibilityChange]); null === (_this$_effects$12 = this._effects[12]) || void 0 === _this$_effects$12 ? void 0 : _this$_effects$12.update([this.props.height, this.props.width]); null === (_this$_effects$13 = this._effects[13]) || void 0 === _this$_effects$13 ? void 0 : _this$_effects$13.update([this.props.cssText]) }; _proto.setRootElementRef = function() { var _this$props = this.props, onRootElementRendered = _this$props.onRootElementRendered, rootElementRef = _this$props.rootElementRef; if (rootElementRef) { rootElementRef.current = this.widgetElementRef.current } null === onRootElementRendered || void 0 === onRootElementRendered ? void 0 : onRootElementRendered(this.widgetElementRef.current) }; _proto.activeEffect = function() { var _this2 = this; var _this$props2 = this.props, _feedbackShowTimeout = _this$props2._feedbackShowTimeout, activeStateEnabled = _this$props2.activeStateEnabled, activeStateUnit = _this$props2.activeStateUnit, disabled = _this$props2.disabled, onActive = _this$props2.onActive; var selector = activeStateUnit; if (activeStateEnabled) { if (!disabled) { return (0, _subscribe_to_event.subscribeToDxActiveEvent)(this.widgetElementRef.current, (function(event) { _this2.setState((function(__state_argument) { return { active: true } })); null === onActive || void 0 === onActive ? void 0 : onActive(event) }), { timeout: _feedbackShowTimeout, selector: selector }, "UIFeedback") } } return }; _proto.inactiveEffect = function() { var _this3 = this; var _this$props3 = this.props, _feedbackHideTimeout = _this$props3._feedbackHideTimeout, activeStateEnabled = _this$props3.activeStateEnabled, activeStateUnit = _this$props3.activeStateUnit, onInactive = _this$props3.onInactive; var selector = activeStateUnit; if (activeStateEnabled) { return (0, _subscribe_to_event.subscribeToDxInactiveEvent)(this.widgetElementRef.current, (function(event) { if (_this3.state.active) { _this3.setState((function(__state_argument) { return { active: false } })); null === onInactive || void 0 === onInactive ? void 0 : onInactive(event) } }), { timeout: _feedbackHideTimeout, selector: selector }, "UIFeedback") } return }; _proto.clickEffect = function() { var _this4 = this; var _this$props4 = this.props, disabled = _this$props4.disabled, name = _this$props4.name, onClick = _this$props4.onClick; var namespace = name; if (onClick && !disabled) { _short.dxClick.on(this.widgetElementRef.current, onClick, { namespace: namespace }); return function() { return _short.dxClick.off(_this4.widgetElementRef.current, { namespace: namespace }) } } return }; _proto.focusInEffect = function() { var _this5 = this; var _this$props5 = this.props, disabled = _this$props5.disabled, focusStateEnabled = _this$props5.focusStateEnabled, name = _this$props5.name, onFocusIn = _this$props5.onFocusIn; var namespace = "".concat(name, "Focus"); if (focusStateEnabled) { if (!disabled) { return (0, _subscribe_to_event.subscribeToDxFocusInEvent)(this.widgetElementRef.current, (function(event) { if (!event.isDefaultPrevented()) { _this5.setState((function(__state_argument) { return { focused: true } })); null === onFocusIn || void 0 === onFocusIn ? void 0 : onFocusIn(event) } }), null, namespace) } } return }; _proto.focusOutEffect = function() { var _this6 = this; var _this$props6 = this.props, focusStateEnabled = _this$props6.focusStateEnabled, name = _this$props6.name, onFocusOut = _this$props6.onFocusOut; var namespace = "".concat(name, "Focus"); if (focusStateEnabled) { return (0, _subscribe_to_event.subscribeToDxFocusOutEvent)(this.widgetElementRef.current, (function(event) { if (!event.isDefaultPrevented() && _this6.state.focused) { _this6.setState((function(__state_argument) { return { focused: false } })); null === onFocusOut || void 0 === onFocusOut ? void 0 : onFocusOut(event) } }), null, namespace) } return }; _proto.hoverStartEffect = function() { var _this7 = this; var _this$props7 = this.props, activeStateUnit = _this$props7.activeStateUnit, disabled = _this$props7.disabled, hoverStateEnabled = _this$props7.hoverStateEnabled, onHoverStart = _this$props7.onHoverStart; var selector = activeStateUnit; if (hoverStateEnabled) { if (!disabled) { return (0, _subscribe_to_event.subscribeToDxHoverStartEvent)(this.widgetElementRef.current, (function(event) { !_this7.state.active && _this7.setState((function(__state_argument) { return { hovered: true } })); null === onHoverStart || void 0 === onHoverStart ? void 0 : onHoverStart(event) }), { selector: selector }, "UIFeedback") } } return }; _proto.hoverEndEffect = function() { var _this8 = this; var _this$props8 = this.props, activeStateUnit = _this$props8.activeStateUnit, hoverStateEnabled = _this$props8.hoverStateEnabled, onHoverEnd = _this$props8.onHoverEnd; var selector = activeStateUnit; if (hoverStateEnabled) { return (0, _subscribe_to_event.subscribeToDxHoverEndEvent)(this.widgetElementRef.current, (function(event) { if (_this8.state.hovered) { _this8.setState((function(__state_argument) { return { hovered: false } })); null === onHoverEnd || void 0 === onHoverEnd ? void 0 : onHoverEnd(event) } }), { selector: selector }, "UIFeedback") } return }; _proto.keyboardEffect = function() { var _this$props9 = this.props, focusStateEnabled = _this$props9.focusStateEnabled, onKeyDown = _this$props9.onKeyDown; if (focusStateEnabled && onKeyDown) { var id = _short.keyboard.on(this.widgetElementRef.current, this.widgetElementRef.current, (function(e) { return onKeyDown(e) })); return function() { return _short.keyboard.off(id) } } return }; _proto.resizeEffect = function() { var _this9 = this; var namespace = "".concat(this.props.name, "VisibilityChange"); var onDimensionChanged = this.props.onDimensionChanged; if (onDimensionChanged) { _short.resize.on(this.widgetElementRef.current, onDimensionChanged, { namespace: namespace }); return function() { return _short.resize.off(_this9.widgetElementRef.current, { namespace: namespace }) } } return }; _proto.windowResizeEffect = function() { var onDimensionChanged = this.props.onDimensionChanged; if (onDimensionChanged) { _resize_callbacks.default.add(onDimensionChanged); return function() { _resize_callbacks.default.remove(onDimensionChanged) } } return }; _proto.visibilityEffect = function() { var _this10 = this; var _this$props10 = this.props, name = _this$props10.name, onVisibilityChange = _this$props10.onVisibilityChange; var namespace = "".concat(name, "VisibilityChange"); if (onVisibilityChange) { _short.visibility.on(this.widgetElementRef.current, (function() { return onVisibilityChange(true) }), (function() { return onVisibilityChange(false) }), { namespace: namespace }); return function() { return _short.visibility.off(_this10.widgetElementRef.current, { namespace: namespace }) } } return }; _proto.checkDeprecation = function() { var _this$props11 = this.props, height = _this$props11.height, width = _this$props11.width; if ((0, _type.isFunction)(width)) { _errors.default.log("W0017", "width") } if ((0, _type.isFunction)(height)) { _errors.default.log("W0017", "height") } }; _proto.applyCssTextEffect = function() { var cssText = this.props.cssText; if ("" !== cssText) { this.widgetElementRef.current.style.cssText = cssText } }; _proto.focus = function() { _short.focus.trigger(this.widgetElementRef.current) }; _proto.blur = function() { var activeElement = _dom_adapter.default.getActiveElement(this.widgetElementRef.current); if (this.widgetElementRef.current === activeElement) { activeElement.blur() } }; _proto.activate = function() { this.setState((function(__state_argument) { return { active: true } })) }; _proto.deactivate = function() { this.setState((function(__state_argument) { return { active: false } })) }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), active: this.state.active, focused: this.state.focused, hovered: this.state.hovered, widgetElementRef: this.widgetElementRef, config: this.config, shouldRenderConfigProvider: this.shouldRenderConfigProvider, rtlEnabled: this.rtlEnabled, attributes: this.attributes, styles: this.styles, cssClasses: this.cssClasses, tabIndex: this.tabIndex, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Widget, [{ key: "config", get: function() { if (this.context[_config_context.ConfigContext.id]) { return this.context[_config_context.ConfigContext.id] } return _config_context.ConfigContext.defaultValue } }, { key: "shouldRenderConfigProvider", get: function() { var rtlEnabled = this.props.rtlEnabled; return (0, _resolve_rtl.resolveRtlEnabledDefinition)(rtlEnabled, this.config) } }, { key: "rtlEnabled", get: function() { var rtlEnabled = this.props.rtlEnabled; return (0, _resolve_rtl.resolveRtlEnabled)(rtlEnabled, this.config) } }, { key: "attributes", get: function() { var _this$props12 = this.props, aria = _this$props12.aria, disabled = _this$props12.disabled, focusStateEnabled = _this$props12.focusStateEnabled, visible = _this$props12.visible; var accessKey = focusStateEnabled && !disabled && this.props.accessKey; return _extends({}, (0, _extend.extend)({}, accessKey && { accessKey: accessKey }), (args = _extends({}, aria, { disabled: disabled, hidden: !visible }), Object.keys(args).reduce((function(r, key) { if (args[key]) { return _extends({}, r, _defineProperty({}, "role" === key || "id" === key ? key : "aria-".concat(key), String(args[key]))) } return r }), {})), (0, _extend.extend)({}, this.restAttributes)); var args } }, { key: "styles", get: function() { var _this$props13 = this.props, height = _this$props13.height, width = _this$props13.width; var style = this.restAttributes.style || {}; var computedWidth = (0, _style.normalizeStyleProp)("width", (0, _type.isFunction)(width) ? width() : width); var computedHeight = (0, _style.normalizeStyleProp)("height", (0, _type.isFunction)(height) ? height() : height); return _extends({}, style, { height: null !== computedHeight && void 0 !== computedHeight ? computedHeight : style.height, width: null !== computedWidth && void 0 !== computedWidth ? computedWidth : style.width }) } }, { key: "cssClasses", get: function() { var _classesMap; var _this$props14 = this.props, activeStateEnabled = _this$props14.activeStateEnabled, addWidgetClass = _this$props14.addWidgetClass, className = _this$props14.className, classes = _this$props14.classes, disabled = _this$props14.disabled, focusStateEnabled = _this$props14.focusStateEnabled, hoverStateEnabled = _this$props14.hoverStateEnabled, onVisibilityChange = _this$props14.onVisibilityChange, visible = _this$props14.visible; var isFocusable = !!focusStateEnabled && !disabled; var isHoverable = !!hoverStateEnabled && !disabled; var canBeActive = !!activeStateEnabled && !disabled; var classesMap = (_classesMap = { "dx-widget": !!addWidgetClass }, _defineProperty(_classesMap, String(classes), !!classes), _defineProperty(_classesMap, String(className), !!className), _defineProperty(_classesMap, "dx-state-disabled", !!disabled), _defineProperty(_classesMap, "dx-state-invisible", !visible), _defineProperty(_classesMap, "dx-state-focused", !!this.state.focused && isFocusable), _defineProperty(_classesMap, "dx-state-active", !!this.state.active && canBeActive), _defineProperty(_classesMap, "dx-state-hover", !!this.state.hovered && isHoverable && !this.state.active), _defineProperty(_classesMap, "dx-rtl", !!this.rtlEnabled), _defineProperty(_classesMap, "dx-visibility-change-handler", !!onVisibilityChange), _classesMap); return (0, _combine_classes.combineClasses)(classesMap) } }, { key: "tabIndex", get: function() { var _this$props15 = this.props, disabled = _this$props15.disabled, focusStateEnabled = _this$props15.focusStateEnabled, tabIndex = _this$props15.tabIndex; var isFocusable = focusStateEnabled && !disabled; return isFocusable ? tabIndex : void 0 } }, { key: "restAttributes", get: function() { var _this$props16 = this.props, restProps = (_this$props16._feedbackHideTimeout, _this$props16._feedbackShowTimeout, _this$props16.accessKey, _this$props16.activeStateEnabled, _this$props16.activeStateUnit, _this$props16.addWidgetClass, _this$props16.aria, _this$props16.children, _this$props16.className, _this$props16.classes, _this$props16.cssText, _this$props16.disabled, _this$props16.focusStateEnabled, _this$props16.height, _this$props16.hint, _this$props16.hoverStateEnabled, _this$props16.name, _this$props16.onActive, _this$props16.onClick, _this$props16.onDimensionChanged, _this$props16.onFocusIn, _this$props16.onFocusOut, _this$props16.onHoverEnd, _this$props16.onHoverStart, _this$props16.onInactive, _this$props16.onKeyDown, _this$props16.onRootElementRendered, _this$props16.onVisibilityChange, _this$props16.rootElementRef, _this$props16.rtlEnabled, _this$props16.tabIndex, _this$props16.visible, _this$props16.width, _objectWithoutProperties(_this$props16, _excluded)); return restProps } }]); return Widget }(_inferno2.InfernoWrapperComponent); exports.Widget = Widget; Widget.defaultProps = WidgetProps }, 8448: /*!********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/editors/check_box/check_box.j.js ***! \********************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../../core/component_registrator */ 99393)); var _check_box = _interopRequireDefault(__webpack_require__( /*! ../../../component_wrapper/editors/check_box */ 74046)); var _check_box2 = __webpack_require__( /*! ./check_box */ 85560); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var CheckBox = function(_BaseComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(CheckBox, _BaseComponent); function CheckBox() { return _BaseComponent.apply(this, arguments) || this } var _proto = CheckBox.prototype; _proto.getProps = function() { var props = _BaseComponent.prototype.getProps.call(this); props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown); return props }; _proto.focus = function() { var _this$viewRef; return null === (_this$viewRef = this.viewRef) || void 0 === _this$viewRef ? void 0 : _this$viewRef.focus.apply(_this$viewRef, arguments) }; _proto.blur = function() { var _this$viewRef2; return null === (_this$viewRef2 = this.viewRef) || void 0 === _this$viewRef2 ? void 0 : _this$viewRef2.blur.apply(_this$viewRef2, arguments) }; _proto._getActionConfigs = function() { return { onFocusIn: {}, onClick: {} } }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(CheckBox, [{ key: "_propsInfo", get: function() { return { twoWay: [ ["value", "defaultValue", "valueChange"] ], allowNull: ["defaultValue", "validationError", "validationErrors", "value"], elements: [], templates: [], props: ["text", "iconSize", "enableThreeStateBehavior", "activeStateEnabled", "hoverStateEnabled", "focusStateEnabled", "saveValueChangeEvent", "defaultValue", "valueChange", "readOnly", "name", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "isValid", "inputAttr", "onFocusIn", "className", "accessKey", "disabled", "height", "hint", "onClick", "onKeyDown", "rtlEnabled", "tabIndex", "visible", "width", "aria", "value"] } } }, { key: "_viewComponent", get: function() { return _check_box2.CheckBox } }]); return CheckBox }(_check_box.default); exports.default = CheckBox; (0, _component_registrator.default)("dxCheckBox", CheckBox); CheckBox.defaultOptions = _check_box2.defaultOptions; module.exports = exports.default; module.exports.default = exports.default }, 85560: /*!******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/editors/check_box/check_box.js ***! \******************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.CheckBoxPropsType = exports.CheckBoxProps = exports.CheckBox = void 0; exports.defaultOptions = function(rule) { __defaultOptionRules.push(rule); CheckBox.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(CheckBox.defaultProps), Object.getOwnPropertyDescriptors((defaultProps = (0, _utils.convertRulesToOptions)(__defaultOptionRules), twoWayProps = ["value"], Object.keys(defaultProps).reduce((function(props, propName) { var propValue = defaultProps[propName]; var defaultPropName = twoWayProps.some((function(p) { return p === propName })) ? "default" + propName.charAt(0).toUpperCase() + propName.slice(1) : propName; props[defaultPropName] = propValue; return props }), {}))))); var defaultProps, twoWayProps }; exports.viewFunction = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _devices = (obj = __webpack_require__( /*! ../../../../core/devices */ 20530), obj && obj.__esModule ? obj : { default: obj }); var obj; var _editor = __webpack_require__( /*! ../common/editor */ 77848); var _combine_classes = __webpack_require__( /*! ../../../utils/combine_classes */ 86237); var _check_box_icon = __webpack_require__( /*! ./check_box_icon */ 13241); var _widget = __webpack_require__( /*! ../../common/widget */ 73687); var _utils = __webpack_require__( /*! ../../../../core/options/utils */ 45434); var _excluded = ["accessKey", "activeStateEnabled", "aria", "className", "defaultValue", "disabled", "enableThreeStateBehavior", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "inputAttr", "isValid", "name", "onClick", "onFocusIn", "onKeyDown", "readOnly", "rtlEnabled", "saveValueChangeEvent", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChange", "visible", "width"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(viewModel) { var aria = viewModel.aria, classes = viewModel.cssClasses, editorRef = viewModel.editorRef, onKeyDown = viewModel.keyDown, onClick = viewModel.onWidgetClick, _viewModel$props = viewModel.props, accessKey = _viewModel$props.accessKey, activeStateEnabled = _viewModel$props.activeStateEnabled, className = _viewModel$props.className, disabled = _viewModel$props.disabled, focusStateEnabled = _viewModel$props.focusStateEnabled, height = _viewModel$props.height, hint = _viewModel$props.hint, hoverStateEnabled = _viewModel$props.hoverStateEnabled, iconSize = _viewModel$props.iconSize, isValid = _viewModel$props.isValid, name = _viewModel$props.name, onFocusIn = _viewModel$props.onFocusIn, readOnly = _viewModel$props.readOnly, rtlEnabled = _viewModel$props.rtlEnabled, tabIndex = _viewModel$props.tabIndex, text = _viewModel$props.text, validationError = _viewModel$props.validationError, validationErrors = _viewModel$props.validationErrors, validationMessageMode = _viewModel$props.validationMessageMode, validationMessagePosition = _viewModel$props.validationMessagePosition, validationStatus = _viewModel$props.validationStatus, value = _viewModel$props.value, visible = _viewModel$props.visible, width = _viewModel$props.width, restAttributes = viewModel.restAttributes; return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _editor.Editor, _extends({ aria: aria, classes: classes, onClick: onClick, onKeyDown: onKeyDown, accessKey: accessKey, activeStateEnabled: activeStateEnabled, focusStateEnabled: focusStateEnabled, hoverStateEnabled: hoverStateEnabled, className: className, disabled: disabled, readOnly: readOnly, hint: hint, height: height, width: width, rtlEnabled: rtlEnabled, tabIndex: tabIndex, visible: visible, validationError: validationError, validationErrors: validationErrors, validationMessageMode: validationMessageMode, validationMessagePosition: validationMessagePosition, validationStatus: validationStatus, isValid: isValid, onFocusIn: onFocusIn }, restAttributes, { children: (0, _inferno.createFragment)([(0, _inferno.normalizeProps)((0, _inferno.createVNode)(64, "input", null, null, 1, _extends({ type: "hidden", value: "".concat(value) }, name && { name: name }))), (0, _inferno.createVNode)(1, "div", "dx-checkbox-container", [(0, _inferno.createComponentVNode)(2, _check_box_icon.CheckBoxIcon, { size: iconSize, isChecked: true === value }), text && (0, _inferno.createVNode)(1, "span", "dx-checkbox-text", text, 0)], 0)], 4) }), null, editorRef)) }; exports.viewFunction = viewFunction; var CheckBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_editor.EditorProps), Object.getOwnPropertyDescriptors(Object.defineProperties({ text: "", enableThreeStateBehavior: false, activeStateEnabled: true, hoverStateEnabled: true, defaultValue: false, valueChange: function() {} }, { focusStateEnabled: { get: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, configurable: true, enumerable: true } })))); exports.CheckBoxProps = CheckBoxProps; var CheckBoxPropsType = Object.defineProperties({}, { text: { get: function() { return CheckBoxProps.text }, configurable: true, enumerable: true }, enableThreeStateBehavior: { get: function() { return CheckBoxProps.enableThreeStateBehavior }, configurable: true, enumerable: true }, activeStateEnabled: { get: function() { return CheckBoxProps.activeStateEnabled }, configurable: true, enumerable: true }, hoverStateEnabled: { get: function() { return CheckBoxProps.hoverStateEnabled }, configurable: true, enumerable: true }, focusStateEnabled: { get: function() { return CheckBoxProps.focusStateEnabled }, configurable: true, enumerable: true }, defaultValue: { get: function() { return CheckBoxProps.defaultValue }, configurable: true, enumerable: true }, valueChange: { get: function() { return CheckBoxProps.valueChange }, configurable: true, enumerable: true }, readOnly: { get: function() { return CheckBoxProps.readOnly }, configurable: true, enumerable: true }, name: { get: function() { return CheckBoxProps.name }, configurable: true, enumerable: true }, validationError: { get: function() { return CheckBoxProps.validationError }, configurable: true, enumerable: true }, validationErrors: { get: function() { return CheckBoxProps.validationErrors }, configurable: true, enumerable: true }, validationMessageMode: { get: function() { return CheckBoxProps.validationMessageMode }, configurable: true, enumerable: true }, validationMessagePosition: { get: function() { return CheckBoxProps.validationMessagePosition }, configurable: true, enumerable: true }, validationStatus: { get: function() { return CheckBoxProps.validationStatus }, configurable: true, enumerable: true }, isValid: { get: function() { return CheckBoxProps.isValid }, configurable: true, enumerable: true }, inputAttr: { get: function() { return CheckBoxProps.inputAttr }, configurable: true, enumerable: true }, className: { get: function() { return CheckBoxProps.className }, configurable: true, enumerable: true }, disabled: { get: function() { return CheckBoxProps.disabled }, configurable: true, enumerable: true }, tabIndex: { get: function() { return CheckBoxProps.tabIndex }, configurable: true, enumerable: true }, visible: { get: function() { return CheckBoxProps.visible }, configurable: true, enumerable: true }, aria: { get: function() { return _widget.WidgetProps.aria }, configurable: true, enumerable: true } }); exports.CheckBoxPropsType = CheckBoxPropsType; var CheckBox = function(_InfernoWrapperCompon) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(CheckBox, _InfernoWrapperCompon); function CheckBox(props) { var _this; _this = _InfernoWrapperCompon.call(this, props) || this; _this.editorRef = (0, _inferno.createRef)(); _this.state = { value: void 0 !== _this.props.value ? _this.props.value : _this.props.defaultValue }; _this.focus = _this.focus.bind(_assertThisInitialized(_this)); _this.blur = _this.blur.bind(_assertThisInitialized(_this)); _this.onWidgetClick = _this.onWidgetClick.bind(_assertThisInitialized(_this)); _this.keyDown = _this.keyDown.bind(_assertThisInitialized(_this)); return _this } var _proto = CheckBox.prototype; _proto.createEffects = function() { return [(0, _inferno2.createReRenderEffect)()] }; _proto.onWidgetClick = function(event) { var _this2 = this; var _this$props = this.props, enableThreeStateBehavior = _this$props.enableThreeStateBehavior, readOnly = _this$props.readOnly, saveValueChangeEvent = _this$props.saveValueChangeEvent; if (!readOnly) { null === saveValueChangeEvent || void 0 === saveValueChangeEvent ? void 0 : saveValueChangeEvent(event); if (enableThreeStateBehavior) { var __newValue; this.setState((function(__state_argument) { __newValue = null === (void 0 !== _this2.props.value ? _this2.props.value : __state_argument.value) || (!(void 0 !== _this2.props.value ? _this2.props.value : __state_argument.value) ? null : false); return { value: __newValue } })); this.props.valueChange(__newValue) } else { var _newValue; this.setState((function(__state_argument) { var _ref; _newValue = !(null !== (_ref = void 0 !== _this2.props.value ? _this2.props.value : __state_argument.value) && void 0 !== _ref ? _ref : false); return { value: _newValue } })); this.props.valueChange(_newValue) } } }; _proto.keyDown = function(e) { var onKeyDown = this.props.onKeyDown; var keyName = e.keyName, originalEvent = e.originalEvent, which = e.which; var result = null === onKeyDown || void 0 === onKeyDown ? void 0 : onKeyDown(e); if (null !== result && void 0 !== result && result.cancel) { return result } if ("space" === keyName || "space" === which) { originalEvent.preventDefault(); this.onWidgetClick(originalEvent) } return }; _proto.focus = function() { this.editorRef.current.focus() }; _proto.blur = function() { this.editorRef.current.blur() }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { value: void 0 !== this.props.value ? this.props.value : this.state.value }), editorRef: this.editorRef, onWidgetClick: this.onWidgetClick, keyDown: this.keyDown, cssClasses: this.cssClasses, aria: this.aria, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(CheckBox, [{ key: "cssClasses", get: function() { return model = _extends({}, this.props, { value: void 0 !== this.props.value ? this.props.value : this.state.value }), text = model.text, value = model.value, checked = value, indeterminate = null === checked, classesMap = { "dx-checkbox": true, "dx-checkbox-checked": true === checked, "dx-checkbox-has-text": !!text, "dx-checkbox-indeterminate": indeterminate }, (0, _combine_classes.combineClasses)(classesMap); var model, text, value, checked, indeterminate, classesMap } }, { key: "aria", get: function() { var checked = true === (void 0 !== this.props.value ? this.props.value : this.state.value); var indeterminate = null === (void 0 !== this.props.value ? this.props.value : this.state.value); var result = { role: "checkbox", checked: indeterminate ? "mixed" : "".concat(checked) }; return _extends({}, result, this.props.aria) } }, { key: "restAttributes", get: function() { var _this$props$value = _extends({}, this.props, { value: void 0 !== this.props.value ? this.props.value : this.state.value }), restProps = (_this$props$value.accessKey, _this$props$value.activeStateEnabled, _this$props$value.aria, _this$props$value.className, _this$props$value.defaultValue, _this$props$value.disabled, _this$props$value.enableThreeStateBehavior, _this$props$value.focusStateEnabled, _this$props$value.height, _this$props$value.hint, _this$props$value.hoverStateEnabled, _this$props$value.iconSize, _this$props$value.inputAttr, _this$props$value.isValid, _this$props$value.name, _this$props$value.onClick, _this$props$value.onFocusIn, _this$props$value.onKeyDown, _this$props$value.readOnly, _this$props$value.rtlEnabled, _this$props$value.saveValueChangeEvent, _this$props$value.tabIndex, _this$props$value.text, _this$props$value.validationError, _this$props$value.validationErrors, _this$props$value.validationMessageMode, _this$props$value.validationMessagePosition, _this$props$value.validationStatus, _this$props$value.value, _this$props$value.valueChange, _this$props$value.visible, _this$props$value.width, _objectWithoutProperties(_this$props$value, _excluded)); return restProps } }]); return CheckBox }(_inferno2.InfernoWrapperComponent); exports.CheckBox = CheckBox; CheckBox.defaultProps = CheckBoxPropsType; var __defaultOptionRules = [] }, 13241: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/editors/check_box/check_box_icon.js ***! \***********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.CheckBoxIconProps = exports.CheckBoxIcon = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _get_computed_style = (obj = __webpack_require__( /*! ../../../utils/get_computed_style */ 89357), obj && obj.__esModule ? obj : { default: obj }); var obj; var _window = __webpack_require__( /*! ../../../../core/utils/window */ 58201); var _style = __webpack_require__( /*! ../../../../core/utils/style */ 80968); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _utils = __webpack_require__( /*! ./utils */ 71591); var _excluded = ["isChecked", "size"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(viewModel) { var cssStyles = viewModel.cssStyles, elementRef = viewModel.elementRef; return (0, _inferno.createVNode)(1, "span", "dx-checkbox-icon", null, 1, { style: (0, _inferno2.normalizeStyles)(cssStyles) }, null, elementRef) }; exports.viewFunction = viewFunction; var CheckBoxIconProps = { isChecked: false }; exports.CheckBoxIconProps = CheckBoxIconProps; var CheckBoxIcon = function(_InfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(CheckBoxIcon, _InfernoComponent); function CheckBoxIcon(props) { var _this; _this = _InfernoComponent.call(this, props) || this; _this.state = {}; _this.elementRef = (0, _inferno.createRef)(); _this.__getterCache = {}; _this.updateFontSize = _this.updateFontSize.bind(_assertThisInitialized(_this)); _this.setIconFontSize = _this.setIconFontSize.bind(_assertThisInitialized(_this)); _this.getIconSize = _this.getIconSize.bind(_assertThisInitialized(_this)); _this.getComputedIconSize = _this.getComputedIconSize.bind(_assertThisInitialized(_this)); return _this } var _proto = CheckBoxIcon.prototype; _proto.createEffects = function() { return [new _inferno2.InfernoEffect(this.updateFontSize, [this.props.isChecked, this.props.size])] }; _proto.updateEffects = function() { var _this$_effects$; null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.isChecked, this.props.size]) }; _proto.updateFontSize = function() { var _this$props = this.props, isChecked = _this$props.isChecked, size = _this$props.size; if ((0, _window.hasWindow)() && size) { var newIconSize = this.getIconSize(size); var newFontSize = (0, _utils.getFontSizeByIconSize)(newIconSize, isChecked); this.setIconFontSize(newFontSize) } }; _proto.setIconFontSize = function(fontSize) { var element = this.elementRef.current; element.style.fontSize = "".concat(fontSize, "px") }; _proto.getIconSize = function(size) { if ((0, _type.isNumeric)(size)) { return size } if (size.endsWith("px")) { return parseInt(size, 10) } return this.getComputedIconSize() }; _proto.getComputedIconSize = function() { var element = this.elementRef.current; var iconComputedStyle = (0, _get_computed_style.default)(element); var computedIconSize = parseInt(null === iconComputedStyle || void 0 === iconComputedStyle ? void 0 : iconComputedStyle.width, 10); return computedIconSize }; _proto.componentWillUpdate = function(nextProps, nextState, context) { _InfernoComponent.prototype.componentWillUpdate.call(this); if (this.props.size !== nextProps.size) { this.__getterCache.cssStyles = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), elementRef: this.elementRef, setIconFontSize: this.setIconFontSize, getIconSize: this.getIconSize, getComputedIconSize: this.getComputedIconSize, cssStyles: this.cssStyles, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(CheckBoxIcon, [{ key: "cssStyles", get: function() { var _this2 = this; if (void 0 !== this.__getterCache.cssStyles) { return this.__getterCache.cssStyles } return this.__getterCache.cssStyles = (size = _this2.props.size, width = (0, _style.normalizeStyleProp)("width", size), height = (0, _style.normalizeStyleProp)("height", size), { height: height, width: width }); var size, width, height } }, { key: "restAttributes", get: function() { var _this$props2 = this.props, restProps = (_this$props2.isChecked, _this$props2.size, _objectWithoutProperties(_this$props2, _excluded)); return restProps } }]); return CheckBoxIcon }(_inferno2.InfernoComponent); exports.CheckBoxIcon = CheckBoxIcon; CheckBoxIcon.defaultProps = CheckBoxIconProps }, 71591: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/editors/check_box/utils.js ***! \**************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getDefaultFontSize = getDefaultFontSize; exports.getDefaultIconSize = getDefaultIconSize; exports.getFontSizeByIconSize = function(iconSize, isChecked) { var defaultFontSize = getDefaultFontSize(isChecked); var defaultIconSize = getDefaultIconSize(); var fontToIconSizeRatio = defaultFontSize / defaultIconSize; return Math.ceil(fontToIconSizeRatio * iconSize) }; var _themes = __webpack_require__( /*! ../../../../ui/themes */ 75811); var defaultIconSizes = [ [22, 16], [18, 16] ]; var defaultFontSizes = [ [ [12, 8], [20, 18] ], [ [16, 10], [16, 14] ] ]; function getThemeType() { var theme = (0, _themes.current)(); return { isMaterialTheme: (0, _themes.isMaterial)(theme), isCompactTheme: (0, _themes.isCompact)(theme) } } function getDefaultIconSize() { var _getThemeType = getThemeType(), isCompactTheme = _getThemeType.isCompactTheme, isMaterialTheme = _getThemeType.isMaterialTheme; return defaultIconSizes[+isMaterialTheme][+isCompactTheme] } function getDefaultFontSize(isChecked) { var _getThemeType2 = getThemeType(), isCompactTheme = _getThemeType2.isCompactTheme, isMaterialTheme = _getThemeType2.isMaterialTheme; return defaultFontSizes[+isChecked][+isMaterialTheme][+isCompactTheme] } }, 77848: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/editors/common/editor.js ***! \************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.EditorPropsType = exports.EditorProps = exports.Editor = void 0; exports.defaultOptions = function(rule) { __defaultOptionRules.push(rule); Editor.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(Editor.defaultProps), Object.getOwnPropertyDescriptors((defaultProps = (0, _utils.convertRulesToOptions)(__defaultOptionRules), twoWayProps = ["value"], Object.keys(defaultProps).reduce((function(props, propName) { var propValue = defaultProps[propName]; var defaultPropName = twoWayProps.some((function(p) { return p === propName })) ? "default" + propName.charAt(0).toUpperCase() + propName.slice(1) : propName; props[defaultPropName] = propValue; return props }), {}))))); var defaultProps, twoWayProps }; exports.viewFunction = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _guid = (obj = __webpack_require__( /*! ../../../../core/guid */ 73176), obj && obj.__esModule ? obj : { default: obj }); var obj; var _widget = __webpack_require__( /*! ../../common/widget */ 73687); var _base_props = __webpack_require__( /*! ../../common/base_props */ 31651); var _combine_classes = __webpack_require__( /*! ../../../utils/combine_classes */ 86237); var _validation_message = __webpack_require__( /*! ../../overlays/validation_message */ 85500); var _utils = __webpack_require__( /*! ../../../../core/options/utils */ 45434); var _excluded = ["accessKey", "activeStateEnabled", "aria", "children", "className", "classes", "defaultValue", "disabled", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "name", "onClick", "onFocusIn", "onKeyDown", "readOnly", "rtlEnabled", "tabIndex", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChange", "visible", "width"]; function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } var getCssClasses = function(model) { var classes = model.classes, isValid = model.isValid, readOnly = model.readOnly; var classesMap = function(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj }({ "dx-state-readonly": !!readOnly, "dx-invalid": !isValid }, "".concat(classes), !!classes); return (0, _combine_classes.combineClasses)(classesMap) }; var viewFunction = function(viewModel) { var aria = viewModel.aria, classes = viewModel.cssClasses, isValidationMessageVisible = viewModel.isValidationMessageVisible, onFocusIn = viewModel.onFocusIn, _viewModel$props = viewModel.props, accessKey = _viewModel$props.accessKey, activeStateEnabled = _viewModel$props.activeStateEnabled, children = _viewModel$props.children, className = _viewModel$props.className, disabled = _viewModel$props.disabled, focusStateEnabled = _viewModel$props.focusStateEnabled, height = _viewModel$props.height, hint = _viewModel$props.hint, hoverStateEnabled = _viewModel$props.hoverStateEnabled, onClick = _viewModel$props.onClick, onKeyDown = _viewModel$props.onKeyDown, rtlEnabled = _viewModel$props.rtlEnabled, tabIndex = _viewModel$props.tabIndex, validationMessageMode = _viewModel$props.validationMessageMode, validationMessagePosition = _viewModel$props.validationMessagePosition, visible = _viewModel$props.visible, width = _viewModel$props.width, restAttributes = viewModel.restAttributes, rootElementRef = viewModel.rootElementRef, validationErrors = viewModel.validationErrors, validationMessageGuid = viewModel.validationMessageGuid, validationMessageTarget = viewModel.validationMessageTarget, widgetRef = viewModel.widgetRef; return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _widget.Widget, _extends({ rootElementRef: rootElementRef, aria: aria, classes: classes, activeStateEnabled: activeStateEnabled, focusStateEnabled: focusStateEnabled, hoverStateEnabled: hoverStateEnabled, accessKey: accessKey, className: className, rtlEnabled: rtlEnabled, hint: hint, disabled: disabled, height: height, width: width, onFocusIn: onFocusIn, onClick: onClick, onKeyDown: onKeyDown, tabIndex: tabIndex, visible: visible }, restAttributes, { children: (0, _inferno.createFragment)([children, isValidationMessageVisible && (0, _inferno.createComponentVNode)(2, _validation_message.ValidationMessage, { validationErrors: validationErrors, mode: validationMessageMode, positionSide: validationMessagePosition, rtlEnabled: rtlEnabled, target: validationMessageTarget, boundary: validationMessageTarget, visualContainer: validationMessageTarget, contentId: validationMessageGuid })], 0) }), null, widgetRef)) }; exports.viewFunction = viewFunction; var EditorProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_base_props.BaseWidgetProps), Object.getOwnPropertyDescriptors({ readOnly: false, name: "", validationError: null, validationErrors: null, validationMessageMode: "auto", validationMessagePosition: "bottom", validationStatus: "valid", isValid: true, inputAttr: Object.freeze({}), defaultValue: null, valueChange: function() {} }))); exports.EditorProps = EditorProps; var EditorPropsType = Object.defineProperties({}, { readOnly: { get: function() { return EditorProps.readOnly }, configurable: true, enumerable: true }, name: { get: function() { return EditorProps.name }, configurable: true, enumerable: true }, validationError: { get: function() { return EditorProps.validationError }, configurable: true, enumerable: true }, validationErrors: { get: function() { return EditorProps.validationErrors }, configurable: true, enumerable: true }, validationMessageMode: { get: function() { return EditorProps.validationMessageMode }, configurable: true, enumerable: true }, validationMessagePosition: { get: function() { return EditorProps.validationMessagePosition }, configurable: true, enumerable: true }, validationStatus: { get: function() { return EditorProps.validationStatus }, configurable: true, enumerable: true }, isValid: { get: function() { return EditorProps.isValid }, configurable: true, enumerable: true }, inputAttr: { get: function() { return EditorProps.inputAttr }, configurable: true, enumerable: true }, defaultValue: { get: function() { return EditorProps.defaultValue }, configurable: true, enumerable: true }, valueChange: { get: function() { return EditorProps.valueChange }, configurable: true, enumerable: true }, className: { get: function() { return EditorProps.className }, configurable: true, enumerable: true }, activeStateEnabled: { get: function() { return EditorProps.activeStateEnabled }, configurable: true, enumerable: true }, disabled: { get: function() { return EditorProps.disabled }, configurable: true, enumerable: true }, focusStateEnabled: { get: function() { return EditorProps.focusStateEnabled }, configurable: true, enumerable: true }, hoverStateEnabled: { get: function() { return EditorProps.hoverStateEnabled }, configurable: true, enumerable: true }, tabIndex: { get: function() { return EditorProps.tabIndex }, configurable: true, enumerable: true }, visible: { get: function() { return EditorProps.visible }, configurable: true, enumerable: true }, aria: { get: function() { return _widget.WidgetProps.aria }, configurable: true, enumerable: true }, classes: { get: function() { return _widget.WidgetProps.classes }, configurable: true, enumerable: true } }); exports.EditorPropsType = EditorPropsType; var Editor = function(_InfernoWrapperCompon) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Editor, _InfernoWrapperCompon); function Editor(props) { var _this; _this = _InfernoWrapperCompon.call(this, props) || this; _this.widgetRef = (0, _inferno.createRef)(); _this.rootElementRef = (0, _inferno.createRef)(); _this.__getterCache = {}; _this.state = { validationMessageGuid: "dx-".concat(new _guid.default), isValidationMessageVisible: false, value: void 0 !== _this.props.value ? _this.props.value : _this.props.defaultValue }; _this.updateValidationMessageVisibility = _this.updateValidationMessageVisibility.bind(_assertThisInitialized(_this)); _this.focus = _this.focus.bind(_assertThisInitialized(_this)); _this.blur = _this.blur.bind(_assertThisInitialized(_this)); _this.onFocusIn = _this.onFocusIn.bind(_assertThisInitialized(_this)); return _this } var _proto = Editor.prototype; _proto.createEffects = function() { return [new _inferno2.InfernoEffect(this.updateValidationMessageVisibility, [this.props.isValid, this.props.validationStatus, this.props.validationError, this.props.validationErrors]), (0, _inferno2.createReRenderEffect)()] }; _proto.updateEffects = function() { var _this$_effects$; null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.isValid, this.props.validationStatus, this.props.validationError, this.props.validationErrors]) }; _proto.updateValidationMessageVisibility = function() { var _this2 = this; this.setState((function(__state_argument) { return { isValidationMessageVisible: _this2.shouldShowValidationMessage } })) }; _proto.onFocusIn = function(event) { var onFocusIn = this.props.onFocusIn; null === onFocusIn || void 0 === onFocusIn ? void 0 : onFocusIn(event) }; _proto.focus = function() { this.widgetRef.current.focus() }; _proto.blur = function() { this.widgetRef.current.blur() }; _proto.componentWillUpdate = function(nextProps, nextState, context) { _InfernoWrapperCompon.prototype.componentWillUpdate.call(this); if (this.props.validationError !== nextProps.validationError || this.props.validationErrors !== nextProps.validationErrors) { this.__getterCache.validationErrors = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { value: void 0 !== this.props.value ? this.props.value : this.state.value }), validationMessageGuid: this.state.validationMessageGuid, isValidationMessageVisible: this.state.isValidationMessageVisible, rootElementRef: this.rootElementRef, widgetRef: this.widgetRef, onFocusIn: this.onFocusIn, cssClasses: this.cssClasses, shouldShowValidationMessage: this.shouldShowValidationMessage, aria: this.aria, validationErrors: this.validationErrors, validationMessageTarget: this.validationMessageTarget, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Editor, [{ key: "cssClasses", get: function() { return "".concat(getCssClasses(_extends({}, this.props, { value: void 0 !== this.props.value ? this.props.value : this.state.value }))) } }, { key: "shouldShowValidationMessage", get: function() { var _this$validationError; var _this$props = this.props, isValid = _this$props.isValid, validationStatus = _this$props.validationStatus; var validationErrors = null !== (_this$validationError = this.validationErrors) && void 0 !== _this$validationError ? _this$validationError : []; var isEditorValid = isValid && "invalid" !== validationStatus; return !isEditorValid && validationErrors.length > 0 } }, { key: "aria", get: function() { var _this$props2 = this.props, isValid = _this$props2.isValid, readOnly = _this$props2.readOnly; var result = { readonly: readOnly ? "true" : "false", invalid: !isValid ? "true" : "false" }; if (this.shouldShowValidationMessage) { result.describedBy = this.state.validationMessageGuid } return _extends({}, result, this.props.aria) } }, { key: "validationErrors", get: function() { var _this3 = this; if (void 0 !== this.__getterCache.validationErrors) { return this.__getterCache.validationErrors } return this.__getterCache.validationErrors = function() { var _this3$props = _this3.props, validationError = _this3$props.validationError, validationErrors = _this3$props.validationErrors; var allValidationErrors = validationErrors && _toConsumableArray(validationErrors); if (!allValidationErrors && validationError) { allValidationErrors = [_extends({}, validationError)] } return allValidationErrors }() } }, { key: "validationMessageTarget", get: function() { var _this$rootElementRef; return null === (_this$rootElementRef = this.rootElementRef) || void 0 === _this$rootElementRef ? void 0 : _this$rootElementRef.current } }, { key: "restAttributes", get: function() { var _this$props$value = _extends({}, this.props, { value: void 0 !== this.props.value ? this.props.value : this.state.value }), restProps = (_this$props$value.accessKey, _this$props$value.activeStateEnabled, _this$props$value.aria, _this$props$value.children, _this$props$value.className, _this$props$value.classes, _this$props$value.defaultValue, _this$props$value.disabled, _this$props$value.focusStateEnabled, _this$props$value.height, _this$props$value.hint, _this$props$value.hoverStateEnabled, _this$props$value.inputAttr, _this$props$value.isValid, _this$props$value.name, _this$props$value.onClick, _this$props$value.onFocusIn, _this$props$value.onKeyDown, _this$props$value.readOnly, _this$props$value.rtlEnabled, _this$props$value.tabIndex, _this$props$value.validationError, _this$props$value.validationErrors, _this$props$value.validationMessageMode, _this$props$value.validationMessagePosition, _this$props$value.validationStatus, _this$props$value.value, _this$props$value.valueChange, _this$props$value.visible, _this$props$value.width, _objectWithoutProperties(_this$props$value, _excluded)); return restProps } }]); return Editor }(_inferno2.InfernoWrapperComponent); exports.Editor = Editor; Editor.defaultProps = EditorPropsType; var __defaultOptionRules = [] }, 96496: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/editors/common/editor_label_props.js ***! \************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.EditorLabelProps = void 0; var _themes = __webpack_require__( /*! ../../../../ui/themes */ 75811); var EditorLabelProps = Object.defineProperties({ label: "" }, { labelMode: { get: function() { return (0, _themes.isMaterial)((0, _themes.current)()) ? "floating" : "static" }, configurable: true, enumerable: true } }); exports.EditorLabelProps = EditorLabelProps }, 48214: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/editors/common/editor_state_props.js ***! \************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.EditorStateProps = void 0; var _devices = (obj = __webpack_require__( /*! ../../../../core/devices */ 20530), obj && obj.__esModule ? obj : { default: obj }); var obj; var EditorStateProps = Object.defineProperties({ hoverStateEnabled: true, activeStateEnabled: true }, { focusStateEnabled: { get: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, configurable: true, enumerable: true } }); exports.EditorStateProps = EditorStateProps }, 79708: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/editors/drop_down_editors/select_box.js ***! \***************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.SelectBoxPropsType = exports.SelectBoxProps = exports.SelectBox = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _select_box = (obj = __webpack_require__( /*! ../../../../ui/select_box */ 78665), obj && obj.__esModule ? obj : { default: obj }); var obj; var _dom_component_wrapper = __webpack_require__( /*! ../../common/dom_component_wrapper */ 96886); var _editor = __webpack_require__( /*! ../common/editor */ 77848); var _editor_state_props = __webpack_require__( /*! ../common/editor_state_props */ 48214); var _editor_label_props = __webpack_require__( /*! ../common/editor_label_props */ 96496); var _excluded = ["accessKey", "activeStateEnabled", "className", "dataSource", "defaultValue", "disabled", "displayExpr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "name", "onClick", "onFocusIn", "onKeyDown", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "tabIndex", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChange", "valueExpr", "visible", "width"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var componentProps = _ref.componentProps, restAttributes = _ref.restAttributes; return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _dom_component_wrapper.DomComponentWrapper, _extends({ componentType: _select_box.default, componentProps: componentProps, templateNames: ["dropDownButtonTemplate", "groupTemplate", "itemTemplate"] }, restAttributes))) }; exports.viewFunction = viewFunction; var SelectBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_editor.EditorProps), Object.getOwnPropertyDescriptors({ placeholder: "", hoverStateEnabled: true, searchEnabled: false, defaultValue: null, isReactComponentWrapper: true }))); exports.SelectBoxProps = SelectBoxProps; var SelectBoxPropsType = Object.defineProperties({ isReactComponentWrapper: true }, { placeholder: { get: function() { return SelectBoxProps.placeholder }, configurable: true, enumerable: true }, hoverStateEnabled: { get: function() { return _editor_state_props.EditorStateProps.hoverStateEnabled }, configurable: true, enumerable: true }, searchEnabled: { get: function() { return SelectBoxProps.searchEnabled }, configurable: true, enumerable: true }, defaultValue: { get: function() { return SelectBoxProps.defaultValue }, configurable: true, enumerable: true }, readOnly: { get: function() { return SelectBoxProps.readOnly }, configurable: true, enumerable: true }, name: { get: function() { return SelectBoxProps.name }, configurable: true, enumerable: true }, validationError: { get: function() { return SelectBoxProps.validationError }, configurable: true, enumerable: true }, validationErrors: { get: function() { return SelectBoxProps.validationErrors }, configurable: true, enumerable: true }, validationMessageMode: { get: function() { return SelectBoxProps.validationMessageMode }, configurable: true, enumerable: true }, validationMessagePosition: { get: function() { return SelectBoxProps.validationMessagePosition }, configurable: true, enumerable: true }, validationStatus: { get: function() { return SelectBoxProps.validationStatus }, configurable: true, enumerable: true }, isValid: { get: function() { return SelectBoxProps.isValid }, configurable: true, enumerable: true }, inputAttr: { get: function() { return SelectBoxProps.inputAttr }, configurable: true, enumerable: true }, className: { get: function() { return SelectBoxProps.className }, configurable: true, enumerable: true }, activeStateEnabled: { get: function() { return _editor_state_props.EditorStateProps.activeStateEnabled }, configurable: true, enumerable: true }, disabled: { get: function() { return SelectBoxProps.disabled }, configurable: true, enumerable: true }, focusStateEnabled: { get: function() { return _editor_state_props.EditorStateProps.focusStateEnabled }, configurable: true, enumerable: true }, tabIndex: { get: function() { return SelectBoxProps.tabIndex }, configurable: true, enumerable: true }, visible: { get: function() { return SelectBoxProps.visible }, configurable: true, enumerable: true }, label: { get: function() { return _editor_label_props.EditorLabelProps.label }, configurable: true, enumerable: true }, labelMode: { get: function() { return _editor_label_props.EditorLabelProps.labelMode }, configurable: true, enumerable: true } }); exports.SelectBoxPropsType = SelectBoxPropsType; var SelectBox = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SelectBox, _BaseInfernoComponent); function SelectBox(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = { value: void 0 !== _this.props.value ? _this.props.value : _this.props.defaultValue }; return _this } var _proto = SelectBox.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { value: void 0 !== this.props.value ? this.props.value : this.state.value }), componentProps: this.componentProps, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(SelectBox, [{ key: "componentProps", get: function() { return _extends({}, this.props, { value: void 0 !== this.props.value ? this.props.value : this.state.value }) } }, { key: "restAttributes", get: function() { var _this$props$value = _extends({}, this.props, { value: void 0 !== this.props.value ? this.props.value : this.state.value }), restProps = (_this$props$value.accessKey, _this$props$value.activeStateEnabled, _this$props$value.className, _this$props$value.dataSource, _this$props$value.defaultValue, _this$props$value.disabled, _this$props$value.displayExpr, _this$props$value.focusStateEnabled, _this$props$value.height, _this$props$value.hint, _this$props$value.hoverStateEnabled, _this$props$value.inputAttr, _this$props$value.isValid, _this$props$value.label, _this$props$value.labelMode, _this$props$value.name, _this$props$value.onClick, _this$props$value.onFocusIn, _this$props$value.onKeyDown, _this$props$value.placeholder, _this$props$value.readOnly, _this$props$value.rtlEnabled, _this$props$value.searchEnabled, _this$props$value.tabIndex, _this$props$value.validationError, _this$props$value.validationErrors, _this$props$value.validationMessageMode, _this$props$value.validationMessagePosition, _this$props$value.validationStatus, _this$props$value.value, _this$props$value.valueChange, _this$props$value.valueExpr, _this$props$value.visible, _this$props$value.width, _objectWithoutProperties(_this$props$value, _excluded)); return restProps } }]); return SelectBox }(_inferno2.BaseInfernoComponent); exports.SelectBox = SelectBox; SelectBox.defaultProps = SelectBoxPropsType }, 15560: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/editors/number_box.js ***! \*********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.NumberBoxPropsType = exports.NumberBoxProps = exports.NumberBox = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _number_box = (obj = __webpack_require__( /*! ../../../ui/number_box */ 34171), obj && obj.__esModule ? obj : { default: obj }); var obj; var _dom_component_wrapper = __webpack_require__( /*! ../common/dom_component_wrapper */ 96886); var _editor = __webpack_require__( /*! ./common/editor */ 77848); var _editor_state_props = __webpack_require__( /*! ./common/editor_state_props */ 48214); var _editor_label_props = __webpack_require__( /*! ./common/editor_label_props */ 96496); var _excluded = ["accessKey", "activeStateEnabled", "className", "defaultValue", "disabled", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "invalidValueMessage", "isValid", "label", "labelMode", "max", "min", "mode", "name", "onClick", "onFocusIn", "onKeyDown", "readOnly", "rtlEnabled", "showSpinButtons", "step", "tabIndex", "useLargeSpinButtons", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChange", "visible", "width"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var componentProps = _ref.componentProps, restAttributes = _ref.restAttributes; return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _dom_component_wrapper.DomComponentWrapper, _extends({ componentType: _number_box.default, componentProps: componentProps, templateNames: [] }, restAttributes))) }; exports.viewFunction = viewFunction; var NumberBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_editor.EditorProps), Object.getOwnPropertyDescriptors({ defaultValue: 0, isReactComponentWrapper: true }))); exports.NumberBoxProps = NumberBoxProps; var NumberBoxPropsType = Object.defineProperties({ isReactComponentWrapper: true }, { defaultValue: { get: function() { return NumberBoxProps.defaultValue }, configurable: true, enumerable: true }, readOnly: { get: function() { return NumberBoxProps.readOnly }, configurable: true, enumerable: true }, name: { get: function() { return NumberBoxProps.name }, configurable: true, enumerable: true }, validationError: { get: function() { return NumberBoxProps.validationError }, configurable: true, enumerable: true }, validationErrors: { get: function() { return NumberBoxProps.validationErrors }, configurable: true, enumerable: true }, validationMessageMode: { get: function() { return NumberBoxProps.validationMessageMode }, configurable: true, enumerable: true }, validationMessagePosition: { get: function() { return NumberBoxProps.validationMessagePosition }, configurable: true, enumerable: true }, validationStatus: { get: function() { return NumberBoxProps.validationStatus }, configurable: true, enumerable: true }, isValid: { get: function() { return NumberBoxProps.isValid }, configurable: true, enumerable: true }, inputAttr: { get: function() { return NumberBoxProps.inputAttr }, configurable: true, enumerable: true }, className: { get: function() { return NumberBoxProps.className }, configurable: true, enumerable: true }, activeStateEnabled: { get: function() { return _editor_state_props.EditorStateProps.activeStateEnabled }, configurable: true, enumerable: true }, disabled: { get: function() { return NumberBoxProps.disabled }, configurable: true, enumerable: true }, focusStateEnabled: { get: function() { return _editor_state_props.EditorStateProps.focusStateEnabled }, configurable: true, enumerable: true }, hoverStateEnabled: { get: function() { return _editor_state_props.EditorStateProps.hoverStateEnabled }, configurable: true, enumerable: true }, tabIndex: { get: function() { return NumberBoxProps.tabIndex }, configurable: true, enumerable: true }, visible: { get: function() { return NumberBoxProps.visible }, configurable: true, enumerable: true }, label: { get: function() { return _editor_label_props.EditorLabelProps.label }, configurable: true, enumerable: true }, labelMode: { get: function() { return _editor_label_props.EditorLabelProps.labelMode }, configurable: true, enumerable: true } }); exports.NumberBoxPropsType = NumberBoxPropsType; var NumberBox = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(NumberBox, _BaseInfernoComponent); function NumberBox(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = { value: void 0 !== _this.props.value ? _this.props.value : _this.props.defaultValue }; return _this } var _proto = NumberBox.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { value: void 0 !== this.props.value ? this.props.value : this.state.value }), componentProps: this.componentProps, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(NumberBox, [{ key: "componentProps", get: function() { return _extends({}, this.props, { value: void 0 !== this.props.value ? this.props.value : this.state.value }) } }, { key: "restAttributes", get: function() { var _this$props$value = _extends({}, this.props, { value: void 0 !== this.props.value ? this.props.value : this.state.value }), restProps = (_this$props$value.accessKey, _this$props$value.activeStateEnabled, _this$props$value.className, _this$props$value.defaultValue, _this$props$value.disabled, _this$props$value.focusStateEnabled, _this$props$value.height, _this$props$value.hint, _this$props$value.hoverStateEnabled, _this$props$value.inputAttr, _this$props$value.invalidValueMessage, _this$props$value.isValid, _this$props$value.label, _this$props$value.labelMode, _this$props$value.max, _this$props$value.min, _this$props$value.mode, _this$props$value.name, _this$props$value.onClick, _this$props$value.onFocusIn, _this$props$value.onKeyDown, _this$props$value.readOnly, _this$props$value.rtlEnabled, _this$props$value.showSpinButtons, _this$props$value.step, _this$props$value.tabIndex, _this$props$value.useLargeSpinButtons, _this$props$value.validationError, _this$props$value.validationErrors, _this$props$value.validationMessageMode, _this$props$value.validationMessagePosition, _this$props$value.validationStatus, _this$props$value.value, _this$props$value.valueChange, _this$props$value.visible, _this$props$value.width, _objectWithoutProperties(_this$props$value, _excluded)); return restProps } }]); return NumberBox }(_inferno2.BaseInfernoComponent); exports.NumberBox = NumberBox; NumberBox.defaultProps = NumberBoxPropsType }, 85500: /*!******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/overlays/validation_message.js ***! \******************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.ValidationMessageProps = exports.ValidationMessage = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _validation_message = (obj = __webpack_require__( /*! ../../../ui/validation_message */ 8336), obj && obj.__esModule ? obj : { default: obj }); var obj; var _dom_component_wrapper = __webpack_require__( /*! ../common/dom_component_wrapper */ 96886); var _base_props = __webpack_require__( /*! ../common/base_props */ 31651); var _excluded = ["accessKey", "activeStateEnabled", "boundary", "className", "contentId", "disabled", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "mode", "offset", "onClick", "onKeyDown", "positionSide", "rtlEnabled", "tabIndex", "target", "validationErrors", "visible", "visualContainer", "width"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var componentProps = _ref.componentProps, restAttributes = _ref.restAttributes; return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _dom_component_wrapper.DomComponentWrapper, _extends({ componentType: _validation_message.default, componentProps: componentProps, templateNames: [] }, restAttributes))) }; exports.viewFunction = viewFunction; var ValidationMessageProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_base_props.BaseWidgetProps), Object.getOwnPropertyDescriptors({ mode: "auto", positionSide: "top", offset: Object.freeze({ h: 0, v: 0 }), isReactComponentWrapper: true }))); exports.ValidationMessageProps = ValidationMessageProps; var ValidationMessage = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ValidationMessage, _BaseInfernoComponent); function ValidationMessage(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = ValidationMessage.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), componentProps: this.componentProps, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(ValidationMessage, [{ key: "componentProps", get: function() { return this.props } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.accessKey, _this$props.activeStateEnabled, _this$props.boundary, _this$props.className, _this$props.contentId, _this$props.disabled, _this$props.focusStateEnabled, _this$props.height, _this$props.hint, _this$props.hoverStateEnabled, _this$props.mode, _this$props.offset, _this$props.onClick, _this$props.onKeyDown, _this$props.positionSide, _this$props.rtlEnabled, _this$props.tabIndex, _this$props.target, _this$props.validationErrors, _this$props.visible, _this$props.visualContainer, _this$props.width, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return ValidationMessage }(_inferno2.BaseInfernoComponent); exports.ValidationMessage = ValidationMessage; ValidationMessage.defaultProps = ValidationMessageProps }, 21450: /*!********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/common/base_pager_props.js ***! \********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.BasePagerProps = void 0; var _message = (obj = __webpack_require__( /*! ../../../../localization/message */ 28109), obj && obj.__esModule ? obj : { default: obj }); var obj; var BasePagerProps = Object.defineProperties({ gridCompatibility: true, showInfo: false, displayMode: "adaptive", maxPagesCount: 10, pageCount: 10, visible: true, hasKnownLastPage: true, pagesNavigatorVisible: "auto", showPageSizes: true, pageSizes: Object.freeze([5, 10]), showNavigationButtons: false, totalCount: 0 }, { label: { get: function() { return _message.default.format("dxPager-ariaLabel") }, configurable: true, enumerable: true } }); exports.BasePagerProps = BasePagerProps }, 39853: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/common/consts.js ***! \**********************************************************************************/ function(__unused_webpack_module, exports) { exports.PAGER_SELECTION_CLASS = exports.PAGER_SELECTED_PAGE_SIZE_CLASS = exports.PAGER_PAGE_SIZE_CLASS = exports.PAGER_PAGE_SIZES_CLASS = exports.PAGER_PAGE_INDEXES_CLASS = exports.PAGER_PAGE_CLASS = exports.PAGER_PAGES_CLASS = exports.PAGER_CLASS = exports.LIGHT_MODE_CLASS = exports.FIRST_CHILD_CLASS = void 0; exports.PAGER_CLASS = "dx-pager"; exports.LIGHT_MODE_CLASS = "dx-light-mode"; exports.PAGER_PAGES_CLASS = "dx-pages"; exports.PAGER_PAGE_INDEXES_CLASS = "dx-page-indexes"; exports.PAGER_PAGE_CLASS = "dx-page"; exports.PAGER_SELECTION_CLASS = "dx-selection"; exports.PAGER_PAGE_SIZE_CLASS = "dx-page-size"; exports.PAGER_PAGE_SIZES_CLASS = "dx-page-sizes"; var PAGER_SELECTED_PAGE_SIZE_CLASS = "".concat("dx-page-size", " ").concat("dx-selection"); exports.PAGER_SELECTED_PAGE_SIZE_CLASS = PAGER_SELECTED_PAGE_SIZE_CLASS; exports.FIRST_CHILD_CLASS = "dx-first-child" }, 44133: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/common/keyboard_action_context.js ***! \***************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.KeyboardActionContext = void 0; var _inferno = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var KeyboardActionContext = (0, _inferno.createContext)(void 0); exports.KeyboardActionContext = KeyboardActionContext }, 93961: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/common/light_button.js ***! \****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.LightButtonProps = exports.LightButton = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _subscribe_to_event = __webpack_require__( /*! ../../../utils/subscribe_to_event */ 19828); var _keyboard_action_context = __webpack_require__( /*! ./keyboard_action_context */ 44133); var _excluded = ["children", "className", "label", "onClick", "selected", "tabIndex"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(_ref) { var _ref$props = _ref.props, children = _ref$props.children, className = _ref$props.className, label = _ref$props.label, selected = _ref$props.selected, tabIndex = _ref$props.tabIndex, widgetRef = _ref.widgetRef; return (0, _inferno.createVNode)(1, "div", className, children, 0, { tabIndex: tabIndex, role: "button", "aria-label": label, "aria-current": selected ? "page" : void 0 }, null, widgetRef) }; exports.viewFunction = viewFunction; var LightButtonProps = { className: "", label: "", tabIndex: 0, selected: false }; exports.LightButtonProps = LightButtonProps; var LightButton = function(_InfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(LightButton, _InfernoComponent); function LightButton(props) { var _this; _this = _InfernoComponent.call(this, props) || this; _this.state = {}; _this.widgetRef = (0, _inferno.createRef)(); _this.keyboardEffect = _this.keyboardEffect.bind(_assertThisInitialized(_this)); _this.subscribeToClick = _this.subscribeToClick.bind(_assertThisInitialized(_this)); return _this } var _proto = LightButton.prototype; _proto.createEffects = function() { return [new _inferno2.InfernoEffect(this.keyboardEffect, [this.keyboardContext, this.props.onClick]), new _inferno2.InfernoEffect(this.subscribeToClick, [this.props.onClick])] }; _proto.updateEffects = function() { var _this$_effects$, _this$_effects$2; null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.keyboardContext, this.props.onClick]); null === (_this$_effects$2 = this._effects[1]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props.onClick]) }; _proto.keyboardEffect = function() { return this.keyboardContext.registerKeyboardAction(this.widgetRef.current, this.props.onClick) }; _proto.subscribeToClick = function() { return (0, _subscribe_to_event.subscribeToClickEvent)(this.widgetRef.current, this.props.onClick) }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), widgetRef: this.widgetRef, keyboardContext: this.keyboardContext, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(LightButton, [{ key: "keyboardContext", get: function() { if (this.context[_keyboard_action_context.KeyboardActionContext.id]) { return this.context[_keyboard_action_context.KeyboardActionContext.id] } return _keyboard_action_context.KeyboardActionContext.defaultValue } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.children, _this$props.className, _this$props.label, _this$props.onClick, _this$props.selected, _this$props.tabIndex, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return LightButton }(_inferno2.InfernoComponent); exports.LightButton = LightButton; LightButton.defaultProps = LightButtonProps }, 96529: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/common/pager_props.js ***! \***************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.PagerProps = exports.InternalPagerProps = void 0; var _base_pager_props = __webpack_require__( /*! ./base_pager_props */ 21450); function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var PagerProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_base_pager_props.BasePagerProps), Object.getOwnPropertyDescriptors({ defaultPageSize: 5, pageSizeChange: function() {}, defaultPageIndex: 1, pageIndexChange: function() {} }))); exports.PagerProps = PagerProps; var InternalPagerProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_base_pager_props.BasePagerProps), Object.getOwnPropertyDescriptors({ pageSize: 5, pageIndex: 1 }))); exports.InternalPagerProps = InternalPagerProps }, 30928: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/content.js ***! \****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.PagerContentProps = exports.PagerContent = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _info = __webpack_require__( /*! ./info */ 57495); var _page_index_selector = __webpack_require__( /*! ./pages/page_index_selector */ 32854); var _selector = __webpack_require__( /*! ./page_size/selector */ 41936); var _consts = __webpack_require__( /*! ./common/consts */ 39853); var _pager_props = __webpack_require__( /*! ./common/pager_props */ 96529); var _combine_classes = __webpack_require__( /*! ../../utils/combine_classes */ 86237); var _widget = __webpack_require__( /*! ../common/widget */ 73687); var _accessibility = __webpack_require__( /*! ../../../ui/shared/accessibility */ 56756); var _keyboard_action_context = __webpack_require__( /*! ./common/keyboard_action_context */ 44133); var _excluded = ["className", "displayMode", "gridCompatibility", "hasKnownLastPage", "infoText", "infoTextRef", "infoTextVisible", "isLargeDisplayMode", "label", "lightModeEnabled", "maxPagesCount", "onKeyDown", "pageCount", "pageIndex", "pageIndexChange", "pageSize", "pageSizeChange", "pageSizes", "pageSizesRef", "pagesCountText", "pagesNavigatorVisible", "pagesRef", "rootElementRef", "rtlEnabled", "showInfo", "showNavigationButtons", "showPageSizes", "totalCount", "visible"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var aria = _ref.aria, classes = _ref.classes, infoVisible = _ref.infoVisible, isLargeDisplayMode = _ref.isLargeDisplayMode, pageIndexSelectorVisible = _ref.pageIndexSelectorVisible, pagesContainerVisibility = _ref.pagesContainerVisibility, pagesContainerVisible = _ref.pagesContainerVisible, _ref$props = _ref.props, hasKnownLastPage = _ref$props.hasKnownLastPage, infoText = _ref$props.infoText, infoTextRef = _ref$props.infoTextRef, maxPagesCount = _ref$props.maxPagesCount, pageCount = _ref$props.pageCount, pageIndex = _ref$props.pageIndex, pageIndexChange = _ref$props.pageIndexChange, pageSize = _ref$props.pageSize, pageSizeChange = _ref$props.pageSizeChange, pageSizes = _ref$props.pageSizes, pageSizesRef = _ref$props.pageSizesRef, pagesCountText = _ref$props.pagesCountText, pagesRef = _ref$props.pagesRef, rtlEnabled = _ref$props.rtlEnabled, showNavigationButtons = _ref$props.showNavigationButtons, showPageSizes = _ref$props.showPageSizes, totalCount = _ref$props.totalCount, visible = _ref$props.visible, restAttributes = _ref.restAttributes, widgetRootElementRef = _ref.widgetRootElementRef; return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _widget.Widget, _extends({ rootElementRef: widgetRootElementRef, rtlEnabled: rtlEnabled, classes: classes, visible: visible, aria: aria }, restAttributes, { children: [showPageSizes && (0, _inferno.createComponentVNode)(2, _selector.PageSizeSelector, { rootElementRef: pageSizesRef, isLargeDisplayMode: isLargeDisplayMode, pageSize: pageSize, pageSizeChange: pageSizeChange, pageSizes: pageSizes }), pagesContainerVisible && (0, _inferno.createVNode)(1, "div", _consts.PAGER_PAGES_CLASS, [infoVisible && (0, _inferno.createComponentVNode)(2, _info.InfoText, { rootElementRef: infoTextRef, infoText: infoText, pageCount: pageCount, pageIndex: pageIndex, totalCount: totalCount }), pageIndexSelectorVisible && (0, _inferno.createVNode)(1, "div", _consts.PAGER_PAGE_INDEXES_CLASS, (0, _inferno.createComponentVNode)(2, _page_index_selector.PageIndexSelector, { hasKnownLastPage: hasKnownLastPage, isLargeDisplayMode: isLargeDisplayMode, maxPagesCount: maxPagesCount, pageCount: pageCount, pageIndex: pageIndex, pageIndexChange: pageIndexChange, pagesCountText: pagesCountText, showNavigationButtons: showNavigationButtons, totalCount: totalCount }), 2, null, null, pagesRef)], 0, { style: (0, _inferno2.normalizeStyles)({ visibility: pagesContainerVisibility }) })] }))) }; exports.viewFunction = viewFunction; var PagerContentProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_pager_props.InternalPagerProps), Object.getOwnPropertyDescriptors({ infoTextVisible: true, isLargeDisplayMode: true }))); exports.PagerContentProps = PagerContentProps; var PagerContent = function(_InfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(PagerContent, _InfernoComponent); function PagerContent(props) { var _this; _this = _InfernoComponent.call(this, props) || this; _this.state = {}; _this.widgetRootElementRef = (0, _inferno.createRef)(); _this.__getterCache = {}; _this.setRootElementRef = _this.setRootElementRef.bind(_assertThisInitialized(_this)); _this.createFakeInstance = _this.createFakeInstance.bind(_assertThisInitialized(_this)); return _this } var _proto = PagerContent.prototype; _proto.createEffects = function() { return [new _inferno2.InfernoEffect(this.setRootElementRef, [])] }; _proto.getChildContext = function() { return _extends({}, this.context, _defineProperty({}, _keyboard_action_context.KeyboardActionContext.id, this.keyboardAction || _keyboard_action_context.KeyboardActionContext.defaultValue)) }; _proto.setRootElementRef = function() { var rootElementRef = this.props.rootElementRef; if (rootElementRef) { rootElementRef.current = this.widgetRootElementRef.current } }; _proto.createFakeInstance = function() { var _this2 = this; return { option: function() { return false }, element: function() { return _this2.widgetRootElementRef.current }, _createActionByOption: function() { return function(e) { var _this2$props$onKeyDow, _this2$props; null === (_this2$props$onKeyDow = (_this2$props = _this2.props).onKeyDown) || void 0 === _this2$props$onKeyDow ? void 0 : _this2$props$onKeyDow.call(_this2$props, e) } } } }; _proto.componentWillUpdate = function(nextProps, nextState, context) { _InfernoComponent.prototype.componentWillUpdate.call(this); if (this.props.onKeyDown !== nextProps.onKeyDown) { this.__getterCache.keyboardAction = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), widgetRootElementRef: this.widgetRootElementRef, keyboardAction: this.keyboardAction, infoVisible: this.infoVisible, pageIndexSelectorVisible: this.pageIndexSelectorVisible, pagesContainerVisible: this.pagesContainerVisible, pagesContainerVisibility: this.pagesContainerVisibility, isLargeDisplayMode: this.isLargeDisplayMode, classes: this.classes, aria: this.aria, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(PagerContent, [{ key: "keyboardAction", get: function() { var _this3 = this; if (void 0 !== this.__getterCache.keyboardAction) { return this.__getterCache.keyboardAction } return this.__getterCache.keyboardAction = { registerKeyboardAction: function(element, action) { var fakePagerInstance = _this3.createFakeInstance(); return (0, _accessibility.registerKeyboardAction)("pager", fakePagerInstance, element, void 0, action) } } } }, { key: "infoVisible", get: function() { var _this$props = this.props, infoTextVisible = _this$props.infoTextVisible, showInfo = _this$props.showInfo; return showInfo && infoTextVisible } }, { key: "pageIndexSelectorVisible", get: function() { return 0 !== this.props.pageSize } }, { key: "normalizedDisplayMode", get: function() { var _this$props2 = this.props, displayMode = _this$props2.displayMode, lightModeEnabled = _this$props2.lightModeEnabled; if ("adaptive" === displayMode && void 0 !== lightModeEnabled) { return lightModeEnabled ? "compact" : "full" } return displayMode } }, { key: "pagesContainerVisible", get: function() { return !!this.props.pagesNavigatorVisible && this.props.pageCount > 0 } }, { key: "pagesContainerVisibility", get: function() { if ("auto" === this.props.pagesNavigatorVisible && 1 === this.props.pageCount && this.props.hasKnownLastPage) { return "hidden" } return } }, { key: "isLargeDisplayMode", get: function() { var displayMode = this.normalizedDisplayMode; var result = false; if ("adaptive" === displayMode) { result = this.props.isLargeDisplayMode } else { result = "full" === displayMode } return result } }, { key: "classes", get: function() { var _classesMap; var classesMap = (_classesMap = {}, _defineProperty(_classesMap, "".concat(this.props.className), !!this.props.className), _defineProperty(_classesMap, _consts.PAGER_CLASS, true), _defineProperty(_classesMap, _consts.LIGHT_MODE_CLASS, !this.isLargeDisplayMode), _classesMap); return (0, _combine_classes.combineClasses)(classesMap) } }, { key: "aria", get: function() { return { role: "navigation", label: this.props.label } } }, { key: "restAttributes", get: function() { var _this$props3 = this.props, restProps = (_this$props3.className, _this$props3.displayMode, _this$props3.gridCompatibility, _this$props3.hasKnownLastPage, _this$props3.infoText, _this$props3.infoTextRef, _this$props3.infoTextVisible, _this$props3.isLargeDisplayMode, _this$props3.label, _this$props3.lightModeEnabled, _this$props3.maxPagesCount, _this$props3.onKeyDown, _this$props3.pageCount, _this$props3.pageIndex, _this$props3.pageIndexChange, _this$props3.pageSize, _this$props3.pageSizeChange, _this$props3.pageSizes, _this$props3.pageSizesRef, _this$props3.pagesCountText, _this$props3.pagesNavigatorVisible, _this$props3.pagesRef, _this$props3.rootElementRef, _this$props3.rtlEnabled, _this$props3.showInfo, _this$props3.showNavigationButtons, _this$props3.showPageSizes, _this$props3.totalCount, _this$props3.visible, _objectWithoutProperties(_this$props3, _excluded)); return restProps } }]); return PagerContent }(_inferno2.InfernoComponent); exports.PagerContent = PagerContent; PagerContent.defaultProps = PagerContentProps }, 57495: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/info.js ***! \*************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.PAGER_INFO_CLASS = exports.InfoTextProps = exports.InfoText = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _string = __webpack_require__( /*! ../../../core/utils/string */ 68752); var _message = (obj = __webpack_require__( /*! ../../../localization/message */ 28109), obj && obj.__esModule ? obj : { default: obj }); var obj; var _pager_props = __webpack_require__( /*! ./common/pager_props */ 96529); var _excluded = ["infoText", "pageCount", "pageIndex", "rootElementRef", "totalCount"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } exports.PAGER_INFO_CLASS = "dx-info"; var viewFunction = function(_ref) { var rootElementRef = _ref.props.rootElementRef, text = _ref.text; return (0, _inferno.createVNode)(1, "div", "dx-info", text, 0, null, null, rootElementRef) }; exports.viewFunction = viewFunction; exports.InfoTextProps = {}; var InfoTextPropsType = Object.defineProperties({}, { pageIndex: { get: function() { return _pager_props.InternalPagerProps.pageIndex }, configurable: true, enumerable: true }, pageCount: { get: function() { return _pager_props.InternalPagerProps.pageCount }, configurable: true, enumerable: true }, totalCount: { get: function() { return _pager_props.InternalPagerProps.totalCount }, configurable: true, enumerable: true } }); var InfoText = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(InfoText, _BaseInfernoComponent); function InfoText(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = InfoText.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), infoText: this.infoText, text: this.text, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(InfoText, [{ key: "infoText", get: function() { var _this$props$infoText; return (null !== (_this$props$infoText = this.props.infoText) && void 0 !== _this$props$infoText ? _this$props$infoText : "") || _message.default.getFormatter("dxPager-infoText")() } }, { key: "text", get: function() { var _this$props = this.props, pageCount = _this$props.pageCount, pageIndex = _this$props.pageIndex, totalCount = _this$props.totalCount; return (0, _string.format)(this.infoText, (pageIndex + 1).toString(), pageCount.toString(), totalCount.toString()) } }, { key: "restAttributes", get: function() { var _this$props2 = this.props, restProps = (_this$props2.infoText, _this$props2.pageCount, _this$props2.pageIndex, _this$props2.rootElementRef, _this$props2.totalCount, _objectWithoutProperties(_this$props2, _excluded)); return restProps } }]); return InfoText }(_inferno2.BaseInfernoComponent); exports.InfoText = InfoText; InfoText.defaultProps = InfoTextPropsType }, 86857: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/page_size/large.js ***! \************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.PageSizeLargeProps = exports.PageSizeLarge = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _combine_classes = __webpack_require__( /*! ../../../utils/combine_classes */ 86237); var _light_button = __webpack_require__( /*! ../common/light_button */ 93961); var _pager_props = __webpack_require__( /*! ../common/pager_props */ 96529); var _consts = __webpack_require__( /*! ../common/consts */ 39853); var _message = (obj = __webpack_require__( /*! ../../../../localization/message */ 28109), obj && obj.__esModule ? obj : { default: obj }); var obj; var _string = __webpack_require__( /*! ../../../../core/utils/string */ 68752); var _excluded = ["pageSize", "pageSizeChange", "pageSizes"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(_ref) { var pageSizesText = _ref.pageSizesText; return (0, _inferno.createFragment)(pageSizesText.map((function(_ref2) { var className = _ref2.className, click = _ref2.click, label = _ref2.label, text = _ref2.text; return (0, _inferno.createComponentVNode)(2, _light_button.LightButton, { className: className, label: label, onClick: click, children: text }, text) })), 0) }; exports.viewFunction = viewFunction; exports.PageSizeLargeProps = {}; var PageSizeLargePropsType = Object.defineProperties({}, { pageSize: { get: function() { return _pager_props.InternalPagerProps.pageSize }, configurable: true, enumerable: true } }); var PageSizeLarge = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(PageSizeLarge, _BaseInfernoComponent); function PageSizeLarge(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; _this.__getterCache = {}; _this.onPageSizeChange = _this.onPageSizeChange.bind(function(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self }(_this)); return _this } var _proto = PageSizeLarge.prototype; _proto.onPageSizeChange = function(processedPageSize) { var _this2 = this; return function() { _this2.props.pageSizeChange(processedPageSize); return _this2.props.pageSize } }; _proto.componentWillUpdate = function(nextProps, nextState, context) { if (this.props.pageSize !== nextProps.pageSize || this.props.pageSizes !== nextProps.pageSizes || this.props.pageSizeChange !== nextProps.pageSizeChange) { this.__getterCache.pageSizesText = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), pageSizesText: this.pageSizesText, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(PageSizeLarge, [{ key: "pageSizesText", get: function() { var _this3 = this; if (void 0 !== this.__getterCache.pageSizesText) { return this.__getterCache.pageSizesText } return this.__getterCache.pageSizesText = (_this3$props = _this3.props, pageSize = _this3$props.pageSize, pageSizes = _this3$props.pageSizes, pageSizes.map((function(_ref3, index) { var _combineClasses; var text = _ref3.text, processedPageSize = _ref3.value; var selected = processedPageSize === pageSize; var className = (0, _combine_classes.combineClasses)((_combineClasses = {}, _defineProperty(_combineClasses, selected ? _consts.PAGER_SELECTED_PAGE_SIZE_CLASS : _consts.PAGER_PAGE_SIZE_CLASS, true), _defineProperty(_combineClasses, _consts.FIRST_CHILD_CLASS, 0 === index), _combineClasses)); return { className: className, click: _this3.onPageSizeChange(processedPageSize), label: (0, _string.format)(_message.default.getFormatter("dxPager-pageSize"), processedPageSize || _message.default.getFormatter("dxPager-pageSizesAllText")), text: text } }))); var _this3$props, pageSize, pageSizes } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.pageSize, _this$props.pageSizeChange, _this$props.pageSizes, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return PageSizeLarge }(_inferno2.BaseInfernoComponent); exports.PageSizeLarge = PageSizeLarge; PageSizeLarge.defaultProps = PageSizeLargePropsType }, 41936: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/page_size/selector.js ***! \***************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.PageSizeSelector = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _small = __webpack_require__( /*! ./small */ 70415); var _large = __webpack_require__( /*! ./large */ 86857); var _pager_props = __webpack_require__( /*! ../common/pager_props */ 96529); var _message = (obj = __webpack_require__( /*! ../../../../localization/message */ 28109), obj && obj.__esModule ? obj : { default: obj }); var obj; var _consts = __webpack_require__( /*! ../common/consts */ 39853); var _excluded = ["isLargeDisplayMode", "pageSize", "pageSizeChange", "pageSizes", "rootElementRef"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(_ref) { var htmlRef = _ref.htmlRef, normalizedPageSizes = _ref.normalizedPageSizes, _ref$props = _ref.props, isLargeDisplayMode = _ref$props.isLargeDisplayMode, pageSize = _ref$props.pageSize, pageSizeChange = _ref$props.pageSizeChange; return (0, _inferno.createVNode)(1, "div", _consts.PAGER_PAGE_SIZES_CLASS, [isLargeDisplayMode && (0, _inferno.createComponentVNode)(2, _large.PageSizeLarge, { pageSizes: normalizedPageSizes, pageSize: pageSize, pageSizeChange: pageSizeChange }), !isLargeDisplayMode && (0, _inferno.createComponentVNode)(2, _small.PageSizeSmall, { parentRef: htmlRef, pageSizes: normalizedPageSizes, pageSize: pageSize, pageSizeChange: pageSizeChange })], 0, null, null, htmlRef) }; exports.viewFunction = viewFunction; var PageSizeSelectorProps_isLargeDisplayMode = true; var PageSizeSelectorPropsType = Object.defineProperties({}, { pageSize: { get: function() { return _pager_props.InternalPagerProps.pageSize }, configurable: true, enumerable: true }, pageSizes: { get: function() { return _pager_props.InternalPagerProps.pageSizes }, configurable: true, enumerable: true }, isLargeDisplayMode: { get: function() { return PageSizeSelectorProps_isLargeDisplayMode }, configurable: true, enumerable: true } }); var PageSizeSelector = function(_InfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(PageSizeSelector, _InfernoComponent); function PageSizeSelector(props) { var _this; _this = _InfernoComponent.call(this, props) || this; _this.state = {}; _this.htmlRef = (0, _inferno.createRef)(); _this.__getterCache = {}; _this.setRootElementRef = _this.setRootElementRef.bind(function(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self }(_this)); return _this } var _proto = PageSizeSelector.prototype; _proto.createEffects = function() { return [new _inferno2.InfernoEffect(this.setRootElementRef, [])] }; _proto.setRootElementRef = function() { var rootElementRef = this.props.rootElementRef; if (rootElementRef) { rootElementRef.current = this.htmlRef.current } }; _proto.componentWillUpdate = function(nextProps, nextState, context) { _InfernoComponent.prototype.componentWillUpdate.call(this); if (this.props.pageSizes !== nextProps.pageSizes) { this.__getterCache.normalizedPageSizes = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), htmlRef: this.htmlRef, normalizedPageSizes: this.normalizedPageSizes, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(PageSizeSelector, [{ key: "normalizedPageSizes", get: function() { var _this2 = this; if (void 0 !== this.__getterCache.normalizedPageSizes) { return this.__getterCache.normalizedPageSizes } return this.__getterCache.normalizedPageSizes = (pageSizes = _this2.props.pageSizes, pageSizes.map((function(p) { return "all" === p || 0 === p ? { text: _message.default.getFormatter("dxPager-pageSizesAllText")(), value: 0 } : { text: String(p), value: p } }))); var pageSizes } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.isLargeDisplayMode, _this$props.pageSize, _this$props.pageSizeChange, _this$props.pageSizes, _this$props.rootElementRef, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return PageSizeSelector }(_inferno2.InfernoComponent); exports.PageSizeSelector = PageSizeSelector; PageSizeSelector.defaultProps = PageSizeSelectorPropsType }, 70415: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/page_size/small.js ***! \************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.PageSizeSmallProps = exports.PageSizeSmall = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _message = (obj = __webpack_require__( /*! ../../../../localization/message */ 28109), obj && obj.__esModule ? obj : { default: obj }); var obj; var _select_box = __webpack_require__( /*! ../../editors/drop_down_editors/select_box */ 79708); var _calculate_values_fitted_width = __webpack_require__( /*! ../utils/calculate_values_fitted_width */ 7750); var _get_element_width = __webpack_require__( /*! ../utils/get_element_width */ 95116); var _pager_props = __webpack_require__( /*! ../common/pager_props */ 96529); var _excluded = ["inputAttr", "pageSize", "pageSizeChange", "pageSizes", "parentRef"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(_ref) { var _ref$props = _ref.props, inputAttr = _ref$props.inputAttr, pageSize = _ref$props.pageSize, pageSizeChange = _ref$props.pageSizeChange, pageSizes = _ref$props.pageSizes, width = _ref.width; return (0, _inferno.createComponentVNode)(2, _select_box.SelectBox, { displayExpr: "text", valueExpr: "value", dataSource: pageSizes, value: pageSize, valueChange: pageSizeChange, width: width, inputAttr: inputAttr }) }; exports.viewFunction = viewFunction; var PageSizeSmallProps = { inputAttr: Object.freeze({ "aria-label": _message.default.format("dxPager-ariaPageSize") }) }; exports.PageSizeSmallProps = PageSizeSmallProps; var PageSizeSmallPropsType = Object.defineProperties({}, { pageSize: { get: function() { return _pager_props.InternalPagerProps.pageSize }, configurable: true, enumerable: true }, inputAttr: { get: function() { return PageSizeSmallProps.inputAttr }, configurable: true, enumerable: true } }); var PageSizeSmall = function(_InfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(PageSizeSmall, _InfernoComponent); function PageSizeSmall(props) { var _this; _this = _InfernoComponent.call(this, props) || this; _this.state = { minWidth: 10 }; _this.updateWidth = _this.updateWidth.bind(function(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self }(_this)); return _this } var _proto = PageSizeSmall.prototype; _proto.createEffects = function() { return [new _inferno2.InfernoEffect(this.updateWidth, [this.props, this.state.minWidth, this.props.pageSize, this.props.pageSizeChange, this.props.pageSizes, this.props.inputAttr])] }; _proto.updateEffects = function() { var _this$_effects$; null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props, this.state.minWidth, this.props.pageSize, this.props.pageSizeChange, this.props.pageSizes, this.props.inputAttr]) }; _proto.updateWidth = function() { var _this2 = this; this.setState((function(__state_argument) { return { minWidth: (0, _get_element_width.getElementMinWidth)(_this2.props.parentRef.current) || __state_argument.minWidth } })) }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), width: this.width, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(PageSizeSmall, [{ key: "width", get: function() { return (0, _calculate_values_fitted_width.calculateValuesFittedWidth)(this.state.minWidth, this.props.pageSizes.map((function(p) { return p.value }))) } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.inputAttr, _this$props.pageSize, _this$props.pageSizeChange, _this$props.pageSizes, _this$props.parentRef, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return PageSizeSmall }(_inferno2.InfernoComponent); exports.PageSizeSmall = PageSizeSmall; PageSizeSmall.defaultProps = PageSizeSmallPropsType }, 47854: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/pager.j.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = (obj = __webpack_require__( /*! ../../../core/component_registrator */ 99393), obj && obj.__esModule ? obj : { default: obj }); var obj; var _grid_pager = __webpack_require__( /*! ../../component_wrapper/grid_pager */ 97827); var _pager = __webpack_require__( /*! ./pager */ 59968); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var Pager = function(_GridPagerWrapper) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Pager, _GridPagerWrapper); function Pager() { return _GridPagerWrapper.apply(this, arguments) || this } var _proto = Pager.prototype; _proto.getProps = function() { var props = _GridPagerWrapper.prototype.getProps.call(this); props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown); return props }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Pager, [{ key: "_propsInfo", get: function() { return { twoWay: [ ["pageSize", "defaultPageSize", "pageSizeChange"], ["pageIndex", "defaultPageIndex", "pageIndexChange"] ], allowNull: [], elements: [], templates: [], props: ["defaultPageSize", "pageSizeChange", "defaultPageIndex", "pageIndexChange", "gridCompatibility", "className", "showInfo", "infoText", "lightModeEnabled", "displayMode", "maxPagesCount", "pageCount", "pagesCountText", "visible", "hasKnownLastPage", "pagesNavigatorVisible", "showPageSizes", "pageSizes", "rtlEnabled", "showNavigationButtons", "totalCount", "label", "onKeyDown", "pageSize", "pageIndex"] } } }, { key: "_viewComponent", get: function() { return _pager.Pager } }]); return Pager }(_grid_pager.GridPagerWrapper); exports.default = Pager; (0, _component_registrator.default)("dxPager", Pager); module.exports = exports.default; module.exports.default = exports.default }, 59968: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/pager.js ***! \**************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.Pager = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _resizable_container = __webpack_require__( /*! ./resizable_container */ 97239); var _pager_props = __webpack_require__( /*! ./common/pager_props */ 96529); var _content = __webpack_require__( /*! ./content */ 30928); var _combine_classes = __webpack_require__( /*! ../../utils/combine_classes */ 86237); var _excluded = ["className", "defaultPageIndex", "defaultPageSize", "displayMode", "gridCompatibility", "hasKnownLastPage", "infoText", "label", "lightModeEnabled", "maxPagesCount", "onKeyDown", "pageCount", "pageIndex", "pageIndexChange", "pageSize", "pageSizeChange", "pageSizes", "pagesCountText", "pagesNavigatorVisible", "rtlEnabled", "showInfo", "showNavigationButtons", "showPageSizes", "totalCount", "visible"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var pagerProps = _ref.pagerProps, restAttributes = _ref.restAttributes; return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _resizable_container.ResizableContainer, _extends({ contentTemplate: _content.PagerContent, pagerProps: pagerProps }, restAttributes))) }; exports.viewFunction = viewFunction; var Pager = function(_InfernoWrapperCompon) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Pager, _InfernoWrapperCompon); function Pager(props) { var _this; _this = _InfernoWrapperCompon.call(this, props) || this; _this.__getterCache = {}; _this.state = { pageSize: void 0 !== _this.props.pageSize ? _this.props.pageSize : _this.props.defaultPageSize, pageIndex: void 0 !== _this.props.pageIndex ? _this.props.pageIndex : _this.props.defaultPageIndex }; _this.pageIndexChange = _this.pageIndexChange.bind(_assertThisInitialized(_this)); _this.pageSizeChange = _this.pageSizeChange.bind(_assertThisInitialized(_this)); return _this } var _proto = Pager.prototype; _proto.createEffects = function() { return [(0, _inferno2.createReRenderEffect)()] }; _proto.pageIndexChange = function(newPageIndex) { if (this.props.gridCompatibility) { var __newValue; this.setState((function(__state_argument) { __newValue = newPageIndex + 1; return { pageIndex: __newValue } })); this.props.pageIndexChange(__newValue) } else { var _newValue; this.setState((function(__state_argument) { _newValue = newPageIndex; return { pageIndex: _newValue } })); this.props.pageIndexChange(_newValue) } }; _proto.pageSizeChange = function(newPageSize) { var __newValue; this.setState((function(__state_argument) { __newValue = newPageSize; return { pageSize: __newValue } })); this.props.pageSizeChange(__newValue) }; _proto.componentWillUpdate = function(nextProps, nextState, context) { _InfernoWrapperCompon.prototype.componentWillUpdate.call(this); if (this.props !== nextProps || this.props.gridCompatibility !== nextProps.gridCompatibility || this.props.className !== nextProps.className || this.state.pageIndex !== nextState.pageIndex || this.props.pageIndex !== nextProps.pageIndex || this.props.pageIndexChange !== nextProps.pageIndexChange || this.props.pageSizeChange !== nextProps.pageSizeChange) { this.__getterCache.pagerProps = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { pageSize: void 0 !== this.props.pageSize ? this.props.pageSize : this.state.pageSize, pageIndex: void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex }), pageIndexChange: this.pageIndexChange, pageIndex: this.pageIndex, pageSizeChange: this.pageSizeChange, className: this.className, pagerProps: this.pagerProps, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Pager, [{ key: "pageIndex", get: function() { if (this.props.gridCompatibility) { return (void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex) - 1 } return void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex } }, { key: "className", get: function() { if (this.props.gridCompatibility) { return (0, _combine_classes.combineClasses)(function(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj }({ "dx-datagrid-pager": true }, "".concat(this.props.className), !!this.props.className)) } return this.props.className } }, { key: "pagerProps", get: function() { var _this2 = this; if (void 0 !== this.__getterCache.pagerProps) { return this.__getterCache.pagerProps } return this.__getterCache.pagerProps = _extends({}, _extends({}, _this2.props, { pageSize: void 0 !== _this2.props.pageSize ? _this2.props.pageSize : _this2.state.pageSize, pageIndex: void 0 !== _this2.props.pageIndex ? _this2.props.pageIndex : _this2.state.pageIndex }), { className: _this2.className, pageIndex: _this2.pageIndex, pageIndexChange: function(pageIndex) { return _this2.pageIndexChange(pageIndex) }, pageSizeChange: function(pageSize) { return _this2.pageSizeChange(pageSize) } }) } }, { key: "restAttributes", get: function() { var _this$props$pageSize$ = _extends({}, this.props, { pageSize: void 0 !== this.props.pageSize ? this.props.pageSize : this.state.pageSize, pageIndex: void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex }), restProps = (_this$props$pageSize$.className, _this$props$pageSize$.defaultPageIndex, _this$props$pageSize$.defaultPageSize, _this$props$pageSize$.displayMode, _this$props$pageSize$.gridCompatibility, _this$props$pageSize$.hasKnownLastPage, _this$props$pageSize$.infoText, _this$props$pageSize$.label, _this$props$pageSize$.lightModeEnabled, _this$props$pageSize$.maxPagesCount, _this$props$pageSize$.onKeyDown, _this$props$pageSize$.pageCount, _this$props$pageSize$.pageIndex, _this$props$pageSize$.pageIndexChange, _this$props$pageSize$.pageSize, _this$props$pageSize$.pageSizeChange, _this$props$pageSize$.pageSizes, _this$props$pageSize$.pagesCountText, _this$props$pageSize$.pagesNavigatorVisible, _this$props$pageSize$.rtlEnabled, _this$props$pageSize$.showInfo, _this$props$pageSize$.showNavigationButtons, _this$props$pageSize$.showPageSizes, _this$props$pageSize$.totalCount, _this$props$pageSize$.visible, _objectWithoutProperties(_this$props$pageSize$, _excluded)); return restProps } }]); return Pager }(_inferno2.InfernoWrapperComponent); exports.Pager = Pager; Pager.defaultProps = _pager_props.PagerProps }, 40586: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/pages/large.js ***! \********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.PagesLarge = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _page = __webpack_require__( /*! ./page */ 48402); var _pager_props = __webpack_require__( /*! ../common/pager_props */ 96529); var _config_context = __webpack_require__( /*! ../../../common/config_context */ 49697); var _excluded = ["pageIndexes"], _excluded2 = ["maxPagesCount", "pageCount", "pageIndex", "pageIndexChange"]; function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var viewFunction = function(_ref) { var pages = _ref.pages; var PagesMarkup = pages.map((function(_ref2) { var key = _ref2.key, pageProps = _ref2.pageProps; return pageProps ? (0, _inferno.createComponentVNode)(2, _page.Page, { index: pageProps.index, selected: pageProps.selected, onClick: pageProps.onClick }, key) : (0, _inferno.createVNode)(1, "div", "dx-separator", ". . .", 16, null, key) })); return (0, _inferno.createFragment)(PagesMarkup, 0) }; exports.viewFunction = viewFunction; function getDelimiterType(startIndex, slidingWindowSize, pageCount) { if (1 === startIndex) { return "high" } if (startIndex + slidingWindowSize === pageCount - 1) { return "low" } return "both" } function createPageIndexesBySlidingWindowIndexes(slidingWindowIndexes, pageCount, delimiter) { var pageIndexes = []; var indexesForReuse = []; switch (delimiter) { case "none": pageIndexes = _toConsumableArray(slidingWindowIndexes); break; case "both": pageIndexes = [0, "low"].concat(_toConsumableArray(slidingWindowIndexes), ["high", pageCount - 1]); indexesForReuse = slidingWindowIndexes.slice(1, -1); break; case "high": pageIndexes = [0].concat(_toConsumableArray(slidingWindowIndexes), ["high", pageCount - 1]); indexesForReuse = slidingWindowIndexes.slice(0, -1); break; case "low": pageIndexes = [0, "low"].concat(_toConsumableArray(slidingWindowIndexes), [pageCount - 1]); indexesForReuse = slidingWindowIndexes.slice(1) } return { slidingWindowIndexes: slidingWindowIndexes, indexesForReuse: indexesForReuse, pageIndexes: pageIndexes } } function createPageIndexes(startIndex, slidingWindowSize, pageCount, delimiter) { var slidingWindowIndexes = []; for (var i = 0; i < slidingWindowSize; i += 1) { slidingWindowIndexes.push(i + startIndex) } return createPageIndexesBySlidingWindowIndexes(slidingWindowIndexes, pageCount, delimiter) } var PagesLargePropsType = Object.defineProperties({}, { pageIndex: { get: function() { return _pager_props.InternalPagerProps.pageIndex }, configurable: true, enumerable: true }, maxPagesCount: { get: function() { return _pager_props.InternalPagerProps.maxPagesCount }, configurable: true, enumerable: true }, pageCount: { get: function() { return _pager_props.InternalPagerProps.pageCount }, configurable: true, enumerable: true } }); var PagesLarge = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(PagesLarge, _BaseInfernoComponent); function PagesLarge(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; _this.canReuseSlidingWindow = _this.canReuseSlidingWindow.bind(_assertThisInitialized(_this)); _this.generatePageIndexes = _this.generatePageIndexes.bind(_assertThisInitialized(_this)); _this.isSlidingWindowMode = _this.isSlidingWindowMode.bind(_assertThisInitialized(_this)); _this.onPageClick = _this.onPageClick.bind(_assertThisInitialized(_this)); return _this } var _proto = PagesLarge.prototype; _proto.canReuseSlidingWindow = function(currentPageCount, pageIndex) { var indexesForReuse = this.slidingWindowState.indexesForReuse; var lastPageIsFartherThanWindow = indexesForReuse.slice(-1)[0] < currentPageCount - 1; var pageIndexExistInIndexes = indexesForReuse.includes(pageIndex); return lastPageIsFartherThanWindow && pageIndexExistInIndexes }; _proto.generatePageIndexes = function() { var _this$props = this.props, pageCount = _this$props.pageCount, pageIndex = _this$props.pageIndex; var startIndex = 0; var slidingWindowIndexes = this.slidingWindowState.slidingWindowIndexes; if (pageIndex === slidingWindowIndexes[0]) { startIndex = pageIndex - 1 } else if (pageIndex === slidingWindowIndexes[slidingWindowIndexes.length - 1]) { startIndex = pageIndex + 2 - 4 } else if (pageIndex < 4) { startIndex = 1 } else if (pageIndex >= pageCount - 4) { startIndex = pageCount - 4 - 1 } else { startIndex = pageIndex - 1 } var delimiter = getDelimiterType(startIndex, 4, pageCount); var _createPageIndexes = createPageIndexes(startIndex, 4, pageCount, delimiter), pageIndexes = _createPageIndexes.pageIndexes, slidingWindowState = _objectWithoutProperties(_createPageIndexes, _excluded); this.slidingWindowStateHolder = slidingWindowState; return pageIndexes }; _proto.isSlidingWindowMode = function() { var _this$props2 = this.props, maxPagesCount = _this$props2.maxPagesCount, pageCount = _this$props2.pageCount; return pageCount <= 4 || pageCount <= maxPagesCount }; _proto.onPageClick = function(pageIndex) { this.props.pageIndexChange(pageIndex) }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), config: this.config, pageIndexes: this.pageIndexes, pages: this.pages, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(PagesLarge, [{ key: "config", get: function() { if (this.context[_config_context.ConfigContext.id]) { return this.context[_config_context.ConfigContext.id] } return _config_context.ConfigContext.defaultValue } }, { key: "slidingWindowState", get: function() { var slidingWindowState = this.slidingWindowStateHolder; if (!slidingWindowState) { return { indexesForReuse: [], slidingWindowIndexes: [] } } return slidingWindowState } }, { key: "pageIndexes", get: function() { var pageCount = this.props.pageCount; if (this.isSlidingWindowMode()) { return createPageIndexes(0, pageCount, pageCount, "none").pageIndexes } if (this.canReuseSlidingWindow(pageCount, this.props.pageIndex)) { var slidingWindowIndexes = this.slidingWindowState.slidingWindowIndexes; var delimiter = getDelimiterType(slidingWindowIndexes[0], 4, pageCount); return createPageIndexesBySlidingWindowIndexes(slidingWindowIndexes, pageCount, delimiter).pageIndexes } return this.generatePageIndexes() } }, { key: "pages", get: function() { var _this$config, _this2 = this; var pageIndex = this.props.pageIndex; var rtlPageIndexes = null !== (_this$config = this.config) && void 0 !== _this$config && _this$config.rtlEnabled ? _toConsumableArray(this.pageIndexes).reverse() : this.pageIndexes; return rtlPageIndexes.map((function(index) { return function(index) { var pagerProps = "low" === index || "high" === index ? null : { index: index, onClick: function() { return _this2.onPageClick(index) }, selected: pageIndex === index }; return { key: index.toString(), pageProps: pagerProps } }(index) })) } }, { key: "restAttributes", get: function() { var _this$props3 = this.props, restProps = (_this$props3.maxPagesCount, _this$props3.pageCount, _this$props3.pageIndex, _this$props3.pageIndexChange, _objectWithoutProperties(_this$props3, _excluded2)); return restProps } }]); return PagesLarge }(_inferno2.BaseInfernoComponent); exports.PagesLarge = PagesLarge; PagesLarge.defaultProps = PagesLargePropsType }, 48402: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/pages/page.js ***! \*******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.PageProps = exports.Page = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _light_button = __webpack_require__( /*! ../common/light_button */ 93961); var _consts = __webpack_require__( /*! ../common/consts */ 39853); var _combine_classes = __webpack_require__( /*! ../../../utils/combine_classes */ 86237); var _message = (obj = __webpack_require__( /*! ../../../../localization/message */ 28109), obj && obj.__esModule ? obj : { default: obj }); var obj; var _string = __webpack_require__( /*! ../../../../core/utils/string */ 68752); var _excluded = ["className", "index", "onClick", "selected"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(_ref) { var className = _ref.className, label = _ref.label, _ref$props = _ref.props, onClick = _ref$props.onClick, selected = _ref$props.selected, value = _ref.value; return (0, _inferno.createComponentVNode)(2, _light_button.LightButton, { className: className, label: label, onClick: onClick, selected: selected, children: value }) }; exports.viewFunction = viewFunction; var PageProps = { index: 0, selected: false, className: _consts.PAGER_PAGE_CLASS }; exports.PageProps = PageProps; var Page = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Page, _BaseInfernoComponent); function Page(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = Page.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), label: this.label, value: this.value, className: this.className, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Page, [{ key: "label", get: function() { return (0, _string.format)(_message.default.getFormatter("dxPager-page"), this.value) } }, { key: "value", get: function() { return this.props.index + 1 } }, { key: "className", get: function() { var _combineClasses; var selected = this.props.selected; return (0, _combine_classes.combineClasses)((_combineClasses = {}, _defineProperty(_combineClasses, "".concat(this.props.className), !!this.props.className), _defineProperty(_combineClasses, _consts.PAGER_SELECTION_CLASS, !!selected), _combineClasses)) } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.className, _this$props.index, _this$props.onClick, _this$props.selected, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return Page }(_inferno2.BaseInfernoComponent); exports.Page = Page; Page.defaultProps = PageProps }, 32854: /*!**********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/pages/page_index_selector.js ***! \**********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.PageIndexSelectorProps = exports.PageIndexSelector = exports.PAGER_BUTTON_DISABLE_CLASS = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _light_button = __webpack_require__( /*! ../common/light_button */ 93961); var _large = __webpack_require__( /*! ./large */ 40586); var _small = __webpack_require__( /*! ./small */ 50570); var _pager_props = __webpack_require__( /*! ../common/pager_props */ 96529); var _config_context = __webpack_require__( /*! ../../../common/config_context */ 49697); var _message = (obj = __webpack_require__( /*! ../../../../localization/message */ 28109), obj && obj.__esModule ? obj : { default: obj }); var obj; var _excluded = ["hasKnownLastPage", "isLargeDisplayMode", "maxPagesCount", "pageCount", "pageIndex", "pageIndexChange", "pagesCountText", "showNavigationButtons", "totalCount"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } exports.PAGER_BUTTON_DISABLE_CLASS = "dx-button-disable"; var classNames = { nextEnabledClass: "".concat("dx-navigate-button", " ").concat("dx-next-button"), prevEnabledClass: "".concat("dx-navigate-button", " ").concat("dx-prev-button"), nextDisabledClass: "".concat("dx-button-disable", " ").concat("dx-navigate-button", " ").concat("dx-next-button"), prevDisabledClass: "".concat("dx-button-disable", " ").concat("dx-navigate-button", " ").concat("dx-prev-button") }; var reverseDirections = { next: "prev", prev: "next" }; var viewFunction = function(_ref) { var nextButtonProps = _ref.nextButtonProps, pageIndexChange = _ref.pageIndexChange, prevButtonProps = _ref.prevButtonProps, _ref$props = _ref.props, isLargeDisplayMode = _ref$props.isLargeDisplayMode, maxPagesCount = _ref$props.maxPagesCount, pageCount = _ref$props.pageCount, pageIndex = _ref$props.pageIndex, pagesCountText = _ref$props.pagesCountText, renderNextButton = _ref.renderNextButton, renderPrevButton = _ref.renderPrevButton; return (0, _inferno.createFragment)([renderPrevButton && (0, _inferno.createComponentVNode)(2, _light_button.LightButton, { label: _message.default.getFormatter("dxPager-prevPage")(), className: prevButtonProps.className, tabIndex: prevButtonProps.tabIndex, onClick: prevButtonProps.navigate }), isLargeDisplayMode && (0, _inferno.createComponentVNode)(2, _large.PagesLarge, { maxPagesCount: maxPagesCount, pageCount: pageCount, pageIndex: pageIndex, pageIndexChange: pageIndexChange }), !isLargeDisplayMode && (0, _inferno.createComponentVNode)(2, _small.PagesSmall, { pageCount: pageCount, pageIndex: pageIndex, pageIndexChange: pageIndexChange, pagesCountText: pagesCountText }), renderNextButton && (0, _inferno.createComponentVNode)(2, _light_button.LightButton, { label: _message.default.getFormatter("dxPager-nextPage")(), className: nextButtonProps.className, tabIndex: nextButtonProps.tabIndex, onClick: nextButtonProps.navigate })], 0) }; exports.viewFunction = viewFunction; var PageIndexSelectorProps = { isLargeDisplayMode: true }; exports.PageIndexSelectorProps = PageIndexSelectorProps; var PageIndexSelectorPropsType = Object.defineProperties({}, { pageIndex: { get: function() { return _pager_props.InternalPagerProps.pageIndex }, configurable: true, enumerable: true }, maxPagesCount: { get: function() { return _pager_props.InternalPagerProps.maxPagesCount }, configurable: true, enumerable: true }, pageCount: { get: function() { return _pager_props.InternalPagerProps.pageCount }, configurable: true, enumerable: true }, hasKnownLastPage: { get: function() { return _pager_props.InternalPagerProps.hasKnownLastPage }, configurable: true, enumerable: true }, showNavigationButtons: { get: function() { return _pager_props.InternalPagerProps.showNavigationButtons }, configurable: true, enumerable: true }, totalCount: { get: function() { return _pager_props.InternalPagerProps.totalCount }, configurable: true, enumerable: true }, isLargeDisplayMode: { get: function() { return PageIndexSelectorProps.isLargeDisplayMode }, configurable: true, enumerable: true } }); var PageIndexSelector = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(PageIndexSelector, _BaseInfernoComponent); function PageIndexSelector(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; _this.__getterCache = {}; _this.pageIndexChange = _this.pageIndexChange.bind(_assertThisInitialized(_this)); _this.getButtonProps = _this.getButtonProps.bind(_assertThisInitialized(_this)); _this.canNavigateToPage = _this.canNavigateToPage.bind(_assertThisInitialized(_this)); _this.getNextPageIndex = _this.getNextPageIndex.bind(_assertThisInitialized(_this)); _this.canNavigateTo = _this.canNavigateTo.bind(_assertThisInitialized(_this)); _this.navigateToPage = _this.navigateToPage.bind(_assertThisInitialized(_this)); return _this } var _proto = PageIndexSelector.prototype; _proto.pageIndexChange = function(pageIndex) { if (this.canNavigateToPage(pageIndex)) { this.props.pageIndexChange(pageIndex) } }; _proto.getButtonProps = function(direction) { var _this$config, _this2 = this; var rtlAwareDirection = null !== (_this$config = this.config) && void 0 !== _this$config && _this$config.rtlEnabled ? reverseDirections[direction] : direction; var canNavigate = this.canNavigateTo(rtlAwareDirection); var className = classNames["".concat(direction).concat(canNavigate ? "Enabled" : "Disabled", "Class")]; return { className: className, tabIndex: canNavigate ? 0 : -1, navigate: function() { return _this2.navigateToPage(rtlAwareDirection) } } }; _proto.canNavigateToPage = function(pageIndex) { if (!this.props.hasKnownLastPage) { return pageIndex >= 0 } return pageIndex >= 0 && pageIndex <= this.props.pageCount - 1 }; _proto.getNextPageIndex = function(direction) { return this.props.pageIndex + function(direction) { return "next" === direction ? 1 : -1 }(direction) }; _proto.canNavigateTo = function(direction) { return this.canNavigateToPage(this.getNextPageIndex(direction)) }; _proto.navigateToPage = function(direction) { this.pageIndexChange(this.getNextPageIndex(direction)) }; _proto.componentWillUpdate = function(nextProps, nextState, context) { if (this.context[_config_context.ConfigContext.id] !== context[_config_context.ConfigContext.id] || this.props.hasKnownLastPage !== nextProps.hasKnownLastPage || this.props.pageCount !== nextProps.pageCount || this.props.pageIndex !== nextProps.pageIndex || this.props.pageIndexChange !== nextProps.pageIndexChange) { this.__getterCache.prevButtonProps = void 0 } if (this.context[_config_context.ConfigContext.id] !== context[_config_context.ConfigContext.id] || this.props.hasKnownLastPage !== nextProps.hasKnownLastPage || this.props.pageCount !== nextProps.pageCount || this.props.pageIndex !== nextProps.pageIndex || this.props.pageIndexChange !== nextProps.pageIndexChange) { this.__getterCache.nextButtonProps = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), config: this.config, pageIndexChange: this.pageIndexChange, renderPrevButton: this.renderPrevButton, renderNextButton: this.renderNextButton, prevButtonProps: this.prevButtonProps, nextButtonProps: this.nextButtonProps, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(PageIndexSelector, [{ key: "config", get: function() { if (this.context[_config_context.ConfigContext.id]) { return this.context[_config_context.ConfigContext.id] } return _config_context.ConfigContext.defaultValue } }, { key: "renderPrevButton", get: function() { var _this$props = this.props, isLargeDisplayMode = _this$props.isLargeDisplayMode, showNavigationButtons = _this$props.showNavigationButtons; return !isLargeDisplayMode || showNavigationButtons } }, { key: "renderNextButton", get: function() { return this.renderPrevButton || !this.props.hasKnownLastPage } }, { key: "prevButtonProps", get: function() { var _this3 = this; if (void 0 !== this.__getterCache.prevButtonProps) { return this.__getterCache.prevButtonProps } return this.__getterCache.prevButtonProps = _this3.getButtonProps("prev") } }, { key: "nextButtonProps", get: function() { var _this4 = this; if (void 0 !== this.__getterCache.nextButtonProps) { return this.__getterCache.nextButtonProps } return this.__getterCache.nextButtonProps = _this4.getButtonProps("next") } }, { key: "restAttributes", get: function() { var _this$props2 = this.props, restProps = (_this$props2.hasKnownLastPage, _this$props2.isLargeDisplayMode, _this$props2.maxPagesCount, _this$props2.pageCount, _this$props2.pageIndex, _this$props2.pageIndexChange, _this$props2.pagesCountText, _this$props2.showNavigationButtons, _this$props2.totalCount, _objectWithoutProperties(_this$props2, _excluded)); return restProps } }]); return PageIndexSelector }(_inferno2.BaseInfernoComponent); exports.PageIndexSelector = PageIndexSelector; PageIndexSelector.defaultProps = PageIndexSelectorPropsType }, 50570: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/pages/small.js ***! \********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.PagesSmall = exports.PagerSmallProps = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _page = __webpack_require__( /*! ./page */ 48402); var _info = __webpack_require__( /*! ../info */ 57495); var _number_box = __webpack_require__( /*! ../../editors/number_box */ 15560); var _message = (obj = __webpack_require__( /*! ../../../../localization/message */ 28109), obj && obj.__esModule ? obj : { default: obj }); var obj; var _calculate_values_fitted_width = __webpack_require__( /*! ../utils/calculate_values_fitted_width */ 7750); var _get_element_width = __webpack_require__( /*! ../utils/get_element_width */ 95116); var _pager_props = __webpack_require__( /*! ../common/pager_props */ 96529); var _excluded = ["inputAttr", "pageCount", "pageIndex", "pageIndexChange", "pagesCountText"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var PAGER_INFO_TEXT_CLASS = "".concat(_info.PAGER_INFO_CLASS, " dx-info-text"); var viewFunction = function(_ref) { var pageIndexRef = _ref.pageIndexRef, pagesCountText = _ref.pagesCountText, _ref$props = _ref.props, inputAttr = _ref$props.inputAttr, pageCount = _ref$props.pageCount, selectLastPageIndex = _ref.selectLastPageIndex, value = _ref.value, valueChange = _ref.valueChange, width = _ref.width; return (0, _inferno.createVNode)(1, "div", "dx-light-pages", [(0, _inferno.createComponentVNode)(2, _number_box.NumberBox, { className: "dx-page-index", min: 1, max: pageCount, width: width, value: value, valueChange: valueChange, inputAttr: inputAttr }), (0, _inferno.createVNode)(1, "span", PAGER_INFO_TEXT_CLASS, pagesCountText, 0), (0, _inferno.createComponentVNode)(2, _page.Page, { className: "dx-pages-count", selected: false, index: pageCount - 1, onClick: selectLastPageIndex })], 4, null, null, pageIndexRef) }; exports.viewFunction = viewFunction; var PagerSmallProps = { inputAttr: Object.freeze({ "aria-label": _message.default.format("dxPager-ariaPageNumber") }) }; exports.PagerSmallProps = PagerSmallProps; var PagerSmallPropsType = Object.defineProperties({}, { pageIndex: { get: function() { return _pager_props.InternalPagerProps.pageIndex }, configurable: true, enumerable: true }, pageCount: { get: function() { return _pager_props.InternalPagerProps.pageCount }, configurable: true, enumerable: true }, inputAttr: { get: function() { return PagerSmallProps.inputAttr }, configurable: true, enumerable: true } }); var PagesSmall = function(_InfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(PagesSmall, _InfernoComponent); function PagesSmall(props) { var _this; _this = _InfernoComponent.call(this, props) || this; _this.pageIndexRef = (0, _inferno.createRef)(); _this.state = { minWidth: 10 }; _this.updateWidth = _this.updateWidth.bind(_assertThisInitialized(_this)); _this.selectLastPageIndex = _this.selectLastPageIndex.bind(_assertThisInitialized(_this)); _this.valueChange = _this.valueChange.bind(_assertThisInitialized(_this)); return _this } var _proto = PagesSmall.prototype; _proto.createEffects = function() { return [new _inferno2.InfernoEffect(this.updateWidth, [this.state.minWidth])] }; _proto.updateEffects = function() { var _this$_effects$; null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.state.minWidth]) }; _proto.updateWidth = function() { var _this$pageIndexRef$cu; var el = null === (_this$pageIndexRef$cu = this.pageIndexRef.current) || void 0 === _this$pageIndexRef$cu ? void 0 : _this$pageIndexRef$cu.querySelector(".".concat("dx-page-index")); this.setState((function(__state_argument) { return { minWidth: el && (0, _get_element_width.getElementMinWidth)(el) || __state_argument.minWidth } })) }; _proto.selectLastPageIndex = function() { this.props.pageIndexChange(this.props.pageCount - 1) }; _proto.valueChange = function(value) { this.props.pageIndexChange(value - 1) }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), pageIndexRef: this.pageIndexRef, value: this.value, width: this.width, pagesCountText: this.pagesCountText, selectLastPageIndex: this.selectLastPageIndex, valueChange: this.valueChange, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(PagesSmall, [{ key: "value", get: function() { return this.props.pageIndex + 1 } }, { key: "width", get: function() { var pageCount = this.props.pageCount; return (0, _calculate_values_fitted_width.calculateValuesFittedWidth)(this.state.minWidth, [pageCount]) } }, { key: "pagesCountText", get: function() { var _this$props$pagesCoun; return (null !== (_this$props$pagesCoun = this.props.pagesCountText) && void 0 !== _this$props$pagesCoun ? _this$props$pagesCoun : "") || _message.default.getFormatter("dxPager-pagesCountText")() } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.inputAttr, _this$props.pageCount, _this$props.pageIndex, _this$props.pageIndexChange, _this$props.pagesCountText, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return PagesSmall }(_inferno2.InfernoComponent); exports.PagesSmall = PagesSmall; PagesSmall.defaultProps = PagerSmallPropsType }, 97239: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/resizable_container.js ***! \****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.ResizableContainerProps = exports.ResizableContainer = void 0; exports.calculateInfoTextVisible = calculateInfoTextVisible; exports.calculateLargeDisplayMode = calculateLargeDisplayMode; exports.viewFunction = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _resize_callbacks = (obj = __webpack_require__( /*! ../../../core/utils/resize_callbacks */ 55814), obj && obj.__esModule ? obj : { default: obj }); var obj; var _get_element_width = __webpack_require__( /*! ./utils/get_element_width */ 95116); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _excluded = ["contentTemplate", "pagerProps"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var contentAttributes = _ref.contentAttributes, infoTextRef = _ref.infoTextRef, infoTextVisible = _ref.infoTextVisible, isLargeDisplayMode = _ref.isLargeDisplayMode, pageSizesRef = _ref.pageSizesRef, pagesRef = _ref.pagesRef, parentRef = _ref.parentRef, Content = _ref.props.contentTemplate; return Content(_extends({ rootElementRef: parentRef, pageSizesRef: pageSizesRef, infoTextRef: infoTextRef, pagesRef: pagesRef, infoTextVisible: infoTextVisible, isLargeDisplayMode: isLargeDisplayMode }, contentAttributes)) }; exports.viewFunction = viewFunction; function calculateLargeDisplayMode(_ref2) { var pageSizesWidth = _ref2.pageSizes, pagesWidth = _ref2.pages, parentWidth = _ref2.parent; return parentWidth - (pageSizesWidth + pagesWidth) > 0 } function calculateInfoTextVisible(_ref3) { var infoWidth = _ref3.info, pageSizesWidth = _ref3.pageSizes, pagesWidth = _ref3.pages, parentWidth = _ref3.parent; var minimalWidth = pageSizesWidth + pagesWidth + infoWidth; return parentWidth - minimalWidth > 0 } var ResizableContainerProps = {}; exports.ResizableContainerProps = ResizableContainerProps; var ResizableContainer = function(_InfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ResizableContainer, _InfernoComponent); function ResizableContainer(props) { var _this; _this = _InfernoComponent.call(this, props) || this; _this.parentRef = (0, _inferno.createRef)(); _this.pageSizesRef = (0, _inferno.createRef)(); _this.infoTextRef = (0, _inferno.createRef)(); _this.pagesRef = (0, _inferno.createRef)(); _this.actualIsLargeDisplayMode = true; _this.actualInfoTextVisible = true; _this.state = { infoTextVisible: true, isLargeDisplayMode: true }; _this.subscribeToResize = _this.subscribeToResize.bind(_assertThisInitialized(_this)); _this.effectUpdateChildProps = _this.effectUpdateChildProps.bind(_assertThisInitialized(_this)); _this.updateAdaptivityProps = _this.updateAdaptivityProps.bind(_assertThisInitialized(_this)); return _this } var _proto = ResizableContainer.prototype; _proto.createEffects = function() { return [new _inferno2.InfernoEffect(this.subscribeToResize, [this.state.infoTextVisible, this.state.isLargeDisplayMode]), new _inferno2.InfernoEffect(this.effectUpdateChildProps, [this.props, this.state.infoTextVisible, this.state.isLargeDisplayMode, this.props.pagerProps, this.props.contentTemplate])] }; _proto.updateEffects = function() { var _this$_effects$, _this$_effects$2; null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.state.infoTextVisible, this.state.isLargeDisplayMode]); null === (_this$_effects$2 = this._effects[1]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props, this.state.infoTextVisible, this.state.isLargeDisplayMode, this.props.pagerProps, this.props.contentTemplate]) }; _proto.subscribeToResize = function() { var _this2 = this; var callback = function() { _this2.parentWidth > 0 && _this2.updateAdaptivityProps() }; _resize_callbacks.default.add(callback); return function() { _resize_callbacks.default.remove(callback) } }; _proto.effectUpdateChildProps = function() { if (this.parentWidth > 0) { this.updateAdaptivityProps() } }; _proto.updateAdaptivityProps = function() { var _this3 = this; var currentElementsWidth = (_ref4 = { parent: this.parentRef.current, pageSizes: this.pageSizesRef.current, info: this.infoTextRef.current, pages: this.pagesRef.current }, info = _ref4.info, pageSizes = _ref4.pageSizes, pages = _ref4.pages, parent = _ref4.parent, parentWidth = (0, _get_element_width.getElementContentWidth)(parent), pageSizesWidth = (0, _get_element_width.getElementWidth)(pageSizes), infoWidth = (0, _get_element_width.getElementWidth)(info), pagesHtmlWidth = (0, _get_element_width.getElementWidth)(pages), { parent: parentWidth, pageSizes: pageSizesWidth, info: infoWidth + (0, _get_element_width.getElementStyle)("marginLeft", info) + (0, _get_element_width.getElementStyle)("marginRight", info), pages: pagesHtmlWidth }); var _ref4, info, pageSizes, pages, parent, parentWidth, pageSizesWidth, infoWidth, pagesHtmlWidth; if (this.actualInfoTextVisible !== this.state.infoTextVisible || this.actualIsLargeDisplayMode !== this.state.isLargeDisplayMode) { return } var isEmpty = !(0, _type.isDefined)(this.elementsWidth); if (isEmpty) { this.elementsWidth = {} } if (isEmpty || this.state.isLargeDisplayMode) { this.elementsWidth.pageSizes = currentElementsWidth.pageSizes; this.elementsWidth.pages = currentElementsWidth.pages } if (isEmpty || this.state.infoTextVisible) { this.elementsWidth.info = currentElementsWidth.info } this.actualIsLargeDisplayMode = calculateLargeDisplayMode(_extends({ parent: currentElementsWidth.parent }, { pageSizes: this.elementsWidth.pageSizes, pages: this.elementsWidth.pages })); this.actualInfoTextVisible = calculateInfoTextVisible(_extends({}, currentElementsWidth, { info: this.elementsWidth.info })); this.setState((function(__state_argument) { return { infoTextVisible: _this3.actualInfoTextVisible } })); this.setState((function(__state_argument) { return { isLargeDisplayMode: _this3.actualIsLargeDisplayMode } })) }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { contentTemplate: (TemplateProp = props.contentTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), infoTextVisible: this.state.infoTextVisible, isLargeDisplayMode: this.state.isLargeDisplayMode, parentRef: this.parentRef, pageSizesRef: this.pageSizesRef, infoTextRef: this.infoTextRef, pagesRef: this.pagesRef, contentAttributes: this.contentAttributes, parentWidth: this.parentWidth, updateAdaptivityProps: this.updateAdaptivityProps, restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(ResizableContainer, [{ key: "contentAttributes", get: function() { var _this$props$pagerProp = this.props.pagerProps, className = _this$props$pagerProp.className, displayMode = _this$props$pagerProp.displayMode, gridCompatibility = _this$props$pagerProp.gridCompatibility, hasKnownLastPage = _this$props$pagerProp.hasKnownLastPage, infoText = _this$props$pagerProp.infoText, label = _this$props$pagerProp.label, lightModeEnabled = _this$props$pagerProp.lightModeEnabled, maxPagesCount = _this$props$pagerProp.maxPagesCount, onKeyDown = _this$props$pagerProp.onKeyDown, pageCount = _this$props$pagerProp.pageCount, pageIndex = _this$props$pagerProp.pageIndex, pageIndexChange = _this$props$pagerProp.pageIndexChange, pageSize = _this$props$pagerProp.pageSize, pageSizeChange = _this$props$pagerProp.pageSizeChange, pageSizes = _this$props$pagerProp.pageSizes, pagesCountText = _this$props$pagerProp.pagesCountText, pagesNavigatorVisible = _this$props$pagerProp.pagesNavigatorVisible, rtlEnabled = _this$props$pagerProp.rtlEnabled, showInfo = _this$props$pagerProp.showInfo, showNavigationButtons = _this$props$pagerProp.showNavigationButtons, showPageSizes = _this$props$pagerProp.showPageSizes, totalCount = _this$props$pagerProp.totalCount, visible = _this$props$pagerProp.visible; return _extends({}, this.restAttributes, { pageSize: pageSize, pageIndex: pageIndex, pageIndexChange: pageIndexChange, pageSizeChange: pageSizeChange, gridCompatibility: gridCompatibility, className: className, showInfo: showInfo, infoText: infoText, lightModeEnabled: lightModeEnabled, displayMode: displayMode, maxPagesCount: maxPagesCount, pageCount: pageCount, pagesCountText: pagesCountText, visible: visible, hasKnownLastPage: hasKnownLastPage, pagesNavigatorVisible: pagesNavigatorVisible, showPageSizes: showPageSizes, pageSizes: pageSizes, rtlEnabled: rtlEnabled, showNavigationButtons: showNavigationButtons, totalCount: totalCount, onKeyDown: onKeyDown, label: label }) } }, { key: "parentWidth", get: function() { return this.parentRef.current ? (0, _get_element_width.getElementWidth)(this.parentRef.current) : 0 } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.contentTemplate, _this$props.pagerProps, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return ResizableContainer }(_inferno2.InfernoComponent); exports.ResizableContainer = ResizableContainer; ResizableContainer.defaultProps = ResizableContainerProps }, 7750: /*!********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/utils/calculate_values_fitted_width.js ***! \********************************************************************************************************/ function(__unused_webpack_module, exports) { exports.calculateValuesFittedWidth = function(minWidth, values) { return minWidth + 10 * Math.max.apply(Math, (arr = values, function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }())).toString().length; var arr }; exports.oneDigitWidth = void 0; function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } exports.oneDigitWidth = 10 }, 95116: /*!********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/pager/utils/get_element_width.js ***! \********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getElementContentWidth = function(element) { var padding = getElementStyle("paddingLeft", element) + getElementStyle("paddingRight", element); var width = getElementStyle("width", element); return width - padding }; exports.getElementMinWidth = function(element) { return getElementStyle("minWidth", element) }; exports.getElementStyle = getElementStyle; exports.getElementWidth = function(element) { var margin = getElementStyle("marginLeft", element) + getElementStyle("marginRight", element); var width = getElementStyle("width", element); return margin + width }; var _get_computed_style = (obj = __webpack_require__( /*! ../../../utils/get_computed_style */ 89357), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type_conversion = __webpack_require__( /*! ../../../utils/type_conversion */ 78461); function getElementStyle(name, element) { var _getElementComputedSt; var computedStyle = null !== (_getElementComputedSt = (0, _get_computed_style.default)(element)) && void 0 !== _getElementComputedSt ? _getElementComputedSt : {}; return (0, _type_conversion.toNumber)(computedStyle[name]) } }, 19234: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/resizable/utils.js ***! \******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getAreaFromObject = exports.getAreaFromElement = exports.filterOffsets = exports.borderWidthStyles = void 0; exports.getDragOffsets = function(area, handleEl, areaProp) { var hWidth = (0, _size.getOuterWidth)(handleEl); var hHeight = (0, _size.getOuterHeight)(handleEl); var hOffset = (0, _size.getOffset)(handleEl); var areaOffset = area.offset; var isAreaWindow = (0, _type.isWindow)(areaProp); var scrollOffset = { scrollX: isAreaWindow ? areaProp.pageXOffset : 0, scrollY: isAreaWindow ? areaProp.pageYOffset : 0 }; return { maxLeftOffset: hOffset.left - areaOffset.left - scrollOffset.scrollX, maxRightOffset: areaOffset.left + area.width - hOffset.left - hWidth + scrollOffset.scrollX, maxTopOffset: hOffset.top - areaOffset.top - scrollOffset.scrollY, maxBottomOffset: areaOffset.top + area.height - hOffset.top - hHeight + scrollOffset.scrollY } }; exports.getMovingSides = void 0; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var borderWidthStyles = { left: "borderLeftWidth", top: "borderTopWidth", right: "borderRightWidth", bottom: "borderBottomWidth" }; exports.borderWidthStyles = borderWidthStyles; function getBorderWidth(el, direction) { if (!(0, _type.isWindow)(el)) { var borderWidth = el.style[borderWidthStyles[direction]]; return parseInt(borderWidth, 10) || 0 } return 0 } var correctGeometry = function(area, mainEl) { var el = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : void 0; var height = area.height, offset = area.offset, width = area.width; var left = offset.left, top = offset.top; var areaBorderLeft = el ? getBorderWidth(el, "left") : 0; var areaBorderTop = el ? getBorderWidth(el, "top") : 0; return { width: width - (0, _size.getOuterWidth)(mainEl) - (0, _size.getInnerWidth)(mainEl), height: height - (0, _size.getOuterHeight)(mainEl) - (0, _size.getInnerHeight)(mainEl), offset: { left: left + areaBorderLeft + getBorderWidth(mainEl, "left"), top: top + areaBorderTop + getBorderWidth(mainEl, "top") } } }; exports.getAreaFromElement = function(el, mainEl) { return correctGeometry({ width: (0, _size.getInnerWidth)(el), height: (0, _size.getInnerHeight)(el), offset: (0, _extend.extend)({ top: 0, left: 0 }, (0, _type.isWindow)(el) ? {} : (0, _size.getOffset)(el)) }, mainEl, el) }; exports.getAreaFromObject = function(_ref, mainEl) { var bottom = _ref.bottom, left = _ref.left, right = _ref.right, top = _ref.top; return correctGeometry({ width: right - left, height: bottom - top, offset: { left: left, top: top } }, mainEl) }; var getMovingSides = function(el) { var className = el.className; var hasCornerTopLeftClass = className.includes("dx-resizable-handle-corner-top-left"); var hasCornerTopRightClass = className.includes("dx-resizable-handle-corner-top-right"); var hasCornerBottomLeftClass = className.includes("dx-resizable-handle-corner-bottom-left"); var hasCornerBottomRightClass = className.includes("dx-resizable-handle-corner-bottom-right"); return { top: className.includes("dx-resizable-handle-top") || hasCornerTopLeftClass || hasCornerTopRightClass, left: className.includes("dx-resizable-handle-left") || hasCornerTopLeftClass || hasCornerBottomLeftClass, bottom: className.includes("dx-resizable-handle-bottom") || hasCornerBottomLeftClass || hasCornerBottomRightClass, right: className.includes("dx-resizable-handle-right") || hasCornerTopRightClass || hasCornerBottomRightClass } }; exports.getMovingSides = getMovingSides; exports.filterOffsets = function(offset, handleEl) { var sides = getMovingSides(handleEl); var offsetX = !sides.left && !sides.right ? 0 : offset.x; var offsetY = !sides.top && !sides.bottom ? 0 : offset.y; return { x: offsetX, y: offsetY } } }, 35905: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/appointment/appointment.js ***! \************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.AppointmentProps = exports.Appointment = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _utils = __webpack_require__( /*! ./utils */ 84154); var _layout = __webpack_require__( /*! ./content/layout */ 33830); var _widget = __webpack_require__( /*! ../../common/widget */ 73687); var _combine_classes = __webpack_require__( /*! ../../../utils/combine_classes */ 86237); var _utils2 = __webpack_require__( /*! ../resources/utils */ 43450); var _appointments_context = __webpack_require__( /*! ../appointments_context */ 32125); var _excluded = ["appointmentTemplate", "groups", "hideReducedIconTooltip", "index", "onItemClick", "onItemDoubleClick", "showReducedIconTooltip", "viewModel"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var classes = _ref.classes, data = _ref.data, dateText = _ref.dateText, isReduced = _ref.isReduced, onItemClick = _ref.onItemClick, _ref$props = _ref.props, appointmentTemplate = _ref$props.appointmentTemplate, hideReducedIconTooltip = _ref$props.hideReducedIconTooltip, index = _ref$props.index, showReducedIconTooltip = _ref$props.showReducedIconTooltip, isRecurrent = _ref$props.viewModel.info.isRecurrent, ref = _ref.ref, styles = _ref.styles, text = _ref.text; return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _widget.Widget, _extends({ focusStateEnabled: true, onClick: onItemClick, rootElementRef: ref, style: (0, _inferno2.normalizeStyles)(styles), classes: classes, hint: text }, { role: "button", "data-index": index }, { children: (0, _inferno.createComponentVNode)(2, _layout.AppointmentContent, { text: text, isReduced: isReduced, dateText: dateText, isRecurrent: isRecurrent, index: index, data: data, showReducedIconTooltip: showReducedIconTooltip, hideReducedIconTooltip: hideReducedIconTooltip, appointmentTemplate: appointmentTemplate }) }))) }; exports.viewFunction = viewFunction; var AppointmentProps = { index: 0 }; exports.AppointmentProps = AppointmentProps; var Appointment = function(_InfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Appointment, _InfernoComponent); function Appointment(props) { var _this; _this = _InfernoComponent.call(this, props) || this; _this.ref = (0, _inferno.createRef)(); _this.state = { color: void 0 }; _this.updateStylesEffect = _this.updateStylesEffect.bind(_assertThisInitialized(_this)); _this.bindDoubleClickEffect = _this.bindDoubleClickEffect.bind(_assertThisInitialized(_this)); _this.onItemClick = _this.onItemClick.bind(_assertThisInitialized(_this)); _this.onItemDoubleClick = _this.onItemDoubleClick.bind(_assertThisInitialized(_this)); return _this } var _proto = Appointment.prototype; _proto.createEffects = function() { return [new _inferno2.InfernoEffect(this.updateStylesEffect, [this.props.viewModel, this.appointmentsContextValue, this.props.groups]), new _inferno2.InfernoEffect(this.bindDoubleClickEffect, [])] }; _proto.updateEffects = function() { var _this$_effects$; null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.viewModel, this.appointmentsContextValue, this.props.groups]) }; _proto.updateStylesEffect = function() { var _viewModel$info$group, _this2 = this; var viewModel = this.props.viewModel; var groupIndex = null !== (_viewModel$info$group = viewModel.info.groupIndex) && void 0 !== _viewModel$info$group ? _viewModel$info$group : 0; var appointment = viewModel.appointment; (0, _utils2.getAppointmentColor)({ resources: this.appointmentsContextValue.resources, resourceLoaderMap: this.appointmentsContextValue.resourceLoaderMap, resourcesDataAccessors: this.appointmentsContextValue.dataAccessors.resources, loadedResources: this.appointmentsContextValue.loadedResources }, { itemData: appointment, groupIndex: groupIndex, groups: this.props.groups }).then((function(color) { _this2.setState((function(__state_argument) { return { color: color } })) })).catch((function() { return "" })) }; _proto.bindDoubleClickEffect = function() { var _this$ref$current, _this3 = this; var onDoubleClick = function() { return _this3.onItemDoubleClick() }; null === (_this$ref$current = this.ref.current) || void 0 === _this$ref$current ? void 0 : _this$ref$current.addEventListener("dblclick", onDoubleClick); return function() { var _this3$ref$current; null === (_this3$ref$current = _this3.ref.current) || void 0 === _this3$ref$current ? void 0 : _this3$ref$current.removeEventListener("dblclick", onDoubleClick) } }; _proto.onItemClick = function() { var e = { data: [this.props.viewModel], target: this.ref.current, index: this.props.index }; this.props.onItemClick(e) }; _proto.onItemDoubleClick = function() { var e = { data: [this.props.viewModel], target: this.ref.current, index: this.props.index }; this.props.onItemDoubleClick(e) }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { appointmentTemplate: (TemplateProp = props.appointmentTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), color: this.state.color, ref: this.ref, appointmentsContextValue: this.appointmentsContextValue, appointmentStyles: this.appointmentStyles, styles: this.styles, text: this.text, isReduced: this.isReduced, classes: this.classes, dateText: this.dateText, data: this.data, onItemClick: this.onItemClick, onItemDoubleClick: this.onItemDoubleClick, restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Appointment, [{ key: "appointmentsContextValue", get: function() { if (this.context[_appointments_context.AppointmentsContext.id]) { return this.context[_appointments_context.AppointmentsContext.id] } return _appointments_context.AppointmentsContext.defaultValue } }, { key: "appointmentStyles", get: function() { return (0, _utils.getAppointmentStyles)(this.props.viewModel) } }, { key: "styles", get: function() { return (0, _utils.mergeStylesWithColor)(this.state.color, this.appointmentStyles) } }, { key: "text", get: function() { return this.props.viewModel.appointment.text } }, { key: "isReduced", get: function() { var appointmentReduced = this.props.viewModel.info.appointmentReduced; return !!appointmentReduced } }, { key: "classes", get: function() { var _this$props$viewModel = this.props.viewModel, focused = _this$props$viewModel.focused, _this$props$viewModel2 = _this$props$viewModel.info, allDay = _this$props$viewModel2.allDay, appointmentReduced = _this$props$viewModel2.appointmentReduced, direction = _this$props$viewModel2.direction, isRecurrent = _this$props$viewModel2.isRecurrent; var isVerticalDirection = "vertical" === direction; return (0, _combine_classes.combineClasses)({ "dx-state-focused": !!focused, "dx-scheduler-appointment": true, "dx-scheduler-appointment-horizontal": !isVerticalDirection, "dx-scheduler-appointment-vertical": isVerticalDirection, "dx-scheduler-appointment-recurrence": isRecurrent, "dx-scheduler-all-day-appointment": allDay, "dx-scheduler-appointment-reduced": this.isReduced, "dx-scheduler-appointment-head": "head" === appointmentReduced, "dx-scheduler-appointment-body": "body" === appointmentReduced, "dx-scheduler-appointment-tail": "tail" === appointmentReduced }) } }, { key: "dateText", get: function() { return this.props.viewModel.info.dateText } }, { key: "data", get: function() { return { appointmentData: this.props.viewModel.info.appointment, targetedAppointmentData: this.props.viewModel.appointment } } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.appointmentTemplate, _this$props.groups, _this$props.hideReducedIconTooltip, _this$props.index, _this$props.onItemClick, _this$props.onItemDoubleClick, _this$props.showReducedIconTooltip, _this$props.viewModel, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return Appointment }(_inferno2.InfernoComponent); exports.Appointment = Appointment; Appointment.defaultProps = AppointmentProps }, 26011: /*!***********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/appointment/content/details/layout.js ***! \***********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.AppointmentDetailsProps = exports.AppointmentDetails = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _excluded = ["dateText"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(_ref) { var dateText = _ref.props.dateText; return (0, _inferno.createVNode)(1, "div", "dx-scheduler-appointment-content-details", (0, _inferno.createVNode)(1, "div", "dx-scheduler-appointment-content-date", dateText, 0), 2) }; exports.viewFunction = viewFunction; var AppointmentDetailsProps = { dateText: "" }; exports.AppointmentDetailsProps = AppointmentDetailsProps; var AppointmentDetails = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(AppointmentDetails, _BaseInfernoComponent); function AppointmentDetails(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = AppointmentDetails.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AppointmentDetails, [{ key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.dateText, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return AppointmentDetails }(_inferno2.BaseInfernoComponent); exports.AppointmentDetails = AppointmentDetails; AppointmentDetails.defaultProps = AppointmentDetailsProps }, 33830: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/appointment/content/layout.js ***! \***************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.AppointmentContentProps = exports.AppointmentContent = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _layout = __webpack_require__( /*! ./details/layout */ 26011); var _layout2 = __webpack_require__( /*! ./title/layout */ 69190); var _excluded = ["appointmentTemplate", "data", "dateText", "hideReducedIconTooltip", "index", "isRecurrent", "isReduced", "showReducedIconTooltip", "text"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var _ref$props = _ref.props, appointmentTemplate = _ref$props.appointmentTemplate, data = _ref$props.data, dateText = _ref$props.dateText, index = _ref$props.index, isRecurrent = _ref$props.isRecurrent, isReduced = _ref$props.isReduced, text = _ref$props.text, refReducedIcon = _ref.refReducedIcon; var AppointmentTemplate = appointmentTemplate; return (0, _inferno.createVNode)(1, "div", "dx-scheduler-appointment-content", appointmentTemplate ? AppointmentTemplate({ data: data, index: index }) : (0, _inferno.createFragment)([(0, _inferno.createComponentVNode)(2, _layout2.AppointmentTitle, { text: text }), (0, _inferno.createComponentVNode)(2, _layout.AppointmentDetails, { dateText: dateText }), isRecurrent && (0, _inferno.createVNode)(1, "div", "dx-scheduler-appointment-recurrence-icon dx-icon-repeat"), isReduced && (0, _inferno.createVNode)(1, "div", "dx-scheduler-appointment-reduced-icon", null, 1, null, null, refReducedIcon)], 0), 0) }; exports.viewFunction = viewFunction; var AppointmentContentProps = { text: "", dateText: "", isRecurrent: false, isReduced: false, index: 0 }; exports.AppointmentContentProps = AppointmentContentProps; var AppointmentContent = function(_InfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(AppointmentContent, _InfernoComponent); function AppointmentContent(props) { var _this; _this = _InfernoComponent.call(this, props) || this; _this.state = {}; _this.refReducedIcon = (0, _inferno.createRef)(); _this.bindHoverEffect = _this.bindHoverEffect.bind(_assertThisInitialized(_this)); _this.onReducedIconMouseEnter = _this.onReducedIconMouseEnter.bind(_assertThisInitialized(_this)); _this.onReducedIconMouseLeave = _this.onReducedIconMouseLeave.bind(_assertThisInitialized(_this)); return _this } var _proto = AppointmentContent.prototype; _proto.createEffects = function() { return [new _inferno2.InfernoEffect(this.bindHoverEffect, [this.props.showReducedIconTooltip, this.props.data, this.props.hideReducedIconTooltip])] }; _proto.updateEffects = function() { var _this$_effects$; null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.showReducedIconTooltip, this.props.data, this.props.hideReducedIconTooltip]) }; _proto.bindHoverEffect = function() { var _this$refReducedIcon$, _this$refReducedIcon$2, _this2 = this; var onMouseEnter = function() { return _this2.onReducedIconMouseEnter() }; var onMouseLeave = function() { return _this2.onReducedIconMouseLeave() }; null === (_this$refReducedIcon$ = this.refReducedIcon.current) || void 0 === _this$refReducedIcon$ ? void 0 : _this$refReducedIcon$.addEventListener("mouseenter", onMouseEnter); null === (_this$refReducedIcon$2 = this.refReducedIcon.current) || void 0 === _this$refReducedIcon$2 ? void 0 : _this$refReducedIcon$2.addEventListener("mouseleave", onMouseLeave); return function() { var _this2$refReducedIcon, _this2$refReducedIcon2; null === (_this2$refReducedIcon = _this2.refReducedIcon.current) || void 0 === _this2$refReducedIcon ? void 0 : _this2$refReducedIcon.removeEventListener("mouseenter", onMouseEnter); null === (_this2$refReducedIcon2 = _this2.refReducedIcon.current) || void 0 === _this2$refReducedIcon2 ? void 0 : _this2$refReducedIcon2.removeEventListener("mouseleave", onMouseLeave) } }; _proto.onReducedIconMouseEnter = function() { this.props.showReducedIconTooltip({ target: this.refReducedIcon.current, endDate: this.props.data.appointmentData.endDate }) }; _proto.onReducedIconMouseLeave = function() { this.props.hideReducedIconTooltip() }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { appointmentTemplate: (TemplateProp = props.appointmentTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), refReducedIcon: this.refReducedIcon, onReducedIconMouseEnter: this.onReducedIconMouseEnter, onReducedIconMouseLeave: this.onReducedIconMouseLeave, restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AppointmentContent, [{ key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.appointmentTemplate, _this$props.data, _this$props.dateText, _this$props.hideReducedIconTooltip, _this$props.index, _this$props.isRecurrent, _this$props.isReduced, _this$props.showReducedIconTooltip, _this$props.text, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return AppointmentContent }(_inferno2.InfernoComponent); exports.AppointmentContent = AppointmentContent; AppointmentContent.defaultProps = AppointmentContentProps }, 69190: /*!*********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/appointment/content/title/layout.js ***! \*********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.AppointmentTitleProps = exports.AppointmentTitle = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _excluded = ["text"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(_ref) { var text = _ref.props.text; return (0, _inferno.createVNode)(1, "div", "dx-scheduler-appointment-title", text, 0) }; exports.viewFunction = viewFunction; var AppointmentTitleProps = { text: "" }; exports.AppointmentTitleProps = AppointmentTitleProps; var AppointmentTitle = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(AppointmentTitle, _BaseInfernoComponent); function AppointmentTitle(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = AppointmentTitle.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AppointmentTitle, [{ key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.text, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return AppointmentTitle }(_inferno2.BaseInfernoComponent); exports.AppointmentTitle = AppointmentTitle; AppointmentTitle.defaultProps = AppointmentTitleProps }, 55304: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/appointment/layout.j.js ***! \*********************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../../core/component_registrator */ 99393)); var _component = _interopRequireDefault(__webpack_require__( /*! ../../../component_wrapper/common/component */ 27135)); var _layout = __webpack_require__( /*! ./layout */ 20695); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var AppointmentLayout = function(_BaseComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(AppointmentLayout, _BaseComponent); function AppointmentLayout() { return _BaseComponent.apply(this, arguments) || this }! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AppointmentLayout, [{ key: "_propsInfo", get: function() { return { twoWay: [], allowNull: [], elements: [], templates: [], props: ["isAllDay"] } } }, { key: "_viewComponent", get: function() { return _layout.AppointmentLayout } }]); return AppointmentLayout }(_component.default); exports.default = AppointmentLayout; (0, _component_registrator.default)("dxAppointmentLayout", AppointmentLayout); module.exports = exports.default; module.exports.default = exports.default }, 20695: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/appointment/layout.js ***! \*******************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.AppointmentLayoutProps = exports.AppointmentLayout = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _appointment = __webpack_require__( /*! ./appointment */ 35905); var _layout = __webpack_require__( /*! ./overflow_indicator/layout */ 99367); var _combine_classes = __webpack_require__( /*! ../../../utils/combine_classes */ 86237); var _appointments_context = __webpack_require__( /*! ../appointments_context */ 32125); var _subscribe_to_event = __webpack_require__( /*! ../../../utils/subscribe_to_event */ 19828); var _excluded = ["isAllDay"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var SELECTOR_appointment = ".dx-scheduler-appointment", SELECTOR_allDay = "dx-scheduler-all-day-appointment", SELECTOR_collector = "dx-scheduler-appointment-collector"; var viewFunction = function(_ref) { var appointments = _ref.appointments, _ref$appointmentsCont = _ref.appointmentsContextValue, appointmentTemplate = _ref$appointmentsCont.appointmentTemplate, groups = _ref$appointmentsCont.groups, hideReducedIconTooltip = _ref$appointmentsCont.hideReducedIconTooltip, onAppointmentClick = _ref$appointmentsCont.onAppointmentClick, onAppointmentDoubleClick = _ref$appointmentsCont.onAppointmentDoubleClick, overflowIndicatorTemplate = _ref$appointmentsCont.overflowIndicatorTemplate, showReducedIconTooltip = _ref$appointmentsCont.showReducedIconTooltip, classes = _ref.classes, layoutRef = _ref.layoutRef, overflowIndicators = _ref.overflowIndicators; return (0, _inferno.createVNode)(1, "div", classes, [appointments.map((function(item, index) { return (0, _inferno.createComponentVNode)(2, _appointment.Appointment, { viewModel: item, appointmentTemplate: appointmentTemplate, index: index, groups: groups, onItemClick: onAppointmentClick, onItemDoubleClick: onAppointmentDoubleClick, showReducedIconTooltip: showReducedIconTooltip, hideReducedIconTooltip: hideReducedIconTooltip }, item.key) })), overflowIndicators.map((function(item, index) { return (0, _inferno.createComponentVNode)(2, _layout.OverflowIndicator, { viewModel: item, groups: groups, overflowIndicatorTemplate: overflowIndicatorTemplate, "data-index": index }, item.key) }))], 0, null, null, layoutRef) }; exports.viewFunction = viewFunction; var AppointmentLayoutProps = { isAllDay: false }; exports.AppointmentLayoutProps = AppointmentLayoutProps; var AppointmentLayout = function(_InfernoWrapperCompon) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(AppointmentLayout, _InfernoWrapperCompon); function AppointmentLayout(props) { var _this; _this = _InfernoWrapperCompon.call(this, props) || this; _this.state = {}; _this.layoutRef = (0, _inferno.createRef)(); _this.__getterCache = {}; _this.pointerEventsEffect = _this.pointerEventsEffect.bind(_assertThisInitialized(_this)); _this.onAppointmentPointerDown = _this.onAppointmentPointerDown.bind(_assertThisInitialized(_this)); return _this } var _proto = AppointmentLayout.prototype; _proto.createEffects = function() { return [new _inferno2.InfernoEffect(this.pointerEventsEffect, [this.appointmentsContextValue]), (0, _inferno2.createReRenderEffect)()] }; _proto.updateEffects = function() { var _this$_effects$; null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.appointmentsContextValue]) }; _proto.pointerEventsEffect = function() { var _this2 = this; var disposePointerDown = (0, _subscribe_to_event.subscribeToDXPointerDownEvent)(this.layoutRef.current, (function(e) { return _this2.onAppointmentPointerDown(e) })); return function() { disposePointerDown() } }; _proto.onAppointmentPointerDown = function(e) { var appointmentElement = e.target.closest(SELECTOR_appointment); if (appointmentElement) { var index = appointmentElement.dataset.index; var focusedAppointmentIndex = index ? parseInt(index, 10) : -1; var isAllDay = appointmentElement.classList.contains(SELECTOR_allDay); var isCompact = appointmentElement.classList.contains(SELECTOR_collector); var typeMap = { allDayCompact: isAllDay && isCompact, allDay: isAllDay && !isCompact, regularCompact: !isAllDay && isCompact, regular: !isAllDay && !isCompact }; var appointmentType = Object.entries(typeMap).filter((function(item) { return item[1] }))[0][0]; this.appointmentsContextValue.updateFocusedAppointment(appointmentType, focusedAppointmentIndex) } }; _proto.componentWillUpdate = function(nextProps, nextState, context) { _InfernoWrapperCompon.prototype.componentWillUpdate.call(this); if (this.props.isAllDay !== nextProps.isAllDay || this.context[_appointments_context.AppointmentsContext.id] !== context[_appointments_context.AppointmentsContext.id]) { this.__getterCache.appointments = void 0 } if (this.props.isAllDay !== nextProps.isAllDay || this.context[_appointments_context.AppointmentsContext.id] !== context[_appointments_context.AppointmentsContext.id]) { this.__getterCache.overflowIndicators = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), layoutRef: this.layoutRef, appointmentsContextValue: this.appointmentsContextValue, classes: this.classes, appointments: this.appointments, overflowIndicators: this.overflowIndicators, onAppointmentPointerDown: this.onAppointmentPointerDown, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AppointmentLayout, [{ key: "appointmentsContextValue", get: function() { if (this.context[_appointments_context.AppointmentsContext.id]) { return this.context[_appointments_context.AppointmentsContext.id] } return _appointments_context.AppointmentsContext.defaultValue } }, { key: "classes", get: function() { var isAllDay = this.props.isAllDay; return (0, _combine_classes.combineClasses)({ "dx-scheduler-scrollable-appointments": !isAllDay, "dx-scheduler-all-day-appointments": isAllDay }) } }, { key: "appointments", get: function() { var _this3 = this; if (void 0 !== this.__getterCache.appointments) { return this.__getterCache.appointments } return this.__getterCache.appointments = function() { if (_this3.props.isAllDay) { return _this3.appointmentsContextValue.viewModel.allDay } return _this3.appointmentsContextValue.viewModel.regular }() } }, { key: "overflowIndicators", get: function() { var _this4 = this; if (void 0 !== this.__getterCache.overflowIndicators) { return this.__getterCache.overflowIndicators } return this.__getterCache.overflowIndicators = function() { if (_this4.props.isAllDay) { return _this4.appointmentsContextValue.viewModel.allDayCompact } return _this4.appointmentsContextValue.viewModel.regularCompact }() } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.isAllDay, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return AppointmentLayout }(_inferno2.InfernoWrapperComponent); exports.AppointmentLayout = AppointmentLayout; AppointmentLayout.defaultProps = AppointmentLayoutProps }, 99367: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/appointment/overflow_indicator/layout.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.OverflowIndicatorProps = exports.OverflowIndicator = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _combine_classes = __webpack_require__( /*! ../../../../utils/combine_classes */ 86237); var _button = __webpack_require__( /*! ../../../button */ 36729); var _utils = __webpack_require__( /*! ./utils */ 86553); var _message = (obj = __webpack_require__( /*! ../../../../../localization/message */ 28109), obj && obj.__esModule ? obj : { default: obj }); var obj; var _appointments_context = __webpack_require__( /*! ../../appointments_context */ 32125); var _utils2 = __webpack_require__( /*! ../utils */ 84154); var _excluded = ["groups", "overflowIndicatorTemplate", "viewModel"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var classes = _ref.classes, data = _ref.data, OverflowIndicatorTemplate = _ref.props.overflowIndicatorTemplate, styles = _ref.styles, text = _ref.text; return (0, _inferno.createComponentVNode)(2, _button.Button, { style: (0, _inferno2.normalizeStyles)(styles), className: classes, type: "default", stylingMode: "contained", children: OverflowIndicatorTemplate ? OverflowIndicatorTemplate({ data: data }) : (0, _inferno.createVNode)(1, "span", null, text, 0) }) }; exports.viewFunction = viewFunction; var OverflowIndicatorProps = {}; exports.OverflowIndicatorProps = OverflowIndicatorProps; var OverflowIndicator = function(_InfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(OverflowIndicator, _InfernoComponent); function OverflowIndicator(props) { var _this; _this = _InfernoComponent.call(this, props) || this; _this.state = { color: void 0 }; _this.updateStylesEffect = _this.updateStylesEffect.bind(function(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self }(_this)); return _this } var _proto = OverflowIndicator.prototype; _proto.createEffects = function() { return [new _inferno2.InfernoEffect(this.updateStylesEffect, [this.props.groups, this.props.viewModel, this.appointmentsContextValue])] }; _proto.updateEffects = function() { var _this$_effects$; null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.groups, this.props.viewModel, this.appointmentsContextValue]) }; _proto.updateStylesEffect = function() { var _this2 = this; var _this$props = this.props, groups = _this$props.groups, viewModel = _this$props.viewModel; (0, _utils.getIndicatorColor)(this.appointmentsContextValue, viewModel, groups).then((function(color) { _this2.setState((function(__state_argument) { return { color: color } })) })) }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { overflowIndicatorTemplate: (TemplateProp = props.overflowIndicatorTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), color: this.state.color, appointmentsContextValue: this.appointmentsContextValue, data: this.data, text: this.text, appointmentStyles: this.appointmentStyles, styles: this.styles, classes: this.classes, restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(OverflowIndicator, [{ key: "appointmentsContextValue", get: function() { if (this.context[_appointments_context.AppointmentsContext.id]) { return this.context[_appointments_context.AppointmentsContext.id] } return _appointments_context.AppointmentsContext.defaultValue } }, { key: "data", get: function() { return { appointmentCount: this.props.viewModel.items.settings.length, isCompact: this.props.viewModel.isCompact } } }, { key: "text", get: function() { var isCompact = this.props.viewModel.isCompact; var appointmentCount = this.data.appointmentCount; if (isCompact) { return "".concat(appointmentCount) } var formatter = _message.default.getFormatter("dxScheduler-moreAppointments"); return formatter(appointmentCount) } }, { key: "appointmentStyles", get: function() { return (0, _utils.getOverflowIndicatorStyles)(this.props.viewModel) } }, { key: "styles", get: function() { return (0, _utils2.mergeStylesWithColor)(this.state.color, this.appointmentStyles) } }, { key: "classes", get: function() { return (0, _combine_classes.combineClasses)({ "dx-scheduler-appointment-collector": true, "dx-scheduler-appointment-collector-compact": this.data.isCompact }) } }, { key: "restAttributes", get: function() { var _this$props2 = this.props, restProps = (_this$props2.groups, _this$props2.overflowIndicatorTemplate, _this$props2.viewModel, _objectWithoutProperties(_this$props2, _excluded)); return restProps } }]); return OverflowIndicator }(_inferno2.InfernoComponent); exports.OverflowIndicator = OverflowIndicator; OverflowIndicator.defaultProps = OverflowIndicatorProps }, 86553: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/appointment/overflow_indicator/utils.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getOverflowIndicatorStyles = exports.getOverflowIndicatorColor = exports.getIndicatorColor = void 0; var _utils = __webpack_require__( /*! ../../workspaces/utils */ 97205); var _utils2 = __webpack_require__( /*! ../../resources/utils */ 43450); exports.getOverflowIndicatorStyles = function(viewModel) { var _viewModel$geometry = viewModel.geometry, height = _viewModel$geometry.height, left = _viewModel$geometry.left, top = _viewModel$geometry.top, width = _viewModel$geometry.width; var result = (0, _utils.addToStyles)([{ attr: "left", value: "".concat(left, "px") }, { attr: "top", value: "".concat(top, "px") }, { attr: "width", value: "".concat(width, "px") }, { attr: "height", value: "".concat(height, "px") }, { attr: "boxShadow", value: "inset ".concat(width, "px 0 0 0 rgba(0, 0, 0, 0.3)") }]); return result }; exports.getOverflowIndicatorColor = function(color, colors) { return !colors.length || 0 === colors.filter((function(item) { return item !== color })).length ? color : void 0 }; exports.getIndicatorColor = function(appointmentContext, viewModel, groups) { var _viewModel$groupIndex; var groupIndex = null !== (_viewModel$groupIndex = viewModel.groupIndex) && void 0 !== _viewModel$groupIndex ? _viewModel$groupIndex : 0; var appointment = viewModel.items.settings[0].appointment; return (0, _utils2.getAppointmentColor)({ resources: appointmentContext.resources, resourceLoaderMap: appointmentContext.resourceLoaderMap, resourcesDataAccessors: appointmentContext.dataAccessors.resources, loadedResources: appointmentContext.loadedResources }, { itemData: appointment, groupIndex: groupIndex, groups: groups }) } }, 84154: /*!******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/appointment/utils.js ***! \******************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.mergeStylesWithColor = exports.getReducedIconTooltipText = exports.getAppointmentStyles = exports.getAppointmentKey = void 0; var _utils = __webpack_require__( /*! ../workspaces/utils */ 97205); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/date */ 91500)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } exports.getAppointmentStyles = function(viewModel) { var _viewModel$geometry = viewModel.geometry, height = _viewModel$geometry.height, left = _viewModel$geometry.left, top = _viewModel$geometry.top, width = _viewModel$geometry.width; return (0, _utils.addToStyles)([{ attr: "height", value: "".concat(height || 50, "px") }, { attr: "width", value: "".concat(width || 50, "px") }, { attr: "top", value: "".concat(top, "px") }, { attr: "left", value: "".concat(left, "px") }]) }; exports.getAppointmentKey = function(geometry) { var height = geometry.height, left = geometry.left, top = geometry.top, width = geometry.width; return "".concat(left, "-").concat(top, "-").concat(width, "-").concat(height) }; exports.getReducedIconTooltipText = function(endDate) { var tooltipLabel = _message.default.format("dxScheduler-editorLabelEndDate"); if (!endDate) { return tooltipLabel } var date = new Date(endDate); var monthAndDay = _date.default.format(date, "monthAndDay"); var year = _date.default.format(date, "year"); return "".concat(tooltipLabel, ": ").concat(monthAndDay, ", ").concat(year) }; exports.mergeStylesWithColor = function(color, styles) { return !color ? styles : (0, _utils.addToStyles)([{ attr: "backgroundColor", value: color }], styles) } }, 96801: /*!********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay.js ***! \********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getAppointmentTakesAllDay = void 0; var _type = __webpack_require__( /*! ../../../../../core/utils/type */ 35922); var _date = (obj = __webpack_require__( /*! ../../../../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var getAppointmentDurationInHours = function(startDate, endDate) { return (endDate.getTime() - startDate.getTime()) / _date.default.dateToMilliseconds("hour") }; exports.getAppointmentTakesAllDay = function(appointmentAdapter, viewStartDayHour, viewEndDayHour, allDayPanelMode) { var hasAllDay = function() { return appointmentAdapter.allDay }; switch (allDayPanelMode) { case "hidden": return false; case "allDay": return hasAllDay(); case "all": default: if (hasAllDay()) { return true } var endDate = appointmentAdapter.endDate, startDate = appointmentAdapter.startDate; if (!(0, _type.isDefined)(endDate)) { return false } var appointmentDurationInHours = getAppointmentDurationInHours(startDate, endDate); return appointmentDurationInHours >= 24 || function(startDate, endDate, viewStartDayHour, viewEndDayHour) { var appointmentDurationInHours = getAppointmentDurationInHours(startDate, endDate); var viewDurationInHours = viewEndDayHour - viewStartDayHour; var startDateHours = startDate.getHours(); var endDateHours = endDate.getHours(); return appointmentDurationInHours >= viewDurationInHours && startDateHours === viewStartDayHour && endDateHours === viewEndDayHour }(startDate, endDate, viewStartDayHour, viewEndDayHour) } } }, 51113: /*!***********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/appointment_edit_form/popup_config.js ***! \***********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.isPopupFullScreenNeeded = exports.getPopupToolbarItems = exports.getPopupSize = exports.getMaxWidth = exports.defaultAnimation = exports.POPUP_WIDTH = void 0; var _message = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/message */ 28109)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../../../core/devices */ 20530)); var _size = __webpack_require__( /*! ../../../../core/utils/size */ 58664); var _window = __webpack_require__( /*! ../../../../core/utils/window */ 58201); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var POPUP_WIDTH = { DEFAULT: 485, RECURRENCE: 970, FULLSCREEN: 1e3, MOBILE: { DEFAULT: 350, FULLSCREEN: 500 } }; exports.POPUP_WIDTH = POPUP_WIDTH; exports.defaultAnimation = { show: { type: "pop", duration: 300, from: { scale: .55 } }, hide: { type: "pop", duration: 300, to: { opacity: 0, scale: .55 }, from: { opacity: 1, scale: 1 } } }; var isMobile = function() { return "desktop" !== _devices.default.current().deviceType }; var TOOLBAR_LOCATION_AFTER = "after", TOOLBAR_LOCATION_BEFORE = "before"; exports.getPopupToolbarItems = function(allowUpdating, doneClick) { var result = []; var buttonsConfig = { doneButton: { shortcut: "done", options: { text: _message.default.format("Done") }, location: TOOLBAR_LOCATION_AFTER }, cancelButton: { shortcut: "cancel", location: "ios" === _devices.default.current().platform ? TOOLBAR_LOCATION_BEFORE : TOOLBAR_LOCATION_AFTER } }; if (allowUpdating) { result.push(_extends({}, buttonsConfig.doneButton, { onClick: doneClick })) } result.push(buttonsConfig.cancelButton); return result }; var isPopupFullScreenNeeded = function() { var window = (0, _window.getWindow)(); var width = window && (0, _size.getWidth)(window); if (width) { return isMobile() ? width < POPUP_WIDTH.MOBILE.FULLSCREEN : width < POPUP_WIDTH.FULLSCREEN } return false }; exports.isPopupFullScreenNeeded = isPopupFullScreenNeeded; var getMaxWidth = function(isRecurrence) { if (isMobile()) { return POPUP_WIDTH.MOBILE.DEFAULT } return isRecurrence ? POPUP_WIDTH.RECURRENCE : POPUP_WIDTH.DEFAULT }; exports.getMaxWidth = getMaxWidth; exports.getPopupSize = function(isRecurrence) { return { fullScreen: isPopupFullScreenNeeded(), maxWidth: getMaxWidth(isRecurrence) } } }, 32125: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/appointments_context.js ***! \*********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.AppointmentsContext = void 0; var _inferno = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var AppointmentsContext = (0, _inferno.createContext)(void 0); exports.AppointmentsContext = AppointmentsContext }, 4799: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/consts.js ***! \*******************************************************************************/ function(__unused_webpack_module, exports) { exports.VERTICAL_GROUP_ORIENTATION = exports.HORIZONTAL_GROUP_ORIENTATION = void 0; exports.VERTICAL_GROUP_ORIENTATION = "vertical"; exports.HORIZONTAL_GROUP_ORIENTATION = "horizontal" }, 17169: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/model/appointments.js ***! \*******************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getAppointmentsModel = exports.getAppointmentsConfig = exports.getAppointmentRenderingStrategyName = void 0; var _positionHelper = __webpack_require__( /*! ../../../../ui/scheduler/workspaces/helpers/positionHelper */ 69576); var _utils = __webpack_require__( /*! ../../../../ui/scheduler/resources/utils */ 98140); var _utils2 = __webpack_require__( /*! ../workspaces/utils */ 97205); var _date = (obj = __webpack_require__( /*! ../../../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var _base = __webpack_require__( /*! ../view_model/to_test/views/utils/base */ 45985); function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var getAppointmentRenderingStrategyName = function(viewType) { var renderingStrategy = { day: { renderingStrategy: "vertical" }, week: { renderingStrategy: "week" }, workWeek: { renderingStrategy: "week" }, month: { renderingStrategy: "horizontalMonth" }, timelineDay: { renderingStrategy: "horizontal" }, timelineWeek: { renderingStrategy: "horizontal" }, timelineWorkWeek: { renderingStrategy: "horizontal" }, timelineMonth: { renderingStrategy: "horizontalMonthLine" }, agenda: { renderingStrategy: "agenda" } } [viewType].renderingStrategy; return renderingStrategy }; exports.getAppointmentRenderingStrategyName = getAppointmentRenderingStrategyName; exports.getAppointmentsConfig = function(schedulerConfig, viewConfig, loadedResources, viewDataProvider, isAllDayPanelSupported) { var groupCount = (0, _utils.getGroupCount)(loadedResources); var startViewDate = viewDataProvider.getStartViewDate(); var dateRange = [startViewDate, viewDataProvider.getLastViewDateByEndDayHour(viewConfig.endDayHour)]; return { adaptivityEnabled: schedulerConfig.adaptivityEnabled, rtlEnabled: schedulerConfig.rtlEnabled, resources: schedulerConfig.resources, timeZone: schedulerConfig.timeZone, groups: schedulerConfig.groups, startDayHour: viewConfig.startDayHour, viewStartDayHour: viewConfig.startDayHour, endDayHour: viewConfig.endDayHour, viewEndDayHour: viewConfig.endDayHour, currentDate: viewConfig.currentDate, isVirtualScrolling: "virtual" === viewConfig.scrolling.mode, intervalCount: viewConfig.intervalCount, hoursInterval: viewConfig.hoursInterval, showAllDayPanel: viewConfig.showAllDayPanel, allDayPanelMode: viewConfig.allDayPanelMode, supportAllDayRow: isAllDayPanelSupported, groupOrientation: viewDataProvider.getViewOptions().groupOrientation, firstDayOfWeek: viewConfig.firstDayOfWeek, viewType: viewConfig.type, cellDurationInMinutes: viewConfig.cellDuration, maxAppointmentsPerCell: viewConfig.maxAppointmentsPerCell, isVerticalGroupOrientation: viewDataProvider.getViewOptions().isVerticalGrouping, groupByDate: viewDataProvider.getViewOptions().isGroupedByDate, startViewDate: startViewDate, loadedResources: loadedResources, appointmentCountPerCell: 2, appointmentOffset: 26, allowResizing: false, allowAllDayResizing: false, dateTableOffset: 0, groupCount: groupCount, dateRange: dateRange } }; exports.getAppointmentsModel = function(appointmentsConfig, viewDataProvider, timeZoneCalculator, dataAccessors, cellsMetaData) { var groupedByDate = (0, _utils2.isGroupingByDate)(appointmentsConfig.groups, appointmentsConfig.groupOrientation, appointmentsConfig.groupByDate); var groupCount = appointmentsConfig.groupCount, isVerticalGroupOrientation = appointmentsConfig.isVerticalGroupOrientation; var positionHelper = new _positionHelper.PositionHelper({ viewDataProvider: viewDataProvider, groupedByDate: groupedByDate, rtlEnabled: appointmentsConfig.rtlEnabled, groupCount: groupCount, isVerticalGrouping: groupCount && isVerticalGroupOrientation, getDOMMetaDataCallback: function() { return cellsMetaData } }); var isGroupedAllDayPanel = (0, _base.calculateIsGroupedAllDayPanel)(appointmentsConfig.loadedResources, appointmentsConfig.groupOrientation, appointmentsConfig.showAllDayPanel); var rowCount = viewDataProvider.getRowCount({ intervalCount: appointmentsConfig.intervalCount, currentDate: appointmentsConfig.currentDate, viewType: appointmentsConfig.viewType, hoursInterval: appointmentsConfig.hoursInterval, startDayHour: appointmentsConfig.startDayHour, endDayHour: appointmentsConfig.endDayHour }); var allDayHeight = (0, _positionHelper.getAllDayHeight)(appointmentsConfig.showAllDayPanel, appointmentsConfig.isVerticalGroupOrientation, cellsMetaData); var endViewDate = viewDataProvider.getLastCellEndDate(); var visibleDayDuration = viewDataProvider.getVisibleDayDuration(appointmentsConfig.startDayHour, appointmentsConfig.endDayHour, appointmentsConfig.hoursInterval); var _viewDataProvider$get = viewDataProvider.getViewOptions(), leftVirtualCellCount = _viewDataProvider$get.startCellIndex, topVirtualRowCount = _viewDataProvider$get.startRowIndex; var cellDuration = (0, _base.getCellDuration)(appointmentsConfig.viewType, appointmentsConfig.startDayHour, appointmentsConfig.endDayHour, appointmentsConfig.hoursInterval); var appointmentRenderingStrategyName = getAppointmentRenderingStrategyName(appointmentsConfig.viewType); return _extends({}, appointmentsConfig, { appointmentRenderingStrategyName: appointmentRenderingStrategyName, loadedResources: appointmentsConfig.loadedResources, dataAccessors: dataAccessors, timeZoneCalculator: timeZoneCalculator, viewDataProvider: viewDataProvider, positionHelper: positionHelper, isGroupedAllDayPanel: isGroupedAllDayPanel, rowCount: rowCount, cellWidth: (0, _positionHelper.getCellWidth)(cellsMetaData), cellHeight: (0, _positionHelper.getCellHeight)(cellsMetaData), allDayHeight: allDayHeight, isGroupedByDate: groupedByDate, endViewDate: endViewDate, visibleDayDuration: visibleDayDuration, intervalDuration: cellDuration, allDayIntervalDuration: (name = "day", _date.default.dateToMilliseconds(name)), leftVirtualCellCount: leftVirtualCellCount, topVirtualCellCount: topVirtualRowCount, cellDuration: cellDuration, resizableStep: positionHelper.getResizableStep(), DOMMetaData: cellsMetaData }); var name } }, 47718: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/model/views.js ***! \************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getValidGroups = exports.getCurrentViewProps = exports.getCurrentViewConfig = exports.getCurrentView = void 0; exports.getViewConfigProp = getViewConfigProp; var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _excluded = ["height", "scrolling", "width"]; function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var VIEW_TYPES = ["day", "week", "workWeek", "month", "timelineDay", "timelineWeek", "timelineWorkWeek", "timelineMonth", "agenda"]; var getCurrentView = function(currentView, views) { var currentViewProps = views.find((function(view) { var names = (0, _type.isObject)(view) ? [view.name, view.type] : [view]; if (names.includes(currentView)) { return true } return false })); if (void 0 === currentViewProps) { if (VIEW_TYPES.includes(currentView)) { currentViewProps = currentView } else { var _views = _slicedToArray(views, 1); currentViewProps = _views[0] } } return currentViewProps }; exports.getCurrentView = getCurrentView; exports.getCurrentViewProps = function(currentView, views) { var currentViewProps = getCurrentView(currentView, views); return (0, _type.isString)(currentViewProps) ? { type: currentViewProps } : currentViewProps }; function getViewConfigProp(schedulerProp, viewProp) { return void 0 !== viewProp ? viewProp : schedulerProp } exports.getCurrentViewConfig = function(currentViewProps, schedulerProps, currentDate) { schedulerProps.height; var schedulerScrolling = schedulerProps.scrolling, restSchedulerProps = (schedulerProps.width, _objectWithoutProperties(schedulerProps, _excluded)); var scrolling = currentViewProps.scrolling; var isVirtualScrolling = "virtual" === schedulerScrolling.mode || "virtual" === (null === scrolling || void 0 === scrolling ? void 0 : scrolling.mode); var crossScrollingEnabled = schedulerProps.crossScrollingEnabled || isVirtualScrolling; var result = _extends({ scrolling: schedulerScrolling }, restSchedulerProps, currentViewProps, { schedulerHeight: schedulerProps.height, schedulerWidth: schedulerProps.width, crossScrollingEnabled: crossScrollingEnabled, appointmentTemplate: currentViewProps.appointmentTemplate || restSchedulerProps.appointmentTemplate, dataCellTemplate: currentViewProps.dataCellTemplate || restSchedulerProps.dataCellTemplate, dateCellTemplate: currentViewProps.dateCellTemplate || restSchedulerProps.dateCellTemplate, timeCellTemplate: currentViewProps.timeCellTemplate || restSchedulerProps.timeCellTemplate, resourceCellTemplate: currentViewProps.resourceCellTemplate || restSchedulerProps.resourceCellTemplate, appointmentCollectorTemplate: currentViewProps.appointmentCollectorTemplate || restSchedulerProps.appointmentCollectorTemplate, appointmentTooltipTemplate: currentViewProps.appointmentTooltipTemplate || restSchedulerProps.appointmentTooltipTemplate, allDayPanelMode: currentViewProps.allDayPanelMode || restSchedulerProps.allDayPanelMode }); return _extends({}, result, { hoursInterval: result.cellDuration / 60, allDayPanelExpanded: true, allowMultipleCellSelection: true, currentDate: currentDate }) }; exports.getValidGroups = function(schedulerGroups, viewGroups) { return getViewConfigProp(schedulerGroups, viewGroups) } }, 31486: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/resources/hasResourceValue.js ***! \***************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.hasResourceValue = void 0; var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); exports.hasResourceValue = function(resourceValues, itemValue) { return (0, _type.isDefined)(resourceValues.find((function(value) { return (0, _common.equalByValue)(value, itemValue) }))) } }, 43450: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/resources/utils.js ***! \****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getAppointmentColor = void 0; var _utils = __webpack_require__( /*! ../../../../ui/scheduler/resources/utils */ 98140); function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } exports.getAppointmentColor = function(resourceConfig, appointmentConfig) { return (0, _utils.getAppointmentColor)(_extends({}, resourceConfig, { dataAccessors: resourceConfig.resourcesDataAccessors }), appointmentConfig) } }, 92198: /*!********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/timeZoneCalculator/createTimeZoneCalculator.js ***! \********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.createTimeZoneCalculator = void 0; var _utils = __webpack_require__( /*! ./utils */ 63660); var _utils2 = (obj = __webpack_require__( /*! ../../../../ui/scheduler/utils.timeZone */ 32511), obj && obj.__esModule ? obj : { default: obj }); var obj; exports.createTimeZoneCalculator = function(currentTimeZone) { return new _utils.TimeZoneCalculator({ getClientOffset: function(date) { return _utils2.default.getClientTimezoneOffset(date) }, tryGetCommonOffset: function(date) { return _utils2.default.calculateTimezoneByValue(currentTimeZone, date) }, tryGetAppointmentOffset: function(date, appointmentTimezone) { return _utils2.default.calculateTimezoneByValue(appointmentTimezone, date) } }) } }, 75296: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/timeZoneCalculator/types.js ***! \*************************************************************************************************/ function(__unused_webpack_module, exports) { exports.PathTimeZoneConversion = void 0; var PathTimeZoneConversion; exports.PathTimeZoneConversion = PathTimeZoneConversion; ! function(PathTimeZoneConversion) { PathTimeZoneConversion.fromSourceToAppointment = "toAppointment"; PathTimeZoneConversion.fromAppointmentToSource = "fromAppointment"; PathTimeZoneConversion.fromSourceToGrid = "toGrid"; PathTimeZoneConversion.fromGridToSource = "fromGrid" }(PathTimeZoneConversion || (exports.PathTimeZoneConversion = PathTimeZoneConversion = {})) }, 63660: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/timeZoneCalculator/utils.js ***! \*************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.TimeZoneCalculator = void 0; var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _date = (obj = __webpack_require__( /*! ../../../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var _types = __webpack_require__( /*! ./types */ 75296); var TimeZoneCalculator = function() { function TimeZoneCalculator(options) { this.options = options } var _proto = TimeZoneCalculator.prototype; _proto.createDate = function(sourceDate, info) { var date = new Date(sourceDate); switch (info.path) { case _types.PathTimeZoneConversion.fromSourceToAppointment: return this.getConvertedDate(date, info.appointmentTimeZone, true, false); case _types.PathTimeZoneConversion.fromAppointmentToSource: return this.getConvertedDate(date, info.appointmentTimeZone, true, true); case _types.PathTimeZoneConversion.fromSourceToGrid: return this.getConvertedDate(date, info.appointmentTimeZone, false, false); case _types.PathTimeZoneConversion.fromGridToSource: return this.getConvertedDate(date, info.appointmentTimeZone, false, true); default: throw new Error("not specified pathTimeZoneConversion") } }; _proto.getOffsets = function(date, appointmentTimezone) { var clientOffset = -this.getClientOffset(date) / _date.default.dateToMilliseconds("hour"); var commonOffset = this.getCommonOffset(date); var appointmentOffset = this.getAppointmentOffset(date, appointmentTimezone); return { client: clientOffset, common: !(0, _type.isDefined)(commonOffset) ? clientOffset : commonOffset, appointment: "number" !== typeof appointmentOffset ? clientOffset : appointmentOffset } }; _proto.getConvertedDateByOffsets = function(date, clientOffset, targetOffset, isBack) { var direction = isBack ? -1 : 1; var resultDate = new Date(date); resultDate.setMinutes(resultDate.getMinutes() - direction * (60 * clientOffset)); resultDate.setMinutes(resultDate.getMinutes() + direction * (60 * targetOffset)); return new Date(resultDate) }; _proto.getOriginStartDateOffsetInMs = function(date, timezone, isUTCDate) { var offsetInHours = this.getOffsetInHours(date, timezone, isUTCDate); return 36e5 * offsetInHours }; _proto.getOffsetInHours = function(date, timezone, isUTCDate) { var _this$getOffsets = this.getOffsets(date, timezone), appointment = _this$getOffsets.appointment, client = _this$getOffsets.client, common = _this$getOffsets.common; if (!!timezone && isUTCDate) { return appointment - client } if (!!timezone && !isUTCDate) { return appointment - common } if (!timezone && isUTCDate) { return common - client } return 0 }; _proto.getClientOffset = function(date) { return this.options.getClientOffset(date) }; _proto.getCommonOffset = function(date) { return this.options.tryGetCommonOffset(date) }; _proto.getAppointmentOffset = function(date, appointmentTimezone) { return this.options.tryGetAppointmentOffset(date, appointmentTimezone) }; _proto.getConvertedDate = function(date, appointmentTimezone, useAppointmentTimeZone, isBack) { var newDate = new Date(date.getTime()); var offsets = this.getOffsets(newDate, appointmentTimezone); if (useAppointmentTimeZone && !!appointmentTimezone) { return this.getConvertedDateByOffsets(date, offsets.client, offsets.appointment, isBack) } return this.getConvertedDateByOffsets(date, offsets.client, offsets.common, isBack) }; return TimeZoneCalculator }(); exports.TimeZoneCalculator = TimeZoneCalculator }, 46858: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/utils/data.js ***! \***********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.resolveDataItems = exports.getPreparedDataItems = void 0; var _utils = __webpack_require__( /*! ../../../../ui/scheduler/appointments/dataProvider/utils */ 11305); var _appointmentAdapter = __webpack_require__( /*! ../../../../ui/scheduler/appointmentAdapter */ 5480); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); exports.getPreparedDataItems = function(dataItems, dataAccessors, cellDurationInMinutes, timeZoneCalculator) { var result = []; null === dataItems || void 0 === dataItems ? void 0 : dataItems.forEach((function(rawAppointment) { var _recurrenceRule$match; var startDate = new Date(dataAccessors.getter.startDate(rawAppointment)); var endDate = new Date(dataAccessors.getter.endDate(rawAppointment)); (0, _utils.replaceWrongEndDate)(rawAppointment, startDate, endDate, cellDurationInMinutes, dataAccessors); var adapter = (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, dataAccessors, timeZoneCalculator); var comparableStartDate = adapter.startDate && adapter.calculateStartDate("toGrid"); var comparableEndDate = adapter.endDate && adapter.calculateEndDate("toGrid"); var regex = new RegExp("freq", "gi"); var recurrenceRule = adapter.recurrenceRule; var hasRecurrenceRule = !!(null !== recurrenceRule && void 0 !== recurrenceRule && null !== (_recurrenceRule$match = recurrenceRule.match(regex)) && void 0 !== _recurrenceRule$match && _recurrenceRule$match.length); var visible = (0, _type.isDefined)(rawAppointment.visible) ? !!rawAppointment.visible : true; if (comparableStartDate && comparableEndDate) { result.push({ allDay: !!adapter.allDay, startDate: comparableStartDate, startDateTimeZone: rawAppointment.startDateTimeZone, endDate: comparableEndDate, endDateTimeZone: rawAppointment.endDateTimeZone, recurrenceRule: adapter.recurrenceRule, recurrenceException: adapter.recurrenceException, hasRecurrenceRule: hasRecurrenceRule, visible: visible, rawAppointment: rawAppointment }) } })); return result }; exports.resolveDataItems = function(options) { return Array.isArray(options) ? options : options.data } }, 97601: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/utils/filtering/getDatesWithoutTime.js ***! \************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _date = (obj = __webpack_require__( /*! ../../../../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = function(min, max) { var newMin = _date.default.trimTime(min); var newMax = _date.default.trimTime(max); newMax.setDate(newMax.getDate() + 1); return [newMin, newMax] }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 17200: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/utils/filtering/remote.js ***! \***********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _common = __webpack_require__( /*! ../../../../../core/utils/common */ 20576); var _extend = __webpack_require__( /*! ../../../../../core/utils/extend */ 13306); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../../../../core/utils/date_serialization */ 69434)); var _type = __webpack_require__( /*! ../../../../../core/utils/type */ 35922); var _getDatesWithoutTime3 = _interopRequireDefault(__webpack_require__( /*! ./getDatesWithoutTime */ 97601)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var FilterPosition_dateFilter = 0, FilterPosition_userFilter = 1; var RemoteFilterCombiner = function() { function RemoteFilterCombiner(options) { this.options = options } var _proto = RemoteFilterCombiner.prototype; _proto.makeDateFilter = function(min, max) { var _this$dataAccessors$e = this.dataAccessors.expr, endDateExpr = _this$dataAccessors$e.endDateExpr, recurrenceRuleExpr = _this$dataAccessors$e.recurrenceRuleExpr, startDateExpr = _this$dataAccessors$e.startDateExpr; var dateFilter = [ [ [endDateExpr, ">=", min], [startDateExpr, "<", max] ], "or", [recurrenceRuleExpr, "startswith", "freq"], "or", [ [endDateExpr, min], [startDateExpr, min] ] ]; if (!recurrenceRuleExpr) { dateFilter.splice(1, 2) } return dateFilter }; _proto.combineFilters = function(dateFilter, userFilter) { var combinedFilter = []; dateFilter && combinedFilter.push(dateFilter); userFilter && combinedFilter.push(userFilter); return this.serializeRemoteFilter(combinedFilter) }; _proto.serializeRemoteFilter = function(combinedFilter) { if (!Array.isArray(combinedFilter)) { return combinedFilter } var _this$dataAccessors$e2 = this.dataAccessors.expr, endDateExpr = _this$dataAccessors$e2.endDateExpr, startDateExpr = _this$dataAccessors$e2.startDateExpr; var filter = (0, _extend.extend)([], combinedFilter); if ((0, _type.isString)(filter[0])) { if (this.forceIsoDateParsing && filter.length > 1) { if (filter[0] === startDateExpr || filter[0] === endDateExpr) { var lastFilterValue = filter[filter.length - 1]; filter[filter.length - 1] = _date_serialization.default.serializeDate(new Date(lastFilterValue), this.dateSerializationFormat) } } } for (var i = 0; i < filter.length; i += 1) { filter[i] = this.serializeRemoteFilter(filter[i]) } return filter }; _proto.getUserFilter = function(dateFilter) { if (!this.dataSourceFilter || (0, _common.equalByValue)(this.dataSourceFilter, dateFilter)) { return } var containsDateFilter = this.dataSourceFilter.length > 0 && (0, _common.equalByValue)(this.dataSourceFilter[FilterPosition_dateFilter], dateFilter); var userFilter = containsDateFilter ? this.dataSourceFilter[FilterPosition_userFilter] : this.dataSourceFilter; return userFilter }; _proto.combine = function(min, max) { var _getDatesWithoutTime = (0, _getDatesWithoutTime3.default)(min, max), _getDatesWithoutTime2 = _slicedToArray(_getDatesWithoutTime, 2), trimMin = _getDatesWithoutTime2[0], trimMax = _getDatesWithoutTime2[1]; var dateFilter = this.makeDateFilter(trimMin, trimMax); var userFilter = this.getUserFilter(dateFilter); var combinedFilter = this.combineFilters(dateFilter, userFilter); return combinedFilter }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(RemoteFilterCombiner, [{ key: "dataAccessors", get: function() { return this.options.dataAccessors } }, { key: "dataSourceFilter", get: function() { return this.options.dataSourceFilter } }, { key: "dateSerializationFormat", get: function() { return this.options.dateSerializationFormat } }, { key: "forceIsoDateParsing", get: function() { return (0, _type.isDefined)(this.options.forceIsoDateParsing) ? this.options.forceIsoDateParsing : true } }]); return RemoteFilterCombiner }(); var _default = function(options) { return new RemoteFilterCombiner(options).combine(options.min, options.max) }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 74951: /*!***************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/utils/recurrence/excludeFromRecurrence.js ***! \***************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.excludeFromRecurrence = void 0; var _appointmentAdapter = __webpack_require__( /*! ../../../../../ui/scheduler/appointmentAdapter */ 5480); var _date_serialization = (obj = __webpack_require__( /*! ../../../../../core/utils/date_serialization */ 69434), obj && obj.__esModule ? obj : { default: obj }); var obj; function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var UTC_FULL_DATE_FORMAT = "".concat("yyyyMMddTHHmmss", "Z"); var createRecurrenceException = function(appointmentAdapter, exceptionDate) { var result = []; if (appointmentAdapter.recurrenceException) { result.push(appointmentAdapter.recurrenceException) } result.push(function(date, startDate, isAllDay) { if (isAllDay) { date.setHours(startDate.getHours(), startDate.getMinutes(), startDate.getSeconds(), startDate.getMilliseconds()) } return _date_serialization.default.serializeDate(date, UTC_FULL_DATE_FORMAT) }(exceptionDate, appointmentAdapter.startDate, appointmentAdapter.allDay)); return result.join() }; exports.excludeFromRecurrence = function(appointment, exceptionDate, dataAccessors, timeZoneCalculator) { var appointmentAdapter = (0, _appointmentAdapter.createAppointmentAdapter)(_extends({}, appointment), dataAccessors, timeZoneCalculator); appointmentAdapter.recurrenceException = createRecurrenceException(appointmentAdapter, exceptionDate); return appointmentAdapter } }, 86303: /*!**************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/utils/semaphore/semaphore.js ***! \**************************************************************************************************/ function(__unused_webpack_module, exports) { exports.Semaphore = void 0; var Semaphore = function() { function Semaphore() { this.counter = 0 } var _proto = Semaphore.prototype; _proto.isFree = function() { return 0 === this.counter }; _proto.take = function() { this.counter += 1 }; _proto.release = function() { this.counter -= 1; if (this.counter < 0) { this.counter = 0 } }; return Semaphore }(); exports.Semaphore = Semaphore }, 37009: /*!*****************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/view_model/appointments/utils/getSkippedHoursInRange.js ***! \*****************************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _date = (obj = __webpack_require__( /*! ../../../../../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = function(startDate, endDate, viewDataProvider) { var msInHour = _date.default.dateToMilliseconds("hour"); var startTime = _date.default.trimTime(startDate).getTime(); var endTime = _date.default.setToDayEnd(new Date(endDate.getTime() - 1)).getTime(); var allDayIntervalDuration = 24 * msInHour; var excludedHours = 0; for (var time = startTime; time < endTime; time += allDayIntervalDuration) { var checkDate = new Date(time); if (viewDataProvider.isSkippedDate(checkDate)) { excludedHours += 24 } } return excludedHours }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 34854: /*!*****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/view_model/group_panel/utils.js ***! \*****************************************************************************************************/ function(__unused_webpack_module, exports) { exports.getGroupPanelData = void 0; function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } exports.getGroupPanelData = function(groups, columnCountPerGroup, groupByDate, baseColSpan) { var repeatCount = 1; var groupPanelItems = groups.map((function(group) { var result = []; var data = group.data, items = group.items, resourceName = group.name; var _loop = function(iterator) { result.push.apply(result, _toConsumableArray(items.map((function(_ref, index) { var color = _ref.color, id = _ref.id, text = _ref.text; return { id: id, text: text, color: color, key: "".concat(iterator, "_").concat(resourceName, "_").concat(id), resourceName: resourceName, data: null === data || void 0 === data ? void 0 : data[index] } })))) }; for (var iterator = 0; iterator < repeatCount; iterator += 1) { _loop(iterator) } repeatCount *= items.length; return result })); if (groupByDate) { groupPanelItems = function(groupRenderItems, columnCountPerGroup) { return _toConsumableArray(new Array(columnCountPerGroup)).reduce((function(currentGroupItems, _, index) { return groupRenderItems.map((function(groupsRow, rowIndex) { var currentRow = currentGroupItems[rowIndex] || []; return [].concat(_toConsumableArray(currentRow), _toConsumableArray(groupsRow.map((function(item, columnIndex) { return _extends({}, item, { key: "".concat(item.key, "_group_by_date_").concat(index), isFirstGroupCell: 0 === columnIndex, isLastGroupCell: columnIndex === groupsRow.length - 1 }) })))) })) }), []) }(groupPanelItems, columnCountPerGroup) } return { groupPanelItems: groupPanelItems, baseColSpan: baseColSpan } } }, 89206: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/view_model/to_test/views/utils/agenda.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.calculateStartViewDate = void 0; var _base = __webpack_require__( /*! ./base */ 45985); exports.calculateStartViewDate = function(currentDate, startDayHour) { var validCurrentDate = new Date(currentDate); return (0, _base.setOptionHour)(validCurrentDate, startDayHour) } }, 45985: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/view_model/to_test/views/utils/base.js ***! \************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.validateDayHours = exports.setOptionHour = exports.isTimelineView = exports.isHorizontalView = exports.isDateInRange = exports.isDateAndTimeView = exports.getViewStartByOptions = exports.getVerticalGroupCountClass = exports.getTotalRowCountByCompleteData = exports.getTotalCellCountByCompleteData = exports.getToday = exports.getStartViewDateWithoutDST = exports.getStartViewDateTimeOffset = exports.getHorizontalGroupCount = exports.getHeaderCellText = exports.getDisplayedRowCount = exports.getDisplayedCellCount = exports.getCellDuration = exports.getCalculatedFirstDayOfWeek = exports.formatWeekdayAndDay = exports.formatWeekday = exports.calculateViewStartDate = exports.calculateIsGroupedAllDayPanel = exports.calculateDayDuration = exports.calculateCellIndex = void 0; var _ui = _interopRequireDefault(__webpack_require__( /*! ../../../../../../../ui/widget/ui.errors */ 96688)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../../../../core/utils/date */ 91198)); var _type = __webpack_require__( /*! ../../../../../../../core/utils/type */ 35922); var _date2 = _interopRequireDefault(__webpack_require__( /*! ../../../../../../../localization/date */ 91500)); var _utils = _interopRequireDefault(__webpack_require__( /*! ../../../../../../../ui/scheduler/utils.timeZone */ 32511)); var _classes = __webpack_require__( /*! ../../../../../../../ui/scheduler/classes */ 62060); var _constants = __webpack_require__( /*! ../../../../../../../ui/scheduler/constants */ 27728); var _utils2 = __webpack_require__( /*! ../../../../../../../ui/scheduler/resources/utils */ 98140); var _utils3 = __webpack_require__( /*! ../../../../workspaces/utils */ 97205); var _const = __webpack_require__( /*! ./const */ 67786); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var isDateInRange = function(date, startDate, endDate, diff) { return diff > 0 ? _date.default.dateInRange(date, startDate, new Date(endDate.getTime() - 1)) : _date.default.dateInRange(date, endDate, startDate, "date") }; exports.isDateInRange = isDateInRange; exports.setOptionHour = function(date, optionHour) { var nextDate = new Date(date); if (!(0, _type.isDefined)(optionHour)) { return nextDate } nextDate.setHours(optionHour, optionHour % 1 * 60, 0, 0); return nextDate }; exports.getViewStartByOptions = function(startDate, currentDate, intervalDuration, startViewDate) { if (!startDate) { return new Date(currentDate) } var currentStartDate = _date.default.trimTime(startViewDate); var diff = currentStartDate.getTime() <= currentDate.getTime() ? 1 : -1; var endDate = new Date(currentStartDate.getTime() + intervalDuration * diff); while (!isDateInRange(currentDate, currentStartDate, endDate, diff)) { currentStartDate = endDate; endDate = new Date(currentStartDate.getTime() + intervalDuration * diff) } return diff > 0 ? currentStartDate : endDate }; exports.getCalculatedFirstDayOfWeek = function(firstDayOfWeekOption) { return (0, _type.isDefined)(firstDayOfWeekOption) ? firstDayOfWeekOption : _date2.default.firstDayOfWeekIndex() }; exports.calculateViewStartDate = function(startDateOption) { return startDateOption }; exports.calculateCellIndex = function(rowIndex, columnIndex, rowCount) { return columnIndex * rowCount + rowIndex }; exports.getStartViewDateWithoutDST = function(startViewDate, startDayHour) { var newStartViewDate = _utils.default.getDateWithoutTimezoneChange(startViewDate); newStartViewDate.setHours(startDayHour); return newStartViewDate }; exports.getHeaderCellText = function(headerIndex, date, headerCellTextFormat, getDateForHeaderText, additionalOptions) { var validDate = getDateForHeaderText(headerIndex, date, additionalOptions); return _date2.default.format(validDate, headerCellTextFormat) }; exports.validateDayHours = function(startDayHour, endDayHour) { if (startDayHour >= endDayHour) { throw _ui.default.Error("E1058") } }; exports.getStartViewDateTimeOffset = function(startViewDate, startDayHour) { var validStartDayHour = Math.floor(startDayHour); var isDSTChange = _utils.default.isTimezoneChangeInDate(startViewDate); if (isDSTChange && validStartDayHour !== startViewDate.getHours()) { return _date.default.dateToMilliseconds("hour") } return 0 }; var formatWeekday = function(date) { return _date2.default.getDayNames("abbreviated")[date.getDay()] }; exports.formatWeekday = formatWeekday; exports.formatWeekdayAndDay = function(date) { return "".concat(formatWeekday(date), " ").concat(_date2.default.format(date, "day")) }; exports.getToday = function(indicatorTime, timeZoneCalculator) { var todayDate = null !== indicatorTime && void 0 !== indicatorTime ? indicatorTime : new Date; return (null === timeZoneCalculator || void 0 === timeZoneCalculator ? void 0 : timeZoneCalculator.createDate(todayDate, { path: "toGrid" })) || todayDate }; exports.getVerticalGroupCountClass = function(groups) { switch (null === groups || void 0 === groups ? void 0 : groups.length) { case 1: return _classes.VERTICAL_GROUP_COUNT_CLASSES[0]; case 2: return _classes.VERTICAL_GROUP_COUNT_CLASSES[1]; case 3: return _classes.VERTICAL_GROUP_COUNT_CLASSES[2]; default: return } }; exports.isDateAndTimeView = function(viewType) { return viewType !== _constants.VIEWS.TIMELINE_MONTH && viewType !== _constants.VIEWS.MONTH }; exports.isTimelineView = function(viewType) { return !!_const.TIMELINE_VIEWS[viewType] }; exports.getHorizontalGroupCount = function(groups, groupOrientation) { var groupCount = (0, _utils2.getGroupCount)(groups) || 1; var isVerticalGrouping = (0, _utils3.isVerticalGroupingApplied)(groups, groupOrientation); return isVerticalGrouping ? 1 : groupCount }; exports.calculateIsGroupedAllDayPanel = function(groups, groupOrientation, isAllDayPanelVisible) { return (0, _utils3.isVerticalGroupingApplied)(groups, groupOrientation) && isAllDayPanelVisible }; var calculateDayDuration = function(startDayHour, endDayHour) { return endDayHour - startDayHour }; exports.calculateDayDuration = calculateDayDuration; exports.isHorizontalView = function(viewType) { switch (viewType) { case _constants.VIEWS.TIMELINE_DAY: case _constants.VIEWS.TIMELINE_WEEK: case _constants.VIEWS.TIMELINE_WORK_WEEK: case _constants.VIEWS.TIMELINE_MONTH: case _constants.VIEWS.MONTH: return true; default: return false } }; var getTotalCellCountByCompleteData = function(completeData) { return completeData[completeData.length - 1].length }; exports.getTotalCellCountByCompleteData = getTotalCellCountByCompleteData; var getTotalRowCountByCompleteData = function(completeData) { return completeData.length }; exports.getTotalRowCountByCompleteData = getTotalRowCountByCompleteData; exports.getDisplayedCellCount = function(displayedCellCount, completeData) { return null !== displayedCellCount && void 0 !== displayedCellCount ? displayedCellCount : getTotalCellCountByCompleteData(completeData) }; exports.getDisplayedRowCount = function(displayedRowCount, completeData) { return null !== displayedRowCount && void 0 !== displayedRowCount ? displayedRowCount : getTotalRowCountByCompleteData(completeData) }; exports.getCellDuration = function(viewType, startDayHour, endDayHour, hoursInterval) { switch (viewType) { case "month": return 36e5 * calculateDayDuration(startDayHour, endDayHour); case "timelineMonth": return _date.default.dateToMilliseconds("day"); default: return 36e5 * hoursInterval } } }, 67786: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/view_model/to_test/views/utils/const.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, exports) { exports.VIEWS = exports.TIMELINE_VIEWS = void 0; exports.VIEWS = { DAY: "day", WEEK: "week", WORK_WEEK: "workWeek", MONTH: "month", TIMELINE_DAY: "timelineDay", TIMELINE_WEEK: "timelineWeek", TIMELINE_WORK_WEEK: "timelineWorkWeek", TIMELINE_MONTH: "timelineMonth", AGENDA: "agenda" }; exports.TIMELINE_VIEWS = { timelineDay: true, timelineWeek: true, timelineWorkWeek: true, timelineMonth: true } }, 58824: /*!***********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/view_model/to_test/views/utils/day.js ***! \***********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.calculateStartViewDate = void 0; var _base = __webpack_require__( /*! ./base */ 45985); exports.calculateStartViewDate = function(currentDate, startDayHour, startDate, intervalDuration) { var firstViewDate = (0, _base.getViewStartByOptions)(startDate, currentDate, intervalDuration, startDate); return (0, _base.setOptionHour)(firstViewDate, startDayHour) } }, 19097: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/view_model/to_test/views/utils/month.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.isFirstCellInMonthWithIntervalCount = exports.getViewStartByOptions = exports.getCellText = exports.calculateStartViewDate = exports.calculateCellIndex = void 0; var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../../../../core/utils/date */ 91198)); var _date2 = _interopRequireDefault(__webpack_require__( /*! ../../../../../../../localization/date */ 91500)); var _base = __webpack_require__( /*! ./base */ 45985); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var getViewStartByOptions = function(startDate, currentDate, intervalCount, startViewDate) { if (!startDate) { return new Date(currentDate) } var currentStartDate = new Date(startViewDate); var validStartViewDate = new Date(startViewDate); var diff = currentStartDate.getTime() <= currentDate.getTime() ? 1 : -1; var endDate = new Date(new Date(validStartViewDate.setMonth(validStartViewDate.getMonth() + diff * intervalCount))); while (!(0, _base.isDateInRange)(currentDate, currentStartDate, endDate, diff)) { currentStartDate = new Date(endDate); if (diff > 0) { currentStartDate.setDate(1) } endDate = new Date(new Date(endDate.setMonth(endDate.getMonth() + diff * intervalCount))) } return diff > 0 ? currentStartDate : endDate }; exports.getViewStartByOptions = getViewStartByOptions; exports.calculateStartViewDate = function(currentDate, startDayHour, startDate, intervalCount, firstDayOfWeekOption) { var viewStart = getViewStartByOptions(startDate, currentDate, intervalCount, _date.default.getFirstMonthDate(startDate)); var firstMonthDate = _date.default.getFirstMonthDate(viewStart); var firstDayOfWeek = (0, _base.getCalculatedFirstDayOfWeek)(firstDayOfWeekOption); var firstViewDate = _date.default.getFirstWeekDate(firstMonthDate, firstDayOfWeek); return (0, _base.setOptionHour)(firstViewDate, startDayHour) }; exports.calculateCellIndex = function(rowIndex, columnIndex, _, columnCount) { return rowIndex * columnCount + columnIndex }; var isFirstCellInMonthWithIntervalCount = function(cellDate, intervalCount) { return 1 === cellDate.getDate() && intervalCount > 1 }; exports.isFirstCellInMonthWithIntervalCount = isFirstCellInMonthWithIntervalCount; exports.getCellText = function(date, intervalCount) { if (isFirstCellInMonthWithIntervalCount(date, intervalCount)) { var monthName = _date2.default.getMonthNames("abbreviated")[date.getMonth()]; return [monthName, _date2.default.format(date, "day")].join(" ") } return _date2.default.format(date, "dd") } }, 75481: /*!**********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/view_model/to_test/views/utils/timeline_month.js ***! \**********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.calculateStartViewDate = void 0; var _date = (obj = __webpack_require__( /*! ../../../../../../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var _base = __webpack_require__( /*! ./base */ 45985); var _month = __webpack_require__( /*! ./month */ 19097); exports.calculateStartViewDate = function(currentDate, startDayHour, startDate, intervalCount) { var firstViewDate = _date.default.getFirstMonthDate((0, _month.getViewStartByOptions)(startDate, currentDate, intervalCount, _date.default.getFirstMonthDate(startDate))); return (0, _base.setOptionHour)(firstViewDate, startDayHour) } }, 92956: /*!*********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/view_model/to_test/views/utils/timeline_week.js ***! \*********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getDateForHeaderText = void 0; var _utils = (obj = __webpack_require__( /*! ../../../../../../../ui/scheduler/utils.timeZone */ 32511), obj && obj.__esModule ? obj : { default: obj }); var obj; var _base = __webpack_require__( /*! ./base */ 45985); exports.getDateForHeaderText = function(index, date, options) { if (!_utils.default.isTimezoneChangeInDate(date)) { return date } var cellCountInDay = options.cellCountInDay, interval = options.interval, startDayHour = options.startDayHour, startViewDate = options.startViewDate; var result = (0, _base.getStartViewDateWithoutDST)(startViewDate, startDayHour); var validIndex = index % cellCountInDay; result.setTime(result.getTime() + validIndex * interval); return result } }, 34279: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/view_model/to_test/views/utils/week.js ***! \************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getValidStartDate = exports.getTimePanelCellText = exports.getIntervalDuration = exports.calculateViewStartDate = exports.calculateStartViewDate = void 0; var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../../../../core/utils/date */ 91198)); var _date2 = _interopRequireDefault(__webpack_require__( /*! ../../../../../../../localization/date */ 91500)); var _base = __webpack_require__( /*! ./base */ 45985); var _utils = _interopRequireDefault(__webpack_require__( /*! ../../../../../../../ui/scheduler/utils.timeZone */ 32511)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } exports.getIntervalDuration = function(intervalCount) { return 7 * _date.default.dateToMilliseconds("day") * intervalCount }; var getValidStartDate = function(startDate, firstDayOfWeek) { return startDate ? _date.default.getFirstWeekDate(startDate, firstDayOfWeek) : void 0 }; exports.getValidStartDate = getValidStartDate; exports.calculateStartViewDate = function(currentDate, startDayHour, startDate, intervalDuration, firstDayOfWeekOption) { var firstDayOfWeek = (0, _base.getCalculatedFirstDayOfWeek)(firstDayOfWeekOption); var viewStart = (0, _base.getViewStartByOptions)(startDate, currentDate, intervalDuration, getValidStartDate(startDate, firstDayOfWeek)); var firstViewDate = _date.default.getFirstWeekDate(viewStart, firstDayOfWeek); return (0, _base.setOptionHour)(firstViewDate, startDayHour) }; exports.calculateViewStartDate = function(startDateOption, firstDayOfWeek) { var validFirstDayOfWeek = null !== firstDayOfWeek && void 0 !== firstDayOfWeek ? firstDayOfWeek : _date2.default.firstDayOfWeekIndex(); return _date.default.getFirstWeekDate(startDateOption, validFirstDayOfWeek) }; exports.getTimePanelCellText = function(rowIndex, date, startViewDate, cellDuration, startDayHour) { if (rowIndex % 2 === 0) { var validDate = function(rowIndex, date, startViewDate, cellDuration, startDayHour) { if (!_utils.default.isTimezoneChangeInDate(date)) { return date } var startViewDateWithoutDST = _utils.default.getDateWithoutTimezoneChange(startViewDate); var result = new Date(startViewDateWithoutDST); var timeCellDuration = Math.round(cellDuration); var startViewDateOffset = (0, _base.getStartViewDateTimeOffset)(startViewDate, startDayHour); result.setMilliseconds(result.getMilliseconds() + timeCellDuration * rowIndex - startViewDateOffset); return result }(rowIndex, date, startViewDate, cellDuration, startDayHour); return _date2.default.format(validDate, "shorttime") } return "" } }, 83866: /*!*****************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/view_model/to_test/views/utils/work_week.js ***! \*****************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.isDataOnWeekend = exports.getWeekendsCount = exports.calculateStartViewDate = void 0; var _date = (obj = __webpack_require__( /*! ../../../../../../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var _base = __webpack_require__( /*! ./base */ 45985); var _week = __webpack_require__( /*! ./week */ 34279); var isDataOnWeekend = function(date) { var day = date.getDay(); return 6 === day || 0 === day }; exports.isDataOnWeekend = isDataOnWeekend; exports.getWeekendsCount = function(days) { return 2 * Math.floor(days / 7) }; exports.calculateStartViewDate = function(currentDate, startDayHour, startDate, intervalDuration, firstDayOfWeek) { var viewStart = (0, _base.getViewStartByOptions)(startDate, currentDate, intervalDuration, (0, _week.getValidStartDate)(startDate, firstDayOfWeek)); var firstViewDate = _date.default.getFirstWeekDate(viewStart, firstDayOfWeek); if (isDataOnWeekend(firstViewDate)) { var currentDay = firstViewDate.getDay(); var distance = (8 - currentDay) % 7; firstViewDate.setDate(firstViewDate.getDate() + distance) } return (0, _base.setOptionHour)(firstViewDate, startDayHour) } }, 35064: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/cell.js ***! \*********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.CellBaseProps = exports.CellBase = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _utils = __webpack_require__( /*! ../utils */ 97205); var _excluded = ["allDay", "ariaLabel", "children", "className", "contentTemplateProps", "endDate", "groupIndex", "groups", "index", "isFirstGroupCell", "isLastGroupCell", "startDate", "text"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(viewModel) { return (0, _inferno.createVNode)(1, "td", viewModel.classes, viewModel.props.children, 0, { "aria-label": viewModel.props.ariaLabel }) }; exports.viewFunction = viewFunction; var CellBaseProps = { className: "", isFirstGroupCell: false, isLastGroupCell: false, startDate: Object.freeze(new Date), endDate: Object.freeze(new Date), allDay: false, text: "", index: 0, contentTemplateProps: Object.freeze({ data: {}, index: 0 }) }; exports.CellBaseProps = CellBaseProps; var CellBase = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(CellBase, _BaseInfernoComponent); function CellBase(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = CellBase.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), classes: this.classes, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(CellBase, [{ key: "classes", get: function() { var _this$props = this.props, className = _this$props.className, isFirstGroupCell = _this$props.isFirstGroupCell, isLastGroupCell = _this$props.isLastGroupCell; return (0, _utils.getGroupCellClasses)(isFirstGroupCell, isLastGroupCell, className) } }, { key: "restAttributes", get: function() { var _this$props2 = this.props, restProps = (_this$props2.allDay, _this$props2.ariaLabel, _this$props2.children, _this$props2.className, _this$props2.contentTemplateProps, _this$props2.endDate, _this$props2.groupIndex, _this$props2.groups, _this$props2.index, _this$props2.isFirstGroupCell, _this$props2.isLastGroupCell, _this$props2.startDate, _this$props2.text, _objectWithoutProperties(_this$props2, _excluded)); return restProps } }]); return CellBase }(_inferno2.BaseInfernoComponent); exports.CellBase = CellBase; CellBase.defaultProps = CellBaseProps }, 50307: /*!**********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/cell.js ***! \**********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.AllDayPanelCell = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _const = __webpack_require__( /*! ../../../const */ 8936); var _cell = __webpack_require__( /*! ../cell */ 51430); var _excluded = ["allDay", "ariaLabel", "children", "className", "contentTemplateProps", "dataCellTemplate", "endDate", "firstDayOfMonth", "groupIndex", "groups", "index", "isFirstGroupCell", "isFocused", "isLastGroupCell", "isSelected", "otherMonth", "startDate", "text", "today"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var _ref$props = _ref.props, className = _ref$props.className, dataCellTemplate = _ref$props.dataCellTemplate, endDate = _ref$props.endDate, groupIndex = _ref$props.groupIndex, groups = _ref$props.groups, index = _ref$props.index, isFirstGroupCell = _ref$props.isFirstGroupCell, isFocused = _ref$props.isFocused, isLastGroupCell = _ref$props.isLastGroupCell, isSelected = _ref$props.isSelected, startDate = _ref$props.startDate; return (0, _inferno.createComponentVNode)(2, _cell.DateTableCellBase, { className: "".concat(_const.ALL_DAY_PANEL_CELL_CLASS, " ").concat(className), startDate: startDate, endDate: endDate, groups: groups, groupIndex: groupIndex, allDay: true, isFirstGroupCell: isFirstGroupCell, isLastGroupCell: isLastGroupCell, index: index, dataCellTemplate: dataCellTemplate, isSelected: isSelected, isFocused: isFocused }) }; exports.viewFunction = viewFunction; var AllDayPanelCell = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(AllDayPanelCell, _BaseInfernoComponent); function AllDayPanelCell(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = AllDayPanelCell.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { dataCellTemplate: (TemplateProp = props.dataCellTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AllDayPanelCell, [{ key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.allDay, _this$props.ariaLabel, _this$props.children, _this$props.className, _this$props.contentTemplateProps, _this$props.dataCellTemplate, _this$props.endDate, _this$props.firstDayOfMonth, _this$props.groupIndex, _this$props.groups, _this$props.index, _this$props.isFirstGroupCell, _this$props.isFocused, _this$props.isLastGroupCell, _this$props.isSelected, _this$props.otherMonth, _this$props.startDate, _this$props.text, _this$props.today, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return AllDayPanelCell }(_inferno2.BaseInfernoComponent); exports.AllDayPanelCell = AllDayPanelCell; AllDayPanelCell.defaultProps = _cell.DateTableCellBaseProps }, 38201: /*!*************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table.j.js ***! \*************************************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = (obj = __webpack_require__( /*! ../../../../../../../core/component_registrator */ 99393), obj && obj.__esModule ? obj : { default: obj }); var obj; var _date_table = __webpack_require__( /*! ../../../../../../component_wrapper/scheduler/date_table */ 15281); var _table = __webpack_require__( /*! ./table */ 31863); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var AllDayTable = function(_DateTable) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(AllDayTable, _DateTable); function AllDayTable() { return _DateTable.apply(this, arguments) || this }! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AllDayTable, [{ key: "_propsInfo", get: function() { return { twoWay: [], allowNull: [], elements: [], templates: ["dataCellTemplate"], props: ["viewData", "groupOrientation", "leftVirtualCellWidth", "rightVirtualCellWidth", "topVirtualRowHeight", "bottomVirtualRowHeight", "addDateTableClass", "addVerticalSizesClassToRows", "width", "dataCellTemplate"] } } }, { key: "_viewComponent", get: function() { return _table.AllDayTable } }]); return AllDayTable }(_date_table.DateTable); exports.default = AllDayTable; (0, _component_registrator.default)("dxAllDayTable", AllDayTable); module.exports = exports.default; module.exports.default = exports.default }, 31863: /*!***********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table.js ***! \***********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.AllDayTableProps = exports.AllDayTable = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _table = __webpack_require__( /*! ../../table */ 48868); var _table_body = __webpack_require__( /*! ./table_body */ 48713); var _layout_props = __webpack_require__( /*! ../../layout_props */ 71604); var _const = __webpack_require__( /*! ../../../const */ 8936); var _excluded = ["addDateTableClass", "addVerticalSizesClassToRows", "bottomVirtualRowHeight", "dataCellTemplate", "groupOrientation", "leftVirtualCellWidth", "rightVirtualCellWidth", "tableRef", "topVirtualRowHeight", "viewData", "width"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var allDayPanelData = _ref.allDayPanelData, emptyTableHeight = _ref.emptyTableHeight, _ref$props = _ref.props, dataCellTemplate = _ref$props.dataCellTemplate, tableRef = _ref$props.tableRef, viewData = _ref$props.viewData, width = _ref$props.width; return (0, _inferno.createComponentVNode)(2, _table.Table, { className: "dx-scheduler-all-day-table", height: emptyTableHeight, width: width, tableRef: tableRef, children: (0, _inferno.createComponentVNode)(2, _table_body.AllDayPanelTableBody, { viewData: allDayPanelData, leftVirtualCellWidth: viewData.leftVirtualCellWidth, rightVirtualCellWidth: viewData.rightVirtualCellWidth, leftVirtualCellCount: viewData.leftVirtualCellCount, rightVirtualCellCount: viewData.rightVirtualCellCount, dataCellTemplate: dataCellTemplate }) }) }; exports.viewFunction = viewFunction; var AllDayTableProps = _layout_props.LayoutProps; exports.AllDayTableProps = AllDayTableProps; var AllDayTable = function(_InfernoWrapperCompon) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(AllDayTable, _InfernoWrapperCompon); function AllDayTable(props) { var _this; _this = _InfernoWrapperCompon.call(this, props) || this; _this.state = {}; _this.__getterCache = {}; return _this } var _proto = AllDayTable.prototype; _proto.createEffects = function() { return [(0, _inferno2.createReRenderEffect)()] }; _proto.componentWillUpdate = function(nextProps, nextState, context) { _InfernoWrapperCompon.prototype.componentWillUpdate.call(this); if (this.props.viewData !== nextProps.viewData) { this.__getterCache.allDayPanelData = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { dataCellTemplate: (TemplateProp = props.dataCellTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), allDayPanelData: this.allDayPanelData, emptyTableHeight: this.emptyTableHeight, restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AllDayTable, [{ key: "allDayPanelData", get: function() { var _this2 = this; if (void 0 !== this.__getterCache.allDayPanelData) { return this.__getterCache.allDayPanelData } return this.__getterCache.allDayPanelData = _this2.props.viewData.groupedData[0].allDayPanel } }, { key: "emptyTableHeight", get: function() { return this.allDayPanelData ? void 0 : _const.DefaultSizes.allDayPanelHeight } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.addDateTableClass, _this$props.addVerticalSizesClassToRows, _this$props.bottomVirtualRowHeight, _this$props.dataCellTemplate, _this$props.groupOrientation, _this$props.leftVirtualCellWidth, _this$props.rightVirtualCellWidth, _this$props.tableRef, _this$props.topVirtualRowHeight, _this$props.viewData, _this$props.width, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return AllDayTable }(_inferno2.InfernoWrapperComponent); exports.AllDayTable = AllDayTable; AllDayTable.defaultProps = AllDayTableProps }, 48713: /*!****************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table_body.js ***! \****************************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.AllDayPanelTableBodyProps = exports.AllDayPanelTableBody = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _row = __webpack_require__( /*! ../../row */ 14364); var _cell = __webpack_require__( /*! ./cell */ 50307); var _combine_classes = __webpack_require__( /*! ../../../../../../utils/combine_classes */ 86237); var _excluded = ["className", "dataCellTemplate", "isVerticalGroupOrientation", "leftVirtualCellCount", "leftVirtualCellWidth", "rightVirtualCellCount", "rightVirtualCellWidth", "viewData"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(viewModel) { return (0, _inferno.createComponentVNode)(2, _row.Row, { leftVirtualCellWidth: viewModel.props.leftVirtualCellWidth, rightVirtualCellWidth: viewModel.props.rightVirtualCellWidth, leftVirtualCellCount: viewModel.props.leftVirtualCellCount, rightVirtualCellCount: viewModel.props.rightVirtualCellCount, className: viewModel.classes, children: viewModel.props.viewData.map((function(_ref) { var endDate = _ref.endDate, cellGroupIndex = _ref.groupIndex, groups = _ref.groups, cellIndex = _ref.index, isFirstGroupCell = _ref.isFirstGroupCell, isFocused = _ref.isFocused, isLastGroupCell = _ref.isLastGroupCell, isSelected = _ref.isSelected, key = _ref.key, startDate = _ref.startDate; return (0, _inferno.createComponentVNode)(2, _cell.AllDayPanelCell, { isFirstGroupCell: !viewModel.props.isVerticalGroupOrientation && isFirstGroupCell, isLastGroupCell: !viewModel.props.isVerticalGroupOrientation && isLastGroupCell, startDate: startDate, endDate: endDate, groups: groups, groupIndex: cellGroupIndex, index: cellIndex, dataCellTemplate: viewModel.props.dataCellTemplate, isSelected: isSelected, isFocused: isFocused }, key) })) }) }; exports.viewFunction = viewFunction; var AllDayPanelTableBodyProps = { viewData: Object.freeze([]), isVerticalGroupOrientation: false, className: "", leftVirtualCellWidth: 0, rightVirtualCellWidth: 0 }; exports.AllDayPanelTableBodyProps = AllDayPanelTableBodyProps; var AllDayPanelTableBody = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(AllDayPanelTableBody, _BaseInfernoComponent); function AllDayPanelTableBody(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = AllDayPanelTableBody.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { dataCellTemplate: (TemplateProp = props.dataCellTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), classes: this.classes, restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AllDayPanelTableBody, [{ key: "classes", get: function() { var className = this.props.className; return (0, _combine_classes.combineClasses)(function(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj }({ "dx-scheduler-all-day-table-row": true }, className, !!className)) } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.className, _this$props.dataCellTemplate, _this$props.isVerticalGroupOrientation, _this$props.leftVirtualCellCount, _this$props.leftVirtualCellWidth, _this$props.rightVirtualCellCount, _this$props.rightVirtualCellWidth, _this$props.viewData, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return AllDayPanelTableBody }(_inferno2.BaseInfernoComponent); exports.AllDayPanelTableBody = AllDayPanelTableBody; AllDayPanelTableBody.defaultProps = AllDayPanelTableBodyProps }, 2931: /*!*************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/title.j.js ***! \*************************************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../../../../../core/component_registrator */ 99393)); var _component = _interopRequireDefault(__webpack_require__( /*! ../../../../../../component_wrapper/common/component */ 27135)); var _title = __webpack_require__( /*! ./title */ 7149); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var AllDayPanelTitle = function(_BaseComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(AllDayPanelTitle, _BaseComponent); function AllDayPanelTitle() { return _BaseComponent.apply(this, arguments) || this }! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AllDayPanelTitle, [{ key: "_propsInfo", get: function() { return { twoWay: [], allowNull: [], elements: [], templates: [], props: [] } } }, { key: "_viewComponent", get: function() { return _title.AllDayPanelTitle } }]); return AllDayPanelTitle }(_component.default); exports.default = AllDayPanelTitle; (0, _component_registrator.default)("dxAllDayPanelTitle", AllDayPanelTitle); module.exports = exports.default; module.exports.default = exports.default }, 7149: /*!***********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/title.js ***! \***********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.AllDayPanelTitleProps = exports.AllDayPanelTitle = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _message = (obj = __webpack_require__( /*! ../../../../../../../localization/message */ 28109), obj && obj.__esModule ? obj : { default: obj }); var obj; function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(viewModel) { return (0, _inferno.createVNode)(1, "div", "dx-scheduler-all-day-title", viewModel.text, 0) }; exports.viewFunction = viewFunction; var AllDayPanelTitleProps = {}; exports.AllDayPanelTitleProps = AllDayPanelTitleProps; var AllDayPanelTitle = function(_InfernoWrapperCompon) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(AllDayPanelTitle, _InfernoWrapperCompon); function AllDayPanelTitle(props) { var _this; _this = _InfernoWrapperCompon.call(this, props) || this; _this.state = {}; return _this } var _proto = AllDayPanelTitle.prototype; _proto.createEffects = function() { return [(0, _inferno2.createReRenderEffect)()] }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), text: this.text, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AllDayPanelTitle, [{ key: "text", get: function() { return _message.default.format("dxScheduler-allDay") } }, { key: "restAttributes", get: function() { var restProps = _extends({}, (function(obj) { if (null == obj) { throw new TypeError("Cannot destructure " + obj) } }(this.props), this.props)); return restProps } }]); return AllDayPanelTitle }(_inferno2.InfernoWrapperComponent); exports.AllDayPanelTitle = AllDayPanelTitle; AllDayPanelTitle.defaultProps = AllDayPanelTitleProps }, 51430: /*!********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/date_table/cell.js ***! \********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.DateTableCellBaseProps = exports.DateTableCellBase = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _cell = __webpack_require__( /*! ../cell */ 35064); var _combine_classes = __webpack_require__( /*! ../../../../../utils/combine_classes */ 86237); var _const = __webpack_require__( /*! ../../const */ 8936); var _excluded = ["allDay", "ariaLabel", "children", "className", "contentTemplateProps", "dataCellTemplate", "endDate", "firstDayOfMonth", "groupIndex", "groups", "index", "isFirstGroupCell", "isFocused", "isLastGroupCell", "isSelected", "otherMonth", "startDate", "text", "today"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var ariaLabel = _ref.ariaLabel, classes = _ref.classes, dataCellTemplateProps = _ref.dataCellTemplateProps, _ref$props = _ref.props, children = _ref$props.children, DataCellTemplate = _ref$props.dataCellTemplate, isFirstGroupCell = _ref$props.isFirstGroupCell, isLastGroupCell = _ref$props.isLastGroupCell; return (0, _inferno.createComponentVNode)(2, _cell.CellBase, { isFirstGroupCell: isFirstGroupCell, isLastGroupCell: isLastGroupCell, className: classes, ariaLabel: ariaLabel, children: [!DataCellTemplate && children, !!DataCellTemplate && DataCellTemplate({ index: dataCellTemplateProps.index, data: dataCellTemplateProps.data })] }) }; exports.viewFunction = viewFunction; var DateTableCellBaseProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_cell.CellBaseProps), Object.getOwnPropertyDescriptors({ otherMonth: false, today: false, firstDayOfMonth: false, isSelected: false, isFocused: false }))); exports.DateTableCellBaseProps = DateTableCellBaseProps; var DateTableCellBase = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DateTableCellBase, _BaseInfernoComponent); function DateTableCellBase(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; _this.__getterCache = {}; return _this } var _proto = DateTableCellBase.prototype; _proto.componentWillUpdate = function(nextProps, nextState, context) { if (this.props.allDay !== nextProps.allDay || this.props.contentTemplateProps !== nextProps.contentTemplateProps || this.props.endDate !== nextProps.endDate || this.props.groupIndex !== nextProps.groupIndex || this.props.groups !== nextProps.groups || this.props.index !== nextProps.index || this.props.startDate !== nextProps.startDate) { this.__getterCache.dataCellTemplateProps = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { dataCellTemplate: (TemplateProp = props.dataCellTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), classes: this.classes, dataCellTemplateProps: this.dataCellTemplateProps, ariaLabel: this.ariaLabel, restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(DateTableCellBase, [{ key: "classes", get: function() { var _combineClasses; var _this$props = this.props, allDay = _this$props.allDay, className = _this$props.className, isFocused = _this$props.isFocused, isSelected = _this$props.isSelected; return (0, _combine_classes.combineClasses)((_combineClasses = { "dx-scheduler-cell-sizes-horizontal": true, "dx-scheduler-cell-sizes-vertical": !allDay }, _defineProperty(_combineClasses, _const.DATE_TABLE_CELL_CLASS, !allDay), _defineProperty(_combineClasses, "dx-state-focused", isSelected), _defineProperty(_combineClasses, "dx-scheduler-focused-cell", isFocused), _defineProperty(_combineClasses, className, true), _combineClasses)) } }, { key: "dataCellTemplateProps", get: function() { var _this2 = this; if (void 0 !== this.__getterCache.dataCellTemplateProps) { return this.__getterCache.dataCellTemplateProps } return this.__getterCache.dataCellTemplateProps = (_this2$props = _this2.props, allDay = _this2$props.allDay, contentTemplateProps = _this2$props.contentTemplateProps, endDate = _this2$props.endDate, groupIndex = _this2$props.groupIndex, groups = _this2$props.groups, index = _this2$props.index, startDate = _this2$props.startDate, { data: _extends({ startDate: startDate, endDate: endDate, groups: groups, groupIndex: groups ? groupIndex : void 0, text: "", allDay: !!allDay || void 0 }, contentTemplateProps.data), index: index }); var _this2$props, allDay, contentTemplateProps, endDate, groupIndex, groups, index, startDate } }, { key: "ariaLabel", get: function() { return this.props.isSelected ? "Add appointment" : void 0 } }, { key: "restAttributes", get: function() { var _this$props2 = this.props, restProps = (_this$props2.allDay, _this$props2.ariaLabel, _this$props2.children, _this$props2.className, _this$props2.contentTemplateProps, _this$props2.dataCellTemplate, _this$props2.endDate, _this$props2.firstDayOfMonth, _this$props2.groupIndex, _this$props2.groups, _this$props2.index, _this$props2.isFirstGroupCell, _this$props2.isFocused, _this$props2.isLastGroupCell, _this$props2.isSelected, _this$props2.otherMonth, _this$props2.startDate, _this$props2.text, _this$props2.today, _objectWithoutProperties(_this$props2, _excluded)); return restProps } }]); return DateTableCellBase }(_inferno2.BaseInfernoComponent); exports.DateTableCellBase = DateTableCellBase; DateTableCellBase.defaultProps = DateTableCellBaseProps }, 40181: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/date_table/layout.j.js ***! \************************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = (obj = __webpack_require__( /*! ../../../../../../core/component_registrator */ 99393), obj && obj.__esModule ? obj : { default: obj }); var obj; var _date_table = __webpack_require__( /*! ../../../../../component_wrapper/scheduler/date_table */ 15281); var _layout = __webpack_require__( /*! ./layout */ 96941); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DateTableLayoutBase = function(_DateTable) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DateTableLayoutBase, _DateTable); function DateTableLayoutBase() { return _DateTable.apply(this, arguments) || this }! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(DateTableLayoutBase, [{ key: "_propsInfo", get: function() { return { twoWay: [], allowNull: [], elements: [], templates: ["cellTemplate", "dataCellTemplate"], props: ["cellTemplate", "viewData", "groupOrientation", "leftVirtualCellWidth", "rightVirtualCellWidth", "topVirtualRowHeight", "bottomVirtualRowHeight", "addDateTableClass", "addVerticalSizesClassToRows", "width", "dataCellTemplate"] } } }, { key: "_viewComponent", get: function() { return _layout.DateTableLayoutBase } }]); return DateTableLayoutBase }(_date_table.DateTable); exports.default = DateTableLayoutBase; (0, _component_registrator.default)("dxDateTableLayoutBase", DateTableLayoutBase); module.exports = exports.default; module.exports.default = exports.default }, 96941: /*!**********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/date_table/layout.js ***! \**********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.DateTableLayoutProps = exports.DateTableLayoutBase = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _table = __webpack_require__( /*! ../table */ 48868); var _table_body = __webpack_require__( /*! ./table_body */ 13552); var _layout_props = __webpack_require__( /*! ../layout_props */ 71604); var _cell = __webpack_require__( /*! ./cell */ 51430); var _excluded = ["addDateTableClass", "addVerticalSizesClassToRows", "bottomVirtualRowHeight", "cellTemplate", "dataCellTemplate", "groupOrientation", "leftVirtualCellWidth", "rightVirtualCellWidth", "tableRef", "topVirtualRowHeight", "viewData", "width"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var bottomVirtualRowHeight = _ref.bottomVirtualRowHeight, classes = _ref.classes, leftVirtualCellWidth = _ref.leftVirtualCellWidth, _ref$props = _ref.props, addVerticalSizesClassToRows = _ref$props.addVerticalSizesClassToRows, cellTemplate = _ref$props.cellTemplate, dataCellTemplate = _ref$props.dataCellTemplate, groupOrientation = _ref$props.groupOrientation, tableRef = _ref$props.tableRef, viewData = _ref$props.viewData, width = _ref$props.width, restAttributes = _ref.restAttributes, rightVirtualCellWidth = _ref.rightVirtualCellWidth, topVirtualRowHeight = _ref.topVirtualRowHeight, virtualCellsCount = _ref.virtualCellsCount; return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _table.Table, _extends({}, restAttributes, { tableRef: tableRef, topVirtualRowHeight: topVirtualRowHeight, bottomVirtualRowHeight: bottomVirtualRowHeight, leftVirtualCellWidth: leftVirtualCellWidth, rightVirtualCellWidth: rightVirtualCellWidth, leftVirtualCellCount: viewData.leftVirtualCellCount, rightVirtualCellCount: viewData.rightVirtualCellCount, virtualCellsCount: virtualCellsCount, className: classes, width: width, children: (0, _inferno.createComponentVNode)(2, _table_body.DateTableBody, { cellTemplate: cellTemplate, viewData: viewData, dataCellTemplate: dataCellTemplate, leftVirtualCellWidth: leftVirtualCellWidth, rightVirtualCellWidth: rightVirtualCellWidth, groupOrientation: groupOrientation, addVerticalSizesClassToRows: addVerticalSizesClassToRows }) }))) }; exports.viewFunction = viewFunction; var DateTableLayoutProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_layout_props.LayoutProps), Object.getOwnPropertyDescriptors({ cellTemplate: _cell.DateTableCellBase }))); exports.DateTableLayoutProps = DateTableLayoutProps; var getTemplate = function(TemplateProp) { return TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp) }; var DateTableLayoutBase = function(_InfernoWrapperCompon) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DateTableLayoutBase, _InfernoWrapperCompon); function DateTableLayoutBase(props) { var _this; _this = _InfernoWrapperCompon.call(this, props) || this; _this.state = {}; return _this } var _proto = DateTableLayoutBase.prototype; _proto.createEffects = function() { return [(0, _inferno2.createReRenderEffect)()] }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { cellTemplate: getTemplate(props.cellTemplate), dataCellTemplate: getTemplate(props.dataCellTemplate) }), classes: this.classes, topVirtualRowHeight: this.topVirtualRowHeight, bottomVirtualRowHeight: this.bottomVirtualRowHeight, leftVirtualCellWidth: this.leftVirtualCellWidth, rightVirtualCellWidth: this.rightVirtualCellWidth, virtualCellsCount: this.virtualCellsCount, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(DateTableLayoutBase, [{ key: "classes", get: function() { var addDateTableClass = this.props.addDateTableClass; return addDateTableClass ? "dx-scheduler-date-table" : void 0 } }, { key: "topVirtualRowHeight", get: function() { var _this$props$viewData$; return null !== (_this$props$viewData$ = this.props.viewData.topVirtualRowHeight) && void 0 !== _this$props$viewData$ ? _this$props$viewData$ : 0 } }, { key: "bottomVirtualRowHeight", get: function() { var _this$props$viewData$2; return null !== (_this$props$viewData$2 = this.props.viewData.bottomVirtualRowHeight) && void 0 !== _this$props$viewData$2 ? _this$props$viewData$2 : 0 } }, { key: "leftVirtualCellWidth", get: function() { var _this$props$viewData$3; return null !== (_this$props$viewData$3 = this.props.viewData.leftVirtualCellWidth) && void 0 !== _this$props$viewData$3 ? _this$props$viewData$3 : 0 } }, { key: "rightVirtualCellWidth", get: function() { var _this$props$viewData$4; return null !== (_this$props$viewData$4 = this.props.viewData.rightVirtualCellWidth) && void 0 !== _this$props$viewData$4 ? _this$props$viewData$4 : 0 } }, { key: "virtualCellsCount", get: function() { return this.props.viewData.groupedData[0].dateTable[0].cells.length } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.addDateTableClass, _this$props.addVerticalSizesClassToRows, _this$props.bottomVirtualRowHeight, _this$props.cellTemplate, _this$props.dataCellTemplate, _this$props.groupOrientation, _this$props.leftVirtualCellWidth, _this$props.rightVirtualCellWidth, _this$props.tableRef, _this$props.topVirtualRowHeight, _this$props.viewData, _this$props.width, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return DateTableLayoutBase }(_inferno2.InfernoWrapperComponent); exports.DateTableLayoutBase = DateTableLayoutBase; DateTableLayoutBase.defaultProps = DateTableLayoutProps }, 13552: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/date_table/table_body.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.DateTableBodyProps = exports.DateTableBody = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _row = __webpack_require__( /*! ../row */ 14364); var _table_body = __webpack_require__( /*! ./all_day_panel/table_body */ 48713); var _layout_props = __webpack_require__( /*! ../layout_props */ 71604); var _cell = __webpack_require__( /*! ./cell */ 51430); var _combine_classes = __webpack_require__( /*! ../../../../../utils/combine_classes */ 86237); var _const = __webpack_require__( /*! ../../const */ 8936); var _excluded = ["addDateTableClass", "addVerticalSizesClassToRows", "bottomVirtualRowHeight", "cellTemplate", "dataCellTemplate", "groupOrientation", "leftVirtualCellWidth", "rightVirtualCellWidth", "topVirtualRowHeight", "viewData", "width"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var _ref$props = _ref.props, Cell = _ref$props.cellTemplate, dataCellTemplate = _ref$props.dataCellTemplate, viewData = _ref$props.viewData, rowClasses = _ref.rowClasses; return (0, _inferno.createFragment)(viewData.groupedData.map((function(_ref2) { var allDayPanel = _ref2.allDayPanel, dateTable = _ref2.dateTable, isGroupedAllDayPanel = _ref2.isGroupedAllDayPanel, fragmentKey = _ref2.key; return (0, _inferno.createFragment)([isGroupedAllDayPanel && (0, _inferno.createComponentVNode)(2, _table_body.AllDayPanelTableBody, { viewData: allDayPanel, dataCellTemplate: dataCellTemplate, isVerticalGroupOrientation: true, leftVirtualCellWidth: viewData.leftVirtualCellWidth, rightVirtualCellWidth: viewData.rightVirtualCellWidth, leftVirtualCellCount: viewData.leftVirtualCellCount, rightVirtualCellCount: viewData.rightVirtualCellCount }), dateTable.map((function(_ref3) { var cells = _ref3.cells, rowKey = _ref3.key; return (0, _inferno.createComponentVNode)(2, _row.Row, { className: rowClasses, leftVirtualCellWidth: viewData.leftVirtualCellWidth, rightVirtualCellWidth: viewData.rightVirtualCellWidth, leftVirtualCellCount: viewData.leftVirtualCellCount, rightVirtualCellCount: viewData.rightVirtualCellCount, children: cells.map((function(_ref4) { var endDate = _ref4.endDate, firstDayOfMonth = _ref4.firstDayOfMonth, cellGroupIndex = _ref4.groupIndex, groups = _ref4.groups, cellIndex = _ref4.index, isFirstGroupCell = _ref4.isFirstGroupCell, isFocused = _ref4.isFocused, isLastGroupCell = _ref4.isLastGroupCell, isSelected = _ref4.isSelected, key = _ref4.key, otherMonth = _ref4.otherMonth, startDate = _ref4.startDate, text = _ref4.text, today = _ref4.today; return Cell({ isFirstGroupCell: isFirstGroupCell, isLastGroupCell: isLastGroupCell, startDate: startDate, endDate: endDate, groups: groups, groupIndex: cellGroupIndex, index: cellIndex, dataCellTemplate: dataCellTemplate, key: key, text: text, today: today, otherMonth: otherMonth, firstDayOfMonth: firstDayOfMonth, isSelected: isSelected, isFocused: isFocused }) })) }, rowKey) }))], 0, fragmentKey) })), 0) }; exports.viewFunction = viewFunction; var DateTableBodyProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_layout_props.LayoutProps), Object.getOwnPropertyDescriptors({ cellTemplate: _cell.DateTableCellBase }))); exports.DateTableBodyProps = DateTableBodyProps; var getTemplate = function(TemplateProp) { return TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp) }; var DateTableBody = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DateTableBody, _BaseInfernoComponent); function DateTableBody(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = DateTableBody.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { cellTemplate: getTemplate(props.cellTemplate), dataCellTemplate: getTemplate(props.dataCellTemplate) }), rowClasses: this.rowClasses, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(DateTableBody, [{ key: "rowClasses", get: function() { var _combineClasses; var addVerticalSizesClassToRows = this.props.addVerticalSizesClassToRows; return (0, _combine_classes.combineClasses)((_combineClasses = {}, _defineProperty(_combineClasses, _const.DATE_TABLE_ROW_CLASS, true), _defineProperty(_combineClasses, "dx-scheduler-cell-sizes-vertical", addVerticalSizesClassToRows), _combineClasses)) } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.addDateTableClass, _this$props.addVerticalSizesClassToRows, _this$props.bottomVirtualRowHeight, _this$props.cellTemplate, _this$props.dataCellTemplate, _this$props.groupOrientation, _this$props.leftVirtualCellWidth, _this$props.rightVirtualCellWidth, _this$props.topVirtualRowHeight, _this$props.viewData, _this$props.width, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return DateTableBody }(_inferno2.BaseInfernoComponent); exports.DateTableBody = DateTableBody; DateTableBody.defaultProps = DateTableBodyProps }, 85869: /*!***************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/group_panel/cell_props.js ***! \***************************************************************************************************************/ function(__unused_webpack_module, exports) { exports.GroupPanelCellProps = void 0; var GroupPanelCellProps = { id: 0, text: "", data: Object.freeze({ id: 0 }), className: "" }; exports.GroupPanelCellProps = GroupPanelCellProps }, 11141: /*!******************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/group_panel/group_panel.j.js ***! \******************************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = (obj = __webpack_require__( /*! ../../../../../../core/component_registrator */ 99393), obj && obj.__esModule ? obj : { default: obj }); var obj; var _group_panel = __webpack_require__( /*! ../../../../../component_wrapper/scheduler/group_panel */ 55095); var _group_panel2 = __webpack_require__( /*! ./group_panel */ 80954); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var GroupPanel = function(_GroupPanelWrapper) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(GroupPanel, _GroupPanelWrapper); function GroupPanel() { return _GroupPanelWrapper.apply(this, arguments) || this }! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(GroupPanel, [{ key: "_propsInfo", get: function() { return { twoWay: [], allowNull: [], elements: [], templates: ["resourceCellTemplate"], props: ["groups", "groupOrientation", "groupPanelData", "groupByDate", "height", "className", "resourceCellTemplate"] } } }, { key: "_viewComponent", get: function() { return _group_panel2.GroupPanel } }]); return GroupPanel }(_group_panel.GroupPanelWrapper); exports.default = GroupPanel; (0, _component_registrator.default)("dxGroupPanel", GroupPanel); module.exports = exports.default; module.exports.default = exports.default }, 80954: /*!****************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/group_panel/group_panel.js ***! \****************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.GroupPanelProps = exports.GroupPanel = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _utils = __webpack_require__( /*! ../../utils */ 97205); var _group_panel_props = __webpack_require__( /*! ./group_panel_props */ 18266); var _layout = __webpack_require__( /*! ./vertical/layout */ 37598); var _layout2 = __webpack_require__( /*! ./horizontal/layout */ 26419); var _consts = __webpack_require__( /*! ../../../consts */ 4799); var _excluded = ["className", "elementRef", "groupByDate", "groupOrientation", "groupPanelData", "groups", "height", "resourceCellTemplate"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var isVerticalLayout = _ref.isVerticalLayout, _ref$props = _ref.props, className = _ref$props.className, elementRef = _ref$props.elementRef, groupPanelData = _ref$props.groupPanelData, height = _ref$props.height, resourceCellTemplate = _ref$props.resourceCellTemplate, restAttributes = _ref.restAttributes; return isVerticalLayout ? (0, _inferno.createComponentVNode)(2, _layout.GroupPanelVerticalLayout, { height: height, resourceCellTemplate: resourceCellTemplate, className: className, groupPanelData: groupPanelData, elementRef: elementRef, styles: restAttributes.style }) : (0, _inferno.createComponentVNode)(2, _layout2.GroupPanelHorizontalLayout, { height: height, resourceCellTemplate: resourceCellTemplate, className: className, groupPanelData: groupPanelData, elementRef: elementRef, styles: restAttributes.style }) }; exports.viewFunction = viewFunction; var GroupPanelProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_group_panel_props.GroupPanelBaseProps), Object.getOwnPropertyDescriptors({ groups: Object.freeze([]), groupOrientation: _consts.VERTICAL_GROUP_ORIENTATION }))); exports.GroupPanelProps = GroupPanelProps; var GroupPanel = function(_InfernoWrapperCompon) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(GroupPanel, _InfernoWrapperCompon); function GroupPanel(props) { var _this; _this = _InfernoWrapperCompon.call(this, props) || this; _this.state = {}; return _this } var _proto = GroupPanel.prototype; _proto.createEffects = function() { return [(0, _inferno2.createReRenderEffect)()] }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { resourceCellTemplate: (TemplateProp = props.resourceCellTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), isVerticalLayout: this.isVerticalLayout, restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(GroupPanel, [{ key: "isVerticalLayout", get: function() { var _this$props = this.props, groupOrientation = _this$props.groupOrientation, groups = _this$props.groups; return (0, _utils.isVerticalGroupingApplied)(groups, groupOrientation) } }, { key: "restAttributes", get: function() { var _this$props2 = this.props, restProps = (_this$props2.className, _this$props2.elementRef, _this$props2.groupByDate, _this$props2.groupOrientation, _this$props2.groupPanelData, _this$props2.groups, _this$props2.height, _this$props2.resourceCellTemplate, _objectWithoutProperties(_this$props2, _excluded)); return restProps } }]); return GroupPanel }(_inferno2.InfernoWrapperComponent); exports.GroupPanel = GroupPanel; GroupPanel.defaultProps = GroupPanelProps }, 46833: /*!*****************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/group_panel/group_panel_layout_props.js ***! \*****************************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GroupPanelLayoutProps = void 0; var _group_panel_props = __webpack_require__( /*! ./group_panel_props */ 18266); var GroupPanelLayoutProps = _group_panel_props.GroupPanelBaseProps; exports.GroupPanelLayoutProps = GroupPanelLayoutProps }, 18266: /*!**********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/group_panel/group_panel_props.js ***! \**********************************************************************************************************************/ function(__unused_webpack_module, exports) { exports.GroupPanelBaseProps = void 0; var GroupPanelBaseProps = { groupPanelData: Object.freeze({ groupPanelItems: [], baseColSpan: 1 }), groupByDate: false }; exports.GroupPanelBaseProps = GroupPanelBaseProps }, 40725: /*!********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/group_panel/horizontal/cell.js ***! \********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.GroupPanelHorizontalCellProps = exports.GroupPanelHorizontalCell = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _combine_classes = __webpack_require__( /*! ../../../../../../utils/combine_classes */ 86237); var _cell_props = __webpack_require__( /*! ../cell_props */ 85869); var _excluded = ["cellTemplate", "className", "colSpan", "color", "data", "id", "index", "isFirstGroupCell", "isLastGroupCell", "text"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var classes = _ref.classes, _ref$props = _ref.props, CellTemplate = _ref$props.cellTemplate, colSpan = _ref$props.colSpan, color = _ref$props.color, data = _ref$props.data, id = _ref$props.id, index = _ref$props.index, text = _ref$props.text; return (0, _inferno.createVNode)(1, "th", classes, (0, _inferno.createVNode)(1, "div", "dx-scheduler-group-header-content", [!!CellTemplate && CellTemplate({ data: { data: data, id: id, color: color, text: text }, index: index }), !CellTemplate && (0, _inferno.createVNode)(1, "div", null, text, 0)], 0), 2, { colSpan: colSpan }) }; exports.viewFunction = viewFunction; var GroupPanelHorizontalCellProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_cell_props.GroupPanelCellProps), Object.getOwnPropertyDescriptors({ isFirstGroupCell: false, isLastGroupCell: false, colSpan: 1 }))); exports.GroupPanelHorizontalCellProps = GroupPanelHorizontalCellProps; var GroupPanelHorizontalCell = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(GroupPanelHorizontalCell, _BaseInfernoComponent); function GroupPanelHorizontalCell(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = GroupPanelHorizontalCell.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { cellTemplate: (TemplateProp = props.cellTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), classes: this.classes, restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(GroupPanelHorizontalCell, [{ key: "classes", get: function() { var _this$props = this.props, className = _this$props.className, isFirstGroupCell = _this$props.isFirstGroupCell, isLastGroupCell = _this$props.isLastGroupCell; return (0, _combine_classes.combineClasses)(function(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj }({ "dx-scheduler-group-header": true, "dx-scheduler-first-group-cell": isFirstGroupCell, "dx-scheduler-last-group-cell": isLastGroupCell }, className, !!className)) } }, { key: "restAttributes", get: function() { var _this$props2 = this.props, restProps = (_this$props2.cellTemplate, _this$props2.className, _this$props2.colSpan, _this$props2.color, _this$props2.data, _this$props2.id, _this$props2.index, _this$props2.isFirstGroupCell, _this$props2.isLastGroupCell, _this$props2.text, _objectWithoutProperties(_this$props2, _excluded)); return restProps } }]); return GroupPanelHorizontalCell }(_inferno2.BaseInfernoComponent); exports.GroupPanelHorizontalCell = GroupPanelHorizontalCell; GroupPanelHorizontalCell.defaultProps = GroupPanelHorizontalCellProps }, 26419: /*!**********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/group_panel/horizontal/layout.js ***! \**********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.HorizontalGroupPanelLayoutProps = exports.GroupPanelHorizontalLayout = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _row = __webpack_require__( /*! ./row */ 61991); var _group_panel_layout_props = __webpack_require__( /*! ../group_panel_layout_props */ 46833); var _excluded = ["className", "elementRef", "groupByDate", "groupPanelData", "height", "resourceCellTemplate", "styles"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var groupPanelItems = _ref.groupPanelItems, resourceCellTemplate = _ref.props.resourceCellTemplate; return (0, _inferno.createFragment)(groupPanelItems.map((function(group) { return (0, _inferno.createComponentVNode)(2, _row.Row, { groupItems: group, cellTemplate: resourceCellTemplate }, group[0].key) })), 0) }; exports.viewFunction = viewFunction; var HorizontalGroupPanelLayoutProps = _group_panel_layout_props.GroupPanelLayoutProps; exports.HorizontalGroupPanelLayoutProps = HorizontalGroupPanelLayoutProps; var GroupPanelHorizontalLayout = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(GroupPanelHorizontalLayout, _BaseInfernoComponent); function GroupPanelHorizontalLayout(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; _this.__getterCache = {}; return _this } var _proto = GroupPanelHorizontalLayout.prototype; _proto.componentWillUpdate = function(nextProps, nextState, context) { if (this.props.groupPanelData !== nextProps.groupPanelData) { this.__getterCache.groupPanelItems = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { resourceCellTemplate: (TemplateProp = props.resourceCellTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), groupPanelItems: this.groupPanelItems, restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(GroupPanelHorizontalLayout, [{ key: "groupPanelItems", get: function() { var _this2 = this; if (void 0 !== this.__getterCache.groupPanelItems) { return this.__getterCache.groupPanelItems } return this.__getterCache.groupPanelItems = (groupPanelData = _this2.props.groupPanelData, baseColSpan = groupPanelData.baseColSpan, groupPanelItems = groupPanelData.groupPanelItems, colSpans = groupPanelItems.reduceRight((function(currentColSpans, groupsRow, index) { var nextColSpans = currentColSpans; var currentLevelGroupCount = groupsRow.length; var previousColSpan = index === groupPanelItems.length - 1 ? baseColSpan : currentColSpans[index + 1]; var previousLevelGroupCount = index === groupPanelItems.length - 1 ? currentLevelGroupCount : groupPanelItems[index + 1].length; var groupCountDiff = previousLevelGroupCount / currentLevelGroupCount; nextColSpans[index] = groupCountDiff * previousColSpan; return nextColSpans }), _toConsumableArray(new Array(groupPanelItems.length))), groupPanelItems.map((function(groupsRenderRow, index) { var colSpan = colSpans[index]; return groupsRenderRow.map((function(groupItem) { return _extends({}, groupItem, { colSpan: colSpan }) })) }))); var groupPanelData, baseColSpan, groupPanelItems, colSpans } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.className, _this$props.elementRef, _this$props.groupByDate, _this$props.groupPanelData, _this$props.height, _this$props.resourceCellTemplate, _this$props.styles, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return GroupPanelHorizontalLayout }(_inferno2.BaseInfernoComponent); exports.GroupPanelHorizontalLayout = GroupPanelHorizontalLayout; GroupPanelHorizontalLayout.defaultProps = HorizontalGroupPanelLayoutProps }, 61991: /*!*******************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/group_panel/horizontal/row.js ***! \*******************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.Row = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _cell = __webpack_require__( /*! ./cell */ 40725); var _row_props = __webpack_require__( /*! ../row_props */ 5930); var _excluded = ["cellTemplate", "className", "groupItems"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var _ref$props = _ref.props, cellTemplate = _ref$props.cellTemplate, className = _ref$props.className, groupItems = _ref$props.groupItems; return (0, _inferno.createVNode)(1, "tr", "dx-scheduler-group-row ".concat(className), groupItems.map((function(_ref2, index) { var colSpan = _ref2.colSpan, color = _ref2.color, data = _ref2.data, id = _ref2.id, isFirstGroupCell = _ref2.isFirstGroupCell, isLastGroupCell = _ref2.isLastGroupCell, key = _ref2.key, text = _ref2.text; return (0, _inferno.createComponentVNode)(2, _cell.GroupPanelHorizontalCell, { text: text, id: id, data: data, index: index, color: color, colSpan: colSpan, isFirstGroupCell: !!isFirstGroupCell, isLastGroupCell: !!isLastGroupCell, cellTemplate: cellTemplate }, key) })), 0) }; exports.viewFunction = viewFunction; var Row = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Row, _BaseInfernoComponent); function Row(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = Row.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { cellTemplate: (TemplateProp = props.cellTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Row, [{ key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.cellTemplate, _this$props.className, _this$props.groupItems, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return Row }(_inferno2.BaseInfernoComponent); exports.Row = Row; Row.defaultProps = _row_props.GroupPanelRowProps }, 5930: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/group_panel/row_props.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, exports) { exports.GroupPanelRowProps = void 0; var GroupPanelRowProps = { groupItems: Object.freeze([]), className: "" }; exports.GroupPanelRowProps = GroupPanelRowProps }, 24914: /*!******************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/group_panel/vertical/cell.js ***! \******************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.GroupPanelVerticalCell = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _cell_props = __webpack_require__( /*! ../cell_props */ 85869); var _excluded = ["cellTemplate", "className", "color", "data", "id", "index", "text"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(viewModel) { var CellTemplate = viewModel.props.cellTemplate; return (0, _inferno.createVNode)(1, "div", "dx-scheduler-group-header ".concat(viewModel.props.className), [!!viewModel.props.cellTemplate && CellTemplate({ data: { data: viewModel.props.data, id: viewModel.props.id, color: viewModel.props.color, text: viewModel.props.text }, index: viewModel.props.index }), !viewModel.props.cellTemplate && (0, _inferno.createVNode)(1, "div", "dx-scheduler-group-header-content", viewModel.props.text, 0)], 0) }; exports.viewFunction = viewFunction; var GroupPanelVerticalCell = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(GroupPanelVerticalCell, _BaseInfernoComponent); function GroupPanelVerticalCell(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = GroupPanelVerticalCell.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { cellTemplate: (TemplateProp = props.cellTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(GroupPanelVerticalCell, [{ key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.cellTemplate, _this$props.className, _this$props.color, _this$props.data, _this$props.id, _this$props.index, _this$props.text, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return GroupPanelVerticalCell }(_inferno2.BaseInfernoComponent); exports.GroupPanelVerticalCell = GroupPanelVerticalCell; GroupPanelVerticalCell.defaultProps = _cell_props.GroupPanelCellProps }, 37598: /*!********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/group_panel/vertical/layout.js ***! \********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.VerticalGroupPanelLayoutProps = exports.GroupPanelVerticalLayout = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _row = __webpack_require__( /*! ./row */ 36415); var _utils = __webpack_require__( /*! ../../../utils */ 97205); var _group_panel_layout_props = __webpack_require__( /*! ../group_panel_layout_props */ 46833); var _excluded = ["className", "elementRef", "groupByDate", "groupPanelData", "height", "resourceCellTemplate", "styles"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var _ref$props = _ref.props, className = _ref$props.className, elementRef = _ref$props.elementRef, groupPanelData = _ref$props.groupPanelData, resourceCellTemplate = _ref$props.resourceCellTemplate, style = _ref.style; return (0, _inferno.createVNode)(1, "div", className, (0, _inferno.createVNode)(1, "div", "dx-scheduler-group-flex-container", groupPanelData.groupPanelItems.map((function(group) { return (0, _inferno.createComponentVNode)(2, _row.Row, { groupItems: group, cellTemplate: resourceCellTemplate }, group[0].key) })), 0), 2, { style: (0, _inferno2.normalizeStyles)(style) }, null, elementRef) }; exports.viewFunction = viewFunction; var VerticalGroupPanelLayoutProps = _group_panel_layout_props.GroupPanelLayoutProps; exports.VerticalGroupPanelLayoutProps = VerticalGroupPanelLayoutProps; var GroupPanelVerticalLayout = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(GroupPanelVerticalLayout, _BaseInfernoComponent); function GroupPanelVerticalLayout(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = GroupPanelVerticalLayout.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { resourceCellTemplate: (TemplateProp = props.resourceCellTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), style: this.style, restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(GroupPanelVerticalLayout, [{ key: "style", get: function() { var _this$props = this.props, height = _this$props.height, styles = _this$props.styles; return (0, _utils.addHeightToStyle)(height, styles) } }, { key: "restAttributes", get: function() { var _this$props2 = this.props, restProps = (_this$props2.className, _this$props2.elementRef, _this$props2.groupByDate, _this$props2.groupPanelData, _this$props2.height, _this$props2.resourceCellTemplate, _this$props2.styles, _objectWithoutProperties(_this$props2, _excluded)); return restProps } }]); return GroupPanelVerticalLayout }(_inferno2.BaseInfernoComponent); exports.GroupPanelVerticalLayout = GroupPanelVerticalLayout; GroupPanelVerticalLayout.defaultProps = VerticalGroupPanelLayoutProps }, 36415: /*!*****************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/group_panel/vertical/row.js ***! \*****************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.Row = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _cell = __webpack_require__( /*! ./cell */ 24914); var _row_props = __webpack_require__( /*! ../row_props */ 5930); var _excluded = ["cellTemplate", "className", "groupItems"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(viewModel) { return (0, _inferno.createVNode)(1, "div", "dx-scheduler-group-row ".concat(viewModel.props.className), viewModel.props.groupItems.map((function(_ref, index) { var color = _ref.color, data = _ref.data, id = _ref.id, key = _ref.key, text = _ref.text; return (0, _inferno.createComponentVNode)(2, _cell.GroupPanelVerticalCell, { text: text, id: id, data: data, index: index, color: color, cellTemplate: viewModel.props.cellTemplate }, key) })), 0) }; exports.viewFunction = viewFunction; var Row = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Row, _BaseInfernoComponent); function Row(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = Row.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { cellTemplate: (TemplateProp = props.cellTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Row, [{ key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.cellTemplate, _this$props.className, _this$props.groupItems, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return Row }(_inferno2.BaseInfernoComponent); exports.Row = Row; Row.defaultProps = _row_props.GroupPanelRowProps }, 11379: /*!****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/header_cell.js ***! \****************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.HeaderCell = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _ordinary_cell = __webpack_require__( /*! ./ordinary_cell */ 72923); var _excluded = ["children", "className", "colSpan", "styles"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(_ref) { var _ref$props = _ref.props, children = _ref$props.children, className = _ref$props.className, colSpan = _ref$props.colSpan, styles = _ref$props.styles; return (0, _inferno.createVNode)(1, "th", className, children, 0, { style: (0, _inferno2.normalizeStyles)(styles), colSpan: colSpan }) }; exports.viewFunction = viewFunction; var HeaderCell = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(HeaderCell, _BaseInfernoComponent); function HeaderCell(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = HeaderCell.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(HeaderCell, [{ key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.children, _this$props.className, _this$props.colSpan, _this$props.styles, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return HeaderCell }(_inferno2.BaseInfernoComponent); exports.HeaderCell = HeaderCell; HeaderCell.defaultProps = _ordinary_cell.CellProps }, 92366: /*!**********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/header_panel/date_header/cell.js ***! \**********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.DateHeaderCellProps = exports.DateHeaderCell = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _cell = __webpack_require__( /*! ../../cell */ 35064); var _combine_classes = __webpack_require__( /*! ../../../../../../utils/combine_classes */ 86237); var _utils = __webpack_require__( /*! ../../../utils */ 97205); var _dateHeaderText = __webpack_require__( /*! ./dateHeaderText */ 85122); var _excluded = ["allDay", "ariaLabel", "children", "className", "colSpan", "contentTemplateProps", "dateCellTemplate", "endDate", "groupIndex", "groups", "index", "isFirstGroupCell", "isLastGroupCell", "isTimeCellTemplate", "isWeekDayCell", "splitText", "startDate", "text", "timeCellTemplate", "today"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var classes = _ref.classes, _ref$props = _ref.props, colSpan = _ref$props.colSpan, DateCellTemplate = _ref$props.dateCellTemplate, groupIndex = _ref$props.groupIndex, groups = _ref$props.groups, index = _ref$props.index, isTimeCellTemplate = _ref$props.isTimeCellTemplate, splitText = _ref$props.splitText, startDate = _ref$props.startDate, text = _ref$props.text, TimeCellTemplate = _ref$props.timeCellTemplate, useTemplate = _ref.useTemplate; return (0, _inferno.createVNode)(1, "th", classes, useTemplate ? (0, _inferno.createFragment)([isTimeCellTemplate && TimeCellTemplate && TimeCellTemplate({ data: { date: startDate, text: text, groups: groups, groupIndex: groupIndex }, index: index }), !isTimeCellTemplate && DateCellTemplate && DateCellTemplate({ data: { date: startDate, text: text, groups: groups, groupIndex: groupIndex }, index: index })], 0) : (0, _inferno.createComponentVNode)(2, _dateHeaderText.DateHeaderText, { splitText: splitText, text: text }), 0, { colSpan: colSpan, title: text }) }; exports.viewFunction = viewFunction; var DateHeaderCellProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_cell.CellBaseProps), Object.getOwnPropertyDescriptors({ today: false, colSpan: 1, isWeekDayCell: false, splitText: false, isTimeCellTemplate: false }))); exports.DateHeaderCellProps = DateHeaderCellProps; var getTemplate = function(TemplateProp) { return TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp) }; var DateHeaderCell = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DateHeaderCell, _BaseInfernoComponent); function DateHeaderCell(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = DateHeaderCell.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { timeCellTemplate: getTemplate(props.timeCellTemplate), dateCellTemplate: getTemplate(props.dateCellTemplate) }), classes: this.classes, useTemplate: this.useTemplate, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(DateHeaderCell, [{ key: "classes", get: function() { var _this$props = this.props, className = _this$props.className, isFirstGroupCell = _this$props.isFirstGroupCell, isLastGroupCell = _this$props.isLastGroupCell, isWeekDayCell = _this$props.isWeekDayCell, today = _this$props.today; var cellClasses = (0, _combine_classes.combineClasses)(function(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj }({ "dx-scheduler-header-panel-cell": true, "dx-scheduler-cell-sizes-horizontal": true, "dx-scheduler-header-panel-current-time-cell": today, "dx-scheduler-header-panel-week-cell": isWeekDayCell }, className, !!className)); return (0, _utils.getGroupCellClasses)(isFirstGroupCell, isLastGroupCell, cellClasses) } }, { key: "useTemplate", get: function() { var _this$props2 = this.props, dateCellTemplate = _this$props2.dateCellTemplate, isTimeCellTemplate = _this$props2.isTimeCellTemplate, timeCellTemplate = _this$props2.timeCellTemplate; return !isTimeCellTemplate && !!dateCellTemplate || isTimeCellTemplate && !!timeCellTemplate } }, { key: "restAttributes", get: function() { var _this$props3 = this.props, restProps = (_this$props3.allDay, _this$props3.ariaLabel, _this$props3.children, _this$props3.className, _this$props3.colSpan, _this$props3.contentTemplateProps, _this$props3.dateCellTemplate, _this$props3.endDate, _this$props3.groupIndex, _this$props3.groups, _this$props3.index, _this$props3.isFirstGroupCell, _this$props3.isLastGroupCell, _this$props3.isTimeCellTemplate, _this$props3.isWeekDayCell, _this$props3.splitText, _this$props3.startDate, _this$props3.text, _this$props3.timeCellTemplate, _this$props3.today, _objectWithoutProperties(_this$props3, _excluded)); return restProps } }]); return DateHeaderCell }(_inferno2.BaseInfernoComponent); exports.DateHeaderCell = DateHeaderCell; DateHeaderCell.defaultProps = DateHeaderCellProps }, 85122: /*!********************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/header_panel/date_header/dateHeaderText.js ***! \********************************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.DateHeaderTextProps = exports.DateHeaderText = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _excluded = ["splitText", "text"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(_ref) { var _ref$props = _ref.props, splitText = _ref$props.splitText, text = _ref$props.text, textParts = _ref.textParts; return (0, _inferno.createFragment)(splitText ? textParts.map((function(part) { return (0, _inferno.createVNode)(1, "span", "dx-scheduler-header-panel-cell-date", part, 0) })) : text, 0) }; exports.viewFunction = viewFunction; var DateHeaderTextProps = { text: "", splitText: false }; exports.DateHeaderTextProps = DateHeaderTextProps; var DateHeaderText = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DateHeaderText, _BaseInfernoComponent); function DateHeaderText(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; _this.__getterCache = {}; return _this } var _proto = DateHeaderText.prototype; _proto.componentWillUpdate = function(nextProps, nextState, context) { if (this.props.text !== nextProps.text) { this.__getterCache.textParts = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), textParts: this.textParts, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(DateHeaderText, [{ key: "textParts", get: function() { var _this2 = this; if (void 0 !== this.__getterCache.textParts) { return this.__getterCache.textParts } return this.__getterCache.textParts = (text = _this2.props.text, text ? text.split(" ") : [""]); var text } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.splitText, _this$props.text, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return DateHeaderText }(_inferno2.BaseInfernoComponent); exports.DateHeaderText = DateHeaderText; DateHeaderText.defaultProps = DateHeaderTextProps }, 35878: /*!************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/header_panel/date_header/layout.js ***! \************************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.DateHeaderLayoutProps = exports.DateHeaderLayout = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _row = __webpack_require__( /*! ../../row */ 14364); var _utils = __webpack_require__( /*! ../../../utils */ 97205); var _cell = __webpack_require__( /*! ./cell */ 92366); var _getThemeType2 = (obj = __webpack_require__( /*! ../../../../../../utils/getThemeType */ 32586), obj && obj.__esModule ? obj : { default: obj }); var obj; var _excluded = ["dateCellTemplate", "dateHeaderData", "groupByDate", "groupOrientation", "groups", "timeCellTemplate"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var _getThemeType = (0, _getThemeType2.default)(), isMaterial = _getThemeType.isMaterial; var viewFunction = function(_ref) { var isHorizontalGrouping = _ref.isHorizontalGrouping, _ref$props = _ref.props, dateCellTemplate = _ref$props.dateCellTemplate, dateHeaderData = _ref$props.dateHeaderData; var dataMap = dateHeaderData.dataMap, leftVirtualCellCount = dateHeaderData.leftVirtualCellCount, leftVirtualCellWidth = dateHeaderData.leftVirtualCellWidth, rightVirtualCellCount = dateHeaderData.rightVirtualCellCount, rightVirtualCellWidth = dateHeaderData.rightVirtualCellWidth; return (0, _inferno.createFragment)(dataMap.map((function(dateHeaderRow, rowIndex) { return (0, _inferno.createComponentVNode)(2, _row.Row, { className: "dx-scheduler-header-row", leftVirtualCellWidth: leftVirtualCellWidth, leftVirtualCellCount: leftVirtualCellCount, rightVirtualCellWidth: rightVirtualCellWidth, rightVirtualCellCount: rightVirtualCellCount, isHeaderRow: true, children: dateHeaderRow.map((function(_ref2) { var colSpan = _ref2.colSpan, endDate = _ref2.endDate, groupIndex = _ref2.groupIndex, cellGroups = _ref2.groups, index = _ref2.index, isFirstGroupCell = _ref2.isFirstGroupCell, isLastGroupCell = _ref2.isLastGroupCell, key = _ref2.key, startDate = _ref2.startDate, text = _ref2.text, today = _ref2.today; return (0, _inferno.createComponentVNode)(2, _cell.DateHeaderCell, { startDate: startDate, endDate: endDate, groups: isHorizontalGrouping ? cellGroups : void 0, groupIndex: isHorizontalGrouping ? groupIndex : void 0, today: today, index: index, text: text, isFirstGroupCell: isFirstGroupCell, isLastGroupCell: isLastGroupCell, dateCellTemplate: dateCellTemplate, colSpan: colSpan, splitText: isMaterial }, key) })) }, rowIndex.toString()) })), 0) }; exports.viewFunction = viewFunction; var DateHeaderLayoutProps = { groupOrientation: "horizontal", groupByDate: false, groups: Object.freeze([]) }; exports.DateHeaderLayoutProps = DateHeaderLayoutProps; var getTemplate = function(TemplateProp) { return TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp) }; var DateHeaderLayout = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DateHeaderLayout, _BaseInfernoComponent); function DateHeaderLayout(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = DateHeaderLayout.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { dateCellTemplate: getTemplate(props.dateCellTemplate), timeCellTemplate: getTemplate(props.timeCellTemplate) }), isHorizontalGrouping: this.isHorizontalGrouping, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(DateHeaderLayout, [{ key: "isHorizontalGrouping", get: function() { var _this$props = this.props, groupByDate = _this$props.groupByDate, groupOrientation = _this$props.groupOrientation, groups = _this$props.groups; return (0, _utils.isHorizontalGroupingApplied)(groups, groupOrientation) && !groupByDate } }, { key: "restAttributes", get: function() { var _this$props2 = this.props, restProps = (_this$props2.dateCellTemplate, _this$props2.dateHeaderData, _this$props2.groupByDate, _this$props2.groupOrientation, _this$props2.groups, _this$props2.timeCellTemplate, _objectWithoutProperties(_this$props2, _excluded)); return restProps } }]); return DateHeaderLayout }(_inferno2.BaseInfernoComponent); exports.DateHeaderLayout = DateHeaderLayout; DateHeaderLayout.defaultProps = DateHeaderLayoutProps }, 32972: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/header_panel/layout.j.js ***! \**************************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = (obj = __webpack_require__( /*! ../../../../../../core/component_registrator */ 99393), obj && obj.__esModule ? obj : { default: obj }); var obj; var _header_panel = __webpack_require__( /*! ../../../../../component_wrapper/scheduler/header_panel */ 86214); var _layout = __webpack_require__( /*! ./layout */ 84011); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var HeaderPanelLayout = function(_HeaderPanel) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(HeaderPanelLayout, _HeaderPanel); function HeaderPanelLayout() { return _HeaderPanel.apply(this, arguments) || this }! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(HeaderPanelLayout, [{ key: "_propsInfo", get: function() { return { twoWay: [], allowNull: [], elements: [], templates: ["dateCellTemplate", "timeCellTemplate", "dateHeaderTemplate", "resourceCellTemplate"], props: ["dateHeaderData", "isRenderDateHeader", "dateCellTemplate", "timeCellTemplate", "dateHeaderTemplate", "groups", "groupOrientation", "groupPanelData", "groupByDate", "height", "className", "resourceCellTemplate"] } } }, { key: "_viewComponent", get: function() { return _layout.HeaderPanelLayout } }]); return HeaderPanelLayout }(_header_panel.HeaderPanel); exports.default = HeaderPanelLayout; (0, _component_registrator.default)("dxHeaderPanelLayout", HeaderPanelLayout); module.exports = exports.default; module.exports.default = exports.default }, 84011: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/header_panel/layout.js ***! \************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.HeaderPanelLayoutProps = exports.HeaderPanelLayout = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _utils = __webpack_require__( /*! ../../utils */ 97205); var _group_panel = __webpack_require__( /*! ../group_panel/group_panel */ 80954); var _layout = __webpack_require__( /*! ./date_header/layout */ 35878); var _excluded = ["className", "dateCellTemplate", "dateHeaderData", "dateHeaderTemplate", "elementRef", "groupByDate", "groupOrientation", "groupPanelData", "groups", "height", "isRenderDateHeader", "resourceCellTemplate", "timeCellTemplate"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var isHorizontalGrouping = _ref.isHorizontalGrouping, _ref$props = _ref.props, dateCellTemplate = _ref$props.dateCellTemplate, dateHeaderData = _ref$props.dateHeaderData, DateHeader = _ref$props.dateHeaderTemplate, groupByDate = _ref$props.groupByDate, groupOrientation = _ref$props.groupOrientation, groupPanelData = _ref$props.groupPanelData, groups = _ref$props.groups, isRenderDateHeader = _ref$props.isRenderDateHeader, resourceCellTemplate = _ref$props.resourceCellTemplate, timeCellTemplate = _ref$props.timeCellTemplate; return (0, _inferno.createVNode)(1, "thead", null, [isHorizontalGrouping && !groupByDate && (0, _inferno.createComponentVNode)(2, _group_panel.GroupPanel, { groupPanelData: groupPanelData, groups: groups, groupByDate: groupByDate, groupOrientation: groupOrientation, resourceCellTemplate: resourceCellTemplate }), isRenderDateHeader && DateHeader({ groupByDate: groupByDate, dateHeaderData: dateHeaderData, groupOrientation: groupOrientation, groups: groups, dateCellTemplate: dateCellTemplate, timeCellTemplate: timeCellTemplate }), groupByDate && (0, _inferno.createComponentVNode)(2, _group_panel.GroupPanel, { groupPanelData: groupPanelData, groups: groups, groupByDate: groupByDate, groupOrientation: groupOrientation, resourceCellTemplate: resourceCellTemplate })], 0) }; exports.viewFunction = viewFunction; var HeaderPanelLayoutProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_group_panel.GroupPanelProps), Object.getOwnPropertyDescriptors({ isRenderDateHeader: true, dateHeaderTemplate: _layout.DateHeaderLayout }))); exports.HeaderPanelLayoutProps = HeaderPanelLayoutProps; var getTemplate = function(TemplateProp) { return TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp) }; var HeaderPanelLayout = function(_InfernoWrapperCompon) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(HeaderPanelLayout, _InfernoWrapperCompon); function HeaderPanelLayout(props) { var _this; _this = _InfernoWrapperCompon.call(this, props) || this; _this.state = {}; return _this } var _proto = HeaderPanelLayout.prototype; _proto.createEffects = function() { return [(0, _inferno2.createReRenderEffect)()] }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { dateCellTemplate: getTemplate(props.dateCellTemplate), timeCellTemplate: getTemplate(props.timeCellTemplate), dateHeaderTemplate: getTemplate(props.dateHeaderTemplate), resourceCellTemplate: getTemplate(props.resourceCellTemplate) }), isHorizontalGrouping: this.isHorizontalGrouping, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(HeaderPanelLayout, [{ key: "isHorizontalGrouping", get: function() { var _this$props = this.props, groupOrientation = _this$props.groupOrientation, groups = _this$props.groups; return (0, _utils.isHorizontalGroupingApplied)(groups, groupOrientation) } }, { key: "restAttributes", get: function() { var _this$props2 = this.props, restProps = (_this$props2.className, _this$props2.dateCellTemplate, _this$props2.dateHeaderData, _this$props2.dateHeaderTemplate, _this$props2.elementRef, _this$props2.groupByDate, _this$props2.groupOrientation, _this$props2.groupPanelData, _this$props2.groups, _this$props2.height, _this$props2.isRenderDateHeader, _this$props2.resourceCellTemplate, _this$props2.timeCellTemplate, _objectWithoutProperties(_this$props2, _excluded)); return restProps } }]); return HeaderPanelLayout }(_inferno2.InfernoWrapperComponent); exports.HeaderPanelLayout = HeaderPanelLayout; HeaderPanelLayout.defaultProps = HeaderPanelLayoutProps }, 71604: /*!*****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/layout_props.js ***! \*****************************************************************************************************/ function(__unused_webpack_module, exports) { exports.LayoutProps = void 0; var LayoutProps = { viewData: Object.freeze({ groupedData: [], leftVirtualCellCount: 0, rightVirtualCellCount: 0, topVirtualRowCount: 0, bottomVirtualRowCount: 0 }), leftVirtualCellWidth: 0, rightVirtualCellWidth: 0, topVirtualRowHeight: 0, bottomVirtualRowHeight: 0, addDateTableClass: true, addVerticalSizesClassToRows: true }; exports.LayoutProps = LayoutProps }, 72923: /*!******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/ordinary_cell.js ***! \******************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.OrdinaryCell = exports.CellProps = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _excluded = ["children", "className", "colSpan", "styles"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(_ref) { var _ref$props = _ref.props, children = _ref$props.children, className = _ref$props.className, colSpan = _ref$props.colSpan, styles = _ref$props.styles; return (0, _inferno.createVNode)(1, "td", className, children, 0, { style: (0, _inferno2.normalizeStyles)(styles), colSpan: colSpan }) }; exports.viewFunction = viewFunction; var CellProps = {}; exports.CellProps = CellProps; var OrdinaryCell = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(OrdinaryCell, _BaseInfernoComponent); function OrdinaryCell(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = OrdinaryCell.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(OrdinaryCell, [{ key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.children, _this$props.className, _this$props.colSpan, _this$props.styles, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return OrdinaryCell }(_inferno2.BaseInfernoComponent); exports.OrdinaryCell = OrdinaryCell; OrdinaryCell.defaultProps = CellProps }, 14364: /*!********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/row.js ***! \********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.RowProps = exports.Row = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _virtual_cell = __webpack_require__( /*! ./virtual_cell */ 87551); var _excluded = ["children", "className", "isHeaderRow", "leftVirtualCellCount", "leftVirtualCellWidth", "rightVirtualCellCount", "rightVirtualCellWidth", "styles"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(_ref) { var hasLeftVirtualCell = _ref.hasLeftVirtualCell, hasRightVirtualCell = _ref.hasRightVirtualCell, _ref$props = _ref.props, children = _ref$props.children, className = _ref$props.className, isHeaderRow = _ref$props.isHeaderRow, leftVirtualCellCount = _ref$props.leftVirtualCellCount, leftVirtualCellWidth = _ref$props.leftVirtualCellWidth, rightVirtualCellCount = _ref$props.rightVirtualCellCount, rightVirtualCellWidth = _ref$props.rightVirtualCellWidth, styles = _ref$props.styles; return (0, _inferno.createVNode)(1, "tr", className, [hasLeftVirtualCell && (0, _inferno.createComponentVNode)(2, _virtual_cell.VirtualCell, { width: leftVirtualCellWidth, colSpan: leftVirtualCellCount, isHeaderCell: isHeaderRow }), children, hasRightVirtualCell && (0, _inferno.createComponentVNode)(2, _virtual_cell.VirtualCell, { width: rightVirtualCellWidth, colSpan: rightVirtualCellCount, isHeaderCell: isHeaderRow })], 0, { style: (0, _inferno2.normalizeStyles)(styles) }) }; exports.viewFunction = viewFunction; var RowProps = { className: "", leftVirtualCellWidth: 0, rightVirtualCellWidth: 0, isHeaderRow: false }; exports.RowProps = RowProps; var Row = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Row, _BaseInfernoComponent); function Row(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = Row.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), hasLeftVirtualCell: this.hasLeftVirtualCell, hasRightVirtualCell: this.hasRightVirtualCell, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Row, [{ key: "hasLeftVirtualCell", get: function() { var leftVirtualCellCount = this.props.leftVirtualCellCount; return !!leftVirtualCellCount } }, { key: "hasRightVirtualCell", get: function() { var rightVirtualCellCount = this.props.rightVirtualCellCount; return !!rightVirtualCellCount } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.children, _this$props.className, _this$props.isHeaderRow, _this$props.leftVirtualCellCount, _this$props.leftVirtualCellWidth, _this$props.rightVirtualCellCount, _this$props.rightVirtualCellWidth, _this$props.styles, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return Row }(_inferno2.BaseInfernoComponent); exports.Row = Row; Row.defaultProps = RowProps }, 48868: /*!**********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/table.js ***! \**********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.TableProps = exports.Table = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _utils = __webpack_require__( /*! ../utils */ 97205); var _virtual_row = __webpack_require__( /*! ./virtual_row */ 4784); var _excluded = ["bottomVirtualRowHeight", "children", "className", "height", "leftVirtualCellCount", "leftVirtualCellWidth", "rightVirtualCellCount", "rightVirtualCellWidth", "tableRef", "topVirtualRowHeight", "virtualCellsCount", "width"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(_ref) { var hasBottomVirtualRow = _ref.hasBottomVirtualRow, hasTopVirtualRow = _ref.hasTopVirtualRow, _ref$props = _ref.props, bottomVirtualRowHeight = _ref$props.bottomVirtualRowHeight, children = _ref$props.children, className = _ref$props.className, leftVirtualCellCount = _ref$props.leftVirtualCellCount, leftVirtualCellWidth = _ref$props.leftVirtualCellWidth, rightVirtualCellCount = _ref$props.rightVirtualCellCount, rightVirtualCellWidth = _ref$props.rightVirtualCellWidth, tableRef = _ref$props.tableRef, topVirtualRowHeight = _ref$props.topVirtualRowHeight, virtualCellsCount = _ref$props.virtualCellsCount, style = _ref.style; return (0, _inferno.createVNode)(1, "table", className, (0, _inferno.createVNode)(1, "tbody", null, [hasTopVirtualRow && (0, _inferno.createComponentVNode)(2, _virtual_row.VirtualRow, { height: topVirtualRowHeight, cellsCount: virtualCellsCount, leftVirtualCellWidth: leftVirtualCellWidth, rightVirtualCellWidth: rightVirtualCellWidth, leftVirtualCellCount: leftVirtualCellCount, rightVirtualCellCount: rightVirtualCellCount }), children, hasBottomVirtualRow && (0, _inferno.createComponentVNode)(2, _virtual_row.VirtualRow, { height: bottomVirtualRowHeight, cellsCount: virtualCellsCount, leftVirtualCellWidth: leftVirtualCellWidth, rightVirtualCellWidth: rightVirtualCellWidth, leftVirtualCellCount: leftVirtualCellCount, rightVirtualCellCount: rightVirtualCellCount })], 0), 2, { style: (0, _inferno2.normalizeStyles)(style) }, null, tableRef) }; exports.viewFunction = viewFunction; var TableProps = { className: "", topVirtualRowHeight: 0, bottomVirtualRowHeight: 0, leftVirtualCellWidth: 0, rightVirtualCellWidth: 0, virtualCellsCount: 0 }; exports.TableProps = TableProps; var Table = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Table, _BaseInfernoComponent); function Table(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; _this.elementRef = (0, _inferno.createRef)(); return _this } var _proto = Table.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), elementRef: this.elementRef, style: this.style, hasTopVirtualRow: this.hasTopVirtualRow, hasBottomVirtualRow: this.hasBottomVirtualRow, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Table, [{ key: "style", get: function() { var _this$props = this.props, height = _this$props.height, width = _this$props.width; var style = this.restAttributes.style; var heightAdded = (0, _utils.addHeightToStyle)(height, style); return (0, _utils.addWidthToStyle)(width, heightAdded) } }, { key: "hasTopVirtualRow", get: function() { var topVirtualRowHeight = this.props.topVirtualRowHeight; return !!topVirtualRowHeight } }, { key: "hasBottomVirtualRow", get: function() { var bottomVirtualRowHeight = this.props.bottomVirtualRowHeight; return !!bottomVirtualRowHeight } }, { key: "restAttributes", get: function() { var _this$props2 = this.props, restProps = (_this$props2.bottomVirtualRowHeight, _this$props2.children, _this$props2.className, _this$props2.height, _this$props2.leftVirtualCellCount, _this$props2.leftVirtualCellWidth, _this$props2.rightVirtualCellCount, _this$props2.rightVirtualCellWidth, _this$props2.tableRef, _this$props2.topVirtualRowHeight, _this$props2.virtualCellsCount, _this$props2.width, _objectWithoutProperties(_this$props2, _excluded)); return restProps } }]); return Table }(_inferno2.BaseInfernoComponent); exports.Table = Table; Table.defaultProps = TableProps }, 37217: /*!********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/time_panel/cell.js ***! \********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.TimePanelCellProps = exports.TimePanelCell = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _cell = __webpack_require__( /*! ../cell */ 35064); var _excluded = ["allDay", "ariaLabel", "children", "className", "contentTemplateProps", "endDate", "groupIndex", "groups", "index", "isFirstGroupCell", "isLastGroupCell", "startDate", "text", "timeCellTemplate"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var _ref$props = _ref.props, className = _ref$props.className, isFirstGroupCell = _ref$props.isFirstGroupCell, isLastGroupCell = _ref$props.isLastGroupCell, text = _ref$props.text, TimeCellTemplate = _ref$props.timeCellTemplate, timeCellTemplateProps = _ref.timeCellTemplateProps; return (0, _inferno.createComponentVNode)(2, _cell.CellBase, { isFirstGroupCell: isFirstGroupCell, isLastGroupCell: isLastGroupCell, className: "dx-scheduler-time-panel-cell dx-scheduler-cell-sizes-vertical ".concat(className), children: [!TimeCellTemplate && (0, _inferno.createVNode)(1, "div", null, text, 0), !!TimeCellTemplate && TimeCellTemplate({ index: timeCellTemplateProps.index, data: timeCellTemplateProps.data })] }) }; exports.viewFunction = viewFunction; var TimePanelCellProps = _cell.CellBaseProps; exports.TimePanelCellProps = TimePanelCellProps; var TimePanelCell = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(TimePanelCell, _BaseInfernoComponent); function TimePanelCell(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; _this.__getterCache = {}; return _this } var _proto = TimePanelCell.prototype; _proto.componentWillUpdate = function(nextProps, nextState, context) { if (this.props.groupIndex !== nextProps.groupIndex || this.props.groups !== nextProps.groups || this.props.index !== nextProps.index || this.props.startDate !== nextProps.startDate || this.props.text !== nextProps.text) { this.__getterCache.timeCellTemplateProps = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { timeCellTemplate: (TemplateProp = props.timeCellTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), timeCellTemplateProps: this.timeCellTemplateProps, restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(TimePanelCell, [{ key: "timeCellTemplateProps", get: function() { var _this2 = this; if (void 0 !== this.__getterCache.timeCellTemplateProps) { return this.__getterCache.timeCellTemplateProps } return this.__getterCache.timeCellTemplateProps = (_this2$props = _this2.props, groupIndex = _this2$props.groupIndex, groups = _this2$props.groups, index = _this2$props.index, startDate = _this2$props.startDate, text = _this2$props.text, { data: { date: startDate, groups: groups, groupIndex: groupIndex, text: text }, index: index }); var _this2$props, groupIndex, groups, index, startDate, text } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.allDay, _this$props.ariaLabel, _this$props.children, _this$props.className, _this$props.contentTemplateProps, _this$props.endDate, _this$props.groupIndex, _this$props.groups, _this$props.index, _this$props.isFirstGroupCell, _this$props.isLastGroupCell, _this$props.startDate, _this$props.text, _this$props.timeCellTemplate, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return TimePanelCell }(_inferno2.BaseInfernoComponent); exports.TimePanelCell = TimePanelCell; TimePanelCell.defaultProps = TimePanelCellProps }, 89687: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/time_panel/layout.j.js ***! \************************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = (obj = __webpack_require__( /*! ../../../../../../core/component_registrator */ 99393), obj && obj.__esModule ? obj : { default: obj }); var obj; var _time_panel = __webpack_require__( /*! ../../../../../component_wrapper/scheduler/time_panel */ 99503); var _layout = __webpack_require__( /*! ./layout */ 41541); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var TimePanelTableLayout = function(_TimePanel) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(TimePanelTableLayout, _TimePanel); function TimePanelTableLayout() { return _TimePanel.apply(this, arguments) || this }! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(TimePanelTableLayout, [{ key: "_propsInfo", get: function() { return { twoWay: [], allowNull: [], elements: [], templates: ["timeCellTemplate"], props: ["groupOrientation", "timePanelData", "timeCellTemplate"] } } }, { key: "_viewComponent", get: function() { return _layout.TimePanelTableLayout } }]); return TimePanelTableLayout }(_time_panel.TimePanel); exports.default = TimePanelTableLayout; (0, _component_registrator.default)("dxTimePanelTableLayout", TimePanelTableLayout); module.exports = exports.default; module.exports.default = exports.default }, 41541: /*!**********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/time_panel/layout.js ***! \**********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.TimePanelTableLayout = exports.TimePanelLayoutProps = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _row = __webpack_require__( /*! ../row */ 14364); var _cell = __webpack_require__( /*! ./cell */ 37217); var _cell2 = __webpack_require__( /*! ../cell */ 35064); var _table = __webpack_require__( /*! ../table */ 48868); var _title = __webpack_require__( /*! ../date_table/all_day_panel/title */ 7149); var _excluded = ["groupOrientation", "tableRef", "timeCellTemplate", "timePanelData"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var bottomVirtualRowHeight = _ref.bottomVirtualRowHeight, _ref$props = _ref.props, tableRef = _ref$props.tableRef, timeCellTemplate = _ref$props.timeCellTemplate, timePanelData = _ref$props.timePanelData, restAttributes = _ref.restAttributes, topVirtualRowHeight = _ref.topVirtualRowHeight; return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _table.Table, _extends({}, restAttributes, { topVirtualRowHeight: topVirtualRowHeight, bottomVirtualRowHeight: bottomVirtualRowHeight, virtualCellsCount: 1, className: "dx-scheduler-time-panel", tableRef: tableRef, children: timePanelData.groupedData.map((function(_ref2) { var dateTable = _ref2.dateTable, groupIndex = _ref2.groupIndex, isGroupedAllDayPanel = _ref2.isGroupedAllDayPanel, fragmentKey = _ref2.key; return (0, _inferno.createFragment)([isGroupedAllDayPanel && (0, _inferno.createComponentVNode)(2, _row.Row, { children: (0, _inferno.createComponentVNode)(2, _cell2.CellBase, { className: "dx-scheduler-time-panel-title-cell", children: (0, _inferno.createComponentVNode)(2, _title.AllDayPanelTitle) }) }), dateTable.map((function(cell) { var groups = cell.groups, cellIndex = cell.index, isFirstGroupCell = cell.isFirstGroupCell, isLastGroupCell = cell.isLastGroupCell, key = cell.key, startDate = cell.startDate, text = cell.text; return (0, _inferno.createComponentVNode)(2, _row.Row, { className: "dx-scheduler-time-panel-row", children: (0, _inferno.createComponentVNode)(2, _cell.TimePanelCell, { startDate: startDate, text: text, groups: groups, groupIndex: groupIndex, isFirstGroupCell: isFirstGroupCell, isLastGroupCell: isLastGroupCell, index: cellIndex, timeCellTemplate: timeCellTemplate }) }, key) }))], 0, fragmentKey) })) }))) }; exports.viewFunction = viewFunction; var TimePanelLayoutProps = { timePanelData: Object.freeze({ groupedData: [], leftVirtualCellCount: 0, rightVirtualCellCount: 0, topVirtualRowCount: 0, bottomVirtualRowCount: 0 }) }; exports.TimePanelLayoutProps = TimePanelLayoutProps; var TimePanelTableLayout = function(_InfernoWrapperCompon) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(TimePanelTableLayout, _InfernoWrapperCompon); function TimePanelTableLayout(props) { var _this; _this = _InfernoWrapperCompon.call(this, props) || this; _this.state = {}; return _this } var _proto = TimePanelTableLayout.prototype; _proto.createEffects = function() { return [(0, _inferno2.createReRenderEffect)()] }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { timeCellTemplate: (TemplateProp = props.timeCellTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), topVirtualRowHeight: this.topVirtualRowHeight, bottomVirtualRowHeight: this.bottomVirtualRowHeight, restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(TimePanelTableLayout, [{ key: "topVirtualRowHeight", get: function() { var _this$props$timePanel; return null !== (_this$props$timePanel = this.props.timePanelData.topVirtualRowHeight) && void 0 !== _this$props$timePanel ? _this$props$timePanel : 0 } }, { key: "bottomVirtualRowHeight", get: function() { var _this$props$timePanel2; return null !== (_this$props$timePanel2 = this.props.timePanelData.bottomVirtualRowHeight) && void 0 !== _this$props$timePanel2 ? _this$props$timePanel2 : 0 } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.groupOrientation, _this$props.tableRef, _this$props.timeCellTemplate, _this$props.timePanelData, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return TimePanelTableLayout }(_inferno2.InfernoWrapperComponent); exports.TimePanelTableLayout = TimePanelTableLayout; TimePanelTableLayout.defaultProps = TimePanelLayoutProps }, 57530: /*!**********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/utils.js ***! \**********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.isCellAllDay = exports.getTotalRowCount = exports.getTotalCellCount = exports.getSelectedCells = exports.getRowCountWithAllDayRow = exports.getHiddenInterval = exports.getDateTableWidth = exports.getDateForHeaderText = exports.getCellIndices = exports.createVirtualScrollingOptions = exports.createCellElementMetaData = exports.compareCellsByDateAndIndex = exports.DATE_TABLE_MIN_CELL_WIDTH = void 0; var _date = (obj = __webpack_require__( /*! ../../../../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var _utils = __webpack_require__( /*! ../../../../../ui/scheduler/resources/utils */ 98140); var _utils2 = __webpack_require__( /*! ../utils */ 97205); var _const = __webpack_require__( /*! ../const */ 8936); function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var DAY_MS = _date.default.dateToMilliseconds("day"); var HOUR_MS = _date.default.dateToMilliseconds("hour"); exports.DATE_TABLE_MIN_CELL_WIDTH = 75; exports.getTotalRowCount = function(rowCount, groupOrientation, groups, isAllDayPanelVisible) { var isVerticalGrouping = (0, _utils2.isVerticalGroupingApplied)(groups, groupOrientation); var groupCount = (0, _utils.getGroupCount)(groups); var totalRowCount = isVerticalGrouping ? rowCount * groupCount : rowCount; return isAllDayPanelVisible ? totalRowCount + groupCount : totalRowCount }; var getTotalCellCount = function(cellCount, groupOrientation, groups) { var isHorizontalGrouping = (0, _utils2.isHorizontalGroupingApplied)(groups, groupOrientation); var groupCount = (0, _utils.getGroupCount)(groups); return isHorizontalGrouping ? cellCount * groupCount : cellCount }; exports.getTotalCellCount = getTotalCellCount; exports.getRowCountWithAllDayRow = function(rowCount, isAllDayPanelVisible) { return isAllDayPanelVisible ? rowCount + 1 : rowCount }; exports.getHiddenInterval = function(hoursInterval, cellCountInDay) { var visibleInterval = hoursInterval * cellCountInDay * HOUR_MS; return DAY_MS - visibleInterval }; exports.createCellElementMetaData = function(tableRect, cellRect) { var bottom = cellRect.bottom, height = cellRect.height, left = cellRect.left, right = cellRect.right, top = cellRect.top, width = cellRect.width, x = cellRect.x, y = cellRect.y; return { right: right, bottom: bottom, left: left - tableRect.left, top: top - tableRect.top, width: width, height: height, x: x, y: y } }; exports.getDateForHeaderText = function(_, date) { return date }; exports.getDateTableWidth = function(scrollableWidth, dateTable, viewDataProvider, workSpaceConfig) { var dateTableCell = dateTable.querySelector("td:not(.dx-scheduler-virtual-cell)"); var cellWidth = dateTableCell.getBoundingClientRect().width; if (cellWidth < 75) { cellWidth = 75 } var cellCount = viewDataProvider.getCellCount(workSpaceConfig); var totalCellCount = getTotalCellCount(cellCount, workSpaceConfig.groupOrientation, workSpaceConfig.groups); var minTablesWidth = totalCellCount * cellWidth; return scrollableWidth < minTablesWidth ? minTablesWidth : scrollableWidth }; exports.createVirtualScrollingOptions = function(options) { return { getCellHeight: function() { return options.cellHeight }, getCellWidth: function() { return options.cellWidth }, getCellMinWidth: function() { return 75 }, isRTL: function() { return options.rtlEnabled }, getSchedulerHeight: function() { return options.schedulerHeight }, getSchedulerWidth: function() { return options.schedulerWidth }, getViewHeight: function() { return options.viewHeight }, getViewWidth: function() { return options.viewWidth }, getScrolling: function() { return options.scrolling }, getScrollableOuterWidth: function() { return options.scrollableWidth }, getGroupCount: function() { return (0, _utils.getGroupCount)(options.groups) }, isVerticalGrouping: function() { return options.isVerticalGrouping }, getTotalRowCount: function() { return options.completeRowCount }, getTotalCellCount: function() { return options.completeColumnCount }, getWindowHeight: function() { return options.windowHeight }, getWindowWidth: function() { return options.windowWidth } } }; exports.getCellIndices = function(cell) { var row = cell.closest(".".concat(_const.DATE_TABLE_ROW_CLASS, ", .").concat(_const.ALL_DAY_ROW_CLASS)); var rowParent = row.parentNode; var cellParent = cell.parentNode; var columnIndex = _toConsumableArray(Array.from(cellParent.children)).filter((function(child) { return child.className.includes(_const.DATE_TABLE_CELL_CLASS) || child.className.includes(_const.ALL_DAY_PANEL_CELL_CLASS) })).indexOf(cell); var rowIndex = _toConsumableArray(Array.from(rowParent.children)).filter((function(child) { return child.className.includes(_const.DATE_TABLE_ROW_CLASS) })).indexOf(row); return { columnIndex: columnIndex, rowIndex: rowIndex } }; var compareCellsByDateAndIndex = function(daysAndIndexes) { var date = daysAndIndexes.date, firstDate = daysAndIndexes.firstDate, firstIndex = daysAndIndexes.firstIndex, index = daysAndIndexes.index, lastDate = daysAndIndexes.lastDate, lastIndex = daysAndIndexes.lastIndex; if (firstDate === lastDate) { var validFirstIndex = firstIndex; var validLastIndex = lastIndex; if (validFirstIndex > validLastIndex) { var _ref = [validLastIndex, validFirstIndex]; validFirstIndex = _ref[0]; validLastIndex = _ref[1] } return firstDate === date && index >= validFirstIndex && index <= validLastIndex } return date === firstDate && index >= firstIndex || date === lastDate && index <= lastIndex || firstDate < date && date < lastDate }; exports.compareCellsByDateAndIndex = compareCellsByDateAndIndex; exports.getSelectedCells = function(viewDataProvider, firstSelectedCell, lastSelectedCell, isLastSelectedCellAllDay) { var firstCell = firstSelectedCell; var lastCell = lastSelectedCell; if (firstCell.startDate.getTime() > lastCell.startDate.getTime()) { var _ref2 = [lastCell, firstCell]; firstCell = _ref2[0]; lastCell = _ref2[1] } var _firstCell = firstCell, firstGroupIndex = _firstCell.groupIndex, firstCellIndex = _firstCell.index, firstStartDate = _firstCell.startDate; var _lastCell = lastCell, lastCellIndex = _lastCell.index, lastStartDate = _lastCell.startDate; var cells = viewDataProvider.getCellsByGroupIndexAndAllDay(null !== firstGroupIndex && void 0 !== firstGroupIndex ? firstGroupIndex : 0, isLastSelectedCellAllDay); var filteredCells = cells.reduce((function(selectedCells, cellsRow) { var filterData = { firstDate: firstStartDate, lastDate: lastStartDate, firstIndex: firstCellIndex, lastIndex: lastCellIndex }; var filteredRow = function(cellsRow, filterData) { var firstDate = filterData.firstDate, firstIndex = filterData.firstIndex, lastDate = filterData.lastDate, lastIndex = filterData.lastIndex; var firstDay = _date.default.trimTime(firstDate).getTime(); var lastDay = _date.default.trimTime(lastDate).getTime(); return cellsRow.filter((function(cell) { var index = cell.index, startDate = cell.startDate; var day = _date.default.trimTime(startDate).getTime(); var daysAndIndexes = { date: day, index: index, firstDate: firstDay, firstIndex: firstIndex, lastDate: lastDay, lastIndex: lastIndex }; return compareCellsByDateAndIndex(daysAndIndexes) })) }(cellsRow, filterData); selectedCells.push.apply(selectedCells, _toConsumableArray(filteredRow)); return selectedCells }), []); var selectedCells = filteredCells.sort((function(firstArg, secondArg) { return firstArg.startDate.getTime() - secondArg.startDate.getTime() })); return selectedCells }; exports.isCellAllDay = function(cell) { return cell.className.includes(_const.ALL_DAY_PANEL_CELL_CLASS) } }, 87551: /*!*****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/virtual_cell.js ***! \*****************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.VirtualCellProps = exports.VirtualCell = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _utils = __webpack_require__( /*! ../utils */ 97205); var _header_cell = __webpack_require__( /*! ./header_cell */ 11379); var _ordinary_cell = __webpack_require__( /*! ./ordinary_cell */ 72923); var _excluded = ["colSpan", "isHeaderCell", "width"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var viewFunction = function(_ref) { var _ref$props = _ref.props, colSpan = _ref$props.colSpan, isHeaderCell = _ref$props.isHeaderCell, style = _ref.style; var Cell = isHeaderCell ? _header_cell.HeaderCell : _ordinary_cell.OrdinaryCell; return (0, _inferno.createComponentVNode)(2, Cell, { className: "dx-scheduler-virtual-cell", styles: style, colSpan: colSpan }) }; exports.viewFunction = viewFunction; var VirtualCellProps = { width: 0, isHeaderCell: false }; exports.VirtualCellProps = VirtualCellProps; var VirtualCell = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(VirtualCell, _BaseInfernoComponent); function VirtualCell(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = VirtualCell.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), style: this.style, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(VirtualCell, [{ key: "style", get: function() { var width = this.props.width; var style = this.restAttributes.style; return (0, _utils.addWidthToStyle)(width, style) } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.colSpan, _this$props.isHeaderCell, _this$props.width, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return VirtualCell }(_inferno2.BaseInfernoComponent); exports.VirtualCell = VirtualCell; VirtualCell.defaultProps = VirtualCellProps }, 4784: /*!****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/base/virtual_row.js ***! \****************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.VirtualRowProps = exports.VirtualRow = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _utils = __webpack_require__( /*! ../utils */ 97205); var _row = __webpack_require__( /*! ./row */ 14364); var _virtual_cell = __webpack_require__( /*! ./virtual_cell */ 87551); var _excluded = ["cellsCount", "children", "className", "height", "isHeaderRow", "leftVirtualCellCount", "leftVirtualCellWidth", "rightVirtualCellCount", "rightVirtualCellWidth", "styles"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var classes = _ref.classes, _ref$props = _ref.props, leftVirtualCellCount = _ref$props.leftVirtualCellCount, leftVirtualCellWidth = _ref$props.leftVirtualCellWidth, rightVirtualCellCount = _ref$props.rightVirtualCellCount, rightVirtualCellWidth = _ref$props.rightVirtualCellWidth, style = _ref.style, virtualCells = _ref.virtualCells; return (0, _inferno.createComponentVNode)(2, _row.Row, { styles: style, className: classes, leftVirtualCellWidth: leftVirtualCellWidth, rightVirtualCellWidth: rightVirtualCellWidth, leftVirtualCellCount: leftVirtualCellCount, rightVirtualCellCount: rightVirtualCellCount, children: virtualCells.map((function(_, index) { return (0, _inferno.createComponentVNode)(2, _virtual_cell.VirtualCell, null, index.toString()) })) }) }; exports.viewFunction = viewFunction; var VirtualRowProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(_row.RowProps), Object.getOwnPropertyDescriptors({ leftVirtualCellWidth: 0, rightVirtualCellWidth: 0, cellsCount: 1 }))); exports.VirtualRowProps = VirtualRowProps; var VirtualRow = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(VirtualRow, _BaseInfernoComponent); function VirtualRow(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; _this.__getterCache = {}; return _this } var _proto = VirtualRow.prototype; _proto.componentWillUpdate = function(nextProps, nextState, context) { if (this.props.cellsCount !== nextProps.cellsCount) { this.__getterCache.virtualCells = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props), style: this.style, classes: this.classes, virtualCells: this.virtualCells, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(VirtualRow, [{ key: "style", get: function() { var height = this.props.height; var style = this.restAttributes.style; return (0, _utils.addHeightToStyle)(height, style) } }, { key: "classes", get: function() { var className = this.props.className; return "dx-scheduler-virtual-row ".concat(className) } }, { key: "virtualCells", get: function() { var _this2 = this; if (void 0 !== this.__getterCache.virtualCells) { return this.__getterCache.virtualCells } return this.__getterCache.virtualCells = (cellsCount = _this2.props.cellsCount, _toConsumableArray(Array(cellsCount))); var cellsCount } }, { key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.cellsCount, _this$props.children, _this$props.className, _this$props.height, _this$props.isHeaderRow, _this$props.leftVirtualCellCount, _this$props.leftVirtualCellWidth, _this$props.rightVirtualCellCount, _this$props.rightVirtualCellWidth, _this$props.styles, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return VirtualRow }(_inferno2.BaseInfernoComponent); exports.VirtualRow = VirtualRow; VirtualRow.defaultProps = VirtualRowProps }, 8936: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/const.js ***! \*****************************************************************************************/ function(__unused_webpack_module, exports) { exports.DefaultSizes = exports.DATE_TABLE_ROW_CLASS = exports.DATE_TABLE_CELL_CLASS = exports.ALL_DAY_ROW_CLASS = exports.ALL_DAY_PANEL_CELL_CLASS = void 0; exports.DefaultSizes = { allDayPanelHeight: 25 }; exports.DATE_TABLE_CELL_CLASS = "dx-scheduler-date-table-cell"; exports.ALL_DAY_PANEL_CELL_CLASS = "dx-scheduler-all-day-table-cell"; exports.DATE_TABLE_ROW_CLASS = "dx-scheduler-date-table-row"; exports.ALL_DAY_ROW_CLASS = "dx-scheduler-all-day-table-row" }, 9553: /*!*********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/month/date_table/cell.js ***! \*********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.MonthDateTableCell = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _combine_classes = __webpack_require__( /*! ../../../../../utils/combine_classes */ 86237); var _cell = __webpack_require__( /*! ../../base/date_table/cell */ 51430); var _excluded = ["allDay", "ariaLabel", "children", "className", "contentTemplateProps", "dataCellTemplate", "endDate", "firstDayOfMonth", "groupIndex", "groups", "index", "isFirstGroupCell", "isFocused", "isLastGroupCell", "isSelected", "otherMonth", "startDate", "text", "today"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var classes = _ref.classes, contentTemplateProps = _ref.contentTemplateProps, _ref$props = _ref.props, dataCellTemplate = _ref$props.dataCellTemplate, endDate = _ref$props.endDate, groupIndex = _ref$props.groupIndex, groups = _ref$props.groups, index = _ref$props.index, isFirstGroupCell = _ref$props.isFirstGroupCell, isFocused = _ref$props.isFocused, isLastGroupCell = _ref$props.isLastGroupCell, isSelected = _ref$props.isSelected, startDate = _ref$props.startDate, text = _ref$props.text; return (0, _inferno.createComponentVNode)(2, _cell.DateTableCellBase, { className: classes, dataCellTemplate: dataCellTemplate, startDate: startDate, endDate: endDate, text: text, groups: groups, groupIndex: groupIndex, index: index, isFirstGroupCell: isFirstGroupCell, isLastGroupCell: isLastGroupCell, isSelected: isSelected, isFocused: isFocused, contentTemplateProps: contentTemplateProps, children: (0, _inferno.createVNode)(1, "div", "dx-scheduler-date-table-cell-text", text, 0) }) }; exports.viewFunction = viewFunction; var MonthDateTableCell = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(MonthDateTableCell, _BaseInfernoComponent); function MonthDateTableCell(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; _this.__getterCache = {}; return _this } var _proto = MonthDateTableCell.prototype; _proto.componentWillUpdate = function(nextProps, nextState, context) { if (this.props.index !== nextProps.index || this.props.text !== nextProps.text) { this.__getterCache.contentTemplateProps = void 0 } }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { dataCellTemplate: (TemplateProp = props.dataCellTemplate, TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp)) }), classes: this.classes, contentTemplateProps: this.contentTemplateProps, restAttributes: this.restAttributes }); var TemplateProp }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(MonthDateTableCell, [{ key: "classes", get: function() { var _this$props = this.props, className = _this$props.className, firstDayOfMonth = _this$props.firstDayOfMonth, otherMonth = _this$props.otherMonth, today = _this$props.today; return (0, _combine_classes.combineClasses)(function(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj }({ "dx-scheduler-date-table-other-month": !!otherMonth, "dx-scheduler-date-table-current-date": !!today, "dx-scheduler-date-table-first-of-month": !!firstDayOfMonth }, className, !!className)) } }, { key: "contentTemplateProps", get: function() { var _this2 = this; if (void 0 !== this.__getterCache.contentTemplateProps) { return this.__getterCache.contentTemplateProps } return this.__getterCache.contentTemplateProps = (_this2$props = _this2.props, index = _this2$props.index, text = _this2$props.text, { data: { text: text }, index: index }); var _this2$props, index, text } }, { key: "restAttributes", get: function() { var _this$props2 = this.props, restProps = (_this$props2.allDay, _this$props2.ariaLabel, _this$props2.children, _this$props2.className, _this$props2.contentTemplateProps, _this$props2.dataCellTemplate, _this$props2.endDate, _this$props2.firstDayOfMonth, _this$props2.groupIndex, _this$props2.groups, _this$props2.index, _this$props2.isFirstGroupCell, _this$props2.isFocused, _this$props2.isLastGroupCell, _this$props2.isSelected, _this$props2.otherMonth, _this$props2.startDate, _this$props2.text, _this$props2.today, _objectWithoutProperties(_this$props2, _excluded)); return restProps } }]); return MonthDateTableCell }(_inferno2.BaseInfernoComponent); exports.MonthDateTableCell = MonthDateTableCell; MonthDateTableCell.defaultProps = _cell.DateTableCellBaseProps }, 48136: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/month/date_table/layout.j.js ***! \*************************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = (obj = __webpack_require__( /*! ../../../../../../core/component_registrator */ 99393), obj && obj.__esModule ? obj : { default: obj }); var obj; var _date_table = __webpack_require__( /*! ../../../../../component_wrapper/scheduler/date_table */ 15281); var _layout = __webpack_require__( /*! ./layout */ 7405); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var MonthDateTableLayout = function(_DateTable) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(MonthDateTableLayout, _DateTable); function MonthDateTableLayout() { return _DateTable.apply(this, arguments) || this }! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(MonthDateTableLayout, [{ key: "_propsInfo", get: function() { return { twoWay: [], allowNull: [], elements: [], templates: ["cellTemplate", "dataCellTemplate"], props: ["cellTemplate", "viewData", "groupOrientation", "leftVirtualCellWidth", "rightVirtualCellWidth", "topVirtualRowHeight", "bottomVirtualRowHeight", "addDateTableClass", "addVerticalSizesClassToRows", "width", "dataCellTemplate"] } } }, { key: "_viewComponent", get: function() { return _layout.MonthDateTableLayout } }]); return MonthDateTableLayout }(_date_table.DateTable); exports.default = MonthDateTableLayout; (0, _component_registrator.default)("dxMonthDateTableLayout", MonthDateTableLayout); module.exports = exports.default; module.exports.default = exports.default }, 7405: /*!***********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/month/date_table/layout.js ***! \***********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.MonthDateTableLayout = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _layout = __webpack_require__( /*! ../../base/date_table/layout */ 96941); var _cell = __webpack_require__( /*! ./cell */ 9553); var _excluded = ["addDateTableClass", "addVerticalSizesClassToRows", "bottomVirtualRowHeight", "cellTemplate", "dataCellTemplate", "groupOrientation", "leftVirtualCellWidth", "rightVirtualCellWidth", "tableRef", "topVirtualRowHeight", "viewData", "width"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var _ref$props = _ref.props, addDateTableClass = _ref$props.addDateTableClass, addVerticalSizesClassToRows = _ref$props.addVerticalSizesClassToRows, dataCellTemplate = _ref$props.dataCellTemplate, groupOrientation = _ref$props.groupOrientation, tableRef = _ref$props.tableRef, viewData = _ref$props.viewData, width = _ref$props.width, restAttributes = _ref.restAttributes; return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, _layout.DateTableLayoutBase, _extends({ viewData: viewData, groupOrientation: groupOrientation, addDateTableClass: addDateTableClass, dataCellTemplate: dataCellTemplate, cellTemplate: _cell.MonthDateTableCell, tableRef: tableRef, addVerticalSizesClassToRows: addVerticalSizesClassToRows, width: width }, restAttributes))) }; exports.viewFunction = viewFunction; var getTemplate = function(TemplateProp) { return TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp) }; var MonthDateTableLayout = function(_InfernoWrapperCompon) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(MonthDateTableLayout, _InfernoWrapperCompon); function MonthDateTableLayout(props) { var _this; _this = _InfernoWrapperCompon.call(this, props) || this; _this.state = {}; return _this } var _proto = MonthDateTableLayout.prototype; _proto.createEffects = function() { return [(0, _inferno2.createReRenderEffect)()] }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { cellTemplate: getTemplate(props.cellTemplate), dataCellTemplate: getTemplate(props.dataCellTemplate) }), restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(MonthDateTableLayout, [{ key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.addDateTableClass, _this$props.addVerticalSizesClassToRows, _this$props.bottomVirtualRowHeight, _this$props.cellTemplate, _this$props.dataCellTemplate, _this$props.groupOrientation, _this$props.leftVirtualCellWidth, _this$props.rightVirtualCellWidth, _this$props.tableRef, _this$props.topVirtualRowHeight, _this$props.viewData, _this$props.width, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return MonthDateTableLayout }(_inferno2.InfernoWrapperComponent); exports.MonthDateTableLayout = MonthDateTableLayout; MonthDateTableLayout.defaultProps = _layout.DateTableLayoutProps }, 34300: /*!****************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/timeline/header_panel/date_header/layout.js ***! \****************************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.TimelineDateHeaderLayout = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _row = __webpack_require__( /*! ../../../base/row */ 14364); var _utils = __webpack_require__( /*! ../../../utils */ 97205); var _cell = __webpack_require__( /*! ../../../base/header_panel/date_header/cell */ 92366); var _layout = __webpack_require__( /*! ../../../base/header_panel/date_header/layout */ 35878); var _getThemeType2 = (obj = __webpack_require__( /*! ../../../../../../utils/getThemeType */ 32586), obj && obj.__esModule ? obj : { default: obj }); var obj; var _excluded = ["dateCellTemplate", "dateHeaderData", "groupByDate", "groupOrientation", "groups", "timeCellTemplate"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var _getThemeType = (0, _getThemeType2.default)(), isMaterial = _getThemeType.isMaterial; var viewFunction = function(_ref) { var isHorizontalGrouping = _ref.isHorizontalGrouping, _ref$props = _ref.props, dateCellTemplate = _ref$props.dateCellTemplate, dateHeaderData = _ref$props.dateHeaderData, timeCellTemplate = _ref$props.timeCellTemplate; var dataMap = dateHeaderData.dataMap, isMonthDateHeader = dateHeaderData.isMonthDateHeader, leftVirtualCellCount = dateHeaderData.leftVirtualCellCount, leftVirtualCellWidth = dateHeaderData.leftVirtualCellWidth, rightVirtualCellCount = dateHeaderData.rightVirtualCellCount, rightVirtualCellWidth = dateHeaderData.rightVirtualCellWidth, weekDayLeftVirtualCellCount = dateHeaderData.weekDayLeftVirtualCellCount, weekDayLeftVirtualCellWidth = dateHeaderData.weekDayLeftVirtualCellWidth, weekDayRightVirtualCellCount = dateHeaderData.weekDayRightVirtualCellCount, weekDayRightVirtualCellWidth = dateHeaderData.weekDayRightVirtualCellWidth; return (0, _inferno.createFragment)(dataMap.map((function(dateHeaderRow, rowIndex) { var rowsCount = dataMap.length; var isTimeCellTemplate = rowsCount - 1 === rowIndex; var isWeekDayRow = rowsCount > 1 && 0 === rowIndex; var splitText = isMaterial && (isMonthDateHeader || isWeekDayRow); var validLeftVirtualCellCount = leftVirtualCellCount; var validRightVirtualCellCount = rightVirtualCellCount; var validRightVirtualCellWidth = rightVirtualCellWidth; var validLeftVirtualCellWidth = leftVirtualCellWidth; if (isWeekDayRow) { validLeftVirtualCellCount = weekDayLeftVirtualCellCount; validRightVirtualCellCount = weekDayRightVirtualCellCount; validRightVirtualCellWidth = weekDayRightVirtualCellWidth; validLeftVirtualCellWidth = weekDayLeftVirtualCellWidth } return (0, _inferno.createComponentVNode)(2, _row.Row, { className: "dx-scheduler-header-row", leftVirtualCellWidth: validLeftVirtualCellWidth, leftVirtualCellCount: validLeftVirtualCellCount, rightVirtualCellWidth: validRightVirtualCellWidth, rightVirtualCellCount: validRightVirtualCellCount, children: dateHeaderRow.map((function(_ref2) { var colSpan = _ref2.colSpan, endDate = _ref2.endDate, groupIndex = _ref2.groupIndex, cellGroups = _ref2.groups, index = _ref2.index, isFirstGroupCell = _ref2.isFirstGroupCell, isLastGroupCell = _ref2.isLastGroupCell, key = _ref2.key, startDate = _ref2.startDate, text = _ref2.text, today = _ref2.today; return (0, _inferno.createComponentVNode)(2, _cell.DateHeaderCell, { startDate: startDate, endDate: endDate, groups: isHorizontalGrouping ? cellGroups : void 0, groupIndex: isHorizontalGrouping ? groupIndex : void 0, today: today, index: index, text: text, isFirstGroupCell: isFirstGroupCell, isLastGroupCell: isLastGroupCell, isWeekDayCell: isWeekDayRow, colSpan: colSpan, splitText: splitText, dateCellTemplate: dateCellTemplate, timeCellTemplate: timeCellTemplate, isTimeCellTemplate: isTimeCellTemplate }, key) })) }, rowIndex.toString()) })), 0) }; exports.viewFunction = viewFunction; var getTemplate = function(TemplateProp) { return TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp) }; var TimelineDateHeaderLayout = function(_BaseInfernoComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(TimelineDateHeaderLayout, _BaseInfernoComponent); function TimelineDateHeaderLayout(props) { var _this; _this = _BaseInfernoComponent.call(this, props) || this; _this.state = {}; return _this } var _proto = TimelineDateHeaderLayout.prototype; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { dateCellTemplate: getTemplate(props.dateCellTemplate), timeCellTemplate: getTemplate(props.timeCellTemplate) }), isHorizontalGrouping: this.isHorizontalGrouping, restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(TimelineDateHeaderLayout, [{ key: "isHorizontalGrouping", get: function() { var _this$props = this.props, groupByDate = _this$props.groupByDate, groupOrientation = _this$props.groupOrientation, groups = _this$props.groups; return (0, _utils.isHorizontalGroupingApplied)(groups, groupOrientation) && !groupByDate } }, { key: "restAttributes", get: function() { var _this$props2 = this.props, restProps = (_this$props2.dateCellTemplate, _this$props2.dateHeaderData, _this$props2.groupByDate, _this$props2.groupOrientation, _this$props2.groups, _this$props2.timeCellTemplate, _objectWithoutProperties(_this$props2, _excluded)); return restProps } }]); return TimelineDateHeaderLayout }(_inferno2.BaseInfernoComponent); exports.TimelineDateHeaderLayout = TimelineDateHeaderLayout; TimelineDateHeaderLayout.defaultProps = _layout.DateHeaderLayoutProps }, 8262: /*!******************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/timeline/header_panel/layout.j.js ***! \******************************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = (obj = __webpack_require__( /*! ../../../../../../core/component_registrator */ 99393), obj && obj.__esModule ? obj : { default: obj }); var obj; var _header_panel = __webpack_require__( /*! ../../../../../component_wrapper/scheduler/header_panel */ 86214); var _layout = __webpack_require__( /*! ./layout */ 377); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var TimelineHeaderPanelLayout = function(_HeaderPanel) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(TimelineHeaderPanelLayout, _HeaderPanel); function TimelineHeaderPanelLayout() { return _HeaderPanel.apply(this, arguments) || this }! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(TimelineHeaderPanelLayout, [{ key: "_propsInfo", get: function() { return { twoWay: [], allowNull: [], elements: [], templates: ["dateCellTemplate", "timeCellTemplate", "dateHeaderTemplate", "resourceCellTemplate"], props: ["dateHeaderData", "isRenderDateHeader", "dateCellTemplate", "timeCellTemplate", "dateHeaderTemplate", "groups", "groupOrientation", "groupPanelData", "groupByDate", "height", "className", "resourceCellTemplate"] } } }, { key: "_viewComponent", get: function() { return _layout.TimelineHeaderPanelLayout } }]); return TimelineHeaderPanelLayout }(_header_panel.HeaderPanel); exports.default = TimelineHeaderPanelLayout; (0, _component_registrator.default)("dxTimelineHeaderPanelLayout", TimelineHeaderPanelLayout); module.exports = exports.default; module.exports.default = exports.default }, 377: /*!****************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/timeline/header_panel/layout.js ***! \****************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.viewFunction = exports.TimelineHeaderPanelLayout = void 0; var _inferno = __webpack_require__( /*! inferno */ 55285); var _inferno2 = __webpack_require__( /*! @devextreme/runtime/inferno */ 44105); var _layout = __webpack_require__( /*! ../../base/header_panel/layout */ 84011); var _layout2 = __webpack_require__( /*! ./date_header/layout */ 34300); var _excluded = ["className", "dateCellTemplate", "dateHeaderData", "dateHeaderTemplate", "elementRef", "groupByDate", "groupOrientation", "groupPanelData", "groups", "height", "isRenderDateHeader", "resourceCellTemplate", "timeCellTemplate"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var viewFunction = function(_ref) { var _ref$props = _ref.props, dateCellTemplate = _ref$props.dateCellTemplate, dateHeaderData = _ref$props.dateHeaderData, groupByDate = _ref$props.groupByDate, groupOrientation = _ref$props.groupOrientation, groupPanelData = _ref$props.groupPanelData, groups = _ref$props.groups, isRenderDateHeader = _ref$props.isRenderDateHeader, resourceCellTemplate = _ref$props.resourceCellTemplate, timeCellTemplate = _ref$props.timeCellTemplate; return (0, _inferno.createComponentVNode)(2, _layout.HeaderPanelLayout, { dateHeaderTemplate: _layout2.TimelineDateHeaderLayout, dateHeaderData: dateHeaderData, groupPanelData: groupPanelData, groupByDate: groupByDate, groups: groups, groupOrientation: groupOrientation, isRenderDateHeader: isRenderDateHeader, resourceCellTemplate: resourceCellTemplate, dateCellTemplate: dateCellTemplate, timeCellTemplate: timeCellTemplate }) }; exports.viewFunction = viewFunction; var getTemplate = function(TemplateProp) { return TemplateProp && (TemplateProp.defaultProps ? function(props) { return (0, _inferno.normalizeProps)((0, _inferno.createComponentVNode)(2, TemplateProp, _extends({}, props))) } : TemplateProp) }; var TimelineHeaderPanelLayout = function(_InfernoWrapperCompon) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(TimelineHeaderPanelLayout, _InfernoWrapperCompon); function TimelineHeaderPanelLayout(props) { var _this; _this = _InfernoWrapperCompon.call(this, props) || this; _this.state = {}; return _this } var _proto = TimelineHeaderPanelLayout.prototype; _proto.createEffects = function() { return [(0, _inferno2.createReRenderEffect)()] }; _proto.render = function() { var props = this.props; return viewFunction({ props: _extends({}, props, { dateCellTemplate: getTemplate(props.dateCellTemplate), timeCellTemplate: getTemplate(props.timeCellTemplate), dateHeaderTemplate: getTemplate(props.dateHeaderTemplate), resourceCellTemplate: getTemplate(props.resourceCellTemplate) }), restAttributes: this.restAttributes }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(TimelineHeaderPanelLayout, [{ key: "restAttributes", get: function() { var _this$props = this.props, restProps = (_this$props.className, _this$props.dateCellTemplate, _this$props.dateHeaderData, _this$props.dateHeaderTemplate, _this$props.elementRef, _this$props.groupByDate, _this$props.groupOrientation, _this$props.groupPanelData, _this$props.groups, _this$props.height, _this$props.isRenderDateHeader, _this$props.resourceCellTemplate, _this$props.timeCellTemplate, _objectWithoutProperties(_this$props, _excluded)); return restProps } }]); return TimelineHeaderPanelLayout }(_inferno2.InfernoWrapperComponent); exports.TimelineHeaderPanelLayout = TimelineHeaderPanelLayout; TimelineHeaderPanelLayout.defaultProps = _layout.HeaderPanelLayoutProps }, 97205: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scheduler/workspaces/utils.js ***! \*****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.isVerticalGroupingApplied = exports.isHorizontalGroupingApplied = exports.isGroupingByDate = exports.getKeyByGroup = exports.getKeyByDateAndGroup = exports.getIsGroupedAllDayPanel = exports.getGroupCellClasses = exports.addWidthToStyle = exports.addToStyles = exports.addHeightToStyle = void 0; var _combine_classes = __webpack_require__( /*! ../../../utils/combine_classes */ 86237); var _consts = __webpack_require__( /*! ../consts */ 4799); function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } exports.getKeyByDateAndGroup = function(date, groupIndex) { var key = date.getTime(); if (!groupIndex) { return key.toString() } return (key + groupIndex).toString() }; exports.getKeyByGroup = function(groupIndex, isVerticalGrouping) { if (isVerticalGrouping && !!groupIndex) { return groupIndex.toString() } return "0" }; var addToStyles = function(options, style) { var nextStyle = null !== style && void 0 !== style ? style : {}; var result = _extends({}, nextStyle); options.forEach((function(_ref) { var attr = _ref.attr, value = _ref.value; result[attr] = value || nextStyle[attr] })); return result }; exports.addToStyles = addToStyles; exports.addHeightToStyle = function(value, style) { var height = value ? "".concat(value, "px") : ""; return addToStyles([{ attr: "height", value: height }], style) }; exports.addWidthToStyle = function(value, style) { var width = value ? "".concat(value, "px") : ""; return addToStyles([{ attr: "width", value: width }], style) }; exports.getGroupCellClasses = function() { var isFirstGroupCell = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false; var isLastGroupCell = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false; var className = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : ""; return (0, _combine_classes.combineClasses)(_defineProperty({ "dx-scheduler-first-group-cell": isFirstGroupCell, "dx-scheduler-last-group-cell": isLastGroupCell }, className, true)) }; exports.getIsGroupedAllDayPanel = function(hasAllDayRow, isVerticalGrouping) { return hasAllDayRow && isVerticalGrouping }; exports.isVerticalGroupingApplied = function(groups, groupOrientation) { return groupOrientation === _consts.VERTICAL_GROUP_ORIENTATION && !!groups.length }; var isHorizontalGroupingApplied = function(groups, groupOrientation) { return groupOrientation === _consts.HORIZONTAL_GROUP_ORIENTATION && !!groups.length }; exports.isHorizontalGroupingApplied = isHorizontalGroupingApplied; exports.isGroupingByDate = function(groups, groupOrientation, groupByDate) { var isHorizontalGrouping = isHorizontalGroupingApplied(groups, groupOrientation); return groupByDate && isHorizontalGrouping } }, 23842: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scroll_view/common/consts.js ***! \****************************************************************************************/ function(__unused_webpack_module, exports) { exports.VALIDATE_WHEEL_TIMEOUT = exports.TopPocketState = exports.ShowScrollbarMode = exports.SCROLL_LINE_HEIGHT = exports.SCROLLVIEW_TOP_POCKET_CLASS = exports.SCROLLVIEW_REACHBOTTOM_TEXT_CLASS = exports.SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS = exports.SCROLLVIEW_REACHBOTTOM_CLASS = exports.SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = exports.SCROLLVIEW_PULLDOWN_TEXT_CLASS = exports.SCROLLVIEW_PULLDOWN_READY_CLASS = exports.SCROLLVIEW_PULLDOWN_LOADING_CLASS = exports.SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = exports.SCROLLVIEW_PULLDOWN_IMAGE_CLASS = exports.SCROLLVIEW_PULLDOWN = exports.SCROLLVIEW_CONTENT_CLASS = exports.SCROLLVIEW_BOTTOM_POCKET_CLASS = exports.SCROLLABLE_WRAPPER_CLASS = exports.SCROLLABLE_SIMULATED_CLASS = exports.SCROLLABLE_SCROLL_CONTENT_CLASS = exports.SCROLLABLE_SCROLL_CLASS = exports.SCROLLABLE_SCROLLBAR_SIMULATED = exports.SCROLLABLE_SCROLLBAR_CLASS = exports.SCROLLABLE_SCROLLBAR_ACTIVE_CLASS = exports.SCROLLABLE_SCROLLBARS_HIDDEN = exports.SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE = exports.SCROLLABLE_DISABLED_CLASS = exports.SCROLLABLE_CONTENT_CLASS = exports.SCROLLABLE_CONTAINER_CLASS = exports.PULLDOWN_ICON_CLASS = exports.KEY_CODES = exports.HOVER_ENABLED_STATE = exports.HIDE_SCROLLBAR_TIMEOUT = exports.DIRECTION_VERTICAL = exports.DIRECTION_HORIZONTAL = exports.DIRECTION_BOTH = void 0; exports.SCROLL_LINE_HEIGHT = 40; exports.DIRECTION_VERTICAL = "vertical"; exports.DIRECTION_HORIZONTAL = "horizontal"; exports.DIRECTION_BOTH = "both"; exports.SCROLLABLE_SIMULATED_CLASS = "dx-scrollable-simulated"; exports.SCROLLABLE_CONTENT_CLASS = "dx-scrollable-content"; exports.SCROLLABLE_WRAPPER_CLASS = "dx-scrollable-wrapper"; exports.SCROLLABLE_CONTAINER_CLASS = "dx-scrollable-container"; exports.SCROLLABLE_DISABLED_CLASS = "dx-scrollable-disabled"; exports.SCROLLABLE_SCROLLBAR_SIMULATED = "dx-scrollable-scrollbar-simulated"; exports.SCROLLABLE_SCROLLBARS_HIDDEN = "dx-scrollable-scrollbars-hidden"; exports.SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE = "dx-scrollable-scrollbars-alwaysvisible"; exports.SCROLLABLE_SCROLLBAR_CLASS = "dx-scrollable-scrollbar"; exports.SCROLLABLE_SCROLLBAR_ACTIVE_CLASS = "dx-scrollable-scrollbar-active"; exports.SCROLLABLE_SCROLL_CLASS = "dx-scrollable-scroll"; exports.SCROLLABLE_SCROLL_CONTENT_CLASS = "dx-scrollable-scroll-content"; exports.HOVER_ENABLED_STATE = "dx-scrollbar-hoverable"; exports.SCROLLVIEW_CONTENT_CLASS = "dx-scrollview-content"; exports.SCROLLVIEW_TOP_POCKET_CLASS = "dx-scrollview-top-pocket"; exports.SCROLLVIEW_PULLDOWN = "dx-scrollview-pull-down"; exports.SCROLLVIEW_PULLDOWN_LOADING_CLASS = "dx-scrollview-pull-down-loading"; exports.SCROLLVIEW_PULLDOWN_READY_CLASS = "dx-scrollview-pull-down-ready"; exports.SCROLLVIEW_PULLDOWN_IMAGE_CLASS = "dx-scrollview-pull-down-image"; exports.SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = "dx-scrollview-pull-down-indicator"; exports.SCROLLVIEW_PULLDOWN_TEXT_CLASS = "dx-scrollview-pull-down-text"; exports.SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = "dx-scrollview-pull-down-text-visible"; exports.PULLDOWN_ICON_CLASS = "dx-icon-pulldown"; exports.SCROLLVIEW_BOTTOM_POCKET_CLASS = "dx-scrollview-bottom-pocket"; exports.SCROLLVIEW_REACHBOTTOM_CLASS = "dx-scrollview-scrollbottom"; exports.SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS = "dx-scrollview-scrollbottom-indicator"; exports.SCROLLVIEW_REACHBOTTOM_TEXT_CLASS = "dx-scrollview-scrollbottom-text"; exports.TopPocketState = { STATE_RELEASED: 0, STATE_READY: 1, STATE_REFRESHING: 2, STATE_LOADING: 3, STATE_TOUCHED: 4, STATE_PULLED: 5 }; exports.ShowScrollbarMode = { HOVER: "onHover", ALWAYS: "always", NEVER: "never", SCROLL: "onScroll" }; exports.KEY_CODES = { PAGE_UP: "pageUp", PAGE_DOWN: "pageDown", END: "end", HOME: "home", LEFT: "leftArrow", UP: "upArrow", RIGHT: "rightArrow", DOWN: "downArrow" }; exports.VALIDATE_WHEEL_TIMEOUT = 500; exports.HIDE_SCROLLBAR_TIMEOUT = 500 }, 82886: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scroll_view/utils/convert_location.js ***! \*************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.convertToLocation = function(location, direction) { if ((0, _type.isPlainObject)(location)) { var left = (0, _common.ensureDefined)(location.left, location.x); var top = (0, _common.ensureDefined)(location.top, location.y); return { left: (0, _type.isDefined)(left) ? left : void 0, top: (0, _type.isDefined)(top) ? top : void 0 } } var _ScrollDirection = new _scroll_direction.ScrollDirection(direction), isHorizontal = _ScrollDirection.isHorizontal, isVertical = _ScrollDirection.isVertical; return { left: isHorizontal && (0, _type.isDefined)(location) ? location : void 0, top: isVertical && (0, _type.isDefined)(location) ? location : void 0 } }; var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _common = __webpack_require__( /*! ../../../../core/utils/common */ 20576); var _scroll_direction = __webpack_require__( /*! ./scroll_direction */ 60440) }, 70602: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scroll_view/utils/get_boundary_props.js ***! \***************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getBoundaryProps = function(direction, scrollOffset, element) { var pocketHeight = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0; var left = scrollOffset.left, top = scrollOffset.top; var boundaryProps = {}; var _ScrollDirection = new _scroll_direction.ScrollDirection(direction), isHorizontal = _ScrollDirection.isHorizontal, isVertical = _ScrollDirection.isVertical; if (isHorizontal) { boundaryProps.reachedLeft = isReachedLeft(left, 0); boundaryProps.reachedRight = isReachedRight(element, left, 0) } if (isVertical) { boundaryProps.reachedTop = isReachedTop(top, 0); boundaryProps.reachedBottom = isReachedBottom(element, top, pocketHeight, 0) } return boundaryProps }; exports.isReachedBottom = isReachedBottom; exports.isReachedLeft = isReachedLeft; exports.isReachedRight = isReachedRight; exports.isReachedTop = isReachedTop; var _get_scroll_left_max = __webpack_require__( /*! ./get_scroll_left_max */ 92721); var _get_scroll_top_max = __webpack_require__( /*! ./get_scroll_top_max */ 71296); var _scroll_direction = __webpack_require__( /*! ./scroll_direction */ 60440); function isReachedLeft(scrollOffsetLeft, epsilon) { return Math.round(scrollOffsetLeft) <= epsilon } function isReachedRight(element, scrollOffsetLeft, epsilon) { return Math.round((0, _get_scroll_left_max.getScrollLeftMax)(element) - scrollOffsetLeft) <= epsilon } function isReachedTop(scrollOffsetTop, epsilon) { return Math.round(scrollOffsetTop) <= epsilon } function isReachedBottom(element, scrollOffsetTop, pocketHeight, epsilon) { return Math.round((0, _get_scroll_top_max.getScrollTopMax)(element) - scrollOffsetTop - pocketHeight) <= epsilon } }, 60650: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scroll_view/utils/get_element_location_internal.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getElementLocationInternal = function(targetElement, direction, containerElement, scrollOffset, offset) { var additionalOffset = _extends({ top: 0, left: 0, right: 0, bottom: 0 }, offset); var isVertical = direction === _consts.DIRECTION_VERTICAL; var prop = isVertical ? "top" : "left"; var inverseProp = isVertical ? "bottom" : "right"; var dimension = isVertical ? "height" : "width"; var containerOffsetSize = containerElement["offset".concat((0, _inflector.titleize)(dimension))]; var containerClientSize = containerElement["client".concat((0, _inflector.titleize)(dimension))]; var containerSize = containerElement.getBoundingClientRect()[dimension]; var elementSize = targetElement.getBoundingClientRect()[dimension]; var scale = 1; if (Math.abs(containerSize - containerOffsetSize) > 1) { scale = containerSize / containerOffsetSize } var relativeElementOffset = (0, _get_relative_offset.getRelativeOffset)(_consts.SCROLLABLE_CONTENT_CLASS, targetElement)[prop] / scale; var containerScrollOffset = scrollOffset[prop]; var relativeStartOffset = containerScrollOffset - relativeElementOffset + additionalOffset[prop]; var relativeEndOffset = containerScrollOffset - relativeElementOffset - elementSize / scale + containerClientSize - additionalOffset[inverseProp]; if (relativeStartOffset <= 0 && relativeEndOffset >= 0) { return containerScrollOffset } return containerScrollOffset - (Math.abs(relativeStartOffset) > Math.abs(relativeEndOffset) ? relativeEndOffset : relativeStartOffset) }; var _inflector = __webpack_require__( /*! ../../../../core/utils/inflector */ 78008); var _get_relative_offset = __webpack_require__( /*! ./get_relative_offset */ 1515); var _consts = __webpack_require__( /*! ../common/consts */ 23842); function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } }, 42136: /*!**************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scroll_view/utils/get_element_style.js ***! \**************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getElementMargin = function(element, side) { var style = getElementStyle(element); return style ? (0, _type_conversion.toNumber)(style["margin".concat((0, _inflector.titleize)(side))]) : 0 }; exports.getElementOverflowX = function(element) { var style = getElementStyle(element); return style ? style.overflowX : "visible" }; exports.getElementOverflowY = function(element) { var style = getElementStyle(element); return style ? style.overflowY : "visible" }; exports.getElementPadding = function(element, side) { var style = getElementStyle(element); return style ? (0, _type_conversion.toNumber)(style["padding".concat((0, _inflector.titleize)(side))]) : 0 }; exports.getElementStyle = getElementStyle; exports.getElementTransform = function(element) { var style = getElementStyle(element); return style ? style.transform : "" }; var _inflector = __webpack_require__( /*! ../../../../core/utils/inflector */ 78008); var _window = __webpack_require__( /*! ../../../../core/utils/window */ 58201); var _type_conversion = __webpack_require__( /*! ../../../utils/type_conversion */ 78461); function getElementStyle(el) { var _getWindow$getCompute, _getWindow; return el && (0, _window.hasWindow)() ? null === (_getWindow$getCompute = (_getWindow = (0, _window.getWindow)()).getComputedStyle) || void 0 === _getWindow$getCompute ? void 0 : _getWindow$getCompute.call(_getWindow, el) : null } }, 1515: /*!****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scroll_view/utils/get_relative_offset.js ***! \****************************************************************************************************/ function(__unused_webpack_module, exports) { exports.getRelativeOffset = function(targetElementClass, sourceElement) { var offset = { left: 0, top: 0 }; var element = sourceElement; while (null !== (_element = element) && void 0 !== _element && _element.offsetParent && !element.classList.contains(targetElementClass)) { var _element; var parentElement = element.offsetParent; var elementRect = element.getBoundingClientRect(); var parentElementRect = parentElement.getBoundingClientRect(); offset.left += elementRect.left - parentElementRect.left; offset.top += elementRect.top - parentElementRect.top; element = element.offsetParent } return offset } }, 92721: /*!****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scroll_view/utils/get_scroll_left_max.js ***! \****************************************************************************************************/ function(__unused_webpack_module, exports) { exports.getScrollLeftMax = function(element) { return element.scrollWidth - element.clientWidth } }, 71296: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scroll_view/utils/get_scroll_top_max.js ***! \***************************************************************************************************/ function(__unused_webpack_module, exports) { exports.getScrollTopMax = function(element) { return element.scrollHeight - element.clientHeight } }, 60440: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/ui/scroll_view/utils/scroll_direction.js ***! \*************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.ScrollDirection = void 0; var _consts = __webpack_require__( /*! ../common/consts */ 23842); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var ScrollDirection = function() { function ScrollDirection(direction) { this.DIRECTION_HORIZONTAL = "horizontal"; this.DIRECTION_VERTICAL = "vertical"; this.DIRECTION_BOTH = "both"; this.direction = null !== direction && void 0 !== direction ? direction : _consts.DIRECTION_VERTICAL }! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(ScrollDirection, [{ key: "isHorizontal", get: function() { return this.direction === _consts.DIRECTION_HORIZONTAL || this.direction === _consts.DIRECTION_BOTH } }, { key: "isVertical", get: function() { return this.direction === _consts.DIRECTION_VERTICAL || this.direction === _consts.DIRECTION_BOTH } }, { key: "isBoth", get: function() { return this.direction === _consts.DIRECTION_BOTH } }]); return ScrollDirection }(); exports.ScrollDirection = ScrollDirection }, 86237: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/utils/combine_classes.js ***! \*********************************************************************************/ function(__unused_webpack_module, exports) { exports.combineClasses = function(classesMap) { return Object.keys(classesMap).filter((function(p) { return classesMap[p] })).join(" ") } }, 46299: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/utils/dom.js ***! \*********************************************************************/ function(__unused_webpack_module, exports) { exports.querySelectorInSameDocument = function(el, selector) { var _el$getRootNode, _el$getRootNode2; var root = null !== (_el$getRootNode = null === (_el$getRootNode2 = el.getRootNode) || void 0 === _el$getRootNode2 ? void 0 : _el$getRootNode2.call(el)) && void 0 !== _el$getRootNode ? _el$getRootNode : document; return root.querySelector(selector) } }, 32586: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/utils/getThemeType.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _themes = __webpack_require__( /*! ../../ui/themes */ 75811); var _default = function() { var theme = (0, _themes.current)(); return { isCompact: (0, _themes.isCompact)(theme), isMaterial: (0, _themes.isMaterial)(theme) } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 89357: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/utils/get_computed_style.js ***! \************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = function(el) { var _window$getComputedSt; var window = (0, _window.getWindow)(); return el ? null === (_window$getComputedSt = window.getComputedStyle) || void 0 === _window$getComputedSt ? void 0 : _window$getComputedSt.call(window, el) : null }; var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); module.exports = exports.default; module.exports.default = exports.default }, 8374: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/utils/resolve_rtl.js ***! \*****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.resolveRtlEnabled = function(rtlProp, config) { if (void 0 !== rtlProp) { return rtlProp } if (void 0 !== (null === config || void 0 === config ? void 0 : config.rtlEnabled)) { return config.rtlEnabled } return (0, _config.default)().rtlEnabled }; exports.resolveRtlEnabledDefinition = function(rtlProp, config) { var isPropDefined = (0, _type.isDefined)(rtlProp); var onlyGlobalDefined = (0, _type.isDefined)((0, _config.default)().rtlEnabled) && !isPropDefined && !(0, _type.isDefined)(null === config || void 0 === config ? void 0 : config.rtlEnabled); return isPropDefined && rtlProp !== (null === config || void 0 === config ? void 0 : config.rtlEnabled) || onlyGlobalDefined }; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _config = (obj = __webpack_require__( /*! ../../core/config */ 80209), obj && obj.__esModule ? obj : { default: obj }); var obj }, 33502: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/utils/shallow_equals.js ***! \********************************************************************************/ function(__unused_webpack_module, exports) { exports.shallowEquals = void 0; exports.shallowEquals = function(firstObject, secondObject) { if (Object.keys(firstObject).length !== Object.keys(secondObject).length) { return false } return Object.keys(firstObject).every((function(key) { return firstObject[key] === secondObject[key] })) } }, 19828: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/utils/subscribe_to_event.js ***! \************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.subscribeToDxInactiveEvent = exports.subscribeToDxHoverStartEvent = exports.subscribeToDxHoverEndEvent = exports.subscribeToDxFocusOutEvent = exports.subscribeToDxFocusInEvent = exports.subscribeToDxActiveEvent = exports.subscribeToDXScrollStopEvent = exports.subscribeToDXScrollStartEvent = exports.subscribeToDXScrollMoveEvent = exports.subscribeToDXScrollEndEvent = exports.subscribeToDXScrollCancelEvent = exports.subscribeToDXPointerUpEvent = exports.subscribeToDXPointerMoveEvent = exports.subscribeToDXPointerDownEvent = exports.subscribeToClickEvent = void 0; exports.subscribeToEvent = subscribeToEvent; exports.subscribeToScrollInitEvent = exports.subscribeToScrollEvent = exports.subscribeToMouseLeaveEvent = exports.subscribeToMouseEnterEvent = exports.subscribeToKeyDownEvent = void 0; var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var clickEvent = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../../events/click */ 95429)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _emitterGesture = _interopRequireDefault(__webpack_require__( /*! ../../events/gesture/emitter.gesture.scroll */ 37334)); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function subscribeToEvent(eventName) { return function(element, handler, eventData, namespace) { var event = namespace ? (0, _index.addNamespace)(eventName, namespace) : eventName; if (handler) { _events_engine.default.on(element, event, eventData, handler); return function() { _events_engine.default.off(element, event, handler) } } return } } var subscribeToClickEvent = subscribeToEvent(clickEvent.name); exports.subscribeToClickEvent = subscribeToClickEvent; var subscribeToScrollEvent = subscribeToEvent(_emitterGesture.default.scroll); exports.subscribeToScrollEvent = subscribeToScrollEvent; var subscribeToScrollInitEvent = subscribeToEvent(_emitterGesture.default.init); exports.subscribeToScrollInitEvent = subscribeToScrollInitEvent; var subscribeToDXScrollStartEvent = subscribeToEvent(_emitterGesture.default.start); exports.subscribeToDXScrollStartEvent = subscribeToDXScrollStartEvent; var subscribeToDXScrollMoveEvent = subscribeToEvent(_emitterGesture.default.move); exports.subscribeToDXScrollMoveEvent = subscribeToDXScrollMoveEvent; var subscribeToDXScrollEndEvent = subscribeToEvent(_emitterGesture.default.end); exports.subscribeToDXScrollEndEvent = subscribeToDXScrollEndEvent; var subscribeToDXScrollStopEvent = subscribeToEvent(_emitterGesture.default.stop); exports.subscribeToDXScrollStopEvent = subscribeToDXScrollStopEvent; var subscribeToDXScrollCancelEvent = subscribeToEvent(_emitterGesture.default.cancel); exports.subscribeToDXScrollCancelEvent = subscribeToDXScrollCancelEvent; var subscribeToDXPointerDownEvent = subscribeToEvent(_pointer.default.down); exports.subscribeToDXPointerDownEvent = subscribeToDXPointerDownEvent; var subscribeToDXPointerUpEvent = subscribeToEvent(_pointer.default.up); exports.subscribeToDXPointerUpEvent = subscribeToDXPointerUpEvent; var subscribeToDXPointerMoveEvent = subscribeToEvent(_pointer.default.move); exports.subscribeToDXPointerMoveEvent = subscribeToDXPointerMoveEvent; var subscribeToMouseEnterEvent = subscribeToEvent("mouseenter"); exports.subscribeToMouseEnterEvent = subscribeToMouseEnterEvent; var subscribeToMouseLeaveEvent = subscribeToEvent("mouseleave"); exports.subscribeToMouseLeaveEvent = subscribeToMouseLeaveEvent; var subscribeToKeyDownEvent = subscribeToEvent("keydown"); exports.subscribeToKeyDownEvent = subscribeToKeyDownEvent; var subscribeToDxActiveEvent = subscribeToEvent("dxactive"); exports.subscribeToDxActiveEvent = subscribeToDxActiveEvent; var subscribeToDxInactiveEvent = subscribeToEvent("dxinactive"); exports.subscribeToDxInactiveEvent = subscribeToDxInactiveEvent; var subscribeToDxHoverStartEvent = subscribeToEvent("dxhoverstart"); exports.subscribeToDxHoverStartEvent = subscribeToDxHoverStartEvent; var subscribeToDxHoverEndEvent = subscribeToEvent("dxhoverend"); exports.subscribeToDxHoverEndEvent = subscribeToDxHoverEndEvent; var subscribeToDxFocusInEvent = subscribeToEvent("focusin"); exports.subscribeToDxFocusInEvent = subscribeToDxFocusInEvent; var subscribeToDxFocusOutEvent = subscribeToEvent("focusout"); exports.subscribeToDxFocusOutEvent = subscribeToDxFocusOutEvent }, 78461: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/renovation/utils/type_conversion.js ***! \*********************************************************************************/ function(__unused_webpack_module, exports) { exports.toNumber = function(attribute) { return attribute ? Number(attribute.replace("px", "")) : 0 } }, 88673: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/time_zone_utils.js ***! \****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Z = void 0; var _utils = (obj = __webpack_require__( /*! ./ui/scheduler/utils.timeZone */ 32511), obj && obj.__esModule ? obj : { default: obj }); var obj; var getTimeZones = _utils.default.getTimeZones; exports.Z = getTimeZones }, 76219: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/accordion.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _fx = _interopRequireDefault(__webpack_require__( /*! ../animation/fx */ 87209)); var _click = __webpack_require__( /*! ../events/click */ 95429); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _element = __webpack_require__( /*! ../core/element */ 6415); var iteratorUtils = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../core/utils/iterator */ 95479)); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ./collection/ui.collection_widget.live_update */ 69010)); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _bindable_template = __webpack_require__( /*! ../core/templates/bindable_template */ 93280); var _icon = __webpack_require__( /*! ../core/utils/icon */ 44899); var _themes = __webpack_require__( /*! ./themes */ 75811); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var Accordion = _uiCollection_widget.default.inherit({ _activeStateUnit: ".dx-accordion-item", _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { hoverStateEnabled: true, height: void 0, itemTitleTemplate: "title", onItemTitleClick: null, selectedIndex: 0, collapsible: false, multiple: false, animationDuration: 300, deferRendering: true, selectByClick: true, activeStateEnabled: true, _itemAttributes: { role: "tab" }, _animationEasing: "ease" }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }, { device: function() { return (0, _themes.isMaterial)() }, options: { animationDuration: 200, _animationEasing: "cubic-bezier(0.4, 0, 0.2, 1)" } }]) }, _itemElements: function() { return this._itemContainer().children(this._itemSelector()) }, _init: function() { this.callBase(); this.option("selectionRequired", !this.option("collapsible")); this.option("selectionMode", this.option("multiple") ? "multiple" : "single"); var $element = this.$element(); $element.addClass("dx-accordion"); this._$container = (0, _renderer.default)("<div>").addClass("dx-accordion-wrapper"); $element.append(this._$container) }, _initTemplates: function() { this.callBase(); this._templateManager.addDefaultTemplates({ title: new _bindable_template.BindableTemplate((function($container, data) { if ((0, _type.isPlainObject)(data)) { var $iconElement = (0, _icon.getImageContainer)(data.icon); if ($iconElement) { $container.append($iconElement) } if ((0, _type.isDefined)(data.title) && !(0, _type.isPlainObject)(data.title)) { $container.append(_dom_adapter.default.createTextNode(data.title)) } } else if ((0, _type.isDefined)(data)) { $container.text(String(data)) } $container.wrapInner((0, _renderer.default)("<div>").addClass("dx-accordion-item-title-caption")) }), ["title", "icon"], this.option("integrationOptions.watchMethod")) }) }, _initMarkup: function() { var _this = this; this._deferredItems = []; this._deferredTemplateItems = []; this.callBase(); this.setAria({ role: "tablist", multiselectable: this.option("multiple") }); (0, _common.deferRender)((function() { var selectedItemIndices = _this._getSelectedItemIndices(); _this._renderSelection(selectedItemIndices, []) })) }, _render: function() { var _this2 = this; this.callBase(); _deferred.when.apply(this, this._deferredTemplateItems).done((function() { _this2._updateItemHeights(true) })) }, _itemDataKey: function() { return "dxAccordionItemData" }, _itemClass: function() { return "dx-accordion-item" }, _itemContainer: function() { return this._$container }, _itemTitles: function() { return this._itemElements().find(".dx-accordion-item-title") }, _itemContents: function() { return this._itemElements().find(".dx-accordion-item-body") }, _getItemData: function(target) { return (0, _renderer.default)(target).parent().data(this._itemDataKey()) || this.callBase.apply(this, arguments) }, _executeItemRenderAction: function(itemData) { if (itemData.type) { return } this.callBase.apply(this, arguments) }, _itemSelectHandler: function(e) { if ((0, _renderer.default)(e.target).closest(this._itemContents()).length) { return } this.callBase.apply(this, arguments) }, _afterItemElementDeleted: function($item, deletedActionArgs) { this._deferredItems.splice(deletedActionArgs.itemIndex, 1); this.callBase.apply(this, arguments) }, _renderItemContent: function(args) { this._deferredTemplateItems[args.index] = new _deferred.Deferred; var itemTitle = this.callBase((0, _extend.extend)({}, args, { contentClass: "dx-accordion-item-title", templateProperty: "titleTemplate", defaultTemplateName: this.option("itemTitleTemplate") })); this._attachItemTitleClickAction(itemTitle); var deferred = new _deferred.Deferred; if ((0, _type.isDefined)(this._deferredItems[args.index])) { this._deferredItems[args.index] = deferred } else { this._deferredItems.push(deferred) } if (!this.option("deferRendering") || this._getSelectedItemIndices().indexOf(args.index) >= 0) { deferred.resolve() } deferred.done(this.callBase.bind(this, (0, _extend.extend)({}, args, { contentClass: "dx-accordion-item-body", container: (0, _element.getPublicElement)((0, _renderer.default)("<div>").appendTo((0, _renderer.default)(itemTitle).parent())) }))) }, _onItemTemplateRendered: function(_, renderArgs) { var _this3 = this; return function() { var item = _this3._deferredTemplateItems[renderArgs.index]; item && item.resolve() } }, _attachItemTitleClickAction: function(itemTitle) { var eventName = (0, _index.addNamespace)(_click.name, this.NAME); _events_engine.default.off(itemTitle, eventName); _events_engine.default.on(itemTitle, eventName, this._itemTitleClickHandler.bind(this)) }, _itemTitleClickHandler: function(e) { this._itemDXEventHandler(e, "onItemTitleClick") }, _renderSelection: function(addedSelection, removedSelection) { this._itemElements().addClass("dx-accordion-item-closed"); this.setAria("hidden", true, this._itemContents()); this._updateItems(addedSelection, removedSelection) }, _updateSelection: function(addedSelection, removedSelection) { this._updateItems(addedSelection, removedSelection); this._updateItemHeightsWrapper(false) }, _updateItems: function(addedSelection, removedSelection) { var _this4 = this; var $items = this._itemElements(); iteratorUtils.each(addedSelection, (function(_, index) { _this4._deferredItems[index].resolve(); var $item = $items.eq(index).addClass("dx-accordion-item-opened").removeClass("dx-accordion-item-closed"); _this4.setAria("hidden", false, $item.find(".dx-accordion-item-body")) })); iteratorUtils.each(removedSelection, (function(_, index) { var $item = $items.eq(index).removeClass("dx-accordion-item-opened"); _this4.setAria("hidden", true, $item.find(".dx-accordion-item-body")) })) }, _updateItemHeightsWrapper: function(skipAnimation) { if (this.option("templatesRenderAsynchronously")) { this._animationTimer = setTimeout(function() { this._updateItemHeights(skipAnimation) }.bind(this)) } else { this._updateItemHeights(skipAnimation) } }, _updateItemHeights: function(skipAnimation) { var that = this; var deferredAnimate = that._deferredAnimate; var itemHeight = this._splitFreeSpace(this._calculateFreeSpace()); clearTimeout(this._animationTimer); return _deferred.when.apply(_renderer.default, [].slice.call(this._itemElements()).map((function(item) { return that._updateItemHeight((0, _renderer.default)(item), itemHeight, skipAnimation) }))).done((function() { if (deferredAnimate) { deferredAnimate.resolveWith(that) } })) }, _updateItemHeight: function($item, itemHeight, skipAnimation) { var $title = $item.children(".dx-accordion-item-title"); if (_fx.default.isAnimating($item)) { _fx.default.stop($item) } var startItemHeight = (0, _size.getOuterHeight)($item); var finalItemHeight; if ($item.hasClass("dx-accordion-item-opened")) { finalItemHeight = itemHeight + (0, _size.getOuterHeight)($title); if (!finalItemHeight) { (0, _size.setHeight)($item, "auto"); finalItemHeight = (0, _size.getOuterHeight)($item) } } else { finalItemHeight = (0, _size.getOuterHeight)($title) } return this._animateItem($item, startItemHeight, finalItemHeight, skipAnimation, !!itemHeight) }, _animateItem: function($element, startHeight, endHeight, skipAnimation, fixedHeight) { var d; if (skipAnimation || startHeight === endHeight) { $element.css("height", endHeight); d = (new _deferred.Deferred).resolve() } else { d = _fx.default.animate($element, { type: "custom", from: { height: startHeight }, to: { height: endHeight }, duration: this.option("animationDuration"), easing: this.option("_animationEasing") }) } return d.done((function() { if ($element.hasClass("dx-accordion-item-opened") && !fixedHeight) { $element.css("height", "") } $element.not(".dx-accordion-item-opened").addClass("dx-accordion-item-closed") })) }, _splitFreeSpace: function(freeSpace) { if (!freeSpace) { return freeSpace } return freeSpace / this.option("selectedItems").length }, _calculateFreeSpace: function() { var height = this.option("height"); if (void 0 === height || "auto" === height) { return } var $titles = this._itemTitles(); var itemsHeight = 0; iteratorUtils.each($titles, (function(_, title) { itemsHeight += (0, _size.getOuterHeight)(title) })); return (0, _size.getHeight)(this.$element()) - itemsHeight }, _visibilityChanged: function(visible) { if (visible) { this._dimensionChanged() } }, _dimensionChanged: function() { this._updateItemHeights(true) }, _clean: function() { this._deferredTemplateItems.forEach((function(item) { item.reject() })); this._deferredTemplateItems = []; clearTimeout(this._animationTimer); this.callBase() }, _tryParseItemPropertyName: function(fullName) { var matches = fullName.match(/.*\.(.*)/); if ((0, _type.isDefined)(matches) && matches.length >= 1) { return matches[1] } }, _optionChanged: function(args) { switch (args.name) { case "items": this.callBase(args); if ("title" === this._tryParseItemPropertyName(args.fullName)) { this._renderSelection(this._getSelectedItemIndices(), []) } if ("visible" === this._tryParseItemPropertyName(args.fullName)) { this._updateItemHeightsWrapper(true) } if (true === this.option("repaintChangesOnly") && "items" === args.fullName) { this._updateItemHeightsWrapper(true); this._renderSelection(this._getSelectedItemIndices(), []) } break; case "animationDuration": case "onItemTitleClick": case "_animationEasing": break; case "collapsible": this.option("selectionRequired", !this.option("collapsible")); break; case "itemTitleTemplate": case "height": case "deferRendering": this._invalidate(); break; case "multiple": this.option("selectionMode", args.value ? "multiple" : "single"); break; default: this.callBase(args) } }, expandItem: function(index) { this._deferredAnimate = new _deferred.Deferred; this.selectItem(index); return this._deferredAnimate.promise() }, collapseItem: function(index) { this._deferredAnimate = new _deferred.Deferred; this.unselectItem(index); return this._deferredAnimate.promise() }, updateDimensions: function() { return this._updateItemHeights(false) } }); (0, _component_registrator.default)("dxAccordion", Accordion); var _default = Accordion; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 81476: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/action_sheet.js ***! \****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _message = _interopRequireDefault(__webpack_require__( /*! ../localization/message */ 28109)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _button = _interopRequireDefault(__webpack_require__( /*! ./button */ 63008)); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ./collection/ui.collection_widget.edit */ 11050)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./popup/ui.popup */ 51495)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ./popover/ui.popover */ 17287)); var _bindable_template = __webpack_require__( /*! ../core/templates/bindable_template */ 93280); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var ActionSheet = _uiCollection_widget.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { usePopover: false, target: null, title: "", showTitle: true, showCancelButton: true, cancelText: _message.default.format("Cancel"), onCancelClick: null, visible: false, noDataText: "", focusStateEnabled: false, selectByClick: false }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: { platform: "ios", tablet: true }, options: { usePopover: true } }]) }, _initTemplates: function() { this.callBase(); this._templateManager.addDefaultTemplates({ item: new _bindable_template.BindableTemplate((function($container, data) { var button = new _button.default((0, _renderer.default)("<div>"), (0, _extend.extend)({ onClick: data && data.click, stylingMode: data && data.stylingMode || "outlined" }, data)); $container.append(button.$element()) }), ["disabled", "icon", "text", "type", "onClick", "click", "stylingMode"], this.option("integrationOptions.watchMethod")) }) }, _itemContainer: function() { return this._$itemContainer }, _itemClass: function() { return "dx-actionsheet-item" }, _itemDataKey: function() { return "dxActionSheetItemData" }, _toggleVisibility: _common.noop, _renderDimensions: _common.noop, _initMarkup: function() { this.callBase(); this.$element().addClass("dx-actionsheet"); this._createItemContainer() }, _render: function() { this._renderPopup() }, _createItemContainer: function() { this._$itemContainer = (0, _renderer.default)("<div>").addClass("dx-actionsheet-container"); this._renderDisabled() }, _renderDisabled: function() { this._$itemContainer.toggleClass("dx-state-disabled", this.option("disabled")) }, _renderPopup: function() { this._$popup = (0, _renderer.default)("<div>").appendTo(this.$element()); this._isPopoverMode() ? this._createPopover() : this._createPopup(); this._renderPopupTitle(); this._mapPopupOption("visible") }, _mapPopupOption: function(optionName) { this._popup && this._popup.option(optionName, this.option(optionName)) }, _isPopoverMode: function() { return this.option("usePopover") && this.option("target") }, _renderPopupTitle: function() { this._mapPopupOption("showTitle"); this._popup && this._popup.$wrapper().toggleClass("dx-actionsheet-without-title", !this.option("showTitle")) }, _clean: function() { if (this._$popup) { this._$popup.remove() } this.callBase() }, _overlayConfig: function() { return { onInitialized: function(args) { this._popup = args.component }.bind(this), disabled: false, showTitle: true, title: this.option("title"), deferRendering: !window.angular, onContentReady: this._popupContentReadyAction.bind(this), onHidden: this.hide.bind(this) } }, _createPopover: function() { this._createComponent(this._$popup, _ui2.default, (0, _extend.extend)(this._overlayConfig(), { width: this.option("width") || 200, height: this.option("height") || "auto", target: this.option("target") })); this._popup.$overlayContent().attr("role", "dialog"); this._popup.$wrapper().addClass("dx-actionsheet-popover-wrapper") }, _createPopup: function() { this._createComponent(this._$popup, _ui.default, (0, _extend.extend)(this._overlayConfig(), { dragEnabled: false, width: this.option("width") || "100%", height: this.option("height") || "auto", showCloseButton: false, position: { my: "bottom", at: "bottom", of: window }, animation: { show: { type: "slide", duration: 400, from: { position: { my: "top", at: "bottom", of: window } }, to: { position: { my: "bottom", at: "bottom", of: window } } }, hide: { type: "slide", duration: 400, from: { position: { my: "bottom", at: "bottom", of: window } }, to: { position: { my: "top", at: "bottom", of: window } } } } })); this._popup.$wrapper().addClass("dx-actionsheet-popup-wrapper") }, _popupContentReadyAction: function() { this._popup.$content().append(this._$itemContainer); this._attachClickEvent(); this._attachHoldEvent(); this._prepareContent(); this._renderContent(); this._renderCancelButton() }, _renderCancelButton: function() { if (this._isPopoverMode()) { return } if (this._$cancelButton) { this._$cancelButton.remove() } if (this.option("showCancelButton")) { var cancelClickAction = this._createActionByOption("onCancelClick") || _common.noop; var that = this; this._$cancelButton = (0, _renderer.default)("<div>").addClass("dx-actionsheet-cancel").appendTo(this._popup && this._popup.$content()); this._createComponent(this._$cancelButton, _button.default, { disabled: false, stylingMode: "outlined", text: this.option("cancelText"), onClick: function(e) { var hidingArgs = { event: e, cancel: false }; cancelClickAction(hidingArgs); if (!hidingArgs.cancel) { that.hide() } }, integrationOptions: {} }) } }, _attachItemClickEvent: _common.noop, _itemClickHandler: function(e) { this.callBase(e); if (!(0, _renderer.default)(e.target).is(".dx-state-disabled, .dx-state-disabled *")) { this.hide() } }, _itemHoldHandler: function(e) { this.callBase(e); if (!(0, _renderer.default)(e.target).is(".dx-state-disabled, .dx-state-disabled *")) { this.hide() } }, _optionChanged: function(args) { switch (args.name) { case "width": case "height": case "visible": case "title": this._mapPopupOption(args.name); break; case "disabled": this._renderDisabled(); break; case "showTitle": this._renderPopupTitle(); break; case "showCancelButton": case "onCancelClick": case "cancelText": this._renderCancelButton(); break; case "target": case "usePopover": case "items": this._invalidate(); break; default: this.callBase(args) } }, toggle: function(showing) { var that = this; var d = new _deferred.Deferred; that._popup.toggle(showing).done((function() { that.option("visible", showing); d.resolveWith(that) })); return d.promise() }, show: function() { return this.toggle(true) }, hide: function() { return this.toggle(false) } }); (0, _component_registrator.default)("dxActionSheet", ActionSheet); var _default = ActionSheet; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 65418: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/autocomplete.js ***! \****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _ui = _interopRequireDefault(__webpack_require__( /*! ./drop_down_editor/ui.drop_down_list */ 32468)); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var Autocomplete = _ui.default.inherit({ _supportedKeys: function() { var item = this._list ? this._list.option("focusedElement") : null; var parent = this.callBase(); item = item && (0, _renderer.default)(item); return (0, _extend.extend)({}, parent, { upArrow: function(e) { if (parent.upArrow.apply(this, arguments) && !(0, _index.isCommandKeyPressed)(e)) { e.preventDefault(); e.stopPropagation(); if (item && !this._calcNextItem(-1)) { this._clearFocusedItem(); return false } } return true }, downArrow: function(e) { if (parent.downArrow.apply(this, arguments) && !(0, _index.isCommandKeyPressed)(e)) { e.preventDefault(); e.stopPropagation(); if (item && !this._calcNextItem(1)) { this._clearFocusedItem(); return false } } return true }, enter: function(e) { if (!item) { this.close() } var opened = this.option("opened"); if (opened) { e.preventDefault() } return opened } }) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { minSearchLength: 1, maxItemCount: 10, noDataText: "", showDropDownButton: false, searchEnabled: true }) }, _initMarkup: function() { this.callBase(); this.$element().addClass("dx-autocomplete"); this.setAria("autocomplete", "inline") }, _displayGetterExpr: function() { return this.option("valueExpr") }, _closeOutsideDropDownHandler: function(_ref) { var target = _ref.target; return !(0, _renderer.default)(target).closest(this.$element()).length }, _renderDimensions: function() { this.callBase(); this._updatePopupWidth(); this._updateListDimensions() }, _popupWrapperClass: function() { return this.callBase() + " dx-autocomplete-popup-wrapper" }, _listConfig: function() { var _this = this; return (0, _extend.extend)(this.callBase(), { pageLoadMode: "none", onSelectionChanged: function(e) { _this._setSelectedItem(e.addedItems[0]) } }) }, _listItemClickHandler: function(e) { this._saveValueChangeEvent(e.event); var value = this._displayGetter(e.itemData); this.option("value", value); this.close() }, _setListDataSource: function() { if (!this._list) { return } this._list.option("selectedItems", []); this.callBase() }, _refreshSelected: _common.noop, _searchCanceled: function() { this.callBase(); this.close() }, _loadItem: function(value, cache) { var selectedItem = this._getItemFromPlain(value, cache); return (new _deferred.Deferred).resolve(selectedItem).promise() }, _dataSourceOptions: function() { return { paginate: true, pageSize: this.option("maxItemCount") } }, _searchDataSource: function(searchValue) { this._dataSource.pageSize(this.option("maxItemCount")); this.callBase(searchValue); this._clearFocusedItem() }, _clearFocusedItem: function() { if (this._list) { this._list.option("focusedElement", null); this._list.option("selectedIndex", -1) } }, _renderValueEventName: function() { return "input keyup" }, _valueChangeEventHandler: function(e) { var value = this._input().val() || null; return this.callBase(e, value) }, _optionChanged: function(args) { switch (args.name) { case "maxItemCount": this._searchDataSource(); break; case "valueExpr": this._compileDisplayGetter(); this._setListOption("displayExpr", this._displayGetterExpr()); this.callBase(args); break; default: this.callBase(args) } }, reset: function() { this.callBase(); this.close() } }); (0, _component_registrator.default)("dxAutocomplete", Autocomplete); var _default = Autocomplete; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 55551: /*!*******************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/box.js ***! \*******************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _inflector = __webpack_require__( /*! ../core/utils/inflector */ 78008); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _style = __webpack_require__( /*! ../core/utils/style */ 80968); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _item = _interopRequireDefault(__webpack_require__( /*! ./collection/item */ 54778)); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ./collection/ui.collection_widget.edit */ 11050)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var MINSIZE_MAP = { row: "minWidth", col: "minHeight" }; var MAXSIZE_MAP = { row: "maxWidth", col: "maxHeight" }; var FLEX_JUSTIFY_CONTENT_MAP = { start: "flex-start", end: "flex-end", center: "center", "space-between": "space-between", "space-around": "space-around" }; var FLEX_ALIGN_ITEMS_MAP = { start: "flex-start", end: "flex-end", center: "center", stretch: "stretch" }; var FLEX_DIRECTION_MAP = { row: "row", col: "column" }; var setFlexProp = function(element, prop, value) { value = (0, _style.normalizeStyleProp)(prop, value); element.style[(0, _style.styleProp)(prop)] = value; if (!(0, _window.hasWindow)()) { if ("" === value || !(0, _type.isDefined)(value)) { return } var cssName = (0, _inflector.dasherize)(prop); var styleExpr = cssName + ": " + value + ";"; (0, _style.setStyle)(element, styleExpr, false) } }; var BoxItem = function(_CollectionWidgetItem) { _inheritsLoose(BoxItem, _CollectionWidgetItem); function BoxItem() { return _CollectionWidgetItem.apply(this, arguments) || this } var _proto = BoxItem.prototype; _proto._renderVisible = function(value, oldValue) { _CollectionWidgetItem.prototype._renderVisible.call(this, value); if ((0, _type.isDefined)(oldValue)) { this._options.fireItemStateChangedAction({ name: "visible", state: value, oldState: oldValue }) } }; return BoxItem }(_item.default); var LayoutStrategy = function() { function LayoutStrategy($element, option) { this._$element = $element; this._option = option } var _proto2 = LayoutStrategy.prototype; _proto2.renderBox = function() { this._$element.css({ display: (0, _style.stylePropPrefix)("flexDirection") + "flex" }); setFlexProp(this._$element.get(0), "flexDirection", FLEX_DIRECTION_MAP[this._option("direction")]) }; _proto2.renderAlign = function() { this._$element.css({ justifyContent: this._normalizedAlign() }) }; _proto2._normalizedAlign = function() { var align = this._option("align"); return align in FLEX_JUSTIFY_CONTENT_MAP ? FLEX_JUSTIFY_CONTENT_MAP[align] : align }; _proto2.renderCrossAlign = function() { this._$element.css({ alignItems: this._normalizedCrossAlign() }) }; _proto2._normalizedCrossAlign = function() { var crossAlign = this._option("crossAlign"); return crossAlign in FLEX_ALIGN_ITEMS_MAP ? FLEX_ALIGN_ITEMS_MAP[crossAlign] : crossAlign }; _proto2.renderItems = function($items) { var flexPropPrefix = (0, _style.stylePropPrefix)("flexDirection"); var direction = this._option("direction"); (0, _iterator.each)($items, (function() { var $item = (0, _renderer.default)(this); var item = $item.data("dxBoxItemData"); $item.css({ display: flexPropPrefix + "flex" }).css(MAXSIZE_MAP[direction], item.maxSize || "none").css(MINSIZE_MAP[direction], item.minSize || "0"); setFlexProp($item.get(0), "flexBasis", item.baseSize || 0); setFlexProp($item.get(0), "flexGrow", item.ratio); setFlexProp($item.get(0), "flexShrink", (0, _type.isDefined)(item.shrink) ? item.shrink : 1); $item.children().each((function(_, itemContent) { (0, _renderer.default)(itemContent).css({ width: "auto", height: "auto", display: (0, _style.stylePropPrefix)("flexDirection") + "flex", flexBasis: 0 }); setFlexProp(itemContent, "flexGrow", 1); setFlexProp(itemContent, "flexDirection", (0, _renderer.default)(itemContent)[0].style.flexDirection || "column") })) })) }; return LayoutStrategy }(); var Box = function(_CollectionWidget) { _inheritsLoose(Box, _CollectionWidget); function Box() { return _CollectionWidget.apply(this, arguments) || this } var _proto3 = Box.prototype; _proto3._getDefaultOptions = function() { return (0, _extend.extend)(_CollectionWidget.prototype._getDefaultOptions.call(this), { direction: "row", align: "start", crossAlign: "stretch", activeStateEnabled: false, focusStateEnabled: false, onItemStateChanged: void 0, _queue: void 0 }) }; _proto3._itemClass = function() { return "dx-box-item" }; _proto3._itemDataKey = function() { return "dxBoxItemData" }; _proto3._itemElements = function() { return this._itemContainer().children(this._itemSelector()) }; _proto3._init = function() { _CollectionWidget.prototype._init.call(this); this.$element().addClass("dx-box-flex"); this._initLayout(); this._initBoxQueue() }; _proto3._initLayout = function() { this._layout = new LayoutStrategy(this.$element(), this.option.bind(this)) }; _proto3._initBoxQueue = function() { this._queue = this.option("_queue") || [] }; _proto3._queueIsNotEmpty = function() { return this.option("_queue") ? false : !!this._queue.length }; _proto3._pushItemToQueue = function($item, config) { this._queue.push({ $item: $item, config: config }) }; _proto3._shiftItemFromQueue = function() { return this._queue.shift() }; _proto3._initMarkup = function() { this.$element().addClass("dx-box"); this._layout.renderBox(); _CollectionWidget.prototype._initMarkup.call(this); this._renderAlign(); this._renderActions() }; _proto3._renderActions = function() { this._onItemStateChanged = this._createActionByOption("onItemStateChanged") }; _proto3._renderAlign = function() { this._layout.renderAlign(); this._layout.renderCrossAlign() }; _proto3._renderItems = function(items) { _CollectionWidget.prototype._renderItems.call(this, items); while (this._queueIsNotEmpty()) { var item = this._shiftItemFromQueue(); this._createComponent(item.$item, Box, (0, _extend.extend)({ itemTemplate: this.option("itemTemplate"), itemHoldTimeout: this.option("itemHoldTimeout"), onItemHold: this.option("onItemHold"), onItemClick: this.option("onItemClick"), onItemContextMenu: this.option("onItemContextMenu"), onItemRendered: this.option("onItemRendered"), _queue: this._queue }, item.config)) } this._layout.renderItems(this._itemElements()) }; _proto3._renderItemContent = function(args) { var $itemNode = args.itemData && args.itemData.node; if ($itemNode) { return this._renderItemContentByNode(args, $itemNode) } return _CollectionWidget.prototype._renderItemContent.call(this, args) }; _proto3._postprocessRenderItem = function(args) { var boxConfig = args.itemData.box; if (!boxConfig) { return } this._pushItemToQueue(args.itemContent, boxConfig) }; _proto3._createItemByTemplate = function(itemTemplate, args) { if (args.itemData.box) { return itemTemplate.source ? itemTemplate.source() : (0, _renderer.default)() } return _CollectionWidget.prototype._createItemByTemplate.call(this, itemTemplate, args) }; _proto3._itemOptionChanged = function(item, property, value, oldValue) { if ("visible" === property) { this._onItemStateChanged({ name: property, state: value, oldState: false !== oldValue }) } _CollectionWidget.prototype._itemOptionChanged.call(this, item, property, value) }; _proto3._optionChanged = function(args) { switch (args.name) { case "_queue": case "direction": this._invalidate(); break; case "align": this._layout.renderAlign(); break; case "crossAlign": this._layout.renderCrossAlign(); break; default: _CollectionWidget.prototype._optionChanged.call(this, args) } }; _proto3._itemOptions = function() { var _this = this; var options = _CollectionWidget.prototype._itemOptions.call(this); options.fireItemStateChangedAction = function(e) { _this._onItemStateChanged(e) }; return options }; return Box }(_uiCollection_widget.default); Box.ItemClass = BoxItem; (0, _component_registrator.default)("dxBox", Box); var _default = Box; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 63008: /*!**********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/button.js ***! \**********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _button = (obj = __webpack_require__( /*! ../renovation/ui/button.j */ 83151), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _button.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 28236: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/button_group.js ***! \****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./widget/ui.widget */ 14390)); var _button = _interopRequireDefault(__webpack_require__( /*! ./button */ 63008)); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ./collection/ui.collection_widget.edit */ 11050)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _bindable_template = __webpack_require__( /*! ../core/templates/bindable_template */ 93280); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ButtonCollection = _uiCollection_widget.default.inherit({ _initTemplates: function() { var _this = this; this.callBase(); this._templateManager.addDefaultTemplates({ item: new _bindable_template.BindableTemplate((function($container, data, model) { _this._prepareItemStyles($container); var template = _this.option("buttonTemplate"); _this._createComponent($container, _button.default, (0, _extend.extend)({}, model, data, _this._getBasicButtonOptions(), { _templateData: _this._hasCustomTemplate(template) ? model : {}, template: model.template || template })) }), ["text", "type", "icon", "disabled", "visible", "hint"], this.option("integrationOptions.watchMethod")) }) }, _getBasicButtonOptions: function() { return { focusStateEnabled: false, onClick: null, hoverStateEnabled: this.option("hoverStateEnabled"), activeStateEnabled: this.option("activeStateEnabled"), stylingMode: this.option("stylingMode") } }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { itemTemplateProperty: null }) }, _hasCustomTemplate: function(template) { return (0, _type.isFunction)(template) || this.option("integrationOptions.templates")[template] }, _prepareItemStyles: function($item) { var itemIndex = $item.data("dxItemIndex"); 0 === itemIndex && $item.addClass("dx-buttongroup-first-item"); var items = this.option("items"); items && itemIndex === items.length - 1 && $item.addClass("dx-buttongroup-last-item"); $item.addClass("dx-shape-standard") }, _renderItemContent: function(args) { args.container = (0, _renderer.default)(args.container).parent(); return this.callBase(args) }, _setAriaSelectionAttribute: function($target, value) { this.setAria("pressed", value, $target) }, _renderItemContentByNode: function(args, $node) { args.container = (0, _renderer.default)(args.container.children().first()); return this.callBase(args, $node) }, _focusTarget: function() { return this.$element().parent() }, _keyboardEventBindingTarget: function() { return this._focusTarget() }, _refreshContent: function() { this._prepareContent(); this._renderContent() }, _itemClass: function() { return "dx-buttongroup-item" }, _itemSelectHandler: function(e) { if ("single" === this.option("selectionMode") && this.isItemSelected(e.currentTarget)) { return } this.callBase(e) } }); var ButtonGroup = _ui.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { hoverStateEnabled: true, focusStateEnabled: true, selectionMode: "single", selectedItems: [], selectedItemKeys: [], stylingMode: "contained", keyExpr: "text", items: [], buttonTemplate: "content", onSelectionChanged: null, onItemClick: null }) }, _init: function() { this.callBase(); this._createItemClickAction() }, _createItemClickAction: function() { this._itemClickAction = this._createActionByOption("onItemClick") }, _initMarkup: function() { this.setAria("role", "group"); this.$element().addClass("dx-buttongroup"); this._renderButtons(); this._syncSelectionOptions(); this.callBase() }, _fireSelectionChangeEvent: function(addedItems, removedItems) { this._createActionByOption("onSelectionChanged", { excludeValidators: ["disabled", "readOnly"] })({ addedItems: addedItems, removedItems: removedItems }) }, _renderButtons: function() { var _this2 = this; var $buttons = (0, _renderer.default)("<div>").addClass("dx-buttongroup-wrapper").appendTo(this.$element()); var selectedItems = this.option("selectedItems"); var options = { selectionMode: this.option("selectionMode"), items: this.option("items"), keyExpr: this.option("keyExpr"), buttonTemplate: this.option("buttonTemplate"), scrollingEnabled: false, selectedItemKeys: this.option("selectedItemKeys"), focusStateEnabled: this.option("focusStateEnabled"), hoverStateEnabled: this.option("hoverStateEnabled"), activeStateEnabled: this.option("activeStateEnabled"), stylingMode: this.option("stylingMode"), accessKey: this.option("accessKey"), tabIndex: this.option("tabIndex"), noDataText: "", selectionRequired: false, onItemRendered: function(e) { var width = _this2.option("width"); (0, _type.isDefined)(width) && (0, _renderer.default)(e.itemElement).addClass("dx-buttongroup-item-has-width") }, onSelectionChanged: function(e) { _this2._syncSelectionOptions(); _this2._fireSelectionChangeEvent(e.addedItems, e.removedItems) }, onItemClick: function(e) { _this2._itemClickAction(e) } }; if ((0, _type.isDefined)(selectedItems) && selectedItems.length) { options.selectedItems = selectedItems } this._buttonsCollection = this._createComponent($buttons, ButtonCollection, options) }, _syncSelectionOptions: function() { this._setOptionWithoutOptionChange("selectedItems", this._buttonsCollection.option("selectedItems")); this._setOptionWithoutOptionChange("selectedItemKeys", this._buttonsCollection.option("selectedItemKeys")) }, _optionChanged: function(args) { switch (args.name) { case "stylingMode": case "selectionMode": case "keyExpr": case "buttonTemplate": case "items": case "activeStateEnabled": case "focusStateEnabled": case "hoverStateEnabled": case "tabIndex": this._invalidate(); break; case "selectedItemKeys": case "selectedItems": this._buttonsCollection.option(args.name, args.value); break; case "onItemClick": this._createItemClickAction(); break; case "onSelectionChanged": break; case "width": this.callBase(args); this._buttonsCollection.itemElements().toggleClass("dx-buttongroup-item-has-width", !!args.value); break; default: this.callBase(args) } } }); (0, _component_registrator.default)("dxButtonGroup", ButtonGroup); var _default = ButtonGroup; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 26559: /*!************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/calendar.js ***! \************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./calendar/ui.calendar */ 36989), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 15360: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/calendar/ui.calendar.base_view.js ***! \**********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _element_data = __webpack_require__( /*! ../../core/element_data */ 97906); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date_serialization */ 69434)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _click = __webpack_require__( /*! ../../events/click */ 95429); var _hover = __webpack_require__( /*! ../../events/hover */ 24028); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var abstract = _ui.default.abstract; var NOT_WEEK_CELL_SELECTOR = "td:not(.".concat("dx-calendar-week-number-cell", ")"); var CALENDAR_DXCLICK_EVENT_NAME = (0, _index.addNamespace)(_click.name, "dxCalendar"); var CALENDAR_DXHOVERSTART_EVENT_NAME = (0, _index.addNamespace)(_hover.start, "dxCalendar"); var BaseView = _ui.default.inherit({ _getViewName: function() { return "base" }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { date: new Date, focusStateEnabled: false, cellTemplate: null, disabledDates: null, onCellClick: null, onCellHover: null, rowCount: 3, colCount: 4, allowValueSelection: true, _todayDate: function() { return new Date } }) }, _initMarkup: function() { this.callBase(); this._renderImpl() }, _renderImpl: function() { this.$element().append(this._createTable()); this._createDisabledDatesHandler(); this._renderBody(); this._renderContouredDate(); this._renderValue(); this._renderRange(); this._renderEvents() }, _createTable: function() { this._$table = (0, _renderer.default)("<table>"); var localizedWidgetName = _message.default.format("dxCalendar-ariaWidgetName"); var localizedHotKeysInfo = _message.default.format("dxCalendar-ariaHotKeysInfo"); this.setAria({ label: "".concat(localizedWidgetName, ". ").concat(localizedHotKeysInfo), role: "grid" }, this._$table); return this._$table }, _renderBody: function() { this.$body = (0, _renderer.default)("<tbody>").appendTo(this._$table); var rowData = { cellDate: this._getFirstCellData(), prevCellDate: null }; for (var rowIndex = 0, rowCount = this.option("rowCount"); rowIndex < rowCount; rowIndex++) { rowData.row = this._createRow(); for (var colIndex = 0, colCount = this.option("colCount"); colIndex < colCount; colIndex++) { this._renderCell(rowData, colIndex) } this._renderWeekNumberCell(rowData) } }, _createRow: function() { var row = _dom_adapter.default.createElement("tr"); this.setAria("role", "row", (0, _renderer.default)(row)); this.$body.get(0).appendChild(row); return row }, _createCell: function(cellDate, cellIndex) { var cell = _dom_adapter.default.createElement("td"); var $cell = (0, _renderer.default)(cell); cell.className = this._getClassNameByDate(cellDate, cellIndex); cell.setAttribute("data-value", _date_serialization.default.serializeDate(cellDate, _date.default.getShortDateFormat())); (0, _element_data.data)(cell, "dxDateValueKey", cellDate); this.setAria({ role: "gridcell", label: this.getCellAriaLabel(cellDate) }, $cell); return { cell: cell, $cell: $cell } }, _renderCell: function(params, cellIndex) { var cellDate = params.cellDate, prevCellDate = params.prevCellDate, row = params.row; if (prevCellDate) { _date.default.fixTimezoneGap(prevCellDate, cellDate) } params.prevCellDate = cellDate; var _this$_createCell = this._createCell(cellDate, cellIndex), cell = _this$_createCell.cell, $cell = _this$_createCell.$cell; var cellTemplate = this.option("cellTemplate"); (0, _renderer.default)(row).append(cell); if (cellTemplate) { cellTemplate.render(this._prepareCellTemplateData(cellDate, cellIndex, $cell)) } else { cell.innerHTML = this._getCellText(cellDate) } params.cellDate = this._getNextCellData(cellDate) }, _getClassNameByDate: function(cellDate, cellIndex) { var className = "dx-calendar-cell"; if (this._isTodayCell(cellDate)) { className += " ".concat("dx-calendar-today") } if (this._isDateOutOfRange(cellDate) || this.isDateDisabled(cellDate)) { className += " ".concat("dx-calendar-empty-cell") } if (this._isOtherView(cellDate)) { className += " ".concat("dx-calendar-other-view") } if ("range" === this.option("selectionMode")) { if (0 === cellIndex) { className += " ".concat("dx-calendar-cell-start-in-row") } if (cellIndex === this.option("colCount") - 1) { className += " ".concat("dx-calendar-cell-end-in-row") } if (this._isStartDayOfMonth(cellDate)) { className += " ".concat("dx-calendar-cell-start") } if (this._isEndDayOfMonth(cellDate)) { className += " ".concat("dx-calendar-cell-end") } } return className }, _prepareCellTemplateData: function(cellDate, cellIndex, $cell) { var isDateCell = cellDate instanceof Date; var text = isDateCell ? this._getCellText(cellDate) : cellDate; var date = isDateCell ? cellDate : void 0; var view = this._getViewName(); return { model: { text: text, date: date, view: view }, container: (0, _element.getPublicElement)($cell), index: cellIndex } }, _renderEvents: function() { var _this = this; this._createCellClickAction(); _events_engine.default.off(this._$table, CALENDAR_DXCLICK_EVENT_NAME); _events_engine.default.on(this._$table, CALENDAR_DXCLICK_EVENT_NAME, NOT_WEEK_CELL_SELECTOR, (function(e) { if (!(0, _renderer.default)(e.currentTarget).hasClass("dx-calendar-empty-cell")) { _this._cellClickAction({ event: e, value: (0, _renderer.default)(e.currentTarget).data("dxDateValueKey") }) } })); _events_engine.default.off(this._$table, CALENDAR_DXHOVERSTART_EVENT_NAME); if ("range" === this.option("selectionMode")) { this._createCellHoverAction(); _events_engine.default.on(this._$table, CALENDAR_DXHOVERSTART_EVENT_NAME, NOT_WEEK_CELL_SELECTOR, (function(e) { if (!(0, _renderer.default)(e.currentTarget).hasClass("dx-calendar-empty-cell")) { _this._cellHoverAction({ event: e, value: (0, _renderer.default)(e.currentTarget).data("dxDateValueKey") }) } })) } }, _createCellClickAction: function() { this._cellClickAction = this._createActionByOption("onCellClick") }, _createCellHoverAction: function() { this._cellHoverAction = this._createActionByOption("onCellHover") }, _createDisabledDatesHandler: function() { var disabledDates = this.option("disabledDates"); this._disabledDatesHandler = Array.isArray(disabledDates) ? this._getDefaultDisabledDatesHandler(disabledDates) : disabledDates || _common.noop }, _getDefaultDisabledDatesHandler: function(disabledDates) { return _common.noop }, _isTodayCell: abstract, _isDateOutOfRange: abstract, isDateDisabled: function(cellDate) { var dateParts = { date: cellDate, view: this._getViewName() }; return this._disabledDatesHandler(dateParts) }, _isOtherView: abstract, _isStartDayOfMonth: abstract, _isEndDayOfMonth: abstract, _getCellText: abstract, _getFirstCellData: abstract, _getNextCellData: abstract, _renderContouredDate: function(contouredDate) { if (!this.option("focusStateEnabled")) { return } contouredDate = contouredDate || this.option("contouredDate"); var $oldContouredCell = this._getContouredCell(); var $newContouredCell = this._getCellByDate(contouredDate); $oldContouredCell.removeClass("dx-calendar-contoured-date"); if (contouredDate) { $newContouredCell.addClass("dx-calendar-contoured-date") } }, _getContouredCell: function() { return this._$table.find(".".concat("dx-calendar-contoured-date")) }, _renderValue: function() { if (!this.option("allowValueSelection")) { return } var value = this.option("value"); if (!Array.isArray(value)) { value = [value] } this._updateSelectedClass(value) }, _updateSelectedClass: function(value) { var _this$_$selectedCells, _this2 = this; null === (_this$_$selectedCells = this._$selectedCells) || void 0 === _this$_$selectedCells ? void 0 : _this$_$selectedCells.forEach((function($cell) { $cell.removeClass("dx-calendar-selected-date") })); this._$selectedCells = value.map((function(value) { return _this2._getCellByDate(value) })); this._$selectedCells.forEach((function($cell) { $cell.addClass("dx-calendar-selected-date") })) }, _renderRange: function() { var _this$_$rangeCells, _this$_$hoveredRangeC, _this$_$rangeStartHov, _this$_$rangeEndHover, _this$_$rangeStartDat, _this$_$rangeEndDateC, _this$_$rangeStartDat2, _this$_$rangeEndDateC2, _this3 = this; var _this$option = this.option(), allowValueSelection = _this$option.allowValueSelection, selectionMode = _this$option.selectionMode, value = _this$option.value, range = _this$option.range; if (!allowValueSelection || "range" !== selectionMode) { return } null === (_this$_$rangeCells = this._$rangeCells) || void 0 === _this$_$rangeCells ? void 0 : _this$_$rangeCells.forEach((function($cell) { $cell.removeClass("dx-calendar-cell-in-range") })); null === (_this$_$hoveredRangeC = this._$hoveredRangeCells) || void 0 === _this$_$hoveredRangeC ? void 0 : _this$_$hoveredRangeC.forEach((function($cell) { $cell.removeClass("dx-calendar-cell-range-hover") })); null === (_this$_$rangeStartHov = this._$rangeStartHoverCell) || void 0 === _this$_$rangeStartHov ? void 0 : _this$_$rangeStartHov.removeClass("dx-calendar-cell-range-hover-start"); null === (_this$_$rangeEndHover = this._$rangeEndHoverCell) || void 0 === _this$_$rangeEndHover ? void 0 : _this$_$rangeEndHover.removeClass("dx-calendar-cell-range-hover-end"); null === (_this$_$rangeStartDat = this._$rangeStartDateCell) || void 0 === _this$_$rangeStartDat ? void 0 : _this$_$rangeStartDat.removeClass("dx-calendar-range-start-date"); null === (_this$_$rangeEndDateC = this._$rangeEndDateCell) || void 0 === _this$_$rangeEndDateC ? void 0 : _this$_$rangeEndDateC.removeClass("dx-calendar-range-end-date"); this._$rangeCells = range.map((function(value) { return _this3._getCellByDate(value) })); this._$rangeStartDateCell = this._getCellByDate(value[0]); this._$rangeEndDateCell = this._getCellByDate(value[1]); this._$rangeCells.forEach((function($cell) { $cell.addClass("dx-calendar-cell-in-range") })); null === (_this$_$rangeStartDat2 = this._$rangeStartDateCell) || void 0 === _this$_$rangeStartDat2 ? void 0 : _this$_$rangeStartDat2.addClass("dx-calendar-range-start-date"); null === (_this$_$rangeEndDateC2 = this._$rangeEndDateCell) || void 0 === _this$_$rangeEndDateC2 ? void 0 : _this$_$rangeEndDateC2.addClass("dx-calendar-range-end-date") }, _renderHoveredRange: function() { var _this$_$hoveredRangeC2, _this$_$rangeStartHov2, _this$_$rangeEndHover2, _this$_$rangeStartHov3, _this$_$rangeEndHover3, _this4 = this; var _this$option2 = this.option(), allowValueSelection = _this$option2.allowValueSelection, selectionMode = _this$option2.selectionMode, hoveredRange = _this$option2.hoveredRange; if (!allowValueSelection || "range" !== selectionMode) { return } null === (_this$_$hoveredRangeC2 = this._$hoveredRangeCells) || void 0 === _this$_$hoveredRangeC2 ? void 0 : _this$_$hoveredRangeC2.forEach((function($cell) { $cell.removeClass("dx-calendar-cell-range-hover") })); null === (_this$_$rangeStartHov2 = this._$rangeStartHoverCell) || void 0 === _this$_$rangeStartHov2 ? void 0 : _this$_$rangeStartHov2.removeClass("dx-calendar-cell-range-hover-start"); null === (_this$_$rangeEndHover2 = this._$rangeEndHoverCell) || void 0 === _this$_$rangeEndHover2 ? void 0 : _this$_$rangeEndHover2.removeClass("dx-calendar-cell-range-hover-end"); this._$hoveredRangeCells = hoveredRange.map((function(value) { return _this4._getCellByDate(value) })); this._$rangeStartHoverCell = this._getCellByDate(hoveredRange[0]); this._$rangeEndHoverCell = this._getCellByDate(hoveredRange[hoveredRange.length - 1]); this._$hoveredRangeCells.forEach((function($cell) { $cell.addClass("dx-calendar-cell-range-hover") })); null === (_this$_$rangeStartHov3 = this._$rangeStartHoverCell) || void 0 === _this$_$rangeStartHov3 ? void 0 : _this$_$rangeStartHov3.addClass("dx-calendar-cell-range-hover-start"); null === (_this$_$rangeEndHover3 = this._$rangeEndHoverCell) || void 0 === _this$_$rangeEndHover3 ? void 0 : _this$_$rangeEndHover3.addClass("dx-calendar-cell-range-hover-end") }, getCellAriaLabel: function(date) { return this._getCellText(date) }, _getFirstAvailableDate: function() { var date = this.option("date"); var min = this.option("min"); date = _date.default.getViewFirstCellDate(this._getViewName(), date); return new Date(min && date < min ? min : date) }, _getCellByDate: abstract, isBoundary: abstract, _optionChanged: function(args) { var name = args.name, value = args.value; switch (name) { case "value": this._renderValue(); break; case "range": this._renderRange(); break; case "hoveredRange": this._renderHoveredRange(); break; case "contouredDate": this._renderContouredDate(value); break; case "onCellClick": this._createCellClickAction(); break; case "onCellHover": this._createCellHoverAction(); break; case "min": case "max": case "disabledDates": case "cellTemplate": case "selectionMode": this._invalidate(); break; case "_todayDate": this._renderBody(); break; default: this.callBase(args) } } }); var _default = BaseView; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 36989: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/calendar/ui.calendar.js ***! \************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _button = _interopRequireDefault(__webpack_require__( /*! ../button */ 63008)); var _editor = _interopRequireDefault(__webpack_require__( /*! ../editor/editor */ 96452)); var _swipeable = _interopRequireDefault(__webpack_require__( /*! ../../events/gesture/swipeable */ 66894)); var _uiCalendar = _interopRequireDefault(__webpack_require__( /*! ./ui.calendar.navigator */ 69221)); var _uiCalendar2 = _interopRequireDefault(__webpack_require__( /*! ./ui.calendar.views */ 92633)); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _date2 = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date_serialization */ 69434)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _fx = _interopRequireDefault(__webpack_require__( /*! ../../animation/fx */ 87209)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _date3 = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); var _function_template = __webpack_require__( /*! ../../core/templates/function_template */ 68494); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _uiCalendarSingleSelection = _interopRequireDefault(__webpack_require__( /*! ./ui.calendar.single.selection.strategy */ 19769)); var _uiCalendarMultiSelection = _interopRequireDefault(__webpack_require__( /*! ./ui.calendar.multi.selection.strategy */ 76095)); var _uiCalendarRangeSelection = _interopRequireDefault(__webpack_require__( /*! ./ui.calendar.range.selection.strategy */ 76276)); var _hover = __webpack_require__( /*! ../../events/hover */ 24028); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var CALENDAR_DXHOVEREND_EVENT_NAME = (0, _index.addNamespace)(_hover.end, "dxCalendar"); var LEVEL_COMPARE_MAP = { month: 3, year: 2, decade: 1, century: 0 }; var ZOOM_LEVEL_MONTH = "month", ZOOM_LEVEL_YEAR = "year", ZOOM_LEVEL_DECADE = "decade", ZOOM_LEVEL_CENTURY = "century"; var SELECTION_STRATEGIES = { SingleSelection: _uiCalendarSingleSelection.default, MultiSelection: _uiCalendarMultiSelection.default, RangeSelection: _uiCalendarRangeSelection.default }; var Calendar = _editor.default.inherit({ _activeStateUnit: ".dx-calendar-cell", _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { hoverStateEnabled: true, activeStateEnabled: true, currentDate: new Date, value: null, values: [], dateSerializationFormat: void 0, min: new Date(1e3, 0), max: new Date(3e3, 0), firstDayOfWeek: void 0, viewsCount: 1, zoomLevel: ZOOM_LEVEL_MONTH, maxZoomLevel: ZOOM_LEVEL_MONTH, minZoomLevel: ZOOM_LEVEL_CENTURY, selectionMode: "single", showTodayButton: false, showWeekNumbers: false, weekNumberRule: "auto", cellTemplate: "cell", disabledDates: null, onCellClick: null, onContouredChanged: null, skipFocusCheck: false, _todayDate: function() { return new Date } }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }]) }, _supportedKeys: function() { return (0, _extend.extend)(this.callBase(), { rightArrow: function(e) { e.preventDefault(); if ((0, _index.isCommandKeyPressed)(e)) { this._waitRenderView(1) } else { this._moveCurrentDateByOffset(1 * this._getRtlCorrection()) } }, leftArrow: function(e) { e.preventDefault(); if ((0, _index.isCommandKeyPressed)(e)) { this._waitRenderView(-1) } else { this._moveCurrentDateByOffset(-1 * this._getRtlCorrection()) } }, upArrow: function(e) { e.preventDefault(); if ((0, _index.isCommandKeyPressed)(e)) { this._navigateUp() } else { if (_fx.default.isAnimating(this._view.$element())) { return } this._moveCurrentDateByOffset(-1 * this._view.option("colCount")) } }, downArrow: function(e) { e.preventDefault(); if ((0, _index.isCommandKeyPressed)(e)) { this._navigateDown() } else { if (_fx.default.isAnimating(this._view.$element())) { return } this._moveCurrentDateByOffset(1 * this._view.option("colCount")) } }, home: function(e) { e.preventDefault(); var zoomLevel = this.option("zoomLevel"); var currentDate = this.option("currentDate"); var min = this._dateOption("min"); if (this._view.isDateDisabled(currentDate)) { return } var date = _date2.default.sameView(zoomLevel, currentDate, min) ? min : _date2.default.getViewFirstCellDate(zoomLevel, currentDate); this._moveToClosestAvailableDate(date) }, end: function(e) { e.preventDefault(); var zoomLevel = this.option("zoomLevel"); var currentDate = this.option("currentDate"); var max = this._dateOption("max"); if (this._view.isDateDisabled(currentDate)) { return } var date = _date2.default.sameView(zoomLevel, currentDate, max) ? max : _date2.default.getViewLastCellDate(zoomLevel, currentDate); this._moveToClosestAvailableDate(date) }, pageUp: function(e) { e.preventDefault(); this._waitRenderView(-1 * this._getRtlCorrection()) }, pageDown: function(e) { e.preventDefault(); this._waitRenderView(1 * this._getRtlCorrection()) }, tab: _common.noop, enter: this._enterKeyHandler }) }, _enterKeyHandler: function(e) { if (!this._isMaxZoomLevel()) { this._navigateDown() } else if (!this._view.isDateDisabled(this.option("currentDate"))) { var value = this._updateTimeComponent(this.option("currentDate")); this._selectionStrategy.selectValue(value, e) } }, _getSerializationFormat: function(optionName) { var value = this.option(optionName || "value"); if (this.option("dateSerializationFormat")) { return this.option("dateSerializationFormat") } if ((0, _type.isNumeric)(value)) { return "number" } if (!(0, _type.isString)(value)) { return } return _date_serialization.default.getDateSerializationFormat(value) }, _convertToDate: function(value) { return _date_serialization.default.deserializeDate(value) }, _dateValue: function(value, event) { var optionName = Array.isArray(value) ? "values" : "value"; if (event) { if ("keydown" === event.type) { var cellElement = this._view._getContouredCell().get(0); event.target = cellElement } this._saveValueChangeEvent(event) } this._dateOption(optionName, value) }, _dateOption: function(optionName, optionValue) { var _this = this; if (1 === arguments.length) { var _this$option; var values = null !== (_this$option = this.option("values")) && void 0 !== _this$option ? _this$option : []; return "values" === optionName ? values.map((function(value) { return _this._convertToDate(value) })) : this._convertToDate(this.option(optionName)) } var serializationFormat = this._getSerializationFormat(optionName); var serializedValue = "values" === optionName ? (null === optionValue || void 0 === optionValue ? void 0 : optionValue.map((function(value) { return _date_serialization.default.serializeDate(value, serializationFormat) }))) || [] : _date_serialization.default.serializeDate(optionValue, serializationFormat); this.option(optionName, serializedValue) }, _shiftDate: function(zoomLevel, date, offset, reverse) { switch (zoomLevel) { case ZOOM_LEVEL_MONTH: date.setDate(date.getDate() + offset * reverse); break; case ZOOM_LEVEL_YEAR: date.setMonth(date.getMonth() + offset * reverse); break; case ZOOM_LEVEL_DECADE: date.setFullYear(date.getFullYear() + offset * reverse); break; case ZOOM_LEVEL_CENTURY: date.setFullYear(date.getFullYear() + 10 * offset * reverse) } }, _moveCurrentDateByOffset: function(offset) { var baseDate = this.option("currentDate"); var currentDate = new Date(baseDate); var zoomLevel = this.option("zoomLevel"); this._shiftDate(zoomLevel, currentDate, offset, 1); var maxDate = this._getMaxDate(); var minDate = this._getMinDate(); var isDateForwardInNeighborView = this._areDatesInNeighborView(zoomLevel, currentDate, baseDate); var isDateForwardInRange = (0, _math.inRange)(currentDate, minDate, maxDate) && isDateForwardInNeighborView; var dateForward = new Date(currentDate); while (isDateForwardInRange) { if (!this._view.isDateDisabled(dateForward)) { currentDate = dateForward; break } this._shiftDate(zoomLevel, dateForward, offset, 1); isDateForwardInNeighborView = this._areDatesInNeighborView(zoomLevel, dateForward, baseDate); isDateForwardInRange = (0, _math.inRange)(dateForward, minDate, maxDate) && isDateForwardInNeighborView } if (this._view.isDateDisabled(baseDate) || this._view.isDateDisabled(currentDate)) { this._waitRenderView(offset > 0 ? 1 : -1) } else { this._skipNavigate = true; this.option("currentDate", currentDate) } }, _areDatesInSameView: function(zoomLevel, date1, date2) { switch (zoomLevel) { case ZOOM_LEVEL_MONTH: return date1.getMonth() === date2.getMonth(); case ZOOM_LEVEL_YEAR: return date1.getYear() === date2.getYear(); case ZOOM_LEVEL_DECADE: return parseInt(date1.getYear() / 10) === parseInt(date2.getYear() / 10); case ZOOM_LEVEL_CENTURY: return parseInt(date1.getYear() / 100) === parseInt(date2.getYear() / 100) } }, _areDatesInNeighborView: function(zoomLevel, date1, date2) { switch (zoomLevel) { case ZOOM_LEVEL_MONTH: return (a = date1.getMonth(), b = date2.getMonth(), abs = Math.abs(a - b), Math.min(abs, 12 - abs)) <= 1; case ZOOM_LEVEL_YEAR: return Math.abs(date1.getYear() - date2.getYear()) <= 1; case ZOOM_LEVEL_DECADE: return Math.abs(date1.getYear() - date2.getYear()) <= 10; case ZOOM_LEVEL_CENTURY: return Math.abs(date1.getYear() - date2.getYear()) <= 100 } var a, b, abs }, _moveToClosestAvailableDate: function() { var baseDate = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.option("currentDate"); var currentDate = new Date(baseDate); var zoomLevel = this.option("zoomLevel"); var isCurrentDateAvailable = !this._isDateNotAvailable(currentDate); var isDateForwardAvailable = isCurrentDateAvailable; var isDateBackwardAvailable = isCurrentDateAvailable; var isDateForwardInStartView; var isDateBackwardInStartView; var dateForward = new Date(currentDate); var dateBackward = new Date(currentDate); do { if (isDateForwardAvailable) { currentDate = dateForward; break } if (isDateBackwardAvailable) { currentDate = dateBackward; break } this._shiftDate(zoomLevel, dateForward, 1, 1); this._shiftDate(zoomLevel, dateBackward, 1, -1); isDateForwardInStartView = this._areDatesInSameView(zoomLevel, dateForward, baseDate); isDateBackwardInStartView = this._areDatesInSameView(zoomLevel, dateBackward, baseDate); isDateForwardAvailable = isDateForwardInStartView && !this._isDateNotAvailable(dateForward); isDateBackwardAvailable = isDateBackwardInStartView && !this._isDateNotAvailable(dateBackward) } while (isDateForwardInStartView || isDateBackwardInStartView); this.option("currentDate", currentDate) }, _isDateNotAvailable: function(date) { var maxDate = this._getMaxDate(); var minDate = this._getMinDate(); return !(0, _math.inRange)(date, minDate, maxDate) || this._view.isDateDisabled(date) }, _init: function() { this.callBase(); this._initSelectionStrategy(); this._correctZoomLevel(); this._initCurrentDate(); this._initActions() }, _initSelectionStrategy: function() { var strategyName = this._getSelectionStrategyName(); var strategy = SELECTION_STRATEGIES[strategyName]; if (!this._selectionStrategy || this._selectionStrategy.NAME !== strategyName) { this._selectionStrategy = new strategy(this) } }, _refreshSelectionStrategy: function() { this._initSelectionStrategy(); this._refresh() }, _getSelectionStrategyName: function() { var selectionMode = this.option("selectionMode"); switch (selectionMode) { case "multi": return "MultiSelection"; case "range": return "RangeSelection"; default: return "SingleSelection" } }, _correctZoomLevel: function() { var minZoomLevel = this.option("minZoomLevel"); var maxZoomLevel = this.option("maxZoomLevel"); var zoomLevel = this.option("zoomLevel"); if (LEVEL_COMPARE_MAP[maxZoomLevel] < LEVEL_COMPARE_MAP[minZoomLevel]) { return } if (LEVEL_COMPARE_MAP[zoomLevel] > LEVEL_COMPARE_MAP[maxZoomLevel]) { this.option("zoomLevel", maxZoomLevel) } else if (LEVEL_COMPARE_MAP[zoomLevel] < LEVEL_COMPARE_MAP[minZoomLevel]) { this.option("zoomLevel", minZoomLevel) } }, _initCurrentDate: function() { var _this$_getNormalizedD; var currentDate = null !== (_this$_getNormalizedD = this._getNormalizedDate(this._selectionStrategy.getDefaultCurrentDate())) && void 0 !== _this$_getNormalizedD ? _this$_getNormalizedD : this._getNormalizedDate(this.option("currentDate")); this.option("currentDate", currentDate) }, _getNormalizedDate: function(date) { date = _date2.default.normalizeDate(date, this._getMinDate(), this._getMaxDate()); return (0, _type.isDefined)(date) ? this._getDate(date) : date }, _initActions: function() { this._cellClickAction = this._createActionByOption("onCellClick"); this._onContouredChanged = this._createActionByOption("onContouredChanged") }, _initTemplates: function() { this._templateManager.addDefaultTemplates({ cell: new _function_template.FunctionTemplate((function(options) { var data = options.model; (0, _renderer.default)(options.container).append((0, _renderer.default)("<span>").text(data && data.text || String(data))) })) }); this.callBase() }, _updateCurrentDate: function(date) { if (_fx.default.isAnimating(this._$viewsWrapper)) { _fx.default.stop(this._$viewsWrapper, true) } var min = this._getMinDate(); var max = this._getMaxDate(); if (min > max) { this.option("currentDate", new Date); return } var normalizedDate = this._getNormalizedDate(date); if (date.getTime() !== normalizedDate.getTime()) { this.option("currentDate", new Date(normalizedDate)); return } var offset = this._getViewsOffset(this._view.option("date"), normalizedDate); if (0 !== offset && !this._isMaxZoomLevel() && this._isOtherViewCellClicked) { offset = 0 } if (this._view && 0 !== offset && !this._suppressNavigation) { if (this._additionalView) { if (offset > 2 || offset < -1) { this._refreshViews(); this._setViewContoured(normalizedDate); this._updateAriaId(normalizedDate); this._renderNavigator() } else if (1 === offset && this._skipNavigate) { this._setViewContoured(normalizedDate); this._updateAriaId(normalizedDate) } else { this._navigate(offset, normalizedDate) } } else { this._navigate(offset, normalizedDate) } } else { this._renderNavigator(); this._setViewContoured(normalizedDate); this._updateAriaId(normalizedDate) } this._skipNavigate = false }, _isAdditionalViewDate: function(date) { if (!this._additionalView) { return false } return date >= this._additionalView._getFirstAvailableDate() }, _getActiveView: function(date) { return this._isAdditionalViewDate(date) ? this._additionalView : this._view }, _setViewContoured: function(date) { if (this.option("skipFocusCheck") || (element = this._focusTarget(), element.hasClass("dx-state-focused"))) { var _this$_additionalView; this._view.option("contouredDate", null); null === (_this$_additionalView = this._additionalView) || void 0 === _this$_additionalView ? void 0 : _this$_additionalView.option("contouredDate", null); var view = this._isAdditionalViewDate(date) ? this._additionalView : this._view; view.option("contouredDate", date) } var element }, _getMinDate: function() { var _rangeMin = this.option("_rangeMin"); if (_rangeMin) { return _rangeMin } if (this.min) { return this.min } this.min = this._dateOption("min") || new Date(1e3, 0); return this.min }, _getMaxDate: function() { var _rangeMax = this.option("_rangeMax"); if (_rangeMax) { return _rangeMax } if (this.max) { return this.max } this.max = this._dateOption("max") || new Date(3e3, 0); return this.max }, _getViewsOffset: function(startDate, endDate) { var zoomLevel = this.option("zoomLevel"); if (zoomLevel === ZOOM_LEVEL_MONTH) { return this._getMonthsOffset(startDate, endDate) } var zoomCorrection; switch (zoomLevel) { case ZOOM_LEVEL_CENTURY: zoomCorrection = 100; break; case ZOOM_LEVEL_DECADE: zoomCorrection = 10; break; default: zoomCorrection = 1 } return parseInt(endDate.getFullYear() / zoomCorrection) - parseInt(startDate.getFullYear() / zoomCorrection) }, _getMonthsOffset: function(startDate, endDate) { var yearOffset = endDate.getFullYear() - startDate.getFullYear(); var monthOffset = endDate.getMonth() - startDate.getMonth(); return 12 * yearOffset + monthOffset }, _waitRenderView: function(offset) { var _this2 = this; if (this._alreadyViewRender) { return } this._alreadyViewRender = true; var date = this._getDateByOffset(offset * this._getRtlCorrection()); this._moveToClosestAvailableDate(date); this._waitRenderViewTimeout = setTimeout((function() { _this2._alreadyViewRender = false })) }, _getRtlCorrection: function() { return this.option("rtlEnabled") ? -1 : 1 }, _getDateByOffset: function(offset, date) { var _date; date = this._getDate(null !== (_date = date) && void 0 !== _date ? _date : this.option("currentDate")); var currentDay = date.getDate(); var difference = _date2.default.getDifferenceInMonth(this.option("zoomLevel")) * offset; date.setDate(1); date.setMonth(date.getMonth() + difference); var lastDay = _date2.default.getLastMonthDate(date).getDate(); date.setDate(currentDay > lastDay ? lastDay : currentDay); return date }, _focusTarget: function() { return this.$element() }, _initMarkup: function() { this._renderSubmitElement(); this.callBase(); var $element = this.$element(); $element.addClass("dx-calendar"); $element.toggleClass("dx-calendar-range", "range" === this.option("selectionMode")); this._renderBody(); $element.append(this.$body); this._renderViews(); this._renderEvents(); this._renderNavigator(); $element.prepend(this._navigator.$element()); this._renderSwipeable(); this._renderFooter(); this._selectionStrategy.updateAriaSelected(); this._updateAriaId(); this.setAria("role", "application"); this._moveToClosestAvailableDate() }, _render: function() { this.callBase(); this._setViewContoured(this.option("currentDate")) }, _renderBody: function() { if (!this._$viewsWrapper) { this.$body = (0, _renderer.default)("<div>").addClass("dx-calendar-body"); this._$viewsWrapper = (0, _renderer.default)("<div>").addClass("dx-calendar-views-wrapper"); this.$body.append(this._$viewsWrapper) } }, _getKeyboardListeners: function() { return this.callBase().concat([this._view]) }, _renderViews: function() { this.$element().addClass("dx-calendar-view-" + this.option("zoomLevel")); var _this$option2 = this.option(), currentDate = _this$option2.currentDate, viewsCount = _this$option2.viewsCount; this.$element().toggleClass("dx-calendar-multiview", viewsCount > 1); this._view = this._renderSpecificView(currentDate); if ((0, _window.hasWindow)()) { var beforeDate = this._getDateByOffset(-1, currentDate); this._beforeView = this._isViewAvailable(beforeDate) ? this._renderSpecificView(beforeDate) : null; var afterDate = this._getDateByOffset(viewsCount, currentDate); afterDate.setDate(1); this._afterView = this._isViewAvailable(afterDate) ? this._renderSpecificView(afterDate) : null } if (viewsCount > 1) { this._additionalView = this._renderSpecificView(this._getDateByOffset(1, currentDate)) } this._translateViews() }, _renderSpecificView: function(date) { var _this$option3 = this.option(), zoomLevel = _this$option3.zoomLevel; var specificView = _uiCalendar2.default[zoomLevel]; var $view = (0, _renderer.default)("<div>").appendTo(this._$viewsWrapper); var config = this._viewConfig(date); var view = this._createComponent($view, specificView, config); return view }, _viewConfig: function(date) { var _this$option4; var disabledDates = this.option("disabledDates"); disabledDates = (0, _type.isFunction)(disabledDates) ? this._injectComponent(disabledDates.bind(this)) : disabledDates; return _extends({}, this._selectionStrategy.getViewOptions(), { date: date, min: this._getMinDate(), max: this._getMaxDate(), firstDayOfWeek: null !== (_this$option4 = this.option("firstDayOfWeek")) && void 0 !== _this$option4 ? _this$option4 : _date3.default.firstDayOfWeekIndex(), showWeekNumbers: this.option("showWeekNumbers"), weekNumberRule: this.option("weekNumberRule"), zoomLevel: this.option("zoomLevel"), tabIndex: void 0, focusStateEnabled: this.option("focusStateEnabled"), hoverStateEnabled: this.option("hoverStateEnabled"), disabledDates: disabledDates, onCellClick: this._cellClickHandler.bind(this), cellTemplate: this._getTemplateByOption("cellTemplate"), allowValueSelection: this._isMaxZoomLevel(), _todayDate: this.option("_todayDate") }) }, _renderEvents: function() { var _this3 = this; _events_engine.default.off(this._$viewsWrapper, CALENDAR_DXHOVEREND_EVENT_NAME); if ("range" === this.option("selectionMode")) { _events_engine.default.on(this._$viewsWrapper, CALENDAR_DXHOVEREND_EVENT_NAME, null, (function(e) { _this3._updateViewsOption("hoveredRange", []) })) } }, _injectComponent: function(func) { var that = this; return function(params) { (0, _extend.extend)(params, { component: that }); return func(params) } }, _isViewAvailable: function(date) { var zoomLevel = this.option("zoomLevel"); var min = _date2.default.getViewMinBoundaryDate(zoomLevel, this._getMinDate()); var max = _date2.default.getViewMaxBoundaryDate(zoomLevel, this._getMaxDate()); return _date2.default.dateInRange(date, min, max) }, _translateViews: function() { var _this$option5 = this.option(), viewsCount = _this$option5.viewsCount; (0, _translator.move)(this._view.$element(), { left: 0, top: 0 }); this._moveViewElement(this._beforeView, -1); this._moveViewElement(this._afterView, viewsCount); this._moveViewElement(this._additionalView, 1) }, _moveViewElement: function(view, coefficient) { view && (0, _translator.move)(view.$element(), { left: this._getViewPosition(coefficient), top: 0 }) }, _getViewPosition: function(coefficient) { var rtlCorrection = this.option("rtlEnabled") ? -1 : 1; return 100 * coefficient * rtlCorrection + "%" }, _cellClickHandler: function(e) { var zoomLevel = this.option("zoomLevel"); var nextView = _date2.default.getViewDown(zoomLevel); var isMaxZoomLevel = this._isMaxZoomLevel(); if (nextView && !isMaxZoomLevel) { this._navigateDown(e.event.currentTarget) } else { var newValue = this._updateTimeComponent(e.value); this._selectionStrategy.selectValue(newValue, e.event); this._cellClickAction(e) } }, _updateTimeComponent: function(date) { var result = new Date(date); var currentValue = this._dateOption("value"); if (currentValue) { result.setHours(currentValue.getHours()); result.setMinutes(currentValue.getMinutes()); result.setSeconds(currentValue.getSeconds()); result.setMilliseconds(currentValue.getMilliseconds()) } return result }, _isMaxZoomLevel: function() { return this.option("zoomLevel") === this.option("maxZoomLevel") }, _navigateDown: function(cell) { var zoomLevel = this.option("zoomLevel"); if (this._isMaxZoomLevel()) { return } var nextView = _date2.default.getViewDown(zoomLevel); if (!nextView) { return } var newCurrentDate = this._view.option("contouredDate") || this._view.option("date"); if (cell) { newCurrentDate = (0, _renderer.default)(cell).data("dxDateValueKey") } this._isOtherViewCellClicked = true; this.option("currentDate", newCurrentDate); this.option("zoomLevel", nextView); this._isOtherViewCellClicked = false; this._renderNavigator(); this._animateShowView(); this._moveToClosestAvailableDate(); this._setViewContoured(this._getNormalizedDate(this.option("currentDate"))) }, _renderNavigator: function() { if (!this._navigator) { this._navigator = new _uiCalendar.default((0, _renderer.default)("<div>"), this._navigatorConfig()) } this._navigator.option("text", this._getViewsCaption(this._view, this._additionalView)); this._updateButtonsVisibility() }, _navigatorConfig: function() { var _this$option6 = this.option(), rtlEnabled = _this$option6.rtlEnabled; return { text: this._getViewsCaption(this._view, this._additionalView), onClick: this._navigatorClickHandler.bind(this), onCaptionClick: this._navigateUp.bind(this), rtlEnabled: rtlEnabled } }, _navigatorClickHandler: function(e) { var _this$option7 = this.option(), currentDate = _this$option7.currentDate, viewsCount = _this$option7.viewsCount; var offset = e.direction; if (viewsCount > 1) { var additionalViewActive = this._isAdditionalViewDate(currentDate); var shouldDoubleOffset = additionalViewActive && offset < 0 || !additionalViewActive && offset > 0; if (shouldDoubleOffset) { offset *= 2 } } var newCurrentDate = this._getDateByOffset(offset, currentDate); this._moveToClosestAvailableDate(newCurrentDate) }, _navigateUp: function() { var zoomLevel = this.option("zoomLevel"); var nextView = _date2.default.getViewUp(zoomLevel); if (!nextView || this._isMinZoomLevel(zoomLevel)) { return } this.option("zoomLevel", nextView); this._renderNavigator(); this._animateShowView(); this._moveToClosestAvailableDate(); this._setViewContoured(this._getNormalizedDate(this.option("currentDate"))) }, _isMinZoomLevel: function(zoomLevel) { var min = this._getMinDate(); var max = this._getMaxDate(); return _date2.default.sameView(zoomLevel, min, max) || this.option("minZoomLevel") === zoomLevel }, _updateButtonsVisibility: function() { this._navigator.toggleButton("next", !(0, _type.isDefined)(this._afterView)); this._navigator.toggleButton("prev", !(0, _type.isDefined)(this._beforeView)) }, _renderSwipeable: function() { if (!this._swipeable) { this._swipeable = this._createComponent(this.$element(), _swipeable.default, { onStart: this._swipeStartHandler.bind(this), onUpdated: this._swipeUpdateHandler.bind(this), onEnd: this._swipeEndHandler.bind(this), itemSizeFunc: this._viewWidth.bind(this) }) } }, _swipeStartHandler: function(e) { _fx.default.stop(this._$viewsWrapper, true); var _this$option8 = this.option(), viewsCount = _this$option8.viewsCount; this._toggleGestureCoverCursor("grabbing"); e.event.maxLeftOffset = this._getRequiredView("next") ? 1 / viewsCount : 0; e.event.maxRightOffset = this._getRequiredView("prev") ? 1 / viewsCount : 0 }, _toggleGestureCoverCursor: function(cursor) { (0, _renderer.default)(".".concat("dx-gesture-cover")).css("cursor", cursor) }, _getRequiredView: function(name) { var view; var isRtl = this.option("rtlEnabled"); if ("next" === name) { view = isRtl ? this._beforeView : this._afterView } else if ("prev" === name) { view = isRtl ? this._afterView : this._beforeView } return view }, _swipeUpdateHandler: function(e) { var offset = e.event.offset; (0, _translator.move)(this._$viewsWrapper, { left: offset * this._viewWidth(), top: 0 }); this._updateNavigatorCaption(offset) }, _swipeEndHandler: function(e) { this._toggleGestureCoverCursor("auto"); var _this$option9 = this.option(), currentDate = _this$option9.currentDate, rtlEnabled = _this$option9.rtlEnabled; var targetOffset = e.event.targetOffset; var moveOffset = !targetOffset ? 0 : targetOffset / Math.abs(targetOffset); var isAdditionalViewActive = this._isAdditionalViewDate(currentDate); var shouldDoubleOffset = isAdditionalViewActive && (rtlEnabled ? -1 === moveOffset : 1 === moveOffset); if (0 === moveOffset) { this._animateWrapper(0, 250); return } var offset = -moveOffset * this._getRtlCorrection() * (shouldDoubleOffset ? 2 : 1); var date = this._getDateByOffset(offset); if (this._isDateInInvalidRange(date)) { if (moveOffset >= 0) { date = new Date(this._getMinDate()) } else { date = new Date(this._getMaxDate()) } } this.option("currentDate", date) }, _viewWidth: function() { if (!this._viewWidthValue) { this._viewWidthValue = (0, _size.getWidth)(this.$element()) / this.option("viewsCount") } return this._viewWidthValue }, _updateNavigatorCaption: function(offset) { offset *= this._getRtlCorrection(); var isMultiView = this.option("viewsCount") > 1; var view; var additionalView; if (offset > .5 && this._beforeView) { view = this._beforeView; additionalView = isMultiView && this._view } else if (offset < -.5 && this._afterView) { view = isMultiView ? this._additionalView : this._afterView; additionalView = isMultiView ? this._afterView : null } else { view = this._view; additionalView = isMultiView ? this._additionalView : null } this._navigator.option("text", this._getViewsCaption(view, additionalView)) }, _getViewsCaption: function(view, additionalView) { var caption = view.getNavigatorCaption(); var _this$option10 = this.option(), viewsCount = _this$option10.viewsCount; if (viewsCount > 1 && additionalView) { var additionalViewCaption = additionalView.getNavigatorCaption(); caption = "".concat(caption, " - ").concat(additionalViewCaption) } return caption }, _isDateInInvalidRange: function(date) { if (this._view.isBoundary(date)) { return } var min = this._getMinDate(); var max = this._getMaxDate(); var normalizedDate = _date2.default.normalizeDate(date, min, max); return normalizedDate === min || normalizedDate === max }, _renderFooter: function() { var _this4 = this; var showTodayButton = this.option("showTodayButton"); if (showTodayButton) { var $todayButton = this._createComponent((0, _renderer.default)("<div>"), _button.default, { focusStateEnabled: this.option("focusStateEnabled"), text: _message.default.format("dxCalendar-todayButtonText"), onClick: function(args) { _this4._toTodayView(args) }, type: "default", stylingMode: "text", integrationOptions: {} }).$element().addClass("dx-calendar-today-button"); this._$footer = (0, _renderer.default)("<div>").addClass("dx-calendar-footer").append($todayButton); this.$element().append(this._$footer) } this.$element().toggleClass("dx-calendar-with-footer", showTodayButton) }, _renderSubmitElement: function() { this._$submitElement = (0, _renderer.default)("<input>").attr("type", "hidden").appendTo(this.$element()); this._setSubmitValue(this.option("value")) }, _setSubmitValue: function(value) { var dateValue = this._convertToDate(value); this._getSubmitElement().val(_date_serialization.default.serializeDate(dateValue, "yyyy-MM-dd")) }, _getSubmitElement: function() { return this._$submitElement }, _animateShowView: function() { _fx.default.stop(this._view.$element(), true); this._popAnimationView(this._view, .6, 1, 250); if (this.option("viewsCount") > 1) { _fx.default.stop(this._additionalView.$element(), true); this._popAnimationView(this._additionalView, .6, 1, 250) } }, _popAnimationView: function(view, from, to, duration) { return _fx.default.animate(view.$element(), { type: "pop", from: { scale: from, opacity: from }, to: { scale: to, opacity: to }, duration: duration }) }, _navigate: function(offset, value) { if (0 !== offset && 1 !== Math.abs(offset) && this._isViewAvailable(value)) { var newView = this._renderSpecificView(value); if (offset > 0) { this._afterView && this._afterView.$element().remove(); this._afterView = newView } else { this._beforeView && this._beforeView.$element().remove(); this._beforeView = newView } this._translateViews() } var rtlCorrection = this._getRtlCorrection(); var offsetSign = offset > 0 ? 1 : offset < 0 ? -1 : 0; var endPosition = -rtlCorrection * offsetSign * this._viewWidth(); var viewsWrapperPosition = this._$viewsWrapper.position().left; if (viewsWrapperPosition !== endPosition) { if (this._preventViewChangeAnimation) { this._wrapperAnimationEndHandler(offset, value) } else { this._animateWrapper(endPosition, 250).done(this._wrapperAnimationEndHandler.bind(this, offset, value)) } } }, _animateWrapper: function(to, duration) { return _fx.default.animate(this._$viewsWrapper, { type: "slide", from: { left: this._$viewsWrapper.position().left }, to: { left: to }, duration: duration }) }, _getDate: function(value) { return new Date(value) }, _toTodayView: function(args) { var today = new Date; if (this._isMaxZoomLevel()) { this._selectionStrategy.selectValue(today, args.event); return } this._preventViewChangeAnimation = true; this.option("zoomLevel", this.option("maxZoomLevel")); this._selectionStrategy.selectValue(today, args.event); this._animateShowView(); this._preventViewChangeAnimation = false }, _wrapperAnimationEndHandler: function(offset, newDate) { this._rearrangeViews(offset); this._translateViews(); this._resetLocation(); this._renderNavigator(); this._setViewContoured(newDate); this._updateAriaId(newDate); this._selectionStrategy.updateAriaSelected() }, _rearrangeViews: function(offset) { var _this$viewToRemoveKey; if (0 === offset) { return } var _this$option11 = this.option(), viewsCount = _this$option11.viewsCount; var viewOffset; var viewToCreateKey; var viewToRemoveKey; var viewBeforeCreateKey; var viewAfterRemoveKey; if (offset < 0) { viewOffset = 1; viewToCreateKey = "_beforeView"; viewToRemoveKey = "_afterView"; viewBeforeCreateKey = "_view"; viewAfterRemoveKey = 1 === viewsCount ? "_view" : "_additionalView" } else { viewOffset = -1; viewToCreateKey = "_afterView"; viewToRemoveKey = "_beforeView"; viewBeforeCreateKey = 1 === viewsCount ? "_view" : "_additionalView"; viewAfterRemoveKey = "_view" } if (!this[viewToCreateKey]) { return } var destinationDate = this[viewToCreateKey].option("date"); null === (_this$viewToRemoveKey = this[viewToRemoveKey]) || void 0 === _this$viewToRemoveKey ? void 0 : _this$viewToRemoveKey.$element().remove(); this[viewToRemoveKey] = this._renderSpecificView(this._getDateByOffset(viewOffset * viewsCount, destinationDate)); this[viewAfterRemoveKey].$element().remove(); if (1 === viewsCount) { this[viewAfterRemoveKey] = this[viewToCreateKey] } else { this[viewAfterRemoveKey] = this[viewBeforeCreateKey]; this[viewBeforeCreateKey] = this[viewToCreateKey] } var dateByOffset = this._getDateByOffset(-viewOffset, destinationDate); this[viewToCreateKey] = this._isViewAvailable(dateByOffset) ? this._renderSpecificView(dateByOffset) : null }, _resetLocation: function() { (0, _translator.move)(this._$viewsWrapper, { left: 0, top: 0 }) }, _clean: function() { this.callBase(); this._clearViewWidthCache(); delete this._$viewsWrapper; delete this._navigator; delete this._$footer }, _clearViewWidthCache: function() { delete this._viewWidthValue }, _disposeViews: function() { this._view.$element().remove(); this._beforeView && this._beforeView.$element().remove(); this._additionalView && this._additionalView.$element().remove(); this._afterView && this._afterView.$element().remove(); delete this._view; delete this._additionalView; delete this._beforeView; delete this._afterView; delete this._skipNavigate }, _dispose: function() { clearTimeout(this._waitRenderViewTimeout); this.callBase() }, _refreshViews: function() { this._resetActiveState(); this._disposeViews(); this._renderViews() }, _visibilityChanged: function() { this._translateViews() }, _focusInHandler: function() { this.callBase.apply(this, arguments); this._setViewContoured(this.option("currentDate")) }, _focusOutHandler: function() { var _this$_additionalView2; this.callBase.apply(this, arguments); this._view.option("contouredDate", null); null === (_this$_additionalView2 = this._additionalView) || void 0 === _this$_additionalView2 ? void 0 : _this$_additionalView2.option("contouredDate", null) }, _updateViewsOption: function(optionName, newValue) { var _this$_additionalView3, _this$_beforeView, _this$_afterView; this._view.option(optionName, newValue); null === (_this$_additionalView3 = this._additionalView) || void 0 === _this$_additionalView3 ? void 0 : _this$_additionalView3.option(optionName, newValue); null === (_this$_beforeView = this._beforeView) || void 0 === _this$_beforeView ? void 0 : _this$_beforeView.option(optionName, newValue); null === (_this$_afterView = this._afterView) || void 0 === _this$_afterView ? void 0 : _this$_afterView.option(optionName, newValue) }, _setViewsMinOption: function(min) { this._restoreViewsMinMaxOptions(); this.option("_rangeMin", this._convertToDate(min)); this._updateViewsOption("min", this._getMinDate()) }, _setViewsMaxOption: function(max) { this._restoreViewsMinMaxOptions(); this.option("_rangeMax", this._convertToDate(max)); this._updateViewsOption("max", this._getMaxDate()) }, _restoreViewsMinMaxOptions: function() { this.option({ _rangeMin: null, _rangeMax: null }); this._updateViewsOption("min", this._getMinDate()); this._updateViewsOption("max", this._getMaxDate()) }, _updateAriaSelected: function(value, previousValue) { var _this5 = this; previousValue.forEach((function(item) { _this5.setAria("selected", void 0, _this5._view._getCellByDate(item)) })); value.forEach((function(item) { _this5.setAria("selected", true, _this5._view._getCellByDate(item)) })); if (this.option("viewsCount") > 1) { previousValue.forEach((function(item) { _this5.setAria("selected", void 0, _this5._additionalView._getCellByDate(item)) })); value.forEach((function(item) { _this5.setAria("selected", true, _this5._additionalView._getCellByDate(item)) })) } }, _updateAriaId: function(value) { var _value; value = null !== (_value = value) && void 0 !== _value ? _value : this.option("currentDate"); var ariaId = "dx-" + new _guid.default; var view = this._getActiveView(value); var $newCell = view._getCellByDate(value); this.setAria("id", ariaId, $newCell); this.setAria("activedescendant", ariaId); this._onContouredChanged(ariaId) }, _suppressingNavigation: function(callback, args) { this._suppressNavigation = true; callback.apply(this, args); delete this._suppressNavigation }, _optionChanged: function(args) { var value = args.value, previousValue = args.previousValue; switch (args.name) { case "width": this.callBase(args); this._clearViewWidthCache(); break; case "min": case "max": this.min = void 0; this.max = void 0; this._suppressingNavigation(this._updateCurrentDate, [this.option("currentDate")]); this._refreshViews(); this._renderNavigator(); break; case "selectionMode": this._refreshSelectionStrategy(); this._initCurrentDate(); break; case "firstDayOfWeek": this._refreshViews(); this._updateButtonsVisibility(); break; case "currentDate": this.setAria("id", void 0, this._view._getCellByDate(previousValue)); this._updateCurrentDate(value); break; case "zoomLevel": this.$element().removeClass("dx-calendar-view-" + previousValue); this._correctZoomLevel(); this._refreshViews(); this._renderNavigator(); this._updateAriaId(); break; case "minZoomLevel": case "maxZoomLevel": this._correctZoomLevel(); this._updateButtonsVisibility(); break; case "value": if ("single" === this.option("selectionMode")) { this._selectionStrategy.processValueChanged([value], [previousValue]) } this._setSubmitValue(value); this.callBase(args); break; case "values": if ("single" !== this.option("selectionMode")) { this._selectionStrategy.processValueChanged(value, previousValue) } this._raiseValueChangeAction(value, previousValue); this._saveValueChangeEvent(void 0); break; case "viewsCount": this._refreshViews(); this._renderNavigator(); break; case "onCellClick": this._view.option("onCellClick", value); break; case "onContouredChanged": this._onContouredChanged = this._createActionByOption("onContouredChanged"); break; case "disabledDates": case "dateSerializationFormat": case "cellTemplate": case "showTodayButton": this._invalidate(); break; case "skipFocusCheck": break; case "_todayDate": case "showWeekNumbers": case "weekNumberRule": this._refreshViews(); break; default: this.callBase(args) } }, getContouredDate: function() { return this._view.option("contouredDate") } }); (0, _component_registrator.default)("dxCalendar", Calendar); var _default = Calendar; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 76095: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/calendar/ui.calendar.multi.selection.strategy.js ***! \*************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiCalendarSelection = (obj = __webpack_require__( /*! ./ui.calendar.selection.strategy */ 48452), obj && obj.__esModule ? obj : { default: obj }); var obj; function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var CalendarMultiSelectionStrategy = function(_CalendarSelectionStr) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(CalendarMultiSelectionStrategy, _CalendarSelectionStr); function CalendarMultiSelectionStrategy(component) { var _this; _this = _CalendarSelectionStr.call(this, component) || this; _this.NAME = "MultiSelection"; return _this } var _proto = CalendarMultiSelectionStrategy.prototype; _proto.getViewOptions = function() { return { value: this.dateOption("values"), range: [], selectionMode: "multi" } }; _proto.selectValue = function(selectedValue, e) { var values = _toConsumableArray(this.dateOption("values")); var alreadySelectedIndex = values.findIndex((function(date) { return (null === date || void 0 === date ? void 0 : date.toDateString()) === selectedValue.toDateString() })); if (alreadySelectedIndex > -1) { values.splice(alreadySelectedIndex, 1) } else { values.push(selectedValue) } this.skipNavigate(); this._updateCurrentDate(selectedValue); this._currentDateChanged = true; this.dateValue(values, e) }; _proto.updateAriaSelected = function(value, previousValue) { var _value, _previousValue; null !== (_value = value) && void 0 !== _value ? _value : value = this.dateOption("values"); null !== (_previousValue = previousValue) && void 0 !== _previousValue ? _previousValue : previousValue = []; _CalendarSelectionStr.prototype.updateAriaSelected.call(this, value, previousValue) }; _proto.getDefaultCurrentDate = function() { var dates = this.dateOption("values").filter((function(value) { return value })); return this._getLowestDateInArray(dates) }; return CalendarMultiSelectionStrategy }(_uiCalendarSelection.default); var _default = CalendarMultiSelectionStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 69221: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/calendar/ui.calendar.navigator.js ***! \**********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _button = _interopRequireDefault(__webpack_require__( /*! ../button */ 63008)); var _themes = __webpack_require__( /*! ../themes */ 75811); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var Navigator = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Navigator, _Widget); function Navigator() { return _Widget.apply(this, arguments) || this } var _proto = Navigator.prototype; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { onClick: null, onCaptionClick: null, type: "normal", stylingMode: "outlined", text: "" }) }; _proto._defaultOptionsRules = function() { return _Widget.prototype._defaultOptionsRules.call(this).concat([{ device: function() { return (0, _themes.isMaterial)() }, options: { type: "default", stylingMode: "text" } }]) }; _proto._init = function() { _Widget.prototype._init.call(this); this._initActions() }; _proto._initActions = function() { this._clickAction = this._createActionByOption("onClick"); this._captionClickAction = this._createActionByOption("onCaptionClick") }; _proto._initMarkup = function() { _Widget.prototype._initMarkup.call(this); this.$element().addClass("dx-calendar-navigator"); this._renderButtons(); this._renderCaption() }; _proto._renderButtons = function() { var _this = this; var _this$option = this.option(), rtlEnabled = _this$option.rtlEnabled, type = _this$option.type, stylingMode = _this$option.stylingMode; this._prevButton = this._createComponent((0, _renderer.default)("<div>"), _button.default, { focusStateEnabled: false, icon: rtlEnabled ? "chevronright" : "chevronleft", onClick: function(e) { _this._clickAction({ direction: -1, event: e }) }, type: type, stylingMode: stylingMode, integrationOptions: {} }); var $prevButton = this._prevButton.$element().addClass("dx-calendar-navigator-previous-view").addClass("dx-calendar-navigator-previous-month"); this._nextButton = this._createComponent((0, _renderer.default)("<div>"), _button.default, { focusStateEnabled: false, icon: rtlEnabled ? "chevronleft" : "chevronright", onClick: function(e) { _this._clickAction({ direction: 1, event: e }) }, type: type, stylingMode: stylingMode, integrationOptions: {} }); var $nextButton = this._nextButton.$element().addClass("dx-calendar-navigator-next-view").addClass("dx-calendar-navigator-next-month"); this._caption = this._createComponent((0, _renderer.default)("<div>").addClass("dx-calendar-caption-button"), _button.default, { focusStateEnabled: false, onClick: function(e) { _this._captionClickAction({ event: e }) }, type: type, stylingMode: stylingMode, template: function(_, content) { var _this$option2 = _this.option(), text = _this$option2.text; var viewCaptionTexts = text.split(" - "); viewCaptionTexts.forEach((function(captionText) { (0, _renderer.default)(content).append((0, _renderer.default)("<span>").addClass("dx-button-text").text(captionText)) })) }, integrationOptions: {} }); var $caption = this._caption.$element(); this.$element().append($prevButton, $caption, $nextButton) }; _proto._renderCaption = function() { this._caption.option("text", this.option("text")) }; _proto.toggleButton = function(buttonPrefix, value) { var buttonName = "_" + buttonPrefix + "Button"; var button = this[buttonName]; if (button) { button.option("disabled", value); button.$element().toggleClass("dx-calendar-disabled-navigator-link", value) } }; _proto._optionChanged = function(args) { switch (args.name) { case "text": this._renderCaption(); break; default: _Widget.prototype._optionChanged.call(this, args) } }; return Navigator }(_ui.default); var _default = Navigator; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 76276: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/calendar/ui.calendar.range.selection.strategy.js ***! \*************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _uiCalendarSelection = _interopRequireDefault(__webpack_require__( /*! ./ui.calendar.selection.strategy */ 48452)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || _unsupportedIterableToArray(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || _unsupportedIterableToArray(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _unsupportedIterableToArray(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var CalendarRangeSelectionStrategy = function(_CalendarSelectionStr) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(CalendarRangeSelectionStrategy, _CalendarSelectionStr); function CalendarRangeSelectionStrategy(component) { var _this; _this = _CalendarSelectionStr.call(this, component) || this; _this.NAME = "RangeSelection"; return _this } var _proto = CalendarRangeSelectionStrategy.prototype; _proto.getViewOptions = function() { var value = this._getValues(); var range = this._getDaysInRange(value[0], value[1]); return { value: value, range: range, selectionMode: "range", onCellHover: this._cellHoverHandler.bind(this) } }; _proto.selectValue = function(selectedValue, e) { var _this$_getValues = this._getValues(), _this$_getValues2 = _slicedToArray(_this$_getValues, 2), startDate = _this$_getValues2[0], endDate = _this$_getValues2[1]; this.skipNavigate(); this._updateCurrentDate(selectedValue); this._currentDateChanged = true; if (true === this.calendar.option("_allowChangeSelectionOrder")) { this.calendar._valueSelected = true; if ("startDate" === this.calendar.option("_currentSelection")) { if (this.calendar._convertToDate(selectedValue) > this.calendar._convertToDate(endDate)) { this.dateValue([selectedValue, null], e) } else { this.dateValue([selectedValue, endDate], e) } } else if (this.calendar._convertToDate(selectedValue) >= this.calendar._convertToDate(startDate)) { this.dateValue([startDate, selectedValue], e) } else { this.dateValue([selectedValue, null], e) } } else if (!startDate || endDate) { this.dateValue([selectedValue, null], e) } else { this.dateValue(startDate < selectedValue ? [startDate, selectedValue] : [selectedValue, startDate], e) } }; _proto.updateAriaSelected = function(value, previousValue) { var _value, _previousValue; null !== (_value = value) && void 0 !== _value ? _value : value = this._getValues(); null !== (_previousValue = previousValue) && void 0 !== _previousValue ? _previousValue : previousValue = []; _CalendarSelectionStr.prototype.updateAriaSelected.call(this, value, previousValue) }; _proto.processValueChanged = function(value, previousValue) { _CalendarSelectionStr.prototype.processValueChanged.call(this, value, previousValue); var range = this._getRange(); this._updateViewsOption("range", range) }; _proto.getDefaultCurrentDate = function() { var _this$calendar$option = this.calendar.option(), _allowChangeSelectionOrder = _this$calendar$option._allowChangeSelectionOrder, _currentSelection = _this$calendar$option._currentSelection; var values = this.dateOption("values"); if (_allowChangeSelectionOrder) { if ("startDate" === _currentSelection && values[0]) { return values[0] } if ("endDate" === _currentSelection && values[1]) { return values[1] } } var dates = values.filter((function(value) { return value })); return this._getLowestDateInArray(dates) }; _proto._getValues = function() { var values = this.dateOption("values"); if (!values.length) { return values } var _values = _slicedToArray(values, 2), startDate = _values[0], endDate = _values[1]; if (startDate && endDate && startDate > endDate) { var _ref = [endDate, startDate]; startDate = _ref[0]; endDate = _ref[1] } return [startDate, endDate] }; _proto._getRange = function() { var _this$_getValues3 = this._getValues(), _this$_getValues4 = _slicedToArray(_this$_getValues3, 2), startDate = _this$_getValues4[0], endDate = _this$_getValues4[1]; return this._getDaysInRange(startDate, endDate) }; _proto._getDaysInRange = function(startDate, endDate) { if (!startDate || !endDate) { return [] } var currentDate = this.calendar.option("currentDate").getTime(); var rangeStartDate = new Date(Math.max(currentDate - 10368e6, startDate)); var rangeEndDate = new Date(Math.min(currentDate + 10368e6, endDate)); return [].concat(_toConsumableArray(_date.default.getDatesOfInterval(rangeStartDate, rangeEndDate, 864e5)), [rangeEndDate]) }; _proto._cellHoverHandler = function(e) { var isMaxZoomLevel = this._isMaxZoomLevel(); var _this$_getValues5 = this._getValues(), _this$_getValues6 = _slicedToArray(_this$_getValues5, 2), startDate = _this$_getValues6[0], endDate = _this$_getValues6[1]; var _this$calendar$option2 = this.calendar.option(), _allowChangeSelectionOrder = _this$calendar$option2._allowChangeSelectionOrder, _currentSelection = _this$calendar$option2._currentSelection; if (isMaxZoomLevel) { var skipHoveredRange = _allowChangeSelectionOrder && "startDate" === _currentSelection; if (startDate && !endDate && !skipHoveredRange) { if (e.value > startDate) { this._updateViewsOption("hoveredRange", this._getDaysInRange(startDate, e.value)); return } } else if (!startDate && endDate && !(_allowChangeSelectionOrder && "endDate" === _currentSelection)) { if (e.value < endDate) { this._updateViewsOption("hoveredRange", this._getDaysInRange(e.value, endDate)); return } } else if (startDate && endDate) { if ("startDate" === _currentSelection && e.value < startDate) { this._updateViewsOption("hoveredRange", this._getDaysInRange(e.value, startDate)); return } else if ("endDate" === _currentSelection && e.value > endDate) { this._updateViewsOption("hoveredRange", this._getDaysInRange(endDate, e.value)); return } } this._updateViewsOption("hoveredRange", []) } }; return CalendarRangeSelectionStrategy }(_uiCalendarSelection.default); var _default = CalendarRangeSelectionStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 48452: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/calendar/ui.calendar.selection.strategy.js ***! \*******************************************************************************************/ function(module, exports) { exports.default = void 0; function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var CalendarSelectionStrategy = function() { function CalendarSelectionStrategy(component) { this.calendar = component } var _proto = CalendarSelectionStrategy.prototype; _proto.dateOption = function(optionName) { return this.calendar._dateOption(optionName) }; _proto.dateValue = function(value, e) { this.calendar._dateValue(value, e) }; _proto.skipNavigate = function() { this.calendar._skipNavigate = true }; _proto.updateAriaSelected = function(value, previousValue) { this.calendar._updateAriaSelected(value, previousValue); if (value[0] && this.calendar.option("currentDate").getTime() === value[0].getTime()) { this.calendar._updateAriaId(value[0]) } }; _proto.processValueChanged = function(value, previousValue) { var _value, _previousValue, _this = this; value = (null === (_value = value) || void 0 === _value ? void 0 : _value.map((function(item) { return _this._convertToDate(item) }))) || []; previousValue = (null === (_previousValue = previousValue) || void 0 === _previousValue ? void 0 : _previousValue.map((function(item) { return _this._convertToDate(item) }))) || []; this._updateViewsValue(value); this.updateAriaSelected(value, previousValue); if (!this._currentDateChanged) { this.calendar._initCurrentDate() } this._currentDateChanged = false }; _proto._getLowestDateInArray = function(dates) { if (dates.length) { return new Date(Math.min.apply(Math, _toConsumableArray(dates))) } }; _proto._convertToDate = function(value) { return this.calendar._convertToDate(value) }; _proto._isMaxZoomLevel = function() { return this.calendar._isMaxZoomLevel() }; _proto._updateViewsOption = function(optionName, optionValue) { this.calendar._updateViewsOption(optionName, optionValue) }; _proto._updateViewsValue = function(value) { this._updateViewsOption("value", value) }; _proto._updateCurrentDate = function(value) { this.calendar.option("currentDate", null !== value && void 0 !== value ? value : new Date) }; return CalendarSelectionStrategy }(); var _default = CalendarSelectionStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 19769: /*!**************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/calendar/ui.calendar.single.selection.strategy.js ***! \**************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiCalendarSelection = (obj = __webpack_require__( /*! ./ui.calendar.selection.strategy */ 48452), obj && obj.__esModule ? obj : { default: obj }); var obj; function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var CalendarSingleSelectionStrategy = function(_CalendarSelectionStr) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(CalendarSingleSelectionStrategy, _CalendarSelectionStr); function CalendarSingleSelectionStrategy(component) { var _this; _this = _CalendarSelectionStr.call(this, component) || this; _this.NAME = "SingleSelection"; return _this } var _proto = CalendarSingleSelectionStrategy.prototype; _proto.getViewOptions = function() { return { value: this.dateOption("value"), range: [], selectionMode: "single" } }; _proto.selectValue = function(selectedValue, e) { this.skipNavigate(); this.dateValue(selectedValue, e) }; _proto.updateAriaSelected = function(value, previousValue) { var _value, _previousValue; null !== (_value = value) && void 0 !== _value ? _value : value = [this.dateOption("value")]; null !== (_previousValue = previousValue) && void 0 !== _previousValue ? _previousValue : previousValue = []; _CalendarSelectionStr.prototype.updateAriaSelected.call(this, value, previousValue) }; _proto.getDefaultCurrentDate = function() { return this.dateOption("value") }; _proto._updateViewsValue = function(value) { this._updateViewsOption("value", value[0]) }; return CalendarSingleSelectionStrategy }(_uiCalendarSelection.default); var _default = CalendarSingleSelectionStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 92633: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/calendar/ui.calendar.views.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _uiCalendar = _interopRequireDefault(__webpack_require__( /*! ./ui.calendar.base_view */ 15360)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _date2 = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date_serialization */ 69434)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var Views = { month: _uiCalendar.default.inherit({ _getViewName: function() { return "month" }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { firstDayOfWeek: 0, rowCount: 6, colCount: 7 }) }, _renderImpl: function() { this.callBase(); this._renderHeader() }, _renderBody: function() { this.callBase(); this._$table.find(".".concat("dx-calendar-other-view")).addClass("dx-calendar-other-month") }, _renderFocusTarget: _common.noop, getCellAriaLabel: function(date) { return _date2.default.format(date, "longdate") }, _renderHeader: function() { var $headerRow = (0, _renderer.default)("<tr>"); var $header = (0, _renderer.default)("<thead>").append($headerRow); this._$table.prepend($header); for (var colIndex = 0, colCount = this.option("colCount"); colIndex < colCount; colIndex++) { this._renderHeaderCell(colIndex, $headerRow) } if (this.option("showWeekNumbers")) { this._renderWeekHeaderCell($headerRow) } }, _renderHeaderCell: function(cellIndex, $headerRow) { var _this$option = this.option(), firstDayOfWeek = _this$option.firstDayOfWeek; var _this$_getDayCaption = this._getDayCaption(firstDayOfWeek + cellIndex), fullCaption = _this$_getDayCaption.full, abbrCaption = _this$_getDayCaption.abbreviated; var $cell = (0, _renderer.default)("<th>").attr({ scope: "col", abbr: fullCaption }).text(abbrCaption); $headerRow.append($cell) }, _renderWeekHeaderCell: function($headerRow) { var $weekNumberHeaderCell = (0, _renderer.default)("<th>").attr({ scope: "col", abbr: "WeekNumber", class: "dx-week-number-header" }); $headerRow.prepend($weekNumberHeaderCell) }, _renderWeekNumberCell: function(rowData) { var _this$option2 = this.option(), showWeekNumbers = _this$option2.showWeekNumbers, cellTemplate = _this$option2.cellTemplate; if (!showWeekNumbers) { return } var weekNumber = this._getWeekNumber(rowData.prevCellDate); var cell = _dom_adapter.default.createElement("td"); var $cell = (0, _renderer.default)(cell); cell.className = "dx-calendar-week-number-cell"; if (cellTemplate) { cellTemplate.render(this._prepareCellTemplateData(weekNumber, -1, $cell)) } else { cell.innerHTML = weekNumber } rowData.row.prepend(cell); this.setAria({ role: "gridcell", label: "Week ".concat(weekNumber) }, $cell) }, _getWeekNumber: function(date) { var _this$option3 = this.option(), weekNumberRule = _this$option3.weekNumberRule, firstDayOfWeek = _this$option3.firstDayOfWeek; if ("auto" === weekNumberRule) { return _date.default.getWeekNumber(date, firstDayOfWeek, 1 === firstDayOfWeek ? "firstFourDays" : "firstDay") } return _date.default.getWeekNumber(date, firstDayOfWeek, weekNumberRule) }, getNavigatorCaption: function() { return _date2.default.format(this.option("date"), "monthandyear") }, _isTodayCell: function(cellDate) { var today = this.option("_todayDate")(); return _date.default.sameDate(cellDate, today) }, _isDateOutOfRange: function(cellDate) { var minDate = this.option("min"); var maxDate = this.option("max"); return !_date.default.dateInRange(cellDate, minDate, maxDate, "date") }, _isOtherView: function(cellDate) { return cellDate.getMonth() !== this.option("date").getMonth() }, _isStartDayOfMonth: function(cellDate) { return _date.default.sameDate(cellDate, _date.default.getFirstMonthDate(this.option("date"))) }, _isEndDayOfMonth: function(cellDate) { return _date.default.sameDate(cellDate, _date.default.getLastMonthDate(this.option("date"))) }, _getCellText: function(cellDate) { return _date2.default.format(cellDate, "d") }, _getDayCaption: function(day) { var daysInWeek = this.option("colCount"); var dayIndex = day % daysInWeek; return { full: _date2.default.getDayNames()[dayIndex], abbreviated: _date2.default.getDayNames("abbreviated")[dayIndex] } }, _getFirstCellData: function() { var _this$option4 = this.option(), firstDayOfWeek = _this$option4.firstDayOfWeek; var firstDay = _date.default.getFirstMonthDate(this.option("date")); var firstMonthDayOffset = firstDayOfWeek - firstDay.getDay(); var daysInWeek = this.option("colCount"); if (firstMonthDayOffset >= 0) { firstMonthDayOffset -= daysInWeek } firstDay.setDate(firstDay.getDate() + firstMonthDayOffset); return firstDay }, _getNextCellData: function(date) { date = new Date(date); date.setDate(date.getDate() + 1); return date }, _getCellByDate: function(date) { return this._$table.find("td[data-value='".concat(_date_serialization.default.serializeDate(date, _date.default.getShortDateFormat()), "']")) }, isBoundary: function(date) { return _date.default.sameMonthAndYear(date, this.option("min")) || _date.default.sameMonthAndYear(date, this.option("max")) }, _getDefaultDisabledDatesHandler: function(disabledDates) { return function(args) { var isDisabledDate = disabledDates.some((function(item) { return _date.default.sameDate(item, args.date) })); if (isDisabledDate) { return true } } } }), year: _uiCalendar.default.inherit({ _getViewName: function() { return "year" }, _isTodayCell: function(cellDate) { var today = this.option("_todayDate")(); return _date.default.sameMonthAndYear(cellDate, today) }, _isDateOutOfRange: function(cellDate) { return !_date.default.dateInRange(cellDate, _date.default.getFirstMonthDate(this.option("min")), _date.default.getLastMonthDate(this.option("max"))) }, _isOtherView: function() { return false }, _isStartDayOfMonth: function() { return false }, _isEndDayOfMonth: function() { return false }, _getCellText: function(cellDate) { return _date2.default.getMonthNames("abbreviated")[cellDate.getMonth()] }, _getFirstCellData: function() { var currentDate = this.option("date"); var data = new Date(currentDate); data.setDate(1); data.setMonth(0); return data }, _getNextCellData: function(date) { date = new Date(date); date.setMonth(date.getMonth() + 1); return date }, _getCellByDate: function(date) { var foundDate = new Date(date); foundDate.setDate(1); return this._$table.find("td[data-value='".concat(_date_serialization.default.serializeDate(foundDate, _date.default.getShortDateFormat()), "']")) }, getCellAriaLabel: function(date) { return _date2.default.format(date, "monthandyear") }, getNavigatorCaption: function() { return _date2.default.format(this.option("date"), "yyyy") }, isBoundary: function(date) { return _date.default.sameYear(date, this.option("min")) || _date.default.sameYear(date, this.option("max")) }, _renderWeekNumberCell: _common.noop }), decade: _uiCalendar.default.inherit({ _getViewName: function() { return "decade" }, _isTodayCell: function(cellDate) { var today = this.option("_todayDate")(); return _date.default.sameYear(cellDate, today) }, _isDateOutOfRange: function(cellDate) { var min = this.option("min"); var max = this.option("max"); return !_date.default.dateInRange(cellDate.getFullYear(), min && min.getFullYear(), max && max.getFullYear()) }, _isOtherView: function(cellDate) { var date = new Date(cellDate); date.setMonth(1); return !_date.default.sameDecade(date, this.option("date")) }, _isStartDayOfMonth: function() { return false }, _isEndDayOfMonth: function() { return false }, _getCellText: function(cellDate) { return _date2.default.format(cellDate, "yyyy") }, _getFirstCellData: function() { var year = _date.default.getFirstYearInDecade(this.option("date")) - 1; return _date.default.createDateWithFullYear(year, 0, 1) }, _getNextCellData: function(date) { date = new Date(date); date.setFullYear(date.getFullYear() + 1); return date }, getNavigatorCaption: function() { var currentDate = this.option("date"); var firstYearInDecade = _date.default.getFirstYearInDecade(currentDate); var startDate = new Date(currentDate); var endDate = new Date(currentDate); startDate.setFullYear(firstYearInDecade); endDate.setFullYear(firstYearInDecade + 9); return _date2.default.format(startDate, "yyyy") + "-" + _date2.default.format(endDate, "yyyy") }, _isValueOnCurrentView: function(currentDate, value) { return _date.default.sameDecade(currentDate, value) }, _getCellByDate: function(date) { var foundDate = new Date(date); foundDate.setDate(1); foundDate.setMonth(0); return this._$table.find("td[data-value='".concat(_date_serialization.default.serializeDate(foundDate, _date.default.getShortDateFormat()), "']")) }, isBoundary: function(date) { return _date.default.sameDecade(date, this.option("min")) || _date.default.sameDecade(date, this.option("max")) }, _renderWeekNumberCell: _common.noop }), century: _uiCalendar.default.inherit({ _getViewName: function() { return "century" }, _isTodayCell: function(cellDate) { var today = this.option("_todayDate")(); return _date.default.sameDecade(cellDate, today) }, _isDateOutOfRange: function(cellDate) { var decade = _date.default.getFirstYearInDecade(cellDate); var minDecade = _date.default.getFirstYearInDecade(this.option("min")); var maxDecade = _date.default.getFirstYearInDecade(this.option("max")); return !_date.default.dateInRange(decade, minDecade, maxDecade) }, _isOtherView: function(cellDate) { var date = new Date(cellDate); date.setMonth(1); return !_date.default.sameCentury(date, this.option("date")) }, _isStartDayOfMonth: function() { return false }, _isEndDayOfMonth: function() { return false }, _getCellText: function(cellDate) { var startDate = _date2.default.format(cellDate, "yyyy"); var endDate = new Date(cellDate); endDate.setFullYear(endDate.getFullYear() + 9); return startDate + " - " + _date2.default.format(endDate, "yyyy") }, _getFirstCellData: function() { var decade = _date.default.getFirstDecadeInCentury(this.option("date")) - 10; return _date.default.createDateWithFullYear(decade, 0, 1) }, _getNextCellData: function(date) { date = new Date(date); date.setFullYear(date.getFullYear() + 10); return date }, _getCellByDate: function(date) { var foundDate = new Date(date); foundDate.setDate(1); foundDate.setMonth(0); foundDate.setFullYear(_date.default.getFirstYearInDecade(foundDate)); return this._$table.find("td[data-value='".concat(_date_serialization.default.serializeDate(foundDate, _date.default.getShortDateFormat()), "']")) }, getNavigatorCaption: function() { var currentDate = this.option("date"); var firstDecadeInCentury = _date.default.getFirstDecadeInCentury(currentDate); var startDate = new Date(currentDate); var endDate = new Date(currentDate); startDate.setFullYear(firstDecadeInCentury); endDate.setFullYear(firstDecadeInCentury + 99); return _date2.default.format(startDate, "yyyy") + "-" + _date2.default.format(endDate, "yyyy") }, isBoundary: function(date) { return _date.default.sameCentury(date, this.option("min")) || _date.default.sameCentury(date, this.option("max")) }, _renderWeekNumberCell: _common.noop }) }; var _default = Views; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 18859: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/check_box.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _check_box = (obj = __webpack_require__( /*! ../renovation/ui/editors/check_box/check_box.j */ 8448), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _check_box.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 97326: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/collection/data_controller.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var DataControllerMock = { load: function() { return (0, _deferred.Deferred)().reject() }, loadSingle: function() { return (0, _deferred.Deferred)().reject() }, loadFromStore: function() { return (0, _deferred.Deferred)().reject() }, loadNextPage: function() { return (0, _deferred.Deferred)().reject() }, loadOptions: _common.noop, userData: _common.noop, cancel: _common.noop, cancelAll: _common.noop, filter: _common.noop, addSearchFilter: _common.noop, group: _common.noop, paginate: _common.noop, pageSize: _common.noop, pageIndex: _common.noop, resetDataSourcePageIndex: _common.noop, totalCount: _common.noop, isLastPage: _common.noop, isLoading: _common.noop, isLoaded: _common.noop, searchValue: _common.noop, searchOperation: _common.noop, searchExpr: _common.noop, select: _common.noop, key: _common.noop, keyOf: _common.noop, store: _common.noop, items: _common.noop, applyMapFunction: _common.noop, getDataSource: _common.noop, reload: _common.noop, on: _common.noop, off: _common.noop }; var DataController = function() { function DataController(dataSource) { if (!dataSource) { return DataControllerMock } this._dataSource = dataSource } var _proto = DataController.prototype; _proto.load = function() { return this._dataSource.load() }; _proto.loadSingle = function(propName, propValue) { if (arguments.length < 2) { propValue = propName; propName = this.key() } return this._dataSource.loadSingle(propName, propValue) }; _proto.loadFromStore = function(loadOptions) { return this.store().load(loadOptions) }; _proto.loadNextPage = function() { this.pageIndex(1 + this.pageIndex()); return this.load() }; _proto.loadOptions = function() { return this._dataSource.loadOptions() }; _proto.userData = function() { return this._dataSource._userData }; _proto.cancel = function(operationId) { this._dataSource.cancel(operationId) }; _proto.cancelAll = function() { this._dataSource.cancelAll() }; _proto.filter = function(_filter) { return this._dataSource.filter(_filter) }; _proto.addSearchFilter = function(storeLoadOptions) { this._dataSource._addSearchFilter(storeLoadOptions) }; _proto.group = function(_group) { return this._dataSource.group(_group) }; _proto.paginate = function() { return this._dataSource.paginate() }; _proto.pageSize = function() { return this._dataSource._pageSize }; _proto.pageIndex = function(_pageIndex) { return this._dataSource.pageIndex(_pageIndex) }; _proto.resetDataSourcePageIndex = function() { if (this.pageIndex()) { this.pageIndex(0); this.load() } }; _proto.totalCount = function() { return this._dataSource.totalCount() }; _proto.isLastPage = function() { return this._dataSource.isLastPage() || !this._dataSource._pageSize }; _proto.isLoading = function() { return this._dataSource.isLoading() }; _proto.isLoaded = function() { return this._dataSource.isLoaded() }; _proto.searchValue = function(value) { if (!arguments.length) { return this._dataSource.searchValue() } return this._dataSource.searchValue(value) }; _proto.searchOperation = function(operation) { return this._dataSource.searchOperation(operation) }; _proto.searchExpr = function(expr) { if (!arguments.length) { return this._dataSource.searchExpr() } return this._dataSource.searchExpr(expr) }; _proto.select = function() { var _this$_dataSource; return (_this$_dataSource = this._dataSource).select.apply(_this$_dataSource, arguments) }; _proto.key = function() { return this._dataSource.key() }; _proto.keyOf = function(item) { return this.store().keyOf(item) }; _proto.store = function() { return this._dataSource.store() }; _proto.items = function() { return this._dataSource.items() }; _proto.applyMapFunction = function(data) { return this._dataSource._applyMapFunction(data) }; _proto.getDataSource = function() { return this._dataSource || null }; _proto.reload = function() { return this._dataSource.reload() }; _proto.on = function(event, handler) { this._dataSource.on(event, handler) }; _proto.off = function(event, handler) { this._dataSource.off(event, handler) }; return DataController }(); var _default = DataController; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 54778: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/collection/item.js ***! \*******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _public_component = __webpack_require__( /*! ../../core/utils/public_component */ 9321); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var CollectionItem = _class.default.inherit({ ctor: function($element, options, rawData) { this._$element = $element; this._options = options; this._rawData = rawData; (0, _public_component.attachInstanceToElement)($element, this, this._dispose); this._render() }, _render: function() { var $placeholder = (0, _renderer.default)("<div>").addClass("dx-item-content-placeholder"); this._$element.append($placeholder); this._watchers = []; this._renderWatchers() }, _renderWatchers: function() { this._startWatcher("disabled", this._renderDisabled.bind(this)); this._startWatcher("visible", this._renderVisible.bind(this)) }, _startWatcher: function(field, render) { var rawData = this._rawData; var exprGetter = this._options.fieldGetter(field); var watcher = function(watchMethod, fn, callback) { var filteredCallback = function(value) { if (oldValue !== value) { callback(value, oldValue); oldValue = value } }; var oldValue; return { dispose: watchMethod(fn, filteredCallback), force: function() { filteredCallback(fn()) } } }(this._options.watchMethod(), (function() { return exprGetter(rawData) }), function(value, oldValue) { this._dirty = true; render(value, oldValue) }.bind(this)); this._watchers.push(watcher) }, setDataField: function() { this._dirty = false; (0, _iterator.each)(this._watchers, (function(_, watcher) { watcher.force() })); if (this._dirty) { return true } }, _renderDisabled: function(value, oldValue) { this._$element.toggleClass("dx-state-disabled", !!value); this._$element.attr("aria-disabled", !!value); this._updateOwnerFocus(value) }, _updateOwnerFocus: function(isDisabled) { var ownerComponent = this._options.owner; if (ownerComponent && isDisabled) { ownerComponent._resetItemFocus(this._$element) } }, _renderVisible: function(value, oldValue) { this._$element.toggleClass("dx-state-invisible", void 0 !== value && !value) }, _dispose: function() { (0, _iterator.each)(this._watchers, (function(_, watcher) { watcher.dispose() })) } }); CollectionItem.getInstance = function($element) { return (0, _public_component.getInstanceByElement)($element, this) }; var _default = CollectionItem; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 25970: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/collection/ui.collection_widget.async.js ***! \*****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiCollection_widget = (obj = __webpack_require__( /*! ./ui.collection_widget.edit */ 11050), obj && obj.__esModule ? obj : { default: obj }); var obj; var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var AsyncCollectionWidget = _uiCollection_widget.default.inherit({ _initMarkup: function() { this._deferredItems = []; this.callBase() }, _renderItemContent: function(args) { var renderContentDeferred = new _deferred.Deferred; var itemDeferred = new _deferred.Deferred; this._deferredItems[args.index] = itemDeferred; var $itemContent = this.callBase.call(this, args); itemDeferred.done((function() { renderContentDeferred.resolve($itemContent) })); return renderContentDeferred.promise() }, _onItemTemplateRendered: function(itemTemplate, renderArgs) { var _this = this; return function() { _this._deferredItems[renderArgs.index].resolve() } }, _postProcessRenderItems: _common.noop, _renderItemsAsync: function() { var _this2 = this; var d = new _deferred.Deferred; _deferred.when.apply(this, this._deferredItems).done((function() { _this2._postProcessRenderItems(); d.resolve() })); return d.promise() }, _clean: function() { this.callBase(); this._deferredItems = [] } }); var _default = AsyncCollectionWidget; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 19982: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/collection/ui.collection_widget.base.js ***! \****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _template_manager = __webpack_require__( /*! ../../core/utils/template_manager */ 69697); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _action = _interopRequireDefault(__webpack_require__( /*! ../../core/action */ 62414)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _data_helper = _interopRequireDefault(__webpack_require__( /*! ../../data_helper */ 53305)); var _item = _interopRequireDefault(__webpack_require__( /*! ./item */ 54778)); var _selectors = __webpack_require__( /*! ../widget/selectors */ 31421); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _hold = _interopRequireDefault(__webpack_require__( /*! ../../events/hold */ 11699)); var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var _click = __webpack_require__( /*! ../../events/click */ 95429); var _contextmenu = __webpack_require__( /*! ../../events/contextmenu */ 49166); var _bindable_template = __webpack_require__( /*! ../../core/templates/bindable_template */ 93280); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ITEM_CLASS = "dx-item"; var ITEM_PATH_REGEX = /^([^.]+\[\d+\]\.)+([\w.]+)$/; var CollectionWidget = _ui.default.inherit({ _activeStateUnit: "." + ITEM_CLASS, _supportedKeys: function() { var move = function(location, e) { if (!(0, _index.isCommandKeyPressed)(e)) { e.preventDefault(); e.stopPropagation(); this._moveFocus(location, e) } }; return (0, _extend.extend)(this.callBase(), { space: function(e) { e.preventDefault(); this._enterKeyHandler(e) }, enter: this._enterKeyHandler, leftArrow: move.bind(this, "left"), rightArrow: move.bind(this, "right"), upArrow: move.bind(this, "up"), downArrow: move.bind(this, "down"), pageUp: move.bind(this, "up"), pageDown: move.bind(this, "down"), home: move.bind(this, "first"), end: move.bind(this, "last") }) }, _enterKeyHandler: function(e) { var $itemElement = (0, _renderer.default)(this.option("focusedElement")); if (!$itemElement.length) { return } var itemData = this._getItemData($itemElement); if (null !== itemData && void 0 !== itemData && itemData.onClick) { this._itemEventHandlerByHandler($itemElement, itemData.onClick, { event: e }) } this._itemClickHandler((0, _extend.extend)({}, e, { target: $itemElement.get(0), currentTarget: $itemElement.get(0) })) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { selectOnFocus: false, loopItemFocus: true, items: [], itemTemplate: "item", onItemRendered: null, onItemClick: null, onItemHold: null, itemHoldTimeout: 750, onItemContextMenu: null, onFocusedItemChanged: null, noDataText: _message.default.format("dxCollectionWidget-noDataText"), encodeNoDataText: false, dataSource: null, _dataController: null, _itemAttributes: {}, itemTemplateProperty: "template", focusOnSelectedItem: true, focusedElement: null, displayExpr: void 0, disabledExpr: function(data) { return data ? data.disabled : void 0 }, visibleExpr: function(data) { return data ? data.visible : void 0 } }) }, _init: function() { this._compileDisplayGetter(); this._initDataController(); this.callBase(); this._cleanRenderedItems(); this._refreshDataSource() }, _compileDisplayGetter: function() { var displayExpr = this.option("displayExpr"); this._displayGetter = displayExpr ? (0, _data.compileGetter)(this.option("displayExpr")) : void 0 }, _initTemplates: function() { this._initItemsFromMarkup(); this._initDefaultItemTemplate(); this.callBase() }, _getAnonymousTemplateName: function() { return "item" }, _initDefaultItemTemplate: function() { var fieldsMap = this._getFieldsMap(); this._templateManager.addDefaultTemplates({ item: new _bindable_template.BindableTemplate(function($container, data) { if ((0, _type.isPlainObject)(data)) { this._prepareDefaultItemTemplate(data, $container) } else { if (fieldsMap && (0, _type.isFunction)(fieldsMap.text)) { data = fieldsMap.text(data) } $container.text(String((0, _common.ensureDefined)(data, ""))) } }.bind(this), this._getBindableFields(), this.option("integrationOptions.watchMethod"), fieldsMap) }) }, _getBindableFields: function() { return ["text", "html"] }, _getFieldsMap: function() { if (this._displayGetter) { return { text: this._displayGetter } } }, _prepareDefaultItemTemplate: function(data, $container) { if ((0, _type.isDefined)(data.text)) { $container.text(data.text) } if ((0, _type.isDefined)(data.html)) { $container.html(data.html) } }, _initItemsFromMarkup: function() { var _this = this; var rawItems = (0, _template_manager.findTemplates)(this.$element(), "dxItem"); if (!rawItems.length || this.option("items").length) { return } var items = rawItems.map((function(_ref) { var element = _ref.element, options = _ref.options; var isTemplateRequired = /\S/.test(element.innerHTML) && !options.template; if (isTemplateRequired) { options.template = _this._prepareItemTemplate(element) } else { (0, _renderer.default)(element).remove() } return options })); this.option("items", items) }, _prepareItemTemplate: function(item) { var templateId = "tmpl-" + new _guid.default; var $template = (0, _renderer.default)(item).detach().clone().removeAttr("data-options").addClass("dx-template-wrapper"); this._saveTemplate(templateId, $template); return templateId }, _dataSourceOptions: function() { return { paginate: false } }, _cleanRenderedItems: function() { this._renderedItemsCount = 0 }, _focusTarget: function() { return this.$element() }, _focusInHandler: function(e) { this.callBase.apply(this, arguments); if (!this._isFocusTarget(e.target)) { return } var $focusedElement = (0, _renderer.default)(this.option("focusedElement")); if ($focusedElement.length) { this._setFocusedItem($focusedElement) } else { var $activeItem = this._getActiveItem(); if ($activeItem.length) { this.option("focusedElement", (0, _element.getPublicElement)($activeItem)) } } }, _focusOutHandler: function() { this.callBase.apply(this, arguments); var $target = (0, _renderer.default)(this.option("focusedElement")); this._updateFocusedItemState($target, false) }, _findActiveTarget: function($element) { return $element.find(this._activeStateUnit) }, _getActiveItem: function(last) { var $focusedElement = (0, _renderer.default)(this.option("focusedElement")); if ($focusedElement.length) { return $focusedElement } var index = this.option("focusOnSelectedItem") ? this.option("selectedIndex") : 0; var activeElements = this._getActiveElement(); var lastIndex = activeElements.length - 1; if (index < 0) { index = last ? lastIndex : 0 } return activeElements.eq(index) }, _moveFocus: function(location) { var $items = this._getAvailableItems(); var $newTarget; switch (location) { case "pageup": case "up": $newTarget = this._prevItem($items); break; case "pagedown": case "down": $newTarget = this._nextItem($items); break; case "right": $newTarget = this.option("rtlEnabled") ? this._prevItem($items) : this._nextItem($items); break; case "left": $newTarget = this.option("rtlEnabled") ? this._nextItem($items) : this._prevItem($items); break; case "first": $newTarget = $items.first(); break; case "last": $newTarget = $items.last(); break; default: return false } if (0 !== $newTarget.length) { this.option("focusedElement", (0, _element.getPublicElement)($newTarget)) } }, _getVisibleItems: function($itemElements) { $itemElements = $itemElements || this._itemElements(); return $itemElements.filter(":visible") }, _getAvailableItems: function($itemElements) { return this._getVisibleItems($itemElements) }, _prevItem: function($items) { var $target = this._getActiveItem(); var targetIndex = $items.index($target); var $last = $items.last(); var $item = (0, _renderer.default)($items[targetIndex - 1]); var loop = this.option("loopItemFocus"); if (0 === $item.length && loop) { $item = $last } return $item }, _nextItem: function($items) { var $target = this._getActiveItem(true); var targetIndex = $items.index($target); var $first = $items.first(); var $item = (0, _renderer.default)($items[targetIndex + 1]); var loop = this.option("loopItemFocus"); if (0 === $item.length && loop) { $item = $first } return $item }, _selectFocusedItem: function($target) { this.selectItem($target) }, _updateFocusedItemState: function(target, isFocused, needCleanItemId) { var $target = (0, _renderer.default)(target); if ($target.length) { this._refreshActiveDescendant(); this._refreshItemId($target, needCleanItemId); this._toggleFocusClass(isFocused, $target) } this._updateParentActiveDescendant() }, _refreshActiveDescendant: function($target) { this.setAria("activedescendant", (0, _type.isDefined)(this.option("focusedElement")) ? this.getFocusedItemId() : null, $target) }, _refreshItemId: function($target, needCleanItemId) { if (!needCleanItemId && this.option("focusedElement")) { this.setAria("id", this.getFocusedItemId(), $target) } else { this.setAria("id", null, $target) } }, _isDisabled: function($element) { return $element && "true" === (0, _renderer.default)($element).attr("aria-disabled") }, _setFocusedItem: function($target) { if (!$target || !$target.length) { return } this._updateFocusedItemState($target, true); this.onFocusedItemChanged(this.getFocusedItemId()); var _this$option = this.option(), selectOnFocus = _this$option.selectOnFocus; var isTargetDisabled = this._isDisabled($target); if (selectOnFocus && !isTargetDisabled) { this._selectFocusedItem($target) } }, _findItemElementByItem: function(item) { var result = (0, _renderer.default)(); var that = this; this.itemElements().each((function() { var $item = (0, _renderer.default)(this); if ($item.data(that._itemDataKey()) === item) { result = $item; return false } })); return result }, _getIndexByItem: function(item) { return this.option("items").indexOf(item) }, _itemOptionChanged: function(item, property, value, oldValue) { var $item = this._findItemElementByItem(item); if (!$item.length) { return } if (!this.constructor.ItemClass.getInstance($item).setDataField(property, value)) { this._refreshItem($item, item) } var isDisabling = "disabled" === property && value; if (isDisabling) { this._resetItemFocus($item) } }, _resetItemFocus: function($item) { if ($item.is(this.option("focusedElement"))) { this.option("focusedElement", null) } }, _refreshItem: function($item) { var itemData = this._getItemData($item); var index = $item.data(this._itemIndexKey()); this._renderItem(this._renderedItemsCount + index, itemData, null, $item) }, _updateParentActiveDescendant: _common.noop, _optionChanged: function(args) { if ("items" === args.name) { var matches = args.fullName.match(ITEM_PATH_REGEX); if (matches && matches.length) { var property = matches[matches.length - 1]; var itemPath = args.fullName.replace("." + property, ""); var item = this.option(itemPath); this._itemOptionChanged(item, property, args.value, args.previousValue); return } } switch (args.name) { case "items": case "_itemAttributes": case "itemTemplateProperty": case "useItemTextAsTitle": this._cleanRenderedItems(); this._invalidate(); break; case "dataSource": this._refreshDataSource(); this._renderEmptyMessage(); break; case "noDataText": case "encodeNoDataText": this._renderEmptyMessage(); break; case "itemTemplate": this._invalidate(); break; case "onItemRendered": this._createItemRenderAction(); break; case "onItemClick": break; case "onItemHold": case "itemHoldTimeout": this._attachHoldEvent(); break; case "onItemContextMenu": this._attachContextMenuEvent(); break; case "onFocusedItemChanged": this.onFocusedItemChanged = this._createActionByOption("onFocusedItemChanged"); break; case "selectOnFocus": case "loopItemFocus": case "focusOnSelectedItem": break; case "focusedElement": this._updateFocusedItemState(args.previousValue, false, true); this._setFocusedItem((0, _renderer.default)(args.value)); break; case "displayExpr": this._compileDisplayGetter(); this._initDefaultItemTemplate(); this._invalidate(); break; case "visibleExpr": case "disabledExpr": this._invalidate(); break; default: this.callBase(args) } }, _invalidate: function() { this.option("focusedElement", null); return this.callBase.apply(this, arguments) }, _loadNextPage: function() { this._expectNextPageLoading(); return this._dataController.loadNextPage() }, _expectNextPageLoading: function() { this._startIndexForAppendedItems = 0 }, _expectLastItemLoading: function() { this._startIndexForAppendedItems = -1 }, _forgetNextPageLoading: function() { this._startIndexForAppendedItems = null }, _dataSourceChangedHandler: function(newItems) { var items = this.option("items"); if (this._initialized && items && this._shouldAppendItems()) { this._renderedItemsCount = items.length; if (!this._isLastPage() || -1 !== this._startIndexForAppendedItems) { this.option().items = items.concat(newItems.slice(this._startIndexForAppendedItems)) } this._forgetNextPageLoading(); this._refreshContent() } else { this.option("items", newItems.slice()) } }, _refreshContent: function() { this._prepareContent(); this._renderContent() }, _dataSourceLoadErrorHandler: function() { this._forgetNextPageLoading(); this.option("items", this.option("items")) }, _shouldAppendItems: function() { return null != this._startIndexForAppendedItems && this._allowDynamicItemsAppend() }, _allowDynamicItemsAppend: function() { return false }, _clean: function() { this._cleanFocusState(); this._cleanItemContainer(); this._inkRipple && delete this._inkRipple; this._resetActiveState() }, _cleanItemContainer: function() { (0, _renderer.default)(this._itemContainer()).empty() }, _dispose: function() { this.callBase(); clearTimeout(this._itemFocusTimeout) }, _refresh: function() { this._cleanRenderedItems(); this.callBase.apply(this, arguments) }, _itemContainer: function() { return this.$element() }, _itemClass: function() { return ITEM_CLASS }, _itemContentClass: function() { return this._itemClass() + "-content" }, _selectedItemClass: function() { return "dx-item-selected" }, _itemResponseWaitClass: function() { return "dx-item-response-wait" }, _itemSelector: function() { return "." + this._itemClass() }, _itemDataKey: function() { return "dxItemData" }, _itemIndexKey: function() { return "dxItemIndex" }, _itemElements: function() { return this._itemContainer().find(this._itemSelector()) }, _initMarkup: function() { this.callBase(); this.onFocusedItemChanged = this._createActionByOption("onFocusedItemChanged"); this.$element().addClass("dx-collection"); this._prepareContent() }, _prepareContent: (0, _common.deferRenderer)((function() { this._renderContentImpl() })), _renderContent: function() { this._fireContentReadyAction() }, _render: function() { this.callBase(); this._attachClickEvent(); this._attachHoldEvent(); this._attachContextMenuEvent() }, _getPointerEvent: function() { return _pointer.default.down }, _attachClickEvent: function() { var _this2 = this; var itemSelector = this._itemSelector(); var pointerEvent = this._getPointerEvent(); var clickEventNamespace = (0, _index.addNamespace)(_click.name, this.NAME); var pointerEventNamespace = (0, _index.addNamespace)(pointerEvent, this.NAME); var pointerAction = new _action.default((function(args) { var event = args.event; _this2._itemPointerDownHandler(event) })); _events_engine.default.off(this._itemContainer(), clickEventNamespace, itemSelector); _events_engine.default.off(this._itemContainer(), pointerEventNamespace, itemSelector); _events_engine.default.on(this._itemContainer(), clickEventNamespace, itemSelector, (function(e) { return _this2._itemClickHandler(e) })); _events_engine.default.on(this._itemContainer(), pointerEventNamespace, itemSelector, (function(e) { pointerAction.execute({ element: (0, _renderer.default)(e.target), event: e }) })) }, _itemClickHandler: function(e, args, config) { this._itemDXEventHandler(e, "onItemClick", args, config) }, _itemPointerDownHandler: function(e) { if (!this.option("focusStateEnabled")) { return } this._itemFocusHandler = function() { clearTimeout(this._itemFocusTimeout); this._itemFocusHandler = null; if (e.isDefaultPrevented()) { return } var $target = (0, _renderer.default)(e.target); var $closestItem = $target.closest(this._itemElements()); var $closestFocusable = this._closestFocusable($target); if ($closestItem.length && this._isFocusTarget(null === $closestFocusable || void 0 === $closestFocusable ? void 0 : $closestFocusable.get(0))) { this.option("focusedElement", (0, _element.getPublicElement)($closestItem)) } }.bind(this); this._itemFocusTimeout = setTimeout(this._forcePointerDownFocus.bind(this)) }, _closestFocusable: function($target) { if ($target.is(_selectors.focusable)) { return $target } else { $target = $target.parent(); while ($target.length && !_dom_adapter.default.isDocument($target.get(0)) && !_dom_adapter.default.isDocumentFragment($target.get(0))) { if ($target.is(_selectors.focusable)) { return $target } $target = $target.parent() } } }, _forcePointerDownFocus: function() { this._itemFocusHandler && this._itemFocusHandler() }, _updateFocusState: function() { this.callBase.apply(this, arguments); this._forcePointerDownFocus() }, _attachHoldEvent: function() { var $itemContainer = this._itemContainer(); var itemSelector = this._itemSelector(); var eventName = (0, _index.addNamespace)(_hold.default.name, this.NAME); _events_engine.default.off($itemContainer, eventName, itemSelector); _events_engine.default.on($itemContainer, eventName, itemSelector, { timeout: this._getHoldTimeout() }, this._itemHoldHandler.bind(this)) }, _getHoldTimeout: function() { return this.option("itemHoldTimeout") }, _shouldFireHoldEvent: function() { return this.hasActionSubscription("onItemHold") }, _itemHoldHandler: function(e) { if (this._shouldFireHoldEvent()) { this._itemDXEventHandler(e, "onItemHold") } else { e.cancel = true } }, _attachContextMenuEvent: function() { var $itemContainer = this._itemContainer(); var itemSelector = this._itemSelector(); var eventName = (0, _index.addNamespace)(_contextmenu.name, this.NAME); _events_engine.default.off($itemContainer, eventName, itemSelector); _events_engine.default.on($itemContainer, eventName, itemSelector, this._itemContextMenuHandler.bind(this)) }, _shouldFireContextMenuEvent: function() { return this.hasActionSubscription("onItemContextMenu") }, _itemContextMenuHandler: function(e) { if (this._shouldFireContextMenuEvent()) { this._itemDXEventHandler(e, "onItemContextMenu") } else { e.cancel = true } }, _renderContentImpl: function() { var items = this.option("items") || []; if (this._renderedItemsCount) { this._renderItems(items.slice(this._renderedItemsCount)) } else { this._renderItems(items) } }, _renderItems: function(items) { if (items.length) { (0, _iterator.each)(items, function(index, itemData) { this._renderItem(this._renderedItemsCount + index, itemData) }.bind(this)) } this._renderEmptyMessage() }, _renderItem: function(index, itemData, $container, $itemToReplace) { var _index$item; var itemIndex = null !== (_index$item = null === index || void 0 === index ? void 0 : index.item) && void 0 !== _index$item ? _index$item : index; $container = $container || this._itemContainer(); var $itemFrame = this._renderItemFrame(itemIndex, itemData, $container, $itemToReplace); this._setElementData($itemFrame, itemData, itemIndex); $itemFrame.attr(this.option("_itemAttributes")); this._attachItemClickEvent(itemData, $itemFrame); var $itemContent = this._getItemContent($itemFrame); var renderContentPromise = this._renderItemContent({ index: itemIndex, itemData: itemData, container: (0, _element.getPublicElement)($itemContent), contentClass: this._itemContentClass(), defaultTemplateName: this.option("itemTemplate") }); var that = this; (0, _deferred.when)(renderContentPromise).done((function($itemContent) { that._postprocessRenderItem({ itemElement: $itemFrame, itemContent: $itemContent, itemData: itemData, itemIndex: itemIndex }); that._executeItemRenderAction(index, itemData, (0, _element.getPublicElement)($itemFrame)) })); return $itemFrame }, _getItemContent: function($itemFrame) { var $itemContent = $itemFrame.find(".dx-item-content-placeholder"); $itemContent.removeClass("dx-item-content-placeholder"); return $itemContent }, _attachItemClickEvent: function(itemData, $itemElement) { if (!itemData || !itemData.onClick) { return } _events_engine.default.on($itemElement, _click.name, function(e) { this._itemEventHandlerByHandler($itemElement, itemData.onClick, { event: e }) }.bind(this)) }, _renderItemContent: function(args) { var itemTemplateName = this._getItemTemplateName(args); var itemTemplate = this._getTemplate(itemTemplateName); this._addItemContentClasses(args); var $templateResult = (0, _renderer.default)(this._createItemByTemplate(itemTemplate, args)); if (!$templateResult.hasClass("dx-template-wrapper")) { return args.container } return this._renderItemContentByNode(args, $templateResult) }, _renderItemContentByNode: function(args, $node) { (0, _renderer.default)(args.container).replaceWith($node); args.container = (0, _element.getPublicElement)($node); this._addItemContentClasses(args); return $node }, _addItemContentClasses: function(args) { var classes = [ITEM_CLASS + "-content", args.contentClass]; (0, _renderer.default)(args.container).addClass(classes.join(" ")) }, _appendItemToContainer: function($container, $itemFrame, index) { $itemFrame.appendTo($container) }, _renderItemFrame: function(index, itemData, $container, $itemToReplace) { var $itemFrame = (0, _renderer.default)("<div>"); new this.constructor.ItemClass($itemFrame, this._itemOptions(), itemData || {}); if ($itemToReplace && $itemToReplace.length) { $itemToReplace.replaceWith($itemFrame) } else { this._appendItemToContainer.call(this, $container, $itemFrame, index) } if (this.option("useItemTextAsTitle")) { var displayValue = this._displayGetter ? this._displayGetter(itemData) : itemData; $itemFrame.attr("title", displayValue) } return $itemFrame }, _itemOptions: function() { var that = this; return { watchMethod: function() { return that.option("integrationOptions.watchMethod") }, owner: that, fieldGetter: function(field) { var expr = that.option(field + "Expr"); var getter = (0, _data.compileGetter)(expr); return getter } } }, _postprocessRenderItem: _common.noop, _executeItemRenderAction: function(index, itemData, itemElement) { this._getItemRenderAction()({ itemElement: itemElement, itemIndex: index, itemData: itemData }) }, _setElementData: function(element, data, index) { element.addClass([ITEM_CLASS, this._itemClass()].join(" ")).data(this._itemDataKey(), data).data(this._itemIndexKey(), index) }, _createItemRenderAction: function() { return this._itemRenderAction = this._createActionByOption("onItemRendered", { element: this.element(), excludeValidators: ["disabled", "readOnly"], category: "rendering" }) }, _getItemRenderAction: function() { return this._itemRenderAction || this._createItemRenderAction() }, _getItemTemplateName: function(args) { var data = args.itemData; var templateProperty = args.templateProperty || this.option("itemTemplateProperty"); var template = data && data[templateProperty]; return template || args.defaultTemplateName }, _createItemByTemplate: function(itemTemplate, renderArgs) { return itemTemplate.render({ model: renderArgs.itemData, container: renderArgs.container, index: renderArgs.index, onRendered: this._onItemTemplateRendered(itemTemplate, renderArgs) }) }, _onItemTemplateRendered: function() { return _common.noop }, _emptyMessageContainer: function() { return this._itemContainer() }, _renderEmptyMessage: function(items) { items = items || this.option("items"); var noDataText = this.option("noDataText"); var hideNoData = !noDataText || items && items.length || this._dataController.isLoading(); if (hideNoData && this._$noData) { this._$noData.remove(); this._$noData = null; this.setAria("label", void 0) } if (!hideNoData) { this._$noData = this._$noData || (0, _renderer.default)("<div>").addClass("dx-empty-message"); this._$noData.appendTo(this._emptyMessageContainer()); if (this.option("encodeNoDataText")) { this._$noData.text(noDataText) } else { this._$noData.html(noDataText) } } this.$element().toggleClass("dx-empty-collection", !hideNoData) }, _itemDXEventHandler: function(dxEvent, handlerOptionName, actionArgs, actionConfig) { this._itemEventHandler(dxEvent.target, handlerOptionName, (0, _extend.extend)(actionArgs, { event: dxEvent }), actionConfig) }, _itemEventHandler: function(initiator, handlerOptionName, actionArgs, actionConfig) { var action = this._createActionByOption(handlerOptionName, (0, _extend.extend)({ validatingTargetName: "itemElement" }, actionConfig)); return this._itemEventHandlerImpl(initiator, action, actionArgs) }, _itemEventHandlerByHandler: function(initiator, handler, actionArgs, actionConfig) { var action = this._createAction(handler, (0, _extend.extend)({ validatingTargetName: "itemElement" }, actionConfig)); return this._itemEventHandlerImpl(initiator, action, actionArgs) }, _itemEventHandlerImpl: function(initiator, action, actionArgs) { var $itemElement = this._closestItemElement((0, _renderer.default)(initiator)); var args = (0, _extend.extend)({}, actionArgs); return action((0, _extend.extend)(actionArgs, this._extendActionArgs($itemElement), args)) }, _extendActionArgs: function($itemElement) { return { itemElement: (0, _element.getPublicElement)($itemElement), itemIndex: this._itemElements().index($itemElement), itemData: this._getItemData($itemElement) } }, _closestItemElement: function($element) { return (0, _renderer.default)($element).closest(this._itemSelector()) }, _getItemData: function(itemElement) { return (0, _renderer.default)(itemElement).data(this._itemDataKey()) }, _getSummaryItemsWidth: function(items, includeMargin) { var result = 0; if (items) { (0, _iterator.each)(items, (function(_, item) { result += (0, _size.getOuterWidth)(item, includeMargin || false) })) } return result }, getFocusedItemId: function() { if (!this._focusedItemId) { this._focusedItemId = "dx-" + new _guid.default } return this._focusedItemId }, itemElements: function() { return this._itemElements() }, itemsContainer: function() { return this._itemContainer() } }).include(_data_helper.default); CollectionWidget.ItemClass = _item.default; var _default = CollectionWidget; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 11050: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/collection/ui.collection_widget.edit.js ***! \****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ./ui.collection_widget.base */ 19982)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _uiCollection_widgetEditStrategy = _interopRequireDefault(__webpack_require__( /*! ./ui.collection_widget.edit.strategy.plain */ 14174)); var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var _data_source = __webpack_require__( /*! ../../data/data_source/data_source */ 85273); var _utils = __webpack_require__( /*! ../../data/data_source/utils */ 9234); var _selection = _interopRequireDefault(__webpack_require__( /*! ../selection/selection */ 68198)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var indexExists = function(index) { return -1 !== index }; var CollectionWidget = _uiCollection_widget.default.inherit({ _setOptionsByReference: function() { this.callBase(); (0, _extend.extend)(this._optionsByReference, { selectedItem: true }) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { selectionMode: "none", selectionRequired: false, selectByClick: true, selectedItems: [], selectedItemKeys: [], maxFilterLengthInRequest: 1500, keyExpr: null, selectedIndex: -1, selectedItem: null, onSelectionChanged: null, onItemReordered: null, onItemDeleting: null, onItemDeleted: null }) }, ctor: function(element, options) { this._userOptions = options || {}; this.callBase(element, options) }, _init: function() { this._initEditStrategy(); this.callBase(); this._initKeyGetter(); this._initSelectionModule() }, _initKeyGetter: function() { this._keyGetter = (0, _data.compileGetter)(this.option("keyExpr")) }, _getKeysByItems: function(selectedItems) { return this._editStrategy.getKeysByItems(selectedItems) }, _getItemsByKeys: function(selectedItemKeys, selectedItems) { return this._editStrategy.getItemsByKeys(selectedItemKeys, selectedItems) }, _getKeyByIndex: function(index) { return this._editStrategy.getKeyByIndex(index) }, _getIndexByKey: function(key) { return this._editStrategy.getIndexByKey(key) }, _getIndexByItemData: function(itemData) { return this._editStrategy.getIndexByItemData(itemData) }, _isKeySpecified: function() { return !!this._dataController.key() }, _getCombinedFilter: function() { return this._dataController.filter() }, key: function() { if (this.option("keyExpr")) { return this.option("keyExpr") } return this._dataController.key() }, keyOf: function(item) { var key = item; if (this.option("keyExpr")) { key = this._keyGetter(item) } else if (this._dataController.store()) { key = this._dataController.keyOf(item) } return key }, _nullValueSelectionSupported: function() { return false }, _initSelectionModule: function() { var that = this; var itemsGetter = that._editStrategy.itemsGetter; this._selection = new _selection.default({ allowNullValue: this._nullValueSelectionSupported(), mode: this.option("selectionMode"), maxFilterLengthInRequest: this.option("maxFilterLengthInRequest"), equalByReference: !this._isKeySpecified(), onSelectionChanged: function(args) { if (args.addedItemKeys.length || args.removedItemKeys.length) { that.option("selectedItems", that._getItemsByKeys(args.selectedItemKeys, args.selectedItems)); that._updateSelectedItems(args) } }, filter: that._getCombinedFilter.bind(that), totalCount: function() { var items = that.option("items"); var totalCount = that._dataController.totalCount(); return totalCount >= 0 ? totalCount : that._getItemsCount(items) }, key: that.key.bind(that), keyOf: that.keyOf.bind(that), load: function(options) { var _dataController$loadO; var dataController = that._dataController; options.customQueryParams = null === (_dataController$loadO = dataController.loadOptions()) || void 0 === _dataController$loadO ? void 0 : _dataController$loadO.customQueryParams; options.userData = dataController.userData(); if (dataController.store()) { return dataController.loadFromStore(options).done((function(loadResult) { if (that._disposed) { return } var items = (0, _utils.normalizeLoadResult)(loadResult).data; dataController.applyMapFunction(items) })) } else { return (new _deferred.Deferred).resolve(this.plainItems()) } }, dataFields: function() { return that._dataController.select() }, plainItems: itemsGetter.bind(that._editStrategy) }) }, _getItemsCount: function(items) { var _this = this; return items.reduce((function(itemsCount, item) { return itemsCount + (item.items ? _this._getItemsCount(item.items) : 1) }), 0) }, _initEditStrategy: function() { var Strategy = _uiCollection_widgetEditStrategy.default; this._editStrategy = new Strategy(this) }, _getSelectedItemIndices: function(keys) { var that = this; var indices = []; keys = keys || this._selection.getSelectedItemKeys(); that._editStrategy.beginCache(); (0, _iterator.each)(keys, (function(_, key) { var selectedIndex = that._getIndexByKey(key); if (indexExists(selectedIndex)) { indices.push(selectedIndex) } })); that._editStrategy.endCache(); return indices }, _initMarkup: function() { var _this2 = this; this._rendering = true; if (!this._dataController.isLoading()) { this._syncSelectionOptions().done((function() { return _this2._normalizeSelectedItems() })) } this.callBase() }, _render: function() { this.callBase(); this._rendering = false }, _fireContentReadyAction: function() { this._rendering = false; this._rendered = true; this.callBase.apply(this, arguments) }, _syncSelectionOptions: function(byOption) { byOption = byOption || this._chooseSelectOption(); var selectedItem; var selectedIndex; var selectedItemKeys; var selectedItems; switch (byOption) { case "selectedIndex": selectedItem = this._editStrategy.getItemDataByIndex(this.option("selectedIndex")); if ((0, _type.isDefined)(selectedItem)) { this._setOptionWithoutOptionChange("selectedItems", [selectedItem]); this._setOptionWithoutOptionChange("selectedItem", selectedItem); this._setOptionWithoutOptionChange("selectedItemKeys", this._editStrategy.getKeysByItems([selectedItem])) } else { this._setOptionWithoutOptionChange("selectedItems", []); this._setOptionWithoutOptionChange("selectedItemKeys", []); this._setOptionWithoutOptionChange("selectedItem", null) } break; case "selectedItems": selectedItems = this.option("selectedItems") || []; selectedIndex = selectedItems.length ? this._editStrategy.getIndexByItemData(selectedItems[0]) : -1; if (this.option("selectionRequired") && !indexExists(selectedIndex)) { return this._syncSelectionOptions("selectedIndex") } this._setOptionWithoutOptionChange("selectedItem", selectedItems[0]); this._setOptionWithoutOptionChange("selectedIndex", selectedIndex); this._setOptionWithoutOptionChange("selectedItemKeys", this._editStrategy.getKeysByItems(selectedItems)); break; case "selectedItem": selectedItem = this.option("selectedItem"); selectedIndex = this._editStrategy.getIndexByItemData(selectedItem); if (this.option("selectionRequired") && !indexExists(selectedIndex)) { return this._syncSelectionOptions("selectedIndex") } if ((0, _type.isDefined)(selectedItem)) { this._setOptionWithoutOptionChange("selectedItems", [selectedItem]); this._setOptionWithoutOptionChange("selectedIndex", selectedIndex); this._setOptionWithoutOptionChange("selectedItemKeys", this._editStrategy.getKeysByItems([selectedItem])) } else { this._setOptionWithoutOptionChange("selectedItems", []); this._setOptionWithoutOptionChange("selectedItemKeys", []); this._setOptionWithoutOptionChange("selectedIndex", -1) } break; case "selectedItemKeys": selectedItemKeys = this.option("selectedItemKeys"); if (this.option("selectionRequired")) { var selectedItemIndex = this._getIndexByKey(selectedItemKeys[0]); if (!indexExists(selectedItemIndex)) { return this._syncSelectionOptions("selectedIndex") } } return this._selection.setSelection(selectedItemKeys) } return (new _deferred.Deferred).resolve().promise() }, _chooseSelectOption: function() { var optionName = "selectedIndex"; var isOptionDefined = function(optionName) { var optionValue = this.option(optionName); var length = (0, _type.isDefined)(optionValue) && optionValue.length; return length || optionName in this._userOptions }.bind(this); if (isOptionDefined("selectedItems")) { optionName = "selectedItems" } else if (isOptionDefined("selectedItem")) { optionName = "selectedItem" } else if (isOptionDefined("selectedItemKeys")) { optionName = "selectedItemKeys" } return optionName }, _compareKeys: function(oldKeys, newKeys) { if (oldKeys.length !== newKeys.length) { return false } for (var i = 0; i < newKeys.length; i++) { if (oldKeys[i] !== newKeys[i]) { return false } } return true }, _normalizeSelectedItems: function() { if ("none" === this.option("selectionMode")) { this._setOptionWithoutOptionChange("selectedItems", []); this._syncSelectionOptions("selectedItems") } else if ("single" === this.option("selectionMode")) { var newSelection = this.option("selectedItems"); if (newSelection.length > 1 || !newSelection.length && this.option("selectionRequired") && this.option("items") && this.option("items").length) { var currentSelection = this._selection.getSelectedItems(); var normalizedSelection = void 0 === newSelection[0] ? currentSelection[0] : newSelection[0]; if (void 0 === normalizedSelection) { normalizedSelection = this._editStrategy.itemsGetter()[0] } if (this.option("grouped") && normalizedSelection && normalizedSelection.items) { normalizedSelection.items = [normalizedSelection.items[0]] } this._selection.setSelection(this._getKeysByItems([normalizedSelection])); this._setOptionWithoutOptionChange("selectedItems", [normalizedSelection]); return this._syncSelectionOptions("selectedItems") } else { this._selection.setSelection(this._getKeysByItems(newSelection)) } } else { var newKeys = this._getKeysByItems(this.option("selectedItems")); var oldKeys = this._selection.getSelectedItemKeys(); if (!this._compareKeys(oldKeys, newKeys)) { this._selection.setSelection(newKeys) } } return (new _deferred.Deferred).resolve().promise() }, _itemClickHandler: function(e) { var _arguments = arguments, _this3 = this; var itemSelectPromise = (new _deferred.Deferred).resolve(); var callBase = this.callBase; this._createAction(function(e) { var _this$_itemSelectHand; itemSelectPromise = null !== (_this$_itemSelectHand = this._itemSelectHandler(e.event)) && void 0 !== _this$_itemSelectHand ? _this$_itemSelectHand : itemSelectPromise }.bind(this), { validatingTargetName: "itemElement" })({ itemElement: (0, _renderer.default)(e.currentTarget), event: e }); itemSelectPromise.always((function() { callBase.apply(_this3, _arguments) })) }, _itemSelectHandler: function(e) { var _itemSelectPromise; var itemSelectPromise; if (!this.option("selectByClick")) { return } var $itemElement = e.currentTarget; if (this.isItemSelected($itemElement)) { this.unselectItem(e.currentTarget) } else { itemSelectPromise = this.selectItem(e.currentTarget) } return null === (_itemSelectPromise = itemSelectPromise) || void 0 === _itemSelectPromise ? void 0 : _itemSelectPromise.promise() }, _selectedItemElement: function(index) { return this._itemElements().eq(index) }, _postprocessRenderItem: function(args) { if ("none" !== this.option("selectionMode")) { var $itemElement = (0, _renderer.default)(args.itemElement); var normalizedItemIndex = this._editStrategy.getNormalizedIndex($itemElement); var isItemSelected = this._isItemSelected(normalizedItemIndex); this._processSelectableItem($itemElement, isItemSelected) } }, _processSelectableItem: function($itemElement, isSelected) { $itemElement.toggleClass(this._selectedItemClass(), isSelected); this._setAriaSelectionAttribute($itemElement, String(isSelected)) }, _updateSelectedItems: function(args) { var that = this; var addedItemKeys = args.addedItemKeys; var removedItemKeys = args.removedItemKeys; if (that._rendered && (addedItemKeys.length || removedItemKeys.length)) { var selectionChangePromise = that._selectionChangePromise; if (!that._rendering) { var addedSelection = []; var normalizedIndex; var removedSelection = []; that._editStrategy.beginCache(); for (var i = 0; i < addedItemKeys.length; i++) { normalizedIndex = that._getIndexByKey(addedItemKeys[i]); addedSelection.push(normalizedIndex); that._addSelection(normalizedIndex) } for (var _i = 0; _i < removedItemKeys.length; _i++) { normalizedIndex = that._getIndexByKey(removedItemKeys[_i]); removedSelection.push(normalizedIndex); that._removeSelection(normalizedIndex) } that._editStrategy.endCache(); that._updateSelection(addedSelection, removedSelection) }(0, _deferred.when)(selectionChangePromise).done((function() { that._fireSelectionChangeEvent(args.addedItems, args.removedItems) })) } }, _fireSelectionChangeEvent: function(addedItems, removedItems) { this._createActionByOption("onSelectionChanged", { excludeValidators: ["disabled", "readOnly"] })({ addedItems: addedItems, removedItems: removedItems }) }, _updateSelection: _common.noop, _setAriaSelectionAttribute: function($target, value) { this.setAria("selected", value, $target) }, _removeSelection: function(normalizedIndex) { var $itemElement = this._editStrategy.getItemElement(normalizedIndex); if (indexExists(normalizedIndex)) { this._processSelectableItem($itemElement, false); _events_engine.default.triggerHandler($itemElement, "stateChanged", false) } }, _addSelection: function(normalizedIndex) { var $itemElement = this._editStrategy.getItemElement(normalizedIndex); if (indexExists(normalizedIndex)) { this._processSelectableItem($itemElement, true); _events_engine.default.triggerHandler($itemElement, "stateChanged", true) } }, _isItemSelected: function(index) { var key = this._getKeyByIndex(index); return this._selection.isItemSelected(key, { checkPending: true }) }, _optionChanged: function(args) { var _this4 = this; switch (args.name) { case "selectionMode": this._invalidate(); break; case "dataSource": if (!args.value || Array.isArray(args.value) && !args.value.length) { this.option("selectedItemKeys", []) } this.callBase(args); break; case "selectedIndex": case "selectedItem": case "selectedItems": case "selectedItemKeys": this._syncSelectionOptions(args.name).done((function() { return _this4._normalizeSelectedItems() })); break; case "keyExpr": this._initKeyGetter(); break; case "selectionRequired": this._normalizeSelectedItems(); break; case "selectByClick": case "onSelectionChanged": case "onItemDeleting": case "onItemDeleted": case "onItemReordered": case "maxFilterLengthInRequest": break; default: this.callBase(args) } }, _clearSelectedItems: function() { this._setOptionWithoutOptionChange("selectedItems", []); this._syncSelectionOptions("selectedItems") }, _waitDeletingPrepare: function($itemElement) { if ($itemElement.data("dxItemDeleting")) { return (new _deferred.Deferred).resolve().promise() } $itemElement.data("dxItemDeleting", true); var deferred = new _deferred.Deferred; var deletingActionArgs = { cancel: false }; var deletePromise = this._itemEventHandler($itemElement, "onItemDeleting", deletingActionArgs, { excludeValidators: ["disabled", "readOnly"] }); (0, _deferred.when)(deletePromise).always(function(value) { var deletePromiseExists = !deletePromise; var deletePromiseResolved = !deletePromiseExists && "resolved" === deletePromise.state(); var argumentsSpecified = !!arguments.length; var shouldDelete = deletePromiseExists || deletePromiseResolved && !argumentsSpecified || deletePromiseResolved && value; (0, _deferred.when)((0, _deferred.fromPromise)(deletingActionArgs.cancel)).always((function() { $itemElement.data("dxItemDeleting", false) })).done((function(cancel) { shouldDelete && !cancel ? deferred.resolve() : deferred.reject() })).fail(deferred.reject) }.bind(this)); return deferred.promise() }, _deleteItemFromDS: function($item) { var dataController = this._dataController; var deferred = new _deferred.Deferred; var disabledState = this.option("disabled"); var dataStore = dataController.store(); if (!dataStore) { return (new _deferred.Deferred).resolve().promise() } if (!dataStore.remove) { throw _ui.default.Error("E1011") } this.option("disabled", true); dataStore.remove(dataController.keyOf(this._getItemData($item))).done((function(key) { if (void 0 !== key) { deferred.resolve() } else { deferred.reject() } })).fail((function() { deferred.reject() })); deferred.always(function() { this.option("disabled", disabledState) }.bind(this)); return deferred }, _tryRefreshLastPage: function() { var deferred = new _deferred.Deferred; if (this._isLastPage() || this.option("grouped")) { deferred.resolve() } else { this._refreshLastPage().done((function() { deferred.resolve() })) } return deferred.promise() }, _refreshLastPage: function() { this._expectLastItemLoading(); return this._dataController.load() }, _updateSelectionAfterDelete: function(index) { var key = this._getKeyByIndex(index); this._selection.deselect([key]) }, _updateIndicesAfterIndex: function(index) { var itemElements = this._itemElements(); for (var i = index + 1; i < itemElements.length; i++) { (0, _renderer.default)(itemElements[i]).data(this._itemIndexKey(), i - 1) } }, _simulateOptionChange: function(optionName) { var optionValue = this.option(optionName); if (optionValue instanceof _data_source.DataSource) { return } this._optionChangedAction({ name: optionName, fullName: optionName, value: optionValue }) }, isItemSelected: function(itemElement) { return this._isItemSelected(this._editStrategy.getNormalizedIndex(itemElement)) }, selectItem: function(itemElement) { if ("none" === this.option("selectionMode")) { return } var itemIndex = this._editStrategy.getNormalizedIndex(itemElement); if (!indexExists(itemIndex)) { return } var key = this._getKeyByIndex(itemIndex); if (this._selection.isItemSelected(key)) { return } if ("single" === this.option("selectionMode")) { return this._selection.setSelection([key]) } else { var selectedItemKeys = this.option("selectedItemKeys") || []; return this._selection.setSelection([].concat(_toConsumableArray(selectedItemKeys), [key]), [key]) } }, unselectItem: function(itemElement) { var itemIndex = this._editStrategy.getNormalizedIndex(itemElement); if (!indexExists(itemIndex)) { return } var selectedItemKeys = this._selection.getSelectedItemKeys(); if (this.option("selectionRequired") && selectedItemKeys.length <= 1) { return } var key = this._getKeyByIndex(itemIndex); if (!this._selection.isItemSelected(key, { checkPending: true })) { return } this._selection.deselect([key]) }, _deleteItemElementByIndex: function(index) { this._updateSelectionAfterDelete(index); this._updateIndicesAfterIndex(index); this._editStrategy.deleteItemAtIndex(index) }, _afterItemElementDeleted: function($item, deletedActionArgs) { var changingOption = this._dataController.getDataSource() ? "dataSource" : "items"; this._simulateOptionChange(changingOption); this._itemEventHandler($item, "onItemDeleted", deletedActionArgs, { beforeExecute: function() { $item.remove() }, excludeValidators: ["disabled", "readOnly"] }); this._renderEmptyMessage() }, deleteItem: function(itemElement) { var that = this; var deferred = new _deferred.Deferred; var $item = this._editStrategy.getItemElement(itemElement); var index = this._editStrategy.getNormalizedIndex(itemElement); var itemResponseWaitClass = this._itemResponseWaitClass(); if (indexExists(index)) { this._waitDeletingPrepare($item).done((function() { $item.addClass(itemResponseWaitClass); var deletedActionArgs = that._extendActionArgs($item); that._deleteItemFromDS($item).done((function() { that._deleteItemElementByIndex(index); that._afterItemElementDeleted($item, deletedActionArgs); that._tryRefreshLastPage().done((function() { deferred.resolveWith(that) })) })).fail((function() { $item.removeClass(itemResponseWaitClass); deferred.rejectWith(that) })) })).fail((function() { deferred.rejectWith(that) })) } else { deferred.rejectWith(that) } return deferred.promise() }, reorderItem: function(itemElement, toItemElement) { var deferred = new _deferred.Deferred; var that = this; var strategy = this._editStrategy; var $movingItem = strategy.getItemElement(itemElement); var $destinationItem = strategy.getItemElement(toItemElement); var movingIndex = strategy.getNormalizedIndex(itemElement); var destinationIndex = strategy.getNormalizedIndex(toItemElement); var changingOption = this._dataController.getDataSource() ? "dataSource" : "items"; var canMoveItems = indexExists(movingIndex) && indexExists(destinationIndex) && movingIndex !== destinationIndex; if (canMoveItems) { deferred.resolveWith(this) } else { deferred.rejectWith(this) } return deferred.promise().done((function() { $destinationItem[strategy.itemPlacementFunc(movingIndex, destinationIndex)]($movingItem); strategy.moveItemAtIndexToIndex(movingIndex, destinationIndex); this._updateIndicesAfterIndex(movingIndex); that.option("selectedItems", that._getItemsByKeys(that._selection.getSelectedItemKeys(), that._selection.getSelectedItems())); if ("items" === changingOption) { that._simulateOptionChange(changingOption) } that._itemEventHandler($movingItem, "onItemReordered", { fromIndex: strategy.getIndex(movingIndex), toIndex: strategy.getIndex(destinationIndex) }, { excludeValidators: ["disabled", "readOnly"] }) })) } }); var _default = CollectionWidget; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 41042: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/collection/ui.collection_widget.edit.strategy.js ***! \*************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var abstract = _class.default.abstract; var EditStrategy = _class.default.inherit({ ctor: function(collectionWidget) { this._collectionWidget = collectionWidget }, getIndexByItemData: abstract, getItemDataByIndex: abstract, getKeysByItems: abstract, getItemsByKeys: abstract, itemsGetter: abstract, getKeyByIndex: function(index) { var resultIndex = this._denormalizeItemIndex(index); return this.getKeysByItems([this.getItemDataByIndex(resultIndex)])[0] }, _equalKeys: function(key1, key2) { if (this._collectionWidget._isKeySpecified()) { return (0, _common.equalByValue)(key1, key2) } else { return key1 === key2 } }, beginCache: function() { this._cache = {} }, endCache: function() { this._cache = null }, getIndexByKey: abstract, getNormalizedIndex: function(value) { if (this._isNormalizedItemIndex(value)) { return value } if (this._isItemIndex(value)) { return this._normalizeItemIndex(value) } if (this._isNode(value)) { return this._getNormalizedItemIndex(value) } return this._normalizeItemIndex(this.getIndexByItemData(value)) }, getIndex: function(value) { if (this._isNormalizedItemIndex(value)) { return this._denormalizeItemIndex(value) } if (this._isItemIndex(value)) { return value } if (this._isNode(value)) { return this._denormalizeItemIndex(this._getNormalizedItemIndex(value)) } return this.getIndexByItemData(value) }, getItemElement: function(value) { if (this._isNormalizedItemIndex(value)) { return this._getItemByNormalizedIndex(value) } if (this._isItemIndex(value)) { return this._getItemByNormalizedIndex(this._normalizeItemIndex(value)) } if (this._isNode(value)) { return (0, _renderer.default)(value) } var normalizedItemIndex = this._normalizeItemIndex(this.getIndexByItemData(value)); return this._getItemByNormalizedIndex(normalizedItemIndex) }, _isNode: function(el) { return _dom_adapter.default.isNode(el && (0, _type.isRenderer)(el) ? el.get(0) : el) }, deleteItemAtIndex: abstract, itemPlacementFunc: function(movingIndex, destinationIndex) { return this._itemsFromSameParent(movingIndex, destinationIndex) && movingIndex < destinationIndex ? "after" : "before" }, moveItemAtIndexToIndex: abstract, _isNormalizedItemIndex: function(index) { return "number" === typeof index && Math.round(index) === index }, _isItemIndex: abstract, _getNormalizedItemIndex: abstract, _normalizeItemIndex: abstract, _denormalizeItemIndex: abstract, _getItemByNormalizedIndex: abstract, _itemsFromSameParent: abstract }); var _default = EditStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 14174: /*!*******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/collection/ui.collection_widget.edit.strategy.plain.js ***! \*******************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiCollection_widgetEdit = (obj = __webpack_require__( /*! ./ui.collection_widget.edit.strategy */ 41042), obj && obj.__esModule ? obj : { default: obj }); var obj; function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } var PlainEditStrategy = _uiCollection_widgetEdit.default.inherit({ _getPlainItems: function() { return this._collectionWidget.option("items") || [] }, getIndexByItemData: function(itemData) { var keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget); if (keyOf) { return this.getIndexByKey(keyOf(itemData)) } else { return this._getPlainItems().indexOf(itemData) } }, getItemDataByIndex: function(index) { return this._getPlainItems()[index] }, deleteItemAtIndex: function(index) { this._getPlainItems().splice(index, 1) }, itemsGetter: function() { return this._getPlainItems() }, getKeysByItems: function(items) { var keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget); var result = items; if (keyOf) { result = []; for (var i = 0; i < items.length; i++) { result.push(keyOf(items[i])) } } return result }, getIndexByKey: function(key) { var cache = this._cache; var keys = cache && cache.keys || this.getKeysByItems(this._getPlainItems()); if (cache && !cache.keys) { cache.keys = keys } if ("object" === _typeof(key)) { for (var i = 0, length = keys.length; i < length; i++) { if (this._equalKeys(key, keys[i])) { return i } } } else { return keys.indexOf(key) } return -1 }, getItemsByKeys: function(keys, items) { return (items || keys).slice() }, moveItemAtIndexToIndex: function(movingIndex, destinationIndex) { var items = this._getPlainItems(); var movedItemData = items[movingIndex]; items.splice(movingIndex, 1); items.splice(destinationIndex, 0, movedItemData) }, _isItemIndex: function(index) { return "number" === typeof index && Math.round(index) === index }, _getNormalizedItemIndex: function(itemElement) { return this._collectionWidget._itemElements().index(itemElement) }, _normalizeItemIndex: function(index) { return index }, _denormalizeItemIndex: function(index) { return index }, _getItemByNormalizedIndex: function(index) { return index > -1 ? this._collectionWidget._itemElements().eq(index) : null }, _itemsFromSameParent: function() { return true } }); var _default = PlainEditStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 69010: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/collection/ui.collection_widget.live_update.js ***! \***********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ./ui.collection_widget.edit */ 11050)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _array_utils = __webpack_require__( /*! ../../data/array_utils */ 60637); var _utils = __webpack_require__( /*! ../../data/utils */ 16454); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _array_compare = __webpack_require__( /*! ../../core/utils/array_compare */ 34671); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var _default = _uiCollection_widget.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { repaintChangesOnly: false }) }, ctor: function() { var _this$_dataController, _this = this; this.callBase.apply(this, arguments); this._customizeStoreLoadOptions = function(e) { var dataController = _this._dataController; if (dataController.getDataSource() && !_this._dataController.isLoaded()) { _this._correctionIndex = 0 } if (_this._correctionIndex && e.storeLoadOptions) { e.storeLoadOptions.skip += _this._correctionIndex } }, null === (_this$_dataController = this._dataController) || void 0 === _this$_dataController ? void 0 : _this$_dataController.on("customizeStoreLoadOptions", this._customizeStoreLoadOptions) }, reload: function() { this._correctionIndex = 0 }, _init: function() { this.callBase(); this._refreshItemsCache(); this._correctionIndex = 0 }, _findItemElementByKey: function(key) { var _this2 = this; var result = (0, _renderer.default)(); var keyExpr = this.key(); this.itemElements().each((function(_, item) { var $item = (0, _renderer.default)(item); var itemData = _this2._getItemData($item); if (keyExpr ? (0, _utils.keysEqual)(keyExpr, _this2.keyOf(itemData), key) : _this2._isItemEquals(itemData, key)) { result = $item; return false } })); return result }, _dataSourceChangedHandler: function(newItems, e) { if (null !== e && void 0 !== e && e.changes) { this._modifyByChanges(e.changes) } else { this.callBase(newItems, e); this._refreshItemsCache() } }, _isItemEquals: function(item1, item2) { if (item1 && item1.__dx_key__) { item1 = item1.data } try { return JSON.stringify(item1) === JSON.stringify(item2) } catch (e) { return item1 === item2 } }, _isItemStrictEquals: function(item1, item2) { return this._isItemEquals(item1, item2) }, _shouldAddNewGroup: function(changes, items) { var result = false; if (this.option("grouped")) { if (!changes.length) { result = true }(0, _iterator.each)(changes, (function(i, change) { if ("insert" === change.type) { result = true; (0, _iterator.each)(items, (function(_, item) { if (void 0 !== change.data.key && change.data.key === item.key) { result = false; return false } })) } })) } return result }, _partialRefresh: function() { var _this3 = this; if (this.option("repaintChangesOnly")) { var result = (0, _array_compare.findChanges)(this._itemsCache, this._editStrategy.itemsGetter(), (function(data) { if (data && void 0 !== data.__dx_key__) { return data.__dx_key__ } return _this3.keyOf(data) }), this._isItemStrictEquals.bind(this)); if (result && this._itemsCache.length && !this._shouldAddNewGroup(result, this._itemsCache)) { this._modifyByChanges(result, true); this._renderEmptyMessage(); return true } else { this._refreshItemsCache() } } return false }, _refreshItemsCache: function() { if (this.option("repaintChangesOnly")) { var items = this._editStrategy.itemsGetter(); try { this._itemsCache = (0, _extend.extend)(true, [], items); if (!this.key()) { this._itemsCache = this._itemsCache.map((function(itemCache, index) { var _ref; return _ref = {}, _defineProperty(_ref, "__dx_key__", items[index]), _defineProperty(_ref, "data", itemCache), _ref })) } } catch (e) { this._itemsCache = (0, _extend.extend)([], items) } } }, _dispose: function() { this._dataController.off("customizeStoreLoadOptions", this._customizeStoreLoadOptions); this.callBase() }, _updateByChange: function(keyInfo, items, change, isPartialRefresh) { var _this4 = this; if (isPartialRefresh) { this._renderItem(change.index, change.data, null, this._findItemElementByKey(change.key)) } else { var changedItem = items[(0, _array_utils.indexByKey)(keyInfo, items, change.key)]; if (changedItem) { (0, _array_utils.update)(keyInfo, items, change.key, change.data).done((function() { _this4._renderItem(items.indexOf(changedItem), changedItem, null, _this4._findItemElementByKey(change.key)) })) } } }, _insertByChange: function(keyInfo, items, change, isPartialRefresh) { var _this5 = this; (0, _deferred.when)(isPartialRefresh || (0, _array_utils.insert)(keyInfo, items, change.data, change.index)).done((function() { var _change$index; _this5._beforeItemElementInserted(change); var $itemContainer = _this5._getItemContainer(change.data); _this5._renderItem(null !== (_change$index = change.index) && void 0 !== _change$index ? _change$index : items.length, change.data, $itemContainer); _this5._afterItemElementInserted(); _this5._correctionIndex++ })) }, _getItemContainer: function(changeData) { return this._itemContainer() }, _updateSelectionAfterRemoveByChange: function(removeIndex) { var selectedIndex = this.option("selectedIndex"); if (selectedIndex > removeIndex) { this.option("selectedIndex", selectedIndex - 1) } else if (selectedIndex === removeIndex && 1 === this.option("selectedItems").length) { this.option("selectedItems", []) } else { this._normalizeSelectedItems() } }, _beforeItemElementInserted: function(change) { var selectedIndex = this.option("selectedIndex"); if (change.index <= selectedIndex) { this.option("selectedIndex", selectedIndex + 1) } }, _afterItemElementInserted: _common.noop, _removeByChange: function(keyInfo, items, change, isPartialRefresh) { var _this6 = this; var index = isPartialRefresh ? change.index : (0, _array_utils.indexByKey)(keyInfo, items, change.key); var removedItem = isPartialRefresh ? change.oldItem : items[index]; if (removedItem) { var $removedItemElement = this._findItemElementByKey(change.key); var deletedActionArgs = this._extendActionArgs($removedItemElement); this._waitDeletingPrepare($removedItemElement).done((function() { if (isPartialRefresh) { _this6._updateIndicesAfterIndex(index - 1); _this6._afterItemElementDeleted($removedItemElement, deletedActionArgs); _this6._updateSelectionAfterRemoveByChange(index) } else { _this6._deleteItemElementByIndex(index); _this6._afterItemElementDeleted($removedItemElement, deletedActionArgs) } })); this._correctionIndex-- } }, _modifyByChanges: function(changes, isPartialRefresh) { var _this7 = this; var items = this._editStrategy.itemsGetter(); var keyInfo = { key: this.key.bind(this), keyOf: this.keyOf.bind(this) }; var dataController = this._dataController; var paginate = dataController.paginate(); var group = dataController.group(); if (paginate || group) { changes = changes.filter((function(item) { return "insert" !== item.type || void 0 !== item.index })) } changes.forEach((function(change) { return _this7["_".concat(change.type, "ByChange")](keyInfo, items, change, isPartialRefresh) })); this._renderedItemsCount = items.length; this._refreshItemsCache(); this._fireContentReadyAction() }, _appendItemToContainer: function($container, $itemFrame, index) { var nextSiblingElement = $container.children(this._itemSelector()).get(index); _dom_adapter.default.insertElement($container.get(0), $itemFrame.get(0), nextSiblingElement) }, _optionChanged: function(args) { switch (args.name) { case "items": var isItemsUpdated = this._partialRefresh(args.value); if (!isItemsUpdated) { this.callBase(args) } break; case "dataSource": if (!this.option("repaintChangesOnly") || !args.value) { this.option("items", []) } this.callBase(args); break; case "repaintChangesOnly": break; default: this.callBase(args) } } }); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 4278: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/color_box.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _color_box = (obj = __webpack_require__( /*! ./color_box/color_box */ 81738), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _color_box.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 81738: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/color_box/color_box.js ***! \***********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _color = _interopRequireDefault(__webpack_require__( /*! ../../color */ 52752)); var _color_view = _interopRequireDefault(__webpack_require__( /*! ./color_view */ 89838)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../drop_down_editor/ui.drop_down_editor */ 44687)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var colorEditorPrototype = _color_view.default.prototype; var colorUtils = { makeTransparentBackground: colorEditorPrototype._makeTransparentBackground.bind(colorEditorPrototype), makeRgba: colorEditorPrototype._makeRgba.bind(colorEditorPrototype) }; var ColorBox = _ui.default.inherit({ _supportedKeys: function() { var arrowHandler = function(e) { e.stopPropagation(); if (this.option("opened")) { e.preventDefault(); return true } }; return (0, _extend.extend)(this.callBase(), { tab: function(e) { if (!this.option("opened")) { return } var $focusableElement = e.shiftKey ? this._getLastPopupElement() : this._getFirstPopupElement(); if ($focusableElement) { _events_engine.default.trigger($focusableElement, "focus"); $focusableElement.select() } e.preventDefault() }, enter: this._enterKeyHandler, leftArrow: arrowHandler, rightArrow: arrowHandler, upArrow: function(e) { if (!this.option("opened")) { e.preventDefault(); return false } if (e.altKey) { this.close(); return false } return true }, downArrow: function(e) { if (!this.option("opened") && !e.altKey) { e.preventDefault(); return false } if (!this.option("opened") && e.altKey) { this._validatedOpening(); return false } return true } }) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { editAlphaChannel: false, applyValueMode: "useButtons", keyStep: 1, fieldTemplate: null, buttonsLocation: "bottom after" }) }, _popupHidingHandler: function() { this.callBase(); if ("useButtons" === this.option("applyValueMode")) { this._updateColorViewValue(this.option("value")) } }, _popupConfig: function() { return (0, _extend.extend)(this.callBase(), { width: "" }) }, _contentReadyHandler: function() { this._createColorView(); this._addPopupBottomClasses() }, _addPopupBottomClasses: function() { var $popupBottom = this._popup.bottomToolbar(); if ($popupBottom) { $popupBottom.addClass("dx-colorview-container-cell").addClass("dx-colorview-button-cell").find(".dx-toolbar-items-container").addClass("dx-colorview-buttons-container"); $popupBottom.find(".dx-popup-done").addClass("dx-colorview-apply-button"); $popupBottom.find(".dx-popup-cancel").addClass("dx-colorview-cancel-button") } }, _createColorView: function() { this._popup.$overlayContent().addClass("dx-colorbox-overlay"); var $colorView = (0, _renderer.default)("<div>").appendTo(this._popup.$content()); this._colorView = this._createComponent($colorView, _color_view.default, this._colorViewConfig()); this._colorView.registerKeyHandler("escape", this._escapeHandler.bind(this)); _events_engine.default.on($colorView, "focus", function() { this.focus() }.bind(this)) }, _escapeHandler: function() { this.close(); this.focus() }, _getFirstPopupElement: function() { return (0, _renderer.default)(this._colorView._rgbInputs[0].element()).find("input") }, _applyNewColor: function(value) { this.option("value", value); if (value) { colorUtils.makeTransparentBackground(this._$colorResultPreview, value) } if (this._colorViewEnterKeyPressed) { this.close(); this._colorViewEnterKeyPressed = false } }, _colorViewConfig: function() { var that = this; return { value: that.option("value"), matchValue: that.option("value"), editAlphaChannel: that.option("editAlphaChannel"), applyValueMode: that.option("applyValueMode"), focusStateEnabled: that.option("focusStateEnabled"), stylingMode: this.option("stylingMode"), ariaId: this._ariaId, onEnterKeyPressed: function(_ref) { var event = _ref.event; that._colorViewEnterKeyPressed = true; if (that._colorView.option("value") !== that.option("value")) { that._saveValueChangeEvent(event); that._applyNewColor(that._colorView.option("value")); that.close() } }, onValueChanged: function(_ref2) { var event = _ref2.event, value = _ref2.value, previousValue = _ref2.previousValue; var instantlyMode = "instantly" === that.option("applyValueMode"); var isOldValue = colorUtils.makeRgba(value) === previousValue; var changesApplied = instantlyMode || that._colorViewEnterKeyPressed; var valueCleared = that._shouldSaveEmptyValue; if (isOldValue || !changesApplied || valueCleared) { return } if (event) { that._saveValueChangeEvent(event) } that._applyNewColor(value) } } }, _enterKeyHandler: function(e) { var newValue = this._input().val(); var _this$option = this.option(), value = _this$option.value, editAlphaChannel = _this$option.editAlphaChannel; var oldValue = value && editAlphaChannel ? colorUtils.makeRgba(value) : value; if (!newValue) { return false } var color = new _color.default(newValue); if (color.colorIsInvalid) { this._input().val(oldValue); return } if (newValue !== oldValue) { this._applyColorFromInput(newValue); this._saveValueChangeEvent(e); this.option("value", this.option("editAlphaChannel") ? colorUtils.makeRgba(newValue) : newValue) } if (this._colorView) { var colorViewValue = this._colorView.option("value"); if (value !== colorViewValue) { this._saveValueChangeEvent(e); this.option("value", colorViewValue) } } this.close(); return false }, _applyButtonHandler: function(e) { this._saveValueChangeEvent(e.event); this._applyNewColor(this._colorView.option("value")); this.callBase() }, _cancelButtonHandler: function() { this._resetInputValue(); this.callBase() }, _getKeyboardListeners: function() { return this.callBase().concat([this._colorView]) }, _init: function() { this.callBase() }, _initMarkup: function() { this.$element().addClass("dx-colorbox"); this.callBase() }, _renderInput: function() { this.callBase(); this._ariaId = "dx-".concat(new _guid.default); this.setAria("activedescendant", this._ariaId); this._input().addClass("dx-colorbox-input"); this._renderColorPreview() }, _renderColorPreview: function() { this.$element().wrapInner((0, _renderer.default)("<div>").addClass("dx-colorbox-input-container")); this._$colorBoxInputContainer = this.$element().children().eq(0); this._$colorResultPreview = (0, _renderer.default)("<div>").addClass("dx-colorbox-color-result-preview").appendTo(this._$textEditorInputContainer); if (!this.option("value")) { this._$colorBoxInputContainer.addClass("dx-colorbox-color-is-not-defined") } else { colorUtils.makeTransparentBackground(this._$colorResultPreview, this.option("value")) } }, _renderValue: function() { var _this$option2 = this.option(), value = _this$option2.value, editAlphaChannel = _this$option2.editAlphaChannel; var shouldConvertToColor = value && editAlphaChannel; var text = shouldConvertToColor ? colorUtils.makeRgba(value) : value; this.option("text", text); return this.callBase() }, _resetInputValue: function() { var $input = this._input(); var value = this.option("value"); $input.val(value); this._updateColorViewValue(value) }, _updateColorViewValue: function(value) { if (this._colorView) { this._colorView.option({ value: value, matchValue: value }) } }, _valueChangeEventHandler: function(e) { var value = this._input().val(); if (value) { value = this._applyColorFromInput(value); this._updateColorViewValue(value) } this.callBase(e, value) }, _applyColorFromInput: function(value) { var newColor = new _color.default(value); if (newColor.colorIsInvalid) { this._resetInputValue(); value = this.option("value") } return value }, _clean: function() { this.callBase(); delete this._shouldSaveEmptyValue }, _optionChanged: function(args) { var value = args.value; var name = args.name; switch (name) { case "value": this._$colorBoxInputContainer.toggleClass("dx-colorbox-color-is-not-defined", !value); if (value) { colorUtils.makeTransparentBackground(this._$colorResultPreview, value) } else { this._$colorResultPreview.removeAttr("style") } if (null === value) { this._shouldSaveEmptyValue = true } this._updateColorViewValue(value); this._shouldSaveEmptyValue = false; this.callBase(args); break; case "applyButtonText": case "cancelButtonText": this.callBase(args); this._popup && this._addPopupBottomClasses(); break; case "editAlphaChannel": case "keyStep": if (this._colorView) { this._colorView.option(name, value) } break; default: this.callBase(args) } } }); (0, _component_registrator.default)("dxColorBox", ColorBox); var _default = ColorBox; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 89838: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/color_box/color_view.js ***! \************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _color = _interopRequireDefault(__webpack_require__( /*! ../../color */ 52752)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _editor = _interopRequireDefault(__webpack_require__( /*! ../editor/editor */ 96452)); var _number_box = _interopRequireDefault(__webpack_require__( /*! ../number_box */ 34171)); var _text_box = _interopRequireDefault(__webpack_require__( /*! ../text_box */ 29837)); var _draggable = _interopRequireDefault(__webpack_require__( /*! ../draggable */ 42160)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _click = __webpack_require__( /*! ../../events/click */ 95429); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var COLOR_VIEW_PALETTE_GRADIENT_CLASS = "dx-colorview-palette-gradient"; var COLOR_VIEW_PALETTE_GRADIENT_WHITE_CLASS = "dx-colorview-palette-gradient-white"; var COLOR_VIEW_PALETTE_GRADIENT_BLACK_CLASS = "dx-colorview-palette-gradient-black"; var COLOR_VIEW_COLOR_PREVIEW = "dx-colorview-color-preview"; var COLOR_VIEW_COLOR_PREVIEW_COLOR_CURRENT = "dx-colorview-color-preview-color-current"; var COLOR_VIEW_COLOR_PREVIEW_COLOR_NEW = "dx-colorview-color-preview-color-new"; var ColorView = _editor.default.inherit({ _supportedKeys: function() { var isRTL = this.option("rtlEnabled"); var that = this; var getHorizontalPaletteStep = function(e) { var step = 100 / that._paletteWidth; if (e.shiftKey) { step *= that.option("keyStep") } step = step > 1 ? step : 1; return Math.round(step) }; var updateHorizontalPaletteValue = function(step) { var value = that._currentColor.hsv.s + step; if (value > 100) { value = 100 } else if (value < 0) { value = 0 } that._currentColor.hsv.s = value; updatePaletteValue() }; var getVerticalPaletteStep = function(e) { var step = 100 / that._paletteHeight; if (e.shiftKey) { step *= that.option("keyStep") } step = step > 1 ? step : 1; return Math.round(step) }; var updateVerticalPaletteValue = function(step) { var value = that._currentColor.hsv.v + step; if (value > 100) { value = 100 } else if (value < 0) { value = 0 } that._currentColor.hsv.v = value; updatePaletteValue() }; function updatePaletteValue() { that._placePaletteHandle(); that._updateColorFromHsv(that._currentColor.hsv.h, that._currentColor.hsv.s, that._currentColor.hsv.v) } var getHueScaleStep = function(e) { var step = 360 / (that._hueScaleWrapperHeight - that._hueScaleHandleHeight); if (e.shiftKey) { step *= that.option("keyStep") } step = step > 1 ? step : 1; return step }; var updateHueScaleValue = function(step) { that._currentColor.hsv.h += step; that._placeHueScaleHandle(); var handleLocation = (0, _translator.locate)(that._$hueScaleHandle); that._updateColorHue(handleLocation.top + that._hueScaleHandleHeight / 2) }; var getAlphaScaleStep = function(e) { var step = 1 / that._alphaChannelScaleWorkWidth; if (e.shiftKey) { step *= that.option("keyStep") } step = step > .01 ? step : .01; step = isRTL ? -step : step; return step }; var updateAlphaScaleValue = function(step) { that._currentColor.a += step; that._placeAlphaChannelHandle(); var handleLocation = (0, _translator.locate)(that._$alphaChannelHandle); that._calculateColorTransparencyByScaleWidth(handleLocation.left + that._alphaChannelHandleWidth / 2) }; return (0, _extend.extend)(this.callBase(), { upArrow: function(e) { e.preventDefault(); e.stopPropagation(); if ((0, _index.isCommandKeyPressed)(e)) { if (this._currentColor.hsv.h <= 360 && !this._isTopColorHue) { this._saveValueChangeEvent(e); updateHueScaleValue(getHueScaleStep(e)) } } else if (this._currentColor.hsv.v < 100) { this._saveValueChangeEvent(e); updateVerticalPaletteValue(getVerticalPaletteStep(e)) } }, downArrow: function(e) { e.preventDefault(); e.stopPropagation(); if ((0, _index.isCommandKeyPressed)(e)) { if (this._currentColor.hsv.h >= 0) { if (this._isTopColorHue) { this._currentColor.hsv.h = 360 } this._saveValueChangeEvent(e); updateHueScaleValue(-getHueScaleStep(e)) } } else if (this._currentColor.hsv.v > 0) { this._saveValueChangeEvent(e); updateVerticalPaletteValue(-getVerticalPaletteStep(e)) } }, rightArrow: function(e) { e.preventDefault(); e.stopPropagation(); if ((0, _index.isCommandKeyPressed)(e)) { if (isRTL ? this._currentColor.a < 1 : this._currentColor.a > 0 && this.option("editAlphaChannel")) { this._saveValueChangeEvent(e); updateAlphaScaleValue(-getAlphaScaleStep(e)) } } else if (this._currentColor.hsv.s < 100) { this._saveValueChangeEvent(e); updateHorizontalPaletteValue(getHorizontalPaletteStep(e)) } }, leftArrow: function(e) { e.preventDefault(); e.stopPropagation(); if ((0, _index.isCommandKeyPressed)(e)) { if (isRTL ? this._currentColor.a > 0 : this._currentColor.a < 1 && this.option("editAlphaChannel")) { this._saveValueChangeEvent(e); updateAlphaScaleValue(getAlphaScaleStep(e)) } } else if (this._currentColor.hsv.s > 0) { this._saveValueChangeEvent(e); updateHorizontalPaletteValue(-getHorizontalPaletteStep(e)) } }, enter: function(e) { this._fireEnterKeyPressed(e) } }) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { value: null, matchValue: null, onEnterKeyPressed: void 0, editAlphaChannel: false, keyStep: 1, stylingMode: void 0 }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }]) }, _init: function() { this.callBase(); this._initColorAndOpacity(); this._initEnterKeyPressedAction() }, _initEnterKeyPressedAction: function() { this._onEnterKeyPressedAction = this._createActionByOption("onEnterKeyPressed") }, _fireEnterKeyPressed: function(e) { if (!this._onEnterKeyPressedAction) { return } this._onEnterKeyPressedAction({ event: e }) }, _initColorAndOpacity: function() { this._setCurrentColor(this.option("value")) }, _setCurrentColor: function(value) { value = value || "#000000"; var newColor = new _color.default(value); if (!newColor.colorIsInvalid) { if (!this._currentColor || this._makeRgba(this._currentColor) !== this._makeRgba(newColor)) { this._currentColor = newColor; if (this._$currentColor) { this._makeTransparentBackground(this._$currentColor, newColor) } } } else { if (!this._currentColor) { this._currentColor = new _color.default("#000000") } this.option("value", this._currentColor.baseColor) } }, _setBaseColor: function(value) { var color = value || "#000000"; var newColor = new _color.default(color); if (!newColor.colorIsInvalid) { var isBaseColorChanged = this._makeRgba(this.option("matchValue") !== this._makeRgba(newColor)); if (isBaseColorChanged) { if (this._$baseColor) { this._makeTransparentBackground(this._$baseColor, newColor) } } } }, _initMarkup: function() { this.callBase(); this.$element().addClass("dx-colorview"); this._renderColorPickerContainer() }, _render: function() { this.callBase(); this._renderPalette(); this._renderHueScale(); this._renderControlsContainer(); this._renderControls(); this._renderAlphaChannelElements() }, _makeTransparentBackground: function($el, color) { if (!(color instanceof _color.default)) { color = new _color.default(color) } $el.css("backgroundColor", this._makeRgba(color)) }, _makeRgba: function(color) { if (!(color instanceof _color.default)) { color = new _color.default(color) } return "rgba(" + [color.r, color.g, color.b, color.a].join(", ") + ")" }, _renderValue: function() { this.callBase(this.option("editAlphaChannel") ? this._makeRgba(this._currentColor) : this.option("value")) }, _renderColorPickerContainer: function() { var $parent = this.$element(); this._$colorPickerContainer = (0, _renderer.default)("<div>").addClass("dx-colorview-container").appendTo($parent); this._renderHtmlRows() }, _renderHtmlRows: function(updatedOption) { var $renderedRows = this._$colorPickerContainer.find(".dx-colorview-container-row"); var renderedRowsCount = $renderedRows.length; var rowCount = this.option("editAlphaChannel") ? 2 : 1; var delta = renderedRowsCount - rowCount; if (delta > 0) { $renderedRows.eq(-1).remove() } if (delta < 0) { delta = Math.abs(delta); var rows = []; var i; for (i = 0; i < delta; i++) { rows.push((0, _renderer.default)("<div>").addClass("dx-colorview-container-row")) } if (renderedRowsCount) { for (i = 0; i < rows.length; i++) { $renderedRows.eq(0).after(rows[i]) } } else { this._$colorPickerContainer.append(rows) } } }, _renderHtmlCellInsideRow: function(index, $rowParent, additionalClass) { return (0, _renderer.default)("<div>").addClass("dx-colorview-container-cell").addClass(additionalClass).appendTo($rowParent.find(".dx-colorview-container-row").eq(index)) }, _renderPalette: function() { var $paletteCell = this._renderHtmlCellInsideRow(0, this._$colorPickerContainer, "dx-colorview-palette-cell"); var $paletteGradientWhite = (0, _renderer.default)("<div>").addClass([COLOR_VIEW_PALETTE_GRADIENT_CLASS, COLOR_VIEW_PALETTE_GRADIENT_WHITE_CLASS].join(" ")); var $paletteGradientBlack = (0, _renderer.default)("<div>").addClass([COLOR_VIEW_PALETTE_GRADIENT_CLASS, COLOR_VIEW_PALETTE_GRADIENT_BLACK_CLASS].join(" ")); this._$palette = (0, _renderer.default)("<div>").addClass("dx-colorview-palette").css("backgroundColor", this._currentColor.getPureColor().toHex()).appendTo($paletteCell); this._paletteHeight = (0, _size.getHeight)(this._$palette); this._paletteWidth = (0, _size.getWidth)(this._$palette); this._renderPaletteHandle(); this._$palette.append([$paletteGradientWhite, $paletteGradientBlack]) }, _renderPaletteHandle: function() { var _this = this; this._$paletteHandle = (0, _renderer.default)("<div>").addClass("dx-colorview-palette-handle").appendTo(this._$palette); var handleAria = { id: this.option("ariaId"), role: "application" }; this.setAria(handleAria, this._$paletteHandle); this._createComponent(this._$paletteHandle, _draggable.default, { contentTemplate: null, boundary: this._$palette, allowMoveByClick: true, boundOffset: function() { return -this._paletteHandleHeight / 2 }.bind(this), onDragMove: function(_ref) { var event = _ref.event; var paletteHandlePosition = (0, _translator.locate)(_this._$paletteHandle); _this._updateByDrag = true; _this._saveValueChangeEvent(event); _this._updateColorFromHsv(_this._currentColor.hsv.h, _this._calculateColorSaturation(paletteHandlePosition), _this._calculateColorValue(paletteHandlePosition)) } }); this._paletteHandleWidth = (0, _size.getWidth)(this._$paletteHandle); this._paletteHandleHeight = (0, _size.getHeight)(this._$paletteHandle); this._placePaletteHandle() }, _placePaletteHandle: function() { (0, _translator.move)(this._$paletteHandle, { left: Math.round(this._paletteWidth * this._currentColor.hsv.s / 100 - this._paletteHandleWidth / 2), top: Math.round(this._paletteHeight - this._paletteHeight * this._currentColor.hsv.v / 100 - this._paletteHandleHeight / 2) }) }, _calculateColorValue: function(paletteHandlePosition) { var value = Math.floor(paletteHandlePosition.top + this._paletteHandleHeight / 2); return 100 - Math.round(100 * value / this._paletteHeight) }, _calculateColorSaturation: function(paletteHandlePosition) { var saturation = Math.floor(paletteHandlePosition.left + this._paletteHandleWidth / 2); return Math.round(100 * saturation / this._paletteWidth) }, _updateColorFromHsv: function(hue, saturation, value) { var a = this._currentColor.a; this._currentColor = new _color.default("hsv(" + [hue, saturation, value].join(",") + ")"); this._currentColor.a = a; this._updateColorParamsAndColorPreview(); this.applyColor() }, _renderHueScale: function() { var $hueScaleCell = this._renderHtmlCellInsideRow(0, this._$colorPickerContainer, "dx-colorview-hue-scale-cell"); this._$hueScaleWrapper = (0, _renderer.default)("<div>").addClass("dx-colorview-hue-scale-wrapper").appendTo($hueScaleCell); this._$hueScale = (0, _renderer.default)("<div>").addClass("dx-colorview-hue-scale").appendTo(this._$hueScaleWrapper); this._hueScaleHeight = (0, _size.getHeight)(this._$hueScale); this._hueScaleWrapperHeight = (0, _size.getOuterHeight)(this._$hueScaleWrapper); this._renderHueScaleHandle() }, _renderHueScaleHandle: function() { var _this2 = this; this._$hueScaleHandle = (0, _renderer.default)("<div>").addClass("dx-colorview-hue-scale-handle").appendTo(this._$hueScaleWrapper); this._createComponent(this._$hueScaleHandle, _draggable.default, { contentTemplate: null, boundary: this._$hueScaleWrapper, allowMoveByClick: true, dragDirection: "vertical", onDragMove: function(_ref2) { var event = _ref2.event; _this2._updateByDrag = true; _this2._saveValueChangeEvent(event); _this2._updateColorHue((0, _translator.locate)(_this2._$hueScaleHandle).top + _this2._hueScaleHandleHeight / 2) } }); this._hueScaleHandleHeight = (0, _size.getHeight)(this._$hueScaleHandle); this._placeHueScaleHandle() }, _placeHueScaleHandle: function() { var hueScaleHeight = this._hueScaleWrapperHeight; var handleHeight = this._hueScaleHandleHeight; var top = (hueScaleHeight - handleHeight) * (360 - this._currentColor.hsv.h) / 360; if (hueScaleHeight < top + handleHeight) { top = hueScaleHeight - handleHeight } if (top < 0) { top = 0 }(0, _translator.move)(this._$hueScaleHandle, { top: Math.round(top) }) }, _updateColorHue: function(handlePosition) { var hue = 360 - Math.round(360 * (handlePosition - this._hueScaleHandleHeight / 2) / (this._hueScaleWrapperHeight - this._hueScaleHandleHeight)); var saturation = this._currentColor.hsv.s; var value = this._currentColor.hsv.v; this._isTopColorHue = false; hue = hue < 0 ? 0 : hue; if (hue >= 360) { this._isTopColorHue = true; hue = 0 } this._updateColorFromHsv(hue, saturation, value); this._$palette.css("backgroundColor", this._currentColor.getPureColor().toHex()) }, _renderControlsContainer: function() { var $controlsContainerCell = this._renderHtmlCellInsideRow(0, this._$colorPickerContainer); this._$controlsContainer = (0, _renderer.default)("<div>").addClass("dx-colorview-controls-container").appendTo($controlsContainerCell) }, _renderControls: function() { this._renderColorsPreview(); this._renderRgbInputs(); this._renderHexInput() }, _renderColorsPreview: function() { var $colorsPreviewContainer = (0, _renderer.default)("<div>").addClass("dx-colorview-color-preview-container").appendTo(this._$controlsContainer); var $colorsPreviewContainerInner = (0, _renderer.default)("<div>").addClass("dx-colorview-color-preview-container-inner").appendTo($colorsPreviewContainer); this._$currentColor = (0, _renderer.default)("<div>").addClass([COLOR_VIEW_COLOR_PREVIEW, COLOR_VIEW_COLOR_PREVIEW_COLOR_NEW].join(" ")); this._$baseColor = (0, _renderer.default)("<div>").addClass([COLOR_VIEW_COLOR_PREVIEW, COLOR_VIEW_COLOR_PREVIEW_COLOR_CURRENT].join(" ")); this._makeTransparentBackground(this._$baseColor, this.option("matchValue")); this._makeTransparentBackground(this._$currentColor, this._currentColor); $colorsPreviewContainerInner.append([this._$baseColor, this._$currentColor]) }, _renderAlphaChannelElements: function() { if (this.option("editAlphaChannel")) { this._$colorPickerContainer.find(".dx-colorview-container-row").eq(1).addClass("dx-colorview-alpha-channel-row"); this._renderAlphaChannelScale(); this._renderAlphaChannelInput() } }, _renderRgbInputs: function() { this._rgbInputsWithLabels = [this._renderEditorWithLabel({ editorType: _number_box.default, value: this._currentColor.r, onValueChanged: this._updateColor.bind(this, false), labelText: "R", labelAriaText: _message.default.format("dxColorView-ariaRed"), labelClass: "dx-colorview-label-red" }), this._renderEditorWithLabel({ editorType: _number_box.default, value: this._currentColor.g, onValueChanged: this._updateColor.bind(this, false), labelText: "G", labelAriaText: _message.default.format("dxColorView-ariaGreen"), labelClass: "dx-colorview-label-green" }), this._renderEditorWithLabel({ editorType: _number_box.default, value: this._currentColor.b, onValueChanged: this._updateColor.bind(this, false), labelText: "B", labelAriaText: _message.default.format("dxColorView-ariaBlue"), labelClass: "dx-colorview-label-blue" })]; this._$controlsContainer.append(this._rgbInputsWithLabels); this._rgbInputs = [this._rgbInputsWithLabels[0].find(".dx-numberbox").dxNumberBox("instance"), this._rgbInputsWithLabels[1].find(".dx-numberbox").dxNumberBox("instance"), this._rgbInputsWithLabels[2].find(".dx-numberbox").dxNumberBox("instance")] }, _renderEditorWithLabel: function(options) { var _this3 = this; var $editor = (0, _renderer.default)("<div>"); var $label = (0, _renderer.default)("<label>").addClass(options.labelClass).text(options.labelText + ":").append($editor); _events_engine.default.off($label, _click.name); _events_engine.default.on($label, _click.name, (function(e) { e.preventDefault() })); var editorType = options.editorType; var editorOptions = (0, _extend.extend)({ value: options.value, onValueChanged: options.onValueChanged, onKeyboardHandled: function(opts) { return _this3._keyboardHandler(opts) } }, { stylingMode: this.option("stylingMode") }); if (editorType === _number_box.default) { editorOptions.min = options.min || 0; editorOptions.max = options.max || 255; editorOptions.step = options.step || 1 } var editor = new editorType($editor, editorOptions); editor.registerKeyHandler("enter", function(e) { this._fireEnterKeyPressed(e) }.bind(this)); this.setAria("label", options.labelAriaText, $editor); return $label }, hexInputOptions: function() { return { editorType: _text_box.default, value: this._currentColor.toHex().replace("#", ""), onValueChanged: this._updateColor.bind(this, true), labelClass: "dx-colorview-label-hex", labelText: "#", labelAriaText: _message.default.format("dxColorView-ariaHex") } }, _renderHexInput: function() { this._hexInput = _text_box.default.getInstance(this._renderEditorWithLabel(this.hexInputOptions()).appendTo(this._$controlsContainer).find(".dx-textbox")); var inputId = "dx-".concat(new _guid.default); var $hexInput = this._$controlsContainer.find(".".concat("dx-colorview-label-hex")).find(".".concat("dx-texteditor-input")); this.setAria("id", inputId, $hexInput); this.setAria("labelledby", inputId, this._$paletteHandle) }, _renderAlphaChannelScale: function() { var $alphaChannelScaleCell = this._renderHtmlCellInsideRow(1, this._$colorPickerContainer, "dx-colorview-alpha-channel-cell"); var $alphaChannelBorder = (0, _renderer.default)("<div>").addClass("dx-colorview-alpha-channel-border").appendTo($alphaChannelScaleCell); var $alphaChannelScaleWrapper = (0, _renderer.default)("<div>").addClass("dx-colorview-alpha-channel-wrapper").appendTo($alphaChannelBorder); this._$alphaChannelScale = (0, _renderer.default)("<div>").addClass("dx-colorview-alpha-channel-scale").appendTo($alphaChannelScaleWrapper); this._makeCSSLinearGradient(this._$alphaChannelScale); this._renderAlphaChannelHandle($alphaChannelScaleCell) }, _makeCSSLinearGradient: function($el) { var color = this._currentColor; var colorAsRgb = "".concat(color.r, ",").concat(color.g, ",").concat(color.b); var rtlEnabled = this.option("rtlEnabled"); var startColor = "rgba(".concat(colorAsRgb, ", ").concat(rtlEnabled ? "1" : "0", ")"); var finishColor = "rgba(".concat(colorAsRgb, ", ").concat(rtlEnabled ? "0" : "1", ")"); var backgroundImage = "linear-gradient(-90deg, ".concat(startColor, ", ").concat(finishColor, ")"); $el.css("backgroundImage", backgroundImage) }, _renderAlphaChannelInput: function() { var that = this; var $alphaChannelInputCell = this._renderHtmlCellInsideRow(1, this._$colorPickerContainer); that._alphaChannelInput = this._renderEditorWithLabel({ editorType: _number_box.default, value: this._currentColor.a, max: 1, step: .1, onValueChanged: function(args) { var value = args.value; value = that._currentColor.isValidAlpha(value) ? value : that._currentColor.a; args.event && that._saveValueChangeEvent(args.event); that._updateColorTransparency(value); that._placeAlphaChannelHandle() }, labelClass: "dx-colorview-alpha-channel-label", labelText: "Alpha", labelAriaText: _message.default.format("dxColorView-ariaAlpha") }).appendTo($alphaChannelInputCell).find(".dx-numberbox").dxNumberBox("instance") }, _updateColorTransparency: function(transparency) { this._currentColor.a = transparency; this.applyColor() }, _renderAlphaChannelHandle: function($parent) { var _this4 = this; this._$alphaChannelHandle = (0, _renderer.default)("<div>").addClass("dx-colorview-alpha-channel-handle").appendTo($parent); this._createComponent(this._$alphaChannelHandle, _draggable.default, { contentTemplate: null, boundary: $parent, allowMoveByClick: true, dragDirection: "horizontal", onDragMove: function(_ref3) { var event = _ref3.event; _this4._updateByDrag = true; var $alphaChannelHandle = _this4._$alphaChannelHandle; var alphaChannelHandlePosition = (0, _translator.locate)($alphaChannelHandle).left + _this4._alphaChannelHandleWidth / 2; _this4._saveValueChangeEvent(event); _this4._calculateColorTransparencyByScaleWidth(alphaChannelHandlePosition) } }); this._alphaChannelHandleWidth = (0, _size.getWidth)(this._$alphaChannelHandle); this._alphaChannelScaleWorkWidth = (0, _size.getWidth)($parent) - this._alphaChannelHandleWidth; this._placeAlphaChannelHandle() }, _calculateColorTransparencyByScaleWidth: function(handlePosition) { var transparency = (handlePosition - this._alphaChannelHandleWidth / 2) / this._alphaChannelScaleWorkWidth; var rtlEnabled = this.option("rtlEnabled"); transparency = rtlEnabled ? transparency : 1 - transparency; if (handlePosition >= this._alphaChannelScaleWorkWidth + this._alphaChannelHandleWidth / 2) { transparency = rtlEnabled ? 1 : 0 } else if (transparency < 1) { transparency = transparency.toFixed(2) } var previousTransparency = this._alphaChannelInput.option("value"); transparency = Math.max(transparency, 0); transparency = Math.min(transparency, 1); if (transparency === previousTransparency) { this._updateByDrag = false } else { this._alphaChannelInput.option("value", transparency) } }, _placeAlphaChannelHandle: function() { var left = this._alphaChannelScaleWorkWidth * (1 - this._currentColor.a); if (left < 0) { left = 0 } if (this._alphaChannelScaleWorkWidth < left) { left = this._alphaChannelScaleWorkWidth }(0, _translator.move)(this._$alphaChannelHandle, { left: this.option("rtlEnabled") ? this._alphaChannelScaleWorkWidth - left : left }) }, applyColor: function() { var previousValue = this.option("value"); var colorValue = this.option("editAlphaChannel") ? this._makeRgba(this._currentColor) : this._currentColor.toHex(); this._makeTransparentBackground(this._$currentColor, this._currentColor); if (colorValue === previousValue) { this._updateByDrag = false } else { this.option("value", colorValue) } }, cancelColor: function() { this._initColorAndOpacity(); this._refreshMarkup() }, _updateColor: function(isHex, args) { var rgba; var newColor; if (isHex) { newColor = this._validateHex("#" + this._hexInput.option("value")) } else { rgba = this._validateRgb(); if (this._alphaChannelInput) { rgba.push(this._alphaChannelInput.option("value")); newColor = "rgba(" + rgba.join(", ") + ")" } else { newColor = "rgb(" + rgba.join(", ") + ")" } } if (!this._suppressEditorsValueUpdating) { this._currentColor = new _color.default(newColor); this._saveValueChangeEvent(args.event); this.applyColor(); this._refreshMarkup() } }, _validateHex: function(hex) { return this._currentColor.isValidHex(hex) ? hex : this._currentColor.toHex() }, _validateRgb: function() { var r = this._rgbInputs[0].option("value"); var g = this._rgbInputs[1].option("value"); var b = this._rgbInputs[2].option("value"); if (!this._currentColor.isValidRGB(r, g, b)) { r = this._currentColor.r; g = this._currentColor.g; b = this._currentColor.b } return [r, g, b] }, _refreshMarkup: function() { this._placeHueScaleHandle(); this._placePaletteHandle(); this._updateColorParamsAndColorPreview(); this._$palette.css("backgroundColor", this._currentColor.getPureColor().toHex()); if (this._$alphaChannelHandle) { this._updateColorTransparency(this._currentColor.a); this._placeAlphaChannelHandle() } }, _updateColorParamsAndColorPreview: function() { this._suppressEditorsValueUpdating = true; this._hexInput.option("value", this._currentColor.toHex().replace("#", "")); this._rgbInputs[0].option("value", this._currentColor.r); this._rgbInputs[1].option("value", this._currentColor.g); this._rgbInputs[2].option("value", this._currentColor.b); this._suppressEditorsValueUpdating = false; if (this.option("editAlphaChannel")) { this._makeCSSLinearGradient.call(this, this._$alphaChannelScale); this._alphaChannelInput.option("value", this._currentColor.a) } }, _optionChanged: function(args) { var value = args.value; switch (args.name) { case "value": this._setCurrentColor(value); if (!this._updateByDrag) { this._refreshMarkup() } this._updateByDrag = false; this.callBase(args); break; case "matchValue": this._setBaseColor(value); break; case "onEnterKeyPressed": this._initEnterKeyPressedAction(); break; case "editAlphaChannel": if (this._$colorPickerContainer) { this._renderHtmlRows("editAlphaChannel"); this._renderAlphaChannelElements() } break; case "keyStep": break; case "stylingMode": this._renderControls(); break; default: this.callBase(args) } } }); (0, _component_registrator.default)("dxColorView", ColorView); var _default = ColorView; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 10042: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/context_menu.js ***! \****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./context_menu/ui.context_menu */ 5631), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 5631: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/context_menu/ui.context_menu.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _dom = __webpack_require__( /*! ../../core/utils/dom */ 3532); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _fx = _interopRequireDefault(__webpack_require__( /*! ../../animation/fx */ 87209)); var _position = _interopRequireDefault(__webpack_require__( /*! ../../animation/position */ 49387)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _ui = _interopRequireDefault(__webpack_require__( /*! ../overlay/ui.overlay */ 89799)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ./ui.menu_base */ 46377)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _contextmenu = __webpack_require__( /*! ../../events/contextmenu */ 49166); var _hold = _interopRequireDefault(__webpack_require__( /*! ../../events/hold */ 11699)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ACTIONS = ["onShowing", "onShown", "onSubmenuCreated", "onHiding", "onHidden", "onPositioning", "onLeftFirstItem", "onLeftLastItem", "onCloseRootSubmenu", "onExpandLastSubmenu"]; var LOCAL_SUBMENU_DIRECTIONS = ["up", "down", "first", "last"]; var window = (0, _window.getWindow)(); var ContextMenu = function(_MenuBase) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ContextMenu, _MenuBase); function ContextMenu() { return _MenuBase.apply(this, arguments) || this } var _proto = ContextMenu.prototype; _proto.getShowEvent = function(showEventOption) { var result = null; if ((0, _type.isObject)(showEventOption)) { if (null !== showEventOption.name) { result = showEventOption.name || "dxcontextmenu" } } else { result = showEventOption } return result }; _proto.getShowDelay = function(showEventOption) { return (0, _type.isObject)(showEventOption) && showEventOption.delay }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_MenuBase.prototype._getDefaultOptions.call(this), { showEvent: "dxcontextmenu", hideOnOutsideClick: true, position: { at: "top left", my: "top left" }, onShowing: null, onShown: null, onSubmenuCreated: null, onHiding: null, onHidden: null, onPositioning: null, submenuDirection: "auto", visible: false, target: void 0, onLeftFirstItem: null, onLeftLastItem: null, onCloseRootSubmenu: null, onExpandLastSubmenu: null }) }; _proto._defaultOptionsRules = function() { return _MenuBase.prototype._defaultOptionsRules.call(this).concat([{ device: function() { return !(0, _window.hasWindow)() }, options: { animation: null } }]) }; _proto._setDeprecatedOptions = function() { _MenuBase.prototype._setDeprecatedOptions.call(this); (0, _extend.extend)(this._deprecatedOptions, { closeOnOutsideClick: { since: "22.2", alias: "hideOnOutsideClick" } }) }; _proto._initActions = function() { var _this = this; this._actions = {}; (0, _iterator.each)(ACTIONS, (function(index, action) { _this._actions[action] = _this._createActionByOption(action) || _common.noop })) }; _proto._setOptionsByReference = function() { _MenuBase.prototype._setOptionsByReference.call(this); (0, _extend.extend)(this._optionsByReference, { animation: true, selectedItem: true }) }; _proto._focusInHandler = function() {}; _proto._itemContainer = function() { return this._overlay ? this._overlay.$content() : (0, _renderer.default)() }; _proto._eventBindingTarget = function() { return this._itemContainer() }; _proto.itemsContainer = function() { return this._overlay ? this._overlay.$content() : void 0 }; _proto._supportedKeys = function() { var _this2 = this; return (0, _extend.extend)(_MenuBase.prototype._supportedKeys.call(this), { space: function() { var $item = (0, _renderer.default)(_this2.option("focusedElement")); _this2.hide(); if (!$item.length || !_this2._isSelectionEnabled()) { return } _this2.selectItem($item[0]) }, escape: this.hide }) }; _proto._getActiveItem = function() { var $availableItems = this._getAvailableItems(); var $focusedItem = $availableItems.filter(".".concat("dx-state-focused")); var $hoveredItem = $availableItems.filter(".".concat("dx-state-hover")); var $hoveredItemContainer = $hoveredItem.closest(".".concat("dx-menu-items-container")); if ($hoveredItemContainer.find(".".concat("dx-menu-item")).index($focusedItem) >= 0) { return $focusedItem } if ($hoveredItem.length) { return $hoveredItem } return _MenuBase.prototype._getActiveItem.call(this) }; _proto._moveFocus = function(location) { var $items = this._getItemsByLocation(location); var $oldTarget = this._getActiveItem(true); var $hoveredItem = this.itemsContainer().find(".".concat("dx-state-hover")); var $focusedItem = (0, _renderer.default)(this.option("focusedElement")); var $activeItemHighlighted = !!($focusedItem.length || $hoveredItem.length); var $newTarget; switch (location) { case "up": $newTarget = $activeItemHighlighted ? this._prevItem($items) : $oldTarget; this._setFocusedElement($newTarget); if ($oldTarget.is($items.first())) { this._actions.onLeftFirstItem($oldTarget) } break; case "down": $newTarget = $activeItemHighlighted ? this._nextItem($items) : $oldTarget; this._setFocusedElement($newTarget); if ($oldTarget.is($items.last())) { this._actions.onLeftLastItem($oldTarget) } break; case "right": $newTarget = this.option("rtlEnabled") ? this._hideSubmenuHandler() : this._expandSubmenuHandler($items, location); this._setFocusedElement($newTarget); break; case "left": $newTarget = this.option("rtlEnabled") ? this._expandSubmenuHandler($items, location) : this._hideSubmenuHandler(); this._setFocusedElement($newTarget); break; case "first": $newTarget = $items.first(); this._setFocusedElement($newTarget); break; case "last": $newTarget = $items.last(); this._setFocusedElement($newTarget); break; default: return _MenuBase.prototype._moveFocus.call(this, location) } }; _proto._setFocusedElement = function($element) { if ($element && 0 !== $element.length) { this.option("focusedElement", (0, _element.getPublicElement)($element)) } }; _proto._getItemsByLocation = function(location) { var $activeItem = this._getActiveItem(true); var $items; if (LOCAL_SUBMENU_DIRECTIONS.includes(location)) { $items = $activeItem.closest(".".concat("dx-menu-items-container")).children().children() } $items = this._getAvailableItems($items); return $items }; _proto._getAriaTarget = function() { return this.$element() }; _proto._refreshActiveDescendant = function() { if ((0, _type.isDefined)(this._overlay)) { var $target = this._overlay.$content(); _MenuBase.prototype._refreshActiveDescendant.call(this, $target) } }; _proto._hideSubmenuHandler = function() { var $curItem = this._getActiveItem(true); var $parentItem = $curItem.parents(".".concat("dx-menu-item-expanded")).first(); if ($parentItem.length) { this._hideSubmenusOnSameLevel($parentItem); this._hideSubmenu($curItem.closest(".".concat("dx-submenu"))); return $parentItem } this._actions.onCloseRootSubmenu($curItem); return $curItem }; _proto._expandSubmenuHandler = function($items, location) { var $curItem = this._getActiveItem(true); var itemData = this._getItemData($curItem); var node = this._dataAdapter.getNodeByItem(itemData); var isItemHasSubmenu = this._hasSubmenu(node); var $submenu = $curItem.children(".".concat("dx-submenu")); if (isItemHasSubmenu && !$curItem.hasClass("dx-state-disabled")) { if (!$submenu.length || "hidden" === $submenu.css("visibility")) { this._showSubmenu($curItem) } return this._nextItem(this._getItemsByLocation(location)) } this._actions.onExpandLastSubmenu($curItem); return }; _proto._clean = function() { if (this._overlay) { this._overlay.$element().remove(); this._overlay = null } this._detachShowContextMenuEvents(this._getTarget()); _MenuBase.prototype._clean.call(this) }; _proto._initMarkup = function() { this.$element().addClass("dx-has-context-menu"); _MenuBase.prototype._initMarkup.call(this) }; _proto._render = function() { _MenuBase.prototype._render.call(this); this._renderVisibility(this.option("visible")); this._addWidgetClass() }; _proto._renderContentImpl = function() { this._detachShowContextMenuEvents(this._getTarget()); this._attachShowContextMenuEvents() }; _proto._attachKeyboardEvents = function() { !this._keyboardListenerId && this._focusTarget().length && _MenuBase.prototype._attachKeyboardEvents.call(this) }; _proto._renderContextMenuOverlay = function() { if (this._overlay) { return } var overlayOptions = this._getOverlayOptions(); this._overlay = this._createComponent((0, _renderer.default)("<div>").appendTo(this._$element), _ui.default, overlayOptions); var $overlayContent = this._overlay.$content(); $overlayContent.addClass("dx-context-menu"); this._addCustomCssClass($overlayContent); this._addPlatformDependentClass($overlayContent); this._attachContextMenuEvent() }; _proto.preventShowingDefaultContextMenuAboveOverlay = function() { var $itemContainer = this._itemContainer(); var eventName = (0, _index.addNamespace)(_contextmenu.name, this.NAME); _events_engine.default.off($itemContainer, eventName, ".".concat("dx-submenu")); _events_engine.default.on($itemContainer, eventName, ".".concat("dx-submenu"), function(e) { e.stopPropagation(); e.preventDefault(); _events_engine.default.off($itemContainer, eventName, ".".concat("dx-submenu")) }.bind(this)) }; _proto._itemContextMenuHandler = function(e) { _MenuBase.prototype._itemContextMenuHandler.call(this, e); e.stopPropagation() }; _proto._addPlatformDependentClass = function($element) { if (_devices.default.current().phone) { $element.addClass("dx-menu-phone-overlay") } }; _proto._detachShowContextMenuEvents = function(target) { var showEvent = this.getShowEvent(this.option("showEvent")); if (!showEvent) { return } var eventName = (0, _index.addNamespace)(showEvent, this.NAME); if (this._showContextMenuEventHandler) { _events_engine.default.off(_dom_adapter.default.getDocument(), eventName, target, this._showContextMenuEventHandler) } else { _events_engine.default.off((0, _renderer.default)(target), eventName) } }; _proto._attachShowContextMenuEvents = function() { var _this3 = this; var target = this._getTarget(); var showEvent = this.getShowEvent(this.option("showEvent")); if (!showEvent) { return } var eventName = (0, _index.addNamespace)(showEvent, this.NAME); var contextMenuAction = this._createAction((function(e) { var delay = _this3.getShowDelay(_this3.option("showEvent")); if (delay) { setTimeout((function() { return _this3._show(e.event) }), delay) } else { _this3._show(e.event) } }), { validatingTargetName: "target" }); var handler = function(e) { return contextMenuAction({ event: e, target: (0, _renderer.default)(e.currentTarget) }) }; contextMenuAction = this._createAction(contextMenuAction); if ((0, _type.isRenderer)(target) || target.nodeType || (0, _type.isWindow)(target)) { this._showContextMenuEventHandler = void 0; _events_engine.default.on(target, eventName, handler) } else { this._showContextMenuEventHandler = handler; _events_engine.default.on(_dom_adapter.default.getDocument(), eventName, target, this._showContextMenuEventHandler) } }; _proto._hoverEndHandler = function(e) { _MenuBase.prototype._hoverEndHandler.call(this, e); e.stopPropagation() }; _proto._renderDimensions = function() {}; _proto._renderContainer = function($wrapper, submenuContainer) { var $holder = submenuContainer || this._itemContainer(); $wrapper = (0, _renderer.default)("<div>"); $wrapper.appendTo($holder).addClass("dx-submenu").css("visibility", submenuContainer ? "hidden" : "visible"); if (!$wrapper.parent().hasClass("dx-overlay-content")) { this._addCustomCssClass($wrapper) } var $itemsContainer = _MenuBase.prototype._renderContainer.call(this, $wrapper); if (submenuContainer) { return $itemsContainer } if (this.option("width")) { return $itemsContainer.css("minWidth", this.option("width")) } if (this.option("height")) { return $itemsContainer.css("minHeight", this.option("height")) } return $itemsContainer }; _proto._renderSubmenuItems = function(node, $itemFrame) { this._renderItems(this._getChildNodes(node), $itemFrame); this._actions.onSubmenuCreated({ itemElement: (0, _element.getPublicElement)($itemFrame), itemData: node.internalFields.item, submenuElement: (0, _element.getPublicElement)($itemFrame.children(".".concat("dx-submenu"))) }) }; _proto._getOverlayOptions = function() { var _this4 = this; var position = this.option("position"); var overlayOptions = { focusStateEnabled: this.option("focusStateEnabled"), animation: this.option("animation"), innerOverlay: true, hideOnOutsideClick: function(e) { return _this4._hideOnOutsideClickHandler(e) }, propagateOutsideClick: true, hideOnParentScroll: true, deferRendering: false, position: { at: position.at, my: position.my, of: this._getTarget(), collision: "flipfit" }, shading: false, showTitle: false, height: "auto", width: "auto", onShown: this._overlayShownActionHandler.bind(this), onHiding: this._overlayHidingActionHandler.bind(this), onHidden: this._overlayHiddenActionHandler.bind(this), visualContainer: window }; return overlayOptions }; _proto._overlayShownActionHandler = function(arg) { this._actions.onShown(arg) }; _proto._overlayHidingActionHandler = function(arg) { this._actions.onHiding(arg); if (!arg.cancel) { this._hideAllShownSubmenus(); this._setOptionWithoutOptionChange("visible", false) } }; _proto._overlayHiddenActionHandler = function(arg) { this._actions.onHidden(arg) }; _proto._shouldHideOnOutsideClick = function(e) { var _this$option = this.option(), closeOnOutsideClick = _this$option.closeOnOutsideClick, hideOnOutsideClick = _this$option.hideOnOutsideClick; if ((0, _type.isFunction)(hideOnOutsideClick)) { return hideOnOutsideClick(e) } else if ((0, _type.isFunction)(closeOnOutsideClick)) { return closeOnOutsideClick(e) } else { return hideOnOutsideClick || closeOnOutsideClick } }; _proto._hideOnOutsideClickHandler = function(e) { if (!this._shouldHideOnOutsideClick(e)) { return false } if (_dom_adapter.default.isDocument(e.target)) { return true } var $activeItemContainer = this._getActiveItemsContainer(e.target); var $itemContainers = this._getItemsContainers(); var $clickedItem = this._searchActiveItem(e.target); var $rootItem = this.$element().parents(".".concat("dx-menu-item")); var isRootItemClicked = $clickedItem[0] === $rootItem[0] && $clickedItem.length && $rootItem.length; var isInnerOverlayClicked = this._isIncludeOverlay($activeItemContainer, $itemContainers) && $clickedItem.length; if (isInnerOverlayClicked || isRootItemClicked) { if ("onClick" === this._getShowSubmenuMode()) { this._hideAllShownChildSubmenus($clickedItem) } return false } return true }; _proto._getActiveItemsContainer = function(target) { return (0, _renderer.default)(target).closest(".".concat("dx-menu-items-container")) }; _proto._getItemsContainers = function() { return this._overlay.$content().find(".".concat("dx-menu-items-container")) }; _proto._searchActiveItem = function(target) { return (0, _renderer.default)(target).closest(".".concat("dx-menu-item")).eq(0) }; _proto._isIncludeOverlay = function($activeOverlay, $allOverlays) { var isSame = false; (0, _iterator.each)($allOverlays, (function(index, $overlay) { if ($activeOverlay.is($overlay) && !isSame) { isSame = true } })); return isSame }; _proto._hideAllShownChildSubmenus = function($clickedItem) { var _this5 = this; var $submenuElements = $clickedItem.find(".".concat("dx-submenu")); var shownSubmenus = (0, _extend.extend)([], this._shownSubmenus); if ($submenuElements.length > 0) { (0, _iterator.each)(shownSubmenus, (function(index, $submenu) { var $context = _this5._searchActiveItem($submenu.context).parent(); if ($context.parent().is($clickedItem.parent().parent()) && !$context.is($clickedItem.parent())) { _this5._hideSubmenu($submenu) } })) } }; _proto._showSubmenu = function($item) { var node = this._dataAdapter.getNodeByItem(this._getItemData($item)); this._hideSubmenusOnSameLevel($item); if (!this._hasSubmenu(node)) { return } var $submenu = $item.children(".".concat("dx-submenu")); var isSubmenuRendered = $submenu.length; _MenuBase.prototype._showSubmenu.call(this, $item); if (!isSubmenuRendered) { this._renderSubmenuItems(node, $item) } if (!this._isSubmenuVisible($submenu)) { this._drawSubmenu($item) } }; _proto._hideSubmenusOnSameLevel = function($item) { var $expandedItems = $item.parent(".".concat("dx-menu-item-wrapper")).siblings().find(".".concat("dx-menu-item-expanded")); if ($expandedItems.length) { $expandedItems.removeClass("dx-menu-item-expanded"); this._hideSubmenu($expandedItems.find(".".concat("dx-submenu"))) } }; _proto._hideSubmenuGroup = function($submenu) { if (this._isSubmenuVisible($submenu)) { this._hideSubmenuCore($submenu) } }; _proto._isSubmenuVisible = function($submenu) { return "visible" === $submenu.css("visibility") }; _proto._drawSubmenu = function($itemElement) { var animation = this.option("animation") ? this.option("animation").show : {}; var $submenu = $itemElement.children(".".concat("dx-submenu")); var submenuPosition = this._getSubmenuPosition($itemElement); if (this._overlay && this._overlay.option("visible")) { if (!(0, _type.isDefined)(this._shownSubmenus)) { this._shownSubmenus = [] } if (!this._shownSubmenus.includes($submenu)) { this._shownSubmenus.push($submenu) } if (animation) { _fx.default.stop($submenu) } _position.default.setup($submenu, submenuPosition); if (animation) { if ((0, _type.isPlainObject)(animation.to)) { animation.to.position = submenuPosition } this._animate($submenu, animation) } $submenu.css("visibility", "visible") } }; _proto._animate = function($container, options) { _fx.default.animate($container, options) }; _proto._getSubmenuPosition = function($rootItem) { var submenuDirection = this.option("submenuDirection").toLowerCase(); var $rootItemWrapper = $rootItem.parent(".".concat("dx-menu-item-wrapper")); var position = { collision: "flip", of: $rootItemWrapper, offset: { h: 0, v: -1 } }; switch (submenuDirection) { case "left": position.at = "left top"; position.my = "right top"; break; case "right": position.at = "right top"; position.my = "left top"; break; default: if (this.option("rtlEnabled")) { position.at = "left top"; position.my = "right top" } else { position.at = "right top"; position.my = "left top" } } return position }; _proto._updateSubmenuVisibilityOnClick = function(actionArgs) { if (!actionArgs.args.length) { return } var itemData = actionArgs.args[0].itemData; var node = this._dataAdapter.getNodeByItem(itemData); if (!node) { return } var $itemElement = (0, _renderer.default)(actionArgs.args[0].itemElement); var $submenu = $itemElement.find(".".concat("dx-submenu")); var shouldRenderSubmenu = this._hasSubmenu(node) && !$submenu.length; if (shouldRenderSubmenu) { this._renderSubmenuItems(node, $itemElement); $submenu = $itemElement.find(".".concat("dx-submenu")) } if ($itemElement.context === $submenu.context && "visible" === $submenu.css("visibility")) { return } this._updateSelectedItemOnClick(actionArgs); var notCloseMenuOnItemClick = itemData && false === itemData.closeMenuOnClick; if (!itemData || itemData.disabled || notCloseMenuOnItemClick) { return } if (0 === $submenu.length) { var $prevSubmenu = (0, _renderer.default)($itemElement.parents(".".concat("dx-submenu"))[0]); this._hideSubmenu($prevSubmenu); if (!actionArgs.canceled && this._overlay && this._overlay.option("visible")) { this.option("visible", false) } } else { if (this._shownSubmenus && this._shownSubmenus.length > 0) { if (this._shownSubmenus[0].is($submenu)) { this._hideSubmenu($submenu) } } this._showSubmenu($itemElement) } }; _proto._hideSubmenu = function($curSubmenu) { var _this6 = this; var shownSubmenus = (0, _extend.extend)([], this._shownSubmenus); (0, _iterator.each)(shownSubmenus, (function(index, $submenu) { if ($curSubmenu.is($submenu) || (0, _dom.contains)($curSubmenu[0], $submenu[0])) { $submenu.parent().removeClass("dx-menu-item-expanded"); _this6._hideSubmenuCore($submenu) } })) }; _proto._hideSubmenuCore = function($submenu) { var index = this._shownSubmenus.indexOf($submenu); var animation = this.option("animation") ? this.option("animation").hide : null; if (index >= 0) { this._shownSubmenus.splice(index, 1) } this._stopAnimate($submenu); animation && this._animate($submenu, animation); $submenu.css("visibility", "hidden") }; _proto._stopAnimate = function($container) { _fx.default.stop($container, true) }; _proto._hideAllShownSubmenus = function() { var _this7 = this; var shownSubmenus = (0, _extend.extend)([], this._shownSubmenus); var $expandedItems = this._overlay.$content().find(".".concat("dx-menu-item-expanded")); $expandedItems.removeClass("dx-menu-item-expanded"); (0, _iterator.each)(shownSubmenus, (function(_, $submenu) { _this7._hideSubmenu($submenu) })) }; _proto._visibilityChanged = function(visible) { if (visible) { this._renderContentImpl() } }; _proto._optionChanged = function(args) { if (ACTIONS.includes(args.name)) { this._initActions(); return } switch (args.name) { case "visible": this._renderVisibility(args.value); break; case "showEvent": case "position": case "submenuDirection": this._invalidate(); break; case "target": args.previousValue && this._detachShowContextMenuEvents(args.previousValue); this._invalidate(); break; case "closeOnOutsideClick": case "hideOnOutsideClick": break; default: _MenuBase.prototype._optionChanged.call(this, args) } }; _proto._renderVisibility = function(showing) { return showing ? this._show() : this._hide() }; _proto._toggleVisibility = function() {}; _proto._show = function(event) { var args = { jQEvent: event }; var promise = (new _deferred.Deferred).reject().promise(); this._actions.onShowing(args); if (args.cancel) { return promise } var position = this._positionContextMenu(event); if (position) { var _event$originalEvent; if (!this._overlay) { this._renderContextMenuOverlay(); this._overlay.$content().addClass(this._widgetClass()); this._renderFocusState(); this._attachHoverEvents(); this._attachClickEvent(); this._renderItems(this._dataAdapter.getRootNodes()) } this._setOptionWithoutOptionChange("visible", true); this._overlay.option("position", position); promise = this._overlay.show(); event && event.stopPropagation(); this._setAriaAttributes(); if ((null === event || void 0 === event ? void 0 : null === (_event$originalEvent = event.originalEvent) || void 0 === _event$originalEvent ? void 0 : _event$originalEvent.type) === _hold.default.name) { this.preventShowingDefaultContextMenuAboveOverlay() } } return promise }; _proto._setAriaAttributes = function() { this._overlayContentId = "dx-".concat(new _guid.default); this.setAria("owns", this._overlayContentId); this.setAria({ id: this._overlayContentId, role: "menu" }, this._overlay.$content()) }; _proto._cleanAriaAttributes = function() { this._overlay && this.setAria("id", null, this._overlay.$content()); this.setAria("owns", void 0) }; _proto._getTarget = function() { return this.option("target") || this.option("position").of || (0, _renderer.default)(_dom_adapter.default.getDocument()) }; _proto._getContextMenuPosition = function() { return (0, _extend.extend)({}, this.option("position"), { of: this._getTarget() }) }; _proto._positionContextMenu = function(jQEvent) { var position = this._getContextMenuPosition(); var isInitialPosition = this._isInitialOptionValue("position"); var positioningAction = this._createActionByOption("onPositioning"); if (jQEvent && jQEvent.preventDefault && isInitialPosition) { position.of = jQEvent } var actionArgs = { position: position, event: jQEvent }; positioningAction(actionArgs); if (actionArgs.cancel) { position = null } else if (actionArgs.event) { actionArgs.event.cancel = true; jQEvent.preventDefault() } return position }; _proto._refresh = function() { if (!(0, _window.hasWindow)()) { _MenuBase.prototype._refresh.call(this) } else if (this._overlay) { var lastPosition = this._overlay.option("position"); _MenuBase.prototype._refresh.call(this); this._overlay && this._overlay.option("position", lastPosition) } else { _MenuBase.prototype._refresh.call(this) } }; _proto._hide = function() { var promise; if (this._overlay) { promise = this._overlay.hide(); this._setOptionWithoutOptionChange("visible", false) } this._cleanAriaAttributes(); this.option("focusedElement", null); return promise || (new _deferred.Deferred).reject().promise() }; _proto.toggle = function(showing) { var visible = this.option("visible"); showing = void 0 === showing ? !visible : showing; return this._renderVisibility(showing) }; _proto.show = function() { return this.toggle(true) }; _proto.hide = function() { return this.toggle(false) }; return ContextMenu }(_ui2.default); (0, _component_registrator.default)("dxContextMenu", ContextMenu); var _default = ContextMenu; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 69639: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/context_menu/ui.menu_base.edit.strategy.js ***! \*******************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _uiCollection_widgetEditStrategy = _interopRequireDefault(__webpack_require__( /*! ../collection/ui.collection_widget.edit.strategy.plain */ 14174)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var MenuBaseEditStrategy = function(_PlainEditStrategy) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(MenuBaseEditStrategy, _PlainEditStrategy); function MenuBaseEditStrategy() { return _PlainEditStrategy.apply(this, arguments) || this } var _proto = MenuBaseEditStrategy.prototype; _proto._getPlainItems = function() { return (0, _iterator.map)(this._collectionWidget.option("items"), (function getMenuItems(item) { return item.items ? [item].concat((0, _iterator.map)(item.items, getMenuItems)) : item })) }; _proto._stringifyItem = function(item) { var _this = this; return JSON.stringify(item, (function(key, value) { if ("template" === key) { return _this._getTemplateString(value) } return value })) }; _proto._getTemplateString = function(template) { var result; if ("object" === _typeof(template)) { result = (0, _renderer.default)(template).text() } else { result = template.toString() } return result }; return MenuBaseEditStrategy }(_uiCollection_widgetEditStrategy.default); var _default = MenuBaseEditStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 46377: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/context_menu/ui.menu_base.js ***! \*****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _utils = __webpack_require__( /*! ../widget/utils.ink_ripple */ 72672); var _ui = _interopRequireDefault(__webpack_require__( /*! ../hierarchical_collection/ui.hierarchical_collection_widget */ 65810)); var _uiMenu_baseEdit = _interopRequireDefault(__webpack_require__( /*! ./ui.menu_base.edit.strategy */ 69639)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _item = _interopRequireDefault(__webpack_require__( /*! ../collection/item */ 54778)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ITEM_CLASS = "dx-menu-item"; var DEFAULT_DELAY = { show: 50, hide: 300 }; var DX_MENU_ITEM_CAPTION_URL_CLASS = "".concat("dx-menu-item-text", "-with-url"); var MenuBase = function(_HierarchicalCollecti) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(MenuBase, _HierarchicalCollecti); function MenuBase() { return _HierarchicalCollecti.apply(this, arguments) || this } var _proto = MenuBase.prototype; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_HierarchicalCollecti.prototype._getDefaultOptions.call(this), { items: [], cssClass: "", activeStateEnabled: true, showSubmenuMode: { name: "onHover", delay: { show: 50, hide: 300 } }, animation: { show: { type: "fade", from: 0, to: 1, duration: 100 }, hide: { type: "fade", from: 1, to: 0, duration: 100 } }, selectByClick: false, focusOnSelectedItem: false, keyExpr: null, _itemAttributes: { role: "menuitem" }, useInkRipple: false }) }; _proto._itemDataKey = function() { return "dxMenuItemDataKey" }; _proto._itemClass = function() { return ITEM_CLASS }; _proto._setAriaSelectionAttribute = function() {}; _proto._selectedItemClass = function() { return "dx-menu-item-selected" }; _proto._widgetClass = function() { return "dx-menu-base" }; _proto._focusTarget = function() { return this._itemContainer() }; _proto._clean = function() { this.option("focusedElement", null); _HierarchicalCollecti.prototype._clean.call(this) }; _proto._supportedKeys = function() { var _this = this; return (0, _extend.extend)(_HierarchicalCollecti.prototype._supportedKeys.call(this), { space: function() { var $item = (0, _renderer.default)(_this.option("focusedElement")); if (!$item.length || !_this._isSelectionEnabled()) { return } _this.selectItem($item[0]) }, pageUp: _common.noop, pageDown: _common.noop }) }; _proto._isSelectionEnabled = function() { return "single" === this.option("selectionMode") }; _proto._init = function() { this._activeStateUnit = ".".concat(ITEM_CLASS); _HierarchicalCollecti.prototype._init.call(this); this._renderSelectedItem(); this._initActions() }; _proto._getLinkContainer = function(iconContainer, textContainer, _ref) { var linkAttr = _ref.linkAttr, url = _ref.url; null === iconContainer || void 0 === iconContainer ? void 0 : iconContainer.addClass("dx-icon-with-url"); null === textContainer || void 0 === textContainer ? void 0 : textContainer.addClass(DX_MENU_ITEM_CAPTION_URL_CLASS); var linkAttributes = (0, _type.isObject)(linkAttr) ? linkAttr : {}; return (0, _renderer.default)("<a>").addClass("dx-item-url").attr(_extends({}, linkAttributes, { href: url })).append(iconContainer).append(textContainer) }; _proto._addContent = function($container, itemData) { var html = itemData.html, url = itemData.url; var iconContainer = this._getIconContainer(itemData); var textContainer = this._getTextContainer(itemData); $container.html(html); if (url) { var link = this._getLinkContainer(iconContainer, textContainer, itemData); $container.append(link) } else { $container.append(iconContainer).append(textContainer) } $container.append(this._getPopoutContainer(itemData)); this._addContentClasses(itemData, $container.parent()) }; _proto._getTextContainer = function(itemData) { var text = itemData.text; var $itemContainer = (0, _renderer.default)("<span>").addClass("dx-menu-item-text"); var itemText = (0, _type.isPlainObject)(itemData) ? text : String(itemData); return text && $itemContainer.text(itemText) }; _proto._getItemExtraPropNames = function() { return ["url", "linkAttr"] }; _proto._getPopoutContainer = function(itemData) { var items = itemData.items; var $popOutContainer; if (items && items.length) { var $popOutImage = (0, _renderer.default)("<div>").addClass("dx-menu-item-popout"); $popOutContainer = (0, _renderer.default)("<span>").addClass("dx-menu-item-popout-container").append($popOutImage) } return $popOutContainer }; _proto._getDataAdapterOptions = function() { return { rootValue: 0, multipleSelection: false, recursiveSelection: false, recursiveExpansion: false, searchValue: "" } }; _proto._selectByItem = function(selectedItem) { if (!selectedItem) { return } var nodeToSelect = this._dataAdapter.getNodeByItem(selectedItem); this._dataAdapter.toggleSelection(nodeToSelect.internalFields.key, true) }; _proto._renderSelectedItem = function() { var selectedKeys = this._dataAdapter.getSelectedNodesKeys(); var selectedKey = selectedKeys.length && selectedKeys[0]; var selectedItem = this.option("selectedItem"); if (!selectedKey) { this._selectByItem(selectedItem); return } var node = this._dataAdapter.getNodeByKey(selectedKey); if (false === node.selectable) { return } if (!selectedItem) { this.option("selectedItem", node.internalFields.item); return } if (selectedItem !== node.internalFields.item) { this._dataAdapter.toggleSelection(selectedKey, false); this._selectByItem(selectedItem) } }; _proto._initActions = function() {}; _proto._initMarkup = function() { _HierarchicalCollecti.prototype._initMarkup.call(this); this.option("useInkRipple") && this._renderInkRipple() }; _proto._renderInkRipple = function() { this._inkRipple = (0, _utils.render)() }; _proto._toggleActiveState = function($element, value, e) { _HierarchicalCollecti.prototype._toggleActiveState.apply(this, arguments); if (!this._inkRipple) { return } var config = { element: $element, event: e }; if (value) { this._inkRipple.showWave(config) } else { this._inkRipple.hideWave(config) } }; _proto._getShowSubmenuMode = function() { var optionValue = this.option("showSubmenuMode"); optionValue = (0, _type.isObject)(optionValue) ? optionValue.name : optionValue; return this._isDesktopDevice() ? optionValue : "onClick" }; _proto._initSelectedItems = function() {}; _proto._isDesktopDevice = function() { return "desktop" === _devices.default.real().deviceType }; _proto._initEditStrategy = function() { var Strategy = _uiMenu_baseEdit.default; this._editStrategy = new Strategy(this) }; _proto._addCustomCssClass = function($element) { $element.addClass(this.option("cssClass")) }; _proto._itemWrapperSelector = function() { return ".".concat("dx-menu-item-wrapper") }; _proto._hoverStartHandler = function(e) { var $itemElement = this._getItemElementByEventArgs(e); if (!$itemElement || this._isItemDisabled($itemElement)) { return } e.stopPropagation(); if ("onHover" === this._getShowSubmenuMode()) { clearTimeout(this._showSubmenusTimeout); this._showSubmenusTimeout = setTimeout(this._showSubmenu.bind(this, $itemElement), this._getSubmenuDelay("show")) } }; _proto._getAvailableItems = function($itemElements) { return _HierarchicalCollecti.prototype._getAvailableItems.call(this, $itemElements).filter((function() { return "hidden" !== (0, _renderer.default)(this).css("visibility") })) }; _proto._isItemDisabled = function($item) { return this._disabledGetter($item.data(this._itemDataKey())) }; _proto._showSubmenu = function($itemElement) { this._addExpandedClass($itemElement) }; _proto._addExpandedClass = function(itemElement) { (0, _renderer.default)(itemElement).addClass("dx-menu-item-expanded") }; _proto._getSubmenuDelay = function(action) { var _this$option = this.option("showSubmenuMode"), delay = _this$option.delay; if (!(0, _type.isDefined)(delay)) { return DEFAULT_DELAY[action] } return (0, _type.isObject)(delay) ? delay[action] : delay }; _proto._getItemElementByEventArgs = function(eventArgs) { var $target = (0, _renderer.default)(eventArgs.target); if ($target.hasClass(this._itemClass()) || $target.get(0) === eventArgs.currentTarget) { return $target } while (!$target.hasClass(this._itemClass())) { $target = $target.parent(); if ($target.hasClass("dx-submenu")) { return null } } return $target }; _proto._hoverEndHandler = function() { clearTimeout(this._showSubmenusTimeout) }; _proto._hasSubmenu = function(node) { return node && node.internalFields.childrenKeys.length }; _proto._renderContentImpl = function() { this._renderItems(this._dataAdapter.getRootNodes()) }; _proto._renderItems = function(nodes, submenuContainer) { var _this2 = this; if (nodes.length) { this.hasIcons = false; var $nodeContainer = this._renderContainer(this.$element(), submenuContainer); var firstVisibleIndex = -1; var nextGroupFirstIndex = -1; (0, _iterator.each)(nodes, (function(index, node) { var isVisibleNode = false !== node.visible; if (isVisibleNode && firstVisibleIndex < 0) { firstVisibleIndex = index } var isBeginGroup = firstVisibleIndex < index && (node.beginGroup || index === nextGroupFirstIndex); if (isBeginGroup) { nextGroupFirstIndex = isVisibleNode ? index : index + 1 } if (index === nextGroupFirstIndex && firstVisibleIndex < index) { _this2._renderSeparator($nodeContainer) } _this2._renderItem(index, node, $nodeContainer) })); if (!this.hasIcons) { $nodeContainer.addClass("dx-menu-no-icons") } } }; _proto._renderContainer = function($wrapper) { var $container = (0, _renderer.default)("<ul>"); this.setAria("role", "none", $container); return $container.appendTo($wrapper).addClass("dx-menu-items-container") }; _proto._createDOMElement = function($nodeContainer) { var $node = (0, _renderer.default)("<li>"); this.setAria("role", "none", $node); return $node.appendTo($nodeContainer).addClass("dx-menu-item-wrapper") }; _proto._renderItem = function(index, node, $nodeContainer, $nodeElement) { var items = this.option("items"); var $node = $nodeElement || this._createDOMElement($nodeContainer); if (items[index + 1] && items[index + 1].beginGroup) { $node.addClass("dx-menu-last-group-item") } var $itemFrame = _HierarchicalCollecti.prototype._renderItem.call(this, index, node.internalFields.item, $node); if (node.internalFields.item === this.option("selectedItem")) { $itemFrame.addClass("dx-menu-item-selected") } $itemFrame.attr("tabIndex", -1); if (this._hasSubmenu(node)) { this.setAria("haspopup", "true", $itemFrame) } }; _proto._renderItemFrame = function(index, itemData, $itemContainer) { var $itemFrame = $itemContainer.children(".".concat(ITEM_CLASS)); return $itemFrame.length ? $itemFrame : _HierarchicalCollecti.prototype._renderItemFrame.apply(this, arguments) }; _proto._refreshItem = function($item, item) { var node = this._dataAdapter.getNodeByItem(item); var index = $item.data(this._itemIndexKey()); var $nodeContainer = $item.closest("ul"); var $nodeElement = $item.closest("li"); this._renderItem(index, node, $nodeContainer, $nodeElement) }; _proto._addContentClasses = function(itemData, $itemFrame) { var hasText = itemData.text ? !!itemData.text.length : false; var hasIcon = !!itemData.icon; var hasSubmenu = itemData.items ? !!itemData.items.length : false; $itemFrame.toggleClass("dx-menu-item-has-text", hasText); $itemFrame.toggleClass("dx-menu-item-has-icon", hasIcon); if (!this.hasIcons) { this.hasIcons = hasIcon } $itemFrame.toggleClass("dx-menu-item-has-submenu", hasSubmenu) }; _proto._getItemContent = function($itemFrame) { var $itemContent = _HierarchicalCollecti.prototype._getItemContent.call(this, $itemFrame); if (!$itemContent.length) { $itemContent = $itemFrame.children(".".concat("dx-menu-item-content")) } return $itemContent }; _proto._postprocessRenderItem = function(args) { var $itemElement = (0, _renderer.default)(args.itemElement); var selectedIndex = this._dataAdapter.getSelectedNodesKeys(); if (!selectedIndex.length || !this._selectedGetter(args.itemData) || !this._isItemSelectable(args.itemData)) { this._setAriaSelectionAttribute($itemElement, "false"); return } var node = this._dataAdapter.getNodeByItem(args.itemData); if (node.internalFields.key === selectedIndex[0]) { $itemElement.addClass(this._selectedItemClass()); this._setAriaSelectionAttribute($itemElement, "true") } else { this._setAriaSelectionAttribute($itemElement, "false") } }; _proto._isItemSelectable = function(item) { return false !== item.selectable }; _proto._renderSeparator = function($itemsContainer) { (0, _renderer.default)("<li>").appendTo($itemsContainer).addClass("dx-menu-separator") }; _proto._itemClickHandler = function(e) { if (e._skipHandling) { return } var itemClickActionHandler = this._createAction(this._updateSubmenuVisibilityOnClick.bind(this)); this._itemDXEventHandler(e, "onItemClick", {}, { beforeExecute: this._itemClick, afterExecute: itemClickActionHandler.bind(this) }); e._skipHandling = true }; _proto._itemClick = function(actionArgs) { var args = actionArgs.args[0]; var link = args.event.target.getElementsByClassName("dx-item-url")[0]; if (args.itemData.url && link) { link.click() } }; _proto._updateSubmenuVisibilityOnClick = function(actionArgs) { this._updateSelectedItemOnClick(actionArgs); if ("onClick" === this._getShowSubmenuMode()) { this._addExpandedClass(actionArgs.args[0].itemElement) } }; _proto._updateSelectedItemOnClick = function(actionArgs) { var args = actionArgs.args ? actionArgs.args[0] : actionArgs; if (!this._isItemSelectAllowed(args.itemData)) { return } var selectedItemKey = this._dataAdapter.getSelectedNodesKeys(); var selectedNode = selectedItemKey.length && this._dataAdapter.getNodeByKey(selectedItemKey[0]); if (selectedNode) { this._toggleItemSelection(selectedNode, false) } if (!selectedNode || selectedNode.internalFields.item !== args.itemData) { this.selectItem(args.itemData) } else { this._fireSelectionChangeEvent(null, this.option("selectedItem")); this._setOptionWithoutOptionChange("selectedItem", null) } }; _proto._isItemSelectAllowed = function(item) { var isSelectByClickEnabled = this._isSelectionEnabled() && this.option("selectByClick"); return !this._isContainerEmpty() && isSelectByClickEnabled && this._isItemSelectable(item) && !this._itemsGetter(item) }; _proto._isContainerEmpty = function() { return this._itemContainer().is(":empty") }; _proto._syncSelectionOptions = function() { return (0, _common.asyncNoop)() }; _proto._optionChanged = function(args) { switch (args.name) { case "showSubmenuMode": break; case "selectedItem": var node = this._dataAdapter.getNodeByItem(args.value); var selectedKey = this._dataAdapter.getSelectedNodesKeys()[0]; if (node && node.internalFields.key !== selectedKey) { if (false === node.selectable) { break } if (selectedKey) { this._toggleItemSelection(this._dataAdapter.getNodeByKey(selectedKey), false) } this._toggleItemSelection(node, true); this._updateSelectedItems() } break; case "cssClass": case "position": case "selectByClick": case "animation": case "useInkRipple": this._invalidate(); break; default: _HierarchicalCollecti.prototype._optionChanged.call(this, args) } }; _proto._toggleItemSelection = function(node, value) { var itemElement = this._getElementByItem(node.internalFields.item); itemElement && (0, _renderer.default)(itemElement).toggleClass("dx-menu-item-selected"); this._dataAdapter.toggleSelection(node.internalFields.key, value) }; _proto._getElementByItem = function(itemData) { var _this3 = this; var result; (0, _iterator.each)(this._itemElements(), (function(_, itemElement) { if ((0, _renderer.default)(itemElement).data(_this3._itemDataKey()) !== itemData) { return true } result = itemElement; return false })); return result }; _proto._updateSelectedItems = function(oldSelection, newSelection) { if (oldSelection || newSelection) { this._fireSelectionChangeEvent(newSelection, oldSelection) } }; _proto._fireSelectionChangeEvent = function(addedSelection, removedSelection) { this._createActionByOption("onSelectionChanged", { excludeValidators: ["disabled", "readOnly"] })({ addedItems: [addedSelection], removedItems: [removedSelection] }) }; _proto.selectItem = function(itemElement) { var itemData = itemElement.nodeType ? this._getItemData(itemElement) : itemElement; var selectedKey = this._dataAdapter.getSelectedNodesKeys()[0]; var selectedItem = this.option("selectedItem"); var node = this._dataAdapter.getNodeByItem(itemData); if (node.internalFields.key !== selectedKey) { if (selectedKey) { this._toggleItemSelection(this._dataAdapter.getNodeByKey(selectedKey), false) } this._toggleItemSelection(node, true); this._updateSelectedItems(selectedItem, itemData); this._setOptionWithoutOptionChange("selectedItem", itemData) } }; _proto.unselectItem = function(itemElement) { var itemData = itemElement.nodeType ? this._getItemData(itemElement) : itemElement; var node = this._dataAdapter.getNodeByItem(itemData); var selectedItem = this.option("selectedItem"); if (node.internalFields.selected) { this._toggleItemSelection(node, false); this._updateSelectedItems(selectedItem, null); this._setOptionWithoutOptionChange("selectedItem", null) } }; return MenuBase }(_ui.default); MenuBase.ItemClass = _item.default; var _default = MenuBase; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 1186: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/data_grid.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _m_widget = (obj = __webpack_require__( /*! ../__internal/grids/data_grid/m_widget */ 10590), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _m_widget.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 88221: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/data_grid/ui.data_grid.js ***! \**************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _m_widget = (obj = __webpack_require__( /*! ../../__internal/grids/data_grid/m_widget */ 10590), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _m_widget.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 29589: /*!************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_box.js ***! \************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./date_box/ui.date_box */ 92478), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 69248: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_box/ui.date_box.base.js ***! \*****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _dom = __webpack_require__( /*! ../../core/utils/dom */ 3532); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _support = __webpack_require__( /*! ../../core/utils/support */ 60137); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _config = _interopRequireDefault(__webpack_require__( /*! ../../core/config */ 80209)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./ui.date_utils */ 72309)); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date_serialization */ 69434)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../drop_down_editor/ui.drop_down_editor */ 44687)); var _date2 = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _uiDate_boxStrategy = _interopRequireDefault(__webpack_require__( /*! ./ui.date_box.strategy.calendar */ 46919)); var _uiDate_boxStrategy2 = _interopRequireDefault(__webpack_require__( /*! ./ui.date_box.strategy.date_view */ 67814)); var _uiDate_boxStrategy3 = _interopRequireDefault(__webpack_require__( /*! ./ui.date_box.strategy.native */ 84416)); var _uiDate_boxStrategy4 = _interopRequireDefault(__webpack_require__( /*! ./ui.date_box.strategy.calendar_with_time */ 97e3)); var _uiDate_boxStrategy5 = _interopRequireDefault(__webpack_require__( /*! ./ui.date_box.strategy.list */ 57728)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var PICKER_TYPE = { calendar: "calendar", rollers: "rollers", list: "list", native: "native" }; var TYPE = { date: "date", datetime: "datetime", time: "time" }; var STRATEGY_NAME_calendar = "Calendar", STRATEGY_NAME_dateView = "DateView", STRATEGY_NAME_native = "Native", STRATEGY_NAME_calendarWithTime = "CalendarWithTime", STRATEGY_NAME_list = "List"; var STRATEGY_CLASSES = { Calendar: _uiDate_boxStrategy.default, DateView: _uiDate_boxStrategy2.default, Native: _uiDate_boxStrategy3.default, CalendarWithTime: _uiDate_boxStrategy4.default, List: _uiDate_boxStrategy5.default }; var DateBox = _ui2.default.inherit({ _supportedKeys: function() { return (0, _extend.extend)(this.callBase(), this._strategy.supportedKeys()) }, _renderButtonContainers: function() { this.callBase.apply(this, arguments); this._strategy.customizeButtons() }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { type: "date", showAnalogClock: true, value: null, dateSerializationFormat: void 0, min: void 0, max: void 0, displayFormat: null, interval: 30, disabledDates: null, pickerType: PICKER_TYPE.calendar, invalidDateMessage: _message.default.format("dxDateBox-validation-datetime"), dateOutOfRangeMessage: _message.default.format("validation-range"), applyButtonText: _message.default.format("OK"), adaptivityEnabled: false, calendarOptions: {}, useHiddenSubmitElement: true, _showValidationIcon: true }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: { platform: "ios" }, options: { "dropDownOptions.showTitle": true } }, { device: { platform: "android" }, options: { buttonsLocation: "bottom after" } }, { device: function() { var realDevice = _devices.default.real(); var platform = realDevice.platform; return "ios" === platform || "android" === platform }, options: { pickerType: PICKER_TYPE.native } }, { device: { platform: "generic", deviceType: "desktop" }, options: { buttonsLocation: "bottom after" } }]) }, _initOptions: function(options) { this._userOptions = (0, _extend.extend)({}, options); this.callBase(options); this._updatePickerOptions() }, _updatePickerOptions: function() { var pickerType = this.option("pickerType"); var type = this.option("type"); if (pickerType === PICKER_TYPE.list && (type === TYPE.datetime || type === TYPE.date)) { pickerType = PICKER_TYPE.calendar } if (type === TYPE.time && pickerType === PICKER_TYPE.calendar) { pickerType = PICKER_TYPE.list } this.option("showDropDownButton", "generic" !== _devices.default.real().platform || pickerType !== PICKER_TYPE.native); this._pickerType = pickerType }, _init: function() { this._initStrategy(); this.option((0, _extend.extend)({}, this._strategy.getDefaultOptions(), this._userOptions)); delete this._userOptions; this.callBase() }, _toLowerCaseFirstLetter: function(string) { return string.charAt(0).toLowerCase() + string.substr(1) }, _initStrategy: function() { var strategyName = this._getStrategyName(this._getFormatType()); var strategy = STRATEGY_CLASSES[strategyName]; if (!(this._strategy && this._strategy.NAME === strategyName)) { this._strategy = new strategy(this) } }, _getFormatType: function() { var currentType = this.option("type"); var isTime = /h|m|s/g.test(currentType); var isDate = /d|M|Y/g.test(currentType); var type = ""; if (isDate) { type += TYPE.date } if (isTime) { type += TYPE.time } return type }, _getStrategyName: function(type) { var pickerType = this._pickerType; if (pickerType === PICKER_TYPE.rollers) { return STRATEGY_NAME_dateView } else if (pickerType === PICKER_TYPE.native) { return STRATEGY_NAME_native } if (type === TYPE.date) { return STRATEGY_NAME_calendar } if (type === TYPE.datetime) { return STRATEGY_NAME_calendarWithTime } return STRATEGY_NAME_list }, _initMarkup: function() { this.$element().addClass("dx-datebox"); this.callBase(); this._refreshFormatClass(); this._refreshPickerTypeClass(); this._strategy.renderInputMinMax(this._input()) }, _render: function() { this.callBase(); this._formatValidationIcon() }, _renderDimensions: function() { this.callBase(); this.$element().toggleClass("dx-auto-width", !this.option("width")); this._updatePopupWidth(); this._updatePopupHeight() }, _dimensionChanged: function() { this.callBase(); this._updatePopupHeight() }, _updatePopupHeight: function() { if (this._popup) { var _this$_strategy$_upda, _this$_strategy; null === (_this$_strategy$_upda = (_this$_strategy = this._strategy)._updatePopupHeight) || void 0 === _this$_strategy$_upda ? void 0 : _this$_strategy$_upda.call(_this$_strategy) } }, _refreshFormatClass: function() { var $element = this.$element(); (0, _iterator.each)(TYPE, (function(_, item) { $element.removeClass("dx-datebox-" + item) })); $element.addClass("dx-datebox-" + this.option("type")) }, _refreshPickerTypeClass: function() { var $element = this.$element(); (0, _iterator.each)(PICKER_TYPE, (function(_, item) { $element.removeClass("dx-datebox-" + item) })); $element.addClass("dx-datebox-" + this._pickerType) }, _formatValidationIcon: function() { if (!(0, _window.hasWindow)()) { return } var inputElement = this._input().get(0); var isRtlEnabled = this.option("rtlEnabled"); var clearButtonWidth = this._getClearButtonWidth(); var longestElementDimensions = this._getLongestElementDimensions(); var curWidth = parseFloat(window.getComputedStyle(inputElement).width) - clearButtonWidth; var shouldHideValidationIcon = longestElementDimensions.width > curWidth; var style = inputElement.style; this.$element().toggleClass("dx-show-invalid-badge", !shouldHideValidationIcon && this.option("_showValidationIcon")); if (shouldHideValidationIcon) { if (void 0 === this._storedPadding) { this._storedPadding = isRtlEnabled ? longestElementDimensions.leftPadding : longestElementDimensions.rightPadding } isRtlEnabled ? style.paddingLeft = 0 : style.paddingRight = 0 } else { isRtlEnabled ? style.paddingLeft = this._storedPadding + "px" : style.paddingRight = this._storedPadding + "px" } }, _getClearButtonWidth: function() { var clearButtonWidth = 0; if (this._isClearButtonVisible() && "" === this._input().val()) { var clearButtonElement = this.$element().find(".dx-clear-button-area").get(0); clearButtonWidth = parseFloat(window.getComputedStyle(clearButtonElement).width) } return clearButtonWidth }, _getLongestElementDimensions: function() { var format = this._strategy.getDisplayFormat(this.option("displayFormat")); var longestValue = _date2.default.format(_ui.default.getLongestDate(format, _date2.default.getMonthNames(), _date2.default.getDayNames()), format); var $input = this._input(); var inputElement = $input.get(0); var $longestValueElement = (0, _dom.createTextElementHiddenCopy)($input, longestValue); var isPaddingStored = void 0 !== this._storedPadding; var storedPadding = !isPaddingStored ? 0 : this._storedPadding; $longestValueElement.appendTo(this.$element()); var elementWidth = parseFloat(window.getComputedStyle($longestValueElement.get(0)).width); var rightPadding = parseFloat(window.getComputedStyle(inputElement).paddingRight); var leftPadding = parseFloat(window.getComputedStyle(inputElement).paddingLeft); var necessaryWidth = elementWidth + leftPadding + rightPadding + storedPadding; $longestValueElement.remove(); return { width: necessaryWidth, leftPadding: leftPadding, rightPadding: rightPadding } }, _getKeyboardListeners: function() { return this.callBase().concat([this._strategy && this._strategy.getKeyboardListener()]) }, _renderPopup: function() { this.callBase(); this._popup.$wrapper().addClass("dx-datebox-wrapper"); this._renderPopupWrapper() }, _getPopupToolbarItems: function() { var _this$_strategy$_getP, _this$_strategy$_getP2, _this$_strategy2; var defaultItems = this.callBase(); return null !== (_this$_strategy$_getP = null === (_this$_strategy$_getP2 = (_this$_strategy2 = this._strategy)._getPopupToolbarItems) || void 0 === _this$_strategy$_getP2 ? void 0 : _this$_strategy$_getP2.call(_this$_strategy2, defaultItems)) && void 0 !== _this$_strategy$_getP ? _this$_strategy$_getP : defaultItems }, _popupConfig: function() { var popupConfig = this.callBase(); return (0, _extend.extend)(this._strategy.popupConfig(popupConfig), { title: this._getPopupTitle(), dragEnabled: false }) }, _renderPopupWrapper: function() { if (!this._popup) { return } var $element = this.$element(); var classPostfixes = (0, _extend.extend)({}, TYPE, PICKER_TYPE); (0, _iterator.each)(classPostfixes, function(_, item) { $element.removeClass("dx-datebox-wrapper-" + item) }.bind(this)); this._popup.$wrapper().addClass("dx-datebox-wrapper-" + this.option("type")).addClass("dx-datebox-wrapper-" + this._pickerType).addClass("dx-dropdowneditor-overlay") }, _renderPopupContent: function() { this.callBase(); this._strategy.renderPopupContent() }, _getFirstPopupElement: function() { return this._strategy.getFirstPopupElement() || this.callBase() }, _getLastPopupElement: function() { return this._strategy.getLastPopupElement() || this.callBase() }, _popupShowingHandler: function() { this.callBase(); this._strategy.popupShowingHandler() }, _popupShownHandler: function() { this.callBase(); this._strategy.renderOpenedState() }, _popupHiddenHandler: function() { this.callBase(); this._strategy.renderOpenedState(); this._strategy.popupHiddenHandler() }, _visibilityChanged: function(visible) { if (visible) { this._formatValidationIcon() } }, _clearValueHandler: function(e) { this.option("text", ""); this.callBase(e) }, _readOnlyPropValue: function() { if (this._pickerType === PICKER_TYPE.rollers) { return true } var platform = _devices.default.real().platform; var isCustomValueDisabled = this._isNativeType() && ("ios" === platform || "android" === platform); if (isCustomValueDisabled) { return this.option("readOnly") } return this.callBase() }, _isClearButtonVisible: function() { return this.callBase() && !this._isNativeType() }, _renderValue: function() { var value = this.dateOption("value"); this.option("text", this._getDisplayedText(value)); this._strategy.renderValue(); return this.callBase() }, _setSubmitValue: function() { var value = this.dateOption("value"); var dateSerializationFormat = this.option("dateSerializationFormat"); var submitFormat = _ui.default.SUBMIT_FORMATS_MAP[this.option("type")]; var submitValue = dateSerializationFormat ? _date_serialization.default.serializeDate(value, dateSerializationFormat) : _ui.default.toStandardDateFormat(value, submitFormat); this._getSubmitElement().val(submitValue) }, _getDisplayedText: function(value) { var mode = this.option("mode"); var displayedText; if ("text" === mode) { var displayFormat = this._strategy.getDisplayFormat(this.option("displayFormat")); displayedText = _date2.default.format(value, displayFormat) } else { var format = this._getFormatByMode(mode); if (format) { displayedText = _date2.default.format(value, format) } else { displayedText = _ui.default.toStandardDateFormat(value, mode) } } return displayedText }, _getFormatByMode: function(mode) { return (0, _support.inputType)(mode) ? null : _ui.default.FORMATS_MAP[mode] }, _valueChangeEventHandler: function(e) { var _this$option = this.option(), text = _this$option.text, type = _this$option.type, validationError = _this$option.validationError; var currentValue = this.dateOption("value"); if (text === this._getDisplayedText(currentValue)) { this._recallInternalValidation(currentValue, validationError); return } var parsedDate = this._getParsedDate(text); var value = null !== currentValue && void 0 !== currentValue ? currentValue : this._getDateByDefault(); var newValue = _ui.default.mergeDates(value, parsedDate, type); var date = parsedDate && "time" === type ? newValue : parsedDate; if (this._applyInternalValidation(date).isValid) { var displayedText = this._getDisplayedText(newValue); if (value && newValue && value.getTime() === newValue.getTime() && displayedText !== text) { this._renderValue() } else { this.dateValue(newValue, e) } } }, _recallInternalValidation: function(value, validationError) { if (!validationError || validationError.editorSpecific) { this._applyInternalValidation(value); this._applyCustomValidation(value) } }, _getDateByDefault: function() { return this._strategy.useCurrentDateByDefault() && this._strategy.getDefaultDate() }, _getParsedDate: function(text) { var displayFormat = this._strategy.getDisplayFormat(this.option("displayFormat")); var parsedText = this._strategy.getParsedText(text, displayFormat); return null !== parsedText && void 0 !== parsedText ? parsedText : void 0 }, _applyInternalValidation: function(value) { var text = this.option("text"); var hasText = !!text && null !== value; var isDate = !!value && (0, _type.isDate)(value) && !isNaN(value.getTime()); var isDateInRange = isDate && _date.default.dateInRange(value, this.dateOption("min"), this.dateOption("max"), this.option("type")); var isValid = !hasText && !value || isDateInRange; var validationMessage = ""; if (!isDate) { validationMessage = this.option("invalidDateMessage") } else if (!isDateInRange) { validationMessage = this.option("dateOutOfRangeMessage") } this._updateInternalValidationState(isValid, validationMessage); return { isValid: isValid, isDate: isDate } }, _updateInternalValidationState: function(isValid, validationMessage) { this.option({ isValid: isValid, validationError: isValid ? null : { editorSpecific: true, message: validationMessage } }) }, _applyCustomValidation: function(value) { this.validationRequest.fire({ editor: this, value: this._serializeDate(value) }) }, _isValueChanged: function(newValue) { var oldValue = this.dateOption("value"); var oldTime = oldValue && oldValue.getTime(); var newTime = newValue && newValue.getTime(); return oldTime !== newTime }, _isTextChanged: function(newValue) { var oldText = this.option("text"); var newText = newValue && this._getDisplayedText(newValue) || ""; return oldText !== newText }, _renderProps: function() { this.callBase(); this._input().attr("autocomplete", "off") }, _renderOpenedState: function() { if (!this._isNativeType()) { this.callBase() } if (this._strategy.isAdaptivityChanged()) { this._refreshStrategy() } }, _getPopupTitle: function() { var placeholder = this.option("placeholder"); if (placeholder) { return placeholder } var type = this.option("type"); if (type === TYPE.time) { return _message.default.format("dxDateBox-simulatedDataPickerTitleTime") } if (type === TYPE.date || type === TYPE.datetime) { return _message.default.format("dxDateBox-simulatedDataPickerTitleDate") } return "" }, _refreshStrategy: function() { this._strategy.dispose(); this._initStrategy(); this.option(this._strategy.getDefaultOptions()); this._refresh() }, _applyButtonHandler: function(e) { var value = this._strategy.getValue(); this.dateValue(value, e.event); this.callBase() }, _dispose: function() { var _this$_strategy3; this.callBase(); null === (_this$_strategy3 = this._strategy) || void 0 === _this$_strategy3 ? void 0 : _this$_strategy3.dispose() }, _isNativeType: function() { return this._pickerType === PICKER_TYPE.native }, _updatePopupTitle: function() { var _this$_popup; null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.option("title", this._getPopupTitle()) }, _optionChanged: function(args) { switch (args.name) { case "showClearButton": case "buttons": this.callBase.apply(this, arguments); this._formatValidationIcon(); break; case "pickerType": this._updatePickerOptions({ pickerType: args.value }); this._refreshStrategy(); this._refreshPickerTypeClass(); this._invalidate(); break; case "type": this._updatePickerOptions({ format: args.value }); this._refreshStrategy(); this._refreshFormatClass(); this._renderPopupWrapper(); this._formatValidationIcon(); this._updateValue(); break; case "placeholder": this.callBase.apply(this, arguments); this._updatePopupTitle(); break; case "min": case "max": var isValid = this.option("isValid"); this._applyInternalValidation(this.dateOption("value")); if (!isValid) { this._applyCustomValidation(this.dateOption("value")) } this._invalidate(); break; case "dateSerializationFormat": case "interval": case "disabledDates": case "calendarOptions": this._invalidate(); break; case "displayFormat": this.option("text", this._getDisplayedText(this.dateOption("value"))); this._renderInputValue(); break; case "text": this._strategy.textChangedHandler(args.value); this.callBase.apply(this, arguments); break; case "isValid": this.callBase.apply(this, arguments); this._formatValidationIcon(); break; case "showDropDownButton": this._formatValidationIcon(); this.callBase.apply(this, arguments); break; case "readOnly": this.callBase.apply(this, arguments); this._formatValidationIcon(); break; case "todayButtonText": this._setPopupOption("toolbarItems", this._getPopupToolbarItems()); break; case "invalidDateMessage": case "dateOutOfRangeMessage": case "adaptivityEnabled": case "showAnalogClock": case "_showValidationIcon": break; default: this.callBase.apply(this, arguments) } }, _getSerializationFormat: function() { var value = this.option("value"); if (this.option("dateSerializationFormat") && (0, _config.default)().forceIsoDateParsing) { return this.option("dateSerializationFormat") } if ((0, _type.isNumeric)(value)) { return "number" } if (!(0, _type.isString)(value)) { return } return _date_serialization.default.getDateSerializationFormat(value) }, _updateValue: function(value) { this.callBase(); this._applyInternalValidation(null !== value && void 0 !== value ? value : this.dateOption("value")) }, dateValue: function(value, dxEvent) { var isValueChanged = this._isValueChanged(value); if (isValueChanged && dxEvent) { this._saveValueChangeEvent(dxEvent) } if (!isValueChanged) { if (this._isTextChanged(value)) { this._updateValue(value) } else if ("" === this.option("text")) { this._applyCustomValidation(value) } } return this.dateOption("value", value) }, dateOption: function(optionName, value) { if (1 === arguments.length) { return _date_serialization.default.deserializeDate(this.option(optionName)) } this.option(optionName, this._serializeDate(value)) }, _serializeDate: function(date) { var serializationFormat = this._getSerializationFormat(); return _date_serialization.default.serializeDate(date, serializationFormat) }, _clearValue: function() { var value = this.option("value"); this.callBase(); if (null === value) { this._applyCustomValidation(null) } }, reset: function() { var value = this.option("value"); this.callBase(); if (null === value) { this._applyInternalValidation(null) } } }); var _default = DateBox; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 92478: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_box/ui.date_box.js ***! \************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _uiDate_box = _interopRequireDefault(__webpack_require__( /*! ./ui.date_box.mask */ 28105)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } }(0, _component_registrator.default)("dxDateBox", _uiDate_box.default); var _default = _uiDate_box.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 28105: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_box/ui.date_box.mask.js ***! \*****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _dom = __webpack_require__( /*! ../../core/utils/dom */ 3532); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _uiDate_boxMask = __webpack_require__( /*! ./ui.date_box.mask.parts */ 28298); var _date = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); var _date2 = __webpack_require__( /*! ../../localization/ldml/date.parser */ 2892); var _date3 = __webpack_require__( /*! ../../localization/ldml/date.format */ 59937); var _uiDate_box = _interopRequireDefault(__webpack_require__( /*! ./ui.date_box.base */ 69248)); var _number = _interopRequireDefault(__webpack_require__( /*! ../../localization/number */ 18016)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/browser */ 47810)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var DateBoxMask = _uiDate_box.default.inherit({ _supportedKeys: function(e) { var _this = this; var originalHandlers = this.callBase(e); var callOriginalHandler = function(e) { var originalHandler = originalHandlers[(0, _index.normalizeKeyName)(e)]; return originalHandler && originalHandler.apply(_this, [e]) }; var applyHandler = function(e, maskHandler) { if (_this._shouldUseOriginalHandler(e)) { return callOriginalHandler.apply(_this, [e]) } else { return maskHandler.apply(_this, [e]) } }; return (0, _extend.extend)({}, originalHandlers, { del: function(e) { return applyHandler(e, (function(event) { _this._revertPart(1); _this._isAllSelected() || event.preventDefault() })) }, backspace: function(e) { return applyHandler(e, (function(event) { _this._revertPart(-1); _this._isAllSelected() || event.preventDefault() })) }, home: function(e) { return applyHandler(e, (function(event) { _this._selectFirstPart(); event.preventDefault() })) }, end: function(e) { return applyHandler(e, (function(event) { _this._selectLastPart(); event.preventDefault() })) }, escape: function(e) { return applyHandler(e, (function(event) { _this._revertChanges(event) })) }, enter: function(e) { return applyHandler(e, (function() { _this._enterHandler() })) }, leftArrow: function(e) { return applyHandler(e, (function(event) { _this._selectNextPart(-1); event.preventDefault() })) }, rightArrow: function(e) { return applyHandler(e, (function(event) { _this._selectNextPart(1); event.preventDefault() })) }, upArrow: function(e) { return applyHandler(e, (function(event) { _this._upDownArrowHandler(1); event.preventDefault() })) }, downArrow: function(e) { return applyHandler(e, (function(event) { _this._upDownArrowHandler(-1); event.preventDefault() })) } }) }, _shouldUseOriginalHandler: function(e) { var isNotDeletingInCalendar = this.option("opened") && e && -1 === ["backspace", "del"].indexOf((0, _index.normalizeKeyName)(e)); return !this._useMaskBehavior() || isNotDeletingInCalendar || e && e.altKey }, _upDownArrowHandler: function(step) { this._setNewDateIfEmpty(); var originalValue = this._getActivePartValue(this._initialMaskValue); var currentValue = this._getActivePartValue(); var delta = currentValue - originalValue; this._loadMaskValue(this._initialMaskValue); this._partIncrease(delta + step, true) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { useMaskBehavior: false, emptyDateValue: new Date(2e3, 0, 1, 0, 0, 0) }) }, _isSingleCharKey: function(_ref) { var originalEvent = _ref.originalEvent, alt = _ref.alt; var key = originalEvent.data || originalEvent.key; return "string" === typeof key && 1 === key.length && !alt && !(0, _index.isCommandKeyPressed)(originalEvent) }, _isSingleDigitKey: function(e) { var _e$originalEvent; var data = null === (_e$originalEvent = e.originalEvent) || void 0 === _e$originalEvent ? void 0 : _e$originalEvent.data; return 1 === (null === data || void 0 === data ? void 0 : data.length) && parseInt(data, 10) }, _useBeforeInputEvent: function() { return _devices.default.real().android }, _keyInputHandler: function(e, key) { var oldInputValue = this._input().val(); this._processInputKey(key); e.preventDefault(); var isValueChanged = oldInputValue !== this._input().val(); isValueChanged && _events_engine.default.trigger(this._input(), "input") }, _keyboardHandler: function(e) { var _this2 = this; var key = e.originalEvent.key; var result = this.callBase(e); if (!this._useMaskBehavior() || this._useBeforeInputEvent()) { return result } if (_browser.default.chrome && "Process" === e.key && 0 === e.code.indexOf("Digit")) { key = e.code.replace("Digit", ""); this._processInputKey(key); this._maskInputHandler = function() { _this2._renderSelectedPart() } } else if (this._isSingleCharKey(e)) { this._keyInputHandler(e.originalEvent, key) } return result }, _maskBeforeInputHandler: function(e) { var _this3 = this; this._maskInputHandler = null; var inputType = e.originalEvent.inputType; if ("insertCompositionText" === inputType) { this._maskInputHandler = function() { _this3._renderSelectedPart() } } var isBackwardDeletion = "deleteContentBackward" === inputType; var isForwardDeletion = "deleteContentForward" === inputType; if (isBackwardDeletion || isForwardDeletion) { var direction = isBackwardDeletion ? -1 : 1; this._maskInputHandler = function() { _this3._revertPart(); _this3._selectNextPart(direction) } } if (!this._useMaskBehavior() || !this._isSingleCharKey(e)) { return } var key = e.originalEvent.data; this._keyInputHandler(e, key); return true }, _keyPressHandler: function(e) { var event = e.originalEvent; if ("insertCompositionText" === (null === event || void 0 === event ? void 0 : event.inputType) && this._isSingleDigitKey(e)) { this._processInputKey(event.data); this._renderDisplayText(this._getDisplayedText(this._maskValue)); this._selectNextPart() } this.callBase(e); if (this._maskInputHandler) { this._maskInputHandler(); this._maskInputHandler = null } }, _processInputKey: function(key) { if (this._isAllSelected()) { this._activePartIndex = 0 } this._setNewDateIfEmpty(); if (isNaN(parseInt(key))) { this._searchString(key) } else { this._searchNumber(key) } }, _isAllSelected: function() { var caret = this._caret(); return caret.end - caret.start === this.option("text").length }, _getFormatPattern: function() { if (this._formatPattern) { return this._formatPattern } var format = this._strategy.getDisplayFormat(this.option("displayFormat")); var isLDMLPattern = (0, _type.isString)(format) && !_date.default._getPatternByFormat(format); if (isLDMLPattern) { this._formatPattern = format } else { this._formatPattern = (0, _date3.getFormat)((function(value) { return _date.default.format(value, format) })) } return this._formatPattern }, _setNewDateIfEmpty: function() { if (!this._maskValue) { var value = "time" === this.option("type") ? new Date(null) : new Date; this._maskValue = value; this._initialMaskValue = value; this._renderDateParts() } }, _partLimitsReached: function(max) { var maxLimitLength = String(max).length; var formatLength = this._getActivePartProp("pattern").length; var isShortFormat = 1 === formatLength; var maxSearchLength = isShortFormat ? maxLimitLength : Math.min(formatLength, maxLimitLength); var isLengthExceeded = this._searchValue.length === maxSearchLength; var isValueOverflowed = parseInt(this._searchValue + "0") > max; return isLengthExceeded || isValueOverflowed }, _searchNumber: function(char) { var _this$_getActivePartL = this._getActivePartLimits(), max = _this$_getActivePartL.max; var maxLimitLength = String(max).length; this._searchValue = (this._searchValue + char).substr(-maxLimitLength); if (isNaN(this._searchValue)) { this._searchValue = char } this._setActivePartValue(this._searchValue); if (this._partLimitsReached(max)) { this._selectNextPart(1) } }, _searchString: function(char) { if (!isNaN(parseInt(this._getActivePartProp("text")))) { return } var limits = this._getActivePartProp("limits")(this._maskValue); var startString = this._searchValue + char.toLowerCase(); var endLimit = limits.max - limits.min; for (var i = 0; i <= endLimit; i++) { this._loadMaskValue(this._initialMaskValue); this._partIncrease(i + 1); if (0 === this._getActivePartProp("text").toLowerCase().indexOf(startString)) { this._searchValue = startString; return } } this._setNewDateIfEmpty(); if (this._searchValue) { this._clearSearchValue(); this._searchString(char) } }, _clearSearchValue: function() { this._searchValue = "" }, _revertPart: function(direction) { if (!this._isAllSelected()) { var actual = this._getActivePartValue(this.option("emptyDateValue")); this._setActivePartValue(actual); this._selectNextPart(direction) } this._clearSearchValue() }, _useMaskBehavior: function() { return this.option("useMaskBehavior") && "text" === this.option("mode") }, _prepareRegExpInfo: function() { this._regExpInfo = (0, _date2.getRegExpInfo)(this._getFormatPattern(), _date.default); var regexp = this._regExpInfo.regexp; var source = regexp.source; var flags = regexp.flags; var quantifierRegexp = new RegExp(/(\{[0-9]+,?[0-9]*\})/); var convertedSource = source.split(quantifierRegexp).map((function(sourcePart) { return quantifierRegexp.test(sourcePart) ? sourcePart : _number.default.convertDigits(sourcePart, false) })).join(""); this._regExpInfo.regexp = new RegExp(convertedSource, flags) }, _initMaskState: function() { this._activePartIndex = 0; this._formatPattern = null; this._prepareRegExpInfo(); this._loadMaskValue() }, _renderMask: function() { this.callBase(); this._detachMaskEvents(); this._clearMaskState(); if (this._useMaskBehavior()) { this._attachMaskEvents(); this._initMaskState(); this._renderDateParts() } }, _renderDateParts: function() { if (!this._useMaskBehavior()) { return } var text = this.option("text") || this._getDisplayedText(this._maskValue); if (text) { this._dateParts = (0, _uiDate_boxMask.renderDateParts)(text, this._regExpInfo); if (!this._input().is(":hidden")) { this._selectNextPart() } } }, _detachMaskEvents: function() { _events_engine.default.off(this._input(), ".dateBoxMask") }, _attachMaskEvents: function() { var _this4 = this; _events_engine.default.on(this._input(), (0, _index.addNamespace)("dxclick", "dateBoxMask"), this._maskClickHandler.bind(this)); _events_engine.default.on(this._input(), (0, _index.addNamespace)("paste", "dateBoxMask"), this._maskPasteHandler.bind(this)); _events_engine.default.on(this._input(), (0, _index.addNamespace)("drop", "dateBoxMask"), (function() { _this4._renderSelectedPart() })); _events_engine.default.on(this._input(), (0, _index.addNamespace)("compositionend", "dateBoxMask"), this._maskCompositionEndHandler.bind(this)); if (this._useBeforeInputEvent()) { _events_engine.default.on(this._input(), (0, _index.addNamespace)("beforeinput", "dateBoxMask"), this._maskBeforeInputHandler.bind(this)) } }, _renderSelectedPart: function() { this._renderDisplayText(this._getDisplayedText(this._maskValue)); this._selectNextPart() }, _selectLastPart: function() { if (this.option("text")) { this._activePartIndex = this._dateParts.length; this._selectNextPart(-1) } }, _selectFirstPart: function() { if (this.option("text")) { this._activePartIndex = -1; this._selectNextPart(1) } }, _onMouseWheel: function(e) { if (this._useMaskBehavior()) { this._partIncrease(e.delta > 0 ? 1 : -1, e) } }, _selectNextPart: function() { var step = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0; if (!this.option("text") || this._disposed) { return } if (step) { this._initialMaskValue = new Date(this._maskValue) } var index = (0, _math.fitIntoRange)(this._activePartIndex + step, 0, this._dateParts.length - 1); if (this._dateParts[index].isStub) { var isBoundaryIndex = 0 === index && step < 0 || index === this._dateParts.length - 1 && step > 0; if (!isBoundaryIndex) { this._selectNextPart(step >= 0 ? step + 1 : step - 1); return } else { index = this._activePartIndex } } if (this._activePartIndex !== index) { this._clearSearchValue() } this._activePartIndex = index; this._caret(this._getActivePartProp("caret")) }, _getRealLimitsPattern: function() { if ("d" === this._getActivePartProp("pattern")[0]) { return "dM" } }, _getActivePartLimits: function(lockOtherParts) { var limitFunction = this._getActivePartProp("limits"); return limitFunction(this._maskValue, lockOtherParts && this._getRealLimitsPattern()) }, _getActivePartValue: function(dateValue) { dateValue = dateValue || this._maskValue; var getter = this._getActivePartProp("getter"); return (0, _type.isFunction)(getter) ? getter(dateValue) : dateValue[getter]() }, _addLeadingZeroes: function(value) { var zeroes = this._searchValue.match(/^0+/); var limits = this._getActivePartLimits(); var maxLimitLength = String(limits.max).length; return ((zeroes && zeroes[0] || "") + String(value)).substr(-maxLimitLength) }, _setActivePartValue: function(value, dateValue) { dateValue = dateValue || this._maskValue; var setter = this._getActivePartProp("setter"); var limits = this._getActivePartLimits(); value = (0, _math.inRange)(value, limits.min, limits.max) ? value : value % 10; value = this._addLeadingZeroes((0, _math.fitIntoRange)(value, limits.min, limits.max)); (0, _type.isFunction)(setter) ? setter(dateValue, value): dateValue[setter](value); this._renderDisplayText(this._getDisplayedText(dateValue)); this._renderDateParts() }, _getActivePartProp: function(property) { if (!this._dateParts || !this._dateParts[this._activePartIndex]) { return } return this._dateParts[this._activePartIndex][property] }, _loadMaskValue: function() { var value = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.dateOption("value"); this._maskValue = value && new Date(value); this._initialMaskValue = value && new Date(value) }, _saveMaskValue: function() { var value = this._maskValue && new Date(this._maskValue); if (value && "date" === this.option("type")) { value.setHours(0, 0, 0, 0) } this._initialMaskValue = new Date(value); this.dateOption("value", value) }, _revertChanges: function() { this._loadMaskValue(); this._renderDisplayText(this._getDisplayedText(this._maskValue)); this._renderDateParts() }, _renderDisplayText: function(text) { this.callBase(text); if (this._useMaskBehavior()) { this.option("text", text) } }, _partIncrease: function(step, lockOtherParts) { this._setNewDateIfEmpty(); var _this$_getActivePartL2 = this._getActivePartLimits(lockOtherParts), max = _this$_getActivePartL2.max, min = _this$_getActivePartL2.min; var limitDelta = max - min; if (1 === limitDelta) { limitDelta++ } var newValue = step + this._getActivePartValue(); if (newValue > max) { newValue = this._applyLimits(newValue, { limitBase: min, limitClosest: max, limitDelta: limitDelta }) } else if (newValue < min) { newValue = this._applyLimits(newValue, { limitBase: max, limitClosest: min, limitDelta: limitDelta }) } this._setActivePartValue(newValue) }, _applyLimits: function(newValue, _ref2) { var limitBase = _ref2.limitBase, limitClosest = _ref2.limitClosest, limitDelta = _ref2.limitDelta; var delta = (newValue - limitClosest) % limitDelta; return delta ? limitBase + delta - 1 * (0, _math.sign)(delta) : limitClosest }, _maskClickHandler: function() { this._loadMaskValue(this._maskValue); if (this.option("text")) { this._activePartIndex = (0, _uiDate_boxMask.getDatePartIndexByPosition)(this._dateParts, this._caret().start); if (!this._isAllSelected()) { if ((0, _type.isDefined)(this._activePartIndex)) { this._caret(this._getActivePartProp("caret")) } else { this._selectLastPart() } } } }, _maskCompositionEndHandler: function(e) { var _this5 = this; this._input().val(this._getDisplayedText(this._maskValue)); this._selectNextPart(); this._maskInputHandler = function() { _this5._renderSelectedPart() } }, _maskPasteHandler: function(e) { var newText = this._replaceSelectedText(this.option("text"), this._caret(), (0, _dom.clipboardText)(e)); var date = _date.default.parse(newText, this._getFormatPattern()); if (date && this._isDateValid(date)) { this._maskValue = date; this._renderDisplayText(this._getDisplayedText(this._maskValue)); this._renderDateParts(); this._selectNextPart() } e.preventDefault() }, _isDateValid: function(date) { return (0, _type.isDate)(date) && !isNaN(date) }, _isValueDirty: function() { var value = this.dateOption("value"); return (this._maskValue && this._maskValue.getTime()) !== (value && value.getTime()) }, _fireChangeEvent: function() { this._clearSearchValue(); if (this._isValueDirty()) { _events_engine.default.trigger(this._input(), "change") } }, _enterHandler: function() { this._fireChangeEvent(); this._selectNextPart(1) }, _focusOutHandler: function(e) { var shouldFireChangeEvent = this._useMaskBehavior() && !e.isDefaultPrevented(); if (shouldFireChangeEvent) { this._fireChangeEvent(); this.callBase(e); this._selectFirstPart(e) } else { this.callBase(e) } }, _valueChangeEventHandler: function(e) { var text = this.option("text"); if (this._useMaskBehavior()) { this._saveValueChangeEvent(e); if (!text) { this._maskValue = null } else if (null === this._maskValue) { this._loadMaskValue(text) } this._saveMaskValue() } else { this.callBase(e) } }, _optionChanged: function(args) { switch (args.name) { case "useMaskBehavior": this._renderMask(); break; case "displayFormat": case "mode": this.callBase(args); this._renderMask(); break; case "value": this._loadMaskValue(); this.callBase(args); this._renderDateParts(); break; case "emptyDateValue": break; default: this.callBase(args) } }, _clearMaskState: function() { this._clearSearchValue(); delete this._dateParts; delete this._activePartIndex; delete this._maskValue }, reset: function() { this._clearMaskState(); this._activePartIndex = 0; this.callBase() }, _clean: function() { this.callBase(); this._detachMaskEvents(); this._clearMaskState() } }); var _default = DateBoxMask; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 28298: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_box/ui.date_box.mask.parts.js ***! \***********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.renderDateParts = exports.getDatePartIndexByPosition = void 0; var _date = __webpack_require__( /*! ../../localization/ldml/date.parser */ 2892); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var monthGetter = function(date) { return date.getMonth() + 1 }; var monthSetter = function(date, value) { var day = date.getDate(); var monthLimits = getLimits("M", date); var newValue = (0, _math.fitIntoRange)(parseInt(value), monthLimits.min, monthLimits.max); date.setMonth(newValue - 1, 1); var _getLimits = getLimits("dM", date), min = _getLimits.min, max = _getLimits.max; var newDay = (0, _math.fitIntoRange)(day, min, max); date.setDate(newDay) }; var PATTERN_GETTERS = { a: function(date) { return date.getHours() < 12 ? 0 : 1 }, E: "getDay", y: "getFullYear", M: monthGetter, L: monthGetter, d: "getDate", H: "getHours", h: "getHours", m: "getMinutes", s: "getSeconds", S: "getMilliseconds" }; var PATTERN_SETTERS = (0, _extend.extend)({}, (0, _date.getPatternSetters)(), { a: function(date, value) { var hours = date.getHours(); var current = hours >= 12; if (current === !!parseInt(value)) { return } date.setHours((hours + 12) % 24) }, d: function(date, value) { var lastDayInMonth = getLimits("dM", date).max; if (value > lastDayInMonth) { date.setMonth(date.getMonth() + 1) } date.setDate(value) }, h: function(date, value) { var isPM = date.getHours() >= 12; date.setHours(+value % 12 + (isPM ? 12 : 0)) }, M: monthSetter, L: monthSetter, E: function(date, value) { if (value < 0) { return } date.setDate(date.getDate() - date.getDay() + parseInt(value)) }, y: function(date, value) { var currentYear = date.getFullYear(); var valueLength = String(value).length; var maxLimitLength = String(getLimits("y", date).max).length; var newValue = parseInt(String(currentYear).substr(0, maxLimitLength - valueLength) + value); date.setFullYear(newValue) } }); exports.renderDateParts = function(text, regExpInfo) { var result = regExpInfo.regexp.exec(text); var start = 0; var end = 0; var sections = []; var _loop = function() { start = end; end = start + result[i].length; var pattern = regExpInfo.patterns[i - 1].replace(/^'|'$/g, ""); var getter = (patternChar = pattern[0], PATTERN_GETTERS[patternChar] || function() { return patternChar }); var patternChar; sections.push({ index: i - 1, isStub: pattern === result[i], caret: { start: start, end: end }, pattern: pattern, text: result[i], limits: function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] } return getLimits.apply(void 0, [pattern[0]].concat(args)) }, setter: PATTERN_SETTERS[pattern[0]] || _common.noop, getter: getter }) }; for (var i = 1; i < result.length; i++) { _loop() } return sections }; var getLimits = function(pattern, date, forcedPattern) { var limits = { y: { min: 0, max: 9999 }, M: { min: 1, max: 12 }, L: { min: 1, max: 12 }, d: { min: 1, max: 31 }, dM: { min: 1, max: new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate() }, E: { min: 0, max: 6 }, H: { min: 0, max: 23 }, h: { min: 0, max: 12 }, m: { min: 0, max: 59 }, s: { min: 0, max: 59 }, S: { min: 0, max: 999 }, a: { min: 0, max: 1 } }; return limits[forcedPattern || pattern] || limits.getAmPm }; exports.getDatePartIndexByPosition = function(dateParts, position) { for (var i = 0; i < dateParts.length; i++) { var caretInGroup = dateParts[i].caret.end >= position; if (!dateParts[i].isStub && caretInGroup) { return i } } return null } }, 46919: /*!******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_box/ui.date_box.strategy.calendar.js ***! \******************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _calendar = _interopRequireDefault(__webpack_require__( /*! ../calendar */ 26559)); var _uiDate_box = _interopRequireDefault(__webpack_require__( /*! ./ui.date_box.strategy */ 38129)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var CalendarStrategy = _uiDate_box.default.inherit({ NAME: "Calendar", getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { todayButtonText: _message.default.format("dxCalendar-todayButtonText") }) }, supportedKeys: function() { var homeEndHandler = function(e) { if (this.option("opened")) { e.preventDefault(); return true } return false }; return { rightArrow: function() { if (this.option("opened")) { return true } }, leftArrow: function() { if (this.option("opened")) { return true } }, enter: function(e) { if (this.dateBox.option("opened")) { e.preventDefault(); if (this._widget.option("zoomLevel") === this._widget.option("maxZoomLevel")) { var viewValue = this._getContouredValue(); var lastActionElement = this._lastActionElement; var shouldCloseDropDown = this._closeDropDownByEnter(); if (shouldCloseDropDown && viewValue && "calendar" === lastActionElement) { this.dateBoxValue(viewValue, e) } shouldCloseDropDown && this.dateBox.close(); this.dateBox._valueChangeEventHandler(e); return !shouldCloseDropDown } else { return true } } else { this.dateBox._valueChangeEventHandler(e) } }.bind(this), home: homeEndHandler, end: homeEndHandler } }, getDisplayFormat: function(displayFormat) { return displayFormat || "shortdate" }, _closeDropDownByEnter: function() { return true }, _getWidgetName: function() { return _calendar.default }, _getContouredValue: function() { return this._widget._view.option("contouredDate") }, getKeyboardListener: function() { return this._widget }, _getWidgetOptions: function() { var disabledDates = this.dateBox.option("disabledDates"); return (0, _extend.extend)(this.dateBox.option("calendarOptions"), { value: this.dateBoxValue() || null, dateSerializationFormat: null, min: this.dateBox.dateOption("min"), max: this.dateBox.dateOption("max"), onValueChanged: this._valueChangedHandler.bind(this), onCellClick: this._cellClickHandler.bind(this), tabIndex: null, disabledDates: (0, _type.isFunction)(disabledDates) ? this._injectComponent(disabledDates.bind(this.dateBox)) : disabledDates, onContouredChanged: this._refreshActiveDescendant.bind(this), skipFocusCheck: true }) }, _injectComponent: function(func) { var that = this; return function(params) { (0, _extend.extend)(params, { component: that.dateBox }); return func(params) } }, _refreshActiveDescendant: function(e) { this._lastActionElement = "calendar"; this.dateBox.setAria("activedescendant", e.actionValue) }, _getTodayButtonConfig: function() { var _this = this; var buttonsLocation = this.dateBox.option("buttonsLocation"); var isButtonsLocationDefault = "default" === buttonsLocation; var position = isButtonsLocationDefault ? ["bottom", "center"] : (0, _common.splitPair)(buttonsLocation); return { widget: "dxButton", toolbar: position[0], location: "after" === position[1] ? "before" : position[1], options: { onInitialized: function(e) { e.component.registerKeyHandler("escape", this._escapeHandler.bind(this)) }.bind(this), onClick: function(args) { _this._widget._toTodayView(args) }, text: this.dateBox.option("todayButtonText"), type: "today" } } }, _isCalendarVisible: function() { var _this$dateBox$option = this.dateBox.option(), calendarOptions = _this$dateBox$option.calendarOptions; return (0, _type.isEmptyObject)(calendarOptions) || false !== calendarOptions.visible }, _getPopupToolbarItems: function(toolbarItems) { var useButtons = "useButtons" === this.dateBox.option("applyValueMode"); var shouldRenderTodayButton = useButtons && this._isCalendarVisible(); if (shouldRenderTodayButton) { var todayButton = this._getTodayButtonConfig(); return [todayButton].concat(_toConsumableArray(toolbarItems)) } return toolbarItems }, popupConfig: function(_popupConfig) { return (0, _extend.extend)(true, _popupConfig, { position: { collision: "flipfit flip" }, width: "auto" }) }, _escapeHandler: function() { this.dateBox.close(); this.dateBox.focus() }, _valueChangedHandler: function(e) { var value = e.value; var prevValue = e.previousValue; if (_date.default.sameDate(value, prevValue) && _date.default.sameHoursAndMinutes(value, prevValue)) { return } if ("instantly" === this.dateBox.option("applyValueMode")) { this.dateBoxValue(this.getValue(), e.event) } }, _updateValue: function() { if (!this._widget) { return } this._widget.option("value", this.dateBoxValue()) }, textChangedHandler: function() { this._lastActionElement = "input"; if (this.dateBox.option("opened") && this._widget) { this._updateValue(true) } }, _cellClickHandler: function(e) { var dateBox = this.dateBox; if ("instantly" === dateBox.option("applyValueMode")) { dateBox.option("opened", false); this.dateBoxValue(this.getValue(), e.event) } } }); var _default = CalendarStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 97e3: /*!****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_box/ui.date_box.strategy.calendar_with_time.js ***! \****************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _uiDate_boxStrategy = _interopRequireDefault(__webpack_require__( /*! ./ui.date_box.strategy.calendar */ 46919)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./ui.time_view */ 7124)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _date2 = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _box = _interopRequireDefault(__webpack_require__( /*! ../box */ 55551)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ./ui.date_utils */ 72309)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var CalendarWithTimeStrategy = _uiDate_boxStrategy.default.inherit({ NAME: "CalendarWithTime", getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { applyValueMode: "useButtons", buttonsLocation: "bottom after", "dropDownOptions.showTitle": false }) }, _closeDropDownByEnter: function() { return _date2.default.sameDate(this._getContouredValue(), this.widgetOption("value")) }, getDisplayFormat: function(displayFormat) { return displayFormat || "shortdateshorttime" }, _is24HourFormat: function() { return _date.default.is24HourFormat(this.getDisplayFormat(this.dateBox.option("displayFormat"))) }, _getContouredValue: function() { var viewDate = this.callBase(); return this._updateDateTime(viewDate) }, _renderWidget: function() { this.callBase(); this._timeView = this.dateBox._createComponent((0, _renderer.default)("<div>"), _ui.default, { value: this.dateBoxValue(), _showClock: !this._isShrinkView(), use24HourFormat: this._is24HourFormat(), onValueChanged: this._valueChangedHandler.bind(this), stylingMode: this.dateBox.option("stylingMode") }); this._timeView.registerKeyHandler("escape", this._escapeHandler.bind(this)) }, renderOpenedState: function() { this.callBase(); var popup = this._getPopup(); if (popup) { popup.$wrapper().toggleClass("dx-datebox-adaptivity-mode", this._isSmallScreen()) } clearTimeout(this._repaintTimer); this._repaintTimer = setTimeout(function() { this._getPopup() && this._getPopup().repaint() }.bind(this), 0) }, isAdaptivityChanged: function() { var isAdaptiveMode = this._isShrinkView(); var currentAdaptiveMode = this._currentAdaptiveMode; if (isAdaptiveMode !== currentAdaptiveMode) { this._currentAdaptiveMode = isAdaptiveMode; return void 0 !== currentAdaptiveMode } return this.callBase() }, _updateValue: function(preventDefaultValue) { var date = this.dateBoxValue(); if (!date && !preventDefaultValue) { date = new Date; _ui2.default.normalizeTime(date) } this.callBase(); if (this._timeView) { date && this._timeView.option("value", date); this._timeView.option("use24HourFormat", this._is24HourFormat()) } }, _isSmallScreen: function() { return (0, _size.getWidth)(window) <= 573 }, _isShrinkView: function() { return !this.dateBox.option("showAnalogClock") || this.dateBox.option("adaptivityEnabled") && this._isSmallScreen() }, _getBoxItems: function() { var items = [{ ratio: 0, shrink: 0, baseSize: "auto", name: "calendar" }]; if (!this._isShrinkView()) { items.push({ ratio: 0, shrink: 0, baseSize: "auto", name: "time" }) } return items }, renderPopupContent: function() { this.callBase(); this._currentAdaptiveMode = this._isShrinkView(); var $popupContent = this._getPopup().$content(); this._box = this.dateBox._createComponent((0, _renderer.default)("<div>").appendTo($popupContent), _box.default, { direction: "row", crossAlign: "stretch", items: this._getBoxItems(), itemTemplate: function(data, i, element) { var $container = (0, _renderer.default)("<div>"); switch (data.name) { case "calendar": $container.append(this._widget.$element()); if (this._isShrinkView()) { this._timeView.$element().addClass("dx-datebox-datetime-time-side"); $container.append(this._timeView.$element()) } break; case "time": $container.append(this._timeView.$element()); (0, _renderer.default)(element).addClass("dx-datebox-datetime-time-side") } return $container }.bind(this) }); this._attachTabHandler() }, popupConfig: function(_popupConfig) { var calendarPopupConfig = this.callBase(_popupConfig); return (0, _extend.extend)(calendarPopupConfig, { width: "auto" }) }, getFirstPopupElement: function() { return this._timeView._hourBox.$element().find("input") }, _attachTabHandler: function() { var dateBox = this.dateBox; this._timeView._hourBox.registerKeyHandler("tab", (function(e) { if (e.shiftKey) { e.preventDefault(); dateBox.focus() } })) }, _preventFocusOnPopup: function(e) { if (!(0, _renderer.default)(e.target).hasClass("dx-texteditor-input")) { this.callBase.apply(this, arguments); if (!this.dateBox._hasFocusClass()) { this.dateBox.focus() } } }, _updateDateTime: function(date) { var time = this._timeView.option("value"); date.setHours(time.getHours(), time.getMinutes(), time.getSeconds(), time.getMilliseconds()); return date }, getValue: function() { var _this$_widget$option; var date = null !== (_this$_widget$option = this._widget.option("value")) && void 0 !== _this$_widget$option ? _this$_widget$option : this._widget.getContouredDate(); date = date ? new Date(date) : new Date; return this._updateDateTime(date) }, dispose: function() { clearTimeout(this._removeMinWidthTimer); clearTimeout(this._repaintTimer); this.callBase() } }); var _default = CalendarWithTimeStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 67814: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_box/ui.date_box.strategy.date_view.js ***! \*******************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _ui = _interopRequireDefault(__webpack_require__( /*! ./ui.date_view */ 65287)); var _uiDate_box = _interopRequireDefault(__webpack_require__( /*! ./ui.date_box.strategy */ 38129)); var _support = __webpack_require__( /*! ../../core/utils/support */ 60137); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ./ui.date_utils */ 72309)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var DateViewStrategy = _uiDate_box.default.inherit({ NAME: "DateView", getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { openOnFieldClick: true, applyButtonText: _message.default.format("OK"), "dropDownOptions.showTitle": true }) }, getDisplayFormat: function(displayFormat) { return displayFormat || _ui2.default.FORMATS_MAP[this.dateBox.option("type")] }, popupConfig: function(config) { return { toolbarItems: this.dateBox._popupToolbarItemsConfig(), onInitialized: config.onInitialized, defaultOptionsRules: [{ device: { platform: "android" }, options: { width: 333, height: 331 } }, { device: function(_device) { var platform = _device.platform; return "generic" === platform || "ios" === platform }, options: { width: "auto", height: "auto" } }, { device: function(_device2) { var platform = _device2.platform; var phone = _device2.phone; return "generic" === platform && phone }, options: { width: 333, maxWidth: "100%", maxHeight: "100%", height: "auto", position: { collision: "flipfit flip" } } }, { device: { platform: "ios", phone: true }, options: { width: "100%", position: { my: "bottom", at: "bottom", of: window } } }] } }, _renderWidget: function() { if ((0, _support.inputType)(this.dateBox.option("mode")) && this.dateBox._isNativeType() || this.dateBox.option("readOnly")) { if (this._widget) { this._widget.$element().remove(); this._widget = null } return } var popup = this._getPopup(); if (this._widget) { this._widget.option(this._getWidgetOptions()) } else { var element = (0, _renderer.default)("<div>").appendTo(popup.$content()); this._widget = this._createWidget(element) } this._widget.$element().appendTo(this._getWidgetContainer()) }, _getWidgetName: function() { return _ui.default }, renderOpenedState: function() { this.callBase(); if (this._widget) { this._widget.option("value", this._widget._getCurrentDate()) } }, _getWidgetOptions: function() { return { value: this.dateBoxValue() || new Date, type: this.dateBox.option("type"), minDate: this.dateBox.dateOption("min") || new Date(1900, 0, 1), maxDate: this.dateBox.dateOption("max") || new Date(Date.now() + 50 * _ui2.default.ONE_YEAR), onDisposing: function() { this._widget = null }.bind(this) } } }); var _default = DateViewStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 38129: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_box/ui.date_box.strategy.js ***! \*********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var abstract = _class.default.abstract; var DateBoxStrategy = _class.default.inherit({ ctor: function(dateBox) { this.dateBox = dateBox }, widgetOption: function() { return this._widget && this._widget.option.apply(this._widget, arguments) }, _renderWidget: function(element) { element = element || (0, _renderer.default)("<div>"); this._widget = this._createWidget(element); this._widget.$element().appendTo(this._getWidgetContainer()) }, _createWidget: function(element) { var widgetName = this._getWidgetName(); var widgetOptions = this._getWidgetOptions(); return this.dateBox._createComponent(element, widgetName, widgetOptions) }, _getWidgetOptions: abstract, _getWidgetName: abstract, getDefaultOptions: function() { return { mode: "text" } }, getDisplayFormat: abstract, supportedKeys: _common.noop, getKeyboardListener: _common.noop, customizeButtons: _common.noop, getParsedText: function(text, format) { var value = _date.default.parse(text, format); return value ? value : _date.default.parse(text) }, renderInputMinMax: _common.noop, renderOpenedState: function() { this._updateValue() }, popupConfig: abstract, _dimensionChanged: function() { var _this$_getPopup; null === (_this$_getPopup = this._getPopup()) || void 0 === _this$_getPopup ? void 0 : _this$_getPopup.repaint() }, renderPopupContent: function() { var popup = this._getPopup(); this._renderWidget(); var $popupContent = popup.$content().parent(); _events_engine.default.off($popupContent, "mousedown"); _events_engine.default.on($popupContent, "mousedown", this._preventFocusOnPopup.bind(this)) }, getFirstPopupElement: _common.noop, getLastPopupElement: _common.noop, _preventFocusOnPopup: function(e) { e.preventDefault() }, _getWidgetContainer: function() { return this._getPopup().$content() }, _getPopup: function() { return this.dateBox._popup }, popupShowingHandler: _common.noop, popupHiddenHandler: _common.noop, _updateValue: function() { this._widget && this._widget.option("value", this.dateBoxValue()) }, useCurrentDateByDefault: _common.noop, getDefaultDate: function() { return new Date }, textChangedHandler: _common.noop, renderValue: function() { if (this.dateBox.option("opened")) { this._updateValue() } }, getValue: function() { return this._widget.option("value") }, isAdaptivityChanged: function() { return false }, dispose: function() { var popup = this._getPopup(); if (popup) { popup.$content().empty() } }, dateBoxValue: function() { if (arguments.length) { return this.dateBox.dateValue.apply(this.dateBox, arguments) } else { return this.dateBox.dateOption.apply(this.dateBox, ["value"]) } } }); var _default = DateBoxStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 57728: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_box/ui.date_box.strategy.list.js ***! \**************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _list_light = _interopRequireDefault(__webpack_require__( /*! ../list_light */ 56757)); __webpack_require__( /*! ../list/modules/selection */ 20551); var _uiDate_box = _interopRequireDefault(__webpack_require__( /*! ./ui.date_box.strategy */ 38129)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _ui = _interopRequireDefault(__webpack_require__( /*! ./ui.date_utils */ 72309)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date_serialization */ 69434)); var _utils = __webpack_require__( /*! ../drop_down_editor/utils */ 61902); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var BOUNDARY_VALUES = { min: new Date(0, 0, 0, 0, 0), max: new Date(0, 0, 0, 23, 59) }; var ListStrategy = _uiDate_box.default.inherit({ NAME: "List", supportedKeys: function() { return { tab: function() { var _this$option = this.option(), opened = _this$option.opened, applyValueMode = _this$option.applyValueMode; if (opened && "instantly" === applyValueMode) { this.close() } }, space: _common.noop, home: _common.noop, end: _common.noop } }, getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { applyValueMode: "instantly" }) }, getDisplayFormat: function(displayFormat) { return displayFormat || "shorttime" }, popupConfig: function(_popupConfig) { return _popupConfig }, getValue: function() { var selectedIndex = this._widget.option("selectedIndex"); if (-1 === selectedIndex) { return this.dateBox.option("value") } var itemData = this._widgetItems[selectedIndex]; return this._getDateByItemData(itemData) }, useCurrentDateByDefault: function() { return true }, getDefaultDate: function() { return new Date(null) }, popupShowingHandler: function() { this.dateBox._dimensionChanged() }, _renderWidget: function() { this.callBase(); this._refreshItems() }, _getWidgetName: function() { return _list_light.default }, _getWidgetOptions: function() { return { itemTemplate: this._timeListItemTemplate.bind(this), onItemClick: this._listItemClickHandler.bind(this), tabIndex: -1, onFocusedItemChanged: this._refreshActiveDescendant.bind(this), selectionMode: "single" } }, _refreshActiveDescendant: function(e) { this.dateBox.setAria("activedescendant", ""); this.dateBox.setAria("activedescendant", e.actionValue) }, _refreshItems: function() { this._widgetItems = this._getTimeListItems(); this._widget.option("items", this._widgetItems) }, renderOpenedState: function() { if (!this._widget) { return } this._widget.option("focusedElement", null); this._setSelectedItemsByValue(); if (this._widget.option("templatesRenderAsynchronously")) { this._asyncScrollTimeout = setTimeout(this._scrollToSelectedItem.bind(this)) } else { this._scrollToSelectedItem() } }, dispose: function() { this.callBase(); clearTimeout(this._asyncScrollTimeout) }, _updateValue: function() { if (!this._widget) { return } this._refreshItems(); this._setSelectedItemsByValue(); this._scrollToSelectedItem() }, _setSelectedItemsByValue: function() { var value = this.dateBoxValue(); var dateIndex = this._getDateIndex(value); if (-1 === dateIndex) { this._widget.option("selectedItems", []) } else { this._widget.option("selectedIndex", dateIndex) } }, _scrollToSelectedItem: function() { this._widget.scrollToItem(this._widget.option("selectedIndex")) }, _getDateIndex: function(date) { var result = -1; for (var i = 0, n = this._widgetItems.length; i < n; i++) { if (this._areDatesEqual(date, this._widgetItems[i])) { result = i; break } } return result }, _areDatesEqual: function(first, second) { return (0, _type.isDate)(first) && (0, _type.isDate)(second) && first.getHours() === second.getHours() && first.getMinutes() === second.getMinutes() }, _getTimeListItems: function() { var min = this.dateBox.dateOption("min") || this._getBoundaryDate("min"); var max = this.dateBox.dateOption("max") || this._getBoundaryDate("max"); var value = this.dateBox.dateOption("value") || null; var delta = max - min; var minutes = min.getMinutes() % this.dateBox.option("interval"); if (delta < 0) { return [] } if (delta > _ui.default.ONE_DAY) { delta = _ui.default.ONE_DAY } if (value - min < _ui.default.ONE_DAY) { return this._getRangeItems(min, new Date(min), delta) } min = this._getBoundaryDate("min"); min.setMinutes(minutes); if (value && Math.abs(value - max) < _ui.default.ONE_DAY) { delta = (60 * max.getHours() + Math.abs(max.getMinutes() - minutes)) * _ui.default.ONE_MINUTE } return this._getRangeItems(min, new Date(min), delta) }, _getRangeItems: function(startValue, currentValue, rangeDuration) { var rangeItems = []; var interval = this.dateBox.option("interval"); while (currentValue - startValue <= rangeDuration) { rangeItems.push(new Date(currentValue)); currentValue.setMinutes(currentValue.getMinutes() + interval) } return rangeItems }, _getBoundaryDate: function(boundary) { var boundaryValue = BOUNDARY_VALUES[boundary]; var currentValue = new Date((0, _common.ensureDefined)(this.dateBox.dateOption("value"), 0)); return new Date(currentValue.getFullYear(), currentValue.getMonth(), currentValue.getDate(), boundaryValue.getHours(), boundaryValue.getMinutes()) }, _timeListItemTemplate: function(itemData) { var displayFormat = this.dateBox.option("displayFormat"); return _date.default.format(itemData, this.getDisplayFormat(displayFormat)) }, _listItemClickHandler: function(e) { if ("useButtons" === this.dateBox.option("applyValueMode")) { return } var date = this._getDateByItemData(e.itemData); this.dateBox.option("opened", false); this.dateBoxValue(date, e.event) }, _getDateByItemData: function(itemData) { var date = this.dateBox.option("value"); var hours = itemData.getHours(); var minutes = itemData.getMinutes(); var seconds = itemData.getSeconds(); var year = itemData.getFullYear(); var month = itemData.getMonth(); var day = itemData.getDate(); if (date) { if (this.dateBox.option("dateSerializationFormat")) { date = _date_serialization.default.deserializeDate(date) } else { date = new Date(date) } date.setHours(hours); date.setMinutes(minutes); date.setSeconds(seconds); date.setFullYear(year); date.setMonth(month); date.setDate(day) } else { date = new Date(year, month, day, hours, minutes, 0, 0) } return date }, getKeyboardListener: function() { return this._widget }, _updatePopupHeight: function() { var dropDownOptionsHeight = (0, _utils.getSizeValue)(this.dateBox.option("dropDownOptions.height")); if (void 0 === dropDownOptionsHeight || "auto" === dropDownOptionsHeight) { this.dateBox._setPopupOption("height", "auto"); var popupHeight = (0, _size.getOuterHeight)(this._widget.$element()); var maxHeight = .45 * (0, _size.getHeight)(window); this.dateBox._setPopupOption("height", Math.min(popupHeight, maxHeight)) } this.dateBox._timeList && this.dateBox._timeList.updateDimensions() }, getParsedText: function(text, format) { var value = this.callBase(text, format); if (value) { value = _ui.default.mergeDates(value, new Date(null), "date") } return value } }); var _default = ListStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 84416: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_box/ui.date_box.strategy.native.js ***! \****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _uiDate_box = _interopRequireDefault(__webpack_require__( /*! ./ui.date_box.strategy */ 38129)); var _support = __webpack_require__( /*! ../../core/utils/support */ 60137); var _ui = _interopRequireDefault(__webpack_require__( /*! ./ui.date_utils */ 72309)); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date_serialization */ 69434)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var NativeStrategy = _uiDate_box.default.inherit({ NAME: "Native", popupConfig: function(_popupConfig) { return (0, _extend.extend)({}, _popupConfig, { width: "auto" }) }, getParsedText: function(text) { if (!text) { return null } if ("datetime" === this.dateBox.option("type")) { return new Date(text.replace(/-/g, "/").replace("T", " ").split(".")[0]) } return _ui.default.fromStandardDateFormat(text) }, renderPopupContent: _common.noop, _getWidgetName: _common.noop, _getWidgetOptions: _common.noop, _getDateBoxType: function() { var type = this.dateBox.option("type"); if (!_ui.default.SUPPORTED_FORMATS.includes(type)) { type = "date" } else if ("datetime" === type && !(0, _support.inputType)(type)) { type = "datetime-local" } return type }, customizeButtons: function() { var dropDownButton = this.dateBox.getButton("dropDown"); if (_devices.default.real().android && dropDownButton) { dropDownButton.on("click", function() { this.dateBox._input().get(0).click() }.bind(this)) } }, getDefaultOptions: function() { return { mode: this._getDateBoxType() } }, getDisplayFormat: function(displayFormat) { var type = this._getDateBoxType(); return displayFormat || _ui.default.FORMATS_MAP[type] }, renderInputMinMax: function($input) { $input.attr({ min: _date_serialization.default.serializeDate(this.dateBox.dateOption("min"), "yyyy-MM-dd"), max: _date_serialization.default.serializeDate(this.dateBox.dateOption("max"), "yyyy-MM-dd") }) } }); var _default = NativeStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 72309: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_box/ui.date_utils.js ***! \**************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date_serialization */ 69434)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _date = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } var DATE_COMPONENTS = ["year", "day", "month", "day"]; var TIME_COMPONENTS = ["hours", "minutes", "seconds", "milliseconds"]; var dateUtils = { SUPPORTED_FORMATS: ["date", "time", "datetime"], ONE_MINUTE: 6e4, ONE_DAY: 864e5, ONE_YEAR: 31536e6, MIN_DATEVIEW_DEFAULT_DATE: new Date(1900, 0, 1), MAX_DATEVIEW_DEFAULT_DATE: (newDate = new Date, new Date(newDate.getFullYear() + 50, newDate.getMonth(), newDate.getDate(), 23, 59, 59)), FORMATS_INFO: { date: { getStandardPattern: function() { return "yyyy-MM-dd" }, components: DATE_COMPONENTS }, time: { getStandardPattern: function() { return "HH:mm" }, components: TIME_COMPONENTS }, datetime: { getStandardPattern: function() { var standardPattern; ! function() { var $input = (0, _renderer.default)("<input>").attr("type", "datetime"); $input.val("2000-01-01T01:01Z"); if ($input.val()) { standardPattern = "yyyy-MM-ddTHH:mmZ" } }(); if (!standardPattern) { standardPattern = "yyyy-MM-ddTHH:mm:ssZ" } dateUtils.FORMATS_INFO.datetime.getStandardPattern = function() { return standardPattern }; return standardPattern }, components: [].concat(DATE_COMPONENTS, TIME_COMPONENTS) }, "datetime-local": { getStandardPattern: function() { return "yyyy-MM-ddTHH:mm:ss" }, components: [].concat(DATE_COMPONENTS, ["hours", "minutes", "seconds"]) } }, FORMATS_MAP: { date: "shortdate", time: "shorttime", datetime: "shortdateshorttime" }, SUBMIT_FORMATS_MAP: { date: "date", time: "time", datetime: "datetime-local" }, toStandardDateFormat: function(date, type) { var pattern = dateUtils.FORMATS_INFO[type].getStandardPattern(); return _date_serialization.default.serializeDate(date, pattern) }, fromStandardDateFormat: function(text) { var date = _date_serialization.default.dateParser(text); return (0, _type.isDate)(date) ? date : void 0 }, getMaxMonthDay: function(year, month) { return new Date(year, month + 1, 0).getDate() }, mergeDates: function(oldValue, newValue, format) { if (!newValue) { return newValue || null } if (!oldValue || isNaN(oldValue.getTime())) { var now = new Date(null); oldValue = new Date(now.getFullYear(), now.getMonth(), now.getDate()) } var result = new Date(oldValue.valueOf()); var formatInfo = dateUtils.FORMATS_INFO[format]; (0, _iterator.each)(formatInfo.components, (function() { var componentInfo = dateUtils.DATE_COMPONENTS_INFO[this]; result[componentInfo.setter](newValue[componentInfo.getter]()) })); return result }, getLongestCaptionIndex: function(captionArray) { var longestIndex = 0; var longestCaptionLength = 0; var i; for (i = 0; i < captionArray.length; ++i) { if (captionArray[i].length > longestCaptionLength) { longestIndex = i; longestCaptionLength = captionArray[i].length } } return longestIndex }, formatUsesMonthName: function(format) { return _date.default.formatUsesMonthName(format) }, formatUsesDayName: function(format) { return _date.default.formatUsesDayName(format) }, getLongestDate: function(format, monthNames, dayNames) { var stringFormat = function(format) { var formatType = _typeof(format); if ("string" === formatType) { return "format" } if ("object" === formatType && void 0 !== format.type) { return format.type } return null }(format); var month = 9; if (!stringFormat || dateUtils.formatUsesMonthName(stringFormat)) { month = dateUtils.getLongestCaptionIndex(monthNames) } var longestDate = new Date(1888, month, 21, 23, 59, 59, 999); if (!stringFormat || dateUtils.formatUsesDayName(stringFormat)) { var date = longestDate.getDate() - longestDate.getDay() + dateUtils.getLongestCaptionIndex(dayNames); longestDate.setDate(date) } return longestDate }, normalizeTime: function(date) { date.setSeconds(0); date.setMilliseconds(0) } }; var newDate; dateUtils.DATE_COMPONENTS_INFO = { year: { getter: "getFullYear", setter: "setFullYear", formatter: function(value, date) { var formatDate = new Date(date.getTime()); formatDate.setFullYear(value); return _date.default.format(formatDate, "yyyy") }, startValue: void 0, endValue: void 0 }, day: { getter: "getDate", setter: "setDate", formatter: function(value, date) { var formatDate = new Date(date.getTime()); formatDate.setDate(value); return _date.default.format(formatDate, "d") }, startValue: 1, endValue: void 0 }, month: { getter: "getMonth", setter: "setMonth", formatter: function(value) { return _date.default.getMonthNames()[value] }, startValue: 0, endValue: 11 }, hours: { getter: "getHours", setter: "setHours", formatter: function(value) { return _date.default.format(new Date(0, 0, 0, value), "hour") }, startValue: 0, endValue: 23 }, minutes: { getter: "getMinutes", setter: "setMinutes", formatter: function(value) { return _date.default.format(new Date(0, 0, 0, 0, value), "minute") }, startValue: 0, endValue: 59 }, seconds: { getter: "getSeconds", setter: "setSeconds", formatter: function(value) { return _date.default.format(new Date(0, 0, 0, 0, 0, value), "second") }, startValue: 0, endValue: 59 }, milliseconds: { getter: "getMilliseconds", setter: "setMilliseconds", formatter: function(value) { return _date.default.format(new Date(0, 0, 0, 0, 0, 0, value), "millisecond") }, startValue: 0, endValue: 999 } }; var _default = dateUtils; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 65287: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_box/ui.date_view.js ***! \*************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _editor = _interopRequireDefault(__webpack_require__( /*! ../editor/editor */ 96452)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./ui.date_view_roller */ 95251)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ./ui.date_utils */ 72309)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _date2 = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var TYPE_date = "date"; var ROLLER_TYPE_year = "year", ROLLER_TYPE_month = "month", ROLLER_TYPE_day = "day", ROLLER_TYPE_hours = "hours"; var DateView = _editor.default.inherit({ _valueOption: function() { var value = this.option("value"); var date = new Date(value); return !value || isNaN(date) ? this._getDefaultDate() : date }, _getDefaultDate: function() { var date = new Date; if (this.option("type") === TYPE_date) { return new Date(date.getFullYear(), date.getMonth(), date.getDate()) } return date }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { minDate: _ui2.default.MIN_DATEVIEW_DEFAULT_DATE, maxDate: _ui2.default.MAX_DATEVIEW_DEFAULT_DATE, type: TYPE_date, value: new Date, applyCompactClass: false }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function(_device) { return "desktop" !== _device.deviceType }, options: { applyCompactClass: true } }]) }, _render: function() { this.callBase(); this.$element().addClass("dx-dateview"); this._toggleFormatClasses(this.option("type")); this._toggleCompactClass() }, _toggleFormatClasses: function(currentFormat, previousFormat) { this.$element().addClass("dx-dateview-" + currentFormat); previousFormat && this.$element().removeClass("dx-dateview-" + previousFormat) }, _toggleCompactClass: function() { this.$element().toggleClass("dx-dateview-compact", this.option("applyCompactClass")) }, _wrapper: function() { return this._$wrapper }, _renderContentImpl: function() { this._$wrapper = (0, _renderer.default)("<div>").addClass("dx-dateview-wrapper"); this._renderRollers(); this._$wrapper.appendTo(this.$element()) }, _renderRollers: function() { if (!this._$rollersContainer) { this._$rollersContainer = (0, _renderer.default)("<div>").addClass("dx-dateview-rollers") } this._$rollersContainer.empty(); this._createRollerConfigs(); this._rollers = {}; var that = this; (0, _iterator.each)(that._rollerConfigs, (function(name) { var $roller = (0, _renderer.default)("<div>").appendTo(that._$rollersContainer).addClass("dx-dateviewroller-" + that._rollerConfigs[name].type); that._rollers[that._rollerConfigs[name].type] = that._createComponent($roller, _ui.default, { items: that._rollerConfigs[name].displayItems, selectedIndex: that._rollerConfigs[name].selectedIndex, showScrollbar: "never", scrollByContent: true, onStart: function(e) { var roller = e.component; roller._toggleActive(true); that._setActiveRoller(that._rollerConfigs[name], roller.option("selectedIndex")) }, onEnd: function(e) { var roller = e.component; roller._toggleActive(false) }, onClick: function(e) { var roller = e.component; roller._toggleActive(true); that._setActiveRoller(that._rollerConfigs[name], roller.option("selectedIndex")); that._setRollerState(that._rollerConfigs[name], roller.option("selectedIndex")); roller._toggleActive(false) }, onSelectedIndexChanged: function(e) { var roller = e.component; that._setRollerState(that._rollerConfigs[name], roller.option("selectedIndex")) } }) })); that._$rollersContainer.appendTo(that._wrapper()) }, _createRollerConfigs: function(type) { var that = this; type = type || that.option("type"); that._rollerConfigs = {}; _date2.default.getFormatParts(_ui2.default.FORMATS_MAP[type]).forEach((function(partName) { that._createRollerConfig(partName) })) }, _createRollerConfig: function(componentName) { var componentInfo = _ui2.default.DATE_COMPONENTS_INFO[componentName]; var valueRange = this._calculateRollerConfigValueRange(componentName); var startValue = valueRange.startValue; var endValue = valueRange.endValue; var formatter = componentInfo.formatter; var curDate = this._getCurrentDate(); var config = { type: componentName, setValue: componentInfo.setter, valueItems: [], displayItems: [], getIndex: function(value) { return value[componentInfo.getter]() - startValue } }; for (var i = startValue; i <= endValue; i++) { config.valueItems.push(i); config.displayItems.push(formatter(i, curDate)) } config.selectedIndex = config.getIndex(curDate); this._rollerConfigs[componentName] = config }, _setActiveRoller: function(currentRoller) { var activeRoller = currentRoller && this._rollers[currentRoller.type]; (0, _iterator.each)(this._rollers, (function() { this.toggleActiveState(this === activeRoller) })) }, _updateRollersPosition: function() { var that = this; (0, _iterator.each)(this._rollers, (function(type) { var correctIndex = that._rollerConfigs[type].getIndex(that._getCurrentDate()); this.option("selectedIndex", correctIndex) })) }, _setRollerState: function(roller, selectedIndex) { if (selectedIndex !== roller.selectedIndex) { var rollerValue = roller.valueItems[selectedIndex]; var setValue = roller.setValue; var currentValue = new Date(this._getCurrentDate()); var currentDate = currentValue.getDate(); var minDate = this.option("minDate"); var maxDate = this.option("maxDate"); if (roller.type === ROLLER_TYPE_month) { currentDate = Math.min(currentDate, _ui2.default.getMaxMonthDay(currentValue.getFullYear(), rollerValue)) } else if (roller.type === ROLLER_TYPE_year) { currentDate = Math.min(currentDate, _ui2.default.getMaxMonthDay(rollerValue, currentValue.getMonth())) } currentValue.setDate(currentDate); currentValue[setValue](rollerValue); var normalizedDate = _date.default.normalizeDate(currentValue, minDate, maxDate); currentValue = _ui2.default.mergeDates(normalizedDate, currentValue, "time"); currentValue = _date.default.normalizeDate(currentValue, minDate, maxDate); this.option("value", currentValue); roller.selectedIndex = selectedIndex } if (roller.type === ROLLER_TYPE_year) { this._refreshRollers() } if (roller.type === ROLLER_TYPE_month) { this._refreshRoller(ROLLER_TYPE_day); this._refreshRoller(ROLLER_TYPE_hours) } }, _refreshRoller: function(rollerType) { var roller = this._rollers[rollerType]; if (roller) { this._createRollerConfig(rollerType); var rollerConfig = this._rollerConfigs[rollerType]; if (rollerType === ROLLER_TYPE_day || rollerConfig.displayItems.toString() !== roller.option("items").toString()) { roller.option({ items: rollerConfig.displayItems, selectedIndex: rollerConfig.selectedIndex }) } } }, _getCurrentDate: function() { var curDate = this._valueOption(); var minDate = this.option("minDate"); var maxDate = this.option("maxDate"); return _date.default.normalizeDate(curDate, minDate, maxDate) }, _calculateRollerConfigValueRange: function(componentName) { var curDate = this._getCurrentDate(); var minDate = this.option("minDate"); var maxDate = this.option("maxDate"); var minYear = _date.default.sameYear(curDate, minDate); var minMonth = minYear && curDate.getMonth() === minDate.getMonth(); var maxYear = _date.default.sameYear(curDate, maxDate); var maxMonth = maxYear && curDate.getMonth() === maxDate.getMonth(); var minHour = minMonth && curDate.getDate() === minDate.getDate(); var maxHour = maxMonth && curDate.getDate() === maxDate.getDate(); var componentInfo = _ui2.default.DATE_COMPONENTS_INFO[componentName]; var startValue = componentInfo.startValue; var endValue = componentInfo.endValue; if (componentName === ROLLER_TYPE_year) { startValue = minDate.getFullYear(); endValue = maxDate.getFullYear() } if (componentName === ROLLER_TYPE_month) { if (minYear) { startValue = minDate.getMonth() } if (maxYear) { endValue = maxDate.getMonth() } } if (componentName === ROLLER_TYPE_day) { endValue = _ui2.default.getMaxMonthDay(curDate.getFullYear(), curDate.getMonth()); if (minYear && minMonth) { startValue = minDate.getDate() } if (maxYear && maxMonth) { endValue = maxDate.getDate() } } if (componentName === ROLLER_TYPE_hours) { startValue = minHour ? minDate.getHours() : startValue; endValue = maxHour ? maxDate.getHours() : endValue } return { startValue: startValue, endValue: endValue } }, _refreshRollers: function() { this._refreshRoller(ROLLER_TYPE_month); this._refreshRoller(ROLLER_TYPE_day); this._refreshRoller(ROLLER_TYPE_hours) }, _optionChanged: function(args) { switch (args.name) { case "minDate": case "maxDate": case "type": this._renderRollers(); this._toggleFormatClasses(args.value, args.previousValue); break; case "visible": this.callBase(args); if (args.value) { this._renderRollers() } break; case "value": this.option("value", this._valueOption()); this._refreshRollers(); this._updateRollersPosition(); break; default: this.callBase(args) } }, _clean: function() { this.callBase(); delete this._$rollersContainer } }); (0, _component_registrator.default)("dxDateView", DateView); var _default = DateView; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 95251: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_box/ui.date_view_roller.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _click = __webpack_require__( /*! ../../events/click */ 95429); var _uiScrollable = _interopRequireDefault(__webpack_require__( /*! ../scroll_view/ui.scrollable.old */ 58788)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _fx = _interopRequireDefault(__webpack_require__( /*! ../../animation/fx */ 87209)); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _convert_location = __webpack_require__( /*! ../../renovation/ui/scroll_view/utils/convert_location */ 82886); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DateViewRoller = function(_Scrollable) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DateViewRoller, _Scrollable); function DateViewRoller() { return _Scrollable.apply(this, arguments) || this } var _proto = DateViewRoller.prototype; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Scrollable.prototype._getDefaultOptions.call(this), { showScrollbar: "never", useNative: false, selectedIndex: 0, bounceEnabled: false, items: [], showOnClick: false, onClick: null, onSelectedIndexChanged: null, scrollByContent: true }) }; _proto._init = function() { _Scrollable.prototype._init.call(this); this.option("onVisibilityChange", this._visibilityChangedHandler.bind(this)); this.option("onEnd", this._endActionHandler.bind(this)) }; _proto._render = function() { _Scrollable.prototype._render.call(this); this._renderSelectedItemFrame(); this.$element().addClass("dx-dateviewroller"); this._renderContainerClick(); this._renderItems(); this._renderSelectedValue(); this._renderItemsClick(); this._renderWheelEvent(); this._renderSelectedIndexChanged() }; _proto._renderSelectedIndexChanged = function() { this._selectedIndexChanged = this._createActionByOption("onSelectedIndexChanged") }; _proto._renderWheelEvent = function() { var _this = this; _events_engine.default.on((0, _renderer.default)(this.container()), "dxmousewheel", (function(e) { _this._isWheelScrolled = true })) }; _proto._renderContainerClick = function() { if (!this.option("showOnClick")) { return } var eventName = (0, _index.addNamespace)(_click.name, this.NAME); var clickAction = this._createActionByOption("onClick"); _events_engine.default.off((0, _renderer.default)(this.container()), eventName); _events_engine.default.on((0, _renderer.default)(this.container()), eventName, (function(e) { clickAction({ event: e }) })) }; _proto._renderItems = function() { var items = this.option("items") || []; var $items = (0, _renderer.default)(); (0, _renderer.default)(this.content()).empty(); items.forEach((function(item) { $items = $items.add((0, _renderer.default)("<div>").addClass("dx-dateview-item").append(item)) })); (0, _renderer.default)(this.content()).append($items); this._$items = $items; this.update() }; _proto._renderSelectedItemFrame = function() { (0, _renderer.default)("<div>").addClass("dx-dateview-item-selected-frame").append((0, _renderer.default)("<div>").addClass("dx-dateview-item-selected-border")).appendTo((0, _renderer.default)(this.container())) }; _proto._renderSelectedValue = function(selectedIndex) { var index = this._fitIndex(null !== selectedIndex && void 0 !== selectedIndex ? selectedIndex : this.option("selectedIndex")); this._moveTo({ top: this._getItemPosition(index) }); this._renderActiveStateItem() }; _proto._fitIndex = function(index) { var items = this.option("items") || []; var itemCount = items.length; if (index >= itemCount) { return itemCount - 1 } if (index < 0) { return 0 } return index }; _proto._getItemPosition = function(index) { return Math.round(this._itemHeight() * index) }; _proto._renderItemsClick = function() { var itemSelector = this._getItemSelector(); var eventName = (0, _index.addNamespace)(_click.name, this.NAME); _events_engine.default.off(this.$element(), eventName, itemSelector); _events_engine.default.on(this.$element(), eventName, itemSelector, this._itemClickHandler.bind(this)) }; _proto._getItemSelector = function() { return ".dx-dateview-item" }; _proto._itemClickHandler = function(e) { this.option("selectedIndex", this._itemElementIndex(e.currentTarget)) }; _proto._itemElementIndex = function(itemElement) { return this._itemElements().index(itemElement) }; _proto._itemElements = function() { return this.$element().find(this._getItemSelector()) }; _proto._renderActiveStateItem = function() { var selectedIndex = this.option("selectedIndex"); (0, _iterator.each)(this._$items, (function(index) { (0, _renderer.default)(this).toggleClass("dx-dateview-item-selected", selectedIndex === index) })) }; _proto._shouldScrollToNeighborItem = function() { return "desktop" === _devices.default.real().deviceType && this._isWheelScrolled }; _proto._moveTo = function(targetLocation) { var _convertToLocation = (0, _convert_location.convertToLocation)(targetLocation), top = _convertToLocation.top, left = _convertToLocation.left; var location = this.scrollOffset(); var delta = { x: location.left - left, y: location.top - top }; if (this._isVisible() && (delta.x || delta.y)) { this._prepareDirections(true); if (this._animation && !this._shouldScrollToNeighborItem()) { var that = this; _fx.default.stop((0, _renderer.default)(this.content())); _fx.default.animate((0, _renderer.default)(this.content()), { duration: 200, type: "slide", to: { top: Math.floor(delta.y) }, complete: function() { (0, _translator.resetPosition)((0, _renderer.default)(that.content())); that.handleMove({ delta: delta }) } }); delete this._animation } else { this.handleMove({ delta: delta }) } } }; _proto._validate = function(e) { return this._moveIsAllowed(e) }; _proto._fitSelectedIndexInRange = function(index) { var itemsCount = this.option("items").length; return Math.max(Math.min(index, itemsCount - 1), 0) }; _proto._isInNullNeighborhood = function(x) { return -.1 <= x && x <= .1 }; _proto._getSelectedIndexAfterScroll = function(currentSelectedIndex) { var locationTop = this.scrollOffset().top; var currentSelectedIndexPosition = currentSelectedIndex * this._itemHeight(); var dy = locationTop - currentSelectedIndexPosition; if (this._isInNullNeighborhood(dy)) { return currentSelectedIndex } var direction = dy > 0 ? 1 : -1; var newSelectedIndex = this._fitSelectedIndexInRange(currentSelectedIndex + direction); return newSelectedIndex }; _proto._getNewSelectedIndex = function(currentSelectedIndex) { if (this._shouldScrollToNeighborItem()) { return this._getSelectedIndexAfterScroll(currentSelectedIndex) } this._animation = true; var ratio = this.scrollOffset().top / this._itemHeight(); return Math.round(ratio) }; _proto._endActionHandler = function() { var currentSelectedIndex = this.option("selectedIndex"); var newSelectedIndex = this._getNewSelectedIndex(currentSelectedIndex); if (newSelectedIndex === currentSelectedIndex) { this._renderSelectedValue(newSelectedIndex) } else { this.option("selectedIndex", newSelectedIndex) } this._isWheelScrolled = false }; _proto._itemHeight = function() { var $item = this._$items.first(); return (0, _size.getHeight)($item) }; _proto._toggleActive = function(state) { this.$element().toggleClass("dx-state-active", state) }; _proto._isVisible = function() { return (0, _renderer.default)(this.container()).is(":visible") }; _proto._fireSelectedIndexChanged = function(value, previousValue) { this._selectedIndexChanged({ value: value, previousValue: previousValue, event: void 0 }) }; _proto._visibilityChanged = function(visible) { _Scrollable.prototype._visibilityChanged.call(this, visible); this._visibilityChangedHandler(visible) }; _proto._visibilityChangedHandler = function(visible) { var _this2 = this; if (visible) { this._visibilityTimer = setTimeout((function() { _this2._renderSelectedValue(_this2.option("selectedIndex")) })) } this.toggleActiveState(false) }; _proto.toggleActiveState = function(state) { this.$element().toggleClass("dx-dateviewroller-current", state) }; _proto._refreshSelectedIndex = function() { var selectedIndex = this.option("selectedIndex"); var fitIndex = this._fitIndex(selectedIndex); if (fitIndex === selectedIndex) { this._renderActiveStateItem() } else { this.option("selectedIndex", fitIndex) } }; _proto._optionChanged = function(args) { switch (args.name) { case "selectedIndex": this._fireSelectedIndexChanged(args.value, args.previousValue); this._renderSelectedValue(args.value); break; case "items": this._renderItems(); this._refreshSelectedIndex(); break; case "onClick": case "showOnClick": this._renderContainerClick(); break; case "onSelectedIndexChanged": this._renderSelectedIndexChanged(); break; default: _Scrollable.prototype._optionChanged.call(this, args) } }; _proto._dispose = function() { clearTimeout(this._visibilityTimer); _Scrollable.prototype._dispose.call(this) }; return DateViewRoller }(_uiScrollable.default); (0, _component_registrator.default)("dxDateViewRoller", DateViewRoller); var _default = DateViewRoller; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 7124: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_box/ui.time_view.js ***! \*************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _editor = _interopRequireDefault(__webpack_require__( /*! ../editor/editor */ 96452)); var _number_box = _interopRequireDefault(__webpack_require__( /*! ../number_box */ 34171)); var _select_box = _interopRequireDefault(__webpack_require__( /*! ../select_box */ 78665)); var _box = _interopRequireDefault(__webpack_require__( /*! ../box */ 55551)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./ui.date_utils */ 72309)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var rotateArrow = function($arrow, angle, offset) { cssRotate($arrow, angle, offset) }; var cssRotate = function($arrow, angle, offset) { $arrow.css("transform", "rotate(" + angle + "deg) translate(0," + offset + "px)") }; var TimeView = _editor.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { value: new Date(Date.now()), use24HourFormat: true, _showClock: true, _arrowOffset: 5, stylingMode: void 0 }) }, _getValue: function() { return this.option("value") || new Date }, _init: function() { this.callBase(); this.$element().addClass("dx-timeview") }, _render: function() { this.callBase(); this._renderBox(); this._updateTime() }, _renderBox: function() { var $box = (0, _renderer.default)("<div>").appendTo(this.$element()); var items = []; if (this.option("_showClock")) { items.push({ ratio: 1, shrink: 0, baseSize: "auto", template: this._renderClock.bind(this) }) } items.push({ ratio: 0, shrink: 0, baseSize: "auto", template: this._renderField.bind(this) }); this._createComponent($box, _box.default, { height: "100%", width: "100%", direction: "col", items: items }) }, _renderClock: function(_, __, container) { this._$hourArrow = (0, _renderer.default)("<div>").addClass("dx-timeview-hourarrow"); this._$minuteArrow = (0, _renderer.default)("<div>").addClass("dx-timeview-minutearrow"); var $container = (0, _renderer.default)(container); $container.addClass("dx-timeview-clock").append(this._$hourArrow).append(this._$minuteArrow); this.setAria("role", "presentation", $container) }, _updateClock: function() { var time = this._getValue(); var hourArrowAngle = time.getHours() / 12 * 360 + time.getMinutes() / 60 * 30; var minuteArrowAngle = time.getMinutes() / 60 * 360; rotateArrow(this._$hourArrow, hourArrowAngle, this.option("_arrowOffset")); rotateArrow(this._$minuteArrow, minuteArrowAngle, this.option("_arrowOffset")) }, _getBoxItems: function(is12HourFormat) { var _this = this; var items = [{ ratio: 0, shrink: 0, baseSize: "auto", template: function() { return _this._hourBox.$element() } }, { ratio: 0, shrink: 0, baseSize: "auto", template: (0, _renderer.default)("<div>").addClass("dx-timeview-time-separator").text(_date.default.getTimeSeparator()) }, { ratio: 0, shrink: 0, baseSize: "auto", template: function() { return _this._minuteBox.$element() } }]; if (is12HourFormat) { items.push({ ratio: 0, shrink: 0, baseSize: "auto", template: function() { return _this._format12.$element() } }) } return items }, _renderField: function() { var is12HourFormat = !this.option("use24HourFormat"); this._createHourBox(is12HourFormat); this._createMinuteBox(); if (is12HourFormat) { this._createFormat12Box() } return this._createComponent((0, _renderer.default)("<div>").addClass("dx-timeview-field"), _box.default, { direction: "row", align: "center", crossAlign: "center", items: this._getBoxItems(is12HourFormat) }).$element() }, _createHourBox: function(is12HourFormat) { var _this2 = this; var editor = this._hourBox = this._createComponent((0, _renderer.default)("<div>"), _number_box.default, (0, _extend.extend)({ min: -1, max: is12HourFormat ? 13 : 24, value: this._getValue().getHours(), onValueChanged: this._onHourBoxValueChanged.bind(this), onKeyboardHandled: function(opts) { return _this2._keyboardHandler(opts) } }, this._getNumberBoxConfig())); editor.setAria("label", "hours") }, _isPM: function() { return !this.option("use24HourFormat") && 1 === this._format12.option("value") }, _onHourBoxValueChanged: function(_ref) { var value = _ref.value, component = _ref.component; var currentValue = this._getValue(); var newValue = new Date(currentValue); var newHours = this._convertMaxHourToMin(value); component.option("value", newHours); if (this._isPM()) { newHours += 12 } newValue.setHours(newHours); _ui.default.normalizeTime(newValue); this.option("value", newValue) }, _convertMaxHourToMin: function(hours) { var maxHoursValue = this.option("use24HourFormat") ? 24 : 12; return (maxHoursValue + hours) % maxHoursValue }, _createMinuteBox: function() { var _this3 = this; var editor = this._minuteBox = this._createComponent((0, _renderer.default)("<div>"), _number_box.default, (0, _extend.extend)({ min: -1, max: 60, value: this._getValue().getMinutes(), onKeyboardHandled: function(opts) { return _this3._keyboardHandler(opts) }, onValueChanged: function(_ref2) { var value = _ref2.value, component = _ref2.component; var newMinutes = (60 + value) % 60; component.option("value", newMinutes); var time = new Date(_this3._getValue()); time.setMinutes(newMinutes); _ui.default.normalizeTime(time); _this3.option("value", time) } }, this._getNumberBoxConfig())); editor.setAria("label", "minutes") }, _createFormat12Box: function() { var _this4 = this; var periodNames = _date.default.getPeriodNames(); var editor = this._format12 = this._createComponent((0, _renderer.default)("<div>").addClass("dx-timeview-format12"), _select_box.default, { items: [{ value: -1, text: periodNames[0] }, { value: 1, text: periodNames[1] }], valueExpr: "value", displayExpr: "text", onKeyboardHandled: function(opts) { return _this4._keyboardHandler(opts) }, onValueChanged: function(_ref3) { var value = _ref3.value; var hours = _this4._getValue().getHours(); var time = new Date(_this4._getValue()); var newHours = (hours + 12 * value) % 24; time.setHours(newHours); _this4.option("value", time) }, value: this._getValue().getHours() >= 12 ? 1 : -1, stylingMode: this.option("stylingMode") }); editor.setAria("label", "type") }, _refreshFormat12: function() { if (this.option("use24HourFormat")) { return } var value = this._getValue(); var hours = value.getHours(); var isPM = hours >= 12; var newValue = isPM ? 1 : -1; this._silentEditorValueUpdate(this._format12, newValue) }, _silentEditorValueUpdate: function(editor, value) { if (editor) { editor._suppressValueChangeAction(); editor.option("value", value); editor._resumeValueChangeAction() } }, _getNumberBoxConfig: function() { return { showSpinButtons: true, displayValueFormatter: function(value) { return (value < 10 ? "0" : "") + value }, stylingMode: this.option("stylingMode") } }, _normalizeHours: function(hours) { return this.option("use24HourFormat") ? hours : hours % 12 || 12 }, _updateField: function() { var hours = this._normalizeHours(this._getValue().getHours()); this._silentEditorValueUpdate(this._hourBox, hours); this._silentEditorValueUpdate(this._minuteBox, this._getValue().getMinutes()); this._refreshFormat12() }, _updateTime: function() { if (this.option("_showClock")) { this._updateClock() } this._updateField() }, _visibilityChanged: function(visible) { if (visible) { this._updateTime() } }, _optionChanged: function(args) { switch (args.name) { case "value": this._updateTime(); this.callBase(args); break; case "_arrowOffset": break; case "use24HourFormat": case "_showClock": case "stylingMode": this._invalidate(); break; default: this.callBase(args) } } }); (0, _component_registrator.default)("dxTimeView", TimeView); var _default = TimeView; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 56258: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_range_box.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./date_range_box/ui.date_range_box */ 64850), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 45020: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_range_box/strategy/rangeCalendar.js ***! \*****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiDate_boxStrategy = _interopRequireDefault(__webpack_require__( /*! ../../date_box/ui.date_box.strategy.calendar */ 46919)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _uiDate_range = __webpack_require__( /*! ../ui.date_range.utils */ 86974); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var RangeCalendarStrategy = function(_CalendarStrategy) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(RangeCalendarStrategy, _CalendarStrategy); function RangeCalendarStrategy(dateBox) { var _this; _this = _CalendarStrategy.call(this) || this; _this.dateBox = dateBox; _this.dateRangeBox = dateBox.option("_dateRangeBoxInstance"); return _this } var _proto = RangeCalendarStrategy.prototype; _proto.popupConfig = function(_popupConfig) { return (0, _extend.extend)(true, _CalendarStrategy.prototype.popupConfig.call(this, _popupConfig), { position: { of: this.dateRangeBox.$element() } }) }; _proto.popupShowingHandler = function() { var _this$_widget; null === (_this$_widget = this._widget) || void 0 === _this$_widget ? void 0 : _this$_widget._restoreViewsMinMaxOptions(); this._dateSelectedCounter = 0 }; _proto._getPopup = function() { return _CalendarStrategy.prototype._getPopup.call(this) || this.dateRangeBox.getStartDateBox()._popup }; _proto.getFirstPopupElement = function() { var $popupWrapper = this._getPopup().$wrapper(); var $todayButton = $popupWrapper.find(".".concat("dx-button-today")); if ($todayButton.length) { return $todayButton } return $popupWrapper.find(".dx-popup-done.dx-button") }; _proto.getLastPopupElement = function() { return this._getPopup().$wrapper().find(".dx-popup-cancel.dx-button") }; _proto.supportedKeys = function() { var _this2 = this; return _extends({}, _CalendarStrategy.prototype.supportedKeys.call(this), { rightArrow: function() { if (_this2.dateRangeBox.option("opened")) { return true } }, leftArrow: function() { if (_this2.dateRangeBox.option("opened")) { return true } }, enter: function(e) { if (_this2.dateRangeBox.option("opened")) { var dateBoxValue = _this2.dateBox.dateOption("value"); _this2.dateBox._valueChangeEventHandler(e); var newDateBoxValue = _this2.dateBox.dateOption("value"); var dateBoxValueChanged = !(0, _uiDate_range.isSameDates)(dateBoxValue, newDateBoxValue); if (dateBoxValueChanged) { _this2.dateRangeBox.getStartDateBox()._strategy._widget.option("values", _this2.dateRangeBox.option("value")) } else { _this2.dateRangeBox.getStartDateBox()._strategy._widget._enterKeyHandler(e) } return false } }, tab: function(e) { if (!_this2.getDateRangeBox().option("opened")) { return } if (_this2._isInstantlyMode()) { if (!e.shiftKey && _this2.getDateRangeBox()._isEndDateActiveElement() || e.shiftKey && _this2.getDateRangeBox()._isStartDateActiveElement()) { _this2.dateRangeBox.close() } return } if (!e.shiftKey && _this2.getDateRangeBox()._isStartDateActiveElement() || e.shiftKey && _this2.getDateRangeBox()._isEndDateActiveElement()) { return } var $focusableElement = e.shiftKey ? _this2.getLastPopupElement() : _this2.getFirstPopupElement(); if ($focusableElement) { _events_engine.default.trigger($focusableElement, "focus"); $focusableElement.select() } e.preventDefault() } }) }; _proto._getTodayButtonConfig = function() { var _this3 = this; var todayButtonConfig = _CalendarStrategy.prototype._getTodayButtonConfig.call(this); todayButtonConfig.options.onInitialized = function(e) { _this3.dateBox._popupButtonInitializedHandler(e) }; return todayButtonConfig }; _proto._getWidgetOptions = function() { var _this$dateRangeBox$op = this.dateRangeBox.option(), disabledDatesValue = _this$dateRangeBox$op.disabledDates, value = _this$dateRangeBox$op.value, multiView = _this$dateRangeBox$op.multiView; var disabledDates = (0, _type.isFunction)(disabledDatesValue) ? this._injectComponent(disabledDatesValue) : disabledDates; return (0, _extend.extend)(_CalendarStrategy.prototype._getWidgetOptions.call(this), { disabledDates: disabledDates, values: value, selectionMode: "range", viewsCount: multiView ? 2 : 1, _allowChangeSelectionOrder: true, _currentSelection: this.getCurrentSelection() }) }; _proto._refreshActiveDescendant = function(e) { this.dateRangeBox.setAria("activedescendant", e.actionValue) }; _proto._injectComponent = function(func) { var _this4 = this; return function(params) { return func((0, _extend.extend)(params, { component: _this4.dateRangeBox })) } }; _proto.getKeyboardListener = function() { return this.dateRangeBox.getStartDateBox() ? this.dateRangeBox.getStartDateBox()._strategy._widget : this._widget }; _proto.getValue = function() { return this._widget.option("values") }; _proto._updateValue = function() { var _this$dateRangeBox$op2 = this.dateRangeBox.option(), value = _this$dateRangeBox$op2.value; if (!this._widget) { return } this._shouldPreventFocusChange = true; this._widget.option("values", value) }; _proto._isInstantlyMode = function() { return "instantly" === this.dateRangeBox.option("applyValueMode") }; _proto._valueChangedHandler = function(_ref) { var value = _ref.value, previousValue = _ref.previousValue, event = _ref.event; if ((0, _uiDate_range.isSameDateArrays)(value, previousValue) && !this._widget._valueSelected) { this._shouldPreventFocusChange = false; return } this._widget._valueSelected = false; if (this._isInstantlyMode()) { if (!this.dateRangeBox.option("disableOutOfRangeSelection")) { if ("startDate" === this._getCalendarCurrentSelection()) { this._dateSelectedCounter = 0 } else { this._dateSelectedCounter = 1; if (!value[0]) { this._dateSelectedCounter = -1 } else if ((0, _uiDate_range.getDeserializedDate)(value[0]) > (0, _uiDate_range.getDeserializedDate)(value[1])) { this.dateRangeBox.updateValue([value[0], null], event); return } } } this.dateRangeBox.updateValue(value, event); this._dateSelectedCounter += 1; if (2 === this._dateSelectedCounter) { this.getDateRangeBox().close(); return } } else if ("endDate" === this._getCalendarCurrentSelection()) { if (value[0] && (0, _uiDate_range.getDeserializedDate)(value[0]) > (0, _uiDate_range.getDeserializedDate)(value[1])) { return } } if (!this._shouldPreventFocusChange) { this._moveFocusToNextInput() } this._shouldPreventFocusChange = false }; _proto._moveFocusToNextInput = function() { var targetDateBox = "startDate" === this._getCalendarCurrentSelection() ? this.getDateRangeBox().getEndDateBox() : this.getDateRangeBox().getStartDateBox(); targetDateBox.focus(); _events_engine.default.trigger(targetDateBox.field(), "dxclick") }; _proto.getCurrentSelection = function() { return this.dateRangeBox.option("_currentSelection") }; _proto._getCalendarCurrentSelection = function() { return this._widget.option("_currentSelection") }; _proto._closeDropDownByEnter = function() { if ("startDate" === this._getCalendarCurrentSelection()) { return false } else { return true } }; _proto.dateBoxValue = function() { if (arguments.length) { return this.dateBox.dateValue.apply(this.dateBox, arguments) } else { return this.dateBox.dateOption.apply(this.dateBox, ["value"]) } }; _proto._cellClickHandler = function() {}; _proto.setActiveStartDateBox = function() { this.dateBox = this.dateRangeBox.getStartDateBox() }; _proto.setActiveEndDateBox = function() { this.dateBox = this.dateRangeBox.getEndDateBox() }; _proto.getDateRangeBox = function() { return this.dateRangeBox }; return RangeCalendarStrategy }(_uiDate_boxStrategy.default); var _default = RangeCalendarStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 86974: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_range_box/ui.date_range.utils.js ***! \**************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.sortDatesArray = exports.monthDifference = exports.isSameDates = exports.isSameDateArrays = exports.getDeserializedDate = void 0; var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date_serialization */ 69434)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var getDeserializedDate = function(value) { return _date_serialization.default.deserializeDate(value) }; exports.getDeserializedDate = getDeserializedDate; var isSameDates = function(date1, date2) { if (!date1 && !date2) { return true } return _date.default.sameDate(getDeserializedDate(date1), getDeserializedDate(date2)) }; exports.isSameDates = isSameDates; exports.isSameDateArrays = function(value, previousValue) { var _value = _slicedToArray(value, 2), startDate = _value[0], endDate = _value[1]; var _previousValue = _slicedToArray(previousValue, 2), previousStartDate = _previousValue[0], previousEndDate = _previousValue[1]; return isSameDates(startDate, previousStartDate) && isSameDates(endDate, previousEndDate) }; exports.sortDatesArray = function(value) { var _value2 = _slicedToArray(value, 2), startDate = _value2[0], endDate = _value2[1]; if (startDate && endDate && getDeserializedDate(startDate) > getDeserializedDate(endDate)) { return [endDate, startDate] } else { return value } }; exports.monthDifference = function(date1, date2) { return 12 * (date2.getFullYear() - date1.getFullYear()) - date1.getMonth() + date2.getMonth() } }, 64850: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_range_box/ui.date_range_box.js ***! \************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _icon = __webpack_require__( /*! ../../core/utils/icon */ 44899); var _config = _interopRequireDefault(__webpack_require__( /*! ../../core/config */ 80209)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _themes = __webpack_require__( /*! ../themes */ 75811); var _editor = _interopRequireDefault(__webpack_require__( /*! ../editor/editor */ 96452)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./ui.multiselect_date_box */ 56120)); var _index = _interopRequireDefault(__webpack_require__( /*! ../text_box/texteditor_button_collection/index */ 91202)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../drop_down_editor/ui.drop_down_button */ 29783)); var _uiText_editor = _interopRequireDefault(__webpack_require__( /*! ../text_box/ui.text_editor.clear */ 49714)); var _function_template = __webpack_require__( /*! ../../core/templates/function_template */ 68494); var _uiDate_range = __webpack_require__( /*! ./ui.date_range.utils */ 86974); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _inflector = __webpack_require__( /*! ../../core/utils/inflector */ 78008); var _index2 = __webpack_require__( /*! ../../events/utils/index */ 39611); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || _unsupportedIterableToArray(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || _unsupportedIterableToArray(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _unsupportedIterableToArray(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var EVENTS_LIST = ["KeyDown", "KeyUp", "Change", "Cut", "Copy", "Paste", "Input", "EnterKey"]; var DateRangeBox = function(_Editor) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DateRangeBox, _Editor); function DateRangeBox() { return _Editor.apply(this, arguments) || this } var _proto = DateRangeBox.prototype; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Editor.prototype._getDefaultOptions.call(this), { acceptCustomValue: true, activeStateEnabled: true, applyButtonText: _message.default.format("OK"), applyValueMode: "instantly", buttons: void 0, calendarOptions: {}, cancelButtonText: _message.default.format("Cancel"), endDateOutOfRangeMessage: _message.default.format("dxDateRangeBox-endDateOutOfRangeMessage"), dateSerializationFormat: void 0, deferRendering: true, disableOutOfRangeSelection: false, disabledDates: null, displayFormat: null, dropDownButtonTemplate: "dropDownButton", dropDownOptions: {}, endDate: null, endDateInputAttr: {}, endDateLabel: _message.default.format("dxDateRangeBox-endDateLabel"), endDateName: "", endDatePlaceholder: "", endDateText: void 0, focusStateEnabled: true, hoverStateEnabled: true, invalidStartDateMessage: _message.default.format("dxDateRangeBox-invalidStartDateMessage"), invalidEndDateMessage: _message.default.format("dxDateRangeBox-invalidEndDateMessage"), isValid: true, labelMode: "static", max: void 0, min: void 0, multiView: true, onChange: null, onClosed: null, onCopy: null, onCut: null, onEnterKey: null, onInput: null, onKeyDown: null, onKeyUp: null, onOpened: null, onPaste: null, onValueChanged: null, openOnFieldClick: true, opened: false, pickerType: "calendar", readOnly: false, showClearButton: false, showDropDownButton: true, spellcheck: false, startDate: null, startDateInputAttr: {}, startDateLabel: _message.default.format("dxDateRangeBox-startDateLabel"), startDateName: "", startDateOutOfRangeMessage: _message.default.format("dxDateRangeBox-startDateOutOfRangeMessage"), startDatePlaceholder: "", startDateText: void 0, stylingMode: (0, _config.default)().editorStylingMode || "outlined", todayButtonText: _message.default.format("dxCalendar-todayButtonText"), useHiddenSubmitElement: false, useMaskBehavior: false, validationError: null, validationErrors: null, validationMessageMode: "auto", validationMessagePosition: "auto", validationStatus: "valid", value: [null, null], valueChangeEvent: "change", _internalValidationErrors: [], _currentSelection: "startDate" }) }; _proto._defaultOptionsRules = function() { return _Editor.prototype._defaultOptionsRules.call(this).concat([{ device: function() { var themeName = (0, _themes.current)(); return (0, _themes.isMaterial)(themeName) }, options: { stylingMode: (0, _config.default)().editorStylingMode || "filled", labelMode: "floating" } }, { device: function() { var realDevice = _devices.default.real(); var platform = realDevice.platform; return "ios" === platform || "android" === platform }, options: { multiView: false } }]) }; _proto._initOptions = function(options) { _Editor.prototype._initOptions.call(this, options); var _this$initialOption = this.initialOption(), initialValue = _this$initialOption.value; var _this$option = this.option(), value = _this$option.value, startDate = _this$option.startDate, endDate = _this$option.endDate; if (value[0] && value[1] && (0, _uiDate_range.getDeserializedDate)(value[0]) > (0, _uiDate_range.getDeserializedDate)(value[1])) { value = [value[1], value[0]] } if (startDate && endDate && (0, _uiDate_range.getDeserializedDate)(startDate) > (0, _uiDate_range.getDeserializedDate)(endDate)) { var _ref = [endDate, startDate]; startDate = _ref[0]; endDate = _ref[1] } if ((0, _uiDate_range.isSameDateArrays)(initialValue, value)) { value = [startDate, endDate] } else { var _value = value; var _value2 = _slicedToArray(_value, 2); startDate = _value2[0]; endDate = _value2[1] } this.option({ startDate: startDate, endDate: endDate, value: value }) }; _proto._createOpenAction = function() { this._openAction = this._createActionByOption("onOpened", { excludeValidators: ["disabled", "readOnly"] }) }; _proto._raiseOpenAction = function() { if (!this._openAction) { this._createOpenAction() } this._openAction() }; _proto._createCloseAction = function() { this._closeAction = this._createActionByOption("onClosed", { excludeValidators: ["disabled", "readOnly"] }) }; _proto._raiseCloseAction = function() { if (!this._closeAction) { this._createCloseAction() } this._closeAction() }; _proto._createEventAction = function(eventName) { this["_".concat((0, _inflector.camelize)(eventName), "Action")] = this._createActionByOption("on".concat(eventName), { excludeValidators: ["readOnly"] }) }; _proto._raiseAction = function(eventName, event) { var action = this["_".concat((0, _inflector.camelize)(eventName), "Action")]; if (!action) { this._createEventAction(eventName) } this["_".concat((0, _inflector.camelize)(eventName), "Action")]({ event: event }) }; _proto._initTemplates = function() { this._templateManager.addDefaultTemplates({ dropDownButton: new _function_template.FunctionTemplate((function(options) { var $icon = (0, _renderer.default)("<div>").addClass("dx-dropdowneditor-icon"); (0, _renderer.default)(options.container).append($icon) })) }); this.callBase() }; _proto._getDefaultButtons = function() { return [{ name: "clear", Ctor: _uiText_editor.default }, { name: "dropDown", Ctor: _ui2.default }] }; _proto._initMarkup = function() { this.$element().addClass("dx-daterangebox").addClass("dx-texteditor").addClass("dx-dropdowneditor"); this._toggleDropDownEditorActiveClass(); this._toggleEditorLabelClass(); this._toggleReadOnlyState(); this._renderStylingMode(); this._renderEndDateBox(); this._renderSeparator(); this._renderStartDateBox(); this._toggleEmptinessState(); this._renderEmptinessEvent(); this._renderButtonsContainer(); _Editor.prototype._initMarkup.call(this); this.$element().removeClass("dx-show-invalid-badge") }; _proto._renderEmptinessEvent = function() { var eventName = (0, _index2.addNamespace)("input blur", this.NAME); _events_engine.default.off(this._focusTarget(), eventName); _events_engine.default.on(this._focusTarget(), eventName, this._toggleEmptinessState.bind(this)) }; _proto._toggleEmptinessState = function() { var isEmpty = this.getStartDateBox().$element().hasClass("dx-texteditor-empty") && this.getEndDateBox().$element().hasClass("dx-texteditor-empty"); this.$element().toggleClass("dx-texteditor-empty", isEmpty) }; _proto._attachKeyboardEvents = function() { if (!this.option("readOnly")) { _Editor.prototype._attachKeyboardEvents.call(this) } }; _proto._toggleReadOnlyState = function() { var _this$option2 = this.option(), readOnly = _this$option2.readOnly; this.$element().toggleClass("dx-state-readonly", !!readOnly) }; _proto._toggleDropDownEditorActiveClass = function() { var _this$option3 = this.option(), opened = _this$option3.opened; this.$element().toggleClass("dx-dropdowneditor-active", opened) }; _proto._toggleEditorLabelClass = function() { var _this$option4 = this.option(), startDateLabel = _this$option4.startDateLabel, endDateLabel = _this$option4.endDateLabel, labelMode = _this$option4.labelMode; var isLabelVisible = (!!startDateLabel || !!endDateLabel) && "hidden" !== labelMode; this.$element().removeClass("dx-daterangebox-with-floating-label").removeClass("dx-daterangebox-with-label"); if (isLabelVisible) { this.$element().addClass("floating" === labelMode ? "dx-daterangebox-with-floating-label" : "dx-daterangebox-with-label") } }; _proto._renderStartDateBox = function() { this._$startDateBox = (0, _renderer.default)("<div>").addClass("dx-start-datebox").prependTo(this.$element()); this._startDateBox = this._createComponent(this._$startDateBox, _ui.default, this._getStartDateBoxConfig()); this._startDateBox.NAME = "_StartDateBox" }; _proto._renderEndDateBox = function() { this._$endDateBox = (0, _renderer.default)("<div>").addClass("dx-end-datebox").appendTo(this.$element()); this._endDateBox = this._createComponent(this._$endDateBox, _ui.default, this._getEndDateBoxConfig()); this._endDateBox.NAME = "_EndDateBox" }; _proto._renderSeparator = function() { var $icon = (0, _icon.getImageContainer)("to"); this._$separator = (0, _renderer.default)("<div>").addClass("dx-daterangebox-separator").prependTo(this.$element()); this._renderPreventBlurOnSeparatorClick(); $icon.appendTo(this._$separator) }; _proto._renderPreventBlurOnSeparatorClick = function() { var _this = this; var eventName = (0, _index2.addNamespace)("mousedown", this.NAME); _events_engine.default.off(this._$separator, eventName); _events_engine.default.on(this._$separator, eventName, (function(e) { if (!_this._hasActiveElement()) { _this.focus() } e.preventDefault() })) }; _proto._renderButtonsContainer = function() { this._buttonCollection = new _index.default(this, this._getDefaultButtons()); this._$beforeButtonsContainer = null; this._$afterButtonsContainer = null; var _this$option5 = this.option(), buttons = _this$option5.buttons; this._$beforeButtonsContainer = this._buttonCollection.renderBeforeButtons(buttons, this.$element()); this._$afterButtonsContainer = this._buttonCollection.renderAfterButtons(buttons, this.$element()) }; _proto._updateButtons = function(names) { this._buttonCollection.updateButtons(names) }; _proto._openHandler = function() { this._toggleOpenState() }; _proto._shouldCallOpenHandler = function() { return true }; _proto._toggleOpenState = function() { var _this$option6 = this.option(), opened = _this$option6.opened; if (!opened) { this.getStartDateBox()._focusInput() } if (!this.option("readOnly")) { this.option("opened", !this.option("opened")) } }; _proto._clearValueHandler = function(e) { e.stopPropagation(); this._saveValueChangeEvent(e); this.reset(); !this._isStartDateActiveElement() && this.focus(); _events_engine.default.trigger((0, _renderer.default)(this.startDateField()), "input") }; _proto._isClearButtonVisible = function() { return this.option("showClearButton") && !this.option("readOnly") }; _proto._focusInHandler = function(event) { if (this._shouldSkipFocusEvent(event)) { return } _Editor.prototype._focusInHandler.call(this, event) }; _proto._focusOutHandler = function(event) { if (this._shouldSkipFocusEvent(event)) { return } _Editor.prototype._focusOutHandler.call(this, event) }; _proto._shouldSkipFocusEvent = function(event) { var target = event.target, relatedTarget = event.relatedTarget; return (0, _renderer.default)(target).is(this.startDateField()) && (0, _renderer.default)(relatedTarget).is(this.endDateField()) || (0, _renderer.default)(target).is(this.endDateField()) && (0, _renderer.default)(relatedTarget).is(this.startDateField()) }; _proto._getPickerType = function() { var _this$option7 = this.option(), pickerType = _this$option7.pickerType; return ["calendar", "native"].includes(pickerType) ? pickerType : "calendar" }; _proto._getRestErrors = function(allErrors, partialErrors) { return allErrors.filter((function(error) { return !partialErrors.some((function(prevError) { return error.message === prevError.message })) })) }; _proto._syncValidationErrors = function(optionName, newPartialErrors, previousPartialErrors) { newPartialErrors || (newPartialErrors = []); previousPartialErrors || (previousPartialErrors = []); var allErrors = this.option(optionName) || []; var otherErrors = this._getRestErrors(allErrors, previousPartialErrors); this.option(optionName, [].concat(_toConsumableArray(otherErrors), _toConsumableArray(newPartialErrors))) }; _proto._getDateBoxConfig = function() { var _this2 = this; var options = this.option(); var dateBoxConfig = { acceptCustomValue: options.acceptCustomValue, activeStateEnabled: options.activeStateEnabled, applyValueMode: options.applyValueMode, dateOutOfRangeMessage: options.dateOutOfRangeMessage, dateSerializationFormat: options.dateSerializationFormat, deferRendering: options.deferRendering, disabled: options.disabled, displayFormat: options.displayFormat, focusStateEnabled: options.focusStateEnabled, isValid: options.isValid, tabIndex: options.tabIndex, height: options.height, hoverStateEnabled: options.hoverStateEnabled, labelMode: options.labelMode, max: options.max, min: options.min, openOnFieldClick: options.openOnFieldClick, pickerType: this._getPickerType(), readOnly: options.readOnly, rtlEnabled: options.rtlEnabled, spellcheck: options.spellcheck, stylingMode: options.stylingMode, type: "date", useMaskBehavior: options.useMaskBehavior, validationMessageMode: options.validationMessageMode, validationMessagePosition: options.validationMessagePosition, valueChangeEvent: options.valueChangeEvent, onKeyDown: options.onKeyDown, onKeyUp: options.onKeyUp, onChange: options.onChange, onInput: options.onInput, onCut: options.onCut, onCopy: options.onCopy, onPaste: options.onPaste, onEnterKey: options.onEnterKey, _dateRangeBoxInstance: this, _showValidationMessage: false }; (0, _iterator.each)(EVENTS_LIST, (function(_, eventName) { var optionName = "on".concat(eventName); if (_this2.hasActionSubscription(optionName)) { dateBoxConfig[optionName] = function(e) { _this2._raiseAction(eventName, e.event) } } })); return dateBoxConfig }; _proto._hideOnOutsideClickHandler = function(_ref2) { var target = _ref2.target; var $target = (0, _renderer.default)(target); var dropDownButton = this.getButton("dropDown"); var $dropDownButton = dropDownButton && dropDownButton.$element(); var isInputClicked = !!$target.closest(this.$element()).length; var isDropDownButtonClicked = !!$target.closest($dropDownButton).length; var isOutsideClick = !isInputClicked && !isDropDownButtonClicked; return isOutsideClick }; _proto._getStartDateBoxConfig = function() { var _options$dropDownOpti, _this3 = this; var options = this.option(); return _extends({}, this._getDateBoxConfig(), { applyButtonText: options.applyButtonText, calendarOptions: options.calendarOptions, cancelButtonText: options.cancelButtonText, dateOutOfRangeMessage: options.startDateOutOfRangeMessage, deferRendering: options.deferRendering, disabledDates: null === (_options$dropDownOpti = options.dropDownOptions) || void 0 === _options$dropDownOpti ? void 0 : _options$dropDownOpti.disabledDates, dropDownOptions: _extends({ showTitle: false, title: "", hideOnOutsideClick: function(e) { return _this3._hideOnOutsideClickHandler(e) }, hideOnParentScroll: false, preventScrollEvents: false }, options.dropDownOptions), invalidDateMessage: options.invalidStartDateMessage, onValueChanged: function(_ref3) { var value = _ref3.value, event = _ref3.event; var newValue = [value, _this3.option("value")[1]]; _this3.updateValue(newValue, event) }, opened: options.opened, onOpened: function() { _this3._raiseOpenAction() }, onClosed: function() { _this3._raiseCloseAction() }, onOptionChanged: function(args) { var name = args.name, value = args.value, previousValue = args.previousValue; if ("text" === name) { _this3.option("startDateText", value) } if ("validationErrors" === name) { _this3._syncValidationErrors("_internalValidationErrors", value, previousValue) } }, todayButtonText: options.todayButtonText, showClearButton: false, showDropDownButton: false, value: this.option("value")[0], label: options.startDateLabel, placeholder: options.startDatePlaceholder, inputAttr: options.startDateInputAttr, name: options.startDateName, _showValidationIcon: false }) }; _proto._getEndDateBoxConfig = function() { var _this4 = this; var options = this.option(); return _extends({}, this._getDateBoxConfig(), { invalidDateMessage: options.invalidEndDateMessage, dateOutOfRangeMessage: options.endDateOutOfRangeMessage, onValueChanged: function(_ref4) { var value = _ref4.value, event = _ref4.event; var newValue = [_this4.option("value")[0], value]; _this4.updateValue(newValue, event) }, onOptionChanged: function(args) { var name = args.name, value = args.value, previousValue = args.previousValue; if ("text" === name) { _this4.option("endDateText", value) } if ("validationErrors" === name) { _this4._syncValidationErrors("_internalValidationErrors", value, previousValue) } }, opened: options.opened, showClearButton: false, showDropDownButton: false, value: this.option("value")[1], label: options.endDateLabel, placeholder: options.endDatePlaceholder, deferRendering: true, inputAttr: options.endDateInputAttr, name: options.endDateName }) }; _proto._getValidationMessagePosition = function() { var _this$option8 = this.option(), validationMessagePosition = _this$option8.validationMessagePosition; if ("auto" === validationMessagePosition) { return this.option("opened") ? "top" : "bottom" } return validationMessagePosition }; _proto.updateValue = function(newValue, event) { if (!(0, _uiDate_range.isSameDateArrays)(newValue, this.option("value"))) { if (event) { this._saveValueChangeEvent(event) } this.option("value", newValue) } }; _proto._updateDateBoxesValue = function(newValue) { var startDateBox = this.getStartDateBox(); var endDateBox = this.getEndDateBox(); var _newValue = _slicedToArray(newValue, 2), newStartDate = _newValue[0], newEndDate = _newValue[1]; var oldStartDate = startDateBox.option("value"); var oldEndDate = endDateBox.option("value"); if (!(0, _uiDate_range.isSameDates)(newStartDate, oldStartDate)) { startDateBox.option("value", newStartDate) } if (!(0, _uiDate_range.isSameDates)(newEndDate, oldEndDate)) { endDateBox.option("value", newEndDate) } }; _proto._renderAccessKey = function() { var $startDateInput = (0, _renderer.default)(this.field()[0]); var _this$option9 = this.option(), accessKey = _this$option9.accessKey; $startDateInput.attr("accesskey", accessKey) }; _proto._focusTarget = function() { return this.$element().find(".".concat("dx-texteditor-input")) }; _proto._focusEventTarget = function() { return this.element() }; _proto._focusClassTarget = function() { return this.$element() }; _proto._toggleFocusClass = function(isFocused, $element) { _Editor.prototype._toggleFocusClass.call(this, isFocused, this._focusClassTarget($element)) }; _proto._hasActiveElement = function() { return this._isStartDateActiveElement() || this._isEndDateActiveElement() }; _proto._isStartDateActiveElement = function() { return this._isActiveElement(this.startDateField()) }; _proto._isEndDateActiveElement = function() { return this._isActiveElement(this.endDateField()) }; _proto._isActiveElement = function(input) { return (0, _renderer.default)(input).is(_dom_adapter.default.getActiveElement(input)) }; _proto._popupContentIdentifier = function(identifier) { if (identifier) { this._popupContentId = identifier } return this._popupContentId }; _proto._setAriaAttributes = function() { var _this$option10 = this.option(), opened = _this$option10.opened; var arias = { expanded: opened, controls: this._popupContentIdentifier() }; var ariaOwns = opened ? this._popupContentIdentifier() : void 0; this.setAria(arias); this.setAria("owns", ariaOwns, this.$element()) }; _proto._cleanButtonContainers = function() { var _this$_$beforeButtons, _this$_$afterButtonsC; null === (_this$_$beforeButtons = this._$beforeButtonsContainer) || void 0 === _this$_$beforeButtons ? void 0 : _this$_$beforeButtons.remove(); null === (_this$_$afterButtonsC = this._$afterButtonsContainer) || void 0 === _this$_$afterButtonsC ? void 0 : _this$_$afterButtonsC.remove(); this._buttonCollection.clean(); this._$beforeButtonsContainer = null; this._$afterButtonsContainer = null }; _proto._applyCustomValidation = function(value) { this.validationRequest.fire({ editor: this, value: value }) }; _proto._clean = function() { var _this$_$startDateBox, _this$_$endDateBox, _this$_$separator; this._cleanButtonContainers(); null === (_this$_$startDateBox = this._$startDateBox) || void 0 === _this$_$startDateBox ? void 0 : _this$_$startDateBox.remove(); null === (_this$_$endDateBox = this._$endDateBox) || void 0 === _this$_$endDateBox ? void 0 : _this$_$endDateBox.remove(); null === (_this$_$separator = this._$separator) || void 0 === _this$_$separator ? void 0 : _this$_$separator.remove(); _Editor.prototype._clean.call(this) }; _proto._optionChanged = function(args) { var name = args.name, fullName = args.fullName, value = args.value, previousValue = args.previousValue; switch (name) { case "acceptCustomValue": case "dateSerializationFormat": case "displayFormat": case "max": case "min": case "openOnFieldClick": case "spellcheck": case "useMaskBehavior": case "valueChangeEvent": this.getStartDateBox().option(name, value); this.getEndDateBox().option(name, value); break; case "rtlEnabled": _Editor.prototype._optionChanged.call(this, args); break; case "labelMode": this._toggleEditorLabelClass(); this.getStartDateBox().option(name, value); this.getEndDateBox().option(name, value); break; case "applyButtonText": case "applyValueMode": case "cancelButtonText": case "deferRendering": case "disabledDates": case "todayButtonText": this.getStartDateBox().option(name, value); break; case "opened": this._toggleDropDownEditorActiveClass(); this.getStartDateBox().option(name, value); this.getEndDateBox()._setOptionWithoutOptionChange(name, value); break; case "buttons": this._cleanButtonContainers(); this._renderButtonsContainer(); break; case "calendarOptions": case "dropDownOptions": this.getStartDateBox().option(fullName, value); break; case "pickerType": var pickerType = this._getPickerType(); this.getStartDateBox().option(name, pickerType); this.getEndDateBox().option(name, pickerType); break; case "dateOutOfRangeMessage": break; case "height": this.getStartDateBox().option(name, value); this.getEndDateBox().option(name, value); _Editor.prototype._optionChanged.call(this, args); break; case "dropDownButtonTemplate": case "showDropDownButton": this._updateButtons(["dropDown"]); break; case "showClearButton": this._updateButtons(["clear"]); break; case "endDate": this.updateValue([this.option("value")[0], value]); break; case "startDateLabel": this._toggleEditorLabelClass(); this.getStartDateBox().option("label", value); break; case "endDateLabel": this._toggleEditorLabelClass(); this.getEndDateBox().option("label", value); break; case "startDatePlaceholder": this.getStartDateBox().option("placeholder", value); break; case "endDatePlaceholder": this.getEndDateBox().option("placeholder", value); break; case "startDateInputAttr": this.getStartDateBox().option("inputAttr", value); break; case "startDateName": this.getStartDateBox().option("name", value); break; case "endDateInputAttr": this.getEndDateBox().option("inputAttr", value); break; case "endDateName": this.getEndDateBox().option("name", value); break; case "multiView": this.getStartDateBox().option("calendarOptions.viewsCount", value ? 2 : 1); break; case "tabIndex": case "activeStateEnabled": case "focusStateEnabled": case "hoverStateEnabled": _Editor.prototype._optionChanged.call(this, args); this.getStartDateBox().option(name, value); this.getEndDateBox().option(name, value); break; case "onValueChanged": this._createValueChangeAction(); break; case "onOpened": this._createOpenAction(); break; case "onClosed": this._createCloseAction(); break; case "onKeyDown": case "onKeyUp": case "onChange": case "onInput": case "onCut": case "onCopy": case "onPaste": case "onEnterKey": this._createEventAction(name.replace("on", "")); break; case "readOnly": case "disabled": this._updateButtons(); _Editor.prototype._optionChanged.call(this, args); this.getStartDateBox().option(name, value); this.getEndDateBox().option(name, value); break; case "disableOutOfRangeSelection": break; case "startDate": this.updateValue([value, this.option("value")[1]]); break; case "stylingMode": this._renderStylingMode(); this.getStartDateBox().option(name, value); this.getEndDateBox().option(name, value); break; case "startDateText": case "endDateText": case "useHiddenSubmitElement": break; case "invalidStartDateMessage": this.getStartDateBox().option("invalidDateMessage", value); break; case "invalidEndDateMessage": this.getEndDateBox().option("invalidDateMessage", value); break; case "startDateOutOfRangeMessage": this.getStartDateBox().option("dateOutOfRangeMessage", value); break; case "endDateOutOfRangeMessage": this.getEndDateBox().option("dateOutOfRangeMessage", value); break; case "validationMessagePosition": this.getStartDateBox().option(name, value); _Editor.prototype._optionChanged.call(this, args); break; case "_internalValidationErrors": this._syncValidationErrors("validationErrors", value, previousValue); var validationErrors = this.option("validationErrors"); this.option("isValid", !(null !== validationErrors && void 0 !== validationErrors && validationErrors.length)); break; case "isValid": this.getStartDateBox().option(name, value); this.getEndDateBox().option(name, value); var isValid = value && !this.option("_internalValidationErrors").length; if (this._shouldSkipIsValidChange || isValid === value) { _Editor.prototype._optionChanged.call(this, args); return } this._shouldSkipIsValidChange = true; this.option("isValid", isValid); this._shouldSkipIsValidChange = false; break; case "validationErrors": var internalValidationErrors = this.option("_internalValidationErrors") || []; var allErrors = value || []; var externalErrors = this._getRestErrors(allErrors, internalValidationErrors); var errors = [].concat(_toConsumableArray(externalErrors), _toConsumableArray(internalValidationErrors)); var newValue = errors.length ? errors : null; this._options.silent("validationErrors", newValue); _Editor.prototype._optionChanged.call(this, _extends({}, args, { value: newValue })); break; case "value": var _newValue2 = (0, _uiDate_range.sortDatesArray)(value); if (!(0, _uiDate_range.isSameDateArrays)(_newValue2, previousValue)) { this._setOptionWithoutOptionChange("value", _newValue2); this._setOptionWithoutOptionChange("startDate", _newValue2[0]); this._setOptionWithoutOptionChange("endDate", _newValue2[1]); this._applyCustomValidation(_newValue2); this._updateDateBoxesValue(_newValue2); this.getStartDateBox()._strategy.renderValue(); this._toggleEmptinessState(); this._raiseValueChangeAction(_newValue2, previousValue); this._saveValueChangeEvent(void 0) } break; case "_currentSelection": break; default: _Editor.prototype._optionChanged.call(this, args) } }; _proto.getStartDateBox = function() { return this._startDateBox }; _proto.getEndDateBox = function() { return this._endDateBox }; _proto.getButton = function(name) { return this._buttonCollection.getButton(name) }; _proto.open = function() { this.option("opened", true) }; _proto.close = function() { this.option("opened", false) }; _proto.content = function() { return this.getStartDateBox().content() }; _proto.field = function() { return [this.startDateField(), this.endDateField()] }; _proto.startDateField = function() { return this.getStartDateBox().field() }; _proto.endDateField = function() { return this.getEndDateBox().field() }; _proto.focus = function() { this.getStartDateBox().focus() }; _proto.reset = function() { _Editor.prototype.reset.call(this); this.getEndDateBox().reset(); this.getStartDateBox().reset() }; return DateRangeBox }(_editor.default); (0, _component_registrator.default)("dxDateRangeBox", DateRangeBox); var _default = DateRangeBox; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 56120: /*!******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/date_range_box/ui.multiselect_date_box.js ***! \******************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _uiDate_box = _interopRequireDefault(__webpack_require__( /*! ../date_box/ui.date_box.mask */ 28105)); var _rangeCalendar = _interopRequireDefault(__webpack_require__( /*! ./strategy/rangeCalendar */ 45020)); var _utils = __webpack_require__( /*! ../../events/utils */ 39611); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _uiDate_range = __webpack_require__( /*! ./ui.date_range.utils */ 86974); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var MultiselectDateBox = function(_DateBox) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(MultiselectDateBox, _DateBox); function MultiselectDateBox() { return _DateBox.apply(this, arguments) || this } var _proto = MultiselectDateBox.prototype; _proto._initStrategy = function() { this._strategy = new _rangeCalendar.default(this) }; _proto._initMarkup = function() { _DateBox.prototype._initMarkup.call(this); this._renderInputClickEvent() }; _proto._renderInputClickEvent = function() { var _this = this; var clickEventName = (0, _utils.addNamespace)("dxclick", this.NAME); _events_engine.default.off(this._input(), clickEventName); _events_engine.default.on(this._input(), clickEventName, (function(e) { _this._processValueChange(e) })) }; _proto._applyButtonHandler = function(_ref) { var event = _ref.event; var value = this._strategy.getValue(); this._strategy.dateRangeBox.updateValue(value, event); this.close(); this.option("focusStateEnabled") && this.focus() }; _proto._openHandler = function(e) { if (this._strategy.dateRangeBox.option("opened")) { return } _DateBox.prototype._openHandler.call(this, e) }; _proto._renderOpenedState = function() { var _this$option = this.option(), opened = _this$option.opened; this._getDateRangeBox().option("opened", opened); if (this._isStartDateBox()) { if (opened) { this._createPopup() } this._getDateRangeBox()._popupContentIdentifier(this._getControlsAria()); this._setPopupOption("visible", opened); this._getDateRangeBox()._setAriaAttributes() } }; _proto._getDateRangeBox = function() { return this._strategy.dateRangeBox }; _proto._isStartDateBox = function() { return this.$element().hasClass("dx-start-datebox") }; _proto._renderPopup = function() { _DateBox.prototype._renderPopup.call(this); if (this._isStartDateBox()) { var dateRangeBox = this._strategy.dateRangeBox; dateRangeBox._bindInnerWidgetOptions(this._popup, "dropDownOptions") } }; _proto._popupShownHandler = function() { var _this$_strategy$dateR; _DateBox.prototype._popupShownHandler.call(this); null === (_this$_strategy$dateR = this._strategy.dateRangeBox._validationMessage) || void 0 === _this$_strategy$dateR ? void 0 : _this$_strategy$dateR.option("positionSide", this._getValidationMessagePositionSide()) }; _proto._popupHiddenHandler = function() { var _this$_strategy$dateR2; _DateBox.prototype._popupHiddenHandler.call(this); null === (_this$_strategy$dateR2 = this._strategy.dateRangeBox._validationMessage) || void 0 === _this$_strategy$dateR2 ? void 0 : _this$_strategy$dateR2.option("positionSide", this._getValidationMessagePositionSide()) }; _proto._focusInHandler = function(e) { _DateBox.prototype._focusInHandler.call(this, e); this._processValueChange(e) }; _proto._popupElementTabHandler = function(e) { var $element = (0, _renderer.default)(e.currentTarget); if (e.shiftKey && $element.is(this._getFirstPopupElement())) { this._strategy.dateRangeBox.getEndDateBox().focus(); e.preventDefault() } if (!e.shiftKey && $element.is(this._getLastPopupElement())) { this._strategy.dateRangeBox.getStartDateBox().focus(); e.preventDefault() } }; _proto._processValueChange = function(e) { var target = e.target; var _this$_strategy$dateR3 = this._strategy.dateRangeBox.field(), _this$_strategy$dateR4 = _slicedToArray(_this$_strategy$dateR3, 2), startDateInput = _this$_strategy$dateR4[0], endDateInput = _this$_strategy$dateR4[1]; if ((0, _renderer.default)(target).is(startDateInput)) { this._strategy.dateRangeBox.option("_currentSelection", "startDate") } if ((0, _renderer.default)(target).is(endDateInput)) { this._strategy.dateRangeBox.option("_currentSelection", "endDate") } if (!this._strategy.dateRangeBox.getStartDateBox()._strategy._widget) { return } var calendar = this._strategy.dateRangeBox.getStartDateBox()._strategy._widget; var value = calendar.option("values"); var startDate = (0, _uiDate_range.getDeserializedDate)(value[0]); var endDate = (0, _uiDate_range.getDeserializedDate)(value[1]); if ((0, _renderer.default)(target).is(startDateInput)) { if (startDate) { calendar._skipNavigate = true; calendar.option("currentDate", startDate) } this._strategy.setActiveStartDateBox(); calendar.option("_currentSelection", "startDate"); if (this._strategy.dateRangeBox.option("disableOutOfRangeSelection")) { calendar._setViewsMaxOption(endDate) } } if ((0, _renderer.default)(target).is(endDateInput)) { if (endDate) { if (startDate && (0, _uiDate_range.monthDifference)(startDate, endDate) > 1) { calendar.option("currentDate", calendar._getDateByOffset(null, endDate)); calendar.option("currentDate", calendar._getDateByOffset(-1, endDate)) } calendar._skipNavigate = true; calendar.option("currentDate", endDate) } this._strategy.dateRangeBox.getStartDateBox()._strategy.setActiveEndDateBox(); calendar.option("_currentSelection", "endDate"); if (this._strategy.dateRangeBox.option("disableOutOfRangeSelection")) { calendar._setViewsMinOption(startDate) } } }; _proto._invalidate = function() { _DateBox.prototype._invalidate.call(this); this._refreshStrategy() }; _proto._updateInternalValidationState = function(isValid, validationMessage) { this.option({ isValid: isValid, validationError: isValid ? null : { message: validationMessage } }) }; _proto._recallInternalValidation = function(value) { this._applyInternalValidation(value) }; _proto._isTargetOutOfComponent = function(target) { var $dateRangeBox = this._strategy.dateRangeBox.$element(); var isTargetOutOfDateRangeBox = 0 === (0, _renderer.default)(target).closest($dateRangeBox).length; return _DateBox.prototype._isTargetOutOfComponent.call(this, target) && isTargetOutOfDateRangeBox }; _proto._optionChanged = function(args) { switch (args.name) { case "isValid": var isValid = this._strategy.dateRangeBox.option("isValid"); if (this._skipIsValidOptionChange || isValid === args.value) { _DateBox.prototype._optionChanged.call(this, args); return } this._skipIsValidOptionChange = true; this.option({ isValid: isValid }); this._skipIsValidOptionChange = false; break; default: _DateBox.prototype._optionChanged.call(this, args) } }; _proto.close = function() { this._strategy.getDateRangeBox().getStartDateBox().option("opened", false) }; return MultiselectDateBox }(_uiDate_box.default); var _default = MultiselectDateBox; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 28414: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/defer_rendering.js ***! \*******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _transition_executor = __webpack_require__( /*! ../animation/transition_executor/transition_executor */ 52431); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _visibility_change = __webpack_require__( /*! ../events/visibility_change */ 80506); var _load_indicator = _interopRequireDefault(__webpack_require__( /*! ./load_indicator */ 2492)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./widget/ui.widget */ 14390)); var _position = __webpack_require__( /*! ../core/utils/position */ 37518); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var ACTIONS = ["onRendered", "onShown"]; var DeferRendering = _ui.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { showLoadIndicator: false, renderWhen: void 0, animation: void 0, staggerItemSelector: void 0, onRendered: null, onShown: null }) }, _getAnonymousTemplateName: function() { return "content" }, _init: function() { this.transitionExecutor = new _transition_executor.TransitionExecutor; this._initElement(); this._initRender(); this._$initialContent = this.$element().clone().contents(); this._initActions(); this.callBase() }, _initElement: function() { this.$element().addClass("dx-deferrendering") }, _initRender: function() { var that = this; var $element = this.$element(); var renderWhen = this.option("renderWhen"); var doRender = function() { return that._renderDeferredContent() }; if ((0, _type.isPromise)(renderWhen)) { (0, _deferred.fromPromise)(renderWhen).done(doRender) } else { $element.data("dx-render-delegate", doRender); if (void 0 === renderWhen) { $element.addClass("dx-pending-rendering-manual") } } }, _initActions: function() { var _this = this; this._actions = {}; (0, _iterator.each)(ACTIONS, (function(_, action) { _this._actions[action] = _this._createActionByOption(action) || _common.noop })) }, _initMarkup: function() { this.callBase(); if (!this._initContent) { this._initContent = this._renderContent; this._renderContent = function() {} } this._initContent() }, _renderContentImpl: function() { this.$element().removeClass("dx-widget"); this.$element().append(this._$initialContent); this._setLoadingState() }, _renderDeferredContent: function() { var that = this; var $element = this.$element(); var result = new _deferred.Deferred; $element.removeClass("dx-pending-rendering-manual"); $element.addClass("dx-pending-rendering-active"); this._abortRenderTask(); this._renderTask = (0, _common.executeAsync)((function() { that._renderImpl().done((function() { var shownArgs = { element: $element }; that._actions.onShown([shownArgs]); result.resolve(shownArgs) })).fail((function() { result.rejectWith(result, arguments) })) })); return result.promise() }, _isElementInViewport: function(element) { var rect = (0, _position.getBoundingRect)(element); return rect.bottom >= 0 && rect.right >= 0 && rect.top <= (window.innerHeight || _dom_adapter.default.getDocumentElement().clientHeight) && rect.left <= (window.innerWidth || _dom_adapter.default.getDocumentElement().clientWidth) }, _animate: function() { var that = this; var $element = this.$element(); var animation = (0, _window.hasWindow)() && this.option("animation"); var staggerItemSelector = this.option("staggerItemSelector"); var animatePromise; that.transitionExecutor.stop(); if (animation) { if (staggerItemSelector) { $element.find(staggerItemSelector).each((function() { if (that._isElementInViewport(this)) { that.transitionExecutor.enter((0, _renderer.default)(this), animation) } })) } else { that.transitionExecutor.enter($element, animation) } animatePromise = that.transitionExecutor.start() } else { animatePromise = (new _deferred.Deferred).resolve().promise() } return animatePromise }, _renderImpl: function() { var $element = this.$element(); var renderedArgs = { element: $element }; var contentTemplate = this._getTemplate(this._templateManager.anonymousTemplateName); if (contentTemplate) { contentTemplate.render({ container: $element.empty(), noModel: true }) } this._setRenderedState($element); _events_engine.default.trigger($element, "dxcontentrendered"); this._actions.onRendered([renderedArgs]); this._isRendered = true; return this._animate() }, _setLoadingState: function() { var $element = this.$element(); var hasCustomLoadIndicator = !!$element.find(".dx-visible-while-pending-rendering").length; $element.addClass("dx-pending-rendering"); if (!hasCustomLoadIndicator) { $element.children().addClass("dx-invisible-while-pending-rendering") } if (this.option("showLoadIndicator")) { this._showLoadIndicator($element) } }, _showLoadIndicator: function($container) { this._$loadIndicator = new _load_indicator.default((0, _renderer.default)("<div>"), { visible: true }).$element().addClass("dx-deferrendering-load-indicator"); (0, _renderer.default)("<div>").addClass("dx-loadindicator-container").addClass("dx-deferrendering-loadindicator-container").append(this._$loadIndicator).appendTo($container) }, _setRenderedState: function() { var $element = this.$element(); if (this._$loadIndicator) { this._$loadIndicator.remove() } $element.removeClass("dx-pending-rendering"); $element.removeClass("dx-pending-rendering-active"); (0, _visibility_change.triggerShownEvent)($element.children()) }, _optionChanged: function(args) { var value = args.value; var previousValue = args.previousValue; switch (args.name) { case "renderWhen": if (false === previousValue && true === value) { this._renderOrAnimate() } else if (true === previousValue && false === value) { this.transitionExecutor.stop(); this._setLoadingState() } break; case "showLoadIndicator": case "onRendered": case "onShown": break; default: this.callBase(args) } }, _renderOrAnimate: function() { var result; if (this._isRendered) { this._setRenderedState(); result = this._animate() } else { result = this._renderDeferredContent() } return result }, renderContent: function() { return this._renderOrAnimate() }, _abortRenderTask: function() { if (this._renderTask) { this._renderTask.abort(); this._renderTask = void 0 } }, _dispose: function() { this.transitionExecutor.stop(true); this._abortRenderTask(); this._actions = void 0; this._$initialContent = void 0; this.callBase() } }); (0, _component_registrator.default)("dxDeferRendering", DeferRendering); var _default = DeferRendering; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 52311: /*!***********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram.js ***! \***********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./diagram/ui.diagram */ 83537), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 50984: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/diagram.bar.js ***! \***********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _diagram = __webpack_require__( /*! ./diagram.importer */ 348); var DiagramBar = function() { function DiagramBar(owner) { var _getDiagram = (0, _diagram.getDiagram)(), EventDispatcher = _getDiagram.EventDispatcher; this.onChanged = new EventDispatcher; this._owner = owner } var _proto = DiagramBar.prototype; _proto.raiseBarCommandExecuted = function(key, parameter) { this.onChanged.raise("notifyBarCommandExecuted", parseInt(key), parameter) }; _proto.getCommandKeys = function() { throw "Not Implemented" }; _proto.setItemValue = function(key, value) {}; _proto.setItemEnabled = function(key, enabled) {}; _proto.setItemVisible = function(key, enabled) {}; _proto.setEnabled = function(enabled) {}; _proto.setItemSubItems = function(key, items) {}; _proto.isVisible = function() { return true }; _proto._getKeys = function(items) { var _this = this; var keys = items.reduce((function(commands, item) { if (void 0 !== item.command) { commands.push(item.command) } if (item.items) { commands = commands.concat(_this._getKeys(item.items)) } return commands }), []); return keys }; return DiagramBar }(); var _default = DiagramBar; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 72321: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/diagram.commands_manager.js ***! \************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _diagram = __webpack_require__( /*! ./diagram.importer */ 348); var _file_saver = __webpack_require__( /*! ../../exporter/file_saver */ 48351); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _message = (obj = __webpack_require__( /*! ../../localization/message */ 28109), obj && obj.__esModule ? obj : { default: obj }); var obj; var SEPARATOR_COMMAND = { widget: "separator" }; var CSS_CLASSES_SMALL_EDITOR_ITEM = "dx-diagram-sm-edit-item", CSS_CLASSES_MEDIUM_EDITOR_ITEM = "dx-diagram-md-edit-item", CSS_CLASSES_LARGE_EDITOR_ITEM = "dx-diagram-lg-edit-item", CSS_CLASSES_IMAGE_DROPDOWN_ITEM = "dx-diagram-image-dropdown-item", CSS_CLASSES_COLOR_EDITOR_ITEM = "dx-diagram-color-edit-item", CSS_CLASSES_LARGE_ICON_ITEM = "dx-diagram-lg-icon-item"; var DiagramCommandsManager = { SHOW_TOOLBOX_COMMAND_NAME: "toolbox", SHOW_PROPERTIES_PANEL_COMMAND_NAME: "propertiesPanel", getAllCommands: function() { var _this = this; var _getDiagram = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram.DiagramCommand; return this._allCommands || (this._allCommands = { separator: SEPARATOR_COMMAND, exportSvg: { command: DiagramCommand.ExportSvg, text: _message.default.format("dxDiagram-commandExportToSvg"), getParameter: function(widget) { return function(dataURI) { return _this._exportTo(widget, dataURI, "SVG", "image/svg+xml") } } }, exportPng: { command: DiagramCommand.ExportPng, text: _message.default.format("dxDiagram-commandExportToPng"), getParameter: function(widget) { return function(dataURI) { return _this._exportTo(widget, dataURI, "PNG", "image/png") } } }, exportJpg: { command: DiagramCommand.ExportJpg, text: _message.default.format("dxDiagram-commandExportToJpg"), getParameter: function(widget) { return function(dataURI) { return _this._exportTo(widget, dataURI, "JPEG", "image/jpeg") } } }, undo: { command: DiagramCommand.Undo, hint: _message.default.format("dxDiagram-commandUndo"), text: _message.default.format("dxDiagram-commandUndo"), icon: "undo", menuIcon: "undo" }, redo: { command: DiagramCommand.Redo, hint: _message.default.format("dxDiagram-commandRedo"), text: _message.default.format("dxDiagram-commandRedo"), icon: "redo", menuIcon: "redo" }, cut: { command: DiagramCommand.Cut, hint: _message.default.format("dxDiagram-commandCut"), text: _message.default.format("dxDiagram-commandCut"), icon: "cut", menuIcon: "cut" }, copy: { command: DiagramCommand.Copy, hint: _message.default.format("dxDiagram-commandCopy"), text: _message.default.format("dxDiagram-commandCopy"), icon: "copy", menuIcon: "copy" }, paste: { command: DiagramCommand.PasteInPosition, hint: _message.default.format("dxDiagram-commandPaste"), text: _message.default.format("dxDiagram-commandPaste"), icon: "paste", menuIcon: "paste" }, selectAll: { command: DiagramCommand.SelectAll, hint: _message.default.format("dxDiagram-commandSelectAll"), text: _message.default.format("dxDiagram-commandSelectAll"), icon: "dx-diagram-i-button-select-all dx-diagram-i", menuIcon: "dx-diagram-i-menu-select-all dx-diagram-i" }, delete: { command: DiagramCommand.Delete, hint: _message.default.format("dxDiagram-commandDelete"), text: _message.default.format("dxDiagram-commandDelete"), icon: "remove", menuIcon: "remove" }, fontName: { command: DiagramCommand.FontName, hint: _message.default.format("dxDiagram-commandFontName"), text: _message.default.format("dxDiagram-commandFontName"), widget: "dxSelectBox", items: ["Arial", "Arial Black", "Helvetica", "Times New Roman", "Courier New", "Courier", "Verdana", "Georgia", "Comic Sans MS", "Trebuchet MS"].map((function(item) { return { text: item, value: item } })), cssClass: CSS_CLASSES_MEDIUM_EDITOR_ITEM }, fontSize: { command: DiagramCommand.FontSize, hint: _message.default.format("dxDiagram-commandFontSize"), text: _message.default.format("dxDiagram-commandFontSize"), widget: "dxSelectBox", items: [8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72].map((function(item) { return { text: item + "pt", value: item + "pt" } })), cssClass: CSS_CLASSES_SMALL_EDITOR_ITEM }, bold: { command: DiagramCommand.Bold, hint: _message.default.format("dxDiagram-commandBold"), text: _message.default.format("dxDiagram-commandBold"), icon: "bold", menuIcon: "bold" }, italic: { command: DiagramCommand.Italic, hint: _message.default.format("dxDiagram-commandItalic"), text: _message.default.format("dxDiagram-commandItalic"), icon: "italic", menuIcon: "italic" }, underline: { command: DiagramCommand.Underline, hint: _message.default.format("dxDiagram-commandUnderline"), text: _message.default.format("dxDiagram-commandUnderline"), icon: "underline", menuIcon: "underline" }, fontColor: { command: DiagramCommand.FontColor, text: _message.default.format("dxDiagram-commandTextColor"), hint: _message.default.format("dxDiagram-commandTextColor"), widget: "dxColorBox", icon: "dx-icon dx-icon-color", menuIcon: "dx-icon dx-icon-color", cssClass: CSS_CLASSES_COLOR_EDITOR_ITEM }, lineColor: { command: DiagramCommand.StrokeColor, text: _message.default.format("dxDiagram-commandLineColor"), hint: _message.default.format("dxDiagram-commandLineColor"), widget: "dxColorBox", icon: "dx-icon dx-icon-background", menuIcon: "dx-icon dx-icon-background", cssClass: CSS_CLASSES_COLOR_EDITOR_ITEM }, lineWidth: { command: DiagramCommand.StrokeWidth, text: _message.default.format("dxDiagram-commandLineWidth"), hint: _message.default.format("dxDiagram-commandLineWidth"), widget: "dxSelectBox", items: [1, 2, 3, 4, 5, 6, 7, 8].map((function(item) { return { text: item + "px", value: item.toString() } })), cssClass: CSS_CLASSES_SMALL_EDITOR_ITEM }, lineStyle: { command: DiagramCommand.StrokeStyle, text: _message.default.format("dxDiagram-commandLineStyle"), hint: _message.default.format("dxDiagram-commandLineStyle"), widget: "dxSelectBox", items: [{ value: "", menuIcon: "dx-diagram-i-line-solid dx-diagram-i", hint: _message.default.format("dxDiagram-commandLineStyleSolid") }, { value: "2,2", menuIcon: "dx-diagram-i-line-dotted dx-diagram-i", hint: _message.default.format("dxDiagram-commandLineStyleDotted") }, { value: "6,2", menuIcon: "dx-diagram-i-line-dashed dx-diagram-i", hint: _message.default.format("dxDiagram-commandLineStyleDashed") }], cssClass: CSS_CLASSES_IMAGE_DROPDOWN_ITEM }, fillColor: { command: DiagramCommand.FillColor, text: _message.default.format("dxDiagram-commandFillColor"), hint: _message.default.format("dxDiagram-commandFillColor"), widget: "dxColorBox", icon: "dx-diagram-i dx-diagram-i-button-fill", menuIcon: "dx-diagram-i dx-diagram-i-menu-fill", cssClass: CSS_CLASSES_COLOR_EDITOR_ITEM }, textAlignLeft: { command: DiagramCommand.TextLeftAlign, hint: _message.default.format("dxDiagram-commandAlignLeft"), text: _message.default.format("dxDiagram-commandAlignLeft"), icon: "alignleft", menuIcon: "alignleft" }, textAlignCenter: { command: DiagramCommand.TextCenterAlign, hint: _message.default.format("dxDiagram-commandAlignCenter"), text: _message.default.format("dxDiagram-commandAlignCenter"), icon: "aligncenter", menuIcon: "aligncenter" }, textAlignRight: { command: DiagramCommand.TextRightAlign, hint: _message.default.format("dxDiagram-commandAlignRight"), text: _message.default.format("dxDiagram-commandAlignRight"), icon: "alignright", menuIcon: "alignright" }, lock: { command: DiagramCommand.Lock, hint: _message.default.format("dxDiagram-commandLock"), text: _message.default.format("dxDiagram-commandLock"), icon: "dx-diagram-i-button-lock dx-diagram-i", menuIcon: "dx-diagram-i-menu-lock dx-diagram-i" }, unlock: { command: DiagramCommand.Unlock, hint: _message.default.format("dxDiagram-commandUnlock"), text: _message.default.format("dxDiagram-commandUnlock"), icon: "dx-diagram-i-button-unlock dx-diagram-i", menuIcon: "dx-diagram-i-menu-unlock dx-diagram-i" }, bringToFront: { command: DiagramCommand.BringToFront, hint: _message.default.format("dxDiagram-commandBringToFront"), text: _message.default.format("dxDiagram-commandBringToFront"), icon: "dx-diagram-i-button-bring-to-front dx-diagram-i", menuIcon: "dx-diagram-i-menu-bring-to-front dx-diagram-i" }, sendToBack: { command: DiagramCommand.SendToBack, hint: _message.default.format("dxDiagram-commandSendToBack"), text: _message.default.format("dxDiagram-commandSendToBack"), icon: "dx-diagram-i-button-send-to-back dx-diagram-i", menuIcon: "dx-diagram-i-menu-send-to-back dx-diagram-i" }, insertShapeImage: { command: DiagramCommand.InsertShapeImage, text: _message.default.format("dxDiagram-commandInsertShapeImage"), icon: "dx-diagram-i-button-image-insert dx-diagram-i", menuIcon: "dx-diagram-i-menu-image-insert dx-diagram-i" }, editShapeImage: { command: DiagramCommand.EditShapeImage, text: _message.default.format("dxDiagram-commandEditShapeImage"), icon: "dx-diagram-i-button-image-edit dx-diagram-i", menuIcon: "dx-diagram-i-menu-image-edit dx-diagram-i" }, deleteShapeImage: { command: DiagramCommand.DeleteShapeImage, text: _message.default.format("dxDiagram-commandDeleteShapeImage"), icon: "dx-diagram-i-button-image-delete dx-diagram-i", menuIcon: "dx-diagram-i-menu-image-delete dx-diagram-i" }, connectorLineType: { command: DiagramCommand.ConnectorLineOption, widget: "dxSelectBox", hint: _message.default.format("dxDiagram-commandConnectorLineType"), text: _message.default.format("dxDiagram-commandConnectorLineType"), items: [{ value: 0, menuIcon: "dx-diagram-i-connector-straight dx-diagram-i", hint: _message.default.format("dxDiagram-commandConnectorLineStraight"), text: _message.default.format("dxDiagram-commandConnectorLineStraight") }, { value: 1, menuIcon: "dx-diagram-i-connector-orthogonal dx-diagram-i", hint: _message.default.format("dxDiagram-commandConnectorLineOrthogonal"), text: _message.default.format("dxDiagram-commandConnectorLineOrthogonal") }], cssClass: CSS_CLASSES_IMAGE_DROPDOWN_ITEM }, connectorLineStart: { command: DiagramCommand.ConnectorStartLineEnding, widget: "dxSelectBox", items: [{ value: 0, menuIcon: "dx-diagram-i-connector-begin-none dx-diagram-i", hint: _message.default.format("dxDiagram-commandConnectorLineNone"), text: _message.default.format("dxDiagram-commandConnectorLineNone") }, { value: 1, menuIcon: "dx-diagram-i-connector-begin-arrow dx-diagram-i", hint: _message.default.format("dxDiagram-commandConnectorLineArrow"), text: _message.default.format("dxDiagram-commandConnectorLineArrow") }, { value: 2, menuIcon: "dx-diagram-i-connector-begin-outlined-triangle dx-diagram-i", hint: _message.default.format("dxDiagram-commandConnectorLineArrow"), text: _message.default.format("dxDiagram-commandConnectorLineArrow") }, { value: 3, menuIcon: "dx-diagram-i-connector-begin-filled-triangle dx-diagram-i", hint: _message.default.format("dxDiagram-commandConnectorLineArrow"), text: _message.default.format("dxDiagram-commandConnectorLineArrow") }], hint: _message.default.format("dxDiagram-commandConnectorLineStart"), text: _message.default.format("dxDiagram-commandConnectorLineStart"), cssClass: CSS_CLASSES_IMAGE_DROPDOWN_ITEM }, connectorLineEnd: { command: DiagramCommand.ConnectorEndLineEnding, widget: "dxSelectBox", items: [{ value: 0, menuIcon: "dx-diagram-i-connector-end-none dx-diagram-i", hint: _message.default.format("dxDiagram-commandConnectorLineNone"), text: _message.default.format("dxDiagram-commandConnectorLineNone") }, { value: 1, menuIcon: "dx-diagram-i-connector-end-arrow dx-diagram-i", hint: _message.default.format("dxDiagram-commandConnectorLineArrow"), text: _message.default.format("dxDiagram-commandConnectorLineArrow") }, { value: 2, menuIcon: "dx-diagram-i-connector-end-outlined-triangle dx-diagram-i", hint: _message.default.format("dxDiagram-commandConnectorLineArrow"), text: _message.default.format("dxDiagram-commandConnectorLineArrow") }, { value: 3, menuIcon: "dx-diagram-i-connector-end-filled-triangle dx-diagram-i", hint: _message.default.format("dxDiagram-commandConnectorLineArrow"), text: _message.default.format("dxDiagram-commandConnectorLineArrow") }], hint: _message.default.format("dxDiagram-commandConnectorLineEnd"), text: _message.default.format("dxDiagram-commandConnectorLineEnd"), cssClass: CSS_CLASSES_IMAGE_DROPDOWN_ITEM }, layoutTreeTopToBottom: { command: DiagramCommand.AutoLayoutTreeVertical, text: _message.default.format("dxDiagram-commandLayoutTopToBottom"), hint: _message.default.format("dxDiagram-commandLayoutTopToBottom"), icon: "dx-diagram-i-button-layout-tree-tb dx-diagram-i", cssClass: CSS_CLASSES_LARGE_ICON_ITEM }, layoutTreeBottomToTop: { command: DiagramCommand.AutoLayoutTreeVerticalBottomToTop, text: _message.default.format("dxDiagram-commandLayoutBottomToTop"), hint: _message.default.format("dxDiagram-commandLayoutBottomToTop"), icon: "dx-diagram-i-button-layout-tree-bt dx-diagram-i", cssClass: CSS_CLASSES_LARGE_ICON_ITEM }, layoutTreeLeftToRight: { command: DiagramCommand.AutoLayoutTreeHorizontal, text: _message.default.format("dxDiagram-commandLayoutLeftToRight"), hint: _message.default.format("dxDiagram-commandLayoutLeftToRight"), icon: "dx-diagram-i-button-layout-tree-lr dx-diagram-i", cssClass: CSS_CLASSES_LARGE_ICON_ITEM }, layoutTreeRightToLeft: { command: DiagramCommand.AutoLayoutTreeHorizontalRightToLeft, text: _message.default.format("dxDiagram-commandLayoutRightToLeft"), hint: _message.default.format("dxDiagram-commandLayoutRightToLeft"), icon: "dx-diagram-i-button-layout-tree-rl dx-diagram-i", cssClass: CSS_CLASSES_LARGE_ICON_ITEM }, layoutLayeredTopToBottom: { command: DiagramCommand.AutoLayoutLayeredVertical, text: _message.default.format("dxDiagram-commandLayoutTopToBottom"), hint: _message.default.format("dxDiagram-commandLayoutTopToBottom"), icon: "dx-diagram-i-button-layout-layered-tb dx-diagram-i", cssClass: CSS_CLASSES_LARGE_ICON_ITEM }, layoutLayeredBottomToTop: { command: DiagramCommand.AutoLayoutLayeredVerticalBottomToTop, text: _message.default.format("dxDiagram-commandLayoutBottomToTop"), hint: _message.default.format("dxDiagram-commandLayoutBottomToTop"), icon: "dx-diagram-i-button-layout-layered-bt dx-diagram-i", cssClass: CSS_CLASSES_LARGE_ICON_ITEM }, layoutLayeredLeftToRight: { command: DiagramCommand.AutoLayoutLayeredHorizontal, text: _message.default.format("dxDiagram-commandLayoutLeftToRight"), hint: _message.default.format("dxDiagram-commandLayoutLeftToRight"), icon: "dx-diagram-i-button-layout-layered-lr dx-diagram-i", cssClass: CSS_CLASSES_LARGE_ICON_ITEM }, layoutLayeredRightToLeft: { command: DiagramCommand.AutoLayoutLayeredHorizontalRightToLeft, text: _message.default.format("dxDiagram-commandLayoutRightToLeft"), hint: _message.default.format("dxDiagram-commandLayoutRightToLeft"), icon: "dx-diagram-i-button-layout-layered-rl dx-diagram-i", cssClass: CSS_CLASSES_LARGE_ICON_ITEM }, fullScreen: { command: DiagramCommand.Fullscreen, hint: _message.default.format("dxDiagram-commandFullscreen"), text: _message.default.format("dxDiagram-commandFullscreen"), icon: "dx-diagram-i dx-diagram-i-button-fullscreen", menuIcon: "dx-diagram-i dx-diagram-i-menu-fullscreen", cssClass: CSS_CLASSES_COLOR_EDITOR_ITEM }, units: { command: DiagramCommand.ViewUnits, hint: _message.default.format("dxDiagram-commandUnits"), text: _message.default.format("dxDiagram-commandUnits"), widget: "dxSelectBox" }, simpleView: { command: DiagramCommand.ToggleSimpleView, hint: _message.default.format("dxDiagram-commandSimpleView"), text: _message.default.format("dxDiagram-commandSimpleView"), widget: "dxCheckBox" }, showGrid: { command: DiagramCommand.ShowGrid, hint: _message.default.format("dxDiagram-commandShowGrid"), text: _message.default.format("dxDiagram-commandShowGrid"), widget: "dxCheckBox" }, snapToGrid: { command: DiagramCommand.SnapToGrid, hint: _message.default.format("dxDiagram-commandSnapToGrid"), text: _message.default.format("dxDiagram-commandSnapToGrid"), widget: "dxCheckBox" }, gridSize: { command: DiagramCommand.GridSize, hint: _message.default.format("dxDiagram-commandGridSize"), text: _message.default.format("dxDiagram-commandGridSize"), widget: "dxSelectBox" }, pageSize: { command: DiagramCommand.PageSize, hint: _message.default.format("dxDiagram-commandPageSize"), text: _message.default.format("dxDiagram-commandPageSize"), widget: "dxSelectBox", cssClass: CSS_CLASSES_LARGE_EDITOR_ITEM, getCommandValue: function(v) { return JSON.parse(v) }, getEditorValue: function(v) { return JSON.stringify(v) } }, pageOrientation: { command: DiagramCommand.PageLandscape, hint: _message.default.format("dxDiagram-commandPageOrientation"), text: _message.default.format("dxDiagram-commandPageOrientation"), widget: "dxSelectBox", items: [{ value: true, text: _message.default.format("dxDiagram-commandPageOrientationLandscape") }, { value: false, text: _message.default.format("dxDiagram-commandPageOrientationPortrait") }], cssClass: CSS_CLASSES_MEDIUM_EDITOR_ITEM }, pageColor: { command: DiagramCommand.PageColor, hint: _message.default.format("dxDiagram-commandPageColor"), text: _message.default.format("dxDiagram-commandPageColor"), widget: "dxColorBox", icon: "dx-diagram-i dx-diagram-i-button-fill", menuIcon: "dx-diagram-i dx-diagram-i-menu-fill", cssClass: CSS_CLASSES_COLOR_EDITOR_ITEM }, zoomLevel: { command: DiagramCommand.ZoomLevel, hint: _message.default.format("dxDiagram-commandZoomLevel"), text: _message.default.format("dxDiagram-commandZoomLevel"), widget: "dxTextBox", items: [SEPARATOR_COMMAND, { command: DiagramCommand.FitToScreen, hint: _message.default.format("dxDiagram-commandFitToContent"), text: _message.default.format("dxDiagram-commandFitToContent") }, { command: DiagramCommand.FitToWidth, hint: _message.default.format("dxDiagram-commandFitToWidth"), text: _message.default.format("dxDiagram-commandFitToWidth") }, SEPARATOR_COMMAND, { command: DiagramCommand.AutoZoomToContent, hint: _message.default.format("dxDiagram-commandAutoZoomByContent"), text: _message.default.format("dxDiagram-commandAutoZoomByContent") }, { command: DiagramCommand.AutoZoomToWidth, hint: _message.default.format("dxDiagram-commandAutoZoomByWidth"), text: _message.default.format("dxDiagram-commandAutoZoomByWidth") }], getEditorDisplayValue: function(v) { return Math.round(100 * v) + "%" }, cssClass: CSS_CLASSES_SMALL_EDITOR_ITEM }, toolbox: { command: this.SHOW_TOOLBOX_COMMAND_NAME, iconChecked: "dx-diagram-i dx-diagram-i-button-toolbox-close", iconUnchecked: "dx-diagram-i dx-diagram-i-button-toolbox-open", hint: _message.default.format("dxDiagram-uiShowToolbox"), text: _message.default.format("dxDiagram-uiShowToolbox") }, propertiesPanel: { command: this.SHOW_PROPERTIES_PANEL_COMMAND_NAME, iconChecked: "close", iconUnchecked: "dx-diagram-i dx-diagram-i-button-properties-panel-open", hint: _message.default.format("dxDiagram-uiProperties"), text: _message.default.format("dxDiagram-uiProperties") } }) }, getMainToolbarCommands: function(commands, excludeCommands) { var allCommands = this.getAllCommands(); var mainToolbarCommands = commands ? this._getPreparedCommands(allCommands, commands) : this._getDefaultMainToolbarCommands(allCommands); return this._prepareToolbarCommands(mainToolbarCommands, excludeCommands) }, _getDefaultMainToolbarCommands: function(allCommands) { return this._defaultMainToolbarCommands || (this._defaultMainToolbarCommands = [allCommands.undo, allCommands.redo, allCommands.separator, allCommands.fontName, allCommands.fontSize, allCommands.bold, allCommands.italic, allCommands.underline, allCommands.separator, allCommands.lineWidth, allCommands.lineStyle, allCommands.separator, allCommands.fontColor, allCommands.lineColor, allCommands.fillColor, allCommands.separator, allCommands.textAlignLeft, allCommands.textAlignCenter, allCommands.textAlignRight, allCommands.separator, allCommands.connectorLineType, allCommands.connectorLineStart, allCommands.connectorLineEnd, allCommands.separator, { text: _message.default.format("dxDiagram-uiLayout"), showText: "always", items: [{ text: _message.default.format("dxDiagram-uiLayoutTree"), items: [allCommands.layoutTreeTopToBottom, allCommands.layoutTreeBottomToTop, allCommands.layoutTreeLeftToRight, allCommands.layoutTreeRightToLeft] }, { text: _message.default.format("dxDiagram-uiLayoutLayered"), items: [allCommands.layoutLayeredTopToBottom, allCommands.layoutLayeredBottomToTop, allCommands.layoutLayeredLeftToRight, allCommands.layoutLayeredRightToLeft] }] }]) }, getHistoryToolbarCommands: function(commands, excludeCommands) { var allCommands = this.getAllCommands(); var historyToolbarCommands = commands ? this._getPreparedCommands(allCommands, commands) : this._getDefaultHistoryToolbarCommands(allCommands); return this._prepareToolbarCommands(historyToolbarCommands, excludeCommands) }, _getDefaultHistoryToolbarCommands: function(allCommands) { return this._defaultHistoryToolbarCommands || (this._defaultHistoryToolbarCommands = [allCommands.undo, allCommands.redo, allCommands.separator, allCommands.toolbox]) }, getViewToolbarCommands: function(commands, excludeCommands) { var allCommands = this.getAllCommands(); var viewToolbarCommands = commands ? this._getPreparedCommands(allCommands, commands) : this._getDefaultViewToolbarCommands(allCommands); return this._prepareToolbarCommands(viewToolbarCommands, excludeCommands) }, _getDefaultViewToolbarCommands: function(allCommands) { return this._defaultViewToolbarCommands || (this._defaultViewToolbarCommands = [allCommands.zoomLevel, allCommands.separator, allCommands.fullScreen, allCommands.separator, { widget: "dxButton", icon: "export", text: _message.default.format("dxDiagram-uiExport"), hint: _message.default.format("dxDiagram-uiExport"), items: [allCommands.exportSvg, allCommands.exportPng, allCommands.exportJpg] }, { icon: "preferences", hint: _message.default.format("dxDiagram-uiSettings"), text: _message.default.format("dxDiagram-uiSettings"), items: [allCommands.units, allCommands.separator, allCommands.showGrid, allCommands.snapToGrid, allCommands.gridSize, allCommands.separator, allCommands.simpleView, allCommands.toolbox] }]) }, getPropertiesToolbarCommands: function(commands, excludeCommands) { var allCommands = this.getAllCommands(); var propertiesCommands = commands ? this._getPreparedCommands(allCommands, commands) : this._getDefaultPropertiesToolbarCommands(allCommands); return this._prepareToolbarCommands(propertiesCommands, excludeCommands) }, _getDefaultPropertiesToolbarCommands: function(allCommands) { return this._defaultPropertiesToolbarCommands || (this._defaultPropertiesToolbarCommands = [allCommands.propertiesPanel]) }, _getDefaultPropertyPanelCommandGroups: function() { return this._defaultPropertyPanelCommandGroups || (this._defaultPropertyPanelCommandGroups = [{ title: _message.default.format("dxDiagram-uiStyle"), groups: [{ title: _message.default.format("dxDiagram-uiText"), commands: ["fontName", "fontSize", "bold", "italic", "underline", "textAlignLeft", "textAlignCenter", "textAlignRight", "fontColor"] }, { title: _message.default.format("dxDiagram-uiObject"), commands: ["lineStyle", "lineWidth", "lineColor", "fillColor"] }, { title: _message.default.format("dxDiagram-uiConnector"), commands: ["connectorLineType", "connectorLineStart", "connectorLineEnd"] }] }, { title: _message.default.format("dxDiagram-uiLayout"), groups: [{ title: _message.default.format("dxDiagram-uiLayoutLayered"), commands: ["layoutLayeredTopToBottom", "layoutLayeredBottomToTop", "layoutLayeredLeftToRight", "layoutLayeredRightToLeft"] }, { title: _message.default.format("dxDiagram-uiLayoutTree"), commands: ["layoutTreeTopToBottom", "layoutTreeBottomToTop", "layoutTreeLeftToRight", "layoutTreeRightToLeft"] }] }, { title: _message.default.format("dxDiagram-uiDiagram"), groups: [{ title: _message.default.format("dxDiagram-uiPage"), commands: ["pageSize", "pageOrientation", "pageColor"] }] }]) }, _preparePropertyPanelGroups: function(groups) { var _this2 = this; var allCommands = this.getAllCommands(); var result = []; groups.forEach((function(g) { var commands = g.commands; if (commands) { commands = _this2._getPreparedCommands(allCommands, commands); commands = _this2._prepareToolbarCommands(commands) } var subGroups; if (g.groups) { subGroups = []; g.groups.forEach((function(sg) { var subCommands = sg.commands; if (subCommands) { subCommands = _this2._getPreparedCommands(allCommands, subCommands); subCommands = _this2._prepareToolbarCommands(subCommands) } subGroups.push({ title: sg.title, commands: subCommands }) })) } result.push({ title: g.title, commands: commands, groups: subGroups }) })); return result }, getPropertyPanelCommandTabs: function(commandGroups) { commandGroups = commandGroups || this._getDefaultPropertyPanelCommandGroups(); return this._preparePropertyPanelGroups(commandGroups) }, getContextMenuCommands: function(commands) { var allCommands = this.getAllCommands(); var contextMenuCommands = commands ? this._getPreparedCommands(allCommands, commands) : this._getDefaultContextMenuCommands(allCommands); return this._prepareContextMenuCommands(contextMenuCommands) }, _getDefaultContextMenuCommands: function(allCommands) { return this._defaultContextMenuCommands || (this._defaultContextMenuCommands = [allCommands.cut, allCommands.copy, allCommands.paste, allCommands.delete, allCommands.separator, allCommands.selectAll, allCommands.separator, allCommands.bringToFront, allCommands.sendToBack, allCommands.separator, allCommands.lock, allCommands.unlock, allCommands.separator, allCommands.insertShapeImage, allCommands.editShapeImage, allCommands.deleteShapeImage]) }, _getPreparedCommands: function(allCommands, commands) { var _this3 = this; return commands.map((function(c) { if (c.widget && "separator" === c.widget) { var command = { command: c, location: c.location }; return command } else if (allCommands[c]) { return allCommands[c] } else if (c.text || c.icon || c.name) { var internalCommand = c.name && allCommands[c.name]; var _command = { command: internalCommand && internalCommand.command, name: c.name, location: c.location, text: c.text || internalCommand && internalCommand.text, hint: c.text || internalCommand && internalCommand.hint, icon: c.icon || internalCommand && internalCommand.icon, menuIcon: c.icon || internalCommand && internalCommand.menuIcon, widget: internalCommand && internalCommand.widget, cssClass: internalCommand && internalCommand.cssClass, getParameter: internalCommand && internalCommand.getParameter, getCommandValue: internalCommand && internalCommand.getCommandValue, getEditorValue: internalCommand && internalCommand.getEditorValue, getEditorDisplayValue: internalCommand && internalCommand.getEditorDisplayValue, iconChecked: internalCommand && internalCommand.iconChecked, iconUnchecked: internalCommand && internalCommand.iconUnchecked }; if (Array.isArray(c.items)) { _command.items = _this3._getPreparedCommands(allCommands, c.items) } else { _command.items = internalCommand && internalCommand.items } return _command } })).filter((function(c) { return c })) }, _prepareContextMenuCommands: function(commands, excludeCommands, rootCommand) { var _this4 = this; var beginGroup = false; return commands.map((function(c) { if (!_this4._isValidCommand(c, excludeCommands)) { return } if (c.widget && "separator" === c.widget) { beginGroup = true } else { var command = _this4._cloneCommand(c, excludeCommands); command.icon = command.menuIcon; command.beginGroup = beginGroup; command.rootCommand = !command.command ? rootCommand && rootCommand.command : void 0; beginGroup = false; return command } })).filter((function(c) { return c })) }, _prepareToolbarCommands: function(commands, excludeCommands) { var _this5 = this; return commands.map((function(c) { if (_this5._isValidCommand(c, excludeCommands)) { return _this5._cloneCommand(c, excludeCommands) } })).filter((function(c) { return c })).filter((function(c, index, arr) { if ("separator" === c.widget && index === arr.length - 1) { return false } return c })) }, _cloneCommand: function(c, excludeCommands) { var command = (0, _extend.extend)({}, c); if (Array.isArray(c.items)) { command.items = this._prepareContextMenuCommands(c.items, excludeCommands, command) } return command }, _isValidCommand: function(c, excludeCommands) { excludeCommands = excludeCommands || []; return -1 === excludeCommands.indexOf(c.command) }, _exportTo: function(widget, dataURI, format, mimeString) { var window = (0, _window.getWindow)(); if (window && window.atob && (0, _type.isFunction)(window.Blob)) { var blob = this._getBlobByDataURI(window, dataURI, mimeString); var options = widget.option("export"); _file_saver.fileSaver.saveAs(options.fileName || "foo", format, blob) } }, _getBlobByDataURI: function(window, dataURI, mimeString) { var byteString = window.atob(dataURI.split(",")[1]); var ia = new Uint8Array(byteString.length); for (var i = 0; i < byteString.length; i++) { ia[i] = byteString.charCodeAt(i) } return new window.Blob([ia.buffer], { type: mimeString }) } }; var _default = DiagramCommandsManager; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 73510: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/diagram.edges_option.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _diagram = (obj = __webpack_require__( /*! ./diagram.items_option */ 4015), obj && obj.__esModule ? obj : { default: obj }); var obj; function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var EdgesOption = function(_ItemsOption) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(EdgesOption, _ItemsOption); function EdgesOption() { return _ItemsOption.apply(this, arguments) || this } var _proto = EdgesOption.prototype; _proto._getKeyExpr = function() { return this._diagramWidget._createOptionGetter("edges.keyExpr") }; return EdgesOption }(_diagram.default); var _default = EdgesOption; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 348: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/diagram.importer.js ***! \****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.getDiagram = function() { if (!Diagram.default) { throw _ui.default.Error("E1041", "devexpress-diagram") } return Diagram }; var _ui = (obj = __webpack_require__( /*! ../widget/ui.errors */ 96688), obj && obj.__esModule ? obj : { default: obj }); var obj; var Diagram = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! devexpress-diagram */ 63472)); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } }, 4015: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/diagram.items_option.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _component = __webpack_require__( /*! ../../core/component */ 44297); var _data_helper = (obj = __webpack_require__( /*! ../../data_helper */ 53305), obj && obj.__esModule ? obj : { default: obj }); var obj; function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ItemsOptionBase = _component.Component.inherit({}).include(_data_helper.default); var ItemsOption = function(_ItemsOptionBase) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ItemsOption, _ItemsOptionBase); function ItemsOption(diagramWidget) { var _this; _this = _ItemsOptionBase.call(this) || this; _this._diagramWidget = diagramWidget; _this._resetCache(); return _this } var _proto = ItemsOption.prototype; _proto._dataSourceChangedHandler = function(newItems, e) { this._resetCache(); this._items = newItems.map((function(item) { return (0, _extend.extend)(true, {}, item) })); this._dataSourceItems = newItems.slice(); if (e && e.changes) { var internalChanges = e.changes.filter((function(change) { return change.internalChange })); var externalChanges = e.changes.filter((function(change) { return !change.internalChange })); if (internalChanges.length) { this._reloadContentByChanges(internalChanges, false) } if (externalChanges.length) { this._reloadContentByChanges(externalChanges, true) } } else { this._diagramWidget._onDataSourceChanged() } }; _proto._dataSourceLoadingChangedHandler = function(isLoading) { if (isLoading && !this._dataSource.isLoaded()) { this._diagramWidget._showLoadingIndicator() } else { this._diagramWidget._hideLoadingIndicator() } }; _proto._prepareData = function(dataObj) { for (var key in dataObj) { if (!Object.prototype.hasOwnProperty.call(dataObj, key)) { continue } if (void 0 === dataObj[key]) { dataObj[key] = null } } return dataObj }; _proto.insert = function(data, callback, errorCallback) { var _this2 = this; this._resetCache(); var store = this._getStore(); store.insert(this._prepareData(data)).done((function(data, key) { store.push([{ type: "insert", key: key, data: data, internalChange: true }]); if (callback) { callback(data) } _this2._resetCache() })).fail((function(error) { if (errorCallback) { errorCallback(error) } _this2._resetCache() })) }; _proto.update = function(key, data, callback, errorCallback) { var store = this._getStore(); var storeKey = this._getStoreKey(store, key, data); store.update(storeKey, this._prepareData(data)).done((function(data, key) { store.push([{ type: "update", key: key, data: data, internalChange: true }]); if (callback) { callback(key, data) } })).fail((function(error) { if (errorCallback) { errorCallback(error) } })) }; _proto.remove = function(key, data, callback, errorCallback) { var _this3 = this; this._resetCache(); var store = this._getStore(); var storeKey = this._getStoreKey(store, key, data); store.remove(storeKey).done((function(key) { store.push([{ type: "remove", key: key, internalChange: true }]); if (callback) { callback(key) } _this3._resetCache() })).fail((function(error) { if (errorCallback) { errorCallback(error) } _this3._resetCache() })) }; _proto.findItem = function(itemKey) { if (!this._items) { return null } return this._getItemByKey(itemKey) }; _proto.getItems = function() { return this._items }; _proto.hasItems = function() { return !!this._items }; _proto._reloadContentByChanges = function(changes, isExternalChanges) { var _this4 = this; changes = changes.map((function(change) { return (0, _extend.extend)(change, { internalKey: _this4._getInternalKey(change.key) }) })); this._diagramWidget._reloadContentByChanges(changes, isExternalChanges) }; _proto._getItemByKey = function(key) { this._ensureCache(); var cache = this._cache; var index = this._getIndexByKey(key); return cache.items[index] }; _proto._getIndexByKey = function(key) { this._ensureCache(); var cache = this._cache; if ("object" === _typeof(key)) { for (var i = 0, length = cache.keys.length; i < length; i++) { if (cache.keys[i] === key) { return i } } } else { var keySet = cache.keySet || cache.keys.reduce((function(accumulator, key, index) { accumulator[key] = index; return accumulator }), {}); if (!cache.keySet) { cache.keySet = keySet } return keySet[key] } return -1 }; _proto._ensureCache = function() { var cache = this._cache; if (!cache.keys) { cache.keys = []; cache.items = []; this._fillCache(cache, this._items) } }; _proto._fillCache = function(cache, items) { var _this5 = this; if (!items || !items.length) { return } var keyExpr = this._getKeyExpr(); if (keyExpr) { items.forEach((function(item) { cache.keys.push(keyExpr(item)); cache.items.push(item) })) } var itemsExpr = this._getItemsExpr(); if (itemsExpr) { items.forEach((function(item) { return _this5._fillCache(cache, itemsExpr(item)) })) } var containerChildrenExpr = this._getContainerChildrenExpr(); if (containerChildrenExpr) { items.forEach((function(item) { return _this5._fillCache(cache, containerChildrenExpr(item)) })) } }; _proto._getKeyExpr = function() { throw "Not Implemented" }; _proto._getItemsExpr = function() {}; _proto._getContainerChildrenExpr = function() {}; _proto._initDataSource = function() { _ItemsOptionBase.prototype._initDataSource.call(this); this._dataSource && this._dataSource.paginate(false) }; _proto._dataSourceOptions = function() { return { paginate: false } }; _proto._getStore = function() { return this._dataSource && this._dataSource.store() }; _proto._getStoreKey = function(store, internalKey, data) { var storeKey = store.keyOf(data); if (storeKey === data) { var keyExpr = this._getKeyExpr(); this._dataSourceItems.forEach((function(item) { if (keyExpr(item) === internalKey) { storeKey = item } })) } return storeKey }; _proto._getInternalKey = function(storeKey) { if ("object" === _typeof(storeKey)) { var keyExpr = this._getKeyExpr(); return keyExpr(storeKey) } return storeKey }; _proto._resetCache = function() { this._cache = {} }; return ItemsOption }(ItemsOptionBase); var _default = ItemsOption; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 81308: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/diagram.nodes_option.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _diagram = (obj = __webpack_require__( /*! ./diagram.items_option */ 4015), obj && obj.__esModule ? obj : { default: obj }); var obj; function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var NodesOption = function(_ItemsOption) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(NodesOption, _ItemsOption); function NodesOption() { return _ItemsOption.apply(this, arguments) || this } var _proto = NodesOption.prototype; _proto._getKeyExpr = function() { return this._diagramWidget._createOptionGetter("nodes.keyExpr") }; _proto._getItemsExpr = function() { return this._diagramWidget._createOptionGetter("nodes.itemsExpr") }; _proto._getContainerChildrenExpr = function() { return this._diagramWidget._createOptionGetter("nodes.containerChildrenExpr") }; return NodesOption }(_diagram.default); var _default = NodesOption; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 61982: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/diagram.options_update.js ***! \**********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _diagram = (obj = __webpack_require__( /*! ./diagram.bar */ 50984), obj && obj.__esModule ? obj : { default: obj }); var obj; var _diagram2 = __webpack_require__( /*! ./diagram.importer */ 348); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DiagramOptionsUpdateBar = function(_DiagramBar) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DiagramOptionsUpdateBar, _DiagramBar); function DiagramOptionsUpdateBar(owner) { var _this; _this = _DiagramBar.call(this, owner) || this; var _getDiagram = (0, _diagram2.getDiagram)(), DiagramCommand = _getDiagram.DiagramCommand; _this.commandOptions = {}; _this.commandOptions[DiagramCommand.Fullscreen] = "fullScreen"; _this.commandOptions[DiagramCommand.ZoomLevel] = function(value) { if ("object" === _typeof(this._getOption("zoomLevel"))) { this._setOption("zoomLevel.value", value) } else { this._setOption("zoomLevel", value) } }; _this.commandOptions[DiagramCommand.SwitchAutoZoom] = function(value) { var _getDiagram2 = (0, _diagram2.getDiagram)(), AutoZoomMode = _getDiagram2.AutoZoomMode; switch (value) { case AutoZoomMode.FitContent: this._setOption("autoZoomMode", "fitContent"); break; case AutoZoomMode.FitToWidth: this._setOption("autoZoomMode", "fitWidth"); break; case AutoZoomMode.Disabled: this._setOption("autoZoomMode", "disabled") } }; _this.commandOptions[DiagramCommand.ToggleSimpleView] = "simpleView"; _this.commandOptions[DiagramCommand.ShowGrid] = "showGrid"; _this.commandOptions[DiagramCommand.SnapToGrid] = "snapToGrid"; _this.commandOptions[DiagramCommand.GridSize] = function(value) { if ("object" === _typeof(this._getOption("gridSize"))) { this._setOption("gridSize.value", value) } else { this._setOption("gridSize", value) } }; _this.commandOptions[DiagramCommand.ViewUnits] = "viewUnits"; _this.commandOptions[DiagramCommand.PageSize] = function(value) { var pageSize = this._getOption("pageSize"); if (void 0 === pageSize || pageSize.width !== value.width || pageSize.height !== value.height) { this._setOption("pageSize", value) } }; _this.commandOptions[DiagramCommand.PageLandscape] = function(value) { this._setOption("pageOrientation", value ? "landscape" : "portrait") }; _this.commandOptions[DiagramCommand.ViewUnits] = function(value) { var _getDiagram3 = (0, _diagram2.getDiagram)(), DiagramUnit = _getDiagram3.DiagramUnit; switch (value) { case DiagramUnit.In: this._setOption("viewUnits", "in"); break; case DiagramUnit.Cm: this._setOption("viewUnits", "cm"); break; case DiagramUnit.Px: this._setOption("viewUnits", "px") } }; _this.commandOptions[DiagramCommand.PageColor] = "pageColor"; _this._updateLock = 0; return _this } var _proto = DiagramOptionsUpdateBar.prototype; _proto.getCommandKeys = function() { return Object.keys(this.commandOptions).map((function(key) { return parseInt(key) })) }; _proto.setItemValue = function(key, value) { if (this.isUpdateLocked()) { return } this.beginUpdate(); try { if ("function" === typeof this.commandOptions[key]) { this.commandOptions[key].call(this, value) } else { this._setOption(this.commandOptions[key], value) } } finally { this.endUpdate() } }; _proto.beginUpdate = function() { this._updateLock++ }; _proto.endUpdate = function() { this._updateLock-- }; _proto.isUpdateLocked = function() { return this._updateLock > 0 }; _proto._getOption = function(name) { return this._owner.option(name) }; _proto._setOption = function(name, value) { this._owner.option(name, value) }; return DiagramOptionsUpdateBar }(_diagram.default); var _default = DiagramOptionsUpdateBar; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 63564: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/diagram.toolbox_manager.js ***! \***********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _message = (obj = __webpack_require__( /*! ../../localization/message */ 28109), obj && obj.__esModule ? obj : { default: obj }); var obj; var DiagramToolboxManager = { getDefaultGroups: function() { return this._groups || (this._groups = { general: { category: "general", title: _message.default.format("dxDiagram-categoryGeneral") }, flowchart: { category: "flowchart", title: _message.default.format("dxDiagram-categoryFlowchart") }, orgChart: { category: "orgChart", title: _message.default.format("dxDiagram-categoryOrgChart") }, containers: { category: "containers", title: _message.default.format("dxDiagram-categoryContainers") }, custom: { category: "custom", title: _message.default.format("dxDiagram-categoryCustom") } }) }, getGroups: function(groups) { var defaultGroups = this.getDefaultGroups(); if (groups) { return groups.map((function(g) { if ("string" === typeof g) { return { category: g, title: defaultGroups[g] && defaultGroups[g].title || g } } return g })).filter((function(g) { return g })) } return [defaultGroups.general, defaultGroups.flowchart, defaultGroups.orgChart, defaultGroups.containers] } }; var _default = DiagramToolboxManager; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 33353: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.context_menu.js ***! \***********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _context_menu = _interopRequireDefault(__webpack_require__( /*! ../context_menu */ 10042)); var _diagram = _interopRequireDefault(__webpack_require__( /*! ./diagram.commands_manager */ 72321)); var _uiDiagram = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.menu_helper */ 20261)); var _diagram2 = _interopRequireDefault(__webpack_require__( /*! ./diagram.bar */ 50984)); var _diagram3 = __webpack_require__( /*! ./diagram.importer */ 348); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DiagramContextMenuWrapper = function(_Widget) { _inheritsLoose(DiagramContextMenuWrapper, _Widget); function DiagramContextMenuWrapper() { return _Widget.apply(this, arguments) || this } var _proto = DiagramContextMenuWrapper.prototype; _proto._init = function() { _Widget.prototype._init.call(this); this._createOnVisibilityChangingAction(); this._createOnInternalCommand(); this._createOnCustomCommand(); this._createOnItemClickAction(); this._tempState = void 0; this._commands = []; this._commandToIndexMap = {}; this.bar = new DiagramContextMenuBar(this) }; _proto._initMarkup = function() { var _this = this; _Widget.prototype._initMarkup.call(this); this._commands = this._getCommands(); this._commandToIndexMap = {}; this._fillCommandToIndexMap(this._commands, []); this._$contextMenuTargetElement = (0, _renderer.default)("<div>").addClass("dx-diagram-touchbar-target").appendTo(this.$element()); var $contextMenu = (0, _renderer.default)("<div>").appendTo(this.$element()); this._contextMenuInstance = this._createComponent($contextMenu, DiagramContextMenu, { isTouchBarMode: this._isTouchBarMode(), cssClass: this._isTouchBarMode() ? "dx-diagram-touchbar" : _uiDiagram.default.getContextMenuCssClass(), hideOnOutsideClick: false, showEvent: "", focusStateEnabled: false, items: this._commands, position: this._isTouchBarMode() ? { my: { x: "center", y: "bottom" }, at: { x: "center", y: "top" }, of: this._$contextMenuTargetElement } : {}, itemTemplate: function(itemData, itemIndex, itemElement) { _uiDiagram.default.getContextMenuItemTemplate(this, itemData, itemIndex, itemElement) }, onItemClick: function(_ref) { var itemData = _ref.itemData; return _this._onItemClick(itemData) }, onShowing: function(e) { if (true === _this._inOnShowing) { return } _this._inOnShowing = true; _this._onVisibilityChangingAction({ visible: true, component: _this }); e.component.option("items", e.component.option("items")); delete _this._inOnShowing } }) }; _proto._show = function(x, y, selection) { this._contextMenuInstance.hide(); if (this._isTouchBarMode()) { this._$contextMenuTargetElement.show(); if (!selection) { selection = { x: x, y: y, width: 0, height: 0 } } var widthCorrection = selection.width > 800 ? 0 : (800 - selection.width) / 2; this._$contextMenuTargetElement.css({ left: selection.x - widthCorrection, top: selection.y - 32, width: selection.width + 2 * widthCorrection, height: selection.height + 64 }); this._contextMenuInstance.show() } else { this._contextMenuInstance.option("position", { offset: x + " " + y }); this._contextMenuInstance.show() } }; _proto._hide = function() { this._$contextMenuTargetElement.hide(); this._contextMenuInstance.hide() }; _proto._isTouchBarMode = function() { var _getDiagram = (0, _diagram3.getDiagram)(), Browser = _getDiagram.Browser; return Browser.TouchUI }; _proto._onItemClick = function(itemData) { var processed = false; if (this._onItemClickAction) { processed = this._onItemClickAction(itemData) } if (!processed) { _uiDiagram.default.onContextMenuItemClick(this, itemData, this._executeCommand.bind(this)); this._contextMenuInstance.hide() } }; _proto._executeCommand = function(command, name, value) { if ("number" === typeof command) { this.bar.raiseBarCommandExecuted(command, value) } else if ("string" === typeof command) { this._onInternalCommandAction({ command: command }) } if (void 0 !== name) { this._onCustomCommandAction({ name: name }) } }; _proto._createOnInternalCommand = function() { this._onInternalCommandAction = this._createActionByOption("onInternalCommand") }; _proto._createOnCustomCommand = function() { this._onCustomCommandAction = this._createActionByOption("onCustomCommand") }; _proto._getCommands = function() { return _diagram.default.getContextMenuCommands(this.option("commands")) }; _proto._fillCommandToIndexMap = function(commands, indexPath) { var _this2 = this; commands.forEach((function(command, index) { var commandIndexPath = indexPath.concat([index]); if (void 0 !== command.command) { _this2._commandToIndexMap[command.command] = commandIndexPath } if (Array.isArray(command.items)) { _this2._fillCommandToIndexMap(command.items, commandIndexPath) } })) }; _proto._setItemEnabled = function(key, enabled) { this._setItemVisible(key, enabled) }; _proto._setItemVisible = function(key, visible) { var itemOptionText = _uiDiagram.default.getItemOptionText(this._contextMenuInstance, this._commandToIndexMap[key]); _uiDiagram.default.updateContextMenuItemVisible(this._contextMenuInstance, itemOptionText, visible) }; _proto._setItemValue = function(key, value) { var itemOptionText = _uiDiagram.default.getItemOptionText(this._contextMenuInstance, this._commandToIndexMap[key]); _uiDiagram.default.updateContextMenuItemValue(this._contextMenuInstance, itemOptionText, key, value) }; _proto._setItemSubItems = function(key, items) { var itemOptionText = _uiDiagram.default.getItemOptionText(this._contextMenuInstance, this._commandToIndexMap[key]); _uiDiagram.default.updateContextMenuItems(this._contextMenuInstance, itemOptionText, key, items) }; _proto._setEnabled = function(enabled) { this._contextMenuInstance.option("disabled", !enabled) }; _proto.isVisible = function() { return this._inOnShowing }; _proto._createOnVisibilityChangingAction = function() { this._onVisibilityChangingAction = this._createActionByOption("onVisibilityChanging") }; _proto._createOnItemClickAction = function() { this._onItemClickAction = this._createActionByOption("onItemClick") }; _proto._optionChanged = function(args) { switch (args.name) { case "onVisibilityChanging": this._createOnVisibilityChangingAction(); break; case "onInternalCommand": this._createOnInternalCommand(); break; case "onCustomCommand": this._createOnCustomCommand(); break; case "onItemClick": this._createOnItemClickAction(); break; case "commands": this._invalidate(); break; case "export": break; default: _Widget.prototype._optionChanged.call(this, args) } }; return DiagramContextMenuWrapper }(_ui.default); var DiagramContextMenu = function(_ContextMenu) { _inheritsLoose(DiagramContextMenu, _ContextMenu); function DiagramContextMenu() { return _ContextMenu.apply(this, arguments) || this } var _proto2 = DiagramContextMenu.prototype; _proto2._renderContextMenuOverlay = function() { var _this3 = this; _ContextMenu.prototype._renderContextMenuOverlay.call(this); if (this._overlay && this.option("isTouchBarMode")) { this._overlay && this._overlay.option("onShown", (function() { var $content = (0, _renderer.default)(_this3._overlay.$content()); $content.parent().addClass("dx-diagram-touchbar-overlay") })) } }; return DiagramContextMenu }(_context_menu.default); var DiagramContextMenuBar = function(_DiagramBar) { _inheritsLoose(DiagramContextMenuBar, _DiagramBar); function DiagramContextMenuBar(owner) { return _DiagramBar.call(this, owner) || this } var _proto3 = DiagramContextMenuBar.prototype; _proto3.getCommandKeys = function() { return this._getKeys(this._owner._commands) }; _proto3.setItemValue = function(key, value) { this._owner._setItemValue(key, value) }; _proto3.setItemEnabled = function(key, enabled) { this._owner._setItemEnabled(key, enabled) }; _proto3.setItemVisible = function(key, visible) { this._owner._setItemVisible(key, visible) }; _proto3.setItemSubItems = function(key, items) { this._owner._setItemSubItems(key, items) }; _proto3.setEnabled = function(enabled) { this._owner._setEnabled(enabled) }; _proto3.isVisible = function() { return this._owner.isVisible() }; return DiagramContextMenuBar }(_diagram2.default); var _default = { DiagramContextMenuWrapper: DiagramContextMenuWrapper, DiagramContextMenu: DiagramContextMenu }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 90978: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.context_toolbox.js ***! \**************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../popover/ui.popover */ 17287)); var _diagram = __webpack_require__( /*! ./diagram.importer */ 348); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DiagramContextToolbox = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DiagramContextToolbox, _Widget); function DiagramContextToolbox() { return _Widget.apply(this, arguments) || this } var _proto = DiagramContextToolbox.prototype; _proto._init = function() { _Widget.prototype._init.call(this); this._onShownAction = this._createActionByOption("onShown"); this._popoverPositionData = [{ my: { x: "center", y: "top" }, at: { x: "center", y: "bottom" }, offset: { x: 0, y: 5 } }, { my: { x: "right", y: "center" }, at: { x: "left", y: "center" }, offset: { x: -5, y: 0 } }, { my: { x: "center", y: "bottom" }, at: { x: "center", y: "top" }, offset: { x: 0, y: -5 } }, { my: { x: "left", y: "center" }, at: { x: "right", y: "center" }, offset: { x: 5, y: 0 } }] }; _proto._initMarkup = function() { _Widget.prototype._initMarkup.call(this); this._$popoverTargetElement = (0, _renderer.default)("<div>").addClass("dx-diagram-context-toolbox-target").appendTo(this.$element()); var $popoverElement = (0, _renderer.default)("<div>").appendTo(this.$element()); var popoverClass = "dx-diagram-context-toolbox"; if (this._isTouchMode()) { popoverClass += " dx-diagram-touch-context-toolbox" } this._popoverInstance = this._createComponent($popoverElement, _ui2.default, { hideOnOutsideClick: false, container: this.$element() }); this._popoverInstance.$element().addClass(popoverClass) }; _proto._isTouchMode = function() { var _getDiagram = (0, _diagram.getDiagram)(), Browser = _getDiagram.Browser; return Browser.TouchUI }; _proto._show = function(x, y, side, category, callback) { this._popoverInstance.hide(); var $content = (0, _renderer.default)("<div>").addClass("dx-diagram-context-toolbox-content"); if (void 0 !== this.option("toolboxWidth")) { $content.css("width", this.option("toolboxWidth")) } this._$popoverTargetElement.css({ left: x + this._popoverPositionData[side].offset.x, top: y + this._popoverPositionData[side].offset.y }).show(); var window = (0, _window.getWindow)(); var targetDiv = this._$popoverTargetElement.get(0); this._$popoverTargetElement.css({ left: targetDiv.offsetLeft - (targetDiv.getBoundingClientRect().left + window.scrollX - targetDiv.offsetLeft), top: targetDiv.offsetTop - (targetDiv.getBoundingClientRect().top + window.scrollY - targetDiv.offsetTop) }); this._popoverInstance.option({ position: { my: this._popoverPositionData[side].my, at: this._popoverPositionData[side].at, of: this._$popoverTargetElement }, contentTemplate: $content, onContentReady: function() { var _this = this; var $element = this.$element().find(".dx-diagram-context-toolbox-content"); this._onShownAction({ category: category, callback: callback, $element: $element, hide: function() { return _this._popoverInstance.hide() } }) }.bind(this) }); this._popoverInstance.show() }; _proto._hide = function() { this._$popoverTargetElement.hide(); this._popoverInstance.hide() }; return DiagramContextToolbox }(_ui.default); var _default = DiagramContextToolbox; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 34690: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.dialog_manager.js ***! \*************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _diagram = __webpack_require__( /*! ./diagram.importer */ 348); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _file_uploader = _interopRequireDefault(__webpack_require__( /*! ../file_uploader */ 53749)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var DiagramDialogManager = { getConfigurations: function() { var _getDiagram = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram.DiagramCommand; return this.dialogList || (this.dialogList = [{ command: DiagramCommand.InsertShapeImage, title: _message.default.format("dxDiagram-dialogInsertShapeImageTitle"), onGetContent: this.getChangeImageDialogContent }, { command: DiagramCommand.EditShapeImage, title: _message.default.format("dxDiagram-dialogEditShapeImageTitle"), onGetContent: this.getChangeImageDialogContent }]) }, getChangeImageDialogContent: function(args) { var $uploader = (0, _renderer.default)("<div>"); args.component._createComponent($uploader, _file_uploader.default, { selectButtonText: _message.default.format("dxDiagram-dialogEditShapeImageSelectButton"), accept: "image/*", uploadMode: "useForm", onValueChanged: function(e) { var window = (0, _window.getWindow)(); var reader = new window.FileReader; reader.onload = function(e) { args.component._commandParameter = e.target.result }; reader.readAsDataURL(e.value[0]) } }); return $uploader }, getDialogParameters: function(command) { var commandIndex = this.getConfigurations().map((function(c) { return c.command })).indexOf(command); if (commandIndex >= 0) { return this.getConfigurations()[commandIndex] } else { return null } } }; var _default = DiagramDialogManager; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 46920: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.dialogs.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../popup/ui.popup */ 51495)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DiagramDialog = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DiagramDialog, _Widget); function DiagramDialog() { return _Widget.apply(this, arguments) || this } var _proto = DiagramDialog.prototype; _proto._init = function() { _Widget.prototype._init.call(this); this._command = void 0; this._isShown = false; this._createOnGetContentOption(); this._createOnHiddenOption() }; _proto._initMarkup = function() { _Widget.prototype._initMarkup.call(this); this._command = this.option("command"); this._$popupElement = (0, _renderer.default)("<div>").appendTo(this.$element()); this._popup = this._createComponent(this._$popupElement, _ui2.default, { title: this.option("title"), maxWidth: this.option("maxWidth"), height: this.option("height"), toolbarItems: this.option("toolbarItems"), onHidden: this._onHiddenAction }) }; _proto._clean = function() { delete this._popup; this._$popupElement && this._$popupElement.remove() }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { title: "", maxWidth: 500, height: "auto", toolbarItems: this._getToolbarItems() }) }; _proto._getToolbarItems = function() { return [this._getOkToolbarItem(), this._getCancelToolbarItem()] }; _proto._getOkToolbarItem = function() { return { widget: "dxButton", location: "after", toolbar: "bottom", options: { text: _message.default.format("dxDiagram-dialogButtonOK"), onClick: function() { this._command.execute(this._commandParameter); this._hide() }.bind(this) } } }; _proto._getCancelToolbarItem = function() { return { widget: "dxButton", location: "after", toolbar: "bottom", options: { text: _message.default.format("dxDiagram-dialogButtonCancel"), onClick: this._hide.bind(this) } } }; _proto._optionChanged = function(args) { switch (args.name) { case "title": case "maxWidth": case "height": case "toolbarItems": this._popup.option(args.name, args.value); break; case "command": this._command = args.value; break; case "onGetContent": this._createOnGetContentOption(); break; case "onHidden": this._createOnHiddenOption(); break; default: _Widget.prototype._optionChanged.call(this, args) } }; _proto._createOnGetContentOption = function() { this._onGetContentAction = this._createActionByOption("onGetContent") }; _proto._createOnHiddenOption = function() { this._onHiddenAction = this._createActionByOption("onHidden") }; _proto._hide = function() { this._popup.hide(); this._isShown = false }; _proto._show = function() { this._popup.$content().empty().append(this._onGetContentAction()); this._popup.show(); this._isShown = true }; _proto.isVisible = function() { return this._isShown }; return DiagramDialog }(_ui.default); var _default = DiagramDialog; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 99967: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.floating_panel.js ***! \*************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _ui = _interopRequireDefault(__webpack_require__( /*! ../popup/ui.popup */ 51495)); var _uiDiagram = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.panel */ 47596)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DiagramFloatingPanel = function(_DiagramPanel) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DiagramFloatingPanel, _DiagramPanel); function DiagramFloatingPanel() { return _DiagramPanel.apply(this, arguments) || this } var _proto = DiagramFloatingPanel.prototype; _proto._init = function() { _DiagramPanel.prototype._init.call(this); this._createOnVisibilityChangingAction(); this._createOnVisibilityChangedAction() }; _proto.isVisible = function() { return this.option("isVisible") }; _proto.isMobileView = function() { return this.option("isMobileView") }; _proto._initMarkup = function() { _DiagramPanel.prototype._initMarkup.call(this); var $parent = this.$element(); var $popupElement = (0, _renderer.default)("<div>").addClass(this._getPopupClass()).addClass(this.isMobileView() && "dx-diagram-mobile-popup").appendTo($parent); this._popup = this._createComponent($popupElement, _ui.default, this._getPopupOptions()); this._updatePopupVisible() }; _proto.show = function() { this.option("isVisible", true) }; _proto.hide = function() { this.option("isVisible", false) }; _proto.toggle = function() { this.option("isVisible", !this.isVisible()) }; _proto.repaint = function() { this._popup.repaint() }; _proto._getPopupContent = function() { return this._popup.content() }; _proto._getPopupTitle = function() { var $content = (0, _renderer.default)(this._getPopupContent()); return $content.parent().find(".dx-popup-title") }; _proto._getPointerUpElements = function() { return [this._getPopupContent(), this._getPopupTitle()] }; _proto._getVerticalPaddingsAndBorders = function() { var $content = (0, _renderer.default)(this._getPopupContent()); return (0, _size.getOuterHeight)($content) - (0, _size.getHeight)($content) }; _proto._getHorizontalPaddingsAndBorders = function() { var $content = (0, _renderer.default)(this._getPopupContent()); return (0, _size.getOuterWidth)($content) - (0, _size.getWidth)($content) }; _proto._getPopupClass = function() { return "" }; _proto._getPopupWidth = function() { return this.option("width") || "auto" }; _proto._getPopupMaxWidth = function() { return this.option("maxWidth") }; _proto._getPopupMinWidth = function() { return this.option("minWidth") }; _proto._getPopupHeight = function() { return this.option("height") || "auto" }; _proto._getPopupMaxHeight = function() { return this.option("maxHeight") }; _proto._getPopupMinHeight = function() { return this.option("minHeight") }; _proto._getPopupPosition = function() { return {} }; _proto._getPopupContainer = function() { return this.option("container") }; _proto._getPopupSlideAnimationObject = function(properties) { return (0, _extend.extend)({ type: "slide", start: function() { (0, _renderer.default)("body").css("overflow", "hidden") }, complete: function() { (0, _renderer.default)("body").css("overflow", "") } }, properties) }; _proto._getPopupAnimation = function() { return { hide: { type: "fadeOut" }, show: { type: "fadeIn" } } }; _proto._getPopupOptions = function() { var _this = this; var that = this; return { animation: (0, _window.hasWindow)() ? this._getPopupAnimation() : null, shading: false, showTitle: false, focusStateEnabled: false, container: this._getPopupContainer(), width: this._getPopupWidth(), height: this._getPopupHeight(), maxWidth: this._getPopupMaxWidth(), maxHeight: this._getPopupMaxHeight(), minWidth: this._getPopupMinWidth(), minHeight: this._getPopupMinHeight(), position: this._getPopupPosition(), showCloseButton: true, copyRootClassesToWrapper: true, _ignoreCopyRootClassesToWrapperDeprecation: true, onContentReady: function() { that._renderPopupContent(that._popup.content()) }, onShowing: function() { _this._onVisibilityChangingAction({ visible: true, component: _this }) }, onShown: function() { _this.option("isVisible", true); _this._onVisibilityChangedAction({ visible: true, component: _this }) }, onHiding: function() { _this._onVisibilityChangingAction({ visible: false, component: _this }) }, onHidden: function() { _this.option("isVisible", false); _this._onVisibilityChangedAction({ visible: false, component: _this }) } } }; _proto._renderPopupContent = function($parent) {}; _proto._updatePopupVisible = function() { this._popup.option("visible", this.isVisible()) }; _proto._createOnVisibilityChangingAction = function() { this._onVisibilityChangingAction = this._createActionByOption("onVisibilityChanging") }; _proto._createOnVisibilityChangedAction = function() { this._onVisibilityChangedAction = this._createActionByOption("onVisibilityChanged") }; _proto._optionChanged = function(args) { switch (args.name) { case "onVisibilityChanging": this._createOnVisibilityChangingAction(); break; case "onVisibilityChanged": this._createOnVisibilityChangedAction(); break; case "container": this._popup.option("container", this._getPopupContainer()); break; case "width": this._popup.option("width", this._getPopupWidth()); break; case "height": this._popup.option("height", this._getPopupHeight()); break; case "maxWidth": this._popup.option("maxWidth", this._getPopupMaxWidth()); break; case "maxHeight": this._popup.option("maxHeight", this._getPopupMaxHeight()); break; case "minWidth": this._popup.option("minWidth", this._getPopupMinWidth()); break; case "minHeight": this._popup.option("minHeight", this._getPopupMinHeight()); break; case "isMobileView": this._invalidate(); break; case "isVisible": this._updatePopupVisible(); break; default: _DiagramPanel.prototype._optionChanged.call(this, args) } }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_DiagramPanel.prototype._getDefaultOptions.call(this), { isVisible: true, isMobileView: false, offsetX: 0, offsetY: 0 }) }; return DiagramFloatingPanel }(_uiDiagram.default); var _default = DiagramFloatingPanel; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 57257: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.history_toolbar.js ***! \**************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiDiagram = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.toolbar */ 38148)); var _diagram = _interopRequireDefault(__webpack_require__( /*! ./diagram.commands_manager */ 72321)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DiagramHistoryToolbar = function(_DiagramToolbar) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DiagramHistoryToolbar, _DiagramToolbar); function DiagramHistoryToolbar() { return _DiagramToolbar.apply(this, arguments) || this } var _proto = DiagramHistoryToolbar.prototype; _proto._getCommands = function() { return _diagram.default.getHistoryToolbarCommands(this.option("commands"), this._getExcludeCommands()) }; _proto._getExcludeCommands = function() { var commands = [].concat(this.option("excludeCommands")); if (!this.option("isMobileView")) { commands.push(_diagram.default.SHOW_TOOLBOX_COMMAND_NAME) } return commands }; return DiagramHistoryToolbar }(_uiDiagram.default); var _default = DiagramHistoryToolbar; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 83537: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.js ***! \**********************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _load_indicator = _interopRequireDefault(__webpack_require__( /*! ../load_indicator */ 2492)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var _position = _interopRequireDefault(__webpack_require__( /*! ../../animation/position */ 49387)); var _diagram = __webpack_require__( /*! ./diagram.importer */ 348); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _number = _interopRequireDefault(__webpack_require__( /*! ../../localization/number */ 18016)); var zIndexPool = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../overlay/z_index */ 85421)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../overlay/ui.overlay */ 89799)); var _uiDiagram = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.toolbar */ 38148)); var _uiDiagram2 = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.main_toolbar */ 66156)); var _uiDiagram3 = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.history_toolbar */ 57257)); var _uiDiagram4 = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.view_toolbar */ 64225)); var _uiDiagram5 = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.properties_toolbar */ 95463)); var _uiDiagram6 = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.context_menu */ 33353)); var _uiDiagram7 = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.context_toolbox */ 90978)); var _uiDiagram8 = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.dialogs */ 46920)); var _uiDiagram9 = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.scroll_view */ 66737)); var _diagram2 = _interopRequireDefault(__webpack_require__( /*! ./diagram.toolbox_manager */ 63564)); var _uiDiagram10 = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.toolbox */ 63842)); var _uiDiagram11 = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.properties_panel */ 64863)); var _diagram3 = _interopRequireDefault(__webpack_require__( /*! ./diagram.options_update */ 61982)); var _uiDiagram12 = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.dialog_manager */ 34690)); var _diagram4 = _interopRequireDefault(__webpack_require__( /*! ./diagram.commands_manager */ 72321)); var _diagram5 = _interopRequireDefault(__webpack_require__( /*! ./diagram.nodes_option */ 81308)); var _diagram6 = _interopRequireDefault(__webpack_require__( /*! ./diagram.edges_option */ 73510)); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FULLSCREEN_CHANGE_EVENT_NAME = (0, _index.addNamespace)("fullscreenchange", "dxDiagramEvent"); var IE_FULLSCREEN_CHANGE_EVENT_NAME = (0, _index.addNamespace)("msfullscreenchange", "dxDiagramEvent"); var WEBKIT_FULLSCREEN_CHANGE_EVENT_NAME = (0, _index.addNamespace)("webkitfullscreenchange", "dxDiagramEvent"); var MOZ_FULLSCREEN_CHANGE_EVENT_NAME = (0, _index.addNamespace)("mozfullscreenchange", "dxDiagramEvent"); var Diagram = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Diagram, _Widget); function Diagram() { return _Widget.apply(this, arguments) || this } var _proto = Diagram.prototype; _proto._init = function() { this._updateDiagramLockCount = 0; this.toggleFullscreenLock = 0; this._toolbars = []; _Widget.prototype._init.call(this); this._initDiagram(); this._createCustomCommand() }; _proto._initMarkup = function() { var _this = this; _Widget.prototype._initMarkup.call(this); this._toolbars = []; delete this._isMobileScreenSize; var isServerSide = !(0, _window.hasWindow)(); this.$element().addClass("dx-diagram"); delete this._mainToolbar; if (this.option("mainToolbar.visible")) { this._renderMainToolbar() } var $contentWrapper = (0, _renderer.default)("<div>").addClass("dx-diagram-content-wrapper").appendTo(this.$element()); delete this._historyToolbar; delete this._historyToolbarResizeCallback; if (this._isHistoryToolbarVisible()) { this._renderHistoryToolbar($contentWrapper) } delete this._propertiesToolbar; delete this._propertiesToolbarResizeCallback; if (this._isPropertiesPanelEnabled()) { this._renderPropertiesToolbar($contentWrapper) } delete this._viewToolbar; delete this._viewToolbarResizeCallback; if (this.option("viewToolbar.visible")) { this._renderViewToolbar($contentWrapper) } delete this._toolbox; delete this._toolboxResizeCallback; if (this._isToolboxEnabled()) { this._renderToolbox($contentWrapper) } delete this._propertiesPanel; delete this._propertiesPanelResizeCallback; if (this._isPropertiesPanelEnabled()) { this._renderPropertiesPanel($contentWrapper) } this._$content = (0, _renderer.default)("<div>").addClass("dx-diagram-content").appendTo($contentWrapper); delete this._contextMenu; this._diagramInstance.settings.contextMenuEnabled = this.option("contextMenu.enabled"); if (this._diagramInstance.settings.contextMenuEnabled) { this._renderContextMenu($contentWrapper) } delete this._contextToolbox; if (this.option("contextToolbox.enabled")) { this._renderContextToolbox($contentWrapper) } this._renderDialog($contentWrapper); if (!isServerSide) { var $scrollViewWrapper = (0, _renderer.default)("<div>").addClass("dx-diagram-scroll-view").appendTo(this._$content); this._createComponent($scrollViewWrapper, _uiDiagram9.default, { useNativeScrolling: this.option("useNativeScrolling"), onCreateDiagram: function(e) { _this._diagramInstance.createDocument(e.$parent[0], e.scrollView, $contentWrapper[0]) } }) } this._setCustomCommandChecked(_diagram4.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME, this._isPropertiesPanelVisible()); this._setCustomCommandChecked(_diagram4.default.SHOW_TOOLBOX_COMMAND_NAME, this._isToolboxVisible()); this._createOptionsUpdateBar() }; _proto._dimensionChanged = function() { this._isMobileScreenSize = void 0; this._processDiagramResize() }; _proto._visibilityChanged = function(visible) { if (visible) { this._bindDiagramData(); this.repaint() } }; _proto._processDiagramResize = function() { this._diagramInstance.onDimensionChanged(); if (this._historyToolbarResizeCallback) { this._historyToolbarResizeCallback.call(this) } if (this._propertiesToolbarResizeCallback) { this._propertiesToolbarResizeCallback.call(this) } if (this._propertiesPanelResizeCallback) { this._propertiesPanelResizeCallback.call(this) } if (this._viewToolbarResizeCallback) { this._viewToolbarResizeCallback.call(this) } if (this._toolboxResizeCallback) { this._toolboxResizeCallback.call(this) } }; _proto.isMobileScreenSize = function() { if (void 0 === this._isMobileScreenSize) { this._isMobileScreenSize = (0, _window.hasWindow)() && (0, _size.getOuterWidth)(this.$element()) < 576 } return this._isMobileScreenSize }; _proto._captureFocus = function() { if (this._diagramInstance) { this._diagramInstance.captureFocus() } }; _proto._captureFocusOnTimeout = function() { var _this2 = this; this._captureFocusTimeout = setTimeout((function() { _this2._captureFocus(); delete _this2._captureFocusTimeout }), 100) }; _proto._killCaptureFocusTimeout = function() { if (this._captureFocusTimeout) { clearTimeout(this._captureFocusTimeout); delete this._captureFocusTimeout } }; _proto.notifyBarCommandExecuted = function() { this._captureFocusOnTimeout() }; _proto._registerToolbar = function(component) { this._registerBar(component); this._toolbars.push(component) }; _proto._registerBar = function(component) { component.bar.onChanged.add(this); this._diagramInstance.registerBar(component.bar) }; _proto._getExcludeCommands = function() { var excludeCommands = []; if (!this._isToolboxEnabled()) { excludeCommands.push(_diagram4.default.SHOW_TOOLBOX_COMMAND_NAME) } if (!this._isPropertiesPanelEnabled()) { excludeCommands.push(_diagram4.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME) } return excludeCommands }; _proto._getToolbarBaseOptions = function() { var _this3 = this; return { onContentReady: function(_ref) { var component = _ref.component; return _this3._registerToolbar(component) }, onSubMenuVisibilityChanging: function(_ref2) { var component = _ref2.component; return _this3._diagramInstance.updateBarItemsState(component.bar) }, onPointerUp: this._onPanelPointerUp.bind(this), export: this.option("export"), excludeCommands: this._getExcludeCommands(), onInternalCommand: this._onInternalCommand.bind(this), onCustomCommand: this._onCustomCommand.bind(this), isMobileView: this.isMobileScreenSize() } }; _proto._onInternalCommand = function(e) { switch (e.command) { case _diagram4.default.SHOW_TOOLBOX_COMMAND_NAME: if (this._toolbox) { this._toolbox.toggle() } break; case _diagram4.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME: if (this._propertiesPanel) { this._propertiesPanel.toggle() } } }; _proto._onCustomCommand = function(e) { this._customCommandAction({ name: e.name }) }; _proto._renderMainToolbar = function() { var $toolbarWrapper = (0, _renderer.default)("<div>").addClass("dx-diagram-toolbar-wrapper").appendTo(this.$element()); this._mainToolbar = this._createComponent($toolbarWrapper, _uiDiagram2.default, (0, _extend.extend)(this._getToolbarBaseOptions(), { commands: this.option("mainToolbar.commands"), skipAdjustSize: true })) }; _proto._isHistoryToolbarVisible = function() { return this.option("historyToolbar.visible") && !this.isReadOnlyMode() }; _proto._renderHistoryToolbar = function($parent) { var _this4 = this; var $container = (0, _renderer.default)("<div>").addClass("dx-diagram-floating-toolbar-container").appendTo($parent); this._historyToolbar = this._createComponent($container, _uiDiagram3.default, (0, _extend.extend)(this._getToolbarBaseOptions(), { commands: this.option("historyToolbar.commands"), locateInMenu: "never" })); this._updateHistoryToolbarPosition(); this._historyToolbarResizeCallback = function() { _this4._historyToolbar.option("isMobileView", _this4.isMobileScreenSize()) } }; _proto._updateHistoryToolbarPosition = function() { if (!(0, _window.hasWindow)()) { return } _position.default.setup(this._historyToolbar.$element(), { my: "left top", at: "left top", of: this._historyToolbar.$element().parent(), offset: "12 12" }) }; _proto._isToolboxEnabled = function() { return "disabled" !== this.option("toolbox.visibility") && !this.isReadOnlyMode() }; _proto._isToolboxVisible = function() { return "visible" === this.option("toolbox.visibility") || "auto" === this.option("toolbox.visibility") && !this.isMobileScreenSize() }; _proto._renderToolbox = function($parent) { var _this5 = this; var isServerSide = !(0, _window.hasWindow)(); var $toolBox = (0, _renderer.default)("<div>").appendTo($parent); var bounds = this._getToolboxBounds($parent, isServerSide); this._toolbox = this._createComponent($toolBox, _uiDiagram10.default, { isMobileView: this.isMobileScreenSize(), isVisible: this._isToolboxVisible(), container: this.$element(), height: bounds.height, offsetParent: $parent, offsetX: bounds.offsetX, offsetY: bounds.offsetY, showSearch: this.option("toolbox.showSearch"), toolboxGroups: this._getToolboxGroups(), toolboxWidth: this.option("toolbox.width"), onShapeCategoryRendered: function(e) { if (isServerSide) { return } _this5._diagramInstance.createToolbox(e.$element[0], "texts" === e.displayMode, e.shapes || e.category, { shapeIconSpacing: 12, shapeIconCountInRow: _this5.option("toolbox.shapeIconsPerRow"), shapeIconAttributes: { "data-toggle": e.dataToggle } }) }, onFilterChanged: function(e) { if (isServerSide) { return } _this5._diagramInstance.applyToolboxFilter(e.text, e.filteringToolboxes) }, onVisibilityChanging: function(e) { if (isServerSide) { return } _this5._setCustomCommandChecked(_diagram4.default.SHOW_TOOLBOX_COMMAND_NAME, e.visible); if (_this5._propertiesPanel) { if (e.visible && _this5.isMobileScreenSize()) { _this5._propertiesPanel.hide() } } if (_this5._historyToolbar) { if (e.visible && _this5.isMobileScreenSize()) { _this5._historyToolbarZIndex = zIndexPool.create(_ui2.default.baseZIndex()); _this5._historyToolbar.$element().css("zIndex", _this5._historyToolbarZIndex); _this5._historyToolbar.$element().css("boxShadow", "none") } } if (_this5._viewToolbar) { _this5._viewToolbar.$element().css("opacity", e.visible && _this5.isMobileScreenSize() ? "0" : "1"); _this5._viewToolbar.$element().css("pointerEvents", e.visible && _this5.isMobileScreenSize() ? "none" : "") } }, onVisibilityChanged: function(e) { if (!e.visible && !_this5._textInputStarted) { _this5._captureFocus() } if (!isServerSide) { if (_this5._historyToolbar) { if (!e.visible && _this5.isMobileScreenSize() && _this5._historyToolbarZIndex) { zIndexPool.remove(_this5._historyToolbarZIndex); _this5._historyToolbar.$element().css("zIndex", ""); _this5._historyToolbar.$element().css("boxShadow", ""); _this5._historyToolbarZIndex = void 0 } } } }, onPointerUp: this._onPanelPointerUp.bind(this) }); this._toolbox._popup.option("propagateOutsideClick", !this.option("fullScreen")); this._toolboxResizeCallback = function() { var bounds = _this5._getToolboxBounds($parent, isServerSide); _this5._toolbox.option("height", bounds.height); var prevIsMobileView = _this5._toolbox.option("isMobileView"); if (prevIsMobileView !== _this5.isMobileScreenSize()) { _this5._toolbox.option({ isMobileView: _this5.isMobileScreenSize(), isVisible: _this5._isToolboxVisible() }); _this5._setCustomCommandChecked(_diagram4.default.SHOW_TOOLBOX_COMMAND_NAME, _this5._isToolboxVisible()) } _this5._toolbox.updateMaxHeight() } }; _proto._getToolboxBounds = function($parent, isServerSide) { var result = { offsetX: 12, offsetY: 12, height: !isServerSide ? (0, _size.getHeight)($parent) - 24 : 0 }; if (this._historyToolbar && !isServerSide) { result.offsetY += (0, _size.getOuterHeight)(this._historyToolbar.$element()) + 12; result.height -= (0, _size.getOuterHeight)(this._historyToolbar.$element()) + 12 } if (this._viewToolbar && !isServerSide) { result.height -= (0, _size.getOuterHeight)(this._viewToolbar.$element()) + this._getViewToolbarYOffset(isServerSide) } return result }; _proto._renderViewToolbar = function($parent) { var _this6 = this; var isServerSide = !(0, _window.hasWindow)(); var $container = (0, _renderer.default)("<div>").addClass("dx-diagram-floating-toolbar-container").appendTo($parent); this._viewToolbar = this._createComponent($container, _uiDiagram4.default, (0, _extend.extend)(this._getToolbarBaseOptions(), { commands: this.option("viewToolbar.commands"), locateInMenu: "never" })); this._updateViewToolbarPosition($container, $parent, isServerSide); this._viewToolbarResizeCallback = function() { _this6._updateViewToolbarPosition($container, $parent, isServerSide) } }; _proto._getViewToolbarYOffset = function(isServerSide) { if (isServerSide) { return } var result = 12; if (this._viewToolbar && this._propertiesToolbar) { result += ((0, _size.getOuterHeight)(this._propertiesToolbar.$element()) - (0, _size.getOuterHeight)(this._viewToolbar.$element())) / 2 } return result }; _proto._updateViewToolbarPosition = function($container, $parent, isServerSide) { if (isServerSide) { return } _position.default.setup($container, { my: "left bottom", at: "left bottom", of: $parent, offset: "12 -" + this._getViewToolbarYOffset(isServerSide) }) }; _proto._isPropertiesPanelEnabled = function() { return "disabled" !== this.option("propertiesPanel.visibility") && !this.isReadOnlyMode() }; _proto._isPropertiesPanelVisible = function() { return "visible" === this.option("propertiesPanel.visibility") }; _proto._renderPropertiesToolbar = function($parent) { var _this7 = this; var isServerSide = !(0, _window.hasWindow)(); var $container = (0, _renderer.default)("<div>").addClass("dx-diagram-floating-toolbar-container").addClass("dx-diagram-properties-panel-toolbar-container").appendTo($parent); this._propertiesToolbar = this._createComponent($container, _uiDiagram5.default, (0, _extend.extend)(this._getToolbarBaseOptions(), { buttonStylingMode: "contained", buttonType: "default", locateInMenu: "never" })); this._updatePropertiesToolbarPosition($container, $parent, isServerSide); this._propertiesToolbarResizeCallback = function() { _this7._updatePropertiesToolbarPosition($container, $parent, isServerSide) } }; _proto._updatePropertiesToolbarPosition = function($container, $parent, isServerSide) { if (isServerSide) { return } _position.default.setup($container, { my: "right bottom", at: "right bottom", of: $parent, offset: "-12 -12" }) }; _proto._renderPropertiesPanel = function($parent) { var _this8 = this; var isServerSide = !(0, _window.hasWindow)(); var $propertiesPanel = (0, _renderer.default)("<div>").appendTo($parent); var offsetY = 24 + (!isServerSide ? (0, _size.getOuterHeight)(this._propertiesToolbar.$element()) : 0); this._propertiesPanel = this._createComponent($propertiesPanel, _uiDiagram11.default, { isMobileView: this.isMobileScreenSize(), isVisible: this._isPropertiesPanelVisible(), container: this.$element(), offsetParent: $parent, offsetX: 12, offsetY: offsetY, propertyTabs: this.option("propertiesPanel.tabs"), onCreateToolbar: function(e) { e.toolbar = _this8._createComponent(e.$parent, _uiDiagram.default, (0, _extend.extend)(_this8._getToolbarBaseOptions(), { commands: e.commands, locateInMenu: "never", editorStylingMode: "outlined" })) }, onVisibilityChanging: function(e) { if (isServerSide) { return } _this8._updatePropertiesPanelGroupBars(e.component); _this8._setCustomCommandChecked(_diagram4.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME, e.visible); if (_this8._toolbox) { if (e.visible && _this8.isMobileScreenSize()) { _this8._toolbox.hide() } } }, onVisibilityChanged: function(e) { if (!e.visible && !_this8._textInputStarted) { _this8._captureFocus() } }, onSelectedGroupChanged: function(_ref3) { var component = _ref3.component; return _this8._updatePropertiesPanelGroupBars(component) }, onPointerUp: this._onPanelPointerUp.bind(this) }); this._propertiesPanelResizeCallback = function() { var prevIsMobileView = _this8._propertiesPanel.option("isMobileView"); if (prevIsMobileView !== _this8.isMobileScreenSize()) { _this8._propertiesPanel.option({ isMobileView: _this8.isMobileScreenSize(), isVisible: _this8._isPropertiesPanelVisible() }); _this8._setCustomCommandChecked(_diagram4.default.SHOW_PROPERTIES_PANEL_COMMAND_NAME, _this8._isPropertiesPanelVisible()) } } }; _proto._updatePropertiesPanelGroupBars = function(component) { var _this9 = this; component.getActiveToolbars().forEach((function(toolbar) { _this9._diagramInstance.updateBarItemsState(toolbar.bar) })) }; _proto._onPanelPointerUp = function() { this._captureFocusOnTimeout() }; _proto._renderContextMenu = function($parent) { var _this10 = this; var $contextMenu = (0, _renderer.default)("<div>").appendTo($parent); this._contextMenu = this._createComponent($contextMenu, _uiDiagram6.default.DiagramContextMenuWrapper, { commands: this.option("contextMenu.commands"), onContentReady: function(_ref4) { var component = _ref4.component; return _this10._registerBar(component) }, onVisibilityChanging: function(_ref5) { var component = _ref5.component; return _this10._diagramInstance.updateBarItemsState(component.bar) }, onItemClick: function(itemData) { return _this10._onBeforeCommandExecuted(itemData.command) }, export: this.option("export"), excludeCommands: this._getExcludeCommands(), onInternalCommand: this._onInternalCommand.bind(this), onCustomCommand: this._onCustomCommand.bind(this) }) }; _proto._renderContextToolbox = function($parent) { var _this11 = this; var isServerSide = !(0, _window.hasWindow)(); var category = this.option("contextToolbox.category"); var displayMode = this.option("contextToolbox.displayMode"); var shapes = this.option("contextToolbox.shapes"); var $contextToolbox = (0, _renderer.default)("<div>").appendTo($parent); this._contextToolbox = this._createComponent($contextToolbox, _uiDiagram7.default, { toolboxWidth: this.option("contextToolbox.width"), onShown: function(e) { if (isServerSide) { return } var $toolboxContainer = (0, _renderer.default)(e.$element); var isTextGroup = "texts" === displayMode; if (!shapes && !category && !isTextGroup) { var group = _this11._getToolboxGroups().filter((function(g) { return g.category === e.category }))[0]; if (group) { isTextGroup = "texts" === group.displayMode } } _this11._diagramInstance.createContextToolbox($toolboxContainer[0], isTextGroup, shapes || category || e.category, { shapeIconSpacing: 12, shapeIconCountInRow: _this11.option("contextToolbox.shapeIconsPerRow") }, (function(shapeType) { e.callback(shapeType); _this11._captureFocus(); e.hide() })) } }) }; _proto._setCustomCommandChecked = function(command, checked) { this._toolbars.forEach((function(tb) { tb.setCommandChecked(command, checked) })) }; _proto._onBeforeCommandExecuted = function(command) { var dialogParameters = _uiDiagram12.default.getDialogParameters(command); if (dialogParameters) { this._showDialog(dialogParameters) } return !!dialogParameters }; _proto._renderDialog = function($parent) { var $dialogElement = (0, _renderer.default)("<div>").appendTo($parent); this._dialogInstance = this._createComponent($dialogElement, _uiDiagram8.default, {}) }; _proto._showDialog = function(dialogParameters) { if (this._dialogInstance) { this._dialogInstance.option("onGetContent", dialogParameters.onGetContent); this._dialogInstance.option("onHidden", function() { this._captureFocus() }.bind(this)); this._dialogInstance.option("command", this._diagramInstance.getCommand(dialogParameters.command)); this._dialogInstance.option("title", dialogParameters.title); this._dialogInstance._show() } }; _proto._showLoadingIndicator = function() { this._loadingIndicator = (0, _renderer.default)("<div>").addClass("dx-diagram-loading-indicator"); this._createComponent(this._loadingIndicator, _load_indicator.default, {}); var $parent = this._$content || this.$element(); $parent.append(this._loadingIndicator) }; _proto._hideLoadingIndicator = function() { if (!this._loadingIndicator) { return } this._loadingIndicator.remove(); this._loadingIndicator = null }; _proto._initDiagram = function() { var _getDiagram = (0, _diagram.getDiagram)(), DiagramControl = _getDiagram.DiagramControl; this._diagramInstance = new DiagramControl; this._diagramInstance.onChanged = this._raiseDataChangeAction.bind(this); this._diagramInstance.onEdgeInserted = this._raiseEdgeInsertedAction.bind(this); this._diagramInstance.onEdgeUpdated = this._raiseEdgeUpdatedAction.bind(this); this._diagramInstance.onEdgeRemoved = this._raiseEdgeRemovedAction.bind(this); this._diagramInstance.onNodeInserted = this._raiseNodeInsertedAction.bind(this); this._diagramInstance.onNodeUpdated = this._raiseNodeUpdatedAction.bind(this); this._diagramInstance.onNodeRemoved = this._raiseNodeRemovedAction.bind(this); this._diagramInstance.onToolboxDragStart = this._raiseToolboxDragStart.bind(this); this._diagramInstance.onToolboxDragEnd = this._raiseToolboxDragEnd.bind(this); this._diagramInstance.onTextInputStart = this._raiseTextInputStart.bind(this); this._diagramInstance.onTextInputEnd = this._raiseTextInputEnd.bind(this); this._diagramInstance.onToggleFullscreen = this._onToggleFullScreen.bind(this); this._diagramInstance.onShowContextMenu = this._onShowContextMenu.bind(this); this._diagramInstance.onHideContextMenu = this._onHideContextMenu.bind(this); this._diagramInstance.onShowContextToolbox = this._onShowContextToolbox.bind(this); this._diagramInstance.onHideContextToolbox = this._onHideContextToolbox.bind(this); this._diagramInstance.onNativeAction.add({ notifyItemClick: this._raiseItemClickAction.bind(this), notifyItemDblClick: this._raiseItemDblClickAction.bind(this), notifySelectionChanged: this._raiseSelectionChanged.bind(this) }); this._diagramInstance.onRequestOperation = this._raiseRequestEditOperation.bind(this); this._updateEventSubscriptionMethods(); this._updateDefaultItemProperties(); this._updateEditingSettings(); this._updateShapeTexts(); this._updateUnitItems(); this._updateFormatUnitsMethod(); if ("in" !== this.option("units")) { this._updateUnitsState() } if (this.isReadOnlyMode()) { this._updateReadOnlyState() } if (this.option("pageSize")) { if (this.option("pageSize.items")) { this._updatePageSizeItemsState() } if (this.option("pageSize.width") && this.option("pageSize.height")) { this._updatePageSizeState() } } if ("portrait" !== this.option("pageOrientation")) { this._updatePageOrientationState() } if ("#ffffff" !== this.option("pageColor")) { this._updatePageColorState() } if ("in" !== this.option("viewUnits")) { this._updateViewUnitsState() } if (!this.option("showGrid")) { this._updateShowGridState() } if (!this.option("snapToGrid")) { this._updateSnapToGridState() } if (this.option("gridSize")) { this._updateGridSizeState() } if (1 !== this.option("zoomLevel")) { this._updateZoomLevelState() } if (this.option("simpleView")) { this._updateSimpleViewState() } if ("disabled" !== this.option("autoZoomMode")) { this._updateAutoZoomState() } if (this.option("fullScreen")) { var window = (0, _window.getWindow)(); if (window && window.self !== window.top) { this.option("fullScreen", false) } else { this._updateFullscreenState() } } this._createOptionsUpdateBar(); if ((0, _window.hasWindow)()) { this._diagramInstance.initMeasurer(this.$element()[0]) } this._updateCustomShapes(this._getCustomShapes()); this._refreshDataSources() }; _proto._createOptionsUpdateBar = function() { if (!this.optionsUpdateBar) { this.optionsUpdateBar = new _diagram3.default(this); this._diagramInstance.registerBar(this.optionsUpdateBar) } }; _proto._deleteOptionsUpdateBar = function() { delete this.optionsUpdateBar }; _proto._clean = function() { if (this._diagramInstance) { this._diagramInstance.cleanMarkup((function(element) { (0, _renderer.default)(element).empty() })); this._deleteOptionsUpdateBar() } _Widget.prototype._clean.call(this) }; _proto._dispose = function() { this._killCaptureFocusTimeout(); _Widget.prototype._dispose.call(this); if (this._diagramInstance) { this._diagramInstance.dispose(); this._diagramInstance = void 0 } }; _proto._executeDiagramCommand = function(command, parameter) { this._diagramInstance.getCommand(command).execute(parameter) }; _proto.getNodeDataSource = function() { return this._nodesOption && this._nodesOption.getDataSource() }; _proto.getEdgeDataSource = function() { return this._edgesOption && this._edgesOption.getDataSource() }; _proto._refreshDataSources = function() { this._beginUpdateDiagram(); this._refreshNodesDataSource(); this._refreshEdgesDataSource(); this._endUpdateDiagram() }; _proto._refreshNodesDataSource = function() { if (this._nodesOption) { this._nodesOption._disposeDataSource(); delete this._nodesOption } if (this.option("nodes.dataSource")) { this._nodesOption = new _diagram5.default(this); this._nodesOption.option("dataSource", this.option("nodes.dataSource")); this._nodesOption._refreshDataSource() } }; _proto._refreshEdgesDataSource = function() { if (this._edgesOption) { this._edgesOption._disposeDataSource(); delete this._edgesOption } if (this.option("edges.dataSource")) { this._edgesOption = new _diagram6.default(this); this._edgesOption.option("dataSource", this.option("edges.dataSource")); this._edgesOption._refreshDataSource() } }; _proto._getDiagramData = function() { var value; var _getDiagram2 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram2.DiagramCommand; this._executeDiagramCommand(DiagramCommand.Export, (function(data) { value = data })); return value }; _proto._setDiagramData = function(data, keepExistingItems) { var _getDiagram3 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram3.DiagramCommand; this._executeDiagramCommand(DiagramCommand.Import, { data: data, keepExistingItems: keepExistingItems }) }; _proto.isReadOnlyMode = function() { return this.option("readOnly") || this.option("disabled") }; _proto._onDataSourceChanged = function() { this._bindDiagramData() }; _proto._getChangesKeys = function(changes) { return changes.map((function(change) { if ((0, _type.isDefined)(change.internalKey)) { return change.internalKey } else if ((0, _type.isDefined)(change.key)) { return change.key } else { return null } })).filter((function(key) { return (0, _type.isDefined)(key) })) }; _proto._createOptionGetter = function(optionName) { var expr = this.option(optionName); return expr && (0, _data.compileGetter)(expr) }; _proto._onRequestUpdateLayout = function(changes) { if (!this._requestLayoutUpdateAction) { this._createRequestLayoutUpdateAction() } var eventArgs = { changes: changes, allowed: false }; this._requestLayoutUpdateAction(eventArgs); return eventArgs.allowed }; _proto._createOptionSetter = function(optionName) { var expr = this.option(optionName); if ((0, _type.isFunction)(expr)) { return expr } return expr && (0, _data.compileSetter)(expr) }; _proto._bindDiagramData = function() { if (this._updateDiagramLockCount || !this._isBindingMode()) { return } var _getDiagram4 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram4.DiagramCommand, ConnectorLineOption = _getDiagram4.ConnectorLineOption, ConnectorLineEnding = _getDiagram4.ConnectorLineEnding; var lineOptionGetter; var lineOptionSetter; var startLineEndingGetter; var startLineEndingSetter; var endLineEndingGetter; var endLineEndingSetter; var containerChildrenGetter; var containerChildrenSetter; var data = { nodeDataSource: this._nodesOption && this._nodesOption.getItems(), edgeDataSource: this._edgesOption && this._edgesOption.getItems(), nodeDataImporter: { getKey: this._createOptionGetter("nodes.keyExpr"), setKey: this._createOptionSetter("nodes.keyExpr"), getCustomData: this._createOptionGetter("nodes.customDataExpr"), setCustomData: this._createOptionSetter("nodes.customDataExpr"), getLocked: this._createOptionGetter("nodes.lockedExpr"), setLocked: this._createOptionSetter("nodes.lockedExpr"), getStyle: this._createOptionGetter("nodes.styleExpr"), setStyle: this._createOptionSetter("nodes.styleExpr"), getStyleText: this._createOptionGetter("nodes.textStyleExpr"), setStyleText: this._createOptionSetter("nodes.textStyleExpr"), getZIndex: this._createOptionGetter("nodes.zIndexExpr"), setZIndex: this._createOptionSetter("nodes.zIndexExpr"), getType: this._createOptionGetter("nodes.typeExpr"), setType: this._createOptionSetter("nodes.typeExpr"), getText: this._createOptionGetter("nodes.textExpr"), setText: this._createOptionSetter("nodes.textExpr"), getImage: this._createOptionGetter("nodes.imageUrlExpr"), setImage: this._createOptionSetter("nodes.imageUrlExpr"), getLeft: this._createOptionGetter("nodes.leftExpr"), setLeft: this._createOptionSetter("nodes.leftExpr"), getTop: this._createOptionGetter("nodes.topExpr"), setTop: this._createOptionSetter("nodes.topExpr"), getWidth: this._createOptionGetter("nodes.widthExpr"), setWidth: this._createOptionSetter("nodes.widthExpr"), getHeight: this._createOptionGetter("nodes.heightExpr"), setHeight: this._createOptionSetter("nodes.heightExpr"), getParentKey: this._createOptionGetter("nodes.parentKeyExpr"), setParentKey: this._createOptionSetter("nodes.parentKeyExpr"), getItems: this._createOptionGetter("nodes.itemsExpr"), setItems: this._createOptionSetter("nodes.itemsExpr"), getChildren: containerChildrenGetter = this._createOptionGetter("nodes.containerChildrenExpr"), setChildren: containerChildrenSetter = this._createOptionSetter("nodes.containerChildrenExpr"), getContainerKey: !containerChildrenGetter && !containerChildrenSetter && this._createOptionGetter("nodes.containerKeyExpr"), setContainerKey: !containerChildrenGetter && !containerChildrenSetter && this._createOptionSetter("nodes.containerKeyExpr") }, edgeDataImporter: { getKey: this._createOptionGetter("edges.keyExpr"), setKey: this._createOptionSetter("edges.keyExpr"), getCustomData: this._createOptionGetter("edges.customDataExpr"), setCustomData: this._createOptionSetter("edges.customDataExpr"), getLocked: this._createOptionGetter("edges.lockedExpr"), setLocked: this._createOptionSetter("edges.lockedExpr"), getStyle: this._createOptionGetter("edges.styleExpr"), setStyle: this._createOptionSetter("edges.styleExpr"), getStyleText: this._createOptionGetter("edges.textStyleExpr"), setStyleText: this._createOptionSetter("edges.textStyleExpr"), getZIndex: this._createOptionGetter("edges.zIndexExpr"), setZIndex: this._createOptionSetter("edges.zIndexExpr"), getFrom: this._createOptionGetter("edges.fromExpr"), setFrom: this._createOptionSetter("edges.fromExpr"), getFromPointIndex: this._createOptionGetter("edges.fromPointIndexExpr"), setFromPointIndex: this._createOptionSetter("edges.fromPointIndexExpr"), getTo: this._createOptionGetter("edges.toExpr"), setTo: this._createOptionSetter("edges.toExpr"), getToPointIndex: this._createOptionGetter("edges.toPointIndexExpr"), setToPointIndex: this._createOptionSetter("edges.toPointIndexExpr"), getPoints: this._createOptionGetter("edges.pointsExpr"), setPoints: this._createOptionSetter("edges.pointsExpr"), getText: this._createOptionGetter("edges.textExpr"), setText: this._createOptionSetter("edges.textExpr"), getLineOption: (lineOptionGetter = this._createOptionGetter("edges.lineTypeExpr")) && function(obj) { var lineType = lineOptionGetter(obj); return this._getConnectorLineOption(lineType) }.bind(this), setLineOption: (lineOptionSetter = this._createOptionSetter("edges.lineTypeExpr")) && function(obj, value) { switch (value) { case ConnectorLineOption.Straight: value = "straight"; break; case ConnectorLineOption.Orthogonal: value = "orthogonal" } lineOptionSetter(obj, value) }.bind(this), getStartLineEnding: (startLineEndingGetter = this._createOptionGetter("edges.fromLineEndExpr")) && function(obj) { var lineEnd = startLineEndingGetter(obj); return this._getConnectorLineEnding(lineEnd) }.bind(this), setStartLineEnding: (startLineEndingSetter = this._createOptionSetter("edges.fromLineEndExpr")) && function(obj, value) { switch (value) { case ConnectorLineEnding.Arrow: value = "arrow"; break; case ConnectorLineEnding.OutlinedTriangle: value = "outlinedTriangle"; break; case ConnectorLineEnding.FilledTriangle: value = "filledTriangle"; break; case ConnectorLineEnding.None: value = "none" } startLineEndingSetter(obj, value) }.bind(this), getEndLineEnding: (endLineEndingGetter = this._createOptionGetter("edges.toLineEndExpr")) && function(obj) { var lineEnd = endLineEndingGetter(obj); return this._getConnectorLineEnding(lineEnd) }.bind(this), setEndLineEnding: (endLineEndingSetter = this._createOptionSetter("edges.toLineEndExpr")) && function(obj, value) { switch (value) { case ConnectorLineEnding.Arrow: value = "arrow"; break; case ConnectorLineEnding.OutlinedTriangle: value = "outlinedTriangle"; break; case ConnectorLineEnding.FilledTriangle: value = "filledTriangle"; break; case ConnectorLineEnding.None: value = "none" } endLineEndingSetter(obj, value) }.bind(this) }, layoutParameters: this._getDataBindingLayoutParameters() }; this._executeDiagramCommand(DiagramCommand.BindDocument, data) }; _proto._reloadContentByChanges = function(changes, isExternalChanges) { var keys = this._getChangesKeys(changes); var applyLayout = this._onRequestUpdateLayout(changes); this._reloadContent(keys, applyLayout, isExternalChanges) }; _proto._reloadContent = function(itemKeys, applyLayout, isExternalChanges) { var _this12 = this; this._diagramInstance.reloadContent(itemKeys, (function() { var nodeDataSource; var edgeDataSource; if (_this12._nodesOption && isExternalChanges) { nodeDataSource = _this12._nodesOption.getItems() } if (_this12._edgesOption && isExternalChanges) { edgeDataSource = _this12._edgesOption.getItems() } return { nodeDataSource: nodeDataSource, edgeDataSource: edgeDataSource } }), applyLayout && this._getDataBindingLayoutParameters(), isExternalChanges) }; _proto._getConnectorLineOption = function(lineType) { var _getDiagram5 = (0, _diagram.getDiagram)(), ConnectorLineOption = _getDiagram5.ConnectorLineOption; switch (lineType) { case "straight": return ConnectorLineOption.Straight; default: return ConnectorLineOption.Orthogonal } }; _proto._getConnectorLineEnding = function(lineEnd) { var _getDiagram6 = (0, _diagram.getDiagram)(), ConnectorLineEnding = _getDiagram6.ConnectorLineEnding; switch (lineEnd) { case "arrow": return ConnectorLineEnding.Arrow; case "outlinedTriangle": return ConnectorLineEnding.OutlinedTriangle; case "filledTriangle": return ConnectorLineEnding.FilledTriangle; default: return ConnectorLineEnding.None } }; _proto._getDataBindingLayoutParameters = function() { var _getDiagram7 = (0, _diagram.getDiagram)(), DataLayoutType = _getDiagram7.DataLayoutType, DataLayoutOrientation = _getDiagram7.DataLayoutOrientation; var layoutParametersOption = this.option("nodes.autoLayout") || "off"; var layoutType = layoutParametersOption.type || layoutParametersOption; var parameters = {}; if ("off" !== layoutType && ("auto" !== layoutType || !this._hasNodePositionExprs())) { switch (layoutType) { case "tree": parameters.type = DataLayoutType.Tree; break; default: parameters.type = DataLayoutType.Sugiyama } switch (layoutParametersOption.orientation) { case "vertical": parameters.orientation = DataLayoutOrientation.Vertical; break; case "horizontal": parameters.orientation = DataLayoutOrientation.Horizontal } if (this.option("edges.fromPointIndexExpr") || this.option("edges.toPointIndexExpr")) { parameters.skipPointIndices = true } } parameters.autoSizeEnabled = !!this.option("nodes.autoSizeEnabled"); return parameters }; _proto._hasNodePositionExprs = function() { return this.option("nodes.topExpr") && this.option("nodes.leftExpr") }; _proto._getAutoZoomValue = function(option) { var _getDiagram8 = (0, _diagram.getDiagram)(), AutoZoomMode = _getDiagram8.AutoZoomMode; switch (option) { case "fitContent": return AutoZoomMode.FitContent; case "fitWidth": return AutoZoomMode.FitToWidth; default: return AutoZoomMode.Disabled } }; _proto._isBindingMode = function() { return this._nodesOption && this._nodesOption.hasItems() || this._edgesOption && this._edgesOption.hasItems() }; _proto._beginUpdateDiagram = function() { this._updateDiagramLockCount++ }; _proto._endUpdateDiagram = function() { this._updateDiagramLockCount = Math.max(this._updateDiagramLockCount - 1, 0); if (!this._updateDiagramLockCount) { this._bindDiagramData() } }; _proto._getCustomShapes = function() { return this.option("customShapes") || [] }; _proto._getToolboxGroups = function() { return _diagram2.default.getGroups(this.option("toolbox.groups")) }; _proto._updateAllCustomShapes = function() { this._diagramInstance.removeAllCustomShapes(); this._updateCustomShapes(this._getCustomShapes()) }; _proto._updateCustomShapes = function(customShapes, prevCustomShapes) { var _this13 = this; if (Array.isArray(prevCustomShapes)) { this._diagramInstance.removeCustomShapes(prevCustomShapes.map((function(s) { return s.type }))) } if (Array.isArray(customShapes)) { this._diagramInstance.addCustomShapes(customShapes.map((function(s) { var templateOption = s.template || _this13.option("customShapeTemplate"); var template = templateOption && _this13._getTemplate(templateOption); var toolboxTemplateOption = s.toolboxTemplate || _this13.option("customShapeToolboxTemplate"); var toolboxTemplate = toolboxTemplateOption && _this13._getTemplate(toolboxTemplateOption); return { category: s.category, type: s.type, baseType: s.baseType, title: s.title, svgUrl: s.backgroundImageUrl, svgToolboxUrl: s.backgroundImageToolboxUrl, svgLeft: s.backgroundImageLeft, svgTop: s.backgroundImageTop, svgWidth: s.backgroundImageWidth, svgHeight: s.backgroundImageHeight, defaultWidth: s.defaultWidth, defaultHeight: s.defaultHeight, toolboxWidthToHeightRatio: s.toolboxWidthToHeightRatio, minWidth: s.minWidth, minHeight: s.minHeight, maxWidth: s.maxWidth, maxHeight: s.maxHeight, allowResize: s.allowResize, defaultText: s.defaultText, allowEditText: s.allowEditText, textLeft: s.textLeft, textTop: s.textTop, textWidth: s.textWidth, textHeight: s.textHeight, defaultImageUrl: s.defaultImageUrl, allowEditImage: s.allowEditImage, imageLeft: s.imageLeft, imageTop: s.imageTop, imageWidth: s.imageWidth, imageHeight: s.imageHeight, connectionPoints: s.connectionPoints && s.connectionPoints.map((function(pt) { return { x: pt.x, y: pt.y } })), createTemplate: template && function(container, item) { template.render({ model: _this13._nativeItemToDiagramItem(item), container: (0, _element.getPublicElement)((0, _renderer.default)(container)) }) }, createToolboxTemplate: toolboxTemplate && function(container, item) { toolboxTemplate.render({ model: _this13._nativeItemToDiagramItem(item), container: (0, _element.getPublicElement)((0, _renderer.default)(container)) }) }, destroyTemplate: template && function(container) { (0, _renderer.default)(container).empty() }, templateLeft: s.templateLeft, templateTop: s.templateTop, templateWidth: s.templateWidth, templateHeight: s.templateHeight, keepRatioOnAutoSize: s.keepRatioOnAutoSize } }))) } }; _proto._getViewport = function() { var $viewPort = this.$element().closest(".dx-viewport"); return $viewPort.length ? $viewPort : (0, _renderer.default)("body") }; _proto._onToggleFullScreen = function(fullScreen) { if (this.toggleFullscreenLock > 0) { return } this._changeNativeFullscreen(fullScreen); if (fullScreen) { this._prevParent = this.$element().parent(); this._prevFullScreenZIndex = this.$element().css("zIndex"); this._fullScreenZIndex = zIndexPool.create(_ui2.default.baseZIndex()); this.$element().css("zIndex", this._fullScreenZIndex); this.$element().appendTo(this._getViewport()) } else { this.$element().appendTo(this._prevParent); if (this._fullScreenZIndex) { zIndexPool.remove(this._fullScreenZIndex); this.$element().css("zIndex", this._prevFullScreenZIndex) } } this.$element().toggleClass("dx-diagram-fullscreen", fullScreen); this._processDiagramResize(); if (this._toolbox) { this._toolbox.repaint(); this._toolbox._popup.option("propagateOutsideClick", !fullScreen) } if (this._propertiesPanel) { this._propertiesPanel.repaint() } if (this._historyToolbar) { this._updateHistoryToolbarPosition() } }; _proto._changeNativeFullscreen = function(setModeOn) { var window = (0, _window.getWindow)(); if (window.self === window.top || setModeOn === this._inNativeFullscreen()) { return } if (setModeOn) { this._subscribeFullscreenNativeChanged() } else { this._unsubscribeFullscreenNativeChanged() } this._setNativeFullscreen(setModeOn) }; _proto._setNativeFullscreen = function(on) { var window = (0, _window.getWindow)(); var document = window.self.document; var body = window.self.document.body; if (on) { if (body.requestFullscreen) { body.requestFullscreen() } else if (body.mozRequestFullscreen) { body.mozRequestFullscreen() } else if (body.webkitRequestFullscreen) { body.webkitRequestFullscreen() } else if (body.msRequestFullscreen) { body.msRequestFullscreen() } } else if (document.exitFullscreen) { document.exitFullscreen() } else if (document.mozCancelFullscreen) { document.mozCancelFullscreen() } else if (document.webkitExitFullscreen) { document.webkitExitFullscreen() } else if (document.msExitFullscreen) { document.msExitFullscreen() } }; _proto._inNativeFullscreen = function() { var document = (0, _window.getWindow)().document; var fullscreenElement = document.fullscreenElement || document.msFullscreenElement || document.webkitFullscreenElement; var isInFullscreen = fullscreenElement === document.body || document.webkitIsFullscreen; return !!isInFullscreen }; _proto._subscribeFullscreenNativeChanged = function() { var document = (0, _window.getWindow)().document; var handler = this._onNativeFullscreenChangeHandler.bind(this); _events_engine.default.on(document, FULLSCREEN_CHANGE_EVENT_NAME, handler); _events_engine.default.on(document, IE_FULLSCREEN_CHANGE_EVENT_NAME, handler); _events_engine.default.on(document, WEBKIT_FULLSCREEN_CHANGE_EVENT_NAME, handler); _events_engine.default.on(document, MOZ_FULLSCREEN_CHANGE_EVENT_NAME, handler) }; _proto._unsubscribeFullscreenNativeChanged = function() { var document = (0, _window.getWindow)().document; _events_engine.default.off(document, FULLSCREEN_CHANGE_EVENT_NAME); _events_engine.default.off(document, IE_FULLSCREEN_CHANGE_EVENT_NAME); _events_engine.default.off(document, WEBKIT_FULLSCREEN_CHANGE_EVENT_NAME); _events_engine.default.off(document, MOZ_FULLSCREEN_CHANGE_EVENT_NAME) }; _proto._onNativeFullscreenChangeHandler = function() { if (!this._inNativeFullscreen()) { this._unsubscribeFullscreenNativeChanged(); this.option("fullScreen", false) } }; _proto._executeDiagramFullscreenCommand = function(fullscreen) { var _getDiagram9 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram9.DiagramCommand; this.toggleFullscreenLock++; this._executeDiagramCommand(DiagramCommand.Fullscreen, fullscreen); this.toggleFullscreenLock-- }; _proto._onShowContextMenu = function(x, y, selection) { if (this._contextMenu) { this._contextMenu._show(x, y, selection) } }; _proto._onHideContextMenu = function() { if (this._contextMenu) { this._contextMenu._hide() } }; _proto._onShowContextToolbox = function(x, y, side, category, callback) { if (this._contextToolbox) { this._contextToolbox._show(x, y, side, category, callback) } }; _proto._onHideContextToolbox = function() { if (this._contextToolbox) { this._contextToolbox._hide() } }; _proto._getDiagramUnitValue = function(value) { var _getDiagram10 = (0, _diagram.getDiagram)(), DiagramUnit = _getDiagram10.DiagramUnit; switch (value) { case "in": return DiagramUnit.In; case "cm": return DiagramUnit.Cm; case "px": return DiagramUnit.Px; default: return DiagramUnit.In } }; _proto._updateReadOnlyState = function() { var _getDiagram11 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram11.DiagramCommand; var readOnly = this.isReadOnlyMode(); this._executeDiagramCommand(DiagramCommand.ToggleReadOnly, readOnly) }; _proto._updateZoomLevelState = function() { if (this.option("zoomLevel.items")) { this._updateZoomLevelItemsState(); var zoomLevel = this.option("zoomLevel.value"); if (!zoomLevel) { return } var _getDiagram12 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram12.DiagramCommand; this._executeDiagramCommand(DiagramCommand.ZoomLevel, zoomLevel) } else { var _zoomLevel = this.option("zoomLevel.value") || this.option("zoomLevel"); if (!_zoomLevel) { return } var _getDiagram13 = (0, _diagram.getDiagram)(), _DiagramCommand = _getDiagram13.DiagramCommand; this._executeDiagramCommand(_DiagramCommand.ZoomLevel, _zoomLevel) } }; _proto._updateZoomLevelItemsState = function() { var zoomLevelItems = this.option("zoomLevel.items"); if (!Array.isArray(zoomLevelItems)) { return } var _getDiagram14 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram14.DiagramCommand; this._executeDiagramCommand(DiagramCommand.ZoomLevelItems, zoomLevelItems) }; _proto._updateAutoZoomState = function() { var _getDiagram15 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram15.DiagramCommand; this._executeDiagramCommand(DiagramCommand.SwitchAutoZoom, this._getAutoZoomValue(this.option("autoZoomMode"))) }; _proto._updateSimpleViewState = function() { var _getDiagram16 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram16.DiagramCommand; this._executeDiagramCommand(DiagramCommand.ToggleSimpleView, this.option("simpleView")) }; _proto._updateFullscreenState = function() { var fullscreen = this.option("fullScreen"); this._executeDiagramFullscreenCommand(fullscreen); this._onToggleFullScreen(fullscreen) }; _proto._updateShowGridState = function() { var _getDiagram17 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram17.DiagramCommand; this._executeDiagramCommand(DiagramCommand.ShowGrid, this.option("showGrid")) }; _proto._updateSnapToGridState = function() { var _getDiagram18 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram18.DiagramCommand; this._executeDiagramCommand(DiagramCommand.SnapToGrid, this.option("snapToGrid")) }; _proto._updateGridSizeState = function() { if (this.option("gridSize.items")) { this._updateGridSizeItemsState(); var gridSize = this.option("gridSize.value"); if (!gridSize) { return } var _getDiagram19 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram19.DiagramCommand; this._executeDiagramCommand(DiagramCommand.GridSize, gridSize) } else { var _gridSize = this.option("gridSize.value") || this.option("gridSize"); if (!_gridSize) { return } var _getDiagram20 = (0, _diagram.getDiagram)(), _DiagramCommand2 = _getDiagram20.DiagramCommand; this._executeDiagramCommand(_DiagramCommand2.GridSize, _gridSize) } }; _proto._updateGridSizeItemsState = function() { var gridSizeItems = this.option("gridSize.items"); if (!Array.isArray(gridSizeItems)) { return } var _getDiagram21 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram21.DiagramCommand; this._executeDiagramCommand(DiagramCommand.GridSizeItems, gridSizeItems) }; _proto._updateUnitItems = function() { var _getDiagram22 = (0, _diagram.getDiagram)(), DiagramLocalizationService = _getDiagram22.DiagramLocalizationService; var items = this._getUnitItems(); if (this._unitItems !== items) { this._unitItems = items; DiagramLocalizationService.unitItems = items } }; _proto._getUnitItems = function() { var _getDiagram23 = (0, _diagram.getDiagram)(), DiagramUnit = _getDiagram23.DiagramUnit; var items = {}; items[DiagramUnit.In] = _message.default.format("dxDiagram-unitIn"); items[DiagramUnit.Cm] = _message.default.format("dxDiagram-unitCm"); items[DiagramUnit.Px] = _message.default.format("dxDiagram-unitPx"); return items }; _proto._updateFormatUnitsMethod = function() { var _getDiagram24 = (0, _diagram.getDiagram)(), DiagramLocalizationService = _getDiagram24.DiagramLocalizationService; DiagramLocalizationService.formatUnit = function(value) { return _number.default.format(value) } }; _proto._updateViewUnitsState = function() { var _getDiagram25 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram25.DiagramCommand; this._executeDiagramCommand(DiagramCommand.ViewUnits, this._getDiagramUnitValue(this.option("viewUnits"))) }; _proto._updateUnitsState = function() { var _getDiagram26 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram26.DiagramCommand; this._executeDiagramCommand(DiagramCommand.Units, this._getDiagramUnitValue(this.option("units"))) }; _proto._updatePageSizeState = function() { var pageSize = this.option("pageSize"); if (!pageSize || !pageSize.width || !pageSize.height) { return } var _getDiagram27 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram27.DiagramCommand; this._executeDiagramCommand(DiagramCommand.PageSize, pageSize) }; _proto._updatePageSizeItemsState = function() { var pageSizeItems = this.option("pageSize.items"); if (!Array.isArray(pageSizeItems)) { return } var _getDiagram28 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram28.DiagramCommand; this._executeDiagramCommand(DiagramCommand.PageSizeItems, pageSizeItems) }; _proto._updatePageOrientationState = function() { var _getDiagram29 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram29.DiagramCommand; this._executeDiagramCommand(DiagramCommand.PageLandscape, "landscape" === this.option("pageOrientation")) }; _proto._updatePageColorState = function() { var _getDiagram30 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram30.DiagramCommand; this._executeDiagramCommand(DiagramCommand.PageColor, this.option("pageColor")) }; _proto._updateShapeTexts = function() { var _getDiagram31 = (0, _diagram.getDiagram)(), DiagramLocalizationService = _getDiagram31.DiagramLocalizationService; var texts = this._getShapeTexts(); if (this._shapeTexts !== texts) { this._shapeTexts = texts; DiagramLocalizationService.shapeTexts = texts } }; _proto._getShapeTexts = function() { var _getDiagram32 = (0, _diagram.getDiagram)(), ShapeTypes = _getDiagram32.ShapeTypes; var texts = {}; texts[ShapeTypes.Text] = _message.default.format("dxDiagram-shapeText"); texts[ShapeTypes.Rectangle] = _message.default.format("dxDiagram-shapeRectangle"); texts[ShapeTypes.Ellipse] = _message.default.format("dxDiagram-shapeEllipse"); texts[ShapeTypes.Cross] = _message.default.format("dxDiagram-shapeCross"); texts[ShapeTypes.Triangle] = _message.default.format("dxDiagram-shapeTriangle"); texts[ShapeTypes.Diamond] = _message.default.format("dxDiagram-shapeDiamond"); texts[ShapeTypes.Heart] = _message.default.format("dxDiagram-shapeHeart"); texts[ShapeTypes.Pentagon] = _message.default.format("dxDiagram-shapePentagon"); texts[ShapeTypes.Hexagon] = _message.default.format("dxDiagram-shapeHexagon"); texts[ShapeTypes.Octagon] = _message.default.format("dxDiagram-shapeOctagon"); texts[ShapeTypes.Star] = _message.default.format("dxDiagram-shapeStar"); texts[ShapeTypes.ArrowLeft] = _message.default.format("dxDiagram-shapeArrowLeft"); texts[ShapeTypes.ArrowUp] = _message.default.format("dxDiagram-shapeArrowUp"); texts[ShapeTypes.ArrowRight] = _message.default.format("dxDiagram-shapeArrowRight"); texts[ShapeTypes.ArrowDown] = _message.default.format("dxDiagram-shapeArrowDown"); texts[ShapeTypes.ArrowUpDown] = _message.default.format("dxDiagram-shapeArrowUpDown"); texts[ShapeTypes.ArrowLeftRight] = _message.default.format("dxDiagram-shapeArrowLeftRight"); texts[ShapeTypes.Process] = _message.default.format("dxDiagram-shapeProcess"); texts[ShapeTypes.Decision] = _message.default.format("dxDiagram-shapeDecision"); texts[ShapeTypes.Terminator] = _message.default.format("dxDiagram-shapeTerminator"); texts[ShapeTypes.PredefinedProcess] = _message.default.format("dxDiagram-shapePredefinedProcess"); texts[ShapeTypes.Document] = _message.default.format("dxDiagram-shapeDocument"); texts[ShapeTypes.MultipleDocuments] = _message.default.format("dxDiagram-shapeMultipleDocuments"); texts[ShapeTypes.ManualInput] = _message.default.format("dxDiagram-shapeManualInput"); texts[ShapeTypes.Preparation] = _message.default.format("dxDiagram-shapePreparation"); texts[ShapeTypes.Data] = _message.default.format("dxDiagram-shapeData"); texts[ShapeTypes.Database] = _message.default.format("dxDiagram-shapeDatabase"); texts[ShapeTypes.HardDisk] = _message.default.format("dxDiagram-shapeHardDisk"); texts[ShapeTypes.InternalStorage] = _message.default.format("dxDiagram-shapeInternalStorage"); texts[ShapeTypes.PaperTape] = _message.default.format("dxDiagram-shapePaperTape"); texts[ShapeTypes.ManualOperation] = _message.default.format("dxDiagram-shapeManualOperation"); texts[ShapeTypes.Delay] = _message.default.format("dxDiagram-shapeDelay"); texts[ShapeTypes.StoredData] = _message.default.format("dxDiagram-shapeStoredData"); texts[ShapeTypes.Display] = _message.default.format("dxDiagram-shapeDisplay"); texts[ShapeTypes.Merge] = _message.default.format("dxDiagram-shapeMerge"); texts[ShapeTypes.Connector] = _message.default.format("dxDiagram-shapeConnector"); texts[ShapeTypes.Or] = _message.default.format("dxDiagram-shapeOr"); texts[ShapeTypes.SummingJunction] = _message.default.format("dxDiagram-shapeSummingJunction"); texts[ShapeTypes.Container] = _message.default.format("dxDiagram-shapeContainerDefaultText"); texts[ShapeTypes.VerticalContainer] = _message.default.format("dxDiagram-shapeVerticalContainer"); texts[ShapeTypes.HorizontalContainer] = _message.default.format("dxDiagram-shapeHorizontalContainer"); texts[ShapeTypes.Card] = _message.default.format("dxDiagram-shapeCardDefaultText"); texts[ShapeTypes.CardWithImageOnLeft] = _message.default.format("dxDiagram-shapeCardWithImageOnLeft"); texts[ShapeTypes.CardWithImageOnTop] = _message.default.format("dxDiagram-shapeCardWithImageOnTop"); texts[ShapeTypes.CardWithImageOnRight] = _message.default.format("dxDiagram-shapeCardWithImageOnRight"); return texts }; _proto._updateEventSubscriptionMethods = function() { var _getDiagram33 = (0, _diagram.getDiagram)(), RenderHelper = _getDiagram33.RenderHelper; RenderHelper.addEventListener = function(element, eventName, handler) { _events_engine.default.on(element, eventName, handler) }; RenderHelper.removeEventListener = function(element, eventName, handler) { _events_engine.default.off(element, eventName, handler) } }; _proto._updateDefaultItemProperties = function() { if (this.option("defaultItemProperties.style")) { this._diagramInstance.setInitialStyleProperties(this.option("defaultItemProperties.style")) } if (this.option("defaultItemProperties.textStyle")) { this._diagramInstance.setInitialTextStyleProperties(this.option("defaultItemProperties.textStyle")) } this._diagramInstance.setInitialConnectorProperties({ lineOption: this._getConnectorLineOption(this.option("defaultItemProperties.connectorLineType")), startLineEnding: this._getConnectorLineEnding(this.option("defaultItemProperties.connectorLineStart")), endLineEnding: this._getConnectorLineEnding(this.option("defaultItemProperties.connectorLineEnd")) }); this._diagramInstance.applyShapeSizeSettings({ shapeMinWidth: this.option("defaultItemProperties.shapeMinWidth"), shapeMaxWidth: this.option("defaultItemProperties.shapeMaxWidth"), shapeMinHeight: this.option("defaultItemProperties.shapeMinHeight"), shapeMaxHeight: this.option("defaultItemProperties.shapeMaxHeight") }) }; _proto._updateEditingSettings = function() { this._diagramInstance.applyOperationSettings({ addShape: this.option("editing.allowAddShape"), addShapeFromToolbox: this.option("editing.allowAddShape"), deleteShape: this.option("editing.allowDeleteShape"), deleteConnector: this.option("editing.allowDeleteConnector"), changeConnection: this.option("editing.allowChangeConnection"), changeConnectorPoints: this.option("editing.allowChangeConnectorPoints"), changeShapeText: this.option("editing.allowChangeShapeText"), changeConnectorText: this.option("editing.allowChangeConnectorText"), resizeShape: this.option("editing.allowResizeShape"), moveShape: this.option("editing.allowMoveShape") }) }; _proto.fitToContent = function() { var _getDiagram34 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram34.DiagramCommand; this._executeDiagramCommand(DiagramCommand.FitToScreen) }; _proto.fitToWidth = function() { var _getDiagram35 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram35.DiagramCommand; this._executeDiagramCommand(DiagramCommand.FitToWidth) }; _proto.focus = function() { this._captureFocus() }; _proto.export = function() { return this._getDiagramData() }; _proto.exportTo = function(format, callback) { var command = this._getDiagramExportToCommand(format); this._executeDiagramCommand(command, callback) }; _proto._getDiagramExportToCommand = function(format) { var _getDiagram36 = (0, _diagram.getDiagram)(), DiagramCommand = _getDiagram36.DiagramCommand; switch (format) { case "png": return DiagramCommand.ExportPng; case "jpg": return DiagramCommand.ExportJpg; default: return DiagramCommand.ExportSvg } }; _proto.import = function(data, updateExistingItemsOnly) { this._setDiagramData(data, updateExistingItemsOnly); this._raiseDataChangeAction() }; _proto.updateToolbox = function() { this._diagramInstance && this._diagramInstance.refreshToolbox(); if (this._toolbox) { this._toolbox.updateTooltips(); this._toolbox.updateFilter(); this._toolbox.updateMaxHeight() } }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { readOnly: false, zoomLevel: 1, simpleView: false, autoZoomMode: "disabled", fullScreen: false, showGrid: true, snapToGrid: true, units: "in", viewUnits: "in", pageOrientation: "portrait", pageColor: "#ffffff", hasChanges: false, nodes: { dataSource: null, keyExpr: "id", customDataExpr: void 0, lockedExpr: void 0, styleExpr: void 0, textStyleExpr: void 0, zIndexExpr: void 0, typeExpr: "type", textExpr: "text", imageUrlExpr: void 0, parentKeyExpr: void 0, itemsExpr: void 0, leftExpr: void 0, topExpr: void 0, widthExpr: void 0, heightExpr: void 0, containerKeyExpr: "containerKey", containerChildrenExpr: void 0, autoLayout: "auto", autoSizeEnabled: true }, edges: { dataSource: null, keyExpr: "id", customDataExpr: void 0, lockedExpr: void 0, styleExpr: void 0, textStyleExpr: void 0, zIndexExpr: void 0, fromExpr: "from", fromPointIndexExpr: void 0, toExpr: "to", toPointIndexExpr: void 0, pointsExpr: void 0, textExpr: void 0, lineTypeExpr: void 0, fromLineEndExpr: void 0, toLineEndExpr: void 0 }, customShapes: [], toolbox: { visibility: "auto", shapeIconsPerRow: 3, showSearch: true }, mainToolbar: { visible: false }, historyToolbar: { visible: true }, viewToolbar: { visible: true }, contextMenu: { enabled: true }, contextToolbox: { enabled: true, shapeIconsPerRow: 4, width: 152 }, propertiesPanel: { visibility: "auto" }, defaultItemProperties: { connectorLineType: "orthogonal", connectorLineStart: "none", connectorLineEnd: "arrow" }, editing: { allowAddShape: true, allowDeleteShape: true, allowDeleteConnector: true, allowChangeConnection: true, allowChangeConnectorPoints: true, allowChangeShapeText: true, allowChangeConnectorText: true, allowResizeShape: true, allowMoveShape: true }, export: { fileName: "Diagram" }, onItemClick: null, onItemDblClick: null, onSelectionChanged: null, onRequestEditOperation: null, onRequestLayoutUpdate: null }) }; _proto._raiseDataChangeAction = function() { if (this._initialized) { this.option("hasChanges", true) } }; _proto._raiseEdgeInsertedAction = function(data, callback, errorCallback) { if (this._edgesOption) { this._edgesOption.insert(data, callback, errorCallback) } }; _proto._raiseEdgeUpdatedAction = function(key, data, callback, errorCallback) { if (this._edgesOption) { this._edgesOption.update(key, data, callback, errorCallback) } }; _proto._raiseEdgeRemovedAction = function(key, data, callback, errorCallback) { if (this._edgesOption) { this._edgesOption.remove(key, data, callback, errorCallback) } }; _proto._raiseNodeInsertedAction = function(data, callback, errorCallback) { if (this._nodesOption) { this._nodesOption.insert(data, callback, errorCallback) } }; _proto._raiseNodeUpdatedAction = function(key, data, callback, errorCallback) { if (this._nodesOption) { this._nodesOption.update(key, data, callback, errorCallback) } }; _proto._raiseNodeRemovedAction = function(key, data, callback, errorCallback) { if (this._nodesOption) { this._nodesOption.remove(key, data, callback, errorCallback) } }; _proto._raiseToolboxDragStart = function() { if (this._toolbox && this.isMobileScreenSize()) { this._toolbox.hide(); this._toolboxDragHidden = true } }; _proto._raiseToolboxDragEnd = function() { if (this._toolbox && this._toolboxDragHidden) { this._toolbox.show(); delete this._toolboxDragHidden } }; _proto._raiseTextInputStart = function() { this._textInputStarted = true; if (this._propertiesPanel) { if (this.isMobileScreenSize() && this._propertiesPanel.isVisible()) { this._propertiesPanel.hide(); this._propertiesPanelTextInputHidden = true } } if (this._toolbox) { if (this.isMobileScreenSize() && this._toolbox.isVisible()) { this._toolbox.hide(); this._toolboxTextInputHidden = true } } }; _proto._raiseTextInputEnd = function() { if (this._propertiesPanel) { if (this._propertiesPanelTextInputHidden) { this._propertiesPanel.show(); delete this._propertiesPanelTextInputHidden } } if (this._toolbox) { if (this._toolboxTextInputHidden) { this._toolbox.show(); delete this._toolboxTextInputHidden } } this._textInputStarted = false }; _proto._createItemClickAction = function() { this._itemClickAction = this._createActionByOption("onItemClick") }; _proto._createItemDblClickAction = function() { this._itemDblClickAction = this._createActionByOption("onItemDblClick") }; _proto._createSelectionChangedAction = function() { this._selectionChangedAction = this._createActionByOption("onSelectionChanged") }; _proto._createRequestEditOperationAction = function() { this._requestEditOperationAction = this._createActionByOption("onRequestEditOperation") }; _proto._createRequestLayoutUpdateAction = function() { this._requestLayoutUpdateAction = this._createActionByOption("onRequestLayoutUpdate") }; _proto._createCustomCommand = function() { this._customCommandAction = this._createActionByOption("onCustomCommand") }; _proto._raiseItemClickAction = function(nativeItem) { if (!this._itemClickAction) { this._createItemClickAction() } this._itemClickAction({ item: this._nativeItemToDiagramItem(nativeItem) }) }; _proto._raiseItemDblClickAction = function(nativeItem) { if (!this._itemDblClickAction) { this._createItemDblClickAction() } this._itemDblClickAction({ item: this._nativeItemToDiagramItem(nativeItem) }) }; _proto._raiseSelectionChanged = function(nativeItems) { if (!this._selectionChangedAction) { this._createSelectionChangedAction() } this._selectionChangedAction({ items: nativeItems.map(this._nativeItemToDiagramItem.bind(this)) }) }; _proto._raiseRequestEditOperation = function(operation, args) { if (!this._requestEditOperationAction) { this._createRequestEditOperationAction() } var eventArgs = this._getRequestEditOperationEventArgs(operation, args); this._requestEditOperationAction(eventArgs); args.allowed = eventArgs.allowed }; _proto._getModelOperation = function(operation) { var _getDiagram37 = (0, _diagram.getDiagram)(), DiagramModelOperation = _getDiagram37.DiagramModelOperation; switch (operation) { case DiagramModelOperation.AddShape: return "addShape"; case DiagramModelOperation.AddShapeFromToolbox: return "addShapeFromToolbox"; case DiagramModelOperation.DeleteShape: return "deleteShape"; case DiagramModelOperation.DeleteConnector: return "deleteConnector"; case DiagramModelOperation.ChangeConnection: return "changeConnection"; case DiagramModelOperation.ChangeConnectorPoints: return "changeConnectorPoints"; case DiagramModelOperation.BeforeChangeShapeText: return "beforeChangeShapeText"; case DiagramModelOperation.ChangeShapeText: return "changeShapeText"; case DiagramModelOperation.BeforeChangeConnectorText: return "beforeChangeConnectorText"; case DiagramModelOperation.ChangeConnectorText: return "changeConnectorText"; case DiagramModelOperation.ResizeShape: return "resizeShape"; case DiagramModelOperation.MoveShape: return "moveShape" } }; _proto._getRequestEditOperationEventArgs = function(operation, args) { var _getDiagram38 = (0, _diagram.getDiagram)(), DiagramModelOperation = _getDiagram38.DiagramModelOperation, ConnectorPosition = _getDiagram38.ConnectorPosition; var eventArgs = { operation: this._getModelOperation(operation), allowed: args.allowed, updateUI: args.updateUI, reason: args.updateUI ? "checkUIElementAvailability" : "modelModification" }; switch (operation) { case DiagramModelOperation.AddShape: eventArgs.args = { shape: args.shape && this._nativeItemToDiagramItem(args.shape), position: args.position && { x: args.position.x, y: args.position.y } }; break; case DiagramModelOperation.AddShapeFromToolbox: eventArgs.args = { shapeType: args.shapeType }; break; case DiagramModelOperation.DeleteShape: eventArgs.args = { shape: args.shape && this._nativeItemToDiagramItem(args.shape) }; break; case DiagramModelOperation.DeleteConnector: eventArgs.args = { connector: args.connector && this._nativeItemToDiagramItem(args.connector) }; break; case DiagramModelOperation.ChangeConnection: eventArgs.args = { newShape: args.shape && this._nativeItemToDiagramItem(args.shape), oldShape: args.oldShape && this._nativeItemToDiagramItem(args.oldShape), connector: args.connector && this._nativeItemToDiagramItem(args.connector), connectionPointIndex: args.connectionPointIndex, connectorPosition: args.position === ConnectorPosition.Begin ? "start" : "end" }; break; case DiagramModelOperation.ChangeConnectorPoints: eventArgs.args = { connector: args.connector && this._nativeItemToDiagramItem(args.connector), newPoints: args.points && args.points.map((function(pt) { return { x: pt.x, y: pt.y } })), oldPoints: args.oldPoints && args.oldPoints.map((function(pt) { return { x: pt.x, y: pt.y } })) }; break; case DiagramModelOperation.BeforeChangeShapeText: eventArgs.args = { shape: args.shape && this._nativeItemToDiagramItem(args.shape) }; break; case DiagramModelOperation.ChangeShapeText: eventArgs.args = { shape: args.shape && this._nativeItemToDiagramItem(args.shape), text: args.text }; break; case DiagramModelOperation.BeforeChangeConnectorText: eventArgs.args = { connector: args.connector && this._nativeItemToDiagramItem(args.connector), index: args.index }; break; case DiagramModelOperation.ChangeConnectorText: eventArgs.args = { connector: args.connector && this._nativeItemToDiagramItem(args.connector), index: args.index, text: args.text }; break; case DiagramModelOperation.ResizeShape: eventArgs.args = { shape: args.shape && this._nativeItemToDiagramItem(args.shape), newSize: args.size && { width: args.size.width, height: args.size.height }, oldSize: args.oldSize && { width: args.oldSize.width, height: args.oldSize.height } }; break; case DiagramModelOperation.MoveShape: eventArgs.args = { shape: args.shape && this._nativeItemToDiagramItem(args.shape), newPosition: args.position && { x: args.position.x, y: args.position.y }, oldPosition: args.oldPosition && { x: args.oldPosition.x, y: args.oldPosition.y } } } return eventArgs }; _proto._nativeItemToDiagramItem = function(nativeItem) { var _getDiagram39 = (0, _diagram.getDiagram)(), NativeShape = _getDiagram39.NativeShape; var createMethod = nativeItem instanceof NativeShape ? this._nativeShapeToDiagramShape.bind(this) : this._nativeConnectorToDiagramConnector.bind(this); return (0, _extend.extend)({ id: nativeItem.id, key: nativeItem.key, dataItem: void 0 }, createMethod(nativeItem)) }; _proto._nativeShapeToDiagramShape = function(nativeShape) { return { dataItem: this._nodesOption && this._nodesOption.findItem(nativeShape.key), itemType: "shape", text: nativeShape.text, type: nativeShape.type, position: { x: nativeShape.position.x, y: nativeShape.position.y }, size: { width: nativeShape.size.width, height: nativeShape.size.height }, attachedConnectorIds: nativeShape.attachedConnectorIds, containerId: nativeShape.containerId, containerChildItemIds: nativeShape.containerChildItemIds, containerExpanded: nativeShape.containerExpanded } }; _proto._nativeConnectorToDiagramConnector = function(nativeConnector) { return { dataItem: this._edgesOption && this._edgesOption.findItem(nativeConnector.key), itemType: "connector", texts: nativeConnector.texts, fromKey: nativeConnector.fromKey, toKey: nativeConnector.toKey, fromId: nativeConnector.fromId, fromPointIndex: nativeConnector.fromPointIndex, toId: nativeConnector.toId, toPointIndex: nativeConnector.toPointIndex, points: nativeConnector.points.map((function(pt) { return { x: pt.x, y: pt.y } })) } }; _proto.getItemByKey = function(key) { var nativeItem = this._diagramInstance && this._diagramInstance.getNativeItemByDataKey(key); return nativeItem && this._nativeItemToDiagramItem(nativeItem) }; _proto.getItemById = function(id) { var nativeItem = this._diagramInstance && this._diagramInstance.getNativeItemByKey(id); return nativeItem && this._nativeItemToDiagramItem(nativeItem) }; _proto.getItems = function() { var _this14 = this; return this._diagramInstance.getNativeItems().map((function(nativeItem) { return nativeItem && _this14._nativeItemToDiagramItem(nativeItem) })) }; _proto.getSelectedItems = function() { var _this15 = this; return this._diagramInstance.getNativeSelectedItems().map((function(nativeItem) { return nativeItem && _this15._nativeItemToDiagramItem(nativeItem) })) }; _proto.setSelectedItems = function(items) { return this._diagramInstance.setSelectedItems(items.map((function(item) { return item.id }))) }; _proto.scrollToItem = function(item) { return this._diagramInstance.scrollToItems([item.id]) }; _proto._invalidateContextMenuCommands = function() { if (this._contextMenu) { this._contextMenu.option({ commands: this.option("contextMenu.commands") }) } }; _proto._invalidateMainToolbarCommands = function() { if (this._mainToolbar) { this._mainToolbar.option({ commands: this.option("mainToolbar.commands") }) } }; _proto._invalidateHistoryToolbarCommands = function() { if (this._historyToolbar) { this._historyToolbar.option({ commands: this.option("historyToolbar.commands") }) } }; _proto._invalidateViewToolbarCommands = function() { if (this._viewToolbar) { this._viewToolbar.option({ commands: this.option("viewToolbar.commands") }) } }; _proto._invalidateToolboxGroups = function() { if (this._toolbox) { this._toolbox.option({ toolboxGroups: this._getToolboxGroups() }) } }; _proto._optionChanged = function(args) { if (!this.optionsUpdateBar || this.optionsUpdateBar.isUpdateLocked()) { return } this.optionsUpdateBar.beginUpdate(); try { this._optionChangedCore(args) } finally { this.optionsUpdateBar.endUpdate() } }; _proto._optionChangedCore = function(args) { var _this16 = this; switch (args.name) { case "readOnly": case "disabled": this._updateReadOnlyState(); this._invalidate(); break; case "zoomLevel": if ("zoomLevel" === args.fullName || "zoomLevel.items" === args.fullName || "zoomLevel.value" === args.fullName) { this._updateZoomLevelState() } break; case "autoZoomMode": this._updateAutoZoomState(); break; case "simpleView": this._updateSimpleViewState(); break; case "useNativeScrolling": this._invalidate(); break; case "fullScreen": this._updateFullscreenState(); break; case "showGrid": this._updateShowGridState(); break; case "snapToGrid": this._updateSnapToGridState(); break; case "gridSize": if ("gridSize" === args.fullName || "gridSize.items" === args.fullName || "gridSize.value" === args.fullName) { this._updateGridSizeState() } break; case "viewUnits": this._updateViewUnitsState(); break; case "units": this._updateUnitsState(); break; case "pageSize": if ("pageSize" === args.fullName || "pageSize.items" === args.fullName) { this._updatePageSizeItemsState() } if ("pageSize" === args.fullName || "pageSize.width" === args.fullName || "pageSize.height" === args.fullName) { this._updatePageSizeState() } break; case "pageOrientation": this._updatePageOrientationState(); break; case "pageColor": this._updatePageColorState(); break; case "nodes": if (0 === args.fullName.indexOf("nodes.autoLayout")) { this._refreshDataSources() } else { this._refreshNodesDataSource() } break; case "edges": this._refreshEdgesDataSource(); break; case "customShapes": if (args.fullName !== args.name) { this._updateAllCustomShapes() } else { this._updateCustomShapes(args.value, args.previousValue) } this._invalidate(); break; case "contextMenu": if ("contextMenu.commands" === args.fullName) { this._invalidateContextMenuCommands() } else { this._invalidate() } break; case "contextToolbox": case "propertiesPanel": this._invalidate(); break; case "toolbox": if ("toolbox.groups" === args.fullName) { this._invalidateToolboxGroups() } else { this._invalidate() } break; case "mainToolbar": if ("mainToolbar.commands" === args.fullName) { this._invalidateMainToolbarCommands() } else { this._invalidate() } break; case "historyToolbar": if ("historyToolbar.commands" === args.fullName) { this._invalidateHistoryToolbarCommands() } else { this._invalidate() } break; case "viewToolbar": if ("viewToolbar.commands" === args.fullName) { this._invalidateViewToolbarCommands() } else { this._invalidate() } break; case "onItemClick": this._createItemClickAction(); break; case "onItemDblClick": this._createItemDblClickAction(); break; case "onSelectionChanged": this._createSelectionChangedAction(); break; case "onRequestEditOperation": this._createRequestEditOperationAction(); break; case "onRequestLayoutUpdate": this._createRequestLayoutUpdateAction(); break; case "onCustomCommand": this._createCustomCommand(); break; case "defaultItemProperties": this._updateDefaultItemProperties(); break; case "editing": this._updateEditingSettings(); break; case "export": this._toolbars.forEach((function(toolbar) { toolbar.option("export", _this16.option("export")) })); if (this._contextMenu) { this._contextMenu.option("export", this.option("export")) } break; case "hasChanges": break; default: _Widget.prototype._optionChanged.call(this, args) } }; return Diagram }(_ui.default); (0, _component_registrator.default)("dxDiagram", Diagram); var _default = Diagram; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 66156: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.main_toolbar.js ***! \***********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiDiagram = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.toolbar */ 38148)); var _diagram = _interopRequireDefault(__webpack_require__( /*! ./diagram.commands_manager */ 72321)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DiagramMainToolbar = function(_DiagramToolbar) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DiagramMainToolbar, _DiagramToolbar); function DiagramMainToolbar() { return _DiagramToolbar.apply(this, arguments) || this } var _proto = DiagramMainToolbar.prototype; _proto._getCommands = function() { return _diagram.default.getMainToolbarCommands(this.option("commands"), this.option("excludeCommands")) }; return DiagramMainToolbar }(_uiDiagram.default); var _default = DiagramMainToolbar; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 20261: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.menu_helper.js ***! \**********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = (obj = __webpack_require__( /*! ../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _icon = __webpack_require__( /*! ../../core/utils/icon */ 44899); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } var DiagramMenuHelper = { getContextMenuItemTemplate: function(contextMenu, itemData, itemIndex, itemElement) { var $itemElement = (0, _renderer.default)(itemElement); $itemElement.empty(); var itemKey = void 0 !== itemData.rootCommand ? itemData.rootCommand : -1; if (itemData.icon && !itemData.checked) { var $iconElement = (0, _icon.getImageContainer)(itemData.icon); $itemElement.append($iconElement) } else if (contextMenu._menuHasCheckedItems && true === contextMenu._menuHasCheckedItems[itemKey]) { var $checkElement = (0, _icon.getImageContainer)("check"); $checkElement.css("visibility", !itemData.checked ? "hidden" : "visible"); $itemElement.append($checkElement) } $itemElement.append('<span class="dx-menu-item-text">' + itemData.text + "</span>"); if (Array.isArray(itemData.items) && itemData.items.length > 0) { $itemElement.append('<span class="dx-menu-item-popout-container"><div class="dx-menu-item-popout"></div></span>') } }, getContextMenuCssClass: function() { return "dx-diagram-contextmenu" }, onContextMenuItemClick: function(widget, itemData, actionHandler) { if ((void 0 !== itemData.command || void 0 !== itemData.name) && (!Array.isArray(itemData.items) || !itemData.items.length)) { var parameter = DiagramMenuHelper.getItemCommandParameter(widget, itemData); actionHandler.call(this, itemData.command, itemData.name, parameter) } else if (void 0 !== itemData.rootCommand && void 0 !== itemData.value) { var _parameter = DiagramMenuHelper.getItemCommandParameter(widget, itemData, itemData.value); actionHandler.call(this, itemData.rootCommand, void 0, _parameter) } }, getItemValue: function(item) { return "object" === _typeof(item.value) ? JSON.stringify(item.value) : item.value }, getItemOptionText: function(contextMenu, indexPath) { if (contextMenu) { indexPath = indexPath.slice(); var parentItemOptionText = this._getParentItemOptionText(indexPath); if (contextMenu._originalItemsInfo && contextMenu._originalItemsInfo[parentItemOptionText]) { indexPath[indexPath.length - 1] += contextMenu._originalItemsInfo[parentItemOptionText].indexPathCorrection } } return this._getItemOptionTextCore(indexPath) }, _getParentItemOptionText: function(indexPath) { var parentIndexPath = indexPath.slice(0, indexPath.length - 1); return this._getItemOptionTextCore(parentIndexPath) }, _getItemOptionTextCore: function(indexPath) { return indexPath.reduce((function(r, i) { return r + "items[".concat(i, "].") }), "") }, getItemCommandParameter: function(widget, item, value) { if (item.getParameter) { return item.getParameter(widget) } return value }, updateContextMenuItems: function(contextMenu, itemOptionText, rootCommandKey, items) { var _this = this; if (!contextMenu._originalItemsInfo) { contextMenu._originalItemsInfo = {} } if (!contextMenu._originalItemsInfo[itemOptionText]) { contextMenu._originalItemsInfo[itemOptionText] = { items: contextMenu.option(itemOptionText + "items") || [] } } items = items.map((function(item) { return { value: _this.getItemValue(item), text: item.text, checked: item.checked, widget: contextMenu, rootCommand: rootCommandKey } })); var originalItems = contextMenu._originalItemsInfo[itemOptionText].items; contextMenu.option(itemOptionText + "items", items.concat(originalItems)); if (contextMenu._originalItemsInfo[itemOptionText] && originalItems.length) { contextMenu._originalItemsInfo[itemOptionText].indexPathCorrection = items.length } }, updateContextMenuItemVisible: function(contextMenu, itemOptionText, visible) { contextMenu.option(itemOptionText + "visible", visible) }, updateContextMenuItemValue: function(contextMenu, itemOptionText, rootCommandKey, value) { var items = contextMenu.option(itemOptionText + "items"); if ("boolean" === typeof value && (!items || !items.length)) { this._setContextMenuHasCheckedItems(contextMenu, -1); contextMenu.option(itemOptionText + "checked", value) } else if (void 0 !== value) { this._setContextMenuHasCheckedItems(contextMenu, rootCommandKey); if (Array.isArray(items)) { items.forEach((function(item, index) { item.checked = item.value === value })) } } }, _setContextMenuHasCheckedItems: function(contextMenu, key) { if (!contextMenu._menuHasCheckedItems) { contextMenu._menuHasCheckedItems = {} } contextMenu._menuHasCheckedItems[key] = true } }; var _default = DiagramMenuHelper; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 47596: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.panel.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var POINTERUP_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.up, "dxDiagramPanel"); var DiagramPanel = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DiagramPanel, _Widget); function DiagramPanel() { return _Widget.apply(this, arguments) || this } var _proto = DiagramPanel.prototype; _proto._init = function() { _Widget.prototype._init.call(this); this._createOnPointerUpAction() }; _proto._render = function() { _Widget.prototype._render.call(this); this._attachPointerUpEvent() }; _proto._getPointerUpElements = function() { return [this.$element()] }; _proto._attachPointerUpEvent = function() { var _this = this; var elements = this._getPointerUpElements(); elements.forEach((function(element) { _events_engine.default.off(element, POINTERUP_EVENT_NAME); _events_engine.default.on(element, POINTERUP_EVENT_NAME, (function(e) { if (!(0, _renderer.default)(e.target).closest(".dx-textbox").length) { _this._onPointerUpAction() } })) })) }; _proto._createOnPointerUpAction = function() { this._onPointerUpAction = this._createActionByOption("onPointerUp") }; _proto._optionChanged = function(args) { switch (args.name) { case "onPointerUp": this._createOnPointerUpAction(); break; default: _Widget.prototype._optionChanged.call(this, args) } }; return DiagramPanel }(_ui.default); var _default = DiagramPanel; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 64863: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.properties_panel.js ***! \***************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _scroll_view = _interopRequireDefault(__webpack_require__( /*! ../scroll_view */ 4741)); var _tab_panel = _interopRequireDefault(__webpack_require__( /*! ../tab_panel */ 21807)); var _uiDiagram = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.floating_panel */ 99967)); var _diagram = _interopRequireDefault(__webpack_require__( /*! ./diagram.commands_manager */ 72321)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DiagramPropertiesPanel = function(_DiagramFloatingPanel) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DiagramPropertiesPanel, _DiagramFloatingPanel); function DiagramPropertiesPanel() { return _DiagramFloatingPanel.apply(this, arguments) || this } var _proto = DiagramPropertiesPanel.prototype; _proto._init = function() { _DiagramFloatingPanel.prototype._init.call(this); this._commandTabs = _diagram.default.getPropertyPanelCommandTabs(this.option("propertyTabs")); this._createOnCreateToolbar(); this._createOnSelectedGroupChanged() }; _proto._initMarkup = function() { this._toolbars = []; this._selectedToolbar = void 0; _DiagramFloatingPanel.prototype._initMarkup.call(this) }; _proto._getPopupClass = function() { var className = "dx-diagram-properties-popup"; if (!this._hasTabPanel()) { className += " dx-diagram-properties-popup-notabs" } return className }; _proto._getPopupWidth = function() { return this.isMobileView() ? "100%" : 420 }; _proto._getPopupHeight = function() { return 340 }; _proto._getPopupPosition = function() { var $parent = this.option("offsetParent"); if (this.isMobileView()) { return { my: "left bottom", at: "left bottom", of: $parent } } return { my: "right bottom", at: "right bottom", of: $parent, offset: "-" + this.option("offsetX") + " -" + this.option("offsetY") } }; _proto._getPopupAnimation = function() { var $parent = this.option("offsetParent"); if (this.isMobileView()) { return { hide: this._getPopupSlideAnimationObject({ direction: "bottom", from: { position: { my: "left bottom", at: "left bottom", of: $parent } }, to: { position: { my: "left top", at: "left bottom", of: $parent } } }), show: this._getPopupSlideAnimationObject({ direction: "top", from: { position: { my: "left top", at: "left bottom", of: $parent } }, to: { position: { my: "left bottom", at: "left bottom", of: $parent } } }) } } return _DiagramFloatingPanel.prototype._getPopupAnimation.call(this) }; _proto._getPopupOptions = function() { return (0, _extend.extend)(_DiagramFloatingPanel.prototype._getPopupOptions.call(this), { showTitle: this.isMobileView(), showCloseButton: this.isMobileView() }) }; _proto._renderPopupContent = function($parent) { if (!this._commandTabs.length) { return } var $panel = (0, _renderer.default)("<div>").addClass("dx-diagram-properties-panel").appendTo($parent); if (this._hasTabPanel()) { this._renderTabPanel($panel) } else { this._renderTabContent($panel, this._commandTabs[0], 0, true) } }; _proto._hasTabPanel = function() { return this._commandTabs.length > 1 }; _proto._renderTabPanel = function($parent) { var _this = this; var $tabPanel = (0, _renderer.default)("<div>").appendTo($parent); this._tabPanel = this._createComponent($tabPanel, _tab_panel.default, { focusStateEnabled: false, dataSource: this._commandTabs, itemTemplate: function(data, index, $element) { _this._renderTabContent($element, data, index) }, onSelectionChanged: function(e) { _this._onSelectedGroupChangedAction(); _this._onPointerUpAction() }, onContentReady: function(e) { _this._popup.option("height", (0, _size.getHeight)(e.component.$element()) + _this._getVerticalPaddingsAndBorders()); if (_this._firstScrollView) { _this._scrollViewHeight = (0, _size.getOuterHeight)(_this._firstScrollView.$element()); _this._firstScrollView.option("height", _this._scrollViewHeight) } } }) }; _proto._renderTabContent = function($parent, tab, index, isSingleTab) { var $scrollViewWrapper = (0, _renderer.default)("<div>").appendTo($parent); var scrollView = this._createComponent($scrollViewWrapper, _scroll_view.default, { height: this._scrollViewHeight }); this._renderTabInnerContent(scrollView.content(), tab, index); if (isSingleTab) { this._popup.option("height", (0, _size.getHeight)(scrollView.$element()) + this._getVerticalPaddingsAndBorders()) } else { this._firstScrollView = this._firstScrollView || scrollView } }; _proto._renderTabInnerContent = function($parent, group, index) { var _this2 = this; if (group.groups) { group.groups.forEach((function(sg, si) { _this2._renderTabGroupContent($parent, index, sg.title, sg.commands) })) } else if (group.commands) { this._renderTabGroupContent($parent, index, void 0, group.commands) } }; _proto._renderTabGroupContent = function($parent, index, title, commands) { if (title) { (0, _renderer.default)("<div>").addClass("dx-diagram-properties-panel-group-title").appendTo($parent).text(title) } var $toolbar = (0, _renderer.default)("<div>").addClass("dx-diagram-properties-panel-group-toolbar").appendTo($parent); var args = { $parent: $toolbar, commands: commands }; this._onCreateToolbarAction(args); if (!this._toolbars[index]) { this._toolbars[index] = [] } this._toolbars[index].push(args.toolbar); this._selectedToolbar = args.toolbar }; _proto.getActiveToolbars = function() { var index = this._tabPanel ? this._tabPanel.option("selectedIndex") : 0; return this._toolbars[index] }; _proto._createOnCreateToolbar = function() { this._onCreateToolbarAction = this._createActionByOption("onCreateToolbar") }; _proto._createOnSelectedGroupChanged = function() { this._onSelectedGroupChangedAction = this._createActionByOption("onSelectedGroupChanged") }; _proto._optionChanged = function(args) { switch (args.name) { case "onCreateToolbar": this._createOnCreateToolbar(); break; case "onSelectedGroupChanged": this._createOnSelectedGroupChanged(); break; case "propertyTabs": this._invalidate(); break; default: _DiagramFloatingPanel.prototype._optionChanged.call(this, args) } }; return DiagramPropertiesPanel }(_uiDiagram.default); var _default = DiagramPropertiesPanel; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 95463: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.properties_toolbar.js ***! \*****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiDiagram = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.toolbar */ 38148)); var _diagram = _interopRequireDefault(__webpack_require__( /*! ./diagram.commands_manager */ 72321)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DiagramPropertiesToolbar = function(_DiagramToolbar) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DiagramPropertiesToolbar, _DiagramToolbar); function DiagramPropertiesToolbar() { return _DiagramToolbar.apply(this, arguments) || this } var _proto = DiagramPropertiesToolbar.prototype; _proto._getCommands = function() { return _diagram.default.getPropertiesToolbarCommands() }; return DiagramPropertiesToolbar }(_uiDiagram.default); var _default = DiagramPropertiesToolbar; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 66737: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.scroll_view.js ***! \**********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _scroll_view = _interopRequireDefault(__webpack_require__( /*! ../scroll_view */ 4741)); var _m_widget_utils = __webpack_require__( /*! ../../__internal/grids/pivot_grid/m_widget_utils */ 28580); var _diagram = __webpack_require__( /*! ./diagram.importer */ 348); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DiagramScrollView = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DiagramScrollView, _Widget); function DiagramScrollView() { return _Widget.apply(this, arguments) || this } var _proto = DiagramScrollView.prototype; _proto._init = function() { _Widget.prototype._init.call(this); var _getDiagram = (0, _diagram.getDiagram)(), EventDispatcher = _getDiagram.EventDispatcher; this.onScroll = new EventDispatcher; this._createOnCreateDiagramAction() }; _proto._initMarkup = function() { var _this = this; _Widget.prototype._initMarkup.call(this); var $scrollViewWrapper = (0, _renderer.default)("<div>").appendTo(this.$element()); var options = { direction: "both", bounceEnabled: false, scrollByContent: false, onScroll: function(_ref) { var scrollOffset = _ref.scrollOffset; _this._raiseOnScroll(scrollOffset.left, scrollOffset.top) } }; var useNativeScrolling = this.option("useNativeScrolling"); if (void 0 !== useNativeScrolling) { options.useNative = useNativeScrolling } this._scrollView = this._createComponent($scrollViewWrapper, _scroll_view.default, options); this._onCreateDiagramAction({ $parent: (0, _renderer.default)(this._scrollView.content()), scrollView: this }) }; _proto.setScroll = function(left, top) { this._scrollView.scrollTo({ left: left, top: top }); this._raiseOnScrollWithoutPoint() }; _proto.offsetScroll = function(left, top) { this._scrollView.scrollBy({ left: left, top: top }); this._raiseOnScrollWithoutPoint() }; _proto.getSize = function() { var _getDiagram2 = (0, _diagram.getDiagram)(), Size = _getDiagram2.Size; var $element = this._scrollView.$element(); return new Size(Math.floor((0, _size.getWidth)($element)), Math.floor((0, _size.getHeight)($element))) }; _proto.getScrollContainer = function() { return this._scrollView.$element()[0] }; _proto.getScrollBarWidth = function() { return this.option("useNativeScrolling") ? (0, _m_widget_utils.calculateScrollbarWidth)() : 0 }; _proto.detachEvents = function() {}; _proto._raiseOnScroll = function(left, top) { var _getDiagram3 = (0, _diagram.getDiagram)(), Point = _getDiagram3.Point; this.onScroll.raise("notifyScrollChanged", (function() { return new Point(left, top) })) }; _proto._raiseOnScrollWithoutPoint = function() { var _this2 = this; var _getDiagram4 = (0, _diagram.getDiagram)(), Point = _getDiagram4.Point; this.onScroll.raise("notifyScrollChanged", (function() { return new Point(_this2._scrollView.scrollLeft(), _this2._scrollView.scrollTop()) })) }; _proto._createOnCreateDiagramAction = function() { this._onCreateDiagramAction = this._createActionByOption("onCreateDiagram") }; _proto._optionChanged = function(args) { switch (args.name) { case "onCreateDiagram": this._createOnCreateDiagramAction(); break; case "useNativeScrolling": break; default: _Widget.prototype._optionChanged.call(this, args) } }; return DiagramScrollView }(_ui.default); var _default = DiagramScrollView; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 38148: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.toolbar.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _toolbar = _interopRequireDefault(__webpack_require__( /*! ../toolbar */ 71042)); var _context_menu = _interopRequireDefault(__webpack_require__( /*! ../context_menu */ 10042)); var _diagram = _interopRequireDefault(__webpack_require__( /*! ./diagram.bar */ 50984)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _uiDiagram = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.panel */ 47596)); var _uiDiagram2 = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.menu_helper */ 20261)); var _diagram2 = __webpack_require__( /*! ./diagram.importer */ 348); __webpack_require__( /*! ../select_box */ 78665); __webpack_require__( /*! ../color_box */ 4278); __webpack_require__( /*! ../check_box */ 18859); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DiagramToolbar = function(_DiagramPanel) { _inheritsLoose(DiagramToolbar, _DiagramPanel); function DiagramToolbar() { return _DiagramPanel.apply(this, arguments) || this } var _proto = DiagramToolbar.prototype; _proto._init = function() { this._commands = []; this._itemHelpers = {}; this._commandContextMenus = {}; this._contextMenuList = []; this._valueConverters = {}; this.bar = new DiagramToolbarBar(this); this._createOnInternalCommand(); this._createOnCustomCommand(); this._createOnSubMenuVisibilityChangingAction(); _DiagramPanel.prototype._init.call(this) }; _proto._initMarkup = function() { _DiagramPanel.prototype._initMarkup.call(this); var isServerSide = !(0, _window.hasWindow)(); if (!this.option("skipAdjustSize") && !isServerSide) { (0, _size.setWidth)(this.$element(), "") } this._commands = this._getCommands(); this._itemHelpers = {}; this._commandContextMenus = {}; this._contextMenuList = []; var $toolbar = this._createMainElement(); this._renderToolbar($toolbar); if (!this.option("skipAdjustSize") && !isServerSide) { var $toolbarContent = this.$element().find(".dx-toolbar-before"); (0, _size.setWidth)(this.$element(), (0, _size.getWidth)($toolbarContent)) } }; _proto._createMainElement = function() { return (0, _renderer.default)("<div>").addClass("dx-diagram-toolbar").appendTo(this._$element) }; _proto._getCommands = function() { return this.option("commands") || [] }; _proto._renderToolbar = function($toolbar) { var beforeCommands = this._commands.filter((function(command) { return -1 === ["after", "center"].indexOf(command.location) })); var centerCommands = this._commands.filter((function(command) { return "center" === command.location })); var afterCommands = this._commands.filter((function(command) { return "after" === command.location })); var dataSource = [].concat(this._prepareToolbarItems(beforeCommands, "before", this._executeCommand)).concat(this._prepareToolbarItems(centerCommands, "center", this._executeCommand)).concat(this._prepareToolbarItems(afterCommands, "after", this._executeCommand)); this._toolbarInstance = this._createComponent($toolbar, _toolbar.default, { dataSource: dataSource }) }; _proto._prepareToolbarItems = function(items, location, actionHandler) { var _this = this; return items.map((function(item) { return (0, _extend.extend)(true, { location: location, locateInMenu: _this.option("locateInMenu") }, _this._createItem(item, location, actionHandler), _this._createItemOptions(item), _this._createItemActionOptions(item, actionHandler)) })) }; _proto._createItem = function(item, location, actionHandler) { var _this2 = this; if (item.getCommandValue || item.getEditorValue || item.getEditorDisplayValue) { this._valueConverters[item.command] = { getCommandValue: item.getCommandValue, getEditorValue: item.getEditorValue, getEditorDisplayValue: item.getEditorDisplayValue } } if ("separator" === item.widget) { return { template: function(data, index, element) { (0, _renderer.default)(element).addClass("dx-diagram-toolbar-separator") }, menuItemTemplate: function(data, index, element) { (0, _renderer.default)(element).addClass("dx-diagram-toolbar-menu-separator") } } } return { widget: item.widget || "dxButton", cssClass: item.cssClass, options: { stylingMode: this.option("buttonStylingMode"), type: this.option("buttonType"), text: item.text, hint: item.hint, icon: item.icon || item.iconUnchecked || item.iconChecked, iconChecked: item.iconChecked, iconUnchecked: item.iconUnchecked, onInitialized: function(e) { return _this2._onItemInitialized(e.component, item) }, onContentReady: function(e) { return _this2._onItemContentReady(e.component, item, actionHandler) } } } }; _proto._createItemOptions = function(_ref) { var widget = _ref.widget, command = _ref.command, items = _ref.items, valueExpr = _ref.valueExpr, displayExpr = _ref.displayExpr, showText = _ref.showText, hint = _ref.hint, icon = _ref.icon; if ("dxSelectBox" === widget) { return this._createSelectBoxItemOptions(command, hint, items, valueExpr, displayExpr) } else if ("dxTextBox" === widget) { return this._createTextBoxItemOptions(command, hint) } else if ("dxColorBox" === widget) { return this._createColorBoxItemOptions(command, hint, icon) } else if (!widget || "dxButton" === widget) { return { showText: showText || "inMenu" } } }; _proto._createSelectBoxItemOptions = function(command, hint, items, valueExpr, displayExpr) { var options = this._createTextEditorItemOptions(hint); options = (0, _extend.extend)(true, options, { options: { dataSource: items, displayExpr: displayExpr || "text", valueExpr: valueExpr || "value" } }); var isSelectButton = items && items.every((function(i) { return void 0 !== i.icon })); if (isSelectButton) { options = (0, _extend.extend)(true, options, { options: { fieldTemplate: function(data, container) { (0, _renderer.default)("<i>").addClass(data && data.icon || "dx-diagram-i-selectbox-null-icon dx-diagram-i").appendTo(container); (0, _renderer.default)("<div>").dxTextBox({ readOnly: true, stylingMode: "outlined" }).appendTo(container) }, itemTemplate: function(data, index, container) { (0, _renderer.default)(container).attr("title", data.hint); return '<i class="'.concat(data.icon, '"></i>') } } }) } return options }; _proto._createTextBoxItemOptions = function(command, hint) { var _this3 = this; var options = this._createTextEditorItemOptions(hint); options = (0, _extend.extend)(true, options, { options: { readOnly: true, focusStateEnabled: false, hoverStateEnabled: false, buttons: [{ name: "dropDown", location: "after", options: { icon: "spindown", disabled: false, stylingMode: "text", onClick: function(e) { var contextMenu = _this3._commandContextMenus[command]; if (contextMenu) { _this3._toggleContextMenu(contextMenu) } } } }] } }); return options }; _proto._createColorBoxItemOptions = function(command, hint, icon) { var _this4 = this; var options = this._createTextEditorItemOptions(hint); if (icon) { options = (0, _extend.extend)(true, options, { options: { openOnFieldClick: true, fieldTemplate: function(data, container) { (0, _renderer.default)("<i>").addClass(icon).css("borderBottomColor", data).appendTo(container); (0, _renderer.default)("<div>").dxTextBox({ readOnly: true, stylingMode: "outlined" }).appendTo(container) } } }) } options = (0, _extend.extend)(true, options, { options: { onOpened: function() { if (_this4.option("isMobileView")) { (0, _renderer.default)("body").addClass("dx-diagram-mobile-toolbar-color-box-opened") } }, onClosed: function() { (0, _renderer.default)("body").removeClass("dx-diagram-mobile-toolbar-color-box-opened") } } }); return options }; _proto._createTextEditorItemOptions = function(hint) { return { options: { stylingMode: this.option("editorStylingMode"), hint: hint } } }; _proto._createItemActionOptions = function(item, handler) { var _this5 = this; switch (item.widget) { case "dxSelectBox": case "dxColorBox": case "dxCheckBox": return { options: { onValueChanged: function(e) { var parameter = _uiDiagram2.default.getItemCommandParameter(_this5, item, e.component.option("value")); handler.call(_this5, item.command, item.name, parameter) } } }; case "dxTextBox": return {}; default: return { options: { onClick: function(e) { if (!item.items) { var parameter = _uiDiagram2.default.getItemCommandParameter(_this5, item); handler.call(_this5, item.command, item.name, parameter) } else { var contextMenu = e.component._contextMenu; if (contextMenu) { _this5._toggleContextMenu(contextMenu) } } } } } } }; _proto._toggleContextMenu = function(contextMenu) { this._contextMenuList.forEach((function(cm) { if (contextMenu !== cm) { cm.hide() } })); contextMenu.toggle() }; _proto._onItemInitialized = function(widget, item) { this._addItemHelper(item.command, new DiagramToolbarItemHelper(widget)) }; _proto._onItemContentReady = function(widget, item, actionHandler) { var _this6 = this; if (("dxButton" === widget.NAME || "dxTextBox" === widget.NAME) && item.items) { var isTouchMode = this._isTouchMode(); var $menuContainer = (0, _renderer.default)("<div>").appendTo(this.$element()); widget._contextMenu = this._createComponent($menuContainer, _context_menu.default, { items: item.items, target: widget.$element(), cssClass: _uiDiagram2.default.getContextMenuCssClass(), showEvent: "", hideOnOutsideClick: function(e) { return !isTouchMode && 0 === (0, _renderer.default)(e.target).closest(widget._contextMenu._dropDownButtonElement).length }, focusStateEnabled: false, position: { at: "left bottom" }, itemTemplate: function(itemData, itemIndex, itemElement) { _uiDiagram2.default.getContextMenuItemTemplate(this, itemData, itemIndex, itemElement) }, onItemClick: function(_ref2) { var component = _ref2.component, itemData = _ref2.itemData; _uiDiagram2.default.onContextMenuItemClick(_this6, itemData, actionHandler.bind(_this6)); if (!itemData.items || !itemData.items.length) { component.hide() } }, onShowing: function(e) { if (_this6._showingSubMenu) { return } _this6._showingSubMenu = e.component; _this6._onSubMenuVisibilityChangingAction({ visible: true, component: _this6 }); e.component.option("items", e.component.option("items")); delete _this6._showingSubMenu }, onInitialized: function(_ref3) { var component = _ref3.component; return _this6._onContextMenuInitialized(component, item, widget) }, onDisposing: function(_ref4) { var component = _ref4.component; return _this6._onContextMenuDisposing(component, item) } }); if (!isTouchMode) { widget._contextMenu._dropDownButtonElement = widget.$element(); if ("dxTextBox" === widget.NAME) { widget._contextMenu._dropDownButtonElement = widget.getButton("dropDown").element() } } } }; _proto._isTouchMode = function() { var _getDiagram = (0, _diagram2.getDiagram)(), Browser = _getDiagram.Browser; return Browser.TouchUI }; _proto._onContextMenuInitialized = function(widget, item, rootWidget) { this._contextMenuList.push(widget); if (item.command) { this._commandContextMenus[item.command] = widget } this._addContextMenuHelper(item, widget, [], rootWidget) }; _proto._addItemHelper = function(command, helper) { if (void 0 !== command) { if (this._itemHelpers[command]) { throw new Error("Toolbar cannot contain duplicated commands.") } this._itemHelpers[command] = helper } }; _proto._addContextMenuHelper = function(item, widget, indexPath, rootWidget) { var _this7 = this; if (item.items) { item.items.forEach((function(subItem, index) { var itemIndexPath = indexPath.concat(index); _this7._addItemHelper(subItem.command, new DiagramToolbarSubItemHelper(widget, itemIndexPath, subItem.command, rootWidget)); _this7._addContextMenuHelper(subItem, widget, itemIndexPath, rootWidget) })) } }; _proto._onContextMenuDisposing = function(widget, item) { this._contextMenuList.splice(this._contextMenuList.indexOf(widget), 1); delete this._commandContextMenus[item.command] }; _proto._executeCommand = function(command, name, value) { if (this._updateLocked) { return } if ("number" === typeof command) { var valueConverter = this._valueConverters[command]; if (valueConverter && valueConverter.getCommandValue) { value = valueConverter.getCommandValue(value) } this.bar.raiseBarCommandExecuted(command, value) } else if ("string" === typeof command) { this._onInternalCommandAction({ command: command }) } if (void 0 !== name) { this._onCustomCommandAction({ name: name }) } }; _proto._createOnInternalCommand = function() { this._onInternalCommandAction = this._createActionByOption("onInternalCommand") }; _proto._createOnCustomCommand = function() { this._onCustomCommandAction = this._createActionByOption("onCustomCommand") }; _proto._setItemEnabled = function(command, enabled) { if (command in this._itemHelpers) { var helper = this._itemHelpers[command]; if (helper.canUpdate(this._showingSubMenu)) { helper.setEnabled(enabled) } } }; _proto._setEnabled = function(enabled) { this._toolbarInstance.option("disabled", !enabled); this._contextMenuList.forEach((function(contextMenu) { contextMenu.option("disabled", !enabled) })) }; _proto._setItemValue = function(command, value) { try { this._updateLocked = true; if (command in this._itemHelpers) { var helper = this._itemHelpers[command]; if (helper.canUpdate(this._showingSubMenu)) { var valueConverter = this._valueConverters[command]; if (valueConverter && valueConverter.getEditorValue) { value = valueConverter.getEditorValue(value) } var displayValue; if (valueConverter && valueConverter.getEditorDisplayValue) { displayValue = valueConverter.getEditorDisplayValue(value) } var contextMenu = this._commandContextMenus[command]; helper.setValue(value, displayValue, contextMenu, contextMenu && command) } } } finally { this._updateLocked = false } }; _proto._setItemSubItems = function(command, items) { this._updateLocked = true; if (command in this._itemHelpers) { var helper = this._itemHelpers[command]; if (helper.canUpdate(this._showingSubMenu)) { var contextMenu = this._commandContextMenus[command]; helper.setItems(items, contextMenu, contextMenu && command) } } this._updateLocked = false }; _proto._createOnSubMenuVisibilityChangingAction = function() { this._onSubMenuVisibilityChangingAction = this._createActionByOption("onSubMenuVisibilityChanging") }; _proto._optionChanged = function(args) { switch (args.name) { case "isMobileView": (0, _renderer.default)("body").removeClass("dx-diagram-mobile-toolbar-color-box-opened"); this._invalidate(); break; case "onSubMenuVisibilityChanging": this._createOnSubMenuVisibilityChangingAction(); break; case "onInternalCommand": this._createOnInternalCommand(); break; case "onCustomCommand": this._createOnCustomCommand(); break; case "container": case "commands": this._invalidate(); break; case "export": break; default: _DiagramPanel.prototype._optionChanged.call(this, args) } }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_DiagramPanel.prototype._getDefaultOptions.call(this), { isMobileView: false, export: { fileName: "Diagram" }, locateInMenu: "auto", buttonStylingMode: "text", buttonType: "normal", editorStylingMode: "filled", skipAdjustSize: false }) }; _proto.setCommandChecked = function(command, checked) { this._setItemValue(command, checked) }; _proto.setCommandEnabled = function(command, enabled) { this._setItemEnabled(command, enabled) }; return DiagramToolbar }(_uiDiagram.default); var DiagramToolbarBar = function(_DiagramBar) { _inheritsLoose(DiagramToolbarBar, _DiagramBar); function DiagramToolbarBar() { return _DiagramBar.apply(this, arguments) || this } var _proto2 = DiagramToolbarBar.prototype; _proto2.getCommandKeys = function() { return this._getKeys(this._owner._commands) }; _proto2.setItemValue = function(key, value) { this._owner._setItemValue(key, value) }; _proto2.setItemEnabled = function(key, enabled) { this._owner._setItemEnabled(key, enabled) }; _proto2.setEnabled = function(enabled) { this._owner._setEnabled(enabled) }; _proto2.setItemSubItems = function(key, items) { this._owner._setItemSubItems(key, items) }; return DiagramToolbarBar }(_diagram.default); var DiagramToolbarItemHelper = function() { function DiagramToolbarItemHelper(widget) { this._widget = widget } var _proto3 = DiagramToolbarItemHelper.prototype; _proto3.canUpdate = function(showingSubMenu) { return void 0 === showingSubMenu }; _proto3.setEnabled = function(enabled) { this._widget.option("disabled", !enabled) }; _proto3.setValue = function(value, displayValue, contextMenu, rootCommandKey) { if ("value" in this._widget.option()) { this._updateEditorValue(value, displayValue) } else if (void 0 !== value) { this._updateButtonValue(value) } if (contextMenu) { this._updateContextMenuItemValue(contextMenu, "", rootCommandKey, value) } }; _proto3.setItems = function(items, contextMenu, rootCommandKey) { if (contextMenu) { this._updateContextMenuItems(contextMenu, "", rootCommandKey, items) } else { this._updateEditorItems(items) } }; _proto3._updateContextMenuItems = function(contextMenu, itemOptionText, rootCommandKey, items) { _uiDiagram2.default.updateContextMenuItems(contextMenu, itemOptionText, rootCommandKey, items) }; _proto3._updateEditorItems = function(items) { if ("items" in this._widget.option()) { this._widget.option("items", items.map((function(item) { return { value: _uiDiagram2.default.getItemValue(item), text: item.text } }))) } }; _proto3._updateEditorValue = function(value, displayValue) { this._widget.option("value", value); if (!this._widget.option("selectedItem") && displayValue) { this._widget.option("value", displayValue) } }; _proto3._updateButtonValue = function(value) { if (this._widget.option("iconChecked") && this._widget.option("iconUnchecked")) { this._widget.option("icon", value ? this._widget.option("iconChecked") : this._widget.option("iconUnchecked")) } else { this._widget.$element().toggleClass("dx-format-active", value) } }; _proto3._updateContextMenuItemValue = function(contextMenu, itemOptionText, rootCommandKey, value) { _uiDiagram2.default.updateContextMenuItemValue(contextMenu, itemOptionText, rootCommandKey, value) }; return DiagramToolbarItemHelper }(); var DiagramToolbarSubItemHelper = function(_DiagramToolbarItemHe) { _inheritsLoose(DiagramToolbarSubItemHelper, _DiagramToolbarItemHe); function DiagramToolbarSubItemHelper(widget, indexPath, rootCommandKey, rootWidget) { var _this8; _this8 = _DiagramToolbarItemHe.call(this, widget) || this; _this8._indexPath = indexPath; _this8._rootCommandKey = rootCommandKey; _this8._rootWidget = rootWidget; return _this8 } var _proto4 = DiagramToolbarSubItemHelper.prototype; _proto4.canUpdate = function(showingSubMenu) { return _DiagramToolbarItemHe.prototype.canUpdate.call(this, showingSubMenu) || showingSubMenu === this._widget }; _proto4.setEnabled = function(enabled) { this._widget.option(this._getItemOptionText() + "disabled", !enabled); var rootEnabled = this._hasEnabledCommandItems(this._widget.option("items")); this._rootWidget.option("disabled", !rootEnabled) }; _proto4._hasEnabledCommandItems = function(items) { var _this9 = this; if (items) { return items.some((function(item) { return void 0 !== item.command && !item.disabled || _this9._hasEnabledCommandItems(item.items) })) } return false }; _proto4.setValue = function(value) { this._updateContextMenuItemValue(this._widget, this._getItemOptionText(), this._rootCommandKey, value) }; _proto4.setItems = function(items) { this._updateContextMenuItems(this._widget, this._getItemOptionText(), this._rootCommandKey, items) }; _proto4._getItemOptionText = function() { return _uiDiagram2.default.getItemOptionText(this._widget, this._indexPath) }; return DiagramToolbarSubItemHelper }(DiagramToolbarItemHelper); var _default = DiagramToolbar; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 63842: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.toolbox.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _text_box = _interopRequireDefault(__webpack_require__( /*! ../text_box */ 29837)); var _accordion = _interopRequireDefault(__webpack_require__( /*! ../accordion */ 76219)); var _scroll_view = _interopRequireDefault(__webpack_require__( /*! ../scroll_view */ 4741)); var _tooltip = _interopRequireDefault(__webpack_require__( /*! ../tooltip */ 94920)); var _diagram = __webpack_require__( /*! ./diagram.importer */ 348); var _uiDiagram = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.floating_panel */ 99967)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DiagramToolbox = function(_DiagramFloatingPanel) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DiagramToolbox, _DiagramFloatingPanel); function DiagramToolbox() { return _DiagramFloatingPanel.apply(this, arguments) || this } var _proto = DiagramToolbox.prototype; _proto._init = function() { _DiagramFloatingPanel.prototype._init.call(this); this._toolboxes = []; this._filterText = ""; this._createOnShapeCategoryRenderedAction(); this._createOnFilterChangedAction() }; _proto._getPopupClass = function() { return "dx-diagram-toolbox-popup" }; _proto._getPopupHeight = function() { return this.isMobileView() ? "100%" : _DiagramFloatingPanel.prototype._getPopupHeight.call(this) }; _proto._getPopupMaxHeight = function() { return this.isMobileView() ? "100%" : _DiagramFloatingPanel.prototype._getPopupMaxHeight.call(this) }; _proto._getPopupMinHeight = function() { return 130 }; _proto._getPopupPosition = function() { var $parent = this.option("offsetParent"); var position = { my: "left top", at: "left top", of: $parent }; if (!this.isMobileView()) { return (0, _extend.extend)(position, { offset: this.option("offsetX") + " " + this.option("offsetY") }) } return position }; _proto._getPopupAnimation = function() { var $parent = this.option("offsetParent"); if (this.isMobileView()) { return { hide: this._getPopupSlideAnimationObject({ direction: "left", from: { position: { my: "left top", at: "left top", of: $parent } }, to: { position: { my: "right top", at: "left top", of: $parent } } }), show: this._getPopupSlideAnimationObject({ direction: "right", from: { position: { my: "right top", at: "left top", of: $parent } }, to: { position: { my: "left top", at: "left top", of: $parent } } }) } } return _DiagramFloatingPanel.prototype._getPopupAnimation.call(this) }; _proto._getPopupOptions = function() { var options = _DiagramFloatingPanel.prototype._getPopupOptions.call(this); if (!this.isMobileView()) { return (0, _extend.extend)(options, { showTitle: true, toolbarItems: [{ widget: "dxButton", location: "center", options: { activeStateEnabled: false, focusStateEnabled: false, hoverStateEnabled: false, icon: "diagram-toolbox-drag", stylingMode: "outlined", type: "normal" } }] }) } return options }; _proto._renderPopupContent = function($parent) { var panelHeight = "100%"; if (this.option("showSearch")) { var $inputContainer = (0, _renderer.default)("<div>").addClass("dx-diagram-toolbox-input-container").appendTo($parent); this._updateElementWidth($inputContainer); this._renderSearchInput($inputContainer); if ((0, _window.hasWindow)()) { panelHeight = "calc(100% - " + (0, _size.getHeight)(this._searchInput.$element()) + "px)" } } var $panel = (0, _renderer.default)("<div>").addClass("dx-diagram-toolbox-panel").appendTo($parent); (0, _size.setHeight)($panel, panelHeight); this._updateElementWidth($panel); this._renderScrollView($panel) }; _proto._updateElementWidth = function($element) { if (void 0 !== this.option("toolboxWidth")) { $element.css("width", this.option("toolboxWidth")) } }; _proto.updateMaxHeight = function() { if (this.isMobileView()) { return } var maxHeight = 6; if (this._popup) { var $title = this._getPopupTitle(); maxHeight += (0, _size.getOuterHeight)($title) } if (this._accordion) { maxHeight += (0, _size.getOuterHeight)(this._accordion.$element()) } if (this._searchInput) { maxHeight += (0, _size.getOuterHeight)(this._searchInput.$element()) } this.option("maxHeight", maxHeight) }; _proto._renderSearchInput = function($parent) { var _this = this; var $input = (0, _renderer.default)("<div>").addClass("dx-diagram-toolbox-input").appendTo($parent); this._searchInput = this._createComponent($input, _text_box.default, { stylingMode: "outlined", placeholder: _message.default.format("dxDiagram-uiSearch"), onValueChanged: function(data) { _this._onInputChanged(data.value) }, valueChangeEvent: "keyup", buttons: [{ name: "search", location: "after", options: { activeStateEnabled: false, focusStateEnabled: false, hoverStateEnabled: false, icon: "search", stylingMode: "outlined", type: "normal", onClick: function() { _this._searchInput.focus() } } }] }) }; _proto._renderScrollView = function($parent) { var _this2 = this; var $scrollViewWrapper = (0, _renderer.default)("<div>").appendTo($parent); this._scrollView = this._createComponent($scrollViewWrapper, _scroll_view.default); var _moveIsAllowed = this._scrollView._moveIsAllowed.bind(this._scrollView); this._scrollView._moveIsAllowed = function(e) { for (var i = 0; i < _this2._toolboxes.length; i++) { var $element = _this2._toolboxes[i]; if ((0, _renderer.default)($element).children(".dxdi-tb-start-drag-flag").length) { return false } } return _moveIsAllowed(e) }; var $accordion = (0, _renderer.default)("<div>").appendTo(this._scrollView.content()); this._updateElementWidth($accordion); this._renderAccordion($accordion) }; _proto._getAccordionDataSource = function() { var _this3 = this; var result = []; var toolboxGroups = this.option("toolboxGroups"); for (var i = 0; i < toolboxGroups.length; i++) { var category = toolboxGroups[i].category; var title = toolboxGroups[i].title; var groupObj = { category: category, title: title || category, expanded: toolboxGroups[i].expanded, displayMode: toolboxGroups[i].displayMode, shapes: toolboxGroups[i].shapes, onTemplate: function(widget, $element, data) { var $toolboxElement = (0, _renderer.default)($element); _this3._onShapeCategoryRenderedAction({ category: data.category, displayMode: data.displayMode, dataToggle: "shape-toolbox-tooltip", shapes: data.shapes, $element: $toolboxElement }); _this3._toolboxes.push($toolboxElement); if ("" !== _this3._filterText) { _this3._onFilterChangedAction({ text: _this3._filterText, filteringToolboxes: _this3._toolboxes.length - 1 }) } _this3._createTooltips($toolboxElement) } }; result.push(groupObj) } return result }; _proto._createTooltips = function($toolboxElement) { var _this4 = this; if (this._isTouchMode()) { return } var targets = $toolboxElement.find('[data-toggle="shape-toolbox-tooltip"]'); var $container = this.$element(); targets.each((function(index, element) { var $target = (0, _renderer.default)(element); var title = $target.attr("title"); if (title) { var $tooltip = (0, _renderer.default)("<div>").text(title).appendTo($container); _this4._createComponent($tooltip, _tooltip.default, { target: $target.get(0), showEvent: "mouseenter", hideEvent: "mouseleave", position: "top", animation: { show: { type: "fade", from: 0, to: 1, delay: 500 }, hide: { type: "fade", from: 1, to: 0, delay: 100 } } }) } })) }; _proto._isTouchMode = function() { var _getDiagram = (0, _diagram.getDiagram)(), Browser = _getDiagram.Browser; return Browser.TouchUI }; _proto._renderAccordion = function($container) { var _this5 = this; this._accordion = this._createComponent($container, _accordion.default, { multiple: true, animationDuration: 0, activeStateEnabled: false, focusStateEnabled: false, hoverStateEnabled: false, collapsible: true, displayExpr: "title", dataSource: this._getAccordionDataSource(), disabled: this.option("disabled"), itemTemplate: function(data, index, $element) { data.onTemplate(_this5, $element, data) }, onSelectionChanged: function(e) { _this5._updateScrollAnimateSubscription(e.component) }, onContentReady: function(e) { e.component.option("selectedItems", []); var items = e.component.option("dataSource"); for (var i = 0; i < items.length; i++) { if (false === items[i].expanded) { e.component.collapseItem(i) } else if (true === items[i].expanded) { e.component.expandItem(i) } } if (items.length && void 0 === items[0].expanded) { e.component.expandItem(0) } _this5._updateScrollAnimateSubscription(e.component) } }) }; _proto._updateScrollAnimateSubscription = function(component) { var _this6 = this; component._deferredAnimate = new _deferred.Deferred; component._deferredAnimate.done((function() { _this6.updateMaxHeight(); _this6._scrollView.update(); _this6._updateScrollAnimateSubscription(component) })) }; _proto._onInputChanged = function(text) { this._filterText = text; this._onFilterChangedAction({ text: this._filterText, filteringToolboxes: this._toolboxes.map((function($element, index) { return index })) }); this.updateTooltips(); this.updateMaxHeight(); this._scrollView.update() }; _proto.updateFilter = function() { this._onInputChanged(this._filterText) }; _proto.updateTooltips = function() { var _this7 = this; this._toolboxes.forEach((function($element) { var $tooltipContainer = (0, _renderer.default)($element); _this7._createTooltips($tooltipContainer) })) }; _proto._createOnShapeCategoryRenderedAction = function() { this._onShapeCategoryRenderedAction = this._createActionByOption("onShapeCategoryRendered") }; _proto._createOnFilterChangedAction = function() { this._onFilterChangedAction = this._createActionByOption("onFilterChanged") }; _proto._optionChanged = function(args) { switch (args.name) { case "onShapeCategoryRendered": this._createOnShapeCategoryRenderedAction(); break; case "onFilterChanged": this._createOnFilterChangedAction(); break; case "showSearch": case "toolboxWidth": this._invalidate(); break; case "toolboxGroups": this._accordion.option("dataSource", this._getAccordionDataSource()); break; default: _DiagramFloatingPanel.prototype._optionChanged.call(this, args) } }; return DiagramToolbox }(_uiDiagram.default); var _default = DiagramToolbox; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 64225: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/diagram/ui.diagram.view_toolbar.js ***! \***********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiDiagram = _interopRequireDefault(__webpack_require__( /*! ./ui.diagram.toolbar */ 38148)); var _diagram = _interopRequireDefault(__webpack_require__( /*! ./diagram.commands_manager */ 72321)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DiagramViewToolbar = function(_DiagramToolbar) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DiagramViewToolbar, _DiagramToolbar); function DiagramViewToolbar() { return _DiagramToolbar.apply(this, arguments) || this } var _proto = DiagramViewToolbar.prototype; _proto._getCommands = function() { return _diagram.default.getViewToolbarCommands(this.option("commands"), this.option("excludeCommands")) }; return DiagramViewToolbar }(_uiDiagram.default); var _default = DiagramViewToolbar; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 15029: /*!**********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/dialog.js ***! \**********************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.custom = exports.confirm = exports.alert = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _action = _interopRequireDefault(__webpack_require__( /*! ../core/action */ 62414)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _config = _interopRequireDefault(__webpack_require__( /*! ../core/config */ 80209)); var _dom = __webpack_require__( /*! ../core/utils/dom */ 3532); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _view_port = __webpack_require__( /*! ../core/utils/view_port */ 77695); var _message = _interopRequireDefault(__webpack_require__( /*! ../localization/message */ 28109)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./widget/ui.errors */ 96688)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ./popup/ui.popup */ 51495)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var DEFAULT_BUTTON = { text: "OK", onClick: function() { return true } }; var DX_DIALOG_WRAPPER_CLASSNAME = "".concat("dx-dialog", "-wrapper"); var DX_DIALOG_ROOT_CLASSNAME = "".concat("dx-dialog", "-root"); var DX_DIALOG_CONTENT_CLASSNAME = "".concat("dx-dialog", "-content"); var DX_DIALOG_MESSAGE_CLASSNAME = "".concat("dx-dialog", "-message"); var DX_DIALOG_BUTTONS_CLASSNAME = "".concat("dx-dialog", "-buttons"); var DX_DIALOG_BUTTON_CLASSNAME = "".concat("dx-dialog", "-button"); var custom = function(options) { var _options$title; var deferred = new _deferred.Deferred; options = options || {}; var $element = (0, _renderer.default)("<div>").addClass("dx-dialog").appendTo((0, _view_port.value)()); var isMessageDefined = "message" in options; var isMessageHtmlDefined = "messageHtml" in options; if (isMessageDefined) { _ui.default.log("W1013") } var messageHtml = String(isMessageHtmlDefined ? options.messageHtml : options.message); var $message = (0, _renderer.default)("<div>").addClass(DX_DIALOG_MESSAGE_CLASSNAME).html(messageHtml); var popupToolbarItems = []; (0, _iterator.each)(options.buttons || [DEFAULT_BUTTON], (function() { var action = new _action.default(this.onClick, { context: popupInstance }); popupToolbarItems.push({ toolbar: "bottom", location: _devices.default.current().android ? "after" : "center", widget: "dxButton", options: (0, _extend.extend)({}, this, { onClick: function() { var result = action.execute.apply(action, arguments); hide(result) } }) }) })); var popupInstance = new _ui2.default($element, (0, _extend.extend)({ title: null !== (_options$title = options.title) && void 0 !== _options$title ? _options$title : "", showTitle: (0, _common.ensureDefined)(options.showTitle, true), dragEnabled: (0, _common.ensureDefined)(options.dragEnabled, true), height: "auto", width: options.width, showCloseButton: options.showCloseButton || false, ignoreChildEvents: false, container: $element, visualContainer: window, dragAndResizeArea: window, onContentReady: function(args) { args.component.$content().addClass(DX_DIALOG_CONTENT_CLASSNAME).append($message) }, onShowing: function(e) { e.component.bottomToolbar().addClass(DX_DIALOG_BUTTONS_CLASSNAME).find(".".concat("dx-button")).addClass(DX_DIALOG_BUTTON_CLASSNAME); (0, _dom.resetActiveElement)() }, onShown: function(e) { var $firstButton = e.component.bottomToolbar().find(".".concat("dx-button")).first(); _events_engine.default.trigger($firstButton, "focus") }, onHiding: function() { deferred.reject() }, onHidden: function(_ref) { var element = _ref.element; (0, _renderer.default)(element).remove() }, toolbarItems: popupToolbarItems, animation: { show: { type: "pop", duration: 400 }, hide: { type: "pop", duration: 400, to: { opacity: 0, scale: 0 }, from: { opacity: 1, scale: 1 } } }, rtlEnabled: (0, _config.default)().rtlEnabled, position: { boundaryOffset: { h: 10, v: 0 } } }, options.popupOptions)); popupInstance.$wrapper().addClass(DX_DIALOG_WRAPPER_CLASSNAME); if (options.position) { popupInstance.option("position", options.position) } popupInstance.$wrapper().addClass(DX_DIALOG_ROOT_CLASSNAME); function hide(value) { deferred.resolve(value); popupInstance.hide() } return { show: function() { if ("phone" === _devices.default.real().deviceType) { var isPortrait = (0, _size.getHeight)(window) > (0, _size.getWidth)(window); var width = isPortrait ? "90%" : "60%"; popupInstance.option({ width: width }) } popupInstance.show(); return deferred.promise() }, hide: hide } }; exports.custom = custom; exports.alert = function(messageHtml) { var title = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ""; var showTitle = arguments.length > 2 ? arguments[2] : void 0; var options = (0, _type.isPlainObject)(messageHtml) ? messageHtml : { title: title, messageHtml: messageHtml, showTitle: showTitle, dragEnabled: showTitle }; return custom(options).show() }; exports.confirm = function(messageHtml) { var title = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ""; var showTitle = arguments.length > 2 ? arguments[2] : void 0; var options = (0, _type.isPlainObject)(messageHtml) ? messageHtml : { title: title, messageHtml: messageHtml, showTitle: showTitle, buttons: [{ text: _message.default.format("Yes"), onClick: function() { return true } }, { text: _message.default.format("No"), onClick: function() { return false } }], dragEnabled: showTitle }; return custom(options).show() } }, 42160: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/draggable.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _m_draggable = (obj = __webpack_require__( /*! ../__internal/m_draggable */ 86988), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _m_draggable.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 45065: /*!**********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/drawer.js ***! \**********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./drawer/ui.drawer */ 32089), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 68890: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/drawer/ui.drawer.animation.js ***! \******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.animation = void 0; var _fx = (obj = __webpack_require__( /*! ../../animation/fx */ 87209), obj && obj.__esModule ? obj : { default: obj }); var obj; var _inflector = __webpack_require__( /*! ../../core/utils/inflector */ 78008); var animation = { moveTo: function(config) { var $element = config.$element; var position = config.position; var direction = config.direction || "left"; var toConfig = {}; var animationType; switch (direction) { case "right": toConfig.transform = "translate(" + position + "px, 0px)"; animationType = "custom"; break; case "left": toConfig.left = position; animationType = "slide"; break; case "top": case "bottom": toConfig.top = position; animationType = "slide" } _fx.default.animate($element, { type: animationType, to: toConfig, duration: config.duration, complete: config.complete }) }, margin: function(config) { var $element = config.$element; var margin = config.margin; var direction = config.direction || "left"; var toConfig = {}; toConfig["margin" + (0, _inflector.camelize)(direction, true)] = margin; _fx.default.animate($element, { to: toConfig, duration: config.duration, complete: config.complete }) }, fade: function($element, config, duration, completeAction) { _fx.default.animate($element, { type: "fade", to: config.to, from: config.from, duration: duration, complete: completeAction }) }, size: function(config) { var $element = config.$element; var size = config.size; var direction = config.direction || "left"; var marginTop = config.marginTop || 0; var duration = config.duration; var toConfig = {}; if ("right" === direction || "left" === direction) { toConfig.width = size } else { toConfig.height = size } if ("bottom" === direction) { toConfig.marginTop = marginTop } _fx.default.animate($element, { to: toConfig, duration: duration, complete: config.complete }) }, complete: function($element) { _fx.default.stop($element, true) } }; exports.animation = animation }, 32089: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/drawer/ui.drawer.js ***! \********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _position = __webpack_require__( /*! ../../core/utils/position */ 37518); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _empty_template = __webpack_require__( /*! ../../core/templates/empty_template */ 10688); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _uiDrawerRenderingStrategy = _interopRequireDefault(__webpack_require__( /*! ./ui.drawer.rendering.strategy.push */ 89266)); var _uiDrawerRenderingStrategy2 = _interopRequireDefault(__webpack_require__( /*! ./ui.drawer.rendering.strategy.shrink */ 74780)); var _uiDrawerRenderingStrategy3 = _interopRequireDefault(__webpack_require__( /*! ./ui.drawer.rendering.strategy.overlap */ 5738)); var _uiDrawer = __webpack_require__( /*! ./ui.drawer.animation */ 68890); var _click = __webpack_require__( /*! ../../events/click */ 95429); var _fx = _interopRequireDefault(__webpack_require__( /*! ../../animation/fx */ 87209)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _visibility_change = __webpack_require__( /*! ../../events/visibility_change */ 80506); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var Drawer = _ui.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { position: "left", opened: false, minSize: null, maxSize: null, shading: false, template: "panel", openedStateMode: "shrink", revealMode: "slide", animationEnabled: true, animationDuration: 400, closeOnOutsideClick: false, contentTemplate: "content" }) }, _init: function() { this.callBase(); this._initStrategy(); this.$element().addClass("dx-drawer"); this._whenAnimationCompleted = void 0; this._whenPanelContentRendered = void 0; this._whenPanelContentRefreshed = void 0; this._$wrapper = (0, _renderer.default)("<div>").addClass("dx-drawer-wrapper"); this._$viewContentWrapper = (0, _renderer.default)("<div>").addClass("dx-drawer-content"); this._$wrapper.append(this._$viewContentWrapper); this.$element().append(this._$wrapper) }, _initStrategy: function() { switch (this.option("openedStateMode")) { case "push": this._strategy = new _uiDrawerRenderingStrategy.default(this); break; case "shrink": this._strategy = new _uiDrawerRenderingStrategy2.default(this); break; case "overlap": this._strategy = new _uiDrawerRenderingStrategy3.default(this); break; default: this._strategy = new _uiDrawerRenderingStrategy.default(this) } }, _getAnonymousTemplateName: function() { return "content" }, _initTemplates: function() { var defaultTemplates = {}; defaultTemplates.panel = new _empty_template.EmptyTemplate; defaultTemplates.content = new _empty_template.EmptyTemplate; this._templateManager.addDefaultTemplates(defaultTemplates); this.callBase() }, _viewContentWrapperClickHandler: function(e) { var closeOnOutsideClick = this.option("closeOnOutsideClick"); if ((0, _type.isFunction)(closeOnOutsideClick)) { closeOnOutsideClick = closeOnOutsideClick(e) } if (closeOnOutsideClick && this.option("opened")) { this.stopAnimations(); if (this.option("shading")) { e.preventDefault() } this.hide() } }, _initMarkup: function() { this.callBase(); this._toggleOpenedStateClass(this.option("opened")); this._renderPanelContentWrapper(); this._refreshOpenedStateModeClass(); this._refreshRevealModeClass(); this._renderShader(); this._refreshPositionClass(); this._whenPanelContentRendered = new _deferred.Deferred; this._strategy.renderPanelContent(this._whenPanelContentRendered); this._strategy.onPanelContentRendered(); this._renderViewContent(); _events_engine.default.off(this._$viewContentWrapper, _click.name); _events_engine.default.on(this._$viewContentWrapper, _click.name, this._viewContentWrapperClickHandler.bind(this)); this._refreshWrapperChildrenOrder() }, _render: function() { var _this = this; this._initMinMaxSize(); this.callBase(); this._whenPanelContentRendered.always((function() { _this._initMinMaxSize(); _this._strategy.refreshPanelElementSize("slide" === _this.option("revealMode") || !_this.isHorizontalDirection()); _this._renderPosition(_this.option("opened"), true); _this._removePanelManualPosition() })) }, _removePanelManualPosition: function() { if (this._$panelContentWrapper.attr("manualposition")) { this._$panelContentWrapper.removeAttr("manualPosition"); this._$panelContentWrapper.css({ position: "", top: "", left: "", right: "", bottom: "" }) } }, _renderPanelContentWrapper: function() { this._$panelContentWrapper = (0, _renderer.default)("<div>").addClass("dx-drawer-panel-content"); var position = this.calcTargetPosition(); if ("push" === this.option("openedStateMode") && ["top", "bottom"].indexOf(position) > -1) { this._$panelContentWrapper.addClass("dx-drawer-panel-content-push-top-or-bottom") } if ("overlap" !== this.option("openedStateMode") && !this.option("opened") && !this.option("minSize")) { this._$panelContentWrapper.attr("manualposition", true); this._$panelContentWrapper.css({ position: "absolute", top: "-10000px", left: "-10000px", right: "auto", bottom: "auto" }) } this._$wrapper.append(this._$panelContentWrapper) }, _refreshOpenedStateModeClass: function(prevOpenedStateMode) { if (prevOpenedStateMode) { this.$element().removeClass("dx-drawer-" + prevOpenedStateMode) } this.$element().addClass("dx-drawer-" + this.option("openedStateMode")) }, _refreshPositionClass: function(prevPosition) { if (prevPosition) { this.$element().removeClass("dx-drawer-" + prevPosition) } this.$element().addClass("dx-drawer-" + this.calcTargetPosition()) }, _refreshWrapperChildrenOrder: function() { var position = this.calcTargetPosition(); if (this._strategy.isViewContentFirst(position, this.option("rtlEnabled"))) { this._$wrapper.prepend(this._$viewContentWrapper) } else { this._$wrapper.prepend(this._$panelContentWrapper) } }, _refreshRevealModeClass: function(prevRevealMode) { if (prevRevealMode) { this.$element().removeClass("dx-drawer-" + prevRevealMode) } this.$element().addClass("dx-drawer-" + this.option("revealMode")) }, _renderViewContent: function() { var contentTemplateOption = this.option("contentTemplate"); var contentTemplate = this._getTemplate(contentTemplateOption); if (contentTemplate) { var $viewTemplate = contentTemplate.render({ container: this.viewContent(), noModel: true, transclude: this._templateManager.anonymousTemplateName === contentTemplateOption }); if ($viewTemplate.hasClass("ng-scope")) { (0, _renderer.default)(this._$viewContentWrapper).children().not(".".concat("dx-drawer-shader")).replaceWith($viewTemplate) } } }, _renderShader: function() { this._$shader = this._$shader || (0, _renderer.default)("<div>").addClass("dx-drawer-shader"); this._$shader.appendTo(this.viewContent()); this._toggleShaderVisibility(this.option("opened")) }, _initSize: function() { this._initMinMaxSize() }, _initMinMaxSize: function() { var realPanelSize = this.isHorizontalDirection() ? this.getRealPanelWidth() : this.getRealPanelHeight(); this._maxSize = this.option("maxSize") || realPanelSize; this._minSize = this.option("minSize") || 0 }, calcTargetPosition: function() { var position = this.option("position"); var rtl = this.option("rtlEnabled"); var result = position; if ("before" === position) { result = rtl ? "right" : "left" } else if ("after" === position) { result = rtl ? "left" : "right" } return result }, getOverlayTarget: function() { return this._$wrapper }, getOverlay: function() { return this._overlay }, getMaxSize: function() { return this._maxSize }, getMinSize: function() { return this._minSize }, getRealPanelWidth: function() { if ((0, _window.hasWindow)()) { if ((0, _type.isDefined)(this.option("templateSize"))) { return this.option("templateSize") } else { return (0, _position.getBoundingRect)(this._getPanelTemplateElement()).width } } else { return 0 } }, getRealPanelHeight: function() { if ((0, _window.hasWindow)()) { if ((0, _type.isDefined)(this.option("templateSize"))) { return this.option("templateSize") } else { return (0, _position.getBoundingRect)(this._getPanelTemplateElement()).height } } else { return 0 } }, _getPanelTemplateElement: function() { var $panelContent = this._strategy.getPanelContent(); var $result = $panelContent; if ($panelContent.children().length) { $result = $panelContent.children().eq(0); if ($panelContent.hasClass("dx-overlay-content") && $result.hasClass("dx-template-wrapper") && $result.children().length) { $result = $result.children().eq(0) } } return $result.get(0) }, getElementHeight: function($element) { var $children = $element.children(); return $children.length ? (0, _position.getBoundingRect)($children.eq(0).get(0)).height : (0, _position.getBoundingRect)($element.get(0)).height }, isHorizontalDirection: function() { var position = this.calcTargetPosition(); return "left" === position || "right" === position }, stopAnimations: function(jumpToEnd) { _fx.default.stop(this._$shader, jumpToEnd); _fx.default.stop((0, _renderer.default)(this.content()), jumpToEnd); _fx.default.stop((0, _renderer.default)(this.viewContent()), jumpToEnd); var overlay = this.getOverlay(); if (overlay) { _fx.default.stop((0, _renderer.default)(overlay.$content()), jumpToEnd) } }, setZIndex: function(zIndex) { this._$shader.css("zIndex", zIndex - 1); this._$panelContentWrapper.css("zIndex", zIndex) }, resizeContent: function() { this.resizeViewContent }, resizeViewContent: function() { (0, _visibility_change.triggerResizeEvent)(this.viewContent()) }, _isInvertedPosition: function() { var position = this.calcTargetPosition(); return "right" === position || "bottom" === position }, _renderPosition: function(isDrawerOpened, disableAnimation, jumpToEnd) { this.stopAnimations(jumpToEnd); if (!(0, _window.hasWindow)()) { return }(0, _renderer.default)(this.viewContent()).css("paddingLeft", 0); (0, _renderer.default)(this.viewContent()).css("paddingRight", 0); (0, _renderer.default)(this.viewContent()).css("paddingTop", 0); (0, _renderer.default)(this.viewContent()).css("paddingBottom", 0); var animationEnabled = this.option("animationEnabled"); if (true === disableAnimation) { animationEnabled = false } if (isDrawerOpened) { this._toggleShaderVisibility(isDrawerOpened) } this._strategy.renderPosition(animationEnabled, this.option("animationDuration")) }, _animationCompleteHandler: function() { this.resizeViewContent(); if (this._whenAnimationCompleted) { this._whenAnimationCompleted.resolve() } }, _getPositionCorrection: function() { return this._isInvertedPosition() ? -1 : 1 }, _dispose: function() { _uiDrawer.animation.complete((0, _renderer.default)(this.viewContent())); this.callBase() }, _visibilityChanged: function(visible) { if (visible) { this._dimensionChanged() } }, _dimensionChanged: function() { this._initMinMaxSize(); this._strategy.refreshPanelElementSize("slide" === this.option("revealMode")); this._renderPosition(this.option("opened"), true) }, _toggleShaderVisibility: function(visible) { if (this.option("shading")) { this._$shader.toggleClass("dx-state-invisible", !visible); this._$shader.css("visibility", visible ? "visible" : "hidden") } else { this._$shader.toggleClass("dx-state-invisible", true) } }, _toggleOpenedStateClass: function(opened) { this.$element().toggleClass("dx-drawer-opened", opened) }, _refreshPanel: function() { var _this2 = this; (0, _renderer.default)(this.viewContent()).css("left", 0); (0, _renderer.default)(this.viewContent()).css("transform", "translate(0px, 0px)"); (0, _renderer.default)(this.viewContent()).removeClass("dx-theme-background-color"); this._removePanelContentWrapper(); this._removeOverlay(); this._renderPanelContentWrapper(); this._refreshWrapperChildrenOrder(); this._whenPanelContentRefreshed = new _deferred.Deferred; this._strategy.renderPanelContent(this._whenPanelContentRefreshed); this._strategy.onPanelContentRendered(); if ((0, _window.hasWindow)()) { this._whenPanelContentRefreshed.always((function() { _this2._strategy.refreshPanelElementSize("slide" === _this2.option("revealMode")); _this2._renderPosition(_this2.option("opened"), true, true); _this2._removePanelManualPosition() })) } }, _clean: function() { this._cleanFocusState(); this._removePanelContentWrapper(); this._removeOverlay() }, _removePanelContentWrapper: function() { if (this._$panelContentWrapper) { this._$panelContentWrapper.remove() } }, _removeOverlay: function() { if (this._overlay) { this._overlay.dispose(); delete this._overlay; delete this._$panelContentWrapper } }, _optionChanged: function(args) { switch (args.name) { case "width": this.callBase(args); this._dimensionChanged(); break; case "opened": this._renderPosition(this.option("opened")); this._toggleOpenedStateClass(args.value); break; case "position": this._refreshPositionClass(args.previousValue); this._refreshWrapperChildrenOrder(); this._invalidate(); break; case "contentTemplate": case "template": this._invalidate(); break; case "openedStateMode": this._initStrategy(); this._refreshOpenedStateModeClass(args.previousValue); this._refreshPanel(); break; case "minSize": case "maxSize": this._initMinMaxSize(); this._renderPosition(this.option("opened"), true); break; case "revealMode": this._refreshRevealModeClass(args.previousValue); this._refreshPanel(); break; case "shading": this._toggleShaderVisibility(this.option("opened")); break; case "animationEnabled": case "animationDuration": case "closeOnOutsideClick": break; default: this.callBase(args) } }, content: function() { return (0, _element.getPublicElement)(this._$panelContentWrapper) }, viewContent: function() { return (0, _element.getPublicElement)(this._$viewContentWrapper) }, show: function() { return this.toggle(true) }, hide: function() { return this.toggle(false) }, toggle: function(opened) { var targetOpened = void 0 === opened ? !this.option("opened") : opened; this._whenAnimationCompleted = new _deferred.Deferred; this.option("opened", targetOpened); return this._whenAnimationCompleted.promise() } }); (0, _component_registrator.default)("dxDrawer", Drawer); var _default = Drawer; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 39725: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/drawer/ui.drawer.rendering.strategy.js ***! \***************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = (obj = __webpack_require__( /*! ../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _uiDrawer = __webpack_require__( /*! ./ui.drawer.animation */ 68890); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var DrawerStrategy = function() { function DrawerStrategy(drawer) { this._drawer = drawer } var _proto = DrawerStrategy.prototype; _proto.getDrawerInstance = function() { return this._drawer }; _proto.renderPanelContent = function(whenPanelContentRendered) { var drawer = this.getDrawerInstance(); var template = drawer._getTemplate(drawer.option("template")); if (template) { template.render({ container: drawer.content(), onRendered: function() { whenPanelContentRendered.resolve() } }) } }; _proto.renderPosition = function(changePositionUsingFxAnimation, animationDuration) { var whenPositionAnimationCompleted = new _deferred.Deferred; var whenShaderAnimationCompleted = new _deferred.Deferred; var drawer = this.getDrawerInstance(); if (changePositionUsingFxAnimation) { _deferred.when.apply(_renderer.default, [whenPositionAnimationCompleted, whenShaderAnimationCompleted]).done((function() { drawer._animationCompleteHandler() })) } this._internalRenderPosition(changePositionUsingFxAnimation, whenPositionAnimationCompleted); if (!changePositionUsingFxAnimation) { drawer.resizeViewContent() } this.renderShaderVisibility(changePositionUsingFxAnimation, animationDuration, whenShaderAnimationCompleted) }; _proto._getPanelOffset = function(isDrawerOpened) { var drawer = this.getDrawerInstance(); var size = drawer.isHorizontalDirection() ? drawer.getRealPanelWidth() : drawer.getRealPanelHeight(); if (isDrawerOpened) { return -(size - drawer.getMaxSize()) } else { return -(size - drawer.getMinSize()) } }; _proto._getPanelSize = function(isDrawerOpened) { return isDrawerOpened ? this.getDrawerInstance().getMaxSize() : this.getDrawerInstance().getMinSize() }; _proto.renderShaderVisibility = function(changePositionUsingFxAnimation, duration, whenAnimationCompleted) { var _this = this; var drawer = this.getDrawerInstance(); var isShaderVisible = drawer.option("opened"); var fadeConfig = isShaderVisible ? { from: 0, to: 1 } : { from: 1, to: 0 }; if (changePositionUsingFxAnimation) { _uiDrawer.animation.fade((0, _renderer.default)(drawer._$shader), fadeConfig, duration, (function() { _this._drawer._toggleShaderVisibility(isShaderVisible); whenAnimationCompleted.resolve() })) } else { drawer._toggleShaderVisibility(isShaderVisible); drawer._$shader.css("opacity", fadeConfig.to) } }; _proto.getPanelContent = function() { return (0, _renderer.default)(this.getDrawerInstance().content()) }; _proto.setPanelSize = function(calcFromRealPanelSize) { this.refreshPanelElementSize(calcFromRealPanelSize) }; _proto.refreshPanelElementSize = function(calcFromRealPanelSize) { var drawer = this.getDrawerInstance(); var panelSize = this._getPanelSize(drawer.option("opened")); if (drawer.isHorizontalDirection()) { (0, _size.setWidth)((0, _renderer.default)(drawer.content()), calcFromRealPanelSize ? drawer.getRealPanelWidth() : panelSize) } else { (0, _size.setHeight)((0, _renderer.default)(drawer.content()), calcFromRealPanelSize ? drawer.getRealPanelHeight() : panelSize) } }; _proto.isViewContentFirst = function() { return false }; _proto.onPanelContentRendered = function() {}; return DrawerStrategy }(); var _default = DrawerStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 5738: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/drawer/ui.drawer.rendering.strategy.overlap.js ***! \***********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _uiDrawer = __webpack_require__( /*! ./ui.drawer.animation */ 68890); var _uiDrawerRendering = _interopRequireDefault(__webpack_require__( /*! ./ui.drawer.rendering.strategy */ 39725)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _ui = _interopRequireDefault(__webpack_require__( /*! ../overlay/ui.overlay */ 89799)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _inflector = __webpack_require__( /*! ../../core/utils/inflector */ 78008); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var OverlapStrategy = function(_DrawerStrategy) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(OverlapStrategy, _DrawerStrategy); function OverlapStrategy() { return _DrawerStrategy.apply(this, arguments) || this } var _proto = OverlapStrategy.prototype; _proto.renderPanelContent = function(whenPanelContentRendered) { var _this = this; delete this._initialPosition; var drawer = this.getDrawerInstance(); var _drawer$option = drawer.option(), opened = _drawer$option.opened, minSize = _drawer$option.minSize; drawer._overlay = drawer._createComponent(drawer.content(), _ui.default, { shading: false, container: drawer.content(), visualContainer: drawer.getOverlayTarget(), position: this._getOverlayPosition(), width: opened ? "auto" : minSize || 0, height: "100%", templatesRenderAsynchronously: drawer.option("templatesRenderAsynchronously"), animation: { show: { duration: 0 } }, onPositioned: function(e) { this._fixOverlayPosition(e.component.$content()) }.bind(this), contentTemplate: drawer.option("template"), onContentReady: function(args) { whenPanelContentRendered.resolve(); _this._processOverlayZIndex(args.component.content()) }, visible: true, propagateOutsideClick: true }) }; _proto._fixOverlayPosition = function($overlayContent) { var position = (0, _common.ensureDefined)(this._initialPosition, { left: 0, top: 0 }); (0, _translator.move)($overlayContent, position); if ("right" === this.getDrawerInstance().calcTargetPosition()) { $overlayContent.css("left", "auto") } if ("bottom" === this.getDrawerInstance().calcTargetPosition()) { $overlayContent.css("top", "auto"); $overlayContent.css("bottom", "0px") } }; _proto._getOverlayPosition = function() { var drawer = this.getDrawerInstance(); var panelPosition = drawer.calcTargetPosition(); var result = {}; switch (panelPosition) { case "left": result = { my: "top left", at: "top left" }; break; case "right": result = { my: drawer.option("rtlEnabled") ? "top left" : "top right", at: "top right" }; break; case "top": case "bottom": result = { my: panelPosition, at: panelPosition } } result.of = drawer.getOverlayTarget(); return result }; _proto.refreshPanelElementSize = function(calcFromRealPanelSize) { var drawer = this.getDrawerInstance(); var overlay = drawer.getOverlay(); if (drawer.isHorizontalDirection()) { overlay.option("height", "100%"); overlay.option("width", calcFromRealPanelSize ? drawer.getRealPanelWidth() : this._getPanelSize(drawer.option("opened"))) } else { overlay.option("width", (0, _size.getWidth)(drawer.getOverlayTarget())); overlay.option("height", calcFromRealPanelSize ? drawer.getRealPanelHeight() : this._getPanelSize(drawer.option("opened"))) } }; _proto.onPanelContentRendered = function() { this._updateViewContentStyles() }; _proto._updateViewContentStyles = function() { var drawer = this.getDrawerInstance(); (0, _renderer.default)(drawer.viewContent()).css("padding" + (0, _inflector.camelize)(drawer.calcTargetPosition(), true), drawer.option("minSize")); (0, _renderer.default)(drawer.viewContent()).css("transform", "inherit") }; _proto._internalRenderPosition = function(changePositionUsingFxAnimation, whenAnimationCompleted) { var drawer = this.getDrawerInstance(); var $panel = (0, _renderer.default)(drawer.content()); var $panelOverlayContent = drawer.getOverlay().$content(); var revealMode = drawer.option("revealMode"); var targetPanelPosition = drawer.calcTargetPosition(); var panelSize = this._getPanelSize(drawer.option("opened")); var panelOffset = this._getPanelOffset(drawer.option("opened")) * drawer._getPositionCorrection(); var marginTop = drawer.getRealPanelHeight() - panelSize; this._updateViewContentStyles(); if (changePositionUsingFxAnimation) { if ("slide" === revealMode) { this._initialPosition = drawer.isHorizontalDirection() ? { left: panelOffset } : { top: panelOffset }; _uiDrawer.animation.moveTo({ complete: function() { whenAnimationCompleted.resolve() }, duration: drawer.option("animationDuration"), direction: targetPanelPosition, $element: $panel, position: panelOffset }) } else if ("expand" === revealMode) { this._initialPosition = { left: 0 }; (0, _translator.move)($panelOverlayContent, this._initialPosition); _uiDrawer.animation.size({ complete: function() { whenAnimationCompleted.resolve() }, duration: drawer.option("animationDuration"), direction: targetPanelPosition, $element: $panelOverlayContent, size: panelSize, marginTop: marginTop }) } } else if ("slide" === revealMode) { this._initialPosition = drawer.isHorizontalDirection() ? { left: panelOffset } : { top: panelOffset }; (0, _translator.move)($panel, this._initialPosition) } else if ("expand" === revealMode) { this._initialPosition = { left: 0 }; (0, _translator.move)($panelOverlayContent, this._initialPosition); if (drawer.isHorizontalDirection()) { (0, _renderer.default)($panelOverlayContent).css("width", panelSize) } else { (0, _renderer.default)($panelOverlayContent).css("height", panelSize); if ("bottom" === targetPanelPosition) { (0, _renderer.default)($panelOverlayContent).css("marginTop", marginTop) } } } }; _proto.getPanelContent = function() { return (0, _renderer.default)(this.getDrawerInstance().getOverlay().content()) }; _proto._processOverlayZIndex = function($element) { var styles = (0, _renderer.default)($element).get(0).style; var zIndex = styles.zIndex || 1; this.getDrawerInstance().setZIndex(zIndex) }; _proto.isViewContentFirst = function(position) { return "right" === position || "bottom" === position }; return OverlapStrategy }(_uiDrawerRendering.default); var _default = OverlapStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 89266: /*!********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/drawer/ui.drawer.rendering.strategy.push.js ***! \********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiDrawer = __webpack_require__( /*! ./ui.drawer.animation */ 68890); var _uiDrawerRendering = _interopRequireDefault(__webpack_require__( /*! ./ui.drawer.rendering.strategy */ 39725)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var PushStrategy = function(_DrawerStrategy) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(PushStrategy, _DrawerStrategy); function PushStrategy() { return _DrawerStrategy.apply(this, arguments) || this } var _proto = PushStrategy.prototype; _proto._internalRenderPosition = function(changePositionUsingFxAnimation, whenAnimationCompleted) { var drawer = this.getDrawerInstance(); var openedPanelSize = this._getPanelSize(true); var contentPosition = this._getPanelSize(drawer.option("opened")) * drawer._getPositionCorrection(); (0, _renderer.default)(drawer.content()).css(drawer.isHorizontalDirection() ? "width" : "height", openedPanelSize); if (drawer.getMinSize()) { var paddingCssPropertyName = "padding"; switch (drawer.calcTargetPosition()) { case "left": paddingCssPropertyName += "Right"; break; case "right": paddingCssPropertyName += "Left"; break; case "top": paddingCssPropertyName += "Bottom"; break; case "bottom": paddingCssPropertyName += "Top" }(0, _renderer.default)(drawer.viewContent()).css(paddingCssPropertyName, drawer.getMinSize()) } if (changePositionUsingFxAnimation) { _uiDrawer.animation.moveTo({ $element: (0, _renderer.default)(drawer.viewContent()), position: contentPosition, direction: drawer.calcTargetPosition(), duration: drawer.option("animationDuration"), complete: function() { whenAnimationCompleted.resolve() } }) } else if (drawer.isHorizontalDirection()) { (0, _translator.move)((0, _renderer.default)(drawer.viewContent()), { left: contentPosition }) } else { (0, _translator.move)((0, _renderer.default)(drawer.viewContent()), { top: contentPosition }) } }; _proto.onPanelContentRendered = function() { (0, _renderer.default)(this.getDrawerInstance().viewContent()).addClass("dx-theme-background-color") }; return PushStrategy }(_uiDrawerRendering.default); var _default = PushStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 74780: /*!**********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/drawer/ui.drawer.rendering.strategy.shrink.js ***! \**********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiDrawer = __webpack_require__( /*! ./ui.drawer.animation */ 68890); var _uiDrawerRendering = _interopRequireDefault(__webpack_require__( /*! ./ui.drawer.rendering.strategy */ 39725)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _inflector = __webpack_require__( /*! ../../core/utils/inflector */ 78008); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ShrinkStrategy = function(_DrawerStrategy) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ShrinkStrategy, _DrawerStrategy); function ShrinkStrategy() { return _DrawerStrategy.apply(this, arguments) || this } var _proto = ShrinkStrategy.prototype; _proto._internalRenderPosition = function(changePositionUsingFxAnimation, whenAnimationCompleted) { var drawer = this.getDrawerInstance(); var direction = drawer.calcTargetPosition(); var $panel = (0, _renderer.default)(drawer.content()); var panelSize = this._getPanelSize(drawer.option("opened")); var panelOffset = this._getPanelOffset(drawer.option("opened")); var revealMode = drawer.option("revealMode"); if (changePositionUsingFxAnimation) { if ("slide" === revealMode) { _uiDrawer.animation.margin({ complete: function() { whenAnimationCompleted.resolve() }, $element: $panel, duration: drawer.option("animationDuration"), direction: direction, margin: panelOffset }) } else if ("expand" === revealMode) { _uiDrawer.animation.size({ complete: function() { whenAnimationCompleted.resolve() }, $element: $panel, duration: drawer.option("animationDuration"), direction: direction, size: panelSize }) } } else if ("slide" === revealMode) { $panel.css("margin" + (0, _inflector.camelize)(direction, true), panelOffset) } else if ("expand" === revealMode) { $panel.css(drawer.isHorizontalDirection() ? "width" : "height", panelSize) } }; _proto.isViewContentFirst = function(position, isRtl) { return (isRtl ? "left" === position : "right" === position) || "bottom" === position }; return ShrinkStrategy }(_uiDrawerRendering.default); var _default = ShrinkStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 36646: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/drop_down_box.js ***! \*****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = _interopRequireDefault(__webpack_require__( /*! ./drop_down_editor/ui.drop_down_editor */ 44687)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ./editor/ui.data_expression */ 88718)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _selectors = __webpack_require__( /*! ./widget/selectors */ 31421); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _utils = __webpack_require__( /*! ../ui/overlay/utils */ 13660); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); var _short = __webpack_require__( /*! ../events/short */ 72918); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); var _element = __webpack_require__( /*! ../core/element */ 6415); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var getActiveElement = _dom_adapter.default.getActiveElement; var realDevice = _devices.default.real(); var DropDownBox = _ui.default.inherit({ _supportedKeys: function() { return (0, _extend.extend)({}, this.callBase(), { tab: function(e) { if (!this.option("opened")) { return } var $tabbableElements = this._getTabbableElements(); var $focusableElement = e.shiftKey ? $tabbableElements.last() : $tabbableElements.first(); $focusableElement && _events_engine.default.trigger($focusableElement, "focus"); e.preventDefault() } }) }, _getTabbableElements: function() { return this._getElements().filter(_selectors.tabbable) }, _getElements: function() { return (0, _renderer.default)(this.content()).find("*") }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { acceptCustomValue: false, contentTemplate: "content", openOnFieldClick: true, displayValueFormatter: function(value) { return Array.isArray(value) ? value.join(", ") : value }, useHiddenSubmitElement: true }) }, _getAnonymousTemplateName: function() { return "content" }, _initTemplates: function() { this.callBase() }, _initMarkup: function() { this._initDataExpressions(); this.$element().addClass("dx-dropdownbox"); this.callBase() }, _setSubmitValue: function() { var value = this.option("value"); var submitValue = this._shouldUseDisplayValue(value) ? this._displayGetter(value) : value; this._getSubmitElement().val(submitValue) }, _shouldUseDisplayValue: function(value) { return "this" === this.option("valueExpr") && (0, _type.isObject)(value) }, _renderInputValue: function() { var _this = this; this._rejectValueLoading(); var values = []; if (!this._dataSource) { this.callBase(values); return (new _deferred.Deferred).resolve() } var currentValue = this._getCurrentValue(); var keys = null !== currentValue && void 0 !== currentValue ? currentValue : []; keys = Array.isArray(keys) ? keys : [keys]; var itemLoadDeferreds = (0, _iterator.map)(keys, (function(key) { var deferred = new _deferred.Deferred; _this._loadItem(key).always((function(item) { var displayValue = _this._displayGetter(item); if ((0, _type.isDefined)(displayValue)) { values.push(displayValue) } else if (_this.option("acceptCustomValue")) { values.push(key) } deferred.resolve() })); return deferred })); var callBase = this.callBase.bind(this); return _deferred.when.apply(this, itemLoadDeferreds).always((function() { _this.option("displayValue", values); callBase(values.length && values) })) }, _loadItem: function(value) { var deferred = new _deferred.Deferred; var that = this; var selectedItem = (0, _common.grep)(this.option("items") || [], function(item) { return this._isValueEquals(this._valueGetter(item), value) }.bind(this))[0]; if (void 0 !== selectedItem) { deferred.resolve(selectedItem) } else { this._loadValue(value).done((function(item) { deferred.resolve(item) })).fail((function(args) { if (null !== args && void 0 !== args && args.shouldSkipCallback) { return } if (that.option("acceptCustomValue")) { deferred.resolve(value) } else { deferred.reject() } })) } return deferred.promise() }, _popupElementTabHandler: function(e) { if ("tab" !== (0, _index.normalizeKeyName)(e)) { return } var $firstTabbable = this._getTabbableElements().first().get(0); var $lastTabbable = this._getTabbableElements().last().get(0); var $target = e.originalEvent.target; var moveBackward = !!($target === $firstTabbable && e.shift); var moveForward = !!($target === $lastTabbable && !e.shift); if (moveBackward || moveForward) { this.close(); _events_engine.default.trigger(this._input(), "focus"); if (moveBackward) { e.originalEvent.preventDefault() } } }, _renderPopup: function(e) { var _this2 = this; this.callBase(); if (this.option("focusStateEnabled")) { _short.keyboard.on(this.content(), null, (function(e) { return _this2._popupElementTabHandler(e) })) } }, _renderPopupContent: function() { if ("content" === this.option("contentTemplate")) { return } var contentTemplate = this._getTemplateByOption("contentTemplate"); if (!(contentTemplate && this.option("contentTemplate"))) { return } var $popupContent = this._popup.$content(); var templateData = { value: this._fieldRenderData(), component: this }; $popupContent.empty(); contentTemplate.render({ container: (0, _element.getPublicElement)($popupContent), model: templateData }) }, _canShowVirtualKeyboard: function() { return realDevice.mac }, _isNestedElementActive: function() { var activeElement = getActiveElement(); return activeElement && this._popup.$content().get(0).contains(activeElement) }, _shouldHideOnParentScroll: function() { return "desktop" === realDevice.deviceType && this._canShowVirtualKeyboard() && this._isNestedElementActive() }, _popupHiddenHandler: function() { this.callBase(); this._popupPosition = void 0 }, _popupPositionedHandler: function(e) { this.callBase(e); this._popupPosition = e.position }, _getDefaultPopupPosition: function(isRtlEnabled) { var _this$callBase = this.callBase(isRtlEnabled), my = _this$callBase.my, at = _this$callBase.at; return { my: my, at: at, offset: { v: -1 }, collision: "flipfit" } }, _popupConfig: function() { var _this3 = this; var _this$option = this.option(), focusStateEnabled = _this$option.focusStateEnabled; return (0, _extend.extend)(this.callBase(), { tabIndex: -1, dragEnabled: false, focusStateEnabled: focusStateEnabled, contentTemplate: "content", hideOnParentScroll: this._shouldHideOnParentScroll.bind(this), position: (0, _extend.extend)(this.option("popupPosition"), { of: this.$element() }), onKeyboardHandled: function(opts) { return _this3.option("focusStateEnabled") && _this3._popupElementTabHandler(opts) }, _ignoreFunctionValueDeprecation: true, maxHeight: function() { var _this$_popupPosition; var popupLocation = null === (_this$_popupPosition = this._popupPosition) || void 0 === _this$_popupPosition ? void 0 : _this$_popupPosition.v.location; return (0, _utils.getElementMaxHeightByWindow)(this.$element(), popupLocation) }.bind(this) }) }, _popupShownHandler: function() { this.callBase(); var $firstElement = this._getTabbableElements().first(); _events_engine.default.trigger($firstElement, "focus") }, _setCollectionWidgetOption: _common.noop, _optionChanged: function(args) { this._dataExpressionOptionChanged(args); switch (args.name) { case "dataSource": this._renderInputValue(); break; case "displayValue": this.option("text", args.value); break; case "displayExpr": this._renderValue(); break; case "contentTemplate": this._invalidate(); break; default: this.callBase(args) } } }).include(_ui2.default); (0, _component_registrator.default)("dxDropDownBox", DropDownBox); var _default = DropDownBox; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 45231: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/drop_down_button.js ***! \********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./widget/ui.widget */ 14390)); var _function_template = __webpack_require__( /*! ../core/templates/function_template */ 68494); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _button_group = _interopRequireDefault(__webpack_require__( /*! ./button_group */ 28236)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ./popup/ui.popup */ 51495)); var _list_light = _interopRequireDefault(__webpack_require__( /*! ./list_light */ 56757)); var _data = __webpack_require__( /*! ../core/utils/data */ 47617); var _element = __webpack_require__( /*! ../core/element */ 6415); var _icon = __webpack_require__( /*! ../core/utils/icon */ 44899); var _data_helper = _interopRequireDefault(__webpack_require__( /*! ../data_helper */ 53305)); var _data_source = __webpack_require__( /*! ../data/data_source/data_source */ 85273); var _array_store = _interopRequireDefault(__webpack_require__( /*! ../data/array_store */ 26562)); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _guid = _interopRequireDefault(__webpack_require__( /*! ../core/guid */ 73176)); var _utils = __webpack_require__( /*! ./drop_down_editor/utils */ 61902); var _message = _interopRequireDefault(__webpack_require__( /*! ../localization/message */ 28109)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var DropDownButton = _ui.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { itemTemplate: "item", keyExpr: "this", displayExpr: void 0, selectedItem: null, selectedItemKey: null, stylingMode: "outlined", deferRendering: true, noDataText: _message.default.format("dxCollectionWidget-noDataText"), useSelectMode: false, splitButton: false, showArrowIcon: true, text: "", icon: void 0, onButtonClick: null, onSelectionChanged: null, onItemClick: null, opened: false, items: null, dataSource: null, focusStateEnabled: true, hoverStateEnabled: true, dropDownOptions: {}, dropDownContentTemplate: "content", wrapItemText: false, useItemTextAsTitle: true, grouped: false, groupTemplate: "group", buttonGroupOptions: {} }) }, _setOptionsByReference: function() { this.callBase(); (0, _extend.extend)(this._optionsByReference, { selectedItem: true }) }, _init: function() { this.callBase(); this._createItemClickAction(); this._createActionClickAction(); this._createSelectionChangedAction(); this._initDataSource(); this._compileKeyGetter(); this._compileDisplayGetter(); this._itemsToDataSource(this.option("items")); this._options.cache("buttonGroupOptions", this.option("buttonGroupOptions")); this._options.cache("dropDownOptions", this.option("dropDownOptions")) }, _initTemplates: function() { var _this = this; this._templateManager.addDefaultTemplates({ content: new _function_template.FunctionTemplate((function(options) { var $popupContent = (0, _renderer.default)(options.container); var $listContainer = (0, _renderer.default)("<div>").appendTo($popupContent); _this._list = _this._createComponent($listContainer, _list_light.default, _this._listOptions()); _this._list.registerKeyHandler("escape", _this._escHandler.bind(_this)); _this._list.registerKeyHandler("tab", _this._escHandler.bind(_this)); _this._list.registerKeyHandler("leftArrow", _this._escHandler.bind(_this)); _this._list.registerKeyHandler("rightArrow", _this._escHandler.bind(_this)) })) }); this.callBase() }, _itemsToDataSource: function(value) { if (!this._dataSource) { this._dataSource = new _data_source.DataSource({ store: new _array_store.default({ key: this._getKey(), data: value }), pageSize: 0 }) } }, _getKey: function() { var _this$_dataSource; var keyExpr = this.option("keyExpr"); var storeKey = null === (_this$_dataSource = this._dataSource) || void 0 === _this$_dataSource ? void 0 : _this$_dataSource.key(); return (0, _type.isDefined)(storeKey) && (!(0, _type.isDefined)(keyExpr) || "this" === keyExpr) ? storeKey : keyExpr }, _compileKeyGetter: function() { this._keyGetter = (0, _data.compileGetter)(this._getKey()) }, _compileDisplayGetter: function() { this._displayGetter = (0, _data.compileGetter)(this.option("displayExpr")) }, _initMarkup: function() { this.callBase(); this.$element().addClass("dx-dropdownbutton"); this._renderButtonGroup(); this._updateArrowClass(); if ((0, _type.isDefined)(this.option("selectedItemKey"))) { this._loadSelectedItem().done(this._updateActionButton.bind(this)) } }, _renderFocusTarget: _common.noop, _render: function() { if (!this.option("deferRendering") || this.option("opened")) { this._renderPopup() } this.callBase() }, _renderContentImpl: function() { if (this._popup) { this._renderPopupContent() } return this.callBase() }, _loadSelectedItem: function() { var _this$_loadSingleDefe; null === (_this$_loadSingleDefe = this._loadSingleDeferred) || void 0 === _this$_loadSingleDefe ? void 0 : _this$_loadSingleDefe.reject(); var d = new _deferred.Deferred; if (this._list && void 0 !== this._lastSelectedItemData) { var cachedResult = this.option("useSelectMode") ? this._list.option("selectedItem") : this._lastSelectedItemData; return d.resolve(cachedResult) } this._lastSelectedItemData = void 0; var selectedItemKey = this.option("selectedItemKey"); this._loadSingle(this._getKey(), selectedItemKey).done(d.resolve).fail((function() { d.resolve(null) })); this._loadSingleDeferred = d; return d.promise() }, _createActionClickAction: function() { this._actionClickAction = this._createActionByOption("onButtonClick") }, _createSelectionChangedAction: function() { this._selectionChangedAction = this._createActionByOption("onSelectionChanged") }, _createItemClickAction: function() { this._itemClickAction = this._createActionByOption("onItemClick") }, _fireSelectionChangedAction: function(_ref) { var previousValue = _ref.previousValue, value = _ref.value; this._selectionChangedAction({ item: value, previousItem: previousValue }) }, _fireItemClickAction: function(_ref2) { var event = _ref2.event, itemElement = _ref2.itemElement, itemData = _ref2.itemData; return this._itemClickAction({ event: event, itemElement: itemElement, itemData: this._actionItem || itemData }) }, _actionButtonConfig: function() { return { text: this.option("text"), icon: this.option("icon"), elementAttr: { class: "dx-dropdownbutton-action" } } }, _getButtonGroupItems: function() { var items = []; items.push(this._actionButtonConfig()); if (this.option("splitButton")) { items.push({ icon: "spindown", elementAttr: { class: "dx-dropdownbutton-toggle" } }) } return items }, _buttonGroupItemClick: function(_ref3) { var event = _ref3.event, itemData = _ref3.itemData; var isActionButton = "dx-dropdownbutton-action" === itemData.elementAttr.class; var isToggleButton = "dx-dropdownbutton-toggle" === itemData.elementAttr.class; if (isToggleButton) { this.toggle() } else if (isActionButton) { this._actionClickAction({ event: event, selectedItem: this.option("selectedItem") }); if (!this.option("splitButton")) { this.toggle() } } }, _buttonGroupOptions: function() { var _this2 = this; var _this$option = this.option(), splitButton = _this$option.splitButton, showArrowIcon = _this$option.showArrowIcon, focusStateEnabled = _this$option.focusStateEnabled, hoverStateEnabled = _this$option.hoverStateEnabled, stylingMode = _this$option.stylingMode, accessKey = _this$option.accessKey, tabIndex = _this$option.tabIndex; var buttonTemplate = splitButton || !showArrowIcon ? "content" : function(_ref4, buttonContent) { var text = _ref4.text, icon = _ref4.icon; var $firstIcon = (0, _icon.getImageContainer)(icon); var $textContainer = text ? (0, _renderer.default)("<span>").text(text).addClass("dx-button-text") : void 0; var $secondIcon = (0, _icon.getImageContainer)("spindown").addClass("dx-icon-right"); (0, _renderer.default)(buttonContent).append($firstIcon, $textContainer, $secondIcon) }; return (0, _extend.extend)({ items: this._getButtonGroupItems(), onItemClick: this._buttonGroupItemClick.bind(this), width: "100%", height: "100%", selectionMode: "none", onKeyboardHandled: function(e) { return _this2._keyboardHandler(e) }, buttonTemplate: buttonTemplate, focusStateEnabled: focusStateEnabled, hoverStateEnabled: hoverStateEnabled, stylingMode: stylingMode, accessKey: accessKey, tabIndex: tabIndex }, this._options.cache("buttonGroupOptions")) }, _renderPopupContent: function() { var $content = this._popup.$content(); var template = this._getTemplateByOption("dropDownContentTemplate"); $content.empty(); this._popupContentId = "dx-" + new _guid.default; this.setAria("id", this._popupContentId, $content); return template.render({ container: (0, _element.getPublicElement)($content), model: this.option("items") || this._dataSource }) }, _popupOptions: function() { var _this3 = this; var horizontalAlignment = this.option("rtlEnabled") ? "right" : "left"; return (0, _extend.extend)({ dragEnabled: false, focusStateEnabled: false, deferRendering: this.option("deferRendering"), hideOnOutsideClick: function(e) { var $element = _this3.$element(); var $buttonClicked = (0, _renderer.default)(e.target).closest(".".concat("dx-dropdownbutton")); return !$buttonClicked.is($element) }, showTitle: false, animation: { show: { type: "fade", duration: 0, from: 0, to: 1 }, hide: { type: "fade", duration: 400, from: 1, to: 0 } }, _ignoreFunctionValueDeprecation: true, width: function() { return (0, _utils.getElementWidth)(_this3.$element()) }, height: "auto", shading: false, position: { of: this.$element(), collision: "flipfit", my: horizontalAlignment + " top", at: horizontalAlignment + " bottom" }, _wrapperClassExternal: "dx-dropdowneditor-overlay" }, this._options.cache("dropDownOptions"), { visible: this.option("opened") }) }, _listOptions: function() { var _this4 = this; var selectedItemKey = this.option("selectedItemKey"); var useSelectMode = this.option("useSelectMode"); return { selectionMode: useSelectMode ? "single" : "none", wrapItemText: this.option("wrapItemText"), focusStateEnabled: this.option("focusStateEnabled"), hoverStateEnabled: this.option("hoverStateEnabled"), useItemTextAsTitle: this.option("useItemTextAsTitle"), onContentReady: function() { return _this4._fireContentReadyAction() }, selectedItemKeys: (0, _type.isDefined)(selectedItemKey) && useSelectMode ? [selectedItemKey] : [], grouped: this.option("grouped"), groupTemplate: this.option("groupTemplate"), keyExpr: this._getKey(), noDataText: this.option("noDataText"), displayExpr: this.option("displayExpr"), itemTemplate: this.option("itemTemplate"), items: this.option("items"), dataSource: this._dataSource, onItemClick: function(e) { if (!_this4.option("useSelectMode")) { _this4._lastSelectedItemData = e.itemData } _this4.option("selectedItemKey", _this4._keyGetter(e.itemData)); var actionResult = _this4._fireItemClickAction(e); if (false !== actionResult) { _this4.toggle(false); _this4._buttonGroup.focus() } } } }, _upDownKeyHandler: function() { if (this._popup && this._popup.option("visible") && this._list) { this._list.focus() } else { this.open() } return true }, _escHandler: function() { this.close(); this._buttonGroup.focus(); return true }, _tabHandler: function() { this.close(); return true }, _renderPopup: function() { var $popup = (0, _renderer.default)("<div>"); this.$element().append($popup); this._popup = this._createComponent($popup, _ui2.default, this._popupOptions()); this._popup.$content().addClass("dx-dropdownbutton-content"); this._popup.$wrapper().addClass("dx-dropdownbutton-popup-wrapper"); this._popup.on("hiding", this._popupHidingHandler.bind(this)); this._popup.on("showing", this._popupShowingHandler.bind(this)); this._bindInnerWidgetOptions(this._popup, "dropDownOptions") }, _popupHidingHandler: function() { this.option("opened", false); this._updateAriaAttributes(false) }, _popupOptionChanged: function(args) { var options = _ui.default.getOptionsFromContainer(args); this._setPopupOption(options); var optionsKeys = Object.keys(options); if (-1 !== optionsKeys.indexOf("width") || -1 !== optionsKeys.indexOf("height")) { this._dimensionChanged() } }, _dimensionChanged: function() { var _this5 = this; var popupWidth = (0, _utils.getSizeValue)(this.option("dropDownOptions.width")); if (void 0 === popupWidth) { this._setPopupOption("width", (function() { return (0, _utils.getElementWidth)(_this5.$element()) })) } }, _setPopupOption: function(optionName, value) { this._setWidgetOption("_popup", arguments) }, _popupShowingHandler: function() { this.option("opened", true); this._updateAriaAttributes(true) }, _setElementAria: function(value) { var elementAria = { owns: value ? this._popupContentId : void 0 }; this.setAria(elementAria, this.$element()) }, _setButtonsAria: function(value) { var _this6 = this; var commonButtonAria = { expanded: value, haspopup: "listbox" }; var firstButtonAria = {}; if (!this.option("text")) { firstButtonAria.label = "dropdownbutton" } this._getButtons().each((function(index, $button) { if (0 === index) { _this6.setAria(_extends({}, firstButtonAria, commonButtonAria), (0, _renderer.default)($button)) } else { _this6.setAria(commonButtonAria, (0, _renderer.default)($button)) } })) }, _updateAriaAttributes: function(value) { this._setElementAria(value); this._setButtonsAria(value) }, _getButtons: function() { return this._buttonGroup.$element().find(".".concat("dx-button")) }, _renderButtonGroup: function() { var $buttonGroup = this._buttonGroup && this._buttonGroup.$element() || (0, _renderer.default)("<div>"); if (!this._buttonGroup) { this.$element().append($buttonGroup) } this._buttonGroup = this._createComponent($buttonGroup, _button_group.default, this._buttonGroupOptions()); this._buttonGroup.registerKeyHandler("downArrow", this._upDownKeyHandler.bind(this)); this._buttonGroup.registerKeyHandler("tab", this._tabHandler.bind(this)); this._buttonGroup.registerKeyHandler("upArrow", this._upDownKeyHandler.bind(this)); this._buttonGroup.registerKeyHandler("escape", this._escHandler.bind(this)); this._bindInnerWidgetOptions(this._buttonGroup, "buttonGroupOptions"); this._updateAriaAttributes(this.option("opened")) }, _updateArrowClass: function() { var hasArrow = this.option("splitButton") || this.option("showArrowIcon"); this.$element().toggleClass("dx-dropdownbutton-has-arrow", hasArrow) }, toggle: function(visible) { if (!this._popup) { this._renderPopup(); this._renderContent() } return this._popup.toggle(visible) }, open: function() { return this.toggle(true) }, close: function() { return this.toggle(false) }, _setListOption: function(name, value) { this._list && this._list.option(name, value) }, _getDisplayValue: function(item) { var isPrimitiveItem = !(0, _type.isPlainObject)(item); var displayValue = isPrimitiveItem ? item : this._displayGetter(item); return !(0, _type.isPlainObject)(displayValue) ? String((0, _common.ensureDefined)(displayValue, "")) : "" }, _updateActionButton: function(selectedItem) { if (this.option("useSelectMode")) { this.option({ text: this._getDisplayValue(selectedItem), icon: (0, _type.isPlainObject)(selectedItem) ? selectedItem.icon : void 0 }) } this._setOptionWithoutOptionChange("selectedItem", selectedItem); this._setOptionWithoutOptionChange("selectedItemKey", this._keyGetter(selectedItem)) }, _clean: function() { this._list && this._list.$element().remove(); this._popup && this._popup.$element().remove() }, _selectedItemKeyChanged: function(value) { var _this7 = this; this._setListOption("selectedItemKeys", this.option("useSelectMode") && (0, _type.isDefined)(value) ? [value] : []); var previousItem = this.option("selectedItem"); this._loadSelectedItem().done((function(selectedItem) { _this7._updateActionButton(selectedItem); if (_this7._displayGetter(previousItem) !== _this7._displayGetter(selectedItem)) { _this7._fireSelectionChangedAction({ previousValue: previousItem, value: selectedItem }) } })) }, _updateButtonGroup: function(name, value) { this._buttonGroup.option(name, value); this._updateAriaAttributes(this.option("opened")) }, _actionButtonOptionChanged: function(_ref5) { var name = _ref5.name, value = _ref5.value; var newConfig = {}; newConfig[name] = value; this._updateButtonGroup("items[0]", (0, _extend.extend)({}, this._actionButtonConfig(), newConfig)); this._popup && this._popup.repaint() }, _selectModeChanged: function(value) { if (value) { this._setListOption("selectionMode", "single"); var selectedItemKey = this.option("selectedItemKey"); this._setListOption("selectedItemKeys", (0, _type.isDefined)(selectedItemKey) ? [selectedItemKey] : []); this._selectedItemKeyChanged(this.option("selectedItemKey")) } else { this._setListOption("selectionMode", "none"); this.option({ selectedItemKey: void 0, selectedItem: void 0 }); this._actionButtonOptionChanged({ text: this.option("text") }) } }, _updateItemCollection: function(optionName) { var _this8 = this; var selectedItemKey = this.option("selectedItemKey"); this._setListOption("selectedItem", null); this._setWidgetOption("_list", [optionName]); if ((0, _type.isDefined)(selectedItemKey)) { this._loadSelectedItem().done((function(selectedItem) { _this8._setListOption("selectedItemKeys", [selectedItemKey]); _this8._setListOption("selectedItem", selectedItem) })).fail((function(error) { _this8._setListOption("selectedItemKeys", []) })).always(this._updateActionButton.bind(this)) } }, _updateDataSource: function() { var items = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._dataSource.items(); this._dataSource = void 0; this._itemsToDataSource(items); this._updateKeyExpr() }, _updateKeyExpr: function() { this._compileKeyGetter(); this._setListOption("keyExpr", this._getKey()) }, focus: function() { this._buttonGroup.focus() }, _optionChanged: function(args) { var _this$_popup; var name = args.name, value = args.value; switch (name) { case "useSelectMode": this._selectModeChanged(value); break; case "splitButton": this._updateArrowClass(); this._renderButtonGroup(); break; case "displayExpr": this._compileDisplayGetter(); this._setListOption(name, value); this._updateActionButton(this.option("selectedItem")); break; case "keyExpr": this._updateDataSource(); break; case "buttonGroupOptions": this._innerWidgetOptionChanged(this._buttonGroup, args); break; case "dropDownOptions": if ("dropDownOptions.visible" === args.fullName) { break } if (void 0 !== args.value.visible) { delete args.value.visible } this._popupOptionChanged(args); this._innerWidgetOptionChanged(this._popup, args); break; case "opened": this.toggle(value); break; case "focusStateEnabled": case "hoverStateEnabled": this._setListOption(name, value); this._updateButtonGroup(name, value); this.callBase(args); break; case "items": this._updateDataSource(this.option("items")); this._updateItemCollection(name); break; case "dataSource": if (Array.isArray(value)) { this._updateDataSource(this.option("dataSource")) } else { this._initDataSource(); this._updateKeyExpr() } this._updateItemCollection(name); break; case "icon": case "text": this._actionButtonOptionChanged(args); break; case "showArrowIcon": this._updateArrowClass(); this._renderButtonGroup(); this._popup && this._popup.repaint(); break; case "width": case "height": this.callBase(args); null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.repaint(); break; case "stylingMode": this._updateButtonGroup(name, value); break; case "itemTemplate": case "grouped": case "noDataText": case "groupTemplate": case "wrapItemText": case "useItemTextAsTitle": this._setListOption(name, value); break; case "dropDownContentTemplate": this._renderContent(); break; case "selectedItemKey": this._selectedItemKeyChanged(value); break; case "selectedItem": break; case "onItemClick": this._createItemClickAction(); break; case "onButtonClick": this._createActionClickAction(); break; case "onSelectionChanged": this._createSelectionChangedAction(); break; case "deferRendering": this.toggle(this.option("opened")); break; case "tabIndex": this._updateButtonGroup(name, value); break; default: this.callBase(args) } } }).include(_data_helper.default); (0, _component_registrator.default)("dxDropDownButton", DropDownButton); var _default = DropDownButton; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 29783: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/drop_down_editor/ui.drop_down_button.js ***! \****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _button = _interopRequireDefault(__webpack_require__( /*! ../text_box/texteditor_button_collection/button */ 11483)); var _button2 = _interopRequireDefault(__webpack_require__( /*! ../button */ 63008)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DropDownButton = function(_TextEditorButton) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DropDownButton, _TextEditorButton); function DropDownButton(name, editor, options) { var _this; _this = _TextEditorButton.call(this, name, editor, options) || this; _this.currentTemplate = null; return _this } var _proto = DropDownButton.prototype; _proto._attachEvents = function(instance) { var editor = this.editor; instance.option("onClick", (function(e) { var _editor$_shouldCallOp; if (null !== (_editor$_shouldCallOp = editor._shouldCallOpenHandler) && void 0 !== _editor$_shouldCallOp && _editor$_shouldCallOp.call(editor)) { editor._openHandler(e); return }!editor.option("openOnFieldClick") && editor._openHandler(e) })); _events_engine.default.on(instance.$element(), "mousedown", (function(e) { if (editor.$element().is(".dx-state-focused")) { e.preventDefault() } })) }; _proto._create = function() { var editor = this.editor; var $element = (0, _renderer.default)("<div>"); var options = this._getOptions(); this._addToContainer($element); var instance = editor._createComponent($element, _button2.default, (0, _extend.extend)({}, options, { elementAttr: { "aria-label": _message.default.format("dxDropDownEditor-selectLabel") } })); this._legacyRender(editor.$element(), $element, options.visible); return { $element: $element, instance: instance } }; _proto._getOptions = function() { var editor = this.editor; var visible = this._isVisible(); var isReadOnly = editor.option("readOnly"); var options = { focusStateEnabled: false, hoverStateEnabled: false, activeStateEnabled: false, useInkRipple: false, disabled: isReadOnly, visible: visible }; this._addTemplate(options); return options }; _proto._isVisible = function() { var editor = this.editor; return _TextEditorButton.prototype._isVisible.call(this) && editor.option("showDropDownButton") }; _proto._legacyRender = function($editor, $element, isVisible) { $editor.toggleClass("dx-dropdowneditor-button-visible", isVisible); if ($element) { $element.removeClass("dx-button").addClass("dx-dropdowneditor-button") } }; _proto._isSameTemplate = function() { return this.editor.option("dropDownButtonTemplate") === this.currentTemplate }; _proto._addTemplate = function(options) { if (!this._isSameTemplate()) { options.template = this.editor._getTemplateByOption("dropDownButtonTemplate"); this.currentTemplate = this.editor.option("dropDownButtonTemplate") } }; _proto.update = function() { var shouldUpdate = _TextEditorButton.prototype.update.call(this); if (shouldUpdate) { var editor = this.editor, instance = this.instance; var $editor = editor.$element(); var options = this._getOptions(); null === instance || void 0 === instance ? void 0 : instance.option(options); this._legacyRender($editor, null === instance || void 0 === instance ? void 0 : instance.$element(), options.visible) } }; return DropDownButton }(_button.default); exports.default = DropDownButton; module.exports = exports.default; module.exports.default = exports.default }, 44687: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/drop_down_editor/ui.drop_down_editor.js ***! \****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _selectors = __webpack_require__( /*! ../widget/selectors */ 31421); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _position = _interopRequireDefault(__webpack_require__( /*! ../../animation/position */ 49387)); var _position2 = __webpack_require__( /*! ../../core/utils/position */ 37518); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ./ui.drop_down_button */ 29783)); var _ui3 = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _text_box = _interopRequireDefault(__webpack_require__( /*! ../text_box */ 29837)); var _click = __webpack_require__( /*! ../../events/click */ 95429); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _function_template = __webpack_require__( /*! ../../core/templates/function_template */ 68494); var _ui4 = _interopRequireDefault(__webpack_require__( /*! ../popup/ui.popup */ 51495)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _utils = __webpack_require__( /*! ./utils */ 61902); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var isIOs = "ios" === _devices.default.current().platform; var DropDownEditor = _text_box.default.inherit({ _supportedKeys: function() { return (0, _extend.extend)({}, this.callBase(), { tab: function(e) { if (!this.option("opened")) { return } if ("instantly" === this.option("applyValueMode")) { this.close(); return } var $focusableElement = e.shiftKey ? this._getLastPopupElement() : this._getFirstPopupElement(); if ($focusableElement) { _events_engine.default.trigger($focusableElement, "focus"); $focusableElement.select() } e.preventDefault() }, escape: function(e) { if (this.option("opened")) { e.preventDefault() } this.close(); return true }, upArrow: function(e) { if (!(0, _index.isCommandKeyPressed)(e)) { e.preventDefault(); e.stopPropagation(); if (e.altKey) { this.close(); return false } } return true }, downArrow: function(e) { if (!(0, _index.isCommandKeyPressed)(e)) { e.preventDefault(); e.stopPropagation(); if (e.altKey) { this._validatedOpening(); return false } } return true }, enter: function(e) { if (this.option("opened")) { e.preventDefault(); this._valueChangeEventHandler(e) } return true } }) }, _getDefaultButtons: function() { return this.callBase().concat([{ name: "dropDown", Ctor: _ui2.default }]) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { value: null, onOpened: null, onClosed: null, opened: false, acceptCustomValue: true, applyValueMode: "instantly", deferRendering: true, activeStateEnabled: true, dropDownButtonTemplate: "dropDownButton", fieldTemplate: null, openOnFieldClick: false, showDropDownButton: true, buttons: void 0, dropDownOptions: { showTitle: false }, popupPosition: this._getDefaultPopupPosition(), onPopupInitialized: null, applyButtonText: _message.default.format("OK"), cancelButtonText: _message.default.format("Cancel"), buttonsLocation: "default", useHiddenSubmitElement: false, validationMessagePosition: "auto" }) }, _useTemplates: function() { return true }, _getDefaultPopupPosition: function(isRtlEnabled) { var position = (0, _position2.getDefaultAlignment)(isRtlEnabled); return { offset: { h: 0, v: -1 }, my: position + " top", at: position + " bottom", collision: "flip flip" } }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function(_device) { var isGeneric = "generic" === _device.platform; return isGeneric }, options: { popupPosition: { offset: { v: 0 } } } }]) }, _inputWrapper: function() { return this.$element().find(".dx-dropdowneditor-input-wrapper").first() }, _init: function() { this.callBase(); this._initVisibilityActions(); this._initPopupInitializedAction(); this._updatePopupPosition(this.option("rtlEnabled")); this._options.cache("dropDownOptions", this.option("dropDownOptions")) }, _updatePopupPosition: function(isRtlEnabled) { var _this$_getDefaultPopu = this._getDefaultPopupPosition(isRtlEnabled), my = _this$_getDefaultPopu.my, at = _this$_getDefaultPopu.at; var currentPosition = this.option("popupPosition"); this.option("popupPosition", (0, _extend.extend)({}, currentPosition, { my: my, at: at })) }, _initVisibilityActions: function() { this._openAction = this._createActionByOption("onOpened", { excludeValidators: ["disabled", "readOnly"] }); this._closeAction = this._createActionByOption("onClosed", { excludeValidators: ["disabled", "readOnly"] }) }, _initPopupInitializedAction: function() { this._popupInitializedAction = this._createActionByOption("onPopupInitialized", { excludeValidators: ["disabled", "readOnly"] }) }, _initMarkup: function() { this._renderSubmitElement(); this.callBase(); this.$element().addClass("dx-dropdowneditor"); this.setAria("role", "combobox") }, _render: function() { this.callBase(); this._renderOpenHandler(); this._attachFocusOutHandler(); this._renderOpenedState() }, _renderContentImpl: function() { if (!this.option("deferRendering")) { this._createPopup() } }, _renderInput: function() { this.callBase(); this._wrapInput(); this._setDefaultAria() }, _wrapInput: function() { this._$container = this.$element().wrapInner((0, _renderer.default)("<div>").addClass("dx-dropdowneditor-input-wrapper")).children().eq(0) }, _setDefaultAria: function() { this.setAria({ haspopup: "true", autocomplete: "list" }) }, _readOnlyPropValue: function() { return !this._isEditable() || this.callBase() }, _cleanFocusState: function() { this.callBase(); if (this.option("fieldTemplate")) { this._detachFocusEvents() } }, _getFieldTemplate: function() { return this.option("fieldTemplate") && this._getTemplateByOption("fieldTemplate") }, _renderMask: function() { if (this.option("fieldTemplate")) { return } this.callBase() }, _renderField: function() { var fieldTemplate = this._getFieldTemplate(); fieldTemplate && this._renderTemplatedField(fieldTemplate, this._fieldRenderData()) }, _renderPlaceholder: function() { var hasFieldTemplate = !!this._getFieldTemplate(); if (!hasFieldTemplate) { this.callBase() } }, _renderValue: function() { if (this.option("useHiddenSubmitElement")) { this._setSubmitValue() } var promise = this.callBase(); promise.always(this._renderField.bind(this)) }, _renderTemplatedField: function(fieldTemplate, data) { var _this$_fieldRenderQue, _this = this; this._fieldRenderQueueLength = (null !== (_this$_fieldRenderQue = this._fieldRenderQueueLength) && void 0 !== _this$_fieldRenderQue ? _this$_fieldRenderQue : 0) + 1; var isFocused = (0, _selectors.focused)(this._input()); var $container = this._$container; this._detachKeyboardEvents(); this._refreshButtonsContainer(); this._detachWrapperContent(); this._detachFocusEvents(); $container.empty(); var $templateWrapper = (0, _renderer.default)("<div>").addClass("dx-dropdowneditor-field-template-wrapper").appendTo($container); fieldTemplate.render({ model: data, container: (0, _element.getPublicElement)($templateWrapper), onRendered: function() { _this._fieldRenderQueueLength--; if (0 !== _this._fieldRenderQueueLength) { return } var $input = _this._input(); if (!$input.length) { throw _ui.default.Error("E1010") } _this._integrateInput(); isFocused && _events_engine.default.trigger($input, "focus") } }); this._attachWrapperContent($container) }, _detachWrapperContent: function() { var _this$_$submitElement, _this$_$beforeButtons, _this$_$afterButtonsC; var useHiddenSubmitElement = this.option("useHiddenSubmitElement"); useHiddenSubmitElement && (null === (_this$_$submitElement = this._$submitElement) || void 0 === _this$_$submitElement ? void 0 : _this$_$submitElement.detach()); var beforeButtonsContainerParent = null === (_this$_$beforeButtons = this._$beforeButtonsContainer) || void 0 === _this$_$beforeButtons ? void 0 : _this$_$beforeButtons[0].parentNode; var afterButtonsContainerParent = null === (_this$_$afterButtonsC = this._$afterButtonsContainer) || void 0 === _this$_$afterButtonsC ? void 0 : _this$_$afterButtonsC[0].parentNode; null === beforeButtonsContainerParent || void 0 === beforeButtonsContainerParent ? void 0 : beforeButtonsContainerParent.removeChild(this._$beforeButtonsContainer[0]); null === afterButtonsContainerParent || void 0 === afterButtonsContainerParent ? void 0 : afterButtonsContainerParent.removeChild(this._$afterButtonsContainer[0]) }, _attachWrapperContent: function($container) { var _this$_$submitElement2; var useHiddenSubmitElement = this.option("useHiddenSubmitElement"); $container.prepend(this._$beforeButtonsContainer); useHiddenSubmitElement && (null === (_this$_$submitElement2 = this._$submitElement) || void 0 === _this$_$submitElement2 ? void 0 : _this$_$submitElement2.appendTo($container)); $container.append(this._$afterButtonsContainer) }, _refreshButtonsContainer: function() { this._$buttonsContainer = this.$element().children().eq(0) }, _integrateInput: function() { this._renderFocusState(); this._refreshValueChangeEvent(); this._refreshEvents(); this._refreshEmptinessEvent() }, _refreshEmptinessEvent: function() { _events_engine.default.off(this._input(), "input blur", this._toggleEmptinessEventHandler); this._renderEmptinessEvent() }, _fieldRenderData: function() { return this.option("value") }, _initTemplates: function() { this._templateManager.addDefaultTemplates({ dropDownButton: new _function_template.FunctionTemplate((function(options) { var $icon = (0, _renderer.default)("<div>").addClass("dx-dropdowneditor-icon"); (0, _renderer.default)(options.container).append($icon) })) }); this.callBase() }, _renderOpenHandler: function() { var $inputWrapper = this._inputWrapper(); var eventName = (0, _index.addNamespace)(_click.name, this.NAME); var openOnFieldClick = this.option("openOnFieldClick"); _events_engine.default.off($inputWrapper, eventName); _events_engine.default.on($inputWrapper, eventName, this._getInputClickHandler(openOnFieldClick)); this.$element().toggleClass("dx-dropdowneditor-field-clickable", openOnFieldClick); if (openOnFieldClick) { this._openOnFieldClickAction = this._createAction(this._openHandler.bind(this)) } }, _attachFocusOutHandler: function() { var _this2 = this; if (isIOs) { this._detachFocusOutEvents(); _events_engine.default.on(this._inputWrapper(), (0, _index.addNamespace)("focusout", this.NAME), (function(event) { var newTarget = event.relatedTarget; if (newTarget && _this2.option("opened")) { var isNewTargetOutside = _this2._isTargetOutOfComponent(newTarget); if (isNewTargetOutside) { _this2.close() } } })) } }, _isTargetOutOfComponent: function(newTarget) { var popupWrapper = this.content ? (0, _renderer.default)(this.content()).closest(".".concat("dx-dropdowneditor-overlay")) : this._$popup; var isTargetOutsidePopup = 0 === (0, _renderer.default)(newTarget).closest(".".concat("dx-dropdowneditor-overlay"), popupWrapper).length; return isTargetOutsidePopup }, _detachFocusOutEvents: function() { isIOs && _events_engine.default.off(this._inputWrapper(), (0, _index.addNamespace)("focusout", this.NAME)) }, _getInputClickHandler: function(openOnFieldClick) { var _this3 = this; return openOnFieldClick ? function(e) { _this3._executeOpenAction(e) } : function(e) { _this3._focusInput() } }, _openHandler: function() { this._toggleOpenState() }, _executeOpenAction: function(e) { this._openOnFieldClickAction({ event: e }) }, _keyboardEventBindingTarget: function() { return this._input() }, _focusInput: function() { if (this.option("disabled")) { return false } if (this.option("focusStateEnabled") && !(0, _selectors.focused)(this._input())) { this._resetCaretPosition(); _events_engine.default.trigger(this._input(), "focus") } return true }, _resetCaretPosition: function() { var ignoreEditable = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false; var inputElement = this._input().get(0); if (inputElement) { var value = inputElement.value; var caretPosition = (0, _type.isDefined)(value) && (ignoreEditable || this._isEditable()) ? value.length : 0; this._caret({ start: caretPosition, end: caretPosition }, true) } }, _isEditable: function() { return this.option("acceptCustomValue") }, _toggleOpenState: function(isVisible) { if (!this._focusInput()) { return } if (!this.option("readOnly")) { isVisible = arguments.length ? isVisible : !this.option("opened"); this.option("opened", isVisible) } }, _getControlsAria: function() { return this._popup && this._popupContentId }, _renderOpenedState: function() { var opened = this.option("opened"); if (opened) { this._createPopup() } this.$element().toggleClass("dx-dropdowneditor-active", opened); this._setPopupOption("visible", opened); var arias = { expanded: opened, controls: this._getControlsAria() }; this.setAria(arias); this.setAria("owns", opened ? this._popupContentId : void 0, this.$element()) }, _createPopup: function() { if (this._$popup) { return } this._$popup = (0, _renderer.default)("<div>").addClass("dx-dropdowneditor-overlay").appendTo(this.$element()); this._renderPopup(); this._renderPopupContent() }, _renderPopupContent: _common.noop, _renderPopup: function() { var popupConfig = (0, _extend.extend)(this._popupConfig(), this._options.cache("dropDownOptions")); delete popupConfig.closeOnOutsideClick; if (popupConfig.elementAttr && !Object.keys(popupConfig.elementAttr).length) { delete popupConfig.elementAttr } this._popup = this._createComponent(this._$popup, _ui4.default, popupConfig); this._popup.on({ showing: this._popupShowingHandler.bind(this), shown: this._popupShownHandler.bind(this), hiding: this._popupHidingHandler.bind(this), hidden: this._popupHiddenHandler.bind(this), contentReady: this._contentReadyHandler.bind(this) }); this._contentReadyHandler(); this._setPopupContentId(this._popup.$content()); this._bindInnerWidgetOptions(this._popup, "dropDownOptions") }, _setPopupContentId: function($popupContent) { this._popupContentId = "dx-" + new _guid.default; this.setAria("id", this._popupContentId, $popupContent) }, _contentReadyHandler: _common.noop, _popupConfig: function() { var _this4 = this; return { onInitialized: this._popupInitializedHandler(), position: (0, _extend.extend)(this.option("popupPosition"), { of: this.$element() }), showTitle: this.option("dropDownOptions.showTitle"), _ignoreFunctionValueDeprecation: true, width: function() { return (0, _utils.getElementWidth)(_this4.$element()) }, height: "auto", shading: false, hideOnParentScroll: true, hideOnOutsideClick: function(e) { return _this4._closeOutsideDropDownHandler(e) }, animation: { show: { type: "fade", duration: 0, from: 0, to: 1 }, hide: { type: "fade", duration: 400, from: 1, to: 0 } }, deferRendering: false, focusStateEnabled: false, showCloseButton: false, dragEnabled: false, toolbarItems: this._getPopupToolbarItems(), onPositioned: this._popupPositionedHandler.bind(this), fullScreen: false, contentTemplate: null, _wrapperClassExternal: "dx-dropdowneditor-overlay", _ignorePreventScrollEventsDeprecation: true } }, _popupInitializedHandler: function() { var _this5 = this; if (!this.option("onPopupInitialized")) { return null } return function(e) { _this5._popupInitializedAction({ popup: e.component }) } }, _dimensionChanged: function() { if ((0, _window.hasWindow)() && !this.$element().is(":visible")) { this.close(); return } this._updatePopupWidth() }, _updatePopupWidth: function() { var _this6 = this; var popupWidth = (0, _utils.getSizeValue)(this.option("dropDownOptions.width")); if (void 0 === popupWidth) { this._setPopupOption("width", (function() { return (0, _utils.getElementWidth)(_this6.$element()) })) } }, _popupPositionedHandler: function(e) { var _e$position, _e$position$v; var _this$option = this.option(), labelMode = _this$option.labelMode, stylingMode = _this$option.stylingMode; if (!this._popup) { return } var $popupOverlayContent = this._popup.$overlayContent(); var isOverlayFlipped = null === (_e$position = e.position) || void 0 === _e$position ? void 0 : null === (_e$position$v = _e$position.v) || void 0 === _e$position$v ? void 0 : _e$position$v.flip; var shouldIndentForLabel = "hidden" !== labelMode && "outlined" === stylingMode; if (e.position) { $popupOverlayContent.toggleClass("dx-dropdowneditor-overlay-flipped", isOverlayFlipped) } if (isOverlayFlipped && shouldIndentForLabel && this._label.isVisible()) { var $label = this._label.$element(); (0, _translator.move)($popupOverlayContent, { top: (0, _translator.locate)($popupOverlayContent).top - parseInt($label.css("fontSize")) }) } }, _popupShowingHandler: _common.noop, _popupHidingHandler: function() { this.option("opened", false) }, _popupShownHandler: function() { var _this$_validationMess; this._openAction(); null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.option("positionSide", this._getValidationMessagePositionSide()) }, _popupHiddenHandler: function() { var _this$_validationMess2; this._closeAction(); null === (_this$_validationMess2 = this._validationMessage) || void 0 === _this$_validationMess2 ? void 0 : _this$_validationMess2.option("positionSide", this._getValidationMessagePositionSide()) }, _getValidationMessagePositionSide: function() { var validationMessagePosition = this.option("validationMessagePosition"); if ("auto" !== validationMessagePosition) { return validationMessagePosition } var positionSide = "bottom"; if (this._popup && this._popup.option("visible")) { var _animationPosition$se = _position.default.setup(this.$element()), myTop = _animationPosition$se.top; var _animationPosition$se2 = _position.default.setup(this._popup.$content()), popupTop = _animationPosition$se2.top; positionSide = myTop + this.option("popupPosition").offset.v > popupTop ? "bottom" : "top" } return positionSide }, _closeOutsideDropDownHandler: function(_ref) { var target = _ref.target; var $target = (0, _renderer.default)(target); var dropDownButton = this.getButton("dropDown"); var $dropDownButton = dropDownButton && dropDownButton.$element(); var isInputClicked = !!$target.closest(this.$element()).length; var isDropDownButtonClicked = !!$target.closest($dropDownButton).length; var isOutsideClick = !isInputClicked && !isDropDownButtonClicked; return isOutsideClick }, _clean: function() { delete this._openOnFieldClickAction; if (this._$popup) { this._$popup.remove(); delete this._$popup; delete this._popup } this.callBase() }, _setPopupOption: function(optionName, value) { this._setWidgetOption("_popup", arguments) }, _validatedOpening: function() { if (!this.option("readOnly")) { this._toggleOpenState(true) } }, _getPopupToolbarItems: function() { return "useButtons" === this.option("applyValueMode") ? this._popupToolbarItemsConfig() : [] }, _getFirstPopupElement: function() { return this._popup.$wrapper().find(".dx-popup-done.dx-button") }, _getLastPopupElement: function() { return this._popup.$wrapper().find(".dx-popup-cancel.dx-button") }, _popupElementTabHandler: function(e) { var $element = (0, _renderer.default)(e.currentTarget); if (e.shiftKey && $element.is(this._getFirstPopupElement()) || !e.shiftKey && $element.is(this._getLastPopupElement())) { _events_engine.default.trigger(this._input(), "focus"); e.preventDefault() } }, _popupElementEscHandler: function() { _events_engine.default.trigger(this._input(), "focus"); this.close() }, _popupButtonInitializedHandler: function(e) { e.component.registerKeyHandler("tab", this._popupElementTabHandler.bind(this)); e.component.registerKeyHandler("escape", this._popupElementEscHandler.bind(this)) }, _popupToolbarItemsConfig: function() { var buttonsConfig = [{ shortcut: "done", options: { onClick: this._applyButtonHandler.bind(this), text: this.option("applyButtonText"), onInitialized: this._popupButtonInitializedHandler.bind(this) } }, { shortcut: "cancel", options: { onClick: this._cancelButtonHandler.bind(this), text: this.option("cancelButtonText"), onInitialized: this._popupButtonInitializedHandler.bind(this) } }]; return this._applyButtonsLocation(buttonsConfig) }, _applyButtonsLocation: function(buttonsConfig) { var buttonsLocation = this.option("buttonsLocation"); var resultConfig = buttonsConfig; if ("default" !== buttonsLocation) { var position = (0, _common.splitPair)(buttonsLocation); (0, _iterator.each)(resultConfig, (function(_, element) { (0, _extend.extend)(element, { toolbar: position[0], location: position[1] }) })) } return resultConfig }, _applyButtonHandler: function() { this.close(); this.option("focusStateEnabled") && this.focus() }, _cancelButtonHandler: function() { this.close(); this.option("focusStateEnabled") && this.focus() }, _popupOptionChanged: function(args) { var options = _ui3.default.getOptionsFromContainer(args); this._setPopupOption(options); var optionsKeys = Object.keys(options); if (-1 !== optionsKeys.indexOf("width") || -1 !== optionsKeys.indexOf("height")) { this._dimensionChanged() } }, _renderSubmitElement: function() { if (this.option("useHiddenSubmitElement")) { this._$submitElement = (0, _renderer.default)("<input>").attr("type", "hidden").appendTo(this.$element()) } }, _setSubmitValue: function() { this._getSubmitElement().val(this.option("value")) }, _getSubmitElement: function() { if (this.option("useHiddenSubmitElement")) { return this._$submitElement } else { return this.callBase() } }, _dispose: function() { this._detachFocusOutEvents(); this.callBase() }, _optionChanged: function(args) { var _this$_popup; switch (args.name) { case "width": case "height": this.callBase(args); null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.repaint(); break; case "opened": this._renderOpenedState(); break; case "onOpened": case "onClosed": this._initVisibilityActions(); break; case "onPopupInitialized": this._initPopupInitializedAction(); break; case "fieldTemplate": if ((0, _type.isDefined)(args.value)) { this._renderField() } else { this._invalidate() } break; case "acceptCustomValue": case "openOnFieldClick": this._invalidate(); break; case "dropDownButtonTemplate": case "showDropDownButton": this._updateButtons(["dropDown"]); break; case "dropDownOptions": this._popupOptionChanged(args); this._options.cache("dropDownOptions", this.option("dropDownOptions")); break; case "popupPosition": break; case "deferRendering": if ((0, _window.hasWindow)()) { this._createPopup() } break; case "applyValueMode": case "applyButtonText": case "cancelButtonText": case "buttonsLocation": this._setPopupOption("toolbarItems", this._getPopupToolbarItems()); break; case "useHiddenSubmitElement": if (this._$submitElement) { this._$submitElement.remove(); this._$submitElement = void 0 } this._renderSubmitElement(); break; case "rtlEnabled": this._updatePopupPosition(args.value); this.callBase(args); break; default: this.callBase(args) } }, open: function() { this.option("opened", true) }, close: function() { this.option("opened", false) }, field: function() { return (0, _element.getPublicElement)(this._input()) }, content: function() { return this._popup ? this._popup.content() : null } }); (0, _component_registrator.default)("dxDropDownEditor", DropDownEditor); var _default = DropDownEditor; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 32468: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/drop_down_editor/ui.drop_down_list.js ***! \**************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _ui = _interopRequireDefault(__webpack_require__( /*! ./ui.drop_down_editor */ 44687)); var _list_light = _interopRequireDefault(__webpack_require__( /*! ../list_light */ 56757)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _query = _interopRequireDefault(__webpack_require__( /*! ../../data/query */ 96687)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _ui3 = _interopRequireDefault(__webpack_require__( /*! ../editor/ui.data_expression */ 88718)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _child_default_template = __webpack_require__( /*! ../../core/templates/child_default_template */ 91627); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _grouped_data_converter_mixin = _interopRequireDefault(__webpack_require__( /*! ../shared/grouped_data_converter_mixin */ 37178)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } var window = (0, _window.getWindow)(); var SEARCH_MODES = ["startswith", "contains", "endwith", "notcontains"]; var useCompositionEvents = "android" !== _devices.default.real().platform; var DropDownList = _ui.default.inherit({ _supportedKeys: function() { var parent = this.callBase(); return (0, _extend.extend)({}, parent, { tab: function(e) { if (this._allowSelectItemByTab()) { this._saveValueChangeEvent(e); var $focusedItem = (0, _renderer.default)(this._list.option("focusedElement")); $focusedItem.length && this._setSelectedElement($focusedItem) } parent.tab.apply(this, arguments) }, space: _common.noop, home: _common.noop, end: _common.noop }) }, _allowSelectItemByTab: function() { return this.option("opened") && "instantly" === this.option("applyValueMode") }, _setSelectedElement: function($element) { var value = this._valueGetter(this._list._getItemData($element)); this._setValue(value) }, _setValue: function(value) { this.option("value", value) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), (0, _extend.extend)(_ui3.default._dataExpressionDefaultOptions(), { displayValue: void 0, searchEnabled: false, searchMode: "contains", searchTimeout: 500, minSearchLength: 0, searchExpr: null, valueChangeEvent: "input change keyup", selectedItem: null, noDataText: _message.default.format("dxCollectionWidget-noDataText"), encodeNoDataText: false, onSelectionChanged: null, onItemClick: _common.noop, showDataBeforeSearch: false, grouped: false, groupTemplate: "group", popupPosition: { my: "left top", at: "left bottom", offset: { h: 0, v: 0 }, collision: "flip" }, wrapItemText: false, useItemTextAsTitle: false })) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: { platform: "ios" }, options: { popupPosition: { offset: { v: -1 } } } }, { device: { platform: "generic" }, options: { buttonsLocation: "bottom center" } }]) }, _setOptionsByReference: function() { this.callBase(); (0, _extend.extend)(this._optionsByReference, { value: true, selectedItem: true, displayValue: true }) }, _init: function() { this.callBase(); this._initDataExpressions(); this._initActions(); this._setListDataSource(); this._validateSearchMode(); this._clearSelectedItem(); this._initItems() }, _setListFocusedElementOptionChange: function() { this._list._updateParentActiveDescendant = this._updateActiveDescendant.bind(this) }, _initItems: function() { var items = this.option().items; if (items && !items.length && this._dataSource) { this.option().items = this._dataSource.items() } }, _initActions: function() { this._initContentReadyAction(); this._initSelectionChangedAction(); this._initItemClickAction() }, _initContentReadyAction: function() { this._contentReadyAction = this._createActionByOption("onContentReady", { excludeValidators: ["disabled", "readOnly"] }) }, _initSelectionChangedAction: function() { this._selectionChangedAction = this._createActionByOption("onSelectionChanged", { excludeValidators: ["disabled", "readOnly"] }) }, _initItemClickAction: function() { this._itemClickAction = this._createActionByOption("onItemClick") }, _initTemplates: function() { this.callBase(); this._templateManager.addDefaultTemplates({ item: new _child_default_template.ChildDefaultTemplate("item") }) }, _isEditable: function() { return this.callBase() || this.option("searchEnabled") }, _saveFocusOnWidget: function(e) { if (this._list && this._list.initialOption("focusStateEnabled")) { this._focusInput() } }, _fitIntoRange: function(value, start, end) { if (value > end) { return start } if (value < start) { return end } return value }, _items: function() { var items = this._getPlainItems(!this._list && this._dataSource.items()); var availableItems = new _query.default(items).filter("disabled", "<>", true).toArray(); return availableItems }, _calcNextItem: function(step) { var items = this._items(); var nextIndex = this._fitIntoRange(this._getSelectedIndex() + step, 0, items.length - 1); return items[nextIndex] }, _getSelectedIndex: function() { var items = this._items(); var selectedItem = this.option("selectedItem"); var result = -1; (0, _iterator.each)(items, function(index, item) { if (this._isValueEquals(item, selectedItem)) { result = index; return false } }.bind(this)); return result }, _createPopup: function() { this.callBase(); this._updateCustomBoundaryContainer(); this._popup.$wrapper().addClass(this._popupWrapperClass()); var $popupContent = this._popup.$content(); _events_engine.default.off($popupContent, "mouseup"); _events_engine.default.on($popupContent, "mouseup", this._saveFocusOnWidget.bind(this)) }, _updateCustomBoundaryContainer: function() { var customContainer = this.option("dropDownOptions.container"); var $container = customContainer && (0, _renderer.default)(customContainer); if ($container && $container.length && !(0, _type.isWindow)($container.get(0))) { var $containerWithParents = [].slice.call($container.parents()); $containerWithParents.unshift($container.get(0)); (0, _iterator.each)($containerWithParents, function(i, parent) { if (parent === (0, _renderer.default)("body").get(0)) { return false } else if ("hidden" === window.getComputedStyle(parent).overflowY) { this._$customBoundaryContainer = (0, _renderer.default)(parent); return false } }.bind(this)) } }, _popupWrapperClass: function() { return "dx-dropdownlist-popup-wrapper" }, _renderInputValue: function() { var value = this._getCurrentValue(); this._rejectValueLoading(); return this._loadInputValue(value, this._setSelectedItem.bind(this)).always(this.callBase.bind(this, value)) }, _loadInputValue: function(value, callback) { return this._loadItem(value).always(callback) }, _getItemFromPlain: function(value, cache) { var plainItems; var selectedItem; if (cache && "object" !== _typeof(value)) { if (!cache.itemByValue) { cache.itemByValue = {}; plainItems = this._getPlainItems(); plainItems.forEach((function(item) { cache.itemByValue[this._valueGetter(item)] = item }), this) } selectedItem = cache.itemByValue[value] } if (!selectedItem) { plainItems = this._getPlainItems(); selectedItem = (0, _common.grep)(plainItems, function(item) { return this._isValueEquals(this._valueGetter(item), value) }.bind(this))[0] } return selectedItem }, _loadItem: function(value, cache) { var selectedItem = this._getItemFromPlain(value, cache); return void 0 !== selectedItem ? (new _deferred.Deferred).resolve(selectedItem).promise() : this._loadValue(value) }, _getPlainItems: function(items) { var plainItems = []; items = items || this.option("items") || this._dataSource.items() || []; for (var i = 0; i < items.length; i++) { if (items[i] && items[i].items) { plainItems = plainItems.concat(items[i].items) } else { plainItems.push(items[i]) } } return plainItems }, _updateActiveDescendant: function() { var _this$_list; var opened = this.option("opened"); var listFocusedItemId = null === (_this$_list = this._list) || void 0 === _this$_list ? void 0 : _this$_list.getFocusedItemId(); var isElementOnDom = (0, _renderer.default)("#".concat(listFocusedItemId)).length > 0; var activedescendant = opened && isElementOnDom && listFocusedItemId; this.setAria({ activedescendant: activedescendant || null }) }, _setSelectedItem: function(item) { var displayValue = this._displayValue(item); this.option("selectedItem", (0, _common.ensureDefined)(item, null)); this.option("displayValue", displayValue) }, _displayValue: function(item) { return this._displayGetter(item) }, _refreshSelected: function() { var cache = {}; this._listItemElements().each(function(_, itemElement) { var $itemElement = (0, _renderer.default)(itemElement); var itemValue = this._valueGetter($itemElement.data("dxListItemData")); var isItemSelected = this._isSelectedValue(itemValue, cache); if (isItemSelected) { this._list.selectItem($itemElement) } else { this._list.unselectItem($itemElement) } }.bind(this)) }, _popupShownHandler: function() { this.callBase(); this._setFocusPolicy() }, _setFocusPolicy: function() { if (!this.option("focusStateEnabled") || !this._list) { return } this._list.option("focusedElement", null) }, _isSelectedValue: function(value) { return this._isValueEquals(value, this.option("value")) }, _validateSearchMode: function() { var searchMode = this.option("searchMode"); var normalizedSearchMode = searchMode.toLowerCase(); if (!SEARCH_MODES.includes(normalizedSearchMode)) { throw _ui2.default.Error("E1019", searchMode) } }, _clearSelectedItem: function() { this.option("selectedItem", null) }, _processDataSourceChanging: function() { this._initDataController(); this._setListOption("_dataController", this._dataController); this._setListDataSource(); this._renderInputValue().fail(function() { if (this._isCustomValueAllowed()) { return } this._clearSelectedItem() }.bind(this)) }, _isCustomValueAllowed: function() { return this.option("displayCustomValue") }, reset: function() { this.callBase(); this._clearFilter(); this._clearSelectedItem() }, _listItemElements: function() { return this._$list ? this._$list.find(".dx-list-item") : (0, _renderer.default)() }, _popupConfig: function() { return (0, _extend.extend)(this.callBase(), { templatesRenderAsynchronously: false, autoResizeEnabled: false, maxHeight: this._getMaxHeight.bind(this) }) }, _renderPopupContent: function() { this.callBase(); this._renderList() }, _getKeyboardListeners: function() { var canListHaveFocus = this._canListHaveFocus(); return this.callBase().concat([!canListHaveFocus && this._list]) }, _renderList: function() { this._listId = "dx-" + (new _guid.default)._value; var $list = (0, _renderer.default)("<div>").attr("id", this._listId).appendTo(this._popup.$content()); this._$list = $list; this._list = this._createComponent($list, _list_light.default, this._listConfig()); this._refreshList(); this._renderPreventBlurOnListClick(); this._setListFocusedElementOptionChange() }, _renderPreventBlurOnListClick: function() { var eventName = (0, _index.addNamespace)("mousedown", "dxDropDownList"); _events_engine.default.off(this._$list, eventName); _events_engine.default.on(this._$list, eventName, (function(e) { return e.preventDefault() })) }, _getControlsAria: function() { return this._list && this._listId }, _renderOpenedState: function() { this.callBase(); this._list && this._updateActiveDescendant(); this.setAria("owns", this._popup && this._popupContentId) }, _setDefaultAria: function() { this.setAria({ haspopup: "listbox", autocomplete: "list" }) }, _refreshList: function() { if (this._list && this._shouldRefreshDataSource()) { this._setListDataSource() } }, _shouldRefreshDataSource: function() { var dataSourceProvided = !!this._list.option("dataSource"); return dataSourceProvided !== this._needPassDataSourceToList() }, _isDesktopDevice: function() { return "desktop" === _devices.default.real().deviceType }, _listConfig: function() { var options = { selectionMode: "single", _templates: this.option("_templates"), templateProvider: this.option("templateProvider"), noDataText: this.option("noDataText"), encodeNoDataText: this.option("encodeNoDataText"), grouped: this.option("grouped"), wrapItemText: this.option("wrapItemText"), useItemTextAsTitle: this.option("useItemTextAsTitle"), onContentReady: this._listContentReadyHandler.bind(this), itemTemplate: this.option("itemTemplate"), indicateLoading: false, keyExpr: this._getCollectionKeyExpr(), displayExpr: this._displayGetterExpr(), groupTemplate: this.option("groupTemplate"), onItemClick: this._listItemClickAction.bind(this), dataSource: this._getDataSource(), _dataController: this._dataController, hoverStateEnabled: this._isDesktopDevice() ? this.option("hoverStateEnabled") : false, focusStateEnabled: this._isDesktopDevice() ? this.option("focusStateEnabled") : false }; if (!this._canListHaveFocus()) { options.tabIndex = null } return options }, _canListHaveFocus: function() { return false }, _getDataSource: function() { return this._needPassDataSourceToList() ? this._dataSource : null }, _dataSourceOptions: function() { return { paginate: false } }, _getGroupedOption: function() { return this.option("grouped") }, _dataSourceFromUrlLoadMode: function() { return "raw" }, _listContentReadyHandler: function() { this._list = this._list || this._$list.dxList("instance"); if (!this.option("deferRendering")) { this._refreshSelected() } this._updatePopupWidth(); this._updateListDimensions(); this._contentReadyAction() }, _setListOption: function(optionName, value) { this._setWidgetOption("_list", arguments) }, _listItemClickAction: function(e) { this._listItemClickHandler(e); this._itemClickAction(e) }, _listItemClickHandler: _common.noop, _setListDataSource: function() { if (!this._list) { return } this._setListOption("dataSource", this._getDataSource()); if (!this._needPassDataSourceToList()) { this._setListOption("items", []) } }, _needPassDataSourceToList: function() { return this.option("showDataBeforeSearch") || this._isMinSearchLengthExceeded() }, _isMinSearchLengthExceeded: function() { return this._searchValue().toString().length >= this.option("minSearchLength") }, _needClearFilter: function() { return this._canKeepDataSource() ? false : this._needPassDataSourceToList() }, _canKeepDataSource: function() { var isMinSearchLengthExceeded = this._isMinSearchLengthExceeded(); return this._dataController.isLoaded() && this.option("showDataBeforeSearch") && this.option("minSearchLength") && !isMinSearchLengthExceeded && !this._isLastMinSearchLengthExceeded }, _searchValue: function() { return this._input().val() || "" }, _getSearchEvent: function() { return (0, _index.addNamespace)("input", this.NAME + "Search") }, _getCompositionStartEvent: function() { return (0, _index.addNamespace)("compositionstart", this.NAME + "CompositionStart") }, _getCompositionEndEvent: function() { return (0, _index.addNamespace)("compositionend", this.NAME + "CompositionEnd") }, _getSetFocusPolicyEvent: function() { return (0, _index.addNamespace)("input", this.NAME + "FocusPolicy") }, _renderEvents: function() { var _this = this; this.callBase(); _events_engine.default.on(this._input(), this._getSetFocusPolicyEvent(), (function() { _this._setFocusPolicy() })); if (this._shouldRenderSearchEvent()) { _events_engine.default.on(this._input(), this._getSearchEvent(), (function(e) { _this._searchHandler(e) })); if (useCompositionEvents) { _events_engine.default.on(this._input(), this._getCompositionStartEvent(), (function() { _this._isTextCompositionInProgress(true) })); _events_engine.default.on(this._input(), this._getCompositionEndEvent(), (function(e) { _this._isTextCompositionInProgress(void 0); _this._searchHandler(e, _this._searchValue()) })) } } }, _shouldRenderSearchEvent: function() { return this.option("searchEnabled") }, _refreshEvents: function() { _events_engine.default.off(this._input(), this._getSearchEvent()); _events_engine.default.off(this._input(), this._getSetFocusPolicyEvent()); if (useCompositionEvents) { _events_engine.default.off(this._input(), this._getCompositionStartEvent()); _events_engine.default.off(this._input(), this._getCompositionEndEvent()) } this.callBase() }, _isTextCompositionInProgress: function(value) { if (arguments.length) { this._isTextComposition = value } else { return this._isTextComposition } }, _searchHandler: function(e, searchValue) { var _this2 = this; if (this._isTextCompositionInProgress()) { return } if (!this._isMinSearchLengthExceeded()) { this._searchCanceled(); return } var searchTimeout = this.option("searchTimeout"); if (searchTimeout) { this._clearSearchTimer(); this._searchTimer = setTimeout((function() { _this2._searchDataSource(searchValue) }), searchTimeout) } else { this._searchDataSource(searchValue) } }, _searchCanceled: function() { this._clearSearchTimer(); if (this._needClearFilter()) { this._filterDataSource(null) } this._refreshList() }, _searchDataSource: function() { var searchValue = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._searchValue(); this._filterDataSource(searchValue) }, _filterDataSource: function(searchValue) { this._clearSearchTimer(); var dataController = this._dataController; dataController.searchExpr(this.option("searchExpr") || this._displayGetterExpr()); dataController.searchOperation(this.option("searchMode")); dataController.searchValue(searchValue); dataController.load().done(this._dataSourceFiltered.bind(this, searchValue)) }, _clearFilter: function() { var dataController = this._dataController; dataController.searchValue() && dataController.searchValue(null) }, _dataSourceFiltered: function() { this._isLastMinSearchLengthExceeded = this._isMinSearchLengthExceeded(); this._refreshList(); this._refreshPopupVisibility() }, _shouldOpenPopup: function() { return this._hasItemsToShow() }, _refreshPopupVisibility: function() { if (this.option("readOnly") || !this._searchValue()) { return } var shouldOpenPopup = this._shouldOpenPopup(); if (shouldOpenPopup && !this._isFocused()) { return } this.option("opened", shouldOpenPopup); if (shouldOpenPopup) { this._updatePopupWidth(); this._updateListDimensions() } }, _dataSourceChangedHandler: function(newItems) { if (0 === this._dataController.pageIndex()) { this.option().items = newItems } else { this.option().items = this.option().items.concat(newItems) } }, _hasItemsToShow: function() { var dataController = this._dataController; var resultItems = dataController.items() || []; var resultAmount = resultItems.length; var isMinSearchLengthExceeded = this._needPassDataSourceToList(); return !!(isMinSearchLengthExceeded && resultAmount) }, _clearSearchTimer: function() { clearTimeout(this._searchTimer); delete this._searchTimer }, _popupShowingHandler: function() { this._updatePopupWidth(); this._updateListDimensions() }, _dimensionChanged: function() { this.callBase(); this._updateListDimensions() }, _needPopupRepaint: function() { var dataController = this._dataController; var currentPageIndex = dataController.pageIndex(); var needRepaint = (0, _type.isDefined)(this._pageIndex) && currentPageIndex <= this._pageIndex || dataController.isLastPage() && !this._list._scrollViewIsFull(); this._pageIndex = currentPageIndex; return needRepaint }, _updateListDimensions: function() { if (!this._popup) { return } if (this._needPopupRepaint()) { this._popup.repaint() } this._list && this._list.updateDimensions() }, _getMaxHeight: function() { var $element = this.$element(); var $customBoundaryContainer = this._$customBoundaryContainer; var offsetTop = $element.offset().top - ($customBoundaryContainer ? $customBoundaryContainer.offset().top : 0); var windowHeight = (0, _size.getOuterHeight)(window); var containerHeight = $customBoundaryContainer ? Math.min((0, _size.getOuterHeight)($customBoundaryContainer), windowHeight) : windowHeight; var maxHeight = Math.max(offsetTop, containerHeight - offsetTop - (0, _size.getOuterHeight)($element)); return Math.min(.5 * containerHeight, maxHeight) }, _clean: function() { if (this._list) { delete this._list } delete this._isLastMinSearchLengthExceeded; this.callBase() }, _dispose: function() { this._clearSearchTimer(); this.callBase() }, _setCollectionWidgetOption: function() { this._setListOption.apply(this, arguments) }, _setSubmitValue: function() { var value = this.option("value"); var submitValue = this._shouldUseDisplayValue(value) ? this._displayGetter(value) : value; this._getSubmitElement().val(submitValue) }, _shouldUseDisplayValue: function(value) { return "this" === this.option("valueExpr") && (0, _type.isObject)(value) }, _optionChanged: function(args) { this._dataExpressionOptionChanged(args); switch (args.name) { case "hoverStateEnabled": case "focusStateEnabled": this._isDesktopDevice() && this._setListOption(args.name, args.value); this.callBase(args); break; case "items": if (!this.option("dataSource")) { this._processDataSourceChanging() } break; case "dataSource": this._processDataSourceChanging(); break; case "valueExpr": this._renderValue(); this._setListOption("keyExpr", this._getCollectionKeyExpr()); break; case "displayExpr": this._renderValue(); this._setListOption("displayExpr", this._displayGetterExpr()); break; case "searchMode": this._validateSearchMode(); break; case "minSearchLength": this._refreshList(); break; case "searchEnabled": case "showDataBeforeSearch": case "searchExpr": this._invalidate(); break; case "onContentReady": this._initContentReadyAction(); break; case "onSelectionChanged": this._initSelectionChangedAction(); break; case "onItemClick": this._initItemClickAction(); break; case "grouped": case "groupTemplate": case "wrapItemText": case "noDataText": case "encodeNoDataText": case "useItemTextAsTitle": this._setListOption(args.name); break; case "displayValue": this.option("text", args.value); break; case "itemTemplate": case "searchTimeout": break; case "selectedItem": if (args.previousValue !== args.value) { this._selectionChangedAction({ selectedItem: args.value }) } break; default: this.callBase(args) } } }).include(_ui3.default, _grouped_data_converter_mixin.default); (0, _component_registrator.default)("dxDropDownList", DropDownList); var _default = DropDownList; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 61902: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/drop_down_editor/utils.js ***! \**************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getSizeValue = exports.getElementWidth = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); exports.getElementWidth = function($element) { if ((0, _window.hasWindow)()) { return (0, _size.getOuterWidth)($element) } }; exports.getSizeValue = function(size) { if (null === size) { size = void 0 } if ("function" === typeof size) { size = size() } return size } }, 96452: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/editor/editor.js ***! \*****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _element_data = __webpack_require__( /*! ../../core/element_data */ 97906); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/callbacks */ 44504)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _validation_engine = _interopRequireDefault(__webpack_require__( /*! ../validation_engine */ 90964)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _validation_message = _interopRequireDefault(__webpack_require__( /*! ../validation_message */ 8336)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _dom = __webpack_require__( /*! ../../core/utils/dom */ 3532); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ALLOWED_STYLING_MODES = ["outlined", "filled", "underlined"]; var VALIDATION_MESSAGE_KEYS_MAP = { validationMessageMode: "mode", validationMessagePosition: "positionSide", validationMessageOffset: "offset", validationBoundary: "boundary" }; var Editor = _ui.default.inherit({ ctor: function() { this.showValidationMessageTimeout = null; this.validationRequest = (0, _callbacks.default)(); this.callBase.apply(this, arguments) }, _createElement: function(element) { this.callBase(element); var $element = this.$element(); if ($element) { (0, _element_data.data)($element[0], "dx-validation-target", this) } }, _initOptions: function(options) { this.callBase.apply(this, arguments); this.option(_validation_engine.default.initValidationOptions(options)) }, _init: function() { this.callBase(); this._options.cache("validationTooltipOptions", this.option("validationTooltipOptions")); var $element = this.$element(); $element.addClass("dx-show-invalid-badge") }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { value: null, name: "", onValueChanged: null, readOnly: false, isValid: true, validationError: null, validationErrors: null, validationStatus: "valid", validationMessageMode: "auto", validationMessagePosition: "bottom", validationBoundary: void 0, validationMessageOffset: { h: 0, v: 0 }, validationTooltipOptions: {}, _showValidationMessage: true }) }, _attachKeyboardEvents: function() { if (!this.option("readOnly")) { this.callBase() } }, _setOptionsByReference: function() { this.callBase(); (0, _extend.extend)(this._optionsByReference, { validationError: true }) }, _createValueChangeAction: function() { this._valueChangeAction = this._createActionByOption("onValueChanged", { excludeValidators: ["disabled", "readOnly"] }) }, _suppressValueChangeAction: function() { this._valueChangeActionSuppressed = true }, _resumeValueChangeAction: function() { this._valueChangeActionSuppressed = false }, _initMarkup: function() { var _this$option; this._toggleReadOnlyState(); this._setSubmitElementName(this.option("name")); this.callBase(); this._renderValidationState(); null === (_this$option = this.option("_onMarkupRendered")) || void 0 === _this$option ? void 0 : _this$option() }, _raiseValueChangeAction: function(value, previousValue) { if (!this._valueChangeAction) { this._createValueChangeAction() } this._valueChangeAction(this._valueChangeArgs(value, previousValue)) }, _valueChangeArgs: function(value, previousValue) { return { value: value, previousValue: previousValue, event: this._valueChangeEventInstance } }, _saveValueChangeEvent: function(e) { this._valueChangeEventInstance = e }, _focusInHandler: function(e) { var isValidationMessageShownOnFocus = "auto" === this.option("validationMessageMode"); if (this._canValueBeChangedByClick() && isValidationMessageShownOnFocus) { var _this$_validationMess; var $validationMessageWrapper = null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.$wrapper(); null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.removeClass("dx-invalid-message-auto"); clearTimeout(this.showValidationMessageTimeout); this.showValidationMessageTimeout = setTimeout((function() { return null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.addClass("dx-invalid-message-auto") }), 150) } return this.callBase(e) }, _canValueBeChangedByClick: function() { return false }, _getStylingModePrefix: function() { return "dx-editor-" }, _renderStylingMode: function() { var _this = this; var optionValue = this.option("stylingMode"); var prefix = this._getStylingModePrefix(); var allowedStylingClasses = ALLOWED_STYLING_MODES.map((function(mode) { return prefix + mode })); allowedStylingClasses.forEach((function(className) { return _this.$element().removeClass(className) })); var stylingModeClass = prefix + optionValue; if (-1 === allowedStylingClasses.indexOf(stylingModeClass)) { var defaultOptionValue = this._getDefaultOptions().stylingMode; var platformOptionValue = this._convertRulesToOptions(this._defaultOptionsRules()).stylingMode; stylingModeClass = prefix + (platformOptionValue || defaultOptionValue) } this.$element().addClass(stylingModeClass) }, _getValidationErrors: function() { var validationErrors = this.option("validationErrors"); if (!validationErrors && this.option("validationError")) { validationErrors = [this.option("validationError")] } return validationErrors }, _disposeValidationMessage: function() { if (this._$validationMessage) { this._$validationMessage.remove(); this.setAria("describedby", null); this._$validationMessage = void 0; this._validationMessage = void 0 } }, _toggleValidationClasses: function(isInvalid) { this.$element().toggleClass("dx-invalid", isInvalid); this.setAria("invalid", isInvalid || void 0) }, _renderValidationState: function() { var isValid = this.option("isValid") && "invalid" !== this.option("validationStatus"); var validationErrors = this._getValidationErrors(); var $element = this.$element(); this._toggleValidationClasses(!isValid); if (!(0, _window.hasWindow)() || false === this.option("_showValidationMessage")) { return } this._disposeValidationMessage(); if (!isValid && validationErrors) { var _this$option2 = this.option(), validationMessageMode = _this$option2.validationMessageMode, validationMessageOffset = _this$option2.validationMessageOffset, validationBoundary = _this$option2.validationBoundary, rtlEnabled = _this$option2.rtlEnabled; this._$validationMessage = (0, _renderer.default)("<div>").appendTo($element); var validationMessageContentId = "dx-".concat(new _guid.default); this.setAria("describedby", validationMessageContentId); this._validationMessage = new _validation_message.default(this._$validationMessage, (0, _extend.extend)({ validationErrors: validationErrors, rtlEnabled: rtlEnabled, target: this._getValidationMessageTarget(), visualContainer: $element, mode: validationMessageMode, positionSide: this._getValidationMessagePosition(), offset: validationMessageOffset, boundary: validationBoundary, contentId: validationMessageContentId }, this._options.cache("validationTooltipOptions"))); this._bindInnerWidgetOptions(this._validationMessage, "validationTooltipOptions") } }, _getValidationMessagePosition: function() { return this.option("validationMessagePosition") }, _getValidationMessageTarget: function() { return this.$element() }, _toggleReadOnlyState: function() { var readOnly = this.option("readOnly"); this._toggleBackspaceHandler(readOnly); this.$element().toggleClass("dx-state-readonly", !!readOnly); this.setAria("readonly", readOnly || void 0) }, _toggleBackspaceHandler: function(isReadOnly) { var $eventTarget = this._keyboardEventBindingTarget(); var eventName = (0, _index.addNamespace)("keydown", "editorReadOnly"); _events_engine.default.off($eventTarget, eventName); if (isReadOnly) { _events_engine.default.on($eventTarget, eventName, (function(e) { if ("backspace" === (0, _index.normalizeKeyName)(e)) { e.preventDefault() } })) } }, _dispose: function() { var element = this.$element()[0]; (0, _element_data.data)(element, "dx-validation-target", null); clearTimeout(this.showValidationMessageTimeout); this._disposeValidationMessage(); this.callBase() }, _setSubmitElementName: function(name) { var $submitElement = this._getSubmitElement(); if (!$submitElement) { return } if (name.length > 0) { $submitElement.attr("name", name) } else { $submitElement.removeAttr("name") } }, _getSubmitElement: function() { return null }, _setValidationMessageOption: function(_ref) { var _this$_validationMess2; var name = _ref.name, value = _ref.value; var optionKey = VALIDATION_MESSAGE_KEYS_MAP[name] ? VALIDATION_MESSAGE_KEYS_MAP[name] : name; null === (_this$_validationMess2 = this._validationMessage) || void 0 === _this$_validationMess2 ? void 0 : _this$_validationMess2.option(optionKey, value) }, _hasActiveElement: _common.noop, _optionChanged: function(args) { var _this$_validationMess3; switch (args.name) { case "onValueChanged": this._createValueChangeAction(); break; case "readOnly": this._toggleReadOnlyState(); this._refreshFocusState(); break; case "value": if (args.value != args.previousValue) { this.validationRequest.fire({ value: args.value, editor: this }) } if (!this._valueChangeActionSuppressed) { this._raiseValueChangeAction(args.value, args.previousValue); this._saveValueChangeEvent(void 0) } break; case "width": this.callBase(args); null === (_this$_validationMess3 = this._validationMessage) || void 0 === _this$_validationMess3 ? void 0 : _this$_validationMess3.updateMaxWidth(); break; case "name": this._setSubmitElementName(args.value); break; case "isValid": case "validationError": case "validationErrors": case "validationStatus": this.option(_validation_engine.default.synchronizeValidationOptions(args, this.option())); this._renderValidationState(); break; case "validationBoundary": case "validationMessageMode": case "validationMessagePosition": case "validationMessageOffset": this._setValidationMessageOption(args); break; case "rtlEnabled": this._setValidationMessageOption(args); this.callBase(args); break; case "validationTooltipOptions": this._innerWidgetOptionChanged(this._validationMessage, args); break; case "_showValidationMessage": break; default: this.callBase(args) } }, blur: function() { if (this._hasActiveElement()) { (0, _dom.resetActiveElement)() } }, reset: function() { var defaultOptions = this._getDefaultOptions(); this.option("value", defaultOptions.value) } }); Editor.isEditor = function(instance) { return instance instanceof Editor }; var _default = Editor; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 88718: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/editor/ui.data_expression.js ***! \*****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _variable_wrapper = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/variable_wrapper */ 26974)); var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _data_helper = _interopRequireDefault(__webpack_require__( /*! ../../data_helper */ 53305)); var _data_source = __webpack_require__( /*! ../../data/data_source/data_source */ 85273); var _array_store = _interopRequireDefault(__webpack_require__( /*! ../../data/array_store */ 26562)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } var DataExpressionMixin = (0, _extend.extend)({}, _data_helper.default, { _dataExpressionDefaultOptions: function() { return { items: [], dataSource: null, itemTemplate: "item", value: null, valueExpr: "this", displayExpr: void 0 } }, _initDataExpressions: function() { this._compileValueGetter(); this._compileDisplayGetter(); this._initDynamicTemplates(); this._initDataSource(); this._itemsToDataSource() }, _itemsToDataSource: function() { if (!this.option("dataSource")) { this._dataSource = new _data_source.DataSource({ store: new _array_store.default(this.option("items")), pageSize: 0 }); this._initDataController() } }, _compileDisplayGetter: function() { this._displayGetter = (0, _data.compileGetter)(this._displayGetterExpr()) }, _displayGetterExpr: function() { return this.option("displayExpr") }, _compileValueGetter: function() { this._valueGetter = (0, _data.compileGetter)(this._valueGetterExpr()) }, _valueGetterExpr: function() { return this.option("valueExpr") || "this" }, _loadValue: function(value) { var deferred = new _deferred.Deferred; value = this._unwrappedValue(value); if (!(0, _type.isDefined)(value)) { return deferred.reject().promise() } this._loadSingle(this._valueGetterExpr(), value).done(function(item) { this._isValueEquals(this._valueGetter(item), value) ? deferred.resolve(item) : deferred.reject() }.bind(this)).fail((function() { deferred.reject() })); this._loadValueDeferred = deferred; return deferred.promise() }, _rejectValueLoading: function() { var _this$_loadValueDefer; null === (_this$_loadValueDefer = this._loadValueDeferred) || void 0 === _this$_loadValueDefer ? void 0 : _this$_loadValueDefer.reject({ shouldSkipCallback: true }) }, _getCurrentValue: function() { return this.option("value") }, _unwrappedValue: function(value) { var _value; value = null !== (_value = value) && void 0 !== _value ? _value : this._getCurrentValue(); if (value && this._dataSource && "this" === this._valueGetterExpr()) { value = this._getItemKey(value) } return _variable_wrapper.default.unwrap(value) }, _getItemKey: function(value) { var key = this._dataSource.key(); if (Array.isArray(key)) { var result = {}; for (var i = 0, n = key.length; i < n; i++) { result[key[i]] = value[key[i]] } return result } if (key && "object" === _typeof(value)) { value = value[key] } return value }, _isValueEquals: function(value1, value2) { var dataSourceKey = this._dataSource && this._dataSource.key(); var result = this._compareValues(value1, value2); if (!result && dataSourceKey && (0, _type.isDefined)(value1) && (0, _type.isDefined)(value2)) { if (Array.isArray(dataSourceKey)) { result = this._compareByCompositeKey(value1, value2, dataSourceKey) } else { result = this._compareByKey(value1, value2, dataSourceKey) } } return result }, _compareByCompositeKey: function(value1, value2, key) { var isObject = _type.isObject; if (!isObject(value1) || !isObject(value2)) { return false } for (var i = 0, n = key.length; i < n; i++) { if (value1[key[i]] !== value2[key[i]]) { return false } } return true }, _compareByKey: function(value1, value2, key) { var unwrapObservable = _variable_wrapper.default.unwrap; var valueKey1 = (0, _common.ensureDefined)(unwrapObservable(value1[key]), value1); var valueKey2 = (0, _common.ensureDefined)(unwrapObservable(value2[key]), value2); return this._compareValues(valueKey1, valueKey2) }, _compareValues: function(value1, value2) { return (0, _data.toComparable)(value1, true) === (0, _data.toComparable)(value2, true) }, _initDynamicTemplates: _common.noop, _setCollectionWidgetItemTemplate: function() { this._initDynamicTemplates(); this._setCollectionWidgetOption("itemTemplate", this.option("itemTemplate")) }, _getCollectionKeyExpr: function() { var valueExpr = this.option("valueExpr"); var isValueExprField = (0, _type.isString)(valueExpr) && "this" !== valueExpr || (0, _type.isFunction)(valueExpr); return isValueExprField ? valueExpr : null }, _dataExpressionOptionChanged: function(args) { switch (args.name) { case "items": this._itemsToDataSource(); this._setCollectionWidgetOption("items"); break; case "dataSource": this._initDataSource(); break; case "itemTemplate": this._setCollectionWidgetItemTemplate(); break; case "valueExpr": this._compileValueGetter(); break; case "displayExpr": this._compileDisplayGetter(); this._initDynamicTemplates(); this._setCollectionWidgetOption("displayExpr") } } }); var _default = DataExpressionMixin; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 87446: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager.js ***! \****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./file_manager/ui.file_manager */ 32737), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 57289: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/file_items_controller.js ***! \**************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.OPERATIONS = exports.FileItemsController = void 0; var _provider_base = _interopRequireDefault(__webpack_require__( /*! ../../file_management/provider_base */ 19073)); var _file_system_item = _interopRequireDefault(__webpack_require__( /*! ../../file_management/file_system_item */ 45765)); var _object_provider = _interopRequireDefault(__webpack_require__( /*! ../../file_management/object_provider */ 4323)); var _remote_provider = _interopRequireDefault(__webpack_require__( /*! ../../file_management/remote_provider */ 41332)); var _custom_provider = _interopRequireDefault(__webpack_require__( /*! ../../file_management/custom_provider */ 98831)); var _error = _interopRequireDefault(__webpack_require__( /*! ../../file_management/error */ 49816)); var _error_codes = _interopRequireDefault(__webpack_require__( /*! ../../file_management/error_codes */ 41011)); var _utils = __webpack_require__( /*! ../../file_management/utils */ 73173); var _uiFile_manager = __webpack_require__( /*! ./ui.file_manager.common */ 75084); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor } var OPERATIONS = { NAVIGATION: "navigation", REFRESH: "refresh" }; exports.OPERATIONS = OPERATIONS; var FileItemsController = function() { function FileItemsController(options) { options = options || {}; this._options = (0, _extend.extend)({}, options); this._isInitialized = false; this._dataLoading = false; this._dataLoadingDeferred = null; this._rootDirectoryInfo = this._createRootDirectoryInfo(options.rootText); this._currentDirectoryInfo = this._rootDirectoryInfo; this._defaultIconMap = this._createDefaultIconMap(); this.startSingleLoad(); this._setSecurityController(); this._setProvider(options.fileProvider); this._initialize() } var _proto = FileItemsController.prototype; _proto._initialize = function() { var _this = this; var result = this._options.currentPathKeys && this._options.currentPathKeys.length ? this.setCurrentPathByKeys(this._options.currentPathKeys) : this.setCurrentPath(this._options.currentPath); var completeInitialization = function() { _this._isInitialized = true; _this._raiseInitialized() }; if (result) { (0, _deferred.when)(result).always(completeInitialization) } else { completeInitialization() } }; _proto._setSecurityController = function() { this._securityController = new FileSecurityController({ allowedFileExtensions: this._options.allowedFileExtensions, maxFileSize: this._options.uploadMaxFileSize }); this._resetState() }; _proto.setAllowedFileExtensions = function(allowedFileExtensions) { if ((0, _type.isDefined)(allowedFileExtensions)) { this._options.allowedFileExtensions = allowedFileExtensions } this._setSecurityController(); this.refresh() }; _proto.setUploadOptions = function(_ref) { var maxFileSize = _ref.maxFileSize, chunkSize = _ref.chunkSize; if ((0, _type.isDefined)(chunkSize)) { this._options.uploadChunkSize = chunkSize } if ((0, _type.isDefined)(maxFileSize)) { this._options.uploadMaxFileSize = maxFileSize; this._setSecurityController(); this.refresh() } }; _proto._setProvider = function(fileProvider) { this._fileProvider = this._createFileProvider(fileProvider); this._resetState() }; _proto.updateProvider = function(fileProvider, currentPathKeys) { var _this2 = this; if (!(0, _type.isDefined)(currentPathKeys)) { return this._updateProviderOnly(fileProvider) } return (0, _deferred.when)(this._getDirectoryByPathParts(this._rootDirectoryInfo, currentPathKeys, true)).then((function(newDirectory) { if (newDirectory !== _this2._rootDirectoryInfo) { _this2._resetCurrentDirectory() } _this2._setProvider(fileProvider) })).then((function() { return _this2.setCurrentPathByKeys(currentPathKeys) })) }; _proto._updateProviderOnly = function(fileProvider) { this._resetCurrentDirectory(); this._setProvider(fileProvider); return (0, _deferred.when)(this.refresh()) }; _proto._createFileProvider = function(fileProvider) { if (!fileProvider) { fileProvider = [] } if (Array.isArray(fileProvider)) { return new _object_provider.default({ data: fileProvider }) } if (fileProvider instanceof _provider_base.default) { return fileProvider } switch (fileProvider.type) { case "remote": return new _remote_provider.default(fileProvider); case "custom": return new _custom_provider.default(fileProvider) } return new _object_provider.default(fileProvider) }; _proto.setCurrentPath = function(path) { var pathParts = (0, _utils.getPathParts)(path); var rawPath = _utils.pathCombine.apply(void 0, _toConsumableArray(pathParts)); if (this.getCurrentDirectory().fileItem.relativeName === rawPath) { return (new _deferred.Deferred).resolve().promise() } return this._setCurrentDirectoryByPathParts(pathParts) }; _proto.setCurrentPathByKeys = function(pathKeys) { if ((0, _common.equalByValue)(this.getCurrentDirectory().fileItem.pathKeys, pathKeys)) { return (new _deferred.Deferred).resolve().promise() } return this._setCurrentDirectoryByPathParts(pathKeys, true) }; _proto.getCurrentPath = function() { var currentPath = ""; var directory = this.getCurrentDirectory(); while (directory && !directory.fileItem.isRoot()) { var escapedName = (0, _utils.getEscapedFileName)(directory.fileItem.name); currentPath = (0, _utils.pathCombine)(escapedName, currentPath); directory = directory.parentDirectory } return currentPath }; _proto.getCurrentPathKeys = function() { return this.getCurrentDirectory().fileItem.pathKeys }; _proto.getCurrentDirectory = function() { return this._currentDirectoryInfo }; _proto.setCurrentDirectory = function(directoryInfo, checkActuality) { if (!directoryInfo) { return } if (checkActuality) { directoryInfo = this._getActualDirectoryInfo(directoryInfo) } if (this._currentDirectoryInfo && this._currentDirectoryInfo === directoryInfo) { this._raisePathPotentiallyChanged(); return } var requireRaiseSelectedDirectory = this._currentDirectoryInfo.fileItem.key !== directoryInfo.fileItem.key; this._currentDirectoryInfo = directoryInfo; if (requireRaiseSelectedDirectory && this._isInitialized) { if (!this._dataLoading) { this._raiseDataLoading(OPERATIONS.NAVIGATION) } this._raiseSelectedDirectoryChanged(directoryInfo) } }; _proto._resetCurrentDirectory = function() { this._currentDirectoryInfo = this._rootDirectoryInfo }; _proto.getCurrentItems = function(onlyFiles) { var _this3 = this; return this._dataLoadingDeferred ? this._dataLoadingDeferred.then((function() { return _this3._getCurrentItemsInternal(onlyFiles) })) : this._getCurrentItemsInternal(onlyFiles) }; _proto._getCurrentItemsInternal = function(onlyFiles) { var _this4 = this; var currentDirectory = this.getCurrentDirectory(); var getItemsPromise = this.getDirectoryContents(currentDirectory); return getItemsPromise.then((function(items) { var separatedItems = _this4._separateItemsByType(items); currentDirectory.fileItem.hasSubDirectories = !!separatedItems.folders.length; return onlyFiles ? separatedItems.files : items })) }; _proto.getDirectories = function(parentDirectoryInfo, skipNavigationOnError) { return this.getDirectoryContents(parentDirectoryInfo, skipNavigationOnError).then((function(itemInfos) { return itemInfos.filter((function(info) { return info.fileItem.isDirectory })) })) }; _proto._separateItemsByType = function(itemInfos) { var folders = []; var files = []; itemInfos.forEach((function(info) { return info.fileItem.isDirectory ? folders.push(info) : files.push(info) })); return { folders: folders, files: files } }; _proto.getDirectoryContents = function(parentDirectoryInfo, skipNavigationOnError) { var _this5 = this; if (!parentDirectoryInfo) { return (new _deferred.Deferred).resolve([this._rootDirectoryInfo]).promise() } if (parentDirectoryInfo.itemsLoaded) { return (new _deferred.Deferred).resolve(parentDirectoryInfo.items).promise() } if (this._singleOperationLockId && parentDirectoryInfo.itemsSingleLoadErrorId === this._singleOperationLockId) { this._changeDirectoryOnError(parentDirectoryInfo, skipNavigationOnError, true); return (new _deferred.Deferred).reject().promise() } var dirKey = parentDirectoryInfo.getInternalKey(); var loadItemsDeferred = this._loadedItems[dirKey]; if (loadItemsDeferred) { return loadItemsDeferred } loadItemsDeferred = this._getFileItems(parentDirectoryInfo, skipNavigationOnError).then((function(fileItems) { fileItems = fileItems || []; parentDirectoryInfo.items = fileItems.map((function(fileItem) { return fileItem.isDirectory && _this5._createDirectoryInfo(fileItem, parentDirectoryInfo) || _this5._createFileInfo(fileItem, parentDirectoryInfo) })); parentDirectoryInfo.itemsLoaded = true; return parentDirectoryInfo.items }), (function() { if (_this5._singleOperationLockId && parentDirectoryInfo.itemsSingleLoadErrorId !== _this5._singleOperationLockId) { parentDirectoryInfo.itemsSingleLoadErrorId = _this5._singleOperationLockId } return [] })); this._loadedItems[dirKey] = loadItemsDeferred; loadItemsDeferred.always((function() { delete _this5._loadedItems[dirKey] })); return loadItemsDeferred }; _proto._getFileItems = function(parentDirectoryInfo, skipNavigationOnError) { var _this6 = this; var loadItemsDeferred = null; try { loadItemsDeferred = this._fileProvider.getItems(parentDirectoryInfo.fileItem) } catch (error) { return this._handleItemLoadError(parentDirectoryInfo, error, skipNavigationOnError) } return (0, _deferred.when)(loadItemsDeferred).then((function(fileItems) { return _this6._securityController.getAllowedItems(fileItems) }), (function(errorInfo) { return _this6._handleItemLoadError(parentDirectoryInfo, errorInfo, skipNavigationOnError) })) }; _proto.createDirectory = function(parentDirectoryInfo, name) { var _this7 = this; var parentDirItem = parentDirectoryInfo.fileItem; var tempDirInfo = this._createDirInfoByName(name, parentDirectoryInfo); var actionInfo = this._createEditActionInfo("create", tempDirInfo, parentDirectoryInfo); return this._processEditAction(actionInfo, (function(args) { args.parentDirectory = parentDirItem; args.name = name; _this7._editingEvents.onDirectoryCreating(args) }), (function() { return _this7._fileProvider.createDirectory(parentDirItem, name).done((function(info) { if (!parentDirItem.isRoot()) { parentDirItem.hasSubDirectories = true } return info })) }), (function() { var args = { parentDirectory: parentDirItem, name: name }; _this7._editingEvents.onDirectoryCreated(args) }), (function() { return _this7._resetDirectoryState(parentDirectoryInfo, true) })) }; _proto.renameItem = function(fileItemInfo, name) { var _this8 = this; var sourceItem = fileItemInfo.fileItem.createClone(); var actionInfo = this._createEditActionInfo("rename", fileItemInfo, fileItemInfo.parentDirectory, { itemNewName: name }); return this._processEditAction(actionInfo, (function(args, itemInfo) { if (!itemInfo.fileItem.isDirectory) { _this8._securityController.validateExtension(name) } args.item = sourceItem; args.newName = name; _this8._editingEvents.onItemRenaming(args) }), (function(item) { return _this8._fileProvider.renameItem(item, name) }), (function() { var args = { sourceItem: sourceItem, itemName: name }; _this8._editingEvents.onItemRenamed(args) }), (function() { var parentDirectory = _this8._getActualDirectoryInfo(fileItemInfo.parentDirectory); _this8._resetDirectoryState(parentDirectory); _this8.setCurrentDirectory(parentDirectory) })) }; _proto.moveItems = function(itemInfos, destinationDirectory) { var _this9 = this; var actionInfo = this._createEditActionInfo("move", itemInfos, destinationDirectory); return this._processEditAction(actionInfo, (function(args, itemInfo) { args.item = itemInfo.fileItem; args.destinationDirectory = destinationDirectory.fileItem; _this9._editingEvents.onItemMoving(args) }), (function(item) { return _this9._fileProvider.moveItems([item], destinationDirectory.fileItem) }), (function(itemInfo) { var args = { sourceItem: itemInfo.fileItem, parentDirectory: destinationDirectory.fileItem, itemName: itemInfo.fileItem.name, itemPath: (0, _utils.pathCombine)(destinationDirectory.fileItem.path, itemInfo.fileItem.name) }; _this9._editingEvents.onItemMoved(args) }), (function(needChangeCurrentDirectory) { itemInfos.forEach((function(itemInfo) { return _this9._resetDirectoryState(itemInfo.parentDirectory, true) })); if (needChangeCurrentDirectory) { _this9._resetDirectoryState(destinationDirectory); _this9.setCurrentPathByKeys(destinationDirectory.fileItem.pathKeys); destinationDirectory.expanded = true } })) }; _proto.copyItems = function(itemInfos, destinationDirectory) { var _this10 = this; var actionInfo = this._createEditActionInfo("copy", itemInfos, destinationDirectory); return this._processEditAction(actionInfo, (function(args, itemInfo) { args.item = itemInfo.fileItem; args.destinationDirectory = destinationDirectory.fileItem; _this10._editingEvents.onItemCopying(args) }), (function(item) { return _this10._fileProvider.copyItems([item], destinationDirectory.fileItem) }), (function(itemInfo) { var args = { sourceItem: itemInfo.fileItem, parentDirectory: destinationDirectory.fileItem, itemName: itemInfo.fileItem.name, itemPath: (0, _utils.pathCombine)(destinationDirectory.fileItem.path, itemInfo.fileItem.name) }; _this10._editingEvents.onItemCopied(args) }), (function(needChangeCurrentDirectory) { if (needChangeCurrentDirectory) { destinationDirectory = _this10._getActualDirectoryInfo(destinationDirectory); _this10._resetDirectoryState(destinationDirectory); _this10.setCurrentDirectory(destinationDirectory); destinationDirectory.expanded = true } })) }; _proto.deleteItems = function(itemInfos) { var _this11 = this; var directory = itemInfos.length > 0 ? itemInfos[0].parentDirectory : null; var actionInfo = this._createEditActionInfo("delete", itemInfos, directory); return this._processEditAction(actionInfo, (function(args, itemInfo) { args.item = itemInfo.fileItem; _this11._editingEvents.onItemDeleting(args) }), (function(item) { return _this11._fileProvider.deleteItems([item]) }), (function(itemInfo) { return _this11._editingEvents.onItemDeleted({ item: itemInfo.fileItem }) }), (function() { itemInfos.forEach((function(itemInfo) { var parentDir = _this11._getActualDirectoryInfo(itemInfo.parentDirectory); _this11._resetDirectoryState(parentDir); _this11.setCurrentDirectory(parentDir) })) })) }; _proto.processUploadSession = function(sessionInfo, uploadDirectoryInfo) { var _this12 = this; var itemInfos = this._getItemInfosForUploaderFiles(sessionInfo.files, uploadDirectoryInfo); var actionInfo = this._createEditActionInfo("upload", itemInfos, uploadDirectoryInfo, { sessionInfo: sessionInfo }); return this._processEditAction(actionInfo, (function() {}), (function(_, index) { return sessionInfo.deferreds[index] }), (function() {}), (function() { return _this12._resetDirectoryState(uploadDirectoryInfo, true) })) }; _proto.uploadFileChunk = function(fileData, chunksInfo, destinationDirectory) { var _this13 = this; var startDeferred = null; if (0 === chunksInfo.chunkIndex) { this._securityController.validateMaxFileSize(fileData.size); this._securityController.validateExtension(fileData.name); startDeferred = this._processBeforeItemEditAction((function(args) { args.fileData = fileData; args.destinationDirectory = destinationDirectory; _this13._editingEvents.onFileUploading(args) })) } else { startDeferred = (new _deferred.Deferred).resolve().promise() } var result = startDeferred.then((function() { return _this13._fileProvider.uploadFileChunk(fileData, chunksInfo, destinationDirectory) })); if (chunksInfo.chunkIndex === chunksInfo.chunkCount - 1) { result = result.done((function() { var args = { fileData: fileData, parentDirectory: destinationDirectory }; _this13._editingEvents.onFileUploaded(args) })) } return result }; _proto.abortFileUpload = function(fileData, chunksInfo, destinationDirectory) { return (0, _deferred.when)(this._fileProvider.abortFileUpload(fileData, chunksInfo, destinationDirectory)) }; _proto.getFileUploadChunkSize = function() { var chunkSize = this._options.uploadChunkSize; if (chunkSize && chunkSize > 0) { return chunkSize } return this._fileProvider.getFileUploadChunkSize() }; _proto.downloadItems = function(itemInfos) { var _this14 = this; var deferreds = itemInfos.map((function(itemInfo) { return _this14._processBeforeItemEditAction((function(args) { args.item = itemInfo.fileItem; _this14._editingEvents.onItemDownloading(args) }), itemInfo) })); return _deferred.when.apply(void 0, _toConsumableArray(deferreds)).then((function() { var items = itemInfos.map((function(i) { return i.fileItem })); return (0, _deferred.when)(_this14._getItemActionResult(_this14._fileProvider.downloadItems(items))).then((function() {}), (function(errorInfo) { _this14._raiseDownloadItemsError(itemInfos, itemInfos[0].parentDirectory, errorInfo) })) }), (function(errorInfo) { _this14._raiseDownloadItemsError(itemInfos, itemInfos[0].parentDirectory, errorInfo) })) }; _proto.getItemContent = function(itemInfos) { var items = itemInfos.map((function(i) { return i.fileItem })); return (0, _deferred.when)(this._fileProvider.getItemsContent(items)) }; _proto._handleItemLoadError = function(parentDirectoryInfo, errorInfo, skipNavigationOnError) { parentDirectoryInfo = this._getActualDirectoryInfo(parentDirectoryInfo); this._raiseGetItemsError(parentDirectoryInfo, errorInfo); this._changeDirectoryOnError(parentDirectoryInfo, skipNavigationOnError); return (new _deferred.Deferred).reject().promise() }; _proto._raiseGetItemsError = function(parentDirectoryInfo, errorInfo) { var actionInfo = this._createEditActionInfo("getItems", parentDirectoryInfo, parentDirectoryInfo); this._raiseEditActionStarting(actionInfo); this._raiseEditActionResultAcquired(actionInfo); this._raiseEditActionError(actionInfo, { errorCode: errorInfo.errorCode, errorText: errorInfo.errorText, fileItem: parentDirectoryInfo.fileItem, index: 0 }) }; _proto._raiseDownloadItemsError = function(targetFileInfos, directory, errorInfo) { var actionInfo = this._createEditActionInfo("download", targetFileInfos, directory); var itemsLength = targetFileInfos.length; actionInfo.singleRequest = 1 === itemsLength; this._raiseEditActionStarting(actionInfo); this._raiseEditActionResultAcquired(actionInfo); for (var index = 0; index < itemsLength - 1; index++) { this._raiseEditActionItemError(actionInfo, { errorCode: errorInfo.errorCode, errorText: errorInfo.errorText, fileItem: targetFileInfos[index].fileItem, index: index }) } this._raiseEditActionError(actionInfo, { errorCode: errorInfo.errorCode, errorText: errorInfo.errorText, fileItem: targetFileInfos[itemsLength - 1].fileItem, index: itemsLength - 1 }) }; _proto._changeDirectoryOnError = function(dirInfo, skipNavigationOnError, isActualDirectoryRequired) { if (isActualDirectoryRequired) { dirInfo = this._getActualDirectoryInfo(dirInfo) } this._resetDirectoryState(dirInfo); dirInfo.expanded = false; if (!skipNavigationOnError) { this.setCurrentDirectory(dirInfo.parentDirectory) } }; _proto._getItemActionResult = function(actionResult) { return Array.isArray(actionResult) ? actionResult[0] : actionResult }; _proto._processEditAction = function(actionInfo, beforeAction, action, afterAction, completeAction) { var _this15 = this; var isAnyOperationSuccessful = false; this._raiseEditActionStarting(actionInfo); var actionResult = actionInfo.itemInfos.map((function(itemInfo, itemIndex) { return _this15._processBeforeItemEditAction(beforeAction, itemInfo).then((function() { var itemActionResult = _this15._getItemActionResult(action(itemInfo.fileItem, itemIndex)); return itemActionResult.done((function() { return afterAction(itemInfo) })) })) })); actionInfo.singleRequest = 1 === actionResult.length; this._raiseEditActionResultAcquired(actionInfo); return (0, _uiFile_manager.whenSome)(actionResult, (function(info) { isAnyOperationSuccessful = true; _this15._raiseCompleteEditActionItem(actionInfo, info) }), (function(errorInfo) { return _this15._raiseEditActionItemError(actionInfo, errorInfo) })).then((function() { completeAction(isAnyOperationSuccessful); _this15._raiseCompleteEditAction(actionInfo) })) }; _proto._createEditActionInfo = function(name, targetItemInfos, directory, customData) { targetItemInfos = Array.isArray(targetItemInfos) ? targetItemInfos : [targetItemInfos]; customData = customData || {}; var items = targetItemInfos.map((function(itemInfo) { return itemInfo.fileItem })); return { name: name, itemInfos: targetItemInfos, items: items, directory: directory, customData: customData, singleRequest: true } }; _proto._processBeforeItemEditAction = function(action, itemInfo) { var deferred = new _deferred.Deferred; var args = this._createBeforeActionArgs(); try { action(args, itemInfo) } catch (errorInfo) { return deferred.reject(errorInfo).promise() } if (!args.cancel) { deferred.resolve() } else if (true === args.cancel) { return deferred.reject({ errorText: args.errorText, errorCode: args.errorCode }) } else if ((0, _type.isPromise)(args.cancel)) { (0, _deferred.when)(args.cancel).then((function(res) { if (true === res) { deferred.reject() } else if ((0, _type.isObject)(res) && true === res.cancel) { deferred.reject({ errorText: res.errorText, errorCode: res.errorCode }) } deferred.resolve() }), deferred.resolve) } return deferred.promise() }; _proto._createBeforeActionArgs = function() { return { errorCode: void 0, errorText: "", cancel: false } }; _proto._getItemInfosForUploaderFiles = function(files, parentDirectoryInfo) { var pathInfo = this._getPathInfo(parentDirectoryInfo); var result = []; for (var i = 0; i < files.length; i++) { var file = files[i]; var item = new _file_system_item.default(pathInfo, file.name, false); var itemInfo = this._createFileInfo(item, parentDirectoryInfo); result.push(itemInfo) } return result }; _proto.refresh = function() { var _this16 = this; if (this._lockRefresh) { return this._refreshDeferred } this._lockRefresh = true; return this._executeDataLoad((function() { return _this16._refreshDeferred = _this16._refreshInternal() }), OPERATIONS.REFRESH) }; _proto.startSingleLoad = function() { this._singleOperationLockId = (new _guid.default).toString() }; _proto.endSingleLoad = function() { delete this._singleOperationLockId }; _proto._refreshInternal = function() { var _this17 = this; var cachedRootInfo = { items: this._rootDirectoryInfo.items }; var selectedKeyParts = this._getDirectoryPathKeyParts(this.getCurrentDirectory()); this._resetDirectoryState(this._rootDirectoryInfo); return this._loadItemsRecursive(this._rootDirectoryInfo, cachedRootInfo).then((function() { var dirInfo = _this17._findDirectoryByPathKeyParts(selectedKeyParts); _this17.setCurrentDirectory(dirInfo); delete _this17._lockRefresh })) }; _proto._loadItemsRecursive = function(directoryInfo, cachedDirectoryInfo) { var _this18 = this; return this.getDirectories(directoryInfo).then((function(dirInfos) { var itemDeferreds = []; var _loop = function(i) { var cachedItem = cachedDirectoryInfo.items.find((function(cache) { return dirInfos[i].fileItem.key === cache.fileItem.key })); if (!cachedItem) { return "continue" } dirInfos[i].expanded = cachedItem.expanded; if (dirInfos[i].expanded) { itemDeferreds.push(_this18._loadItemsRecursive(dirInfos[i], cachedItem)) } }; for (var i = 0; i < dirInfos.length; i++) { var _ret = _loop(i); if ("continue" === _ret) { continue } } return (0, _uiFile_manager.whenSome)(itemDeferreds) }), (function() { return null })) }; _proto._setCurrentDirectoryByPathParts = function(pathParts, useKeys) { var _this19 = this; return this._executeDataLoad((function() { return _this19._setCurrentDirectoryByPathPartsInternal(pathParts, useKeys) }), OPERATIONS.NAVIGATION) }; _proto._setCurrentDirectoryByPathPartsInternal = function(pathParts, useKeys) { var _this20 = this; return this._getDirectoryByPathParts(this._rootDirectoryInfo, pathParts, useKeys).then((function(directoryInfo) { for (var info = directoryInfo.parentDirectory; info; info = info.parentDirectory) { info.expanded = true } _this20.setCurrentDirectory(directoryInfo) }), (function() { _this20._raisePathPotentiallyChanged() })) }; _proto._executeDataLoad = function(action, operation) { var _this21 = this; if (this._dataLoadingDeferred) { return this._dataLoadingDeferred.then((function() { return _this21._executeDataLoad(action, operation) })) } this._dataLoading = true; this._dataLoadingDeferred = new _deferred.Deferred; if (this._isInitialized) { this._raiseDataLoading(operation) } return action().always((function() { var tempDeferred = _this21._dataLoadingDeferred; _this21._dataLoadingDeferred = null; _this21._dataLoading = false; tempDeferred.resolve() })) }; _proto._getDirectoryByPathParts = function(parentDirectoryInfo, pathParts, useKeys) { var _this22 = this; if (pathParts.length < 1) { return (new _deferred.Deferred).resolve(parentDirectoryInfo).promise() } var fieldName = useKeys ? "key" : "name"; return this.getDirectories(parentDirectoryInfo).then((function(dirInfos) { var subDirInfo = dirInfos.find((function(d) { return d.fileItem[fieldName] === pathParts[0] })); if (!subDirInfo) { return (new _deferred.Deferred).reject().promise() } var restPathParts = _toConsumableArray(pathParts).splice(1); return _this22._getDirectoryByPathParts(subDirInfo, restPathParts, useKeys) })) }; _proto._getDirectoryPathKeyParts = function(directoryInfo) { var pathParts = []; while (directoryInfo && directoryInfo.parentDirectory) { pathParts.unshift(directoryInfo.fileItem.key); directoryInfo = directoryInfo.parentDirectory } return pathParts }; _proto._findDirectoryByPathKeyParts = function(keyParts) { var selectedDirInfo = this._rootDirectoryInfo; if (0 === keyParts.length) { return selectedDirInfo } var i = 0; var newSelectedDir = selectedDirInfo; while (newSelectedDir && i < keyParts.length) { newSelectedDir = selectedDirInfo.items.find((function(info) { return info.fileItem.key === keyParts[i] })); if (newSelectedDir) { selectedDirInfo = newSelectedDir } i++ } return selectedDirInfo }; _proto._getActualDirectoryInfo = function(directoryInfo) { var keys = this._getDirectoryPathKeyParts(directoryInfo); return this._findDirectoryByPathKeyParts(keys) }; _proto._createDirInfoByName = function(name, parentDirectoryInfo) { var dirPathInfo = this._getPathInfo(parentDirectoryInfo); var fileItem = new _file_system_item.default(dirPathInfo, name, true); return this._createDirectoryInfo(fileItem, parentDirectoryInfo) }; _proto._createDirectoryInfo = function(fileItem, parentDirectoryInfo) { return (0, _extend.extend)(this._createFileInfo(fileItem, parentDirectoryInfo), { icon: "folder", expanded: fileItem.isRoot(), items: [] }) }; _proto._createFileInfo = function(fileItem, parentDirectoryInfo) { return { fileItem: fileItem, parentDirectory: parentDirectoryInfo, icon: this._getFileItemDefaultIcon(fileItem), getInternalKey: function() { return "FIK_".concat(this.fileItem.key) }, getDisplayName: function() { return this.displayName || this.fileItem.name } } }; _proto._resetDirectoryState = function(directoryInfo, isActualDirectoryRequired) { if (isActualDirectoryRequired) { directoryInfo = this._getActualDirectoryInfo(directoryInfo) } directoryInfo.itemsLoaded = false; directoryInfo.items = [] }; _proto._getFileItemDefaultIcon = function(fileItem) { if (fileItem.isDirectory) { return "folder" } var extension = fileItem.getFileExtension(); var icon = this._defaultIconMap[extension]; return icon || "doc" }; _proto._createDefaultIconMap = function() { var result = { ".txt": "txtfile", ".rtf": "rtffile", ".doc": "docfile", ".docx": "docxfile", ".xls": "xlsfile", ".xlsx": "xlsxfile", ".ppt": "pptfile", ".pptx": "pptxfile", ".pdf": "pdffile" }; [".png", ".gif", ".jpg", ".jpeg", ".ico", ".bmp"].forEach((function(extension) { result[extension] = "image" })); return result }; _proto._createRootDirectoryInfo = function(text) { var rootDirectory = new _file_system_item.default(null, "", true); var result = this._createDirectoryInfo(rootDirectory, null); result.displayName = text || "Files"; return result }; _proto.setRootText = function(rootText) { this._rootDirectoryInfo.displayName = rootText || "Files" }; _proto._raiseInitialized = function() { this._tryCallAction("onInitialized", { controller: this }) }; _proto._raiseDataLoading = function(operation) { this._tryCallAction("onDataLoading", { operation: operation }) }; _proto._raiseSelectedDirectoryChanged = function(directoryInfo) { this._tryCallAction("onSelectedDirectoryChanged", { selectedDirectoryInfo: directoryInfo }) }; _proto._raiseEditActionStarting = function(actionInfo) { this._tryCallAction("onEditActionStarting", actionInfo) }; _proto._raiseEditActionResultAcquired = function(actionInfo) { this._tryCallAction("onEditActionResultAcquired", actionInfo) }; _proto._raiseEditActionError = function(actionInfo, errorInfo) { this._tryCallAction("onEditActionError", actionInfo, errorInfo) }; _proto._raiseEditActionItemError = function(actionInfo, errorInfo) { this._tryCallAction("onEditActionItemError", actionInfo, errorInfo) }; _proto._raiseCompleteEditActionItem = function(actionInfo, info) { this._tryCallAction("onCompleteEditActionItem", actionInfo, info) }; _proto._raiseCompleteEditAction = function(actionInfo) { this._tryCallAction("onCompleteEditAction", actionInfo) }; _proto._raisePathPotentiallyChanged = function() { this._tryCallAction("onPathPotentiallyChanged") }; _proto._tryCallAction = function(actionName) { var args = Array.prototype.slice.call(arguments, 1); if (this._isInitialized && this._options[actionName]) { var _this$_options; (_this$_options = this._options)[actionName].apply(_this$_options, _toConsumableArray(args)) } }; _proto._resetState = function() { this._selectedDirectory = null; this._rootDirectoryInfo.items = []; this._rootDirectoryInfo.itemsLoaded = false; this._loadedItems = {} }; _proto._getPathInfo = function(directoryInfo) { var pathInfo = []; for (var dirInfo = directoryInfo; dirInfo && !dirInfo.fileItem.isRoot(); dirInfo = dirInfo.parentDirectory) { pathInfo.unshift({ key: dirInfo.fileItem.key, name: dirInfo.fileItem.name }) } return pathInfo }; _proto.on = function(eventName, eventHandler) { var finalEventName = "on".concat(eventName); this._options[finalEventName] = eventHandler }; _createClass(FileItemsController, [{ key: "_editingEvents", get: function() { return this._options.editingEvents } }]); return FileItemsController }(); exports.FileItemsController = FileItemsController; var FileSecurityController = function() { function FileSecurityController(options) { var _this23 = this; this._options = (0, _extend.extend)({ allowedFileExtensions: [], maxFileSize: 0 }, options); this._extensionsMap = {}; this._allowedFileExtensions.forEach((function(extension) { _this23._extensionsMap[extension.toUpperCase()] = true })) } var _proto2 = FileSecurityController.prototype; _proto2.getAllowedItems = function(items) { var _this24 = this; if (0 === this._allowedFileExtensions.length) { return items } return items.filter((function(item) { return item.isDirectory || _this24._isValidExtension(item.name) })) }; _proto2.validateExtension = function(name) { if (!this._isValidExtension(name)) { throw new _error.default(_error_codes.default.WrongFileExtension, null) } }; _proto2.validateMaxFileSize = function(size) { if (this._maxFileSize && size > this._maxFileSize) { throw new _error.default(_error_codes.default.MaxFileSizeExceeded, null) } }; _proto2._isValidExtension = function(name) { if (0 === this._allowedFileExtensions.length) { return true } var extension = (0, _utils.getFileExtension)(name).toUpperCase(); return this._extensionsMap[extension] }; _createClass(FileSecurityController, [{ key: "_allowedFileExtensions", get: function() { return this._options.allowedFileExtensions } }, { key: "_maxFileSize", get: function() { return this._options.maxFileSize } }]); return FileSecurityController }() }, 52666: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.adaptivity.js ***! \*******************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../drawer/ui.drawer */ 32089)); var _splitter = _interopRequireDefault(__webpack_require__( /*! ../splitter */ 93288)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var window = (0, _window.getWindow)(); var FileManagerAdaptivityControl = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerAdaptivityControl, _Widget); function FileManagerAdaptivityControl() { return _Widget.apply(this, arguments) || this } var _proto = FileManagerAdaptivityControl.prototype; _proto._initMarkup = function() { _Widget.prototype._initMarkup.call(this); this._initActions(); this._isInAdaptiveState = false; var $drawer = (0, _renderer.default)("<div>").appendTo(this.$element()); (0, _renderer.default)("<div>").addClass("dx-filemanager-adaptivity-drawer-panel").appendTo($drawer); this._drawer = this._createComponent($drawer, _ui2.default); this._drawer.option({ opened: true, template: this._createDrawerTemplate.bind(this) }); (0, _renderer.default)(this._drawer.content()).addClass("dx-drawer-panel-content-initial"); var $drawerContent = $drawer.find(".".concat("dx-filemanager-adaptivity-drawer-panel")).first(); var contentRenderer = this.option("contentTemplate"); if ((0, _type.isFunction)(contentRenderer)) { contentRenderer($drawerContent) } this._updateDrawerMaxSize() }; _proto._createDrawerTemplate = function(container) { this.option("drawerTemplate")(container); this._splitter = this._createComponent("<div>", _splitter.default, { container: this.$element(), leftElement: (0, _renderer.default)(this._drawer.content()), rightElement: (0, _renderer.default)(this._drawer.viewContent()), onApplyPanelSize: this._onApplyPanelSize.bind(this), onActiveStateChanged: this._onActiveStateChanged.bind(this) }); this._splitter.$element().appendTo(container); this._splitter.disableSplitterCalculation(true) }; _proto._render = function() { _Widget.prototype._render.call(this); this._checkAdaptiveState() }; _proto._onApplyPanelSize = function(e) { if (!(0, _window.hasWindow)()) { return } if (!this._splitter.isSplitterMoved()) { this._setDrawerWidth(""); return }(0, _renderer.default)(this._drawer.content()).removeClass("dx-drawer-panel-content-initial"); this._setDrawerWidth(e.leftPanelWidth) }; _proto._onActiveStateChanged = function(_ref) { var isActive = _ref.isActive; this._splitter.disableSplitterCalculation(!isActive); !isActive && this._splitter.$element().css("left", "auto") }; _proto._setDrawerWidth = function(width) { (0, _renderer.default)(this._drawer.content()).css("width", width); this._updateDrawerMaxSize(); this._drawer.resizeViewContent() }; _proto._updateDrawerMaxSize = function() { this._drawer.option("maxSize", this._drawer.getRealPanelWidth()) }; _proto._dimensionChanged = function(dimension) { if (!dimension || "height" !== dimension) { this._checkAdaptiveState() } }; _proto._checkAdaptiveState = function() { var oldState = this._isInAdaptiveState; this._isInAdaptiveState = this._isSmallScreen(); if (oldState !== this._isInAdaptiveState) { this.toggleDrawer(!this._isInAdaptiveState, true); (0, _renderer.default)(this._drawer.content()).toggleClass("dx-drawer-panel-content-adaptive", this._isInAdaptiveState); this._raiseAdaptiveStateChanged(this._isInAdaptiveState) } if (this._isInAdaptiveState && this._isDrawerOpened()) { this._updateDrawerMaxSize() } }; _proto._isSmallScreen = function() { return (0, _size.getWidth)(window) <= 573 }; _proto._isDrawerOpened = function() { return this._drawer.option("opened") }; _proto._initActions = function() { this._actions = { onAdaptiveStateChanged: this._createActionByOption("onAdaptiveStateChanged") } }; _proto._raiseAdaptiveStateChanged = function(enabled) { this._actions.onAdaptiveStateChanged({ enabled: enabled }) }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { drawerTemplate: null, contentTemplate: null, onAdaptiveStateChanged: null }) }; _proto._optionChanged = function(args) { var name = args.name; switch (name) { case "drawerTemplate": case "contentTemplate": this.repaint(); break; case "onAdaptiveStateChanged": this._actions[name] = this._createActionByOption(name); break; default: _Widget.prototype._optionChanged.call(this, args) } }; _proto.isInAdaptiveState = function() { return this._isInAdaptiveState }; _proto.toggleDrawer = function(showing, skipAnimation) { this._updateDrawerMaxSize(); this._drawer.option("animationEnabled", !skipAnimation); this._drawer.toggle(showing); var isSplitterActive = this._isDrawerOpened() && !this.isInAdaptiveState(); this._splitter.toggleDisabled(!isSplitterActive) }; _proto.getSplitterElement = function() { return this._splitter.getSplitterBorderElement().get(0) }; return FileManagerAdaptivityControl }(_ui.default); var _default = FileManagerAdaptivityControl; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 47565: /*!********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.breadcrumbs.js ***! \********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../menu/ui.menu */ 2616)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FileManagerBreadcrumbs = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerBreadcrumbs, _Widget); function FileManagerBreadcrumbs() { return _Widget.apply(this, arguments) || this } var _proto = FileManagerBreadcrumbs.prototype; _proto._init = function() { _Widget.prototype._init.call(this); this._currentDirectory = null }; _proto._initMarkup = function() { _Widget.prototype._initMarkup.call(this); this._initActions(); if (this._currentDirectory) { this._renderMenu() } this.$element().addClass("dx-filemanager-breadcrumbs") }; _proto.setCurrentDirectory = function(directory) { if (!this._areDirsEqual(this._currentDirectory, directory)) { this._currentDirectory = directory; this.repaint() } }; _proto._renderMenu = function() { var $menu = (0, _renderer.default)("<div>").appendTo(this.$element()); this._menu = this._createComponent($menu, _ui2.default, { dataSource: this._getMenuItems(), onItemClick: this._onItemClick.bind(this), onItemRendered: this._onItemRendered.bind(this) }) }; _proto._getMenuItems = function() { var dirLine = this._getParentDirsLine(); var result = [{ icon: "arrowup", directory: this._currentDirectory.parentDirectory, isPathItem: true, cssClass: "dx-filemanager-breadcrumbs-parent-folder-item" }, { text: "\xa0", cssClass: "dx-filemanager-breadcrumbs-separator-item" }]; dirLine.forEach((function(dir, index) { result.push({ text: dir.getDisplayName(), directory: dir, isPathItem: true }); if (index !== dirLine.length - 1) { result.push({ icon: "spinnext", cssClass: "dx-filemanager-breadcrumbs-path-separator-item" }) } })); return result }; _proto._onItemClick = function(_ref) { var itemData = _ref.itemData; if (!itemData.isPathItem) { return } var newDir = itemData.directory; if (!this._areDirsEqual(newDir, this._currentDirectory)) { this._raiseCurrentDirectoryChanged(newDir) } }; _proto._onItemRendered = function(_ref2) { var itemElement = _ref2.itemElement, itemData = _ref2.itemData; if (itemData.cssClass) { (0, _renderer.default)(itemElement).addClass(itemData.cssClass) } }; _proto._getParentDirsLine = function() { var currentDirectory = this._currentDirectory; var result = []; while (currentDirectory) { result.unshift(currentDirectory); currentDirectory = currentDirectory.parentDirectory } return result }; _proto._areDirsEqual = function(dir1, dir2) { return dir1 && dir2 && dir1 === dir2 && dir1.fileItem.key === dir2.fileItem.key }; _proto._initActions = function() { this._actions = { onCurrentDirectoryChanging: this._createActionByOption("onCurrentDirectoryChanging") } }; _proto._raiseCurrentDirectoryChanged = function(currentDirectory) { this._actions.onCurrentDirectoryChanging({ currentDirectory: currentDirectory }) }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { rootFolderDisplayName: "Files", onCurrentDirectoryChanging: null }) }; _proto._optionChanged = function(args) { var name = args.name; switch (name) { case "rootFolderDisplayName": this.repaint(); break; case "onCurrentDirectoryChanging": this._actions[name] = this._createActionByOption(name); break; default: _Widget.prototype._optionChanged.call(this, args) } }; return FileManagerBreadcrumbs }(_ui.default); var _default = FileManagerBreadcrumbs; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 77311: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.command_manager.js ***! \************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.defaultPermissions = exports.FileManagerCommandManager = void 0; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _message = (obj = __webpack_require__( /*! ../../localization/message */ 28109), obj && obj.__esModule ? obj : { default: obj }); var obj; var defaultPermissions = { create: false, copy: false, move: false, delete: false, rename: false, upload: false, download: false }; exports.defaultPermissions = defaultPermissions; var FileManagerCommandManager = function() { function FileManagerCommandManager(permissions) { this._actions = {}; this._permissions = permissions || {}; this._initCommands() } var _proto = FileManagerCommandManager.prototype; _proto._initCommands = function() { var _this = this; this._commands = [{ name: "create", text: _message.default.format("dxFileManager-commandCreate"), icon: "newfolder", enabled: this._permissions.create, noFileItemRequired: true }, { name: "rename", text: _message.default.format("dxFileManager-commandRename"), icon: "rename", enabled: this._permissions.rename, isSingleFileItemCommand: true }, { name: "move", text: _message.default.format("dxFileManager-commandMove"), icon: "movetofolder", enabled: this._permissions.move }, { name: "copy", text: _message.default.format("dxFileManager-commandCopy"), icon: "copy", enabled: this._permissions.copy }, { name: "delete", text: _message.default.format("dxFileManager-commandDelete"), icon: "trash", enabled: this._permissions.delete }, { name: "download", text: _message.default.format("dxFileManager-commandDownload"), icon: "download", enabled: this._permissions.download }, { name: "upload", text: _message.default.format("dxFileManager-commandUpload"), icon: "upload", enabled: this._permissions.upload, noFileItemRequired: true }, { name: "refresh", text: _message.default.format("dxFileManager-commandRefresh"), icon: "dx-filemanager-i dx-filemanager-i-refresh", enabled: true, noFileItemRequired: true }, { name: "thumbnails", text: _message.default.format("dxFileManager-commandThumbnails"), icon: "mediumiconslayout", enabled: true, noFileItemRequired: true }, { name: "details", text: _message.default.format("dxFileManager-commandDetails"), icon: "detailslayout", enabled: true, noFileItemRequired: true }, { name: "clearSelection", text: _message.default.format("dxFileManager-commandClearSelection"), icon: "remove", enabled: true }, { name: "showNavPane", hint: _message.default.format("dxFileManager-commandShowNavPane"), icon: "menu", enabled: false, noFileItemRequired: true }]; this._commandMap = {}; this._commands.forEach((function(command) { _this._commandMap[command.name] = command })) }; _proto.registerActions = function(actions) { this._actions = (0, _extend.extend)(this._actions, actions) }; _proto.executeCommand = function(command, arg) { var commandName = (0, _type.isString)(command) ? command : command.name; var action = this._actions[commandName]; if (action) { return action(arg) } }; _proto.updatePermissions = function(permissions) { var _this2 = this; var resultPermissions = (0, _extend.extend)({}, defaultPermissions, permissions); this._permissions = resultPermissions; (0, _iterator.each)(this._permissions, (function(permission) { _this2._commandMap[permission].enabled = _this2._permissions[permission] })) }; _proto.setCommandEnabled = function(commandName, enabled) { var command = this.getCommandByName(commandName); if (command) { command.enabled = enabled } }; _proto.getCommandByName = function(name) { return this._commandMap[name] }; _proto.isCommandAvailable = function(commandName, itemInfos) { var command = this.getCommandByName(commandName); if (!command || !command.enabled) { return false } if (command.noFileItemRequired) { return true } var itemsLength = itemInfos && itemInfos.length || 0; if (0 === itemsLength || itemInfos.some((function(item) { return item.fileItem.isRoot() || item.fileItem.isParentFolder }))) { return false } if ("download" === commandName) { return itemInfos.every((function(itemInfo) { return !itemInfo.fileItem.isDirectory })) } return !command.isSingleFileItemCommand || 1 === itemsLength }; return FileManagerCommandManager }(); exports.FileManagerCommandManager = FileManagerCommandManager }, 75084: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.common.js ***! \***************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.whenSome = exports.getMapFromObject = exports.getDisplayFileSize = exports.findItemsByKeys = exports.extendAttributes = void 0; var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } exports.whenSome = function(arg, onSuccess, onError) { onSuccess = onSuccess || _common.noop; onError = onError || _common.noop; if (!Array.isArray(arg)) { arg = [arg] } var deferreds = arg.map((function(item, index) { return (0, _deferred.when)(item).then((function(result) { (0, _type.isFunction)(onSuccess) && onSuccess({ item: item, index: index, result: result }); return result }), (function(error) { if (!error) { error = {} } error.index = index; (0, _type.isFunction)(onError) && onError(error); return (new _deferred.Deferred).resolve().promise() })) })); return _deferred.when.apply(null, deferreds) }; exports.getDisplayFileSize = function(byteSize) { var sizesTitles = ["B", "KB", "MB", "GB", "TB"]; var index = 0; var displaySize = byteSize; while (displaySize >= 1024 && index <= sizesTitles.length - 1) { displaySize /= 1024; index++ } displaySize = Math.round(10 * displaySize) / 10; return "".concat(displaySize, " ").concat(sizesTitles[index]) }; exports.extendAttributes = function(targetObject, sourceObject, objectKeysArray) { objectKeysArray.forEach((function(objectKey) { (0, _extend.extend)(true, targetObject, (0, _type.isDefined)(sourceObject[objectKey]) ? _defineProperty({}, objectKey, sourceObject[objectKey]) : {}) })); return targetObject }; exports.findItemsByKeys = function(itemInfos, keys) { var itemMap = {}; keys.forEach((function(key) { itemMap[key] = null })); itemInfos.forEach((function(itemInfo) { var key = itemInfo.fileItem.key; if (Object.prototype.hasOwnProperty.call(itemMap, key)) { itemMap[key] = itemInfo } })); var result = []; keys.forEach((function(key) { var itemInfo = itemMap[key]; if (itemInfo) { result.push(itemInfo) } })); return result }; exports.getMapFromObject = function(object) { var keys = Object.keys(object); var values = []; keys.forEach((function(key) { return values.push(object[key]) })); return { keys: keys, values: values } } }, 2681: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.context_menu.js ***! \*********************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../context_menu/ui.context_menu */ 5631)); var _uiFile_manager = __webpack_require__( /*! ./ui.file_manager.common */ 75084); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DEFAULT_CONTEXT_MENU_ITEMS = { create: {}, upload: {}, download: {}, rename: {}, move: {}, copy: {}, delete: {}, refresh: { beginGroup: true } }; var DEFAULT_ITEM_ALLOWED_PROPERTIES = ["beginGroup", "closeMenuOnClick", "disabled", "icon", "selectable", "selected", "text", "visible"]; var FileManagerContextMenu = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerContextMenu, _Widget); function FileManagerContextMenu() { return _Widget.apply(this, arguments) || this } var _proto = FileManagerContextMenu.prototype; _proto._initMarkup = function() { var _this = this; this._initActions(); this._isVisible = false; var $menu = (0, _renderer.default)("<div>").appendTo(this.$element()); this._contextMenu = this._createComponent($menu, _ui2.default, { cssClass: "dx-filemanager-context-menu", showEvent: "", onItemClick: function(args) { return _this._onContextMenuItemClick(args.itemData.name, args) }, onShowing: function(e) { return _this._onContextMenuShowing(e) }, onShown: function() { return _this._onContextMenuShown() }, onHidden: function() { return _this._onContextMenuHidden() } }); _Widget.prototype._initMarkup.call(this) }; _proto.showAt = function(fileItems, element, event, target) { var itemData = target.itemData, itemElement = target.itemElement, _target$isActionButto = target.isActionButton, isActionButton = void 0 === _target$isActionButto ? false : _target$isActionButto; if (this._isVisible) { this._onContextMenuHidden() } this._menuShowingContext = { targetElement: itemElement, itemData: itemData, fileItems: fileItems, event: event, isActionButton: isActionButton }; var position = { of: element, at: "top left", my: "top left", offset: "" }; if (event) { position.offset = event.offsetX + " " + event.offsetY } else { position.my = "left top"; position.at = "left bottom"; position.boundaryOffset = "1" } this._contextMenu.option({ target: element, position: position }); this._contextMenu.show() }; _proto.createContextMenuItems = function(fileItems, contextMenuItems, targetFileItem) { var _this2 = this; this._targetFileItems = fileItems; this._targetFileItem = (0, _type.isDefined)(targetFileItem) ? targetFileItem : null === fileItems || void 0 === fileItems ? void 0 : fileItems[0]; var result = []; var itemArray = contextMenuItems || this.option("items"); itemArray.forEach((function(srcItem) { var commandName = (0, _type.isString)(srcItem) ? srcItem : srcItem.name; var item = _this2._configureItemByCommandName(commandName, srcItem, fileItems, _this2._targetFileItem); if (_this2._isContextMenuItemAvailable(item, fileItems)) { result.push(item) } })); return result }; _proto._isContextMenuItemAvailable = function(menuItem, fileItems) { if (!this._isDefaultItem(menuItem.name) || !menuItem._autoHide) { return (0, _common.ensureDefined)(menuItem.visible, true) } if (this._isIsolatedCreationItemCommand(menuItem.name) && fileItems && fileItems.length) { return false } return this._commandManager.isCommandAvailable(menuItem.name, fileItems) }; _proto._isIsolatedCreationItemCommand = function(commandName) { return ("create" === commandName || "upload" === commandName) && this.option("isolateCreationItemCommands") }; _proto._isDefaultItem = function(commandName) { return !!DEFAULT_CONTEXT_MENU_ITEMS[commandName] }; _proto._configureItemByCommandName = function(commandName, item, fileItems, targetFileItem) { if (!this._isDefaultItem(commandName)) { var res = (0, _extend.extend)(true, {}, item); res.originalItemData = item; this._addItemClickHandler(commandName, res); if (Array.isArray(item.items)) { res.items = this.createContextMenuItems(fileItems, item.items, targetFileItem) } return res } var result = this._createMenuItemByCommandName(commandName); var defaultConfig = DEFAULT_CONTEXT_MENU_ITEMS[commandName]; (0, _extend.extend)(result, defaultConfig); result.originalItemData = item; (0, _uiFile_manager.extendAttributes)(result, item, DEFAULT_ITEM_ALLOWED_PROPERTIES); if (!(0, _type.isDefined)(result.visible)) { result._autoHide = true } if (commandName && !result.name) { (0, _extend.extend)(result, { name: commandName }) } return result }; _proto._createMenuItemByCommandName = function(commandName) { var _this$_commandManager = this._commandManager.getCommandByName(commandName), text = _this$_commandManager.text, icon = _this$_commandManager.icon; var menuItem = { name: commandName, text: text, icon: icon }; this._addItemClickHandler(commandName, menuItem); return menuItem }; _proto._addItemClickHandler = function(commandName, contextMenuItem) { var _this3 = this; contextMenuItem.onItemClick = function(args) { return _this3._onContextMenuItemClick(commandName, args) } }; _proto._onContextMenuItemClick = function(commandName, args) { var _this$_targetFileItem; var changedArgs = (0, _extend.extend)(true, {}, args); changedArgs.itemData = args.itemData.originalItemData; changedArgs.fileSystemItem = null === (_this$_targetFileItem = this._targetFileItem) || void 0 === _this$_targetFileItem ? void 0 : _this$_targetFileItem.fileItem; changedArgs.viewArea = this.option("viewArea"); this._actions.onItemClick(changedArgs); if (this._isDefaultItem(commandName)) { var targetFileItems = this._isIsolatedCreationItemCommand(commandName) ? null : this._targetFileItems; this._commandManager.executeCommand(commandName, targetFileItems) } }; _proto._initActions = function() { this._actions = { onContextMenuHidden: this._createActionByOption("onContextMenuHidden"), onContextMenuShowing: this._createActionByOption("onContextMenuShowing"), onItemClick: this._createActionByOption("onItemClick") } }; _proto._onContextMenuShowing = function(e) { if (this._isVisible) { this._onContextMenuHidden(true) } e = (0, _extend.extend)(e, this._menuShowingContext, { options: this.option(), cancel: false }); this._actions.onContextMenuShowing(e); if (!e.cancel) { var items = this.createContextMenuItems(this._menuShowingContext.fileItems, null, this._menuShowingContext.fileSystemItem); this._contextMenu.option("dataSource", items) } }; _proto.tryUpdateVisibleContextMenu = function() { if (this._isVisible) { var items = this.createContextMenuItems(this._targetFileItems); this._contextMenu.option("dataSource", items) } }; _proto._onContextMenuShown = function() { this._isVisible = true }; _proto._onContextMenuHidden = function(preserveContext) { this._isVisible = false; if (!preserveContext) { this._menuShowingContext = {} } this._contextMenu.option("visible", false); this._raiseContextMenuHidden() }; _proto._raiseContextMenuHidden = function() { this._actions.onContextMenuHidden() }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { commandManager: null, onContextMenuHidden: null, onItemClick: null }) }; _proto._optionChanged = function(args) { var name = args.name; switch (name) { case "commandManager": this.repaint(); break; case "items": this.tryUpdateVisibleContextMenu(); break; case "onItemClick": case "onContextMenuShowing": case "onContextMenuHidden": this._actions[name] = this._createActionByOption(name); break; default: _Widget.prototype._optionChanged.call(this, args) } }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(FileManagerContextMenu, [{ key: "_commandManager", get: function() { return this.option("commandManager") } }]); return FileManagerContextMenu }(_ui.default); var _default = FileManagerContextMenu; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 76650: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.dialog.delete_item.js ***! \***************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _scroll_view = _interopRequireDefault(__webpack_require__( /*! ../scroll_view */ 4741)); var _uiFile_manager = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.dialog */ 62567)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FileManagerDeleteItemDialog = function(_FileManagerDialogBas) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerDeleteItemDialog, _FileManagerDialogBas); function FileManagerDeleteItemDialog() { return _FileManagerDialogBas.apply(this, arguments) || this } var _proto = FileManagerDeleteItemDialog.prototype; _proto.show = function(_ref) { var itemName = _ref.itemName, itemCount = _ref.itemCount; var text = 1 === itemCount ? _message.default.format("dxFileManager-dialogDeleteItemSingleItemConfirmation", itemName) : _message.default.format("dxFileManager-dialogDeleteItemMultipleItemsConfirmation", itemCount); if (this._$text) { this._$text.text(text) } else { this._initialText = text } _FileManagerDialogBas.prototype.show.call(this) }; _proto._getDialogOptions = function() { return (0, _extend.extend)(_FileManagerDialogBas.prototype._getDialogOptions.call(this), { title: _message.default.format("dxFileManager-dialogDeleteItemTitle"), buttonText: _message.default.format("dxFileManager-dialogDeleteItemButtonText"), contentCssClass: "dx-filemanager-dialog-delete-item", popupCssClass: "dx-filemanager-dialog-delete-item-popup", height: "auto", maxHeight: "80vh" }) }; _proto._createContentTemplate = function(element) { _FileManagerDialogBas.prototype._createContentTemplate.call(this, element); this._$text = (0, _renderer.default)("<div>").text(this._initialText).appendTo(this._$contentElement); this._createComponent(this._$contentElement, _scroll_view.default, { width: "100%", height: "100%" }) }; _proto._getDialogResult = function() { return {} }; return FileManagerDeleteItemDialog }(_uiFile_manager.default); var _default = FileManagerDeleteItemDialog; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 5760: /*!******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.dialog.folder_chooser.js ***! \******************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _uiFile_manager = __webpack_require__( /*! ./ui.file_manager.common */ 75084); var _uiFile_manager2 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.dialog */ 62567)); var _uiFile_manager3 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.files_tree_view */ 48156)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FileManagerFolderChooserDialog = function(_FileManagerDialogBas) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerFolderChooserDialog, _FileManagerDialogBas); function FileManagerFolderChooserDialog() { return _FileManagerDialogBas.apply(this, arguments) || this } var _proto = FileManagerFolderChooserDialog.prototype; _proto.show = function() { var _this$_filesTreeView; this._setSelectedDirInfo(null); null === (_this$_filesTreeView = this._filesTreeView) || void 0 === _this$_filesTreeView ? void 0 : _this$_filesTreeView.refresh(); _FileManagerDialogBas.prototype.show.call(this) }; _proto.switchToCopyDialog = function(targetItemInfos) { this._targetItemInfos = targetItemInfos; this._setTitle(_message.default.format("dxFileManager-dialogDirectoryChooserCopyTitle")); this._setApplyButtonOptions({ text: _message.default.format("dxFileManager-dialogDirectoryChooserCopyButtonText"), disabled: true }) }; _proto.switchToMoveDialog = function(targetItemInfos) { this._targetItemInfos = targetItemInfos; this._setTitle(_message.default.format("dxFileManager-dialogDirectoryChooserMoveTitle")); this._setApplyButtonOptions({ text: _message.default.format("dxFileManager-dialogDirectoryChooserMoveButtonText"), disabled: true }) }; _proto._getDialogOptions = function() { return (0, _extend.extend)(_FileManagerDialogBas.prototype._getDialogOptions.call(this), { contentCssClass: "dx-filemanager-dialog-folder-chooser", popupCssClass: "dx-filemanager-dialog-folder-chooser-popup" }) }; _proto._createContentTemplate = function(element) { var _this = this; _FileManagerDialogBas.prototype._createContentTemplate.call(this, element); this._filesTreeView = this._createComponent((0, _renderer.default)("<div>"), _uiFile_manager3.default, { getDirectories: this.option("getDirectories"), getCurrentDirectory: function() { return _this._getDialogSelectedDirectory() }, onDirectoryClick: function(e) { return _this._onFilesTreeViewDirectoryClick(e) }, onFilesTreeViewContentReady: function() { return _this._toggleUnavailableLocationsDisabled(true) } }); this._$contentElement.append(this._filesTreeView.$element()) }; _proto._getDialogResult = function() { var result = this._getDialogSelectedDirectory(); return result ? { folder: result } : result }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_FileManagerDialogBas.prototype._getDefaultOptions.call(this), { getItems: null }) }; _proto._getDialogSelectedDirectory = function() { return this._selectedDirectoryInfo }; _proto._onFilesTreeViewDirectoryClick = function(_ref) { var itemData = _ref.itemData; this._setSelectedDirInfo(itemData); this._filesTreeView.updateCurrentDirectory() }; _proto._setSelectedDirInfo = function(dirInfo) { this._selectedDirectoryInfo = dirInfo; this._setApplyButtonOptions({ disabled: !dirInfo }) }; _proto._onPopupShown = function() { this._toggleUnavailableLocationsDisabled(true); _FileManagerDialogBas.prototype._onPopupShown.call(this) }; _proto._onPopupHidden = function() { this._toggleUnavailableLocationsDisabled(false); _FileManagerDialogBas.prototype._onPopupHidden.call(this) }; _proto._toggleUnavailableLocationsDisabled = function(isDisabled) { var _this2 = this; if (!this._filesTreeView) { return } var locations = this._getLocationsToProcess(isDisabled); this._filesTreeView.toggleDirectoryExpandedStateRecursive(locations.locationsToExpand[0], isDisabled).then((function() { return _this2._filesTreeView.toggleDirectoryLineExpandedState(locations.locationsToCollapse, !isDisabled).then((function() { return locations.locationKeysToDisable.forEach((function(key) { return _this2._filesTreeView.toggleNodeDisabledState(key, isDisabled) })) })) })) }; _proto._getLocationsToProcess = function(isDisabled) { var _expandMap$keys; var expandLocations = {}; var collapseLocations = {}; this._targetItemInfos.forEach((function(itemInfo) { if (itemInfo.parentDirectory) { expandLocations[itemInfo.parentDirectory.getInternalKey()] = itemInfo.parentDirectory } if (itemInfo.fileItem.isDirectory) { collapseLocations[itemInfo.getInternalKey()] = itemInfo } })); var expandMap = (0, _uiFile_manager.getMapFromObject)(expandLocations); var collapseMap = (0, _uiFile_manager.getMapFromObject)(collapseLocations); return { locationsToExpand: isDisabled ? expandMap.values : [], locationsToCollapse: isDisabled ? collapseMap.values : [], locationKeysToDisable: (_expandMap$keys = expandMap.keys).concat.apply(_expandMap$keys, _toConsumableArray(collapseMap.keys)) } }; return FileManagerFolderChooserDialog }(_uiFile_manager2.default); var _default = FileManagerFolderChooserDialog; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 62567: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.dialog.js ***! \***************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../popup/ui.popup */ 51495)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FileManagerDialogBase = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerDialogBase, _Widget); function FileManagerDialogBase() { return _Widget.apply(this, arguments) || this } var _proto = FileManagerDialogBase.prototype; _proto._initMarkup = function() { var _options$popupCssClas, _this = this; _Widget.prototype._initMarkup.call(this); this._createOnClosedAction(); var options = this._getDialogOptions(); var $popup = (0, _renderer.default)("<div>").appendTo(this.$element()); var popupOptions = { showTitle: true, title: options.title, visible: false, hideOnOutsideClick: true, contentTemplate: this._createContentTemplate.bind(this), toolbarItems: [{ widget: "dxButton", toolbar: "bottom", location: "after", options: { text: options.buttonText, onClick: this._applyDialogChanges.bind(this) } }, { widget: "dxButton", toolbar: "bottom", location: "after", options: { text: _message.default.format("dxFileManager-dialogButtonCancel"), onClick: this._closeDialog.bind(this) } }], onInitialized: function(_ref) { var component = _ref.component; component.registerKeyHandler("enter", _this._applyDialogChanges.bind(_this)) }, onHidden: this._onPopupHidden.bind(this), onShown: this._onPopupShown.bind(this), _wrapperClassExternal: "".concat("dx-filemanager-dialog-popup", " ").concat(null !== (_options$popupCssClas = options.popupCssClass) && void 0 !== _options$popupCssClas ? _options$popupCssClas : "") }; if ((0, _type.isDefined)(options.height)) { popupOptions.height = options.height } if ((0, _type.isDefined)(options.maxHeight)) { popupOptions.maxHeight = options.maxHeight } this._popup = this._createComponent($popup, _ui2.default, popupOptions) }; _proto.show = function() { this._dialogResult = null; this._popup.show() }; _proto._getDialogOptions = function() { return { title: "Title", buttonText: "ButtonText", contentCssClass: "", popupCssClass: "" } }; _proto._createContentTemplate = function(element) { this._$contentElement = (0, _renderer.default)("<div>").appendTo(element).addClass("dx-filemanager-dialog"); var cssClass = this._getDialogOptions().contentCssClass; if (cssClass) { this._$contentElement.addClass(cssClass) } }; _proto._getDialogResult = function() { return null }; _proto._applyDialogChanges = function() { var result = this._getDialogResult(); if (result) { this._dialogResult = result; this._closeDialog() } }; _proto._closeDialog = function() { this._popup.hide() }; _proto._onPopupHidden = function() { this._onClosedAction({ dialogResult: this._dialogResult }) }; _proto._onPopupShown = function() {}; _proto._createOnClosedAction = function() { this._onClosedAction = this._createActionByOption("onClosed") }; _proto._setTitle = function(newTitle) { this._popup.option("title", newTitle) }; _proto._setApplyButtonOptions = function(options) { this._popup.option("toolbarItems[0].options", options) }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { onClosed: null }) }; _proto._optionChanged = function(args) { var name = args.name; switch (name) { case "onClosed": this._createOnPathChangedAction(); break; default: _Widget.prototype._optionChanged.call(this, args) } }; return FileManagerDialogBase }(_ui.default); var _default = FileManagerDialogBase; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 83044: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.dialog.name_editor.js ***! \***************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _text_box = _interopRequireDefault(__webpack_require__( /*! ../text_box */ 29837)); var _uiFile_manager = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.dialog */ 62567)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FileManagerNameEditorDialog = function(_FileManagerDialogBas) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerNameEditorDialog, _FileManagerDialogBas); function FileManagerNameEditorDialog() { return _FileManagerDialogBas.apply(this, arguments) || this } var _proto = FileManagerNameEditorDialog.prototype; _proto.show = function(name) { name = name || ""; if (this._nameTextBox) { this._nameTextBox.option("value", name) } else { this._initialNameValue = name } _FileManagerDialogBas.prototype.show.call(this) }; _proto._onPopupShown = function() { if (!this._nameTextBox) { return } var $textBoxInput = this._nameTextBox._input(); $textBoxInput.length && $textBoxInput[0].select(); this._nameTextBox.focus() }; _proto._getDialogOptions = function() { return (0, _extend.extend)(_FileManagerDialogBas.prototype._getDialogOptions.call(this), { title: this.option("title"), buttonText: this.option("buttonText"), contentCssClass: "dx-filemanager-dialog-name-editor", popupCssClass: "dx-filemanager-dialog-name-editor-popup" }) }; _proto._createContentTemplate = function(element) { var _this = this; _FileManagerDialogBas.prototype._createContentTemplate.call(this, element); this._nameTextBox = this._createComponent((0, _renderer.default)("<div>"), _text_box.default, { value: this._initialNameValue, onEnterKey: function() { return _this._hasCompositionJustEnded && _this._applyDialogChanges() }, onKeyDown: function(e) { return _this._checkCompositionEnded(e) } }); this._$contentElement.append(this._nameTextBox.$element()) }; _proto._checkCompositionEnded = function(_ref) { var event = _ref.event; this._hasCompositionJustEnded = 229 !== event.which }; _proto._getDialogResult = function() { var nameValue = this._nameTextBox.option("value"); return nameValue ? { name: nameValue } : null }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_FileManagerDialogBas.prototype._getDefaultOptions.call(this), { title: "", buttonText: "" }) }; return FileManagerNameEditorDialog }(_uiFile_manager.default); var _default = FileManagerNameEditorDialog; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 87444: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.dialog_manager.js ***! \***********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _uiFile_managerDialog = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.dialog.name_editor */ 83044)); var _uiFile_managerDialog2 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.dialog.folder_chooser */ 5760)); var _uiFile_managerDialog3 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.dialog.delete_item */ 76650)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var FileManagerDialogManager = function() { function FileManagerDialogManager($element, options) { this._$element = $element; this._options = options; var baseDialogOptions = { onClosed: this._options.onDialogClosed, rtlEnabled: this._options.rtlEnabled }; var $chooseFolderDialog = (0, _renderer.default)("<div>").appendTo(this._$element); this._chooseDirectoryDialog = new _uiFile_managerDialog2.default($chooseFolderDialog, (0, _extend.extend)(baseDialogOptions, this._options.chooseDirectoryDialog)); var $renameDialog = (0, _renderer.default)("<div>").appendTo(this._$element); this._renameItemDialog = new _uiFile_managerDialog.default($renameDialog, (0, _extend.extend)(baseDialogOptions, { title: _message.default.format("dxFileManager-dialogRenameItemTitle"), buttonText: _message.default.format("dxFileManager-dialogRenameItemButtonText") })); var $createDialog = (0, _renderer.default)("<div>").appendTo(this._$element); this._createItemDialog = new _uiFile_managerDialog.default($createDialog, (0, _extend.extend)(baseDialogOptions, { title: _message.default.format("dxFileManager-dialogCreateDirectoryTitle"), buttonText: _message.default.format("dxFileManager-dialogCreateDirectoryButtonText") })); var $deleteItemDialog = (0, _renderer.default)("<div>").appendTo(this._$element); this._deleteItemDialog = new _uiFile_managerDialog3.default($deleteItemDialog, baseDialogOptions) } var _proto = FileManagerDialogManager.prototype; _proto.getCopyDialog = function(targetItemInfos) { this._chooseDirectoryDialog.switchToCopyDialog(targetItemInfos); return this._chooseDirectoryDialog }; _proto.getMoveDialog = function(targetItemInfos) { this._chooseDirectoryDialog.switchToMoveDialog(targetItemInfos); return this._chooseDirectoryDialog }; _proto.getRenameItemDialog = function() { return this._renameItemDialog }; _proto.getCreateItemDialog = function() { return this._createItemDialog }; _proto.getDeleteItemDialog = function() { return this._deleteItemDialog }; _proto.updateDialogRtl = function(value) { [this._chooseDirectoryDialog, this._renameItemDialog, this._createItemDialog, this._deleteItemDialog].forEach((function(dialog) { dialog.option("rtlEnabled", value) })) }; return FileManagerDialogManager }(); var _default = FileManagerDialogManager; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 86471: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.editing.js ***! \****************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _string = __webpack_require__( /*! ../../core/utils/string */ 68752); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _uiFile_manager = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.dialog_manager */ 87444)); var _uiFile_manager2 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.file_uploader */ 21089)); var _uiFile_manager3 = __webpack_require__( /*! ./ui.file_manager.messages */ 17053); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FileManagerEditingControl = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerEditingControl, _Widget); function FileManagerEditingControl() { return _Widget.apply(this, arguments) || this } var _proto = FileManagerEditingControl.prototype; _proto._initMarkup = function() { _Widget.prototype._initMarkup.call(this); this._initActions(); this._controller = this.option("controller"); this._controller.on("EditActionStarting", this._onEditActionStarting.bind(this)); this._controller.on("EditActionResultAcquired", this._onEditActionResultAcquired.bind(this)); this._controller.on("EditActionItemError", this._onEditActionItemError.bind(this)); this._controller.on("EditActionError", this._onEditActionError.bind(this)); this._controller.on("CompleteEditActionItem", this._onCompleteEditActionItem.bind(this)); this._controller.on("CompleteEditAction", this._onCompleteEditAction.bind(this)); this._model = this.option("model"); this._uploadOperationInfoMap = {}; this._dialogManager = new _uiFile_manager.default(this.$element(), { chooseDirectoryDialog: { provider: this._controller._fileProvider, getDirectories: this._controller.getDirectories.bind(this._controller), getCurrentDirectory: this._controller.getCurrentDirectory.bind(this._controller) }, rtlEnabled: this.option("rtlEnabled"), onDialogClosed: this._onDialogClosed.bind(this) }); this._fileUploader = this._createFileUploader(); var notificationControl = this.option("notificationControl"); if (notificationControl) { this._initNotificationControl(notificationControl) } this._createMetadataMap() }; _proto._initNotificationControl = function(notificationControl) { var _this = this; this._notificationControl = notificationControl; this._notificationControl.option({ onOperationCanceled: function(_ref) { var info = _ref.info; return _this._onCancelUploadSession(info) }, onOperationItemCanceled: function(_ref2) { var item = _ref2.item, itemIndex = _ref2.itemIndex; return _this._onCancelFileUpload(item, itemIndex) } }) }; _proto._getFileUploaderComponent = function() { return _uiFile_manager2.default }; _proto._createFileUploader = function() { var _this2 = this; var $fileUploader = (0, _renderer.default)("<div>").appendTo(this.$element()); return this._createComponent($fileUploader, this._getFileUploaderComponent(), { getController: this._getFileUploaderController.bind(this), dropZonePlaceholderContainer: this.option("uploadDropZonePlaceholderContainer"), onUploadSessionStarted: function(e) { return _this2._onUploadSessionStarted(e) }, onUploadProgress: function(e) { return _this2._onUploadProgress(e) }, onUploadFinished: function(e) { return _this2._onUploadFinished(e) } }) }; _proto.setUploaderDropZone = function($element) { this._fileUploader.option("dropZone", $element) }; _proto.setUploaderSplitterElement = function(element) { this._fileUploader.option("splitterElement", element) }; _proto._getFileUploaderController = function() { var _this3 = this; var uploadDirectory = this.uploadDirectoryInfo.fileItem; return { chunkSize: this._controller.getFileUploadChunkSize(), uploadFileChunk: function(fileData, chunksInfo) { return _this3._controller.uploadFileChunk(fileData, chunksInfo, uploadDirectory) }, abortFileUpload: function(fileData, chunksInfo) { return _this3._controller.abortFileUpload(fileData, chunksInfo, uploadDirectory) } } }; _proto._createMetadataMap = function() { var _this4 = this; this._metadataMap = { create: { action: function(arg) { return _this4._tryCreate(arg) }, affectsAllItems: true, singleItemProcessingMessage: _message.default.format("dxFileManager-editingCreateSingleItemProcessingMessage"), singleItemSuccessMessage: _message.default.format("dxFileManager-editingCreateSingleItemSuccessMessage"), singleItemErrorMessage: _message.default.format("dxFileManager-editingCreateSingleItemErrorMessage"), commonErrorMessage: _message.default.format("dxFileManager-editingCreateCommonErrorMessage") }, rename: { action: function(arg) { return _this4._tryRename(arg) }, singleItemProcessingMessage: _message.default.format("dxFileManager-editingRenameSingleItemProcessingMessage"), singleItemSuccessMessage: _message.default.format("dxFileManager-editingRenameSingleItemSuccessMessage"), singleItemErrorMessage: _message.default.format("dxFileManager-editingRenameSingleItemErrorMessage"), commonErrorMessage: _message.default.format("dxFileManager-editingRenameCommonErrorMessage") }, delete: { action: function(arg) { return _this4._tryDelete(arg) }, singleItemProcessingMessage: _message.default.format("dxFileManager-editingDeleteSingleItemProcessingMessage"), multipleItemsProcessingMessage: _message.default.format("dxFileManager-editingDeleteMultipleItemsProcessingMessage"), singleItemSuccessMessage: _message.default.format("dxFileManager-editingDeleteSingleItemSuccessMessage"), multipleItemsSuccessMessage: _message.default.format("dxFileManager-editingDeleteMultipleItemsSuccessMessage"), singleItemErrorMessage: _message.default.format("dxFileManager-editingDeleteSingleItemErrorMessage"), multipleItemsErrorMessage: _message.default.format("dxFileManager-editingDeleteMultipleItemsErrorMessage"), commonErrorMessage: _message.default.format("dxFileManager-editingDeleteCommonErrorMessage") }, move: { action: function(arg) { return _this4._tryMove(arg) }, singleItemProcessingMessage: _message.default.format("dxFileManager-editingMoveSingleItemProcessingMessage"), multipleItemsProcessingMessage: _message.default.format("dxFileManager-editingMoveMultipleItemsProcessingMessage"), singleItemSuccessMessage: _message.default.format("dxFileManager-editingMoveSingleItemSuccessMessage"), multipleItemsSuccessMessage: _message.default.format("dxFileManager-editingMoveMultipleItemsSuccessMessage"), singleItemErrorMessage: _message.default.format("dxFileManager-editingMoveSingleItemErrorMessage"), multipleItemsErrorMessage: _message.default.format("dxFileManager-editingMoveMultipleItemsErrorMessage"), commonErrorMessage: _message.default.format("dxFileManager-editingMoveCommonErrorMessage") }, copy: { action: function(arg) { return _this4._tryCopy(arg) }, singleItemProcessingMessage: _message.default.format("dxFileManager-editingCopySingleItemProcessingMessage"), multipleItemsProcessingMessage: _message.default.format("dxFileManager-editingCopyMultipleItemsProcessingMessage"), singleItemSuccessMessage: _message.default.format("dxFileManager-editingCopySingleItemSuccessMessage"), multipleItemsSuccessMessage: _message.default.format("dxFileManager-editingCopyMultipleItemsSuccessMessage"), singleItemErrorMessage: _message.default.format("dxFileManager-editingCopySingleItemErrorMessage"), multipleItemsErrorMessage: _message.default.format("dxFileManager-editingCopyMultipleItemsErrorMessage"), commonErrorMessage: _message.default.format("dxFileManager-editingCopyCommonErrorMessage") }, upload: { action: function(arg) { return _this4._tryUpload(arg) }, allowCancel: true, allowItemProgress: true, singleItemProcessingMessage: _message.default.format("dxFileManager-editingUploadSingleItemProcessingMessage"), multipleItemsProcessingMessage: _message.default.format("dxFileManager-editingUploadMultipleItemsProcessingMessage"), singleItemSuccessMessage: _message.default.format("dxFileManager-editingUploadSingleItemSuccessMessage"), multipleItemsSuccessMessage: _message.default.format("dxFileManager-editingUploadMultipleItemsSuccessMessage"), singleItemErrorMessage: _message.default.format("dxFileManager-editingUploadSingleItemErrorMessage"), multipleItemsErrorMessage: _message.default.format("dxFileManager-editingUploadMultipleItemsErrorMessage"), canceledMessage: _message.default.format("dxFileManager-editingUploadCanceledMessage") }, download: { action: function(arg) { return _this4._download(arg) }, singleItemProcessingMessage: "", multipleItemsProcessingMessage: "", singleItemErrorMessage: _message.default.format("dxFileManager-editingDownloadSingleItemErrorMessage"), multipleItemsErrorMessage: _message.default.format("dxFileManager-editingDownloadMultipleItemsErrorMessage") }, getItemContent: { action: function(arg) { return _this4._getItemContent(arg) } }, getItems: { singleItemProcessingMessage: "", singleItemErrorMessage: _message.default.format("dxFileManager-errorDirectoryOpenFailed"), commonErrorMessage: _message.default.format("dxFileManager-errorDirectoryOpenFailed") } } }; _proto.getCommandActions = function() { var _this5 = this; var result = {}; (0, _iterator.each)(this._metadataMap, (function(name) { if (Object.prototype.hasOwnProperty.call(_this5._metadataMap, name)) { result[name] = function(arg) { return _this5._executeAction(name, arg) } } })); return result }; _proto._executeAction = function(actionName, arg) { var actionMetadata = this._metadataMap[actionName]; return actionMetadata ? actionMetadata.action(arg) : null }; _proto._onCancelUploadSession = function(info) { this._fileUploader.cancelUpload(info.uploadSessionId) }; _proto._onCancelFileUpload = function(item, itemIndex) { this._fileUploader.cancelFileUpload(item.info.uploadSessionId, itemIndex) }; _proto._onUploadProgress = function(_ref3) { var sessionId = _ref3.sessionId, fileIndex = _ref3.fileIndex, commonValue = _ref3.commonValue, fileValue = _ref3.fileValue; var operationInfo = this._uploadOperationInfoMap[sessionId].operationInfo; this._notificationControl.updateOperationItemProgress(operationInfo, fileIndex, 100 * fileValue, 100 * commonValue) }; _proto._onUploadFinished = function(_ref4) { var sessionId = _ref4.sessionId, commonValue = _ref4.commonValue; var operationInfo = this._uploadOperationInfoMap[sessionId].operationInfo; this._notificationControl.finishOperation(operationInfo, 100 * commonValue); this._scheduleUploadSessionDisposal(sessionId, "uploader") }; _proto._onUploadSessionStarted = function(_ref5) { var sessionInfo = _ref5.sessionInfo; this._controller.processUploadSession(sessionInfo, this.uploadDirectoryInfo) }; _proto._onEditActionStarting = function(actionInfo) { var actionMetadata = this._metadataMap[actionInfo.name]; var context = new FileManagerActionContext(actionMetadata, actionInfo.itemInfos, actionInfo.directory); var operationInfo = this._notificationControl.addOperation(context.processingMessage, actionMetadata.allowCancel, !actionMetadata.allowItemProgress); (0, _extend.extend)(actionInfo.customData, { context: context, operationInfo: operationInfo }); switch (actionInfo.name) { case "upload": var sessionId = actionInfo.customData.sessionInfo.sessionId; operationInfo.uploadSessionId = sessionId; this._uploadOperationInfoMap[sessionId] = { operationInfo: operationInfo }; break; case "rename": actionInfo.customData.context.itemNewName = actionInfo.customData.itemNewName } }; _proto._onEditActionResultAcquired = function(actionInfo) { var _this6 = this; var _actionInfo$customDat = actionInfo.customData, context = _actionInfo$customDat.context, operationInfo = _actionInfo$customDat.operationInfo; context.singleRequest = actionInfo.singleRequest; var details = context.itemInfos.map((function(itemInfo) { return _this6._getItemProgressDisplayInfo(itemInfo) })); this._notificationControl.addOperationDetails(operationInfo, details, context.actionMetadata.allowCancel) }; _proto._onEditActionError = function(actionInfo, errorInfo) { var _actionInfo$customDat2 = actionInfo.customData, context = _actionInfo$customDat2.context, operationInfo = _actionInfo$customDat2.operationInfo; context.singleRequest = actionInfo.singleRequest; this._handleActionError(operationInfo, context, errorInfo); this._completeAction(operationInfo, context) }; _proto._onEditActionItemError = function(actionInfo, errorInfo) { var _actionInfo$customDat3 = actionInfo.customData, context = _actionInfo$customDat3.context, operationInfo = _actionInfo$customDat3.operationInfo; this._handleActionError(operationInfo, context, errorInfo) }; _proto._onCompleteEditActionItem = function(actionInfo, info) { var _actionInfo$customDat4 = actionInfo.customData, context = _actionInfo$customDat4.context, operationInfo = _actionInfo$customDat4.operationInfo; if (!info.result || !info.result.canceled) { context.completeOperationItem(info.index); this._notificationControl.completeOperationItem(operationInfo, info.index, context.commonProgress) } }; _proto._onCompleteEditAction = function(actionInfo) { var _actionInfo$customDat5 = actionInfo.customData, context = _actionInfo$customDat5.context, operationInfo = _actionInfo$customDat5.operationInfo; this._completeAction(operationInfo, context); if ("upload" === actionInfo.name) { this._scheduleUploadSessionDisposal(actionInfo.customData.sessionInfo.sessionId, "controller") } }; _proto._scheduleUploadSessionDisposal = function(sessionId, requester) { if ((0, _type.isDefined)(this._uploadOperationInfoMap[sessionId].requester) && this._uploadOperationInfoMap[sessionId].requester !== requester) { delete this._uploadOperationInfoMap[sessionId] } else { this._uploadOperationInfoMap[sessionId].requester = requester } }; _proto._tryCreate = function(parentDirectories) { var _this7 = this; var parentDirectoryInfo = parentDirectories && parentDirectories[0] || this._getCurrentDirectory(); var newDirName = _message.default.format("dxFileManager-newDirectoryName"); return this._showDialog(this._dialogManager.getCreateItemDialog(), newDirName).then((function(_ref6) { var name = _ref6.name; return _this7._controller.createDirectory(parentDirectoryInfo, name) })) }; _proto._tryRename = function(itemInfos) { var _this8 = this; var itemInfo = itemInfos && itemInfos[0] || this._model.getMultipleSelectedItems()[0]; if (!itemInfo) { return (new _deferred.Deferred).reject().promise() } return this._showDialog(this._dialogManager.getRenameItemDialog(), itemInfo.fileItem.name).then((function(_ref7) { var name = _ref7.name; return _this8._controller.renameItem(itemInfo, name) })) }; _proto._tryDelete = function(itemInfos) { var _this9 = this; itemInfos = itemInfos || this._model.getMultipleSelectedItems(); if (0 === itemInfos.length) { return (new _deferred.Deferred).reject().promise() } var itemName = itemInfos[0].fileItem.name; var itemCount = itemInfos.length; return this._showDialog(this._dialogManager.getDeleteItemDialog(), { itemName: itemName, itemCount: itemCount }).then((function() { return _this9._controller.deleteItems(itemInfos) })) }; _proto._tryMove = function(itemInfos) { var _this10 = this; itemInfos = itemInfos || this._model.getMultipleSelectedItems(); if (0 === itemInfos.length) { return (new _deferred.Deferred).reject().promise() } return this._showDialog(this._dialogManager.getMoveDialog(itemInfos)).then((function(_ref8) { var folder = _ref8.folder; return _this10._controller.moveItems(itemInfos, folder) })) }; _proto._tryCopy = function(itemInfos) { var _this11 = this; itemInfos = itemInfos || this._model.getMultipleSelectedItems(); if (0 === itemInfos.length) { return (new _deferred.Deferred).reject().promise() } return this._showDialog(this._dialogManager.getCopyDialog(itemInfos)).then((function(_ref9) { var folder = _ref9.folder; return _this11._controller.copyItems(itemInfos, folder) })) }; _proto._tryUpload = function(destinationFolder) { this._uploadDirectoryInfo = null === destinationFolder || void 0 === destinationFolder ? void 0 : destinationFolder[0]; this._fileUploader.tryUpload() }; _proto._download = function(itemInfos) { itemInfos = itemInfos || this._model.getMultipleSelectedItems(); if (0 === itemInfos.length) { return (new _deferred.Deferred).reject().promise() } return this._controller.downloadItems(itemInfos) }; _proto._getItemContent = function(itemInfos) { itemInfos = itemInfos || this._model.getMultipleSelectedItems(); return this._controller.getItemContent(itemInfos) }; _proto._completeAction = function(operationInfo, context) { this._notificationControl.completeOperation(operationInfo, context.completionMessage, !context.success, context.statusText); if (context.hasModifiedItems()) { this._raiseOnSuccess(context.onlyFiles) } }; _proto._handleActionError = function(operationInfo, context, errorInfo) { operationInfo.hasError = true; if (context.singleRequest) { this._handleSingleRequestActionError(operationInfo, context, errorInfo) } else { this._handleMultipleRequestActionError(operationInfo, context, errorInfo) } }; _proto._handleSingleRequestActionError = function(operationInfo, context, errorInfo) { var itemInfo = context.getItemForSingleRequestError(); var itemName = context.getItemName(errorInfo.errorCode); var errorText = this._getErrorText(errorInfo, itemInfo, itemName); context.processSingleRequestError(errorText); var operationErrorInfo = this._getOperationErrorInfo(context); this._notificationControl.completeSingleOperationWithError(operationInfo, operationErrorInfo); if (context.multipleItems) { this._raiseOnSuccess(context.onlyFiles) } }; _proto._handleMultipleRequestActionError = function(operationInfo, context, errorInfo) { var itemInfo = context.getItemForMultipleRequestError(errorInfo.index); var itemName = context.getItemName(errorInfo.errorCode, errorInfo.index); var errorText = this._getErrorText(errorInfo, itemInfo, itemName); context.processMultipleRequestError(errorInfo.index, errorText); var operationErrorInfo = this._getOperationErrorInfo(context); this._notificationControl.addOperationDetailsError(operationInfo, operationErrorInfo) }; _proto._getOperationErrorInfo = function(context) { var detailError = context.errorState.currentDetailError; return { commonErrorText: context.errorState.commonErrorText, item: detailError.itemInfo ? this._getItemProgressDisplayInfo(detailError.itemInfo) : null, itemIndex: detailError.itemIndex, detailErrorText: detailError.errorText } }; _proto._getErrorText = function(errorInfo, itemInfo, itemName) { var errorText = errorInfo.errorText || _uiFile_manager3.FileManagerMessages.get(errorInfo.errorCode, itemName); var errorArgs = { fileSystemItem: null === itemInfo || void 0 === itemInfo ? void 0 : itemInfo.fileItem, errorCode: errorInfo.errorCode, errorText: errorText }; this._raiseOnError(errorArgs); return errorArgs.errorText }; _proto._getItemProgressDisplayInfo = function(itemInfo) { return { commonText: itemInfo.fileItem.name, imageUrl: this._getItemThumbnail(itemInfo) } }; _proto._showDialog = function(dialog, dialogArgument) { this._dialogDeferred = new _deferred.Deferred; dialog.show(dialogArgument); return this._dialogDeferred.promise() }; _proto._onDialogClosed = function(e) { var result = e.dialogResult; if (result) { this._dialogDeferred.resolve(result) } else { this._dialogDeferred.reject() } }; _proto.updateDialogRtl = function(value) { this._dialogManager.updateDialogRtl(value) }; _proto._getItemThumbnail = function(item) { var itemThumbnailGetter = this.option("getItemThumbnail"); if (!itemThumbnailGetter) { return null } var info = itemThumbnailGetter(item); return info ? info.thumbnail : null }; _proto._initActions = function() { this._actions = { onSuccess: this._createActionByOption("onSuccess"), onError: this._createActionByOption("onError") } }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { model: { getMultipleSelectedItems: null }, notificationControl: null, getItemThumbnail: null, onSuccess: null, onError: null }) }; _proto._optionChanged = function(args) { var name = args.name; switch (name) { case "model": this.repaint(); break; case "notificationControl": this._initNotificationControl(args.value); break; case "getItemThumbnail": break; case "uploadDropZonePlaceholderContainer": this._fileUploader.option("dropZonePlaceholderContainer", args.value); break; case "onSuccess": case "onError": this._actions[name] = this._createActionByOption(name); break; default: _Widget.prototype._optionChanged.call(this, args) } }; _proto._raiseOnSuccess = function(updatedOnlyFiles) { this._actions.onSuccess({ updatedOnlyFiles: updatedOnlyFiles }) }; _proto._raiseOnError = function(args) { this._actions.onError(args) }; _proto._getCurrentDirectory = function() { return this._controller.getCurrentDirectory() }; _createClass(FileManagerEditingControl, [{ key: "uploadDirectoryInfo", get: function() { return this._uploadDirectoryInfo || this._getCurrentDirectory() } }]); return FileManagerEditingControl }(_ui.default); var FileManagerActionContext = function() { function FileManagerActionContext(actionMetadata, itemInfos, directoryInfo) { this._actionMetadata = actionMetadata; this._itemInfos = itemInfos; this._onlyFiles = !this._actionMetadata.affectsAllItems && this._itemInfos.every((function(info) { return !info.fileItem.isDirectory })); this._items = this._itemInfos.map((function(itemInfo) { return itemInfo.fileItem })); this._multipleItems = this._items.length > 1; this._location = directoryInfo.getDisplayName(); this._singleRequest = true; this._completedItems = []; this._commonProgress = 0; this._errorState = { failedCount: 0 }; this._itemNewName = "" } var _proto2 = FileManagerActionContext.prototype; _proto2.completeOperationItem = function(itemIndex) { if (this._singleRequest) { this._completedItems = _toConsumableArray(this._items) } else { var item = this._items[itemIndex]; this._completedItems.push(item) } if (!this._actionMetadata.allowItemProgress) { this._commonProgress = this._completedItems.length / this._items.length * 100 } }; _proto2.processSingleRequestError = function(errorText) { this._errorState.failedCount = 1; this._errorState.commonErrorText = this._multipleItems ? this._actionMetadata.commonErrorMessage : this._actionMetadata.singleItemErrorMessage; var itemIndex = this._multipleItems ? -1 : 1; var itemInfo = this.getItemForSingleRequestError(); this._setCurrentDetailError(itemIndex, itemInfo, errorText) }; _proto2.processMultipleRequestError = function(itemIndex, errorText) { this._errorState.failedCount++; this._errorState.commonErrorText = this._errorState.failedCount > 1 ? (0, _string.format)(this._actionMetadata.multipleItemsErrorMessage, this._errorState.failedCount) : this._actionMetadata.singleItemErrorMessage; var itemInfo = this.getItemForMultipleRequestError(itemIndex); this._setCurrentDetailError(itemIndex, itemInfo, errorText) }; _proto2.hasModifiedItems = function() { return this._hasCompletedItems() || this._singleRequest && !this.success && this._multipleItems }; _proto2.getItemForSingleRequestError = function() { return this._multipleItems ? null : this._itemInfos[0] }; _proto2.getItemForMultipleRequestError = function(itemIndex) { return this._itemInfos[itemIndex] }; _proto2.getItemName = function(errorCode, itemIndex) { var itemInfo = this.singleRequest ? this.getItemForSingleRequestError() : this.getItemForMultipleRequestError(itemIndex); var result = null === itemInfo || void 0 === itemInfo ? void 0 : itemInfo.fileItem.name; if (this.itemNewName && this._isItemExistsErrorCode(errorCode)) { result = this.itemNewName } return result }; _proto2._isItemExistsErrorCode = function(errorCode) { return errorCode === _uiFile_manager3.ErrorCode.DirectoryExists || errorCode === _uiFile_manager3.ErrorCode.FileExists }; _proto2._setCurrentDetailError = function(itemIndex, itemInfo, errorText) { this._errorState.currentDetailError = { itemIndex: itemIndex, itemInfo: itemInfo, errorText: errorText } }; _proto2._hasCompletedItems = function() { return this._completedItems.length > 0 }; _createClass(FileManagerActionContext, [{ key: "actionMetadata", get: function() { return this._actionMetadata } }, { key: "itemInfos", get: function() { return this._itemInfos } }, { key: "itemNewName", get: function() { return this._itemNewName }, set: function(value) { this._itemNewName = value } }, { key: "errorState", get: function() { return this._errorState } }, { key: "singleRequest", get: function() { return this._singleRequest }, set: function(value) { this._singleRequest = value } }, { key: "multipleItems", get: function() { return this._multipleItems } }, { key: "onlyFiles", get: function() { return this._onlyFiles } }, { key: "processingMessage", get: function() { return this._multipleItems ? (0, _string.format)(this._actionMetadata.multipleItemsProcessingMessage, this._items.length, this._location) : (0, _string.format)(this._actionMetadata.singleItemProcessingMessage, this._location) } }, { key: "successMessage", get: function() { if (this._hasCompletedItems()) { return this._multipleItems ? (0, _string.format)(this._actionMetadata.multipleItemsSuccessMessage, this._completedItems.length, this._location) : (0, _string.format)(this._actionMetadata.singleItemSuccessMessage, this._location) } else { return this._multipleItems ? (0, _string.format)(this._actionMetadata.multipleItemsErrorMessage, this._items.length) : this._actionMetadata.singleItemErrorMessage } } }, { key: "completionMessage", get: function() { return this.success ? this.successMessage : this.errorState.commonErrorText } }, { key: "statusText", get: function() { return this.success && !this._hasCompletedItems() ? this._actionMetadata.canceledMessage : void 0 } }, { key: "commonProgress", get: function() { return this._commonProgress } }, { key: "success", get: function() { return !this._errorState.failedCount } }]); return FileManagerActionContext }(); var _default = FileManagerEditingControl; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 68912: /*!****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.file_actions_button.js ***! \****************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _button = _interopRequireDefault(__webpack_require__( /*! ../button */ 63008)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FileManagerFileActionsButton = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerFileActionsButton, _Widget); function FileManagerFileActionsButton() { return _Widget.apply(this, arguments) || this } var _proto = FileManagerFileActionsButton.prototype; _proto._initMarkup = function() { var _this = this; this._createClickAction(); var $button = (0, _renderer.default)("<div>"); this.$element().append($button).addClass("dx-filemanager-file-actions-button"); this._button = this._createComponent($button, _button.default, { icon: "overflow", stylingMode: "text", onClick: function(e) { return _this._raiseClick(e) } }); _Widget.prototype._initMarkup.call(this) }; _proto._createClickAction = function() { this._clickAction = this._createActionByOption("onClick") }; _proto._raiseClick = function(e) { this._clickAction(e) }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { cssClass: "", onClick: null }) }; _proto._optionChanged = function(args) { var name = args.name; switch (name) { case "cssClass": this.repaint(); break; case "onClick": this._createClickAction(); break; default: _Widget.prototype._optionChanged.call(this, args) } }; _proto.setActive = function(active) { var _this2 = this; this.$element().toggleClass("dx-filemanager-file-actions-button-activated", active); setTimeout((function() { return _this2._button.$element().toggleClass("dx-state-active", active) })) }; return FileManagerFileActionsButton }(_ui.default); var _default = FileManagerFileActionsButton; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 21089: /*!**********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.file_uploader.js ***! \**********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _file_uploader = _interopRequireDefault(__webpack_require__( /*! ../file_uploader */ 53749)); var _uiFile_manager = __webpack_require__( /*! ./ui.file_manager.common */ 75084); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FileManagerFileUploader = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerFileUploader, _Widget); function FileManagerFileUploader() { return _Widget.apply(this, arguments) || this } var _proto = FileManagerFileUploader.prototype; _proto._initMarkup = function() { this._initActions(); this.$element().addClass("dx-filemanager-fileuploader"); this._uploaderInfos = []; this._createInternalFileUploader(); this._createDropZonePlaceholder(); this._setDropZonePlaceholderVisible(false); _Widget.prototype._initMarkup.call(this) }; _proto._createInternalFileUploader = function() { var _this = this; var chunkSize = this._getController().chunkSize; var $fileUploader = (0, _renderer.default)("<div>").appendTo(this.$element()); var fileUploader = this._createComponent($fileUploader, _file_uploader.default, { name: "file", multiple: true, showFileList: false, activeStateEnabled: false, focusStateEnabled: false, hoverStateEnabled: false, labelText: "", readyToUploadMessage: "", accept: "*", chunkSize: chunkSize, dropZone: this.option("dropZone"), onValueChanged: function(e) { return _this._onFileUploaderValueChanged(e) }, onProgress: function(e) { return _this._onFileUploaderProgress(e) }, onUploaded: function(e) { return _this._onFileUploaderUploaded(e) }, onFilesUploaded: function(e) { return _this._onFileUploaderAllFilesUploaded(e) }, onUploadAborted: function(e) { return _this._onFileUploaderUploadAborted(e) }, onUploadError: function(e) { return _this._onFileUploaderUploadError(e) }, onDropZoneEnter: function() { return _this._setDropZonePlaceholderVisible(true) }, onDropZoneLeave: function() { return _this._setDropZonePlaceholderVisible(false) } }); fileUploader.option({ uploadChunk: function(file, chunksData) { return _this._fileUploaderUploadChunk(fileUploader, file, chunksData) }, abortUpload: function(file, chunksData) { return _this._fileUploaderAbortUpload(fileUploader, file, chunksData) } }); fileUploader._shouldRaiseDragLeaveBase = fileUploader._shouldRaiseDragLeave; fileUploader._shouldRaiseDragLeave = function(e) { return _this._shouldRaiseDragLeave(e, fileUploader) }; var uploaderInfo = { fileUploader: fileUploader }; this._uploaderInfos.push(uploaderInfo) }; _proto.tryUpload = function() { var info = this._findAndUpdateAvailableUploaderInfo(); if (info) { info.fileUploader._selectButtonClickHandler() } }; _proto.cancelUpload = function(sessionId) { this._cancelUpload(sessionId) }; _proto.cancelFileUpload = function(sessionId, fileIndex) { this._cancelUpload(sessionId, fileIndex) }; _proto._cancelUpload = function(sessionId, fileIndex) { var _this$_findUploaderIn = this._findUploaderInfoBySessionId(sessionId), fileUploader = _this$_findUploaderIn.fileUploader; fileUploader.abortUpload(fileIndex) }; _proto._fileUploaderUploadChunk = function(fileUploader, file, chunksInfo) { var _this$_findSessionByF = this._findSessionByFile(fileUploader, file), session = _this$_findSessionByF.session, fileIndex = _this$_findSessionByF.fileIndex; var controller = session.controller; chunksInfo.fileIndex = fileIndex; return controller.uploadFileChunk(file, chunksInfo) }; _proto._fileUploaderAbortUpload = function(fileUploader, file, chunksInfo) { var _this$_findSessionByF2 = this._findSessionByFile(fileUploader, file), session = _this$_findSessionByF2.session, fileIndex = _this$_findSessionByF2.fileIndex; var controller = session.controller; chunksInfo.fileIndex = fileIndex; return controller.abortFileUpload(file, chunksInfo) }; _proto._onFileUploaderValueChanged = function(_ref) { var _this2 = this; var component = _ref.component, value = _ref.value; if (0 === value.length) { return } var files = value.slice(); var uploaderInfo = this._findUploaderInfo(component); this._uploadFiles(uploaderInfo, files); setTimeout((function() { if (!_this2._findAndUpdateAvailableUploaderInfo()) { _this2._createInternalFileUploader() } })) }; _proto._onFileUploaderProgress = function(_ref2) { var component = _ref2.component, file = _ref2.file, bytesLoaded = _ref2.bytesLoaded, bytesTotal = _ref2.bytesTotal; var _this$_findSessionByF3 = this._findSessionByFile(component, file), session = _this$_findSessionByF3.session, fileIndex = _this$_findSessionByF3.fileIndex; var fileValue = 0 !== bytesTotal ? bytesLoaded / bytesTotal : 1; var commonValue = component.option("progress") / 100; var args = { sessionId: session.id, fileIndex: fileIndex, commonValue: commonValue, fileValue: fileValue }; this._raiseUploadProgress(args) }; _proto._onFileUploaderAllFilesUploaded = function(_ref3) { var component = _ref3.component; var _this$_findSessionByF4 = this._findSessionByFile(component, component._files[0].value), session = _this$_findSessionByF4.session; this._raiseUploadFinished({ sessionId: session.id, commonValue: component.option("progress") / 100 }) }; _proto._onFileUploaderUploaded = function(_ref4) { var component = _ref4.component, file = _ref4.file; var deferred = this._getDeferredForFile(component, file); deferred.resolve() }; _proto._onFileUploaderUploadAborted = function(_ref5) { var component = _ref5.component, file = _ref5.file; var deferred = this._getDeferredForFile(component, file); deferred.resolve({ canceled: true }) }; _proto._onFileUploaderUploadError = function(_ref6) { var component = _ref6.component, file = _ref6.file, error = _ref6.error; var deferred = this._getDeferredForFile(component, file); deferred.reject(error) }; _proto._createDropZonePlaceholder = function() { this._$dropZonePlaceholder = (0, _renderer.default)("<div>").addClass("dx-filemanager-fileuploader-dropzone-placeholder").appendTo(this.option("dropZonePlaceholderContainer")) }; _proto._adjustDropZonePlaceholder = function() { var $dropZoneTarget = this.option("dropZone"); if (!(0, _window.hasWindow)() || 0 === $dropZoneTarget.length) { return } var placeholderBorderTopWidth = parseFloat(this._$dropZonePlaceholder.css("borderTopWidth")); var placeholderBorderLeftWidth = parseFloat(this._$dropZonePlaceholder.css("borderLeftWidth")); var $placeholderContainer = this.option("dropZonePlaceholderContainer"); var containerBorderBottomWidth = parseFloat($placeholderContainer.css("borderBottomWidth")); var containerBorderLeftWidth = parseFloat($placeholderContainer.css("borderLeftWidth")); var containerHeight = (0, _size.getInnerHeight)($placeholderContainer); var containerOffset = $placeholderContainer.offset(); var dropZoneOffset = $dropZoneTarget.offset(); this._$dropZonePlaceholder.css({ top: dropZoneOffset.top - containerOffset.top - containerHeight - containerBorderBottomWidth, left: dropZoneOffset.left - containerOffset.left - containerBorderLeftWidth }); (0, _size.setHeight)(this._$dropZonePlaceholder, $dropZoneTarget.get(0).offsetHeight - 2 * placeholderBorderTopWidth); (0, _size.setWidth)(this._$dropZonePlaceholder, $dropZoneTarget.get(0).offsetWidth - 2 * placeholderBorderLeftWidth) }; _proto._setDropZonePlaceholderVisible = function(visible) { if (visible) { this._adjustDropZonePlaceholder(); this._$dropZonePlaceholder.css("display", "") } else { this._$dropZonePlaceholder.css("display", "none") } }; _proto._shouldRaiseDragLeave = function(e, uploaderInstance) { return uploaderInstance.isMouseOverElement(e, this.option("splitterElement")) || uploaderInstance._shouldRaiseDragLeaveBase(e, true) }; _proto._uploadFiles = function(uploaderInfo, files) { this._setDropZonePlaceholderVisible(false); var sessionId = (new _guid.default).toString(); var controller = this._getController(); var deferreds = files.map((function() { return new _deferred.Deferred })); var session = { id: sessionId, controller: controller, files: files, deferreds: deferreds }; uploaderInfo.session = session; var sessionInfo = { sessionId: sessionId, deferreds: deferreds, files: files }; this._raiseUploadSessionStarted(sessionInfo); return (0, _uiFile_manager.whenSome)(deferreds).always((function() { return setTimeout((function() { uploaderInfo.fileUploader.reset(); uploaderInfo.session = null })) })) }; _proto._getDeferredForFile = function(fileUploader, file) { var _this$_findSessionByF5 = this._findSessionByFile(fileUploader, file), session = _this$_findSessionByF5.session, fileIndex = _this$_findSessionByF5.fileIndex; return session.deferreds[fileIndex] }; _proto._findSessionByFile = function(fileUploader, file) { var uploaderInfo = this._findUploaderInfo(fileUploader); var session = uploaderInfo.session; var fileIndex = session.files.indexOf(file); return { session: session, fileIndex: fileIndex } }; _proto._findUploaderInfoBySessionId = function(sessionId) { for (var i = 0; i < this._uploaderInfos.length; i++) { var uploaderInfo = this._uploaderInfos[i]; var session = uploaderInfo.session; if (session && session.id === sessionId) { return uploaderInfo } } return null }; _proto._findAndUpdateAvailableUploaderInfo = function() { var _info; var info = null; for (var i = 0; i < this._uploaderInfos.length; i++) { var currentInfo = this._uploaderInfos[i]; currentInfo.fileUploader.option("dropZone", ""); if (!info && !currentInfo.session) { info = currentInfo } } null === (_info = info) || void 0 === _info ? void 0 : _info.fileUploader.option("dropZone", this.option("dropZone")); return info }; _proto._findUploaderInfo = function(fileUploader) { for (var i = 0; i < this._uploaderInfos.length; i++) { var info = this._uploaderInfos[i]; if (info.fileUploader === fileUploader) { return info } } return null }; _proto._getController = function() { var controllerGetter = this.option("getController"); return controllerGetter() }; _proto._raiseUploadSessionStarted = function(sessionInfo) { this._actions.onUploadSessionStarted({ sessionInfo: sessionInfo }) }; _proto._raiseUploadProgress = function(args) { this._actions.onUploadProgress(args) }; _proto._raiseUploadFinished = function(args) { this._actions.onUploadFinished(args) }; _proto._initActions = function() { this._actions = { onUploadSessionStarted: this._createActionByOption("onUploadSessionStarted"), onUploadProgress: this._createActionByOption("onUploadProgress"), onUploadFinished: this._createActionByOption("onUploadFinished") } }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { getController: null, onUploadSessionStarted: null, onUploadProgress: null, onUploadFinished: null, splitterElement: null }) }; _proto._optionChanged = function(args) { var name = args.name; switch (name) { case "getController": this.repaint(); break; case "onUploadSessionStarted": case "onUploadProgress": case "onUploadFinished": this._actions[name] = this._createActionByOption(name); break; case "dropZone": this._findAndUpdateAvailableUploaderInfo(); this._adjustDropZonePlaceholder(); break; case "dropZonePlaceholderContainer": this._$dropZonePlaceholder.detach(); this._$dropZonePlaceholder.appendTo(args.value); break; case "splitterElement": break; default: _Widget.prototype._optionChanged.call(this, args) } }; return FileManagerFileUploader }(_ui.default); var _default = FileManagerFileUploader; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 48156: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.files_tree_view.js ***! \************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _icon = __webpack_require__( /*! ../../core/utils/icon */ 44899); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _uiTree_view = _interopRequireDefault(__webpack_require__( /*! ../tree_view/ui.tree_view.search */ 76986)); var _uiFile_manager = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.file_actions_button */ 68912)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FileManagerFilesTreeView = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerFilesTreeView, _Widget); function FileManagerFilesTreeView() { return _Widget.apply(this, arguments) || this } var _proto = FileManagerFilesTreeView.prototype; _proto._initMarkup = function() { var _this = this; this._initActions(); this._getCurrentDirectory = this.option("getCurrentDirectory"); this._createFileActionsButton = _common.noop; this._storeExpandedState = this.option("storeExpandedState") || false; var $treeView = (0, _renderer.default)("<div>").addClass("dx-filemanager-dirs-tree").appendTo(this.$element()); var treeViewOptions = { dataStructure: "plain", rootValue: "", createChildren: this._onFilesTreeViewCreateSubDirectories.bind(this), itemTemplate: this._createFilesTreeViewItemTemplate.bind(this), keyExpr: "getInternalKey", parentIdExpr: "parentDirectory.getInternalKey", displayExpr: function(itemInfo) { return itemInfo.getDisplayName() }, hasItemsExpr: "fileItem.hasSubDirectories", onItemClick: function(e) { return _this._actions.onDirectoryClick(e) }, onItemExpanded: function(e) { return _this._onFilesTreeViewItemExpanded(e) }, onItemCollapsed: function(e) { return _this._onFilesTreeViewItemCollapsed(e) }, onItemRendered: function(e) { return _this._onFilesTreeViewItemRendered(e) }, onContentReady: function() { return _this._actions.onFilesTreeViewContentReady() } }; if (this._contextMenu) { this._contextMenu.option("onContextMenuHidden", (function() { return _this._onContextMenuHidden() })); treeViewOptions.onItemContextMenu = function(e) { return _this._onFilesTreeViewItemContextMenu(e) }; this._createFileActionsButton = function(element, options) { return _this._createComponent(element, _uiFile_manager.default, options) } } this._filesTreeView = this._createComponent($treeView, _uiTree_view.default, treeViewOptions) }; _proto._initActions = function() { this._actions = { onDirectoryClick: this._createActionByOption("onDirectoryClick"), onFilesTreeViewContentReady: this._createActionByOption("onFilesTreeViewContentReady") } }; _proto._render = function() { _Widget.prototype._render.call(this); var that = this; setTimeout((function() { that._updateFocusedElement() })) }; _proto._onFilesTreeViewCreateSubDirectories = function(rootItem) { var getDirectories = this.option("getDirectories"); var directoryInfo = rootItem && rootItem.itemData || null; return getDirectories && getDirectories(directoryInfo, true) }; _proto._onFilesTreeViewItemRendered = function(_ref) { var itemData = _ref.itemData; var currentDirectory = this._getCurrentDirectory(); if (currentDirectory && currentDirectory.fileItem.equals(itemData.fileItem)) { this._updateFocusedElement(); this._restoreScrollTopPosition() } }; _proto._onFilesTreeViewItemExpanded = function(_ref2) { var itemData = _ref2.itemData; if (this._storeExpandedState) { itemData.expanded = true } }; _proto._onFilesTreeViewItemCollapsed = function(_ref3) { var itemData = _ref3.itemData; if (this._storeExpandedState) { itemData.expanded = false } }; _proto._createFilesTreeViewItemTemplate = function(itemData, itemIndex, itemElement) { var _this2 = this; var $itemElement = (0, _renderer.default)(itemElement); var $itemWrapper = $itemElement.closest(this._filesTreeViewItemSelector); $itemWrapper.data("item", itemData); var $image = (0, _icon.getImageContainer)(itemData.icon); var $text = (0, _renderer.default)("<span>").text(itemData.getDisplayName()).addClass("dx-filemanager-dirs-tree-item-text"); var $button = (0, _renderer.default)("<div>"); $itemElement.append($image, $text, $button); this._createFileActionsButton($button, { onClick: function(e) { return _this2._onFileItemActionButtonClick(e) } }) }; _proto._onFilesTreeViewItemContextMenu = function(_ref4) { var itemElement = _ref4.itemElement, event = _ref4.event; event.preventDefault(); event.stopPropagation(); var itemData = (0, _renderer.default)(itemElement).data("item"); this._contextMenu.showAt([itemData], itemElement, event, { itemData: itemData, itemElement: itemElement }) }; _proto._onFileItemActionButtonClick = function(_ref5) { var component = _ref5.component, element = _ref5.element, event = _ref5.event; event.stopPropagation(); var itemElement = component.$element().closest(this._filesTreeViewItemSelector); var itemData = itemElement.data("item"); var target = { itemData: itemData, itemElement: itemElement, isActionButton: true }; this._contextMenu.showAt([itemData], element, event, target); this._activeFileActionsButton = component; this._activeFileActionsButton.setActive(true) }; _proto._onContextMenuHidden = function() { if (this._activeFileActionsButton) { this._activeFileActionsButton.setActive(false) } }; _proto.toggleNodeDisabledState = function(key, state) { var node = this._getNodeByKey(key); if (!node) { return } var items = this._filesTreeView.option("items"); var itemIndex = items.map((function(item) { return item.getInternalKey() })).indexOf(node.getInternalKey()); if (-1 !== itemIndex) { this._filesTreeView.option("items[".concat(itemIndex, "].disabled"), state) } }; _proto._saveScrollTopPosition = function() { if (!(0, _window.hasWindow)()) { return } this._scrollTopPosition = this._filesTreeView.getScrollable().scrollTop() }; _proto._restoreScrollTopPosition = function() { var _this3 = this; if (!(0, _window.hasWindow)() || !(0, _type.isNumeric)(this._scrollTopPosition)) { return } setTimeout((function() { return _this3._filesTreeView.getScrollable().scrollTo(_this3._scrollTopPosition) })) }; _proto._updateFocusedElement = function() { var directoryInfo = this._getCurrentDirectory(); var $element = this._getItemElementByKey(null === directoryInfo || void 0 === directoryInfo ? void 0 : directoryInfo.getInternalKey()); if (this._$focusedElement) { this._$focusedElement.toggleClass("dx-filemanager-focused-item", false) } this._$focusedElement = $element || (0, _renderer.default)(); this._$focusedElement.toggleClass("dx-filemanager-focused-item", true) }; _proto._getNodeByKey = function(key) { var _this$_filesTreeView; return null === (_this$_filesTreeView = this._filesTreeView) || void 0 === _this$_filesTreeView ? void 0 : _this$_filesTreeView._getNode(key) }; _proto._getPublicNode = function(key) { var _this$_filesTreeView2; var nodesQueue = _toConsumableArray(null === (_this$_filesTreeView2 = this._filesTreeView) || void 0 === _this$_filesTreeView2 ? void 0 : _this$_filesTreeView2.getNodes()); while (nodesQueue.length) { var node = nodesQueue.shift(); if (node.itemData.getInternalKey() === key) { return node } else if (node.children.length) { nodesQueue.push.apply(nodesQueue, _toConsumableArray(node.children)) } } return }; _proto._getItemElementByKey = function(key) { var node = this._getNodeByKey(key); if (node) { var $node = this._filesTreeView._getNodeElement(node); if ($node) { return $node.children(this._filesTreeViewItemSelector) } } return null }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { storeExpandedState: false, initialFolder: null, contextMenu: null, getItems: null, getCurrentDirectory: null, onDirectoryClick: null }) }; _proto._optionChanged = function(args) { var name = args.name; switch (name) { case "storeExpandedState": this._storeExpandedState = this.option(name); break; case "getItems": case "rootFolderDisplayName": case "initialFolder": case "contextMenu": this.repaint(); break; case "getCurrentDirectory": this.getCurrentDirectory = this.option(name); break; case "onDirectoryClick": case "onFilesTreeViewContentReady": this._actions[name] = this._createActionByOption(name); break; default: _Widget.prototype._optionChanged.call(this, args) } }; _proto.toggleDirectoryExpandedState = function(directoryInfo, state) { var deferred = new _deferred.Deferred; var treeViewNode = this._getPublicNode(null === directoryInfo || void 0 === directoryInfo ? void 0 : directoryInfo.getInternalKey()); if (!treeViewNode) { return deferred.reject().promise() } if (treeViewNode.expanded === state || treeViewNode.itemsLoaded && !treeViewNode.itemData.fileItem.hasSubDirectories) { return deferred.resolve().promise() } var action = state ? "expandItem" : "collapseItem"; return this._filesTreeView[action](directoryInfo.getInternalKey()) }; _proto.refresh = function() { this._$focusedElement = null; this._saveScrollTopPosition(); this._filesTreeView.option("dataSource", []) }; _proto.updateCurrentDirectory = function() { if (this._disposed) { return } this._updateFocusedElement(); this._storeExpandedState && this._updateExpandedStateToCurrentDirectory() }; _proto._updateExpandedStateToCurrentDirectory = function() { return this.toggleDirectoryExpandedStateRecursive(this._getCurrentDirectory().parentDirectory, true) }; _proto.toggleDirectoryExpandedStateRecursive = function(directoryInfo, state) { var dirLine = []; for (var dirInfo = directoryInfo; dirInfo; dirInfo = dirInfo.parentDirectory) { dirLine.unshift(dirInfo) } return this.toggleDirectoryLineExpandedState(dirLine, state) }; _proto.toggleDirectoryLineExpandedState = function(dirLine, state) { var _this4 = this; if (!dirLine.length) { return (new _deferred.Deferred).resolve().promise() } return this.toggleDirectoryExpandedState(dirLine.shift(), state).then((function() { return _this4.toggleDirectoryLineExpandedState(dirLine, state) })) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(FileManagerFilesTreeView, [{ key: "_filesTreeViewItemSelector", get: function() { return ".".concat("dx-treeview-item") } }, { key: "_contextMenu", get: function() { return this.option("contextMenu") } }]); return FileManagerFilesTreeView }(_ui.default); var _default = FileManagerFilesTreeView; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 99386: /*!**************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.item_list.details.js ***! \**************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _uiFile_manager = __webpack_require__( /*! ./ui.file_manager.common */ 75084); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../data_grid/ui.data_grid */ 88221)); var _uiFile_manager2 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.item_list */ 43785)); var _uiFile_manager3 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.file_actions_button */ 68912)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _file_items_controller = __webpack_require__( /*! ./file_items_controller */ 57289); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DEFAULT_COLUMN_CONFIGS = { thumbnail: { caption: "", calculateSortValue: "isDirectory", width: 36, alignment: "center", cssClass: "dx-filemanager-details-item-is-directory" }, name: { caption: _message.default.format("dxFileManager-listDetailsColumnCaptionName") }, dateModified: { caption: _message.default.format("dxFileManager-listDetailsColumnCaptionDateModified"), width: 110, hidingPriority: 1 }, size: { caption: _message.default.format("dxFileManager-listDetailsColumnCaptionFileSize"), width: 90, alignment: "right", hidingPriority: 0 }, isParentFolder: { caption: "isParentFolder", visible: false, sortIndex: 0, sortOrder: "asc" } }; var FileManagerDetailsItemList = function(_FileManagerItemListB) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerDetailsItemList, _FileManagerItemListB); function FileManagerDetailsItemList() { return _FileManagerItemListB.apply(this, arguments) || this } var _proto = FileManagerDetailsItemList.prototype; _proto._initMarkup = function() { var _this = this; this._itemCount = 0; this._focusedItem = null; this._hasParentDirectoryItem = false; this._parentDirectoryItemKey = null; this._selectAllCheckBox = null; this._selectAllCheckBoxUpdating = false; this.$element().addClass("dx-filemanager-details"); this._createFilesView(); this._contextMenu.option("onContextMenuHidden", (function() { return _this._onContextMenuHidden() })); _FileManagerItemListB.prototype._initMarkup.call(this) }; _proto._createFilesView = function() { var $filesView = (0, _renderer.default)("<div>").appendTo(this.$element()); var selectionMode = this._isMultipleSelectionMode() ? "multiple" : "none"; this._filesView = this._createComponent($filesView, _ui.default, { dataSource: this._createDataSource(), hoverStateEnabled: true, selection: { mode: selectionMode, showCheckBoxesMode: this._isDesktop() ? "onClick" : "none" }, selectedRowKeys: this.option("selectedItemKeys"), focusedRowKey: this.option("focusedItemKey"), focusedRowEnabled: true, allowColumnResizing: true, scrolling: { mode: "virtual" }, sorting: { mode: "single", showSortIndexes: false }, loadPanel: { shading: true }, showColumnLines: false, showRowLines: false, columnHidingEnabled: false, columns: this._createColumns(), onEditorPreparing: this._onEditorPreparing.bind(this), onRowPrepared: this._onRowPrepared.bind(this), onContextMenuPreparing: this._onContextMenuPreparing.bind(this), onSelectionChanged: this._onFilesViewSelectionChanged.bind(this), onFocusedRowChanged: this._onFilesViewFocusedRowChanged.bind(this), onOptionChanged: this._onFilesViewOptionChanged.bind(this), onContentReady: this._onContentReady.bind(this) }) }; _proto._createColumns = function() { var _this2 = this; var columns = this.option("detailColumns"); columns = columns.slice(0); columns = columns.map((function(column) { var extendedItem = column; if ((0, _type.isString)(column)) { extendedItem = { dataField: column } } return _this2._getPreparedColumn(extendedItem) })); var customizeDetailColumns = this.option("customizeDetailColumns"); if ((0, _type.isFunction)(customizeDetailColumns)) { columns = customizeDetailColumns(columns) } columns.push(this._getPreparedColumn({ dataField: "isParentFolder" })); columns.forEach((function(column) { return _this2._updateColumnDataField(column) })); return columns }; _proto._getPreparedColumn = function(columnOptions) { var result = {}; var resultCssClass = ""; if (this._isDefaultColumn(columnOptions.dataField)) { var defaultConfig = (0, _extend.extend)(true, {}, DEFAULT_COLUMN_CONFIGS[columnOptions.dataField]); resultCssClass = defaultConfig.cssClass || ""; switch (columnOptions.dataField) { case "thumbnail": defaultConfig.cellTemplate = this._createThumbnailColumnCell.bind(this); defaultConfig.calculateSortValue = "fileItem.".concat(defaultConfig.calculateSortValue); break; case "name": defaultConfig.cellTemplate = this._createNameColumnCell.bind(this); defaultConfig.caption = _message.default.format("dxFileManager-listDetailsColumnCaptionName"); break; case "size": defaultConfig.calculateCellValue = this._calculateSizeColumnCellValue.bind(this); defaultConfig.caption = _message.default.format("dxFileManager-listDetailsColumnCaptionFileSize"); defaultConfig.calculateSortValue = function(rowData) { return rowData.fileItem.isDirectory ? -1 : rowData.fileItem.size }; break; case "dateModified": defaultConfig.caption = _message.default.format("dxFileManager-listDetailsColumnCaptionDateModified") }(0, _extend.extend)(true, result, defaultConfig) }(0, _uiFile_manager.extendAttributes)(result, columnOptions, ["alignment", "caption", "dataField", "dataType", "hidingPriority", "sortIndex", "sortOrder", "visible", "visibleIndex", "width"]); if (columnOptions.cssClass) { resultCssClass = "".concat(resultCssClass, " ").concat(columnOptions.cssClass) } if (resultCssClass) { result.cssClass = resultCssClass } return result }; _proto._updateColumnDataField = function(column) { var dataItemSuffix = this._isDefaultColumn(column.dataField) ? "" : "dataItem."; column.dataField = "fileItem." + dataItemSuffix + column.dataField; return column }; _proto._isDefaultColumn = function(columnDataField) { return !!DEFAULT_COLUMN_CONFIGS[columnDataField] }; _proto._onFileItemActionButtonClick = function(_ref) { var component = _ref.component, element = _ref.element, event = _ref.event; event.stopPropagation(); var $row = component.$element().closest(this._getItemSelector()); var fileItemInfo = $row.data("item"); this._selectItem(fileItemInfo); var target = { itemData: fileItemInfo, itemElement: $row, isActionButton: true }; var items = this._getFileItemsForContextMenu(fileItemInfo); this._showContextMenu(items, element, event, target); this._activeFileActionsButton = component; this._activeFileActionsButton.setActive(true) }; _proto._onContextMenuHidden = function() { if (this._activeFileActionsButton) { this._activeFileActionsButton.setActive(false) } }; _proto._getItemThumbnailCssClass = function() { return "dx-filemanager-details-item-thumbnail" }; _proto._getItemSelector = function() { return ".".concat("dx-data-row") }; _proto._onItemDblClick = function(e) { var $row = (0, _renderer.default)(e.currentTarget); var fileItemInfo = $row.data("item"); this._raiseSelectedItemOpened(fileItemInfo) }; _proto._isAllItemsSelected = function() { var selectableItemsCount = this._hasParentDirectoryItem ? this._itemCount - 1 : this._itemCount; var selectedRowKeys = this._filesView.option("selectedRowKeys"); if (!selectedRowKeys.length) { return false } return selectedRowKeys.length >= selectableItemsCount ? true : void 0 }; _proto._onEditorPreparing = function(_ref2) { var _this3 = this; var component = _ref2.component, command = _ref2.command, row = _ref2.row, parentType = _ref2.parentType, editorOptions = _ref2.editorOptions; if (!this._filesView) { this._filesView = component } if ("select" === command && row) { if (this._isParentDirectoryItem(row.data)) { editorOptions.disabled = true } } else if ("headerRow" === parentType) { editorOptions.onInitialized = function(_ref3) { var component = _ref3.component; _this3._selectAllCheckBox = component }; editorOptions.value = this._isAllItemsSelected(); editorOptions.onValueChanged = function(args) { return _this3._onSelectAllCheckBoxValueChanged(args) } } }; _proto._onSelectAllCheckBoxValueChanged = function(_ref4) { var event = _ref4.event, previousValue = _ref4.previousValue, value = _ref4.value; if (!event) { if (previousValue && !this._selectAllCheckBoxUpdating && this._selectAllCheckBox) { this._selectAllCheckBox.option("value", previousValue) } return } if (this._isAllItemsSelected() === value) { return } if (value) { this._filesView.selectAll() } else { this._filesView.deselectAll() } event.preventDefault() }; _proto._onRowPrepared = function(_ref5) { var rowType = _ref5.rowType, rowElement = _ref5.rowElement, data = _ref5.data; if ("data" === rowType) { var $row = (0, _renderer.default)(rowElement); $row.data("item", data); if (this._isParentDirectoryItem(data)) { $row.addClass("dx-filemanager-parent-directory-item") } } }; _proto._onContextMenuPreparing = function(e) { if (!this._isDesktop()) { return } var fileItems = null; var item = {}; if (e.row && "data" === e.row.rowType) { item = e.row.data; this._selectItem(item); fileItems = this._getFileItemsForContextMenu(item) } var eventArgs = (0, _extend.extend)({}, { targetElement: "content" === e.target && (0, _type.isDefined)(e.row) ? this._filesView.getRowElement(e.rowIndex) : void 0, itemData: item, options: this._contextMenu.option(), event: e.event, isActionButton: false, cancel: false }); this._raiseContextMenuShowing(eventArgs); e.items = eventArgs.cancel ? [] : this._contextMenu.createContextMenuItems(fileItems, null, item) }; _proto._onFilesViewSelectionChanged = function(_ref6) { var component = _ref6.component, selectedRowsData = _ref6.selectedRowsData, selectedRowKeys = _ref6.selectedRowKeys, currentSelectedRowKeys = _ref6.currentSelectedRowKeys, currentDeselectedRowKeys = _ref6.currentDeselectedRowKeys; this._filesView = this._filesView || component; if (this._selectAllCheckBox) { this._selectAllCheckBoxUpdating = true; this._selectAllCheckBox.option("value", this._isAllItemsSelected()); this._selectAllCheckBoxUpdating = false } var selectedItems = selectedRowsData.map((function(itemInfo) { return itemInfo.fileItem })); this._tryRaiseSelectionChanged({ selectedItemInfos: selectedRowsData, selectedItems: selectedItems, selectedItemKeys: selectedRowKeys, currentSelectedItemKeys: currentSelectedRowKeys, currentDeselectedItemKeys: currentDeselectedRowKeys }) }; _proto._onFilesViewFocusedRowChanged = function(e) { var _e$row2; if (!this._isMultipleSelectionMode()) { var _e$row; this._selectItemSingleSelection(null === (_e$row = e.row) || void 0 === _e$row ? void 0 : _e$row.data) } var fileSystemItem = (null === (_e$row2 = e.row) || void 0 === _e$row2 ? void 0 : _e$row2.data.fileItem) || null; this._onFocusedItemChanged({ item: fileSystemItem, itemKey: null === fileSystemItem || void 0 === fileSystemItem ? void 0 : fileSystemItem.key, itemElement: e.rowElement }) }; _proto._onFilesViewOptionChanged = function(_ref7) { var fullName = _ref7.fullName; if (fullName.indexOf("sortOrder") > -1) { this._filesView.columnOption("isParentFolder", { sortOrder: "asc", sortIndex: 0 }) } }; _proto._resetFocus = function() { this._setFocusedItemKey(void 0) }; _proto._createThumbnailColumnCell = function(container, cellInfo) { this._getItemThumbnailContainer(cellInfo.data).appendTo(container) }; _proto._createNameColumnCell = function(container, cellInfo) { var _this4 = this; var $button = (0, _renderer.default)("<div>"); var $name = (0, _renderer.default)("<span>").text(cellInfo.data.fileItem.name).addClass("dx-filemanager-details-item-name"); var $wrapper = (0, _renderer.default)("<div>").append($name, $button).addClass("dx-filemanager-details-item-name-wrapper"); (0, _renderer.default)(container).append($wrapper); this._createComponent($button, _uiFile_manager3.default, { onClick: function(e) { return _this4._onFileItemActionButtonClick(e) } }) }; _proto._calculateSizeColumnCellValue = function(rowData) { return rowData.fileItem.isDirectory ? "" : (0, _uiFile_manager.getDisplayFileSize)(rowData.fileItem.size) }; _proto._selectItem = function(fileItemInfo) { var selectItemFunc = this._isMultipleSelectionMode() ? this._selectItemMultipleSelection : this._selectItemSingleSelection; selectItemFunc.call(this, fileItemInfo) }; _proto._deselectItem = function(item) { this._filesView.deselectRows([item.fileItem.key]) }; _proto._selectItemSingleSelection = function(fileItemInfo) { if (!this._focusedItem || !fileItemInfo || this._focusedItem.fileItem.key !== fileItemInfo.fileItem.key) { var oldFocusedItem = this._focusedItem; this._focusedItem = fileItemInfo; var deselectedKeys = []; if (oldFocusedItem) { deselectedKeys.push(oldFocusedItem.fileItem.key) } var selectedItems = []; var selectedKeys = []; if (fileItemInfo && !this._isParentDirectoryItem(fileItemInfo)) { selectedItems.push(fileItemInfo.fileItem); selectedKeys.push(fileItemInfo.fileItem.key) } this._raiseSelectionChanged({ selectedItems: selectedItems, selectedItemKeys: selectedKeys, currentSelectedItemKeys: [].concat(selectedKeys), currentDeselectedItemKeys: deselectedKeys }) } }; _proto._selectItemMultipleSelection = function(_ref8) { var fileItem = _ref8.fileItem; if (!this._filesView.isRowSelected(fileItem.key)) { var selectionController = this._filesView.getController("selection"); var preserve = selectionController.isSelectionWithCheckboxes(); this._filesView.selectRows([fileItem.key], preserve) } }; _proto._setSelectedItemKeys = function(itemKeys) { this._filesView.option("selectedRowKeys", itemKeys) }; _proto._setFocusedItemKey = function(itemKey) { var _this$_filesView; null === (_this$_filesView = this._filesView) || void 0 === _this$_filesView ? void 0 : _this$_filesView.option("focusedRowKey", itemKey) }; _proto.clearSelection = function() { if (this._isMultipleSelectionMode()) { this._filesView.clearSelection() } else { this._filesView.option("focusedRowIndex", -1) } }; _proto.refresh = function(options, operation) { var actualOptions = { dataSource: this._createDataSource() }; if (options && Object.prototype.hasOwnProperty.call(options, "focusedItemKey")) { if ((0, _type.isDefined)(options.focusedItemKey)) { actualOptions.focusedRowKey = options.focusedItemKey } else { actualOptions.focusedRowIndex = -1 } } var hasNoScrollTarget = !(0, _type.isDefined)(actualOptions.focusedRowKey) && -1 === actualOptions.focusedRowIndex; if (hasNoScrollTarget && operation === _file_items_controller.OPERATIONS.NAVIGATION) { actualOptions.paging = { pageIndex: 0 }; this._needResetScrollPosition = true } this._filesView.option(actualOptions); this._refreshDeferred = new _deferred.Deferred; return this._refreshDeferred.promise() }; _proto._getScrollable = function() { return this._filesView.getScrollable() }; _proto.getSelectedItems = function() { if (this._isMultipleSelectionMode()) { return this._filesView.getSelectedRowsData() } return this._focusedItem && !this._isParentDirectoryItem(this._focusedItem) ? [this._focusedItem] : [] }; return FileManagerDetailsItemList }(_uiFile_manager2.default); var _default = FileManagerDetailsItemList; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 43785: /*!******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.item_list.js ***! \******************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _double_click = __webpack_require__( /*! ../../events/double_click */ 85272); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _icon = __webpack_require__( /*! ../../core/utils/icon */ 44899); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _custom_store = _interopRequireDefault(__webpack_require__( /*! ../../data/custom_store */ 88036)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FileManagerItemListBase = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerItemListBase, _Widget); function FileManagerItemListBase() { return _Widget.apply(this, arguments) || this } var _proto = FileManagerItemListBase.prototype; _proto._init = function() { this._initActions(); this._lockFocusedItemProcessing = false; this._focusedItemKey = this.option("focusedItemKey"); _Widget.prototype._init.call(this) }; _proto._initMarkup = function() { this._needResetScrollPosition = false; this.$element().addClass("dx-filemanager-files-view"); var dblClickEventName = (0, _index.addNamespace)(_double_click.name, "dxFileManager_open"); _events_engine.default.on(this.$element(), dblClickEventName, this._getItemSelector(), this._onItemDblClick.bind(this)); _Widget.prototype._initMarkup.call(this) }; _proto._initActions = function() { this._actions = { onError: this._createActionByOption("onError"), onSelectionChanged: this._createActionByOption("onSelectionChanged"), onFocusedItemChanged: this._createActionByOption("onFocusedItemChanged"), onSelectedItemOpened: this._createActionByOption("onSelectedItemOpened"), onContextMenuShowing: this._createActionByOption("onContextMenuShowing"), onItemListDataLoaded: this._createActionByOption("onItemListDataLoaded") } }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { selectionMode: "single", selectedItemKeys: [], focusedItemKey: void 0, contextMenu: null, getItems: null, getItemThumbnail: null, onError: null, onSelectionChanged: null, onFocusedItemChanged: null, onSelectedItemOpened: null, onContextMenuShowing: null }) }; _proto._optionChanged = function(args) { var name = args.name; switch (name) { case "selectionMode": case "contextMenu": case "getItems": case "getItemThumbnail": this.repaint(); break; case "selectedItemKeys": this._setSelectedItemKeys(args.value); break; case "focusedItemKey": if (!this._lockFocusedItemProcessing) { this._setFocusedItemKey(args.value) } break; case "onError": case "onSelectedItemOpened": case "onSelectionChanged": case "onFocusedItemChanged": case "onContextMenuShowing": case "onItemListDataLoaded": this._actions[name] = this._createActionByOption(name); break; default: _Widget.prototype._optionChanged.call(this, args) } }; _proto._getItems = function() { var _this = this; return this._getItemsInternal().done((function(itemInfos) { _this._itemCount = itemInfos.length; if (0 === _this._itemCount) { _this._resetFocus() } var parentDirectoryItem = _this._findParentDirectoryItem(itemInfos); _this._hasParentDirectoryItem = !!parentDirectoryItem; _this._parentDirectoryItemKey = parentDirectoryItem ? parentDirectoryItem.fileItem.key : null })).always((function() { _this._onDataLoaded() })) }; _proto._getItemsInternal = function() { var itemsGetter = this.option("getItems"); var itemsResult = itemsGetter ? itemsGetter() : []; return (0, _deferred.when)(itemsResult) }; _proto._raiseOnError = function(error) { this._actions.onError({ error: error }) }; _proto._raiseSelectionChanged = function(args) { this._actions.onSelectionChanged(args) }; _proto._raiseFocusedItemChanged = function(args) { this._actions.onFocusedItemChanged(args) }; _proto._raiseSelectedItemOpened = function(fileItemInfo) { this._actions.onSelectedItemOpened({ fileItemInfo: fileItemInfo }) }; _proto._raiseContextMenuShowing = function(e) { this._actions.onContextMenuShowing(e) }; _proto._raiseItemListDataLoaded = function() { this._actions.onItemListDataLoaded() }; _proto._onDataLoaded = function() { var _this$_refreshDeferre; this._raiseItemListDataLoaded(); null === (_this$_refreshDeferre = this._refreshDeferred) || void 0 === _this$_refreshDeferre ? void 0 : _this$_refreshDeferre.resolve() }; _proto._onContentReady = function() { if (this._needResetScrollPosition) { this._resetScrollTopPosition(); this._needResetScrollPosition = false } }; _proto._tryRaiseSelectionChanged = function(_ref) { var _this2 = this; var selectedItemInfos = _ref.selectedItemInfos, selectedItems = _ref.selectedItems, selectedItemKeys = _ref.selectedItemKeys, currentSelectedItemKeys = _ref.currentSelectedItemKeys, currentDeselectedItemKeys = _ref.currentDeselectedItemKeys; var parentDirectoryItem = this._findParentDirectoryItem(this.getSelectedItems()); if (parentDirectoryItem) { this._deselectItem(parentDirectoryItem) } var raiseEvent = !this._hasParentDirectoryItem; raiseEvent = raiseEvent || this._hasValidKeys(currentSelectedItemKeys) || this._hasValidKeys(currentDeselectedItemKeys); if (raiseEvent) { selectedItemInfos = this._filterOutItemByPredicate(selectedItemInfos, (function(item) { return item.fileItem.key === _this2._parentDirectoryItemKey })); selectedItems = this._filterOutParentDirectory(selectedItems); selectedItemKeys = this._filterOutParentDirectoryKey(selectedItemKeys, true); currentSelectedItemKeys = this._filterOutParentDirectoryKey(currentSelectedItemKeys, true); currentDeselectedItemKeys = this._filterOutParentDirectoryKey(currentDeselectedItemKeys, true); this._raiseSelectionChanged({ selectedItemInfos: selectedItemInfos, selectedItems: selectedItems, selectedItemKeys: selectedItemKeys, currentSelectedItemKeys: currentSelectedItemKeys, currentDeselectedItemKeys: currentDeselectedItemKeys }) } }; _proto._onFocusedItemChanged = function(args) { if (this._focusedItemKey === args.itemKey) { return } this._focusedItemKey = args.itemKey; this._lockFocusedItemProcessing = true; this.option("focusedItemKey", args.itemKey); this._lockFocusedItemProcessing = false; this._raiseFocusedItemChanged(args) }; _proto._resetFocus = function() {}; _proto._resetScrollTopPosition = function() { var _this3 = this; if (!(0, _window.hasWindow)()) { return } setTimeout((function() { var _this3$_getScrollable; return null === (_this3$_getScrollable = _this3._getScrollable()) || void 0 === _this3$_getScrollable ? void 0 : _this3$_getScrollable.scrollTo(0) })) }; _proto._getScrollable = function() {}; _proto._getItemThumbnail = function(fileInfo) { var itemThumbnailGetter = this.option("getItemThumbnail"); return itemThumbnailGetter ? itemThumbnailGetter(fileInfo) : { thumbnail: "" } }; _proto._getItemThumbnailContainer = function(fileInfo) { var _this$_getItemThumbna = this._getItemThumbnail(fileInfo), thumbnail = _this$_getItemThumbna.thumbnail, cssClass = _this$_getItemThumbna.cssClass; var $itemThumbnail = (0, _icon.getImageContainer)(thumbnail).addClass(this._getItemThumbnailCssClass()); if (cssClass) { $itemThumbnail.addClass(cssClass) } return $itemThumbnail }; _proto._getItemThumbnailCssClass = function() { return "" }; _proto._getItemSelector = function() {}; _proto._onItemDblClick = function(e) {}; _proto._isDesktop = function() { return "desktop" === _devices.default.real().deviceType }; _proto._showContextMenu = function(items, element, event, target) { this._contextMenu.showAt(items, element, event, target) }; _proto._findParentDirectoryItem = function(itemInfos) { for (var i = 0; i < itemInfos.length; i++) { var itemInfo = itemInfos[i]; if (this._isParentDirectoryItem(itemInfo)) { return itemInfo } } return null }; _proto._getFileItemsForContextMenu = function(fileItem) { var result = this.getSelectedItems(); if (this._isParentDirectoryItem(fileItem)) { result.push(fileItem) } return result }; _proto._isParentDirectoryItem = function(itemInfo) { return itemInfo.fileItem.isParentFolder }; _proto._hasValidKeys = function(keys) { return keys.length > 1 || 1 === keys.length && keys[0] !== this._parentDirectoryItemKey }; _proto._filterOutParentDirectory = function(array, createNewArray) { var _this4 = this; return this._filterOutItemByPredicate(array, (function(item) { return item.key === _this4._parentDirectoryItemKey }), createNewArray) }; _proto._filterOutParentDirectoryKey = function(array, createNewArray) { var _this5 = this; return this._filterOutItemByPredicate(array, (function(key) { return key === _this5._parentDirectoryItemKey }), createNewArray) }; _proto._filterOutItemByPredicate = function(array, predicate, createNewArray) { var result = array; var index = -1; for (var i = 0; i < array.length; i++) { if (predicate(array[i])) { index = i; break } } if (-1 !== index) { if (createNewArray) { result = _toConsumableArray(array) } result.splice(index, 1) } return result }; _proto._isMultipleSelectionMode = function() { return "multiple" === this.option("selectionMode") }; _proto._deselectItem = function(item) {}; _proto._setSelectedItemKeys = function(itemKeys) {}; _proto._setFocusedItemKey = function(itemKey) {}; _proto._createDataSource = function() { return { store: new _custom_store.default({ key: "fileItem.key", load: this._getItems.bind(this) }) } }; _proto.getSelectedItems = function() {}; _proto.clearSelection = function() {}; _proto.selectItem = function() {}; _proto.refresh = function(options, operation) {}; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(FileManagerItemListBase, [{ key: "_contextMenu", get: function() { return this.option("contextMenu") } }]); return FileManagerItemListBase }(_ui.default); var _default = FileManagerItemListBase; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 6339: /*!*****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.item_list.thumbnails.js ***! \*****************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _contextmenu = __webpack_require__( /*! ../../events/contextmenu */ 49166); var _uiFile_manager = __webpack_require__( /*! ./ui.file_manager.common */ 75084); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _uiFile_managerItems_listThumbnails = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.items_list.thumbnails.list_box */ 99338)); var _uiFile_manager2 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.item_list */ 43785)); var _file_items_controller = __webpack_require__( /*! ./file_items_controller */ 57289); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FileManagerThumbnailsItemList = function(_FileManagerItemListB) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerThumbnailsItemList, _FileManagerItemListB); function FileManagerThumbnailsItemList() { return _FileManagerItemListB.apply(this, arguments) || this } var _proto = FileManagerThumbnailsItemList.prototype; _proto._initMarkup = function() { _FileManagerItemListB.prototype._initMarkup.call(this); this.$element().addClass("dx-filemanager-thumbnails"); var contextMenuEvent = (0, _index.addNamespace)(_contextmenu.name, "dxFileManager_thumbnails"); _events_engine.default.on(this.$element(), contextMenuEvent, this._onContextMenu.bind(this)); this._createItemList() }; _proto._createItemList = function() { var selectionMode = this._isMultipleSelectionMode() ? "multiple" : "single"; var $itemListContainer = (0, _renderer.default)("<div>").appendTo(this.$element()); this._itemList = this._createComponent($itemListContainer, _uiFile_managerItems_listThumbnails.default, { dataSource: this._createDataSource(), selectionMode: selectionMode, selectedItemKeys: this.option("selectedItemKeys"), focusedItemKey: this.option("focusedItemKey"), activeStateEnabled: true, hoverStateEnabled: true, loopItemFocus: false, focusStateEnabled: true, onItemEnterKeyPressed: this._tryOpen.bind(this), itemThumbnailTemplate: this._getItemThumbnailContainer.bind(this), getTooltipText: this._getTooltipText.bind(this), onSelectionChanged: this._onItemListSelectionChanged.bind(this), onFocusedItemChanged: this._onItemListFocusedItemChanged.bind(this), onContentReady: this._onContentReady.bind(this) }) }; _proto._onContextMenu = function(e) { e.preventDefault(); e.stopPropagation(); if (!this._isDesktop()) { return } var items = null; var targetItemElement = (0, _renderer.default)(e.target).closest(this._getItemSelector()); var targetItem = null; if (targetItemElement.length > 0) { targetItem = this._itemList.getItemByItemElement(targetItemElement); this._itemList.selectItem(targetItem); items = this._getFileItemsForContextMenu(targetItem) } var target = { itemData: targetItem, itemElement: targetItemElement.length ? targetItemElement : void 0 }; this._showContextMenu(items, e.target, e, target) }; _proto._getItemThumbnailCssClass = function() { return "dx-filemanager-thumbnails-item-thumbnail" }; _proto._getItemSelector = function() { return ".".concat("dx-filemanager-thumbnails-item") }; _proto._getTooltipText = function(fileItemInfo) { var item = fileItemInfo.fileItem; if (item.tooltipText) { return item.tooltipText } var text = "".concat(item.name, "\r\n"); if (!item.isDirectory) { text += "".concat(_message.default.format("dxFileManager-listThumbnailsTooltipTextSize"), ": ").concat((0, _uiFile_manager.getDisplayFileSize)(item.size), "\r\n") } text += "".concat(_message.default.format("dxFileManager-listThumbnailsTooltipTextDateModified"), ": ").concat(item.dateModified); return text }; _proto._onItemDblClick = function(e) { var $item = (0, _renderer.default)(e.currentTarget); var item = this._itemList.getItemByItemElement($item); this._tryOpen(item) }; _proto._tryOpen = function(item) { if (item) { this._raiseSelectedItemOpened(item) } }; _proto._getItemsInternal = function() { return _FileManagerItemListB.prototype._getItemsInternal.call(this).then((function(items) { var deferred = new _deferred.Deferred; setTimeout((function() { return deferred.resolve(items) })); return deferred.promise() })) }; _proto._disableDragging = function() { return false }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_FileManagerItemListB.prototype._getDefaultOptions.call(this), { focusStateEnabled: true }) }; _proto._onItemListSelectionChanged = function(_ref) { var addedItemKeys = _ref.addedItemKeys, removedItemKeys = _ref.removedItemKeys; var selectedItemInfos = this.getSelectedItems(); var selectedItems = selectedItemInfos.map((function(itemInfo) { return itemInfo.fileItem })); var selectedItemKeys = selectedItems.map((function(item) { return item.key })); this._tryRaiseSelectionChanged({ selectedItemInfos: selectedItemInfos, selectedItems: selectedItems, selectedItemKeys: selectedItemKeys, currentSelectedItemKeys: addedItemKeys, currentDeselectedItemKeys: removedItemKeys }) }; _proto._onItemListFocusedItemChanged = function(_ref2) { var item = _ref2.item, itemElement = _ref2.itemElement; if (!this._isMultipleSelectionMode()) { this._selectItemSingleSelection(item) } var fileSystemItem = (null === item || void 0 === item ? void 0 : item.fileItem) || null; this._onFocusedItemChanged({ item: fileSystemItem, itemKey: null === fileSystemItem || void 0 === fileSystemItem ? void 0 : fileSystemItem.key, itemElement: itemElement || void 0 }) }; _proto._getScrollable = function() { return this._itemList.getScrollable() }; _proto._setSelectedItemKeys = function(itemKeys) { this._itemList.option("selectedItemKeys", itemKeys) }; _proto._setFocusedItemKey = function(itemKey) { this._itemList.option("focusedItemKey", itemKey) }; _proto.refresh = function(options, operation) { var actualOptions = { dataSource: this._createDataSource() }; if (options && Object.prototype.hasOwnProperty.call(options, "focusedItemKey")) { actualOptions.focusedItemKey = options.focusedItemKey } if (options && Object.prototype.hasOwnProperty.call(options, "selectedItemKeys")) { actualOptions.selectedItemKeys = options.selectedItemKeys } if (!(0, _type.isDefined)(actualOptions.focusedItemKey) && operation === _file_items_controller.OPERATIONS.NAVIGATION) { this._needResetScrollPosition = true } this._itemList.option(actualOptions); this._refreshDeferred = new _deferred.Deferred; return this._refreshDeferred.promise() }; _proto._deselectItem = function(item) { var itemElement = this._itemList.getItemElementByItem(item); this._itemList.unselectItem(itemElement) }; _proto._selectItemSingleSelection = function(item) { if (item) { this._itemList.selectItem(item) } else { this._itemList.clearSelection() } }; _proto.clearSelection = function() { this._itemList.clearSelection() }; _proto.getSelectedItems = function() { return this._itemList.getSelectedItems() }; return FileManagerThumbnailsItemList }(_uiFile_manager2.default); var _default = FileManagerThumbnailsItemList; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 99338: /*!***************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.items_list.thumbnails.list_box.js ***! \***************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _hold = _interopRequireDefault(__webpack_require__( /*! ../../events/hold */ 11699)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _bindable_template = __webpack_require__( /*! ../../core/templates/bindable_template */ 93280); var _scroll_view = _interopRequireDefault(__webpack_require__( /*! ../scroll_view */ 4741)); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ../collection/ui.collection_widget.edit */ 11050)); var _selection = _interopRequireDefault(__webpack_require__( /*! ../selection/selection */ 68198)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FILE_MANAGER_THUMBNAILS_LIST_BOX_HOLD_EVENT_NAME = (0, _index.addNamespace)(_hold.default.name, "dxFileManagerThumbnailsListBox"); var FileManagerThumbnailListBox = function(_CollectionWidget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerThumbnailListBox, _CollectionWidget); function FileManagerThumbnailListBox() { return _CollectionWidget.apply(this, arguments) || this } var _proto = FileManagerThumbnailListBox.prototype; _proto._initMarkup = function() { this._initActions(); this._lockFocusedItemProcessing = false; this.$element().addClass("dx-filemanager-thumbnails-view-port"); this._renderScrollView(); this._renderItemsContainer(); this._createScrollViewControl(); _CollectionWidget.prototype._initMarkup.call(this); this.onFocusedItemChanged = this._onFocusedItemChanged.bind(this); this._layoutUtils = new ListBoxLayoutUtils(this._scrollView, this.$element(), this._$itemContainer, this.itemElements().first()); this._syncFocusedItemKey() }; _proto._initActions = function() { this._actions = { onItemEnterKeyPressed: this._createActionByOption("onItemEnterKeyPressed"), onFocusedItemChanged: this._createActionByOption("onFocusedItemChanged") } }; _proto._initTemplates = function() { _CollectionWidget.prototype._initTemplates.call(this); this._itemThumbnailTemplate = this.option("itemThumbnailTemplate"); this._getTooltipText = this.option("getTooltipText"); this._templateManager.addDefaultTemplates({ item: new _bindable_template.BindableTemplate(function($container, data, itemModel) { var $itemElement = this._getDefaultItemTemplate(itemModel, $container); $container.append($itemElement) }.bind(this), ["fileItem"], this.option("integrationOptions.watchMethod")) }) }; _proto._createScrollViewControl = function() { if (!this._scrollView) { this._scrollView = this._createComponent(this._$scrollView, _scroll_view.default, { scrollByContent: true, scrollByThumb: true, useKeyboard: false, showScrollbar: "onHover" }) } }; _proto._renderScrollView = function() { if (!this._$scrollView) { this._$scrollView = (0, _renderer.default)("<div>").appendTo(this.$element()) } }; _proto.getScrollable = function() { return this._scrollView }; _proto._renderItemsContainer = function() { if (!this._$itemContainer) { this._$itemContainer = (0, _renderer.default)("<div>").addClass("dx-filemanager-thumbnails-container").appendTo(this._$scrollView) } }; _proto._render = function() { _CollectionWidget.prototype._render.call(this); this._detachEventHandlers(); this._attachEventHandlers() }; _proto._clean = function() { this._detachEventHandlers(); _CollectionWidget.prototype._clean.call(this) }; _proto._supportedKeys = function() { return (0, _extend.extend)(_CollectionWidget.prototype._supportedKeys.call(this), { upArrow: function(e) { this._beforeKeyProcessing(e); this._processArrowKeys(-1, false, e) }, downArrow: function(e) { this._beforeKeyProcessing(e); this._processArrowKeys(1, false, e) }, home: function(e) { this._beforeKeyProcessing(e); this._processHomeEndKeys(0, true, e) }, end: function(e) { this._beforeKeyProcessing(e); this._processHomeEndKeys(this._getItemsLength() - 1, true, e) }, pageUp: function(e) { this._beforeKeyProcessing(e); this._processPageChange(true, e) }, pageDown: function(e) { this._beforeKeyProcessing(e); this._processPageChange(false, e) }, enter: function(e) { this._beforeKeyProcessing(e); this._actions.onItemEnterKeyPressed(this._getFocusedItem()) }, A: function(e) { this._beforeKeyProcessing(e); if ((0, _index.isCommandKeyPressed)(e)) { this.selectAll() } } }) }; _proto._beforeKeyProcessing = function(e) { e.preventDefault(); this._layoutUtils.reset() }; _proto._processArrowKeys = function(offset, horizontal, eventArgs) { var item = this._getFocusedItem(); if (item) { if (!horizontal) { var layout = this._layoutUtils.getLayoutModel(); if (!layout) { return } offset *= layout.itemPerRowCount } var newItemIndex = this._getIndexByItem(item) + offset; this._focusItemByIndex(newItemIndex, true, eventArgs) } }; _proto._processHomeEndKeys = function(index, scrollToItem, eventArgs) { this._focusItemByIndex(index, scrollToItem, eventArgs) }; _proto._processPageChange = function(pageUp, eventArgs) { var item = this._getFocusedItem(); if (!item) { return } var layout = this._layoutUtils.getLayoutModel(); if (!layout) { return } var itemLayout = this._layoutUtils.createItemLayoutModel(this._getIndexByItem(item)); var rowOffset = pageUp ? layout.rowPerPageRate : -layout.rowPerPageRate; var newRowRate = itemLayout.itemRowIndex - rowOffset; var roundFunc = pageUp ? Math.ceil : Math.floor; var newRowIndex = roundFunc(newRowRate); var newItemIndex = newRowIndex * layout.itemPerRowCount + itemLayout.itemColumnIndex; if (newItemIndex < 0) { newItemIndex = 0 } else if (newItemIndex >= this._getItemsLength()) { newItemIndex = this._getItemsLength() - 1 } this._focusItemByIndex(newItemIndex, true, eventArgs) }; _proto._processLongTap = function(e) { var $targetItem = this._closestItemElement((0, _renderer.default)(e.target)); var itemIndex = this._getIndexByItemElement($targetItem); this._selection.changeItemSelection(itemIndex, { control: true }) }; _proto._attachEventHandlers = function() { var _this = this; if ("multiple" === this.option("selectionMode")) { _events_engine.default.on(this._itemContainer(), FILE_MANAGER_THUMBNAILS_LIST_BOX_HOLD_EVENT_NAME, ".".concat(this._itemContentClass()), (function(e) { _this._processLongTap(e); e.stopPropagation() })) } _events_engine.default.on(this._itemContainer(), "mousedown selectstart", (function(e) { if (e.shiftKey) { e.preventDefault() } })) }; _proto._detachEventHandlers = function() { _events_engine.default.off(this._itemContainer(), FILE_MANAGER_THUMBNAILS_LIST_BOX_HOLD_EVENT_NAME); _events_engine.default.off(this._itemContainer(), "mousedown selectstart") }; _proto._itemContainer = function() { return this._$itemContainer }; _proto._itemClass = function() { return "dx-filemanager-thumbnails-item" }; _proto._itemDataKey = function() { return "dxFileManagerItemData" }; _proto._getDefaultItemTemplate = function(fileItemInfo, $itemElement) { $itemElement.attr("title", this._getTooltipText(fileItemInfo)); var $itemThumbnail = this._itemThumbnailTemplate(fileItemInfo); var $itemSpacer = (0, _renderer.default)("<div>").addClass("dx-filemanager-thumbnails-item-spacer"); var $itemName = (0, _renderer.default)("<div>").addClass("dx-filemanager-thumbnails-item-name").text(fileItemInfo.fileItem.name); $itemElement.append($itemThumbnail, $itemSpacer, $itemName) }; _proto._itemSelectHandler = function(e) { var options = {}; if ("multiple" === this.option("selectionMode")) { if (!this._isPreserveSelectionMode) { this._isPreserveSelectionMode = (0, _index.isCommandKeyPressed)(e) || e.shiftKey } options = { control: this._isPreserveSelectionMode, shift: e.shiftKey } } var index = this._getIndexByItemElement(e.currentTarget); this._selection.changeItemSelection(index, options) }; _proto._initSelectionModule = function() { var _this2 = this; _CollectionWidget.prototype._initSelectionModule.call(this); var options = (0, _extend.extend)(this._selection.options, { selectedKeys: this.option("selectedItemKeys"), onSelectionChanged: function(args) { _this2.option("selectedItems", _this2._getItemsByKeys(args.selectedItemKeys, args.selectedItems)); _this2._updateSelectedItems(args) } }); this._selection = new _selection.default(options) }; _proto._updateSelectedItems = function(args) { var _this3 = this; var addedItemKeys = args.addedItemKeys; var removedItemKeys = args.removedItemKeys; if (this._rendered && (addedItemKeys.length || removedItemKeys.length)) { var selectionChangePromise = this._selectionChangePromise; if (!this._rendering) { var addedSelection = []; var normalizedIndex; var removedSelection = []; this._editStrategy.beginCache(); for (var i = 0; i < removedItemKeys.length; i++) { normalizedIndex = this._getIndexByKey(removedItemKeys[i]); removedSelection.push(normalizedIndex); this._removeSelection(normalizedIndex) } for (var _i = 0; _i < addedItemKeys.length; _i++) { normalizedIndex = this._getIndexByKey(addedItemKeys[_i]); addedSelection.push(normalizedIndex); this._addSelection(normalizedIndex) } this._editStrategy.endCache(); this._updateSelection(addedSelection, removedSelection) }(0, _deferred.when)(selectionChangePromise).done((function() { return _this3._fireSelectionChangeEvent(args) })) } }; _proto._fireSelectionChangeEvent = function(args) { this._createActionByOption("onSelectionChanged", { excludeValidators: ["disabled", "readOnly"] })(args) }; _proto._updateSelection = function(addedSelection, removedSelection) { var selectedItemsCount = this.getSelectedItems().length; if (0 === selectedItemsCount) { this._isPreserveSelectionMode = false } }; _proto._normalizeSelectedItems = function() { var newKeys = this._getKeysByItems(this.option("selectedItems")); var oldKeys = this._selection.getSelectedItemKeys(); if (!this._compareKeys(oldKeys, newKeys)) { this._selection.setSelection(newKeys) } return (new _deferred.Deferred).resolve().promise() }; _proto._focusOutHandler = function() {}; _proto._getItems = function() { return this.option("items") || [] }; _proto._getItemsLength = function() { return this._getItems().length }; _proto._getIndexByItemElement = function(itemElement) { return this._editStrategy.getNormalizedIndex(itemElement) }; _proto._getItemByIndex = function(index) { return this._getItems()[index] }; _proto._getFocusedItem = function() { return this.getItemByItemElement(this.option("focusedElement")) }; _proto._focusItem = function(item, scrollToItem) { this.option("focusedElement", this.getItemElementByItem(item)); if (scrollToItem) { this._layoutUtils.scrollToItem(this._getIndexByItem(item)) } }; _proto._focusItemByIndex = function(index, scrollToItem, eventArgs) { if (index >= 0 && index < this._getItemsLength()) { var item = this._getItemByIndex(index); this._focusItem(item, scrollToItem, eventArgs) } }; _proto._syncFocusedItemKey = function() { var _this4 = this; if (!this._syncFocusedItemKeyDeferred) { this._syncFocusedItemKeyDeferred = new _deferred.Deferred } var deferred = this._syncFocusedItemKeyDeferred; if (this._dataSource && this._dataSource.isLoading()) { return deferred.promise() } var focusedItemKey = this.option("focusedItemKey"); if ((0, _type.isDefined)(focusedItemKey)) { var items = this.option("items"); var focusedItem = items.find((function(item) { return _this4.keyOf(item) === focusedItemKey })); if (focusedItem) { this._focusItem(focusedItem, true); deferred.resolve() } else { this.option("focusedItemKey", void 0); deferred.reject() } } else { deferred.resolve() } this._syncFocusedItemKeyDeferred = null; return deferred.promise() }; _proto._onFocusedItemChanged = function() { var focusedItem = this._getFocusedItem(); var newFocusedItemKey = this.keyOf(focusedItem); var oldFocusedItemKey = this.option("focusedItemKey"); if (newFocusedItemKey !== oldFocusedItemKey) { this._lockFocusedItemProcessing = true; this.option("focusedItemKey", newFocusedItemKey); this._lockFocusedItemProcessing = false; this._raiseFocusedItemChanged(focusedItem) } }; _proto._raiseFocusedItemChanged = function(focusedItem) { var args = { item: focusedItem, itemElement: this.option("focusedElement") }; this._actions.onFocusedItemChanged(args) }; _proto._changeItemSelection = function(item, select) { if (this.isItemSelected(item) === select) { return } var itemElement = this.getItemElementByItem(item); var index = this._getIndexByItemElement(itemElement); this._selection.changeItemSelection(index, { control: this._isPreserveSelectionMode }) }; _proto._chooseSelectOption = function() { return "selectedItemKeys" }; _proto.getSelectedItems = function() { return this._selection.getSelectedItems() }; _proto.getItemElementByItem = function(item) { return this._editStrategy.getItemElement(item) }; _proto.getItemByItemElement = function(itemElement) { return this._getItemByIndex(this._getIndexByItemElement(itemElement)) }; _proto.selectAll = function() { if ("multiple" !== this.option("selectionMode")) { return } this._selection.selectAll(); this._isPreserveSelectionMode = true }; _proto.selectItem = function(item) { this._changeItemSelection(item, true) }; _proto.deselectItem = function(item) { this._changeItemSelection(item, false) }; _proto.clearSelection = function() { this._selection.deselectAll() }; _proto._optionChanged = function(args) { var _this5 = this; switch (args.name) { case "items": if (this._layoutUtils) { this._layoutUtils.updateItems(this.itemElements().first()) } _CollectionWidget.prototype._optionChanged.call(this, args); break; case "focusedItemKey": if (this._lockFocusedItemProcessing) { break } if ((0, _type.isDefined)(args.value)) { this._syncFocusedItemKey().done((function() { var focusedItem = _this5._getFocusedItem(); _this5._raiseFocusedItemChanged(focusedItem) })) } else { this.option("focusedElement", null); this._raiseFocusedItemChanged(null) } break; case "onItemEnterKeyPressed": case "onFocusedItemChanged": this._actions[args.name] = this._createActionByOption(args.name); break; default: _CollectionWidget.prototype._optionChanged.call(this, args) } }; return FileManagerThumbnailListBox }(_uiCollection_widget.default); var ListBoxLayoutUtils = function() { function ListBoxLayoutUtils(scrollView, $viewPort, $itemContainer, $item) { this._layoutModel = null; this._scrollView = scrollView; this._$viewPort = $viewPort; this._$itemContainer = $itemContainer; this._$item = $item } var _proto2 = ListBoxLayoutUtils.prototype; _proto2.updateItems = function($item) { this._$item = $item }; _proto2.reset = function() { this._layoutModel = null }; _proto2.getLayoutModel = function() { if (!this._layoutModel) { this._layoutModel = this._createLayoutModel() } return this._layoutModel }; _proto2._createLayoutModel = function() { if (!this._$item) { return null } var itemWidth = (0, _size.getOuterWidth)(this._$item, true); if (0 === itemWidth) { return null } var itemHeight = (0, _size.getOuterHeight)(this._$item, true); var viewPortWidth = (0, _size.getInnerWidth)(this._$itemContainer); var viewPortHeight = (0, _size.getInnerHeight)(this._$viewPort); var viewPortScrollTop = this._scrollView.scrollTop(); var viewPortScrollBottom = viewPortScrollTop + viewPortHeight; var itemPerRowCount = Math.floor(viewPortWidth / itemWidth); var rowPerPageRate = viewPortHeight / itemHeight; return { itemWidth: itemWidth, itemHeight: itemHeight, viewPortWidth: viewPortWidth, viewPortHeight: viewPortHeight, viewPortScrollTop: viewPortScrollTop, viewPortScrollBottom: viewPortScrollBottom, itemPerRowCount: itemPerRowCount, rowPerPageRate: rowPerPageRate } }; _proto2.createItemLayoutModel = function(index) { var layout = this.getLayoutModel(); if (!layout) { return null } var itemRowIndex = Math.floor(index / layout.itemPerRowCount); var itemColumnIndex = index % layout.itemPerRowCount; var itemTop = itemRowIndex * layout.itemHeight; var itemBottom = itemTop + layout.itemHeight; return { itemRowIndex: itemRowIndex, itemColumnIndex: itemColumnIndex, itemTop: itemTop, itemBottom: itemBottom } }; _proto2.scrollToItem = function(index) { var layout = this.getLayoutModel(); if (!layout) { return } var itemRowIndex = Math.floor(index / layout.itemPerRowCount); var itemTop = itemRowIndex * layout.itemHeight; var itemBottom = itemTop + layout.itemHeight; var newScrollTop = layout.viewPortScrollTop; if (itemTop < layout.viewPortScrollTop) { newScrollTop = itemTop } else if (itemBottom > layout.viewPortScrollBottom) { newScrollTop = itemBottom - layout.viewPortHeight } this._scrollView.scrollTo(newScrollTop) }; return ListBoxLayoutUtils }(); var _default = FileManagerThumbnailListBox; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 32737: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _notify = _interopRequireDefault(__webpack_require__( /*! ../notify */ 59958)); var _uiFile_manager = __webpack_require__( /*! ./ui.file_manager.common */ 75084); var _file_items_controller = __webpack_require__( /*! ./file_items_controller */ 57289); var _uiFile_manager2 = __webpack_require__( /*! ./ui.file_manager.command_manager */ 77311); var _uiFile_manager3 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.context_menu */ 2681)); var _uiFile_manager4 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.files_tree_view */ 48156)); var _uiFile_managerItem_list = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.item_list.details */ 99386)); var _uiFile_managerItem_list2 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.item_list.thumbnails */ 6339)); var _uiFile_manager5 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.toolbar */ 70166)); var _uiFile_manager6 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.notification */ 17723)); var _uiFile_manager7 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.editing */ 86471)); var _uiFile_manager8 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.breadcrumbs */ 47565)); var _uiFile_manager9 = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.adaptivity */ 52666)); var _utils = __webpack_require__( /*! ../../core/options/utils */ 45434); var _comparator = __webpack_require__( /*! ../../core/utils/comparator */ 49036); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var VIEW_AREAS_folders = "navPane", VIEW_AREAS_items = "itemView"; var FileManager = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManager, _Widget); function FileManager() { return _Widget.apply(this, arguments) || this } var _proto = FileManager.prototype; _proto._initTemplates = function() {}; _proto._init = function() { _Widget.prototype._init.call(this); this._initActions(); this._providerUpdateDeferred = null; this._lockCurrentPathProcessing = false; this._wasRendered = false; this._controller = new _file_items_controller.FileItemsController({ currentPath: this.option("currentPath"), currentPathKeys: this.option("currentPathKeys"), rootText: this.option("rootFolderName"), fileProvider: this.option("fileSystemProvider"), allowedFileExtensions: this.option("allowedFileExtensions"), uploadMaxFileSize: this.option("upload").maxFileSize, uploadChunkSize: this.option("upload").chunkSize, onInitialized: this._onControllerInitialized.bind(this), onDataLoading: this._onDataLoading.bind(this), onSelectedDirectoryChanged: this._onSelectedDirectoryChanged.bind(this), onPathPotentiallyChanged: this._checkPathActuality.bind(this), editingEvents: this._actions.editing }) }; _proto._initMarkup = function() { _Widget.prototype._initMarkup.call(this); this._firstItemViewLoad = true; this._lockSelectionProcessing = false; this._lockFocusedItemProcessing = false; this._itemKeyToFocus = void 0; this._loadedWidgets = []; this._commandManager = new _uiFile_manager2.FileManagerCommandManager(this.option("permissions")); this.$element().addClass("dx-filemanager"); if (this._wasRendered) { this._prepareToLoad() } else { this._wasRendered = true } this._createNotificationControl(); this._initCommandManager() }; _proto._createNotificationControl = function() { var _this = this; var $notificationControl = (0, _renderer.default)("<div>").addClass("dx-filemanager-notification-container").appendTo(this.$element()); this._notificationControl = this._createComponent($notificationControl, _uiFile_manager6.default, { progressPanelContainer: this.$element(), contentTemplate: function(container, notificationControl) { return _this._createWrapper(container, notificationControl) }, onActionProgress: function(e) { return _this._onActionProgress(e) }, positionTarget: ".".concat("dx-filemanager-container"), showProgressPanel: this.option("notifications.showPanel"), showNotificationPopup: this.option("notifications.showPopup") }) }; _proto._createWrapper = function(container, notificationControl) { var _this2 = this; this._$wrapper = (0, _renderer.default)("<div>").addClass("dx-filemanager-wrapper").appendTo(container); this._createEditing(notificationControl); var $toolbar = (0, _renderer.default)("<div>").appendTo(this._$wrapper); this._toolbar = this._createComponent($toolbar, _uiFile_manager5.default, { commandManager: this._commandManager, generalItems: this.option("toolbar.items"), fileItems: this.option("toolbar.fileSelectionItems"), itemViewMode: this.option("itemView").mode, onItemClick: function(args) { return _this2._actions.onToolbarItemClick(args) } }); this._createAdaptivityControl() }; _proto._createAdaptivityControl = function() { var _this3 = this; var $container = (0, _renderer.default)("<div>").addClass("dx-filemanager-container").appendTo(this._$wrapper); this._adaptivityControl = this._createComponent($container, _uiFile_manager9.default, { drawerTemplate: function(container) { return _this3._createFilesTreeView(container) }, contentTemplate: function(container) { return _this3._createItemsPanel(container) }, onAdaptiveStateChanged: function(e) { return _this3._onAdaptiveStateChanged(e) } }); this._editing.setUploaderSplitterElement(this._adaptivityControl.getSplitterElement()) }; _proto._createEditing = function(notificationControl) { var _this4 = this; var $editingContainer = (0, _renderer.default)("<div>").addClass("dx-filemanager-editing-container").appendTo(this.$element()); this._editing = this._createComponent($editingContainer, _uiFile_manager7.default, { controller: this._controller, model: { getMultipleSelectedItems: this._getSelectedItemInfos.bind(this) }, getItemThumbnail: this._getItemThumbnailInfo.bind(this), notificationControl: notificationControl, uploadDropZonePlaceholderContainer: this.$element(), rtlEnabled: this.option("rtlEnabled"), onSuccess: function(_ref) { var updatedOnlyFiles = _ref.updatedOnlyFiles; return _this4._redrawComponent(updatedOnlyFiles) }, onError: function(e) { return _this4._onEditingError(e) } }) }; _proto._createItemsPanel = function($container) { this._$itemsPanel = (0, _renderer.default)("<div>").addClass("dx-filemanager-items-panel").appendTo($container); this._createBreadcrumbs(this._$itemsPanel); this._createItemView(this._$itemsPanel); this._updateUploadDropZone() }; _proto._updateUploadDropZone = function() { var dropZone = this._commandManager.isCommandAvailable("upload") ? this._$itemsPanel : (0, _renderer.default)(); this._editing.setUploaderDropZone(dropZone) }; _proto._createFilesTreeView = function(container) { var _this5 = this; this._filesTreeViewContextMenu = this._createContextMenu(false, VIEW_AREAS_folders); var $filesTreeView = (0, _renderer.default)("<div>").addClass("dx-filemanager-dirs-panel").appendTo(container); this._filesTreeView = this._createComponent($filesTreeView, _uiFile_manager4.default, { storeExpandedState: true, contextMenu: this._filesTreeViewContextMenu, getDirectories: this.getDirectories.bind(this), getCurrentDirectory: this._getCurrentDirectory.bind(this), onDirectoryClick: function(_ref2) { var itemData = _ref2.itemData; return _this5._setCurrentDirectory(itemData) }, onItemListDataLoaded: function() { return _this5._tryEndLoading(VIEW_AREAS_folders) } }); this._filesTreeView.updateCurrentDirectory() }; _proto._createItemView = function($container, viewMode) { var _this6 = this; this._itemViewContextMenu = this._createContextMenu(true, VIEW_AREAS_items); var itemViewOptions = this.option("itemView"); var options = { selectionMode: this.option("selectionMode"), selectedItemKeys: this.option("selectedItemKeys"), focusedItemKey: this.option("focusedItemKey"), contextMenu: this._itemViewContextMenu, getItems: this._getItemViewItems.bind(this), onError: function(_ref3) { var error = _ref3.error; return _this6._showError(error) }, onSelectionChanged: this._onItemViewSelectionChanged.bind(this), onFocusedItemChanged: this._onItemViewFocusedItemChanged.bind(this), onSelectedItemOpened: this._onSelectedItemOpened.bind(this), onContextMenuShowing: function(e) { return _this6._onContextMenuShowing(VIEW_AREAS_items, e) }, onItemListItemsLoaded: function() { return _this6._tryEndLoading(VIEW_AREAS_items) }, getItemThumbnail: this._getItemThumbnailInfo.bind(this), customizeDetailColumns: this.option("customizeDetailColumns"), detailColumns: this.option("itemView.details.columns") }; var $itemView = (0, _renderer.default)("<div>").appendTo($container); viewMode = viewMode || itemViewOptions.mode; var widgetClass = "thumbnails" === viewMode ? _uiFile_managerItem_list2.default : _uiFile_managerItem_list.default; this._itemView = this._createComponent($itemView, widgetClass, options) }; _proto._createBreadcrumbs = function($container) { var _this7 = this; var $breadcrumbs = (0, _renderer.default)("<div>").appendTo($container); this._breadcrumbs = this._createComponent($breadcrumbs, _uiFile_manager8.default, { rootFolderDisplayName: this.option("rootFolderName"), onCurrentDirectoryChanging: function(_ref4) { var currentDirectory = _ref4.currentDirectory; return _this7._setCurrentDirectory(currentDirectory, true) } }); this._breadcrumbs.setCurrentDirectory(this._getCurrentDirectory()) }; _proto._createContextMenu = function(isolateCreationItemCommands, viewArea) { var _this8 = this; var $contextMenu = (0, _renderer.default)("<div>").appendTo(this._$wrapper); return this._createComponent($contextMenu, _uiFile_manager3.default, { commandManager: this._commandManager, items: this.option("contextMenu.items"), onItemClick: function(args) { return _this8._actions.onContextMenuItemClick(args) }, onContextMenuShowing: function(e) { return _this8._onContextMenuShowing(viewArea, e) }, isolateCreationItemCommands: isolateCreationItemCommands, viewArea: viewArea }) }; _proto._initCommandManager = function() { var _this9 = this; var actions = (0, _extend.extend)(this._editing.getCommandActions(), { refresh: function() { return _this9._refreshAndShowProgress() }, thumbnails: function() { return _this9.option("itemView.mode", "thumbnails") }, details: function() { return _this9.option("itemView.mode", "details") }, clearSelection: function() { return _this9._clearSelection() }, showNavPane: function() { return _this9._adaptivityControl.toggleDrawer() } }); this._commandManager.registerActions(actions) }; _proto._onItemViewSelectionChanged = function(_ref5) { var selectedItemInfos = _ref5.selectedItemInfos, selectedItems = _ref5.selectedItems, selectedItemKeys = _ref5.selectedItemKeys, currentSelectedItemKeys = _ref5.currentSelectedItemKeys, currentDeselectedItemKeys = _ref5.currentDeselectedItemKeys; this._lockSelectionProcessing = true; this.option("selectedItemKeys", selectedItemKeys); this._lockSelectionProcessing = false; this._actions.onSelectionChanged({ selectedItems: selectedItems, selectedItemKeys: selectedItemKeys, currentSelectedItemKeys: currentSelectedItemKeys, currentDeselectedItemKeys: currentDeselectedItemKeys }); this._updateToolbar(selectedItemInfos) }; _proto._onItemViewFocusedItemChanged = function(e) { this._lockFocusedItemProcessing = true; this.option("focusedItemKey", e.itemKey); this._lockFocusedItemProcessing = false; this._actions.onFocusedItemChanged({ item: e.item, itemElement: e.itemElement }) }; _proto._onAdaptiveStateChanged = function(_ref6) { var enabled = _ref6.enabled; this._commandManager.setCommandEnabled("showNavPane", enabled); this._updateToolbar() }; _proto._onActionProgress = function(_ref7) { var message = _ref7.message, status = _ref7.status; this._toolbar.updateRefreshItem(message, status); this._updateToolbar() }; _proto._onEditingError = function(e) { var args = (0, _uiFile_manager.extendAttributes)({}, e, ["errorCode", "errorText", "fileSystemItem"]); this._actions.onErrorOccurred(args); e.errorText = args.errorText }; _proto._refreshAndShowProgress = function() { var _this10 = this; this._prepareToLoad(); return (0, _deferred.when)(this._notificationControl.tryShowProgressPanel(), this._controller.refresh()).then((function() { return _this10._filesTreeView.refresh() })) }; _proto._isAllWidgetsLoaded = function() { return 2 === this._loadedWidgets.length && -1 !== this._loadedWidgets.indexOf(VIEW_AREAS_folders) && -1 !== this._loadedWidgets.indexOf(VIEW_AREAS_items) }; _proto._tryEndLoading = function(area) { this._loadedWidgets.push(area); if (this._isAllWidgetsLoaded()) { this._controller.endSingleLoad() } }; _proto._prepareToLoad = function() { this._loadedWidgets = []; this._controller.startSingleLoad() }; _proto._updateToolbar = function(selectedItems) { var items = selectedItems || this._getSelectedItemInfos(); this._toolbar.option("contextItems", (0, _common.ensureDefined)(items, [])) }; _proto._switchView = function(viewMode) { this._disposeWidget(this._itemView.option("contextMenu")); this._disposeWidget(this._itemView); this._createItemView(this._$itemsPanel, viewMode); this._toolbar.option({ itemViewMode: viewMode }) }; _proto._disposeWidget = function(widget) { widget.dispose(); widget.$element().remove() }; _proto._clearSelection = function() { this._itemView.clearSelection() }; _proto._showError = function(message) { this._showNotification(message, false) }; _proto._showNotification = function(message, isSuccess) { (0, _notify.default)({ message: message, width: 450 }, isSuccess ? "success" : "error", 5e3) }; _proto._redrawComponent = function(onlyFileItemsView) { var _this11 = this; this._itemView.refresh().then((function() { return !onlyFileItemsView && _this11._filesTreeView.refresh() })) }; _proto._getItemViewItems = function() { var _this12 = this; var showFolders = this.option("itemView").showFolders; var result = this._controller.getCurrentItems(!showFolders); this._updateToolbarWithSelectionOnFirstLoad(result); if (this.option("itemView.showParentFolder")) { result = (0, _deferred.when)(result).then((function(items) { return _this12._getPreparedItemViewItems(items) })) } return result }; _proto._updateToolbarWithSelectionOnFirstLoad = function(itemsResult) { var _this13 = this; if (!this._firstItemViewLoad) { return } this._firstItemViewLoad = false; var selectedItemKeys = this.option("selectedItemKeys"); if (selectedItemKeys.length > 0) { (0, _deferred.when)(itemsResult).done((function(items) { var selectedItems = (0, _uiFile_manager.findItemsByKeys)(items, selectedItemKeys); if (selectedItems.length > 0) { _this13._updateToolbar(selectedItems) } })) } }; _proto._getPreparedItemViewItems = function(items) { var selectedDir = this._getCurrentDirectory(); if (selectedDir.fileItem.isRoot()) { return items } var parentDirItem = selectedDir.fileItem.createClone(); parentDirItem.isParentFolder = true; parentDirItem.name = ".."; parentDirItem.relativeName = ".."; parentDirItem.key = "".concat("[*DXPDK*]$40F96F03-FBD8-43DF-91BE-F55F4B8BA871$").concat(selectedDir.fileItem.key); var itemsCopy = _toConsumableArray(items); itemsCopy.unshift({ fileItem: parentDirItem, icon: "parentfolder" }); return itemsCopy }; _proto._onContextMenuShowing = function(viewArea, e) { var _e$itemData; var eventArgs = (0, _uiFile_manager.extendAttributes)({}, e, ["targetElement", "cancel", "event"]); eventArgs = (0, _extend.extend)(eventArgs, { viewArea: viewArea, fileSystemItem: null === (_e$itemData = e.itemData) || void 0 === _e$itemData ? void 0 : _e$itemData.fileItem, _isActionButton: e.isActionButton }); this._actions.onContextMenuShowing(eventArgs); e.cancel = (0, _common.ensureDefined)(eventArgs.cancel, false) }; _proto._getItemThumbnailInfo = function(fileInfo) { var func = this.option("customizeThumbnail"); var thumbnail = (0, _type.isFunction)(func) ? func(fileInfo.fileItem) : fileInfo.fileItem.thumbnail; if (thumbnail) { return { thumbnail: thumbnail, cssClass: "dx-filemanager-item-custom-thumbnail" } } return { thumbnail: fileInfo.icon } }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { fileSystemProvider: null, currentPath: "", currentPathKeys: [], rootFolderName: _message.default.format("dxFileManager-rootDirectoryName"), selectionMode: "multiple", selectedItemKeys: [], focusedItemKey: void 0, toolbar: { items: ["showNavPane", "create", "upload", "switchView", { name: "separator", location: "after" }, "refresh"], fileSelectionItems: ["download", "separator", "move", "copy", "rename", "separator", "delete", "clearSelection", { name: "separator", location: "after" }, "refresh"] }, contextMenu: { items: ["create", "upload", "rename", "move", "copy", "delete", "refresh", "download"] }, itemView: { details: { columns: ["thumbnail", "name", "dateModified", "size"] }, mode: "details", showFolders: true, showParentFolder: true }, customizeThumbnail: null, customizeDetailColumns: null, onContextMenuItemClick: null, onContextMenuShowing: null, onCurrentDirectoryChanged: null, onSelectedFileOpened: null, onSelectionChanged: null, onFocusedItemChanged: null, onToolbarItemClick: null, onErrorOccurred: null, onDirectoryCreating: null, onDirectoryCreated: null, onItemRenaming: null, onItemRenamed: null, onItemDeleting: null, onItemDeleted: null, onItemCopying: null, onItemCopied: null, onItemMoving: null, onItemMoved: null, onFileUploading: null, onFileUploaded: null, onItemDownloading: null, allowedFileExtensions: [], upload: { maxFileSize: 0, chunkSize: 2e5 }, permissions: (0, _extend.extend)({}, _uiFile_manager2.defaultPermissions), notifications: { showPanel: true, showPopup: true } }) }; _proto.option = function(options, value) { var _this14 = this; var optionsToCheck = (0, _utils.normalizeOptions)(options, value); var isGetter = arguments.length < 2 && "object" !== (0, _type.type)(options); var isOptionDefined = function(name) { return (0, _type.isDefined)(optionsToCheck[name]) }; var isOptionValueDiffers = function(name) { if (!isOptionDefined(name)) { return false } var previousValue = _this14.option(name); var value = optionsToCheck[name]; return !(0, _comparator.equals)(previousValue, value) }; if (!isGetter && isOptionDefined("fileSystemProvider")) { this._providerUpdateDeferred = new _deferred.Deferred; if (isOptionValueDiffers("currentPath") || isOptionValueDiffers("currentPathKeys")) { this._lockCurrentPathProcessing = true } } return _Widget.prototype.option.apply(this, arguments) }; _proto._optionChanged = function(args) { var _this15 = this; var name = args.name; switch (name) { case "currentPath": var updateFunc = function() { _this15._lockCurrentPathProcessing = false; return _this15._controller.setCurrentPath(args.value) }; this._lockCurrentPathProcessing = true; this._providerUpdateDeferred ? this._providerUpdateDeferred.then(updateFunc) : updateFunc(); break; case "currentPathKeys": var _updateFunc = function() { _this15._lockCurrentPathProcessing = false; return _this15._controller.setCurrentPathByKeys(args.value) }; this._lockCurrentPathProcessing = true; this._providerUpdateDeferred ? this._providerUpdateDeferred.then(_updateFunc) : _updateFunc(); break; case "selectedItemKeys": if (!this._lockSelectionProcessing && this._itemView) { this._itemView.option("selectedItemKeys", args.value) } break; case "focusedItemKey": if (!this._lockFocusedItemProcessing && this._itemView) { this._itemView.option("focusedItemKey", args.value) } break; case "rootFolderName": this._controller.setRootText(args.value); this._invalidate(); break; case "fileSystemProvider": if (!this._lockCurrentPathProcessing) { this._providerUpdateDeferred = new _deferred.Deferred } var pathKeys = this._lockCurrentPathProcessing ? void 0 : this.option("currentPathKeys"); this._controller.updateProvider(args.value, pathKeys).then((function() { return _this15._providerUpdateDeferred.resolve() })).always((function() { _this15._providerUpdateDeferred = null; _this15.repaint() })); break; case "allowedFileExtensions": this._controller.setAllowedFileExtensions(args.value); this._invalidate(); break; case "upload": this._controller.setUploadOptions(this.option("upload")); this._invalidate(); break; case "permissions": this._commandManager.updatePermissions(this.option("permissions")); this._filesTreeViewContextMenu.tryUpdateVisibleContextMenu(); this._itemViewContextMenu.tryUpdateVisibleContextMenu(); this._toolbar.updateItemPermissions(); this._updateUploadDropZone(); break; case "selectionMode": case "customizeThumbnail": case "customizeDetailColumns": this._invalidate(); break; case "itemView": if ("itemView.mode" === args.fullName) { this._switchView(args.value) } else { this._invalidate() } break; case "toolbar": var toolbarOptions = {}; if ("toolbar" === args.fullName) { if (args.value.items) { toolbarOptions.generalItems = args.value.items } if (args.value.fileSelectionItems) { toolbarOptions.fileItems = args.value.fileSelectionItems } } if (0 === args.fullName.indexOf("toolbar.items")) { toolbarOptions.generalItems = this.option("toolbar.items") } if (0 === args.fullName.indexOf("toolbar.fileSelectionItems")) { toolbarOptions.fileItems = this.option("toolbar.fileSelectionItems") } this._toolbar.option(toolbarOptions); break; case "contextMenu": if ("contextMenu" === args.fullName && args.value.items || 0 === args.fullName.indexOf("contextMenu.items")) { var contextMenuItems = this.option("contextMenu.items"); this._filesTreeViewContextMenu.option("items", contextMenuItems); this._itemViewContextMenu.option("items", contextMenuItems) } break; case "notifications": this._notificationControl.option("showProgressPanel", this.option("notifications.showPanel")); this._notificationControl.option("showNotificationPopup", this.option("notifications.showPopup")); break; case "onContextMenuItemClick": case "onContextMenuShowing": case "onCurrentDirectoryChanged": case "onSelectedFileOpened": case "onSelectionChanged": case "onFocusedItemChanged": case "onToolbarItemClick": case "onErrorOccurred": this._actions[name] = this._createActionByOption(name); break; case "onDirectoryCreating": case "onDirectoryCreated": case "onItemRenaming": case "onItemRenamed": case "onItemDeleting": case "onItemDeleted": case "onItemCopying": case "onItemCopied": case "onItemMoving": case "onItemMoved": case "onFileUploading": case "onFileUploaded": case "onItemDownloading": this._actions.editing[name] = this._createActionByOption(name); break; case "rtlEnabled": this._editing.updateDialogRtl(args.value); _Widget.prototype._optionChanged.call(this, args); break; default: _Widget.prototype._optionChanged.call(this, args) } }; _proto._initActions = function() { this._actions = { onContextMenuItemClick: this._createActionByOption("onContextMenuItemClick"), onContextMenuShowing: this._createActionByOption("onContextMenuShowing"), onCurrentDirectoryChanged: this._createActionByOption("onCurrentDirectoryChanged"), onSelectedFileOpened: this._createActionByOption("onSelectedFileOpened"), onSelectionChanged: this._createActionByOption("onSelectionChanged"), onFocusedItemChanged: this._createActionByOption("onFocusedItemChanged"), onToolbarItemClick: this._createActionByOption("onToolbarItemClick"), onErrorOccurred: this._createActionByOption("onErrorOccurred"), editing: { onDirectoryCreating: this._createActionByOption("onDirectoryCreating"), onDirectoryCreated: this._createActionByOption("onDirectoryCreated"), onItemRenaming: this._createActionByOption("onItemRenaming"), onItemRenamed: this._createActionByOption("onItemRenamed"), onItemDeleting: this._createActionByOption("onItemDeleting"), onItemDeleted: this._createActionByOption("onItemDeleted"), onItemCopying: this._createActionByOption("onItemCopying"), onItemCopied: this._createActionByOption("onItemCopied"), onItemMoving: this._createActionByOption("onItemMoving"), onItemMoved: this._createActionByOption("onItemMoved"), onFileUploading: this._createActionByOption("onFileUploading"), onFileUploaded: this._createActionByOption("onFileUploaded"), onItemDownloading: this._createActionByOption("onItemDownloading") } } }; _proto.executeCommand = function(commandName) { return this._commandManager.executeCommand(commandName) }; _proto._setCurrentDirectory = function(directoryInfo, checkActuality) { this._controller.setCurrentDirectory(directoryInfo, checkActuality) }; _proto._getCurrentDirectory = function() { return this._controller.getCurrentDirectory() }; _proto._onControllerInitialized = function(_ref8) { var controller = _ref8.controller; this._controller = this._controller || controller; this._syncToCurrentDirectory() }; _proto._onDataLoading = function(_ref9) { var operation = _ref9.operation; var options = null; if (operation === _file_items_controller.OPERATIONS.NAVIGATION) { options = { focusedItemKey: this._itemKeyToFocus, selectedItemKeys: this.option("selectedItemKeys") }; this._itemKeyToFocus = void 0 } this._itemView.refresh(options, operation) }; _proto._onSelectedDirectoryChanged = function() { var currentDirectory = this._getCurrentDirectory(); this._syncToCurrentDirectory(); this._actions.onCurrentDirectoryChanged({ directory: currentDirectory.fileItem }) }; _proto._syncToCurrentDirectory = function() { var currentDirectory = this._getCurrentDirectory(); if (this._filesTreeView) { this._filesTreeView.updateCurrentDirectory() } if (this._breadcrumbs) { this._breadcrumbs.setCurrentDirectory(currentDirectory) } this._checkPathActuality() }; _proto._checkPathActuality = function() { if (this._lockCurrentPathProcessing) { return } var currentPath = this._controller.getCurrentPath(); var currentPathKeys = this._controller.getCurrentPathKeys(); var options = {}; if (this.option("currentPath") !== currentPath) { options.currentPath = currentPath } if (!(0, _common.equalByValue)(this.option("currentPathKeys"), currentPathKeys)) { options.currentPathKeys = currentPathKeys } if (!(0, _type.isEmptyObject)(options)) { this.option(options) } }; _proto.getDirectories = function(parentDirectoryInfo, skipNavigationOnError) { return this._controller.getDirectories(parentDirectoryInfo, skipNavigationOnError) }; _proto._getSelectedItemInfos = function() { return this._itemView ? this._itemView.getSelectedItems() : [] }; _proto.refresh = function() { return this.executeCommand("refresh") }; _proto.getCurrentDirectory = function() { var directoryInfo = this._getCurrentDirectory(); return directoryInfo && directoryInfo.fileItem || null }; _proto.getSelectedItems = function() { return this._getSelectedItemInfos().map((function(itemInfo) { return itemInfo.fileItem })) }; _proto._onSelectedItemOpened = function(_ref10) { var fileItemInfo = _ref10.fileItemInfo; var fileItem = fileItemInfo.fileItem; if (!fileItem.isDirectory) { this._actions.onSelectedFileOpened({ file: fileItem }); return } if (fileItem.isParentFolder) { this._itemKeyToFocus = this._getCurrentDirectory().fileItem.key } var newCurrentDirectory = fileItem.isParentFolder ? this._getCurrentDirectory().parentDirectory : fileItemInfo; this._setCurrentDirectory(newCurrentDirectory); if (newCurrentDirectory) { this._filesTreeView.toggleDirectoryExpandedState(newCurrentDirectory.parentDirectory, true) } }; return FileManager }(_ui.default); (0, _component_registrator.default)("dxFileManager", FileManager); var _default = FileManager; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 17053: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.messages.js ***! \*****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "ErrorCode", { enumerable: true, get: function() { return _error_codes.default } }); exports.FileManagerMessages = void 0; var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _error_codes = _interopRequireDefault(__webpack_require__( /*! ../../file_management/error_codes */ 41011)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var FileManagerMessages = { get: function(errorCode, args) { switch (errorCode) { case _error_codes.default.NoAccess: return _message.default.format("dxFileManager-errorNoAccess"); case _error_codes.default.FileExists: return _message.default.format("dxFileManager-errorFileExistsFormat", args); case _error_codes.default.FileNotFound: return _message.default.format("dxFileManager-errorFileNotFoundFormat", args); case _error_codes.default.DirectoryExists: return _message.default.format("dxFileManager-errorDirectoryExistsFormat", args); case _error_codes.default.DirectoryNotFound: return _message.default.format("dxFileManager-errorDirectoryNotFoundFormat", args); case _error_codes.default.WrongFileExtension: return _message.default.format("dxFileManager-errorWrongFileExtension"); case _error_codes.default.MaxFileSizeExceeded: return _message.default.format("dxFileManager-errorMaxFileSizeExceeded"); case _error_codes.default.InvalidSymbols: return _message.default.format("dxFileManager-errorInvalidSymbols") } return _message.default.format("dxFileManager-errorDefault") } }; exports.FileManagerMessages = FileManagerMessages }, 17723: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.notification.js ***! \*********************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../popup/ui.popup */ 51495)); var _ui3 = _interopRequireDefault(__webpack_require__( /*! ../drawer/ui.drawer */ 32089)); var _uiFile_manager = __webpack_require__( /*! ./ui.file_manager.notification_manager */ 35226); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var window = (0, _window.getWindow)(); var FILE_MANAGER_NOTIFICATION_DRAWER_CLASS = "".concat("dx-filemanager-notification", "-drawer"); var FILE_MANAGER_NOTIFICATION_DRAWER_PANEL_CLASS = "".concat(FILE_MANAGER_NOTIFICATION_DRAWER_CLASS, "-panel"); var FILE_MANAGER_NOTIFICATION_POPUP_CLASS = "".concat("dx-filemanager-notification", "-popup"); var FILE_MANAGER_NOTIFICATION_POPUP_ERROR_CLASS = "".concat("dx-filemanager-notification", "-popup-error"); var FILE_MANAGER_NOTIFICATION_COMMON_CLASS = "".concat("dx-filemanager-notification", "-common"); var FILE_MANAGER_NOTIFICATION_SEPARATOR_CLASS = "".concat("dx-filemanager-notification", "-separator"); var FILE_MANAGER_NOTIFICATION_DETAILS_CLASS = "".concat("dx-filemanager-notification", "-details"); var FILE_MANAGER_NOTIFICATION_COMMON_NO_ITEM_CLASS = "".concat("dx-filemanager-notification", "-common-no-item"); var FileManagerNotificationControl = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerNotificationControl, _Widget); function FileManagerNotificationControl() { return _Widget.apply(this, arguments) || this } var _proto = FileManagerNotificationControl.prototype; _proto._initMarkup = function() { var _this = this; _Widget.prototype._initMarkup.call(this); this._initActions(); this._isInAdaptiveState = this._isSmallScreen(); this._managerMap = {}; this._notificationManagerStubId = null; this._setNotificationManager(); var $progressPanelContainer = this.option("progressPanelContainer"); var $progressDrawer = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_NOTIFICATION_DRAWER_CLASS).appendTo($progressPanelContainer); (0, _renderer.default)("<div>").addClass(FILE_MANAGER_NOTIFICATION_DRAWER_PANEL_CLASS).appendTo($progressDrawer); var drawerOptions = (0, _extend.extend)({ opened: false, position: "right", template: function(container) { return _this._ensureProgressPanelCreated(container) } }, this._getProgressDrawerAdaptiveOptions()); this._progressDrawer = this._createComponent($progressDrawer, _ui3.default, drawerOptions); var $drawerContent = $progressDrawer.find(".".concat(FILE_MANAGER_NOTIFICATION_DRAWER_PANEL_CLASS)).first(); var contentRenderer = this.option("contentTemplate"); if ((0, _type.isFunction)(contentRenderer)) { contentRenderer($drawerContent, this) } }; _proto._setNotificationManager = function(options) { options = (0, _extend.extend)({ onActionProgressStatusChanged: this._raiseActionProgress.bind(this) }, options); if (!this._notificationManagerStubId) { var stubManager = new _uiFile_manager.NotificationManagerStub(options); this._notificationManagerStubId = stubManager.getId(); this._managerMap[this._notificationManagerStubId] = stubManager } if (!this._isProgressDrawerDisabled()) { var notificationManagerComponent = this._getProgressManagerComponent(); options.isActual = true; var defaultManager = new notificationManagerComponent(options); this._managerMap[defaultManager.getId()] = defaultManager } }; _proto._getNotificationManager = function(operationInfo) { var actualManagerId = (null === operationInfo || void 0 === operationInfo ? void 0 : operationInfo[_uiFile_manager.MANAGER_ID_NAME]) || this._getActualNotificationManagerId(); return this._managerMap[actualManagerId] || this._managerMap[this._notificationManagerStubId] }; _proto._clearManagerMap = function() { var stubManager = this._managerMap[this._notificationManagerStubId]; delete this._managerMap; this._managerMap = _defineProperty({}, this._notificationManagerStubId, stubManager) }; _proto._getActualNotificationManagerId = function() { var _this2 = this; return Object.keys(this._managerMap).filter((function(managerId) { return _this2._managerMap[managerId].isActual() }))[0] }; _proto.tryShowProgressPanel = function() { var _this3 = this; var promise = new _deferred.Deferred; var notificationManager = this._getNotificationManager(); if (notificationManager.isActionProgressStatusDefault() || this._isProgressDrawerOpened() || this._isProgressDrawerDisabled()) { return promise.resolve().promise() } setTimeout((function() { _this3._progressDrawer.show().done(promise.resolve); _this3._hidePopup(); notificationManager.tryHideActionProgress() })); return promise.promise() }; _proto.addOperation = function(processingMessage, allowCancel, allowProgressAutoUpdate) { var notificationManager = this._getNotificationManager(); return notificationManager.addOperation(processingMessage, allowCancel, allowProgressAutoUpdate) }; _proto.addOperationDetails = function(operationInfo, details, showCloseButton) { var notificationManager = this._getNotificationManager(operationInfo); notificationManager.addOperationDetails(operationInfo, details, showCloseButton) }; _proto.updateOperationItemProgress = function(operationInfo, itemIndex, itemProgress, commonProgress) { var notificationManager = this._getNotificationManager(operationInfo); notificationManager.updateOperationItemProgress(operationInfo, itemIndex, itemProgress, commonProgress) }; _proto.completeOperationItem = function(operationInfo, itemIndex, commonProgress) { var notificationManager = this._getNotificationManager(operationInfo); notificationManager.completeOperationItem(operationInfo, itemIndex, commonProgress) }; _proto.finishOperation = function(operationInfo, commonProgress) { var notificationManager = this._getNotificationManager(operationInfo); notificationManager.finishOperation(operationInfo, commonProgress) }; _proto.completeOperation = function(operationInfo, commonText, isError, statusText) { var notificationManager = this._getNotificationManager(operationInfo); if (!isError) { this._showPopup(commonText) } notificationManager.completeOperation(operationInfo, commonText, isError, statusText); if (!this._isProgressDrawerOpened() || !notificationManager.hasNoOperations()) { notificationManager.updateActionProgressStatus(operationInfo) } else { notificationManager.tryHideActionProgress() } }; _proto.completeSingleOperationWithError = function(operationInfo, errorInfo) { var notificationManager = this._getNotificationManager(operationInfo); notificationManager.completeSingleOperationWithError(operationInfo, errorInfo); this._showPopupError(errorInfo) }; _proto.addOperationDetailsError = function(operationInfo, errorInfo) { var notificationManager = this._getNotificationManager(operationInfo); notificationManager.addOperationDetailsError(operationInfo, errorInfo); this._showPopupError(errorInfo) }; _proto._hideProgressPanel = function() { var _this4 = this; setTimeout((function() { return _this4._progressDrawer.hide() })) }; _proto._isSmallScreen = function() { if (!(0, _window.hasWindow)()) { return false } return (0, _size.getWidth)(window) <= 1e3 }; _proto._dimensionChanged = function(dimension) { if (!(dimension && "height" === dimension)) { this._checkAdaptiveState() } }; _proto._checkAdaptiveState = function() { var oldState = this._isInAdaptiveState; this._isInAdaptiveState = this._isSmallScreen(); if (oldState !== this._isInAdaptiveState && this._progressDrawer) { var notificationManager = this._getNotificationManager(); if (notificationManager.handleDimensionChanged()) { var options = this._getProgressDrawerAdaptiveOptions(); this._progressDrawer.option(options) } } }; _proto._getProgressDrawerAdaptiveOptions = function() { if (this._isInAdaptiveState) { return { openedStateMode: "overlap", shading: true, hideOnOutsideClick: true } } else { return { openedStateMode: "shrink", shading: false, hideOnOutsideClick: false } } }; _proto._ensureProgressPanelCreated = function(container) { var _this5 = this; var notificationManager = this._getNotificationManager(); notificationManager.ensureProgressPanelCreated(container, { onOperationCanceled: function(_ref) { var info = _ref.info; return _this5._raiseOperationCanceled(info) }, onOperationItemCanceled: function(_ref2) { var item = _ref2.item, itemIndex = _ref2.itemIndex; return _this5._raiseOperationItemCanceled(item, itemIndex) }, onPanelClosed: function() { return _this5._hideProgressPanel() } }) }; _proto._getProgressManagerComponent = function() { return _uiFile_manager.NotificationManager }; _proto._isProgressDrawerDisabled = function() { return !this.option("showProgressPanel") }; _proto._isProgressDrawerOpened = function() { return this._progressDrawer.option("opened") }; _proto._hidePopup = function(forceHide) { if (!this.option("showNotificationPopup") && !forceHide) { return } this._getNotificationPopup().hide() }; _proto._showPopup = function(content, errorMode) { if (this._isProgressDrawerOpened() || !this.option("showNotificationPopup")) { return } this._getNotificationPopup().$wrapper().toggleClass(FILE_MANAGER_NOTIFICATION_POPUP_ERROR_CLASS, !!errorMode); this._getNotificationPopup().option("contentTemplate", content); if (!this._getNotificationPopup().option("visible")) { this._getNotificationPopup().show() } }; _proto._showPopupError = function(errorInfo) { if (!this.option("showNotificationPopup")) { return } var notificationManager = this._getNotificationManager(); var $content = (0, _renderer.default)("<div>"); var $message = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_NOTIFICATION_COMMON_CLASS).text(errorInfo.commonErrorText); var $separator = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_NOTIFICATION_SEPARATOR_CLASS); (0, _renderer.default)("<div>").appendTo($separator); var $details = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_NOTIFICATION_DETAILS_CLASS); if (errorInfo.item) { notificationManager.createErrorDetailsProgressBox($details, errorInfo.item, errorInfo.detailErrorText) } else { $message.addClass(FILE_MANAGER_NOTIFICATION_COMMON_NO_ITEM_CLASS); notificationManager.renderError($details, errorInfo.detailErrorText) } $content.append($message, $separator, $details); this._showPopup($content, true) }; _proto._getNotificationPopup = function() { if (!this._notificationPopup) { var $popup = (0, _renderer.default)("<div>").appendTo(this.$element()); this._notificationPopup = this._createComponent($popup, _ui2.default, { container: this.$element(), width: "auto", height: "auto", showTitle: false, dragEnabled: false, shading: false, visible: false, hideOnOutsideClick: true, animation: { duration: 0 }, position: { my: "right top", at: "right top", of: this.option("positionTarget"), offset: "-10 -5" }, _wrapperClassExternal: FILE_MANAGER_NOTIFICATION_POPUP_CLASS }) } return this._notificationPopup }; _proto._raiseActionProgress = function(message, status) { this._actions.onActionProgress({ message: message, status: status }) }; _proto._raiseOperationCanceled = function(info) { this._actions.onOperationCanceled({ info: info }) }; _proto._raiseOperationItemCanceled = function(item, index) { this._actions.onOperationItemCanceled({ item: item, itemIndex: index }) }; _proto._initActions = function() { this._actions = { onActionProgress: this._createActionByOption("onActionProgress"), onOperationCanceled: this._createActionByOption("onOperationCanceled"), onOperationItemCanceled: this._createActionByOption("onOperationItemCanceled") } }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { progressPanelContainer: null, contentTemplate: null, onActionProgress: null, onOperationCanceled: null, onOperationItemCanceled: null, showProgressPanel: true, showNotificationPopup: true }) }; _proto._optionChanged = function(args) { var name = args.name; switch (name) { case "progressPanelContainer": case "contentTemplate": break; case "showProgressPanel": this._setNotificationManager(); this._getNotificationManager().updateActionProgressStatus(); if (!args.value) { this._hideProgressPanel(); this._clearManagerMap() } this._progressDrawer.repaint(); break; case "showNotificationPopup": if (!args.value) { this._hidePopup(true) } break; case "onActionProgress": case "onOperationCanceled": case "onOperationItemCanceled": this._actions[name] = this._createActionByOption(name); break; default: _Widget.prototype._optionChanged.call(this, args) } }; return FileManagerNotificationControl }(_ui.default); exports.default = FileManagerNotificationControl; module.exports = exports.default; module.exports.default = exports.default }, 55817: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.notification.progress_panel.js ***! \************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _icon = __webpack_require__( /*! ../../core/utils/icon */ 44899); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _progress_bar = _interopRequireDefault(__webpack_require__( /*! ../progress_bar */ 28080)); var _button = _interopRequireDefault(__webpack_require__( /*! ../button */ 63008)); var _scroll_view = _interopRequireDefault(__webpack_require__( /*! ../scroll_view */ 4741)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FILE_MANAGER_PROGRESS_PANEL_CONTAINER_CLASS = "".concat("dx-filemanager-progress-panel", "-container"); var FILE_MANAGER_PROGRESS_PANEL_TITLE_CLASS = "".concat("dx-filemanager-progress-panel", "-title"); var FILE_MANAGER_PROGRESS_PANEL_TITLE_TEXT_CLASS = "".concat("dx-filemanager-progress-panel", "-title-text"); var FILE_MANAGER_PROGRESS_PANEL_CLOSE_BUTTON_CLASS = "".concat("dx-filemanager-progress-panel", "-close-button"); var FILE_MANAGER_PROGRESS_PANEL_INFOS_CONTAINER_CLASS = "".concat("dx-filemanager-progress-panel", "-infos-container"); var FILE_MANAGER_PROGRESS_PANEL_SEPARATOR_CLASS = "".concat("dx-filemanager-progress-panel", "-separator"); var FILE_MANAGER_PROGRESS_PANEL_INFO_CLASS = "".concat("dx-filemanager-progress-panel", "-info"); var FILE_MANAGER_PROGRESS_PANEL_COMMON_CLASS = "".concat("dx-filemanager-progress-panel", "-common"); var FILE_MANAGER_PROGRESS_PANEL_INFO_WITH_DETAILS_CLASS = "".concat("dx-filemanager-progress-panel", "-info-with-details"); var FILE_MANAGER_PROGRESS_PANEL_DETAILS_CLASS = "".concat("dx-filemanager-progress-panel", "-details"); var FILE_MANAGER_PROGRESS_BOX_ERROR_CLASS = "".concat("dx-filemanager-progress-box", "-error"); var FILE_MANAGER_PROGRESS_BOX_WITHOUT_CLOSE_BUTTON_CLASS = "".concat("dx-filemanager-progress-box", "-without-close-button"); var FILE_MANAGER_PROGRESS_BOX_IMAGE_CLASS = "".concat("dx-filemanager-progress-box", "-image"); var FILE_MANAGER_PROGRESS_BOX_WRAPPER_CLASS = "".concat("dx-filemanager-progress-box", "-wrapper"); var FILE_MANAGER_PROGRESS_BOX_COMMON_CLASS = "".concat("dx-filemanager-progress-box", "-common"); var FILE_MANAGER_PROGRESS_BOX_PROGRESS_BAR_CLASS = "".concat("dx-filemanager-progress-box", "-progress-bar"); var FILE_MANAGER_PROGRESS_BOX_CLOSE_BUTTON_CLASS = "".concat("dx-filemanager-progress-box", "-close-button"); var FileManagerProgressPanel = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerProgressPanel, _Widget); function FileManagerProgressPanel() { return _Widget.apply(this, arguments) || this } var _proto = FileManagerProgressPanel.prototype; _proto._initMarkup = function() { var _this = this; _Widget.prototype._initMarkup.call(this); this._initActions(); this._operationCount = 0; this.$element().addClass("dx-filemanager-progress-panel"); var $scrollView = (0, _renderer.default)("<div>").appendTo(this.$element()); var $container = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_PROGRESS_PANEL_CONTAINER_CLASS).appendTo($scrollView); this._scrollView = this._createComponent($scrollView, _scroll_view.default, { scrollByContent: true, scrollByThumb: true, showScrollbar: "onScroll" }); var $title = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_PROGRESS_PANEL_TITLE_CLASS).appendTo($container); (0, _renderer.default)("<div>").text(_message.default.format("dxFileManager-notificationProgressPanelTitle")).addClass(FILE_MANAGER_PROGRESS_PANEL_TITLE_TEXT_CLASS).appendTo($title); var $closeButton = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_PROGRESS_PANEL_CLOSE_BUTTON_CLASS).appendTo($title); this._createComponent($closeButton, _button.default, { icon: "close", stylingMode: "text", onClick: function() { return _this._raisePanelClosed() } }); this._$infosContainer = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_PROGRESS_PANEL_INFOS_CONTAINER_CLASS).appendTo($container); this._renderEmptyListText() }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { onOperationClosed: null, onOperationCanceled: null, onOperationItemCanceled: null, onPanelClosed: null }) }; _proto._initActions = function() { this._actions = { onOperationClosed: this._createActionByOption("onOperationClosed"), onOperationCanceled: this._createActionByOption("onOperationCanceled"), onOperationItemCanceled: this._createActionByOption("onOperationItemCanceled"), onPanelClosed: this._createActionByOption("onPanelClosed") } }; _proto._optionChanged = function(args) { var name = args.name; switch (name) { case "test": break; case "onOperationClosed": case "onOperationCanceled": case "onOperationItemCanceled": this._actions[name] = this._createActionByOption(name); break; default: _Widget.prototype._optionChanged.call(this, args) } }; _proto.addOperation = function(commonText, showCloseButtonAlways, allowProgressAutoUpdate) { var _this2 = this; if (this._operationCount) { (0, _renderer.default)("<div>").addClass(FILE_MANAGER_PROGRESS_PANEL_SEPARATOR_CLASS).prependTo(this._$infosContainer) } else { this._$infosContainer.empty() } this._operationCount++; var info = { customCloseHandling: showCloseButtonAlways, allowProgressAutoUpdate: (0, _common.ensureDefined)(allowProgressAutoUpdate, true) }; var $info = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_PROGRESS_PANEL_INFO_CLASS).prependTo(this._$infosContainer); info.$info = $info; var $common = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_PROGRESS_PANEL_COMMON_CLASS).appendTo($info); info.common = this._createProgressBox($common, { commonText: commonText, showCloseButton: true, showCloseButtonAlways: showCloseButtonAlways, onCloseButtonClick: function() { return _this2._closeOperation(info) } }); return info }; _proto.addOperationDetails = function(info, details, showCloseButton) { var _this3 = this; info.$info.addClass(FILE_MANAGER_PROGRESS_PANEL_INFO_WITH_DETAILS_CLASS); var $details = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_PROGRESS_PANEL_DETAILS_CLASS).appendTo(info.$info); info.details = details.map((function(itemInfo, index) { itemInfo.info = info; return _this3._createDetailsItem($details, itemInfo, index, false, showCloseButton) })) }; _proto._createDetailsItem = function($container, item, itemIndex, skipProgressBox, showCloseButton) { var _this4 = this; var $detailsItem = (0, _renderer.default)("<div>").appendTo($container); if (-1 !== itemIndex) { $detailsItem.addClass("dx-card") } return this._createProgressBox($detailsItem, { commonText: item.commonText, imageUrl: item.imageUrl, skipProgressBox: skipProgressBox, showCloseButton: showCloseButton, showCloseButtonAlways: showCloseButton, onCloseButtonClick: function() { return _this4._cancelOperationItem(item, itemIndex) } }) }; _proto.completeOperationItem = function(operationInfo, itemIndex, commonProgress) { if (operationInfo.allowProgressAutoUpdate) { this.updateOperationItemProgress(operationInfo, itemIndex, 100, commonProgress) } this._setCloseButtonVisible(operationInfo.details[itemIndex], false) }; _proto.updateOperationItemProgress = function(operationInfo, itemIndex, itemProgress, commonProgress) { this.updateOperationCommonProgress(operationInfo, commonProgress); if (operationInfo.details) { var detailsItem = operationInfo.details[itemIndex]; detailsItem.progressBar.option("value", itemProgress) } }; _proto.updateOperationCommonProgress = function(operationInfo, commonProgress) { var _operationInfo$common; null === (_operationInfo$common = operationInfo.common.progressBar) || void 0 === _operationInfo$common ? void 0 : _operationInfo$common.option("value", commonProgress) }; _proto.completeOperation = function(info, commonText, isError, statusText) { info.completed = true; info.common.$commonText.text(commonText); if (isError) { this._removeProgressBar(info.common) } else if (info.allowProgressAutoUpdate) { this.updateOperationCommonProgress(info, 100) } if (statusText) { this._setProgressBarText(info.common, statusText) } this._setCloseButtonVisible(info.common, true) }; _proto.completeSingleOperationWithError = function(info, errorText) { var _info$details; var detailsItem = null === (_info$details = info.details) || void 0 === _info$details ? void 0 : _info$details[0]; info.completed = true; this._renderOperationError(detailsItem || info.common, errorText); this._setCloseButtonVisible(info.common, true); if (detailsItem) { this._setCloseButtonVisible(detailsItem, false) } }; _proto.addOperationDetailsError = function(info, index, errorText) { var detailsItem = info.details[index]; this._renderOperationError(detailsItem, errorText); this._setCloseButtonVisible(detailsItem, false) }; _proto._renderError = function($container, $target, errorText) { (0, _renderer.default)("<div>").text(errorText).addClass(FILE_MANAGER_PROGRESS_BOX_ERROR_CLASS).appendTo($container) }; _proto._renderEmptyListText = function() { this._$infosContainer.text(_message.default.format("dxFileManager-notificationProgressPanelEmptyListText")) }; _proto._renderOperationError = function(info, errorText) { this._removeProgressBar(info); this._renderError(info.$wrapper, info.$commonText, errorText) }; _proto._removeProgressBar = function(progressBox) { if (progressBox.progressBar) { progressBox.progressBar.dispose(); progressBox.progressBar.$element().remove(); progressBox.progressBar = null } }; _proto._createProgressBox = function($container, options) { var _this5 = this; $container.addClass("dx-filemanager-progress-box"); if (!options.showCloseButtonAlways) { $container.addClass(FILE_MANAGER_PROGRESS_BOX_WITHOUT_CLOSE_BUTTON_CLASS) } if (options.imageUrl) { (0, _icon.getImageContainer)(options.imageUrl).addClass(FILE_MANAGER_PROGRESS_BOX_IMAGE_CLASS).appendTo($container) } var $wrapper = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_PROGRESS_BOX_WRAPPER_CLASS).appendTo($container); var $commonText = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_PROGRESS_BOX_COMMON_CLASS).text(options.commonText).appendTo($wrapper); var progressBar = null; if (!options.skipProgressBox) { var $progressBar = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_PROGRESS_BOX_PROGRESS_BAR_CLASS).appendTo($wrapper); progressBar = this._createComponent($progressBar, _progress_bar.default, { min: 0, max: 100, width: "100%", validationMessageMode: "always", statusFormat: function(ratio, value) { return _this5._getStatusString(ratio, value) } }) } var closeButton = null; if (options.showCloseButton) { var $button = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_PROGRESS_BOX_CLOSE_BUTTON_CLASS).appendTo($container); closeButton = this._createComponent($button, _button.default, { icon: "dx-filemanager-i dx-filemanager-i-cancel", stylingMode: "text", visible: options.showCloseButtonAlways, onClick: options.onCloseButtonClick }) } return { $commonText: $commonText, progressBar: progressBar, $element: $container, $wrapper: $wrapper, closeButton: closeButton } }; _proto._setCloseButtonVisible = function(progressBox, visible) { if (progressBox.closeButton) { progressBox.$element.toggleClass(FILE_MANAGER_PROGRESS_BOX_WITHOUT_CLOSE_BUTTON_CLASS, !visible); progressBox.closeButton.option("visible", visible) } }; _proto._setProgressBarText = function(progressBox, text) { progressBox.progressBar.option("statusFormat", (function() { return text })) }; _proto._closeOperation = function(info) { var _this6 = this; if (info.customCloseHandling && !info.completed) { this._raiseOperationCanceled(info); this._setCloseButtonVisible(info.common, false); info.details.forEach((function(item) { return _this6._displayClosedOperationItem(item) })) } else { this._raiseOperationClosed(info); info.$info.next(".".concat(FILE_MANAGER_PROGRESS_PANEL_SEPARATOR_CLASS)).remove(); info.$info.remove(); this._operationCount--; if (!this._operationCount) { this._renderEmptyListText() } } }; _proto._cancelOperationItem = function(item, itemIndex) { this._raiseOperationItemCanceled(item, itemIndex); var itemInfo = item.info.details[itemIndex]; this._displayClosedOperationItem(itemInfo) }; _proto._displayClosedOperationItem = function(itemInfo) { this._setProgressBarText(itemInfo, _message.default.format("dxFileManager-notificationProgressPanelOperationCanceled")); this._setCloseButtonVisible(itemInfo, false) }; _proto._getStatusString = function(ratio, value) { return 1 === ratio ? _message.default.format("Done") : Math.round(100 * ratio) + "%" }; _proto._raiseOperationClosed = function(info) { this._actions.onOperationClosed({ info: info }) }; _proto._raiseOperationCanceled = function(info) { this._actions.onOperationCanceled({ info: info }) }; _proto._raiseOperationItemCanceled = function(item, itemIndex) { this._actions.onOperationItemCanceled({ item: item, itemIndex: itemIndex }) }; _proto._raisePanelClosed = function() { this._actions.onPanelClosed() }; return FileManagerProgressPanel }(_ui.default); var _default = FileManagerProgressPanel; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 35226: /*!*****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.notification_manager.js ***! \*****************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.NotificationManagerStub = exports.NotificationManager = exports.MANAGER_ID_NAME = void 0; var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _icon = __webpack_require__( /*! ../../core/utils/icon */ 44899); var _uiFile_managerNotification = _interopRequireDefault(__webpack_require__( /*! ./ui.file_manager.notification.progress_panel */ 55817)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var FILE_MANAGER_PROGRESS_BOX_ERROR_CLASS = "".concat("dx-filemanager-progress-box", "-error"); var FILE_MANAGER_PROGRESS_BOX_IMAGE_CLASS = "".concat("dx-filemanager-progress-box", "-image"); var FILE_MANAGER_PROGRESS_BOX_WRAPPER_CLASS = "".concat("dx-filemanager-progress-box", "-wrapper"); var FILE_MANAGER_PROGRESS_BOX_COMMON_CLASS = "".concat("dx-filemanager-progress-box", "-common"); exports.MANAGER_ID_NAME = "__operationInfoManager"; var ACTION_PROGRESS_STATUS_default = "default", ACTION_PROGRESS_STATUS_progress = "progress", ACTION_PROGRESS_STATUS_error = "error", ACTION_PROGRESS_STATUS_success = "success"; var NotificationManagerBase = function() { function NotificationManagerBase(_ref) { var onActionProgressStatusChanged = _ref.onActionProgressStatusChanged, isActual = _ref.isActual; this._id = (new _guid.default).toString(); this._isActual = isActual || false; this._actionProgressStatus = ACTION_PROGRESS_STATUS_default; this._raiseActionProgress = onActionProgressStatusChanged } var _proto = NotificationManagerBase.prototype; _proto.getId = function() { return this._id }; _proto.isActual = function() { return this._isActual }; _proto.createErrorDetailsProgressBox = function($container, item, errorText) { var detailsItem = this._createDetailsItem($container, item); this.renderError(detailsItem.$wrapper, errorText) }; _proto.renderError = function($container, errorText) { (0, _renderer.default)("<div>").text(errorText).addClass(FILE_MANAGER_PROGRESS_BOX_ERROR_CLASS).appendTo($container) }; _proto.isActionProgressStatusDefault = function() { return this._actionProgressStatus === ACTION_PROGRESS_STATUS_default }; _proto._createDetailsItem = function($container, item) { var $detailsItem = (0, _renderer.default)("<div>").appendTo($container); return this._createProgressBox($detailsItem, { commonText: item.commonText, imageUrl: item.imageUrl }) }; _proto._createProgressBox = function($container, options) { $container.addClass("dx-filemanager-progress-box"); if (options.imageUrl) { (0, _icon.getImageContainer)(options.imageUrl).addClass(FILE_MANAGER_PROGRESS_BOX_IMAGE_CLASS).appendTo($container) } var $wrapper = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_PROGRESS_BOX_WRAPPER_CLASS).appendTo($container); var $commonText = (0, _renderer.default)("<div>").addClass(FILE_MANAGER_PROGRESS_BOX_COMMON_CLASS).text(options.commonText).appendTo($wrapper); return { $commonText: $commonText, $element: $container, $wrapper: $wrapper } }; return NotificationManagerBase }(); var NotificationManagerStub = function(_NotificationManagerB) { _inheritsLoose(NotificationManagerStub, _NotificationManagerB); function NotificationManagerStub() { return _NotificationManagerB.apply(this, arguments) || this } var _proto2 = NotificationManagerStub.prototype; _proto2.addOperation = function() { return function(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj }({}, "__operationInfoManager", this._id) }; _proto2.addOperationDetails = function() {}; _proto2.updateOperationItemProgress = function() {}; _proto2.completeOperationItem = function() {}; _proto2.finishOperation = function() {}; _proto2.completeOperation = function() {}; _proto2.completeSingleOperationWithError = function() {}; _proto2.addOperationDetailsError = function() {}; _proto2.handleDimensionChanged = function() { return false }; _proto2.ensureProgressPanelCreated = function() {}; _proto2.tryHideActionProgress = function() { this._updateActionProgress("", ACTION_PROGRESS_STATUS_default) }; _proto2.updateActionProgressStatus = function() { this._updateActionProgress("", ACTION_PROGRESS_STATUS_default) }; _proto2._updateActionProgress = function(message, status) { if (status !== ACTION_PROGRESS_STATUS_default && status !== ACTION_PROGRESS_STATUS_progress) { return } this._actionProgressStatus = status; this._raiseActionProgress(message, status) }; _proto2.hasNoOperations = function() { return true }; _createClass(NotificationManagerStub, [{ key: "_operationInProgressCount", get: function() { return 0 }, set: function(value) {} }, { key: "_failedOperationCount", get: function() { return 0 }, set: function(value) {} }]); return NotificationManagerStub }(NotificationManagerBase); exports.NotificationManagerStub = NotificationManagerStub; var NotificationManager = function(_NotificationManagerB2) { _inheritsLoose(NotificationManager, _NotificationManagerB2); function NotificationManager(options) { var _this; _this = _NotificationManagerB2.call(this, options) || this; _this._failedOperationCount = 0; _this._operationInProgressCount = 0; return _this } var _proto3 = NotificationManager.prototype; _proto3.addOperation = function(processingMessage, allowCancel, allowProgressAutoUpdate) { this._operationInProgressCount++; var operationInfo = this._progressPanel.addOperation(processingMessage, allowCancel, allowProgressAutoUpdate); operationInfo.__operationInfoManager = this._id; this._updateActionProgress(processingMessage, ACTION_PROGRESS_STATUS_progress); return operationInfo }; _proto3.addOperationDetails = function(operationInfo, details, showCloseButton) { this._progressPanel.addOperationDetails(operationInfo, details, showCloseButton) }; _proto3.updateOperationItemProgress = function(operationInfo, itemIndex, itemProgress, commonProgress) { this._progressPanel.updateOperationItemProgress(operationInfo, itemIndex, itemProgress, commonProgress) }; _proto3.completeOperationItem = function(operationInfo, itemIndex, commonProgress) { this._progressPanel.completeOperationItem(operationInfo, itemIndex, commonProgress) }; _proto3.finishOperation = function(operationInfo, commonProgress) { this._progressPanel.updateOperationCommonProgress(operationInfo, commonProgress) }; _proto3.completeOperation = function(operationInfo, commonText, isError, statusText) { this._operationInProgressCount--; if (isError) { this._failedOperationCount++ } this._progressPanel.completeOperation(operationInfo, commonText, isError, statusText) }; _proto3.completeSingleOperationWithError = function(operationInfo, errorInfo) { this._progressPanel.completeSingleOperationWithError(operationInfo, errorInfo.detailErrorText); this._notifyError(errorInfo) }; _proto3.addOperationDetailsError = function(operationInfo, errorInfo) { this._progressPanel.addOperationDetailsError(operationInfo, errorInfo.itemIndex, errorInfo.detailErrorText); this._notifyError(errorInfo) }; _proto3.handleDimensionChanged = function() { if (this._progressPanel) { this._progressPanel.$element().detach() } return true }; _proto3.ensureProgressPanelCreated = function(container, options) { var _this2 = this; if (!this._progressPanel) { var $progressPanelElement = (0, _renderer.default)("<div>").appendTo(container); var ProgressPanelClass = this._getProgressPanelComponent(); this._progressPanel = new ProgressPanelClass($progressPanelElement, (0, _extend.extend)({}, options, { onOperationClosed: function(_ref3) { var info = _ref3.info; return _this2._onProgressPanelOperationClosed(info) } })) } else { this._progressPanel.$element().appendTo(container) } }; _proto3._getProgressPanelComponent = function() { return _uiFile_managerNotification.default }; _proto3._onProgressPanelOperationClosed = function(operationInfo) { if (operationInfo.hasError) { this._failedOperationCount--; this.tryHideActionProgress() } }; _proto3.tryHideActionProgress = function() { if (this.hasNoOperations()) { this._updateActionProgress("", ACTION_PROGRESS_STATUS_default) } }; _proto3.updateActionProgressStatus = function(operationInfo) { if (operationInfo) { var status = 0 === this._failedOperationCount ? ACTION_PROGRESS_STATUS_success : ACTION_PROGRESS_STATUS_error; this._updateActionProgress("", status) } }; _proto3._notifyError = function(errorInfo) { var status = this.hasNoOperations() ? ACTION_PROGRESS_STATUS_default : ACTION_PROGRESS_STATUS_error; this._updateActionProgress(errorInfo.commonErrorText, status) }; _proto3._updateActionProgress = function(message, status) { this._actionProgressStatus = status; this._raiseActionProgress(message, status) }; _proto3.hasNoOperations = function() { return 0 === this._operationInProgressCount && 0 === this._failedOperationCount }; _createClass(NotificationManager, [{ key: "_operationInProgressCount", get: function() { return this._operationInProgressCountInternal }, set: function(value) { this._operationInProgressCountInternal = value } }, { key: "_failedOperationCount", get: function() { return this._failedOperationCountInternal }, set: function(value) { this._failedOperationCountInternal = value } }]); return NotificationManager }(NotificationManagerBase); exports.NotificationManager = NotificationManager }, 70166: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_manager/ui.file_manager.toolbar.js ***! \****************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _uiFile_manager = __webpack_require__( /*! ./ui.file_manager.common */ 75084); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _toolbar = _interopRequireDefault(__webpack_require__( /*! ../toolbar */ 71042)); __webpack_require__( /*! ../drop_down_button */ 45231); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DEFAULT_ITEM_CONFIGS = { showNavPane: { location: "before" }, create: { location: "before", compactMode: { showText: "inMenu", locateInMenu: "auto" } }, upload: { location: "before", compactMode: { showText: "inMenu", locateInMenu: "auto" } }, refresh: { location: "after", showText: "inMenu", cssClass: "dx-filemanager-toolbar-has-large-icon", compactMode: { showText: "inMenu", locateInMenu: "auto" } }, switchView: { location: "after" }, download: { location: "before", compactMode: { showText: "inMenu", locateInMenu: "auto" } }, move: { location: "before", compactMode: { showText: "inMenu", locateInMenu: "auto" } }, copy: { location: "before", compactMode: { showText: "inMenu", locateInMenu: "auto" } }, rename: { location: "before", compactMode: { showText: "inMenu", locateInMenu: "auto" } }, delete: { location: "before", compactMode: { showText: "inMenu" } }, clearSelection: { location: "after", locateInMenu: "never", compactMode: { showText: "inMenu" } }, separator: { location: "before" } }; var DEFAULT_ITEM_ALLOWED_PROPERTIES = ["visible", "location", "locateInMenu", "disabled", "showText"]; var DEFAULT_ITEM_ALLOWED_OPTION_PROPERTIES = ["accessKey", "elementAttr", "height", "hint", "icon", "stylingMode", "tabIndex", "text", "width"]; var ALWAYS_VISIBLE_TOOLBAR_ITEMS = ["separator", "switchView"]; var REFRESH_ICON_MAP = { default: "dx-filemanager-i dx-filemanager-i-refresh", progress: "dx-filemanager-i dx-filemanager-i-progress", success: "dx-filemanager-i dx-filemanager-i-done", error: "dx-filemanager-i dx-filemanager-i-danger" }; var FileManagerToolbar = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(FileManagerToolbar, _Widget); function FileManagerToolbar() { return _Widget.apply(this, arguments) || this } var _proto = FileManagerToolbar.prototype; _proto._init = function() { _Widget.prototype._init.call(this); this._generalToolbarVisible = true; this._refreshItemState = { message: "", status: "default" } }; _proto._initMarkup = function() { this._createItemClickedAction(); this._$viewSwitcherPopup = (0, _renderer.default)("<div>").addClass("dx-filemanager-view-switcher-popup"); this._generalToolbar = this._createToolbar(this.option("generalItems"), !this._generalToolbarVisible); this._fileToolbar = this._createToolbar(this.option("fileItems"), this._generalToolbarVisible); this._$viewSwitcherPopup.appendTo(this.$element()); this.$element().addClass("dx-filemanager-toolbar dx-filemanager-general-toolbar") }; _proto._render = function() { _Widget.prototype._render.call(this); var toolbar = this._getVisibleToolbar(); this._checkCompactMode(toolbar) }; _proto._clean = function() { delete this._commandManager; delete this._itemClickedAction; delete this._$viewSwitcherPopup; delete this._generalToolbar; delete this._fileToolbar; _Widget.prototype._clean.call(this) }; _proto._dimensionChanged = function(dimension) { if (!dimension || "height" !== dimension) { var toolbar = this._getVisibleToolbar(); this._checkCompactMode(toolbar) } }; _proto._getVisibleToolbar = function() { return this._generalToolbarVisible ? this._generalToolbar : this._fileToolbar }; _proto._createToolbar = function(items, hidden) { var _this = this; var toolbarItems = this._getPreparedItems(items); var $toolbar = (0, _renderer.default)("<div>").appendTo(this.$element()); var result = this._createComponent($toolbar, _toolbar.default, { items: toolbarItems, visible: !hidden, onItemClick: function(args) { return _this._raiseItemClicked(args) } }); result.compactMode = false; return result }; _proto._getPreparedItems = function(items) { var _this2 = this; items = items.map((function(item) { var extendedItem = item; if ((0, _type.isString)(item)) { extendedItem = { name: item } } var commandName = extendedItem.name; var preparedItem = _this2._configureItemByCommandName(commandName, extendedItem); preparedItem.originalItemData = item; if ("separator" !== commandName) { _this2._setItemVisibleAvailable(preparedItem) } return preparedItem })); this._updateSeparatorsVisibility(items); return items }; _proto._updateSeparatorsVisibility = function(items, toolbar) { var _this3 = this; var hasModifications = false; var menuItems = this._getMenuItems(toolbar); var hasItemsBefore = { before: false, center: false, after: false }; var itemGroups = { before: this._getItemsInGroup(items, menuItems, "before"), center: this._getItemsInGroup(items, menuItems, "center"), after: this._getItemsInGroup(items, menuItems, "after") }; items.forEach((function(item, i) { var itemLocation = item.location; if ("separator" === item.name) { var isSeparatorVisible = hasItemsBefore[itemLocation] && _this3._groupHasItemsAfter(itemGroups[itemLocation]); if (item.visible !== isSeparatorVisible) { hasModifications = true; item.visible = isSeparatorVisible } hasItemsBefore[itemLocation] = false } else { if (!_this3._isItemInMenu(menuItems, item)) { hasItemsBefore[itemLocation] = hasItemsBefore[itemLocation] || item.visible } itemGroups[itemLocation].shift() } })); if (toolbar && hasModifications) { toolbar.repaint() } return hasModifications }; _proto._getMenuItems = function(toolbar) { var result = toolbar ? toolbar._getMenuItems() : []; return result.map((function(menuItem) { return menuItem.originalItemData })) }; _proto._isItemInMenu = function(menuItems, item) { return !!menuItems.length && "never" !== (0, _common.ensureDefined)(item.locateInMenu, "never") && -1 !== menuItems.indexOf(item.originalItemData) }; _proto._getItemsInGroup = function(items, menuItems, groupName) { var _this4 = this; return items.filter((function(item) { return item.location === groupName && !_this4._isItemInMenu(menuItems, item) })) }; _proto._groupHasItemsAfter = function(items) { for (var i = 0; i < items.length; i++) { if ("separator" !== items[i].name && items[i].visible) { return true } } return false }; _proto._configureItemByCommandName = function(commandName, item) { var _result$options; var result = {}; var command = this._commandManager.getCommandByName(commandName); if (command) { result = this._createCommandItem(command) } switch (commandName) { case "separator": result = this._createSeparatorItem(); break; case "switchView": result = this._createViewModeItem() } if (this._isDefaultItem(commandName)) { var defaultConfig = DEFAULT_ITEM_CONFIGS[commandName]; (0, _extend.extend)(true, result, defaultConfig); var resultCssClass = result.cssClass || ""; (0, _uiFile_manager.extendAttributes)(result, item, DEFAULT_ITEM_ALLOWED_PROPERTIES); if ((0, _type.isDefined)(item.options)) { (0, _uiFile_manager.extendAttributes)(result.options, item.options, DEFAULT_ITEM_ALLOWED_OPTION_PROPERTIES) }(0, _uiFile_manager.extendAttributes)(result.options, item, ["text", "icon"]); if (item.cssClass) { resultCssClass = "".concat(resultCssClass, " ").concat(item.cssClass) } if (resultCssClass) { result.cssClass = resultCssClass } if (!(0, _type.isDefined)(item.visible)) { result._autoHide = true } if ("dxButton" === result.widget) { if ("inMenu" === result.showText && !(0, _type.isDefined)(result.options.hint)) { result.options.hint = result.options.text } if (result.compactMode && !(0, _type.isDefined)(result.options.hint)) { this._configureHintForCompactMode(result) } } } else { (0, _extend.extend)(true, result, item); if (!result.widget) { result.widget = "dxButton" } if ("dxButton" === result.widget && !result.compactMode && !result.showText && result.options && result.options.icon && result.options.text) { result.compactMode = { showText: "inMenu" } } } if (commandName && !result.name) { (0, _extend.extend)(result, { name: commandName }) } result.location = (0, _common.ensureDefined)(result.location, "before"); if (!(0, _type.isDefined)(null === (_result$options = result.options) || void 0 === _result$options ? void 0 : _result$options.stylingMode)) { if ("dxButton" === result.widget) { (0, _extend.extend)(true, result, { options: { stylingMode: "text" } }) } if ("dxSelectBox" === result.widget) { (0, _extend.extend)(true, result, { options: { stylingMode: "filled" } }) } } return result }; _proto._isDefaultItem = function(commandName) { return !!DEFAULT_ITEM_CONFIGS[commandName] }; _proto._createCommandItem = function(command) { var _this5 = this; return { widget: "dxButton", options: { text: command.text, hint: command.hint, commandText: command.text, icon: command.icon, stylingMode: "text", onClick: function(e) { return _this5._executeCommand(command) } } } }; _proto._createSeparatorItem = function() { return { template: function(data, index, element) { (0, _renderer.default)(element).addClass("dx-filemanager-toolbar-separator-item") } } }; _proto._createViewModeItem = function() { var _this6 = this; var commandItems = ["details", "thumbnails"].map((function(name) { var _this6$_commandManage = _this6._commandManager.getCommandByName(name), text = _this6$_commandManage.text, icon = _this6$_commandManage.icon; return { name: name, text: text, icon: icon } })); var selectedIndex = "thumbnails" === this.option("itemViewMode") ? 1 : 0; return { cssClass: "dx-filemanager-toolbar-viewmode-item", widget: "dxDropDownButton", options: { items: commandItems, keyExpr: "name", selectedItemKey: this.option("itemViewMode"), displayExpr: " ", hint: commandItems[selectedIndex].text, stylingMode: "text", showArrowIcon: false, useSelectMode: true, dropDownOptions: { container: this._$viewSwitcherPopup }, onItemClick: function(e) { return _this6._executeCommand(e.itemData.name) } } } }; _proto._configureHintForCompactMode = function(item) { item.options.hint = ""; item.compactMode.options = item.compactMode.options || {}; item.compactMode.options.hint = item.options.text }; _proto._checkCompactMode = function(toolbar) { if (toolbar.compactMode) { this._toggleCompactMode(toolbar, false) } var useCompactMode = this._toolbarHasItemsOverflow(toolbar); if (toolbar.compactMode !== useCompactMode) { if (!toolbar.compactMode) { this._toggleCompactMode(toolbar, useCompactMode) } toolbar.compactMode = useCompactMode } else if (toolbar.compactMode) { this._toggleCompactMode(toolbar, true) } }; _proto._toolbarHasItemsOverflow = function(toolbar) { var toolbarWidth = (0, _size.getWidth)(toolbar.$element()); var itemsWidth = toolbar._getItemsWidth(); return toolbarWidth < itemsWidth }; _proto._toggleCompactMode = function(toolbar, useCompactMode) { var _this7 = this; var hasModifications = false; var items = toolbar.option("items"); items.forEach((function(item) { if (item.compactMode) { var optionsSource = null; if (useCompactMode) { item.saved = _this7._getCompactModeOptions(item, item._available); optionsSource = item.compactMode } else { optionsSource = item.saved } var options = _this7._getCompactModeOptions(optionsSource, item._available); (0, _extend.extend)(true, item, options); hasModifications = true } })); hasModifications = this._updateSeparatorsVisibility(items) || hasModifications; if (hasModifications) { toolbar.repaint() } this._updateSeparatorsVisibility(items, toolbar) }; _proto._getCompactModeOptions = function(_ref, available) { var showText = _ref.showText, locateInMenu = _ref.locateInMenu, options = _ref.options; return { visible: available, showText: (0, _common.ensureDefined)(showText, "always"), locateInMenu: (0, _common.ensureDefined)(locateInMenu, "never"), options: { hint: null === options || void 0 === options ? void 0 : options.hint } } }; _proto._ensureAvailableCommandsVisible = function(toolbar) { var _this8 = this; var hasModifications = false; var items = toolbar.option("items"); items.forEach((function(item) { if ("separator" !== item.name) { var itemVisible = item._available; _this8._setItemVisibleAvailable(item); if (item._available !== itemVisible) { hasModifications = true } } })); hasModifications = this._updateSeparatorsVisibility(items) || hasModifications; if (hasModifications) { toolbar.repaint() } this._updateSeparatorsVisibility(items, toolbar) }; _proto._setItemVisibleAvailable = function(item) { var _item$originalItemDat; var originalVisible = null === (_item$originalItemDat = item.originalItemData) || void 0 === _item$originalItemDat ? void 0 : _item$originalItemDat.visible; item._available = this._isToolbarItemAvailable(item); item.visible = (0, _type.isDefined)(originalVisible) ? originalVisible : item._available }; _proto._fileToolbarHasEffectiveItems = function() { var _this9 = this; var items = this._fileToolbar.option("items"); return items.some((function(item) { return _this9._isFileToolbarItemAvailable(item) })) }; _proto._executeCommand = function(command) { this._commandManager.executeCommand(command) }; _proto._isToolbarItemAvailable = function(toolbarItem) { if (!this._isDefaultItem(toolbarItem.name) || !toolbarItem._autoHide) { return (0, _common.ensureDefined)(toolbarItem.visible, true) } if ("refresh" === toolbarItem.name) { return this._generalToolbarVisible || !!this._isRefreshVisibleInFileToolbar } if (ALWAYS_VISIBLE_TOOLBAR_ITEMS.indexOf(toolbarItem.name) > -1) { return true } return this._isCommandAvailable(toolbarItem.name) }; _proto._isFileToolbarItemAvailable = function(_ref2) { var name = _ref2.name, visible = _ref2.visible; return !this._isDefaultItem(name) && (0, _common.ensureDefined)(visible, true) || "clearSelection" !== name && "refresh" !== name && this._isCommandAvailable(name) }; _proto._isCommandAvailable = function(name) { return this._commandManager.isCommandAvailable(name, this.option("contextItems")) }; _proto._updateItemInToolbar = function(toolbar, commandName, options) { toolbar.beginUpdate(); var items = toolbar.option("items"); for (var i = 0; i < items.length; i++) { var item = items[i]; if (item.name === commandName) { toolbar.option("items[".concat(i, "]"), options); break } } toolbar.endUpdate() }; _proto._raiseItemClicked = function(args) { var changedArgs = (0, _extend.extend)(true, {}, args); changedArgs.itemData = args.itemData.originalItemData; this._itemClickedAction(changedArgs) }; _proto._createItemClickedAction = function() { this._itemClickedAction = this._createActionByOption("onItemClick") }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { commandManager: null, generalItems: [], fileItems: [], contextItems: [], itemViewMode: "details", onItemClick: null }) }; _proto._optionChanged = function(args) { var name = args.name; switch (name) { case "commandManager": case "itemViewMode": case "generalItems": case "fileItems": this.repaint(); break; case "contextItems": this._update(); break; case "onItemClick": this._itemClickedAction = this._createActionByOption(name); break; default: _Widget.prototype._optionChanged.call(this, args) } }; _proto.updateItemPermissions = function() { this.repaint(); this._restoreRefreshItemState() }; _proto._restoreRefreshItemState = function() { this.updateRefreshItem(this._refreshItemState.message, this._refreshItemState.status) }; _proto.updateRefreshItem = function(message, status) { var generalToolbarOptions = null; var text = _message.default.format("dxFileManager-commandRefresh"); var showText = "inMenu"; this._isRefreshVisibleInFileToolbar = false; this._refreshItemState = { message: message, status: status }; if ("default" === status) { generalToolbarOptions = { options: { icon: REFRESH_ICON_MAP.default } } } else { generalToolbarOptions = { options: { icon: REFRESH_ICON_MAP[status] } }; this._isRefreshVisibleInFileToolbar = true; text = message; showText = "always" } var fileToolbarOptions = (0, _extend.extend)({}, generalToolbarOptions, { visible: this._isRefreshVisibleInFileToolbar }); this._applyRefreshItemOptions(generalToolbarOptions, fileToolbarOptions); this._refreshItemTextTimeout = this._updateRefreshItemText("progress" === status, text, showText) }; _proto._updateRefreshItemText = function(isDeferredUpdate, text, showText) { var _this10 = this; var options = { showText: showText, options: { text: text } }; if (isDeferredUpdate) { return setTimeout((function() { _this10._applyRefreshItemOptions(options); _this10._refreshItemTextTimeout = void 0 }), 500) } else { if (this._refreshItemTextTimeout) { clearTimeout(this._refreshItemTextTimeout) } this._applyRefreshItemOptions(options); return } }; _proto._applyRefreshItemOptions = function(generalToolbarOptions, fileToolbarOptions) { if (!fileToolbarOptions) { fileToolbarOptions = (0, _extend.extend)({}, generalToolbarOptions) } this._updateItemInToolbar(this._generalToolbar, "refresh", generalToolbarOptions); this._updateItemInToolbar(this._fileToolbar, "refresh", fileToolbarOptions) }; _proto._update = function() { var showGeneralToolbar = 0 === this.option("contextItems").length || !this._fileToolbarHasEffectiveItems(); if (this._generalToolbarVisible !== showGeneralToolbar) { this._generalToolbar.option("visible", showGeneralToolbar); this._fileToolbar.option("visible", !showGeneralToolbar); this._generalToolbarVisible = showGeneralToolbar; this.$element().toggleClass("dx-filemanager-general-toolbar", showGeneralToolbar); this.$element().toggleClass("dx-filemanager-file-toolbar", !showGeneralToolbar) } var toolbar = this._getVisibleToolbar(); this._ensureAvailableCommandsVisible(toolbar); this._checkCompactMode(toolbar) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(FileManagerToolbar, [{ key: "_commandManager", get: function() { return this.option("commandManager") } }]); return FileManagerToolbar }(_ui.default); var _default = FileManagerToolbar; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 53749: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/file_uploader.js ***! \*****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../core/guid */ 73176)); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../core/utils/callbacks */ 44504)); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _ajax = _interopRequireDefault(__webpack_require__( /*! ../core/utils/ajax */ 37208)); var _editor = _interopRequireDefault(__webpack_require__( /*! ./editor/editor */ 96452)); var _button = _interopRequireDefault(__webpack_require__( /*! ./button */ 63008)); var _progress_bar = _interopRequireDefault(__webpack_require__( /*! ./progress_bar */ 28080)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); var _click = __webpack_require__( /*! ../events/click */ 95429); var _message = _interopRequireDefault(__webpack_require__( /*! ../localization/message */ 28109)); var _themes = __webpack_require__( /*! ./themes */ 75811); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var window = (0, _window.getWindow)(); var isFormDataSupported = function() { return !!window.FormData }; var FileUploader = function(_Editor) { _inheritsLoose(FileUploader, _Editor); function FileUploader() { return _Editor.apply(this, arguments) || this } var _proto = FileUploader.prototype; _proto._supportedKeys = function() { var _this = this; var click = function(e) { e.preventDefault(); var $selectButton = _this._selectButton.$element(); _events_engine.default.trigger($selectButton, _click.name) }; return (0, _extend.extend)(_Editor.prototype._supportedKeys.call(this), { space: click, enter: click }) }; _proto._setOptionsByReference = function() { _Editor.prototype._setOptionsByReference.call(this); (0, _extend.extend)(this._optionsByReference, { value: true }) }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Editor.prototype._getDefaultOptions.call(this), { chunkSize: 0, value: [], selectButtonText: _message.default.format("dxFileUploader-selectFile"), uploadButtonText: _message.default.format("dxFileUploader-upload"), labelText: _message.default.format("dxFileUploader-dropFile"), name: "files[]", multiple: false, accept: "", uploadUrl: "/", allowCanceling: true, showFileList: true, progress: 0, dialogTrigger: void 0, dropZone: void 0, readyToUploadMessage: _message.default.format("dxFileUploader-readyToUpload"), uploadedMessage: _message.default.format("dxFileUploader-uploaded"), uploadFailedMessage: _message.default.format("dxFileUploader-uploadFailedMessage"), uploadAbortedMessage: _message.default.format("dxFileUploader-uploadAbortedMessage"), uploadMode: "instantly", uploadMethod: "POST", uploadHeaders: {}, uploadCustomData: {}, onBeforeSend: null, onUploadStarted: null, onUploaded: null, onFilesUploaded: null, onProgress: null, onUploadError: null, onUploadAborted: null, onDropZoneEnter: null, onDropZoneLeave: null, allowedFileExtensions: [], maxFileSize: 0, minFileSize: 0, inputAttr: {}, invalidFileExtensionMessage: _message.default.format("dxFileUploader-invalidFileExtension"), invalidMaxFileSizeMessage: _message.default.format("dxFileUploader-invalidMaxFileSize"), invalidMinFileSizeMessage: _message.default.format("dxFileUploader-invalidMinFileSize"), extendSelection: true, validationMessageMode: "always", uploadFile: null, uploadChunk: null, abortUpload: null, validationMessageOffset: { h: 0, v: 0 }, hoverStateEnabled: true, useNativeInputClick: false, useDragOver: true, nativeDropSupported: true, _uploadButtonType: "normal" }) }; _proto._defaultOptionsRules = function() { return _Editor.prototype._defaultOptionsRules.call(this).concat([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }, { device: [{ platform: "android" }], options: { validationMessageOffset: { v: 0 } } }, { device: function() { return "desktop" !== _devices.default.real().deviceType }, options: { useDragOver: false } }, { device: function() { return !isFormDataSupported() }, options: { uploadMode: "useForm" } }, { device: function() { return "desktop" !== _devices.default.real().deviceType }, options: { nativeDropSupported: false } }, { device: function() { return (0, _themes.isMaterial)() }, options: { _uploadButtonType: "default" } }]) }; _proto._initOptions = function(options) { var isLabelTextDefined = "labelText" in options; _Editor.prototype._initOptions.call(this, options); if (!isLabelTextDefined && !this._shouldDragOverBeRendered()) { this.option("labelText", "") } }; _proto._init = function() { _Editor.prototype._init.call(this); this._initFileInput(); this._initLabel(); this._setUploadStrategy(); this._createFiles(); this._createBeforeSendAction(); this._createUploadStartedAction(); this._createUploadedAction(); this._createFilesUploadedAction(); this._createProgressAction(); this._createUploadErrorAction(); this._createUploadAbortedAction(); this._createDropZoneEnterAction(); this._createDropZoneLeaveAction() }; _proto._setUploadStrategy = function() { var strategy = null; if (this.option("chunkSize") > 0) { var uploadChunk = this.option("uploadChunk"); strategy = uploadChunk && (0, _type.isFunction)(uploadChunk) ? new CustomChunksFileUploadStrategy(this) : new DefaultChunksFileUploadStrategy(this) } else { var uploadFile = this.option("uploadFile"); strategy = uploadFile && (0, _type.isFunction)(uploadFile) ? new CustomWholeFileUploadStrategy(this) : new DefaultWholeFileUploadStrategy(this) } this._uploadStrategy = strategy }; _proto._initFileInput = function() { var _this2 = this; this._isCustomClickEvent = false; if (!this._$fileInput) { this._$fileInput = (0, _renderer.default)("<input>").attr("type", "file"); _events_engine.default.on(this._$fileInput, "change", this._inputChangeHandler.bind(this)); _events_engine.default.on(this._$fileInput, "click", (function(e) { e.stopPropagation(); _this2._resetInputValue(); return _this2.option("useNativeInputClick") || _this2._isCustomClickEvent })) } this._$fileInput.prop({ multiple: this.option("multiple"), accept: this.option("accept"), tabIndex: -1 }) }; _proto._inputChangeHandler = function() { if (this._doPreventInputChange) { return } var fileName = this._$fileInput.val().replace(/^.*\\/, ""); var files = this._$fileInput.prop("files"); if (files && !files.length && "useForm" !== this.option("uploadMode")) { return } var value = files ? this._getFiles(files) : [{ name: fileName }]; this._changeValue(value); if ("instantly" === this.option("uploadMode")) { this._uploadFiles() } }; _proto._shouldFileListBeExtended = function() { return "useForm" !== this.option("uploadMode") && this.option("extendSelection") && this.option("multiple") }; _proto._changeValue = function(value) { var files = this._shouldFileListBeExtended() ? this.option("value").slice() : []; this.option("value", files.concat(value)) }; _proto._getFiles = function(fileList) { var values = []; (0, _iterator.each)(fileList, (function(_, value) { return values.push(value) })); return values }; _proto._getFile = function(fileData) { var targetFileValue = (0, _type.isNumeric)(fileData) ? this.option("value")[fileData] : fileData; return this._files.filter((function(file) { return file.value === targetFileValue }))[0] }; _proto._initLabel = function() { if (!this._$inputLabel) { this._$inputLabel = (0, _renderer.default)("<div>") } this._updateInputLabelText() }; _proto._updateInputLabelText = function() { var correctedValue = this._isInteractionDisabled() ? "" : this.option("labelText"); this._$inputLabel.text(correctedValue) }; _proto._focusTarget = function() { return this.$element().find(".dx-fileuploader-button") }; _proto._getSubmitElement = function() { return this._$fileInput }; _proto._initMarkup = function() { _Editor.prototype._initMarkup.call(this); this.$element().addClass("dx-fileuploader"); this._renderWrapper(); this._renderInputWrapper(); this._renderSelectButton(); this._renderInputContainer(); this._renderUploadButton(); this._preventRecreatingFiles = true; this._activeDropZone = null }; _proto._render = function() { this._preventRecreatingFiles = false; this._attachDragEventHandlers(this._$inputWrapper); this._attachDragEventHandlers(this.option("dropZone")); this._renderFiles(); _Editor.prototype._render.call(this) }; _proto._createFileProgressBar = function(file) { file.progressBar = this._createProgressBar(file.value.size); file.progressBar.$element().appendTo(file.$file); this._initStatusMessage(file); this._ensureCancelButtonInitialized(file) }; _proto._setStatusMessage = function(file, message) { var _this3 = this; setTimeout((function() { if (_this3.option("showFileList")) { if (file.$statusMessage) { file.$statusMessage.text(message); file.$statusMessage.css("display", ""); file.progressBar.$element().remove() } } }), 400) }; _proto._getUploadAbortedStatusMessage = function() { return "instantly" === this.option("uploadMode") ? this.option("uploadAbortedMessage") : this.option("readyToUploadMessage") }; _proto._createFiles = function() { var _this4 = this; var value = this.option("value"); if (this._files && (0 === value.length || !this._shouldFileListBeExtended())) { this._preventFilesUploading(this._files); this._files = null } if (!this._files) { this._files = [] }(0, _iterator.each)(value.slice(this._files.length), (function(_, value) { var file = _this4._createFile(value); _this4._validateFile(file); _this4._files.push(file) })) }; _proto._preventFilesUploading = function(files) { var _this5 = this; files.forEach((function(file) { return _this5._uploadStrategy.abortUpload(file) })) }; _proto._validateFile = function(file) { file.isValidFileExtension = this._validateFileExtension(file); file.isValidMinSize = this._validateMinFileSize(file); file.isValidMaxSize = this._validateMaxFileSize(file) }; _proto._validateFileExtension = function(file) { var allowedExtensions = this.option("allowedFileExtensions"); var accept = this.option("accept"); var allowedTypes = this._getAllowedFileTypes(accept); var fileExtension = file.value.name.substring(file.value.name.lastIndexOf(".")).toLowerCase(); if (0 !== accept.length && !this._isFileTypeAllowed(file.value, allowedTypes)) { return false } if (0 === allowedExtensions.length) { return true } for (var i = 0; i < allowedExtensions.length; i++) { if (fileExtension === allowedExtensions[i].toLowerCase()) { return true } } return false }; _proto._validateMaxFileSize = function(file) { var fileSize = file.value.size; var maxFileSize = this.option("maxFileSize"); return maxFileSize > 0 ? fileSize <= maxFileSize : true }; _proto._validateMinFileSize = function(file) { var fileSize = file.value.size; var minFileSize = this.option("minFileSize"); return minFileSize > 0 ? fileSize >= minFileSize : true }; _proto._createBeforeSendAction = function() { this._beforeSendAction = this._createActionByOption("onBeforeSend", { excludeValidators: ["readOnly"] }) }; _proto._createUploadStartedAction = function() { this._uploadStartedAction = this._createActionByOption("onUploadStarted", { excludeValidators: ["readOnly"] }) }; _proto._createUploadedAction = function() { this._uploadedAction = this._createActionByOption("onUploaded", { excludeValidators: ["readOnly"] }) }; _proto._createFilesUploadedAction = function() { this._filesUploadedAction = this._createActionByOption("onFilesUploaded", { excludeValidators: ["readOnly"] }) }; _proto._createProgressAction = function() { this._progressAction = this._createActionByOption("onProgress", { excludeValidators: ["readOnly"] }) }; _proto._createUploadAbortedAction = function() { this._uploadAbortedAction = this._createActionByOption("onUploadAborted", { excludeValidators: ["readOnly"] }) }; _proto._createUploadErrorAction = function() { this._uploadErrorAction = this._createActionByOption("onUploadError", { excludeValidators: ["readOnly"] }) }; _proto._createDropZoneEnterAction = function() { this._dropZoneEnterAction = this._createActionByOption("onDropZoneEnter") }; _proto._createDropZoneLeaveAction = function() { this._dropZoneLeaveAction = this._createActionByOption("onDropZoneLeave") }; _proto._createFile = function(value) { return { value: value, loadedSize: 0, onProgress: (0, _callbacks.default)(), onAbort: (0, _callbacks.default)(), onLoad: (0, _callbacks.default)(), onError: (0, _callbacks.default)(), onLoadStart: (0, _callbacks.default)(), isValidFileExtension: true, isValidMaxSize: true, isValidMinSize: true, isValid: function() { return this.isValidFileExtension && this.isValidMaxSize && this.isValidMinSize }, isInitialized: false } }; _proto._resetFileState = function(file) { file.isAborted = false; file.uploadStarted = false; file.isStartLoad = false; file.loadedSize = 0; file.chunksData = void 0; file.request = void 0 }; _proto._renderFiles = function() { var _this$_validationMess, _this6 = this; var value = this.option("value"); if (!this._$filesContainer) { this._$filesContainer = (0, _renderer.default)("<div>").addClass("dx-fileuploader-files-container").appendTo(this._$content) } else if (!this._shouldFileListBeExtended() || 0 === value.length) { this._$filesContainer.empty() } var showFileList = this.option("showFileList"); if (showFileList) { (0, _iterator.each)(this._files, (function(_, file) { if (!file.$file) { _this6._renderFile(file) } })) } this.$element().toggleClass("dx-fileuploader-show-file-list", showFileList); this._toggleFileUploaderEmptyClassName(); this._updateFileNameMaxWidth(); null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.repaint() }; _proto._renderFile = function(file) { var value = file.value; var $fileContainer = (0, _renderer.default)("<div>").addClass("dx-fileuploader-file-container").appendTo(this._$filesContainer); this._renderFileButtons(file, $fileContainer); file.$file = (0, _renderer.default)("<div>").addClass("dx-fileuploader-file").appendTo($fileContainer); var $fileInfo = (0, _renderer.default)("<div>").addClass("dx-fileuploader-file-info").appendTo(file.$file); file.$statusMessage = (0, _renderer.default)("<div>").addClass("dx-fileuploader-file-status-message").appendTo(file.$file); (0, _renderer.default)("<div>").addClass("dx-fileuploader-file-name").text(value.name).appendTo($fileInfo); if ((0, _type.isDefined)(value.size)) { (0, _renderer.default)("<div>").addClass("dx-fileuploader-file-size").text(this._getFileSize(value.size)).appendTo($fileInfo) } if (file.isValid()) { file.$statusMessage.text(this.option("readyToUploadMessage")) } else { if (!file.isValidFileExtension) { file.$statusMessage.append(this._createValidationElement("invalidFileExtensionMessage")) } if (!file.isValidMaxSize) { file.$statusMessage.append(this._createValidationElement("invalidMaxFileSizeMessage")) } if (!file.isValidMinSize) { file.$statusMessage.append(this._createValidationElement("invalidMinFileSizeMessage")) } $fileContainer.addClass("dx-fileuploader-invalid") } }; _proto._createValidationElement = function(key) { return (0, _renderer.default)("<span>").text(this.option(key)) }; _proto._updateFileNameMaxWidth = function() { var cancelButtonsCount = this.option("allowCanceling") && "useForm" !== this.option("uploadMode") ? 1 : 0; var uploadButtonsCount = "useButtons" === this.option("uploadMode") ? 1 : 0; var filesContainerWidth = (0, _size.getWidth)(this._$filesContainer.find(".dx-fileuploader-file-container").first()) || (0, _size.getWidth)(this._$filesContainer); var $buttonContainer = this._$filesContainer.find(".dx-fileuploader-button-container").eq(0); var buttonsWidth = (0, _size.getWidth)($buttonContainer) * (cancelButtonsCount + uploadButtonsCount); var $fileSize = this._$filesContainer.find(".dx-fileuploader-file-size").eq(0); var prevFileSize = $fileSize.text(); $fileSize.text("1000 Mb"); var fileSizeWidth = (0, _size.getWidth)($fileSize); $fileSize.text(prevFileSize); this._$filesContainer.find(".dx-fileuploader-file-name").css("maxWidth", filesContainerWidth - buttonsWidth - fileSizeWidth) }; _proto._renderFileButtons = function(file, $container) { var $cancelButton = this._getCancelButton(file); $cancelButton && $container.append($cancelButton); var $uploadButton = this._getUploadButton(file); $uploadButton && $container.append($uploadButton) }; _proto._getCancelButton = function(file) { var _this7 = this; if ("useForm" === this.option("uploadMode")) { return null } file.cancelButton = this._createComponent((0, _renderer.default)("<div>").addClass("dx-fileuploader-button dx-fileuploader-cancel-button"), _button.default, { onClick: function() { return _this7._removeFile(file) }, icon: "close", visible: this.option("allowCanceling"), disabled: this.option("readOnly"), integrationOptions: {}, hoverStateEnabled: this.option("hoverStateEnabled") }); return (0, _renderer.default)("<div>").addClass("dx-fileuploader-button-container").append(file.cancelButton.$element()) }; _proto._getUploadButton = function(file) { var _this8 = this; if (!file.isValid() || "useButtons" !== this.option("uploadMode")) { return null } file.uploadButton = this._createComponent((0, _renderer.default)("<div>").addClass("dx-fileuploader-button dx-fileuploader-upload-button"), _button.default, { onClick: function() { return _this8._uploadFile(file) }, icon: "upload", hoverStateEnabled: this.option("hoverStateEnabled") }); file.onLoadStart.add((function() { return file.uploadButton.option({ visible: false, disabled: true }) })); file.onAbort.add((function() { return file.uploadButton.option({ visible: true, disabled: false }) })); return (0, _renderer.default)("<div>").addClass("dx-fileuploader-button-container").append(file.uploadButton.$element()) }; _proto._removeFile = function(file) { var _file$$file; null === (_file$$file = file.$file) || void 0 === _file$$file ? void 0 : _file$$file.parent().remove(); this._files.splice(this._files.indexOf(file), 1); var value = this.option("value").slice(); value.splice(value.indexOf(file.value), 1); this._preventRecreatingFiles = true; this.option("value", value); this._preventRecreatingFiles = false; this._toggleFileUploaderEmptyClassName(); this._resetInputValue(true) }; _proto.removeFile = function(fileData) { if ("useForm" === this.option("uploadMode") || !(0, _type.isDefined)(fileData)) { return } var file = this._getFile(fileData); if (file) { if (file.uploadStarted) { this._preventFilesUploading([file]) } this._removeFile(file) } }; _proto._toggleFileUploaderEmptyClassName = function() { this.$element().toggleClass("dx-fileuploader-empty", !this._files.length || this._hasInvalidFile(this._files)) }; _proto._hasInvalidFile = function(files) { for (var i = 0; i < files.length; i++) { if (!files[i].isValid()) { return true } } return false }; _proto._getFileSize = function(size) { var i = 0; var labels = [_message.default.format("dxFileUploader-bytes"), _message.default.format("dxFileUploader-kb"), _message.default.format("dxFileUploader-Mb"), _message.default.format("dxFileUploader-Gb")]; var count = labels.length - 1; while (i < count && size >= 1024) { size /= 1024; i++ } return Math.round(size) + " " + labels[i] }; _proto._renderSelectButton = function() { var $button = (0, _renderer.default)("<div>").addClass("dx-fileuploader-button").appendTo(this._$inputWrapper); this._selectButton = this._createComponent($button, _button.default, { text: this.option("selectButtonText"), focusStateEnabled: false, integrationOptions: {}, disabled: this.option("readOnly"), hoverStateEnabled: this.option("hoverStateEnabled") }); this._selectFileDialogHandler = this._selectButtonClickHandler.bind(this); if ("desktop" === _devices.default.real().deviceType) { this._selectButton.option("onClick", this._selectFileDialogHandler) } else { this._attachSelectFileDialogHandler(this._selectButton.$element()) } this._attachSelectFileDialogHandler(this.option("dialogTrigger")) }; _proto._selectButtonClickHandler = function() { if (this.option("useNativeInputClick")) { return } if (this._isInteractionDisabled()) { return false } this._isCustomClickEvent = true; _events_engine.default.trigger(this._$fileInput, "click"); this._isCustomClickEvent = false }; _proto._attachSelectFileDialogHandler = function(target) { if (!(0, _type.isDefined)(target)) { return } this._detachSelectFileDialogHandler(target); _events_engine.default.on((0, _renderer.default)(target), "click", this._selectFileDialogHandler) }; _proto._detachSelectFileDialogHandler = function(target) { if (!(0, _type.isDefined)(target)) { return } _events_engine.default.off((0, _renderer.default)(target), "click", this._selectFileDialogHandler) }; _proto._renderUploadButton = function() { if ("useButtons" !== this.option("uploadMode")) { return } var $uploadButton = (0, _renderer.default)("<div>").addClass("dx-fileuploader-button").addClass("dx-fileuploader-upload-button").appendTo(this._$content); this._uploadButton = this._createComponent($uploadButton, _button.default, { text: this.option("uploadButtonText"), onClick: this._uploadButtonClickHandler.bind(this), type: this.option("_uploadButtonType"), integrationOptions: {}, hoverStateEnabled: this.option("hoverStateEnabled") }) }; _proto._uploadButtonClickHandler = function() { this._uploadFiles() }; _proto._shouldDragOverBeRendered = function() { return !this.option("readOnly") && ("useForm" !== this.option("uploadMode") || this.option("nativeDropSupported")) }; _proto._isInteractionDisabled = function() { return this.option("readOnly") || this.option("disabled") }; _proto._renderInputContainer = function() { this._$inputContainer = (0, _renderer.default)("<div>").addClass("dx-fileuploader-input-container").appendTo(this._$inputWrapper); this._$fileInput.addClass("dx-fileuploader-input"); this._renderInput(); var labelId = "dx-fileuploader-input-label-".concat(new _guid.default); this._$inputLabel.attr("id", labelId).addClass("dx-fileuploader-input-label").appendTo(this._$inputContainer); this.setAria("labelledby", labelId, this._$fileInput) }; _proto._renderInput = function() { if (this.option("useNativeInputClick")) { this._selectButton.option("template", this._selectButtonInputTemplate.bind(this)) } else { this._$fileInput.appendTo(this._$inputContainer); this._selectButton.option("template", "content") } this._applyInputAttributes(this.option("inputAttr")) }; _proto._selectButtonInputTemplate = function(data, content) { var $content = (0, _renderer.default)(content); var $text = (0, _renderer.default)("<span>").addClass("dx-button-text").text(data.text); $content.append($text).append(this._$fileInput); return $content }; _proto._renderInputWrapper = function() { this._$inputWrapper = (0, _renderer.default)("<div>").addClass("dx-fileuploader-input-wrapper").appendTo(this._$content) }; _proto._detachDragEventHandlers = function(target) { if (!(0, _type.isDefined)(target)) { return } _events_engine.default.off((0, _renderer.default)(target), (0, _index.addNamespace)("", this.NAME)) }; _proto._attachDragEventHandlers = function(target) { var isCustomTarget = target !== this._$inputWrapper; if (!(0, _type.isDefined)(target) || !this._shouldDragOverBeRendered()) { return } this._detachDragEventHandlers(target); target = (0, _renderer.default)(target); _events_engine.default.on(target, (0, _index.addNamespace)("dragenter", this.NAME), this._dragEnterHandler.bind(this, isCustomTarget)); _events_engine.default.on(target, (0, _index.addNamespace)("dragover", this.NAME), this._dragOverHandler.bind(this, isCustomTarget)); _events_engine.default.on(target, (0, _index.addNamespace)("dragleave", this.NAME), this._dragLeaveHandler.bind(this, isCustomTarget)); _events_engine.default.on(target, (0, _index.addNamespace)("drop", this.NAME), this._dropHandler.bind(this, isCustomTarget)) }; _proto._applyInputAttributes = function(customAttributes) { this._$fileInput.attr(customAttributes) }; _proto._useInputForDrop = function() { return this.option("nativeDropSupported") && "useForm" === this.option("uploadMode") }; _proto._getDropZoneElement = function(isCustomTarget, e) { var targetList = isCustomTarget ? Array.from((0, _renderer.default)(this.option("dropZone"))) : [this._$inputWrapper]; targetList = targetList.map((function(element) { return (0, _renderer.default)(element).get(0) })); return targetList[targetList.indexOf(e.currentTarget)] }; _proto._dragEnterHandler = function(isCustomTarget, e) { if (this.option("disabled")) { return false } if (!this._useInputForDrop()) { e.preventDefault() } var dropZoneElement = this._getDropZoneElement(isCustomTarget, e); if ((0, _type.isDefined)(dropZoneElement) && this._shouldRaiseDragOver(e, dropZoneElement)) { this._activeDropZone = dropZoneElement; this._tryToggleDropZoneActive(true, isCustomTarget, e) } }; _proto._shouldRaiseDragOver = function(e, dropZoneElement) { return null === this._activeDropZone && this.isMouseOverElement(e, dropZoneElement, false) && "Files" === e.originalEvent.dataTransfer.types[0] }; _proto._dragOverHandler = function(isCustomTarget, e) { if (!this._useInputForDrop()) { e.preventDefault() } e.originalEvent.dataTransfer.dropEffect = "copy"; if (!isCustomTarget) { var dropZoneElement = this._getDropZoneElement(false, e); if (this._shouldRaiseDragOver(e, dropZoneElement)) { this._dragEnterHandler(false, e) } if (this._shouldRaiseDragLeave(e, false)) { this._dragLeaveHandler(false, e) } } }; _proto._dragLeaveHandler = function(isCustomTarget, e) { if (!this._useInputForDrop()) { e.preventDefault() } if (this._shouldRaiseDragLeave(e, isCustomTarget)) { this._tryToggleDropZoneActive(false, isCustomTarget, e); this._activeDropZone = null } }; _proto._shouldRaiseDragLeave = function(e, isCustomTarget) { return null !== this._activeDropZone && !this.isMouseOverElement(e, this._activeDropZone, !isCustomTarget) }; _proto._tryToggleDropZoneActive = function(active, isCustom, event) { var classAction = active ? "addClass" : "removeClass"; var mouseAction = active ? "_dropZoneEnterAction" : "_dropZoneLeaveAction"; this[mouseAction]({ event: event, dropZoneElement: this._activeDropZone }); if (!isCustom) { this.$element()[classAction]("dx-fileuploader-dragover") } }; _proto._dropHandler = function(isCustomTarget, e) { this._activeDropZone = null; if (!isCustomTarget) { this.$element().removeClass("dx-fileuploader-dragover") } if (this._useInputForDrop() || isCustomTarget && this._isInteractionDisabled()) { return } e.preventDefault(); var fileList = e.originalEvent.dataTransfer.files; var files = this._getFiles(fileList); if (!this.option("multiple") && files.length > 1 || 0 === files.length) { return } this._changeValue(files); if ("instantly" === this.option("uploadMode")) { this._uploadFiles() } }; _proto._areAllFilesLoaded = function() { return this._files.every((function(file) { return !file.isValid() || file._isError || file._isLoaded || file.isAborted })) }; _proto._handleAllFilesUploaded = function() { this._recalculateProgress(); if (this._areAllFilesLoaded()) { this._filesUploadedAction() } }; _proto._getAllowedFileTypes = function(acceptSting) { if (!acceptSting.length) { return [] } return acceptSting.split(",").map((function(item) { return item.trim() })) }; _proto._isFileTypeAllowed = function(file, allowedTypes) { for (var i = 0, n = allowedTypes.length; i < n; i++) { var allowedType = allowedTypes[i]; if ("." === allowedType[0]) { allowedType = allowedType.replace(".", "\\."); if (file.name.match(new RegExp(allowedType + "$", "i"))) { return true } } else { allowedType = allowedType.replace(new RegExp("\\*", "g"), ""); if (file.type.match(new RegExp(allowedType, "i"))) { return true } } } return false }; _proto._renderWrapper = function() { var $wrapper = (0, _renderer.default)("<div>").addClass("dx-fileuploader-wrapper").appendTo(this.$element()); var $container = (0, _renderer.default)("<div>").addClass("dx-fileuploader-container").appendTo($wrapper); this._$content = (0, _renderer.default)("<div>").addClass("dx-fileuploader-content").appendTo($container) }; _proto._clean = function() { this._$fileInput.detach(); delete this._$filesContainer; this._detachSelectFileDialogHandler(this.option("dialogTrigger")); this._detachDragEventHandlers(this.option("dropZone")); if (this._files) { this._files.forEach((function(file) { file.$file = null; file.$statusMessage = null })) } _Editor.prototype._clean.call(this) }; _proto.abortUpload = function(fileData) { if ("useForm" === this.option("uploadMode")) { return } if ((0, _type.isDefined)(fileData)) { var file = this._getFile(fileData); if (file) { this._preventFilesUploading([file]) } } else { this._preventFilesUploading(this._files) } }; _proto.upload = function(fileData) { if ("useForm" === this.option("uploadMode")) { return } if ((0, _type.isDefined)(fileData)) { var file = this._getFile(fileData); if (file && isFormDataSupported()) { this._uploadFile(file) } } else { this._uploadFiles() } }; _proto._uploadFiles = function() { var _this9 = this; if (isFormDataSupported()) { (0, _iterator.each)(this._files, (function(_, file) { return _this9._uploadFile(file) })) } }; _proto._uploadFile = function(file) { this._uploadStrategy.upload(file) }; _proto._updateProgressBar = function(file, loadedFileData) { file.progressBar && file.progressBar.option({ value: loadedFileData.loaded, showStatus: true }); this._progressAction({ file: file.value, segmentSize: loadedFileData.currentSegmentSize, bytesLoaded: loadedFileData.loaded, bytesTotal: loadedFileData.total, event: loadedFileData.event, request: file.request }) }; _proto._updateTotalProgress = function(totalFilesSize, totalLoadedFilesSize) { var progress = 0; if ((0, _type.isDefined)(totalFilesSize)) { if (this._files.length > 0 && this._areAllFilesLoaded() && 0 === totalFilesSize && 0 === totalLoadedFilesSize) { progress = this._getProgressValue(1) } else if (totalFilesSize) { progress = this._getProgressValue(totalLoadedFilesSize / totalFilesSize) } } this.option("progress", progress); this._setLoadedSize(totalLoadedFilesSize) }; _proto._getProgressValue = function(ratio) { return Math.floor(100 * ratio) }; _proto._initStatusMessage = function(file) { file.$statusMessage.css("display", "none") }; _proto._ensureCancelButtonInitialized = function(file) { var _this10 = this; if (file.isInitialized) { return } file.cancelButton.option("onClick", (function() { _this10._preventFilesUploading([file]); _this10._removeFile(file) })); var hideCancelButton = function() { setTimeout((function() { file.cancelButton.option({ visible: false }) }), 400) }; file.onLoad.add(hideCancelButton); file.onError.add(hideCancelButton) }; _proto._createProgressBar = function(fileSize) { var _this11 = this; return this._createComponent((0, _renderer.default)("<div>"), _progress_bar.default, { value: void 0, min: 0, max: fileSize, statusFormat: function(ratio) { return _this11._getProgressValue(ratio) + "%" }, showStatus: false, statusPosition: "right" }) }; _proto._getTotalFilesSize = function() { var _this12 = this; if (!this._totalFilesSize) { this._totalFilesSize = 0; (0, _iterator.each)(this._files, (function(_, file) { _this12._totalFilesSize += file.value.size })) } return this._totalFilesSize }; _proto._getTotalLoadedFilesSize = function() { var _this13 = this; if (!this._totalLoadedFilesSize) { this._totalLoadedFilesSize = 0; (0, _iterator.each)(this._files, (function(_, file) { _this13._totalLoadedFilesSize += file.loadedSize })) } return this._totalLoadedFilesSize }; _proto._setLoadedSize = function(value) { this._totalLoadedFilesSize = value }; _proto._recalculateProgress = function() { this._totalFilesSize = 0; this._totalLoadedFilesSize = 0; this._updateTotalProgress(this._getTotalFilesSize(), this._getTotalLoadedFilesSize()) }; _proto.isMouseOverElement = function(mouseEvent, element, correctPseudoElements) { if (!element) { return false } var beforeHeight = correctPseudoElements ? parseFloat(window.getComputedStyle(element, ":before").height) : 0; var afterHeight = correctPseudoElements ? parseFloat(window.getComputedStyle(element, ":after").height) : 0; var x = (0, _size.getOffset)(element).left; var y = (0, _size.getOffset)(element).top + beforeHeight; var w = element.offsetWidth; var h = element.offsetHeight - beforeHeight - afterHeight; var eventX = this._getEventX(mouseEvent); var eventY = this._getEventY(mouseEvent); return eventX >= x && eventX < x + w && eventY >= y && eventY < y + h }; _proto._getEventX = function(e) { return (0, _index.isTouchEvent)(e) ? this._getTouchEventX(e) : e.clientX + this._getDocumentScrollLeft() }; _proto._getEventY = function(e) { return (0, _index.isTouchEvent)(e) ? this._getTouchEventY(e) : e.clientY + this._getDocumentScrollTop() }; _proto._getTouchEventX = function(e) { var touchPoint = null; if (e.changedTouches.length > 0) { touchPoint = e.changedTouches } else if (e.targetTouches.length > 0) { touchPoint = e.targetTouches } return touchPoint ? touchPoint[0].pageX : 0 }; _proto._getTouchEventY = function(e) { var touchPoint = null; if (e.changedTouches.length > 0) { touchPoint = e.changedTouches } else if (e.targetTouches.length > 0) { touchPoint = e.targetTouches } return touchPoint ? touchPoint[0].pageY : 0 }; _proto._getDocumentScrollTop = function() { var document = _dom_adapter.default.getDocument(); return document.documentElement.scrollTop || document.body.scrollTop }; _proto._getDocumentScrollLeft = function() { var document = _dom_adapter.default.getDocument(); return document.documentElement.scrollLeft || document.body.scrollLeft }; _proto._updateReadOnlyState = function() { var readOnly = this.option("readOnly"); this._selectButton.option("disabled", readOnly); this._files.forEach((function(file) { var _file$cancelButton; return null === (_file$cancelButton = file.cancelButton) || void 0 === _file$cancelButton ? void 0 : _file$cancelButton.option("disabled", readOnly) })); this._updateInputLabelText(); this._attachDragEventHandlers(this._$inputWrapper) }; _proto._updateHoverState = function() { var _this$_selectButton, _this$_uploadButton; var value = this.option("hoverStateEnabled"); null === (_this$_selectButton = this._selectButton) || void 0 === _this$_selectButton ? void 0 : _this$_selectButton.option("hoverStateEnabled", value); null === (_this$_uploadButton = this._uploadButton) || void 0 === _this$_uploadButton ? void 0 : _this$_uploadButton.option("hoverStateEnabled", value); this._files.forEach((function(file) { var _file$uploadButton, _file$cancelButton2; null === (_file$uploadButton = file.uploadButton) || void 0 === _file$uploadButton ? void 0 : _file$uploadButton.option("hoverStateEnabled", value); null === (_file$cancelButton2 = file.cancelButton) || void 0 === _file$cancelButton2 ? void 0 : _file$cancelButton2.option("hoverStateEnabled", value) })) }; _proto._optionChanged = function(args) { var name = args.name, value = args.value, previousValue = args.previousValue; switch (name) { case "height": case "width": this._updateFileNameMaxWidth(); _Editor.prototype._optionChanged.call(this, args); break; case "value": !value.length && this._$fileInput.val(""); if (!this._preventRecreatingFiles) { this._createFiles(); this._renderFiles() } this._recalculateProgress(); _Editor.prototype._optionChanged.call(this, args); break; case "name": this._initFileInput(); _Editor.prototype._optionChanged.call(this, args); break; case "accept": this._initFileInput(); break; case "multiple": this._initFileInput(); if (!args.value) { this.reset() } break; case "readOnly": this._updateReadOnlyState(); _Editor.prototype._optionChanged.call(this, args); break; case "disabled": this._updateInputLabelText(); _Editor.prototype._optionChanged.call(this, args); break; case "selectButtonText": this._selectButton.option("text", value); break; case "uploadButtonText": this._uploadButton && this._uploadButton.option("text", value); break; case "_uploadButtonType": this._uploadButton && this._uploadButton.option("type", value); break; case "dialogTrigger": this._detachSelectFileDialogHandler(previousValue); this._attachSelectFileDialogHandler(value); break; case "dropZone": this._detachDragEventHandlers(previousValue); this._attachDragEventHandlers(value); break; case "maxFileSize": case "minFileSize": case "allowedFileExtensions": case "invalidFileExtensionMessage": case "invalidMaxFileSizeMessage": case "invalidMinFileSizeMessage": case "readyToUploadMessage": case "uploadedMessage": case "uploadFailedMessage": case "uploadAbortedMessage": this._invalidate(); break; case "labelText": this._updateInputLabelText(); break; case "showFileList": if (!this._preventRecreatingFiles) { this._renderFiles() } break; case "uploadFile": case "uploadChunk": case "chunkSize": this._setUploadStrategy(); break; case "abortUpload": case "uploadUrl": case "progress": case "uploadMethod": case "uploadHeaders": case "uploadCustomData": case "extendSelection": break; case "hoverStateEnabled": this._updateHoverState(); _Editor.prototype._optionChanged.call(this, args); break; case "allowCanceling": case "uploadMode": this.reset(); this._invalidate(); break; case "onBeforeSend": this._createBeforeSendAction(); break; case "onUploadStarted": this._createUploadStartedAction(); break; case "onUploaded": this._createUploadedAction(); break; case "onFilesUploaded": this._createFilesUploadedAction(); break; case "onProgress": this._createProgressAction(); break; case "onUploadError": this._createUploadErrorAction(); break; case "onUploadAborted": this._createUploadAbortedAction(); break; case "onDropZoneEnter": this._createDropZoneEnterAction(); break; case "onDropZoneLeave": this._createDropZoneLeaveAction(); break; case "useNativeInputClick": this._renderInput(); break; case "useDragOver": this._attachDragEventHandlers(this._$inputWrapper); break; case "nativeDropSupported": this._invalidate(); break; case "inputAttr": this._applyInputAttributes(this.option(name)); break; default: _Editor.prototype._optionChanged.call(this, args) } }; _proto._resetInputValue = function(force) { if ("useForm" === this.option("uploadMode") && !force) { return } this._doPreventInputChange = true; this._$fileInput.val(""); this._doPreventInputChange = false }; _proto.reset = function() { this.option("value", []) }; return FileUploader }(_editor.default); var FileBlobReader = function() { function FileBlobReader(file, chunkSize) { this.file = file; this.chunkSize = chunkSize; this.index = 0 } var _proto2 = FileBlobReader.prototype; _proto2.read = function() { if (!this.file) { return null } var result = this.createBlobResult(this.file, this.index, this.chunkSize); if (result.isCompleted) { this.file = null } this.index++; return result }; _proto2.createBlobResult = function(file, index, chunkSize) { var currentPosition = index * chunkSize; return { blob: this.sliceFile(file, currentPosition, chunkSize), index: index, isCompleted: currentPosition + chunkSize >= file.size } }; _proto2.sliceFile = function(file, startPos, length) { if (file.slice) { return file.slice(startPos, startPos + length) } if (file.webkitSlice) { return file.webkitSlice(startPos, startPos + length) } return null }; return FileBlobReader }(); var FileUploadStrategyBase = function() { function FileUploadStrategyBase(fileUploader) { this.fileUploader = fileUploader } var _proto3 = FileUploadStrategyBase.prototype; _proto3.upload = function(file) { if (file.isInitialized && file.isAborted) { this.fileUploader._resetFileState(file) } if (file.isValid() && !file.uploadStarted) { this._prepareFileBeforeUpload(file); this._uploadCore(file) } }; _proto3.abortUpload = function(file) { var _this14 = this; if (file._isError || file._isLoaded || file.isAborted || !file.uploadStarted) { return } file.isAborted = true; file.request && file.request.abort(); if (this._isCustomCallback("abortUpload")) { var abortUpload = this.fileUploader.option("abortUpload"); var arg = this._createUploadArgument(file); var deferred = null; try { var result = abortUpload(file.value, arg); deferred = (0, _deferred.fromPromise)(result) } catch (error) { deferred = (new _deferred.Deferred).reject(error).promise() } deferred.done((function() { return file.onAbort.fire() })).fail((function(error) { return _this14._handleFileError(file, error) })) } }; _proto3._beforeSend = function(xhr, file) { var arg = this._createUploadArgument(file); this.fileUploader._beforeSendAction({ request: xhr, file: file.value, uploadInfo: arg }); file.request = xhr }; _proto3._createUploadArgument = function(file) {}; _proto3._uploadCore = function(file) {}; _proto3._isCustomCallback = function(name) { var callback = this.fileUploader.option(name); return callback && (0, _type.isFunction)(callback) }; _proto3._handleProgress = function(file, e) { if (file._isError) { return } file._isProgressStarted = true; this._handleProgressCore(file, e) }; _proto3._handleProgressCore = function(file, e) {}; _proto3._handleFileError = function(file, error) { file._isError = true; file.onError.fire(error) }; _proto3._prepareFileBeforeUpload = function(file) { if (file.$file) { var _file$progressBar; null === (_file$progressBar = file.progressBar) || void 0 === _file$progressBar ? void 0 : _file$progressBar.dispose(); this.fileUploader._createFileProgressBar(file) } if (file.isInitialized) { return } file.onLoadStart.add(this._onUploadStarted.bind(this, file)); file.onLoad.add(this._onLoadedHandler.bind(this, file)); file.onError.add(this._onErrorHandler.bind(this, file)); file.onAbort.add(this._onAbortHandler.bind(this, file)); file.onProgress.add(this._onProgressHandler.bind(this, file)); file.isInitialized = true }; _proto3._shouldHandleError = function(file, e) { return (this._isStatusError(e.status) || !file._isProgressStarted) && !file.isAborted }; _proto3._isStatusError = function(status) { return 400 <= status && status < 500 || 500 <= status && status < 600 }; _proto3._onUploadStarted = function(file, e) { file.uploadStarted = true; this.fileUploader._uploadStartedAction({ file: file.value, event: e, request: file.request }) }; _proto3._onAbortHandler = function(file, e) { var args = { file: file.value, event: e, request: file.request, message: this.fileUploader._getUploadAbortedStatusMessage() }; this.fileUploader._uploadAbortedAction(args); this.fileUploader._setStatusMessage(file, args.message); this.fileUploader._handleAllFilesUploaded() }; _proto3._onErrorHandler = function(file, error) { var args = { file: file.value, event: void 0, request: file.request, error: error, message: this.fileUploader.option("uploadFailedMessage") }; this.fileUploader._uploadErrorAction(args); this.fileUploader._setStatusMessage(file, args.message); this.fileUploader._handleAllFilesUploaded() }; _proto3._onLoadedHandler = function(file, e) { var args = { file: file.value, event: e, request: file.request, message: this.fileUploader.option("uploadedMessage") }; file._isLoaded = true; this.fileUploader._uploadedAction(args); this.fileUploader._setStatusMessage(file, args.message); this.fileUploader._handleAllFilesUploaded() }; _proto3._onProgressHandler = function(file, e) { if (file) { var totalFilesSize = this.fileUploader._getTotalFilesSize(); var totalLoadedFilesSize = this.fileUploader._getTotalLoadedFilesSize(); var loadedSize = Math.min(e.loaded, file.value.size); var segmentSize = loadedSize - file.loadedSize; file.loadedSize = loadedSize; this.fileUploader._updateTotalProgress(totalFilesSize, totalLoadedFilesSize + segmentSize); this.fileUploader._updateProgressBar(file, this._getLoadedData(loadedSize, e.total, segmentSize, e)) } }; _proto3._getLoadedData = function(loaded, total, currentSegmentSize, event) { return { loaded: loaded, total: total, currentSegmentSize: currentSegmentSize } }; _proto3._extendFormData = function(formData) { var formDataEntries = this.fileUploader.option("uploadCustomData"); for (var entryName in formDataEntries) { if (Object.prototype.hasOwnProperty.call(formDataEntries, entryName) && (0, _type.isDefined)(formDataEntries[entryName])) { formData.append(entryName, formDataEntries[entryName]) } } }; return FileUploadStrategyBase }(); var ChunksFileUploadStrategyBase = function(_FileUploadStrategyBa) { _inheritsLoose(ChunksFileUploadStrategyBase, _FileUploadStrategyBa); function ChunksFileUploadStrategyBase(fileUploader) { var _this15; _this15 = _FileUploadStrategyBa.call(this, fileUploader) || this; _this15.chunkSize = _this15.fileUploader.option("chunkSize"); return _this15 } var _proto4 = ChunksFileUploadStrategyBase.prototype; _proto4._uploadCore = function(file) { var realFile = file.value; var chunksData = { name: realFile.name, loadedBytes: 0, type: realFile.type, blobReader: new FileBlobReader(realFile, this.chunkSize), guid: new _guid.default, fileSize: realFile.size, count: this._getFileChunksCount(realFile), customData: {} }; file.chunksData = chunksData; this._sendChunk(file, chunksData) }; _proto4._getFileChunksCount = function(jsFile) { return 0 === jsFile.size ? 1 : Math.ceil(jsFile.size / this.chunkSize) }; _proto4._sendChunk = function(file, chunksData) { var _this16 = this; var chunk = chunksData.blobReader.read(); chunksData.currentChunk = chunk; if (chunk) { this._sendChunkCore(file, chunksData, chunk).done((function() { if (file.isAborted) { return } chunksData.loadedBytes += chunk.blob.size; file.onProgress.fire({ loaded: chunksData.loadedBytes, total: file.value.size }); if (chunk.isCompleted) { file.onLoad.fire() } setTimeout((function() { return _this16._sendChunk(file, chunksData) })) })).fail((function(error) { if (_this16._shouldHandleError(file, error)) { _this16._handleFileError(file, error) } })) } }; _proto4._sendChunkCore = function(file, chunksData, chunk) {}; _proto4._tryRaiseStartLoad = function(file) { if (!file.isStartLoad) { file.isStartLoad = true; file.onLoadStart.fire() } }; _proto4._getEvent = function(e) { return null }; _proto4._createUploadArgument = function(file) { return this._createChunksInfo(file.chunksData) }; _proto4._createChunksInfo = function(chunksData) { return { bytesUploaded: chunksData.loadedBytes, chunkCount: chunksData.count, customData: chunksData.customData, chunkBlob: chunksData.currentChunk.blob, chunkIndex: chunksData.currentChunk.index } }; return ChunksFileUploadStrategyBase }(FileUploadStrategyBase); var DefaultChunksFileUploadStrategy = function(_ChunksFileUploadStra) { _inheritsLoose(DefaultChunksFileUploadStrategy, _ChunksFileUploadStra); function DefaultChunksFileUploadStrategy() { return _ChunksFileUploadStra.apply(this, arguments) || this } var _proto5 = DefaultChunksFileUploadStrategy.prototype; _proto5._sendChunkCore = function(file, chunksData, chunk) { var _this17 = this; return _ajax.default.sendRequest({ url: this.fileUploader.option("uploadUrl"), method: this.fileUploader.option("uploadMethod"), headers: this.fileUploader.option("uploadHeaders"), beforeSend: function(xhr) { return _this17._beforeSend(xhr, file) }, upload: { onprogress: function(e) { return _this17._handleProgress(file, e) }, onloadstart: function() { return _this17._tryRaiseStartLoad(file) }, onabort: function() { return file.onAbort.fire() } }, data: this._createFormData({ fileName: chunksData.name, blobName: this.fileUploader.option("name"), blob: chunk.blob, index: chunk.index, count: chunksData.count, type: chunksData.type, guid: chunksData.guid, size: chunksData.fileSize }) }) }; _proto5._createFormData = function(options) { var formData = new window.FormData; formData.append(options.blobName, options.blob); formData.append("chunkMetadata", JSON.stringify({ FileName: options.fileName, Index: options.index, TotalCount: options.count, FileSize: options.size, FileType: options.type, FileGuid: options.guid })); this._extendFormData(formData); return formData }; return DefaultChunksFileUploadStrategy }(ChunksFileUploadStrategyBase); var CustomChunksFileUploadStrategy = function(_ChunksFileUploadStra2) { _inheritsLoose(CustomChunksFileUploadStrategy, _ChunksFileUploadStra2); function CustomChunksFileUploadStrategy() { return _ChunksFileUploadStra2.apply(this, arguments) || this } var _proto6 = CustomChunksFileUploadStrategy.prototype; _proto6._sendChunkCore = function(file, chunksData) { this._tryRaiseStartLoad(file); var chunksInfo = this._createChunksInfo(chunksData); var uploadChunk = this.fileUploader.option("uploadChunk"); try { var result = uploadChunk(file.value, chunksInfo); return (0, _deferred.fromPromise)(result) } catch (error) { return (new _deferred.Deferred).reject(error).promise() } }; _proto6._shouldHandleError = function(file, error) { return true }; return CustomChunksFileUploadStrategy }(ChunksFileUploadStrategyBase); var WholeFileUploadStrategyBase = function(_FileUploadStrategyBa2) { _inheritsLoose(WholeFileUploadStrategyBase, _FileUploadStrategyBa2); function WholeFileUploadStrategyBase() { return _FileUploadStrategyBa2.apply(this, arguments) || this } var _proto7 = WholeFileUploadStrategyBase.prototype; _proto7._uploadCore = function(file) { var _this18 = this; file.loadedSize = 0; this._uploadFile(file).done((function() { if (!file.isAborted) { file.onLoad.fire() } })).fail((function(error) { if (_this18._shouldHandleError(file, error)) { _this18._handleFileError(file, error) } })) }; _proto7._uploadFile = function(file) {}; _proto7._handleProgressCore = function(file, e) { file.onProgress.fire(e) }; _proto7._getLoadedData = function(loaded, total, segmentSize, event) { var result = _FileUploadStrategyBa2.prototype._getLoadedData.call(this, loaded, total, segmentSize, event); result.event = event; return result }; return WholeFileUploadStrategyBase }(FileUploadStrategyBase); var DefaultWholeFileUploadStrategy = function(_WholeFileUploadStrat) { _inheritsLoose(DefaultWholeFileUploadStrategy, _WholeFileUploadStrat); function DefaultWholeFileUploadStrategy() { return _WholeFileUploadStrat.apply(this, arguments) || this } var _proto8 = DefaultWholeFileUploadStrategy.prototype; _proto8._uploadFile = function(file) { var _this19 = this; return _ajax.default.sendRequest({ url: this.fileUploader.option("uploadUrl"), method: this.fileUploader.option("uploadMethod"), headers: this.fileUploader.option("uploadHeaders"), beforeSend: function(xhr) { return _this19._beforeSend(xhr, file) }, upload: { onprogress: function(e) { return _this19._handleProgress(file, e) }, onloadstart: function() { return file.onLoadStart.fire() }, onabort: function() { return file.onAbort.fire() } }, data: this._createFormData(this.fileUploader.option("name"), file.value) }) }; _proto8._createFormData = function(fieldName, fieldValue) { var formData = new window.FormData; formData.append(fieldName, fieldValue, fieldValue.name); this._extendFormData(formData); return formData }; return DefaultWholeFileUploadStrategy }(WholeFileUploadStrategyBase); var CustomWholeFileUploadStrategy = function(_WholeFileUploadStrat2) { _inheritsLoose(CustomWholeFileUploadStrategy, _WholeFileUploadStrat2); function CustomWholeFileUploadStrategy() { return _WholeFileUploadStrat2.apply(this, arguments) || this } var _proto9 = CustomWholeFileUploadStrategy.prototype; _proto9._uploadFile = function(file) { var _this20 = this; file.onLoadStart.fire(); var uploadFile = this.fileUploader.option("uploadFile"); try { var result = uploadFile(file.value, (function(loadedBytes) { var arg = { loaded: loadedBytes, total: file.value.size }; _this20._handleProgress(file, arg) })); return (0, _deferred.fromPromise)(result) } catch (error) { return (new _deferred.Deferred).reject(error).promise() } }; _proto9._shouldHandleError = function(file, e) { return true }; return CustomWholeFileUploadStrategy }(WholeFileUploadStrategyBase); (0, _component_registrator.default)("dxFileUploader", FileUploader); var _default = FileUploader; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 20301: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/filter_builder.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _filter_builder = (obj = __webpack_require__( /*! ./filter_builder/filter_builder */ 18476), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _filter_builder.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 25460: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/filter_builder/between.js ***! \**************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getConfig = function(caption, context) { return { name: "between", caption: caption, icon: "range", valueSeparator: "\u2013", dataTypes: ["number", "date", "datetime"], editorTemplate: editorTemplate.bind(context), notForLookup: true } }; var _renderer = (obj = __webpack_require__( /*! ../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); function editorTemplate(conditionInfo, container) { var $editorStart = (0, _renderer.default)("<div>").addClass("dx-filterbuilder-range-start"); var $editorEnd = (0, _renderer.default)("<div>").addClass("dx-filterbuilder-range-end"); var values = conditionInfo.value || []; var getStartValue = function(values) { return values && values.length > 0 ? values[0] : null }; var getEndValue = function(values) { return values && 2 === values.length ? values[1] : null }; container.append($editorStart); container.append((0, _renderer.default)("<span>").addClass("dx-filterbuilder-range-separator").text("\u2013")); container.append($editorEnd); container.addClass("dx-filterbuilder-range"); this._editorFactory.createEditor.call(this, $editorStart, (0, _extend.extend)({}, conditionInfo.field, conditionInfo, { value: getStartValue(values), parentType: "filterBuilder", setValue: function(value) { values = [value, getEndValue(values)]; conditionInfo.setValue(values) } })); this._editorFactory.createEditor.call(this, $editorEnd, (0, _extend.extend)({}, conditionInfo.field, conditionInfo, { value: getEndValue(values), parentType: "filterBuilder", setValue: function(value) { values = [getStartValue(values), value]; conditionInfo.setValue(values) } })) } }, 18476: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/filter_builder/filter_builder.js ***! \*********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _tree_view = _interopRequireDefault(__webpack_require__( /*! ../tree_view */ 30254)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../popup/ui.popup */ 51495)); var _utils = __webpack_require__( /*! ../overlay/utils */ 13660); var _ui3 = _interopRequireDefault(__webpack_require__( /*! ../shared/ui.editor_factory_mixin */ 15653)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _utils2 = __webpack_require__( /*! ./utils */ 59423); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ACTIONS = [{ name: "onEditorPreparing", config: { excludeValidators: ["disabled", "readOnly"], category: "rendering" } }, { name: "onEditorPrepared", config: { excludeValidators: ["disabled", "readOnly"], category: "rendering" } }, { name: "onValueChanged", config: { excludeValidators: ["disabled", "readOnly"] } }]; var OPERATORS = { and: "and", or: "or", notAnd: "!and", notOr: "!or" }; var EditorFactory = _class.default.inherit(_ui3.default); var FilterBuilder = _ui.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { onEditorPreparing: null, onEditorPrepared: null, onValueChanged: null, fields: [], groupOperations: ["and", "or", "notAnd", "notOr"], maxGroupLevel: void 0, value: null, allowHierarchicalFields: false, groupOperationDescriptions: { and: _message.default.format("dxFilterBuilder-and"), or: _message.default.format("dxFilterBuilder-or"), notAnd: _message.default.format("dxFilterBuilder-notAnd"), notOr: _message.default.format("dxFilterBuilder-notOr") }, customOperations: [], closePopupOnTargetScroll: true, filterOperationDescriptions: { between: _message.default.format("dxFilterBuilder-filterOperationBetween"), equal: _message.default.format("dxFilterBuilder-filterOperationEquals"), notEqual: _message.default.format("dxFilterBuilder-filterOperationNotEquals"), lessThan: _message.default.format("dxFilterBuilder-filterOperationLess"), lessThanOrEqual: _message.default.format("dxFilterBuilder-filterOperationLessOrEquals"), greaterThan: _message.default.format("dxFilterBuilder-filterOperationGreater"), greaterThanOrEqual: _message.default.format("dxFilterBuilder-filterOperationGreaterOrEquals"), startsWith: _message.default.format("dxFilterBuilder-filterOperationStartsWith"), contains: _message.default.format("dxFilterBuilder-filterOperationContains"), notContains: _message.default.format("dxFilterBuilder-filterOperationNotContains"), endsWith: _message.default.format("dxFilterBuilder-filterOperationEndsWith"), isBlank: _message.default.format("dxFilterBuilder-filterOperationIsBlank"), isNotBlank: _message.default.format("dxFilterBuilder-filterOperationIsNotBlank") } }) }, _optionChanged: function(args) { switch (args.name) { case "closePopupOnTargetScroll": break; case "onEditorPreparing": case "onEditorPrepared": case "onValueChanged": this._initActions(); break; case "customOperations": this._initCustomOperations(); this._invalidate(); break; case "fields": case "maxGroupLevel": case "groupOperations": case "allowHierarchicalFields": case "groupOperationDescriptions": case "filterOperationDescriptions": this._invalidate(); break; case "value": if (args.value !== args.previousValue) { var disableInvalidateForValue = this._disableInvalidateForValue; if (!disableInvalidateForValue) { this._initModel(); this._invalidate() } this._disableInvalidateForValue = false; this.executeAction("onValueChanged", { value: args.value, previousValue: args.previousValue }); this._disableInvalidateForValue = disableInvalidateForValue } break; default: this.callBase(args) } }, getFilterExpression: function() { var fields = this._getNormalizedFields(); var value = (0, _extend.extend)(true, [], this._model); return (0, _utils2.getFilterExpression)((0, _utils2.getNormalizedFilter)(value), fields, this._customOperations, "filterBuilder") }, _getNormalizedFields: function() { return (0, _utils2.getNormalizedFields)(this.option("fields")) }, _updateFilter: function() { this._disableInvalidateForValue = true; var value = (0, _extend.extend)(true, [], this._model); var normalizedValue = (0, _utils2.getNormalizedFilter)(value); var oldValue = (0, _utils2.getNormalizedFilter)(this._getModel(this.option("value"))); if (JSON.stringify(oldValue) !== JSON.stringify(normalizedValue)) { this.option("value", normalizedValue) } this._disableInvalidateForValue = false; this._fireContentReadyAction() }, _init: function() { this._initCustomOperations(); this._initModel(); this._initEditorFactory(); this._initActions(); this.callBase() }, _initEditorFactory: function() { this._editorFactory = new EditorFactory }, _initCustomOperations: function() { this._customOperations = (0, _utils2.getMergedOperations)(this.option("customOperations"), this.option("filterOperationDescriptions.between"), this) }, _getDefaultGroupOperation: function() { var _this$option$, _this$option; return null !== (_this$option$ = null === (_this$option = this.option("groupOperations")) || void 0 === _this$option ? void 0 : _this$option[0]) && void 0 !== _this$option$ ? _this$option$ : OPERATORS.and }, _getModel: function(value) { return (0, _utils2.convertToInnerStructure)(value, this._customOperations, this._getDefaultGroupOperation()) }, _initModel: function() { this._model = this._getModel(this.option("value")) }, _initActions: function() { var that = this; that._actions = {}; ACTIONS.forEach((function(action) { var actionConfig = (0, _extend.extend)({}, action.config); that._actions[action.name] = that._createActionByOption(action.name, actionConfig) })) }, executeAction: function(actionName, options) { var action = this._actions[actionName]; return action && action(options) }, _initMarkup: function() { this.$element().addClass("dx-filterbuilder"); this.callBase(); this._createGroupElementByCriteria(this._model).appendTo(this.$element()) }, _createConditionElement: function(condition, parent) { return (0, _renderer.default)("<div>").addClass("dx-filterbuilder-group").append(this._createConditionItem(condition, parent)) }, _createGroupElementByCriteria: function(criteria, parent) { var groupLevel = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0; var $group = this._createGroupElement(criteria, parent, groupLevel); var $groupContent = $group.find(".dx-filterbuilder-group-content"); var groupCriteria = (0, _utils2.getGroupCriteria)(criteria); for (var i = 0; i < groupCriteria.length; i++) { var innerCriteria = groupCriteria[i]; if ((0, _utils2.isGroup)(innerCriteria)) { this._createGroupElementByCriteria(innerCriteria, criteria, groupLevel + 1).appendTo($groupContent) } else if ((0, _utils2.isCondition)(innerCriteria)) { this._createConditionElement(innerCriteria, criteria).appendTo($groupContent) } } return $group }, _createGroupElement: function(criteria, parent, groupLevel) { var _this = this; var $groupItem = (0, _renderer.default)("<div>").addClass("dx-filterbuilder-group-item"); var $groupContent = (0, _renderer.default)("<div>").addClass("dx-filterbuilder-group-content"); var $group = (0, _renderer.default)("<div>").addClass("dx-filterbuilder-group").append($groupItem).append($groupContent); if (null != parent) { this._createRemoveButton((function() { (0, _utils2.removeItem)(parent, criteria); $group.remove(); _this._updateFilter() })).appendTo($groupItem) } this._createGroupOperationButton(criteria).appendTo($groupItem); this._createAddButton((function() { var newGroup = (0, _utils2.createEmptyGroup)(_this._getDefaultGroupOperation()); (0, _utils2.addItem)(newGroup, criteria); _this._createGroupElement(newGroup, criteria, groupLevel + 1).appendTo($groupContent); _this._updateFilter() }), (function() { var field = _this.option("fields")[0]; var newCondition = (0, _utils2.createCondition)(field, _this._customOperations); (0, _utils2.addItem)(newCondition, criteria); _this._createConditionElement(newCondition, criteria).appendTo($groupContent); _this._updateFilter() }), groupLevel).appendTo($groupItem); return $group }, _createButton: function(caption) { return (0, _renderer.default)("<div>").text(caption) }, _createGroupOperationButton: function(criteria) { var _this2 = this; var groupOperations = this._getGroupOperations(criteria); var groupMenuItem = (0, _utils2.getGroupMenuItem)(criteria, groupOperations); var caption = groupMenuItem.text; var $operationButton = groupOperations && groupOperations.length < 2 ? this._createButton(caption).addClass("dx-state-disabled") : this._createButtonWithMenu({ caption: caption, menu: { items: groupOperations, displayExpr: "text", keyExpr: "value", onItemClick: function(e) { if (groupMenuItem !== e.itemData) { (0, _utils2.setGroupValue)(criteria, e.itemData.value); $operationButton.text(e.itemData.text); groupMenuItem = e.itemData; _this2._updateFilter() } }, onContentReady: function(e) { e.component.selectItem(groupMenuItem) }, cssClass: "dx-filterbuilder-group-operations" } }); return $operationButton.addClass("dx-filterbuilder-text").addClass("dx-filterbuilder-group-operation").attr("tabindex", 0) }, _createButtonWithMenu: function(options) { var that = this; var removeMenu = function() { that.$element().find(".dx-state-active").removeClass("dx-state-active"); that.$element().find(".dx-overlay .dx-treeview").remove(); that.$element().find(".dx-overlay").remove() }; var rtlEnabled = this.option("rtlEnabled"); var position = rtlEnabled ? "right" : "left"; var $button = this._createButton(options.caption); (0, _extend.extend)(options.menu, { focusStateEnabled: true, selectionMode: "single", onItemClick: (handler = options.menu.onItemClick, function(e) { handler(e); if ("dxclick" === e.event.type) { removeMenu() } }), onHiding: function(e) { $button.removeClass("dx-state-active") }, position: { my: position + " top", at: position + " bottom", offset: "0 1", of: $button, collision: "flip" }, animation: null, onHidden: function() { removeMenu() }, cssClass: "dx-filterbuilder-overlay " + options.menu.cssClass, rtlEnabled: rtlEnabled }); var handler; options.popup = { onShown: function(info) { var treeViewElement = (0, _renderer.default)(info.component.content()).find(".dx-treeview"); var treeView = treeViewElement.dxTreeView("instance"); _events_engine.default.on(treeViewElement, "keyup keydown", (function(e) { var keyName = (0, _index.normalizeKeyName)(e); if ("keydown" === e.type && "tab" === keyName || "keyup" === e.type && ("escape" === keyName || "enter" === keyName)) { info.component.hide(); _events_engine.default.trigger(options.menu.position.of, "focus") } })); treeView.focus(); treeView.option("focusedElement", null) } }; this._subscribeOnClickAndEnterKey($button, (function() { removeMenu(); that._createPopupWithTreeView(options, that.$element()); $button.addClass("dx-state-active") })); return $button }, _hasValueButton: function(condition) { var customOperation = (0, _utils2.getCustomOperation)(this._customOperations, condition[1]); return customOperation ? false !== customOperation.hasValue : null !== condition[2] }, _createOperationButtonWithMenu: function(condition, field) { var _this3 = this; var that = this; var availableOperations = (0, _utils2.getAvailableOperations)(field, this.option("filterOperationDescriptions"), this._customOperations); var currentOperation = (0, _utils2.getOperationFromAvailable)((0, _utils2.getOperationValue)(condition), availableOperations); var $operationButton = this._createButtonWithMenu({ caption: currentOperation.text, menu: { items: availableOperations, displayExpr: "text", onItemRendered: function(e) { e.itemData.isCustom && (0, _renderer.default)(e.itemElement).addClass("dx-filterbuilder-menu-custom-operation") }, onContentReady: function(e) { e.component.selectItem(currentOperation) }, onItemClick: function(e) { if (currentOperation !== e.itemData) { currentOperation = e.itemData; (0, _utils2.updateConditionByOperation)(condition, currentOperation.value, that._customOperations); var $valueButton = $operationButton.siblings().filter(".dx-filterbuilder-item-value"); if (that._hasValueButton(condition)) { if (0 !== $valueButton.length) { $valueButton.remove() } that._createValueButton(condition, field).appendTo($operationButton.parent()) } else { $valueButton.remove() } $operationButton.html(currentOperation.text); _this3._updateFilter() } }, cssClass: "dx-filterbuilder-operations" } }).addClass("dx-filterbuilder-text").addClass("dx-filterbuilder-item-operation").attr("tabindex", 0); return $operationButton }, _createOperationAndValueButtons: function(condition, field, $item) { this._createOperationButtonWithMenu(condition, field).appendTo($item); if (this._hasValueButton(condition)) { this._createValueButton(condition, field).appendTo($item) } }, _createFieldButtonWithMenu: function(fields, condition, field) { var _this4 = this; var that = this; var allowHierarchicalFields = this.option("allowHierarchicalFields"); var items = (0, _utils2.getItems)(fields, allowHierarchicalFields); var item = (0, _utils2.getField)(field.name || field.dataField, items); var getFullCaption = function(item, items) { return allowHierarchicalFields ? (0, _utils2.getCaptionWithParents)(item, items) : item.caption }; var $fieldButton = this._createButtonWithMenu({ caption: getFullCaption(item, items), menu: { items: items, dataStructure: "plain", keyExpr: "id", parentId: "parentId", displayExpr: "caption", onItemClick: function(e) { if (item !== e.itemData) { item = e.itemData; condition[0] = item.name || item.dataField; condition[2] = "object" === item.dataType ? null : ""; (0, _utils2.updateConditionByOperation)(condition, (0, _utils2.getDefaultOperation)(item), that._customOperations); $fieldButton.siblings().filter(".dx-filterbuilder-text").remove(); that._createOperationAndValueButtons(condition, item, $fieldButton.parent()); var caption = getFullCaption(item, e.component.option("items")); $fieldButton.html(caption); _this4._updateFilter() } }, onContentReady: function(e) { e.component.selectItem(item) }, cssClass: "dx-filterbuilder-fields" } }).addClass("dx-filterbuilder-text").addClass("dx-filterbuilder-item-field").attr("tabindex", 0); return $fieldButton }, _createConditionItem: function(condition, parent) { var _this5 = this; var $item = (0, _renderer.default)("<div>").addClass("dx-filterbuilder-group-item"); var fields = this._getNormalizedFields(); var field = (0, _utils2.getField)(condition[0], fields); this._createRemoveButton((function() { (0, _utils2.removeItem)(parent, condition); var isSingleChild = 1 === $item.parent().children().length; if (isSingleChild) { $item.parent().remove() } else { $item.remove() } _this5._updateFilter() })).appendTo($item); this._createFieldButtonWithMenu(fields, condition, field).appendTo($item); this._createOperationAndValueButtons(condition, field, $item); return $item }, _getGroupOperations: function(criteria) { var groupOperations = this.option("groupOperations"); var groupOperationDescriptions = this.option("groupOperationDescriptions"); if (!groupOperations || !groupOperations.length) { groupOperations = [(0, _utils2.getGroupValue)(criteria).replace("!", "not")] } return groupOperations.map((function(operation) { return { text: groupOperationDescriptions[operation], value: OPERATORS[operation] } })) }, _createRemoveButton: function(handler) { var $removeButton = (0, _renderer.default)("<div>").addClass("dx-filterbuilder-action-icon").addClass("dx-icon-remove").addClass("dx-filterbuilder-action").attr("tabindex", 0); this._subscribeOnClickAndEnterKey($removeButton, handler); return $removeButton }, _createAddButton: function(addGroupHandler, addConditionHandler, groupLevel) { var $button; var maxGroupLevel = this.option("maxGroupLevel"); if ((0, _type.isDefined)(maxGroupLevel) && groupLevel >= maxGroupLevel) { $button = this._createButton(); this._subscribeOnClickAndEnterKey($button, addConditionHandler) } else { $button = this._createButtonWithMenu({ menu: { items: [{ caption: _message.default.format("dxFilterBuilder-addCondition"), click: addConditionHandler }, { caption: _message.default.format("dxFilterBuilder-addGroup"), click: addGroupHandler }], displayExpr: "caption", onItemClick: function(e) { e.itemData.click() }, cssClass: "dx-filterbuilder-add-condition" } }) } return $button.addClass("dx-filterbuilder-action-icon").addClass("dx-icon-plus").addClass("dx-filterbuilder-action").attr("tabindex", 0) }, _createValueText: function(item, field, $container) { var that = this; var $text = (0, _renderer.default)("<div>").html(" ").addClass("dx-filterbuilder-item-value-text").attr("tabindex", 0).appendTo($container); var value = item[2]; var customOperation = (0, _utils2.getCustomOperation)(that._customOperations, item[1]); if (!customOperation && field.lookup) { (0, _utils2.getCurrentLookupValueText)(field, value, (function(result) { (0, _utils2.renderValueText)($text, result) })) } else { (0, _deferred.when)((0, _utils2.getCurrentValueText)(field, value, customOperation)).done((function(result) { (0, _utils2.renderValueText)($text, result, customOperation) })) } that._subscribeOnClickAndEnterKey($text, (function(e) { if ("keyup" === e.type) { e.stopPropagation() } that._createValueEditorWithEvents(item, field, $container) })); return $text }, _updateConditionValue: function(item, value, callback) { var areValuesDifferent = item[2] !== value; if (areValuesDifferent) { item[2] = value } callback(); this._updateFilter() }, _addDocumentKeyUp: function($editor, handler) { var isComposing = false; var hasCompositionJustEnded = false; var document = _dom_adapter.default.getDocument(); var documentKeyUpHandler = function(e) { if (isComposing || hasCompositionJustEnded) { hasCompositionJustEnded = false; return } handler(e) }; _events_engine.default.on(document, "keyup", documentKeyUpHandler); var input = $editor.find("input"); _events_engine.default.on(input, "compositionstart", (function() { isComposing = true })); _events_engine.default.on(input, "compositionend", (function() { isComposing = false; hasCompositionJustEnded = true })); _events_engine.default.on(input, "keydown", (function(event) { if (229 !== event.which) { hasCompositionJustEnded = false } })); this._documentKeyUpHandler = documentKeyUpHandler }, _addDocumentClick: function($editor, closeEditorFunc) { var _this6 = this; var document = _dom_adapter.default.getDocument(); var documentClickHandler = function(e) { if (!_this6._isFocusOnEditorParts($editor, e.target)) { _events_engine.default.trigger($editor.find("input"), "change"); closeEditorFunc() } }; _events_engine.default.on(document, "dxpointerdown", documentClickHandler); this._documentClickHandler = documentClickHandler }, _isFocusOnEditorParts: function($editor, target) { var activeElement = target || _dom_adapter.default.getActiveElement(); return (0, _renderer.default)(activeElement).closest($editor.children()).length || (0, _renderer.default)(activeElement).closest(".dx-dropdowneditor-overlay").length }, _removeEvents: function() { var document = _dom_adapter.default.getDocument(); (0, _type.isDefined)(this._documentKeyUpHandler) && _events_engine.default.off(document, "keyup", this._documentKeyUpHandler); (0, _type.isDefined)(this._documentClickHandler) && _events_engine.default.off(document, "dxpointerdown", this._documentClickHandler) }, _dispose: function() { this._removeEvents(); this.callBase() }, _createValueEditorWithEvents: function(item, field, $container) { var _this7 = this; var value = item[2]; var createValueText = function() { $container.empty(); _this7._removeEvents(); return _this7._createValueText(item, field, $container) }; var closeEditor = function() { _this7._updateConditionValue(item, value, (function() { createValueText() })) }; var options = { value: "" === value ? null : value, filterOperation: (0, _utils2.getOperationValue)(item), setValue: function(data) { value = null === data ? "" : data }, closeEditor: closeEditor, text: $container.text() }; $container.empty(); var $editor = this._createValueEditor($container, field, options); _events_engine.default.trigger($editor.find("input").not(":hidden").eq(0), "focus"); this._removeEvents(); this._addDocumentClick($editor, closeEditor); this._addDocumentKeyUp($editor, (function(e) { var keyName = (0, _index.normalizeKeyName)(e); if ("tab" === keyName) { if (_this7._isFocusOnEditorParts($editor)) { return } _this7._updateConditionValue(item, value, (function() { createValueText(); if (e.shiftKey) { _events_engine.default.trigger($container.prev(), "focus") } })) } if ("escape" === keyName) { _events_engine.default.trigger(createValueText(), "focus") } if ("enter" === keyName) { _this7._updateConditionValue(item, value, (function() { _events_engine.default.trigger(createValueText(), "focus") })) } })); this._fireContentReadyAction() }, _createValueButton: function(item, field) { var $valueButton = (0, _renderer.default)("<div>").addClass("dx-filterbuilder-text").addClass("dx-filterbuilder-item-value"); this._createValueText(item, field, $valueButton); return $valueButton }, _createValueEditor: function($container, field, options) { var $editor = (0, _renderer.default)("<div>").attr("tabindex", 0).appendTo($container); var customOperation = (0, _utils2.getCustomOperation)(this._customOperations, options.filterOperation); var editorTemplate = customOperation && customOperation.editorTemplate ? customOperation.editorTemplate : field.editorTemplate; if (editorTemplate) { var template = this._getTemplate(editorTemplate); template.render({ model: (0, _extend.extend)({ field: field }, options), container: $editor }) } else { this._editorFactory.createEditor.call(this, $editor, (0, _extend.extend)({}, field, options, { parentType: "filterBuilder" })) } return $editor }, _createPopupWithTreeView: function(options, $container) { var that = this; var $popup = (0, _renderer.default)("<div>").addClass(options.menu.cssClass).appendTo($container); this._createComponent($popup, _ui2.default, { onHiding: options.menu.onHiding, onHidden: options.menu.onHidden, rtlEnabled: options.menu.rtlEnabled, position: options.menu.position, animation: options.menu.animation, contentTemplate: function(contentElement) { var $menuContainer = (0, _renderer.default)("<div>").appendTo(contentElement); that._createComponent($menuContainer, _tree_view.default, options.menu); this.repaint() }, _ignoreFunctionValueDeprecation: true, maxHeight: function() { return (0, _utils.getElementMaxHeightByWindow)(options.menu.position.of) }, visible: true, focusStateEnabled: false, hideOnParentScroll: this.option("closePopupOnTargetScroll"), hideOnOutsideClick: true, onShown: options.popup.onShown, shading: false, width: "auto", height: "auto", showTitle: false, _wrapperClassExternal: options.menu.cssClass }) }, _subscribeOnClickAndEnterKey: function($button, handler) { _events_engine.default.on($button, "dxclick", handler); _events_engine.default.on($button, "keyup", (function(e) { if ("enter" === (0, _index.normalizeKeyName)(e)) { handler(e) } })) } }); (0, _component_registrator.default)("dxFilterBuilder", FilterBuilder); var _default = FilterBuilder; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 8859: /*!**************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/filter_builder/ui.filter_operations_dictionary.js ***! \**************************************************************************************************/ function(module, exports) { exports.default = void 0; var OPERATION_ICONS = { "=": "equal", "<>": "notequal", "<": "less", "<=": "lessorequal", ">": "greater", ">=": "greaterorequal", notcontains: "doesnotcontain", contains: "contains", startswith: "startswith", endswith: "endswith", isblank: "isblank", isnotblank: "isnotblank" }; var OPERATION_NAME = { "=": "equal", "<>": "notEqual", "<": "lessThan", "<=": "lessThanOrEqual", ">": "greaterThan", ">=": "greaterThanOrEqual", startswith: "startsWith", contains: "contains", notcontains: "notContains", endswith: "endsWith", isblank: "isBlank", isnotblank: "isNotBlank", between: "between" }; var _default = { getIconByFilterOperation: function(filterOperation) { return OPERATION_ICONS[filterOperation] }, getNameByFilterOperation: function(filterOperation) { return OPERATION_NAME[filterOperation] } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 59423: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/filter_builder/utils.js ***! \************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.addItem = function(item, group) { var criteria = getGroupCriteria(group); var groupValue = getGroupValue(criteria); 1 === criteria.length ? criteria.unshift(item) : criteria.push(item, groupValue); return group }; exports.convertToInnerStructure = convertToInnerStructure; exports.createCondition = function(field, customOperations) { var condition = [field.dataField, "", ""]; var filterOperation = getDefaultOperation(field); updateConditionByOperation(condition, filterOperation, customOperations); return condition }; exports.createEmptyGroup = createEmptyGroup; exports.filterHasField = function filterHasField(filter, dataField) { if (null === filter || 0 === filter.length) { return false } if (isCondition(filter)) { return filter[0] === dataField } return filter.some((function(item) { return (isCondition(item) || isGroup(item)) && filterHasField(item, dataField) })) }; exports.getAvailableOperations = function(field, filterOperationDescriptions, customOperations) { var filterOperations = getFilterOperations(field); var isLookupField = !!field.lookup; customOperations.forEach((function(customOperation) { if (!field.filterOperations && -1 === filterOperations.indexOf(customOperation.name)) { var dataTypes = customOperation && customOperation.dataTypes; var isOperationForbidden = isLookupField ? !!customOperation.notForLookup : false; if (!isOperationForbidden && dataTypes && dataTypes.indexOf(field.dataType || "string") >= 0) { filterOperations.push(customOperation.name) } } })); return filterOperations.map((function(operation) { var customOperation = getCustomOperation(customOperations, operation); if (customOperation) { return { icon: customOperation.icon || "icon-none", text: customOperation.caption || (0, _inflector.captionize)(customOperation.name), value: customOperation.name, isCustom: true } } else { return { icon: _ui2.default.getIconByFilterOperation(operation) || "icon-none", text: getCaptionByOperation(operation, filterOperationDescriptions), value: operation } } })) }; exports.getCaptionByOperation = getCaptionByOperation; exports.getCaptionWithParents = function getCaptionWithParents(item, plainItems) { if (hasParent(item.dataField)) { var parentId = getParentIdFromItemDataField(item.dataField); for (var i = 0; i < plainItems.length; i++) { if (plainItems[i].dataField === parentId) { return getCaptionWithParents(plainItems[i], plainItems) + "." + item.caption } } } return item.caption }; exports.getCurrentLookupValueText = function(field, value, handler) { if ("" === value) { handler(""); return } var lookup = field.lookup; if (lookup.items) { handler(lookup.calculateCellValue(value) || "") } else { var lookupDataSource = (0, _type.isFunction)(lookup.dataSource) ? lookup.dataSource({}) : lookup.dataSource; var dataSource = new _data_source.DataSource(lookupDataSource); dataSource.loadSingle(lookup.valueExpr, value).done((function(result) { var valueText = ""; if (result) { valueText = lookup.displayExpr ? (0, _data.compileGetter)(lookup.displayExpr)(result) : result } if (field.customizeText) { valueText = field.customizeText({ value: value, valueText: valueText }) } handler(valueText) })).fail((function() { handler("") })) } }; exports.getCurrentValueText = function(field, value, customOperation) { var target = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : "filterBuilder"; if (checkDefaultValue(value)) { return "" } if (Array.isArray(value)) { var result = new _deferred.Deferred; _deferred.when.apply(this, getArrayValueText(field, value, customOperation, target)).done((function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] } var text = args.some((function(item) { return !checkDefaultValue(item) })) ? args.map((function(item) { return !checkDefaultValue(item) ? item : "?" })) : ""; result.resolve(text) })); return result } else { return getPrimitiveValueText(field, value, customOperation, target) } }; exports.getCustomOperation = getCustomOperation; exports.getDefaultOperation = getDefaultOperation; exports.getField = getField; exports.getFilterExpression = function getFilterExpression(value, fields, customOperations, target) { if (!(0, _type.isDefined)(value)) { return null } if (isNegationGroup(value)) { var filterExpression = getFilterExpression(value[1], fields, customOperations, target); return ["!", filterExpression] } var criteria = getGroupCriteria(value); if (isCondition(criteria)) { return getConditionFilterExpression(criteria, fields, customOperations, target) || null } else { var result = []; var _filterExpression; var groupValue = getGroupValue(criteria); for (var i = 0; i < criteria.length; i++) { if (isGroup(criteria[i])) { _filterExpression = getFilterExpression(criteria[i], fields, customOperations, target); if (_filterExpression) { i && result.push(groupValue); result.push(_filterExpression) } } else if (isCondition(criteria[i])) { _filterExpression = getConditionFilterExpression(criteria[i], fields, customOperations, target); if (_filterExpression) { result.length && result.push(groupValue); result.push(_filterExpression) } } } if (1 === result.length) { result = result[0] } return result.length ? result : null } }; exports.getFilterOperations = getFilterOperations; exports.getGroupCriteria = getGroupCriteria; exports.getGroupMenuItem = function(group, availableGroups) { var groupValue = getGroupValue(group); return availableGroups.filter((function(item) { return item.value === groupValue }))[0] }; exports.getGroupValue = getGroupValue; exports.getItems = getItems; exports.getMatchedConditions = function(filter, dataField) { if (null === filter || 0 === filter.length) { return [] } if (isCondition(filter)) { if (isMatchedCondition(filter, dataField)) { return [filter] } else { return [] } } var groupValue = getGroupValue(filter); if ("and" !== groupValue) { return [] } var result = filter.filter((function(item) { return isCondition(item) && isMatchedCondition(item, dataField) })); return result }; exports.getMergedOperations = function(customOperations, betweenCaption, context) { var result = (0, _extend.extend)(true, [], customOperations); var betweenIndex = -1; result.some((function(customOperation, index) { if ("between" === customOperation.name) { betweenIndex = index; return true } })); if (-1 !== betweenIndex) { result[betweenIndex] = (0, _extend.extend)((0, _between.getConfig)(betweenCaption, context), result[betweenIndex]) } else { result.unshift((0, _between.getConfig)(betweenCaption, context)) } return result }; exports.getNormalizedFields = function(fields) { return fields.reduce((function(result, field) { if ((0, _type.isDefined)(field.dataField)) { var normalizedField = {}; for (var key in field) { if (field[key] && AVAILABLE_FIELD_PROPERTIES.indexOf(key) > -1) { normalizedField[key] = field[key] } } normalizedField.defaultCalculateFilterExpression = _filtering.default.defaultCalculateFilterExpression; if (!(0, _type.isDefined)(normalizedField.dataType)) { normalizedField.dataType = "string" } if (!(0, _type.isDefined)(normalizedField.trueText)) { normalizedField.trueText = _message.default.format("dxDataGrid-trueText") } if (!(0, _type.isDefined)(normalizedField.falseText)) { normalizedField.falseText = _message.default.format("dxDataGrid-falseText") } result.push(normalizedField) } return result }), []) }; exports.getNormalizedFilter = function getNormalizedFilter(group) { var criteria = getGroupCriteria(group); var i; if (0 === criteria.length) { return null } var itemsForRemove = []; for (i = 0; i < criteria.length; i++) { if (isGroup(criteria[i])) { var normalizedGroupValue = getNormalizedFilter(criteria[i]); if (normalizedGroupValue) { criteria[i] = normalizedGroupValue } else { itemsForRemove.push(criteria[i]) } } else if (isCondition(criteria[i])) { if (!isValidCondition(criteria[i])) { itemsForRemove.push(criteria[i]) } } } for (i = 0; i < itemsForRemove.length; i++) { removeItem(criteria, itemsForRemove[i]) } if (1 === criteria.length) { return null } criteria.splice(criteria.length - 1, 1); if (1 === criteria.length) { group = function(group, criteria) { if (isNegationGroup(group)) { group[1] = criteria } else { group = criteria } return group }(group, criteria[0]) } if (0 === group.length) { return null } return group }; exports.getOperationFromAvailable = function(operation, availableOperations) { for (var i = 0; i < availableOperations.length; i++) { if (availableOperations[i].value === operation) { return availableOperations[i] } } throw new _ui.default.Error("E1048", operation) }; exports.getOperationValue = function(condition) { var caption; if (null === condition[2]) { if ("=" === condition[1]) { caption = "isblank" } else { caption = "isnotblank" } } else { caption = condition[1] } return caption }; exports.isCondition = isCondition; exports.isEmptyGroup = function(group) { var criteria = getGroupCriteria(group); if (isCondition(criteria)) { return false } var hasConditions = criteria.some((function(item) { return isCondition(item) })); return !hasConditions }; exports.isGroup = isGroup; exports.isValidCondition = isValidCondition; exports.removeFieldConditionsFromFilter = function(filter, dataField) { if (!filter || 0 === filter.length) { return null } if (isCondition(filter)) { var hasMatchedCondition = isMatchedCondition(filter, dataField); return !hasMatchedCondition ? filter : null } else { return syncConditionIntoGroup(filter, [dataField], false) } }; exports.removeItem = removeItem; exports.renderValueText = void 0; exports.setGroupValue = function(group, value) { ! function(group, value) { if (function(value) { return -1 !== value.indexOf("!") }(value)) { if (!isNegationGroup(group)) { ! function(group) { var criteria = group.slice(0); group.length = 0; group.push("!", criteria) }(group) } } else if (isNegationGroup(group)) { ! function(group) { var criteria = getGroupCriteria(group); group.length = 0; [].push.apply(group, criteria) }(group) } }(group, value); var criteria = getGroupCriteria(group); var i; value = function(value) { return -1 === value.indexOf("!") ? value : value.substring(1) }(value); ! function(criteria, value) { for (i = 0; i < criteria.length; i++) { if (!Array.isArray(criteria[i])) { criteria[i] = value } } }(criteria, value); return group }; exports.syncFilters = function(filter, addedFilter) { if (null === filter || 0 === filter.length) { return addedFilter } if (isCondition(filter)) { if (isMatchedCondition(filter, addedFilter[0])) { return addedFilter } else { return [filter, "and", addedFilter] } } var groupValue = getGroupValue(filter); if ("and" !== groupValue) { return [addedFilter, "and", filter] } return syncConditionIntoGroup(filter, addedFilter, true) }; exports.updateConditionByOperation = updateConditionByOperation; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _errors = __webpack_require__( /*! ../../data/errors */ 18438); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _filtering = _interopRequireDefault(__webpack_require__( /*! ../shared/filtering */ 18740)); var _format_helper = _interopRequireDefault(__webpack_require__( /*! ../../format_helper */ 30343)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _inflector = __webpack_require__( /*! ../../core/utils/inflector */ 78008); var _between = __webpack_require__( /*! ./between */ 25460); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _data_source = __webpack_require__( /*! ../../data/data_source/data_source */ 85273); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ./ui.filter_operations_dictionary */ 8859)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var DATATYPE_OPERATIONS = { number: ["=", "<>", "<", ">", "<=", ">=", "isblank", "isnotblank"], string: ["contains", "notcontains", "startswith", "endswith", "=", "<>", "isblank", "isnotblank"], date: ["=", "<>", "<", ">", "<=", ">=", "isblank", "isnotblank"], datetime: ["=", "<>", "<", ">", "<=", ">=", "isblank", "isnotblank"], boolean: ["=", "<>", "isblank", "isnotblank"], object: ["isblank", "isnotblank"] }; var DEFAULT_FORMAT = { date: "shortDate", datetime: "shortDateShortTime" }; var LOOKUP_OPERATIONS = ["=", "<>", "isblank", "isnotblank"]; var AVAILABLE_FIELD_PROPERTIES = ["caption", "customizeText", "dataField", "dataType", "editorTemplate", "falseText", "editorOptions", "filterOperations", "format", "lookup", "trueText", "calculateFilterExpression", "name"]; function isNegationGroup(group) { return group && group.length > 1 && "!" === group[0] && !isCondition(group) } function getGroupCriteria(group) { return isNegationGroup(group) ? group[1] : group } function getCriteriaOperation(criteria) { if (isCondition(criteria)) { return "and" } var value = ""; for (var i = 0; i < criteria.length; i++) { var item = criteria[i]; if (!Array.isArray(item)) { if (value && value !== item) { throw new _errors.errors.Error("E4019") } if ("!" !== item) { value = item } } } return value } function getGroupValue(group) { var criteria = getGroupCriteria(group); var value = getCriteriaOperation(criteria); if (!value) { value = "and" } if (criteria !== group) { value = "!" + value } return value } function getFilterOperations(field) { var result = (entity = field.filterOperations, Array.isArray(entity) && entity.length) ? field.filterOperations : function(field) { return field.lookup && LOOKUP_OPERATIONS || DATATYPE_OPERATIONS[field.dataType || "string"] }(field); var entity; return (0, _extend.extend)([], result) } function getCaptionByOperation(operation, filterOperationDescriptions) { var operationName = _ui2.default.getNameByFilterOperation(operation); return filterOperationDescriptions && filterOperationDescriptions[operationName] ? filterOperationDescriptions[operationName] : operationName } function getCustomOperation(customOperations, name) { var filteredOperations = customOperations.filter((function(item) { return item.name === name })); return filteredOperations.length ? filteredOperations[0] : null } function getDefaultOperation(field) { return field.defaultFilterOperation || getFilterOperations(field)[0] } function removeItem(group, item) { var criteria = getGroupCriteria(group); var index = criteria.indexOf(item); criteria.splice(index, 1); if (1 !== criteria.length) { criteria.splice(index, 1) } return group } function createEmptyGroup(value) { var isNegation = isNegationGroupOperation(value); var groupOperation = isNegation ? getGroupOperationFromNegationOperation(value) : value; return isNegation ? ["!", [groupOperation]] : [groupOperation] } function getField(dataField, fields) { for (var i = 0; i < fields.length; i++) { if (fields[i].name === dataField) { return fields[i] } if (fields[i].dataField.toLowerCase() === dataField.toLowerCase()) { return fields[i] } } var extendedFields = getItems(fields, true).filter((function(item) { return item.dataField.toLowerCase() === dataField.toLowerCase() })); if (extendedFields.length > 0) { return extendedFields[0] } throw new _ui.default.Error("E1047", dataField) } function isGroup(criteria) { if (!Array.isArray(criteria)) { return false } return criteria.length < 2 || Array.isArray(criteria[0]) || Array.isArray(criteria[1]) } function isCondition(criteria) { if (!Array.isArray(criteria)) { return false } return criteria.length > 1 && !Array.isArray(criteria[0]) && !Array.isArray(criteria[1]) } function convertToInnerGroup(group, customOperations, defaultGroupOperation) { defaultGroupOperation = defaultGroupOperation || "and"; var groupOperation = getCriteriaOperation(group).toLowerCase() || defaultGroupOperation; var innerGroup = []; for (var i = 0; i < group.length; i++) { if (isGroup(group[i])) { innerGroup.push(convertToInnerStructure(group[i], customOperations, defaultGroupOperation)); innerGroup = appendGroupOperationToGroup(innerGroup, groupOperation) } else if (isCondition(group[i])) { innerGroup.push(convertToInnerCondition(group[i], customOperations)); innerGroup = appendGroupOperationToGroup(innerGroup, groupOperation) } } if (0 === innerGroup.length) { innerGroup = appendGroupOperationToGroup(innerGroup, groupOperation) } return innerGroup } function convertToInnerCondition(condition, customOperations) { if (function(condition, customOperations) { var customOperation = getCustomOperation(customOperations, condition[1]); return customOperation && customOperation.name === condition[1] }(condition, customOperations)) { return condition } if (condition.length < 3) { condition[2] = condition[1]; condition[1] = "=" } return condition } function isNegationGroupOperation(operation) { return -1 !== operation.indexOf("not") } function getGroupOperationFromNegationOperation(operation) { return operation.substring(3).toLowerCase() } function appendGroupOperationToCriteria(criteria, groupOperation) { var isNegation = isNegationGroupOperation(groupOperation); groupOperation = isNegation ? getGroupOperationFromNegationOperation(groupOperation) : groupOperation; return isNegation ? ["!", criteria, groupOperation] : [criteria, groupOperation] } function appendGroupOperationToGroup(group, groupOperation) { var isNegation = isNegationGroupOperation(groupOperation); groupOperation = isNegation ? getGroupOperationFromNegationOperation(groupOperation) : groupOperation; group.push(groupOperation); var result = group; if (isNegation) { result = ["!", result] } return result } function convertToInnerStructure(value, customOperations, defaultGroupOperation) { defaultGroupOperation = defaultGroupOperation || "and"; if (!value) { return createEmptyGroup(defaultGroupOperation) } value = (0, _extend.extend)(true, [], value); if (isCondition(value)) { return appendGroupOperationToCriteria(convertToInnerCondition(value, customOperations), defaultGroupOperation) } if (isNegationGroup(value)) { return ["!", isCondition(value[1]) ? appendGroupOperationToCriteria(convertToInnerCondition(value[1], customOperations), defaultGroupOperation) : isNegationGroup(value[1]) ? appendGroupOperationToCriteria(convertToInnerStructure(value[1], customOperations), defaultGroupOperation) : convertToInnerGroup(value[1], customOperations, defaultGroupOperation)] } return convertToInnerGroup(value, customOperations, defaultGroupOperation) } function getConditionFilterExpression(condition, fields, customOperations, target) { var field = getField(condition[0], fields); var filterExpression = convertToInnerCondition(condition, customOperations); var customOperation = customOperations.length && getCustomOperation(customOperations, filterExpression[1]); if (customOperation && customOperation.calculateFilterExpression) { return customOperation.calculateFilterExpression.apply(customOperation, [filterExpression[2], field, fields]) } else if (field.createFilterExpression) { return field.createFilterExpression.apply(field, [filterExpression[2], filterExpression[1], target]) } else if (field.calculateFilterExpression) { return field.calculateFilterExpression.apply(field, [filterExpression[2], filterExpression[1], target]) } else { return field.defaultCalculateFilterExpression.apply(field, [filterExpression[2], filterExpression[1], target]) } } function getPrimitiveValueText(field, value, customOperation, target, options) { var valueText; if (true === value) { valueText = field.trueText || _message.default.format("dxDataGrid-trueText") } else if (false === value) { valueText = field.falseText || _message.default.format("dxDataGrid-falseText") } else { valueText = function(field, value) { var fieldFormat = field.format || DEFAULT_FORMAT[field.dataType]; return _format_helper.default.format(value, fieldFormat) }(field, value) } if (field.customizeText) { valueText = field.customizeText.call(field, { value: value, valueText: valueText, target: target }) } if (customOperation && customOperation.customizeText) { valueText = customOperation.customizeText.call(customOperation, { value: value, valueText: valueText, field: field, target: target }, options) } return valueText } function getArrayValueText(field, value, customOperation, target) { var options = { values: value }; return value.map((function(v) { return getPrimitiveValueText(field, v, customOperation, target, options) })) } function checkDefaultValue(value) { return "" === value || null === value } function itemExists(plainItems, parentId) { return plainItems.some((function(item) { return item.dataField === parentId })) } function pushItemAndCheckParent(originalItems, plainItems, item) { var dataField = item.dataField; if (hasParent(dataField)) { item.parentId = getParentIdFromItemDataField(dataField); if (!itemExists(plainItems, item.parentId) && !itemExists(originalItems, item.parentId)) { pushItemAndCheckParent(originalItems, plainItems, { id: item.parentId, dataType: "object", dataField: item.parentId, caption: generateCaptionByDataField(item.parentId, true), filterOperations: ["isblank", "isnotblank"] }) } } plainItems.push(item) } function generateCaptionByDataField(dataField, allowHierarchicalFields) { var caption = ""; if (allowHierarchicalFields) { dataField = dataField.substring(dataField.lastIndexOf(".") + 1) } else if (hasParent(dataField)) { dataField.split(".").forEach((function(field, index, arr) { caption += (0, _inflector.captionize)(field); if (index !== arr.length - 1) { caption += "." } })); return caption } return (0, _inflector.captionize)(dataField) } function getItems(fields, allowHierarchicalFields) { var items = []; for (var i = 0; i < fields.length; i++) { var item = (0, _extend.extend)(true, { caption: generateCaptionByDataField(fields[i].dataField, allowHierarchicalFields) }, fields[i]); item.id = item.name || item.dataField; if (allowHierarchicalFields) { pushItemAndCheckParent(fields, items, item) } else { items.push(item) } } return items } function hasParent(dataField) { return -1 !== dataField.lastIndexOf(".") } function getParentIdFromItemDataField(dataField) { return dataField.substring(0, dataField.lastIndexOf(".")) } function updateConditionByOperation(condition, operation, customOperations) { var customOperation = getCustomOperation(customOperations, operation); if (customOperation) { if (false === customOperation.hasValue) { condition[1] = operation; condition.length = 2 } else { condition[1] = operation; condition[2] = "" } return condition } if ("isblank" === operation) { condition[1] = "="; condition[2] = null } else if ("isnotblank" === operation) { condition[1] = "<>"; condition[2] = null } else { customOperation = getCustomOperation(customOperations, condition[1]); if (customOperation || 2 === condition.length || null === condition[2]) { condition[2] = "" } condition[1] = operation } return condition } function isValidCondition(condition) { return "" !== condition[2] } function isMatchedCondition(filter, addedFilterDataField) { return filter[0] === addedFilterDataField } function syncConditionIntoGroup(filter, addedFilter, canPush) { var result = []; filter.forEach((function(item) { if (isCondition(item)) { if (isMatchedCondition(item, addedFilter[0])) { if (canPush) { result.push(addedFilter); canPush = false } else { result.splice(result.length - 1, 1) } } else { result.push(item) } } else { (result.length || isGroup(item)) && result.push(item) } })); if (0 === result.length) { return null } if (canPush) { result.push("and"); result.push(addedFilter) } return 1 === result.length ? result[0] : result } exports.renderValueText = function($container, value, customOperation) { if (Array.isArray(value)) { var lastItemIndex = value.length - 1; $container.empty(); value.forEach((function(t, i) { (0, _renderer.default)("<span>").addClass("dx-filterbuilder-text-part").text(t).appendTo($container); if (i !== lastItemIndex) { (0, _renderer.default)("<span>").addClass("dx-filterbuilder-text-separator").text(customOperation && customOperation.valueSeparator ? customOperation.valueSeparator : "|").addClass("dx-filterbuilder-text-separator-empty").appendTo($container) } })) } else if (value) { $container.text(value) } else { $container.text(_message.default.format("dxFilterBuilder-enterValueText")) } } }, 17737: /*!********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/form.js ***! \********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./form/ui.form */ 20763), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 77509: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/form/components/button_item.js ***! \*******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.renderButtonItem = function(_ref) { var item = _ref.item, $parent = _ref.$parent, rootElementCssClassList = _ref.rootElementCssClassList, validationGroup = _ref.validationGroup, createComponentCallback = _ref.createComponentCallback; var $rootElement = (0, _renderer.default)("<div>").appendTo($parent).addClass(rootElementCssClassList.join(" ")).addClass("dx-field-button-item").css("textAlign", (horizontalAlignment = item.horizontalAlignment, (0, _type.isDefined)(horizontalAlignment) ? horizontalAlignment : "right")); var horizontalAlignment; $parent.css("justifyContent", function(verticalAlignment) { switch (verticalAlignment) { case "center": return "center"; case "bottom": return "flex-end"; default: return "flex-start" } }(item.verticalAlignment)); var $button = (0, _renderer.default)("<div>").appendTo($rootElement); return { $rootElement: $rootElement, buttonInstance: createComponentCallback($button, "dxButton", (0, _extend.extend)({ validationGroup: validationGroup }, item.buttonOptions)) } }; var _renderer = (obj = __webpack_require__( /*! ../../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306) }, 46193: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/form/components/empty_item.js ***! \******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.FIELD_EMPTY_ITEM_CLASS = void 0; exports.renderEmptyItem = function(_ref) { var $parent = _ref.$parent, rootElementCssClassList = _ref.rootElementCssClassList; return (0, _renderer.default)("<div>").addClass("dx-field-empty-item").html(" ").addClass(rootElementCssClassList.join(" ")).appendTo($parent) }; var _renderer = (obj = __webpack_require__( /*! ../../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; exports.FIELD_EMPTY_ITEM_CLASS = "dx-field-empty-item" }, 21014: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/form/components/field_item.js ***! \******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.TOGGLE_CONTROLS_PADDING_CLASS = exports.LABEL_VERTICAL_ALIGNMENT_CLASS = exports.LABEL_HORIZONTAL_ALIGNMENT_CLASS = exports.FLEX_LAYOUT_CLASS = exports.FIELD_ITEM_REQUIRED_CLASS = exports.FIELD_ITEM_OPTIONAL_CLASS = exports.FIELD_ITEM_LABEL_ALIGN_CLASS = exports.FIELD_ITEM_HELP_TEXT_CLASS = exports.FIELD_ITEM_CONTENT_WRAPPER_CLASS = exports.FIELD_ITEM_CONTENT_LOCATION_CLASS = void 0; exports.renderFieldItem = function(_ref) { var $parent = _ref.$parent, rootElementCssClassList = _ref.rootElementCssClassList, formOrLayoutManager = _ref.formOrLayoutManager, createComponentCallback = _ref.createComponentCallback, labelOptions = _ref.labelOptions, labelNeedBaselineAlign = _ref.labelNeedBaselineAlign, labelLocation = _ref.labelLocation, needRenderLabel = _ref.needRenderLabel, formLabelLocation = _ref.formLabelLocation, item = _ref.item, editorOptions = _ref.editorOptions, isSimpleItem = _ref.isSimpleItem, isRequired = _ref.isRequired, template = _ref.template, helpID = _ref.helpID, labelID = _ref.labelID, name = _ref.name, helpText = _ref.helpText, requiredMessageTemplate = _ref.requiredMessageTemplate, validationGroup = _ref.validationGroup; var $rootElement = (0, _renderer.default)("<div>").addClass(rootElementCssClassList.join(" ")).appendTo($parent); $rootElement.addClass(isRequired ? "dx-field-item-required" : "dx-field-item-optional"); if (isSimpleItem) { $rootElement.addClass("dx-flex-layout") } if (isSimpleItem && labelNeedBaselineAlign) { $rootElement.addClass("dx-field-item-label-align") } var $fieldEditorContainer = (0, _renderer.default)("<div>"); $fieldEditorContainer.data("dx-form-item", item); $fieldEditorContainer.addClass(_constants.FIELD_ITEM_CONTENT_CLASS).addClass("dx-field-item-content-location-" + { right: "left", left: "right", top: "bottom" } [formLabelLocation]); var $label = null; if (needRenderLabel) { if (labelOptions.labelTemplate) { labelOptions.labelTemplateData = getTemplateData(item, editorOptions, formOrLayoutManager) } $label = (0, _label.renderLabel)(labelOptions) } if ($label) { var editorType = item.editorType; $rootElement.append($label); if ("top" === labelLocation || "left" === labelLocation) { $rootElement.append($fieldEditorContainer) } if ("right" === labelLocation) { $rootElement.prepend($fieldEditorContainer) } if ("top" === labelLocation) { $rootElement.addClass("dx-label-v-align") } else { $rootElement.addClass("dx-label-h-align") } if ("dxCheckBox" === editorType || "dxSwitch" === editorType) { _events_engine.default.on($label, _click.name, (function() { _events_engine.default.trigger($fieldEditorContainer.children(), _click.name) })) } var isToggleControls = ["dxCheckBox", "dxSwitch", "dxRadioGroup"].includes(editorType); var labelAlignment = labelOptions.alignment; var isLabelAlignmentLeft = "left" === labelAlignment || !labelAlignment; var hasNotTemplate = !template; var isLabelOnTop = "top" === labelLocation; if (hasNotTemplate && isToggleControls && isLabelOnTop && isLabelAlignmentLeft) { $fieldEditorContainer.addClass("dx-toggle-controls-paddings") } } else { $rootElement.append($fieldEditorContainer) } var widgetInstance; if (template) { template.render({ container: (0, _element.getPublicElement)($fieldEditorContainer), model: getTemplateData(item, editorOptions, formOrLayoutManager), onRendered: function() { var $validationTarget = getValidationTarget($fieldEditorContainer); var validationTargetInstance = function($validationTarget) { var _$validationTarget$pa, _$validationTarget$pa2; return (null === $validationTarget || void 0 === $validationTarget ? void 0 : $validationTarget.data("dx-validation-target")) || (null === $validationTarget || void 0 === $validationTarget ? void 0 : null === (_$validationTarget$pa = $validationTarget.parent) || void 0 === _$validationTarget$pa ? void 0 : null === (_$validationTarget$pa2 = _$validationTarget$pa.call($validationTarget)) || void 0 === _$validationTarget$pa2 ? void 0 : _$validationTarget$pa2.data("dx-validation-target")) }($validationTarget); subscribeWrapperInvalidClassToggle(validationTargetInstance) } }) } else { var $div = (0, _renderer.default)("<div>").appendTo($fieldEditorContainer); try { widgetInstance = createComponentCallback($div, item.editorType, editorOptions); widgetInstance.setAria("describedby", helpID); if (labelID) { widgetInstance.setAria("labelledby", labelID) } widgetInstance.setAria("required", isRequired) } catch (e) { _ui.default.log("E1035", e.message) } } var $validationTarget = getValidationTarget($fieldEditorContainer); var validationTargetInstance = $validationTarget && $validationTarget.data("dx-validation-target"); if (validationTargetInstance) { var isItemHaveCustomLabel = item.label && item.label.text; var itemName = isItemHaveCustomLabel ? null : name; var fieldName = isItemHaveCustomLabel ? item.label.text : itemName && (0, _inflector.captionize)(itemName); var validationRules; if (isSimpleItem) { if (item.validationRules) { validationRules = item.validationRules } else { var requiredMessage = (0, _string.format)(requiredMessageTemplate, fieldName || ""); validationRules = item.isRequired ? [{ type: "required", message: requiredMessage }] : null } } if (Array.isArray(validationRules) && validationRules.length) { createComponentCallback($validationTarget, _validator.default, { validationRules: validationRules, validationGroup: validationGroup, dataGetter: function() { return { formItem: item } } }) } subscribeWrapperInvalidClassToggle(validationTargetInstance) } if (helpText && isSimpleItem) { var $editorParent = $fieldEditorContainer.parent(); $editorParent.append((0, _renderer.default)("<div>").addClass("dx-field-item-content-wrapper").append($fieldEditorContainer).append((0, _renderer.default)("<div>").addClass("dx-field-item-help-text").attr("id", helpID).text(helpText))) } return { $fieldEditorContainer: $fieldEditorContainer, $rootElement: $rootElement, widgetInstance: widgetInstance } }; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _click = __webpack_require__( /*! ../../../events/click */ 95429); var _element = __webpack_require__( /*! ../../../core/element */ 6415); var _inflector = __webpack_require__( /*! ../../../core/utils/inflector */ 78008); var _string = __webpack_require__( /*! ../../../core/utils/string */ 68752); var _themes = __webpack_require__( /*! ../../themes */ 75811); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../widget/ui.errors */ 96688)); var _validator = _interopRequireDefault(__webpack_require__( /*! ../../validator */ 39562)); var _constants = __webpack_require__( /*! ../constants */ 31093); var _label = __webpack_require__( /*! ./label */ 11042); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } exports.FLEX_LAYOUT_CLASS = "dx-flex-layout"; exports.FIELD_ITEM_OPTIONAL_CLASS = "dx-field-item-optional"; exports.FIELD_ITEM_REQUIRED_CLASS = "dx-field-item-required"; exports.FIELD_ITEM_CONTENT_WRAPPER_CLASS = "dx-field-item-content-wrapper"; exports.FIELD_ITEM_CONTENT_LOCATION_CLASS = "dx-field-item-content-location-"; exports.FIELD_ITEM_LABEL_ALIGN_CLASS = "dx-field-item-label-align"; exports.FIELD_ITEM_HELP_TEXT_CLASS = "dx-field-item-help-text"; exports.LABEL_VERTICAL_ALIGNMENT_CLASS = "dx-label-v-align"; exports.LABEL_HORIZONTAL_ALIGNMENT_CLASS = "dx-label-h-align"; exports.TOGGLE_CONTROLS_PADDING_CLASS = "dx-toggle-controls-paddings"; function getValidationTarget($fieldEditorContainer) { var $editor = $fieldEditorContainer.children().first(); return $editor.hasClass("dx-template-wrapper") ? $editor.children().first() : $editor } function subscribeWrapperInvalidClassToggle(validationTargetInstance) { if (validationTargetInstance && (0, _themes.isMaterial)()) { var wrapperClass = ".".concat("dx-field-item-content-wrapper"); var toggleInvalidClass = function(_ref2) { var element = _ref2.element, component = _ref2.component; var _component$option = component.option(), isValid = _component$option.isValid, validationMessageMode = _component$option.validationMessageMode; (0, _renderer.default)(element).parents(wrapperClass).toggleClass("dx-invalid", false === isValid && (component._isFocused() || "always" === validationMessageMode)) }; validationTargetInstance.on("optionChanged", (function(e) { if ("isValid" !== e.name) { return } toggleInvalidClass(e) })); validationTargetInstance.on("focusIn", toggleInvalidClass).on("focusOut", toggleInvalidClass).on("enterKey", toggleInvalidClass) } } function getTemplateData(item, editorOptions, formOrLayoutManager) { return { dataField: item.dataField, editorType: item.editorType, editorOptions: editorOptions, component: formOrLayoutManager, name: item.name } } }, 11042: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/form/components/label.js ***! \*************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GET_LABEL_WIDTH_BY_TEXT_CLASS = exports.FIELD_ITEM_REQUIRED_MARK_CLASS = exports.FIELD_ITEM_OPTIONAL_MARK_CLASS = exports.FIELD_ITEM_LABEL_TEXT_CLASS = exports.FIELD_ITEM_LABEL_LOCATION_CLASS = void 0; exports.renderLabel = function(_ref) { var text = _ref.text, id = _ref.id, location = _ref.location, alignment = _ref.alignment, _ref$labelID = _ref.labelID, labelID = void 0 === _ref$labelID ? null : _ref$labelID, _ref$markOptions = _ref.markOptions, markOptions = void 0 === _ref$markOptions ? {} : _ref$markOptions, labelTemplate = _ref.labelTemplate, labelTemplateData = _ref.labelTemplateData, onLabelTemplateRendered = _ref.onLabelTemplateRendered; if ((!(0, _type.isDefined)(text) || text.length <= 0) && !(0, _type.isDefined)(labelTemplate)) { return null } var $label = (0, _renderer.default)("<label>").addClass(_constants.FIELD_ITEM_LABEL_CLASS + " dx-field-item-label-location-" + location).attr("for", id).attr("id", labelID).css("textAlign", alignment); var $labelContainer = (0, _renderer.default)("<span>").addClass(_constants.FIELD_ITEM_LABEL_CONTENT_CLASS); var $labelContent = (0, _renderer.default)("<span>").addClass("dx-field-item-label-text").text(text); if (labelTemplate) { $labelContent = (0, _renderer.default)("<div>").addClass("dx-field-item-custom-label-content"); labelTemplateData.text = text; labelTemplate.render({ container: (0, _element.getPublicElement)($labelContent), model: labelTemplateData, onRendered: function() { null === onLabelTemplateRendered || void 0 === onLabelTemplateRendered ? void 0 : onLabelTemplateRendered() } }) } return $label.append($labelContainer.append($labelContent, function(markOptions) { var markText = (0, _uiFormLayout_manager.getLabelMarkText)(markOptions); if ("" === markText) { return null } return (0, _renderer.default)("<span>").addClass(markOptions.showRequiredMark ? "dx-field-item-required-mark" : "dx-field-item-optional-mark").text(markText) }(markOptions))) }; exports.setLabelWidthByMaxLabelWidth = function($targetContainer, labelsSelector, labelMarkOptions) { var FIELD_ITEM_LABEL_CONTENT_CLASS_Selector = "".concat(labelsSelector, " > .").concat(_constants.FIELD_ITEM_LABEL_CLASS, ":not(.").concat("dx-field-item-label-location-", "top) > .").concat(_constants.FIELD_ITEM_LABEL_CONTENT_CLASS); var $FIELD_ITEM_LABEL_CONTENT_CLASS_Items = $targetContainer.find(FIELD_ITEM_LABEL_CONTENT_CLASS_Selector); var FIELD_ITEM_LABEL_CONTENT_CLASS_Length = $FIELD_ITEM_LABEL_CONTENT_CLASS_Items.length; var labelWidth; var i; var maxWidth = 0; for (i = 0; i < FIELD_ITEM_LABEL_CONTENT_CLASS_Length; i++) { labelWidth = getLabelWidthByHTML($FIELD_ITEM_LABEL_CONTENT_CLASS_Items[i]); if (labelWidth > maxWidth) { maxWidth = labelWidth } } for (i = 0; i < FIELD_ITEM_LABEL_CONTENT_CLASS_Length; i++) { $FIELD_ITEM_LABEL_CONTENT_CLASS_Items[i].style.width = maxWidth + "px" } }; var _renderer = (obj = __webpack_require__( /*! ../../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _element = __webpack_require__( /*! ../../../core/element */ 6415); var _uiFormLayout_manager = __webpack_require__( /*! ../ui.form.layout_manager.utils */ 61961); var _constants = __webpack_require__( /*! ../constants */ 31093); exports.GET_LABEL_WIDTH_BY_TEXT_CLASS = "dx-layout-manager-hidden-label"; exports.FIELD_ITEM_REQUIRED_MARK_CLASS = "dx-field-item-required-mark"; exports.FIELD_ITEM_LABEL_LOCATION_CLASS = "dx-field-item-label-location-"; exports.FIELD_ITEM_OPTIONAL_MARK_CLASS = "dx-field-item-optional-mark"; exports.FIELD_ITEM_LABEL_TEXT_CLASS = "dx-field-item-label-text"; function getLabelWidthByHTML(labelContent) { var result = 0; var itemsCount = labelContent.children.length; for (var i = 0; i < itemsCount; i++) { var child = labelContent.children[i]; result += child.offsetWidth } return result } }, 31093: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/form/constants.js ***! \******************************************************************/ function(__unused_webpack_module, exports) { exports.WIDGET_CLASS = exports.SINGLE_COLUMN_ITEM_CONTENT = exports.SIMPLE_ITEM_TYPE = exports.ROOT_SIMPLE_ITEM_CLASS = exports.LAYOUT_MANAGER_ONE_COLUMN = exports.GROUP_COL_COUNT_CLASS = exports.GROUP_COL_COUNT_ATTR = exports.FORM_VALIDATION_SUMMARY = exports.FORM_UNDERLINED_CLASS = exports.FORM_LAYOUT_MANAGER_CLASS = exports.FORM_GROUP_WITH_CAPTION_CLASS = exports.FORM_GROUP_CONTENT_CLASS = exports.FORM_GROUP_CLASS = exports.FORM_GROUP_CAPTION_CLASS = exports.FORM_FIELD_ITEM_COL_CLASS = exports.FORM_CLASS = exports.FIELD_ITEM_TAB_CLASS = exports.FIELD_ITEM_LABEL_CONTENT_CLASS = exports.FIELD_ITEM_LABEL_CLASS = exports.FIELD_ITEM_CONTENT_HAS_TABS_CLASS = exports.FIELD_ITEM_CONTENT_HAS_GROUP_CLASS = exports.FIELD_ITEM_CONTENT_CLASS = exports.FIELD_ITEM_CLASS = void 0; exports.WIDGET_CLASS = "dx-widget"; exports.FORM_CLASS = "dx-form"; exports.FORM_GROUP_CLASS = "dx-form-group"; exports.FORM_GROUP_CAPTION_CLASS = "dx-form-group-caption"; exports.FORM_FIELD_ITEM_COL_CLASS = "dx-col-"; exports.FIELD_ITEM_CLASS = "dx-field-item"; exports.LAYOUT_MANAGER_ONE_COLUMN = "dx-layout-manager-one-col"; exports.FIELD_ITEM_LABEL_CONTENT_CLASS = "dx-field-item-label-content"; exports.FORM_LAYOUT_MANAGER_CLASS = "dx-layout-manager"; exports.FIELD_ITEM_LABEL_CLASS = "dx-field-item-label"; exports.FIELD_ITEM_CONTENT_CLASS = "dx-field-item-content"; exports.SINGLE_COLUMN_ITEM_CONTENT = "dx-single-column-item-content"; exports.ROOT_SIMPLE_ITEM_CLASS = "dx-root-simple-item"; exports.FORM_GROUP_CONTENT_CLASS = "dx-form-group-content"; exports.FIELD_ITEM_CONTENT_HAS_GROUP_CLASS = "dx-field-item-has-group"; exports.FIELD_ITEM_CONTENT_HAS_TABS_CLASS = "dx-field-item-has-tabs"; exports.FORM_GROUP_WITH_CAPTION_CLASS = "dx-form-group-with-caption"; exports.FIELD_ITEM_TAB_CLASS = "dx-field-item-tab"; exports.GROUP_COL_COUNT_CLASS = "dx-group-colcount-"; exports.GROUP_COL_COUNT_ATTR = "group-col-count"; exports.FORM_VALIDATION_SUMMARY = "dx-form-validation-summary"; exports.FORM_UNDERLINED_CLASS = "dx-form-styling-mode-underlined"; exports.SIMPLE_ITEM_TYPE = "simple" }, 58887: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/form/ui.form.item_option_action.js ***! \***********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _class = (obj = __webpack_require__( /*! ../../core/class */ 38377), obj && obj.__esModule ? obj : { default: obj }); var obj; var ItemOptionAction = function() { function ItemOptionAction(options) { this._options = options; this._itemsRunTimeInfo = this._options.itemsRunTimeInfo } var _proto = ItemOptionAction.prototype; _proto.findInstance = function() { return this._itemsRunTimeInfo.findWidgetInstanceByItem(this._options.item) }; _proto.findItemContainer = function() { return this._itemsRunTimeInfo.findItemContainerByItem(this._options.item) }; _proto.findPreparedItem = function() { return this._itemsRunTimeInfo.findPreparedItemByItem(this._options.item) }; _proto.tryExecute = function() { _class.default.abstract() }; return ItemOptionAction }(); exports.default = ItemOptionAction; module.exports = exports.default; module.exports.default = exports.default }, 83702: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/form/ui.form.item_options_actions.js ***! \*************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiForm = (obj = __webpack_require__( /*! ./ui.form.item_option_action */ 58887), obj && obj.__esModule ? obj : { default: obj }); var obj; var _element_data = __webpack_require__( /*! ../../core/element_data */ 97906); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _uiForm2 = __webpack_require__( /*! ./ui.form.utils */ 35459); function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var WidgetOptionItemOptionAction = function(_ItemOptionAction) { _inheritsLoose(WidgetOptionItemOptionAction, _ItemOptionAction); function WidgetOptionItemOptionAction() { return _ItemOptionAction.apply(this, arguments) || this } var _proto = WidgetOptionItemOptionAction.prototype; _proto.tryExecute = function() { var value = this._options.value; var instance = this.findInstance(); if (instance) { instance.option(value); return true } return false }; return WidgetOptionItemOptionAction }(_uiForm.default); var TabOptionItemOptionAction = function(_ItemOptionAction2) { _inheritsLoose(TabOptionItemOptionAction, _ItemOptionAction2); function TabOptionItemOptionAction() { return _ItemOptionAction2.apply(this, arguments) || this } var _proto2 = TabOptionItemOptionAction.prototype; _proto2.tryExecute = function() { var tabPanel = this.findInstance(); if (tabPanel) { var _this$_options = this._options, optionName = _this$_options.optionName, item = _this$_options.item, value = _this$_options.value; var itemIndex = this._itemsRunTimeInfo.findItemIndexByItem(item); if (itemIndex >= 0) { tabPanel.option((0, _uiForm2.getFullOptionName)("items[".concat(itemIndex, "]"), optionName), value); return true } } return false }; return TabOptionItemOptionAction }(_uiForm.default); var SimpleItemTemplateChangedAction = function(_ItemOptionAction3) { _inheritsLoose(SimpleItemTemplateChangedAction, _ItemOptionAction3); function SimpleItemTemplateChangedAction() { return _ItemOptionAction3.apply(this, arguments) || this } var _proto3 = SimpleItemTemplateChangedAction.prototype; _proto3.tryExecute = function() { return false }; return SimpleItemTemplateChangedAction }(_uiForm.default); var GroupItemTemplateChangedAction = function(_ItemOptionAction4) { _inheritsLoose(GroupItemTemplateChangedAction, _ItemOptionAction4); function GroupItemTemplateChangedAction() { return _ItemOptionAction4.apply(this, arguments) || this } var _proto4 = GroupItemTemplateChangedAction.prototype; _proto4.tryExecute = function() { var preparedItem = this.findPreparedItem(); if (null != preparedItem && preparedItem._prepareGroupItemTemplate && preparedItem._renderGroupContentTemplate) { preparedItem._prepareGroupItemTemplate(this._options.item.template); preparedItem._renderGroupContentTemplate(); return true } return false }; return GroupItemTemplateChangedAction }(_uiForm.default); var TabsOptionItemOptionAction = function(_ItemOptionAction5) { _inheritsLoose(TabsOptionItemOptionAction, _ItemOptionAction5); function TabsOptionItemOptionAction() { return _ItemOptionAction5.apply(this, arguments) || this } var _proto5 = TabsOptionItemOptionAction.prototype; _proto5.tryExecute = function() { var tabPanel = this.findInstance(); if (tabPanel) { var value = this._options.value; tabPanel.option("dataSource", value); return true } return false }; return TabsOptionItemOptionAction }(_uiForm.default); var ValidationRulesItemOptionAction = function(_ItemOptionAction6) { _inheritsLoose(ValidationRulesItemOptionAction, _ItemOptionAction6); function ValidationRulesItemOptionAction() { return _ItemOptionAction6.apply(this, arguments) || this } var _proto6 = ValidationRulesItemOptionAction.prototype; _proto6.tryExecute = function() { var item = this._options.item; var instance = this.findInstance(); var validator = instance && (0, _element_data.data)(instance.$element()[0], "dxValidator"); if (validator && item) { var filterRequired = function(item) { return "required" === item.type }; var oldContainsRequired = (validator.option("validationRules") || []).some(filterRequired); var newContainsRequired = (item.validationRules || []).some(filterRequired); if (!oldContainsRequired && !newContainsRequired || oldContainsRequired && newContainsRequired) { validator.option("validationRules", item.validationRules); return true } } return false }; return ValidationRulesItemOptionAction }(_uiForm.default); var CssClassItemOptionAction = function(_ItemOptionAction7) { _inheritsLoose(CssClassItemOptionAction, _ItemOptionAction7); function CssClassItemOptionAction() { return _ItemOptionAction7.apply(this, arguments) || this } var _proto7 = CssClassItemOptionAction.prototype; _proto7.tryExecute = function() { var $itemContainer = this.findItemContainer(); var _this$_options2 = this._options, previousValue = _this$_options2.previousValue, value = _this$_options2.value; if ($itemContainer) { $itemContainer.removeClass(previousValue).addClass(value); return true } return false }; return CssClassItemOptionAction }(_uiForm.default); var _default = function(optionName, itemActionOptions) { switch (optionName) { case "editorOptions": case "buttonOptions": return new WidgetOptionItemOptionAction(itemActionOptions); case "validationRules": return new ValidationRulesItemOptionAction(itemActionOptions); case "cssClass": return new CssClassItemOptionAction(itemActionOptions); case "badge": case "disabled": case "icon": case "tabTemplate": case "title": return new TabOptionItemOptionAction((0, _extend.extend)(itemActionOptions, { optionName: optionName })); case "tabs": return new TabsOptionItemOptionAction(itemActionOptions); case "template": var _itemActionOptions$it, _itemActionOptions$it2, _itemActionOptions$it3; var itemType = null !== (_itemActionOptions$it = null === itemActionOptions || void 0 === itemActionOptions ? void 0 : null === (_itemActionOptions$it2 = itemActionOptions.item) || void 0 === _itemActionOptions$it2 ? void 0 : _itemActionOptions$it2.itemType) && void 0 !== _itemActionOptions$it ? _itemActionOptions$it : null === (_itemActionOptions$it3 = itemActionOptions.itemsRunTimeInfo.findPreparedItemByItem(null === itemActionOptions || void 0 === itemActionOptions ? void 0 : itemActionOptions.item)) || void 0 === _itemActionOptions$it3 ? void 0 : _itemActionOptions$it3.itemType; if ("simple" === itemType) { return new SimpleItemTemplateChangedAction(itemActionOptions) } else if ("group" === itemType) { return new GroupItemTemplateChangedAction(itemActionOptions) } return new TabOptionItemOptionAction((0, _extend.extend)(itemActionOptions, { optionName: optionName })); default: return null } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 10291: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/form/ui.form.items_runtime_info.js ***! \***********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _guid = (obj = __webpack_require__( /*! ../../core/guid */ 73176), obj && obj.__esModule ? obj : { default: obj }); var obj; var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var FormItemsRunTimeInfo = function() { function FormItemsRunTimeInfo() { this._map = {} } var _proto = FormItemsRunTimeInfo.prototype; _proto._findWidgetInstance = function(condition) { var result; (0, _iterator.each)(this._map, (function(guid, _ref) { var widgetInstance = _ref.widgetInstance, item = _ref.item; if (condition(item)) { result = widgetInstance; return false } })); return result }; _proto._findFieldByCondition = function(callback, valueExpr) { var result; (0, _iterator.each)(this._map, (function(key, value) { if (callback(value)) { result = "guid" === valueExpr ? key : value[valueExpr]; return false } })); return result }; _proto.clear = function() { this._map = {} }; _proto.removeItemsByItems = function(itemsRunTimeInfo) { var _this = this; (0, _iterator.each)(itemsRunTimeInfo.getItems(), (function(guid) { return _this.removeItemByKey(guid) })) }; _proto.removeItemByKey = function(key) { delete this._map[key] }; _proto.add = function(options) { var key = options.guid || new _guid.default; this._map[key] = options; return key }; _proto.addItemsOrExtendFrom = function(itemsRunTimeInfo) { var _this2 = this; itemsRunTimeInfo.each((function(key, itemRunTimeInfo) { if (_this2._map[key]) { if (itemRunTimeInfo.widgetInstance) { _this2._map[key].widgetInstance = itemRunTimeInfo.widgetInstance } _this2._map[key].$itemContainer = itemRunTimeInfo.$itemContainer } else { _this2.add({ item: itemRunTimeInfo.item, widgetInstance: itemRunTimeInfo.widgetInstance, guid: key, $itemContainer: itemRunTimeInfo.$itemContainer }) } })) }; _proto.extendRunTimeItemInfoByKey = function(key, options) { if (this._map[key]) { this._map[key] = (0, _extend.extend)(this._map[key], options) } }; _proto.findWidgetInstanceByItem = function(item) { return this._findWidgetInstance((function(storedItem) { return storedItem === item })) }; _proto.findGroupOrTabLayoutManagerByPath = function(targetPath) { return this._findFieldByCondition((function(_ref2) { var path = _ref2.path; return path === targetPath }), "layoutManager") }; _proto.findKeyByPath = function(targetPath) { return this._findFieldByCondition((function(_ref3) { var path = _ref3.path; return path === targetPath }), "guid") }; _proto.findWidgetInstanceByName = function(name) { return this._findWidgetInstance((function(item) { return name === item.name })) }; _proto.findWidgetInstanceByDataField = function(dataField) { return this._findWidgetInstance((function(item) { return dataField === ((0, _type.isString)(item) ? item : item.dataField) })) }; _proto.findItemContainerByItem = function(item) { for (var key in this._map) { if (this._map[key].item === item) { return this._map[key].$itemContainer } } return null }; _proto.findItemIndexByItem = function(targetItem) { return this._findFieldByCondition((function(_ref4) { var item = _ref4.item; return item === targetItem }), "itemIndex") }; _proto.findPreparedItemByItem = function(item) { return this._findFieldByCondition((function(_ref5) { var currentItem = _ref5.item; return currentItem === item }), "preparedItem") }; _proto.getItems = function() { return this._map }; _proto.each = function(handler) { (0, _iterator.each)(this._map, (function(key, itemRunTimeInfo) { handler(key, itemRunTimeInfo) })) }; _proto.removeItemsByPathStartWith = function(path) { var _this3 = this; var keys = Object.keys(this._map); var filteredKeys = keys.filter((function(key) { if (_this3._map[key].path) { return _this3._map[key].path.indexOf(path, 0) > -1 } return false })); filteredKeys.forEach((function(key) { return _this3.removeItemByKey(key) })) }; return FormItemsRunTimeInfo }(); exports.default = FormItemsRunTimeInfo; module.exports = exports.default; module.exports.default = exports.default }, 20763: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/form/ui.form.js ***! \****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _config = _interopRequireDefault(__webpack_require__( /*! ../../core/config */ 80209)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _visibility_change = __webpack_require__( /*! ../../events/visibility_change */ 80506); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _editor = _interopRequireDefault(__webpack_require__( /*! ../editor/editor */ 96452)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _validation_engine = _interopRequireDefault(__webpack_require__( /*! ../validation_engine */ 90964)); var _uiForm = _interopRequireDefault(__webpack_require__( /*! ./ui.form.items_runtime_info */ 10291)); var _tab_panel = _interopRequireDefault(__webpack_require__( /*! ../tab_panel */ 21807)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../scroll_view/ui.scrollable */ 41183)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _themes = __webpack_require__( /*! ../themes */ 75811); var _uiForm2 = _interopRequireDefault(__webpack_require__( /*! ./ui.form.item_options_actions */ 83702)); var _resize_observer = _interopRequireDefault(__webpack_require__( /*! ../../core/resize_observer */ 91784)); __webpack_require__( /*! ./ui.form.layout_manager */ 85532); var _uiForm4 = __webpack_require__( /*! ./ui.form.utils */ 35459); var _uiFormLayout_manager = __webpack_require__( /*! ./ui.form.layout_manager.utils */ 61961); var _label = __webpack_require__( /*! ./components/label */ 11042); __webpack_require__( /*! ../validation_summary */ 97289); __webpack_require__( /*! ../validation_group */ 4401); var _constants = __webpack_require__( /*! ./constants */ 31093); var _constants2 = __webpack_require__( /*! ../toolbar/constants */ 10329); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var ITEM_OPTIONS_FOR_VALIDATION_UPDATING = ["items", "isRequired", "validationRules", "visible"]; var Form = _ui.default.inherit({ _init: function() { this.callBase(); this._cachedColCountOptions = []; this._itemsRunTimeInfo = new _uiForm.default; this._groupsColCount = []; this._attachSyncSubscriptions() }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { formID: "dx-" + new _guid.default, formData: {}, colCount: 1, screenByWidth: _window.defaultScreenFactorFunc, colCountByScreen: void 0, labelLocation: "left", readOnly: false, onFieldDataChanged: null, customizeItem: null, onEditorEnterKey: null, minColWidth: 200, alignItemLabels: true, alignItemLabelsInAllGroups: true, alignRootItemLabels: true, showColonAfterLabel: true, showRequiredMark: true, showOptionalMark: false, requiredMark: "*", optionalMark: _message.default.format("dxForm-optionalMark"), requiredMessage: _message.default.getFormatter("dxForm-requiredMessage"), showValidationSummary: false, items: void 0, scrollingEnabled: false, validationGroup: void 0, stylingMode: (0, _config.default)().editorStylingMode, labelMode: "outside" }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return (0, _themes.isMaterial)() }, options: { showColonAfterLabel: false, labelLocation: "top" } }]) }, _setOptionsByReference: function() { this.callBase(); (0, _extend.extend)(this._optionsByReference, { formData: true, validationGroup: true }) }, _getGroupColCount: function($element) { return parseInt($element.attr(_constants.GROUP_COL_COUNT_ATTR)) }, _applyLabelsWidthByCol: function($container, index) { var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; var labelMarkOptions = arguments.length > 3 ? arguments[3] : void 0; var fieldItemClass = options.inOneColumn ? _constants.FIELD_ITEM_CLASS : _constants.FORM_FIELD_ITEM_COL_CLASS + index; var cssExcludeTabbedSelector = options.excludeTabbed ? ":not(.".concat(_constants.FIELD_ITEM_TAB_CLASS, ")") : ""; (0, _label.setLabelWidthByMaxLabelWidth)($container, ".".concat(fieldItemClass).concat(cssExcludeTabbedSelector), labelMarkOptions); return }, _applyLabelsWidth: function($container, excludeTabbed, inOneColumn, colCount, labelMarkOptions) { colCount = inOneColumn ? 1 : colCount || this._getGroupColCount($container); var applyLabelsOptions = { excludeTabbed: excludeTabbed, inOneColumn: inOneColumn }; var i; for (i = 0; i < colCount; i++) { this._applyLabelsWidthByCol($container, i, applyLabelsOptions, labelMarkOptions) } }, _getGroupElementsInColumn: function($container, columnIndex, colCount) { var cssColCountSelector = (0, _type.isDefined)(colCount) ? "." + _constants.GROUP_COL_COUNT_CLASS + colCount : ""; var groupSelector = "." + _constants.FORM_FIELD_ITEM_COL_CLASS + columnIndex + " > ." + _constants.FIELD_ITEM_CONTENT_CLASS + " > ." + _constants.FORM_GROUP_CLASS + cssColCountSelector; return $container.find(groupSelector) }, _applyLabelsWidthWithGroups: function($container, colCount, excludeTabbed, labelMarkOptions) { if (true === this.option("alignRootItemLabels")) { var $rootSimpleItems = $container.find(".".concat(_constants.ROOT_SIMPLE_ITEM_CLASS)); for (var colIndex = 0; colIndex < colCount; colIndex++) { this._applyLabelsWidthByCol($rootSimpleItems, colIndex, excludeTabbed, labelMarkOptions) } } var alignItemLabelsInAllGroups = this.option("alignItemLabelsInAllGroups"); if (alignItemLabelsInAllGroups) { this._applyLabelsWidthWithNestedGroups($container, colCount, excludeTabbed, labelMarkOptions) } else { var $groups = this.$element().find("." + _constants.FORM_GROUP_CLASS); var i; for (i = 0; i < $groups.length; i++) { this._applyLabelsWidth($groups.eq(i), excludeTabbed, void 0, void 0, labelMarkOptions) } } }, _applyLabelsWidthWithNestedGroups: function($container, colCount, excludeTabbed, labelMarkOptions) { var applyLabelsOptions = { excludeTabbed: excludeTabbed }; var colIndex; var groupsColIndex; var groupColIndex; var $groupsByCol; for (colIndex = 0; colIndex < colCount; colIndex++) { $groupsByCol = this._getGroupElementsInColumn($container, colIndex); this._applyLabelsWidthByCol($groupsByCol, 0, applyLabelsOptions, labelMarkOptions); for (groupsColIndex = 0; groupsColIndex < this._groupsColCount.length; groupsColIndex++) { $groupsByCol = this._getGroupElementsInColumn($container, colIndex, this._groupsColCount[groupsColIndex]); var groupColCount = this._getGroupColCount($groupsByCol); for (groupColIndex = 1; groupColIndex < groupColCount; groupColIndex++) { this._applyLabelsWidthByCol($groupsByCol, groupColIndex, applyLabelsOptions, labelMarkOptions) } } } }, _labelLocation: function() { return this.option("labelLocation") }, _alignLabelsInColumn: function(_ref) { var layoutManager = _ref.layoutManager, inOneColumn = _ref.inOneColumn, $container = _ref.$container, excludeTabbed = _ref.excludeTabbed, items = _ref.items; if (!(0, _window.hasWindow)() || "top" === this._labelLocation()) { return } var labelMarkOptions = (0, _uiFormLayout_manager.convertToLabelMarkOptions)(layoutManager._getMarkOptions()); if (inOneColumn) { this._applyLabelsWidth($container, excludeTabbed, true, void 0, labelMarkOptions) } else if (this._checkGrouping(items)) { this._applyLabelsWidthWithGroups($container, layoutManager._getColCount(), excludeTabbed, labelMarkOptions) } else { this._applyLabelsWidth($container, excludeTabbed, false, layoutManager._getColCount(), labelMarkOptions) } }, _prepareFormData: function() { if (!(0, _type.isDefined)(this.option("formData"))) { this.option("formData", {}) } }, _setStylingModeClass: function() { if ("underlined" === this.option("stylingMode")) { this.$element().addClass(_constants.FORM_UNDERLINED_CLASS) } }, _initMarkup: function() { _validation_engine.default.addGroup(this._getValidationGroup()); this._clearCachedInstances(); this._prepareFormData(); this.$element().addClass(_constants.FORM_CLASS); this._setStylingModeClass(); this.callBase(); this.setAria("role", "form", this.$element()); if (this.option("scrollingEnabled")) { this._renderScrollable() } this._renderLayout(); this._renderValidationSummary(); this._lastMarkupScreenFactor = this._targetScreenFactor || this._getCurrentScreenFactor(); this._attachResizeObserverSubscription() }, _attachResizeObserverSubscription: function() { var _this = this; if ((0, _window.hasWindow)()) { var formRootElement = this.$element().get(0); _resize_observer.default.unobserve(formRootElement); _resize_observer.default.observe(formRootElement, (function() { _this._resizeHandler() })) } }, _resizeHandler: function() { if (this._cachedLayoutManagers.length) { (0, _iterator.each)(this._cachedLayoutManagers, (function(_, layoutManager) { var _layoutManager$option; null === (_layoutManager$option = layoutManager.option("onLayoutChanged")) || void 0 === _layoutManager$option ? void 0 : _layoutManager$option(layoutManager.isSingleColumnMode()) })) } }, _getCurrentScreenFactor: function() { return (0, _window.hasWindow)() ? (0, _window.getCurrentScreenFactor)(this.option("screenByWidth")) : "lg" }, _clearCachedInstances: function() { this._itemsRunTimeInfo.clear(); this._cachedLayoutManagers = [] }, _alignLabels: function(layoutManager, inOneColumn) { this._alignLabelsInColumn({ $container: this.$element(), layoutManager: layoutManager, excludeTabbed: true, items: this.option("items"), inOneColumn: inOneColumn }); (0, _visibility_change.triggerResizeEvent)(this.$element().find(".".concat(_constants2.TOOLBAR_CLASS))) }, _clean: function() { this._clearValidationSummary(); this.callBase(); this._groupsColCount = []; this._cachedColCountOptions = []; this._lastMarkupScreenFactor = void 0; _resize_observer.default.unobserve(this.$element().get(0)) }, _renderScrollable: function() { var useNativeScrolling = this.option("useNativeScrolling"); this._scrollable = new _ui2.default(this.$element(), { useNative: !!useNativeScrolling, useSimulatedScrollbar: !useNativeScrolling, useKeyboard: false, direction: "both", bounceEnabled: false }) }, _getContent: function() { return this.option("scrollingEnabled") ? (0, _renderer.default)(this._scrollable.content()) : this.$element() }, _clearValidationSummary: function() { var _this$_$validationSum; null === (_this$_$validationSum = this._$validationSummary) || void 0 === _this$_$validationSum ? void 0 : _this$_$validationSum.remove(); this._$validationSummary = void 0; this._validationSummary = void 0 }, _renderValidationSummary: function() { this._clearValidationSummary(); if (this.option("showValidationSummary")) { this._$validationSummary = (0, _renderer.default)("<div>").addClass(_constants.FORM_VALIDATION_SUMMARY).appendTo(this._getContent()); this._validationSummary = this._$validationSummary.dxValidationSummary({ validationGroup: this._getValidationGroup() }).dxValidationSummary("instance") } }, _prepareItems: function(items, parentIsTabbedItem, currentPath, isTabs) { if (items) { var result = []; for (var i = 0; i < items.length; i++) { var item = items[i]; var path = (0, _uiForm4.concatPaths)(currentPath, (0, _uiForm4.createItemPathByIndex)(i, isTabs)); var itemRunTimeInfo = { item: item, itemIndex: i, path: path }; var guid = this._itemsRunTimeInfo.add(itemRunTimeInfo); if ((0, _type.isString)(item)) { item = { dataField: item } } if ((0, _type.isObject)(item)) { var preparedItem = _extends({}, item); itemRunTimeInfo.preparedItem = preparedItem; preparedItem.guid = guid; this._tryPrepareGroupItem(preparedItem); this._tryPrepareTabbedItem(preparedItem, path); this._tryPrepareItemTemplate(preparedItem); if (parentIsTabbedItem) { preparedItem.cssItemClass = _constants.FIELD_ITEM_TAB_CLASS } if (preparedItem.items) { preparedItem.items = this._prepareItems(preparedItem.items, parentIsTabbedItem, path) } result.push(preparedItem) } else { result.push(item) } } return result } }, _tryPrepareGroupItem: function(item) { var _this2 = this; if ("group" === item.itemType) { item.alignItemLabels = (0, _common.ensureDefined)(item.alignItemLabels, true); item._prepareGroupItemTemplate = function(itemTemplate) { if (item.template) { item.groupContentTemplate = _this2._getTemplate(itemTemplate) } item.template = _this2._itemGroupTemplate.bind(_this2, item) }; item._prepareGroupItemTemplate(item.template) } }, _tryPrepareTabbedItem: function(item, path) { if ("tabbed" === item.itemType) { item.template = this._itemTabbedTemplate.bind(this, item); item.tabs = this._prepareItems(item.tabs, true, path, true) } }, _tryPrepareItemTemplate: function(item) { if (item.template) { item.template = this._getTemplate(item.template) } }, _checkGrouping: function(items) { if (items) { for (var i = 0; i < items.length; i++) { var item = items[i]; if ("group" === item.itemType) { return true } } } }, _renderLayout: function() { var that = this; var items = that.option("items"); var $content = that._getContent(); items = that._prepareItems(items); that._rootLayoutManager = that._renderLayoutManager($content, this._createLayoutManagerOptions(items, { isRoot: true, colCount: that.option("colCount"), alignItemLabels: that.option("alignItemLabels"), screenByWidth: this.option("screenByWidth"), colCountByScreen: this.option("colCountByScreen"), onLayoutChanged: function(inOneColumn) { that._alignLabels.bind(that)(that._rootLayoutManager, inOneColumn) }, onContentReady: function(e) { that._alignLabels(e.component, e.component.isSingleColumnMode()) } })) }, _tryGetItemsForTemplate: function(item) { return item.items || [] }, _itemTabbedTemplate: function(item, e, $container) { var _item$tabs, _this3 = this; var $tabPanel = (0, _renderer.default)("<div>").appendTo($container); var tabPanelOptions = (0, _extend.extend)({}, item.tabPanelOptions, { dataSource: item.tabs, onItemRendered: function(args) { var _item$tabPanelOptions, _item$tabPanelOptions2; null === (_item$tabPanelOptions = item.tabPanelOptions) || void 0 === _item$tabPanelOptions ? void 0 : null === (_item$tabPanelOptions2 = _item$tabPanelOptions.onItemRendered) || void 0 === _item$tabPanelOptions2 ? void 0 : _item$tabPanelOptions2.call(_item$tabPanelOptions, args); (0, _visibility_change.triggerShownEvent)(args.itemElement) }, itemTemplate: function(itemData, e, container) { var $container = (0, _renderer.default)(container); var alignItemLabels = (0, _common.ensureDefined)(itemData.alignItemLabels, true); var layoutManager = _this3._renderLayoutManager($container, _this3._createLayoutManagerOptions(_this3._tryGetItemsForTemplate(itemData), { colCount: itemData.colCount, alignItemLabels: alignItemLabels, screenByWidth: _this3.option("screenByWidth"), colCountByScreen: itemData.colCountByScreen, cssItemClass: itemData.cssItemClass, onLayoutChanged: function(inOneColumn) { _this3._alignLabelsInColumn({ $container: $container, layoutManager: layoutManager, items: itemData.items, inOneColumn: inOneColumn }) } })); if (_this3._itemsRunTimeInfo) { _this3._itemsRunTimeInfo.extendRunTimeItemInfoByKey(itemData.guid, { layoutManager: layoutManager }) } if (alignItemLabels) { _this3._alignLabelsInColumn({ $container: $container, layoutManager: layoutManager, items: itemData.items, inOneColumn: layoutManager.isSingleColumnMode() }) } } }); var tryUpdateTabPanelInstance = function(items, instance) { if (Array.isArray(items)) { items.forEach((function(item) { return _this3._itemsRunTimeInfo.extendRunTimeItemInfoByKey(item.guid, { widgetInstance: instance }) })) } }; var tabPanel = this._createComponent($tabPanel, _tab_panel.default, tabPanelOptions); (0, _renderer.default)($container).parent().addClass(_constants.FIELD_ITEM_CONTENT_HAS_TABS_CLASS); tabPanel.on("optionChanged", (function(e) { if ("dataSource" === e.fullName) { tryUpdateTabPanelInstance(e.value, e.component) } })); tryUpdateTabPanelInstance([{ guid: item.guid }].concat(_toConsumableArray(null !== (_item$tabs = item.tabs) && void 0 !== _item$tabs ? _item$tabs : [])), tabPanel) }, _itemGroupTemplate: function(item, options, $container) { var _this4 = this; var id = options.editorOptions.inputAttr.id; var $group = (0, _renderer.default)("<div>").toggleClass(_constants.FORM_GROUP_WITH_CAPTION_CLASS, (0, _type.isDefined)(item.caption) && item.caption.length).addClass(_constants.FORM_GROUP_CLASS).appendTo($container); var groupAria = { role: "group", labelledby: id }; this.setAria(groupAria, $group); (0, _renderer.default)($container).parent().addClass(_constants.FIELD_ITEM_CONTENT_HAS_GROUP_CLASS); if (item.caption) { (0, _renderer.default)("<span>").addClass(_constants.FORM_GROUP_CAPTION_CLASS).text(item.caption).attr("id", id).appendTo($group) } var $groupContent = (0, _renderer.default)("<div>").addClass(_constants.FORM_GROUP_CONTENT_CLASS).appendTo($group); if (item.groupContentTemplate) { item._renderGroupContentTemplate = function() { $groupContent.empty(); var data = { formData: _this4.option("formData"), component: _this4 }; item.groupContentTemplate.render({ model: data, container: (0, _element.getPublicElement)($groupContent) }) }; item._renderGroupContentTemplate() } else { var layoutManager = this._renderLayoutManager($groupContent, this._createLayoutManagerOptions(this._tryGetItemsForTemplate(item), { colCount: item.colCount, colCountByScreen: item.colCountByScreen, alignItemLabels: item.alignItemLabels, cssItemClass: item.cssItemClass })); this._itemsRunTimeInfo && this._itemsRunTimeInfo.extendRunTimeItemInfoByKey(item.guid, { layoutManager: layoutManager }); var colCount = layoutManager._getColCount(); if (!this._groupsColCount.includes(colCount)) { this._groupsColCount.push(colCount) } $group.addClass(_constants.GROUP_COL_COUNT_CLASS + colCount); $group.attr(_constants.GROUP_COL_COUNT_ATTR, colCount) } }, _createLayoutManagerOptions: function(items, extendedLayoutManagerOptions) { var _this5 = this; return (0, _uiForm4.convertToLayoutManagerOptions)({ form: this, formOptions: this.option(), $formElement: this.$element(), items: items, validationGroup: this._getValidationGroup(), extendedLayoutManagerOptions: extendedLayoutManagerOptions, onFieldDataChanged: function(args) { if (!_this5._isDataUpdating) { _this5._triggerOnFieldDataChanged(args) } }, onContentReady: function(args) { _this5._itemsRunTimeInfo.addItemsOrExtendFrom(args.component._itemsRunTimeInfo); extendedLayoutManagerOptions.onContentReady && extendedLayoutManagerOptions.onContentReady(args) }, onDisposing: function(_ref2) { var component = _ref2.component; var nestedItemsRunTimeInfo = component.getItemsRunTimeInfo(); _this5._itemsRunTimeInfo.removeItemsByItems(nestedItemsRunTimeInfo) }, onFieldItemRendered: function() { var _this5$_validationSum; null === (_this5$_validationSum = _this5._validationSummary) || void 0 === _this5$_validationSum ? void 0 : _this5$_validationSum.refreshValidationGroup() } }) }, _renderLayoutManager: function($parent, layoutManagerOptions) { var _this6 = this; var baseColCountByScreen = { lg: layoutManagerOptions.colCount, md: layoutManagerOptions.colCount, sm: layoutManagerOptions.colCount, xs: 1 }; this._cachedColCountOptions.push({ colCountByScreen: (0, _extend.extend)(baseColCountByScreen, layoutManagerOptions.colCountByScreen) }); var $element = (0, _renderer.default)("<div>"); $element.appendTo($parent); var instance = this._createComponent($element, "dxLayoutManager", layoutManagerOptions); instance.on("autoColCountChanged", (function() { _this6._clearAutoColCountChangedTimeout(); _this6.autoColCountChangedTimeoutId = setTimeout((function() { return !_this6._disposed && _this6._refresh() }), 0) })); this._cachedLayoutManagers.push(instance); return instance }, _getValidationGroup: function() { return this.option("validationGroup") || this }, _createComponent: function($element, type, config) { config = config || {}; this._extendConfig(config, { readOnly: this.option("readOnly") }); return this.callBase($element, type, config) }, _attachSyncSubscriptions: function() { var that = this; that.on("optionChanged", (function(args) { var optionFullName = args.fullName; if ("formData" === optionFullName) { if (!(0, _type.isDefined)(args.value)) { that._options.silent("formData", args.value = {}) } that._triggerOnFieldDataChangedByDataSet(args.value) } if (that._cachedLayoutManagers.length) { (0, _iterator.each)(that._cachedLayoutManagers, (function(index, layoutManager) { if ("formData" === optionFullName) { that._isDataUpdating = true; layoutManager.option("layoutData", args.value); that._isDataUpdating = false } if ("readOnly" === args.name || "disabled" === args.name) { layoutManager.option(optionFullName, args.value) } })) } })) }, _optionChanged: function(args) { var splitFullName = args.fullName.split("."); if (splitFullName.length > 1 && -1 !== splitFullName[0].search("items") && this._itemsOptionChangedHandler(args)) { return } if (splitFullName.length > 1 && -1 !== splitFullName[0].search("formData") && this._formDataOptionChangedHandler(args)) { return } this._defaultOptionChangedHandler(args) }, _defaultOptionChangedHandler: function(args) { switch (args.name) { case "formData": if (!this.option("items")) { this._invalidate() } else if ((0, _type.isEmptyObject)(args.value)) { this._resetValues() } break; case "onFieldDataChanged": break; case "items": case "colCount": case "onEditorEnterKey": case "labelLocation": case "labelMode": case "alignItemLabels": case "showColonAfterLabel": case "customizeItem": case "alignItemLabelsInAllGroups": case "showRequiredMark": case "showOptionalMark": case "requiredMark": case "optionalMark": case "requiredMessage": case "scrollingEnabled": case "formID": case "colCountByScreen": case "screenByWidth": case "stylingMode": this._invalidate(); break; case "showValidationSummary": this._renderValidationSummary(); break; case "minColWidth": if ("auto" === this.option("colCount")) { this._invalidate() } break; case "alignRootItemLabels": case "readOnly": break; case "width": this.callBase(args); this._rootLayoutManager.option(args.name, args.value); this._alignLabels(this._rootLayoutManager, this._rootLayoutManager.isSingleColumnMode()); break; case "validationGroup": _validation_engine.default.removeGroup(args.previousValue || this); this._invalidate(); break; default: this.callBase(args) } }, _itemsOptionChangedHandler: function(args) { var nameParts = args.fullName.split("."); var value = args.value; var itemPath = this._getItemPath(nameParts); var item = this.option(itemPath); var optionNameWithoutPath = args.fullName.replace(itemPath + ".", ""); var simpleOptionName = optionNameWithoutPath.split(".")[0].replace(/\[\d+]/, ""); var itemAction = this._tryCreateItemOptionAction(simpleOptionName, item, item[simpleOptionName], args.previousValue, itemPath); var result = this._tryExecuteItemOptionAction(itemAction) || this._tryChangeLayoutManagerItemOption(args.fullName, value); if (!result && item) { this._changeItemOption(item, optionNameWithoutPath, value); var items = this._generateItemsFromData(this.option("items")); this.option("items", items); result = true } return result }, _formDataOptionChangedHandler: function(args) { var nameParts = args.fullName.split("."); var value = args.value; var dataField = nameParts.slice(1).join("."); var editor = this.getEditor(dataField); if (editor) { editor.option("value", value) } else { this._triggerOnFieldDataChanged({ dataField: dataField, value: value }) } return true }, _tryCreateItemOptionAction: function(optionName, item, value, previousValue, itemPath) { if ("tabs" === optionName) { this._itemsRunTimeInfo.removeItemsByPathStartWith("".concat(itemPath, ".tabs")); value = this._prepareItems(value, true, itemPath, true) } return (0, _uiForm2.default)(optionName, { item: item, value: value, previousValue: previousValue, itemsRunTimeInfo: this._itemsRunTimeInfo }) }, _tryExecuteItemOptionAction: function(action) { return action && action.tryExecute() }, _updateValidationGroupAndSummaryIfNeeded: function(fullName) { var optionName = (0, _uiForm4.getOptionNameFromFullName)(fullName); if (ITEM_OPTIONS_FOR_VALIDATION_UPDATING.indexOf(optionName) > -1) { _validation_engine.default.addGroup(this._getValidationGroup()); if (this.option("showValidationSummary")) { var _this$_validationSumm; null === (_this$_validationSumm = this._validationSummary) || void 0 === _this$_validationSumm ? void 0 : _this$_validationSumm.refreshValidationGroup() } } }, _setLayoutManagerItemOption: function(layoutManager, optionName, value, path) { var _this7 = this; if (this._updateLockCount > 0) { !layoutManager._updateLockCount && layoutManager.beginUpdate(); var key = this._itemsRunTimeInfo.findKeyByPath(path); this.postponedOperations.add(key, (function() { !layoutManager._disposed && layoutManager.endUpdate(); return (new _deferred.Deferred).resolve() })) } layoutManager.on("contentReady", (function contentReadyHandler(e) { e.component.off("contentReady", contentReadyHandler); if ((0, _uiForm4.isFullPathContainsTabs)(path)) { var tabPath = (0, _uiForm4.tryGetTabPath)(path); var tabLayoutManager = _this7._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(tabPath); if (tabLayoutManager) { _this7._alignLabelsInColumn({ items: tabLayoutManager.option("items"), layoutManager: tabLayoutManager, $container: tabLayoutManager.$element(), inOneColumn: tabLayoutManager.isSingleColumnMode() }) } } else { _this7._alignLabels(_this7._rootLayoutManager, _this7._rootLayoutManager.isSingleColumnMode()) } })); layoutManager.option(optionName, value); this._updateValidationGroupAndSummaryIfNeeded(optionName) }, _tryChangeLayoutManagerItemOption: function(fullName, value) { var nameParts = fullName.split("."); var optionName = (0, _uiForm4.getOptionNameFromFullName)(fullName); if ("items" === optionName && nameParts.length > 1) { var itemPath = this._getItemPath(nameParts); var layoutManager = this._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(itemPath); if (layoutManager) { this._itemsRunTimeInfo.removeItemsByItems(layoutManager.getItemsRunTimeInfo()); var items = this._prepareItems(value, false, itemPath); this._setLayoutManagerItemOption(layoutManager, optionName, items, itemPath); return true } } else if (nameParts.length > 2) { var endPartIndex = nameParts.length - 2; var _itemPath = this._getItemPath(nameParts.slice(0, endPartIndex)); var _layoutManager = this._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(_itemPath); if (_layoutManager) { var fullOptionName = (0, _uiForm4.getFullOptionName)(nameParts[endPartIndex], optionName); if ("editorType" === optionName) { if (_layoutManager.option(fullOptionName) !== value) { return false } } if ("visible" === optionName) { var formItems = this.option((0, _uiForm4.getFullOptionName)(_itemPath, "items")); if (formItems && formItems.length) { var layoutManagerItems = _layoutManager.option("items"); formItems.forEach((function(item, index) { var layoutItem = layoutManagerItems[index]; layoutItem.visibleIndex = item.visibleIndex })) } } this._setLayoutManagerItemOption(_layoutManager, fullOptionName, value, _itemPath); return true } } return false }, _tryChangeLayoutManagerItemOptions: function(itemPath, options) { var _this8 = this; var result; this.beginUpdate(); (0, _iterator.each)(options, (function(optionName, optionValue) { result = _this8._tryChangeLayoutManagerItemOption((0, _uiForm4.getFullOptionName)(itemPath, optionName), optionValue); if (!result) { return false } })); this.endUpdate(); return result }, _getItemPath: function(nameParts) { var itemPath = nameParts[0]; var i; for (i = 1; i < nameParts.length; i++) { if (-1 !== nameParts[i].search(/items\[\d+]|tabs\[\d+]/)) { itemPath += "." + nameParts[i] } else { break } } return itemPath }, _triggerOnFieldDataChanged: function(args) { this._createActionByOption("onFieldDataChanged")(args) }, _triggerOnFieldDataChangedByDataSet: function(data) { var that = this; if (data && (0, _type.isObject)(data)) { (0, _iterator.each)(data, (function(dataField, value) { that._triggerOnFieldDataChanged({ dataField: dataField, value: value }) })) } }, _updateFieldValue: function(dataField, value) { if ((0, _type.isDefined)(this.option("formData"))) { var editor = this.getEditor(dataField); this.option("formData." + dataField, value); if (editor) { var editorValue = editor.option("value"); if (editorValue !== value) { editor.option("value", value) } } } }, _generateItemsFromData: function(items) { var formData = this.option("formData"); var result = []; if (!items && (0, _type.isDefined)(formData)) { (0, _iterator.each)(formData, (function(dataField) { result.push({ dataField: dataField }) })) } if (items) { (0, _iterator.each)(items, (function(index, item) { if ((0, _type.isObject)(item)) { result.push(item) } else { result.push({ dataField: item }) } })) } return result }, _getItemByField: function(field, items) { var that = this; var fieldParts = (0, _type.isObject)(field) ? field : that._getFieldParts(field); var fieldName = fieldParts.fieldName; var fieldPath = fieldParts.fieldPath; var resultItem; if (items.length) { (0, _iterator.each)(items, (function(index, item) { var itemType = item.itemType; if (fieldPath.length) { var path = fieldPath.slice(); item = that._getItemByFieldPath(path, fieldName, item) } else if ("group" === itemType && !(item.caption || item.name) || "tabbed" === itemType && !item.name) { var subItemsField = that._getSubItemField(itemType); item.items = that._generateItemsFromData(item.items); item = that._getItemByField({ fieldName: fieldName, fieldPath: fieldPath }, item[subItemsField]) } if ((0, _uiForm4.isEqualToDataFieldOrNameOrTitleOrCaption)(item, fieldName)) { resultItem = item; return false } })) } return resultItem }, _getFieldParts: function(field) { var fieldName = field; var separatorIndex = fieldName.indexOf("."); var resultPath = []; while (-1 !== separatorIndex) { resultPath.push(fieldName.substr(0, separatorIndex)); fieldName = fieldName.substr(separatorIndex + 1); separatorIndex = fieldName.indexOf(".") } return { fieldName: fieldName, fieldPath: resultPath.reverse() } }, _getItemByFieldPath: function(path, fieldName, item) { var itemType = item.itemType; var subItemsField = this._getSubItemField(itemType); var isItemWithSubItems = "group" === itemType || "tabbed" === itemType || item.title; var result; do { if (isItemWithSubItems) { var name = item.name || item.caption || item.title; var isGroupWithName = (0, _type.isDefined)(name); var nameWithoutSpaces = (0, _uiForm4.getTextWithoutSpaces)(name); var pathNode = void 0; item[subItemsField] = this._generateItemsFromData(item[subItemsField]); if (isGroupWithName) { pathNode = path.pop() } if (!path.length) { result = this._getItemByField(fieldName, item[subItemsField]); if (result) { break } } if (!isGroupWithName || isGroupWithName && nameWithoutSpaces === pathNode) { if (path.length) { result = this._searchItemInEverySubItem(path, fieldName, item[subItemsField]) } } } else { break } } while (path.length && !(0, _type.isDefined)(result)); return result }, _getSubItemField: function(itemType) { return "tabbed" === itemType ? "tabs" : "items" }, _searchItemInEverySubItem: function(path, fieldName, items) { var that = this; var result; (0, _iterator.each)(items, (function(index, groupItem) { result = that._getItemByFieldPath(path.slice(), fieldName, groupItem); if (result) { return false } })); if (!result) { result = false } return result }, _changeItemOption: function(item, option, value) { if ((0, _type.isObject)(item)) { item[option] = value } }, _dimensionChanged: function() { var currentScreenFactor = this._getCurrentScreenFactor(); if (this._lastMarkupScreenFactor !== currentScreenFactor) { if (this._isColCountChanged(this._lastMarkupScreenFactor, currentScreenFactor)) { this._targetScreenFactor = currentScreenFactor; this._refresh(); this._targetScreenFactor = void 0 } this._lastMarkupScreenFactor = currentScreenFactor } }, _isColCountChanged: function(oldScreenSize, newScreenSize) { var isChanged = false; (0, _iterator.each)(this._cachedColCountOptions, (function(index, item) { if (item.colCountByScreen[oldScreenSize] !== item.colCountByScreen[newScreenSize]) { isChanged = true; return false } })); return isChanged }, _refresh: function() { _events_engine.default.trigger(this.$element().find(".dx-state-focused input, .dx-state-focused textarea"), "change"); this.callBase() }, _resetValues: function() { this._itemsRunTimeInfo.each((function(_, itemRunTimeInfo) { if ((0, _type.isDefined)(itemRunTimeInfo.widgetInstance) && _editor.default.isEditor(itemRunTimeInfo.widgetInstance)) { itemRunTimeInfo.widgetInstance.reset(); itemRunTimeInfo.widgetInstance.option("isValid", true) } })); _validation_engine.default.resetGroup(this._getValidationGroup()) }, _updateData: function(data, value, isComplexData) { var that = this; var _data = isComplexData ? value : data; if ((0, _type.isObject)(_data)) { (0, _iterator.each)(_data, (function(dataField, fieldValue) { that._updateData(isComplexData ? data + "." + dataField : dataField, fieldValue, (0, _type.isObject)(fieldValue)) })) } else if ((0, _type.isString)(data)) { that._updateFieldValue(data, value) } }, registerKeyHandler: function(key, handler) { this.callBase(key, handler); this._itemsRunTimeInfo.each((function(_, itemRunTimeInfo) { if ((0, _type.isDefined)(itemRunTimeInfo.widgetInstance)) { itemRunTimeInfo.widgetInstance.registerKeyHandler(key, handler) } })) }, _focusTarget: function() { return this.$element().find("." + _constants.FIELD_ITEM_CONTENT_CLASS + " [tabindex]").first() }, _visibilityChanged: function() { this._alignLabels(this._rootLayoutManager, this._rootLayoutManager.isSingleColumnMode()) }, _clearAutoColCountChangedTimeout: function() { if (this.autoColCountChangedTimeoutId) { clearTimeout(this.autoColCountChangedTimeoutId); this.autoColCountChangedTimeoutId = void 0 } }, _dispose: function() { this._clearAutoColCountChangedTimeout(); _validation_engine.default.removeGroup(this._getValidationGroup()); this.callBase() }, resetValues: function() { this._resetValues() }, updateData: function(data, value) { this._updateData(data, value) }, getEditor: function(dataField) { return this._itemsRunTimeInfo.findWidgetInstanceByDataField(dataField) || this._itemsRunTimeInfo.findWidgetInstanceByName(dataField) }, getButton: function(name) { return this._itemsRunTimeInfo.findWidgetInstanceByName(name) }, updateDimensions: function() { var that = this; var deferred = new _deferred.Deferred; if (that._scrollable) { that._scrollable.update().done((function() { deferred.resolveWith(that) })) } else { deferred.resolveWith(that) } return deferred.promise() }, itemOption: function(id, option, value) { var _this9 = this; var items = this._generateItemsFromData(this.option("items")); var item = this._getItemByField(id, items); var path = (0, _uiForm4.getItemPath)(items, item); if (!item) { return } switch (arguments.length) { case 1: return item; case 3: var itemAction = this._tryCreateItemOptionAction(option, item, value, item[option], path); this._changeItemOption(item, option, value); var fullName = (0, _uiForm4.getFullOptionName)(path, option); if (!this._tryExecuteItemOptionAction(itemAction) && !this._tryChangeLayoutManagerItemOption(fullName, value)) { this.option("items", items) } break; default: if ((0, _type.isObject)(option)) { if (!this._tryChangeLayoutManagerItemOptions(path, option)) { var allowUpdateItems; (0, _iterator.each)(option, (function(optionName, optionValue) { var itemAction = _this9._tryCreateItemOptionAction(optionName, item, optionValue, item[optionName], path); _this9._changeItemOption(item, optionName, optionValue); if (!allowUpdateItems && !_this9._tryExecuteItemOptionAction(itemAction)) { allowUpdateItems = true } })); allowUpdateItems && this.option("items", items) } } } }, validate: function() { return _validation_engine.default.validateGroup(this._getValidationGroup()) }, getItemID: function(name) { return "dx_" + this.option("formID") + "_" + (name || new _guid.default) }, getTargetScreenFactor: function() { return this._targetScreenFactor } }); (0, _component_registrator.default)("dxForm", Form); var _default = Form; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 85532: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/form/ui.form.layout_manager.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _uiForm = _interopRequireDefault(__webpack_require__( /*! ./ui.form.items_runtime_info */ 10291)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _variable_wrapper = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/variable_wrapper */ 26974)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _array = __webpack_require__( /*! ../../core/utils/array */ 89386); var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var _remove = __webpack_require__( /*! ../../events/remove */ 29007); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _responsive_box = _interopRequireDefault(__webpack_require__( /*! ../responsive_box */ 21643)); var _constants = __webpack_require__( /*! ./constants */ 31093); __webpack_require__( /*! ../text_box */ 29837); __webpack_require__( /*! ../number_box */ 34171); __webpack_require__( /*! ../check_box */ 18859); __webpack_require__( /*! ../date_box */ 29589); __webpack_require__( /*! ../button */ 63008); var _field_item = __webpack_require__( /*! ./components/field_item */ 21014); var _button_item = __webpack_require__( /*! ./components/button_item */ 77509); var _empty_item = __webpack_require__( /*! ./components/empty_item */ 46193); var _uiFormLayout_manager = __webpack_require__( /*! ./ui.form.layout_manager.utils */ 61961); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var LayoutManager = _ui.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { layoutData: {}, readOnly: false, colCount: 1, colCountByScreen: void 0, labelLocation: "left", onFieldDataChanged: null, onEditorEnterKey: null, customizeItem: null, alignItemLabels: true, minColWidth: 200, showRequiredMark: true, screenByWidth: null, showOptionalMark: false, requiredMark: "*", labelMode: "outside", optionalMark: _message.default.format("dxForm-optionalMark"), requiredMessage: _message.default.getFormatter("dxForm-requiredMessage") }) }, _setOptionsByReference: function() { this.callBase(); (0, _extend.extend)(this._optionsByReference, { layoutData: true, validationGroup: true }) }, _init: function() { var layoutData = this.option("layoutData"); this.callBase(); this._itemWatchers = []; this._itemsRunTimeInfo = new _uiForm.default; this._updateReferencedOptions(layoutData); this._initDataAndItems(layoutData) }, _dispose: function() { this.callBase(); this._cleanItemWatchers() }, _initDataAndItems: function(initialData) { this._syncDataWithItems(); this._updateItems(initialData) }, _syncDataWithItems: function() { var _this = this; var layoutData = this.option("layoutData"); var userItems = this.option("items"); if ((0, _type.isDefined)(userItems)) { userItems.forEach((function(item) { if (item.dataField && void 0 === _this._getDataByField(item.dataField)) { var value; if (item.editorOptions) { value = item.editorOptions.value } if ((0, _type.isDefined)(value) || item.dataField in layoutData) { _this._updateFieldValue(item.dataField, value) } } })) } }, _getDataByField: function(dataField) { return dataField ? this.option("layoutData." + dataField) : null }, _isCheckboxUndefinedStateEnabled: function(_ref) { var allowIndeterminateState = _ref.allowIndeterminateState, editorType = _ref.editorType, dataField = _ref.dataField; if (true === allowIndeterminateState && "dxCheckBox" === editorType) { var nameParts = ["layoutData"].concat(_toConsumableArray(dataField.split("."))); var propertyName = nameParts.pop(); var layoutData = this.option(nameParts.join(".")); return layoutData && propertyName in layoutData } return false }, _updateFieldValue: function(dataField, value) { var layoutData = this.option("layoutData"); var newValue = value; if (!_variable_wrapper.default.isWrapped(layoutData[dataField]) && (0, _type.isDefined)(dataField)) { this.option("layoutData." + dataField, newValue) } else if (_variable_wrapper.default.isWritableWrapped(layoutData[dataField])) { newValue = (0, _type.isFunction)(newValue) ? newValue() : newValue; layoutData[dataField](newValue) } this._triggerOnFieldDataChanged({ dataField: dataField, value: newValue }) }, _triggerOnFieldDataChanged: function(args) { this._createActionByOption("onFieldDataChanged")(args) }, _updateItems: function(layoutData) { var that = this; var userItems = this.option("items"); var isUserItemsExist = (0, _type.isDefined)(userItems); var customizeItem = that.option("customizeItem"); var items = isUserItemsExist ? userItems : this._generateItemsByData(layoutData); if ((0, _type.isDefined)(items)) { var processedItems = []; (0, _iterator.each)(items, (function(index, item) { if (that._isAcceptableItem(item)) { item = that._processItem(item); customizeItem && customizeItem(item); if ((0, _type.isObject)(item) && false !== _variable_wrapper.default.unwrap(item.visible)) { processedItems.push(item) } } })); if (!that._itemWatchers.length || !isUserItemsExist) { that._updateItemWatchers(items) } this._setItems(processedItems); this._sortItems() } }, _cleanItemWatchers: function() { this._itemWatchers.forEach((function(dispose) { dispose() })); this._itemWatchers = [] }, _updateItemWatchers: function(items) { var that = this; var watch = that._getWatch(); items.forEach((function(item) { if ((0, _type.isObject)(item) && (0, _type.isDefined)(item.visible) && (0, _type.isFunction)(watch)) { that._itemWatchers.push(watch((function() { return _variable_wrapper.default.unwrap(item.visible) }), (function() { that._updateItems(that.option("layoutData")); that.repaint() }), { skipImmediate: true })) } })) }, _generateItemsByData: function(layoutData) { var result = []; if ((0, _type.isDefined)(layoutData)) { (0, _iterator.each)(layoutData, (function(dataField) { result.push({ dataField: dataField }) })) } return result }, _isAcceptableItem: function(item) { var itemField = item.dataField || item; var itemData = this._getDataByField(itemField); return !((0, _type.isFunction)(itemData) && !_variable_wrapper.default.isWrapped(itemData)) }, _processItem: function(item) { if ("string" === typeof item) { item = { dataField: item } } if ("object" === _typeof(item) && !item.itemType) { item.itemType = _constants.SIMPLE_ITEM_TYPE } if (!(0, _type.isDefined)(item.editorType) && (0, _type.isDefined)(item.dataField)) { var value = this._getDataByField(item.dataField); item.editorType = (0, _type.isDefined)(value) ? this._getEditorTypeByDataType((0, _type.type)(value)) : "dxTextBox" } if ("dxCheckBox" === item.editorType) { var _item$allowIndetermin; item.allowIndeterminateState = null !== (_item$allowIndetermin = item.allowIndeterminateState) && void 0 !== _item$allowIndetermin ? _item$allowIndetermin : true } return item }, _getEditorTypeByDataType: function(dataType) { switch (dataType) { case "number": return "dxNumberBox"; case "date": return "dxDateBox"; case "boolean": return "dxCheckBox"; default: return "dxTextBox" } }, _sortItems: function() { (0, _array.normalizeIndexes)(this._items, "visibleIndex"); this._sortIndexes() }, _sortIndexes: function() { this._items.sort((function(itemA, itemB) { var indexA = itemA.visibleIndex; var indexB = itemB.visibleIndex; var result; if (indexA > indexB) { result = 1 } else if (indexA < indexB) { result = -1 } else { result = 0 } return result })) }, _initMarkup: function() { this._itemsRunTimeInfo.clear(); this.$element().addClass(_constants.FORM_LAYOUT_MANAGER_CLASS); this.callBase(); this._renderResponsiveBox() }, _renderResponsiveBox: function() { var templatesInfo = []; if (this._items && this._items.length) { var colCount = this._getColCount(); var $container = (0, _renderer.default)("<div>").appendTo(this.$element()); this._prepareItemsWithMerging(colCount); var layoutItems = this._generateLayoutItems(); this._responsiveBox = this._createComponent($container, _responsive_box.default, this._getResponsiveBoxConfig(layoutItems, colCount, templatesInfo)); if (!(0, _window.hasWindow)()) { this._renderTemplates(templatesInfo) } } }, _itemStateChangedHandler: function(e) { this._refresh() }, _renderTemplates: function(templatesInfo) { var that = this; var itemsWithLabelTemplateCount = 0; templatesInfo.forEach((function(_ref2) { var _item$label; var item = _ref2.item; if (null !== item && void 0 !== item && null !== (_item$label = item.label) && void 0 !== _item$label && _item$label.template) { itemsWithLabelTemplateCount++ } })); (0, _iterator.each)(templatesInfo, (function(index, info) { switch (info.itemType) { case "empty": (0, _empty_item.renderEmptyItem)(info); break; case "button": that._renderButtonItem(info); break; default: that._renderFieldItem(info, itemsWithLabelTemplateCount) } })) }, _getResponsiveBoxConfig: function(layoutItems, colCount, templatesInfo) { var that = this; var colCountByScreen = that.option("colCountByScreen"); var xsColCount = colCountByScreen && colCountByScreen.xs; return { onItemStateChanged: this._itemStateChangedHandler.bind(this), onLayoutChanged: function() { var onLayoutChanged = that.option("onLayoutChanged"); var isSingleColumnMode = that.isSingleColumnMode(); if (onLayoutChanged) { that.$element().toggleClass(_constants.LAYOUT_MANAGER_ONE_COLUMN, isSingleColumnMode); onLayoutChanged(isSingleColumnMode) } }, onContentReady: function(e) { if ((0, _window.hasWindow)()) { that._renderTemplates(templatesInfo) } if (that.option("onLayoutChanged")) { that.$element().toggleClass(_constants.LAYOUT_MANAGER_ONE_COLUMN, that.isSingleColumnMode(e.component)) } }, itemTemplate: function(e, itemData, itemElement) { if (!e.location) { return } var $itemElement = (0, _renderer.default)(itemElement); var itemRenderedCountInPreviousRows = e.location.row * colCount; var item = that._items[e.location.col + itemRenderedCountInPreviousRows]; if (!item) { return } var itemCssClassList = [item.cssClass]; $itemElement.toggleClass(_constants.SINGLE_COLUMN_ITEM_CONTENT, that.isSingleColumnMode(this)); if (0 === e.location.row) { itemCssClassList.push("dx-first-row") } if (0 === e.location.col) { itemCssClassList.push("dx-first-col") } if (item.itemType === _constants.SIMPLE_ITEM_TYPE && that.option("isRoot")) { $itemElement.addClass(_constants.ROOT_SIMPLE_ITEM_CLASS) } var isLastColumn = e.location.col === colCount - 1 || e.location.col + e.location.colspan === colCount; var rowsCount = that._getRowsCount(); var isLastRow = e.location.row === rowsCount - 1; if (isLastColumn) { itemCssClassList.push("dx-last-col") } if (isLastRow) { itemCssClassList.push("dx-last-row") } if ("empty" !== item.itemType) { itemCssClassList.push(_constants.FIELD_ITEM_CLASS); itemCssClassList.push(that.option("cssItemClass")); if ((0, _type.isDefined)(item.col)) { itemCssClassList.push("dx-col-" + item.col) } } templatesInfo.push({ itemType: item.itemType, item: item, $parent: $itemElement, rootElementCssClassList: itemCssClassList }) }, cols: that._generateRatio(colCount), rows: that._generateRatio(that._getRowsCount(), true), dataSource: layoutItems, screenByWidth: that.option("screenByWidth"), singleColumnScreen: xsColCount ? false : "xs" } }, _getColCount: function() { var colCount = this.option("colCount"); var colCountByScreen = this.option("colCountByScreen"); if (colCountByScreen) { var screenFactor = this.option("form").getTargetScreenFactor(); if (!screenFactor) { screenFactor = (0, _window.hasWindow)() ? (0, _window.getCurrentScreenFactor)(this.option("screenByWidth")) : "lg" } colCount = colCountByScreen[screenFactor] || colCount } if ("auto" === colCount) { if (this._cashedColCount) { return this._cashedColCount } this._cashedColCount = colCount = this._getMaxColCount() } return colCount < 1 ? 1 : colCount }, _getMaxColCount: function() { if (!(0, _window.hasWindow)()) { return 1 } var minColWidth = this.option("minColWidth"); var width = (0, _size.getWidth)(this.$element()); var itemsCount = this._items.length; var maxColCount = Math.floor(width / minColWidth) || 1; return itemsCount < maxColCount ? itemsCount : maxColCount }, isCachedColCountObsolete: function() { return this._cashedColCount && this._getMaxColCount() !== this._cashedColCount }, _prepareItemsWithMerging: function(colCount) { var items = this._items.slice(0); var item; var itemsMergedByCol; var result = []; var j; var i; for (i = 0; i < items.length; i++) { item = items[i]; result.push(item); if (this.option("alignItemLabels") || item.alignItemLabels || item.colSpan) { item.col = this._getColByIndex(result.length - 1, colCount) } if (item.colSpan > 1 && item.col + item.colSpan <= colCount) { itemsMergedByCol = []; for (j = 0; j < item.colSpan - 1; j++) { itemsMergedByCol.push({ merged: true }) } result = result.concat(itemsMergedByCol) } else { delete item.colSpan } } this._setItems(result) }, _getColByIndex: function(index, colCount) { return index % colCount }, _setItems: function(items) { this._items = items; this._cashedColCount = null }, _generateLayoutItems: function() { var items = this._items; var colCount = this._getColCount(); var result = []; var item; var i; for (i = 0; i < items.length; i++) { item = items[i]; if (!item.merged) { var generatedItem = { location: { row: parseInt(i / colCount), col: this._getColByIndex(i, colCount) } }; if ((0, _type.isDefined)(item.disabled)) { generatedItem.disabled = item.disabled } if ((0, _type.isDefined)(item.visible)) { generatedItem.visible = item.visible } if ((0, _type.isDefined)(item.colSpan)) { generatedItem.location.colspan = item.colSpan } if ((0, _type.isDefined)(item.rowSpan)) { generatedItem.location.rowspan = item.rowSpan } result.push(generatedItem) } } return result }, _renderEmptyItem: function($container) { (0, _empty_item.renderEmptyItem)({ $container: $container }) }, _renderButtonItem: function(_ref3) { var item = _ref3.item, $parent = _ref3.$parent, rootElementCssClassList = _ref3.rootElementCssClassList; var _renderButtonItem2 = (0, _button_item.renderButtonItem)({ item: item, $parent: $parent, rootElementCssClassList: rootElementCssClassList, validationGroup: this.option("validationGroup"), createComponentCallback: this._createComponent.bind(this) }), $rootElement = _renderButtonItem2.$rootElement, buttonInstance = _renderButtonItem2.buttonInstance; this._itemsRunTimeInfo.add({ item: item, widgetInstance: buttonInstance, guid: item.guid, $itemContainer: $rootElement }) }, _renderFieldItem: function(_ref4, itemsWithLabelTemplateCount) { var _item$label2, _this$option, _this2 = this; var item = _ref4.item, $parent = _ref4.$parent, rootElementCssClassList = _ref4.rootElementCssClassList; var editorValue = this._getDataByField(item.dataField); var canAssignUndefinedValueToEditor = false; if (void 0 === editorValue) { var allowIndeterminateState = item.allowIndeterminateState, editorType = item.editorType, dataField = item.dataField; canAssignUndefinedValueToEditor = this._isCheckboxUndefinedStateEnabled({ allowIndeterminateState: allowIndeterminateState, editorType: editorType, dataField: dataField }) } var name = item.dataField || item.name; var formOrLayoutManager = this._getFormOrThis(); var _renderFieldItem2 = (0, _field_item.renderFieldItem)((0, _uiFormLayout_manager.convertToRenderFieldItemOptions)({ $parent: $parent, rootElementCssClassList: rootElementCssClassList, item: item, name: name, editorValue: editorValue, canAssignUndefinedValueToEditor: canAssignUndefinedValueToEditor, formOrLayoutManager: this._getFormOrThis(), createComponentCallback: this._createComponent.bind(this), formLabelLocation: this.option("labelLocation"), requiredMessageTemplate: this.option("requiredMessage"), validationGroup: this.option("validationGroup"), editorValidationBoundary: this.option("validationBoundary"), editorStylingMode: this.option("form") && this.option("form").option("stylingMode"), showColonAfterLabel: this.option("showColonAfterLabel"), managerLabelLocation: this.option("labelLocation"), template: item.template ? this._getTemplate(item.template) : null, labelTemplate: null !== (_item$label2 = item.label) && void 0 !== _item$label2 && _item$label2.template ? this._getTemplate(item.label.template) : null, itemId: this.option("form") && this.option("form").getItemID(name), managerMarkOptions: this._getMarkOptions(), labelMode: this.option("labelMode"), onLabelTemplateRendered: function() { _this2._incTemplateRenderedCallCount(); if (_this2._shouldAlignLabelsOnTemplateRendered(formOrLayoutManager, itemsWithLabelTemplateCount)) { formOrLayoutManager._alignLabels(_this2, _this2.isSingleColumnMode(formOrLayoutManager)) } } })), $fieldEditorContainer = _renderFieldItem2.$fieldEditorContainer, widgetInstance = _renderFieldItem2.widgetInstance, $rootElement = _renderFieldItem2.$rootElement; null === (_this$option = this.option("onFieldItemRendered")) || void 0 === _this$option ? void 0 : _this$option(); if (widgetInstance && item.dataField) { this._bindDataField(widgetInstance, item.dataField, item.editorType, $fieldEditorContainer) } this._itemsRunTimeInfo.add({ item: item, widgetInstance: widgetInstance, guid: item.guid, $itemContainer: $rootElement }) }, _incTemplateRenderedCallCount: function() { var _this$_labelTemplateR; this._labelTemplateRenderedCallCount = (null !== (_this$_labelTemplateR = this._labelTemplateRenderedCallCount) && void 0 !== _this$_labelTemplateR ? _this$_labelTemplateR : 0) + 1 }, _shouldAlignLabelsOnTemplateRendered: function(formOrLayoutManager, totalItemsWithLabelTemplate) { return formOrLayoutManager.option("templatesRenderAsynchronously") && this._labelTemplateRenderedCallCount === totalItemsWithLabelTemplate }, _getMarkOptions: function() { return { showRequiredMark: this.option("showRequiredMark"), requiredMark: this.option("requiredMark"), showOptionalMark: this.option("showOptionalMark"), optionalMark: this.option("optionalMark") } }, _getFormOrThis: function() { return this.option("form") || this }, _bindDataField: function(editorInstance, dataField, editorType, $container) { var formOrThis = this._getFormOrThis(); editorInstance.on("enterKey", (function(args) { formOrThis._createActionByOption("onEditorEnterKey")((0, _extend.extend)(args, { dataField: dataField })) })); this._createWatcher(editorInstance, $container, dataField); this.linkEditorToDataField(editorInstance, dataField, editorType) }, _createWatcher: function(editorInstance, $container, dataField) { var that = this; var watch = that._getWatch(); if (!(0, _type.isFunction)(watch)) { return } var dispose = watch((function() { return that._getDataByField(dataField) }), (function() { var fieldValue = that._getDataByField(dataField); if ("dxTagBox" === editorInstance.NAME) { var editorValue = editorInstance.option("value"); if (fieldValue !== editorValue && function(array1, array2) { if (!Array.isArray(array1) || !Array.isArray(array2) || array1.length !== array2.length) { return false } for (var i = 0; i < array1.length; i++) { if (array1[i] !== array2[i]) { return false } } return true }(fieldValue, editorValue)) { return } } editorInstance.option("value", fieldValue) }), { deep: true, skipImmediate: true }); _events_engine.default.on($container, _remove.removeEvent, dispose) }, _getWatch: function() { if (!(0, _type.isDefined)(this._watch)) { var formInstance = this.option("form"); this._watch = formInstance && formInstance.option("integrationOptions.watchMethod") } return this._watch }, _createComponent: function($editor, type, editorOptions) { var readOnlyState = this.option("readOnly"); var hasEditorReadOnly = Object.hasOwn(editorOptions, "readOnly"); var instance = this.callBase($editor, type, _extends({}, editorOptions, { readOnly: !hasEditorReadOnly ? readOnlyState : editorOptions.readOnly })); var isChangeByForm = false; instance.on("optionChanged", (function(args) { if ("readOnly" === args.name && !isChangeByForm) { hasEditorReadOnly = true } })); this.on("optionChanged", (function(args) { if ("readOnly" === args.name && !hasEditorReadOnly) { isChangeByForm = true; instance.option(args.name, args.value); isChangeByForm = false } })); return instance }, _generateRatio: function(count, isAutoSize) { var result = []; var ratio; var i; for (i = 0; i < count; i++) { ratio = { ratio: 1 }; if (isAutoSize) { ratio.baseSize = "auto" } result.push(ratio) } return result }, _getRowsCount: function() { return Math.ceil(this._items.length / this._getColCount()) }, _updateReferencedOptions: function(newLayoutData) { var _this3 = this; var layoutData = this.option("layoutData"); if ((0, _type.isObject)(layoutData)) { Object.getOwnPropertyNames(layoutData).forEach((function(property) { return delete _this3._optionsByReference["layoutData." + property] })) } if ((0, _type.isObject)(newLayoutData)) { Object.getOwnPropertyNames(newLayoutData).forEach((function(property) { return _this3._optionsByReference["layoutData." + property] = true })) } }, _resetWidget: function(instance) { this._disableEditorValueChangedHandler = true; instance.reset(); this._disableEditorValueChangedHandler = false; instance.option("isValid", true) }, _optionChanged: function(args) { var _this4 = this; if (0 === args.fullName.search("layoutData.")) { return } switch (args.name) { case "showRequiredMark": case "showOptionalMark": case "requiredMark": case "optionalMark": this._cashedRequiredConfig = null; this._invalidate(); break; case "layoutData": this._updateReferencedOptions(args.value); if (this.option("items")) { if (!(0, _type.isEmptyObject)(args.value)) { this._itemsRunTimeInfo.each((function(_, itemRunTimeInfo) { if ((0, _type.isDefined)(itemRunTimeInfo.item)) { var dataField = itemRunTimeInfo.item.dataField; if (dataField && (0, _type.isDefined)(itemRunTimeInfo.widgetInstance)) { var valueGetter = (0, _data.compileGetter)(dataField); var dataValue = valueGetter(args.value); var _itemRunTimeInfo$item = itemRunTimeInfo.item, allowIndeterminateState = _itemRunTimeInfo$item.allowIndeterminateState, editorType = _itemRunTimeInfo$item.editorType; if (void 0 !== dataValue || _this4._isCheckboxUndefinedStateEnabled({ allowIndeterminateState: allowIndeterminateState, editorType: editorType, dataField: dataField })) { itemRunTimeInfo.widgetInstance.option("value", dataValue) } else { _this4._resetWidget(itemRunTimeInfo.widgetInstance) } } } })) } } else { this._initDataAndItems(args.value); this._invalidate() } break; case "items": this._cleanItemWatchers(); this._initDataAndItems(args.value); this._invalidate(); break; case "alignItemLabels": case "labelLocation": case "labelMode": case "requiredMessage": this._invalidate(); break; case "customizeItem": this._updateItems(this.option("layoutData")); this._invalidate(); break; case "colCount": case "colCountByScreen": this._resetColCount(); break; case "minColWidth": if ("auto" === this.option("colCount")) { this._resetColCount() } break; case "readOnly": break; case "width": this.callBase(args); if ("auto" === this.option("colCount")) { this._resetColCount() } break; case "onFieldDataChanged": break; default: this.callBase(args) } }, _resetColCount: function() { this._cashedColCount = null; this._invalidate() }, linkEditorToDataField: function(editorInstance, dataField) { var _this5 = this; this.on("optionChanged", (function(args) { if (args.fullName === "layoutData.".concat(dataField)) { editorInstance._setOptionWithoutOptionChange("value", args.value) } })); editorInstance.on("valueChanged", (function(args) { var isValueReferenceType = (0, _type.isObject)(args.value) || Array.isArray(args.value); if (!_this5._disableEditorValueChangedHandler && !(isValueReferenceType && args.value === args.previousValue)) { _this5._updateFieldValue(dataField, args.value) } })) }, _dimensionChanged: function() { if ("auto" === this.option("colCount") && this.isCachedColCountObsolete()) { this._eventsStrategy.fireEvent("autoColCountChanged") } }, updateData: function(data, value) { var that = this; if ((0, _type.isObject)(data)) { (0, _iterator.each)(data, (function(dataField, fieldValue) { that._updateFieldValue(dataField, fieldValue) })) } else if ("string" === typeof data) { that._updateFieldValue(data, value) } }, getEditor: function(field) { return this._itemsRunTimeInfo.findWidgetInstanceByDataField(field) || this._itemsRunTimeInfo.findWidgetInstanceByName(field) }, isSingleColumnMode: function(component) { var responsiveBox = this._responsiveBox || component; if (responsiveBox) { return responsiveBox.option("currentScreenFactor") === responsiveBox.option("singleColumnScreen") } }, getItemsRunTimeInfo: function() { return this._itemsRunTimeInfo } }); (0, _component_registrator.default)("dxLayoutManager", LayoutManager); var _default = LayoutManager; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 61961: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/form/ui.form.layout_manager.utils.js ***! \*************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.EDITORS_WITHOUT_LABELS = void 0; exports.convertToLabelMarkOptions = convertToLabelMarkOptions; exports.convertToRenderFieldItemOptions = function(_ref) { var $parent = _ref.$parent, rootElementCssClassList = _ref.rootElementCssClassList, formOrLayoutManager = _ref.formOrLayoutManager, createComponentCallback = _ref.createComponentCallback, item = _ref.item, template = _ref.template, labelTemplate = _ref.labelTemplate, name = _ref.name, formLabelLocation = _ref.formLabelLocation, requiredMessageTemplate = _ref.requiredMessageTemplate, validationGroup = _ref.validationGroup, editorValue = _ref.editorValue, canAssignUndefinedValueToEditor = _ref.canAssignUndefinedValueToEditor, editorValidationBoundary = _ref.editorValidationBoundary, editorStylingMode = _ref.editorStylingMode, showColonAfterLabel = _ref.showColonAfterLabel, managerLabelLocation = _ref.managerLabelLocation, itemId = _ref.itemId, managerMarkOptions = _ref.managerMarkOptions, labelMode = _ref.labelMode, onLabelTemplateRendered = _ref.onLabelTemplateRendered; var isRequired = (0, _type.isDefined)(item.isRequired) ? item.isRequired : !! function(rules) { var hasRequiredRule; if (rules && rules.length) { (0, _iterator.each)(rules, (function(index, rule) { if ("required" === rule.type) { hasRequiredRule = true; return false } })) } return hasRequiredRule }(item.validationRules); var isSimpleItem = item.itemType === _constants.SIMPLE_ITEM_TYPE; var helpID = item.helpText ? "dx-" + new _guid.default : null; var labelOptions = function(_ref5) { var item = _ref5.item, id = _ref5.id, isRequired = _ref5.isRequired, managerMarkOptions = _ref5.managerMarkOptions, showColonAfterLabel = _ref5.showColonAfterLabel, labelLocation = _ref5.labelLocation, labelTemplate = _ref5.labelTemplate, formLabelMode = _ref5.formLabelMode, onLabelTemplateRendered = _ref5.onLabelTemplateRendered; var isEditorWithoutLabels = EDITORS_WITHOUT_LABELS.includes(item.editorType); var labelOptions = (0, _extend.extend)({ showColon: showColonAfterLabel, location: labelLocation, id: id, visible: "outside" === formLabelMode || isEditorWithoutLabels && "hidden" !== formLabelMode, isRequired: isRequired }, item ? item.label : {}, { markOptions: convertToLabelMarkOptions(managerMarkOptions, isRequired), labelTemplate: labelTemplate, onLabelTemplateRendered: onLabelTemplateRendered }); if (["dxRadioGroup", "dxCheckBox", "dxLookup", "dxSlider", "dxRangeSlider", "dxSwitch", "dxHtmlEditor", "dxDateRangeBox"].includes(item.editorType)) { labelOptions.labelID = "dx-label-".concat(new _guid.default) } if (!labelOptions.text && item.dataField) { labelOptions.text = (0, _inflector.captionize)(item.dataField) } if (labelOptions.text) { labelOptions.textWithoutColon = labelOptions.text; labelOptions.text += labelOptions.showColon ? ":" : "" } return labelOptions }({ item: item, id: itemId, isRequired: isRequired, managerMarkOptions: managerMarkOptions, showColonAfterLabel: showColonAfterLabel, labelLocation: managerLabelLocation, formLabelMode: labelMode, labelTemplate: labelTemplate, onLabelTemplateRendered: onLabelTemplateRendered }); var needRenderLabel = labelOptions.visible && (labelOptions.text || labelOptions.labelTemplate && isSimpleItem); var labelLocation = labelOptions.location, labelID = labelOptions.labelID; var labelNeedBaselineAlign = "top" !== labelLocation && ["dxTextArea", "dxRadioGroup", "dxCalendar", "dxHtmlEditor"].includes(item.editorType); var editorOptions = function(_ref4) { var editorType = _ref4.editorType, defaultEditorName = _ref4.defaultEditorName, editorValue = _ref4.editorValue, canAssignUndefinedValueToEditor = _ref4.canAssignUndefinedValueToEditor, externalEditorOptions = _ref4.externalEditorOptions, editorInputId = _ref4.editorInputId, editorValidationBoundary = _ref4.editorValidationBoundary, editorStylingMode = _ref4.editorStylingMode, formLabelMode = _ref4.formLabelMode, labelText = _ref4.labelText, labelMark = _ref4.labelMark; var editorOptionsWithValue = {}; if (void 0 !== editorValue || canAssignUndefinedValueToEditor) { editorOptionsWithValue.value = editorValue } if (-1 !== EDITORS_WITH_ARRAY_VALUE.indexOf(editorType)) { editorOptionsWithValue.value = editorOptionsWithValue.value || [] } var labelMode = null === externalEditorOptions || void 0 === externalEditorOptions ? void 0 : externalEditorOptions.labelMode; if (!(0, _type.isDefined)(labelMode)) { labelMode = "outside" === formLabelMode ? "hidden" : formLabelMode } var stylingMode = (null === externalEditorOptions || void 0 === externalEditorOptions ? void 0 : externalEditorOptions.stylingMode) || editorStylingMode; var result = (0, _extend.extend)(true, editorOptionsWithValue, externalEditorOptions, { inputAttr: { id: editorInputId }, validationBoundary: editorValidationBoundary, stylingMode: stylingMode, label: labelText, labelMode: labelMode, labelMark: labelMark }); if (externalEditorOptions) { if (result.dataSource) { result.dataSource = externalEditorOptions.dataSource } if (result.items) { result.items = externalEditorOptions.items } } if (defaultEditorName && !result.name) { result.name = defaultEditorName } return result }({ editorType: item.editorType, editorValue: editorValue, defaultEditorName: item.dataField, canAssignUndefinedValueToEditor: canAssignUndefinedValueToEditor, externalEditorOptions: item.editorOptions, editorInputId: itemId, editorValidationBoundary: editorValidationBoundary, editorStylingMode: editorStylingMode, formLabelMode: labelMode, labelText: labelOptions.textWithoutColon, labelMark: labelOptions.markOptions.showRequiredMark ? String.fromCharCode(160) + labelOptions.markOptions.requiredMark : "" }); var needRenderOptionalMarkAsHelpText = labelOptions.markOptions.showOptionalMark && !labelOptions.visible && "hidden" !== editorOptions.labelMode && !(0, _type.isDefined)(item.helpText); var helpText = needRenderOptionalMarkAsHelpText ? labelOptions.markOptions.optionalMark : item.helpText; return { $parent: $parent, rootElementCssClassList: rootElementCssClassList, formOrLayoutManager: formOrLayoutManager, createComponentCallback: createComponentCallback, labelOptions: labelOptions, labelNeedBaselineAlign: labelNeedBaselineAlign, labelLocation: labelLocation, needRenderLabel: needRenderLabel, item: item, isSimpleItem: isSimpleItem, isRequired: isRequired, template: template, helpID: helpID, labelID: labelID, name: name, helpText: helpText, formLabelLocation: formLabelLocation, requiredMessageTemplate: requiredMessageTemplate, validationGroup: validationGroup, editorOptions: editorOptions } }; exports.getLabelMarkText = function(_ref2) { var showRequiredMark = _ref2.showRequiredMark, requiredMark = _ref2.requiredMark, showOptionalMark = _ref2.showOptionalMark, optionalMark = _ref2.optionalMark; if (!showRequiredMark && !showOptionalMark) { return "" } return String.fromCharCode(160) + (showRequiredMark ? requiredMark : optionalMark) }; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _inflector = __webpack_require__( /*! ../../core/utils/inflector */ 78008); var _guid = (obj = __webpack_require__( /*! ../../core/guid */ 73176), obj && obj.__esModule ? obj : { default: obj }); var obj; var _constants = __webpack_require__( /*! ./constants */ 31093); var EDITORS_WITH_ARRAY_VALUE = ["dxTagBox", "dxRangeSlider", "dxDateRangeBox"]; var EDITORS_WITHOUT_LABELS = ["dxCalendar", "dxCheckBox", "dxHtmlEditor", "dxRadioGroup", "dxRangeSlider", "dxSlider", "dxSwitch"]; exports.EDITORS_WITHOUT_LABELS = EDITORS_WITHOUT_LABELS; function convertToLabelMarkOptions(_ref3, isRequired) { var showRequiredMark = _ref3.showRequiredMark, requiredMark = _ref3.requiredMark, showOptionalMark = _ref3.showOptionalMark, optionalMark = _ref3.optionalMark; return { showRequiredMark: showRequiredMark && isRequired, requiredMark: requiredMark, showOptionalMark: showOptionalMark && !isRequired, optionalMark: optionalMark } } }, 35459: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/form/ui.form.utils.js ***! \**********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.concatPaths = void 0; exports.convertToLayoutManagerOptions = function(_ref) { var form = _ref.form, $formElement = _ref.$formElement, formOptions = _ref.formOptions, items = _ref.items, validationGroup = _ref.validationGroup, extendedLayoutManagerOptions = _ref.extendedLayoutManagerOptions, onFieldDataChanged = _ref.onFieldDataChanged, onContentReady = _ref.onContentReady, onDisposing = _ref.onDisposing, onFieldItemRendered = _ref.onFieldItemRendered; var baseOptions = { form: form, items: items, $formElement: $formElement, validationGroup: validationGroup, onFieldDataChanged: onFieldDataChanged, onContentReady: onContentReady, onDisposing: onDisposing, onFieldItemRendered: onFieldItemRendered, validationBoundary: formOptions.scrollingEnabled ? $formElement : void 0, scrollingEnabled: formOptions.scrollingEnabled, showRequiredMark: formOptions.showRequiredMark, showOptionalMark: formOptions.showOptionalMark, requiredMark: formOptions.requiredMark, optionalMark: formOptions.optionalMark, requiredMessage: formOptions.requiredMessage, screenByWidth: formOptions.screenByWidth, layoutData: formOptions.formData, labelLocation: formOptions.labelLocation, customizeItem: formOptions.customizeItem, minColWidth: formOptions.minColWidth, showColonAfterLabel: formOptions.showColonAfterLabel, onEditorEnterKey: formOptions.onEditorEnterKey, labelMode: formOptions.labelMode }; var result = (0, _extend.extend)(baseOptions, { isRoot: extendedLayoutManagerOptions.isRoot, colCount: extendedLayoutManagerOptions.colCount, alignItemLabels: extendedLayoutManagerOptions.alignItemLabels, cssItemClass: extendedLayoutManagerOptions.cssItemClass, colCountByScreen: extendedLayoutManagerOptions.colCountByScreen, onLayoutChanged: extendedLayoutManagerOptions.onLayoutChanged, width: extendedLayoutManagerOptions.width }); return result }; exports.tryGetTabPath = exports.isFullPathContainsTabs = exports.isEqualToDataFieldOrNameOrTitleOrCaption = exports.getTextWithoutSpaces = exports.getOptionNameFromFullName = exports.getItemPath = exports.getFullOptionName = exports.createItemPathByIndex = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var createItemPathByIndex = function(index, isTabs) { return "".concat(isTabs ? "tabs" : "items", "[").concat(index, "]") }; exports.createItemPathByIndex = createItemPathByIndex; var concatPaths = function(path1, path2) { if ((0, _type.isDefined)(path1) && (0, _type.isDefined)(path2)) { return "".concat(path1, ".").concat(path2) } return path1 || path2 }; exports.concatPaths = concatPaths; var getTextWithoutSpaces = function(text) { return text ? text.replace(/\s/g, "") : void 0 }; exports.getTextWithoutSpaces = getTextWithoutSpaces; exports.isEqualToDataFieldOrNameOrTitleOrCaption = function(item, fieldName) { if (item) { return item.dataField === fieldName || item.name === fieldName || getTextWithoutSpaces(item.title) === fieldName || "group" === item.itemType && getTextWithoutSpaces(item.caption) === fieldName } return false }; exports.getFullOptionName = function(path, optionName) { return "".concat(path, ".").concat(optionName) }; exports.getOptionNameFromFullName = function(fullName) { var parts = fullName.split("."); return parts[parts.length - 1].replace(/\[\d+]/, "") }; exports.tryGetTabPath = function(fullPath) { var pathParts = fullPath.split("."); var resultPathParts = _toConsumableArray(pathParts); for (var i = pathParts.length - 1; i >= 0; i--) { if (isFullPathContainsTabs(pathParts[i])) { return resultPathParts.join(".") } resultPathParts.splice(i, 1) } return "" }; var isFullPathContainsTabs = function(fullPath) { return fullPath.indexOf("tabs") > -1 }; exports.isFullPathContainsTabs = isFullPathContainsTabs; exports.getItemPath = function getItemPath(items, item, isTabs) { var index = items.indexOf(item); if (index > -1) { return createItemPathByIndex(index, isTabs) } for (var i = 0; i < items.length; i++) { var targetItem = items[i]; var tabOrGroupItems = targetItem.tabs || targetItem.items; if (tabOrGroupItems) { var itemPath = getItemPath(tabOrGroupItems, item, targetItem.tabs); if (itemPath) { return concatPaths(createItemPathByIndex(i, isTabs), itemPath) } } } } }, 49433: /*!***********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gallery.js ***! \***********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _element = __webpack_require__( /*! ../core/element */ 6415); var _fx = _interopRequireDefault(__webpack_require__( /*! ../animation/fx */ 87209)); var _click = __webpack_require__( /*! ../events/click */ 95429); var _translator = __webpack_require__( /*! ../animation/translator */ 31648); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./widget/ui.widget */ 14390)); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ./collection/ui.collection_widget.edit */ 11050)); var _swipeable = _interopRequireDefault(__webpack_require__( /*! ../events/gesture/swipeable */ 66894)); var _bindable_template = __webpack_require__( /*! ../core/templates/bindable_template */ 93280); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _visibility_change = __webpack_require__( /*! ../events/visibility_change */ 80506); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var GalleryNavButton = _ui.default.inherit({ _supportedKeys: function() { return (0, _extend.extend)(this.callBase(), { pageUp: _common.noop, pageDown: _common.noop }) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { direction: "next", onClick: null, hoverStateEnabled: true, activeStateEnabled: true }) }, _render: function() { this.callBase(); var that = this; var $element = this.$element(); var eventName = (0, _index.addNamespace)(_click.name, this.NAME); $element.addClass("dx-gallery-nav-button-" + this.option("direction")); _events_engine.default.off($element, eventName); _events_engine.default.on($element, eventName, (function(e) { that._createActionByOption("onClick")({ event: e }) })) }, _optionChanged: function(args) { switch (args.name) { case "onClick": case "direction": this._invalidate(); break; default: this.callBase(args) } } }); var Gallery = _uiCollection_widget.default.inherit({ _activeStateUnit: ".dx-gallery-item", _wasAnyItemTemplateRendered: false, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { activeStateEnabled: false, animationDuration: 400, animationEnabled: true, loop: false, swipeEnabled: true, indicatorEnabled: true, showIndicator: true, selectedIndex: 0, slideshowDelay: 0, showNavButtons: false, wrapAround: false, initialItemWidth: void 0, stretchImages: false, _itemAttributes: { role: "option" }, loopItemFocus: false, selectOnFocus: true, selectionMode: "single", selectionRequired: true, selectByClick: false }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }]) }, _init: function() { this.callBase(); this.option("loopItemFocus", this.option("loop")) }, _initTemplates: function() { this.callBase(); this._templateManager.addDefaultTemplates({ item: new _bindable_template.BindableTemplate(function($container, data) { var $img = (0, _renderer.default)("<img>").addClass("dx-gallery-item-image"); if ((0, _type.isPlainObject)(data)) { this._prepareDefaultItemTemplate(data, $container); $img.attr({ src: data.imageSrc, alt: data.imageAlt }).appendTo($container) } else { $img.attr("src", String(data)).appendTo($container) } }.bind(this), ["imageSrc", "imageAlt", "text", "html"], this.option("integrationOptions.watchMethod")) }) }, _dataSourceOptions: function() { return { paginate: false } }, _itemContainer: function() { return this._$container }, _itemClass: function() { return "dx-gallery-item" }, _itemDataKey: function() { return "dxGalleryItemData" }, _actualItemWidth: function() { var isWrapAround = this.option("wrapAround"); if (this.option("stretchImages")) { var itemPerPage = isWrapAround ? this._itemsPerPage() + 1 : this._itemsPerPage(); return 1 / itemPerPage } if (isWrapAround) { return this._itemPercentWidth() * this._itemsPerPage() / (this._itemsPerPage() + 1) } return this._itemPercentWidth() }, _itemPercentWidth: function() { var percentWidth; var elementWidth = (0, _size.getOuterWidth)(this.$element()); var initialItemWidth = this.option("initialItemWidth"); if (initialItemWidth && initialItemWidth <= elementWidth) { percentWidth = initialItemWidth / elementWidth } else { percentWidth = 1 } return percentWidth }, _itemsPerPage: function() { var itemsPerPage = (0, _window.hasWindow)() ? Math.floor(1 / this._itemPercentWidth()) : 1; return Math.min(itemsPerPage, this._itemsCount()) }, _pagesCount: function() { return Math.ceil(this._itemsCount() / this._itemsPerPage()) }, _itemsCount: function() { return (this.option("items") || []).length }, _offsetDirection: function() { return this.option("rtlEnabled") ? -1 : 1 }, _initMarkup: function() { this._renderWrapper(); this._renderItemsContainer(); this.$element().addClass("dx-gallery"); this.$element().toggleClass("dx-gallery-loop", this.option("loop")); this.callBase(); this.setAria({ role: "listbox", label: "gallery" }) }, _render: function() { this._renderDragHandler(); this._renderContainerPosition(); this._renderItemSizes(); this._renderItemPositions(); this._renderNavButtons(); this._renderIndicator(); this._renderSelectedItem(); this._renderItemVisibility(); this._renderUserInteraction(); this._setupSlideShow(); this._reviseDimensions(); this.callBase() }, _dimensionChanged: function() { var selectedIndex = this.option("selectedIndex") || 0; this._stopItemAnimations(); this._clearCacheWidth(); this._cloneDuplicateItems(); this._renderItemSizes(); this._renderItemPositions(); this._renderIndicator(); this._renderContainerPosition(this._calculateIndexOffset(selectedIndex), true); this._renderItemVisibility() }, _renderDragHandler: function() { var eventName = (0, _index.addNamespace)("dragstart", this.NAME); _events_engine.default.off(this.$element(), eventName); _events_engine.default.on(this.$element(), eventName, "img", (function() { return false })) }, _renderWrapper: function() { if (this._$wrapper) { return } this._$wrapper = (0, _renderer.default)("<div>").addClass("dx-gallery-wrapper").appendTo(this.$element()) }, _renderItems: function(items) { if (!(0, _window.hasWindow)()) { var selectedIndex = this.option("selectedIndex"); items = items.length > selectedIndex ? items.slice(selectedIndex, selectedIndex + 1) : items.slice(0, 1) } this.callBase(items); this._loadNextPageIfNeeded() }, _onItemTemplateRendered: function() { var _this = this; return function() { if (!_this._wasAnyItemTemplateRendered) { _this._wasAnyItemTemplateRendered = true; (0, _visibility_change.triggerResizeEvent)(_this.$element()) } } }, _renderItemsContainer: function() { if (this._$container) { return } this._$container = (0, _renderer.default)("<div>").addClass("dx-gallery-container").appendTo(this._$wrapper) }, _cloneDuplicateItems: function() { if (!this.option("loop")) { return } var items = this.option("items") || []; var itemsCount = items.length; var lastItemIndex = itemsCount - 1; var i; if (!itemsCount) { return } this._getLoopedItems().remove(); var duplicateCount = Math.min(this._itemsPerPage(), itemsCount); var $items = this._getRealItems(); var $container = this._itemContainer(); for (i = 0; i < duplicateCount; i++) { this._cloneItemForDuplicate($items[i], $container) } for (i = 0; i < duplicateCount; i++) { this._cloneItemForDuplicate($items[lastItemIndex - i], $container) } }, _cloneItemForDuplicate: function(item, $container) { if (item) { var $clonedItem = (0, _renderer.default)(item).clone(false).addClass("dx-gallery-item-loop").css("margin", 0).appendTo($container); this.setAria({ role: "presentation" }, $clonedItem) } }, _getRealItems: function() { return this.$element().find(".dx-gallery-item:not(.dx-gallery-item-loop)") }, _getLoopedItems: function() { return this.$element().find(".dx-gallery-item-loop") }, _emptyMessageContainer: function() { return this._$wrapper }, _renderItemSizes: function(startIndex) { var $items = this._itemElements(); var itemWidth = this._actualItemWidth(); if (void 0 !== startIndex) { $items = $items.slice(startIndex) } $items.each((function(index) { (0, _size.setOuterWidth)((0, _renderer.default)($items[index]), 100 * itemWidth + "%") })) }, _renderItemPositions: function() { var itemWidth = this._actualItemWidth(); var itemsCount = this._itemsCount(); var itemsPerPage = this._itemsPerPage(); var loopItemsCount = this.$element().find(".dx-gallery-item-loop").length; var lastItemDuplicateIndex = itemsCount + loopItemsCount - 1; var offsetRatio = this.option("wrapAround") ? .5 : 0; var freeSpace = this._itemFreeSpace(); var isGapBetweenImages = !!freeSpace; var rtlEnabled = this.option("rtlEnabled"); var selectedIndex = this.option("selectedIndex"); var side = rtlEnabled ? "Right" : "Left"; this._itemElements().each((function(index) { var realIndex = index; var isLoopItem = (0, _renderer.default)(this).hasClass("dx-gallery-item-loop"); if (index > itemsCount + itemsPerPage - 1) { realIndex = lastItemDuplicateIndex - realIndex - itemsPerPage } if (!isLoopItem && 0 !== realIndex) { if (isGapBetweenImages) { (0, _renderer.default)(this).css("margin" + side, 100 * freeSpace + "%") } return } var itemPosition = itemWidth * (realIndex + offsetRatio) + freeSpace * (realIndex + 1 - offsetRatio); var property = isLoopItem ? side.toLowerCase() : "margin" + side; (0, _renderer.default)(this).css(property, 100 * itemPosition + "%") })); this._relocateItems(selectedIndex, selectedIndex, true) }, _itemFreeSpace: function() { var itemsPerPage = this._itemsPerPage(); if (this.option("wrapAround")) { itemsPerPage += 1 } return (1 - this._actualItemWidth() * itemsPerPage) / (itemsPerPage + 1) }, _renderContainerPosition: function(offset, hideItems, animate) { this._releaseInvisibleItems(); offset = offset || 0; var that = this; var itemWidth = this._actualItemWidth(); var targetIndex = offset; var targetPosition = this._offsetDirection() * targetIndex * (itemWidth + this._itemFreeSpace()); var positionReady; if ((0, _type.isDefined)(this._animationOverride)) { animate = this._animationOverride; delete this._animationOverride } if (animate) { that._startSwipe(); positionReady = that._animate(targetPosition).done(that._endSwipe.bind(that)) } else { (0, _translator.move)(this._$container, { left: targetPosition * this._elementWidth(), top: 0 }); positionReady = (new _deferred.Deferred).resolveWith(that) } positionReady.done((function() { this._deferredAnimate && that._deferredAnimate.resolveWith(that); hideItems && this._renderItemVisibility() })); return positionReady.promise() }, _startSwipe: function() { this.$element().addClass("dx-gallery-active") }, _endSwipe: function() { this.$element().removeClass("dx-gallery-active") }, _animate: function(targetPosition, extraConfig) { var that = this; var $container = this._$container; var animationComplete = new _deferred.Deferred; _fx.default.animate(this._$container, (0, _extend.extend)({ type: "slide", to: { left: targetPosition * this._elementWidth() }, duration: that.option("animationDuration"), complete: function() { if (that._needMoveContainerForward()) { (0, _translator.move)($container, { left: 0, top: 0 }) } if (that._needMoveContainerBack()) { (0, _translator.move)($container, { left: that._maxContainerOffset() * that._elementWidth(), top: 0 }) } animationComplete.resolveWith(that) } }, extraConfig || {})); return animationComplete }, _needMoveContainerForward: function() { var expectedPosition = this._$container.position().left * this._offsetDirection(); var actualPosition = -this._maxItemWidth() * this._elementWidth() * this._itemsCount(); return expectedPosition <= actualPosition + 1 }, _needMoveContainerBack: function() { var expectedPosition = this._$container.position().left * this._offsetDirection(); var actualPosition = this._actualItemWidth() * this._elementWidth(); return expectedPosition >= actualPosition - 1 }, _maxContainerOffset: function() { return -this._maxItemWidth() * (this._itemsCount() - this._itemsPerPage()) * this._offsetDirection() }, _maxItemWidth: function() { return this._actualItemWidth() + this._itemFreeSpace() }, _reviseDimensions: function() { var $firstItem = this._itemElements().first().find(".dx-item-content"); if (!$firstItem || $firstItem.is(":hidden")) { return } if (!this.option("height")) { this.option("height", (0, _size.getOuterHeight)($firstItem)) } if (!this.option("width")) { this.option("width", (0, _size.getOuterWidth)($firstItem)) } this._dimensionChanged() }, _renderIndicator: function() { this._cleanIndicators(); if (!this.option("showIndicator")) { return } var indicator = this._$indicator = (0, _renderer.default)("<div>").addClass("dx-gallery-indicator").appendTo(this._$wrapper); var isIndicatorEnabled = this.option("indicatorEnabled"); for (var i = 0; i < this._pagesCount(); i++) { var $indicatorItem = (0, _renderer.default)("<div>").addClass("dx-gallery-indicator-item").appendTo(indicator); if (isIndicatorEnabled) { this._attachIndicatorClickHandler($indicatorItem, i) } } this._renderSelectedPageIndicator() }, _attachIndicatorClickHandler: function($element, index) { _events_engine.default.on($element, (0, _index.addNamespace)(_click.name, this.NAME), function(event) { this._indicatorSelectHandler(event, index) }.bind(this)) }, _detachIndicatorClickHandler: function($element) { _events_engine.default.off($element, (0, _index.addNamespace)(_click.name, this.NAME)) }, _toggleIndicatorInteraction: function(clickEnabled) { var _this$_$indicator; var $indicatorItems = (null === (_this$_$indicator = this._$indicator) || void 0 === _this$_$indicator ? void 0 : _this$_$indicator.find(".dx-gallery-indicator-item")) || []; if ($indicatorItems.length) { $indicatorItems.each(function(index, element) { clickEnabled ? this._attachIndicatorClickHandler((0, _renderer.default)(element), index) : this._detachIndicatorClickHandler((0, _renderer.default)(element)) }.bind(this)) } }, _cleanIndicators: function() { if (this._$indicator) { this._$indicator.remove() } }, _renderSelectedItem: function() { var selectedIndex = this.option("selectedIndex"); this._itemElements().removeClass("dx-gallery-item-selected").eq(selectedIndex).addClass("dx-gallery-item-selected") }, _renderItemVisibility: function() { if (this.option("initialItemWidth") || this.option("wrapAround")) { this._releaseInvisibleItems(); return } var selectedIndex = this.option("selectedIndex"); this._itemElements().each((function(index, item) { if (selectedIndex !== index) { (0, _renderer.default)(item).find(".dx-item-content").addClass("dx-gallery-item-invisible") } })) }, _releaseInvisibleItems: function() { this._itemElements().find(".dx-item-content").removeClass("dx-gallery-item-invisible") }, _renderSelectedPageIndicator: function() { if (!this._$indicator) { return } var itemIndex = this.option("selectedIndex"); var lastIndex = this._pagesCount() - 1; var pageIndex = Math.ceil(itemIndex / this._itemsPerPage()); pageIndex = Math.min(lastIndex, pageIndex); this._$indicator.find(".dx-gallery-indicator-item").removeClass("dx-gallery-indicator-item-selected").eq(pageIndex).addClass("dx-gallery-indicator-item-selected") }, _renderUserInteraction: function() { var rootElement = this.$element(); var swipeEnabled = this.option("swipeEnabled") && this._itemsCount() > 1; this._createComponent(rootElement, _swipeable.default, { disabled: this.option("disabled") || !swipeEnabled, onStart: this._swipeStartHandler.bind(this), onUpdated: this._swipeUpdateHandler.bind(this), onEnd: this._swipeEndHandler.bind(this), itemSizeFunc: this._elementWidth.bind(this) }) }, _indicatorSelectHandler: function(e, indicatorIndex) { if (!this.option("indicatorEnabled")) { return } var itemIndex = this._fitPaginatedIndex(indicatorIndex * this._itemsPerPage()); this._needLongMove = true; this.option("selectedIndex", itemIndex); this._loadNextPageIfNeeded(itemIndex) }, _renderNavButtons: function() { var that = this; if (!that.option("showNavButtons")) { that._cleanNavButtons(); return } that._prevNavButton = (0, _renderer.default)("<div>").appendTo(this._$wrapper); that._createComponent(that._prevNavButton, GalleryNavButton, { direction: "prev", onClick: function() { that._prevPage() } }); that._nextNavButton = (0, _renderer.default)("<div>").appendTo(this._$wrapper); that._createComponent(that._nextNavButton, GalleryNavButton, { direction: "next", onClick: function() { that._nextPage() } }); this._renderNavButtonsVisibility() }, _prevPage: function() { var visiblePageSize = this._itemsPerPage(); var newSelectedIndex = this.option("selectedIndex") - visiblePageSize; if (newSelectedIndex === -visiblePageSize && visiblePageSize === this._itemsCount()) { return this._relocateItems(newSelectedIndex, 0) } else { return this.goToItem(this._fitPaginatedIndex(newSelectedIndex)) } }, _nextPage: function() { var visiblePageSize = this._itemsPerPage(); var newSelectedIndex = this.option("selectedIndex") + visiblePageSize; if (newSelectedIndex === visiblePageSize && visiblePageSize === this._itemsCount()) { return this._relocateItems(newSelectedIndex, 0) } else { return this.goToItem(this._fitPaginatedIndex(newSelectedIndex)).done(this._loadNextPageIfNeeded) } }, _loadNextPageIfNeeded: function(selectedIndex) { selectedIndex = void 0 === selectedIndex ? this.option("selectedIndex") : selectedIndex; if (this._dataSource && this._dataSource.paginate() && this._shouldLoadNextPage(selectedIndex) && !this._isDataSourceLoading() && !this._isLastPage()) { this._loadNextPage().done(function() { this._renderIndicator(); this._cloneDuplicateItems(); this._renderItemPositions(); this._renderNavButtonsVisibility(); this._renderItemSizes(selectedIndex) }.bind(this)) } }, _shouldLoadNextPage: function(selectedIndex) { var visiblePageSize = this._itemsPerPage(); return selectedIndex + 2 * visiblePageSize > this.option("items").length }, _allowDynamicItemsAppend: function() { return true }, _fitPaginatedIndex: function(itemIndex) { var itemsPerPage = this._itemsPerPage(); var restItemsCount = itemIndex < 0 ? itemsPerPage + itemIndex : this._itemsCount() - itemIndex; if (itemIndex > this._itemsCount() - 1) { itemIndex = 0; this._goToGhostItem = true } else if (restItemsCount < itemsPerPage && restItemsCount > 0) { if (itemIndex > 0) { itemIndex -= itemsPerPage - restItemsCount } else { itemIndex += itemsPerPage - restItemsCount } } return itemIndex }, _cleanNavButtons: function() { if (this._prevNavButton) { this._prevNavButton.remove(); delete this._prevNavButton } if (this._nextNavButton) { this._nextNavButton.remove(); delete this._nextNavButton } }, _renderNavButtonsVisibility: function() { if (!this.option("showNavButtons") || !this._prevNavButton || !this._nextNavButton) { return } var selectedIndex = this.option("selectedIndex"); var loop = this.option("loop"); var itemsCount = this._itemsCount(); this._prevNavButton.show(); this._nextNavButton.show(); if (0 === itemsCount) { this._prevNavButton.hide(); this._nextNavButton.hide() } if (loop) { return } var nextHidden = selectedIndex === itemsCount - this._itemsPerPage(); var prevHidden = itemsCount < 2 || 0 === selectedIndex; if (this._dataSource && this._dataSource.paginate()) { nextHidden = nextHidden && this._isLastPage() } else { nextHidden = nextHidden || itemsCount < 2 } if (prevHidden) { this._prevNavButton.hide() } if (nextHidden) { this._nextNavButton.hide() } }, _setupSlideShow: function() { var that = this; var slideshowDelay = that.option("slideshowDelay"); clearTimeout(that._slideshowTimer); if (!slideshowDelay) { return } that._slideshowTimer = setTimeout((function() { if (that._userInteraction) { that._setupSlideShow(); return } that.nextItem(true).done(that._setupSlideShow) }), slideshowDelay) }, _elementWidth: function() { if (!this._cacheElementWidth) { this._cacheElementWidth = (0, _size.getWidth)(this.$element()) } return this._cacheElementWidth }, _clearCacheWidth: function() { delete this._cacheElementWidth }, _swipeStartHandler: function(e) { this._releaseInvisibleItems(); this._clearCacheWidth(); this._elementWidth(); var itemsCount = this._itemsCount(); if (!itemsCount) { e.event.cancel = true; return } this._stopItemAnimations(); this._startSwipe(); this._userInteraction = true; if (!this.option("loop")) { var selectedIndex = this.option("selectedIndex"); var startOffset = itemsCount - selectedIndex - this._itemsPerPage(); var endOffset = selectedIndex; var rtlEnabled = this.option("rtlEnabled"); e.event.maxLeftOffset = rtlEnabled ? endOffset : startOffset; e.event.maxRightOffset = rtlEnabled ? startOffset : endOffset } }, _stopItemAnimations: function() { _fx.default.stop(this._$container, true) }, _swipeUpdateHandler: function(e) { var wrapAroundRatio = this.option("wrapAround") ? 1 : 0; var offset = this._offsetDirection() * e.event.offset * (this._itemsPerPage() + wrapAroundRatio) - this.option("selectedIndex"); if (offset < 0) { this._loadNextPageIfNeeded(Math.ceil(Math.abs(offset))) } this._renderContainerPosition(offset) }, _swipeEndHandler: function(e) { var targetOffset = e.event.targetOffset * this._offsetDirection() * this._itemsPerPage(); var selectedIndex = this.option("selectedIndex"); var newIndex = this._fitIndex(selectedIndex - targetOffset); var paginatedIndex = this._fitPaginatedIndex(newIndex); if (Math.abs(targetOffset) < this._itemsPerPage()) { this._relocateItems(selectedIndex); return } if (this._itemsPerPage() === this._itemsCount()) { if (targetOffset > 0) { this._relocateItems(-targetOffset) } else { this._relocateItems(0) } return } this.option("selectedIndex", paginatedIndex) }, _setFocusOnSelect: function() { this._userInteraction = true; var selectedItem = this.itemElements().filter(".dx-gallery-item-selected"); this.option("focusedElement", (0, _element.getPublicElement)(selectedItem)); this._userInteraction = false }, _flipIndex: function(index) { var itemsCount = this._itemsCount(); index %= itemsCount; if (index > (itemsCount + 1) / 2) { index -= itemsCount } if (index < -(itemsCount - 1) / 2) { index += itemsCount } return index }, _fitIndex: function(index) { if (!this.option("loop")) { return index } var itemsCount = this._itemsCount(); if (index >= itemsCount || index < 0) { this._goToGhostItem = true } if (index >= itemsCount) { index = itemsCount - index } index %= itemsCount; if (index < 0) { index += itemsCount } return index }, _clean: function() { this.callBase(); this._cleanIndicators(); this._cleanNavButtons() }, _dispose: function() { this._wasAnyItemTemplateRendered = null; clearTimeout(this._slideshowTimer); this.callBase() }, _updateSelection: function(addedSelection, removedSelection) { this._stopItemAnimations(); this._renderNavButtonsVisibility(); this._renderSelectedItem(); this._relocateItems(addedSelection[0], removedSelection[0]); this._renderSelectedPageIndicator() }, _relocateItems: function(newIndex, prevIndex, withoutAnimation) { if (void 0 === prevIndex) { prevIndex = newIndex } var indexOffset = this._calculateIndexOffset(newIndex, prevIndex); this._renderContainerPosition(indexOffset, true, this.option("animationEnabled") && !withoutAnimation).done((function() { this._setFocusOnSelect(); this._userInteraction = false; this._setupSlideShow() })) }, _focusInHandler: function() { if (_fx.default.isAnimating(this._$container) || this._userInteraction) { return } this.callBase.apply(this, arguments) }, _focusOutHandler: function() { if (_fx.default.isAnimating(this._$container) || this._userInteraction) { return } this.callBase.apply(this, arguments) }, _selectFocusedItem: _common.noop, _moveFocus: function() { this._stopItemAnimations(); this.callBase.apply(this, arguments); var index = this.itemElements().index((0, _renderer.default)(this.option("focusedElement"))); this.goToItem(index, this.option("animationEnabled")) }, _visibilityChanged: function(visible) { if (visible) { this._reviseDimensions() } }, _calculateIndexOffset: function(newIndex, lastIndex) { if (void 0 === lastIndex) { lastIndex = newIndex } var indexOffset = lastIndex - newIndex; if (this.option("loop") && !this._needLongMove && this._goToGhostItem) { if (this._isItemOnFirstPage(newIndex) && this._isItemOnLastPage(lastIndex)) { indexOffset = -this._itemsPerPage() } else if (this._isItemOnLastPage(newIndex) && this._isItemOnFirstPage(lastIndex)) { indexOffset = this._itemsPerPage() } this._goToGhostItem = false } this._needLongMove = false; indexOffset -= lastIndex; return indexOffset }, _isItemOnLastPage: function(itemIndex) { return itemIndex >= this._itemsCount() - this._itemsPerPage() }, _isItemOnFirstPage: function(itemIndex) { return itemIndex <= this._itemsPerPage() }, _optionChanged: function(args) { switch (args.name) { case "width": case "initialItemWidth": this.callBase.apply(this, arguments); this._dimensionChanged(); break; case "animationDuration": this._renderNavButtonsVisibility(); break; case "animationEnabled": break; case "loop": this.$element().toggleClass("dx-gallery-loop", args.value); this.option("loopItemFocus", args.value); if ((0, _window.hasWindow)()) { this._cloneDuplicateItems(); this._renderItemPositions(); this._renderNavButtonsVisibility() } break; case "showIndicator": this._renderIndicator(); break; case "showNavButtons": this._renderNavButtons(); break; case "slideshowDelay": this._setupSlideShow(); break; case "wrapAround": case "stretchImages": if ((0, _window.hasWindow)()) { this._renderItemSizes(); this._renderItemPositions(); this._renderItemVisibility() } break; case "swipeEnabled": this._renderUserInteraction(); break; case "indicatorEnabled": this._toggleIndicatorInteraction(args.value); break; default: this.callBase(args) } }, goToItem: function(itemIndex, animation) { var selectedIndex = this.option("selectedIndex"); var itemsCount = this._itemsCount(); if (void 0 !== animation) { this._animationOverride = animation } itemIndex = this._fitIndex(itemIndex); this._deferredAnimate = new _deferred.Deferred; if (itemIndex > itemsCount - 1 || itemIndex < 0 || selectedIndex === itemIndex) { return this._deferredAnimate.resolveWith(this).promise() } this.option("selectedIndex", itemIndex); return this._deferredAnimate.promise() }, prevItem: function(animation) { return this.goToItem(this.option("selectedIndex") - 1, animation) }, nextItem: function(animation) { return this.goToItem(this.option("selectedIndex") + 1, animation) } }); (0, _component_registrator.default)("dxGallery", Gallery); var _default = Gallery; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 33465: /*!*********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt.js ***! \*********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./gantt/ui.gantt */ 85183), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 70382: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/gantt_importer.js ***! \************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getGanttViewCore = function() { if (!_devexpressGantt.default) { throw _ui.default.Error("E1041", "devexpress-gantt") } return _devexpressGantt.default }; var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _devexpressGantt = _interopRequireDefault(__webpack_require__( /*! devexpress-gantt */ 27353)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } }, 87110: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.actions.js ***! \**************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GanttActionsManager = void 0; var _renderer = (obj = __webpack_require__( /*! ../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _element = __webpack_require__( /*! ../../core/element */ 6415); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var Actions_onContextMenuPreparing = "onContextMenuPreparing", Actions_onCustomCommand = "onCustomCommand", Actions_onDependencyDeleted = "onDependencyDeleted", Actions_onDependencyDeleting = "onDependencyDeleting", Actions_onDependencyInserted = "onDependencyInserted", Actions_onDependencyInserting = "onDependencyInserting", Actions_onResourceAssigned = "onResourceAssigned", Actions_onResourceAssigning = "onResourceAssigning", Actions_onResourceDeleted = "onResourceDeleted", Actions_onResourceDeleting = "onResourceDeleting", Actions_onResourceInserted = "onResourceInserted", Actions_onResourceInserting = "onResourceInserting", Actions_onResourceManagerDialogShowing = "onResourceManagerDialogShowing", Actions_onResourceUnassigned = "onResourceUnassigned", Actions_onResourceUnassigning = "onResourceUnassigning", Actions_onSelectionChanged = "onSelectionChanged", Actions_onTaskClick = "onTaskClick", Actions_onTaskDblClick = "onTaskDblClick", Actions_onTaskDeleted = "onTaskDeleted", Actions_onTaskDeleting = "onTaskDeleting", Actions_onTaskEditDialogShowing = "onTaskEditDialogShowing", Actions_onTaskInserted = "onTaskInserted", Actions_onTaskInserting = "onTaskInserting", Actions_onTaskMoving = "onTaskMoving", Actions_onTaskUpdated = "onTaskUpdated", Actions_onTaskUpdating = "onTaskUpdating", Actions_onScaleCellPrepared = "onScaleCellPrepared"; var GanttActionsManager = function() { function GanttActionsManager(gantt) { this._gantt = gantt; this._mappingHelper = gantt._mappingHelper; this._customFieldsManager = gantt._customFieldsManager } var _proto = GanttActionsManager.prototype; _proto._createActionByOption = function(optionName) { return this._gantt._createActionByOption(optionName) }; _proto._getTaskData = function(key) { return this._gantt.getTaskData(key) }; _proto._convertCoreToMappedData = function(optionName, coreData) { return this._mappingHelper.convertCoreToMappedData(optionName, coreData) }; _proto._convertMappedToCoreData = function(optionName, mappedData) { return this._mappingHelper.convertMappedToCoreData(optionName, mappedData) }; _proto._convertMappedToCoreFields = function(optionName, fields) { return this._mappingHelper.convertMappedToCoreFields(optionName, fields) }; _proto._convertCoreToMappedFields = function(optionName, fields) { return this._mappingHelper.convertCoreToMappedFields(optionName, fields) }; _proto._saveCustomFieldsDataToCache = function(key, data) { var forceUpdateOnKeyExpire = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false; var isCustomFieldsUpdateOnly = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : false; this._customFieldsManager.saveCustomFieldsDataToCache(key, data, forceUpdateOnKeyExpire, isCustomFieldsUpdateOnly) }; _proto.createTaskDblClickAction = function() { this._taskDblClickAction = this._createActionByOption(Actions_onTaskDblClick) }; _proto.taskDblClickAction = function(args) { if (!this._taskDblClickAction) { this.createTaskDblClickAction() } this._taskDblClickAction(args) }; _proto.raiseTaskDblClickAction = function(key, event) { var args = { cancel: false, data: this._getTaskData(key), event: event, key: key }; this.taskDblClickAction(args); return !args.cancel }; _proto.createTaskClickAction = function() { this._taskClickAction = this._createActionByOption(Actions_onTaskClick) }; _proto.taskClickAction = function(args) { if (!this._taskClickAction) { this.createTaskClickAction() } this._taskClickAction(args) }; _proto.raiseTaskClickAction = function(key, event) { var args = { key: key, event: event, data: this._getTaskData(key) }; this.taskClickAction(args) }; _proto.createSelectionChangedAction = function() { this._selectionChangedAction = this._createActionByOption(Actions_onSelectionChanged) }; _proto.selectionChangedAction = function(args) { if (!this._selectionChangedAction) { this.createSelectionChangedAction() } this._selectionChangedAction(args) }; _proto.raiseSelectionChangedAction = function(selectedRowKey) { this.selectionChangedAction({ selectedRowKey: selectedRowKey }) }; _proto.createCustomCommandAction = function() { this._customCommandAction = this._createActionByOption(Actions_onCustomCommand) }; _proto.customCommandAction = function(args) { if (!this._customCommandAction) { this.createCustomCommandAction() } this._customCommandAction(args) }; _proto.raiseCustomCommand = function(commandName) { this.customCommandAction({ name: commandName }) }; _proto.createContextMenuPreparingAction = function() { this._contextMenuPreparingAction = this._createActionByOption(Actions_onContextMenuPreparing) }; _proto.contextMenuPreparingAction = function(args) { if (!this._contextMenuPreparingAction) { this.createContextMenuPreparingAction() } this._contextMenuPreparingAction(args) }; _proto.raiseContextMenuPreparing = function(options) { this.contextMenuPreparingAction(options) }; _proto._getInsertingAction = function(optionName) { switch (optionName) { case "tasks": return this._getTaskInsertingAction(); case "dependencies": return this._getDependencyInsertingAction(); case "resources": return this._getResourceInsertingAction(); case "resourceAssignments": return this._getResourceAssigningAction() } return function() {} }; _proto.raiseInsertingAction = function(optionName, coreArgs) { var action = this._getInsertingAction(optionName); if (action) { var args = { cancel: false, values: this._convertCoreToMappedData(optionName, coreArgs.values) }; action(args); coreArgs.cancel = args.cancel; (0, _extend.extend)(coreArgs.values, this._convertMappedToCoreData(optionName, args.values)); if ("tasks" === optionName) { this._saveCustomFieldsDataToCache("gantt_new_task_key", args.values) } } }; _proto.createTaskInsertingAction = function() { this._taskInsertingAction = this._createActionByOption(Actions_onTaskInserting) }; _proto.taskInsertingAction = function(args) { var action = this._getTaskInsertingAction(); action(args) }; _proto._getTaskInsertingAction = function() { if (!this._taskInsertingAction) { this.createTaskInsertingAction() } return this._taskInsertingAction }; _proto.createDependencyInsertingAction = function() { this._dependencyInsertingAction = this._createActionByOption(Actions_onDependencyInserting) }; _proto.dependencyInsertingAction = function(args) { var action = this._getDependencyInsertingAction(); action(args) }; _proto._getDependencyInsertingAction = function() { if (!this._dependencyInsertingAction) { this.createDependencyInsertingAction() } return this._dependencyInsertingAction }; _proto.createResourceInsertingAction = function() { this._resourceInsertingAction = this._createActionByOption(Actions_onResourceInserting) }; _proto.resourceInsertingAction = function(args) { var action = this._getResourceInsertingAction(); action(args) }; _proto._getResourceInsertingAction = function() { if (!this._resourceInsertingAction) { this.createResourceInsertingAction() } return this._resourceInsertingAction }; _proto.createResourceAssigningAction = function() { this._resourceAssigningAction = this._createActionByOption(Actions_onResourceAssigning) }; _proto.resourceAssigningAction = function(args) { var action = this._getResourceAssigningAction(); action(args) }; _proto._getResourceAssigningAction = function() { if (!this._resourceAssigningAction) { this.createResourceAssigningAction() } return this._resourceAssigningAction }; _proto._getInsertedAction = function(optionName) { switch (optionName) { case "tasks": return this._getTaskInsertedAction(); case "dependencies": return this._getDependencyInsertedAction(); case "resources": return this._getResourceInsertedAction(); case "resourceAssignments": return this._getResourceAssignedAction() } return function() {} }; _proto.raiseInsertedAction = function(optionName, data, key) { var action = this._getInsertedAction(optionName); if (action) { var args = { values: data, key: key }; action(args) } }; _proto.createTaskInsertedAction = function() { this._taskInsertedAction = this._createActionByOption(Actions_onTaskInserted) }; _proto.taskInsertedAction = function(args) { var action = this._getTaskInsertedAction(); action(args) }; _proto._getTaskInsertedAction = function() { if (!this._taskInsertedAction) { this.createTaskInsertedAction() } return this._taskInsertedAction }; _proto.createDependencyInsertedAction = function() { this._dependencyInsertedAction = this._createActionByOption(Actions_onDependencyInserted) }; _proto.dependencyInsertedAction = function(args) { var action = this._getDependencyInsertedAction(); action(args) }; _proto._getDependencyInsertedAction = function() { if (!this._dependencyInsertedAction) { this.createDependencyInsertedAction() } return this._dependencyInsertedAction }; _proto.createResourceInsertedAction = function() { this._resourceInsertedAction = this._createActionByOption(Actions_onResourceInserted) }; _proto.resourceInsertedAction = function(args) { var action = this._getResourceInsertedAction(); action(args) }; _proto._getResourceInsertedAction = function() { if (!this._resourceInsertedAction) { this.createResourceInsertedAction() } return this._resourceInsertedAction }; _proto.createResourceAssignedAction = function() { this._resourceAssignedAction = this._createActionByOption(Actions_onResourceAssigned) }; _proto.resourceAssignedAction = function(args) { var action = this._getResourceAssignedAction(); action(args) }; _proto._getResourceAssignedAction = function() { if (!this._resourceAssignedAction) { this.createResourceAssignedAction() } return this._resourceAssignedAction }; _proto._getDeletingAction = function(optionName) { switch (optionName) { case "tasks": return this._getTaskDeletingAction(); case "dependencies": return this._getDependencyDeletingAction(); case "resources": return this._getResourceDeletingAction(); case "resourceAssignments": return this._getResourceUnassigningAction() } return function() {} }; _proto.raiseDeletingAction = function(optionName, coreArgs) { var action = this._getDeletingAction(optionName); if (action) { var args = { cancel: false, key: coreArgs.key, values: this._convertCoreToMappedData(optionName, coreArgs.values) }; action(args); coreArgs.cancel = args.cancel } }; _proto.createTaskDeletingAction = function() { this._taskDeletingAction = this._createActionByOption(Actions_onTaskDeleting) }; _proto.taskDeletingAction = function(args) { var action = this._getTaskDeletingAction(); action(args) }; _proto._getTaskDeletingAction = function() { if (!this._taskDeletingAction) { this.createTaskDeletingAction() } return this._taskDeletingAction }; _proto.createDependencyDeletingAction = function() { this._dependencyDeletingAction = this._createActionByOption(Actions_onDependencyDeleting) }; _proto.dependencyDeletingAction = function(args) { var action = this._getDependencyDeletingAction(); action(args) }; _proto._getDependencyDeletingAction = function() { if (!this._dependencyDeletingAction) { this.createDependencyDeletingAction() } return this._dependencyDeletingAction }; _proto.createResourceDeletingAction = function() { this._resourceDeletingAction = this._createActionByOption(Actions_onResourceDeleting) }; _proto.resourceDeletingAction = function(args) { var action = this._getResourceDeletingAction(); action(args) }; _proto._getResourceDeletingAction = function() { if (!this._resourceDeletingAction) { this.createResourceDeletingAction() } return this._resourceDeletingAction }; _proto.createResourceUnassigningAction = function() { this._resourceUnassigningAction = this._createActionByOption(Actions_onResourceUnassigning) }; _proto.resourceUnassigningAction = function(args) { var action = this._getResourceUnassigningAction(); action(args) }; _proto._getResourceUnassigningAction = function() { if (!this._resourceUnassigningAction) { this.createResourceUnassigningAction() } return this._resourceUnassigningAction }; _proto._getDeletedAction = function(optionName) { switch (optionName) { case "tasks": return this._getTaskDeletedAction(); case "dependencies": return this._getDependencyDeletedAction(); case "resources": return this._getResourceDeletedAction(); case "resourceAssignments": return this._getResourceUnassignedAction() } return function() {} }; _proto.raiseDeletedAction = function(optionName, key, data) { var action = this._getDeletedAction(optionName); if (action) { var args = { key: key, values: data }; action(args) } }; _proto.createTaskDeletedAction = function() { this._taskDeletedAction = this._createActionByOption(Actions_onTaskDeleted) }; _proto.taskDeletedAction = function(args) { var action = this._getTaskDeletedAction(); action(args) }; _proto._getTaskDeletedAction = function() { if (!this._taskDeletedAction) { this.createTaskDeletedAction() } return this._taskDeletedAction }; _proto.createDependencyDeletedAction = function() { this._dependencyDeletedAction = this._createActionByOption(Actions_onDependencyDeleted) }; _proto.dependencyDeletedAction = function(args) { var action = this._getDependencyDeletedAction(); action(args) }; _proto._getDependencyDeletedAction = function() { if (!this._dependencyDeletedAction) { this.createDependencyDeletedAction() } return this._dependencyDeletedAction }; _proto.createResourceDeletedAction = function() { this._resourceDeletedAction = this._createActionByOption(Actions_onResourceDeleted) }; _proto.resourceDeletedAction = function(args) { var action = this._getResourceDeletedAction(); action(args) }; _proto._getResourceDeletedAction = function() { if (!this._resourceDeletedAction) { this.createResourceDeletedAction() } return this._resourceDeletedAction }; _proto.createResourceUnassignedAction = function() { this._resourceUnassignedAction = this._createActionByOption(Actions_onResourceUnassigned) }; _proto.resourceUnassignedAction = function(args) { var action = this._getResourceUnassignedAction(); action(args) }; _proto._getResourceUnassignedAction = function() { if (!this._resourceUnassignedAction) { this.createResourceUnassignedAction() } return this._resourceUnassignedAction }; _proto._getUpdatingAction = function(optionName) { switch (optionName) { case "tasks": return this._getTaskUpdatingAction() } return function() {} }; _proto.raiseUpdatingAction = function(optionName, coreArgs, action) { action = action || this._getUpdatingAction(optionName); if (action) { var isTaskUpdating = "tasks" === optionName; var args = { cancel: false, key: coreArgs.key, newValues: this._convertCoreToMappedData(optionName, coreArgs.newValues), values: isTaskUpdating ? this._getTaskData(coreArgs.key) : this._convertCoreToMappedData(optionName, coreArgs.values) }; if (isTaskUpdating && this._customFieldsManager.cache.hasData(args.key)) { this._customFieldsManager.addCustomFieldsDataFromCache(args.key, args.newValues) } action(args); coreArgs.cancel = args.cancel; (0, _extend.extend)(coreArgs.newValues, this._convertMappedToCoreData(optionName, args.newValues)); if (isTaskUpdating) { if (args.cancel) { this._customFieldsManager.resetCustomFieldsDataCache(args.key) } else { var forceUpdateOnKeyExpire = !Object.keys(coreArgs.newValues).length; this._saveCustomFieldsDataToCache(args.key, args.newValues, forceUpdateOnKeyExpire) } } } }; _proto.createTaskUpdatingAction = function() { this._taskUpdatingAction = this._createActionByOption(Actions_onTaskUpdating) }; _proto.taskUpdatingAction = function(args) { var action = this._getTaskUpdatingAction(); action(args) }; _proto._getTaskUpdatingAction = function() { if (!this._taskUpdatingAction) { this.createTaskUpdatingAction() } return this._taskUpdatingAction }; _proto._getUpdatedAction = function(optionName) { switch (optionName) { case "tasks": return this._getTaskUpdatedAction() } return function() {} }; _proto.raiseUpdatedAction = function(optionName, data, key) { var action = this._getUpdatedAction(optionName); if (action) { var args = { values: data, key: key }; action(args) } }; _proto.createTaskUpdatedAction = function() { this._taskUpdatedAction = this._createActionByOption(Actions_onTaskUpdated) }; _proto.taskUpdatedAction = function(args) { var action = this._getTaskUpdatedAction(); action(args) }; _proto._getTaskUpdatedAction = function() { if (!this._taskUpdatedAction) { this.createTaskUpdatedAction() } return this._taskUpdatedAction }; _proto.createTaskEditDialogShowingAction = function() { this._taskEditDialogShowingAction = this._createActionByOption(Actions_onTaskEditDialogShowing) }; _proto.taskEditDialogShowingAction = function(args) { var action = this._getTaskEditDialogShowingAction(); action(args) }; _proto._getTaskEditDialogShowingAction = function() { if (!this._taskEditDialogShowingAction) { this.createTaskEditDialogShowingAction() } return this._taskEditDialogShowingAction }; _proto.raiseTaskEditDialogShowingAction = function(coreArgs) { var action = this._getTaskEditDialogShowingAction(); if (action) { var args = { cancel: false, key: coreArgs.key, values: this._convertCoreToMappedData("tasks", coreArgs.values), readOnlyFields: this._convertCoreToMappedFields("tasks", coreArgs.readOnlyFields), hiddenFields: this._convertCoreToMappedFields("tasks", coreArgs.hiddenFields) }; action(args); coreArgs.cancel = args.cancel; (0, _extend.extend)(coreArgs.values, this._convertMappedToCoreData("tasks", args.values)); coreArgs.readOnlyFields = this._convertMappedToCoreFields("tasks", args.readOnlyFields); coreArgs.hiddenFields = this._convertMappedToCoreFields("tasks", args.hiddenFields) } }; _proto.createResourceManagerDialogShowingAction = function() { this._resourceManagerDialogShowingAction = this._createActionByOption(Actions_onResourceManagerDialogShowing) }; _proto.resourceManagerDialogShowingAction = function(args) { var action = this._getResourceManagerDialogShowingAction(); action(args) }; _proto._getResourceManagerDialogShowingAction = function() { if (!this._resourceManagerDialogShowingAction) { this.createResourceManagerDialogShowingAction() } return this._resourceManagerDialogShowingAction }; _proto.raiseResourceManagerDialogShowingAction = function(coreArgs) { var _this = this; var action = this._getResourceManagerDialogShowingAction(); if (action) { var mappedResources = coreArgs.values.resources.items.map((function(r) { return _this._convertMappedToCoreData("resources", r) })); var args = { cancel: false, values: mappedResources }; action(args); coreArgs.cancel = args.cancel } }; _proto.createTaskMovingAction = function() { this._taskMovingAction = this._createActionByOption(Actions_onTaskMoving) }; _proto.taskMovingAction = function(args) { var action = this.getTaskMovingAction(); action(args) }; _proto.getTaskMovingAction = function() { if (!this._taskMovingAction) { this.createTaskMovingAction() } return this._taskMovingAction }; _proto.getScaleCellPreparedAction = function() { if (!this._scaleCellPreparedAction) { this.createScaleCellPreparedAction() } return this._scaleCellPreparedAction }; _proto.createScaleCellPreparedAction = function() { this._scaleCellPreparedAction = this._createActionByOption(Actions_onScaleCellPrepared) }; _proto.raiseScaleCellPreparedAction = function(data) { var action = this.getScaleCellPreparedAction(); if (action) { var args = { scaleIndex: data.scaleIndex, scaleType: this._getScaleType(data.scaleType), scaleElement: (0, _element.getPublicElement)((0, _renderer.default)(data.scaleElement)), separatorElement: (0, _element.getPublicElement)((0, _renderer.default)(data.separatorElement)), startDate: new Date(data.start), endDate: new Date(data.end) }; action(args) } }; _proto._getScaleType = function(viewType) { switch (viewType) { case 0: return "minutes"; case 1: return "hours"; case 2: return "sixHours"; case 3: return "days"; case 4: return "weeks"; case 5: return "months"; case 6: return "quarters"; case 7: return "years"; case 8: return "fiveYears"; default: return } }; return GanttActionsManager }(); exports.GanttActionsManager = GanttActionsManager }, 73630: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.bars.js ***! \***********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GanttToolbar = exports.GanttContextMenuBar = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _toolbar = _interopRequireDefault(__webpack_require__( /*! ../toolbar */ 71042)); var _context_menu = _interopRequireDefault(__webpack_require__( /*! ../context_menu */ 10042)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var COMMANDS_createTask = 0, COMMANDS_createSubTask = 1, COMMANDS_removeTask = 2, COMMANDS_removeDependency = 3, COMMANDS_taskInformation = 4, COMMANDS_taskAddContextItem = 5, COMMANDS_undo = 6, COMMANDS_redo = 7, COMMANDS_zoomIn = 8, COMMANDS_zoomOut = 9, COMMANDS_fullScreen = 10, COMMANDS_collapseAll = 11, COMMANDS_expandAll = 12, COMMANDS_resourceManager = 13, COMMANDS_toggleResources = 14, COMMANDS_toggleDependencies = 15; var Bar = function() { function Bar(element, owner) { this._element = element; this._owner = owner; this._items = []; this._createControl() } var _proto = Bar.prototype; _proto.createItems = function(items) { this._cache = null; this._items = this._createItemsCore(items); this._menu.option("items", this._items) }; _proto._createItemsCore = function(items) { var _this = this; return items.map((function(item) { var result; if ("string" === typeof item) { result = _this._createItemByText(item) } else { result = item.name ? (0, _extend.extend)(_this._createItemByText(item.name), item) : (0, _extend.extend)(_this._getDefaultItemOptions(), item) } if (item.items) { result.items = _this._createItemsCore(item.items) } return result })) }; _proto._createItemByText = function(text) { switch (text.toLowerCase()) { case "separator": return this._createSeparator(); case "undo": return this._createDefaultItem(COMMANDS_undo, _message.default.format("dxGantt-undo"), this._getIcon("undo")); case "redo": return this._createDefaultItem(COMMANDS_redo, _message.default.format("dxGantt-redo"), this._getIcon("redo")); case "expandall": return this._createDefaultItem(COMMANDS_expandAll, _message.default.format("dxGantt-expandAll"), this._getIcon("expand")); case "collapseall": return this._createDefaultItem(COMMANDS_collapseAll, _message.default.format("dxGantt-collapseAll"), this._getIcon("collapse")); case "addtask": return this._createDefaultItem(COMMANDS_createTask, _message.default.format("dxGantt-addNewTask"), this._getIcon("add")); case "addsubtask": return this._createDefaultItem(COMMANDS_createSubTask, _message.default.format("dxGantt-contextMenuNewSubtask"), this._getIcon("add-sub-task")); case "deletetask": return this._createDefaultItem(COMMANDS_removeTask, _message.default.format("dxGantt-deleteSelectedTask"), this._getIcon("delete")); case "deletedependency": return this._createDefaultItem(COMMANDS_removeDependency, _message.default.format("dxGantt-contextMenuDeleteDependency"), this._getIcon("delete-dependency")); case "zoomin": return this._createDefaultItem(COMMANDS_zoomIn, _message.default.format("dxGantt-zoomIn"), this._getIcon("zoom-in")); case "zoomout": return this._createDefaultItem(COMMANDS_zoomOut, _message.default.format("dxGantt-zoomOut"), this._getIcon("zoom-out")); case "fullscreen": return this._createDefaultItem(COMMANDS_fullScreen, _message.default.format("dxGantt-fullScreen"), this._getIcon("full-screen")); case "taskdetails": return this._createDefaultItem(COMMANDS_taskInformation, _message.default.format("dxGantt-dialogTaskDetailsTitle") + "...", this._getIcon("task-details")); case "resourcemanager": return this._createDefaultItem(COMMANDS_resourceManager, _message.default.format("dxGantt-dialogResourceManagerTitle"), this._getIcon("resource-manager")); case "showresources": return this._createDefaultItem(COMMANDS_toggleResources, _message.default.format("dxGantt-showResources"), this._getIcon("toggle-resources")); case "showdependencies": return this._createDefaultItem(COMMANDS_toggleDependencies, _message.default.format("dxGantt-showDependencies"), this._getIcon("toggle-dependencies")); default: return (0, _extend.extend)(this._getDefaultItemOptions(), { options: { text: text } }) } }; _proto._getDefaultItemOptions = function() { return {} }; _proto._getItemsCache = function() { if (!this._cache) { this._cache = {}; this._fillCache(this._items) } return this._cache }; _proto._fillCache = function(items) { var _this2 = this; items.forEach((function(item) { var key = item.commandId; if (void 0 !== key) { if (!_this2._cache[key]) { _this2._cache[key] = [] } _this2._cache[key].push(item) } if (item.items) { _this2._fillCache(item.items) } })) }; _proto._getIcon = function(name) { return "dx-gantt-i dx-gantt-i-" + name }; _proto.getCommandKeys = function() { var itemsCache = this._getItemsCache(); var result = []; for (var itemKey in itemsCache) { result.push(parseInt(itemKey)) } return result }; _proto.setItemEnabled = function(key, enabled) { var itemsCache = this._getItemsCache(); itemsCache[key].forEach((function(item) { item.disabled = !enabled })) }; _proto.setItemVisible = function(key, visible) { var itemsCache = this._getItemsCache(); itemsCache[key].forEach((function(item) { item.visible = visible })) }; _proto.setItemValue = function(_key, _value) {}; _proto.setEnabled = function(enabled) { this._menu.option("disabled", !enabled) }; _proto.updateItemsList = function() {}; _proto.isVisible = function() { return true }; _proto.isContextMenu = function() { return false }; _proto.completeUpdate = function() {}; return Bar }(); var GanttToolbar = function(_Bar) { _inheritsLoose(GanttToolbar, _Bar); function GanttToolbar() { return _Bar.apply(this, arguments) || this } var _proto2 = GanttToolbar.prototype; _proto2._createControl = function() { var _this3 = this; this._menu = this._owner._createComponent(this._element, _toolbar.default, { onItemClick: function(e) { var commandId = e.itemData.commandId; if (void 0 !== commandId) { _this3._executeCommand(e.itemData.commandId) } } }) }; _proto2._executeCommand = function(commandId) { switch (commandId) { case COMMANDS_toggleResources: this._owner.option("showResources", !this._owner.option("showResources")); break; case COMMANDS_toggleDependencies: this._owner.option("showDependencies", !this._owner.option("showDependencies")); break; default: this._owner._executeCoreCommand(commandId) } }; _proto2._createDefaultItem = function(commandId, hint, icon) { return { commandId: commandId, disabled: true, widget: "dxButton", location: "before", options: { icon: icon, stylingMode: "text", hint: hint } } }; _proto2._createSeparator = function() { return { location: "before", template: function(_data, _index, element) { (0, _renderer.default)(element).addClass("dx-gantt-toolbar-separator") } } }; _proto2._getDefaultItemOptions = function() { return { location: "before", widget: "dxButton" } }; _proto2.completeUpdate = function() { this._menu.option("items", this._items) }; return GanttToolbar }(Bar); exports.GanttToolbar = GanttToolbar; var GanttContextMenuBar = function(_Bar2) { _inheritsLoose(GanttContextMenuBar, _Bar2); function GanttContextMenuBar() { return _Bar2.apply(this, arguments) || this } var _proto3 = GanttContextMenuBar.prototype; _proto3._createControl = function() { var _this4 = this; this._menu = this._owner._createComponent(this._element, _context_menu.default, { showEvent: void 0, onItemClick: function(e) { if (void 0 !== e.itemData.commandId) { _this4._owner._executeCoreCommand(e.itemData.commandId) } else if (void 0 !== e.itemData.name) { _this4._owner._actionsManager.raiseCustomCommand(e.itemData.name) } } }) }; _proto3.createItems = function(items) { if (!items || 0 === items.length) { items = this._getDefaultItems() } _Bar2.prototype.createItems.call(this, items) }; _proto3._getDefaultItems = function() { return [{ text: _message.default.format("dxGantt-dialogButtonAdd"), commandId: COMMANDS_taskAddContextItem, icon: this._getIcon("add"), items: [{ text: _message.default.format("dxGantt-contextMenuNewTask"), commandId: COMMANDS_createTask, icon: this._getIcon("add-task") }, { text: _message.default.format("dxGantt-contextMenuNewSubtask"), commandId: COMMANDS_createSubTask, icon: this._getIcon("add-sub-task") }] }, { text: _message.default.format("dxGantt-dialogTaskDetailsTitle") + "...", commandId: COMMANDS_taskInformation, icon: this._getIcon("task-details") }, { text: _message.default.format("dxGantt-contextMenuDeleteTask"), commandId: COMMANDS_removeTask, icon: this._getIcon("delete") }, { text: _message.default.format("dxGantt-contextMenuDeleteDependency"), commandId: COMMANDS_removeDependency, icon: this._getIcon("delete-dependency") }] }; _proto3._createDefaultItem = function(commandId, text, icon) { return { commandId: commandId, text: text, icon: icon } }; _proto3.show = function(point, items) { this._menu.option("items", items || this._items); this._menu.option("position.offset", { x: point.x, y: point.y }); this._menu.option("position.collision", "fit"); this._menu.show() }; _proto3.hide = function() { this._menu.hide() }; _proto3.isContextMenu = function() { return true }; return GanttContextMenuBar }(Bar); exports.GanttContextMenuBar = GanttContextMenuBar }, 81278: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.cache.js ***! \************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GanttDataCache = void 0; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var GanttDataCache = function() { function GanttDataCache() { this._cache = {}; this._timers = {} } var _proto = GanttDataCache.prototype; _proto.saveData = function(key, data, keyExpireCallback) { if (data) { this._clearTimer(key); var storage = this._getCache(key, true); (0, _extend.extendFromObject)(storage, data, true); if (keyExpireCallback) { this._setExpireTimer(key, keyExpireCallback) } } }; _proto.pullDataFromCache = function(key, target) { var data = this._getCache(key); if (data) { (0, _extend.extendFromObject)(target, data) } this._onKeyExpired(key) }; _proto.hasData = function(key) { return !!this._cache[key] }; _proto.resetCache = function(key) { this._onKeyExpired(key) }; _proto._getCache = function(key, forceCreate) { if (!this._cache[key] && forceCreate) { this._cache[key] = {} } return this._cache[key] }; _proto._setExpireTimer = function(key, callback) { var _this = this; this._timers[key] = setTimeout((function() { callback(key, _this._getCache(key)); _this._onKeyExpired(key) }), 200) }; _proto._onKeyExpired = function(key) { this._clearCache(key); this._clearTimer(key) }; _proto._clearCache = function(key) { delete this._cache[key] }; _proto._clearTimer = function(key) { var timers = this._timers; if (timers && timers[key]) { clearTimeout(timers[key]); delete timers[key] } }; return GanttDataCache }(); exports.GanttDataCache = GanttDataCache }, 74320: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.custom_fields.js ***! \********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GanttCustomFieldsManager = void 0; var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var _uiGantt = __webpack_require__( /*! ./ui.gantt.cache */ 81278); var _uiGantt2 = __webpack_require__( /*! ./ui.gantt.helper */ 30631); var GanttCustomFieldsManager = function() { function GanttCustomFieldsManager(gantt) { this._gantt = gantt; this._mappingHelper = gantt._mappingHelper; this.cache = new _uiGantt.GanttDataCache } var _proto = GanttCustomFieldsManager.prototype; _proto._getTaskCustomFields = function() { var columns = this._gantt.option("columns"); var columnFields = columns && columns.map((function(c) { return c.dataField })); var mappedFields = this._mappingHelper.getTaskMappedFieldNames(); return columnFields ? columnFields.filter((function(f) { return mappedFields.indexOf(f) < 0 })) : [] }; _proto._getCustomFieldsData = function(data) { return this._getTaskCustomFields().reduce((function(previous, field) { if (data && void 0 !== data[field]) { previous[field] = data[field] } return previous }), {}) }; _proto.addCustomFieldsData = function(key, data) { if (data) { var modelData = this._gantt._tasksOption && this._gantt._tasksOption._getItems(); var keyGetter = (0, _data.compileGetter)(this._gantt.option("".concat("tasks", ".keyExpr"))); var modelItem = modelData && modelData.filter((function(obj) { return keyGetter(obj) === key }))[0]; var customFields = this._getTaskCustomFields(); if (modelItem) { for (var i = 0; i < customFields.length; i++) { var field = customFields[i]; if (Object.prototype.hasOwnProperty.call(modelItem, field)) { data[field] = modelItem[field] } } } } }; _proto.appendCustomFields = function(data) { var modelData = this._gantt._tasksOption && this._gantt._tasksOption._getItems(); var keyGetter = this._gantt._getTaskKeyGetter(); var invertedData = _uiGantt2.GanttHelper.getInvertedData(modelData, keyGetter); return data.reduce((function(previous, item) { var key = keyGetter(item); var modelItem = invertedData[key]; if (!modelItem) { previous.push(item) } else { var updatedItem = {}; for (var field in modelItem) { updatedItem[field] = Object.prototype.hasOwnProperty.call(item, field) ? item[field] : modelItem[field] } previous.push(updatedItem) } return previous }), []) }; _proto.addCustomFieldsDataFromCache = function(key, data) { this.cache.pullDataFromCache(key, data) }; _proto.saveCustomFieldsDataToCache = function(key, data) { var _this = this; var forceUpdateOnKeyExpire = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false; var isCustomFieldsUpdateOnly = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : false; var customFieldsData = this._getCustomFieldsData(data); if (Object.keys(customFieldsData).length > 0) { var updateCallback = function(key, data) { var dataOption = _this._gantt["_".concat("tasks", "Option")]; if (dataOption && data) { dataOption.update(key, data, (function(data, key) { var updatedCustomFields = {}; _this.addCustomFieldsData(key, updatedCustomFields); dataOption._reloadDataSource().done((function(data) { _this._gantt._ganttTreeList.updateDataSource(null !== data && void 0 !== data ? data : dataOption._dataSource, false, isCustomFieldsUpdateOnly) })); var selectedRowKey = _this._gantt.option("selectedRowKey"); _this._gantt._ganttView._selectTask(selectedRowKey); _this._gantt._actionsManager.raiseUpdatedAction("tasks", updatedCustomFields, key) })) } }; this.cache.saveData(key, customFieldsData, forceUpdateOnKeyExpire ? updateCallback : null) } }; _proto.resetCustomFieldsDataCache = function(key) { this.cache.resetCache(key) }; return GanttCustomFieldsManager }(); exports.GanttCustomFieldsManager = GanttCustomFieldsManager }, 52609: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.data.option.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _component = __webpack_require__( /*! ../../core/component */ 44297); var _data_helper = (obj = __webpack_require__( /*! ../../data_helper */ 53305), obj && obj.__esModule ? obj : { default: obj }); var obj; function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DataOption = function(_Component) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DataOption, _Component); function DataOption(optionName, getLoadPanel, dataSourceChangedCallback) { var _this; _this = _Component.call(this) || this; _this._optionName = optionName; _this._getLoadPanel = getLoadPanel; _this._dataSourceChangedCallback = dataSourceChangedCallback; return _this } var _proto = DataOption.prototype; _proto.insert = function(data, callback, errorCallback) { var _this2 = this; this._showLoadPanel(); this._getStore().insert(data).done((function(response) { if (callback) { callback(response) } _this2._hideLoadPanel() })).fail((function(error) { if (errorCallback) { errorCallback(error) } _this2._hideLoadPanel() })) }; _proto.update = function(key, data, callback, errorCallback) { var _this3 = this; this._showLoadPanel(); this._getStore().update(key, data).done((function(data, key) { if (callback) { callback(data, key) } _this3._hideLoadPanel() })).fail((function(error) { if (errorCallback) { errorCallback(error) } _this3._hideLoadPanel() })) }; _proto.remove = function(key, callback, errorCallback) { var _this4 = this; this._showLoadPanel(); this._getStore().remove(key).done((function(key) { if (callback) { callback(key) } _this4._hideLoadPanel() })).fail((function(error) { if (errorCallback) { errorCallback(error) } _this4._hideLoadPanel() })) }; _proto._dataSourceChangedHandler = function(newItems, e) { this._dataSourceChangedCallback(this._optionName, newItems) }; _proto._dataSourceOptions = function() { return { paginate: false } }; _proto._dataSourceLoadingChangedHandler = function(isLoading) { if (isLoading && !this._dataSource.isLoaded()) { this._showLoadPanel() } else { this._hideLoadPanel() } }; _proto._showLoadPanel = function() { var _this$_getLoadPanel; null === (_this$_getLoadPanel = this._getLoadPanel()) || void 0 === _this$_getLoadPanel ? void 0 : _this$_getLoadPanel.show() }; _proto._hideLoadPanel = function() { var _this$_getLoadPanel2; null === (_this$_getLoadPanel2 = this._getLoadPanel()) || void 0 === _this$_getLoadPanel2 ? void 0 : _this$_getLoadPanel2.hide() }; _proto._getStore = function() { return this._dataSource.store() }; _proto._getItems = function() { return this._getStore()._array || this._dataSource.items() }; _proto._reloadDataSource = function() { return this._dataSource.load() }; _proto.dispose = function() { this._disposeDataSource() }; _proto._optionChanged = function(args) { args.name }; return DataOption }(_component.Component); DataOption.include(_data_helper.default); var _default = DataOption; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 28512: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.data_changes_processing_helper.js ***! \*************************************************************************************************/ function(__unused_webpack_module, exports) { exports.GanttDataChangesProcessingHelper = void 0; var GanttDataChangesProcessingHelper = function() { function GanttDataChangesProcessingHelper() { this._waitingForGanttViewReady = false; this._waitingForTreeListReady = false; this._completionActions = [] } var _proto = GanttDataChangesProcessingHelper.prototype; _proto.onGanttViewReady = function() { this._stopWaitForGanttViewReady(); this.executeActionsIfPossible() }; _proto.onTreeListReady = function() { this._stopWaitForTreeListReady(); this.executeActionsIfPossible() }; _proto.addCompletionAction = function(action, waitGanttViewReady, waitTreeListReady) { if (action) { if (waitGanttViewReady) { this._startWaitForGanttViewReady() } if (waitTreeListReady) { this._startWaitForTreeListReady() } this._completionActions.push(action) } }; _proto.executeActionsIfPossible = function() { if (this._canExecuteActions()) { this._completionActions.forEach((function(act) { return act() })); this._completionActions = [] } }; _proto._startWaitForGanttViewReady = function() { this._waitingForGanttViewReady = true }; _proto._stopWaitForGanttViewReady = function() { this._waitingForGanttViewReady = false }; _proto._startWaitForTreeListReady = function() { this._waitingForTreeListReady = true }; _proto._stopWaitForTreeListReady = function() { this._waitingForTreeListReady = false }; _proto._canExecuteActions = function() { return !(this._waitingForGanttViewReady || this._waitingForTreeListReady) }; return GanttDataChangesProcessingHelper }(); exports.GanttDataChangesProcessingHelper = GanttDataChangesProcessingHelper }, 10612: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.dialogs.js ***! \**************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GanttDialog = void 0; var _ui = _interopRequireDefault(__webpack_require__( /*! ../popup/ui.popup */ 51495)); var _form = _interopRequireDefault(__webpack_require__( /*! ../form */ 17737)); __webpack_require__( /*! ../tag_box */ 31362); __webpack_require__( /*! ../radio_group */ 14305); var _date = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); __webpack_require__( /*! ../list_light */ 56757); __webpack_require__( /*! ../list/modules/deleting */ 15728); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var GanttDialog = function() { function GanttDialog(owner, $element) { this._popupInstance = owner._createComponent($element, _ui.default); this.infoMap = { TaskEdit: TaskEditDialogInfo, Resources: ResourcesEditDialogInfo, Confirmation: ConfirmDialogInfo, ConstraintViolation: ConstraintViolationDialogInfo } } var _proto = GanttDialog.prototype; _proto._apply = function() { if (this._dialogInfo.isValidated()) { var result = this._dialogInfo.getResult(); this._callback(result); this.hide() } }; _proto.show = function(name, parameters, callback, afterClosing, editingOptions) { this._callback = callback; this._afterClosing = afterClosing; if (!this.infoMap[name]) { return } var isRefresh = this._popupInstance._isVisible() && this._dialogInfo && this._dialogInfo instanceof this.infoMap[name]; this._dialogInfo = new this.infoMap[name](parameters, this._apply.bind(this), this.hide.bind(this), editingOptions); this._popupInstance.option({ showTitle: !!this._dialogInfo.getTitle(), title: this._dialogInfo.getTitle(), toolbarItems: this._dialogInfo.getToolbarItems(), maxWidth: this._dialogInfo.getMaxWidth(), height: this._dialogInfo.getHeight(), contentTemplate: this._dialogInfo.getContentTemplate() }); if (this._afterClosing) { this._popupInstance.option("onHidden", this._afterClosing) } if (!isRefresh) { this._popupInstance.show() } }; _proto.hide = function() { this._popupInstance.hide(); if (this._afterClosing) { this._afterClosing() } }; return GanttDialog }(); exports.GanttDialog = GanttDialog; var DialogInfoBase = function() { function DialogInfoBase(parameters, applyAction, hideAction, editingOptions) { this._parameters = parameters; this._applyAction = applyAction; this._hideAction = hideAction; this._editingOptions = editingOptions } var _proto2 = DialogInfoBase.prototype; _proto2._getFormItems = function() { return {} }; _proto2._getFormCssClass = function() { return "" }; _proto2._getFormData = function() { return this._parameters }; _proto2._updateParameters = function() {}; _proto2._getOkToolbarItem = function() { return this._getToolbarItem("OK", this._applyAction) }; _proto2._getCancelToolbarItem = function() { return this._getToolbarItem("Cancel", this._hideAction) }; _proto2._getYesToolbarItem = function() { return this._getToolbarItem("Yes", this._applyAction) }; _proto2._getNoToolbarItem = function() { return this._getToolbarItem("No", this._hideAction) }; _proto2._getToolbarItem = function(localizationText, action) { return { widget: "dxButton", toolbar: "bottom", options: { text: _message.default.format(localizationText), onClick: action } } }; _proto2.getTitle = function() { return "" }; _proto2.getToolbarItems = function() { return this._editingOptions.enabled ? [this._getOkToolbarItem(), this._getCancelToolbarItem()] : [this._getCancelToolbarItem()] }; _proto2.getMaxWidth = function() { return 400 }; _proto2.getHeight = function() { return "auto" }; _proto2.getContentTemplate = function() { var _this = this; return function(content) { _this._form = new _form.default(content, { formData: _this._getFormData(), items: _this._getFormItems(), elementAttr: { class: _this._getFormCssClass() }, rtlEnabled: false }); return content } }; _proto2.getResult = function() { var formData = this.getFormData(); this._updateParameters(formData); return this._parameters }; _proto2.getFormData = function() { var formData = this._form && this._form.option("formData"); return formData }; _proto2.isValidated = function() { return true }; return DialogInfoBase }(); var TaskEditDialogInfo = function(_DialogInfoBase) { _inheritsLoose(TaskEditDialogInfo, _DialogInfoBase); function TaskEditDialogInfo() { return _DialogInfoBase.apply(this, arguments) || this } var _proto3 = TaskEditDialogInfo.prototype; _proto3.getTitle = function() { return _message.default.format("dxGantt-dialogTaskDetailsTitle") }; _proto3._getFormItems = function() { var _this2 = this; var readOnly = !this._editingOptions.enabled || !this._editingOptions.allowTaskUpdating; var readOnlyRange = readOnly || !this._parameters.enableRangeEdit; return [{ dataField: "title", editorType: "dxTextBox", label: { text: _message.default.format("dxGantt-dialogTitle") }, editorOptions: { readOnly: readOnly || this._isReadOnlyField("title") }, visible: !this._isHiddenField("title") }, { dataField: "start", editorType: "dxDateBox", label: { text: _message.default.format("dxGantt-dialogStartTitle") }, editorOptions: { type: "datetime", width: "100%", readOnly: readOnlyRange || this._isReadOnlyField("start") }, visible: !this._isHiddenField("start"), validationRules: [{ type: "required", message: _message.default.format("validation-required-formatted", _message.default.format("dxGantt-dialogStartTitle")) }, { type: "custom", validationCallback: function(e) { if (_this2._parameters.isValidationRequired) { var correctDateRange = _this2._parameters.getCorrectDateRange(_this2._parameters.id, e.value, _this2._parameters.end); if (correctDateRange.start.getTime() !== e.value.getTime()) { e.rule.message = _this2._getValidationMessage(true, correctDateRange.start); return false } } return true } }] }, { dataField: "end", editorType: "dxDateBox", label: { text: _message.default.format("dxGantt-dialogEndTitle") }, editorOptions: { type: "datetime", width: "100%", readOnly: readOnlyRange || this._isReadOnlyField("end") }, visible: !this._isHiddenField("end"), validationRules: [{ type: "required", message: _message.default.format("validation-required-formatted", _message.default.format("dxGantt-dialogEndTitle")) }, { type: "custom", validationCallback: function(e) { if (_this2._parameters.isValidationRequired) { var correctDateRange = _this2._parameters.getCorrectDateRange(_this2._parameters.id, _this2._parameters.start, e.value); if (correctDateRange.end.getTime() !== e.value.getTime()) { e.rule.message = _this2._getValidationMessage(false, correctDateRange.end); return false } } return true } }] }, { dataField: "progress", editorType: "dxNumberBox", label: { text: _message.default.format("dxGantt-dialogProgressTitle") }, editorOptions: { showSpinButtons: true, min: 0, max: 1, format: "#0%", step: .01, readOnly: readOnlyRange || this._isReadOnlyField("progress") }, visible: !this._isHiddenField("progress") }, { dataField: "assigned.items", editorType: "dxTagBox", label: { text: _message.default.format("dxGantt-dialogResourcesTitle") }, editorOptions: { readOnly: readOnly || !this._editingOptions.allowTaskResourceUpdating, dataSource: this._parameters.resources.items, displayExpr: "text", buttons: [{ name: "editResources", location: "after", options: { disabled: !this._editingOptions.allowResourceAdding && !this._editingOptions.allowResourceDeleting, text: "...", hint: _message.default.format("dxGantt-dialogEditResourceListHint"), onClick: function() { _this2._parameters.showResourcesDialogCommand.execute((function() { _this2._parameters.showTaskEditDialogCommand.execute() })) } } }] } }] }; _proto3._getValidationMessage = function(isStartDependencies, correctDate) { if (isStartDependencies) { return _message.default.format("dxGantt-dialogStartDateValidation", this._getFormattedDateText(correctDate)) } return _message.default.format("dxGantt-dialogEndDateValidation", this._getFormattedDateText(correctDate)) }; _proto3._getFormattedDateText = function(date) { return date ? _date.default.format(date, "shortDateShortTime") : "" }; _proto3._isReadOnlyField = function(field) { return this._parameters.readOnlyFields.indexOf(field) > -1 }; _proto3._isHiddenField = function(field) { return this._parameters.hiddenFields.indexOf(field) > -1 }; _proto3._getFormData = function() { var data = {}; for (var field in this._parameters) { data[field] = "progress" === field ? this._parameters[field] / 100 : this._parameters[field] } return data }; _proto3._updateParameters = function(formData) { this._parameters.title = formData.title; this._parameters.start = formData.start; this._parameters.end = formData.end; this._parameters.progress = 100 * formData.progress; this._parameters.assigned = formData.assigned }; _proto3.isValidated = function() { var _this$_form; var validationResult = null === (_this$_form = this._form) || void 0 === _this$_form ? void 0 : _this$_form.validate(); return null === validationResult || void 0 === validationResult ? void 0 : validationResult.isValid }; return TaskEditDialogInfo }(DialogInfoBase); var ResourcesEditDialogInfo = function(_DialogInfoBase2) { _inheritsLoose(ResourcesEditDialogInfo, _DialogInfoBase2); function ResourcesEditDialogInfo() { return _DialogInfoBase2.apply(this, arguments) || this } var _proto4 = ResourcesEditDialogInfo.prototype; _proto4.getTitle = function() { return _message.default.format("dxGantt-dialogResourceManagerTitle") }; _proto4._getFormItems = function() { var _this3 = this; return [{ label: { visible: false }, dataField: "resources.items", editorType: "dxList", editorOptions: { allowItemDeleting: this._editingOptions.enabled && this._editingOptions.allowResourceDeleting, itemDeleteMode: "static", selectionMode: "none", items: this._parameters.resources.items, height: 250, noDataText: _message.default.format("dxGantt-dialogEditNoResources"), onInitialized: function(e) { _this3.list = e.component }, onItemDeleted: function(e) { _this3._parameters.resources.remove(e.itemData) } } }, { label: { visible: false }, editorType: "dxTextBox", editorOptions: { readOnly: !this._editingOptions.enabled || !this._editingOptions.allowResourceAdding, onInitialized: function(e) { _this3.textBox = e.component }, onInput: function(e) { var addButton = e.component.getButton("addResource"); var resourceName = e.component.option("text"); addButton.option("disabled", 0 === resourceName.length) }, buttons: [{ name: "addResource", location: "after", options: { text: _message.default.format("dxGantt-dialogButtonAdd"), disabled: true, onClick: function(e) { var newItem = _this3._parameters.resources.createItem(); newItem.text = _this3.textBox.option("text"); _this3._parameters.resources.add(newItem); _this3.list.option("items", _this3._parameters.resources.items); _this3.list.scrollToItem(newItem); _this3.textBox.reset(); e.component.option("disabled", true) } } }] } }] }; return ResourcesEditDialogInfo }(DialogInfoBase); var ConfirmDialogInfo = function(_DialogInfoBase3) { _inheritsLoose(ConfirmDialogInfo, _DialogInfoBase3); function ConfirmDialogInfo() { return _DialogInfoBase3.apply(this, arguments) || this } var _proto5 = ConfirmDialogInfo.prototype; _proto5.getContentTemplate = function() { var _this4 = this; return function(content) { return _this4._getConfirmMessage() } }; _proto5._getConfirmMessage = function() { switch (this._parameters.type) { case 0: return _message.default.format("dxGantt-dialogTaskDeleteConfirmation"); case 1: return _message.default.format("dxGantt-dialogDependencyDeleteConfirmation"); case 2: return _message.default.format("dxGantt-dialogResourcesDeleteConfirmation", this._parameters.message); default: return "" } }; _proto5.getToolbarItems = function() { return [this._getYesToolbarItem(), this._getNoToolbarItem()] }; return ConfirmDialogInfo }(DialogInfoBase); var ConstraintViolationDialogInfo = function(_DialogInfoBase4) { _inheritsLoose(ConstraintViolationDialogInfo, _DialogInfoBase4); function ConstraintViolationDialogInfo() { return _DialogInfoBase4.apply(this, arguments) || this } var _proto6 = ConstraintViolationDialogInfo.prototype; _proto6._getFormItems = function() { var hasCriticalErrors = this._parameters.hasCriticalErrors; var severalErrors = this._parameters.errorsCount > 1; var items = []; var deleteMessage = severalErrors ? "dxGantt-dialogDeleteDependenciesMessage" : "dxGantt-dialogDeleteDependencyMessage"; var moveMessage = severalErrors ? "dxGantt-dialogMoveTaskAndKeepDependenciesMessage" : "dxGantt-dialogMoveTaskAndKeepDependencyMessage"; var titleMessage; if (hasCriticalErrors) { titleMessage = severalErrors ? "dxGantt-dialogConstraintCriticalViolationSeveralTasksMessage" : "dxGantt-dialogConstraintCriticalViolationMessage" } else { titleMessage = severalErrors ? "dxGantt-dialogConstraintViolationSeveralTasksMessage" : "dxGantt-dialogConstraintViolationMessage" } items.push({ text: _message.default.format("dxGantt-dialogCancelOperationMessage"), value: 0 }); items.push({ text: _message.default.format(deleteMessage), value: 1 }); if (!hasCriticalErrors) { items.push({ text: _message.default.format(moveMessage), value: 2 }) } return [{ template: _message.default.format(titleMessage) }, { cssClass: "dx-cv-dialog-row", dataField: "option", label: { visible: false }, editorType: "dxRadioGroup", editorOptions: { items: items, valueExpr: "value", value: 0 } }] }; _proto6._getFormCssClass = function() { return "dx-cv-dialog" }; _proto6._updateParameters = function(formData) { this._parameters.option = formData.option }; return ConstraintViolationDialogInfo }(DialogInfoBase) }, 83553: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.export_helper.js ***! \********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GanttExportHelper = void 0; var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _uiGrid_core = _interopRequireDefault(__webpack_require__( /*! ../grid_core/ui.grid_core.utils */ 13615)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _date = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); var _number = _interopRequireDefault(__webpack_require__( /*! ../../localization/number */ 18016)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var GanttExportHelper = function() { function GanttExportHelper(gantt) { this._gantt = gantt; this._treeList = gantt._treeList; this._cache = {} } var _proto = GanttExportHelper.prototype; _proto.reset = function() { this._cache = {} }; _proto.getTreeListTableStyle = function() { var table = this._getTreeListTable(); var style = window.getComputedStyle(table); return { color: style.color, backgroundColor: style.backgroundColor, fontSize: style.fontSize, fontFamily: style.fontFamily, fontWeight: style.fontWeight, fontStyle: style.fontStyle, textAlign: "left", verticalAlign: "middle" } }; _proto.getTreeListColCount = function() { var headerView = this._getHeaderView(); var widths = headerView.getColumnWidths().filter((function(w) { return w > 0 })); return widths.length }; _proto.getTreeListHeaderInfo = function(colIndex) { var element = this._getHeaderElement(colIndex); if (!element) { return null } var style = window.getComputedStyle(element); var styleForExport = { color: style.color, padding: style.padding, paddingLeft: style.paddingLeft, paddingTop: style.paddingTop, paddingRight: style.paddingRight, paddingBottom: style.paddingBottom, verticalAlign: style.verticalAlign, width: this._getColumnWidth(colIndex) }; return { content: element.textContent, styles: styleForExport } }; _proto.getTreeListCellInfo = function(key, colIndex) { var _cell$textContent; var node = this._treeList.getNodeByKey(key); var visibleRowIndex = this._treeList.getRowIndexByKey(key); var cell = visibleRowIndex > -1 ? this._getDataCell(visibleRowIndex, colIndex) : null; var style = cell ? window.getComputedStyle(cell) : this._getColumnCellStyle(colIndex); var styleForExport = { color: style.color, padding: style.padding, paddingLeft: style.paddingLeft, paddingTop: style.paddingTop, paddingRight: style.paddingRight, paddingBottom: style.paddingBottom, width: this._getColumnWidth(colIndex) }; if (0 === colIndex) { styleForExport.extraLeftPadding = this._getEmptySpaceWidth(node.level) } return { content: null !== (_cell$textContent = null === cell || void 0 === cell ? void 0 : cell.textContent) && void 0 !== _cell$textContent ? _cell$textContent : this._getDisplayText(key, colIndex), styles: styleForExport } }; _proto.getTreeListEmptyDataCellInfo = function() { return { content: this._treeList.option("noDataText") } }; _proto._ensureColumnWidthCache = function(colIndex) { var _this$_cache, _this$_cache$_columnW; null !== (_this$_cache$_columnW = (_this$_cache = this._cache)["columnWidths"]) && void 0 !== _this$_cache$_columnW ? _this$_cache$_columnW : _this$_cache.columnWidths = {}; if (!this._cache.columnWidths[colIndex]) { var _header$clientWidth; var header = this._getHeaderElement(colIndex); this._cache.columnWidths[colIndex] = null !== (_header$clientWidth = null === header || void 0 === header ? void 0 : header.clientWidth) && void 0 !== _header$clientWidth ? _header$clientWidth : 0 } }; _proto._getColumnWidth = function(colIndex) { this._ensureColumnWidthCache(colIndex); var widths = this._cache.columnWidths; return widths && widths[colIndex] }; _proto._getEmptySpaceWidth = function(level) { if (!this._cache.emptyWidth) { var _this$_cache2, _this$_cache2$_emptyW, _element$offsetWidth; var element = this._getTreeListElement("dx-treelist-empty-space"); null !== (_this$_cache2$_emptyW = (_this$_cache2 = this._cache)["emptyWidth"]) && void 0 !== _this$_cache2$_emptyW ? _this$_cache2$_emptyW : _this$_cache2.emptyWidth = null !== (_element$offsetWidth = element.offsetWidth) && void 0 !== _element$offsetWidth ? _element$offsetWidth : 0 } return this._cache.emptyWidth * (level + 1) }; _proto._getColumnCellStyle = function(colIndex) { this._ensureColumnCellStyleCache(colIndex); return this._cache.columnStyles[colIndex] }; _proto._ensureColumnCellStyleCache = function(colIndex) { var _this$_cache3, _this$_cache3$_column; null !== (_this$_cache3$_column = (_this$_cache3 = this._cache)["columnStyles"]) && void 0 !== _this$_cache3$_column ? _this$_cache3$_column : _this$_cache3.columnStyles = {}; if (!this._cache.columnStyles[colIndex]) { var cell = this._getDataCell(0, colIndex); this._cache.columnStyles[colIndex] = window.getComputedStyle(cell) } }; _proto._getTask = function(key) { this._ensureTaskCache(key); return this._cache.tasks[key] }; _proto._ensureTaskCache = function(key) { var _this$_cache4, _this$_cache4$_tasks, _this$_cache$tasks, _this$_cache$tasks$ke; null !== (_this$_cache4$_tasks = (_this$_cache4 = this._cache)["tasks"]) && void 0 !== _this$_cache4$_tasks ? _this$_cache4$_tasks : _this$_cache4.tasks = {}; null !== (_this$_cache$tasks$ke = (_this$_cache$tasks = this._cache.tasks)[key]) && void 0 !== _this$_cache$tasks$ke ? _this$_cache$tasks$ke : _this$_cache$tasks[key] = this._gantt._findTaskByKey(key) }; _proto._getTreeListTable = function() { return this._getTreeListElement("dx-treelist-table") }; _proto._getTreeListElement = function(className) { return this._treeList._$element.find("." + className).get(0) }; _proto._getDataCell = function(rowIndex, colIndex) { var treeList = this._treeList; var cellElement = treeList.getCellElement(rowIndex, colIndex); return cellElement && cellElement.length ? cellElement[0] : cellElement }; _proto._getHeaderElement = function(index) { return this._getHeaderView().getHeaderElement(index).get(0) }; _proto._getHeaderView = function() { return this._treeList._views.columnHeadersView }; _proto._getDisplayText = function(key, colIndex) { var task = this._getTask(key); return task && this._getGridDisplayText(colIndex, task) }; _proto._getGridDisplayText = function(colIndex, data) { var columns = this._treeList.getController("columns").getColumns(); var column = columns[colIndex]; var field = null === column || void 0 === column ? void 0 : column.dataField; var format = null === column || void 0 === column ? void 0 : column.format; var value = _uiGrid_core.default.getDisplayValue(column, data[field], data, "data"); if ((0, _type.isDefined)(format)) { if ("date" === (null === column || void 0 === column ? void 0 : column.dataType) || "datetime" === (null === column || void 0 === column ? void 0 : column.dataType)) { var date = (0, _type.isDate)(value) ? value : new Date(value); return _date.default.format(date, format) } if ((0, _type.isNumeric)(value)) { return _number.default.format(value, format) } } return "string" === typeof value ? value : null === value || void 0 === value ? void 0 : value.toString() }; return GanttExportHelper }(); exports.GanttExportHelper = GanttExportHelper }, 30631: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.helper.js ***! \*************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GanttHelper = void 0; var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _message = (obj = __webpack_require__( /*! ../../localization/message */ 28109), obj && obj.__esModule ? obj : { default: obj }); var obj; var GanttHelper = { prepareMapHandler: function(getters) { return function(data) { return Object.keys(getters).reduce((function(previous, key) { var resultKey = "key" === key ? "id" : key; previous[resultKey] = getters[key](data); return previous }), {}) } }, prepareSetterMapHandler: function(setters) { return function(data) { return Object.keys(setters).reduce((function(previous, key) { var resultKey = "key" === key ? "id" : key; setters[key](previous, data[resultKey]); return previous }), {}) } }, compileGettersByOption: function(optionValue) { var getters = {}; for (var field in optionValue) { var exprMatches = field.match(/(\w*)Expr/); if (exprMatches) { getters[exprMatches[1]] = (0, _data.compileGetter)(optionValue[exprMatches[0]]) } } return getters }, compileSettersByOption: function(optionValue) { var setters = {}; for (var field in optionValue) { var exprMatches = field.match(/(\w*)Expr/); if (exprMatches && !(0, _type.isFunction)(optionValue[exprMatches[0]])) { setters[exprMatches[1]] = (0, _data.compileSetter)(optionValue[exprMatches[0]]) } } return setters }, compileFuncSettersByOption: function(optionValue) { var setters = {}; for (var field in optionValue) { var exprMatches = field.match(/(\w*)Expr/); if (exprMatches && (0, _type.isFunction)(optionValue[exprMatches[0]])) { setters[exprMatches[1]] = optionValue[exprMatches[0]] } } return setters }, getStoreObject: function(option, modelObject) { var setters = GanttHelper.compileSettersByOption(option); return Object.keys(setters).reduce((function(previous, key) { if ("key" !== key) { setters[key](previous, modelObject[key]) } return previous }), {}) }, getInvertedData: function(data, keyGetter) { var inverted = {}; if (data) { for (var i = 0; i < data.length; i++) { var dataItem = data[i]; var key = keyGetter(dataItem); inverted[key] = dataItem } } return inverted }, getArrayFromOneElement: function(element) { return void 0 === element || null === element ? [] : [element] }, getSelectionMode: function(allowSelection) { return allowSelection ? "single" : "none" }, convertTreeToList: function(node, array) { if (null !== node && void 0 !== node && node.data && null !== node && void 0 !== node && node.visible) { array.push(node.data) } for (var i = 0; i < (null === (_node$children = node.children) || void 0 === _node$children ? void 0 : _node$children.length); i++) { var _node$children; var child = node.children[i]; GanttHelper.convertTreeToList(child, array) } }, getAllParentNodesKeys: function(node, array) { var _node$parent; if (null !== node && void 0 !== node && node.data) { array.push(node.key) } if (null !== node && void 0 !== node && null !== (_node$parent = node.parent) && void 0 !== _node$parent && _node$parent.data) { GanttHelper.getAllParentNodesKeys(node.parent, array) } }, getDefaultOptions: function() { return { tasks: { dataSource: null, keyExpr: "id", parentIdExpr: "parentId", startExpr: "start", endExpr: "end", progressExpr: "progress", titleExpr: "title", colorExpr: "color" }, dependencies: { dataSource: null, keyExpr: "id", predecessorIdExpr: "predecessorId", successorIdExpr: "successorId", typeExpr: "type" }, resources: { dataSource: null, keyExpr: "id", textExpr: "text", colorExpr: "color" }, resourceAssignments: { dataSource: null, keyExpr: "id", taskIdExpr: "taskId", resourceIdExpr: "resourceId" }, columns: void 0, taskListWidth: 300, showResources: true, showDependencies: true, taskTitlePosition: "inside", firstDayOfWeek: void 0, selectedRowKey: void 0, onSelectionChanged: null, onTaskClick: null, onTaskDblClick: null, onTaskInserting: null, onTaskInserted: null, onTaskDeleting: null, onTaskDeleted: null, onTaskUpdating: null, onTaskUpdated: null, onTaskMoving: null, onTaskEditDialogShowing: null, onDependencyInserting: null, onDependencyInserted: null, onDependencyDeleting: null, onDependencyDeleted: null, onResourceInserting: null, onResourceInserted: null, onResourceDeleting: null, onResourceDeleted: null, onResourceAssigning: null, onResourceAssigned: null, onResourceUnassigning: null, onResourceUnassigned: null, onCustomCommand: null, onContextMenuPreparing: null, allowSelection: true, showRowLines: true, stripLines: void 0, scaleType: "auto", scaleTypeRange: { min: "minutes", max: "years" }, editing: { enabled: false, allowTaskAdding: true, allowTaskDeleting: true, allowTaskUpdating: true, allowDependencyAdding: true, allowDependencyDeleting: true, allowResourceAdding: true, allowResourceDeleting: true, allowResourceUpdating: true, allowTaskResourceUpdating: true }, validation: { validateDependencies: false, autoUpdateParentTasks: false, enablePredecessorGap: false }, toolbar: null, contextMenu: { enabled: true, items: void 0 }, taskTooltipContentTemplate: null, taskProgressTooltipContentTemplate: null, taskTimeTooltipContentTemplate: null, taskContentTemplate: null, rootValue: 0, sorting: { ascendingText: _message.default.format("dxGantt-sortingAscendingText"), descendingText: _message.default.format("dxGantt-sortingDescendingText"), clearText: _message.default.format("dxGantt-sortingClearText"), mode: "single", showSortIndexes: false }, filterRow: void 0, headerFilter: void 0, rtlEnabled: false } } }; exports.GanttHelper = GanttHelper }, 85183: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _uiGantt = __webpack_require__( /*! ./ui.gantt.model_changes_listener */ 48604); var _uiGanttData = _interopRequireDefault(__webpack_require__( /*! ./ui.gantt.data.option */ 52609)); var _load_panel = _interopRequireDefault(__webpack_require__( /*! ../load_panel */ 97218)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _splitter = _interopRequireDefault(__webpack_require__( /*! ../splitter */ 93288)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _uiGantt2 = __webpack_require__( /*! ./ui.gantt.actions */ 87110); var _uiGantt3 = __webpack_require__( /*! ./ui.gantt.custom_fields */ 74320); var _uiGantt4 = __webpack_require__( /*! ./ui.gantt.dialogs */ 10612); var _uiGantt5 = __webpack_require__( /*! ./ui.gantt.export_helper */ 83553); var _uiGantt6 = __webpack_require__( /*! ./ui.gantt.helper */ 30631); var _uiGantt7 = __webpack_require__( /*! ./ui.gantt.mapping_helper */ 32679); var _uiGantt8 = __webpack_require__( /*! ./ui.gantt.size_helper */ 28990); var _uiGantt9 = __webpack_require__( /*! ./ui.gantt.templates */ 23638); var _uiGantt10 = __webpack_require__( /*! ./ui.gantt.bars */ 73630); var _uiGantt11 = __webpack_require__( /*! ./ui.gantt.treelist */ 87367); var _uiGantt12 = __webpack_require__( /*! ./ui.gantt.view */ 21347); var _uiGantt13 = __webpack_require__( /*! ./ui.gantt.data_changes_processing_helper */ 28512); var _uiGrid_core = _interopRequireDefault(__webpack_require__( /*! ../grid_core/ui.grid_core.utils */ 13615)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var window = (0, _window.getWindow)(); var Gantt = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Gantt, _Widget); function Gantt() { return _Widget.apply(this, arguments) || this } var _proto = Gantt.prototype; _proto._init = function() { _Widget.prototype._init.call(this); _uiGrid_core.default.logHeaderFilterDeprecatedWarningIfNeed(this); this._initGantt(); this._isGanttRendered = false; this._initHelpers() }; _proto._initGantt = function() { this._refreshDataSources() }; _proto._initMarkup = function() { _Widget.prototype._initMarkup.call(this); this.$element().addClass("dx-gantt"); this._$toolbarWrapper = (0, _renderer.default)("<div>").addClass("dx-gantt-toolbar-wrapper").appendTo(this.$element()); this._$toolbar = (0, _renderer.default)("<div>").appendTo(this._$toolbarWrapper); this._$mainWrapper = (0, _renderer.default)("<div>").addClass("dx-gantt-main-wrapper").appendTo(this.$element()); this._$treeListWrapper = (0, _renderer.default)("<div>").addClass("dx-gantt-treelist-wrapper").appendTo(this._$mainWrapper); this._$treeList = (0, _renderer.default)("<div>").appendTo(this._$treeListWrapper); this._$splitter = (0, _renderer.default)("<div>").appendTo(this._$mainWrapper); this._$ganttView = (0, _renderer.default)("<div>").addClass("dx-gantt-view").appendTo(this._$mainWrapper); this._$dialog = (0, _renderer.default)("<div>").appendTo(this.$element()); this._$loadPanel = (0, _renderer.default)("<div>").appendTo(this.$element()); this._$contextMenu = (0, _renderer.default)("<div>").appendTo(this.$element()) }; _proto._clean = function() { var _this$_ganttView; null === (_this$_ganttView = this._ganttView) || void 0 === _this$_ganttView ? void 0 : _this$_ganttView._ganttViewCore.cleanMarkup(); delete this._ganttView; delete this._dialogInstance; delete this._loadPanel; delete this._exportHelper; _Widget.prototype._clean.call(this) }; _proto._refresh = function() { this._isGanttRendered = false; this._contentReadyRaised = false; _Widget.prototype._refresh.call(this) }; _proto._fireContentReadyAction = function() { if (!this._contentReadyRaised) { _Widget.prototype._fireContentReadyAction.call(this) } this._contentReadyRaised = true }; _proto._dimensionChanged = function() { var _this$_ganttView2; null === (_this$_ganttView2 = this._ganttView) || void 0 === _this$_ganttView2 ? void 0 : _this$_ganttView2._onDimensionChanged() }; _proto._visibilityChanged = function(visible) { if (visible) { this._refreshGantt() } }; _proto._refreshGantt = function() { this._refreshDataSources(); this._refresh() }; _proto._refreshDataSources = function() { this._refreshDataSource("tasks"); this._refreshDataSource("dependencies"); this._refreshDataSource("resources"); this._refreshDataSource("resourceAssignments") }; _proto._renderContent = function() { this._isMainElementVisible = this.$element().is(":visible"); if (this._isMainElementVisible && !this._isGanttRendered) { this._isGanttRendered = true; this._renderBars(); this._renderTreeList(); this._renderSplitter() } }; _proto._renderTreeList = function() { this._ganttTreeList = new _uiGantt11.GanttTreeList(this); this._treeList = this._ganttTreeList.getTreeList(); this._ganttTreeList.onAfterTreeListCreate() }; _proto._renderSplitter = function() { var _this = this; this._splitter = this._createComponent(this._$splitter, _splitter.default, { container: this.$element(), leftElement: this._$treeListWrapper, rightElement: this._$ganttView, onApplyPanelSize: function(e) { _this._sizeHelper.onApplyPanelSize(e) } }); this._splitter.option("initialLeftPanelWidth", this.option("taskListWidth")) }; _proto._renderBars = function() { this._bars = []; this._toolbar = new _uiGantt10.GanttToolbar(this._$toolbar, this); this._updateToolbarContent(); this._bars.push(this._toolbar); this._contextMenuBar = new _uiGantt10.GanttContextMenuBar(this._$contextMenu, this); this._updateContextMenu(); this._bars.push(this._contextMenuBar) }; _proto._initHelpers = function() { this._mappingHelper = new _uiGantt7.GanttMappingHelper(this); this._customFieldsManager = new _uiGantt3.GanttCustomFieldsManager(this); this._actionsManager = new _uiGantt2.GanttActionsManager(this); this._ganttTemplatesManager = new _uiGantt9.GanttTemplatesManager(this); this._sizeHelper = new _uiGantt8.GanttSizeHelper(this); this._dataProcessingHelper = new _uiGantt13.GanttDataChangesProcessingHelper }; _proto._initGanttView = function() { var _this2 = this; if (this._ganttView) { return } this._ganttView = this._createComponent(this._$ganttView, _uiGantt12.GanttView, { width: "100%", height: this._ganttTreeList.getOffsetHeight(), rowHeight: this._ganttTreeList.getRowHeight(), headerHeight: this._ganttTreeList.getHeaderHeight(), tasks: this._tasks, dependencies: this._dependencies, resources: this._resources, resourceAssignments: this._resourceAssignments, allowSelection: this.option("allowSelection"), selectedRowKey: this.option("selectedRowKey"), showResources: this.option("showResources"), showDependencies: this.option("showDependencies"), startDateRange: this.option("startDateRange"), endDateRange: this.option("endDateRange"), taskTitlePosition: this.option("taskTitlePosition"), firstDayOfWeek: this.option("firstDayOfWeek"), showRowLines: this.option("showRowLines"), scaleType: this.option("scaleType"), scaleTypeRange: this.option("scaleTypeRange"), editing: this.option("editing"), validation: this.option("validation"), stripLines: this.option("stripLines"), bars: this._bars, mainElement: this.$element(), onSelectionChanged: function(e) { _this2._ganttTreeList.selectRows(_uiGantt6.GanttHelper.getArrayFromOneElement(e.id)) }, onViewTypeChanged: function(e) { _this2._onViewTypeChanged(e.type) }, onScroll: function(e) { _this2._ganttTreeList.scrollBy(e.scrollTop) }, onDialogShowing: this._showDialog.bind(this), onPopupMenuShowing: this._showPopupMenu.bind(this), onPopupMenuHiding: this._hidePopupMenu.bind(this), onExpandAll: this._expandAll.bind(this), onCollapseAll: this._collapseAll.bind(this), modelChangesListener: _uiGantt.ModelChangesListener.create(this), exportHelper: this._getExportHelper(), taskTooltipContentTemplate: this._ganttTemplatesManager.getTaskTooltipContentTemplateFunc(this.option("taskTooltipContentTemplate")), taskProgressTooltipContentTemplate: this._ganttTemplatesManager.getTaskProgressTooltipContentTemplateFunc(this.option("taskProgressTooltipContentTemplate")), taskTimeTooltipContentTemplate: this._ganttTemplatesManager.getTaskTimeTooltipContentTemplateFunc(this.option("taskTimeTooltipContentTemplate")), taskContentTemplate: this._ganttTemplatesManager.getTaskContentTemplateFunc(this.option("taskContentTemplate")), onTaskClick: function(e) { _this2._ganttTreeList.onRowClick(e) }, onTaskDblClick: function(e) { _this2._ganttTreeList.onRowDblClick(e) }, onAdjustControl: function() { _this2._sizeHelper.onAdjustControl() }, onContentReady: this._onGanttViewContentReady.bind(this) }) }; _proto._onGanttViewContentReady = function(e) { if (!this._isParentAutoUpdateMode()) { this._fireContentReadyAction() } }; _proto._isParentAutoUpdateMode = function() { return this.option("validation.autoUpdateParentTasks") }; _proto._onTreeListContentReady = function(e) { if (this._isParentAutoUpdateMode() && this._treeListParentRecalculatedDataUpdating) { this._fireContentReadyAction() } delete this._treeListParentRecalculatedDataUpdating; this._dataProcessingHelper.onTreeListReady() }; _proto._onViewTypeChanged = function(type) { this.option("scaleType", this._actionsManager._getScaleType(type)) }; _proto._refreshDataSource = function(name) { var _this3 = this; var dataOption = this["_".concat(name, "Option")]; if (dataOption) { dataOption.dispose(); delete this["_".concat(name, "Option")]; delete this["_".concat(name)] } dataOption = new _uiGanttData.default(name, this._getLoadPanel.bind(this), (function(name, data) { _this3._dataSourceChanged(name, data) })); dataOption.option("dataSource", this._getSpecificDataSourceOption(name)); dataOption._refreshDataSource(); this["_".concat(name, "Option")] = dataOption }; _proto._getSpecificDataSourceOption = function(name) { var dataSource = this.option("".concat(name, ".dataSource")); if (!dataSource || Array.isArray(dataSource)) { return { store: { type: "array", data: null !== dataSource && void 0 !== dataSource ? dataSource : [], key: this.option("".concat(name, ".keyExpr")) } } } return dataSource }; _proto._dataSourceChanged = function(dataSourceName, data) { var getters = _uiGantt6.GanttHelper.compileGettersByOption(this.option(dataSourceName)); var validatedData = this._validateSourceData(dataSourceName, data); var mappedData = validatedData.map(_uiGantt6.GanttHelper.prepareMapHandler(getters)); this["_".concat(dataSourceName)] = mappedData; this._setGanttViewOption(dataSourceName, mappedData); if ("tasks" === dataSourceName) { var _this$_ganttTreeList, _this$_ganttTreeList2, _this$_ganttTreeList3; this._tasksRaw = validatedData; var forceUpdate = !(null !== (_this$_ganttTreeList = this._ganttTreeList) && void 0 !== _this$_ganttTreeList && _this$_ganttTreeList.getDataSource()) && !this._ganttView; null === (_this$_ganttTreeList2 = this._ganttTreeList) || void 0 === _this$_ganttTreeList2 ? void 0 : _this$_ganttTreeList2.saveExpandedKeys(); null === (_this$_ganttTreeList3 = this._ganttTreeList) || void 0 === _this$_ganttTreeList3 ? void 0 : _this$_ganttTreeList3.updateDataSource(validatedData, forceUpdate) } }; _proto._validateSourceData = function(dataSourceName, data) { return data && "tasks" === dataSourceName ? this._validateTaskData(data) : data }; _proto._validateTaskData = function(data) { var _this$option; var keyGetter = (0, _data.compileGetter)(this.option("".concat("tasks", ".keyExpr"))); var parentIdGetter = (0, _data.compileGetter)(this.option("".concat("tasks", ".parentIdExpr"))); var rootValue = null !== (_this$option = this.option("rootValue")) && void 0 !== _this$option ? _this$option : "dx_dxt_gantt_default_root_value"; var validationTree = {}; for (var i = 0; i < data.length; i++) { var item = data[i]; if (item) { var _validationTree$key; var key = keyGetter(item); var isRootTask = key === rootValue; var treeItem = null !== (_validationTree$key = validationTree[key]) && void 0 !== _validationTree$key ? _validationTree$key : validationTree[key] = { key: key, children: [] }; if (!isRootTask) { var _parentIdGetter, _validationTree$paren; var parentId = null !== (_parentIdGetter = parentIdGetter(item)) && void 0 !== _parentIdGetter ? _parentIdGetter : rootValue; var parentTreeItem = null !== (_validationTree$paren = validationTree[parentId]) && void 0 !== _validationTree$paren ? _validationTree$paren : validationTree[parentId] = { key: parentId, children: [] }; parentTreeItem.children.push(treeItem); treeItem.parent = parentTreeItem } } } var validKeys = [rootValue]; this._appendChildKeys(validationTree[rootValue], validKeys); return data.filter((function(item) { return validKeys.indexOf(keyGetter(item)) > -1 })) }; _proto._appendChildKeys = function(treeItem, keys) { var children = null === treeItem || void 0 === treeItem ? void 0 : treeItem.children; for (var i = 0; i < (null === children || void 0 === children ? void 0 : children.length); i++) { var child = children[i]; keys.push(child.key); this._appendChildKeys(child, keys) } }; _proto._onRecordInserted = function(optionName, record, callback) { var _this4 = this; var dataOption = this["_".concat(optionName, "Option")]; if (dataOption) { var data = _uiGantt6.GanttHelper.getStoreObject(this.option(optionName), record); var isTaskInsert = "tasks" === optionName; if (isTaskInsert) { this._customFieldsManager.addCustomFieldsDataFromCache("gantt_new_task_key", data) } dataOption.insert(data, (function(response) { var keyGetter = (0, _data.compileGetter)(_this4.option("".concat(optionName, ".keyExpr"))); var insertedId = keyGetter(response); callback(insertedId); _this4._executeFuncSetters(optionName, record, insertedId); _this4._dataProcessingHelper.addCompletionAction((function() { _this4._actionsManager.raiseInsertedAction(optionName, data, insertedId) }), true, isTaskInsert); _this4._ganttTreeList.saveExpandedKeys(); dataOption._reloadDataSource().done((function(data) { if (isTaskInsert) { _this4._ganttTreeList.onTaskInserted(insertedId, record.parentId) } })) })) } }; _proto._onRecordUpdated = function(optionName, key, values) { var _this5 = this; var dataOption = this["_".concat(optionName, "Option")]; var isTaskUpdated = "tasks" === optionName; if (dataOption) { var data = this._mappingHelper.convertCoreToMappedData(optionName, values); var hasCustomFieldsData = isTaskUpdated && this._customFieldsManager.cache.hasData(key); if (hasCustomFieldsData) { this._customFieldsManager.addCustomFieldsDataFromCache(key, data) } dataOption.update(key, data, (function() { _this5._executeFuncSetters(optionName, values, key); _this5._ganttTreeList.saveExpandedKeys(); _this5._dataProcessingHelper.addCompletionAction((function() { _this5._actionsManager.raiseUpdatedAction(optionName, data, key) }), true, isTaskUpdated); dataOption._reloadDataSource() })) } }; _proto._onRecordRemoved = function(optionName, key, data) { var _this6 = this; var dataOption = this["_".concat(optionName, "Option")]; if (dataOption) { dataOption.remove(key, (function() { _this6._ganttTreeList.saveExpandedKeys(); _this6._dataProcessingHelper.addCompletionAction((function() { _this6._actionsManager.raiseDeletedAction(optionName, key, _this6._mappingHelper.convertCoreToMappedData(optionName, data)) }), true, "tasks" === optionName); dataOption._reloadDataSource() })) } }; _proto._onParentTaskUpdated = function(data) { var mappedData = this.getTaskDataByCoreData(data); this._actionsManager.raiseUpdatedAction("tasks", mappedData, data.id) }; _proto._onParentTasksRecalculated = function(data) { var _this7 = this; if (!this.isSieving) { var setters = _uiGantt6.GanttHelper.compileSettersByOption(this.option("tasks")); var treeDataSource = this._customFieldsManager.appendCustomFields(data.map(_uiGantt6.GanttHelper.prepareSetterMapHandler(setters))); setTimeout((function() { var _this7$_ganttTreeList; _this7._treeListParentRecalculatedDataUpdating = true; null === (_this7$_ganttTreeList = _this7._ganttTreeList) || void 0 === _this7$_ganttTreeList ? void 0 : _this7$_ganttTreeList.setDataSource(treeDataSource) })) } this.isSieving = false }; _proto._onGanttViewCoreUpdated = function() { this._dataProcessingHelper.onGanttViewReady() }; _proto._executeFuncSetters = function(optionName, coreData, key) { var funcSetters = _uiGantt6.GanttHelper.compileFuncSettersByOption(this.option(optionName)); var keysToUpdate = Object.keys(funcSetters).filter((function(k) { return (0, _type.isDefined)(coreData[k]) })); if (keysToUpdate.length > 0) { var dataObject = this._getDataSourceItem(optionName, key); keysToUpdate.forEach((function(k) { var setter = funcSetters[k]; setter(dataObject, coreData[k]) })) } }; _proto._sortAndFilter = function() { var _this$_savedSortFilte, _this$_savedSortFilte2, _this$_savedSortFilte3; var treeList = this._treeList; var columns = treeList.getVisibleColumns(); var sortedColumns = columns.filter((function(c) { return c.sortIndex > -1 })); var sortedState = sortedColumns.map((function(c) { return { sortIndex: c.sortIndex, sortOrder: c.sortOrder } })); var sortedStateChanged = !this._compareSortedState(null === (_this$_savedSortFilte = this._savedSortFilterState) || void 0 === _this$_savedSortFilte ? void 0 : _this$_savedSortFilte.sort, sortedState); var filterValue = treeList.option("filterValue"); var filterChanged = treeList.option("expandNodesOnFiltering") && filterValue !== (null === (_this$_savedSortFilte2 = this._savedSortFilterState) || void 0 === _this$_savedSortFilte2 ? void 0 : _this$_savedSortFilte2.filter); var sieveColumn = sortedColumns[0] || columns.filter((function(c) { var _c$filterValues; return (0, _type.isDefined)(c.filterValue) || (null === (_c$filterValues = c.filterValues) || void 0 === _c$filterValues ? void 0 : _c$filterValues.length) }))[0]; var isClearSieving = (null === (_this$_savedSortFilte3 = this._savedSortFilterState) || void 0 === _this$_savedSortFilte3 ? void 0 : _this$_savedSortFilte3.sieveColumn) && !sieveColumn; if (sieveColumn || isClearSieving) { var sieveOptions = sieveColumn && { sievedItems: this._ganttTreeList.getSievedItems(), sieveColumn: sieveColumn, expandTasks: filterChanged || filterValue && sortedStateChanged }; this.isSieving = !isClearSieving; this._setGanttViewOption("sieve", sieveOptions) } this._savedSortFilterState = { sort: sortedState, filter: filterValue, sieveColumn: sieveColumn } }; _proto._compareSortedState = function(state1, state2) { if (!state1 || !state2 || state1.length !== state2.length) { return false } return state1.every((function(c, i) { return c.sortIndex === state2[i].sortIndex && c.sortOrder === state2[i].sortOrder })) }; _proto._getToolbarItems = function() { var items = this.option("toolbar.items"); return items ? items : [] }; _proto._updateToolbarContent = function() { var items = this._getToolbarItems(); if (items.length) { this._$toolbarWrapper.show() } else { this._$toolbarWrapper.hide() } this._toolbar && this._toolbar.createItems(items); this._updateBarItemsState() }; _proto._updateContextMenu = function() { var contextMenuOptions = this.option("contextMenu"); if (contextMenuOptions.enabled && this._contextMenuBar) { this._contextMenuBar.createItems(contextMenuOptions.items); this._updateBarItemsState() } }; _proto._updateBarItemsState = function() { this._ganttView && this._ganttView.updateBarItemsState() }; _proto._showDialog = function(e) { if (!this._dialogInstance) { this._dialogInstance = new _uiGantt4.GanttDialog(this, this._$dialog) } this._dialogInstance.show(e.name, e.parameters, e.callback, e.afterClosing, this.option("editing")) }; _proto._showPopupMenu = function(info) { if (this.option("contextMenu.enabled")) { this._ganttView.getBarManager().updateContextMenu(); var args = { cancel: false, event: info.event, targetType: info.type, targetKey: info.key, items: (0, _extend.extend)(true, [], this._contextMenuBar._items), data: "task" === info.type ? this.getTaskData(info.key) : this.getDependencyData(info.key) }; this._actionsManager.raiseContextMenuPreparing(args); if (!args.cancel) { this._contextMenuBar.show(info.position, args.items) } } }; _proto._hidePopupMenu = function() { this._contextMenuBar.hide() }; _proto._getLoadPanel = function() { if (!this._loadPanel) { this._loadPanel = this._createComponent(this._$loadPanel, _load_panel.default, { position: { of: this.$element() } }) } return this._loadPanel }; _proto._getTaskKeyGetter = function() { return this._getDataSourceItemKeyGetter("tasks") }; _proto._findTaskByKey = function(key) { return this._getDataSourceItem("tasks", key) }; _proto._getDataSourceItem = function(dataOptionName, key) { var dataOption = this["_".concat(dataOptionName, "Option")]; var keyGetter = this._getDataSourceItemKeyGetter(dataOptionName); var items = null === dataOption || void 0 === dataOption ? void 0 : dataOption._getItems(); return items.find((function(t) { return keyGetter(t) === key })) }; _proto._getDataSourceItemKeyGetter = function(dataOptionName) { return (0, _data.compileGetter)(this.option("".concat(dataOptionName, ".keyExpr"))) }; _proto._setGanttViewOption = function(optionName, value) { this._ganttView && this._ganttView.option(optionName, value) }; _proto._getGanttViewOption = function(optionName, value) { var _this$_ganttView3; return null === (_this$_ganttView3 = this._ganttView) || void 0 === _this$_ganttView3 ? void 0 : _this$_ganttView3.option(optionName) }; _proto._getExportHelper = function() { var _this$_exportHelper; null !== (_this$_exportHelper = this._exportHelper) && void 0 !== _this$_exportHelper ? _this$_exportHelper : this._exportHelper = new _uiGantt5.GanttExportHelper(this); return this._exportHelper }; _proto._executeCoreCommand = function(id) { this._ganttView.executeCoreCommand(id) }; _proto._expandAll = function() { this._changeExpandAll(true) }; _proto._collapseAll = function() { this._changeExpandAll(false) }; _proto._onTreeListRowExpandChanged = function(e, expanded) { if (!this._lockRowExpandEvent) { this._ganttView.changeTaskExpanded(e.key, expanded); this._sizeHelper.adjustHeight() } }; _proto._changeExpandAll = function(expanded, level, rowKey) { var _promise, _this8 = this; var allExpandableNodes = []; var nodesToExpand = []; this._treeList.forEachNode((function(node) { var _node$children; if (null !== (_node$children = node.children) && void 0 !== _node$children && _node$children.length) { allExpandableNodes.push(node) } })); if (rowKey) { var node = this._treeList.getNodeByKey(rowKey); _uiGantt6.GanttHelper.getAllParentNodesKeys(node, nodesToExpand) } var promise; this._lockRowExpandEvent = allExpandableNodes.length > 0; var state = allExpandableNodes.reduce((function(previous, node, index) { if (rowKey) { expanded = nodesToExpand.includes(node.key) } else if (level) { expanded = node.level < level } previous[node.key] = expanded; var action = expanded ? _this8._treeList.expandRow : _this8._treeList.collapseRow; var isLast = index === allExpandableNodes.length - 1; if (isLast) { promise = action(node.key) } else { action(node.key) } return previous }), {}); null === (_promise = promise) || void 0 === _promise ? void 0 : _promise.then((function() { _this8._ganttView.applyTasksExpandedState(state); _this8._sizeHelper.adjustHeight(); delete _this8._lockRowExpandEvent })) }; _proto.getTaskResources = function(key) { var _this9 = this; if (!(0, _type.isDefined)(key)) { return null } var coreData = this._ganttView._ganttViewCore.getTaskResources(key); return coreData.map((function(r) { return _this9._mappingHelper.convertCoreToMappedData("resources", r) })) }; _proto.getVisibleTaskKeys = function() { return this._ganttView._ganttViewCore.getVisibleTaskKeys() }; _proto.getVisibleDependencyKeys = function() { return this._ganttView._ganttViewCore.getVisibleDependencyKeys() }; _proto.getVisibleResourceKeys = function() { return this._ganttView._ganttViewCore.getVisibleResourceKeys() }; _proto.getVisibleResourceAssignmentKeys = function() { return this._ganttView._ganttViewCore.getVisibleResourceAssignmentKeys() }; _proto.getTaskData = function(key) { if (!(0, _type.isDefined)(key)) { return null } var coreData = this._ganttView._ganttViewCore.getTaskData(key); var mappedData = this.getTaskDataByCoreData(coreData); return mappedData }; _proto.getTaskDataByCoreData = function(coreData) { var mappedData = coreData ? this._mappingHelper.convertCoreToMappedData("tasks", coreData) : null; this._customFieldsManager.addCustomFieldsData(coreData.id, mappedData); return mappedData }; _proto.insertTask = function(data) { this._customFieldsManager.saveCustomFieldsDataToCache("gantt_new_task_key", data); this._ganttView._ganttViewCore.insertTask(this._mappingHelper.convertMappedToCoreData("tasks", data)) }; _proto.deleteTask = function(key) { this._ganttView._ganttViewCore.deleteTask(key) }; _proto.updateTask = function(key, data) { var coreTaskData = this._mappingHelper.convertMappedToCoreData("tasks", data); var isCustomFieldsUpdateOnly = !Object.keys(coreTaskData).length; this._customFieldsManager.saveCustomFieldsDataToCache(key, data, true, isCustomFieldsUpdateOnly); if (isCustomFieldsUpdateOnly) { var customFieldsData = this._customFieldsManager._getCustomFieldsData(data); if (Object.keys(customFieldsData).length > 0) { this._actionsManager.raiseUpdatingAction("tasks", { cancel: false, key: key, newValues: {} }) } } else { this._ganttView._ganttViewCore.updateTask(key, coreTaskData) } }; _proto.getDependencyData = function(key) { if (!(0, _type.isDefined)(key)) { return null } var coreData = this._ganttView._ganttViewCore.getDependencyData(key); return coreData ? this._mappingHelper.convertCoreToMappedData("dependencies", coreData) : null }; _proto.insertDependency = function(data) { this._ganttView._ganttViewCore.insertDependency(this._mappingHelper.convertMappedToCoreData("dependencies", data)) }; _proto.deleteDependency = function(key) { this._ganttView._ganttViewCore.deleteDependency(key) }; _proto.getResourceData = function(key) { var coreData = this._ganttView._ganttViewCore.getResourceData(key); return coreData ? this._mappingHelper.convertCoreToMappedData("resources", coreData) : null }; _proto.deleteResource = function(key) { this._ganttView._ganttViewCore.deleteResource(key) }; _proto.insertResource = function(data, taskKeys) { this._ganttView._ganttViewCore.insertResource(this._mappingHelper.convertMappedToCoreData("resources", data), taskKeys) }; _proto.getResourceAssignmentData = function(key) { var coreData = this._ganttView._ganttViewCore.getResourceAssignmentData(key); return coreData ? this._mappingHelper.convertCoreToMappedData("resourceAssignments", coreData) : null }; _proto.assignResourceToTask = function(resourceKey, taskKey) { this._ganttView._ganttViewCore.assignResourceToTask(resourceKey, taskKey) }; _proto.unassignResourceFromTask = function(resourceKey, taskKey) { this._ganttView._ganttViewCore.unassignResourceFromTask(resourceKey, taskKey) }; _proto.unassignAllResourcesFromTask = function(taskKey) { this._ganttView._ganttViewCore.unassignAllResourcesFromTask(taskKey) }; _proto.updateDimensions = function() { this._sizeHelper.onAdjustControl() }; _proto.scrollToDate = function(date) { this._ganttView._ganttViewCore.scrollToDate(date) }; _proto.showResourceManagerDialog = function() { this._ganttView._ganttViewCore.showResourcesDialog() }; _proto.showTaskDetailsDialog = function(taskKey) { this._ganttView._ganttViewCore.showTaskDetailsDialog(taskKey) }; _proto.exportToPdf = function(options) { return this._exportToPdf(options) }; _proto._exportToPdf = function(options) { var _fullOptions$pdfDocum, _fullOptions$docCreat, _window$jspdf$jsPDF, _window$jspdf, _fullOptions$format, _this10 = this; this._exportHelper.reset(); var fullOptions = (0, _extend.extend)({}, options); if (fullOptions.createDocumentMethod) { fullOptions.docCreateMethod = fullOptions.createDocumentMethod } null !== (_fullOptions$pdfDocum = fullOptions.pdfDocument) && void 0 !== _fullOptions$pdfDocum ? _fullOptions$pdfDocum : fullOptions.pdfDocument = fullOptions.jsPDFDocument; null !== (_fullOptions$docCreat = fullOptions.docCreateMethod) && void 0 !== _fullOptions$docCreat ? _fullOptions$docCreat : fullOptions.docCreateMethod = null !== (_window$jspdf$jsPDF = null === (_window$jspdf = window.jspdf) || void 0 === _window$jspdf ? void 0 : _window$jspdf.jsPDF) && void 0 !== _window$jspdf$jsPDF ? _window$jspdf$jsPDF : window.jsPDF; null !== (_fullOptions$format = fullOptions.format) && void 0 !== _fullOptions$format ? _fullOptions$format : fullOptions.format = "a4"; return new Promise((function(resolve) { var _this10$_ganttView; var doc = null === (_this10$_ganttView = _this10._ganttView) || void 0 === _this10$_ganttView ? void 0 : _this10$_ganttView._ganttViewCore.exportToPdf(fullOptions); resolve(doc) })) }; _proto.refresh = function() { var _this11 = this; return new Promise((function(resolve, reject) { try { _this11._refreshGantt(); resolve() } catch (e) { reject(e.message) } })) }; _proto.expandAll = function() { this._expandAll() }; _proto.collapseAll = function() { this._collapseAll() }; _proto.expandAllToLevel = function(level) { this._changeExpandAll(false, level) }; _proto.expandToTask = function(key) { var _node$parent; var node = this._treeList.getNodeByKey(key); this._changeExpandAll(false, 0, null === node || void 0 === node ? void 0 : null === (_node$parent = node.parent) || void 0 === _node$parent ? void 0 : _node$parent.key) }; _proto.collapseTask = function(key) { this._treeList.collapseRow(key) }; _proto.expandTask = function(key) { this._treeList.expandRow(key) }; _proto.showResources = function(value) { this.option("showResources", value) }; _proto.showDependencies = function(value) { this.option("showDependencies", value) }; _proto.zoomIn = function() { this._ganttView._ganttViewCore.zoomIn() }; _proto.zoomOut = function() { this._ganttView._ganttViewCore.zoomOut() }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), _uiGantt6.GanttHelper.getDefaultOptions()) }; _proto._optionChanged = function(args) { var _this$_ganttTreeList4, _this$_sizeHelper, _this$_ganttTreeList5, _this$_actionsManager, _this$_actionsManager2, _this$_actionsManager3, _this$_actionsManager4, _this$_actionsManager5, _this$_actionsManager6, _this$_actionsManager7, _this$_actionsManager8, _this$_actionsManager9, _this$_actionsManager10, _this$_actionsManager11, _this$_actionsManager12, _this$_actionsManager13, _this$_actionsManager14, _this$_actionsManager15, _this$_actionsManager16, _this$_actionsManager17, _this$_actionsManager18, _this$_actionsManager19, _this$_actionsManager20, _this$_actionsManager21, _this$_actionsManager22, _this$_actionsManager23, _this$_actionsManager24, _this$_actionsManager25, _this$_actionsManager26, _this$_actionsManager27, _this$_ganttTreeList6, _this$_ganttTreeList7, _this$_ganttTemplates, _this$_ganttTemplates2, _this$_ganttTemplates3, _this$_ganttTemplates4, _this$_ganttTreeList8, _this$_sizeHelper2, _this$_sizeHelper3, _this$_ganttTreeList9, _this$_ganttTreeList10, _this$_ganttTreeList11; switch (args.name) { case "tasks": this._refreshDataSource("tasks"); break; case "dependencies": this._refreshDataSource("dependencies"); break; case "resources": this._refreshDataSource("resources"); break; case "resourceAssignments": this._refreshDataSource("resourceAssignments"); break; case "columns": null === (_this$_ganttTreeList4 = this._ganttTreeList) || void 0 === _this$_ganttTreeList4 ? void 0 : _this$_ganttTreeList4.setOption("columns", this._ganttTreeList.getColumns()); break; case "taskListWidth": null === (_this$_sizeHelper = this._sizeHelper) || void 0 === _this$_sizeHelper ? void 0 : _this$_sizeHelper.setInnerElementsWidth(); break; case "showResources": this._setGanttViewOption("showResources", args.value); break; case "showDependencies": this._setGanttViewOption("showDependencies", args.value); break; case "taskTitlePosition": this._setGanttViewOption("taskTitlePosition", args.value); break; case "firstDayOfWeek": this._setGanttViewOption("firstDayOfWeek", args.value); break; case "startDateRange": this._setGanttViewOption("startDateRange", args.value); break; case "endDateRange": this._setGanttViewOption("endDateRange", args.value); break; case "selectedRowKey": null === (_this$_ganttTreeList5 = this._ganttTreeList) || void 0 === _this$_ganttTreeList5 ? void 0 : _this$_ganttTreeList5.selectRows(_uiGantt6.GanttHelper.getArrayFromOneElement(args.value)); break; case "onSelectionChanged": null === (_this$_actionsManager = this._actionsManager) || void 0 === _this$_actionsManager ? void 0 : _this$_actionsManager.createSelectionChangedAction(); break; case "onTaskClick": null === (_this$_actionsManager2 = this._actionsManager) || void 0 === _this$_actionsManager2 ? void 0 : _this$_actionsManager2.createTaskClickAction(); break; case "onTaskDblClick": null === (_this$_actionsManager3 = this._actionsManager) || void 0 === _this$_actionsManager3 ? void 0 : _this$_actionsManager3.createTaskDblClickAction(); break; case "onTaskInserting": null === (_this$_actionsManager4 = this._actionsManager) || void 0 === _this$_actionsManager4 ? void 0 : _this$_actionsManager4.createTaskInsertingAction(); break; case "onTaskInserted": null === (_this$_actionsManager5 = this._actionsManager) || void 0 === _this$_actionsManager5 ? void 0 : _this$_actionsManager5.createTaskInsertedAction(); break; case "onTaskDeleting": null === (_this$_actionsManager6 = this._actionsManager) || void 0 === _this$_actionsManager6 ? void 0 : _this$_actionsManager6.createTaskDeletingAction(); break; case "onTaskDeleted": null === (_this$_actionsManager7 = this._actionsManager) || void 0 === _this$_actionsManager7 ? void 0 : _this$_actionsManager7.createTaskDeletedAction(); break; case "onTaskUpdating": null === (_this$_actionsManager8 = this._actionsManager) || void 0 === _this$_actionsManager8 ? void 0 : _this$_actionsManager8.createTaskUpdatingAction(); break; case "onTaskUpdated": null === (_this$_actionsManager9 = this._actionsManager) || void 0 === _this$_actionsManager9 ? void 0 : _this$_actionsManager9.createTaskUpdatedAction(); break; case "onTaskMoving": null === (_this$_actionsManager10 = this._actionsManager) || void 0 === _this$_actionsManager10 ? void 0 : _this$_actionsManager10.createTaskMovingAction(); break; case "onTaskEditDialogShowing": null === (_this$_actionsManager11 = this._actionsManager) || void 0 === _this$_actionsManager11 ? void 0 : _this$_actionsManager11.createTaskEditDialogShowingAction(); break; case "onResourceManagerDialogShowing": null === (_this$_actionsManager12 = this._actionsManager) || void 0 === _this$_actionsManager12 ? void 0 : _this$_actionsManager12.createResourceManagerDialogShowingAction(); break; case "onDependencyInserting": null === (_this$_actionsManager13 = this._actionsManager) || void 0 === _this$_actionsManager13 ? void 0 : _this$_actionsManager13.createDependencyInsertingAction(); break; case "onDependencyInserted": null === (_this$_actionsManager14 = this._actionsManager) || void 0 === _this$_actionsManager14 ? void 0 : _this$_actionsManager14.createDependencyInsertedAction(); break; case "onDependencyDeleting": null === (_this$_actionsManager15 = this._actionsManager) || void 0 === _this$_actionsManager15 ? void 0 : _this$_actionsManager15.createDependencyDeletingAction(); break; case "onDependencyDeleted": null === (_this$_actionsManager16 = this._actionsManager) || void 0 === _this$_actionsManager16 ? void 0 : _this$_actionsManager16.createDependencyDeletedAction(); break; case "onResourceInserting": null === (_this$_actionsManager17 = this._actionsManager) || void 0 === _this$_actionsManager17 ? void 0 : _this$_actionsManager17.createResourceInsertingAction(); break; case "onResourceInserted": null === (_this$_actionsManager18 = this._actionsManager) || void 0 === _this$_actionsManager18 ? void 0 : _this$_actionsManager18.createResourceInsertedAction(); break; case "onResourceDeleting": null === (_this$_actionsManager19 = this._actionsManager) || void 0 === _this$_actionsManager19 ? void 0 : _this$_actionsManager19.createResourceDeletingAction(); break; case "onResourceDeleted": null === (_this$_actionsManager20 = this._actionsManager) || void 0 === _this$_actionsManager20 ? void 0 : _this$_actionsManager20.createResourceDeletedAction(); break; case "onResourceAssigning": null === (_this$_actionsManager21 = this._actionsManager) || void 0 === _this$_actionsManager21 ? void 0 : _this$_actionsManager21.createResourceAssigningAction(); break; case "onResourceAssigned": null === (_this$_actionsManager22 = this._actionsManager) || void 0 === _this$_actionsManager22 ? void 0 : _this$_actionsManager22.createResourceAssignedAction(); break; case "onResourceUnassigning": null === (_this$_actionsManager23 = this._actionsManager) || void 0 === _this$_actionsManager23 ? void 0 : _this$_actionsManager23.createResourceUnassigningAction(); break; case "onResourceUnassigned": null === (_this$_actionsManager24 = this._actionsManager) || void 0 === _this$_actionsManager24 ? void 0 : _this$_actionsManager24.createResourceUnassignedAction(); break; case "onCustomCommand": null === (_this$_actionsManager25 = this._actionsManager) || void 0 === _this$_actionsManager25 ? void 0 : _this$_actionsManager25.createCustomCommandAction(); break; case "onContextMenuPreparing": null === (_this$_actionsManager26 = this._actionsManager) || void 0 === _this$_actionsManager26 ? void 0 : _this$_actionsManager26.createContextMenuPreparingAction(); break; case "onScaleCellPrepared": null === (_this$_actionsManager27 = this._actionsManager) || void 0 === _this$_actionsManager27 ? void 0 : _this$_actionsManager27.createScaleCellPreparedAction(); break; case "allowSelection": null === (_this$_ganttTreeList6 = this._ganttTreeList) || void 0 === _this$_ganttTreeList6 ? void 0 : _this$_ganttTreeList6.setOption("selection.mode", _uiGantt6.GanttHelper.getSelectionMode(args.value)); this._setGanttViewOption("allowSelection", args.value); break; case "showRowLines": null === (_this$_ganttTreeList7 = this._ganttTreeList) || void 0 === _this$_ganttTreeList7 ? void 0 : _this$_ganttTreeList7.setOption("showRowLines", args.value); this._setGanttViewOption("showRowLines", args.value); break; case "stripLines": this._setGanttViewOption("stripLines", args.value); break; case "scaleType": this._setGanttViewOption("scaleType", args.value); break; case "scaleTypeRange": this._setGanttViewOption("scaleTypeRange", this.option(args.name)); break; case "editing": this._setGanttViewOption("editing", this.option(args.name)); break; case "validation": this._setGanttViewOption("validation", this.option(args.name)); break; case "toolbar": this._updateToolbarContent(); break; case "contextMenu": this._updateContextMenu(); break; case "taskTooltipContentTemplate": this._setGanttViewOption("taskTooltipContentTemplate", null === (_this$_ganttTemplates = this._ganttTemplatesManager) || void 0 === _this$_ganttTemplates ? void 0 : _this$_ganttTemplates.getTaskTooltipContentTemplateFunc(args.value)); break; case "taskProgressTooltipContentTemplate": this._setGanttViewOption("taskProgressTooltipContentTemplate", null === (_this$_ganttTemplates2 = this._ganttTemplatesManager) || void 0 === _this$_ganttTemplates2 ? void 0 : _this$_ganttTemplates2.getTaskProgressTooltipContentTemplateFunc(args.value)); break; case "taskTimeTooltipContentTemplate": this._setGanttViewOption("taskTimeTooltipContentTemplate", null === (_this$_ganttTemplates3 = this._ganttTemplatesManager) || void 0 === _this$_ganttTemplates3 ? void 0 : _this$_ganttTemplates3.getTaskTimeTooltipContentTemplateFunc(args.value)); break; case "taskContentTemplate": this._setGanttViewOption("taskContentTemplate", null === (_this$_ganttTemplates4 = this._ganttTemplatesManager) || void 0 === _this$_ganttTemplates4 ? void 0 : _this$_ganttTemplates4.getTaskContentTemplateFunc(args.value)); break; case "rootValue": null === (_this$_ganttTreeList8 = this._ganttTreeList) || void 0 === _this$_ganttTreeList8 ? void 0 : _this$_ganttTreeList8.setOption("rootValue", args.value); break; case "width": _Widget.prototype._optionChanged.call(this, args); null === (_this$_sizeHelper2 = this._sizeHelper) || void 0 === _this$_sizeHelper2 ? void 0 : _this$_sizeHelper2.updateGanttWidth(); break; case "height": _Widget.prototype._optionChanged.call(this, args); null === (_this$_sizeHelper3 = this._sizeHelper) || void 0 === _this$_sizeHelper3 ? void 0 : _this$_sizeHelper3.setGanttHeight((0, _size.getHeight)(this._$element)); break; case "sorting": null === (_this$_ganttTreeList9 = this._ganttTreeList) || void 0 === _this$_ganttTreeList9 ? void 0 : _this$_ganttTreeList9.setOption("sorting", this.option(args.name)); break; case "filterRow": null === (_this$_ganttTreeList10 = this._ganttTreeList) || void 0 === _this$_ganttTreeList10 ? void 0 : _this$_ganttTreeList10.setOption("filterRow", this.option(args.name)); break; case "headerFilter": null === (_this$_ganttTreeList11 = this._ganttTreeList) || void 0 === _this$_ganttTreeList11 ? void 0 : _this$_ganttTreeList11.setOption("headerFilter", this.option(args.name)); break; default: _Widget.prototype._optionChanged.call(this, args) } }; return Gantt }(_ui.default); (0, _component_registrator.default)("dxGantt", Gantt); var _default = Gantt; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 32679: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.mapping_helper.js ***! \*********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GanttMappingHelper = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var GANTT_MAPPED_FIELD_REGEX = /(\w*)Expr/; var GanttMappingHelper = function() { function GanttMappingHelper(gantt) { this._gantt = gantt } var _proto = GanttMappingHelper.prototype; _proto._getMappedFieldName = function(optionName, coreField) { var coreFieldName = coreField; if ("id" === coreField) { coreFieldName = "key" } return this._gantt.option("".concat(optionName, ".").concat(coreFieldName, "Expr")) }; _proto.getTaskMappedFieldNames = function() { var mappedFields = []; var mappedFieldsData = this._gantt.option("tasks"); for (var field in mappedFieldsData) { var exprMatches = field.match(GANTT_MAPPED_FIELD_REGEX); var mappedFieldName = exprMatches && mappedFieldsData[exprMatches[0]]; if (mappedFieldName) { mappedFields.push(mappedFieldName) } } return mappedFields }; _proto.convertCoreToMappedData = function(optionName, coreData) { var _this = this; return Object.keys(coreData).reduce((function(previous, f) { var mappedField = _this._getMappedFieldName(optionName, f); if (mappedField && !(0, _type.isFunction)(mappedField)) { var setter = (0, _data.compileSetter)(mappedField); setter(previous, coreData[f]) } return previous }), {}) }; _proto.convertMappedToCoreData = function(optionName, mappedData) { var coreData = {}; if (mappedData) { var mappedFields = this._gantt.option(optionName); for (var field in mappedFields) { var exprMatches = field.match(GANTT_MAPPED_FIELD_REGEX); var mappedFieldName = exprMatches && mappedFields[exprMatches[0]]; if (mappedFieldName && void 0 !== mappedData[mappedFieldName]) { var getter = (0, _data.compileGetter)(mappedFieldName); var coreFieldName = exprMatches[1]; coreData[coreFieldName] = getter(mappedData) } } } return coreData }; _proto.convertCoreToMappedFields = function(optionName, fields) { var _this2 = this; return fields.reduce((function(previous, f) { var mappedField = _this2._getMappedFieldName(optionName, f); if (mappedField) { previous.push(mappedField) } return previous }), []) }; _proto.convertMappedToCoreFields = function(optionName, fields) { var coreFields = []; var mappedFields = this._gantt.option(optionName); for (var field in mappedFields) { var exprMatches = field.match(GANTT_MAPPED_FIELD_REGEX); var mappedFieldName = exprMatches && mappedFields[exprMatches[0]]; if (mappedFieldName && fields.indexOf(mappedFieldName) > -1) { var coreFieldName = exprMatches[1]; coreFields.push(coreFieldName) } } return coreFields }; return GanttMappingHelper }(); exports.GanttMappingHelper = GanttMappingHelper }, 48604: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.model_changes_listener.js ***! \*****************************************************************************************/ function(__unused_webpack_module, exports) { exports.ModelChangesListener = void 0; var ModelChangesListener = { create: function(gantt) { return { NotifyTaskCreated: function(task, callback, errorCallback) { gantt._onRecordInserted("tasks", task, callback) }, NotifyTaskRemoved: function(taskId, errorCallback, task) { gantt._onRecordRemoved("tasks", taskId, task) }, NotifyTaskUpdated: function(taskId, newValues, errorCallback) { gantt._onRecordUpdated("tasks", taskId, newValues) }, NotifyParentTaskUpdated: function(task, errorCallback) { gantt._onParentTaskUpdated(task) }, NotifyDependencyInserted: function(dependency, callback, errorCallback) { gantt._onRecordInserted("dependencies", dependency, callback) }, NotifyDependencyRemoved: function(dependencyId, errorCallback, dependency) { gantt._onRecordRemoved("dependencies", dependencyId, dependency) }, NotifyResourceCreated: function(resource, callback, errorCallback) { gantt._onRecordInserted("resources", resource, callback) }, NotifyResourceRemoved: function(resourceId, errorCallback, resource) { gantt._onRecordRemoved("resources", resourceId, resource) }, NotifyResourceAssigned: function(assignment, callback, errorCallback) { gantt._onRecordInserted("resourceAssignments", assignment, callback) }, NotifyResourceUnassigned: function(assignmentId, errorCallback, assignment) { gantt._onRecordRemoved("resourceAssignments", assignmentId, assignment) }, NotifyParentDataRecalculated: function(data) { gantt._onParentTasksRecalculated(data) }, NotifyTaskCreating: function(args) { gantt._actionsManager.raiseInsertingAction("tasks", args) }, NotifyTaskRemoving: function(args) { gantt._actionsManager.raiseDeletingAction("tasks", args) }, NotifyTaskUpdating: function(args) { gantt._actionsManager.raiseUpdatingAction("tasks", args) }, NotifyTaskMoving: function(args) { gantt._actionsManager.raiseUpdatingAction("tasks", args, gantt._actionsManager.getTaskMovingAction()) }, NotifyTaskEditDialogShowing: function(args) { gantt._actionsManager.raiseTaskEditDialogShowingAction(args) }, NotifyResourceManagerDialogShowing: function(args) { gantt._actionsManager.raiseResourceManagerDialogShowingAction(args) }, NotifyDependencyInserting: function(args) { gantt._actionsManager.raiseInsertingAction("dependencies", args) }, NotifyDependencyRemoving: function(args) { gantt._actionsManager.raiseDeletingAction("dependencies", args) }, NotifyResourceCreating: function(args) { gantt._actionsManager.raiseInsertingAction("resources", args) }, NotifyResourceRemoving: function(args) { gantt._actionsManager.raiseDeletingAction("resources", args) }, NotifyResourceAssigning: function(args) { gantt._actionsManager.raiseInsertingAction("resourceAssignments", args) }, NotifyResourceUnassigning: function(args) { gantt._actionsManager.raiseDeletingAction("resourceAssignments", args) }, NotifyScaleCellPrepared: function(args) { gantt._actionsManager.raiseScaleCellPreparedAction(args) }, NotifyGanttViewUpdated: function() { gantt._onGanttViewCoreUpdated() } } } }; exports.ModelChangesListener = ModelChangesListener }, 28990: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.size_helper.js ***! \******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GanttSizeHelper = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var GanttSizeHelper = function() { function GanttSizeHelper(gantt) { this._gantt = gantt } var _proto = GanttSizeHelper.prototype; _proto._setTreeListDimension = function(dimension, value) { var _this$_gantt$_ganttTr; var setter = "width" === dimension ? _size.setWidth : _size.setHeight; var getter = "width" === dimension ? _size.getWidth : _size.getHeight; setter(this._gantt._$treeListWrapper, value); null === (_this$_gantt$_ganttTr = this._gantt._ganttTreeList) || void 0 === _this$_gantt$_ganttTr ? void 0 : _this$_gantt$_ganttTr.setOption(dimension, getter(this._gantt._$treeListWrapper)) }; _proto._setGanttViewDimension = function(dimension, value) { var setter = "width" === dimension ? _size.setWidth : _size.setHeight; var getter = "width" === dimension ? _size.getWidth : _size.getHeight; setter(this._gantt._$ganttView, value); this._gantt._setGanttViewOption(dimension, getter(this._gantt._$ganttView)) }; _proto._getPanelsWidthByOption = function() { var _leftPanelWidth$index, _leftPanelWidth$index2; var ganttWidth = (0, _size.getWidth)(this._gantt._$element); var leftPanelWidth = this._gantt.option("taskListWidth"); var rightPanelWidth; if (!isNaN(leftPanelWidth)) { rightPanelWidth = ganttWidth - parseInt(leftPanelWidth) } else if ((null === (_leftPanelWidth$index = leftPanelWidth.indexOf) || void 0 === _leftPanelWidth$index ? void 0 : _leftPanelWidth$index.call(leftPanelWidth, "px")) > 0) { rightPanelWidth = ganttWidth - parseInt(leftPanelWidth.replace("px", "")) + "px" } else if ((null === (_leftPanelWidth$index2 = leftPanelWidth.indexOf) || void 0 === _leftPanelWidth$index2 ? void 0 : _leftPanelWidth$index2.call(leftPanelWidth, "%")) > 0) { rightPanelWidth = 100 - parseInt(leftPanelWidth.replace("%", "")) + "%" } return { leftPanelWidth: leftPanelWidth, rightPanelWidth: rightPanelWidth } }; _proto.onAdjustControl = function() { var elementHeight = (0, _size.getHeight)(this._gantt._$element); this.updateGanttWidth(); this.setGanttHeight(elementHeight) }; _proto.onApplyPanelSize = function(e) { this.setInnerElementsWidth(e); this.updateGanttRowHeights() }; _proto.updateGanttRowHeights = function() { var rowHeight = this._gantt._ganttTreeList.getRowHeight(); if (this._gantt._getGanttViewOption("rowHeight") !== rowHeight) { var _this$_gantt$_ganttVi; this._gantt._setGanttViewOption("rowHeight", rowHeight); null === (_this$_gantt$_ganttVi = this._gantt._ganttView) || void 0 === _this$_gantt$_ganttVi ? void 0 : _this$_gantt$_ganttVi._ganttViewCore.updateRowHeights(rowHeight) } }; _proto.adjustHeight = function() { if (!this._gantt._hasHeight) { this._gantt._setGanttViewOption("height", 0); this._gantt._setGanttViewOption("height", this._gantt._ganttTreeList.getOffsetHeight()) } }; _proto.setInnerElementsWidth = function(widths) { if (!(0, _window.hasWindow)()) { return } var takeWithFromOption = !widths; if (takeWithFromOption) { widths = this._getPanelsWidthByOption(); this._setTreeListDimension("width", 0); this._setGanttViewDimension("width", 0) } this._setTreeListDimension("width", widths.leftPanelWidth); this._setGanttViewDimension("width", widths.rightPanelWidth); if (takeWithFromOption) { this._gantt._splitter._setSplitterPositionLeft() } }; _proto.updateGanttWidth = function() { this._gantt._splitter._dimensionChanged() }; _proto.setGanttHeight = function(height) { var _this$_gantt$_ganttVi2; var toolbarHeightOffset = this._gantt._$toolbarWrapper.get(0).offsetHeight; var mainWrapperHeight = height - toolbarHeightOffset; this._setTreeListDimension("height", mainWrapperHeight); this._setGanttViewDimension("height", mainWrapperHeight); null === (_this$_gantt$_ganttVi2 = this._gantt._ganttView) || void 0 === _this$_gantt$_ganttVi2 ? void 0 : _this$_gantt$_ganttVi2._ganttViewCore.resetAndUpdate() }; return GanttSizeHelper }(); exports.GanttSizeHelper = GanttSizeHelper }, 77133: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.task.area.container.js ***! \**************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.TaskAreaContainer = void 0; var _scroll_view = (obj = __webpack_require__( /*! ../scroll_view */ 4741), obj && obj.__esModule ? obj : { default: obj }); var obj; function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var TaskAreaContainer = function() { function TaskAreaContainer(element, ganttViewWidget) { this._element = element; this._scrollView = ganttViewWidget._createComponent(this._element, _scroll_view.default, { scrollByContent: false, scrollByThumb: true, showScrollbar: "onHover", direction: "both", onScroll: function() { ganttViewWidget.updateView() } }) } var _proto = TaskAreaContainer.prototype; _proto.getWidth = function() { return this._element.offsetWidth }; _proto.getHeight = function() { return this._element.offsetHeight }; _proto.getElement = function() { return this._element }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(TaskAreaContainer, [{ key: "scrollTop", get: function() { return this._scrollView.scrollTop() }, set: function(value) { var diff = value - this._scrollView.scrollTop(); if (0 !== diff) { this._scrollView.scrollBy({ left: 0, top: diff }) } } }, { key: "scrollLeft", get: function() { return this._scrollView.scrollLeft() }, set: function(value) { var diff = value - this._scrollView.scrollLeft(); if (0 !== diff) { this._scrollView.scrollBy({ left: diff, top: 0 }) } } }, { key: "scrollWidth", get: function() { return this._scrollView.scrollWidth() } }, { key: "scrollHeight", get: function() { return this._scrollView.scrollHeight() } }, { key: "isExternal", get: function() { return true } }]); return TaskAreaContainer }(); exports.TaskAreaContainer = TaskAreaContainer }, 23638: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.templates.js ***! \****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GanttTemplatesManager = void 0; var _renderer = (obj = __webpack_require__( /*! ../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _element = __webpack_require__( /*! ../../core/element */ 6415); var GanttTemplatesManager = function() { function GanttTemplatesManager(gantt) { this._gantt = gantt } var _proto = GanttTemplatesManager.prototype; _proto.getTaskTooltipContentTemplateFunc = function(taskTooltipContentTemplateOption) { var _this = this; var template = taskTooltipContentTemplateOption && this._gantt._getTemplate(taskTooltipContentTemplateOption); var createTemplateFunction = template && function(container, item, callback) { template.render({ model: _this._gantt.getTaskDataByCoreData(item), container: (0, _element.getPublicElement)((0, _renderer.default)(container)), onRendered: function() { callback() } }); return true }; return createTemplateFunction }; _proto.getTaskProgressTooltipContentTemplateFunc = function(taskTooltipContentTemplateOption) { var template = taskTooltipContentTemplateOption && this._gantt._getTemplate(taskTooltipContentTemplateOption); var createTemplateFunction = template && function(container, item, callback) { template.render({ model: item, container: (0, _element.getPublicElement)((0, _renderer.default)(container)), onRendered: function() { callback() } }); return true }; return createTemplateFunction }; _proto.getTaskTimeTooltipContentTemplateFunc = function(taskTooltipContentTemplateOption) { var template = taskTooltipContentTemplateOption && this._gantt._getTemplate(taskTooltipContentTemplateOption); var createTemplateFunction = template && function(container, item, callback) { template.render({ model: item, container: (0, _element.getPublicElement)((0, _renderer.default)(container)), onRendered: function() { callback() } }); return true }; return createTemplateFunction }; _proto.getTaskContentTemplateFunc = function(taskContentTemplateOption) { var _this2 = this; var template = taskContentTemplateOption && this._gantt._getTemplate(taskContentTemplateOption); var createTemplateFunction = template && function(container, item, callback, index) { item.taskData = _this2._gantt.getTaskDataByCoreData(item.taskData); template.render({ model: item, container: (0, _element.getPublicElement)((0, _renderer.default)(container)), onRendered: function() { callback(container, index) } }); return true }; return createTemplateFunction }; return GanttTemplatesManager }(); exports.GanttTemplatesManager = GanttTemplatesManager }, 87367: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.treelist.js ***! \***************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GanttTreeList = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _tree_list = _interopRequireDefault(__webpack_require__( /*! ../tree_list */ 82655)); var _position = __webpack_require__( /*! ../../core/utils/position */ 37518); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _uiGantt = __webpack_require__( /*! ./ui.gantt.helper */ 30631); var _data_source = __webpack_require__( /*! ../../data/data_source/data_source */ 85273); var _array_store = _interopRequireDefault(__webpack_require__( /*! ../../data/array_store */ 26562)); var _data2 = __webpack_require__( /*! ../../core/utils/data */ 47617); var _uiGanttTreelist = __webpack_require__( /*! ./ui.gantt.treelist.nodes_state */ 11012); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var GanttTreeList = function() { function GanttTreeList(gantt) { this._gantt = gantt; this._$treeList = this._gantt._$treeList } var _proto = GanttTreeList.prototype; _proto.getTreeList = function() { var _this = this; var _this$_gantt$option = this._gantt.option("tasks"), keyExpr = _this$_gantt$option.keyExpr, parentIdExpr = _this$_gantt$option.parentIdExpr; this._treeList = this._gantt._createComponent(this._$treeList, _tree_list.default, { dataSource: this.createDataSource(this._gantt._tasksRaw, keyExpr), keyExpr: keyExpr, filterSyncEnabled: true, parentIdExpr: parentIdExpr, columns: this.getColumns(), columnResizingMode: "nextColumn", height: this._getHeight(), width: this._gantt.option("taskListWidth"), selection: { mode: _uiGantt.GanttHelper.getSelectionMode(this._gantt.option("allowSelection")) }, selectedRowKeys: _uiGantt.GanttHelper.getArrayFromOneElement(this._gantt.option("selectedRowKey")), sorting: this._gantt.option("sorting"), filterRow: this._gantt.option("filterRow"), headerFilter: this._gantt.option("headerFilter"), scrolling: { showScrollbar: "onHover", mode: "virtual" }, allowColumnResizing: true, autoExpandAll: true, showRowLines: this._gantt.option("showRowLines"), rootValue: this._gantt.option("rootValue"), onContentReady: function(e) { _this._onContentReady(e) }, onSelectionChanged: function(e) { _this._onSelectionChanged(e) }, onRowCollapsed: function(e) { _this._onRowCollapsed(e) }, onRowExpanded: function(e) { _this._onRowExpanded(e) }, onRowPrepared: function(e) { _this._onRowPrepared(e) }, onContextMenuPreparing: function(e) { _this._onContextMenuPreparing(e) }, onRowClick: function(e) { _this.onRowClick(e) }, onRowDblClick: function(e) { _this.onRowDblClick(e) }, onNodesInitialized: function(e) { _this._onNodesInitialized(e) }, _disableDeprecationWarnings: true }); return this._treeList }; _proto.onAfterTreeListCreate = function() { if (this._postponedGanttInitRequired) { this._initGanttOnContentReady({ component: this._treeList }); delete this._postponedGanttInitRequired } }; _proto._onContentReady = function(e) { var hasTreeList = !!this._treeList; if (hasTreeList) { this._initGanttOnContentReady(e) } else { this._postponedGanttInitRequired = true } this._gantt._onTreeListContentReady(e) }; _proto._initGanttOnContentReady = function(e) { if (e.component.getDataSource()) { this._gantt._initGanttView(); this._initScrollSync(e.component) } this._gantt._sortAndFilter(); this._gantt._sizeHelper.updateGanttRowHeights() }; _proto._onSelectionChanged = function(e) { var selectedRowKey = e.currentSelectedRowKeys[0]; this._gantt._setGanttViewOption("selectedRowKey", selectedRowKey); this._gantt._setOptionWithoutOptionChange("selectedRowKey", selectedRowKey); this._gantt._actionsManager.raiseSelectionChangedAction(selectedRowKey) }; _proto._onRowCollapsed = function(e) { this._gantt._onTreeListRowExpandChanged(e, false) }; _proto._onRowExpanded = function(e) { this._gantt._onTreeListRowExpandChanged(e, true) }; _proto._onRowPrepared = function(e) { if ("data" === e.rowType && e.node.children.length > 0) { (0, _renderer.default)(e.rowElement).addClass("dx-gantt-collapsable-row") } }; _proto._onContextMenuPreparing = function(e) { var _e$row, _e$row2; if ("header" === e.target) { return } if ("data" === (null === (_e$row = e.row) || void 0 === _e$row ? void 0 : _e$row.rowType)) { this.setOption("selectedRowKeys", [e.row.data[this._gantt.option("tasks.keyExpr")]]) } e.items = []; var info = { cancel: false, event: e.event, type: "task", key: null === (_e$row2 = e.row) || void 0 === _e$row2 ? void 0 : _e$row2.key, position: { x: e.event.pageX, y: e.event.pageY } }; this._gantt._showPopupMenu(info) }; _proto._getHeight = function() { if ((0, _size.getHeight)(this._$treeList)) { return (0, _size.getHeight)(this._$treeList) } this._gantt._hasHeight = (0, _type.isDefined)(this._gantt.option("height")) && "" !== this._gantt.option("height"); return this._gantt._hasHeight ? "100%" : "" }; _proto._initScrollSync = function(treeList) { var _this2 = this; var treeListScrollable = treeList.getScrollable(); if (treeListScrollable) { treeListScrollable.off("scroll"); treeListScrollable.on("scroll", (function(e) { _this2._onScroll(e) })) } }; _proto._onScroll = function(treeListScrollView) { var ganttViewTaskAreaContainer = this._gantt._ganttView.getTaskAreaContainer(); if (ganttViewTaskAreaContainer.scrollTop !== treeListScrollView.component.scrollTop()) { ganttViewTaskAreaContainer.scrollTop = treeListScrollView.component.scrollTop() } }; _proto._correctRowsViewRowHeight = function(height) { var view = this._treeList._views && this._treeList._views.rowsView; if ((null === view || void 0 === view ? void 0 : view._rowHeight) !== height) { view._rowHeight = height } }; _proto._skipUpdateTreeListDataSource = function() { return this._gantt.option("validation.autoUpdateParentTasks") }; _proto.selectRows = function(keys) { this.setOption("selectedRowKeys", keys) }; _proto.scrollBy = function(scrollTop) { var treeListScrollable = this._treeList.getScrollable(); if (treeListScrollable) { var diff = scrollTop - treeListScrollable.scrollTop(); if (0 !== diff) { treeListScrollable.scrollBy({ left: 0, top: diff }) } } }; _proto.updateDataSource = function(data) { var forceUpdate = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false; var forceCustomData = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false; if (!this._skipUpdateTreeListDataSource() || forceUpdate) { this.setDataSource(data) } else if (forceCustomData) { var _data = this._treeList.option("dataSource"); this._gantt._onParentTasksRecalculated(_data) } }; _proto.setDataSource = function(data) { this.setOption("dataSource", this.createDataSource(data)) }; _proto.createDataSource = function(data, key) { return data && new _data_source.DataSource({ store: new _array_store.default({ data: data, key: key || this.getOption("keyExpr") }) }) }; _proto.onRowClick = function(e) { this._gantt._actionsManager.raiseTaskClickAction(e.key, e.event) }; _proto.onRowDblClick = function(e) { if (this._gantt._actionsManager.raiseTaskDblClickAction(e.key, e.event)) { this._gantt._ganttView._ganttViewCore.showTaskEditDialog() } }; _proto.saveExpandedKeys = function() { var treeList = this._treeList; var visibleRowCount = null === treeList || void 0 === treeList ? void 0 : treeList.getVisibleRows().length; if (visibleRowCount > 0) { var nodes = this.getAllNodes(); var keys = this.getOption("expandedRowKeys"); var hasExpandedRows = keys && nodes.length !== visibleRowCount; if (hasExpandedRows) { var state = this.getNodesState(); state.applyNodes(nodes, this.getOption("rootValue")); state.saveExpandedState(keys) } } }; _proto._onNodesInitialized = function(e) { var state = this.getNodesState(); var savedKeys = state.getExpandedKeys(); var nodes = this.getAllNodes(); state.applyNodes(nodes, this.getOption("rootValue")); var expandedKeys = state.getExpandedKeys(); if (expandedKeys) { this.setOption("expandedRowKeys", expandedKeys) } if (this.isExpandedStateChanged(savedKeys, expandedKeys)) { var expandedState = nodes.reduce((function(previous, node) { previous[node.key] = expandedKeys ? expandedKeys.includes(node.key) : true; return previous }), {}); this._gantt._ganttView.applyTasksExpandedState(expandedState) } state.clear() }; _proto.getNodesState = function() { if (!this._nodeState) { this._nodeState = new _uiGanttTreelist.GanttTreeListNodesState } return this._nodeState }; _proto.getAllNodes = function() { var treeList = this._treeList; var store = null === treeList || void 0 === treeList ? void 0 : treeList.getDataSource().store(); var keyGetter = (0, _data2.compileGetter)(null === store || void 0 === store ? void 0 : store.key()); return store ? store._array.map((function(item) { return treeList.getNodeByKey(keyGetter(item)) })) : [] }; _proto.isExpandedStateChanged = function(keys1, keys2) { if (null === keys1 && null === keys2) { return false } if ((null === keys1 || void 0 === keys1 ? void 0 : keys1.length) !== (null === keys2 || void 0 === keys2 ? void 0 : keys2.length)) { return true } return keys1.some((function(key, index) { return key !== keys2[index] })) }; _proto.getOffsetHeight = function() { return this._gantt._treeList._$element.get(0).offsetHeight }; _proto.getRowHeight = function() { var $row = this._treeList._$element.find(".dx-data-row"); var height = $row.length ? (0, _position.getBoundingRect)($row.last().get(0)).height : 34; if (!height) { height = 34 } this._correctRowsViewRowHeight(height); return height }; _proto.getHeaderHeight = function() { return (0, _position.getBoundingRect)(this._treeList._$element.find(".dx-treelist-headers").get(0)).height }; _proto.getColumns = function() { var columns = this._gantt.option("columns"); if (columns) { for (var i = 0; i < columns.length; i++) { var column = columns[i]; var isKeyColumn = column.dataField === this._gantt.option("".concat("tasks", ".keyExpr")) || column.dataField === this._gantt.option("".concat("tasks", ".parentIdExpr")); if (isKeyColumn && !column.dataType) { column.dataType = "object" } } } return columns }; _proto.getSievedItems = function() { var rootNode = this._treeList.getRootNode(); if (!rootNode) { return } var resultArray = []; _uiGantt.GanttHelper.convertTreeToList(rootNode, resultArray); var getters = _uiGantt.GanttHelper.compileGettersByOption(this._gantt.option("tasks")); var validatedData = this._gantt._validateSourceData("tasks", resultArray); var mappedData = validatedData.map(_uiGantt.GanttHelper.prepareMapHandler(getters)); return mappedData }; _proto.setOption = function(optionName, value) { this._treeList && this._treeList.option(optionName, value) }; _proto.getOption = function(optionName) { var _this$_treeList; return null === (_this$_treeList = this._treeList) || void 0 === _this$_treeList ? void 0 : _this$_treeList.option(optionName) }; _proto.onTaskInserted = function(insertedId, parentId) { if ((0, _type.isDefined)(parentId)) { var expandedRowKeys = this.getOption("expandedRowKeys"); if (-1 === expandedRowKeys.indexOf(parentId)) { expandedRowKeys.push(parentId); this.setOption("expandedRowKeys", expandedRowKeys) } } this.selectRows(_uiGantt.GanttHelper.getArrayFromOneElement(insertedId)); this.setOption("focusedRowKey", insertedId) }; _proto.getDataSource = function() { var _this$_treeList2; return null === (_this$_treeList2 = this._treeList) || void 0 === _this$_treeList2 ? void 0 : _this$_treeList2.getDataSource() }; return GanttTreeList }(); exports.GanttTreeList = GanttTreeList }, 11012: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.treelist.nodes_state.js ***! \***************************************************************************************/ function(__unused_webpack_module, exports) { exports.GanttTreeListNodesState = exports.GanttTreeListNodeState = void 0; var GanttTreeListNodeState = function() { function GanttTreeListNodeState(treeListNode) { var _treeListNode$parent; this.collapsed = false; this.key = treeListNode.key; this.children = treeListNode.children.map((function(node) { return node.key })); this.parentKey = null === (_treeListNode$parent = treeListNode.parent) || void 0 === _treeListNode$parent ? void 0 : _treeListNode$parent.key } var _proto = GanttTreeListNodeState.prototype; _proto.hasChildren = function() { return this.children.length > 0 }; _proto.removeChild = function(state) { var index = this.children.indexOf(state.key); if (index > -1) { this.children = this.children.splice(index, 1) } }; _proto.equal = function(state) { if (!state || state.key !== this.key || state.parentKey !== this.parentKey) { return false } if (this.children.length !== state.children.length || this.children.some((function(value, index) { return value !== state.children[index] }))) { return false } return true }; return GanttTreeListNodeState }(); exports.GanttTreeListNodeState = GanttTreeListNodeState; var GanttTreeListNodesState = function() { function GanttTreeListNodesState() { this._resetHash() } var _proto2 = GanttTreeListNodesState.prototype; _proto2.clear = function() { this._resetHash() }; _proto2.applyNodes = function(nodes, rootValue) { var _this = this; if (this._rootValue !== rootValue) { this._resetHash(); this._rootValue = rootValue } this._removeNonExistentNodes(nodes.map((function(node) { return node.key }))); nodes.forEach((function(node) { return _this._applyNode(node) })); this._validateHash() }; _proto2.saveExpandedState = function(expandedKeys) { var _this2 = this; this._hasCollapsed = false; this._forEachState((function(state) { if (state.hasChildren() && !expandedKeys.includes(state.key)) { state.collapsed = true; _this2._hasCollapsed = true } })) }; _proto2.getExpandedKeys = function() { if (this._hasCollapsed) { var keys = []; this._forEachState((function(state) { if (state.hasChildren() && !state.collapsed) { keys.push(state.key) } })); return keys } return null }; _proto2._resetHash = function() { this._nodeHash = {}; this._hasCollapsed = false }; _proto2._getNodeState = function(key) { return this._nodeHash[key] }; _proto2._removeNonExistentNodes = function(existingKeys) { var _this3 = this; if (existingKeys) { this._forEachState((function(state) { if (!existingKeys.includes(state.key)) { _this3._removeStateWithChildren(state) } })) } }; _proto2._removeStateWithChildren = function(key) { var _this4 = this; var state = this._getNodeState(key); if (state) { state.children.forEach((function(child) { return _this4._removeStateWithChildren(child) })); var parent = this._getNodeState(state.parentKey); if (parent) { parent.removeChild(state) } delete this._nodeHash[key] } }; _proto2._applyNode = function(node) { var nodeState = new GanttTreeListNodeState(node); var oldState = this._getNodeState(node.key); if (!(null !== oldState && void 0 !== oldState && oldState.equal(nodeState))) { this._nodeHash[node.key] = nodeState; this._expandTreelineToNode(node.key) } }; _proto2._expandTreelineToNode = function(key) { var state = this._getNodeState(key); var parent = this._getNodeState(null === state || void 0 === state ? void 0 : state.parentKey); while (parent) { parent.collapsed = false; parent = this._getNodeState(parent.parentKey) } }; _proto2._validateHash = function() { var _this5 = this; Object.keys(this._nodeHash).forEach((function(key) { var state = _this5._getNodeState(key); var parentKey = null === state || void 0 === state ? void 0 : state.parentKey; if (parentKey !== _this5._rootValue && !_this5._getNodeState(parentKey)) { _this5._removeStateWithChildren(key) } })) }; _proto2._forEachState = function(callback) { var _this6 = this; Object.keys(this._nodeHash).forEach((function(key) { var state = _this6._nodeHash[key]; if (state) { callback(state) } })) }; return GanttTreeListNodesState }(); exports.GanttTreeListNodesState = GanttTreeListNodesState }, 21347: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/gantt/ui.gantt.view.js ***! \***********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.GanttView = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _gantt_importer = __webpack_require__( /*! ./gantt_importer */ 70382); var _uiGanttTaskArea = __webpack_require__( /*! ./ui.gantt.task.area.container */ 77133); var _date = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _string = __webpack_require__( /*! ../../core/utils/string */ 68752); var _core = _interopRequireDefault(__webpack_require__( /*! ../../localization/core */ 91331)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var GanttView = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(GanttView, _Widget); function GanttView() { return _Widget.apply(this, arguments) || this } var _proto = GanttView.prototype; _proto._init = function() { _Widget.prototype._init.call(this); this._onSelectionChanged = this._createActionByOption("onSelectionChanged"); this._onViewTypeChanged = this._createActionByOption("onViewTypeChanged"); this._onScroll = this._createActionByOption("onScroll"); this._onDialogShowing = this._createActionByOption("onDialogShowing"); this._onPopupMenuShowing = this._createActionByOption("onPopupMenuShowing"); this._onPopupMenuHiding = this._createActionByOption("onPopupMenuHiding"); this._expandAll = this._createActionByOption("onExpandAll"); this._collapseAll = this._createActionByOption("onCollapseAll"); this._taskClick = this._createActionByOption("onTaskClick"); this._taskDblClick = this._createActionByOption("onTaskDblClick"); this._onAdjustControl = this._createActionByOption("onAdjustControl") }; _proto._initMarkup = function() { var _GanttView = (0, _gantt_importer.getGanttViewCore)(); this._ganttViewCore = new _GanttView(this.$element().get(0), this, { showResources: this.option("showResources"), showDependencies: this.option("showDependencies"), taskTitlePosition: this._getTaskTitlePosition(this.option("taskTitlePosition")), firstDayOfWeek: this._getFirstDayOfWeek(this.option("firstDayOfWeek")), allowSelectTask: this.option("allowSelection"), startDateRange: this.option("startDateRange"), endDateRange: this.option("endDateRange"), editing: this._parseEditingSettings(this.option("editing")), validation: this.option("validation"), stripLines: { stripLines: this.option("stripLines") }, areHorizontalBordersEnabled: this.option("showRowLines"), areAlternateRowsEnabled: false, viewType: this._getViewTypeByScaleType(this.option("scaleType")), viewTypeRange: this._parseViewTypeRangeSettings(this.option("scaleTypeRange")), cultureInfo: this._getCultureInfo(), taskTooltipContentTemplate: this.option("taskTooltipContentTemplate"), taskProgressTooltipContentTemplate: this.option("taskProgressTooltipContentTemplate"), taskTimeTooltipContentTemplate: this.option("taskTimeTooltipContentTemplate"), taskContentTemplate: this.option("taskContentTemplate"), sieve: this.option("sieve") }); this._selectTask(this.option("selectedRowKey")); this.updateBarItemsState() }; _proto._getFirstDayOfWeek = function(value) { return (0, _type.isDefined)(value) ? value : _date.default.firstDayOfWeekIndex() }; _proto.getTaskAreaContainer = function() { return this._ganttViewCore.getTaskAreaContainer() }; _proto.getBarManager = function() { return this._ganttViewCore.barManager }; _proto.executeCoreCommand = function(id) { var command = this._ganttViewCore.getCommandByKey(id); if (command) { command.execute() } }; _proto.changeTaskExpanded = function(id, value) { this._ganttViewCore.changeTaskExpanded(id, value) }; _proto.updateView = function() { var _this$_ganttViewCore; null === (_this$_ganttViewCore = this._ganttViewCore) || void 0 === _this$_ganttViewCore ? void 0 : _this$_ganttViewCore.updateView() }; _proto.updateBarItemsState = function() { this._ganttViewCore.barManager.updateItemsState([]) }; _proto.setWidth = function(value) { this._ganttViewCore.setWidth(value) }; _proto._onDimensionChanged = function() { this._ganttViewCore.onBrowserWindowResize() }; _proto._selectTask = function(id) { this._ganttViewCore.selectTaskById(id) }; _proto._update = function(keepExpandState) { var _this$_ganttViewCore2; null === (_this$_ganttViewCore2 = this._ganttViewCore) || void 0 === _this$_ganttViewCore2 ? void 0 : _this$_ganttViewCore2.updateWithDataReload(keepExpandState) }; _proto._getCultureInfo = function() { return { monthNames: _date.default.getMonthNames("wide"), dayNames: _date.default.getDayNames("wide"), abbrMonthNames: _date.default.getMonthNames("abbreviated"), abbrDayNames: _date.default.getDayNames("abbreviated"), quarterNames: this._getQuarterNames(), amText: this._getAmText(), pmText: this._getPmText(), start: _message.default.format("dxGantt-dialogStartTitle"), end: _message.default.format("dxGantt-dialogEndTitle"), progress: _message.default.format("dxGantt-dialogProgressTitle") } }; _proto._getAmText = function() { return this._hasAmPM() ? _date.default.getPeriodNames()[0] : "" }; _proto._getPmText = function() { return this._hasAmPM() ? _date.default.getPeriodNames()[1] : "" }; _proto._hasAmPM = function() { var date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0)); var dateString = date.toLocaleTimeString(_core.default.locale()); return dateString.match(/am|pm/i) || date.toString().match(/am|pm/i) }; _proto._getQuarterNames = function() { var quarterFormat = _message.default.format("dxGantt-quarter"); if (!quarterFormat) { return _date.default.getQuarterNames() } return [(0, _string.format)(quarterFormat, 1), (0, _string.format)(quarterFormat, 2), (0, _string.format)(quarterFormat, 3), (0, _string.format)(quarterFormat, 4)] }; _proto._getTaskTitlePosition = function(value) { switch (value) { case "outside": return 1; case "none": return 2; default: return 0 } }; _proto._getViewTypeByScaleType = function(scaleType) { switch (scaleType) { case "minutes": return 0; case "hours": return 1; case "sixHours": return 2; case "days": return 3; case "weeks": return 4; case "months": return 5; case "quarters": return 6; case "years": return 7; default: return } }; _proto._parseEditingSettings = function(value) { return { enabled: value.enabled, allowDependencyDelete: value.allowDependencyDeleting, allowDependencyInsert: value.allowDependencyAdding, allowTaskDelete: value.allowTaskDeleting, allowTaskInsert: value.allowTaskAdding, allowTaskUpdate: value.allowTaskUpdating, allowResourceDelete: value.allowResourceDeleting, allowResourceInsert: value.allowResourceAdding, allowResourceUpdate: value.allowResourceUpdating, allowTaskResourceUpdate: value.allowTaskResourceUpdating } }; _proto._parseViewTypeRangeSettings = function(value) { return { min: this._getViewTypeByScaleType(value.min), max: this._getViewTypeByScaleType(value.max) } }; _proto._optionChanged = function(args) { switch (args.name) { case "width": _Widget.prototype._optionChanged.call(this, args); this._ganttViewCore.setWidth(args.value); break; case "height": this._ganttViewCore.setHeight(args.value); break; case "tasks": case "dependencies": case "resources": case "resourceAssignments": this._sieveOptions = void 0; this._update(true); break; case "showResources": this._ganttViewCore.setShowResources(args.value); break; case "showDependencies": this._ganttViewCore.setShowDependencies(args.value); break; case "taskTitlePosition": this._ganttViewCore.setTaskTitlePosition(this._getTaskTitlePosition(args.value)); break; case "firstDayOfWeek": this._ganttViewCore.setFirstDayOfWeek(this._getFirstDayOfWeek(args.value)); break; case "startDateRange": this._ganttViewCore.setStartDateRange(args.value); break; case "endDateRange": this._ganttViewCore.setEndDateRange(args.value); break; case "allowSelection": this._ganttViewCore.setAllowSelection(args.value); break; case "selectedRowKey": this._selectTask(args.value); break; case "editing": this._ganttViewCore.setEditingSettings(this._parseEditingSettings(args.value)); break; case "validation": this._ganttViewCore.setValidationSettings(args.value); this._update(true); break; case "showRowLines": this._ganttViewCore.setRowLinesVisible(args.value); break; case "scaleType": this._ganttViewCore.setViewType(this._getViewTypeByScaleType(args.value)); break; case "scaleTypeRange": this._ganttViewCore.setViewTypeRange(this._getViewTypeByScaleType(args.value.min), this._getViewTypeByScaleType(args.value.max)); break; case "stripLines": this._ganttViewCore.setStripLines({ stripLines: args.value }); break; case "taskTooltipContentTemplate": this._ganttViewCore.setTaskTooltipContentTemplate(args.value); break; case "taskProgressTooltipContentTemplate": this._ganttViewCore.setTaskProgressTooltipContentTemplate(args.value); break; case "taskTimeTooltipContentTemplate": this._ganttViewCore.setTaskTimeTooltipContentTemplate(args.value); break; case "taskContentTemplate": this._ganttViewCore.setTaskContentTemplate(args.value); break; case "sieve": this._sortAndFilter(args.value); break; default: _Widget.prototype._optionChanged.call(this, args) } }; _proto.getRowHeight = function() { return this.option("rowHeight") }; _proto.getHeaderHeight = function() { return this.option("headerHeight") }; _proto.getGanttTasksData = function() { var tasks = this.option("tasks"); var sieveOptions = this.getSieveOptions(); if (null !== sieveOptions && void 0 !== sieveOptions && sieveOptions.sievedItems && null !== sieveOptions && void 0 !== sieveOptions && sieveOptions.sieveColumn) { return sieveOptions.sievedItems } return tasks }; _proto._sortAndFilter = function(args) { this._sieveOptions = args; this._update(!(null !== args && void 0 !== args && args.expandTasks)); var selectedRowKey = this.option("selectedRowKey"); this._selectTask(selectedRowKey) }; _proto.getSieveOptions = function() { return this._sieveOptions }; _proto.getGanttDependenciesData = function() { return this.option("dependencies") }; _proto.getGanttResourcesData = function() { return this.option("resources") }; _proto.getGanttResourceAssignmentsData = function() { return this.option("resourceAssignments") }; _proto.getGanttWorkTimeRules = function() { return null }; _proto.getExternalTaskAreaContainer = function(element) { if (!this._taskAreaContainer) { this._taskAreaContainer = new _uiGanttTaskArea.TaskAreaContainer(element, this) } return this._taskAreaContainer }; _proto.prepareExternalTaskAreaContainer = function(element, info) { if (null !== info && void 0 !== info && info.height) { this._taskAreaContainer._scrollView.option("height", info.height) } }; _proto.changeGanttTaskSelection = function(id, selected) { this._onSelectionChanged({ id: id, selected: selected }) }; _proto.onGanttScroll = function(scrollTop) { this._onScroll({ scrollTop: scrollTop }) }; _proto.showDialog = function(name, parameters, callback, afterClosing) { this._onDialogShowing({ name: name, parameters: parameters, callback: callback, afterClosing: afterClosing }) }; _proto.getModelChangesListener = function() { return this.option("modelChangesListener") }; _proto.getExportInfo = function() { return this.option("exportInfo") }; _proto.showPopupMenu = function(info) { this._onPopupMenuShowing(info) }; _proto.hidePopupMenu = function(info) { this._onPopupMenuHiding(info) }; _proto.getMainElement = function() { return this.option("mainElement").get(0) }; _proto.adjustControl = function() { this._onAdjustControl() }; _proto.getRequireFirstLoadParentAutoCalc = function() { return this.option("validation.autoUpdateParentTasks") }; _proto.collapseAll = function() { this._collapseAll() }; _proto.expandAll = function() { this._expandAll() }; _proto.onTaskClick = function(key, event) { this._taskClick({ key: key, event: event }); return true }; _proto.onTaskDblClick = function(key, event) { return this._taskDblClick({ key: key, event: event }) }; _proto.onGanttViewContextMenu = function(event, key, type) { return true }; _proto.getFormattedDateText = function(date) { var result = ""; if (date) { var datePart = _date.default.format(date, "shortDate"); var timeFormat = this._hasAmPM() ? "hh:mm a" : "HH:mm"; var timePart = _date.default.format(date, timeFormat); result = datePart + " " + timePart } return result }; _proto.destroyTemplate = function(container) { (0, _renderer.default)(container).empty() }; _proto.onTaskAreaSizeChanged = function(info) { var scrollView = this._taskAreaContainer._scrollView; if ((0, _type.isDefined)(null === info || void 0 === info ? void 0 : info.height)) { var direction = (null === info || void 0 === info ? void 0 : info.height) > this._taskAreaContainer.getHeight() ? "both" : "horizontal"; scrollView.option("direction", direction) } }; _proto.updateGanttViewType = function(type) { this._onViewTypeChanged({ type: type }) }; _proto.getTreeListTableStyle = function() { return this.callExportHelperMethod("getTreeListTableStyle") }; _proto.getTreeListColCount = function() { return this.callExportHelperMethod("getTreeListColCount") }; _proto.getTreeListHeaderInfo = function(colIndex) { return this.callExportHelperMethod("getTreeListHeaderInfo", colIndex) }; _proto.getTreeListCellInfo = function(rowIndex, colIndex, key) { return this.callExportHelperMethod("getTreeListCellInfo", key, colIndex) }; _proto.getTreeListEmptyDataCellInfo = function() { return this.callExportHelperMethod("getTreeListEmptyDataCellInfo") }; _proto.callExportHelperMethod = function(methodName) { var helper = this.option("exportHelper"); for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key] } return helper[methodName].apply(helper, args) }; _proto.applyTasksExpandedState = function(state) { var _this$_ganttViewCore3; null === (_this$_ganttViewCore3 = this._ganttViewCore) || void 0 === _this$_ganttViewCore3 ? void 0 : _this$_ganttViewCore3.applyTasksExpandedState(state) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(GanttView, [{ key: "bars", get: function() { return this.option("bars") } }]); return GanttView }(_ui.default); exports.GanttView = GanttView }, 13615: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/grid_core/ui.grid_core.utils.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _m_utils = (obj = __webpack_require__( /*! ../../__internal/grids/grid_core/m_utils */ 60082), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _m_utils.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 71004: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/hierarchical_collection/ui.data_adapter.js ***! \*******************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../ui/widget/ui.errors */ 96688)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../../ui/widget/ui.search_box_mixin */ 2630)); var _text_box = _interopRequireDefault(__webpack_require__( /*! ../../ui/text_box */ 29837)); var _query = _interopRequireDefault(__webpack_require__( /*! ../../data/query */ 96687)); var _store_helper = _interopRequireDefault(__webpack_require__( /*! ../../data/store_helper */ 99236)); var _ui3 = _interopRequireDefault(__webpack_require__( /*! ./ui.data_converter */ 92449)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } _ui2.default.setEditorClass(_text_box.default); var DataAdapter = _class.default.inherit({ ctor: function(options) { this.options = {}; (0, _extend.extend)(this.options, this._defaultOptions(), options); this.options.dataConverter.setDataAccessors(this.options.dataAccessors); this._selectedNodesKeys = []; this._expandedNodesKeys = []; this._dataStructure = []; this._createInternalDataStructure(); this.getTreeNodes() }, setOption: function(name, value) { this.options[name] = value; if ("recursiveSelection" === name) { this._updateSelection() } }, _defaultOptions: function() { return { dataAccessors: void 0, items: [], multipleSelection: true, recursiveSelection: false, recursiveExpansion: false, rootValue: 0, searchValue: "", dataType: "tree", searchMode: "contains", dataConverter: new _ui3.default, onNodeChanged: _common.noop, sort: null } }, _createInternalDataStructure: function() { this._initialDataStructure = this.options.dataConverter.createPlainStructure(this.options.items, this.options.rootValue, this.options.dataType); this._dataStructure = this.options.searchValue.length ? this.search(this.options.searchValue) : this._initialDataStructure; this.options.dataConverter._dataStructure = this._dataStructure; this._updateSelection(); this._updateExpansion() }, _updateSelection: function() { if (this.options.recursiveSelection) { this._setChildrenSelection(); this._setParentSelection() } this._selectedNodesKeys = this._updateNodesKeysArray("selected") }, _updateExpansion: function(key) { if (this.options.recursiveExpansion) { key ? this._updateOneBranch(key) : this._setParentExpansion() } this._expandedNodesKeys = this._updateNodesKeysArray("expanded") }, _updateNodesKeysArray: function(property) { var that = this; var array = []; (0, _iterator.each)(that._getDataBySelectionMode(), (function(_, node) { if (!that._isNodeVisible(node)) { return } if (node.internalFields[property]) { if ("expanded" === property || that.options.multipleSelection) { array.push(node.internalFields.key) } else { array.length && that.toggleSelection(array[0], false, true); array = [node.internalFields.key] } } })); return array }, _getDataBySelectionMode: function() { return this.options.multipleSelection ? this.getData() : this.getFullData() }, _isNodeVisible: function(node) { return false !== node.internalFields.item.visible }, _getByKey: function(data, key) { return data === this._dataStructure ? this.options.dataConverter._getByKey(key) : this.options.dataConverter.getByKey(data, key) }, _setChildrenSelection: function() { var that = this; (0, _iterator.each)(this._dataStructure, (function(_, node) { if (!node.internalFields.childrenKeys.length) { return } var isSelected = node.internalFields.selected; true === isSelected && that._toggleChildrenSelection(node, isSelected) })) }, _setParentSelection: function() { var that = this; (0, _iterator.each)(this._dataStructure, (function(_, node) { var parent = that.options.dataConverter.getParentNode(node); if (parent && node.internalFields.parentKey !== that.options.rootValue) { that._iterateParents(node, (function(parent) { var newParentState = that._calculateSelectedState(parent); that._setFieldState(parent, "selected", newParentState) })) } })) }, _setParentExpansion: function() { var that = this; (0, _iterator.each)(this._dataStructure, (function(_, node) { if (!node.internalFields.expanded) { return } that._updateOneBranch(node.internalFields.key) })) }, _updateOneBranch: function(key) { var that = this; var node = this.getNodeByKey(key); that._iterateParents(node, (function(parent) { that._setFieldState(parent, "expanded", true) })) }, _iterateChildren: function(node, recursive, callback, processedKeys) { if (!(0, _type.isFunction)(callback)) { return } var that = this; var nodeKey = node.internalFields.key; processedKeys = processedKeys || []; if (-1 === processedKeys.indexOf(nodeKey)) { processedKeys.push(nodeKey); (0, _iterator.each)(node.internalFields.childrenKeys, (function(_, key) { var child = that.getNodeByKey(key); callback(child); if (child.internalFields.childrenKeys.length && recursive) { that._iterateChildren(child, recursive, callback, processedKeys) } })) } }, _iterateParents: function(node, callback, processedKeys) { if (node.internalFields.parentKey === this.options.rootValue || !(0, _type.isFunction)(callback)) { return } processedKeys = processedKeys || []; var key = node.internalFields.key; if (-1 === processedKeys.indexOf(key)) { processedKeys.push(key); var parent = this.options.dataConverter.getParentNode(node); if (parent) { callback(parent); if (parent.internalFields.parentKey !== this.options.rootValue) { this._iterateParents(parent, callback, processedKeys) } } } }, _calculateSelectedState: function(node) { var itemsCount = node.internalFields.childrenKeys.length; var selectedItemsCount = 0; var invisibleItemsCount = 0; var result = false; for (var i = 0; i <= itemsCount - 1; i++) { var childNode = this.getNodeByKey(node.internalFields.childrenKeys[i]); var isChildInvisible = false === childNode.internalFields.item.visible; var childState = childNode.internalFields.selected; if (isChildInvisible) { invisibleItemsCount++; continue } if (childState) { selectedItemsCount++ } else if (void 0 === childState) { selectedItemsCount += .5 } } if (selectedItemsCount) { result = selectedItemsCount === itemsCount - invisibleItemsCount ? true : void 0 } return result }, _toggleChildrenSelection: function(node, state) { var that = this; this._iterateChildren(node, true, (function(child) { if (that._isNodeVisible(child)) { that._setFieldState(child, "selected", state) } })) }, _setFieldState: function(node, field, state) { if (node.internalFields[field] === state) { return } node.internalFields[field] = state; if (node.internalFields.publicNode) { node.internalFields.publicNode[field] = state } this.options.dataAccessors.setters[field](node.internalFields.item, state); this.options.onNodeChanged(node) }, _markChildren: function(keys) { var that = this; (0, _iterator.each)(keys, (function(_, key) { var index = that.getIndexByKey(key); var node = that.getNodeByKey(key); that._dataStructure[index] = 0; node.internalFields.childrenKeys.length && that._markChildren(node.internalFields.childrenKeys) })) }, _removeNode: function(key) { var node = this.getNodeByKey(key); this._dataStructure[this.getIndexByKey(key)] = 0; this._markChildren(node.internalFields.childrenKeys); var that = this; var counter = 0; var items = (0, _extend.extend)([], this._dataStructure); (0, _iterator.each)(items, (function(index, item) { if (!item) { that._dataStructure.splice(index - counter, 1); counter++ } })) }, _addNode: function(item) { var dataConverter = this.options.dataConverter; var node = dataConverter._convertItemToNode(item, this.options.dataAccessors.getters.parentKey(item)); this._dataStructure = this._dataStructure.concat(node); this._initialDataStructure = this._initialDataStructure.concat(node); dataConverter._dataStructure = dataConverter._dataStructure.concat(node) }, _updateFields: function() { this.options.dataConverter.updateChildrenKeys(); this._updateSelection(); this._updateExpansion() }, getSelectedNodesKeys: function() { return this._selectedNodesKeys }, getExpandedNodesKeys: function() { return this._expandedNodesKeys }, getData: function() { return this._dataStructure }, getFullData: function() { return this._initialDataStructure }, getNodeByItem: function(item) { var result = null; (0, _iterator.each)(this._dataStructure, (function(_, node) { if (node.internalFields.item === item) { result = node; return false } })); return result }, getNodesByItems: function(items) { var that = this; var nodes = []; (0, _iterator.each)(items, (function(_, item) { var node = that.getNodeByItem(item); node && nodes.push(node) })); return nodes }, getNodeByKey: function(key, data) { return this._getByKey(data || this._getDataBySelectionMode(), key) }, getTreeNodes: function() { return this.options.dataConverter.convertToPublicNodes(this.getRootNodes()) }, getItemsCount: function() { return this.options.dataConverter.getItemsCount() }, getVisibleItemsCount: function() { return this.options.dataConverter.getVisibleItemsCount() }, getPublicNode: function(node) { return node.internalFields.publicNode }, getRootNodes: function() { return this.getChildrenNodes(this.options.rootValue) }, getChildrenNodes: function(parentKey) { return (0, _query.default)(this._dataStructure, { langParams: this.options.langParams }).filter(["internalFields.parentKey", parentKey]).toArray() }, getIndexByKey: function(key) { return this.options.dataConverter.getIndexByKey(key) }, addItem: function(item) { this._addNode(item); this._updateFields() }, removeItem: function(key) { this._removeNode(key); this._updateFields() }, toggleSelection: function(key, state, selectRecursive) { var isSingleModeUnselect = this._isSingleModeUnselect(state); var node = this._getByKey(selectRecursive || isSingleModeUnselect ? this._initialDataStructure : this._dataStructure, key); this._setFieldState(node, "selected", state); if (this.options.recursiveSelection && !selectRecursive) { state ? this._setChildrenSelection() : this._toggleChildrenSelection(node, state); this._setParentSelection() } this._selectedNodesKeys = this._updateNodesKeysArray("selected") }, _isSingleModeUnselect: function(selectionState) { return !this.options.multipleSelection && !selectionState }, toggleNodeDisabledState: function(key, state) { var node = this.getNodeByKey(key); this._setFieldState(node, "disabled", state) }, toggleSelectAll: function(state) { if (!(0, _type.isDefined)(state)) { return } var that = this; var lastSelectedKey = that._selectedNodesKeys[that._selectedNodesKeys.length - 1]; var dataStructure = that._isSingleModeUnselect(state) ? this._initialDataStructure : this._dataStructure; (0, _iterator.each)(dataStructure, (function(index, node) { if (!that._isNodeVisible(node)) { return } that._setFieldState(node, "selected", state) })); that._selectedNodesKeys = that._updateNodesKeysArray("selected"); if (!state && that.options.selectionRequired) { that.toggleSelection(lastSelectedKey, true) } }, isAllSelected: function() { if (this.getSelectedNodesKeys().length) { return this.getSelectedNodesKeys().length === this.getVisibleItemsCount() ? true : void 0 } else { return false } }, toggleExpansion: function(key, state) { var node = this.getNodeByKey(key); this._setFieldState(node, "expanded", state); if (state) { this._updateExpansion(key) } this._expandedNodesKeys = this._updateNodesKeysArray("expanded") }, isFiltered: function(item) { return !this.options.searchValue.length || !!this._filterDataStructure(this.options.searchValue, [item]).length }, _createCriteria: function(selector, value, operation) { var searchFilter = []; if (!Array.isArray(selector)) { return [selector, operation, value] }(0, _iterator.each)(selector, (function(i, item) { searchFilter.push([item, operation, value], "or") })); searchFilter.pop(); return searchFilter }, _filterDataStructure: function(filterValue, dataStructure) { var selector = this.options.searchExpr || this.options.dataAccessors.getters.display; var operation = _ui2.default.getOperationBySearchMode(this.options.searchMode); var criteria = this._createCriteria(selector, filterValue, operation); dataStructure = dataStructure || this._initialDataStructure; return (0, _query.default)(dataStructure, { langParams: this.options.langParams }).filter(criteria).toArray() }, search: function(searchValue) { var that = this; var matches = this._filterDataStructure(searchValue); var dataConverter = this.options.dataConverter; ! function lookForParents(matches, index) { var length = matches.length; while (index < length) { var node = matches[index]; if (node.internalFields.parentKey === that.options.rootValue) { index++; continue } var parent = dataConverter.getParentNode(node); if (!parent) { _ui.default.log("W1007", node.internalFields.parentKey, node.internalFields.key); index++; continue } if (!parent.internalFields.expanded) { that._setFieldState(parent, "expanded", true) } if (matches.includes(parent)) { index++; continue } matches.splice(index, 0, parent); lookForParents(matches, index) } }(matches, 0); if (this.options.sort) { matches = _store_helper.default.queryByOptions((0, _query.default)(matches), { sort: this.options.sort, langParams: this.options.langParams }).toArray() } dataConverter._indexByKey = {}; (0, _iterator.each)(matches, (function(index, node) { node.internalFields.childrenKeys = []; dataConverter._indexByKey[node.internalFields.key] = index })); dataConverter._dataStructure = matches; dataConverter.setChildrenKeys(); return dataConverter._dataStructure } }); var _default = DataAdapter; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 92449: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/hierarchical_collection/ui.data_converter.js ***! \*********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../ui/widget/ui.errors */ 96688)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var DataConverter = _class.default.inherit({ ctor: function() { this._dataStructure = []; this._itemsCount = 0; this._visibleItemsCount = 0 }, _indexByKey: {}, _convertItemsToNodes: function(items, parentKey) { var that = this; (0, _iterator.each)(items, (function(_, item) { var parentId = (0, _type.isDefined)(parentKey) ? parentKey : that._getParentId(item); var node = that._convertItemToNode(item, parentId); that._dataStructure.push(node); that._checkForDuplicateId(node.internalFields.key); that._indexByKey[node.internalFields.key] = that._dataStructure.length - 1; if (that._itemHasChildren(item)) { that._convertItemsToNodes(that._dataAccessors.getters.items(item), node.internalFields.key) } })) }, _checkForDuplicateId: function(key) { if ((0, _type.isDefined)(this._indexByKey[key])) { throw _ui.default.Error("E1040", key) } }, _getParentId: function(item) { return "plain" === this._dataType ? this._dataAccessors.getters.parentKey(item) : void 0 }, _itemHasChildren: function(item) { if ("plain" === this._dataType) { return } var items = this._dataAccessors.getters.items(item); return items && items.length }, _getUniqueKey: function(item) { var keyGetter = this._dataAccessors.getters.key; var itemKey = keyGetter(item); var isCorrectKey = keyGetter && (itemKey || 0 === itemKey) && (0, _type.isPrimitive)(itemKey); return isCorrectKey ? itemKey : this.getItemsCount() }, _convertItemToNode: function(item, parentKey) { this._itemsCount++; false !== item.visible && this._visibleItemsCount++; var node = { internalFields: { disabled: this._dataAccessors.getters.disabled(item, { defaultValue: false }), expanded: this._dataAccessors.getters.expanded(item, { defaultValue: false }), selected: this._dataAccessors.getters.selected(item, { defaultValue: false }), key: this._getUniqueKey(item), parentKey: (0, _type.isDefined)(parentKey) ? parentKey : this._rootValue, item: this._makeObjectFromPrimitive(item), childrenKeys: [] } }; (0, _extend.extend)(node, item); delete node.items; return node }, setChildrenKeys: function() { var that = this; (0, _iterator.each)(this._dataStructure, (function(_, node) { if (node.internalFields.parentKey === that._rootValue) { return } var parent = that.getParentNode(node); parent && parent.internalFields.childrenKeys.push(node.internalFields.key) })) }, _makeObjectFromPrimitive: function(item) { if ((0, _type.isPrimitive)(item)) { var key = item; item = {}; this._dataAccessors.setters.key(item, key) } return item }, _convertToPublicNode: function(node, parent) { if (!node) { return null } var publicNode = { text: this._dataAccessors.getters.display(node), key: node.internalFields.key, selected: node.internalFields.selected, expanded: node.internalFields.expanded, disabled: node.internalFields.disabled, parent: parent || null, itemData: node.internalFields.item, children: [], items: [] }; if (publicNode.parent) { publicNode.parent.children.push(publicNode); publicNode.parent.items.push(publicNode) } return publicNode }, convertToPublicNodes: function(data, parent) { if (!data.length) { return [] } var that = this; var publicNodes = []; (0, _iterator.each)(data, (function(_, node) { node = (0, _type.isPrimitive)(node) ? that._getByKey(node) : node; var publicNode = that._convertToPublicNode(node, parent); publicNode.children = that.convertToPublicNodes(node.internalFields.childrenKeys, publicNode); publicNodes.push(publicNode); node.internalFields.publicNode = publicNode })); return publicNodes }, setDataAccessors: function(accessors) { this._dataAccessors = accessors }, _getByKey: function(key) { return this._dataStructure[this.getIndexByKey(key)] || null }, getParentNode: function(node) { return this._getByKey(node.internalFields.parentKey) }, getByKey: function(data, key) { if (null === key || void 0 === key) { return null } var result = null; var that = this; var getByKey = function(data, key) { (0, _iterator.each)(data, (function(_, element) { var currentElementKey = element.internalFields && element.internalFields.key || that._dataAccessors.getters.key(element); if (currentElementKey.toString() === key.toString()) { result = element; return false } })); return result }; return getByKey(data, key) }, getItemsCount: function() { return this._itemsCount }, getVisibleItemsCount: function() { return this._visibleItemsCount }, updateIndexByKey: function() { var that = this; this._indexByKey = {}; (0, _iterator.each)(this._dataStructure, (function(index, node) { that._checkForDuplicateId(node.internalFields.key); that._indexByKey[node.internalFields.key] = index })) }, updateChildrenKeys: function() { this._indexByKey = {}; this.removeChildrenKeys(); this.updateIndexByKey(); this.setChildrenKeys() }, removeChildrenKeys: function() { this._indexByKey = {}; (0, _iterator.each)(this._dataStructure, (function(index, node) { node.internalFields.childrenKeys = [] })) }, getIndexByKey: function(key) { return this._indexByKey[key] }, createPlainStructure: function(items, rootValue, dataType) { this._itemsCount = 0; this._visibleItemsCount = 0; this._rootValue = rootValue; this._dataType = dataType; this._indexByKey = {}; this._convertItemsToNodes(items); this.setChildrenKeys(); return this._dataStructure } }); var _default = DataConverter; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 65810: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/hierarchical_collection/ui.hierarchical_collection_widget.js ***! \*************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _icon = __webpack_require__( /*! ../../core/utils/icon */ 44899); var _ui = _interopRequireDefault(__webpack_require__( /*! ./ui.data_adapter */ 71004)); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ../collection/ui.collection_widget.edit */ 11050)); var _bindable_template = __webpack_require__( /*! ../../core/templates/bindable_template */ 93280); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var HierarchicalCollectionWidget = _uiCollection_widget.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { keyExpr: "id", displayExpr: "text", selectedExpr: "selected", disabledExpr: "disabled", itemsExpr: "items", hoverStateEnabled: true, parentIdExpr: "parentId", expandedExpr: "expanded" }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }]) }, _init: function() { this.callBase(); this._initAccessors(); this._initDataAdapter(); this._initDynamicTemplates() }, _initDataSource: function() { this.callBase(); this._dataSource && this._dataSource.paginate(false) }, _initDataAdapter: function() { var accessors = this._createDataAdapterAccessors(); this._dataAdapter = new _ui.default((0, _extend.extend)({ dataAccessors: { getters: accessors.getters, setters: accessors.setters }, items: this.option("items") }, this._getDataAdapterOptions())) }, _getDataAdapterOptions: _common.noop, _getItemExtraPropNames: _common.noop, _initDynamicTemplates: function() { var fields = ["text", "html", "items", "icon"].concat(this._getItemExtraPropNames()); this._templateManager.addDefaultTemplates({ item: new _bindable_template.BindableTemplate(this._addContent.bind(this), fields, this.option("integrationOptions.watchMethod"), { text: this._displayGetter, items: this._itemsGetter }) }) }, _addContent: function($container, itemData) { $container.html(itemData.html).append(this._getIconContainer(itemData)).append(this._getTextContainer(itemData)) }, _getIconContainer: function(itemData) { return itemData.icon ? (0, _icon.getImageContainer)(itemData.icon) : void 0 }, _getTextContainer: function(itemData) { return (0, _renderer.default)("<span>").text(itemData.text) }, _initAccessors: function() { var that = this; (0, _iterator.each)(this._getAccessors(), (function(_, accessor) { that._compileAccessor(accessor) })); this._compileDisplayGetter() }, _getAccessors: function() { return ["key", "selected", "items", "disabled", "parentId", "expanded"] }, _getChildNodes: function(node) { var that = this; var arr = []; (0, _iterator.each)(node.internalFields.childrenKeys, (function(_, key) { var childNode = that._dataAdapter.getNodeByKey(key); arr.push(childNode) })); return arr }, _hasChildren: function(node) { return node && node.internalFields.childrenKeys.length }, _compileAccessor: function(optionName) { var getter = "_" + optionName + "Getter"; var setter = "_" + optionName + "Setter"; var optionExpr = this.option(optionName + "Expr"); if (!optionExpr) { this[getter] = _common.noop; this[setter] = _common.noop; return } else if ((0, _type.isFunction)(optionExpr)) { this[setter] = function(obj, value) { obj[optionExpr()] = value }; this[getter] = function(obj) { return obj[optionExpr()] }; return } this[getter] = (0, _data.compileGetter)(optionExpr); this[setter] = (0, _data.compileSetter)(optionExpr) }, _createDataAdapterAccessors: function() { var that = this; var accessors = { getters: {}, setters: {} }; (0, _iterator.each)(this._getAccessors(), (function(_, accessor) { var getterName = "_" + accessor + "Getter"; var setterName = "_" + accessor + "Setter"; var newAccessor = "parentId" === accessor ? "parentKey" : accessor; accessors.getters[newAccessor] = that[getterName]; accessors.setters[newAccessor] = that[setterName] })); accessors.getters.display = !this._displayGetter ? function(itemData) { return itemData.text } : this._displayGetter; return accessors }, _initMarkup: function() { this.callBase(); this._addWidgetClass() }, _addWidgetClass: function() { this._focusTarget().addClass(this._widgetClass()) }, _widgetClass: _common.noop, _renderItemFrame: function(index, itemData) { var $itemFrame = this.callBase.apply(this, arguments); $itemFrame.toggleClass("dx-state-disabled", !!this._disabledGetter(itemData)); return $itemFrame }, _optionChanged: function(args) { switch (args.name) { case "displayExpr": case "keyExpr": this._initAccessors(); this._initDynamicTemplates(); this.repaint(); break; case "itemsExpr": case "selectedExpr": case "disabledExpr": case "expandedExpr": case "parentIdExpr": this._initAccessors(); this._initDataAdapter(); this.repaint(); break; case "items": this._initDataAdapter(); this.callBase(args); break; default: this.callBase(args) } } }); var _default = HierarchicalCollectionWidget; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 9619: /*!***************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor.js ***! \***************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./html_editor/ui.html_editor */ 15887), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 56957: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/converterController.js ***! \***********************************************************************************/ function(module, exports) { exports.default = void 0; var ConverterController = function() { function ConverterController() { this._converters = {} } var _proto = ConverterController.prototype; _proto.addConverter = function(name, converter) { this._converters[name] = converter }; _proto.getConverter = function(name) { return this._converters[name] }; return ConverterController }(); var controller = new ConverterController; var _default = controller; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 44844: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/converters/delta.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _converterController = (obj = __webpack_require__( /*! ../converterController */ 56957), obj && obj.__esModule ? obj : { default: obj }); var obj; var DeltaConverter = function() { function DeltaConverter() {} var _proto = DeltaConverter.prototype; _proto.setQuillInstance = function(quillInstance) { this.quillInstance = quillInstance }; _proto.toHtml = function() { if (!this.quillInstance) { return } return this._isQuillEmpty() ? "" : this.quillInstance.getSemanticHTML(0, this.quillInstance.getLength() + 1) }; _proto._isQuillEmpty = function() { var delta = this.quillInstance.getContents(); return 1 === delta.length() && this._isDeltaEmpty(delta) }; _proto._isDeltaEmpty = function(delta) { return delta.reduce((function(__, _ref) { var insert = _ref.insert; return -1 !== insert.indexOf("\n") })) }; return DeltaConverter }(); _converterController.default.addConverter("delta", DeltaConverter); var _default = DeltaConverter; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 52935: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/converters/markdown.js ***! \***********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _turndown = _interopRequireDefault(__webpack_require__( /*! turndown */ 42552)); var _devextremeShowdown = _interopRequireDefault(__webpack_require__( /*! devextreme-showdown */ 4848)); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../widget/ui.errors */ 96688)); var _converterController = _interopRequireDefault(__webpack_require__( /*! ../converterController */ 56957)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var MarkdownConverter = function() { function MarkdownConverter() { var _this$_html2Markdown; var window = (0, _window.getWindow)(); var turndown = window && window.TurndownService || _turndown.default; var showdown = window && window.showdown || _devextremeShowdown.default; if (!turndown) { throw _ui.default.Error("E1041", "Turndown") } if (!showdown) { throw _ui.default.Error("E1041", "DevExtreme-Showdown") } this._html2Markdown = new turndown; if (null !== (_this$_html2Markdown = this._html2Markdown) && void 0 !== _this$_html2Markdown && _this$_html2Markdown.addRule) { this._html2Markdown.addRule("emptyLine", { filter: function(element) { return "p" === element.nodeName.toLowerCase() && "<br>" === element.innerHTML }, replacement: function() { return "<br>" } }); this._html2Markdown.keep(["table"]) } this._markdown2Html = new showdown.Converter({ simpleLineBreaks: true, strikethrough: true, tables: true }) } var _proto = MarkdownConverter.prototype; _proto.toMarkdown = function(htmlMarkup) { return this._html2Markdown.turndown(htmlMarkup || "") }; _proto.toHtml = function(markdownMarkup) { var markup = this._markdown2Html.makeHtml(markdownMarkup); if (markup) { markup = markup.replace(new RegExp("\\r?\\n", "g"), "") } return markup }; return MarkdownConverter }(); _converterController.default.addConverter("markdown", MarkdownConverter); var _default = MarkdownConverter; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 90223: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/formats/align.js ***! \*****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _devextremeQuill = (obj = __webpack_require__( /*! devextreme-quill */ 9549), obj && obj.__esModule ? obj : { default: obj }); var obj; var AlignStyle = {}; if (_devextremeQuill.default) { AlignStyle = _devextremeQuill.default.import("attributors/style/align"); AlignStyle.whitelist.push("left") } var _default = AlignStyle; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 73360: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/formats/font.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _devextremeQuill = (obj = __webpack_require__( /*! devextreme-quill */ 9549), obj && obj.__esModule ? obj : { default: obj }); var obj; var FontStyle = {}; if (_devextremeQuill.default) { FontStyle = _devextremeQuill.default.import("attributors/style/font"); FontStyle.whitelist = null } var _default = FontStyle; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 72446: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/formats/image.js ***! \*****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _devextremeQuill = (obj = __webpack_require__( /*! devextreme-quill */ 9549), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ExtImage = {}; if (_devextremeQuill.default) { var Image = _devextremeQuill.default.import("formats/image"); ExtImage = function(_Image) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ExtImage, _Image); function ExtImage() { return _Image.apply(this, arguments) || this } ExtImage.create = function(data) { var SRC = data && data.src || data; var node = _Image.create.call(this, SRC); if ((0, _type.isObject)(data)) { var setAttribute = function(attr, value) { data[attr] && node.setAttribute(attr, value) }; setAttribute("alt", data.alt); setAttribute("width", data.width); setAttribute("height", data.height) } return node }; ExtImage.formats = function(domNode) { var formats = _Image.formats.call(this, domNode); formats.imageSrc = domNode.getAttribute("src"); return formats }; var _proto = ExtImage.prototype; _proto.formats = function() { var formats = _Image.prototype.formats.call(this); var floatValue = this.domNode.style.float; if (floatValue) { formats.float = floatValue } return formats }; _proto.format = function(name, value) { if ("float" === name) { this.domNode.style[name] = value } else { _Image.prototype.format.call(this, name, value) } }; ExtImage.value = function(domNode) { return { src: domNode.getAttribute("src"), width: domNode.getAttribute("width"), height: domNode.getAttribute("height"), alt: domNode.getAttribute("alt") } }; return ExtImage }(Image); ExtImage.blotName = "extendedImage" } var _default = ExtImage; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 8980: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/formats/link.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _devextremeQuill = (obj = __webpack_require__( /*! devextreme-quill */ 9549), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ExtLink = {}; if (_devextremeQuill.default) { var Link = _devextremeQuill.default.import("formats/link"); ExtLink = function(_Link) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ExtLink, _Link); function ExtLink() { return _Link.apply(this, arguments) || this } ExtLink.create = function(data) { var _data$href; var HREF = null !== (_data$href = null === data || void 0 === data ? void 0 : data.href) && void 0 !== _data$href ? _data$href : data; var node = _Link.create.call(this, HREF); if ((0, _type.isObject)(data)) { if (data.text) { node.innerText = data.text } if (!data.target) { node.removeAttribute("target") } } return node }; ExtLink.formats = function(domNode) { return { href: domNode.getAttribute("href"), target: domNode.getAttribute("target") } }; var _proto = ExtLink.prototype; _proto.formats = function() { var formats = _Link.prototype.formats.call(this); var _ExtLink$formats = ExtLink.formats(this.domNode), href = _ExtLink$formats.href, target = _ExtLink$formats.target; formats.link = href; formats.target = target; return formats }; _proto.format = function(name, value) { if ("link" === name && (0, _type.isObject)(value)) { if (value.text) { this.domNode.innerText = value.text } if (value.target) { this.domNode.setAttribute("target", "_blank") } else { this.domNode.removeAttribute("target") } this.domNode.setAttribute("href", value.href) } else { _Link.prototype.format.call(this, name, value) } }; ExtLink.value = function(domNode) { return { href: domNode.getAttribute("href"), text: domNode.innerText, target: !!domNode.getAttribute("target") } }; return ExtLink }(Link) } var _default = ExtLink; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 72410: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/formats/mention.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _devextremeQuill = _interopRequireDefault(__webpack_require__( /*! devextreme-quill */ 9549)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _templates_storage = _interopRequireDefault(__webpack_require__( /*! ../utils/templates_storage */ 68953)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var Mention = {}; if (_devextremeQuill.default) { var Embed = _devextremeQuill.default.import("blots/embed"); Mention = function(_Embed) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Mention, _Embed); function Mention() { return _Embed.apply(this, arguments) || this } Mention.create = function(data) { var node = _Embed.create.call(this); node.setAttribute("spellcheck", false); node.dataset.marker = data.marker; node.dataset.mentionValue = data.value; node.dataset.id = data.id; this.renderContent(node, data); return node }; Mention.value = function(node) { return { marker: node.dataset.marker, id: node.dataset.id, value: node.dataset.mentionValue } }; Mention.renderContent = function(node, data) { var template = this._templatesStorage.get({ editorKey: data.keyInTemplateStorage, marker: data.marker }); if (template) { template.render({ model: data, container: node }) } else { this.baseContentRender(node, data) } }; Mention.baseContentRender = function(node, data) { var $marker = (0, _renderer.default)("<span>").text(data.marker); (0, _renderer.default)(node).append($marker).append(data.value) }; Mention.addTemplate = function(data, template) { this._templatesStorage.set(data, template) }; Mention.removeTemplate = function(data) { this._templatesStorage.delete(data) }; return Mention }(Embed); Mention.blotName = "mention"; Mention.tagName = "span"; Mention.className = "dx-mention"; Mention._templatesStorage = new _templates_storage.default } var _default = Mention; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 2909: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/formats/size.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _devextremeQuill = (obj = __webpack_require__( /*! devextreme-quill */ 9549), obj && obj.__esModule ? obj : { default: obj }); var obj; var SizeStyle = {}; if (_devextremeQuill.default) { SizeStyle = _devextremeQuill.default.import("attributors/style/size"); SizeStyle.whitelist = null } var _default = SizeStyle; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 76195: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/formats/variable.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _devextremeQuill = (obj = __webpack_require__( /*! devextreme-quill */ 9549), obj && obj.__esModule ? obj : { default: obj }); var obj; var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var Variable = {}; if (_devextremeQuill.default) { var Embed = _devextremeQuill.default.import("blots/embed"); Variable = function(_Embed) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Variable, _Embed); function Variable() { return _Embed.apply(this, arguments) || this } Variable.create = function(data) { var node = _Embed.create.call(this); var startEscapeChar; var endEscapeChar; var text = data.value; if (Array.isArray(data.escapeChar)) { startEscapeChar = (0, _common.ensureDefined)(data.escapeChar[0], ""); endEscapeChar = (0, _common.ensureDefined)(data.escapeChar[1], "") } else { startEscapeChar = endEscapeChar = data.escapeChar } node.innerText = startEscapeChar + text + endEscapeChar; node.dataset.varStartEscChar = startEscapeChar; node.dataset.varEndEscChar = endEscapeChar; node.dataset.varValue = data.value; return node }; Variable.value = function(node) { return (0, _extend.extend)({}, { value: node.dataset.varValue, escapeChar: [node.dataset.varStartEscChar || "", node.dataset.varEndEscChar || ""] }) }; return Variable }(Embed); Variable.blotName = "variable"; Variable.tagName = "span"; Variable.className = "dx-variable" } var _default = Variable; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 10803: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/matchers/wordLists.js ***! \**********************************************************************************/ function(module, exports) { exports.default = void 0; var _default = function(quill) { var Delta = quill.import("delta"); return function(node, delta) { var ops = delta.ops.slice(); var insertOperation = ops[0]; insertOperation.insert = insertOperation.insert.replace(/^\s+/, ""); var listDecoratorMatches = insertOperation.insert.match(/^(\S+)\s+/); var indent = listDecoratorMatches && function(node) { var style = node.getAttribute("style"); if (style) { var level = style.replace(/\n+/g, "").match(/level(\d+)/); return level ? level[1] - 1 : 0 } else { return false } }(node); if (!listDecoratorMatches || false === indent) { return delta } insertOperation.insert = insertOperation.insert.substring(listDecoratorMatches[0].length, insertOperation.insert.length); operations = ops, newLineOperation = operations[operations.length - 1], void(newLineOperation.insert = newLineOperation.insert.trim()); var operations, newLineOperation; ops.push({ insert: "\n", attributes: { list: (matches = listDecoratorMatches, prefix = matches[1], prefix.match(/\S+\./) ? "ordered" : "bullet"), indent: indent } }); var matches, prefix; return new Delta(ops) } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 30963: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/modules/base.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _devextremeQuill = _interopRequireDefault(__webpack_require__( /*! devextreme-quill */ 9549)); var _empty = _interopRequireDefault(__webpack_require__( /*! ./empty */ 56764)); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var BaseModule = _empty.default; if (_devextremeQuill.default) { var BaseQuillModule = _devextremeQuill.default.import("core/module"); BaseModule = function(_BaseQuillModule) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(BaseHtmlEditorModule, _BaseQuillModule); function BaseHtmlEditorModule(quill, options) { var _this; _this = _BaseQuillModule.call(this, quill, options) || this; _this.editorInstance = options.editorInstance; return _this } var _proto = BaseHtmlEditorModule.prototype; _proto.saveValueChangeEvent = function(event) { this.editorInstance._saveValueChangeEvent(event) }; _proto.addCleanCallback = function(callback) { this.editorInstance.addCleanCallback(callback) }; _proto.handleOptionChangeValue = function(changes) { var _this2 = this; if ((0, _type.isObject)(changes)) { Object.entries(changes).forEach((function(_ref) { var _ref2 = _slicedToArray(_ref, 2), name = _ref2[0], value = _ref2[1]; return _this2.option(name, value) })) } else if (!(0, _type.isDefined)(changes)) { null === this || void 0 === this ? void 0 : this.clean() } }; return BaseHtmlEditorModule }(BaseQuillModule) } var _default = BaseModule; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 78859: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/modules/dropImage.js ***! \*********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _devextremeQuill = _interopRequireDefault(__webpack_require__( /*! devextreme-quill */ 9549)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../../events/utils/index */ 39611); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/browser */ 47810)); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); var _base = _interopRequireDefault(__webpack_require__( /*! ./base */ 30963)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DropImageModule = _base.default; if (_devextremeQuill.default) { DropImageModule = function(_BaseModule) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DropImageModule, _BaseModule); function DropImageModule(quill, options) { var _this; _this = _BaseModule.call(this, quill, options) || this; var widgetName = _this.editorInstance.NAME; _events_engine.default.on(_this.quill.root, (0, _index.addNamespace)("drop", widgetName), _this._dropHandler.bind(_assertThisInitialized(_this))); _events_engine.default.on(_this.quill.root, (0, _index.addNamespace)("paste", widgetName), _this._pasteHandler.bind(_assertThisInitialized(_this))); return _this } var _proto = DropImageModule.prototype; _proto._dropHandler = function(e) { var _dataTransfer$files; var dataTransfer = e.originalEvent.dataTransfer; var hasFiles = null === dataTransfer || void 0 === dataTransfer ? void 0 : null === (_dataTransfer$files = dataTransfer.files) || void 0 === _dataTransfer$files ? void 0 : _dataTransfer$files.length; this.saveValueChangeEvent(e); e.preventDefault(); if (hasFiles) { this._getImage(dataTransfer.files, this._addImage.bind(this)) } }; _proto._pasteHandler = function(e) { var _clipboardData$items, _this2 = this; var clipboardData = e.originalEvent.clipboardData; this.saveValueChangeEvent(e); if (!clipboardData) { return } var hasDataItems = null === (_clipboardData$items = clipboardData.items) || void 0 === _clipboardData$items ? void 0 : _clipboardData$items.length; var isHtmlData = clipboardData.getData("text/html"); if (!isHtmlData && hasDataItems) { this._getImage(clipboardData.items, (function(imageData) { if (_this2._isBrowserSupportImagePaste(_browser.default)) { return } _this2._addImage(imageData) })) } }; _proto._isBrowserSupportImagePaste = function(_ref) { var mozilla = _ref.mozilla, chrome = _ref.chrome, version = _ref.version; return mozilla || chrome && version > 82 }; _proto._isImage = function(file) { return !!file.type.match(/^image\/(a?png|bmp|gif|p?jpe?g|svg|vnd\.microsoft\.icon|webp)/i) }; _proto._getImage = function(files, callback) { var _this3 = this; var window = (0, _window.getWindow)(); (0, _iterator.each)(files, (function(index, file) { if (!_this3._isImage(file)) { return } var reader = new window.FileReader; reader.onload = function(_ref2) { var target = _ref2.target; callback(target.result) }; var readableFile = file.getAsFile ? file.getAsFile() : file; if (readableFile instanceof window.Blob) { reader.readAsDataURL(readableFile) } })) }; _proto._addImage = function(data) { var selection = this.quill.getSelection(); var pasteIndex = selection ? selection.index : this.quill.getLength(); this.quill.insertEmbed(pasteIndex, "extendedImage", data, "user") }; return DropImageModule }(_base.default) } var _default = DropImageModule; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 56764: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/modules/empty.js ***! \*****************************************************************************/ function(module, exports) { exports.default = void 0; exports.default = function() {}; module.exports = exports.default; module.exports.default = exports.default }, 80900: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/modules/imageCursor.js ***! \***********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _devextremeQuill = _interopRequireDefault(__webpack_require__( /*! devextreme-quill */ 9549)); var _base = _interopRequireDefault(__webpack_require__( /*! ./base */ 30963)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../../events/utils/index */ 39611); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var clickEvent = (0, _index.addNamespace)("dxclick", "dxHtmlEditorImageCursor"); var ImageCursorModule = _base.default; if (_devextremeQuill.default) { ImageCursorModule = function(_BaseModule) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ImageCursorModule, _BaseModule); function ImageCursorModule(quill, options) { var _this; _this = _BaseModule.call(this, quill, options) || this; _this.addCleanCallback(_this.clean.bind(function(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self }(_this))); _this._attachEvents(); return _this } var _proto = ImageCursorModule.prototype; _proto._attachEvents = function() { _events_engine.default.on(this.quill.root, clickEvent, this._clickHandler.bind(this)) }; _proto._detachEvents = function() { _events_engine.default.off(this.quill.root, clickEvent) }; _proto._clickHandler = function(e) { if (this._isAllowedTarget(e.target)) { this._adjustSelection(e) } }; _proto._isAllowedTarget = function(targetElement) { return this._isImage(targetElement) }; _proto._isImage = function(targetElement) { return "IMG" === targetElement.tagName.toUpperCase() }; _proto._adjustSelection = function(e) { var blot = this.quill.scroll.find(e.target); if (blot) { var index = blot.offset(this.quill.scroll); this.quill.setSelection(index + 1, 0) } else { this.quill.setSelection(0, 0) } }; _proto.clean = function() { this._detachEvents() }; return ImageCursorModule }(_base.default) } var _default = ImageCursorModule; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 75990: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/modules/imageUpload.js ***! \***********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _devextremeQuill = _interopRequireDefault(__webpack_require__( /*! devextreme-quill */ 9549)); var _base = _interopRequireDefault(__webpack_require__( /*! ./base */ 30963)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _image_uploader_helper = __webpack_require__( /*! ../utils/image_uploader_helper */ 10046); var _index = __webpack_require__( /*! ../../../events/utils/index */ 39611); var _file_uploader = _interopRequireDefault(__webpack_require__( /*! ../../file_uploader */ 53749)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ImageUploadModule = _base.default; if (_devextremeQuill.default) { ImageUploadModule = function(_BaseModule) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ImageUploadModule, _BaseModule); function ImageUploadModule(quill, options) { var _this; _this = _BaseModule.call(this, quill, options) || this; _this.options = options; _this._quillContainer = _this.editorInstance._getQuillContainer(); _this.addCleanCallback(_this.prepareCleanCallback()); _this._handleServerUpload(); return _this } var _proto = ImageUploadModule.prototype; _proto._handleServerUpload = function() { var useServerUpload = (0, _type.isDefined)(this.options.fileUploadMode) && "base64" !== this.options.fileUploadMode; useServerUpload ? this._enableDragAndDropUploading() : this._disableDragAndDropUploading() }; _proto._getUploaderModule = function() { if (!this._uploaderModule) { this._uploaderModule = this.quill.getModule("uploader") } return this._uploaderModule }; _proto._disableDragAndDropUploading = function() { var _this$_fileUploader; this._getUploaderModule().preventImageUploading(false); this._detachEvents(); null === (_this$_fileUploader = this._fileUploader) || void 0 === _this$_fileUploader ? void 0 : _this$_fileUploader.dispose() }; _proto._enableDragAndDropUploading = function() { this._initFileUploader(); this._getUploaderModule().preventImageUploading(true); this._attachEvents() }; _proto._initFileUploader = function() { var $container = (0, _renderer.default)("<div>").addClass("dx-htmleditor-hidden-content").appendTo(this._quillContainer); var fileUploaderOptions = (0, _extend.extend)({}, (0, _image_uploader_helper.getFileUploaderBaseOptions)(), { uploadUrl: this.options.uploadUrl, onUploaded: this._onUploaded.bind(this) }, this.options.fileUploaderOptions); this._fileUploader = this.editorInstance._createComponent($container, _file_uploader.default, fileUploaderOptions); return $container }; _proto._onUploaded = function(data) { var _this$quill$getSelect; var _ref = null !== (_this$quill$getSelect = this.quill.getSelection()) && void 0 !== _this$quill$getSelect ? _this$quill$getSelect : { index: this.quill.getLength() }, pasteIndex = _ref.index; (0, _image_uploader_helper.serverUpload)(this.options.uploadDirectory, data.file.name, this.quill, pasteIndex) }; _proto._attachEvents = function() { _events_engine.default.on(this.quill.root, (0, _index.addNamespace)("drop", "dxHtmlEditorImageUpload"), this._dropHandler.bind(this)); _events_engine.default.on(this.quill.root, (0, _index.addNamespace)("paste", "dxHtmlEditorImageUpload"), this._pasteHandler.bind(this)) }; _proto._detachEvents = function() { _events_engine.default.off(this.quill.root, "dxHtmlEditorImageUpload") }; _proto._dropHandler = function(e) { this._handleInsertImages(e, "dataTransfer") }; _proto._pasteHandler = function(e) { this._handleInsertImages(e, "clipboardData") }; _proto._handleInsertImages = function(e, filesField) { this.saveValueChangeEvent(e); var files = Array.from(e.originalEvent[filesField].files || []); var uploads = files; if (uploads.length) { e.preventDefault(); e.stopPropagation(); this._fileUploader.option("value", uploads); this._fileUploader.upload() } }; _proto.clean = function() { this._disableDragAndDropUploading() }; _proto.prepareCleanCallback = function() { var _this2 = this; return function() { _this2.clean() } }; _proto.option = function(_option, value) { switch (_option) { case "imageUpload": this.handleOptionChangeValue(value); break; case "fileUploadMode": this.options.fileUploadMode = value; this._handleServerUpload(); break; case "fileUploaderOptions": this._fileUploader.option(value) } }; return ImageUploadModule }(_base.default) } var _default = ImageUploadModule; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 12542: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/modules/mentions.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _devextremeQuill = _interopRequireDefault(__webpack_require__( /*! devextreme-quill */ 9549)); var _data = __webpack_require__( /*! ../../../core/utils/data */ 47617); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _element = __webpack_require__( /*! ../../../core/element */ 6415); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _base = _interopRequireDefault(__webpack_require__( /*! ./base */ 30963)); var _popup = _interopRequireDefault(__webpack_require__( /*! ./popup */ 2269)); var _mention = _interopRequireDefault(__webpack_require__( /*! ../formats/mention */ 72410)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var MentionModule = _base.default; if (_devextremeQuill.default) { var KEYS = { ARROW_UP: "upArrow", ARROW_DOWN: "downArrow", ARROW_LEFT: "leftArrow", ARROW_RIGHT: "rightArrow", ENTER: "enter", ESCAPE: "escape", SPACE: "space", PAGE_UP: "pageUp", PAGE_DOWN: "pageDown", END: "end", HOME: "home" }; var NAVIGATION_KEYS = [KEYS.ARROW_LEFT, KEYS.ARROW_RIGHT, KEYS.PAGE_UP, KEYS.PAGE_DOWN, KEYS.END, KEYS.HOME]; var ALLOWED_PREFIX_CHARS = [" ", "\n"]; _devextremeQuill.default.register({ "formats/mention": _mention.default }, true); MentionModule = function(_PopupModule) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(MentionModule, _PopupModule); var _proto = MentionModule.prototype; _proto._getDefaultOptions = function() { var baseConfig = _PopupModule.prototype._getDefaultOptions.call(this); return (0, _extend.extend)(baseConfig, { itemTemplate: "item", valueExpr: "this", displayExpr: "this", template: null, searchExpr: null, searchTimeout: 500, minSearchLength: 0 }) }; function MentionModule(quill, options) { var _this; _this = _PopupModule.call(this, quill, options) || this; _this._mentions = {}; options.mentions.forEach((function(item) { var marker = item.marker; if (!marker) { item.marker = marker = "@" } var template = item.template; if (template) { var preparedTemplate = _this.editorInstance._getTemplate(template); preparedTemplate && _mention.default.addTemplate({ marker: marker, editorKey: _this.editorInstance.getMentionKeyInTemplateStorage() }, preparedTemplate) } _this._mentions[marker] = (0, _extend.extend)({}, _this._getDefaultOptions(), item) })); _this._attachKeyboardHandlers(); _this.addCleanCallback(_this.clean.bind(_assertThisInitialized(_this))); _this.quill.on("text-change", _this.onTextChange.bind(_assertThisInitialized(_this))); return _this } _proto._attachKeyboardHandlers = function() { this.quill.keyboard.addBinding({ key: KEYS.ARROW_UP }, this._moveToItem.bind(this, "prev")); this.quill.keyboard.addBinding({ key: KEYS.ARROW_DOWN }, this._moveToItem.bind(this, "next")); this.quill.keyboard.addBinding({ key: [KEYS.ENTER, KEYS.SPACE] }, this._selectItemHandler.bind(this)); var enterBindings = this.quill.keyboard.bindings[KEYS.ENTER]; enterBindings.unshift(enterBindings.pop()); this.quill.keyboard.addBinding({ key: KEYS.ESCAPE }, this._escapeKeyHandler.bind(this)); this.quill.keyboard.addBinding({ key: [KEYS.ARROW_LEFT, KEYS.ARROW_RIGHT], shiftKey: true }, this._ignoreKeyHandler.bind(this)); this.quill.keyboard.addBinding({ key: NAVIGATION_KEYS }, this._ignoreKeyHandler.bind(this)) }; _proto._moveToItem = function(direction) { var dataSource = this._list.getDataSource(); if (this._isMentionActive && !dataSource.isLoading()) { var $focusedItem = (0, _renderer.default)(this._list.option("focusedElement")); var defaultItemPosition = "next" === direction ? "first" : "last"; var $nextItem = $focusedItem[direction](); $nextItem = $nextItem.length ? $nextItem : this._activeListItems[defaultItemPosition](); this._list.option("focusedElement", (0, _element.getPublicElement)($nextItem)); this._list.scrollToItem($nextItem) } return !this._isMentionActive }; _proto._ignoreKeyHandler = function() { return !this._isMentionActive }; _proto._fitIntoRange = function(value, start, end) { if (value > end) { return start } if (value < start) { return end } return value }; _proto._selectItemHandler = function() { if (this._isMentionActive) { this._list.option("items").length ? this._list.selectItem(this._list.option("focusedElement")) : this._popup.hide() } return !this._isMentionActive }; _proto._escapeKeyHandler = function() { if (this._isMentionActive) { this._popup.hide() } return !this._isMentionActive }; _proto.renderList = function($container, options) { this.compileGetters(this.options); _PopupModule.prototype.renderList.call(this, $container, options) }; _proto.compileGetters = function(_ref) { var displayExpr = _ref.displayExpr, valueExpr = _ref.valueExpr; this._valueGetter = (0, _data.compileGetter)(displayExpr); this._idGetter = (0, _data.compileGetter)(valueExpr) }; _proto._getListConfig = function(options) { var _this2 = this; var baseConfig = _PopupModule.prototype._getListConfig.call(this, options); return (0, _extend.extend)(baseConfig, { itemTemplate: this.options.itemTemplate, onContentReady: function() { if (_this2._hasSearch) { _this2._popup.repaint(); _this2._focusFirstElement(); _this2._hasSearch = false } } }) }; _proto.insertEmbedContent = function() { var markerLength = this._activeMentionConfig.marker.length; var textLength = markerLength + this._searchValue.length; var caretPosition = this.getPosition(); var selectedItem = this._list.option("selectedItem"); var value = { value: this._valueGetter(selectedItem), id: this._idGetter(selectedItem), marker: this._activeMentionConfig.marker, keyInTemplateStorage: this.editorInstance.getMentionKeyInTemplateStorage() }; var Delta = _devextremeQuill.default.import("delta"); var startIndex = Math.max(0, caretPosition - markerLength); var newDelta = (new Delta).retain(startIndex).delete(textLength).insert({ mention: value }).insert(" "); this.quill.updateContents(newDelta); this.quill.setSelection(startIndex + 2) }; _proto._getLastInsertOperation = function(ops) { var lastOperation = ops[ops.length - 1]; var isLastOperationInsert = "insert" in lastOperation; if (isLastOperationInsert) { return lastOperation } var isLastOperationDelete = "delete" in lastOperation; if (isLastOperationDelete && ops.length >= 2) { var penultOperation = ops[ops.length - 2]; var isPenultOperationInsert = "insert" in penultOperation; var isSelectionReplacing = isLastOperationDelete && isPenultOperationInsert; if (isSelectionReplacing) { return penultOperation } } return null }; _proto.onTextChange = function(newDelta, oldDelta, source) { if ("user" === source) { var lastOperation = newDelta.ops[newDelta.ops.length - 1]; if (this._isMentionActive && this._isPopupVisible) { this._processSearchValue(lastOperation) && this._filterList(this._searchValue) } else { var ops = newDelta.ops; var lastInsertOperation = this._getLastInsertOperation(ops); if (lastInsertOperation) { this.checkMentionRequest(lastInsertOperation, ops) } } } }; _proto._processSearchValue = function(operation) { var isInsertOperation = "insert" in operation; if (isInsertOperation) { this._searchValue += operation.insert } else if (!this._searchValue.length || operation.delete > 1) { this._popup.hide(); return false } else { this._searchValue = this._searchValue.slice(0, -1) } return true }; _proto.checkMentionRequest = function(_ref2, ops) { var insert = _ref2.insert; var caret = this.quill.getSelection(); if (!insert || !(0, _type.isString)(insert) || !caret || this._isMarkerPartOfText(ops[0].retain)) { return } this._activeMentionConfig = this._mentions[insert]; if (this._activeMentionConfig) { this._updateList(this._activeMentionConfig); var isOnNewLine = caret.index && "\n" === this._getCharByIndex(caret.index - 1); this.savePosition(caret.index + isOnNewLine); this._popup.option("position", this._popupPosition); this._searchValue = ""; this._popup.show() } }; _proto._isMarkerPartOfText = function(retain) { if (!retain || -1 !== ALLOWED_PREFIX_CHARS.indexOf(this._getCharByIndex(retain - 1))) { return false } return true }; _proto._getCharByIndex = function(index) { return this.quill.getContents(index, 1).ops[0].insert }; _proto._updateList = function(_ref3) { var dataSource = _ref3.dataSource, displayExpr = _ref3.displayExpr, valueExpr = _ref3.valueExpr, itemTemplate = _ref3.itemTemplate, searchExpr = _ref3.searchExpr; this.compileGetters({ displayExpr: displayExpr, valueExpr: valueExpr }); this._list.unselectAll(); this._list.option({ dataSource: dataSource, displayExpr: displayExpr, itemTemplate: itemTemplate, searchExpr: searchExpr }) }; _proto._filterList = function(searchValue) { var _this3 = this; if (!this._isMinSearchLengthExceeded(searchValue)) { this._resetFilter(); return } var searchTimeout = this._activeMentionConfig.searchTimeout; if (searchTimeout) { clearTimeout(this._searchTimer); this._searchTimer = setTimeout((function() { _this3._search(searchValue) }), searchTimeout) } else { this._search(searchValue) } }; _proto._isMinSearchLengthExceeded = function(searchValue) { return searchValue.length >= this._activeMentionConfig.minSearchLength }; _proto._resetFilter = function() { clearTimeout(this._searchTimer); this._search(null) }; _proto._search = function(searchValue) { this._hasSearch = true; this._list.option("searchValue", searchValue) }; _proto._focusFirstElement = function() { if (!this._list) { return } var $firstItem = this._activeListItems.first(); this._list.option("focusedElement", (0, _element.getPublicElement)($firstItem)); this._list.scrollToItem($firstItem) }; _proto._getPopupConfig = function() { var _this4 = this; return (0, _extend.extend)(_PopupModule.prototype._getPopupConfig.call(this), { hideOnParentScroll: false, onShown: function() { _this4._isMentionActive = true; _this4._hasSearch = false; _this4._focusFirstElement() }, onHidden: function() { _this4._list.unselectAll(); _this4._list.option("focusedElement", null); _this4._isMentionActive = false; _this4._search(null) }, focusStateEnabled: false }) }; _proto.clean = function() { var _this5 = this; Object.keys(this._mentions).forEach((function(marker) { if (_this5._mentions[marker].template) { _mention.default.removeTemplate({ marker: marker, editorKey: _this5.editorInstance.getMentionKeyInTemplateStorage() }) } })) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(MentionModule, [{ key: "_isPopupVisible", get: function() { var _this$_popup; return null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.option("visible") } }, { key: "_popupPosition", get: function() { var position = this.getPosition(); var _this$quill$getBounds = this.quill.getBounds(position ? position - 1 : position), mentionLeft = _this$quill$getBounds.left, mentionTop = _this$quill$getBounds.top, mentionHeight = _this$quill$getBounds.height; var _$$offset = (0, _renderer.default)(this.quill.root).offset(), leftOffset = _$$offset.left, topOffset = _$$offset.top; var positionEvent = _events_engine.default.Event("positionEvent", { pageX: leftOffset + mentionLeft, pageY: topOffset + mentionTop }); return { of: positionEvent, offset: { v: mentionHeight }, my: "top left", at: "top left", collision: { y: "flip", x: "flipfit" } } } }, { key: "_activeListItems", get: function() { return this._list.itemElements().filter(":not(.".concat("dx-state-disabled", ")")) } }]); return MentionModule }(_popup.default) } var _default = MentionModule; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 2269: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/modules/popup.js ***! \*****************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _devextremeQuill = _interopRequireDefault(__webpack_require__( /*! devextreme-quill */ 9549)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../../events/utils/index */ 39611); var _base = _interopRequireDefault(__webpack_require__( /*! ./base */ 30963)); var _popup = _interopRequireDefault(__webpack_require__( /*! ../../popup */ 39114)); var _list_light = _interopRequireDefault(__webpack_require__( /*! ../../list_light */ 56757)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ListPopupModule = _base.default; if (_devextremeQuill.default) { ListPopupModule = function(_BaseModule) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ListPopupModule, _BaseModule); var _proto = ListPopupModule.prototype; _proto._getDefaultOptions = function() { return { dataSource: null } }; function ListPopupModule(quill, options) { var _this; _this = _BaseModule.call(this, quill, options) || this; _this.options = (0, _extend.extend)({}, _this._getDefaultOptions(), options); _this._popup = _this.renderPopup(); _this._popup.$wrapper().addClass("dx-suggestion-list-wrapper"); _this._renderPreventFocusOut(); return _this } _proto.renderList = function($container, options) { var $list = (0, _renderer.default)("<div>").addClass("dx-suggestion-list").appendTo($container); this._list = this.options.editorInstance._createComponent($list, _list_light.default, options) }; _proto.renderPopup = function() { var editorInstance = this.options.editorInstance; var $container = (0, _renderer.default)("<div>").appendTo(editorInstance.$element()); var popupConfig = this._getPopupConfig(); return editorInstance._createComponent($container, _popup.default, popupConfig) }; _proto._getPopupConfig = function() { var _this2 = this; return { contentTemplate: function(contentElem) { var listConfig = _this2._getListConfig(_this2.options); _this2.renderList((0, _renderer.default)(contentElem), listConfig) }, deferRendering: false, onShown: function() { _this2._list.focus() }, onHidden: function() { _this2._list.unselectAll(); _this2._list.option("focusedElement", null) }, showTitle: false, width: "auto", height: "auto", shading: false, hideOnParentScroll: true, hideOnOutsideClick: true, animation: { show: { type: "fade", duration: 0, from: 0, to: 1 }, hide: { type: "fade", duration: 400, from: 1, to: 0 } }, fullScreen: false, maxHeight: this.maxHeight } }; _proto._getListConfig = function(options) { return { dataSource: options.dataSource, onSelectionChanged: this.selectionChangedHandler.bind(this), selectionMode: "single", pageLoadMode: "scrollBottom" } }; _proto.selectionChangedHandler = function(e) { if (this._popup.option("visible")) { this._popup.hide(); this.insertEmbedContent(e) } }; _proto._renderPreventFocusOut = function() { var eventName = (0, _index.addNamespace)("mousedown", "dxHtmlEditorPopupModule"); _events_engine.default.on(this._popup.$wrapper(), eventName, (function(e) { e.preventDefault() })) }; _proto.insertEmbedContent = function(selectionChangedEvent) {}; _proto.showPopup = function() { this._popup && this._popup.show() }; _proto.savePosition = function(position) { this.caretPosition = position }; _proto.getPosition = function() { return this.caretPosition }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(ListPopupModule, [{ key: "maxHeight", get: function() { var window = (0, _window.getWindow)(); var windowHeight = window && (0, _size.getHeight)(window) || 0; return Math.max(100, .5 * windowHeight) } }]); return ListPopupModule }(_base.default) } var _default = ListPopupModule; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 91787: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/modules/resizing.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _click = __webpack_require__( /*! ../../../events/click */ 95429); var _index = __webpack_require__( /*! ../../../events/utils/index */ 39611); var _translator = __webpack_require__( /*! ../../../animation/translator */ 31648); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../../core/devices */ 20530)); var _resizable = _interopRequireDefault(__webpack_require__( /*! ../../resizable */ 46743)); var _position = __webpack_require__( /*! ../../../core/utils/position */ 37518); var _devextremeQuill = _interopRequireDefault(__webpack_require__( /*! devextreme-quill */ 9549)); var _base = _interopRequireDefault(__webpack_require__( /*! ./base */ 30963)); var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var KEYDOWN_EVENT = (0, _index.addNamespace)("keydown", "dxHtmlResizingModule"); var SCROLL_EVENT = (0, _index.addNamespace)("scroll", "dxHtmlResizingModule"); var MOUSEDOWN_EVENT = (0, _index.addNamespace)("mousedown", "dxHtmlResizingModule"); var ResizingModule = function(_BaseModule) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ResizingModule, _BaseModule); function ResizingModule(quill, options) { var _this; _this = _BaseModule.call(this, quill, options) || this; _this.allowedTargets = options.allowedTargets || ["image"]; _this.enabled = !!options.enabled; _this._hideFrameWithContext = _this.hideFrame.bind(function(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self }(_this)); _this._framePositionChangedHandler = _this._prepareFramePositionChangedHandler(); if (_this.enabled) { _this._attachEvents(); _this._createResizeFrame() } return _this } var _proto = ResizingModule.prototype; _proto._attachEvents = function() { _events_engine.default.on(this.quill.root, (0, _index.addNamespace)(_click.name, "dxHtmlResizingModule"), this._clickHandler.bind(this)); _events_engine.default.on(this.quill.root, SCROLL_EVENT, this._framePositionChangedHandler); this.editorInstance.on("focusOut", this._hideFrameWithContext); this.quill.on("text-change", this._framePositionChangedHandler) }; _proto._detachEvents = function() { _events_engine.default.off(this.quill.root, "dxHtmlResizingModule"); this.editorInstance.off("focusOut", this._hideFrameWithContext); this.quill.off("text-change", this._framePositionChangedHandler) }; _proto._clickHandler = function(e) { if (this._isAllowedTarget(e.target)) { if (this._$target === e.target) { return } this._$target = e.target; var $target = (0, _renderer.default)(this._$target); var minWidth = Math.max((0, _size.getOuterWidth)($target) - (0, _size.getWidth)($target), this.resizable.option("minWidth")); var minHeight = Math.max((0, _size.getOuterHeight)($target) - (0, _size.getHeight)($target), this.resizable.option("minHeight")); this.resizable.option({ minWidth: minWidth, minHeight: minHeight }); this.updateFramePosition(); this.showFrame(); this._adjustSelection() } else if (this._$target) { this.hideFrame() } }; _proto._prepareFramePositionChangedHandler = function(e) { var _this2 = this; return function() { if (_this2._$target) { _this2.updateFramePosition() } } }; _proto._adjustSelection = function() { if (!this.quill.getSelection()) { this.quill.setSelection(0, 0) } }; _proto._isAllowedTarget = function(targetElement) { return this._isImage(targetElement) }; _proto._isImage = function(targetElement) { return -1 !== this.allowedTargets.indexOf("image") && "IMG" === targetElement.tagName.toUpperCase() }; _proto.showFrame = function() { this._$resizeFrame.show(); _events_engine.default.on(this.quill.root, KEYDOWN_EVENT, this._handleFrameKeyDown.bind(this)) }; _proto._handleFrameKeyDown = function(e) { var keyName = (0, _index.normalizeKeyName)(e); if ("del" === keyName || "backspace" === keyName) { this._deleteImage() } this.hideFrame() }; _proto.hideFrame = function() { this._$target = null; this._$resizeFrame.hide(); _events_engine.default.off(this.quill.root, KEYDOWN_EVENT) }; _proto.updateFramePosition = function() { var _getBoundingRect = (0, _position.getBoundingRect)(this._$target), height = _getBoundingRect.height, width = _getBoundingRect.width, targetTop = _getBoundingRect.top, targetLeft = _getBoundingRect.left; var _getBoundingRect2 = (0, _position.getBoundingRect)(this.quill.root), containerTop = _getBoundingRect2.top, containerLeft = _getBoundingRect2.left; var borderWidth = this._getBorderWidth(); this._$resizeFrame.css({ height: height, width: width, padding: 1, top: targetTop - containerTop - borderWidth - 1, left: targetLeft - containerLeft - borderWidth - 1 }); (0, _translator.move)(this._$resizeFrame, { left: 0, top: 0 }) }; _proto._getBorderWidth = function() { return parseInt(this._$resizeFrame.css("borderTopWidth")) }; _proto._createResizeFrame = function() { var _this3 = this; if (this._$resizeFrame) { return } var _devices$current = _devices.default.current(), deviceType = _devices$current.deviceType; this._$resizeFrame = (0, _renderer.default)("<div>").addClass("dx-resize-frame").toggleClass("dx-touch-device", "desktop" !== deviceType).appendTo(this.editorInstance._getQuillContainer()).hide(); _events_engine.default.on(this._$resizeFrame, MOUSEDOWN_EVENT, (function(e) { e.preventDefault() })); this.resizable = this.editorInstance._createComponent(this._$resizeFrame, _resizable.default, { onResize: function(e) { if (!_this3._$target) { return }(0, _renderer.default)(_this3._$target).attr({ height: e.height, width: e.width }); _this3.updateFramePosition() } }) }; _proto._deleteImage = function() { if (this._isAllowedTarget(this._$target)) { var _Quill$find; null === (_Quill$find = _devextremeQuill.default.find(this._$target)) || void 0 === _Quill$find ? void 0 : _Quill$find.deleteAt(0) } }; _proto.option = function(_option, value) { if ("mediaResizing" === _option) { this.handleOptionChangeValue(value); return } if ("enabled" === _option) { this.enabled = value; value ? this._attachEvents() : this._detachEvents() } else if ("allowedTargets" === _option && Array.isArray(value)) { this.allowedTargets = value } }; _proto.clean = function() { this._detachEvents(); this._$resizeFrame.remove(); this._$resizeFrame = void 0 }; return ResizingModule }(_base.default); exports.default = ResizingModule; module.exports = exports.default; module.exports.default = exports.default }, 31700: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/modules/tableContextMenu.js ***! \****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _devextremeQuill = _interopRequireDefault(__webpack_require__( /*! devextreme-quill */ 9549)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _base = _interopRequireDefault(__webpack_require__( /*! ./base */ 30963)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../../events/utils/index */ 39611); var _context_menu = _interopRequireDefault(__webpack_require__( /*! ../../context_menu */ 10042)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../localization/message */ 28109)); var _table_helper = __webpack_require__( /*! ../utils/table_helper */ 28822); var _toolbar_helper = __webpack_require__( /*! ../utils/toolbar_helper */ 92077); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _inflector = __webpack_require__( /*! ../../../core/utils/inflector */ 78008); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var CONTEXT_MENU_EVENT = (0, _index.addNamespace)("dxcontextmenu", "dxHtmlEditorTableContextMenu"); var TableContextMenuModule = _base.default; var localize = function(name) { return _message.default.format("dxHtmlEditor-".concat((0, _inflector.camelize)(name))) }; if (_devextremeQuill.default) { TableContextMenuModule = function(_BaseModule) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(TableContextMenuModule, _BaseModule); function TableContextMenuModule(quill, options) { var _this; _this = _BaseModule.call(this, quill, options) || this; _this.enabled = !!options.enabled; _this._quillContainer = _this.editorInstance._getQuillContainer(); _this.addCleanCallback(_this.prepareCleanCallback()); _this._formatHandlers = (0, _toolbar_helper.getFormatHandlers)(function(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self }(_this)); _this._tableFormats = (0, _table_helper.getTableFormats)(quill); if (_this.enabled) { _this._enableContextMenu(options.items) } return _this } var _proto = TableContextMenuModule.prototype; _proto._enableContextMenu = function(items) { var _this$_contextMenu; null === (_this$_contextMenu = this._contextMenu) || void 0 === _this$_contextMenu ? void 0 : _this$_contextMenu.dispose(); this._contextMenu = this._createContextMenu(items); this._attachEvents() }; _proto._attachEvents = function() { _events_engine.default.on(this.editorInstance._getContent(), CONTEXT_MENU_EVENT, this._prepareContextMenuHandler()) }; _proto._detachEvents = function() { _events_engine.default.off(this.editorInstance._getContent(), CONTEXT_MENU_EVENT) }; _proto._createContextMenu = function(items) { var $container = (0, _renderer.default)("<div>").appendTo(this.editorInstance.$element()); var menuConfig = this._getMenuConfig(items); return this.editorInstance._createComponent($container, _context_menu.default, menuConfig) }; _proto.showPropertiesForm = function() { var type = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "cell"; var $element = (0, _renderer.default)(this._targetElement).closest("cell" === type ? "th, td" : "table"); this._contextMenu.hide(); this._formatHandlers["".concat(type, "Properties")]($element); this._targetElement = null }; _proto._isAcceptableItem = function(widget, acceptableWidgetName) { return !widget || widget === acceptableWidgetName }; _proto._handleObjectItem = function(item) { if (item.name && this._isAcceptableItem(item.widget, "dxButton")) { var defaultButtonItemConfig = this._prepareMenuItemConfig(item.name); var buttonItemConfig = (0, _extend.extend)(true, defaultButtonItemConfig, item); return buttonItemConfig } else if (item.items) { item.items = this._prepareMenuItems(item.items); return item } else { return item } }; _proto._prepareMenuItemConfig = function(name) { var _ICON_MAP$name, _this$_formatHandlers; var iconName = null !== (_ICON_MAP$name = _toolbar_helper.ICON_MAP[name]) && void 0 !== _ICON_MAP$name ? _ICON_MAP$name : name; var buttonText = (0, _inflector.titleize)(name); return { text: localize(buttonText), icon: iconName.toLowerCase(), onClick: null !== (_this$_formatHandlers = this._formatHandlers[name]) && void 0 !== _this$_formatHandlers ? _this$_formatHandlers : (0, _toolbar_helper.getDefaultClickHandler)(this, name) } }; _proto._prepareMenuItems = function(items) { var _this2 = this; var resultItems = []; (0, _iterator.each)(items, (function(_, item) { var newItem; if ((0, _type.isObject)(item)) { newItem = _this2._handleObjectItem(item) } else if ((0, _type.isString)(item)) { newItem = _this2._prepareMenuItemConfig(item) } if (newItem) { resultItems.push(newItem) } })); return resultItems }; _proto._getMenuConfig = function(items) { var _this3 = this; var defaultItems = [{ text: localize("insert"), items: ["insertHeaderRow", "insertRowAbove", "insertRowBelow", (0, _extend.extend)(this._prepareMenuItemConfig("insertColumnLeft"), { beginGroup: true }), "insertColumnRight"] }, { text: localize("delete"), items: ["deleteColumn", "deleteRow", "deleteTable"] }, (0, _extend.extend)(this._prepareMenuItemConfig("cellProperties"), { onClick: function(e) { _this3.showPropertiesForm("cell") } }), (0, _extend.extend)(this._prepareMenuItemConfig("tableProperties"), { onClick: function(e) { _this3.showPropertiesForm("table") } })]; var customItems = this._prepareMenuItems(null !== items && void 0 !== items && items.length ? items : defaultItems); return { target: this._quillContainer, showEvent: null, hideOnParentScroll: false, items: customItems } }; _proto._prepareContextMenuHandler = function() { var _this4 = this; return function(event) { if (_this4._isTableTarget(event.target)) { _this4._targetElement = event.target; _this4._setContextMenuPosition(event); _this4._contextMenu.show(); event.preventDefault() } } }; _proto._setContextMenuPosition = function(event) { var startPosition = this._quillContainer.get(0).getBoundingClientRect(); this._contextMenu.option({ position: { my: "left top", at: "left top", collision: "fit fit", offset: { x: event.clientX - startPosition.left, y: event.clientY - startPosition.top } } }) }; _proto._isTableTarget = function(targetElement) { return !!(0, _renderer.default)(targetElement).closest(".dx-htmleditor-content td, .dx-htmleditor-content th").length }; _proto.clean = function() { this._detachEvents() }; _proto.option = function(_option, value) { if ("tableContextMenu" === _option) { this.handleOptionChangeValue(value); return } if ("enabled" === _option) { this.enabled = value; value ? this._enableContextMenu() : this.clean() } else if ("items" === _option) { var _this$_contextMenu2; null === (_this$_contextMenu2 = this._contextMenu) || void 0 === _this$_contextMenu2 ? void 0 : _this$_contextMenu2.dispose(); this._contextMenu = this._createContextMenu(value) } }; _proto.prepareCleanCallback = function() { var _this5 = this; return function() { _this5.clean() } }; return TableContextMenuModule }(_base.default) } var _default = TableContextMenuModule; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 56459: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/modules/tableResizing.js ***! \*************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _index = __webpack_require__( /*! ../../../events/utils/index */ 39611); var _resize_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/resize_callbacks */ 55814)); var _translator = __webpack_require__( /*! ../../../animation/translator */ 31648); var _position = __webpack_require__( /*! ../../../core/utils/position */ 37518); var _base = _interopRequireDefault(__webpack_require__( /*! ./base */ 30963)); var _draggable = _interopRequireDefault(__webpack_require__( /*! ../../draggable */ 42160)); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _table_helper = __webpack_require__( /*! ../utils/table_helper */ 28822); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DEFAULTS = { minColumnWidth: 40, minRowHeight: 24 }; var POINTERDOWN_EVENT = (0, _index.addNamespace)("dxpointerdown", "dxHtmlTableResizingModule"); var SCROLL_EVENT = (0, _index.addNamespace)("scroll", "dxHtmlTableResizingModule"); var TableResizingModule = function(_BaseModule) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(TableResizingModule, _BaseModule); function TableResizingModule(quill, options) { var _this; _this = _BaseModule.call(this, quill, options) || this; _this.enabled = !!options.enabled; _this._tableResizeFrames = []; _this._minColumnWidth = _this._minSizeLimit("minColumnWidth", options.minColumnWidth); _this._minRowHeight = _this._minSizeLimit("minRowHeight", options.minRowHeight); _this._quillContainer = _this.editorInstance._getQuillContainer(); _this._tableData = []; if (_this.enabled) { _this._applyResizing() } return _this } var _proto = TableResizingModule.prototype; _proto._applyResizing = function(forcedStart) { if (forcedStart) { this._applyResizingImpl() } else { this.editorInstance.addContentInitializedCallback(this._applyResizingImpl.bind(this)) } this.addCleanCallback(this.clean.bind(this)); this._resizeHandlerWithContext = _resize_callbacks.default.add(this._resizeHandler.bind(this)) }; _proto._minSizeLimit = function(propertyName, newValue) { return (0, _type.isDefined)(newValue) ? Math.max(newValue, 0) : DEFAULTS[propertyName] }; _proto._applyResizingImpl = function() { var $tables = this._findTables(); if ($tables.length) { this._fixTablesWidths($tables); this._createResizeFrames($tables); this._updateFramesPositions(); this._updateFramesSeparators() } this._attachEvents() }; _proto._attachEvents = function() { _events_engine.default.on(this.editorInstance._getContent(), SCROLL_EVENT, this._updateFramesPositions.bind(this)); this.quill.on("text-change", this._getQuillTextChangeHandler()) }; _proto._detachEvents = function() { _events_engine.default.off(this.editorInstance._getContent(), "dxHtmlTableResizingModule"); this.quill.off("text-change", this._quillTextChangeHandler) }; _proto._getQuillTextChangeHandler = function(delta, oldContent, source) { var _this2 = this; return function(delta, oldContent, source) { if (_this2._isTableChanging()) { var $tables = _this2._findTables(); _this2._removeResizeFrames(); if ("api" === source) { _this2._fixTablesWidths($tables) } _this2._updateTablesColumnsWidth($tables); _this2._createResizeFrames($tables); _this2._updateFramesPositions(); _this2._updateFramesSeparators() } else { _this2._updateFramesPositions(); if (!_this2._isDragging) { _this2._updateFramesSeparators() } } } }; _proto._getFrameForTable = function($table) { var _this$_framesForTable; return null === (_this$_framesForTable = this._framesForTables) || void 0 === _this$_framesForTable ? void 0 : _this$_framesForTable.get($table.get(0)) }; _proto._resizeHandler = function() { var _this3 = this; this._windowResizeTimeout = setTimeout((function() { var $tables = _this3._findTables(); (0, _iterator.each)($tables, (function(index, table) { var $table = (0, _renderer.default)(table); var frame = _this3._tableResizeFrames[index]; var actualTableWidth = (0, _size.getOuterWidth)($table); var lastTableWidth = _this3._tableLastWidth(frame); if (Math.abs(actualTableWidth - lastTableWidth) > 1) { _this3._tableLastWidth(frame, actualTableWidth); _this3._updateColumnsWidth($table, index) } })); _this3._updateFramesPositions(); _this3._updateFramesSeparators() })) }; _proto._findTables = function() { return (0, _renderer.default)(this._quillContainer).find("table") }; _proto._getWidthStyleValue = function($element) { var styleValue = $element[0].style.width; return "" !== styleValue ? parseInt(styleValue) : void 0 }; _proto._tableLastWidth = function(frame, newValue) { if ((0, _type.isDefined)(newValue)) { frame.lastWidth = newValue } else { return null === frame || void 0 === frame ? void 0 : frame.lastWidth } }; _proto._fixTablesWidths = function($tables) { var _this4 = this; (0, _iterator.each)($tables, (function(index, table) { var $table = (0, _renderer.default)(table); var $columnElements = _this4._getTableDeterminantElements($table, "horizontal"); if (!_this4._tableResizeFrames[index]) { _this4._tableResizeFrames[index] = { lastWidth: void 0 } } var frame = _this4._getFrameForTable($table); if (!frame) { _this4._tableResizeFrames.push({ $table: $table }) } if (0 === (0, _table_helper.getAutoSizedElements)($table).length) { var _this4$_tableLastWidt; var _this4$_getColumnElem = _this4._getColumnElementsSum($columnElements), columnsSum = _this4$_getColumnElem.columnsSum; (0, _table_helper.unfixTableWidth)($table, { quill: _this4.quill }); var tableWidth = null !== (_this4$_tableLastWidt = _this4._tableLastWidth(frame)) && void 0 !== _this4$_tableLastWidt ? _this4$_tableLastWidt : (0, _size.getOuterWidth)($table); if (frame) { _this4._tableLastWidth(frame, Math.max(columnsSum, tableWidth)) } } })) }; _proto._createResizeFrames = function($tables) { var _this5 = this; this._framesForTables = new Map; $tables.each((function(index, table) { var _this5$_tableResizeFr; var $table = (0, _renderer.default)(table); var $lastTable = null === (_this5$_tableResizeFr = _this5._tableResizeFrames[index]) || void 0 === _this5$_tableResizeFr ? void 0 : _this5$_tableResizeFr.$table; var $tableLastWidth = _this5._tableResizeFrames[index].lastWidth; _this5._tableResizeFrames[index] = { $frame: _this5._createTableResizeFrame(table), $table: $table, index: index, lastWidth: $lastTable && table === $lastTable.get(0) ? $tableLastWidth : void 0, columnsCount: _this5._getTableDeterminantElements($table, "horizontal").length, rowsCount: _this5._getTableDeterminantElements($table, "vertical").length }; _this5._framesForTables.set(table, _this5._tableResizeFrames[index]) })); this._tableResizeFrames.length = $tables.length }; _proto._isTableChanging = function() { var _this6 = this; var $tables = this._findTables(); var result = false; if ($tables.length !== this._tableResizeFrames.length) { result = true } else { (0, _iterator.each)($tables, (function(index, table) { var $table = (0, _renderer.default)(table); var frame = _this6._tableResizeFrames[index]; var isColumnsCountChanged = (null === frame || void 0 === frame ? void 0 : frame.columnsCount) !== _this6._getTableDeterminantElements($table, "horizontal").length; var isRowCountChanged = (null === frame || void 0 === frame ? void 0 : frame.rowsCount) !== _this6._getTableDeterminantElements($table, "vertical").length; if (isColumnsCountChanged || isRowCountChanged) { result = true; return false } })) } return result }; _proto._removeResizeFrames = function(clearArray) { var _this$_framesForTable2, _this7 = this; (0, _iterator.each)(this._tableResizeFrames, (function(index, resizeFrame) { if (resizeFrame.$frame) { var _resizeFrame$$frame; var resizerElementsSelector = ".".concat("dx-htmleditor-column-resizer", ", .").concat("dx-htmleditor-row-resizer"); _this7._detachSeparatorEvents(null === (_resizeFrame$$frame = resizeFrame.$frame) || void 0 === _resizeFrame$$frame ? void 0 : _resizeFrame$$frame.find(resizerElementsSelector)); resizeFrame.$frame.remove() } })); null === (_this$_framesForTable2 = this._framesForTables) || void 0 === _this$_framesForTable2 ? void 0 : _this$_framesForTable2.clear(); if (clearArray) { this._tableResizeFrames = [] } }; _proto._detachSeparatorEvents = function($lineSeparators) { $lineSeparators.each((function(i, $lineSeparator) { _events_engine.default.off($lineSeparator, POINTERDOWN_EVENT) })) }; _proto._createTableResizeFrame = function() { return (0, _renderer.default)("<div>").addClass("dx-table-resize-frame").appendTo(this._quillContainer) }; _proto._updateFramesPositions = function() { var _this8 = this; (0, _iterator.each)(this._tableResizeFrames, (function(index, tableResizeFrame) { _this8._updateFramePosition(tableResizeFrame.$table, tableResizeFrame.$frame) })) }; _proto._updateFramePosition = function($table, $frame) { var _getBoundingRect = (0, _position.getBoundingRect)($table.get(0)), height = _getBoundingRect.height, width = _getBoundingRect.width, targetTop = _getBoundingRect.top, targetLeft = _getBoundingRect.left; var _getBoundingRect2 = (0, _position.getBoundingRect)(this.quill.root), containerTop = _getBoundingRect2.top, containerLeft = _getBoundingRect2.left; $frame.css({ height: height, width: width, top: targetTop - containerTop, left: targetLeft - containerLeft }); (0, _translator.move)($frame, { left: 0, top: 0 }) }; _proto._updateFramesSeparators = function(direction) { var _this9 = this; (0, _iterator.each)(this._tableResizeFrames, (function(index, frame) { if (direction) { _this9._updateFrameSeparators(frame, direction) } else { _this9._updateFrameSeparators(frame, "vertical"); _this9._updateFrameSeparators(frame, "horizontal") } })) }; _proto._isDraggable = function($element) { return $element.hasClass("dx-draggable") && $element.is(":visible") }; _proto._removeDraggable = function($currentLineSeparator, lineResizerClass) { if (this._isDraggable($currentLineSeparator)) { var draggable = (0, _renderer.default)($currentLineSeparator).dxDraggable("instance"); draggable.dispose(); (0, _renderer.default)($currentLineSeparator).addClass(lineResizerClass) } }; _proto._getDirectionInfo = function(direction) { if ("vertical" === direction) { return { lineResizerClass: "dx-htmleditor-row-resizer", sizeFunction: function(x) { return (0, _size.getOuterHeight)(x) }, positionCoordinate: "top", positionStyleProperty: "height", positionCoordinateName: "y" } } else { return { lineResizerClass: "dx-htmleditor-column-resizer", sizeFunction: function(x) { return (0, _size.getOuterWidth)(x) }, positionCoordinate: this.editorInstance.option("rtlEnabled") ? "right" : "left", positionStyleProperty: "width", positionCoordinateName: "x" } } }; _proto._getSize = function($element, directionInfo) { return directionInfo.sizeFunction($element) }; _proto._updateFrameSeparators = function(frame, direction) { var $determinantElements = this._getTableDeterminantElements(frame.$table, direction); var determinantElementsCount = $determinantElements.length; var determinantElementsSeparatorsCount = determinantElementsCount - 1; var directionInfo = this._getDirectionInfo(direction); var lineSeparators = frame.$frame.find(".".concat(directionInfo.lineResizerClass)); var styleOptions = { transform: "none" }; var currentPosition = 0; for (var i = 0; i <= determinantElementsSeparatorsCount; i++) { currentPosition += this._getSize($determinantElements.eq(i), directionInfo); if (!(0, _type.isDefined)(lineSeparators[i])) { lineSeparators[i] = (0, _renderer.default)("<div>").addClass(directionInfo.lineResizerClass).appendTo(frame.$frame).get(0) } var $currentLineSeparator = (0, _renderer.default)(lineSeparators[i]); this._removeDraggable($currentLineSeparator, directionInfo.lineResizerClass); styleOptions[directionInfo.positionCoordinate] = currentPosition - 2; (0, _renderer.default)($currentLineSeparator).css(styleOptions); var attachSeparatorData = { lineSeparator: lineSeparators[i], index: i, $determinantElements: $determinantElements, frame: frame, direction: direction }; this._attachColumnSeparatorEvents(attachSeparatorData) } }; _proto._getTableDeterminantElements = function($table, direction) { if ("vertical" === direction) { return $table.find("th:first-child, td:first-child") } else { return (0, _table_helper.getColumnElements)($table) } }; _proto._attachColumnSeparatorEvents = function(options) { var _this10 = this; _events_engine.default.on(options.lineSeparator, POINTERDOWN_EVENT, (function() { _this10._createDraggableElement(options) })) }; _proto._dragStartHandler = function(_ref) { var $determinantElements = _ref.$determinantElements, index = _ref.index, frame = _ref.frame, direction = _ref.direction, lineSeparator = _ref.lineSeparator; var directionInfo = this._getDirectionInfo(direction); this._isDragging = true; this._fixColumnsWidth(frame.$table); this._startLineSize = parseInt(this._getSize((0, _renderer.default)($determinantElements[index]), directionInfo)); this._startTableWidth = (0, _size.getOuterWidth)(frame.$table); this._startLineSeparatorPosition = parseInt((0, _renderer.default)(lineSeparator).css(directionInfo.positionCoordinate)); this._nextLineSize = 0; if ($determinantElements[index + 1]) { this._nextLineSize = parseInt(this._getSize((0, _renderer.default)($determinantElements[index + 1]), directionInfo)) } else if ("horizontal" === direction) { (0, _table_helper.unfixTableWidth)(frame.$table, { quill: this.quill }) } }; _proto._shouldRevertOffset = function(direction) { return "horizontal" === direction && this.editorInstance.option("rtlEnabled") }; _proto._isNextColumnWidthEnough = function(nextColumnNewSize, $nextColumnElement, eventOffset) { if (!this._nextLineSize) { return true } else if (nextColumnNewSize >= this._minColumnWidth) { var isWidthIncreased = this._nextColumnOffsetLimit ? eventOffset < this._nextColumnOffsetLimit : eventOffset < 0; var isWidthLimited = Math.abs(this._getWidthStyleValue($nextColumnElement) - (0, _size.getOuterWidth)($nextColumnElement)) > 3; return isWidthIncreased || !isWidthLimited } return false }; _proto._shouldSetNextColumnWidth = function(nextColumnNewSize) { return this._nextLineSize && nextColumnNewSize > 0 }; _proto._horizontalDragHandler = function(_ref2) { var currentLineNewSize = _ref2.currentLineNewSize, directionInfo = _ref2.directionInfo, eventOffset = _ref2.eventOffset, $determinantElements = _ref2.$determinantElements, index = _ref2.index, frame = _ref2.frame; var nextColumnNewSize = this._nextLineSize && this._nextLineSize - eventOffset; var isCurrentColumnWidthEnough = currentLineNewSize >= this._minColumnWidth; var $lineElements = (0, _table_helper.getLineElements)(frame.$table, index); var $nextLineElements = (0, _table_helper.getLineElements)(frame.$table, index + 1); var realWidthDiff = (0, _size.getOuterWidth)($lineElements.eq(0)) - currentLineNewSize; if (isCurrentColumnWidthEnough) { if (this._isNextColumnWidthEnough(nextColumnNewSize, $determinantElements.eq(index + 1), eventOffset)) { (0, _table_helper.setLineElementsFormat)(this, { elements: $lineElements, property: directionInfo.positionStyleProperty, value: currentLineNewSize }); if (this._shouldSetNextColumnWidth(nextColumnNewSize)) { (0, _table_helper.setLineElementsFormat)(this, { elements: $nextLineElements, property: directionInfo.positionStyleProperty, value: nextColumnNewSize }) } var isTableWidthChanged = Math.abs(this._startTableWidth - (0, _size.getOuterWidth)(frame.$table)) < 3; var shouldRevertNewValue = Math.abs(realWidthDiff) > 3 || !this._nextLineSize && isTableWidthChanged; if (shouldRevertNewValue) { (0, _table_helper.setLineElementsFormat)(this, { elements: $lineElements, property: directionInfo.positionStyleProperty, value: (0, _size.getOuterWidth)($lineElements.eq(0)) }); nextColumnNewSize += currentLineNewSize - (0, _size.getOuterWidth)($lineElements.eq(0)); if (this._shouldSetNextColumnWidth(nextColumnNewSize)) { (0, _table_helper.setLineElementsFormat)(this, { elements: $nextLineElements, property: directionInfo.positionStyleProperty, value: nextColumnNewSize }) } } } else { this._nextColumnOffsetLimit = this._nextColumnOffsetLimit || eventOffset } } this._$highlightedElement.css(directionInfo.positionCoordinate, this._startLineSeparatorPosition + eventOffset + realWidthDiff + "px") }; _proto._verticalDragHandler = function(_ref3) { var currentLineNewSize = _ref3.currentLineNewSize, directionInfo = _ref3.directionInfo, eventOffset = _ref3.eventOffset, $determinantElements = _ref3.$determinantElements, index = _ref3.index, frame = _ref3.frame; var newHeight = Math.max(currentLineNewSize, this._minRowHeight); var $lineElements = (0, _table_helper.getLineElements)(frame.$table, index, "vertical"); (0, _table_helper.setLineElementsFormat)(this, { elements: $lineElements, property: directionInfo.positionStyleProperty, value: newHeight }); var rowHeightDiff = (0, _size.getOuterHeight)($determinantElements.eq(index)) - currentLineNewSize; this._$highlightedElement.css(directionInfo.positionCoordinate, this._startLineSeparatorPosition + eventOffset + rowHeightDiff + "px") }; _proto._dragMoveHandler = function(event, _ref4) { var $determinantElements = _ref4.$determinantElements, index = _ref4.index, frame = _ref4.frame, direction = _ref4.direction; var directionInfo = this._getDirectionInfo(direction); var eventOffset = event.offset[directionInfo.positionCoordinateName]; this.editorInstance._saveValueChangeEvent(event); if (this._shouldRevertOffset(direction)) { eventOffset = -eventOffset } var currentLineNewSize = this._startLineSize + eventOffset; if ("horizontal" === direction) { this._horizontalDragHandler({ currentLineNewSize: currentLineNewSize, directionInfo: directionInfo, eventOffset: eventOffset, $determinantElements: $determinantElements, index: index, frame: frame }) } else { this._verticalDragHandler({ currentLineNewSize: currentLineNewSize, directionInfo: directionInfo, eventOffset: eventOffset, $determinantElements: $determinantElements, index: index, frame: frame }) } this._updateFramePosition(frame.$table, frame.$frame) }; _proto._dragEndHandler = function(options) { var _this$_$highlightedEl; null === (_this$_$highlightedEl = this._$highlightedElement) || void 0 === _this$_$highlightedEl ? void 0 : _this$_$highlightedEl.remove(); this._isDragging = void 0; this._nextColumnOffsetLimit = void 0; this._tableLastWidth(options.frame, (0, _size.getOuterWidth)(options.frame.$table)); this._updateFramesPositions(); this._updateFramesSeparators() }; _proto._isLastColumnResizing = function(_ref5) { var $determinantElements = _ref5.$determinantElements, index = _ref5.index; return !(0, _type.isDefined)($determinantElements[index + 1]) }; _proto._getBoundaryConfig = function(options) { var result = {}; if ("vertical" === options.direction) { result.boundary = options.frame.$table; result.boundOffset = { bottom: (0, _window.hasWindow)() ? -(0, _size.getHeight)((0, _window.getWindow)()) : -(0, _size.getOuterHeight)(this._quillContainer), top: 0, left: 0, right: 0 } } else if (!this._isLastColumnResizing(options)) { result.boundary = options.frame.$table } else { var $content = this.editorInstance._getContent(); result.boundary = $content; result.boundOffset = { bottom: 0, top: 0, left: $content.css("paddingLeft"), right: $content.css("paddingRight") } } return result }; _proto._createDraggableElement = function(options) { var _this$_$highlightedEl2, _this11 = this; var boundaryConfig = this._getBoundaryConfig(options); var directionClass = "vertical" === options.direction ? "dx-htmleditor-highlighted-row" : "dx-htmleditor-highlighted-column"; null === (_this$_$highlightedEl2 = this._$highlightedElement) || void 0 === _this$_$highlightedEl2 ? void 0 : _this$_$highlightedEl2.remove(); this._$highlightedElement = (0, _renderer.default)("<div>").addClass("".concat(directionClass)).insertAfter((0, _renderer.default)(options.lineSeparator)); var config = { contentTemplate: null, allowMoveByClick: false, dragDirection: options.direction, onDragMove: function(_ref6) { _ref6.component; var event = _ref6.event; _this11._dragMoveHandler(event, options) }, onDragStart: function() { _this11._dragStartHandler(options) }, onDragEnd: function() { _this11._dragEndHandler(options) } }; (0, _extend.extend)(config, boundaryConfig); this._currentDraggableElement = this.editorInstance._createComponent(options.lineSeparator, _draggable.default, config) }; _proto._fixColumnsWidth = function($table) { var _this12 = this; var determinantElements = this._getTableDeterminantElements($table); (0, _iterator.each)(determinantElements, (function(index, element) { var columnWidth = (0, _size.getOuterWidth)(element); var $lineElements = (0, _table_helper.getLineElements)($table, index); (0, _table_helper.setLineElementsFormat)(_this12, { elements: $lineElements, property: "width", value: Math.max(columnWidth, _this12._minColumnWidth) }) })) }; _proto._getColumnElementsSum = function(columnElements) { var _this13 = this; var columnsWidths = []; var columnsSum = 0; (0, _iterator.each)(columnElements, (function(index, element) { var $element = (0, _renderer.default)(element); var columnWidth = _this13._getWidthStyleValue($element) || (0, _size.getOuterWidth)($element); columnsWidths[index] = Math.max(columnWidth, _this13._minColumnWidth); columnsSum += columnsWidths[index] })); return { columnsWidths: columnsWidths, columnsSum: columnsSum } }; _proto._setColumnsRatioWidth = function(columnElements, ratio, columnsWidths, $table) { var _this14 = this; (0, _iterator.each)(columnElements, (function(index) { var $lineElements = (0, _table_helper.getLineElements)($table, index); var resultWidth; if (ratio > 0) { resultWidth = _this14._minColumnWidth + Math.round((columnsWidths[index] - _this14._minColumnWidth) * ratio) } else { resultWidth = _this14._minColumnWidth }(0, _table_helper.setLineElementsFormat)(_this14, { elements: $lineElements, property: "width", value: resultWidth }) })) }; _proto._updateColumnsWidth = function($table, frameIndex) { var determinantElements = this._getTableDeterminantElements($table); var frame = this._tableResizeFrames[frameIndex]; if (!frame) { this._tableResizeFrames[frameIndex] = {} } frame = this._tableResizeFrames[frameIndex]; var tableWidth = this._tableLastWidth(frame) || (0, _size.getOuterWidth)($table); var ratio; var _this$_getColumnEleme = this._getColumnElementsSum(determinantElements), columnsWidths = _this$_getColumnEleme.columnsWidths, columnsSum = _this$_getColumnEleme.columnsSum; var minWidthForColumns = determinantElements.length * this._minColumnWidth; if (columnsSum > minWidthForColumns) { ratio = (tableWidth - minWidthForColumns) / (columnsSum - minWidthForColumns) } else { ratio = -1 } this._tableLastWidth(frame, ratio > 0 ? tableWidth : minWidthForColumns); this._setColumnsRatioWidth(determinantElements, ratio, columnsWidths, $table) }; _proto._updateTablesColumnsWidth = function($tables) { var _this15 = this; (0, _iterator.each)($tables, (function(index, table) { _this15._updateColumnsWidth((0, _renderer.default)(table), index) })) }; _proto.option = function(_option, value) { if ("tableResizing" === _option) { this.handleOptionChangeValue(value); return } if ("enabled" === _option) { this.enabled = value; value ? this._applyResizing(true) : this.clean() } else if (["minColumnWidth", "minRowHeight"].includes(_option)) { this["_".concat(_option)] = this._minSizeLimit(_option, value) } }; _proto.clean = function() { this._removeResizeFrames(true); this._detachEvents(); _resize_callbacks.default.remove(this._resizeHandlerWithContext); clearTimeout(this._windowResizeTimeout); this._resizeHandlerWithContext = void 0; this._isDragging = void 0; this._startTableWidth = void 0; clearTimeout(this._attachResizerTimeout) }; return TableResizingModule }(_base.default); exports.default = TableResizingModule; module.exports = exports.default; module.exports.default = exports.default }, 77616: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/modules/toolbar.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _devextremeQuill = _interopRequireDefault(__webpack_require__( /*! devextreme-quill */ 9549)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _base = _interopRequireDefault(__webpack_require__( /*! ./base */ 30963)); var _toolbar = _interopRequireDefault(__webpack_require__( /*! ../../toolbar */ 71042)); __webpack_require__( /*! ../../select_box */ 78665); __webpack_require__( /*! ../../color_box/color_view */ 89838); __webpack_require__( /*! ../../number_box */ 34171); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../widget/ui.errors */ 96688)); var _widget_collector = _interopRequireDefault(__webpack_require__( /*! ./widget_collector */ 38110)); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../localization/message */ 28109)); var _inflector = __webpack_require__( /*! ../../../core/utils/inflector */ 78008); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../../events/utils/index */ 39611); var _table_helper = __webpack_require__( /*! ../utils/table_helper */ 28822); var _toolbar_helper = __webpack_require__( /*! ../utils/toolbar_helper */ 92077); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ToolbarModule = _base.default; if (_devextremeQuill.default) { var FORMAT_HOTKEYS = { 66: "bold", 73: "italic", 85: "underline" }; var KEY_CODES = { b: 66, i: 73, u: 85 }; var localize = function(name) { return _message.default.format("dxHtmlEditor-".concat((0, _inflector.camelize)(name))) }; ToolbarModule = function(_BaseModule) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ToolbarModule, _BaseModule); function ToolbarModule(quill, options) { var _this; _this = _BaseModule.call(this, quill, options) || this; _this._toolbarWidgets = new _widget_collector.default; _this._formatHandlers = (0, _toolbar_helper.getFormatHandlers)(function(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self }(_this)); _this._tableFormats = (0, _table_helper.getTableFormats)(quill); if ((0, _type.isDefined)(options.items)) { _this._addCallbacks(); _this._renderToolbar(); var toolbarMenu = _this.toolbarInstance._layoutStrategy._menu; if (toolbarMenu) { var _renderPopup = toolbarMenu._renderPopup; toolbarMenu._renderPopup = function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] } _renderPopup.apply.apply(_renderPopup, [toolbarMenu].concat(args)); toolbarMenu._popup.on("showing", (function() { _this._updateToolbar(true) })) } } _this.quill.on("editor-change", (function(eventName, newValue, oldValue, eventSource) { var isSilentMode = "silent" === eventSource && (0, _type.isEmptyObject)(_this.quill.getFormat()); if (!isSilentMode) { var isSelectionChanged = "selection-change" === eventName; _this._updateToolbar(isSelectionChanged) } })) } return _this } var _proto = ToolbarModule.prototype; _proto._addCallbacks = function() { this.addCleanCallback(this.clean.bind(this)); this.editorInstance.addContentInitializedCallback(this.updateHistoryWidgets.bind(this)) }; _proto._updateToolbar = function(isSelectionChanged) { this.updateFormatWidgets(isSelectionChanged); this.updateHistoryWidgets(); this.updateTableWidgets() }; _proto._updateFormatWidget = function(name, isApplied, formats) { var widget = this._toolbarWidgets.getByName(name); if (!widget) { return } if (isApplied) { this._markActiveFormatWidget(name, widget, formats) } else { this._resetFormatWidget(name, widget); if (Object.prototype.hasOwnProperty.call(name)) { delete formats[name] } } this._toggleClearFormatting(isApplied || !(0, _type.isEmptyObject)(formats)) }; _proto._renderToolbar = function() { var _this2 = this; var container = this.options.container || this._getContainer(); this._$toolbar = (0, _renderer.default)("<div>").addClass("dx-htmleditor-toolbar").appendTo(container); this._$toolbarContainer = (0, _renderer.default)(container).addClass("dx-htmleditor-toolbar-wrapper"); _events_engine.default.on(this._$toolbarContainer, (0, _index.addNamespace)("mousedown", this.editorInstance.NAME), (function(e) { e.preventDefault() })); this._subscribeFormatHotKeys(); this.toolbarInstance = this.editorInstance._createComponent(this._$toolbar, _toolbar.default, this.toolbarConfig); this.editorInstance.on("optionChanged", (function(_ref) { var name = _ref.name; if ("readOnly" === name || "disabled" === name) { _this2.toolbarInstance.option("disabled", _this2.isInteractionDisabled) } })) }; _proto.isMultilineMode = function() { var _this$options$multili; return null !== (_this$options$multili = this.options.multiline) && void 0 !== _this$options$multili ? _this$options$multili : true }; _proto.clean = function() { this._toolbarWidgets.clear(); if (this._$toolbarContainer) { this._$toolbarContainer.empty().removeClass("dx-htmleditor-toolbar-wrapper") } }; _proto.repaint = function() { this.toolbarInstance && this.toolbarInstance.repaint() }; _proto._getContainer = function() { var $container = (0, _renderer.default)("<div>"); this.editorInstance.$element().prepend($container); return $container }; _proto._detectRenamedOptions = function(item) { if ((0, _type.isObject)(item)) { (0, _iterator.each)([{ newName: "name", oldName: "formatName" }, { newName: "acceptedValues", oldName: "formatValues" }], (function(index, optionName) { if (Object.prototype.hasOwnProperty.call(item, optionName.oldName)) { _ui.default.log("W1016", optionName.oldName, optionName.newName) } })) } }; _proto._subscribeFormatHotKeys = function() { this.quill.keyboard.addBinding({ which: KEY_CODES.b, shortKey: true }, this._handleFormatHotKey.bind(this)); this.quill.keyboard.addBinding({ which: KEY_CODES.i, shortKey: true }, this._handleFormatHotKey.bind(this)); this.quill.keyboard.addBinding({ which: KEY_CODES.u, shortKey: true }, this._handleFormatHotKey.bind(this)) }; _proto._handleFormatHotKey = function(range, context, _ref2) { var which = _ref2.which; var formatName = FORMAT_HOTKEYS[which]; this._updateButtonState(formatName) }; _proto._updateButtonState = function(formatName) { var formatWidget = this._toolbarWidgets.getByName(formatName); var currentFormat = this.quill.getFormat(); var formatValue = currentFormat[formatName]; if (formatValue) { this._markActiveFormatWidget(formatName, formatWidget, currentFormat) } else { this._resetFormatWidget(formatName, formatWidget) } }; _proto._prepareToolbarItems = function() { var _this3 = this; var resultItems = []; (0, _iterator.each)(this.options.items, (function(index, item) { var newItem; _this3._detectRenamedOptions(item); if ((0, _type.isObject)(item)) { newItem = _this3._handleObjectItem(item) } else if ((0, _type.isString)(item)) { var buttonItemConfig = _this3._prepareButtonItemConfig(item); newItem = _this3._getToolbarItem(buttonItemConfig) } if (newItem) { resultItems.push(newItem) } })); return resultItems }; _proto._handleObjectItem = function(item) { if (item.name && item.acceptedValues && this._isAcceptableItem(item.widget, "dxSelectBox")) { var selectItemConfig = this._prepareSelectItemConfig(item); return this._getToolbarItem(selectItemConfig) } else if (item.name && this._isAcceptableItem(item.widget, "dxButton")) { var defaultButtonItemConfig = this._prepareButtonItemConfig(item.name); var buttonItemConfig = (0, _extend.extend)(true, defaultButtonItemConfig, item); return this._getToolbarItem(buttonItemConfig) } else { return this._getToolbarItem(item) } }; _proto._isAcceptableItem = function(widget, acceptableWidgetName) { return !widget || widget === acceptableWidgetName }; _proto._prepareButtonItemConfig = function(name) { var _ICON_MAP$name; var iconName = null !== (_ICON_MAP$name = _toolbar_helper.ICON_MAP[name]) && void 0 !== _ICON_MAP$name ? _ICON_MAP$name : name; var buttonText = (0, _inflector.titleize)(name); return { widget: "dxButton", name: name, options: { hint: localize(buttonText), text: localize(buttonText), icon: iconName.toLowerCase(), onClick: this._formatHandlers[name] || (0, _toolbar_helper.getDefaultClickHandler)(this, name), stylingMode: "text" }, showText: "inMenu" } }; _proto._prepareSelectItemConfig = function(item) { var _this4 = this; var name = item.name, acceptedValues = item.acceptedValues; return (0, _extend.extend)(true, { widget: "dxSelectBox", name: name, options: { stylingMode: "filled", dataSource: acceptedValues, displayExpr: function(value) { return function(value, name) { if ("header" === name) { var isHeaderValue = (0, _type.isDefined)(value) && false !== value; return isHeaderValue ? "".concat(localize("heading"), " ").concat(value) : localize("normalText") } return localize(value) || value }(value, name) }, placeholder: localize(name), onValueChanged: function(e) { if (!_this4._isReset) { _this4._hideAdaptiveMenu(); (0, _toolbar_helper.applyFormat)(_this4, [name, e.value, "user"], e.event); _this4._setValueSilent(e.component, e.value) } } } }, item) }; _proto._hideAdaptiveMenu = function() { if (this.toolbarInstance.option("overflowMenuVisible")) { this.toolbarInstance.option("overflowMenuVisible", false) } }; _proto._getToolbarItem = function(item) { var _this5 = this; var baseItem = { options: { onInitialized: function(e) { if (item.name) { e.component.$element().addClass("dx-htmleditor-toolbar-format"); e.component.$element().toggleClass("dx-".concat(item.name.toLowerCase(), "-format"), !!item.name); _this5._toolbarWidgets.add(item.name, e.component) } }, onDisposing: function() { _this5._toolbarWidgets.remove(item.name) } } }; return (0, _extend.extend)(true, { location: "before", locateInMenu: "auto" }, this._getDefaultConfig(item.name), item, baseItem) }; _proto._getDefaultItemsConfig = function() { return { clear: { options: { disabled: true } }, undo: { options: { disabled: true } }, redo: { options: { disabled: true } }, insertRowAbove: { options: { disabled: true } }, insertRowBelow: { options: { disabled: true } }, insertHeaderRow: { options: { disabled: true } }, insertColumnLeft: { options: { disabled: true } }, insertColumnRight: { options: { disabled: true } }, deleteRow: { options: { disabled: true } }, deleteColumn: { options: { disabled: true } }, deleteTable: { options: { disabled: true } }, cellProperties: { options: { disabled: true } }, tableProperties: { options: { disabled: true } }, separator: { template: function(data, index, element) { (0, _renderer.default)(element).addClass("dx-htmleditor-toolbar-separator") }, menuItemTemplate: function(data, index, element) { (0, _renderer.default)(element).addClass("dx-htmleditor-toolbar-menu-separator") } } } }; _proto._getDefaultConfig = function(name) { return this._getDefaultItemsConfig()[name] }; _proto.updateHistoryWidgets = function() { var historyModule = this.quill.history; if (!historyModule) { return } var _historyModule$stack = historyModule.stack, undoOps = _historyModule$stack.undo, redoOps = _historyModule$stack.redo; this._updateManipulationWidget(this._toolbarWidgets.getByName("undo"), Boolean(undoOps.length)); this._updateManipulationWidget(this._toolbarWidgets.getByName("redo"), Boolean(redoOps.length)) }; _proto.updateTableWidgets = function() { var _this6 = this; var table = this.quill.getModule("table"); if (!table) { return } var selection = this.quill.getSelection(); var formats = selection && this.quill.getFormat(selection) || {}; var isTableOperationsEnabled = this._tableFormats.some((function(format) { return Boolean(formats[format]) })); _table_helper.TABLE_OPERATIONS.forEach((function(operationName) { var isInsertTable = "insertTable" === operationName; var widget = _this6._toolbarWidgets.getByName(operationName); _this6._updateManipulationWidget(widget, isInsertTable ? !isTableOperationsEnabled : isTableOperationsEnabled) })) }; _proto._updateManipulationWidget = function(widget, isOperationEnabled) { if (!widget) { return } widget.option("disabled", !isOperationEnabled) }; _proto.updateFormatWidgets = function(isResetRequired) { var selection = this.quill.getSelection(); if (!selection) { return } var formats = this.quill.getFormat(selection); var hasFormats = !(0, _type.isEmptyObject)(formats); if (!hasFormats || isResetRequired) { this._resetFormatWidgets() } for (var formatName in formats) { var widgetName = this._getFormatWidgetName(formatName, formats); var formatWidget = this._toolbarWidgets.getByName(widgetName) || this._toolbarWidgets.getByName(formatName); if (!formatWidget) { continue } this._markActiveFormatWidget(formatName, formatWidget, formats) } this._toggleClearFormatting(hasFormats || selection.length > 1) }; _proto._markActiveFormatWidget = function(name, widget, formats) { if (this._isColorFormat(name)) { this._updateColorWidget(name, formats[name]) } if ("value" in widget.option()) { this._setValueSilent(widget, formats[name]) } else { widget.$element().addClass("dx-format-active") } }; _proto._toggleClearFormatting = function(hasFormats) { var clearWidget = this._toolbarWidgets.getByName("clear"); if (clearWidget) { clearWidget.option("disabled", !hasFormats) } }; _proto._isColorFormat = function(name) { return "color" === name || "background" === name }; _proto._updateColorWidget = function(name, color) { var formatWidget = this._toolbarWidgets.getByName(name); if (!formatWidget) { return } formatWidget.$element().find(".".concat("dx-icon")).css("borderBottomColor", color || "transparent") }; _proto._getFormatWidgetName = function(name, formats) { var widgetName; switch (name) { case "align": widgetName = name + (0, _inflector.titleize)(formats[name]); break; case "list": widgetName = formats[name] + (0, _inflector.titleize)(name); break; case "code-block": widgetName = "codeBlock"; break; case "script": widgetName = formats[name] + name; break; case "imageSrc": widgetName = "image"; break; default: widgetName = name } return widgetName }; _proto._setValueSilent = function(widget, value) { this._isReset = true; widget.option("value", value); this._isReset = false }; _proto._resetFormatWidgets = function() { var _this7 = this; this._toolbarWidgets.each((function(name, widget) { _this7._resetFormatWidget(name, widget) })) }; _proto._resetFormatWidget = function(name, widget) { widget.$element().removeClass("dx-format-active"); if (this._isColorFormat(name)) { this._updateColorWidget(name) } if ("clear" === name) { widget.option("disabled", true) } if ("dxSelectBox" === widget.NAME) { this._setValueSilent(widget, null) } }; _proto.addClickHandler = function(name, handler) { this._formatHandlers[name] = handler; var formatWidget = this._toolbarWidgets.getByName(name); if (formatWidget && "dxButton" === formatWidget.NAME) { formatWidget.option("onClick", handler) } }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(ToolbarModule, [{ key: "toolbarConfig", get: function() { return { dataSource: this._prepareToolbarItems(), disabled: this.isInteractionDisabled, menuContainer: this._$toolbarContainer, multiline: this.isMultilineMode() } } }, { key: "isInteractionDisabled", get: function() { return this.editorInstance.option("readOnly") || this.editorInstance.option("disabled") } }]); return ToolbarModule }(_base.default) } var _default = ToolbarModule; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 55179: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/modules/variables.js ***! \*********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _devextremeQuill = _interopRequireDefault(__webpack_require__( /*! devextreme-quill */ 9549)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _position = __webpack_require__( /*! ../../../core/utils/position */ 37518); var _popup = _interopRequireDefault(__webpack_require__( /*! ./popup */ 2269)); var _base = _interopRequireDefault(__webpack_require__( /*! ./base */ 30963)); var _variable = _interopRequireDefault(__webpack_require__( /*! ../formats/variable */ 76195)); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _assertThisInitialized(self) { if (void 0 === self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return self } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var VariableModule = _base.default; if (_devextremeQuill.default) { _devextremeQuill.default.register({ "formats/variable": _variable.default }, true); VariableModule = function(_PopupModule) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(VariableModule, _PopupModule); var _proto = VariableModule.prototype; _proto._getDefaultOptions = function() { var baseConfig = _PopupModule.prototype._getDefaultOptions.call(this); return (0, _extend.extend)(baseConfig, { escapeChar: "" }) }; function VariableModule(quill, options) { var _this; _this = _PopupModule.call(this, quill, options) || this; var toolbar = quill.getModule("toolbar"); if (toolbar) { toolbar.addClickHandler("variable", _this.showPopup.bind(_assertThisInitialized(_this))) } quill.keyboard.addBinding({ key: "P", altKey: true }, _this.showPopup.bind(_assertThisInitialized(_this))); _this._popup.on("shown", (function(e) { var $ofElement = (0, _renderer.default)(e.component.option("position").of); if ($ofElement.hasClass("dx-variable-format")) { $ofElement.addClass("dx-format-active") } })); return _this } _proto.showPopup = function(event) { var selection = this.quill.getSelection(true); var position = selection ? selection.index : this.quill.getLength(); this.savePosition(position); this._resetPopupPosition(event, position); _PopupModule.prototype.showPopup.call(this) }; _proto._resetPopupPosition = function(event, position) { if (event && event.element) { this._popup.option("position", { of: event.element, offset: { h: 0, v: 0 }, my: "top center", at: "bottom center", collision: "fit" }) } else { var mentionBounds = this.quill.getBounds(position); var rootRect = (0, _position.getBoundingRect)(this.quill.root); this._popup.option("position", { of: this.quill.root, offset: { h: mentionBounds.left, v: mentionBounds.bottom - rootRect.height }, my: "top center", at: "bottom left", collision: "fit flip" }) } }; _proto.insertEmbedContent = function(selectionChangedEvent) { var caretPosition = this.getPosition(); var selectedItem = selectionChangedEvent.component.option("selectedItem"); var variableData = (0, _extend.extend)({}, { value: selectedItem, escapeChar: this.options.escapeChar }); setTimeout(function() { this.quill.insertEmbed(caretPosition, "variable", variableData); this.quill.setSelection(caretPosition + 1) }.bind(this)) }; return VariableModule }(_popup.default) } var _default = VariableModule; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 38110: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/modules/widget_collector.js ***! \****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var WidgetCollector = function() { function WidgetCollector() { this._collection = [] } var _proto = WidgetCollector.prototype; _proto.clear = function() { this._collection = [] }; _proto.add = function(name, instance) { this._collection.push({ name: name, instance: instance }) }; _proto.remove = function(name) { this._collection = this._collection.filter((function(item) { return item.name !== name })) }; _proto.getByName = function(widgetName) { var widget = null; (0, _iterator.each)(this._collection, (function(index, _ref) { var name = _ref.name, instance = _ref.instance; if (name === widgetName) { widget = instance; return false } })); return widget }; _proto.each = function(handler) { this._collection.forEach((function(_ref2) { var name = _ref2.name, instance = _ref2.instance; return instance && handler(name, instance) })) }; return WidgetCollector }(); exports.default = WidgetCollector; module.exports = exports.default; module.exports.default = exports.default }, 60148: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/quill_importer.js ***! \******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getQuill = function() { if (!_devextremeQuill.default) { throw _ui.default.Error("E1041", "Quill") } return _devextremeQuill.default }; var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _devextremeQuill = _interopRequireDefault(__webpack_require__( /*! devextreme-quill */ 9549)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } }, 1702: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/quill_registrator.js ***! \*********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _quill_importer = __webpack_require__( /*! ./quill_importer */ 60148); var _base = _interopRequireDefault(__webpack_require__( /*! ./themes/base */ 80560)); var _image = _interopRequireDefault(__webpack_require__( /*! ./formats/image */ 72446)); var _link = _interopRequireDefault(__webpack_require__( /*! ./formats/link */ 8980)); var _font = _interopRequireDefault(__webpack_require__( /*! ./formats/font */ 73360)); var _size = _interopRequireDefault(__webpack_require__( /*! ./formats/size */ 2909)); var _align = _interopRequireDefault(__webpack_require__( /*! ./formats/align */ 90223)); var _toolbar = _interopRequireDefault(__webpack_require__( /*! ./modules/toolbar */ 77616)); var _dropImage = _interopRequireDefault(__webpack_require__( /*! ./modules/dropImage */ 78859)); var _variables = _interopRequireDefault(__webpack_require__( /*! ./modules/variables */ 55179)); var _resizing = _interopRequireDefault(__webpack_require__( /*! ./modules/resizing */ 91787)); var _tableResizing = _interopRequireDefault(__webpack_require__( /*! ./modules/tableResizing */ 56459)); var _tableContextMenu = _interopRequireDefault(__webpack_require__( /*! ./modules/tableContextMenu */ 31700)); var _imageUpload = _interopRequireDefault(__webpack_require__( /*! ./modules/imageUpload */ 75990)); var _imageCursor = _interopRequireDefault(__webpack_require__( /*! ./modules/imageCursor */ 80900)); var _mentions = _interopRequireDefault(__webpack_require__( /*! ./modules/mentions */ 12542)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var QuillRegistrator = function() { function QuillRegistrator() { if (QuillRegistrator.initialized) { return } var quill = this.getQuill(); var DirectionStyle = quill.import("attributors/style/direction"); quill.register({ "formats/align": _align.default, "formats/direction": DirectionStyle, "formats/font": _font.default, "formats/size": _size.default, "formats/extendedImage": _image.default, "formats/link": _link.default, "modules/toolbar": _toolbar.default, "modules/dropImage": _dropImage.default, "modules/variables": _variables.default, "modules/resizing": _resizing.default, "modules/tableResizing": _tableResizing.default, "modules/tableContextMenu": _tableContextMenu.default, "modules/imageUpload": _imageUpload.default, "modules/imageCursor": _imageCursor.default, "modules/mentions": _mentions.default, "themes/basic": _base.default }, true); this._customModules = []; QuillRegistrator._initialized = true } var _proto = QuillRegistrator.prototype; _proto.createEditor = function(container, config) { var quill = this.getQuill(); return new quill(container, config) }; _proto.registerModules = function(modulesConfig) { var isModule = RegExp("modules/*"); var quill = this.getQuill(); var isRegisteredModule = function(modulePath) { return !!quill.imports[modulePath] }; for (var modulePath in modulesConfig) { if (isModule.test(modulePath) && !isRegisteredModule(modulePath)) { this._customModules.push(modulePath.slice(8)) } } quill.register(modulesConfig, true) }; _proto.getRegisteredModuleNames = function() { return this._customModules }; _proto.getQuill = function() { return (0, _quill_importer.getQuill)() }; return QuillRegistrator }(); var _default = QuillRegistrator; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 80560: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/themes/base.js ***! \***************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _devextremeQuill = (obj = __webpack_require__( /*! devextreme-quill */ 9549), obj && obj.__esModule ? obj : { default: obj }); var obj; function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var BaseTheme; if (_devextremeQuill.default) { var Theme = _devextremeQuill.default.import("core/theme"); BaseTheme = function(_Theme) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(BaseTheme, _Theme); function BaseTheme(quill, options) { var _this; _this = _Theme.call(this, quill, options) || this; _this.quill.root.classList.add("dx-htmleditor-content"); _this.quill.root.setAttribute("role", "textbox"); _this.quill.root.setAttribute("aria-label", "Editor content"); return _this } return BaseTheme }(Theme) } else { BaseTheme = {} } var _default = BaseTheme; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 15887: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/ui.html_editor.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _empty_template = __webpack_require__( /*! ../../core/templates/empty_template */ 10688); var _editor = _interopRequireDefault(__webpack_require__( /*! ../editor/editor */ 96452)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/callbacks */ 44504)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _index2 = __webpack_require__( /*! ../../events/index */ 66365); var _emitterGesture = _interopRequireDefault(__webpack_require__( /*! ../../events/gesture/emitter.gesture.scroll */ 37334)); var _utils = __webpack_require__( /*! ../text_box/utils.scroll */ 51203); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _quill_registrator = _interopRequireDefault(__webpack_require__( /*! ./quill_registrator */ 1702)); __webpack_require__( /*! ./converters/delta */ 44844); var _converterController = _interopRequireDefault(__webpack_require__( /*! ./converterController */ 56957)); var _wordLists = _interopRequireDefault(__webpack_require__( /*! ./matchers/wordLists */ 10803)); var _formDialog = _interopRequireDefault(__webpack_require__( /*! ./ui/formDialog */ 67600)); var _config = _interopRequireDefault(__webpack_require__( /*! ../../core/config */ 80209)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var isIos = "ios" === _devices.default.current().platform; var editorsCount = 0; var HtmlEditor = _editor.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { focusStateEnabled: true, valueType: "html", placeholder: "", toolbar: null, variables: null, mediaResizing: null, tableResizing: null, mentions: null, customizeModules: null, tableContextMenu: null, allowSoftLineBreak: false, formDialogOptions: null, imageUpload: null, stylingMode: (0, _config.default)().editorStylingMode || "outlined" }) }, _init: function() { this._mentionKeyInTemplateStorage = editorsCount++; this.callBase(); this._cleanCallback = (0, _callbacks.default)(); this._contentInitializedCallback = (0, _callbacks.default)() }, _getAnonymousTemplateName: function() { return "htmlContent" }, _initTemplates: function() { this._templateManager.addDefaultTemplates(_defineProperty({}, "htmlContent", new _empty_template.EmptyTemplate)); this.callBase() }, _focusTarget: function() { return this._getContent() }, _getContent: function() { return this.$element().find(".".concat("dx-htmleditor-content")) }, _focusInHandler: function(_ref) { var relatedTarget = _ref.relatedTarget; if (this._shouldSkipFocusEvent(relatedTarget)) { return } this._toggleFocusClass(true, this.$element()); this.callBase.apply(this, arguments) }, _focusOutHandler: function(_ref2) { var relatedTarget = _ref2.relatedTarget; if (this._shouldSkipFocusEvent(relatedTarget)) { return } this._toggleFocusClass(false, this.$element()); this.callBase.apply(this, arguments) }, _shouldSkipFocusEvent: function(relatedTarget) { return (0, _renderer.default)(relatedTarget).hasClass("ql-clipboard") }, _initMarkup: function() { this._$htmlContainer = (0, _renderer.default)("<div>").addClass("dx-quill-container"); this.$element().attr("role", "application").addClass("dx-htmleditor").wrapInner(this._$htmlContainer); this._renderStylingMode(); var template = this._getTemplate("htmlContent"); this._$templateResult = template && template.render({ container: (0, _element.getPublicElement)(this._$htmlContainer), noModel: true, transclude: true }); this._renderSubmitElement(); this.callBase(); this._updateContainerMarkup() }, _renderSubmitElement: function() { this._$submitElement = (0, _renderer.default)("<textarea>").addClass("dx-htmleditor-submit-element").attr("hidden", true).appendTo(this.$element()); this._setSubmitValue(this.option("value")) }, _setSubmitValue: function(value) { this._getSubmitElement().val(value) }, _getSubmitElement: function() { return this._$submitElement }, _createNoScriptFrame: function() { return (0, _renderer.default)("<iframe>").css("display", "none").attr({ srcdoc: "", id: "xss-frame", sandbox: "allow-same-origin" }) }, _removeXSSVulnerableHtml: function(value) { var $frame = this._createNoScriptFrame().appendTo("body"); var frame = $frame.get(0); var frameWindow = frame.contentWindow; var frameDocument = frameWindow.document; var frameDocumentBody = frameDocument.body; frameDocumentBody.innerHTML = value; ! function removeInlineHandlers(element) { if (element.attributes) { for (var i = 0; i < element.attributes.length; i++) { var name = element.attributes[i].name; if (name.startsWith("on")) { element.removeAttribute(name) } } } if (element.childNodes) { for (var _i = 0; _i < element.childNodes.length; _i++) { removeInlineHandlers(element.childNodes[_i]) } } }(frameDocumentBody); frameDocumentBody.querySelectorAll("script").forEach((function(scriptNode) { scriptNode.remove() })); var sanitizedHtml = frameDocumentBody.innerHTML; $frame.remove(); return sanitizedHtml }, _updateContainerMarkup: function() { var markup = this.option("value"); if (this._isMarkdownValue()) { this._prepareMarkdownConverter(); markup = this._markdownConverter.toHtml(markup) } if (markup) { var sanitizedMarkup = this._removeXSSVulnerableHtml(markup); this._$htmlContainer.html(sanitizedMarkup) } }, _prepareMarkdownConverter: function() { var MarkdownConverter = _converterController.default.getConverter("markdown"); if (MarkdownConverter) { this._markdownConverter = new MarkdownConverter } else { throw _ui.default.Error("E1051", "markdown") } }, _render: function() { this._prepareConverters(); this.callBase() }, _prepareQuillRegistrator: function() { if (!this._quillRegistrator) { this._quillRegistrator = new _quill_registrator.default } }, _getRegistrator: function() { this._prepareQuillRegistrator(); return this._quillRegistrator }, _prepareConverters: function() { if (!this._deltaConverter) { var DeltaConverter = _converterController.default.getConverter("delta"); if (DeltaConverter) { this._deltaConverter = new DeltaConverter } } if ("markdown" === this.option("valueType") && !this._markdownConverter) { this._prepareMarkdownConverter() } }, _renderContentImpl: function() { this._contentRenderedDeferred = new _deferred.Deferred; var renderContentPromise = this._contentRenderedDeferred.promise(); this.callBase(); this._renderHtmlEditor(); this._renderFormDialog(); this._addKeyPressHandler(); return renderContentPromise }, _pointerMoveHandler: function(e) { if (isIos) { e.stopPropagation() } }, _attachFocusEvents: function() { (0, _common.deferRender)(this.callBase.bind(this)) }, _addKeyPressHandler: function() { var keyDownEvent = (0, _index.addNamespace)("keydown", "".concat(this.NAME, "TextChange")); _events_engine.default.on(this._$htmlContainer, keyDownEvent, this._keyDownHandler.bind(this)) }, _keyDownHandler: function(e) { this._saveValueChangeEvent(e) }, _renderHtmlEditor: function() { var _this = this; var customizeModules = this.option("customizeModules"); var modulesConfig = this._getModulesConfig(); if ((0, _type.isFunction)(customizeModules)) { customizeModules(modulesConfig) } this._quillInstance = this._getRegistrator().createEditor(this._$htmlContainer[0], { placeholder: this.option("placeholder"), readOnly: this.option("readOnly") || this.option("disabled"), modules: modulesConfig, theme: "basic" }); this._deltaConverter.setQuillInstance(this._quillInstance); this._textChangeHandlerWithContext = this._textChangeHandler.bind(this); this._quillInstance.on("text-change", this._textChangeHandlerWithContext); this._renderScrollHandler(); if (this._hasTranscludedContent()) { this._updateContentTask = (0, _common.executeAsync)((function() { _this._applyTranscludedContent() })) } else { this._finalizeContentRendering() } }, _renderScrollHandler: function() { var $scrollContainer = this._getContent(); var initScrollData = (0, _utils.prepareScrollData)($scrollContainer); _events_engine.default.on($scrollContainer, (0, _index.addNamespace)(_emitterGesture.default.init, this.NAME), initScrollData, _common.noop); _events_engine.default.on($scrollContainer, (0, _index.addNamespace)(_pointer.default.move, this.NAME), this._pointerMoveHandler.bind(this)) }, _applyTranscludedContent: function() { var valueOption = this.option("value"); if (!(0, _type.isDefined)(valueOption)) { var html = this._deltaConverter.toHtml(); var newDelta = this._quillInstance.clipboard.convert({ html: html }); if (newDelta.ops.length) { this._quillInstance.setContents(newDelta); return } } this._finalizeContentRendering() }, _hasTranscludedContent: function() { return this._$templateResult && this._$templateResult.length }, _getModulesConfig: function() { var _this2 = this; var quill = this._getRegistrator().getQuill(); var wordListMatcher = (0, _wordLists.default)(quill); var modulesConfig = (0, _extend.extend)({}, { table: true, toolbar: this._getModuleConfigByOption("toolbar"), variables: this._getModuleConfigByOption("variables"), resizing: this._getModuleConfigByOption("mediaResizing"), tableResizing: this._getModuleConfigByOption("tableResizing"), tableContextMenu: this._getModuleConfigByOption("tableContextMenu"), imageUpload: this._getModuleConfigByOption("imageUpload"), imageCursor: this._getBaseModuleConfig(), mentions: this._getModuleConfigByOption("mentions"), uploader: { onDrop: function(e) { return _this2._saveValueChangeEvent((0, _index2.Event)(e)) }, imageBlot: "extendedImage" }, keyboard: { onKeydown: function(e) { return _this2._saveValueChangeEvent((0, _index2.Event)(e)) } }, clipboard: { onPaste: function(e) { return _this2._saveValueChangeEvent((0, _index2.Event)(e)) }, onCut: function(e) { return _this2._saveValueChangeEvent((0, _index2.Event)(e)) }, matchers: [ ["p.MsoListParagraphCxSpFirst", wordListMatcher], ["p.MsoListParagraphCxSpMiddle", wordListMatcher], ["p.MsoListParagraphCxSpLast", wordListMatcher] ] }, multiline: Boolean(this.option("allowSoftLineBreak")) }, this._getCustomModules()); return modulesConfig }, _getModuleConfigByOption: function(userOptionName) { var optionValue = this.option(userOptionName); var config = {}; if (!(0, _type.isDefined)(optionValue)) { return } if (Array.isArray(optionValue)) { config[userOptionName] = optionValue } else { config = optionValue } return (0, _extend.extend)(this._getBaseModuleConfig(), config) }, _getBaseModuleConfig: function() { return { editorInstance: this } }, _getCustomModules: function() { var _this3 = this; var modules = {}; var moduleNames = this._getRegistrator().getRegisteredModuleNames(); moduleNames.forEach((function(modulePath) { modules[modulePath] = _this3._getBaseModuleConfig() })); return modules }, _textChangeHandler: function(newDelta, oldDelta, source) { var htmlMarkup = this._deltaConverter.toHtml(); var convertedValue = this._isMarkdownValue() ? this._updateValueByType("markdown", htmlMarkup) : htmlMarkup; var currentValue = this.option("value"); if (currentValue !== convertedValue && !this._isNullValueConverted(currentValue, convertedValue)) { this._isEditorUpdating = true; this.option("value", convertedValue) } this._finalizeContentRendering() }, _isNullValueConverted: function(currentValue, convertedValue) { return null === currentValue && "" === convertedValue }, _finalizeContentRendering: function() { if (this._contentRenderedDeferred) { this.clearHistory(); this._contentInitializedCallback.fire(); this._contentRenderedDeferred.resolve(); this._contentRenderedDeferred = void 0 } }, _updateValueByType: function(valueType, value) { var converter = this._markdownConverter; if (!(0, _type.isDefined)(converter)) { return } var currentValue = (0, _common.ensureDefined)(value, this.option("value")); return "markdown" === valueType ? converter.toMarkdown(currentValue) : converter.toHtml(currentValue) }, _isMarkdownValue: function() { return "markdown" === this.option("valueType") }, _resetEnabledState: function() { if (this._quillInstance) { var isEnabled = !(this.option("readOnly") || this.option("disabled")); this._quillInstance.enable(isEnabled) } }, _renderFormDialog: function() { var userOptions = (0, _extend.extend)(true, { width: "auto", height: "auto", hideOnOutsideClick: true }, this.option("formDialogOptions")); this._formDialog = new _formDialog.default(this, userOptions) }, _getStylingModePrefix: function() { return "dx-htmleditor-" }, _getQuillContainer: function() { return this._$htmlContainer }, _prepareModuleOptions: function(args) { var _args$fullName; var optionData = null === (_args$fullName = args.fullName) || void 0 === _args$fullName ? void 0 : _args$fullName.split("."); var value = args.value; var optionName = optionData.length >= 2 ? optionData[1] : args.name; if (3 === optionData.length) { value = _defineProperty({}, optionData[2], value) } return [optionName, value] }, _moduleOptionChanged: function(moduleName, args) { var moduleInstance = this.getModule(moduleName); var shouldPassOptionsToModule = Boolean(moduleInstance); if (shouldPassOptionsToModule) { moduleInstance.option.apply(moduleInstance, _toConsumableArray(this._prepareModuleOptions(args))) } else { this._invalidate() } }, _optionChanged: function(args) { switch (args.name) { case "value": if (this._quillInstance) { if (this._isEditorUpdating) { this._isEditorUpdating = false } else { var updatedValue = this._isMarkdownValue() ? this._updateValueByType("HTML", args.value) : args.value; this._suppressValueChangeAction(); this._updateHtmlContent(updatedValue); this._resumeValueChangeAction() } } else { this._$htmlContainer.html(args.value) } var value = this.option("value"); if (value !== args.previousValue) { this._setSubmitValue(value); this.callBase(_extends({}, args, { value: value })) } break; case "placeholder": case "variables": case "toolbar": case "mentions": case "customizeModules": case "allowSoftLineBreak": this._invalidate(); break; case "tableResizing": this._moduleOptionChanged("tableResizing", args); break; case "valueType": this._prepareConverters(); var newValue = this._updateValueByType(args.value); if ("html" === args.value && this._quillInstance) { this._updateHtmlContent(newValue) } else { this.option("value", newValue) } break; case "stylingMode": this._renderStylingMode(); break; case "readOnly": case "disabled": this.callBase(args); this._resetEnabledState(); break; case "formDialogOptions": this._renderFormDialog(); break; case "tableContextMenu": this._moduleOptionChanged("tableContextMenu", args); break; case "mediaResizing": if (!args.previousValue || !args.value) { this._invalidate() } else { this.getModule("resizing").option(args.name, args.value) } break; case "width": this.callBase(args); this._repaintToolbar(); break; case "imageUpload": this._moduleOptionChanged("imageUpload", args); break; default: this.callBase(args) } }, _repaintToolbar: function() { this._applyToolbarMethod("repaint") }, _updateHtmlContent: function(html) { var newDelta = this._quillInstance.clipboard.convert({ html: html }); this._quillInstance.setContents(newDelta) }, _clean: function() { if (this._quillInstance) { _events_engine.default.off(this._getContent(), ".".concat(this.NAME)); this._quillInstance.off("text-change", this._textChangeHandlerWithContext); this._cleanCallback.fire() } this._abortUpdateContentTask(); this._cleanCallback.empty(); this._contentInitializedCallback.empty(); this.callBase() }, _abortUpdateContentTask: function() { if (this._updateContentTask) { this._updateContentTask.abort(); this._updateContentTask = void 0 } }, _applyQuillMethod: function(methodName, args) { if (this._quillInstance) { return this._quillInstance[methodName].apply(this._quillInstance, args) } }, _applyQuillHistoryMethod: function(methodName) { if (this._quillInstance && this._quillInstance.history) { this._quillInstance.history[methodName]() } }, _applyToolbarMethod: function(methodName) { var _this$getModule; null === (_this$getModule = this.getModule("toolbar")) || void 0 === _this$getModule ? void 0 : _this$getModule[methodName]() }, addCleanCallback: function(callback) { this._cleanCallback.add(callback) }, addContentInitializedCallback: function(callback) { this._contentInitializedCallback.add(callback) }, register: function(components) { this._getRegistrator().registerModules(components); if (this._quillInstance) { this.repaint() } }, get: function(modulePath) { return this._getRegistrator().getQuill().import(modulePath) }, getModule: function(moduleName) { return this._applyQuillMethod("getModule", arguments) }, getQuillInstance: function() { return this._quillInstance }, getSelection: function(focus) { return this._applyQuillMethod("getSelection", arguments) }, setSelection: function(index, length) { this._applyQuillMethod("setSelection", arguments) }, getText: function(index, length) { return this._applyQuillMethod("getText", arguments) }, format: function(formatName, formatValue) { this._applyQuillMethod("format", arguments) }, formatText: function(index, length, formatName, formatValue) { this._applyQuillMethod("formatText", arguments) }, formatLine: function(index, length, formatName, formatValue) { this._applyQuillMethod("formatLine", arguments) }, getFormat: function(index, length) { return this._applyQuillMethod("getFormat", arguments) }, removeFormat: function(index, length) { return this._applyQuillMethod("removeFormat", arguments) }, clearHistory: function() { this._applyQuillHistoryMethod("clear"); this._applyToolbarMethod("updateHistoryWidgets") }, undo: function() { this._applyQuillHistoryMethod("undo") }, redo: function() { this._applyQuillHistoryMethod("redo") }, getLength: function() { return this._applyQuillMethod("getLength") }, getBounds: function(index, length) { return this._applyQuillMethod("getBounds", arguments) }, delete: function(index, length) { this._applyQuillMethod("deleteText", arguments) }, insertText: function(index, text, formats) { this._applyQuillMethod("insertText", arguments) }, insertEmbed: function(index, type, config) { this._applyQuillMethod("insertEmbed", arguments) }, showFormDialog: function(formConfig) { return this._formDialog.show(formConfig) }, formDialogOption: function(optionName, optionValue) { return this._formDialog.popupOption.apply(this._formDialog, arguments) }, focus: function() { this.callBase(); this._applyQuillMethod("focus") }, blur: function() { this._applyQuillMethod("blur") }, getMentionKeyInTemplateStorage: function() { return this._mentionKeyInTemplateStorage } }); (0, _component_registrator.default)("dxHtmlEditor", HtmlEditor); var _default = HtmlEditor; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 67600: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/ui/formDialog.js ***! \*****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _popup = _interopRequireDefault(__webpack_require__( /*! ../../popup */ 39114)); var _form = _interopRequireDefault(__webpack_require__( /*! ../../form */ 17737)); var _deferred = __webpack_require__( /*! ../../../core/utils/deferred */ 62754); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../localization/message */ 28109)); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../../core/devices */ 20530)); var _themes = __webpack_require__( /*! ../../themes */ 75811); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var FormDialog = function() { function FormDialog(editorInstance, popupConfig) { this._editorInstance = editorInstance; this._popupUserConfig = popupConfig; this._renderPopup(); this._attachOptionChangedHandler() } var _proto = FormDialog.prototype; _proto._renderPopup = function() { var editorInstance = this._editorInstance; var $container = (0, _renderer.default)("<div>").addClass("dx-formdialog").appendTo(editorInstance.$element()); var popupConfig = this._getPopupConfig(); return editorInstance._createComponent($container, _popup.default, popupConfig) }; _proto._attachOptionChangedHandler = function() { var _this$_popup, _this = this; null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.on("optionChanged", (function(_ref) { var name = _ref.name, value = _ref.value; if ("title" === name) { _this._updateFormLabel(value) } })) }; _proto._escKeyHandler = function() { this._popup.hide() }; _proto._addEscapeHandler = function(e) { e.component.registerKeyHandler("escape", this._escKeyHandler.bind(this)) }; _proto._isSmallScreen = function() { var screenFactor = (0, _window.hasWindow)() ? (0, _window.getCurrentScreenFactor)() : null; return "phone" === _devices.default.real().deviceType || "xs" === screenFactor }; _proto._getPopupConfig = function() { var _this2 = this; return (0, _extend.extend)({ onInitialized: function(e) { _this2._popup = e.component; _this2._popup.on("hiding", (function() { return _this2.onHiding() })); _this2._popup.on("shown", (function() { _this2._form.focus() })) }, deferRendering: false, focusStateEnabled: false, showCloseButton: false, fullScreen: this._isSmallScreen(), contentTemplate: function(contentElem) { var $formContainer = (0, _renderer.default)("<div>").appendTo(contentElem); _this2._renderForm($formContainer, { onEditorEnterKey: function(e) { return _this2.callAddButtonAction(e.event) }, customizeItem: function(item) { if ("simple" === item.itemType) { item.editorOptions = (0, _extend.extend)(true, {}, item.editorOptions, { onInitialized: _this2._addEscapeHandler.bind(_this2) }) } } }) }, toolbarItems: [{ toolbar: "bottom", location: "after", widget: "dxButton", options: { onInitialized: this._addEscapeHandler.bind(this), text: _message.default.format("OK"), onClick: function(e) { return _this2.callAddButtonAction(e.event) } } }, { toolbar: "bottom", location: "after", widget: "dxButton", options: { onInitialized: this._addEscapeHandler.bind(this), text: _message.default.format("Cancel"), onClick: function() { _this2._popup.hide() } } }], _wrapperClassExternal: "dx-formdialog" }, this._popupUserConfig) }; _proto.onHiding = function() { this.beforeAddButtonAction = void 0; this.deferred.reject() }; _proto.callAddButtonAction = function(event) { if (this.beforeAddButtonAction && !this.beforeAddButtonAction()) { return } this.hide(this._form.option("formData"), event) }; _proto._renderForm = function($container, options) { $container.addClass("dx-formdialog-form"); this._form = this._editorInstance._createComponent($container, _form.default, options); this._updateFormLabel() }; _proto._updateFormLabel = function(text) { var _this$_form; var label = null !== text && void 0 !== text ? text : this.popupOption("title"); null === (_this$_form = this._form) || void 0 === _this$_form ? void 0 : _this$_form.$element().attr("aria-label", label) }; _proto._getDefaultFormOptions = function() { return { colCount: 1, width: "auto", labelLocation: (0, _themes.isMaterial)() ? "top" : "left" } }; _proto.formOption = function(optionName, optionValue) { return this._form.option.apply(this._form, arguments) }; _proto.show = function(formUserConfig) { if (this._popup.option("visible")) { return } this.deferred = new _deferred.Deferred; var formConfig = (0, _extend.extend)(this._getDefaultFormOptions(), formUserConfig); this._form.option(formConfig); this._popup.show(); return this.deferred.promise() }; _proto.hide = function(formData, event) { this.deferred.resolve(formData, event); this._popup.hide() }; _proto.popupOption = function(optionName, optionValue) { return this._popup.option.apply(this._popup, arguments) }; return FormDialog }(); var _default = FormDialog; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 10046: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/utils/image_uploader_helper.js ***! \*******************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.ImageUploader = void 0; exports.correctSlashesInUrl = correctSlashesInUrl; exports.getFileUploaderBaseOptions = getFileUploaderBaseOptions; exports.serverUpload = serverUpload; exports.urlUpload = urlUpload; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../localization/message */ 28109)); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../../core/devices */ 20530)); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _button_group = _interopRequireDefault(__webpack_require__( /*! ../../button_group */ 28236)); var _file_uploader = _interopRequireDefault(__webpack_require__( /*! ../../file_uploader */ 53749)); var _text_box = _interopRequireDefault(__webpack_require__( /*! ../../text_box */ 29837)); var _excluded = ["imageSrc", "src"]; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } var isMobile = "phone" === _devices.default.current().deviceType; var ImageUploader = function() { function ImageUploader(module, config) { this.module = module; this.config = null !== config && void 0 !== config ? config : {}; this.quill = this.module.quill; this.editorInstance = this.module.editorInstance } var _proto = ImageUploader.prototype; _proto.render = function() { var _this = this; if (this.editorInstance._formDialog) { this.editorInstance._formDialog.beforeAddButtonAction = function() { return _this.getCurrentTab().upload() } } this.tabPanelIndex = 0; this.formData = this.getFormData(); this.isUpdating = this.isImageUpdating(); this.tabsModel = this.createTabsModel(this.config.tabs); this.tabs = this.createTabs(this.formData); var formConfig = this.getFormConfig(); this.updatePopupConfig(); this.updateAddButtonState(); this.editorInstance.showFormDialog(formConfig).done((function(formData, event) { _this.tabs[_this.getActiveTabIndex()].strategy.pasteImage(formData, event) })).always((function() { _this.resetDialogPopupOptions(); _this.quill.focus() })) }; _proto.getCurrentTab = function() { return this.tabs[this.tabPanelIndex] }; _proto.updateAddButtonState = function() { var isDisabled = this.getCurrentTab().isDisableButton(); this.setAddButtonDisabled(isDisabled) }; _proto.setAddButtonDisabled = function(value) { this.editorInstance.formDialogOption({ "toolbarItems[0].options.disabled": value }) }; _proto.getActiveTabIndex = function() { return this.isUpdating ? 0 : this.tabPanelIndex }; _proto.getFormData = function() { return this.getUpdateDialogFormData(this.quill.getFormat()) }; _proto.getUpdateDialogFormData = function(formData) { var imageSrc = formData.imageSrc, src = formData.src, props = _objectWithoutProperties(formData, _excluded); return _extends({ src: null !== imageSrc && void 0 !== imageSrc ? imageSrc : src }, props) }; _proto.createUrlTab = function(formData) { var _this2 = this; return new UrlTab(this.module, { config: this.config, formData: formData, isUpdating: this.isUpdating }, (function() { return _this2.updateAddButtonState() })) }; _proto.createFileTab = function() { var _this3 = this; return new FileTab(this.module, { config: this.config }, (function() { return _this3.updateAddButtonState() })) }; _proto.createTabsModel = function() { var model = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []; if (0 === model.length || this.isUpdating) { return ["url"] } return model.map((function(tab) { return "object" === _typeof(tab) ? tab.name : tab })) }; _proto.createTabs = function(formData) { var _this4 = this; return this.tabsModel.map((function(tabName) { var isUrlTab = "url" === tabName; return isUrlTab ? _this4.createUrlTab(formData) : _this4.createFileTab() })) }; _proto.isImageUpdating = function() { var _this$module$quill$ge; return Object.prototype.hasOwnProperty.call(null !== (_this$module$quill$ge = this.module.quill.getFormat()) && void 0 !== _this$module$quill$ge ? _this$module$quill$ge : {}, "imageSrc") }; _proto.updatePopupConfig = function() { var wrapperClasses = "".concat("dx-htmleditor-add-image-popup", " ").concat("dx-formdialog"); if (this.useTabbedItems()) { wrapperClasses += " ".concat("dx-htmleditor-add-image-popup-with-tabs") } var titleKey = this.isUpdating ? "dxHtmlEditor-dialogUpdateImageCaption" : "dxHtmlEditor-dialogImageCaption"; var addButtonTextKey = this.isUpdating ? "dxHtmlEditor-dialogImageUpdateButton" : "dxHtmlEditor-dialogImageAddButton"; this.editorInstance.formDialogOption({ title: _message.default.format(titleKey), "toolbarItems[0].options.text": _message.default.format(addButtonTextKey), wrapperAttr: { class: wrapperClasses } }) }; _proto.resetDialogPopupOptions = function() { this.editorInstance.formDialogOption({ "toolbarItems[0].options.text": _message.default.format("OK"), "toolbarItems[0].options.visible": true, "toolbarItems[0].options.disabled": false, wrapperAttr: { class: "dx-formdialog" } }) }; _proto.useTabbedItems = function() { return this.tabsModel.length > 1 }; _proto.getFormWidth = function() { return isMobile ? "100%" : 493 }; _proto.getFormConfig = function() { return { formData: this.formData, width: this.getFormWidth(), labelLocation: "top", colCount: this.useTabbedItems() ? 1 : 11, items: this.getItemsConfig() } }; _proto.getItemsConfig = function() { var _this5 = this; if (this.useTabbedItems()) { var tabsConfig = (0, _iterator.map)(this.tabs, (function(tabController) { return { title: tabController.getTabName(), colCount: 11, items: tabController.getItemsConfig() } })); return [{ itemType: "tabbed", tabPanelOptions: { onSelectionChanged: function(e) { _this5.tabPanelIndex = e.component.option("selectedIndex"); _this5.updateAddButtonState() } }, tabs: tabsConfig }] } return this.tabs[0].getItemsConfig() }; return ImageUploader }(); exports.ImageUploader = ImageUploader; var BaseTab = function() { function BaseTab(module, _ref, onFileSelected) { var config = _ref.config, formData = _ref.formData, isUpdating = _ref.isUpdating; this.module = module; this.config = config; this.formData = formData; this.isUpdating = isUpdating; this.onFileSelected = onFileSelected; this.strategy = this.createStrategy() } var _proto2 = BaseTab.prototype; _proto2.getItemsConfig = function() { return this.strategy.getItemsConfig() }; _proto2.createStrategy = function() { return this.isUpdating ? new UpdateUrlStrategy(this.module, this.config, this.formData) : new AddUrlStrategy(this.module, this.config, this.onFileSelected) }; _proto2.isDisableButton = function() { return false }; _proto2.upload = function() { return this.strategy.upload() }; return BaseTab }(); var UrlTab = function(_BaseTab) { _inheritsLoose(UrlTab, _BaseTab); function UrlTab() { return _BaseTab.apply(this, arguments) || this } var _proto3 = UrlTab.prototype; _proto3.getTabName = function() { return _message.default.format("dxHtmlEditor-dialogImageSpecifyUrl") }; return UrlTab }(BaseTab); var FileTab = function(_BaseTab2) { _inheritsLoose(FileTab, _BaseTab2); function FileTab() { return _BaseTab2.apply(this, arguments) || this } var _proto4 = FileTab.prototype; _proto4.getTabName = function() { return _message.default.format("dxHtmlEditor-dialogImageSelectFile") }; _proto4.createStrategy = function() { return new FileStrategy(this.module, this.config, this.onFileSelected) }; _proto4.isDisableButton = function() { return !this.strategy.isValid() }; return FileTab }(BaseTab); var BaseStrategy = function() { function BaseStrategy(module, config) { this.module = module; this.config = config; this.editorInstance = module.editorInstance; this.quill = module.quill; this.selection = this.getQuillSelection() } var _proto5 = BaseStrategy.prototype; _proto5.getQuillSelection = function() { var selection = this.quill.getSelection(); return null !== selection && void 0 !== selection ? selection : { index: this.quill.getLength(), length: 0 } }; _proto5.pasteImage = function() {}; _proto5.isValid = function() { return true }; _proto5.upload = function() {}; return BaseStrategy }(); var AddUrlStrategy = function(_BaseStrategy) { _inheritsLoose(AddUrlStrategy, _BaseStrategy); function AddUrlStrategy(module, config, onFileSelected) { var _this6; _this6 = _BaseStrategy.call(this, module, config, onFileSelected) || this; _this6.shouldKeepAspectRatio = true; return _this6 } var _proto6 = AddUrlStrategy.prototype; _proto6.pasteImage = function(formData, event) { this.module.saveValueChangeEvent(event); urlUpload(this.quill, this.selection.index, formData) }; _proto6.keepAspectRatio = function(data, _ref2) { var dependentEditor = _ref2.dependentEditor, e = _ref2.e; var newValue = parseInt(e.value); var previousValue = parseInt(e.previousValue); var previousDependentEditorValue = parseInt(dependentEditor.option("value")); data.component.updateData(data.dataField, newValue); if (this.shouldKeepAspectRatio && previousDependentEditorValue && previousValue && !this.preventRecalculating) { this.preventRecalculating = true; dependentEditor.option("value", Math.round(newValue * previousDependentEditorValue / parseInt(previousValue)).toString()) } this.preventRecalculating = false }; _proto6.createKeepAspectRatioEditor = function($container, data, dependentEditorDataField) { var _this7 = this; return this.editorInstance._createComponent($container, _text_box.default, (0, _extend.extend)(true, data.editorOptions, { value: data.component.option("formData")[data.dataField], onEnterKey: data.component.option("onEditorEnterKey").bind(this.editorInstance._formDialog, data), onValueChanged: function(e) { _this7.keepAspectRatio(data, { dependentEditor: _this7[dependentEditorDataField + "Editor"], e: e }) } })) }; _proto6.upload = function() { var result = this.editorInstance._formDialog._form.validate(); return result.isValid }; _proto6.getItemsConfig = function() { var _this8 = this; return [{ dataField: "src", colSpan: 11, label: { text: _message.default.format("dxHtmlEditor-dialogImageUrlField") }, validationRules: [{ type: "required" }, { type: "stringLength", min: 1 }] }, { dataField: "width", colSpan: 6, label: { text: _message.default.format("dxHtmlEditor-dialogImageWidthField") }, template: function(data) { var $content = (0, _renderer.default)("<div>").addClass("dx-fix-ratio-container"); var $widthEditor = (0, _renderer.default)("<div>").appendTo($content); _this8.widthEditor = _this8.createKeepAspectRatioEditor($widthEditor, data, "height"); var $ratioEditor = (0, _renderer.default)("<div>").appendTo($content); _this8.editorInstance._createComponent($ratioEditor, _button_group.default, { items: [{ icon: "imgarlock", value: "keepRatio" }], hint: _message.default.format("dxHtmlEditor-dialogImageKeepAspectRatio"), focusStateEnabled: false, keyExpr: "value", stylingMode: "outlined", selectionMode: "multiple", selectedItemKeys: ["keepRatio"], onSelectionChanged: function(e) { _this8.shouldKeepAspectRatio = !!e.component.option("selectedItems").length } }); return $content } }, { dataField: "height", colSpan: 5, label: { text: _message.default.format("dxHtmlEditor-dialogImageHeightField") }, template: function(data) { var $content = (0, _renderer.default)("<div>"); _this8.heightEditor = _this8.createKeepAspectRatioEditor($content, data, "width"); return $content } }, { dataField: "alt", colSpan: 11, label: { text: _message.default.format("dxHtmlEditor-dialogImageAltField") } }] }; return AddUrlStrategy }(BaseStrategy); var UpdateUrlStrategy = function(_AddUrlStrategy) { _inheritsLoose(UpdateUrlStrategy, _AddUrlStrategy); function UpdateUrlStrategy(module, config, formData, onFileSelected) { var _this9; _this9 = _AddUrlStrategy.call(this, module, config, onFileSelected) || this; _this9.formData = formData; _this9.modifyFormData(); return _this9 } var _proto7 = UpdateUrlStrategy.prototype; _proto7.modifyFormData = function() { var _this$quill$getFormat = this.quill.getFormat(this.selection.index - 1, 1), imageSrc = _this$quill$getFormat.imageSrc; if (!imageSrc || 0 === this.selection.index) { this.selection = { index: this.selection.index + 1, length: 0 }; this.quill.setSelection(this.selection.index, this.selection.length, "silent") } var imgElement = this.quill.getLeaf(this.selection.index)[0].domNode; if (imgElement) { var _this$formData$width, _this$formData$height; this.formData.width = null !== (_this$formData$width = this.formData.width) && void 0 !== _this$formData$width ? _this$formData$width : (0, _size.getWidth)((0, _renderer.default)(imgElement)); this.formData.height = null !== (_this$formData$height = this.formData.height) && void 0 !== _this$formData$height ? _this$formData$height : (0, _size.getHeight)((0, _renderer.default)(imgElement)) } }; _proto7.pasteImage = function(formData, event) { this.quill.deleteText(this.embedFormatIndex(), 1, "silent"); this.selection.index -= 1; _AddUrlStrategy.prototype.pasteImage.call(this, formData, event) }; _proto7.embedFormatIndex = function() { var _this$selection; var selection = null !== (_this$selection = this.selection) && void 0 !== _this$selection ? _this$selection : this.quill.getSelection(); if (selection) { if (selection.length) { return selection.index } else { return selection.index - 1 } } else { return this.quill.getLength() } }; return UpdateUrlStrategy }(AddUrlStrategy); var FileStrategy = function(_BaseStrategy2) { _inheritsLoose(FileStrategy, _BaseStrategy2); function FileStrategy(module, config, onFileSelected) { var _this10; _this10 = _BaseStrategy2.call(this, module, config, onFileSelected) || this; _this10.useBase64 = !(0, _type.isDefined)(_this10.config.fileUploadMode) || "base64" === _this10.config.fileUploadMode; _this10.isValidInternal = false; _this10.onFileSelected = onFileSelected; _this10.data = null; return _this10 } var _proto8 = FileStrategy.prototype; _proto8.upload = function() { if (this.useBase64) { this.base64Upload(this.data) } else if (this.data.value.length) { this.data.component.upload() } return true }; _proto8.isValid = function() { return this.isValidInternal }; _proto8.onUploaded = function(data) { serverUpload(this.config.uploadDirectory, data.file.name, this.quill, this.selection.index) }; _proto8.base64Upload = function(data) { this.quill.getModule("uploader").upload(this.selection, data.value, true) }; _proto8.pasteImage = function(formData, event) { if (this.useBase64) { _BaseStrategy2.prototype.pasteImage.call(this, formData, event) } }; _proto8.isBase64Editable = function() { return "both" === this.config.fileUploadMode }; _proto8.validate = function(e) { var fileUploader = e.component; this.isValidInternal = !fileUploader._files.some((function(file) { return !file.isValid() })); if (0 === fileUploader._files.length) { this.isValidInternal = false } }; _proto8.getFileUploaderOptions = function() { var _this11 = this; var fileUploaderOptions = { uploadUrl: this.config.uploadUrl, onValueChanged: function(data) { _this11.validate(data); _this11.data = data; _this11.onFileSelected() }, onUploaded: function(e) { return _this11.onUploaded(e) } }; return (0, _extend.extend)({}, getFileUploaderBaseOptions(), fileUploaderOptions, this.config.fileUploaderOptions) }; _proto8.getItemsConfig = function() { var _this12 = this; return [{ itemType: "simple", dataField: "files", colSpan: 11, label: { visible: false }, template: function() { var $content = (0, _renderer.default)("<div>"); _this12.module.editorInstance._createComponent($content, _file_uploader.default, _this12.getFileUploaderOptions()); return $content } }, { itemType: "simple", colSpan: 11, label: { visible: false }, editorType: "dxCheckBox", editorOptions: { value: this.useBase64, visible: this.isBase64Editable(), text: _message.default.format("dxHtmlEditor-dialogImageEncodeToBase64"), onValueChanged: function(e) { if (_this12.isBase64Editable()) { _this12.useBase64 = e.value } } } }] }; return FileStrategy }(BaseStrategy); function correctSlashesInUrl(url) { return "/" !== url[url.length - 1] ? url + "/" : url } function getFileUploaderBaseOptions() { return { value: [], name: "dx-htmleditor-image", accept: "image/*", uploadMode: "useButtons" } } function urlUpload(quill, index, attributes) { quill.insertEmbed(index, "extendedImage", attributes, "user"); quill.setSelection(index + 1, 0, "user") } function serverUpload(url, fileName, quill, pasteIndex) { if (url) { var imageUrl = correctSlashesInUrl(url) + fileName; urlUpload(quill, pasteIndex, { src: imageUrl }) } } }, 28822: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/utils/table_helper.js ***! \**********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.TABLE_OPERATIONS = void 0; exports.getAutoSizedElements = function($table) { var direction = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "horizontal"; var result = []; var isHorizontal = "horizontal" === direction; var $lineElements = isHorizontal ? getColumnElements($table) : getRowElements($table); $lineElements.each((function(index, element) { var $element = (0, _renderer.default)(element); if ("" === $element.get(0).style[isHorizontal ? "width" : "height"]) { result.push($element) } })); return result }; exports.getColumnElements = getColumnElements; exports.getLineElements = function($table, index) { var direction = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "horizontal"; return "horizontal" === direction ? getRowElements($table, index) : getColumnElements($table, index) }; exports.getRowElements = getRowElements; exports.getTableFormats = function(quill) { var tableModule = quill.getModule("table"); return null !== tableModule && void 0 !== tableModule && tableModule.tableFormats ? tableModule.tableFormats() : TABLE_FORMATS }; exports.getTableOperationHandler = function(quill, operationName) { for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { rest[_key - 2] = arguments[_key] } return function() { var table = quill.getModule("table"); if (!table) { return } quill.focus(); return table[operationName].apply(table, rest) } }; exports.hasEmbedContent = function(module, selection) { return !!selection && module.quill.getText(selection).length < selection.length }; exports.setLineElementsFormat = function(module, _ref2) { var elements = _ref2.elements, property = _ref2.property, value = _ref2.value; var tableBlotNames = module.quill.getModule("table").tableBlots; var fullPropertyName = "cell".concat((0, _inflector.camelize)(property, true)); (0, _iterator.each)(elements, (function(i, element) { var _formatBlot; var formatBlot = module.quill.scroll.find(element); if (!tableBlotNames.includes(formatBlot.statics.blotName)) { var descendBlot = formatBlot.descendant((function(blot) { return tableBlotNames.includes(blot.statics.blotName) })); formatBlot = descendBlot ? descendBlot[0] : null } null === (_formatBlot = formatBlot) || void 0 === _formatBlot ? void 0 : _formatBlot.format(fullPropertyName, value + "px") })) }; exports.unfixTableWidth = function($table, _ref) { var tableBlot = _ref.tableBlot, quill = _ref.quill; var formatBlot = null !== tableBlot && void 0 !== tableBlot ? tableBlot : quill.scroll.find($table.get(0)); formatBlot.format("tableWidth", "initial") }; var _renderer = (obj = __webpack_require__( /*! ../../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _inflector = __webpack_require__( /*! ../../../core/utils/inflector */ 78008); var TABLE_FORMATS = ["table", "tableHeaderCell"]; exports.TABLE_OPERATIONS = ["insertTable", "insertHeaderRow", "insertRowAbove", "insertRowBelow", "insertColumnLeft", "insertColumnRight", "deleteColumn", "deleteRow", "deleteTable", "cellProperties", "tableProperties"]; function getColumnElements($table) { var index = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; return $table.find("tr").eq(index).find("th, td") } function getRowElements($table) { var index = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; return $table.find("th:nth-child(".concat(1 + index, "), td:nth-child(").concat(1 + index, ")")) } }, 68953: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/utils/templates_storage.js ***! \***************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var TemplatesStorage = function() { function TemplatesStorage() { this._storage = {} } var _proto = TemplatesStorage.prototype; _proto.set = function(_ref, value) { var _this$_storage, _this$_storage$editor; var editorKey = _ref.editorKey, marker = _ref.marker; null !== (_this$_storage$editor = (_this$_storage = this._storage)[editorKey]) && void 0 !== _this$_storage$editor ? _this$_storage$editor : _this$_storage[editorKey] = {}; this._storage[editorKey][marker] = value }; _proto.get = function(_ref2) { var _Object$values$at, _this$_storage$editor2; var editorKey = _ref2.editorKey, marker = _ref2.marker; var isQuillFormatCall = !(0, _type.isDefined)(editorKey); return isQuillFormatCall ? null === (_Object$values$at = Object.values(this._storage).at(-1)) || void 0 === _Object$values$at ? void 0 : _Object$values$at[marker] : null === (_this$_storage$editor2 = this._storage[editorKey]) || void 0 === _this$_storage$editor2 ? void 0 : _this$_storage$editor2[marker] }; _proto.delete = function(_ref3) { var editorKey = _ref3.editorKey, marker = _ref3.marker; if (!this._storage[editorKey]) { return } delete this._storage[editorKey][marker]; if ((0, _type.isEmptyObject)(this._storage[editorKey])) { delete this._storage[editorKey] } }; return TemplatesStorage }(); exports.default = TemplatesStorage; module.exports = exports.default; module.exports.default = exports.default }, 92077: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/html_editor/utils/toolbar_helper.js ***! \************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.ICON_MAP = void 0; exports.applyFormat = applyFormat; exports.getDefaultClickHandler = getDefaultClickHandler; exports.getFormatHandlers = function(module) { return { clear: function(_ref) { var event = _ref.event; var range = module.quill.getSelection(); if (range) { var _getToolbarModule; module.saveValueChangeEvent(event); module.quill.removeFormat(range); null === (_getToolbarModule = getToolbarModule(module)) || void 0 === _getToolbarModule ? void 0 : _getToolbarModule.updateFormatWidgets() } }, link: prepareLinkHandler(module), image: prepareImageHandler(module, module.editorInstance.option("imageUpload")), color: prepareColorClickHandler(module, "color"), background: prepareColorClickHandler(module, "background"), orderedList: prepareShortcutHandler(module, "list", "ordered"), bulletList: prepareShortcutHandler(module, "list", "bullet"), alignLeft: prepareShortcutHandler(module, "align", "left"), alignCenter: prepareShortcutHandler(module, "align", "center"), alignRight: prepareShortcutHandler(module, "align", "right"), alignJustify: prepareShortcutHandler(module, "align", "justify"), codeBlock: getDefaultClickHandler(module, "code-block"), undo: function(_ref2) { var event = _ref2.event; module.saveValueChangeEvent(event); module.quill.history.undo() }, redo: function(_ref3) { var event = _ref3.event; module.saveValueChangeEvent(event); module.quill.history.redo() }, increaseIndent: function(_ref4) { var event = _ref4.event; applyFormat(module, ["indent", "+1", "user"], event) }, decreaseIndent: function(_ref5) { var event = _ref5.event; applyFormat(module, ["indent", "-1", "user"], event) }, superscript: prepareShortcutHandler(module, "script", "super"), subscript: prepareShortcutHandler(module, "script", "sub"), insertTable: prepareInsertTableHandler(module), insertHeaderRow: (0, _table_helper.getTableOperationHandler)(module.quill, "insertHeaderRow"), insertRowAbove: (0, _table_helper.getTableOperationHandler)(module.quill, "insertRowAbove"), insertRowBelow: (0, _table_helper.getTableOperationHandler)(module.quill, "insertRowBelow"), insertColumnLeft: (0, _table_helper.getTableOperationHandler)(module.quill, "insertColumnLeft"), insertColumnRight: (0, _table_helper.getTableOperationHandler)(module.quill, "insertColumnRight"), deleteColumn: (0, _table_helper.getTableOperationHandler)(module.quill, "deleteColumn"), deleteRow: (0, _table_helper.getTableOperationHandler)(module.quill, "deleteRow"), deleteTable: (0, _table_helper.getTableOperationHandler)(module.quill, "deleteTable"), cellProperties: prepareShowFormProperties(module, "cell"), tableProperties: prepareShowFormProperties(module, "table") } }; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../localization/message */ 28109)); var _table_helper = __webpack_require__( /*! ./table_helper */ 28822); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _form = _interopRequireDefault(__webpack_require__( /*! ../../form */ 17737)); var _button_group = _interopRequireDefault(__webpack_require__( /*! ../../button_group */ 28236)); var _color_box = _interopRequireDefault(__webpack_require__( /*! ../../color_box */ 4278)); var _scroll_view = _interopRequireDefault(__webpack_require__( /*! ../../scroll_view */ 4741)); var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _image_uploader_helper = __webpack_require__( /*! ./image_uploader_helper */ 10046); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); var _quill_importer = __webpack_require__( /*! ../quill_importer */ 60148); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || _unsupportedIterableToArray(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || _unsupportedIterableToArray(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _unsupportedIterableToArray(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var BORDER_STYLES = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]; exports.ICON_MAP = { insertHeaderRow: "header", clear: "clearformat" }; function resetFormDialogOptions(editorInstance, _ref6) { var contentTemplate = _ref6.contentTemplate, title = _ref6.title, minHeight = _ref6.minHeight, minWidth = _ref6.minWidth, maxWidth = _ref6.maxWidth; editorInstance.formDialogOption({ contentTemplate: contentTemplate, title: title, minHeight: null !== minHeight && void 0 !== minHeight ? minHeight : 0, minWidth: null !== minWidth && void 0 !== minWidth ? minWidth : 0, maxWidth: null !== maxWidth && void 0 !== maxWidth ? maxWidth : "none" }) } function prepareShowFormProperties(module, type) { return function($element) { var _$element, _module$quill$getModu; if (!(null !== (_$element = $element) && void 0 !== _$element && _$element.length)) { $element = (0, _renderer.default)(function(module, partName) { var currentSelectionParts = module.quill.getModule("table").getTable(); return "table" === partName ? currentSelectionParts[0].domNode : currentSelectionParts[2].domNode }(module, type)) } var _ref7 = null !== (_module$quill$getModu = module.quill.getModule("table").getTable()) && void 0 !== _module$quill$getModu ? _module$quill$getModu : [], _ref8 = _slicedToArray(_ref7, 2), tableBlot = _ref8[0], rowBlot = _ref8[1]; var formats = module.quill.getFormat(module.editorInstance.getSelection(true)); var tablePropertiesFormConfig = function(type) { return "cell" === type ? getCellPropertiesFormConfig : getTablePropertiesFormConfig }(type)(module, { $element: $element, formats: formats, tableBlot: tableBlot, rowBlot: rowBlot }); var _module$editorInstanc = module.editorInstance._formDialog._popup.option(), contentTemplate = _module$editorInstanc.contentTemplate, title = _module$editorInstanc.title, minHeight = _module$editorInstanc.minHeight, minWidth = _module$editorInstanc.minWidth, maxWidth = _module$editorInstanc.maxWidth; var savedOptions = { contentTemplate: contentTemplate, title: title, minHeight: minHeight, minWidth: minWidth, maxWidth: maxWidth }; var formInstance; module.editorInstance.formDialogOption({ contentTemplate: function(container) { var $content = (0, _renderer.default)("<div>").appendTo(container); var $form = (0, _renderer.default)("<div>").appendTo($content); module.editorInstance._createComponent($form, _form.default, tablePropertiesFormConfig.formOptions); module.editorInstance._createComponent($content, _scroll_view.default, {}); formInstance = $form.dxForm("instance"); return $content }, title: _message.default.format("dxHtmlEditor-".concat(type, "Properties")), minHeight: 400, minWidth: Math.min(800, .9 * (0, _size.getWidth)((0, _window.getWindow)()) - 1), maxWidth: .9 * (0, _size.getWidth)((0, _window.getWindow)()) }); var promise = module.editorInstance.showFormDialog(); promise.done((function(formData, event) { module.saveValueChangeEvent(event); tablePropertiesFormConfig.applyHandler(formInstance); resetFormDialogOptions(module.editorInstance, savedOptions) })); promise.fail((function() { module.quill.focus(); resetFormDialogOptions(module.editorInstance, savedOptions) })) } } function applyFormat(module, formatArgs, event) { var _module$quill; module.saveValueChangeEvent(event); (_module$quill = module.quill).format.apply(_module$quill, _toConsumableArray(formatArgs)) } function getColorFromFormat(value) { return Array.isArray(value) ? value[0] : value } function prepareLinkHandler(module) { return function() { var _selection; module.quill.focus(); var selection = module.quill.getSelection(); var formats = selection ? module.quill.getFormat() : {}; var isCursorAtLink = void 0 !== formats.link && 0 === (null === (_selection = selection) || void 0 === _selection ? void 0 : _selection.length); var href = formats.link || ""; if (isCursorAtLink) { var linkRange = function(module, range) { var Quill = (0, _quill_importer.getQuill)(); var LinkBlot = Quill.import("formats/link"); var link; var linkOffset; var _module$quill$scroll$ = module.quill.scroll.descendant(LinkBlot, range.index); var _module$quill$scroll$2 = _slicedToArray(_module$quill$scroll$, 2); link = _module$quill$scroll$2[0]; linkOffset = _module$quill$scroll$2[1]; if (!link && 0 === range.length) { var _module$quill$scroll$3 = module.quill.scroll.descendant(LinkBlot, range.index - 1); var _module$quill$scroll$4 = _slicedToArray(_module$quill$scroll$3, 2); link = _module$quill$scroll$4[0]; linkOffset = _module$quill$scroll$4[1]; if (link) { linkOffset += 1 } } var result = !link ? null : { index: range.index - linkOffset, length: link.length() }; return result }(module, selection); if (linkRange) { selection = linkRange } else { href = "" } } var selectionHasEmbedContent = (0, _table_helper.hasEmbedContent)(module, selection); var formData = { href: href, text: selection && !selectionHasEmbedContent ? module.quill.getText(selection) : "", target: Object.prototype.hasOwnProperty.call(formats, "target") ? !!formats.target : true }; module.editorInstance.formDialogOption("title", _message.default.format("dxHtmlEditor-dialogLinkCaption")); var promise = module.editorInstance.showFormDialog({ formData: formData, items: getLinkFormItems(selectionHasEmbedContent) }); promise.done((function(formData, event) { if (selection && !selectionHasEmbedContent) { var text = formData.text || formData.href; var _selection2 = selection, index = _selection2.index, length = _selection2.length; formData.text = void 0; module.saveValueChangeEvent(event); length && module.quill.deleteText(index, length, "silent"); module.quill.insertText(index, text, "link", formData, "user"); module.quill.setSelection(index + text.length, 0, "user") } else { formData.text = !selection && !formData.text ? formData.href : formData.text; applyFormat(module, ["link", formData, "user"], event) } })); promise.fail((function() { module.quill.focus() })) } } function prepareImageHandler(module, imageUploadOption) { var imageUploader = new _image_uploader_helper.ImageUploader(module, imageUploadOption); return function() { imageUploader.render() } } function getLinkFormItems(selectionHasEmbedContent) { return [{ dataField: "href", label: { text: _message.default.format("dxHtmlEditor-dialogLinkUrlField") } }, { dataField: "text", label: { text: _message.default.format("dxHtmlEditor-dialogLinkTextField") }, visible: !selectionHasEmbedContent }, { dataField: "target", editorType: "dxCheckBox", editorOptions: { text: _message.default.format("dxHtmlEditor-dialogLinkTargetField") }, cssClass: "dx-formdialog-field-target", label: { visible: false } }] } function prepareColorClickHandler(module, name) { return function() { var formData = module.quill.getFormat(); var caption = "color" === name ? "dxHtmlEditor-dialogColorCaption" : "dxHtmlEditor-dialogBackgroundCaption"; module.editorInstance.formDialogOption("title", _message.default.format(caption)); var promise = module.editorInstance.showFormDialog({ formData: formData, items: [{ dataField: name, editorType: "dxColorView", editorOptions: { focusStateEnabled: false }, label: { visible: false } }] }); promise.done((function(formData, event) { applyFormat(module, [name, formData[name], "user"], event) })); promise.fail((function() { module.quill.focus() })) } } function prepareShortcutHandler(module, name, shortcutValue) { return function(_ref9) { var _getToolbarModule2; var event = _ref9.event; var formats = module.quill.getFormat(); var value = formats[name] === shortcutValue ? false : shortcutValue; applyFormat(module, [name, value, "user"], event); null === (_getToolbarModule2 = getToolbarModule(module)) || void 0 === _getToolbarModule2 ? void 0 : _getToolbarModule2.updateFormatWidgets(true) } } function getToolbarModule(module) { return module._updateFormatWidget ? module : module.quill.getModule("toolbar") } function getDefaultClickHandler(module, name) { return function(_ref10) { var _getToolbarModule3; var event = _ref10.event; var formats = module.quill.getFormat(); var value = formats[name]; var newValue = !((0, _type.isBoolean)(value) ? value : (0, _type.isDefined)(value)); applyFormat(module, [name, newValue, "user"], event); null === (_getToolbarModule3 = getToolbarModule(module)) || void 0 === _getToolbarModule3 ? void 0 : _getToolbarModule3._updateFormatWidget(name, newValue, formats) } } function prepareInsertTableHandler(module) { return function() { var formats = module.quill.getFormat(); var isTableFocused = module._tableFormats.some((function(format) { return Object.prototype.hasOwnProperty.call(formats, format) })); if (isTableFocused) { module.quill.focus(); return } module.editorInstance.formDialogOption("title", _message.default.format("dxHtmlEditor-dialogInsertTableCaption")); var promise = module.editorInstance.showFormDialog({ formData: { rows: 1, columns: 1 }, items: [{ dataField: "columns", editorType: "dxNumberBox", editorOptions: { min: 1 }, label: { text: _message.default.format("dxHtmlEditor-dialogInsertTableRowsField") } }, { dataField: "rows", editorType: "dxNumberBox", editorOptions: { min: 1 }, label: { text: _message.default.format("dxHtmlEditor-dialogInsertTableColumnsField") } }] }); promise.done((function(formData, event) { module.quill.focus(); var table = module.quill.getModule("table"); if (table) { module.saveValueChangeEvent(event); var columns = formData.columns, rows = formData.rows; table.insertTable(columns, rows) } })).always((function() { module.quill.focus() })) } } function getTablePropertiesFormConfig(module, _ref11) { var $element = _ref11.$element, formats = _ref11.formats, tableBlot = _ref11.tableBlot; var window = (0, _window.getWindow)(); var alignmentEditorInstance; var borderColorEditorInstance; var backgroundColorEditorInstance; var $table = $element; var editorInstance = module.editorInstance; var startTableWidth = parseInt(formats.tableWidth) || (0, _size.getOuterWidth)($table); var tableStyles = window.getComputedStyle($table.get(0)); var startTextAlign = "start" === tableStyles.textAlign ? "left" : tableStyles.textAlign; var formOptions = { colCount: 2, formData: { width: startTableWidth, height: (0, _type.isDefined)(formats.tableHeight) ? parseInt(formats.tableHeight) : (0, _size.getOuterHeight)($table), backgroundColor: formats.tableBackgroundColor || tableStyles.backgroundColor, borderStyle: formats.tableBorderStyle || tableStyles.borderTopStyle, borderColor: formats.tableBorderColor || tableStyles.borderTopColor, borderWidth: parseInt((0, _type.isDefined)(formats.tableBorderWidth) ? formats.tableBorderWidth : tableStyles.borderTopWidth), alignment: formats.tableAlign || startTextAlign }, items: [{ itemType: "group", caption: _message.default.format("dxHtmlEditor-border"), colCountByScreen: { xs: 2 }, colCount: 2, items: [{ dataField: "borderStyle", label: { text: _message.default.format("dxHtmlEditor-style") }, editorType: "dxSelectBox", editorOptions: { items: BORDER_STYLES, placeholder: "Select style" } }, { dataField: "borderWidth", label: { text: _message.default.format("dxHtmlEditor-borderWidth") }, editorOptions: { placeholder: _message.default.format("dxHtmlEditor-pixels") } }, { itemType: "simple", dataField: "borderColor", label: { text: _message.default.format("dxHtmlEditor-borderColor") }, colSpan: 2, template: function(e) { var $content = (0, _renderer.default)("<div>"); editorInstance._createComponent($content, _color_box.default, { editAlphaChannel: true, value: e.component.option("formData").borderColor, onInitialized: function(e) { borderColorEditorInstance = e.component } }); return $content } }] }, { itemType: "group", caption: _message.default.format("dxHtmlEditor-dimensions"), colCountByScreen: { xs: 2 }, colCount: 2, items: [{ dataField: "width", label: { text: _message.default.format("dxHtmlEditor-width") }, editorOptions: { min: 0, placeholder: _message.default.format("dxHtmlEditor-pixels") } }, { dataField: "height", label: { text: _message.default.format("dxHtmlEditor-height") }, editorOptions: { min: 0, placeholder: _message.default.format("dxHtmlEditor-pixels") } }] }, { itemType: "group", caption: _message.default.format("dxHtmlEditor-tableBackground"), items: [{ itemType: "simple", dataField: "backgroundColor", label: { text: _message.default.format("dxHtmlEditor-borderColor") }, template: function(e) { var $content = (0, _renderer.default)("<div>"); editorInstance._createComponent($content, _color_box.default, { editAlphaChannel: true, value: e.component.option("formData").backgroundColor, onInitialized: function(e) { backgroundColorEditorInstance = e.component } }); return $content } }] }, { itemType: "group", caption: _message.default.format("dxHtmlEditor-alignment"), items: [{ itemType: "simple", label: { text: _message.default.format("dxHtmlEditor-horizontal") }, template: function() { var $content = (0, _renderer.default)("<div>"); editorInstance._createComponent($content, _button_group.default, { items: [{ value: "left", icon: "alignleft" }, { value: "center", icon: "aligncenter" }, { value: "right", icon: "alignright" }, { value: "justify", icon: "alignjustify" }], keyExpr: "value", selectedItemKeys: [startTextAlign], onInitialized: function(e) { alignmentEditorInstance = e.component } }); return $content } }] }], showColonAfterLabel: true, labelLocation: "top", minColWidth: 400 }; return { formOptions: formOptions, applyHandler: function(formInstance) { var formData = formInstance.option("formData"); var newWidth = formData.width === startTableWidth ? void 0 : formData.width; var newHeight = formData.height; ! function(module, _ref13) { var $table = _ref13.$table, newHeight = _ref13.newHeight, newWidth = _ref13.newWidth, tableBlot = _ref13.tableBlot; if ((0, _type.isDefined)(newWidth)) { var autoWidthColumns = (0, _table_helper.getAutoSizedElements)($table); if (autoWidthColumns.length > 0) { module.editorInstance.format("tableWidth", newWidth + "px") } else { var $columns = (0, _table_helper.getColumnElements)($table); var oldTableWidth = (0, _size.getOuterWidth)($table); (0, _table_helper.unfixTableWidth)($table, { tableBlot: tableBlot }); (0, _iterator.each)($columns, (function(i, element) { var $element = (0, _renderer.default)(element); var newElementWidth = newWidth / oldTableWidth * (0, _size.getOuterWidth)($element); var $lineElements = (0, _table_helper.getLineElements)($table, $element.index(), "horizontal"); (0, _table_helper.setLineElementsFormat)(module, { elements: $lineElements, property: "width", value: newElementWidth }) })) } } var autoHeightRows = (0, _table_helper.getAutoSizedElements)($table, "vertical"); if ((null === autoHeightRows || void 0 === autoHeightRows ? void 0 : autoHeightRows.length) > 0) { tableBlot.format("tableHeight", newHeight + "px") } else { var $rows = (0, _table_helper.getRowElements)($table); var oldTableHeight = (0, _size.getOuterHeight)($table); (0, _iterator.each)($rows, (function(i, element) { var $element = (0, _renderer.default)(element); var newElementHeight = newHeight / oldTableHeight * (0, _size.getOuterHeight)($element); var $lineElements = (0, _table_helper.getLineElements)($table, i, "vertical"); (0, _table_helper.setLineElementsFormat)(module, { elements: $lineElements, property: "height", value: newElementHeight }) })) } }(module, { $table: $table, newHeight: newHeight, newWidth: newWidth, tableBlot: tableBlot }); module.editorInstance.format("tableBorderStyle", formData.borderStyle); module.editorInstance.format("tableBorderWidth", formData.borderWidth + "px"); module.editorInstance.format("tableBorderColor", borderColorEditorInstance.option("value")); module.editorInstance.format("tableBackgroundColor", backgroundColorEditorInstance.option("value")); module.editorInstance.format("tableTextAlign", alignmentEditorInstance.option("selectedItemKeys")[0]) } } } function getCellPropertiesFormConfig(module, _ref12) { var $element = _ref12.$element, formats = _ref12.formats, tableBlot = _ref12.tableBlot, rowBlot = _ref12.rowBlot; var window = (0, _window.getWindow)(); var alignmentEditorInstance; var verticalAlignmentEditorInstance; var borderColorEditorInstance; var backgroundColorEditorInstance; var $cell = $element; var startCellWidth = (0, _type.isDefined)(formats.cellWidth) ? parseInt(formats.cellWidth) : (0, _size.getOuterWidth)($cell); var editorInstance = module.editorInstance; var cellStyles = window.getComputedStyle($cell.get(0)); var startTextAlign = "start" === cellStyles.textAlign ? "left" : cellStyles.textAlign; var formOptions = { colCount: 2, formData: { width: startCellWidth, height: (0, _type.isDefined)(formats.cellHeight) ? parseInt(formats.cellHeight) : (0, _size.getOuterHeight)($cell), backgroundColor: getColorFromFormat(formats.cellBackgroundColor) || cellStyles.backgroundColor, borderStyle: formats.cellBorderStyle || cellStyles.borderTopStyle, borderColor: getColorFromFormat(formats.cellBorderColor) || cellStyles.borderTopColor, borderWidth: parseInt((0, _type.isDefined)(formats.cellBorderWidth) ? formats.cellBorderWidth : cellStyles.borderTopWidth), alignment: formats.cellTextAlign || startTextAlign, verticalAlignment: formats.cellVerticalAlign || cellStyles.verticalAlign, verticalPadding: parseInt((0, _type.isDefined)(formats.cellPaddingTop) ? formats.cellPaddingTop : cellStyles.paddingTop), horizontalPadding: parseInt((0, _type.isDefined)(formats.cellPaddingLeft) ? formats.cellPaddingLeft : cellStyles.paddingLeft) }, items: [{ itemType: "group", caption: _message.default.format("dxHtmlEditor-border"), colCountByScreen: { xs: 2 }, colCount: 2, items: [{ dataField: "borderStyle", label: { text: _message.default.format("dxHtmlEditor-style") }, editorType: "dxSelectBox", editorOptions: { items: BORDER_STYLES } }, { dataField: "borderWidth", label: { text: _message.default.format("dxHtmlEditor-borderWidth") }, editorOptions: { placeholder: _message.default.format("dxHtmlEditor-pixels") } }, { itemType: "simple", dataField: "borderColor", colSpan: 2, label: { text: _message.default.format("dxHtmlEditor-borderColor") }, template: function(e) { var $content = (0, _renderer.default)("<div>"); editorInstance._createComponent($content, _color_box.default, { editAlphaChannel: true, value: e.component.option("formData").borderColor, onInitialized: function(e) { borderColorEditorInstance = e.component } }); return $content } }] }, { itemType: "group", caption: _message.default.format("dxHtmlEditor-dimensions"), colCount: 2, colCountByScreen: { xs: 2 }, items: [{ dataField: "width", label: { text: _message.default.format("dxHtmlEditor-width") }, editorOptions: { min: 0, placeholder: _message.default.format("dxHtmlEditor-pixels") } }, { dataField: "height", label: { text: _message.default.format("dxHtmlEditor-height") }, editorOptions: { min: 0, placeholder: _message.default.format("dxHtmlEditor-pixels") } }, { dataField: "verticalPadding", label: { text: _message.default.format("dxHtmlEditor-paddingVertical") }, editorOptions: { placeholder: _message.default.format("dxHtmlEditor-pixels") } }, { label: { text: _message.default.format("dxHtmlEditor-paddingHorizontal") }, dataField: "horizontalPadding", editorOptions: { placeholder: _message.default.format("dxHtmlEditor-pixels") } }] }, { itemType: "group", caption: _message.default.format("dxHtmlEditor-tableBackground"), items: [{ itemType: "simple", dataField: "backgroundColor", label: { text: _message.default.format("dxHtmlEditor-borderColor") }, template: function(e) { var $content = (0, _renderer.default)("<div>"); editorInstance._createComponent($content, _color_box.default, { editAlphaChannel: true, value: e.component.option("formData").backgroundColor, onInitialized: function(e) { backgroundColorEditorInstance = e.component } }); return $content } }] }, { itemType: "group", caption: _message.default.format("dxHtmlEditor-alignment"), colCount: 2, items: [{ itemType: "simple", label: { text: _message.default.format("dxHtmlEditor-horizontal") }, template: function() { var $content = (0, _renderer.default)("<div>"); editorInstance._createComponent($content, _button_group.default, { items: [{ value: "left", icon: "alignleft" }, { value: "center", icon: "aligncenter" }, { value: "right", icon: "alignright" }, { value: "justify", icon: "alignjustify" }], keyExpr: "value", selectedItemKeys: [startTextAlign], onInitialized: function(e) { alignmentEditorInstance = e.component } }); return $content } }, { itemType: "simple", label: { text: _message.default.format("dxHtmlEditor-vertical") }, template: function() { var $content = (0, _renderer.default)("<div>"); editorInstance._createComponent($content, _button_group.default, { items: [{ value: "top", icon: "verticalaligntop" }, { value: "middle", icon: "verticalaligncenter" }, { value: "bottom", icon: "verticalalignbottom" }], keyExpr: "value", selectedItemKeys: [cellStyles.verticalAlign], onInitialized: function(e) { verticalAlignmentEditorInstance = e.component } }); return $content } }] }], showColonAfterLabel: true, labelLocation: "top", minColWidth: 400 }; return { formOptions: formOptions, applyHandler: function(formInstance) { var formData = formInstance.option("formData"); var newWidth = formData.width === parseInt(startCellWidth) ? void 0 : formData.width; var newHeight = formData.height; ! function(module, _ref14) { var $cell = _ref14.$cell, newHeight = _ref14.newHeight, newWidth = _ref14.newWidth, tableBlot = _ref14.tableBlot, rowBlot = _ref14.rowBlot; var $table = (0, _renderer.default)($cell.closest("table")); if ((0, _type.isDefined)(newWidth)) { var index = (0, _renderer.default)($cell).index(); var $verticalCells = (0, _table_helper.getLineElements)($table, index); var widthDiff = newWidth - (0, _size.getOuterWidth)($cell); var tableWidth = (0, _size.getOuterWidth)($table); if (newWidth > tableWidth) { (0, _table_helper.unfixTableWidth)($table, { tableBlot: tableBlot }) }(0, _table_helper.setLineElementsFormat)(module, { elements: $verticalCells, property: "width", value: newWidth }); var $nextColumnCell = $cell.next(); var shouldUpdateNearestColumnWidth = 0 === (0, _table_helper.getAutoSizedElements)($table).length; if (shouldUpdateNearestColumnWidth) { (0, _table_helper.unfixTableWidth)($table, { tableBlot: tableBlot }); if (1 === $nextColumnCell.length) { $verticalCells = (0, _table_helper.getLineElements)($table, index + 1); var nextColumnWidth = (0, _size.getOuterWidth)($verticalCells.eq(0)) - widthDiff; (0, _table_helper.setLineElementsFormat)(module, { elements: $verticalCells, property: "width", value: Math.max(nextColumnWidth, 0) }) } else { var $prevColumnCell = $cell.prev(); if (1 === $prevColumnCell.length) { $verticalCells = (0, _table_helper.getLineElements)($table, index - 1); var prevColumnWidth = (0, _size.getOuterWidth)($verticalCells.eq(0)) - widthDiff; (0, _table_helper.setLineElementsFormat)(module, { elements: $verticalCells, property: "width", value: Math.max(prevColumnWidth, 0) }) } } } } rowBlot.children.forEach((function(rowCell) { rowCell.format("cellHeight", newHeight + "px") })); var autoHeightRows = (0, _table_helper.getAutoSizedElements)($table, "vertical"); if (0 === autoHeightRows.length) { $table.css("height", "auto") } }(module, { $cell: $cell, newHeight: newHeight, newWidth: newWidth, tableBlot: tableBlot, rowBlot: rowBlot }); module.editorInstance.format("cellBorderWidth", formData.borderWidth + "px"); module.editorInstance.format("cellBorderColor", borderColorEditorInstance.option("value")); module.editorInstance.format("cellBorderStyle", formData.borderStyle); module.editorInstance.format("cellBackgroundColor", backgroundColorEditorInstance.option("value")); module.editorInstance.format("cellTextAlign", alignmentEditorInstance.option("selectedItemKeys")[0]); module.editorInstance.format("cellVerticalAlign", verticalAlignmentEditorInstance.option("selectedItemKeys")[0]); module.editorInstance.format("cellPaddingLeft", formData.horizontalPadding + "px"); module.editorInstance.format("cellPaddingRight", formData.horizontalPadding + "px"); module.editorInstance.format("cellPaddingTop", formData.verticalPadding + "px"); module.editorInstance.format("cellPaddingBottom", formData.verticalPadding + "px") } } } }, 86e3: /*!********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list.js ***! \********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _list_light = (obj = __webpack_require__( /*! ./list_light */ 56757), obj && obj.__esModule ? obj : { default: obj }); var obj; __webpack_require__( /*! ./list/modules/selection */ 20551); __webpack_require__( /*! ./list/modules/deleting */ 15728); __webpack_require__( /*! ./list/modules/dragging */ 82778); __webpack_require__( /*! ./list/modules/context */ 29184); __webpack_require__( /*! ./list/modules/search */ 68724); var _default = _list_light.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 37945: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/item.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _item = _interopRequireDefault(__webpack_require__( /*! ../collection/item */ 54778)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ListItem = _item.default.inherit({ _renderWatchers: function() { this.callBase(); this._startWatcher("badge", this._renderBadge.bind(this)); this._startWatcher("showChevron", this._renderShowChevron.bind(this)) }, _renderBadge: function(badge) { this._$element.children(".dx-list-item-badge-container").remove(); if (!badge) { return } var $badge = (0, _renderer.default)("<div>").addClass("dx-list-item-badge-container").append((0, _renderer.default)("<div>").addClass("dx-list-item-badge").addClass("dx-badge").text(badge)); var $chevron = this._$element.children(".dx-list-item-chevron-container").first(); $chevron.length > 0 ? $badge.insertBefore($chevron) : $badge.appendTo(this._$element) }, _renderShowChevron: function(showChevron) { this._$element.children(".dx-list-item-chevron-container").remove(); if (!showChevron) { return } var $chevronContainer = (0, _renderer.default)("<div>").addClass("dx-list-item-chevron-container"); var $chevron = (0, _renderer.default)("<div>").addClass("dx-list-item-chevron"); $chevronContainer.append($chevron).appendTo(this._$element) } }); var _default = ListItem; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 29184: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/modules/context.js ***! \************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ../ui.list.edit.decorator.context */ 27445) }, 52654: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/modules/deleting.context.js ***! \*********************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ./context */ 29184) }, 15728: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/modules/deleting.js ***! \*************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ./deleting.context */ 52654); __webpack_require__( /*! ./deleting.slideButton */ 51257); __webpack_require__( /*! ./deleting.slideItem */ 22116); __webpack_require__( /*! ./deleting.static */ 3589); __webpack_require__( /*! ./deleting.swipe */ 3181); __webpack_require__( /*! ./deleting.toggle */ 78290) }, 51257: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/modules/deleting.slideButton.js ***! \*************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ../ui.list.edit.decorator.switchable.button */ 96782) }, 22116: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/modules/deleting.slideItem.js ***! \***********************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ../ui.list.edit.decorator.switchable.slide */ 36279) }, 3589: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/modules/deleting.static.js ***! \********************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ../ui.list.edit.decorator.static */ 47970) }, 3181: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/modules/deleting.swipe.js ***! \*******************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ../ui.list.edit.decorator.swipe */ 33329) }, 78290: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/modules/deleting.toggle.js ***! \********************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ../ui.list.edit.decorator.switchable.button */ 96782) }, 82778: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/modules/dragging.js ***! \*************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ../ui.list.edit.decorator.reorder */ 65436) }, 68724: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/modules/search.js ***! \***********************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _ui = _interopRequireDefault(__webpack_require__( /*! ../../widget/ui.search_box_mixin */ 2630)); var _text_box = _interopRequireDefault(__webpack_require__( /*! ../../text_box */ 29837)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } _ui.default.setEditorClass(_text_box.default) }, 20551: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/modules/selection.js ***! \**************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { __webpack_require__( /*! ../ui.list.edit.decorator.selection */ 81362) }, 31583: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.base.js ***! \*********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.ListBase = void 0; exports.setScrollView = function(value) { _scrollView = value }; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _icon = __webpack_require__( /*! ../../core/utils/icon */ 44899); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _fx = _interopRequireDefault(__webpack_require__( /*! ../../animation/fx */ 87209)); var _click = __webpack_require__( /*! ../../events/click */ 95429); var _swipe = __webpack_require__( /*! ../../events/swipe */ 34309); var _support = __webpack_require__( /*! ../../core/utils/support */ 60137); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _utils = __webpack_require__( /*! ../widget/utils.ink_ripple */ 72672); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _item = _interopRequireDefault(__webpack_require__( /*! ./item */ 37945)); var _button = _interopRequireDefault(__webpack_require__( /*! ../button */ 63008)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _themes = __webpack_require__( /*! ../themes */ 75811); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _scroll_view = _interopRequireDefault(__webpack_require__( /*! ../scroll_view */ 4741)); var _uiScrollable = __webpack_require__( /*! ../scroll_view/ui.scrollable.device */ 82205); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ../collection/ui.collection_widget.live_update */ 69010)); var _bindable_template = __webpack_require__( /*! ../../core/templates/bindable_template */ 93280); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _grouped_data_converter_mixin = _interopRequireDefault(__webpack_require__( /*! ../shared/grouped_data_converter_mixin */ 37178)); var _get_element_style = __webpack_require__( /*! ../../renovation/ui/scroll_view/utils/get_element_style */ 42136); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var LIST_ITEM_SELECTOR = ".dx-list-item"; var groupItemsGetter = (0, _data.compileGetter)("items"); var _scrollView; var ListBase = _uiCollection_widget.default.inherit({ _activeStateUnit: [LIST_ITEM_SELECTOR, ".dx-list-select-all"].join(","), _supportedKeys: function() { var that = this; var moveFocusPerPage = function(direction) { var $item = getEdgeVisibleItem(direction); var isFocusedItem = $item.is(that.option("focusedElement")); if (isFocusedItem) { ! function($item, direction) { var resultPosition = $item.position().top; if ("prev" === direction) { resultPosition = $item.position().top - (0, _size.getHeight)(that.$element()) + (0, _size.getOuterHeight)($item) } that.scrollTo(resultPosition) }($item, direction); $item = getEdgeVisibleItem(direction) } that.option("focusedElement", (0, _element.getPublicElement)($item)); that.scrollToItem($item) }; function getEdgeVisibleItem(direction) { var scrollTop = that.scrollTop(); var containerHeight = (0, _size.getHeight)(that.$element()); var $item = (0, _renderer.default)(that.option("focusedElement")); var isItemVisible = true; if (!$item.length) { return (0, _renderer.default)() } while (isItemVisible) { var $nextItem = $item[direction](); if (!$nextItem.length) { break } var nextItemLocation = $nextItem.position().top + (0, _size.getOuterHeight)($nextItem) / 2; isItemVisible = nextItemLocation < containerHeight + scrollTop && nextItemLocation > scrollTop; if (isItemVisible) { $item = $nextItem } } return $item } return (0, _extend.extend)(this.callBase(), { leftArrow: _common.noop, rightArrow: _common.noop, pageUp: function() { moveFocusPerPage("prev"); return false }, pageDown: function() { moveFocusPerPage("next"); return false } }) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { hoverStateEnabled: true, pullRefreshEnabled: false, scrollingEnabled: true, selectByClick: true, showScrollbar: "onScroll", useNativeScrolling: true, bounceEnabled: true, scrollByContent: true, scrollByThumb: false, pullingDownText: _message.default.format("dxList-pullingDownText"), pulledDownText: _message.default.format("dxList-pulledDownText"), refreshingText: _message.default.format("dxList-refreshingText"), pageLoadingText: _message.default.format("dxList-pageLoadingText"), onScroll: null, onPullRefresh: null, onPageLoading: null, pageLoadMode: "scrollBottom", nextButtonText: _message.default.format("dxList-nextButtonText"), onItemSwipe: null, grouped: false, onGroupRendered: null, collapsibleGroups: false, groupTemplate: "group", indicateLoading: true, activeStateEnabled: true, _itemAttributes: { role: "option" }, useInkRipple: false, wrapItemText: false, _swipeEnabled: true, showChevronExpr: function(data) { return data ? data.showChevron : void 0 }, badgeExpr: function(data) { return data ? data.badge : void 0 } }) }, _defaultOptionsRules: function() { var themeName = (0, _themes.current)(); return this.callBase().concat((0, _uiScrollable.deviceDependentOptions)(), [{ device: function() { return !_support.nativeScrolling }, options: { useNativeScrolling: false } }, { device: function(_device) { return !_support.nativeScrolling && !_devices.default.isSimulator() && "desktop" === _devices.default.real().deviceType && "generic" === _device.platform }, options: { showScrollbar: "onHover", pageLoadMode: "nextButton" } }, { device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }, { device: function() { return (0, _themes.isMaterial)(themeName) }, options: { pullingDownText: "", pulledDownText: "", refreshingText: "", pageLoadingText: "", useInkRipple: true } }]) }, _visibilityChanged: function(visible) { if (visible) { this._updateLoadingState(true) } }, _itemClass: function() { return "dx-list-item" }, _itemDataKey: function() { return "dxListItemData" }, _itemContainer: function() { return this._$container }, _saveSelectionChangeEvent: function(e) { this._selectionChangeEventInstance = e }, _getSelectionChangeEvent: function() { return this._selectionChangeEventInstance }, _refreshItemElements: function() { if (!this.option("grouped")) { this._itemElementsCache = this._itemContainer().children(this._itemSelector()) } else { this._itemElementsCache = this._itemContainer().children(".dx-list-group").children(".dx-list-group-body").children(this._itemSelector()) } }, _modifyByChanges: function() { this.callBase.apply(this, arguments); this._refreshItemElements(); this._updateLoadingState(true) }, reorderItem: function(itemElement, toItemElement) { var promise = this.callBase(itemElement, toItemElement); return promise.done((function() { this._refreshItemElements() })) }, deleteItem: function(itemElement) { var promise = this.callBase(itemElement); return promise.done((function() { this._refreshItemElements() })) }, _itemElements: function() { return this._itemElementsCache }, _itemSelectHandler: function(e) { if ("single" === this.option("selectionMode") && this.isItemSelected(e.currentTarget)) { return } return this.callBase(e) }, _allowDynamicItemsAppend: function() { return true }, _init: function() { this.callBase(); this._dataController.resetDataSourcePageIndex(); this._$container = this.$element(); this._initScrollView(); this._feedbackShowTimeout = 70; this._createGroupRenderAction() }, _scrollBottomMode: function() { return "scrollBottom" === this.option("pageLoadMode") }, _nextButtonMode: function() { return "nextButton" === this.option("pageLoadMode") }, _dataSourceOptions: function() { var scrollBottom = this._scrollBottomMode(); var nextButton = this._nextButtonMode(); return (0, _extend.extend)(this.callBase(), { paginate: (0, _common.ensureDefined)(scrollBottom || nextButton, true) }) }, _getGroupedOption: function() { return this.option("grouped") }, _getGroupContainerByIndex: function(groupIndex) { return this._itemContainer().find(".".concat("dx-list-group")).eq(groupIndex).find(".".concat("dx-list-group-body")) }, _dataSourceFromUrlLoadMode: function() { return "raw" }, _initScrollView: function() { var scrollingEnabled = this.option("scrollingEnabled"); var pullRefreshEnabled = scrollingEnabled && this.option("pullRefreshEnabled"); var autoPagingEnabled = scrollingEnabled && this._scrollBottomMode() && !!this._dataController.getDataSource(); this._scrollView = this._createComponent(this.$element(), _scrollView || _scroll_view.default, { height: this.option("height"), width: this.option("width"), disabled: this.option("disabled") || !scrollingEnabled, onScroll: this._scrollHandler.bind(this), onPullDown: pullRefreshEnabled ? this._pullDownHandler.bind(this) : null, onReachBottom: autoPagingEnabled ? this._scrollBottomHandler.bind(this) : null, showScrollbar: this.option("showScrollbar"), useNative: this.option("useNativeScrolling"), bounceEnabled: this.option("bounceEnabled"), scrollByContent: this.option("scrollByContent"), scrollByThumb: this.option("scrollByThumb"), pullingDownText: this.option("pullingDownText"), pulledDownText: this.option("pulledDownText"), refreshingText: this.option("refreshingText"), reachBottomText: this.option("pageLoadingText"), useKeyboard: false }); this._$container = (0, _renderer.default)(this._scrollView.content()); if (this.option("wrapItemText")) { this._$container.addClass("dx-wrap-item-text") } this._createScrollViewActions() }, _createScrollViewActions: function() { this._scrollAction = this._createActionByOption("onScroll"); this._pullRefreshAction = this._createActionByOption("onPullRefresh"); this._pageLoadingAction = this._createActionByOption("onPageLoading") }, _scrollHandler: function(e) { this._scrollAction && this._scrollAction(e) }, _initTemplates: function() { this._templateManager.addDefaultTemplates({ group: new _bindable_template.BindableTemplate((function($container, data) { if ((0, _type.isPlainObject)(data)) { if (data.key) { $container.text(data.key) } } else { $container.text(String(data)) } }), ["key"], this.option("integrationOptions.watchMethod")) }); this.callBase() }, _prepareDefaultItemTemplate: function(data, $container) { this.callBase(data, $container); if (data.icon) { var $icon = (0, _icon.getImageContainer)(data.icon).addClass("dx-list-item-icon"); var $iconContainer = (0, _renderer.default)("<div>").addClass("dx-list-item-icon-container"); $iconContainer.append($icon); $container.prepend($iconContainer) } }, _getBindableFields: function() { return ["text", "html", "icon"] }, _updateLoadingState: function(tryLoadMore) { var dataController = this._dataController; var shouldLoadNextPage = this._scrollBottomMode() && tryLoadMore && !dataController.isLoading() && !this._isLastPage(); if (this._shouldContinueLoading(shouldLoadNextPage)) { this._infiniteDataLoading() } else { this._scrollView.release(!shouldLoadNextPage && !dataController.isLoading()); this._toggleNextButton(this._shouldRenderNextButton() && !this._isLastPage()); this._loadIndicationSuppressed(false) } }, _shouldRenderNextButton: function() { return this._nextButtonMode() && this._dataController.isLoaded() }, _isDataSourceFirstLoadCompleted: function(newValue) { if ((0, _type.isDefined)(newValue)) { this._isFirstLoadCompleted = newValue } return this._isFirstLoadCompleted }, _dataSourceLoadingChangedHandler: function(isLoading) { if (this._loadIndicationSuppressed()) { return } if (isLoading && this.option("indicateLoading")) { this._showLoadingIndicatorTimer = setTimeout(function() { var isEmpty = !this._itemElements().length; var shouldIndicateLoading = !isEmpty || this._isDataSourceFirstLoadCompleted(); if (shouldIndicateLoading) { var _this$_scrollView; null === (_this$_scrollView = this._scrollView) || void 0 === _this$_scrollView ? void 0 : _this$_scrollView.startLoading() } }.bind(this)) } else { clearTimeout(this._showLoadingIndicatorTimer); this._scrollView && this._scrollView.finishLoading() } if (!isLoading) { this._isDataSourceFirstLoadCompleted(false) } }, _dataSourceChangedHandler: function() { if (!this._shouldAppendItems() && (0, _window.hasWindow)()) { this._scrollView && this._scrollView.scrollTo(0) } this.callBase.apply(this, arguments); this._isDataSourceFirstLoadCompleted(true) }, _refreshContent: function() { this._prepareContent(); this._fireContentReadyAction() }, _hideLoadingIfLoadIndicationOff: function() { if (!this.option("indicateLoading")) { this._dataSourceLoadingChangedHandler(false) } }, _loadIndicationSuppressed: function(value) { if (!arguments.length) { return this._isLoadIndicationSuppressed } this._isLoadIndicationSuppressed = value }, _scrollViewIsFull: function() { var scrollView = this._scrollView; return !scrollView || (0, _size.getHeight)(scrollView.content()) > (0, _size.getHeight)(scrollView.container()) }, _pullDownHandler: function(e) { this._pullRefreshAction(e); var dataController = this._dataController; if (dataController.getDataSource() && !dataController.isLoading()) { this._clearSelectedItems(); dataController.pageIndex(0); dataController.reload() } else { this._updateLoadingState() } }, _shouldContinueLoading: function(shouldLoadNextPage) { var _this$_scrollView$scr, _this$_scrollView$scr2; var isBottomReached = (0, _size.getHeight)(this._scrollView.content()) - (0, _size.getHeight)(this._scrollView.container()) < (null !== (_this$_scrollView$scr = null === (_this$_scrollView$scr2 = this._scrollView.scrollOffset()) || void 0 === _this$_scrollView$scr2 ? void 0 : _this$_scrollView$scr2.top) && void 0 !== _this$_scrollView$scr ? _this$_scrollView$scr : 0); return shouldLoadNextPage && (!this._scrollViewIsFull() || isBottomReached) }, _infiniteDataLoading: function() { var _this = this; var isElementVisible = this.$element().is(":visible"); if (isElementVisible) { clearTimeout(this._loadNextPageTimer); this._loadNextPageTimer = setTimeout((function() { _this._loadNextPage() })) } }, _scrollBottomHandler: function(e) { this._pageLoadingAction(e); var dataController = this._dataController; if (!dataController.isLoading() && !this._isLastPage()) { this._loadNextPage() } else { this._updateLoadingState() } }, _renderItems: function(items) { if (this.option("grouped")) { (0, _iterator.each)(items, this._renderGroup.bind(this)); this._attachGroupCollapseEvent(); this._renderEmptyMessage(); if ((0, _themes.isMaterial)()) { this.attachGroupHeaderInkRippleEvents() } } else { this.callBase.apply(this, arguments) } this._refreshItemElements(); this._updateLoadingState(true) }, _attachGroupCollapseEvent: function() { var eventName = (0, _index.addNamespace)(_click.name, this.NAME); var $element = this.$element(); var collapsibleGroups = this.option("collapsibleGroups"); $element.toggleClass("dx-list-collapsible-groups", collapsibleGroups); _events_engine.default.off($element, eventName, ".dx-list-group-header"); if (collapsibleGroups) { _events_engine.default.on($element, eventName, ".dx-list-group-header", function(e) { this._createAction(function(e) { var $group = (0, _renderer.default)(e.event.currentTarget).parent(); this._collapseGroupHandler($group); if (this.option("focusStateEnabled")) { this.option("focusedElement", (0, _element.getPublicElement)($group.find(".dx-list-item").eq(0))) } }.bind(this), { validatingTargetName: "element" })({ event: e }) }.bind(this)) } }, _collapseGroupHandler: function($group, toggle) { var deferred = new _deferred.Deferred; if ($group.hasClass("dx-list-group-collapsed") === toggle) { return deferred.resolve() } var $groupBody = $group.children(".dx-list-group-body"); var startHeight = (0, _size.getOuterHeight)($groupBody); var endHeight = 0; if (0 === startHeight) { (0, _size.setHeight)($groupBody, "auto"); endHeight = (0, _size.getOuterHeight)($groupBody) } $group.toggleClass("dx-list-group-collapsed", toggle); _fx.default.animate($groupBody, { type: "custom", from: { height: startHeight }, to: { height: endHeight }, duration: 200, complete: function() { this.updateDimensions(); this._updateLoadingState(true); deferred.resolve() }.bind(this) }); return deferred.promise() }, _dataSourceLoadErrorHandler: function() { this._forgetNextPageLoading(); if (this._initialized) { this._renderEmptyMessage(); this._updateLoadingState() } }, _initMarkup: function() { this._itemElementsCache = (0, _renderer.default)(); this.$element().addClass("dx-list"); this.callBase(); this.option("useInkRipple") && this._renderInkRipple(); this.setAria({ role: "group", roledescription: "list" }, this.$element()); this._setListAria() }, _setListAria: function() { var _this$option = this.option(), items = _this$option.items; var listArea = null !== items && void 0 !== items && items.length ? { role: "listbox", label: "Items" } : { role: void 0, label: void 0 }; this.setAria(listArea) }, _focusTarget: function() { return this._itemContainer() }, _renderInkRipple: function() { this._inkRipple = (0, _utils.render)() }, _toggleActiveState: function($element, value, e) { this.callBase.apply(this, arguments); var that = this; if (!this._inkRipple) { return } var config = { element: $element, event: e }; if (value) { if ((0, _themes.isMaterial)()) { this._inkRippleTimer = setTimeout((function() { that._inkRipple.showWave(config) }), 35) } else { that._inkRipple.showWave(config) } } else { clearTimeout(this._inkRippleTimer); this._inkRipple.hideWave(config) } }, _postprocessRenderItem: function(args) { this._refreshItemElements(); this.callBase.apply(this, arguments); if (this.option("_swipeEnabled")) { this._attachSwipeEvent((0, _renderer.default)(args.itemElement)) } }, _attachSwipeEvent: function($itemElement) { var endEventName = (0, _index.addNamespace)(_swipe.end, this.NAME); _events_engine.default.on($itemElement, endEventName, this._itemSwipeEndHandler.bind(this)) }, _itemSwipeEndHandler: function(e) { this._itemDXEventHandler(e, "onItemSwipe", { direction: e.offset < 0 ? "left" : "right" }) }, _nextButtonHandler: function(e) { this._pageLoadingAction(e); var dataController = this._dataController; if (dataController.getDataSource() && !dataController.isLoading()) { this._scrollView.toggleLoading(true); this._$nextButton.detach(); this._loadIndicationSuppressed(true); this._loadNextPage() } }, _renderGroup: function(index, group) { var $groupElement = (0, _renderer.default)("<div>").addClass("dx-list-group").appendTo(this._itemContainer()); var id = "dx-".concat((new _guid.default).toString()); var groupAria = { role: "group", labelledby: id }; this.setAria(groupAria, $groupElement); var $groupHeaderElement = (0, _renderer.default)("<div>").addClass("dx-list-group-header").attr("id", id).appendTo($groupElement); var groupTemplateName = this.option("groupTemplate"); var groupTemplate = this._getTemplate(group.template || groupTemplateName, group, index, $groupHeaderElement); var renderArgs = { index: index, itemData: group, container: (0, _element.getPublicElement)($groupHeaderElement) }; this._createItemByTemplate(groupTemplate, renderArgs); if ((0, _themes.isMaterial)()) { (0, _renderer.default)("<div>").addClass("dx-list-group-header-indicator").prependTo($groupHeaderElement) } this._renderingGroupIndex = index; var $groupBody = (0, _renderer.default)("<div>").addClass("dx-list-group-body").appendTo($groupElement); (0, _iterator.each)(groupItemsGetter(group) || [], function(itemIndex, item) { this._renderItem({ group: index, item: itemIndex }, item, $groupBody) }.bind(this)); this._groupRenderAction({ groupElement: (0, _element.getPublicElement)($groupElement), groupIndex: index, groupData: group }) }, downInkRippleHandler: function(e) { this._toggleActiveState((0, _renderer.default)(e.currentTarget), true, e) }, upInkRippleHandler: function(e) { this._toggleActiveState((0, _renderer.default)(e.currentTarget), false) }, attachGroupHeaderInkRippleEvents: function() { var $element = this.$element(); this._downInkRippleHandler = this._downInkRippleHandler || this.downInkRippleHandler.bind(this); this._upInkRippleHandler = this._upInkRippleHandler || this.upInkRippleHandler.bind(this); var downArguments = [$element, "dxpointerdown", ".dx-list-group-header", this._downInkRippleHandler]; var upArguments = [$element, "dxpointerup dxpointerout", ".dx-list-group-header", this._upInkRippleHandler]; _events_engine.default.off.apply(_events_engine.default, downArguments); _events_engine.default.on.apply(_events_engine.default, downArguments); _events_engine.default.off.apply(_events_engine.default, upArguments); _events_engine.default.on.apply(_events_engine.default, upArguments) }, _createGroupRenderAction: function() { this._groupRenderAction = this._createActionByOption("onGroupRendered") }, _clean: function() { clearTimeout(this._inkRippleTimer); if (this._$nextButton) { this._$nextButton.remove(); this._$nextButton = null } this.callBase.apply(this, arguments) }, _dispose: function() { this._isDataSourceFirstLoadCompleted(false); clearTimeout(this._holdTimer); clearTimeout(this._loadNextPageTimer); clearTimeout(this._showLoadingIndicatorTimer); this.callBase() }, _toggleDisabledState: function(value) { this.callBase(value); this._scrollView.option("disabled", value || !this.option("scrollingEnabled")) }, _toggleNextButton: function(value) { var dataController = this._dataController; var $nextButton = this._getNextButton(); this.$element().toggleClass("dx-has-next", value); if (value && dataController.isLoaded()) { $nextButton.appendTo(this._itemContainer()) } if (!value) { $nextButton.detach() } }, _getNextButton: function() { if (!this._$nextButton) { this._$nextButton = this._createNextButton() } return this._$nextButton }, _createNextButton: function() { var $result = (0, _renderer.default)("<div>").addClass("dx-list-next-button"); var $button = (0, _renderer.default)("<div>").appendTo($result); this._createComponent($button, _button.default, { text: this.option("nextButtonText"), onClick: this._nextButtonHandler.bind(this), type: (0, _themes.isMaterial)() ? "default" : void 0, integrationOptions: {} }); return $result }, _moveFocus: function() { this.callBase.apply(this, arguments); this.scrollToItem(this.option("focusedElement")) }, _refresh: function() { if (!(0, _window.hasWindow)()) { this.callBase() } else { var scrollTop = this._scrollView.scrollTop(); this.callBase(); scrollTop && this._scrollView.scrollTo(scrollTop) } }, _optionChanged: function(args) { switch (args.name) { case "pageLoadMode": this._toggleNextButton(args.value); this._initScrollView(); break; case "dataSource": this.callBase(args); this._initScrollView(); this._isDataSourceFirstLoadCompleted(false); break; case "items": this.callBase(args); this._isDataSourceFirstLoadCompleted(false); break; case "pullingDownText": case "pulledDownText": case "refreshingText": case "pageLoadingText": case "showScrollbar": case "bounceEnabled": case "scrollByContent": case "scrollByThumb": case "useNativeScrolling": case "scrollingEnabled": case "pullRefreshEnabled": this._initScrollView(); this._updateLoadingState(true); break; case "nextButtonText": case "onItemSwipe": case "useInkRipple": this._invalidate(); break; case "onScroll": case "onPullRefresh": case "onPageLoading": this._createScrollViewActions(); break; case "grouped": case "collapsibleGroups": case "groupTemplate": this._invalidate(); break; case "wrapItemText": this._$container.toggleClass("dx-wrap-item-text", args.value); break; case "onGroupRendered": this._createGroupRenderAction(); break; case "width": case "height": this.callBase(args); this._scrollView.option(args.name, args.value); this._scrollView.update(); break; case "indicateLoading": this._hideLoadingIfLoadIndicationOff(); break; case "visible": this.callBase(args); this._scrollView.update(); break; case "rtlEnabled": this._initScrollView(); this.callBase(args); break; case "showChevronExpr": case "badgeExpr": this._invalidate(); break; case "_swipeEnabled": case "selectByClick": break; default: this.callBase(args) } }, _extendActionArgs: function($itemElement) { if (!this.option("grouped")) { return this.callBase($itemElement) } var $group = $itemElement.closest(".dx-list-group"); var $item = $group.find(".dx-list-item"); return (0, _extend.extend)(this.callBase($itemElement), { itemIndex: { group: $group.index(), item: $item.index($itemElement) } }) }, expandGroup: function(groupIndex) { var deferred = new _deferred.Deferred; var $group = this._itemContainer().find(".dx-list-group").eq(groupIndex); this._collapseGroupHandler($group, false).done(function() { deferred.resolveWith(this) }.bind(this)); return deferred.promise() }, collapseGroup: function(groupIndex) { var deferred = new _deferred.Deferred; var $group = this._itemContainer().find(".dx-list-group").eq(groupIndex); this._collapseGroupHandler($group, true).done(function() { deferred.resolveWith(this) }.bind(this)); return deferred }, updateDimensions: function() { var that = this; var deferred = new _deferred.Deferred; if (that._scrollView) { that._scrollView.update().done((function() { !that._scrollViewIsFull() && that._updateLoadingState(true); deferred.resolveWith(that) })) } else { deferred.resolveWith(that) } return deferred.promise() }, reload: function() { this.callBase(); this.scrollTo(0); this._pullDownHandler() }, repaint: function() { this.scrollTo(0); this.callBase() }, scrollTop: function() { return this._scrollView.scrollOffset().top }, clientHeight: function() { return this._scrollView.clientHeight() }, scrollHeight: function() { return this._scrollView.scrollHeight() }, scrollBy: function(distance) { this._scrollView.scrollBy(distance) }, scrollTo: function(location) { this._scrollView.scrollTo(location) }, scrollToItem: function(itemElement) { var $item = this._editStrategy.getItemElement(itemElement); var item = null === $item || void 0 === $item ? void 0 : $item.get(0); this._scrollView.scrollToElement(item, { bottom: (0, _get_element_style.getElementMargin)(item, "bottom") }) }, _dimensionChanged: function() { this.updateDimensions() } }).include(_grouped_data_converter_mixin.default); exports.ListBase = ListBase; ListBase.ItemClass = _item.default }, 27445: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.edit.decorator.context.js ***! \***************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _uiListEdit = _interopRequireDefault(__webpack_require__( /*! ./ui.list.edit.decorator_menu_helper */ 86976)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _uiListEdit2 = __webpack_require__( /*! ./ui.list.edit.decorator_registry */ 40245); var _uiListEdit3 = _interopRequireDefault(__webpack_require__( /*! ./ui.list.edit.decorator */ 61225)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../overlay/ui.overlay */ 89799)); var _uiList = __webpack_require__( /*! ./ui.list.base */ 31583); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } }(0, _uiListEdit2.register)("menu", "context", _uiListEdit3.default.inherit({ _init: function() { var $menu = (0, _renderer.default)("<div>").addClass("dx-list-context-menu"); this._list.$element().append($menu); this._menu = this._renderOverlay($menu) }, _renderOverlay: function($element) { return this._list._createComponent($element, _ui.default, { shading: false, deferRendering: true, hideOnParentScroll: true, hideOnOutsideClick: function(e) { return !(0, _renderer.default)(e.target).closest(".dx-list-context-menu").length }, animation: { show: { type: "slide", duration: 300, from: { height: 0, opacity: 1 }, to: { height: function() { return (0, _size.getOuterHeight)(this._$menuList) }.bind(this), opacity: 1 } }, hide: { type: "slide", duration: 0, from: { opacity: 1 }, to: { opacity: 0 } } }, _ignoreFunctionValueDeprecation: true, height: function() { return this._$menuList ? (0, _size.getOuterHeight)(this._$menuList) : 0 }.bind(this), width: function() { return (0, _size.getOuterWidth)(this._list.$element()) }.bind(this), onContentReady: this._renderMenuContent.bind(this) }) }, _renderMenuContent: function(e) { var $overlayContent = e.component.$content(); var items = this._menuItems().slice(); if (this._deleteEnabled()) { items.push({ text: _message.default.format("dxListEditDecorator-delete"), action: this._deleteItem.bind(this) }) } this._$menuList = (0, _renderer.default)("<div>"); this._list._createComponent(this._$menuList, _uiList.ListBase, { items: items, onItemClick: this._menuItemClickHandler.bind(this), height: "auto", integrationOptions: {} }); $overlayContent.addClass("dx-list-context-menucontent"); $overlayContent.append(this._$menuList) }, _menuItemClickHandler: function(args) { this._menu.hide(); this._fireMenuAction(this._$itemWithMenu, args.itemData.action) }, _deleteItem: function() { this._list.deleteItem(this._$itemWithMenu) }, handleContextMenu: function($itemElement) { this._$itemWithMenu = $itemElement; this._menu.option({ position: { my: "top", at: "bottom", of: $itemElement, collision: "flip" } }); this._menu.show(); return true }, dispose: function() { if (this._menu) { this._menu.$element().remove() } this.callBase.apply(this, arguments) } }).include(_uiListEdit.default)) }, 61225: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.edit.decorator.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _swipe = __webpack_require__( /*! ../../events/swipe */ 34309); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var SWIPE_START_EVENT_NAME = (0, _index.addNamespace)(_swipe.start, "dxListEditDecorator"); var SWIPE_UPDATE_EVENT_NAME = (0, _index.addNamespace)(_swipe.swipe, "dxListEditDecorator"); var SWIPE_END_EVENT_NAME = (0, _index.addNamespace)(_swipe.end, "dxListEditDecorator"); var EditDecorator = _class.default.inherit({ ctor: function(list) { this._list = list; this._init() }, _init: _common.noop, _shouldHandleSwipe: false, _attachSwipeEvent: function(config) { var swipeConfig = { itemSizeFunc: function() { if (this._clearSwipeCache) { this._itemWidthCache = (0, _size.getWidth)(this._list.$element()); this._clearSwipeCache = false } return this._itemWidthCache }.bind(this) }; _events_engine.default.on(config.$itemElement, SWIPE_START_EVENT_NAME, swipeConfig, this._itemSwipeStartHandler.bind(this)); _events_engine.default.on(config.$itemElement, SWIPE_UPDATE_EVENT_NAME, this._itemSwipeUpdateHandler.bind(this)); _events_engine.default.on(config.$itemElement, SWIPE_END_EVENT_NAME, this._itemSwipeEndHandler.bind(this)) }, _itemSwipeStartHandler: function(e) { var $itemElement = (0, _renderer.default)(e.currentTarget); if ($itemElement.is(".dx-state-disabled, .dx-state-disabled *")) { e.cancel = true; return } clearTimeout(this._list._inkRippleTimer); this._swipeStartHandler($itemElement, e) }, _itemSwipeUpdateHandler: function(e) { var $itemElement = (0, _renderer.default)(e.currentTarget); this._swipeUpdateHandler($itemElement, e) }, _itemSwipeEndHandler: function(e) { var $itemElement = (0, _renderer.default)(e.currentTarget); this._swipeEndHandler($itemElement, e); this._clearSwipeCache = true }, beforeBag: _common.noop, afterBag: _common.noop, _commonOptions: function() { return { activeStateEnabled: this._list.option("activeStateEnabled"), hoverStateEnabled: this._list.option("hoverStateEnabled"), focusStateEnabled: this._list.option("focusStateEnabled") } }, modifyElement: function(config) { if (this._shouldHandleSwipe) { this._attachSwipeEvent(config); this._clearSwipeCache = true } }, afterRender: _common.noop, handleClick: _common.noop, handleKeyboardEvents: _common.noop, handleEnterPressing: _common.noop, handleContextMenu: _common.noop, _swipeStartHandler: _common.noop, _swipeUpdateHandler: _common.noop, _swipeEndHandler: _common.noop, visibilityChange: _common.noop, getExcludedSelectors: _common.noop, dispose: _common.noop }); var _default = EditDecorator; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 65436: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.edit.decorator.reorder.js ***! \***************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _uiListEdit = __webpack_require__( /*! ./ui.list.edit.decorator_registry */ 40245); var _uiListEdit2 = _interopRequireDefault(__webpack_require__( /*! ./ui.list.edit.decorator */ 61225)); var _sortable = _interopRequireDefault(__webpack_require__( /*! ../sortable */ 66843)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } }(0, _uiListEdit.register)("reorder", "default", _uiListEdit2.default.inherit({ _init: function() { var list = this._list; this._groupedEnabled = this._list.option("grouped"); this._lockedDrag = false; var filter = this._groupedEnabled ? "> .dx-list-group > .dx-list-group-body > .dx-list-item" : "> .dx-list-item"; this._sortable = list._createComponent(list._scrollView.content(), _sortable.default, (0, _extend.extend)({ component: list, contentTemplate: null, allowReordering: false, filter: filter, container: list.$element(), dragDirection: list.option("itemDragging.group") ? "both" : "vertical", handle: ".".concat("dx-list-reorder-handle"), dragTemplate: this._dragTemplate, onDragStart: this._dragStartHandler.bind(this), onDragChange: this._dragChangeHandler.bind(this), onReorder: this._reorderHandler.bind(this) }, list.option("itemDragging"))) }, afterRender: function() { this._sortable.update() }, _dragTemplate: function(e) { var result = (0, _renderer.default)(e.itemElement).clone().addClass("dx-list-item-ghost-reordering").addClass("dx-state-hover"); (0, _size.setWidth)(result, (0, _size.getWidth)(e.itemElement)); return result }, _dragStartHandler: function(e) { if (this._lockedDrag) { e.cancel = true; return } }, _dragChangeHandler: function(e) { if (this._groupedEnabled && !this._sameParent(e.fromIndex, e.toIndex)) { e.cancel = true; return } }, _sameParent: function(fromIndex, toIndex) { var $dragging = this._list.getItemElementByFlatIndex(fromIndex); var $over = this._list.getItemElementByFlatIndex(toIndex); return $over.parent().get(0) === $dragging.parent().get(0) }, _reorderHandler: function(e) { var $targetElement = this._list.getItemElementByFlatIndex(e.toIndex); this._list.reorderItem((0, _renderer.default)(e.itemElement), $targetElement) }, afterBag: function(config) { var _this = this; var $handle = (0, _renderer.default)("<div>").addClass("dx-list-reorder-handle"); _events_engine.default.on($handle, "dxpointerdown", (function(e) { _this._lockedDrag = !(0, _index.isMouseEvent)(e) })); _events_engine.default.on($handle, "dxhold", { timeout: 30 }, (function(e) { e.cancel = true; _this._lockedDrag = false })); config.$container.addClass("dx-list-reorder-handle-container").append($handle) } })) }, 81362: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.edit.decorator.selection.js ***! \*****************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _click = __webpack_require__( /*! ../../events/click */ 95429); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _check_box = _interopRequireDefault(__webpack_require__( /*! ../check_box */ 18859)); var _radio_button = _interopRequireDefault(__webpack_require__( /*! ../radio_group/radio_button */ 6282)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _uiListEdit = __webpack_require__( /*! ./ui.list.edit.decorator_registry */ 40245); var _uiListEdit2 = _interopRequireDefault(__webpack_require__( /*! ./ui.list.edit.decorator */ 61225)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var CLICK_EVENT_NAME = (0, _index.addNamespace)(_click.name, "dxListEditDecorator"); (0, _uiListEdit.register)("selection", "default", _uiListEdit2.default.inherit({ _init: function() { this.callBase.apply(this, arguments); var selectionMode = this._list.option("selectionMode"); this._singleStrategy = "single" === selectionMode; this._containerClass = this._singleStrategy ? "dx-list-select-radiobutton-container" : "dx-list-select-checkbox-container"; this._controlClass = this._singleStrategy ? "dx-list-select-radiobutton" : "dx-list-select-checkbox"; this._controlWidget = this._singleStrategy ? _radio_button.default : _check_box.default; this._list.$element().addClass("dx-list-select-decorator-enabled") }, beforeBag: function(config) { var $itemElement = config.$itemElement; var $container = config.$container.addClass(this._containerClass); var $control = (0, _renderer.default)("<div>").addClass(this._controlClass).appendTo($container); new this._controlWidget($control, (0, _extend.extend)(this._commonOptions(), { value: this._isSelected($itemElement), elementAttr: { "aria-label": "Check State" }, focusStateEnabled: false, hoverStateEnabled: false, onValueChanged: function(e) { e.event && this._list._saveSelectionChangeEvent(e.event); this._processCheckedState($itemElement, e.value); e.event && e.event.stopPropagation() }.bind(this) })) }, modifyElement: function(config) { this.callBase.apply(this, arguments); var $itemElement = config.$itemElement; var control = this._controlWidget.getInstance($itemElement.find("." + this._controlClass)); _events_engine.default.on($itemElement, "stateChanged", function(e, state) { control.option("value", state) }.bind(this)) }, _updateSelectAllState: function() { if (!this._$selectAll) { return } this._selectAllCheckBox.option("value", this._list.isSelectAll()) }, afterRender: function() { if ("all" !== this._list.option("selectionMode")) { return } if (!this._$selectAll) { this._renderSelectAll() } else { this._updateSelectAllState() } }, handleKeyboardEvents: function(currentFocusedIndex, moveFocusUp) { var moveFocusDown = !moveFocusUp; var list = this._list; var $selectAll = this._$selectAll; var lastItemIndex = list._getLastItemIndex(); var isFocusOutOfList = moveFocusUp && 0 === currentFocusedIndex || moveFocusDown && currentFocusedIndex === lastItemIndex; var hasSelectAllItem = !!$selectAll; if (hasSelectAllItem && isFocusOutOfList) { list.option("focusedElement", $selectAll); list.scrollToItem(list.option("focusedElement")); return true } return false }, handleEnterPressing: function(e) { if (this._$selectAll && this._$selectAll.hasClass("dx-state-focused")) { e.target = this._$selectAll.get(0); this._list._saveSelectionChangeEvent(e); this._selectAllCheckBox.option("value", !this._selectAllCheckBox.option("value")); return true } }, _renderSelectAll: function() { var $selectAll = this._$selectAll = (0, _renderer.default)("<div>").addClass("dx-list-select-all"); var list = this._list; var downArrowHandler = list._supportedKeys().downArrow.bind(list); this._selectAllCheckBox = list._createComponent((0, _renderer.default)("<div>").addClass("dx-list-select-all-checkbox").appendTo($selectAll), _check_box.default, { elementAttr: { "aria-label": "Select All" }, focusStateEnabled: false, hoverStateEnabled: false }); this._selectAllCheckBox.registerKeyHandler("downArrow", downArrowHandler); (0, _renderer.default)("<div>").addClass("dx-list-select-all-label").text(this._list.option("selectAllText")).appendTo($selectAll); this._list.itemsContainer().prepend($selectAll); this._updateSelectAllState(); this._attachSelectAllHandler() }, _attachSelectAllHandler: function() { this._selectAllCheckBox.option("onValueChanged", this._selectAllHandler.bind(this)); _events_engine.default.off(this._$selectAll, CLICK_EVENT_NAME); _events_engine.default.on(this._$selectAll, CLICK_EVENT_NAME, this._selectAllClickHandler.bind(this)) }, _selectAllHandler: function(e) { e.event && e.event.stopPropagation(); var isSelectedAll = this._selectAllCheckBox.option("value"); e.event && this._list._saveSelectionChangeEvent(e.event); if (true === isSelectedAll) { this._selectAllItems() } else if (false === isSelectedAll) { this._unselectAllItems() } this._list._createActionByOption("onSelectAllValueChanged")({ value: isSelectedAll }) }, _checkSelectAllCapability: function() { var list = this._list; var dataController = list._dataController; if ("allPages" === list.option("selectAllMode") && list.option("grouped") && !dataController.group()) { _ui.default.log("W1010"); return false } return true }, _selectAllItems: function() { if (!this._checkSelectAllCapability()) { return } this._list._selection.selectAll("page" === this._list.option("selectAllMode")) }, _unselectAllItems: function() { if (!this._checkSelectAllCapability()) { return } this._list._selection.deselectAll("page" === this._list.option("selectAllMode")) }, _selectAllClickHandler: function(e) { this._list._saveSelectionChangeEvent(e); this._selectAllCheckBox.option("value", !this._selectAllCheckBox.option("value")) }, _isSelected: function($itemElement) { return this._list.isItemSelected($itemElement) }, _processCheckedState: function($itemElement, checked) { if (checked) { this._list.selectItem($itemElement) } else { this._list.unselectItem($itemElement) } }, dispose: function() { this._disposeSelectAll(); this._list.$element().removeClass("dx-list-select-decorator-enabled"); this.callBase.apply(this, arguments) }, _disposeSelectAll: function() { if (this._$selectAll) { this._$selectAll.remove(); this._$selectAll = null } } })) }, 47970: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.edit.decorator.static.js ***! \**************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _button = _interopRequireDefault(__webpack_require__( /*! ../button */ 63008)); var _uiListEdit = __webpack_require__( /*! ./ui.list.edit.decorator_registry */ 40245); var _uiListEdit2 = _interopRequireDefault(__webpack_require__( /*! ./ui.list.edit.decorator */ 61225)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } }(0, _uiListEdit.register)("delete", "static", _uiListEdit2.default.inherit({ afterBag: function(config) { var $itemElement = config.$itemElement; var $container = config.$container; var $button = (0, _renderer.default)("<div>").addClass("dx-list-static-delete-button"); this._list._createComponent($button, _button.default, { icon: "remove", onClick: function(args) { args.event.stopPropagation(); this._deleteItem($itemElement) }.bind(this), integrationOptions: {} }); $container.addClass("dx-list-static-delete-button-container").append($button) }, _deleteItem: function($itemElement) { if ($itemElement.is(".dx-state-disabled, .dx-state-disabled *")) { return } this._list.deleteItem($itemElement) } })) }, 33329: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.edit.decorator.swipe.js ***! \*************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _fx = _interopRequireDefault(__webpack_require__( /*! ../../animation/fx */ 87209)); var _uiListEdit = __webpack_require__( /*! ./ui.list.edit.decorator_registry */ 40245); var _uiListEdit2 = _interopRequireDefault(__webpack_require__( /*! ./ui.list.edit.decorator */ 61225)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } }(0, _uiListEdit.register)("delete", "swipe", _uiListEdit2.default.inherit({ _shouldHandleSwipe: true, _renderItemPosition: function($itemElement, offset, animate) { var deferred = new _deferred.Deferred; var itemOffset = offset * this._itemElementWidth; if (animate) { _fx.default.animate($itemElement, { to: { left: itemOffset }, type: "slide", complete: function() { deferred.resolve($itemElement, offset) } }) } else { (0, _translator.move)($itemElement, { left: itemOffset }); deferred.resolve() } return deferred.promise() }, _swipeStartHandler: function($itemElement) { this._itemElementWidth = (0, _size.getWidth)($itemElement); return true }, _swipeUpdateHandler: function($itemElement, args) { this._renderItemPosition($itemElement, args.offset); return true }, _swipeEndHandler: function($itemElement, args) { var offset = args.targetOffset; this._renderItemPosition($itemElement, offset, true).done(function($itemElement, offset) { if (Math.abs(offset)) { this._list.deleteItem($itemElement).fail(function() { this._renderItemPosition($itemElement, 0, true) }.bind(this)) } }.bind(this)); return true } })) }, 96782: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.edit.decorator.switchable.button.js ***! \*************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _fx = _interopRequireDefault(__webpack_require__( /*! ../../animation/fx */ 87209)); var _button = _interopRequireDefault(__webpack_require__( /*! ../button */ 63008)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _uiListEdit = __webpack_require__( /*! ./ui.list.edit.decorator_registry */ 40245); var _uiListEditDecorator = _interopRequireDefault(__webpack_require__( /*! ./ui.list.edit.decorator.switchable */ 81139)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var SwitchableButtonEditDecorator = _uiListEditDecorator.default.inherit({ _init: function() { this.callBase.apply(this, arguments); var $buttonContainer = (0, _renderer.default)("<div>").addClass("dx-list-switchable-delete-button-container"); var $buttonWrapper = (0, _renderer.default)("<div>").addClass("dx-list-switchable-delete-button-wrapper"); var $buttonInnerWrapper = (0, _renderer.default)("<div>").addClass("dx-list-switchable-delete-button-inner-wrapper"); var $button = (0, _renderer.default)("<div>").addClass("dx-list-switchable-delete-button"); this._list._createComponent($button, _button.default, { text: _message.default.format("dxListEditDecorator-delete"), type: "danger", onClick: function(e) { this._deleteItem(); e.event.stopPropagation() }.bind(this), integrationOptions: {} }); $buttonContainer.append($buttonWrapper); $buttonWrapper.append($buttonInnerWrapper); $buttonInnerWrapper.append($button); this._$buttonContainer = $buttonContainer }, _enablePositioning: function($itemElement) { this.callBase.apply(this, arguments); _fx.default.stop(this._$buttonContainer, true); this._$buttonContainer.appendTo($itemElement) }, _disablePositioning: function() { this.callBase.apply(this, arguments); this._$buttonContainer.detach() }, _animatePrepareDeleteReady: function() { var rtl = this._isRtlEnabled(); var listWidth = (0, _size.getWidth)(this._list.$element()); var buttonWidth = this._buttonWidth(); var fromValue = rtl ? listWidth : -buttonWidth; var toValue = rtl ? listWidth - buttonWidth : 0; return _fx.default.animate(this._$buttonContainer, { type: "custom", duration: 200, from: { right: fromValue }, to: { right: toValue } }) }, _animateForgetDeleteReady: function() { var rtl = this._isRtlEnabled(); var listWidth = (0, _size.getWidth)(this._list.$element()); var buttonWidth = this._buttonWidth(); var fromValue = rtl ? listWidth - buttonWidth : 0; var toValue = rtl ? listWidth : -buttonWidth; return _fx.default.animate(this._$buttonContainer, { type: "custom", duration: 200, from: { right: fromValue }, to: { right: toValue } }) }, _buttonWidth: function() { if (!this._buttonContainerWidth) { this._buttonContainerWidth = (0, _size.getOuterWidth)(this._$buttonContainer) } return this._buttonContainerWidth }, dispose: function() { if (this._$buttonContainer) { this._$buttonContainer.remove() } this.callBase.apply(this, arguments) } }); (0, _uiListEdit.register)("delete", "toggle", SwitchableButtonEditDecorator.inherit({ beforeBag: function(config) { var $itemElement = config.$itemElement; var $container = config.$container; var $toggle = (0, _renderer.default)("<div>").addClass("dx-list-toggle-delete-switch"); this._list._createComponent($toggle, _button.default, { icon: "toggle-delete", onClick: function(e) { _fx.default.stop(this._$buttonContainer, false); this._toggleDeleteReady($itemElement); e.event.stopPropagation() }.bind(this), integrationOptions: {} }); $container.addClass("dx-list-toggle-delete-switch-container"); $container.append($toggle) } })); (0, _uiListEdit.register)("delete", "slideButton", SwitchableButtonEditDecorator.inherit({ _shouldHandleSwipe: true, _swipeEndHandler: function($itemElement, args) { if (0 !== args.targetOffset) { _fx.default.stop(this._$buttonContainer, false); this._toggleDeleteReady($itemElement) } return true } })); var _default = SwitchableButtonEditDecorator; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 81139: /*!******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.edit.decorator.switchable.js ***! \******************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _uiListEdit = _interopRequireDefault(__webpack_require__( /*! ./ui.list.edit.decorator */ 61225)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _emitter = __webpack_require__( /*! ../../events/core/emitter.feedback */ 91633); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var abstract = _uiListEdit.default.abstract; var POINTER_DOWN_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.down, "dxListEditDecorator"); var ACTIVE_EVENT_NAME = (0, _index.addNamespace)(_emitter.active, "dxListEditDecorator"); var SwitchableEditDecorator = _uiListEdit.default.inherit({ _init: function() { this._$topShield = (0, _renderer.default)("<div>").addClass("dx-list-switchable-delete-top-shield"); this._$bottomShield = (0, _renderer.default)("<div>").addClass("dx-list-switchable-delete-bottom-shield"); this._$itemContentShield = (0, _renderer.default)("<div>").addClass("dx-list-switchable-delete-item-content-shield"); _events_engine.default.on(this._$topShield, POINTER_DOWN_EVENT_NAME, this._cancelDeleteReadyItem.bind(this)); _events_engine.default.on(this._$bottomShield, POINTER_DOWN_EVENT_NAME, this._cancelDeleteReadyItem.bind(this)); this._list.$element().append(this._$topShield.toggle(false)).append(this._$bottomShield.toggle(false)) }, handleClick: function() { return this._cancelDeleteReadyItem() }, _cancelDeleteReadyItem: function() { if (!this._$readyToDeleteItem) { return false } this._cancelDelete(this._$readyToDeleteItem); return true }, _cancelDelete: function($itemElement) { this._toggleDeleteReady($itemElement, false) }, _toggleDeleteReady: function($itemElement, readyToDelete) { if (void 0 === readyToDelete) { readyToDelete = !this._isReadyToDelete($itemElement) } this._toggleShields($itemElement, readyToDelete); this._toggleScrolling(readyToDelete); this._cacheReadyToDeleteItem($itemElement, readyToDelete); this._animateToggleDelete($itemElement, readyToDelete) }, _isReadyToDelete: function($itemElement) { return $itemElement.hasClass("dx-list-switchable-delete-ready") }, _toggleShields: function($itemElement, enabled) { this._list.$element().toggleClass("dx-list-switchable-menu-shield-positioning", enabled); this._$topShield.toggle(enabled); this._$bottomShield.toggle(enabled); if (enabled) { this._updateShieldsHeight($itemElement) } this._toggleContentShield($itemElement, enabled) }, _updateShieldsHeight: function($itemElement) { var $list = this._list.$element(); var listTopOffset = $list.offset().top; var listHeight = (0, _size.getOuterHeight)($list); var itemTopOffset = $itemElement.offset().top; var itemHeight = (0, _size.getOuterHeight)($itemElement); var dirtyTopShieldHeight = itemTopOffset - listTopOffset; var dirtyBottomShieldHeight = listHeight - itemHeight - dirtyTopShieldHeight; (0, _size.setHeight)(this._$topShield, Math.max(dirtyTopShieldHeight, 0)); (0, _size.setHeight)(this._$bottomShield, Math.max(dirtyBottomShieldHeight, 0)) }, _toggleContentShield: function($itemElement, enabled) { if (enabled) { $itemElement.find(".dx-list-item-content").first().append(this._$itemContentShield) } else { this._$itemContentShield.detach() } }, _toggleScrolling: function(readyToDelete) { var scrollView = this._list.$element().dxScrollView("instance"); if (readyToDelete) { scrollView.on("start", this._cancelScrolling) } else { scrollView.off("start", this._cancelScrolling) } }, _cancelScrolling: function(args) { args.event.cancel = true }, _cacheReadyToDeleteItem: function($itemElement, cache) { if (cache) { this._$readyToDeleteItem = $itemElement } else { delete this._$readyToDeleteItem } }, _animateToggleDelete: function($itemElement, readyToDelete) { if (readyToDelete) { this._enablePositioning($itemElement); this._prepareDeleteReady($itemElement); this._animatePrepareDeleteReady($itemElement); _events_engine.default.off($itemElement, _pointer.default.up) } else { this._forgetDeleteReady($itemElement); this._animateForgetDeleteReady($itemElement).done(this._disablePositioning.bind(this, $itemElement)) } }, _enablePositioning: function($itemElement) { $itemElement.addClass("dx-list-switchable-menu-item-shield-positioning"); _events_engine.default.on($itemElement, ACTIVE_EVENT_NAME, _common.noop); _events_engine.default.one($itemElement, _pointer.default.up, this._disablePositioning.bind(this, $itemElement)) }, _disablePositioning: function($itemElement) { $itemElement.removeClass("dx-list-switchable-menu-item-shield-positioning"); _events_engine.default.off($itemElement, ACTIVE_EVENT_NAME) }, _prepareDeleteReady: function($itemElement) { $itemElement.addClass("dx-list-switchable-delete-ready") }, _forgetDeleteReady: function($itemElement) { $itemElement.removeClass("dx-list-switchable-delete-ready") }, _animatePrepareDeleteReady: abstract, _animateForgetDeleteReady: abstract, _getDeleteButtonContainer: function($itemElement) { $itemElement = $itemElement || this._$readyToDeleteItem; return $itemElement.children(".dx-list-switchable-delete-button-container") }, _deleteItem: function($itemElement) { $itemElement = $itemElement || this._$readyToDeleteItem; this._getDeleteButtonContainer($itemElement).detach(); if ($itemElement.is(".dx-state-disabled, .dx-state-disabled *")) { return } this._list.deleteItem($itemElement).always(this._cancelDelete.bind(this, $itemElement)) }, _isRtlEnabled: function() { return this._list.option("rtlEnabled") }, dispose: function() { if (this._$topShield) { this._$topShield.remove() } if (this._$bottomShield) { this._$bottomShield.remove() } this.callBase.apply(this, arguments) } }); var _default = SwitchableEditDecorator; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 36279: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.edit.decorator.switchable.slide.js ***! \************************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _click = __webpack_require__( /*! ../../events/click */ 95429); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _emitter = __webpack_require__( /*! ../../events/core/emitter.feedback */ 91633); var _uiListEdit = _interopRequireDefault(__webpack_require__( /*! ./ui.list.edit.decorator_menu_helper */ 86976)); var _uiListEdit2 = __webpack_require__( /*! ./ui.list.edit.decorator_registry */ 40245); var _uiListEditDecorator = _interopRequireDefault(__webpack_require__( /*! ./ui.list.edit.decorator.switchable */ 81139)); var _fx = _interopRequireDefault(__webpack_require__( /*! ../../animation/fx */ 87209)); var _themes = __webpack_require__( /*! ../themes */ 75811); var _action_sheet = _interopRequireDefault(__webpack_require__( /*! ../action_sheet */ 81476)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var CLICK_EVENT_NAME = (0, _index.addNamespace)(_click.name, "dxListEditDecorator"); var ACTIVE_EVENT_NAME = (0, _index.addNamespace)(_emitter.active, "dxListEditDecorator"); (0, _uiListEdit2.register)("menu", "slide", _uiListEditDecorator.default.inherit({ _shouldHandleSwipe: true, _init: function() { this.callBase.apply(this, arguments); this._$buttonsContainer = (0, _renderer.default)("<div>").addClass("dx-list-slide-menu-buttons-container"); _events_engine.default.on(this._$buttonsContainer, ACTIVE_EVENT_NAME, _common.noop); this._$buttons = (0, _renderer.default)("<div>").addClass("dx-list-slide-menu-buttons").appendTo(this._$buttonsContainer); this._renderMenu(); this._renderDeleteButton() }, _renderMenu: function() { if (!this._menuEnabled()) { return } var menuItems = this._menuItems(); if (1 === menuItems.length) { var menuItem = menuItems[0]; this._renderMenuButton(menuItem.text, function(e) { e.stopPropagation(); this._fireAction(menuItem) }.bind(this)) } else { var $menu = (0, _renderer.default)("<div>").addClass("dx-list-slide-menu"); this._menu = this._list._createComponent($menu, _action_sheet.default, { showTitle: false, items: menuItems, onItemClick: function(args) { this._fireAction(args.itemData) }.bind(this), integrationOptions: {} }); $menu.appendTo(this._list.$element()); var $menuButton = this._renderMenuButton(_message.default.format("dxListEditDecorator-more"), function(e) { e.stopPropagation(); this._menu.show() }.bind(this)); this._menu.option("target", $menuButton) } }, _renderMenuButton: function(text, action) { var $menuButton = (0, _renderer.default)("<div>").addClass("dx-list-slide-menu-button").addClass("dx-list-slide-menu-button-menu").text(text); this._$buttons.append($menuButton); _events_engine.default.on($menuButton, CLICK_EVENT_NAME, action); return $menuButton }, _renderDeleteButton: function() { if (!this._deleteEnabled()) { return } var $deleteButton = (0, _renderer.default)("<div>").addClass("dx-list-slide-menu-button").addClass("dx-list-slide-menu-button-delete").text((0, _themes.isMaterial)() ? "" : _message.default.format("dxListEditDecorator-delete")); _events_engine.default.on($deleteButton, CLICK_EVENT_NAME, function(e) { e.stopPropagation(); this._deleteItem() }.bind(this)); this._$buttons.append($deleteButton) }, _fireAction: function(menuItem) { this._fireMenuAction((0, _renderer.default)(this._cachedNode), menuItem.action); this._cancelDeleteReadyItem() }, modifyElement: function(config) { this.callBase.apply(this, arguments); var $itemElement = config.$itemElement; $itemElement.addClass("dx-list-slide-menu-wrapper"); var $slideMenuContent = (0, _renderer.default)("<div>").addClass("dx-list-slide-menu-content"); $itemElement.wrapInner($slideMenuContent) }, _getDeleteButtonContainer: function() { return this._$buttonsContainer }, handleClick: function(_, e) { if ((0, _renderer.default)(e.target).closest(".dx-list-slide-menu-content").length) { return this.callBase.apply(this, arguments) } return false }, _swipeStartHandler: function($itemElement) { this._enablePositioning($itemElement); this._cacheItemData($itemElement); this._setPositions(this._getPositions(0)) }, _swipeUpdateHandler: function($itemElement, args) { var rtl = this._isRtlEnabled(); var signCorrection = rtl ? -1 : 1; var isItemReadyToDelete = this._isReadyToDelete($itemElement); var moveJustStarted = this._getCurrentPositions().content === this._getStartPositions().content; if (moveJustStarted && !isItemReadyToDelete && args.offset * signCorrection > 0) { args.cancel = true; return } var offset = this._cachedItemWidth * args.offset; var startOffset = isItemReadyToDelete ? -this._cachedButtonWidth * signCorrection : 0; var correctedOffset = (offset + startOffset) * signCorrection; var percent = correctedOffset < 0 ? Math.abs((offset + startOffset) / this._cachedButtonWidth) : 0; this._setPositions(this._getPositions(percent)); return true }, _getStartPositions: function() { var rtl = this._isRtlEnabled(); var signCorrection = rtl ? -1 : 1; return { content: 0, buttonsContainer: rtl ? -this._cachedButtonWidth : this._cachedItemWidth, buttons: -this._cachedButtonWidth * signCorrection } }, _getPositions: function(percent) { var rtl = this._isRtlEnabled(); var signCorrection = rtl ? -1 : 1; var startPositions = this._getStartPositions(); return { content: startPositions.content - percent * this._cachedButtonWidth * signCorrection, buttonsContainer: startPositions.buttonsContainer - Math.min(percent, 1) * this._cachedButtonWidth * signCorrection, buttons: startPositions.buttons + Math.min(percent, 1) * this._cachedButtonWidth * signCorrection } }, _getCurrentPositions: function() { return { content: (0, _translator.locate)(this._$cachedContent).left, buttonsContainer: (0, _translator.locate)(this._$buttonsContainer).left, buttons: (0, _translator.locate)(this._$buttons).left } }, _setPositions: function(positions) { (0, _translator.move)(this._$cachedContent, { left: positions.content }); (0, _translator.move)(this._$buttonsContainer, { left: positions.buttonsContainer }); (0, _translator.move)(this._$buttons, { left: positions.buttons }) }, _cacheItemData: function($itemElement) { if ($itemElement[0] === this._cachedNode) { return } this._$cachedContent = $itemElement.find(".dx-list-slide-menu-content"); this._cachedItemWidth = (0, _size.getOuterWidth)($itemElement); this._cachedButtonWidth = this._cachedButtonWidth || (0, _size.getOuterWidth)(this._$buttons); (0, _size.setWidth)(this._$buttonsContainer, this._cachedButtonWidth); if (this._$cachedContent.length) { this._cachedNode = $itemElement[0] } }, _minButtonContainerLeftOffset: function() { return this._cachedItemWidth - this._cachedButtonWidth }, _swipeEndHandler: function($itemElement, args) { this._cacheItemData($itemElement); var signCorrection = this._isRtlEnabled() ? 1 : -1; var offset = this._cachedItemWidth * args.offset; var endedAtReadyToDelete = !this._isReadyToDelete($itemElement) && offset * signCorrection > .2 * this._cachedButtonWidth; var readyToDelete = args.targetOffset === signCorrection && endedAtReadyToDelete; this._toggleDeleteReady($itemElement, readyToDelete); return true }, _enablePositioning: function($itemElement) { _fx.default.stop(this._$cachedContent, true); this.callBase.apply(this, arguments); this._$buttonsContainer.appendTo($itemElement) }, _disablePositioning: function() { this.callBase.apply(this, arguments); this._$buttonsContainer.detach() }, _animatePrepareDeleteReady: function() { return this._animateToPositions(this._getPositions(1)) }, _animateForgetDeleteReady: function($itemElement) { this._cacheItemData($itemElement); return this._animateToPositions(this._getPositions(0)) }, _animateToPositions: function(positions) { var that = this; var currentPosition = this._getCurrentPositions(); var durationTimePart = Math.min(Math.abs(currentPosition.content - positions.content) / this._cachedButtonWidth, 1); return _fx.default.animate(this._$cachedContent, { from: currentPosition, to: positions, easing: "cubic-bezier(0.075, 0.82, 0.165, 1)", duration: 400 * durationTimePart, strategy: "frame", draw: function(positions) { that._setPositions(positions) } }) }, dispose: function() { if (this._menu) { this._menu.$element().remove() } if (this._$buttonsContainer) { this._$buttonsContainer.remove() } this.callBase.apply(this, arguments) } }).include(_uiListEdit.default)) }, 86976: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.edit.decorator_menu_helper.js ***! \*******************************************************************************************/ function(module, exports) { exports.default = void 0; var _default = { _menuEnabled: function() { return !!this._menuItems().length }, _menuItems: function() { return this._list.option("menuItems") }, _deleteEnabled: function() { return this._list.option("allowItemDeleting") }, _fireMenuAction: function($itemElement, action) { this._list._itemEventHandlerByHandler($itemElement, action, {}, { excludeValidators: ["disabled", "readOnly"] }) } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 40245: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.edit.decorator_registry.js ***! \****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.register = function(option, type, decoratorClass) { var decoratorsRegistry = registry; var decoratorConfig = {}; decoratorConfig[option] = decoratorsRegistry[option] ? decoratorsRegistry[option] : {}; decoratorConfig[option][type] = decoratorClass; (0, _extend.extend)(decoratorsRegistry, decoratorConfig) }; exports.registry = void 0; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var registry = {}; exports.registry = registry }, 77834: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.edit.js ***! \*********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _uiListEditStrategy = _interopRequireDefault(__webpack_require__( /*! ./ui.list.edit.strategy.grouped */ 24232)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _uiListEdit = _interopRequireDefault(__webpack_require__( /*! ./ui.list.edit.provider */ 85057)); var _uiList = __webpack_require__( /*! ./ui.list.base */ 31583); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ListEdit = _uiList.ListBase.inherit({ _supportedKeys: function() { var _this = this; var that = this; var parent = this.callBase(); var moveFocusedItem = function(e, moveUp) { var editStrategy = _this._editStrategy; var focusedElement = _this.option("focusedElement"); var focusedItemIndex = editStrategy.getNormalizedIndex(focusedElement); var isLastIndexFocused = focusedItemIndex === _this._getLastItemIndex(); if (isLastIndexFocused && _this._dataController.isLoading()) { return } if (e.shiftKey && that.option("itemDragging.allowReordering")) { var nextItemIndex = focusedItemIndex + (moveUp ? -1 : 1); var $nextItem = editStrategy.getItemElement(nextItemIndex); _this.reorderItem(focusedElement, $nextItem); _this.scrollToItem(focusedElement); e.preventDefault() } else { var editProvider = _this._editProvider; var isInternalMoving = editProvider.handleKeyboardEvents(focusedItemIndex, moveUp); if (!isInternalMoving) { moveUp ? parent.upArrow(e) : parent.downArrow(e) } } }; return (0, _extend.extend)({}, parent, { del: function(e) { if (that.option("allowItemDeleting")) { e.preventDefault(); that.deleteItem(that.option("focusedElement")) } }, upArrow: function(e) { return moveFocusedItem(e, true) }, downArrow: function(e) { return moveFocusedItem(e) }, enter: function(e) { if (!this._editProvider.handleEnterPressing(e)) { parent.enter.apply(this, arguments) } }, space: function(e) { if (!this._editProvider.handleEnterPressing(e)) { parent.space.apply(this, arguments) } } }) }, _updateSelection: function() { this._editProvider.afterItemsRendered(); this.callBase() }, _getLastItemIndex: function() { return this._itemElements().length - 1 }, _refreshItemElements: function() { this.callBase(); var excludedSelectors = this._editProvider.getExcludedItemSelectors(); if (excludedSelectors.length) { this._itemElementsCache = this._itemElementsCache.not(excludedSelectors) } }, _isItemStrictEquals: function(item1, item2) { var privateKey = item1 && item1.__dx_key__; if (privateKey && !this.key() && this._selection.isItemSelected(privateKey)) { return false } return this.callBase(item1, item2) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { showSelectionControls: false, selectionMode: "none", selectAllMode: "page", onSelectAllValueChanged: null, selectAllText: _message.default.format("dxList-selectAll"), menuItems: [], menuMode: "context", allowItemDeleting: false, itemDeleteMode: "static", itemDragging: {} }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function(_device) { return "ios" === _device.platform }, options: { menuMode: "slide", itemDeleteMode: "slideItem" } }, { device: { platform: "android" }, options: { itemDeleteMode: "swipe" } }]) }, _init: function() { this.callBase(); this._initEditProvider() }, _initDataSource: function() { this.callBase(); if (!this._isPageSelectAll()) { this._dataSource && this._dataSource.requireTotalCount(true) } }, _isPageSelectAll: function() { return "page" === this.option("selectAllMode") }, _initEditProvider: function() { this._editProvider = new _uiListEdit.default(this) }, _disposeEditProvider: function() { if (this._editProvider) { this._editProvider.dispose() } }, _refreshEditProvider: function() { this._disposeEditProvider(); this._initEditProvider() }, _initEditStrategy: function() { if (this.option("grouped")) { this._editStrategy = new _uiListEditStrategy.default(this) } else { this.callBase() } }, _initMarkup: function() { this._refreshEditProvider(); this.callBase() }, _renderItems: function() { this.callBase.apply(this, arguments); this._editProvider.afterItemsRendered() }, _selectedItemClass: function() { return "dx-list-item-selected" }, _itemResponseWaitClass: function() { return "dx-list-item-response-wait" }, _itemClickHandler: function(e) { var $itemElement = (0, _renderer.default)(e.currentTarget); if ($itemElement.is(".dx-state-disabled, .dx-state-disabled *")) { return } var handledByEditProvider = this._editProvider.handleClick($itemElement, e); if (handledByEditProvider) { return } this._saveSelectionChangeEvent(e); this.callBase.apply(this, arguments) }, _shouldFireContextMenuEvent: function() { return this.callBase.apply(this, arguments) || this._editProvider.contextMenuHandlerExists() }, _itemHoldHandler: function(e) { var $itemElement = (0, _renderer.default)(e.currentTarget); if ($itemElement.is(".dx-state-disabled, .dx-state-disabled *")) { return } var handledByEditProvider = (0, _index.isTouchEvent)(e) && this._editProvider.handleContextMenu($itemElement, e); if (handledByEditProvider) { e.handledByEditProvider = true; return } this.callBase.apply(this, arguments) }, _getItemContainer: function(changeData) { if (this.option("grouped")) { var _this$_editStrategy$g; var groupIndex = null === (_this$_editStrategy$g = this._editStrategy.getIndexByItemData(changeData)) || void 0 === _this$_editStrategy$g ? void 0 : _this$_editStrategy$g.group; return this._getGroupContainerByIndex(groupIndex) } else { return this.callBase(changeData) } }, _itemContextMenuHandler: function(e) { var $itemElement = (0, _renderer.default)(e.currentTarget); if ($itemElement.is(".dx-state-disabled, .dx-state-disabled *")) { return } var handledByEditProvider = !e.handledByEditProvider && this._editProvider.handleContextMenu($itemElement, e); if (handledByEditProvider) { e.preventDefault(); return } this.callBase.apply(this, arguments) }, _postprocessRenderItem: function(args) { this.callBase.apply(this, arguments); this._editProvider.modifyItemElement(args) }, _clean: function() { this._disposeEditProvider(); this.callBase() }, focusListItem: function(index) { var $item = this._editStrategy.getItemElement(index); this.option("focusedElement", $item); this.focus(); this.scrollToItem(this.option("focusedElement")) }, _optionChanged: function(args) { switch (args.name) { case "selectAllMode": this._initDataSource(); this._dataController.pageIndex(0); this._dataController.load(); break; case "grouped": this._clearSelectedItems(); delete this._renderingGroupIndex; this._initEditStrategy(); this.callBase(args); break; case "showSelectionControls": case "menuItems": case "menuMode": case "allowItemDeleting": case "itemDeleteMode": case "itemDragging": case "selectAllText": this._invalidate(); break; case "onSelectAllValueChanged": break; default: this.callBase(args) } }, selectAll: function() { return this._selection.selectAll(this._isPageSelectAll()) }, unselectAll: function() { return this._selection.deselectAll(this._isPageSelectAll()) }, isSelectAll: function() { return this._selection.getSelectAllState(this._isPageSelectAll()) }, getFlatIndexByItemElement: function(itemElement) { return this._itemElements().index(itemElement) }, getItemElementByFlatIndex: function(flatIndex) { var $itemElements = this._itemElements(); if (flatIndex < 0 || flatIndex >= $itemElements.length) { return (0, _renderer.default)() } return $itemElements.eq(flatIndex) }, getItemByIndex: function(index) { return this._editStrategy.getItemDataByIndex(index) } }); var _default = ListEdit; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 85057: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.edit.provider.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _uiListEdit = __webpack_require__( /*! ./ui.list.edit.decorator_registry */ 40245); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var editOptionsRegistry = []; var registerOption = function(enabledFunc, decoratorTypeFunc, decoratorSubTypeFunc) { editOptionsRegistry.push({ enabled: enabledFunc, decoratorType: decoratorTypeFunc, decoratorSubType: decoratorSubTypeFunc }) }; registerOption((function() { return this.option("menuItems").length }), (function() { return "menu" }), (function() { return this.option("menuMode") })); registerOption((function() { return !this.option("menuItems").length && this.option("allowItemDeleting") }), (function() { var mode = this.option("itemDeleteMode"); return "toggle" === mode || "slideButton" === mode || "swipe" === mode || "static" === mode ? "delete" : "menu" }), (function() { var mode = this.option("itemDeleteMode"); if ("slideItem" === mode) { mode = "slide" } return mode })); registerOption((function() { return "none" !== this.option("selectionMode") && this.option("showSelectionControls") }), (function() { return "selection" }), (function() { return "default" })); registerOption((function() { return this.option("itemDragging.allowReordering") || this.option("itemDragging.allowDropInsideItem") || this.option("itemDragging.group") }), (function() { return "reorder" }), (function() { return "default" })); var EditProvider = _class.default.inherit({ ctor: function(list) { this._list = list; this._fetchRequiredDecorators() }, dispose: function() { if (this._decorators && this._decorators.length) { (0, _iterator.each)(this._decorators, (function(_, decorator) { decorator.dispose() })) } }, _fetchRequiredDecorators: function() { this._decorators = []; (0, _iterator.each)(editOptionsRegistry, function(_, option) { var optionEnabled = option.enabled.call(this._list); if (optionEnabled) { var decoratorType = option.decoratorType.call(this._list); var decoratorSubType = option.decoratorSubType.call(this._list); var decorator = this._createDecorator(decoratorType, decoratorSubType); this._decorators.push(decorator) } }.bind(this)) }, _createDecorator: function(type, subType) { var decoratorClass = this._findDecorator(type, subType); return new decoratorClass(this._list) }, _findDecorator: function(type, subType) { var _registry$type; var foundDecorator = null === (_registry$type = _uiListEdit.registry[type]) || void 0 === _registry$type ? void 0 : _registry$type[subType]; if (!foundDecorator) { throw _ui.default.Error("E1012", type, subType) } return foundDecorator }, modifyItemElement: function(args) { var $itemElement = (0, _renderer.default)(args.itemElement); var config = { $itemElement: $itemElement }; this._prependBeforeBags($itemElement, config); this._appendAfterBags($itemElement, config); this._applyDecorators("modifyElement", config) }, afterItemsRendered: function() { this._applyDecorators("afterRender") }, _prependBeforeBags: function($itemElement, config) { var $beforeBags = this._collectDecoratorsMarkup("beforeBag", config, "dx-list-item-before-bag"); $itemElement.prepend($beforeBags) }, _appendAfterBags: function($itemElement, config) { var $afterBags = this._collectDecoratorsMarkup("afterBag", config, "dx-list-item-after-bag"); $itemElement.append($afterBags) }, _collectDecoratorsMarkup: function(method, config, containerClass) { var $collector = (0, _renderer.default)("<div>"); (0, _iterator.each)(this._decorators, (function() { var $container = (0, _renderer.default)("<div>").addClass(containerClass); this[method]((0, _extend.extend)({ $container: $container }, config)); if ($container.children().length) { $collector.append($container) } })); return $collector.children() }, _applyDecorators: function(method, config) { (0, _iterator.each)(this._decorators, (function() { this[method](config) })) }, _handlerExists: function(name) { if (!this._decorators) { return false } var decorators = this._decorators; var length = decorators.length; for (var i = 0; i < length; i++) { if (decorators[i][name] !== _common.noop) { return true } } return false }, _eventHandler: function(name, $itemElement, e) { if (!this._decorators) { return false } var response = false; var decorators = this._decorators; var length = decorators.length; for (var i = 0; i < length; i++) { response = decorators[i][name]($itemElement, e); if (response) { break } } return response }, handleClick: function($itemElement, e) { return this._eventHandler("handleClick", $itemElement, e) }, handleKeyboardEvents: function(currentFocusedIndex, moveFocusUp) { return this._eventHandler("handleKeyboardEvents", currentFocusedIndex, moveFocusUp) }, handleEnterPressing: function(e) { return this._eventHandler("handleEnterPressing", e) }, contextMenuHandlerExists: function() { return this._handlerExists("handleContextMenu") }, handleContextMenu: function($itemElement, e) { return this._eventHandler("handleContextMenu", $itemElement, e) }, getExcludedItemSelectors: function() { var excludedSelectors = []; this._applyDecorators("getExcludedSelectors", excludedSelectors); return excludedSelectors.join(",") } }); var _default = EditProvider; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 27473: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.edit.search.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiList = _interopRequireDefault(__webpack_require__( /*! ./ui.list.edit */ 77834)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.search_box_mixin */ 2630)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ListSearch = _uiList.default.inherit(_ui.default).inherit({ _addWidgetPrefix: function(className) { return "dx-list-" + className }, _getCombinedFilter: function() { var dataController = this._dataController; var storeLoadOptions = { filter: dataController.filter() }; dataController.addSearchFilter(storeLoadOptions); var filter = storeLoadOptions.filter; return filter }, _initDataSource: function() { var value = this.option("searchValue"); var expr = this.option("searchExpr"); var mode = this.option("searchMode"); this.callBase(); var dataController = this._dataController; value && value.length && dataController.searchValue(value); mode.length && dataController.searchOperation(_ui.default.getOperationBySearchMode(mode)); expr && dataController.searchExpr(expr) } }); var _default = ListSearch; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 24232: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list/ui.list.edit.strategy.grouped.js ***! \**************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _store_helper = _interopRequireDefault(__webpack_require__( /*! ../../data/store_helper */ 99236)); var _query = _interopRequireDefault(__webpack_require__( /*! ../../data/query */ 96687)); var _uiCollection_widgetEditStrategy = _interopRequireDefault(__webpack_require__( /*! ../collection/ui.collection_widget.edit.strategy.plain */ 14174)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var combineIndex = function(indices) { return (indices.group << 20) + indices.item }; var splitIndex = function(combinedIndex) { return { group: combinedIndex >> 20, item: 1048575 & combinedIndex } }; var GroupedEditStrategy = _uiCollection_widgetEditStrategy.default.inherit({ _groupElements: function() { return this._collectionWidget._itemContainer().find(".dx-list-group") }, _groupItemElements: function($group) { return $group.find(".dx-list-item") }, getIndexByItemData: function(itemData) { var groups = this._collectionWidget.option("items"); var index = false; if (!itemData) { return false } if (itemData.items && itemData.items.length) { itemData = itemData.items[0] }(0, _iterator.each)(groups, (function(groupIndex, group) { if (!group.items) { return false }(0, _iterator.each)(group.items, (function(itemIndex, item) { if (item !== itemData) { return true } index = { group: groupIndex, item: itemIndex }; return false })); if (index) { return false } })); return index }, getItemDataByIndex: function(index) { var items = this._collectionWidget.option("items"); if ((0, _type.isNumeric)(index)) { return this.itemsGetter()[index] } return index && items[index.group] && items[index.group].items[index.item] || null }, itemsGetter: function() { var resultItems = []; var items = this._collectionWidget.option("items"); for (var i = 0; i < items.length; i++) { if (items[i] && items[i].items) { resultItems = resultItems.concat(items[i].items) } else { resultItems.push(items[i]) } } return resultItems }, deleteItemAtIndex: function(index) { var indices = splitIndex(index); var itemGroup = this._collectionWidget.option("items")[indices.group].items; itemGroup.splice(indices.item, 1) }, getKeysByItems: function(items) { var plainItems = []; var i; for (i = 0; i < items.length; i++) { if (items[i] && items[i].items) { plainItems = plainItems.concat(items[i].items) } else { plainItems.push(items[i]) } } var result = []; for (i = 0; i < plainItems.length; i++) { result.push(this._collectionWidget.keyOf(plainItems[i])) } return result }, getIndexByKey: function(key, items) { var groups = items || this._collectionWidget.option("items"); var index = -1; var that = this; (0, _iterator.each)(groups, (function(groupIndex, group) { if (!group.items) { return }(0, _iterator.each)(group.items, (function(itemIndex, item) { var itemKey = that._collectionWidget.keyOf(item); if (that._equalKeys(itemKey, key)) { index = { group: groupIndex, item: itemIndex }; return false } })); if (-1 !== index) { return false } })); return index }, _getGroups: function(items) { var dataController = this._collectionWidget._dataController; var group = dataController.group(); if (group) { return _store_helper.default.queryByOptions((0, _query.default)(items), { group: group }).toArray() } return this._collectionWidget.option("items") }, getItemsByKeys: function(keys, items) { var _this = this; var result = []; var groups = this._getGroups(items); var groupItemByKeyMap = {}; (0, _iterator.each)(keys, (function(_, key) { var itemMeta = function(key) { var index = _this.getIndexByKey(key, groups); var group = index && groups[index.group]; if (!group) { return } return { groupKey: group.key, item: group.items[index.item] } }(key); if (!itemMeta) { return } var groupKey = itemMeta.groupKey; var item = itemMeta.item; var selectedGroup = groupItemByKeyMap[groupKey]; if (!selectedGroup) { selectedGroup = { key: groupKey, items: [] }; groupItemByKeyMap[groupKey] = selectedGroup; result.push(selectedGroup) } selectedGroup.items.push(item) })); return result }, moveItemAtIndexToIndex: function(movingIndex, destinationIndex) { var items = this._collectionWidget.option("items"); var movingIndices = splitIndex(movingIndex); var destinationIndices = splitIndex(destinationIndex); var movingItemGroup = items[movingIndices.group].items; var destinationItemGroup = items[destinationIndices.group].items; var movedItemData = movingItemGroup[movingIndices.item]; movingItemGroup.splice(movingIndices.item, 1); destinationItemGroup.splice(destinationIndices.item, 0, movedItemData) }, _isItemIndex: function(index) { return index && (0, _type.isNumeric)(index.group) && (0, _type.isNumeric)(index.item) }, _getNormalizedItemIndex: function(itemElement) { var $item = (0, _renderer.default)(itemElement); var $group = $item.closest(".dx-list-group"); if (!$group.length) { return -1 } return combineIndex({ group: this._groupElements().index($group), item: this._groupItemElements($group).index($item) }) }, _normalizeItemIndex: function(index) { return combineIndex(index) }, _denormalizeItemIndex: function(index) { return splitIndex(index) }, _getItemByNormalizedIndex: function(index) { var indices = splitIndex(index); var $group = this._groupElements().eq(indices.group); return this._groupItemElements($group).eq(indices.item) }, _itemsFromSameParent: function(firstIndex, secondIndex) { return splitIndex(firstIndex).group === splitIndex(secondIndex).group } }); var _default = GroupedEditStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 56757: /*!**************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/list_light.js ***! \**************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiListEdit = _interopRequireDefault(__webpack_require__( /*! ./list/ui.list.edit.search */ 27473)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } }(0, _component_registrator.default)("dxList", _uiListEdit.default); var _default = _uiListEdit.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 2492: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/load_indicator.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _support = __webpack_require__( /*! ../core/utils/support */ 60137); var _themes = __webpack_require__( /*! ./themes */ 75811); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./widget/ui.widget */ 14390)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var navigator = (0, _window.getNavigator)(); var LoadIndicator = _ui.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { indicatorSrc: "", activeStateEnabled: false, hoverStateEnabled: false, _animatingSegmentCount: 1, _animatingSegmentInner: false }) }, _defaultOptionsRules: function() { var themeName = (0, _themes.current)(); return this.callBase().concat([{ device: function() { var realDevice = _devices.default.real(); var obsoleteAndroid = "android" === realDevice.platform && !/chrome/i.test(navigator.userAgent); return obsoleteAndroid }, options: { viaImage: true } }, { device: function() { return (0, _themes.isMaterial)(themeName) }, options: { _animatingSegmentCount: 2, _animatingSegmentInner: true } }, { device: function() { return (0, _themes.isGeneric)(themeName) }, options: { _animatingSegmentCount: 7 } }]) }, _useTemplates: function() { return false }, _init: function() { this.callBase(); this.$element().addClass("dx-loadindicator") }, _initMarkup: function() { this.callBase(); this._renderWrapper(); this._renderIndicatorContent(); this._renderMarkup() }, _renderWrapper: function() { this._$wrapper = (0, _renderer.default)("<div>").addClass("dx-loadindicator-wrapper"); this.$element().append(this._$wrapper) }, _renderIndicatorContent: function() { this._$content = (0, _renderer.default)("<div>").addClass("dx-loadindicator-content"); this._$wrapper.append(this._$content) }, _renderMarkup: function() { if ((0, _support.animation)() && !this.option("viaImage") && !this.option("indicatorSrc")) { this._renderMarkupForAnimation() } else { this._renderMarkupForImage() } }, _renderMarkupForAnimation: function() { var animatingSegmentInner = this.option("_animatingSegmentInner"); this._$indicator = (0, _renderer.default)("<div>").addClass("dx-loadindicator-icon"); this._$content.append(this._$indicator); for (var i = this.option("_animatingSegmentCount"); i >= 0; --i) { var $segment = (0, _renderer.default)("<div>").addClass("dx-loadindicator-segment").addClass("dx-loadindicator-segment" + i); if (animatingSegmentInner) { $segment.append((0, _renderer.default)("<div>").addClass("dx-loadindicator-segment-inner")) } this._$indicator.append($segment) } }, _renderMarkupForImage: function() { var indicatorSrc = this.option("indicatorSrc"); this._$wrapper.addClass("dx-loadindicator-image"); if (indicatorSrc) { this._$wrapper.css("backgroundImage", "url(" + indicatorSrc + ")") } }, _renderDimensions: function() { this.callBase(); this._updateContentSizeForAnimation() }, _updateContentSizeForAnimation: function() { if (!this._$indicator) { return } var width = this.option("width"); var height = this.option("height"); if (width || height) { width = (0, _size.getWidth)(this.$element()); height = (0, _size.getHeight)(this.$element()); var minDimension = Math.min(height, width); this._$wrapper.css({ height: minDimension, width: minDimension, fontSize: minDimension }) } }, _clean: function() { this.callBase(); this._removeMarkupForAnimation(); this._removeMarkupForImage() }, _removeMarkupForAnimation: function() { if (!this._$indicator) { return } this._$indicator.remove(); delete this._$indicator }, _removeMarkupForImage: function() { this._$wrapper.css("backgroundImage", "none") }, _optionChanged: function(args) { switch (args.name) { case "_animatingSegmentCount": case "_animatingSegmentInner": case "indicatorSrc": this._invalidate(); break; default: this.callBase(args) } } }); (0, _component_registrator.default)("dxLoadIndicator", LoadIndicator); var _default = LoadIndicator; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 97218: /*!**************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/load_panel.js ***! \**************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _message = _interopRequireDefault(__webpack_require__( /*! ../localization/message */ 28109)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _load_indicator = _interopRequireDefault(__webpack_require__( /*! ./load_indicator */ 2492)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./overlay/ui.overlay */ 89799)); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _themes = __webpack_require__( /*! ./themes */ 75811); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var LoadPanel = _ui.default.inherit({ _supportedKeys: function() { return (0, _extend.extend)(this.callBase(), { escape: _common.noop }) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { message: _message.default.format("Loading"), width: 222, height: 90, animation: null, showIndicator: true, indicatorSrc: "", showPane: true, delay: 0, templatesRenderAsynchronously: false, hideTopOverlayHandler: null, focusStateEnabled: false, propagateOutsideClick: true, preventScrollEvents: false }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: { platform: "generic" }, options: { shadingColor: "transparent" } }, { device: function() { return (0, _themes.isMaterial)() }, options: { message: "", width: 60, height: 60, maxHeight: 60, maxWidth: 60 } }]) }, _init: function() { this.callBase.apply(this, arguments) }, _render: function() { this.callBase(); this.$element().addClass("dx-loadpanel"); this.$wrapper().addClass("dx-loadpanel-wrapper") }, _renderContentImpl: function() { this.callBase(); this.$content().addClass("dx-loadpanel-content"); this._$loadPanelContentWrapper = (0, _renderer.default)("<div>").addClass("dx-loadpanel-content-wrapper"); this._$loadPanelContentWrapper.appendTo(this.$content()); this._togglePaneVisible(); this._cleanPreviousContent(); this._renderLoadIndicator(); this._renderMessage() }, _show: function() { var delay = this.option("delay"); if (!delay) { return this.callBase() } var deferred = new _deferred.Deferred; var callBase = this.callBase.bind(this); this._clearShowTimeout(); this._showTimeout = setTimeout((function() { callBase().done((function() { deferred.resolve() })) }), delay); return deferred.promise() }, _hide: function() { this._clearShowTimeout(); return this.callBase() }, _clearShowTimeout: function() { clearTimeout(this._showTimeout) }, _renderMessage: function() { if (!this._$loadPanelContentWrapper) { return } var message = this.option("message"); if (!message) { return } var $message = (0, _renderer.default)("<div>").addClass("dx-loadpanel-message").text(message); this._$loadPanelContentWrapper.append($message) }, _renderLoadIndicator: function() { if (!this._$loadPanelContentWrapper || !this.option("showIndicator")) { return } if (!this._$indicator) { this._$indicator = (0, _renderer.default)("<div>").addClass("dx-loadpanel-indicator").appendTo(this._$loadPanelContentWrapper) } this._createComponent(this._$indicator, _load_indicator.default, { indicatorSrc: this.option("indicatorSrc") }) }, _cleanPreviousContent: function() { this.$content().find(".dx-loadpanel-message").remove(); this.$content().find(".dx-loadpanel-indicator").remove(); delete this._$indicator }, _togglePaneVisible: function() { this.$content().toggleClass("dx-loadpanel-pane-hidden", !this.option("showPane")) }, _optionChanged: function(args) { switch (args.name) { case "delay": break; case "message": case "showIndicator": this._cleanPreviousContent(); this._renderLoadIndicator(); this._renderMessage(); break; case "showPane": this._togglePaneVisible(); break; case "indicatorSrc": this._renderLoadIndicator(); break; default: this.callBase(args) } }, _dispose: function() { this._clearShowTimeout(); this.callBase() } }); (0, _component_registrator.default)("dxLoadPanel", LoadPanel); var _default = LoadPanel; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 55935: /*!**********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/lookup.js ***! \**********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _support = __webpack_require__( /*! ../core/utils/support */ 60137); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _element = __webpack_require__( /*! ../core/element */ 6415); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _utils = __webpack_require__( /*! ../core/options/utils */ 45434); var _message = _interopRequireDefault(__webpack_require__( /*! ../localization/message */ 28109)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); var _ui = _interopRequireDefault(__webpack_require__( /*! ./drop_down_editor/ui.drop_down_list */ 32468)); var _themes = __webpack_require__( /*! ./themes */ 75811); var _click = __webpack_require__( /*! ../events/click */ 95429); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ./popover/ui.popover */ 17287)); var _text_box = _interopRequireDefault(__webpack_require__( /*! ./text_box */ 29837)); var _child_default_template = __webpack_require__( /*! ../core/templates/child_default_template */ 91627); var _translator = __webpack_require__( /*! ../animation/translator */ 31648); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _utils2 = __webpack_require__( /*! ./drop_down_editor/utils */ 61902); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var Lookup = _ui.default.inherit({ _supportedKeys: function() { return (0, _extend.extend)(this.callBase(), { space: function(e) { e.preventDefault(); this._validatedOpening() }, enter: function() { this._validatedOpening() } }) }, _getDefaultOptions: function() { var getSize = function(side) { var size; if ("phone" === _devices.default.real().deviceType && window.visualViewport) { size = window.visualViewport[side] } else { size = "width" === side ? (0, _size.getWidth)(window) : (0, _size.getHeight)(window) } return .8 * size }; return (0, _extend.extend)(this.callBase(), { placeholder: _message.default.format("Select"), searchPlaceholder: _message.default.format("Search"), searchEnabled: true, searchStartEvent: "input change keyup", cleanSearchOnOpening: true, showCancelButton: true, showClearButton: false, clearButtonText: _message.default.format("Clear"), applyButtonText: _message.default.format("OK"), pullRefreshEnabled: false, useNativeScrolling: true, pullingDownText: _message.default.format("dxList-pullingDownText"), pulledDownText: _message.default.format("dxList-pulledDownText"), refreshingText: _message.default.format("dxList-refreshingText"), pageLoadingText: _message.default.format("dxList-pageLoadingText"), onScroll: null, onPullRefresh: null, onPageLoading: null, pageLoadMode: "scrollBottom", nextButtonText: _message.default.format("dxList-nextButtonText"), grouped: false, groupTemplate: "group", usePopover: false, showDropDownButton: false, focusStateEnabled: false, dropDownOptions: { showTitle: true, width: function() { return getSize("width") }, height: function() { return getSize("height") }, shading: true, hideOnOutsideClick: false, position: void 0, animation: {}, title: "", titleTemplate: "title", onTitleRendered: null, fullScreen: false }, dropDownCentered: false, _scrollToSelectedItemEnabled: false, useHiddenSubmitElement: true }) }, _setDeprecatedOptions: function() { this.callBase(); (0, _extend.extend)(this._deprecatedOptions, { valueChangeEvent: { since: "22.1", alias: "searchStartEvent" } }) }, _defaultOptionsRules: function() { var _this = this; var themeName = (0, _themes.current)(); return this.callBase().concat([{ device: function() { return !_support.nativeScrolling }, options: { useNativeScrolling: false } }, { device: function(_device) { return !_devices.default.isSimulator() && "desktop" === _devices.default.real().deviceType && "generic" === _device.platform }, options: { usePopover: true, dropDownOptions: { height: "auto" } } }, { device: { platform: "ios", phone: true }, options: { dropDownOptions: { fullScreen: true } } }, { device: { platform: "ios", tablet: true }, options: { dropDownOptions: { width: function() { return .4 * Math.min((0, _size.getWidth)(window), (0, _size.getHeight)(window)) }, height: "auto" }, usePopover: true } }, { device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }, { device: function() { return (0, _themes.isMaterial)(themeName) }, options: { usePopover: false, searchEnabled: false, showCancelButton: false, dropDownCentered: true, _scrollToSelectedItemEnabled: true, dropDownOptions: { hideOnOutsideClick: true, _ignoreFunctionValueDeprecation: true, width: function() { return (0, _utils2.getElementWidth)(_this.$element()) }, height: function() { return this._getPopupHeight() }.bind(this), showTitle: false, shading: false } } }]) }, _init: function() { this.callBase(); this._initActions() }, _initActions: function() { this.callBase(); this._initScrollAction(); this._initPageLoadingAction(); this._initPullRefreshAction() }, _initPageLoadingAction: function() { this._pageLoadingAction = this._createActionByOption("onPageLoading") }, _initPullRefreshAction: function() { this._pullRefreshAction = this._createActionByOption("onPullRefresh") }, _initScrollAction: function() { this._scrollAction = this._createActionByOption("onScroll") }, _scrollHandler: function(e) { this._scrollAction(e) }, _pullRefreshHandler: function(e) { this._pullRefreshAction(e) }, _pageLoadingHandler: function(e) { this._pageLoadingAction(e) }, _initTemplates: function() { this.callBase(); this._templateManager.addDefaultTemplates({ group: new _child_default_template.ChildDefaultTemplate("group"), title: new _child_default_template.ChildDefaultTemplate("title") }) }, _initMarkup: function() { this.$element().addClass("dx-lookup").toggleClass("dx-lookup-popover-mode", this.option("usePopover")); this.callBase() }, _inputWrapper: function() { return this.$element().find(".dx-lookup-field-wrapper") }, _dataSourceOptions: function() { return (0, _extend.extend)(this.callBase(), { paginate: true }) }, _fireContentReadyAction: _common.noop, _popupWrapperClass: function() { return "" }, _renderInput: function() { var _this2 = this; var fieldClickAction = this._createAction((function() { _this2._toggleOpenState() })); this._$field = (0, _renderer.default)("<div>").addClass("dx-lookup-field"); this._applyInputAttributes(this.option("inputAttr")); _events_engine.default.on(this._$field, (0, _index.addNamespace)(_click.name, this.NAME), (function(e) { fieldClickAction({ event: e }) })); var $arrow = (0, _renderer.default)("<div>").addClass("dx-lookup-arrow"); this._$fieldWrapper = (0, _renderer.default)("<div>").addClass("dx-lookup-field-wrapper").append(this._$field).append($arrow).appendTo(this.$element()) }, _applyInputAttributes: function(attributes) { this._$field.attr(attributes) }, _getInputContainer: function() { return this._$fieldWrapper }, _renderField: function() { var fieldTemplate = this._getTemplateByOption("fieldTemplate"); if (fieldTemplate && this.option("fieldTemplate")) { this._renderFieldTemplate(fieldTemplate); return } var displayValue = this.option("displayValue"); this._updateField(displayValue); this.$element().toggleClass("dx-lookup-empty", !this.option("selectedItem")) }, _getLabelContainer: function() { return this._$field }, _renderDisplayText: function(text) { if (this._input().length) { this.callBase(text) } else { this._updateField(text) } }, _updateField: function(text) { text = (0, _type.isDefined)(text) && String(text) || this.option("placeholder"); this._$field.text(text) }, _renderFieldTemplate: function(template) { this._$field.empty(); var data = this._fieldRenderData(); template.render({ model: data, container: (0, _element.getPublicElement)(this._$field) }) }, _fieldRenderData: function() { return this.option("selectedItem") }, _popupShowingHandler: function() { this.callBase.apply(this, arguments); if (this.option("cleanSearchOnOpening")) { if (this.option("searchEnabled") && this._searchBox.option("value")) { this._searchBox.option("value", ""); this._searchCanceled() } this._list && this._list.option("focusedElement", null) } if (this.option("dropDownOptions.fullScreen") && this.option("_scrollToSelectedItemEnabled")) { this._popup.option("position").of = (0, _renderer.default)(window) } }, _popupShownHandler: function() { var scrollToSelectedItemEnabled = this.option("_scrollToSelectedItemEnabled"); var fullScreen = this.option("dropDownOptions.fullScreen"); if (!fullScreen && scrollToSelectedItemEnabled) { this._setPopupPosition() } this.callBase() }, _scrollToSelectedItem: function() { var selectedIndex = this._list.option("selectedIndex"); var listItems = this._list.option("items"); var itemsCount = listItems.length; if (0 !== itemsCount) { if (this._list.option("grouped")) { this._list.scrollToItem({ group: itemsCount - 1, item: listItems[itemsCount - 1].items.length - 1 }) } else { this._list.scrollToItem(itemsCount - 1) } this._list.scrollToItem(selectedIndex) } }, _getDifferenceOffsets: function(selectedListItem) { return selectedListItem.offset().top - (0, _renderer.default)(this.element()).offset().top }, _isCenteringEnabled: function(index, count) { return 1 < index && index < count - 2 }, _getPopupOffset: function() { var listItemsCount = this._listItemElements().length; if (0 === listItemsCount) { return } var selectedListItem = (0, _renderer.default)(this._list.element()).find(".dx-list-item-selected"); var selectedIndex = this._listItemElements().index(selectedListItem); var differenceOfHeights = ((0, _size.getHeight)(selectedListItem) - (0, _size.getHeight)(this.element())) / 2; var lookupOffset = (0, _renderer.default)(this._list.element()).offset().top; var dropDownHeightOption = this.option("dropDownOptions.height"); var popupHeight = "function" === typeof dropDownHeightOption ? dropDownHeightOption() : dropDownHeightOption; var windowHeight = (0, _size.getHeight)(window); var offsetTop = 0; if (-1 !== selectedIndex) { if (this._isCenteringEnabled(selectedIndex, listItemsCount)) { this._scrollToSelectedItem(); var scrollOffsetTop = (popupHeight - (0, _size.getHeight)(selectedListItem)) / 2 - this._getDifferenceOffsets(selectedListItem); this._list.scrollTo(this._list.scrollTop() + 4 - scrollOffsetTop); offsetTop = differenceOfHeights + this._getDifferenceOffsets(selectedListItem); if (lookupOffset < offsetTop && selectedIndex !== listItemsCount - 3) { this._list.scrollTo(this._list.scrollTop() + this._getDifferenceOffsets(selectedListItem) / 2); offsetTop = differenceOfHeights + this._getDifferenceOffsets(selectedListItem) } } else if (selectedIndex <= 1) { this._list.scrollTo(0); offsetTop = differenceOfHeights + this._getDifferenceOffsets(selectedListItem) } else if (selectedIndex >= listItemsCount - 2) { this._scrollToSelectedItem(); offsetTop = differenceOfHeights + this._getDifferenceOffsets(selectedListItem) } if (lookupOffset < offsetTop) { this._scrollToSelectedItem(); offsetTop = differenceOfHeights + 8 } } var offsetBottom = popupHeight - offsetTop - (0, _size.getHeight)(this.element()); if (windowHeight - lookupOffset < offsetBottom) { this._list.scrollTo(this._list.scrollTop() + differenceOfHeights - offsetBottom); offsetTop = popupHeight - (0, _size.getHeight)(this.element()) - 8 } return offsetTop }, _setPopupPosition: function() { if (!this.option("dropDownCentered")) { return } var flipped = this._popup.$wrapper().hasClass("dx-popover-flipped-vertical"); if (flipped) { return } var popupContentParent = (0, _renderer.default)(this._popup.$content()).parent(); var popupOffset = this._getPopupOffset(); var position = (0, _translator.locate)(popupContentParent); (0, _translator.move)(popupContentParent, { top: position.top - popupOffset }) }, _listItemGroupedElements: function() { var groups = this._list._itemContainer().children(); var items = []; groups.each((function(_, group) { items.push((0, _renderer.default)(group).find(".dx-list-group-header")[0]); var groupedItems = (0, _renderer.default)(group).find(".dx-list-item"); groupedItems.each((function(_, item) { items.push(item) })) })); return (0, _renderer.default)(items) }, _calculateListHeight: function(grouped) { var listItems = grouped ? this._listItemGroupedElements() : this._listItemElements(); var selectedListItem = (0, _renderer.default)(".dx-list-item-selected"); var selectedIndex = listItems.index(selectedListItem); var listHeight = 0; var requireListItems = []; if (0 === listItems.length) { listHeight += 8 } else if (listItems.length < 5) { listItems.each((function(_, item) { listHeight += (0, _size.getOuterHeight)(item) })) } else { if (selectedIndex <= 1) { requireListItems = listItems.slice(0, 5) } else if (this._isCenteringEnabled(selectedIndex, listItems.length)) { requireListItems = listItems.slice(selectedIndex - 2, selectedIndex + 3) } else { requireListItems = listItems.slice(listItems.length - 5, listItems.length) } requireListItems.each((function(_, item) { listHeight += (0, _size.getOuterHeight)(item) })) } return listHeight + (grouped ? 8 : 16) }, _getPopupHeight: function() { var _this$_list; if (null !== (_this$_list = this._list) && void 0 !== _this$_list && _this$_list.itemElements().length) { return this._calculateListHeight(this.option("grouped")) + (this._$searchWrapper ? (0, _size.getOuterHeight)(this._$searchWrapper) : 0) + (this._popup._$bottom ? (0, _size.getOuterHeight)(this._popup._$bottom) : 0) + (this._popup._$title ? (0, _size.getOuterHeight)(this._popup._$title) : 0) } else { return "auto" } }, _renderPopup: function() { if (this.option("usePopover") && !this.option("dropDownOptions.fullScreen")) { if (this.option("_scrollToSelectedItemEnabled")) { this.callBase() } else { this._renderPopover() } } else { this.callBase() } this._$popup.addClass("dx-lookup-popup"); this._popup.$wrapper().addClass("dx-lookup-popup-wrapper") }, _renderPopover: function() { this._popup = this._createComponent(this._$popup, _ui2.default, (0, _extend.extend)(this._popupConfig(), this._options.cache("dropDownOptions"), { showEvent: null, hideEvent: null, target: this.$element(), fullScreen: false, shading: false, hideOnParentScroll: true, _fixWrapperPosition: false, width: this._isInitialOptionValue("dropDownOptions.width") ? function() { return (0, _size.getOuterWidth)(this.$element()) }.bind(this) : this._popupConfig().width })); this._popup.$overlayContent().attr("role", "dialog"); this._popup.on({ showing: this._popupShowingHandler.bind(this), shown: this._popupShownHandler.bind(this), hiding: this._popupHidingHandler.bind(this), hidden: this._popupHiddenHandler.bind(this), contentReady: this._contentReadyHandler.bind(this) }); if (this.option("_scrollToSelectedItemEnabled")) { this._popup._$arrow.remove() } this._setPopupContentId(this._popup.$content()); this._contentReadyHandler() }, _popupHidingHandler: function() { this.callBase(); this.option("focusStateEnabled") && this.focus() }, _popupHiddenHandler: function() { this.callBase(); if (this.option("_scrollToSelectedItemEnabled")) { (0, _translator.resetPosition)((0, _renderer.default)(this._popup.content()).parent()) } }, _preventFocusOnPopup: _common.noop, _popupConfig: function() { var _this3 = this; var result = (0, _extend.extend)(this.callBase(), { toolbarItems: this._getPopupToolbarItems(), hideOnParentScroll: false, onPositioned: null, maxHeight: "100vh", showTitle: this.option("dropDownOptions.showTitle"), title: this.option("dropDownOptions.title"), titleTemplate: this._getTemplateByOption("dropDownOptions.titleTemplate"), onTitleRendered: this.option("dropDownOptions.onTitleRendered"), fullScreen: this.option("dropDownOptions.fullScreen"), shading: this.option("dropDownOptions.shading"), hideOnOutsideClick: this.option("dropDownOptions.hideOnOutsideClick") || this.option("dropDownOptions.closeOnOutsideClick") }); delete result.animation; delete result.position; if (this.option("_scrollToSelectedItemEnabled")) { result.position = this.option("dropDownCentered") ? { my: "left top", at: "left top", of: this.element() } : { my: "left top", at: "left bottom", of: this.element() }; result.hideOnParentScroll = true }(0, _iterator.each)(["position", "animation", "width", "height"], (function(_, optionName) { var popupOptionValue = _this3.option("dropDownOptions.".concat(optionName)); if (void 0 !== popupOptionValue) { result[optionName] = popupOptionValue } })); return result }, _getPopupToolbarItems: function() { var buttonsConfig = "useButtons" === this.option("applyValueMode") ? this._popupToolbarItemsConfig() : []; var cancelButton = this._getCancelButtonConfig(); if (cancelButton) { buttonsConfig.push(cancelButton) } var clearButton = this._getClearButtonConfig(); if (clearButton) { buttonsConfig.push(clearButton) } return this._applyButtonsLocation(buttonsConfig) }, _popupToolbarItemsConfig: function() { return [{ shortcut: "done", options: { onClick: this._applyButtonHandler.bind(this), text: this.option("applyButtonText") } }] }, _getCancelButtonConfig: function() { var _this4 = this; return this.option("showCancelButton") ? { shortcut: "cancel", onClick: this._cancelButtonHandler.bind(this), options: { onInitialized: function(e) { e.component.registerKeyHandler("escape", _this4.close.bind(_this4)) }, text: this.option("cancelButtonText") } } : null }, _getClearButtonConfig: function() { return this.option("showClearButton") ? { shortcut: "clear", onClick: this._resetValue.bind(this), options: { text: this.option("clearButtonText") } } : null }, _applyButtonHandler: function(args) { if (args) { this._saveValueChangeEvent(args.event) } this.option("value", this._valueGetter(this._currentSelectedItem())); this.callBase() }, _cancelButtonHandler: function() { this._refreshSelected(); this.callBase() }, _refreshPopupVisibility: function() { if (this.option("opened")) { this._updateListDimensions() } }, _dimensionChanged: function() { if (this.option("usePopover") && !this.option("dropDownOptions.width")) { this.option("dropDownOptions.width", (0, _size.getWidth)(this.$element())) } this._updateListDimensions() }, _input: function() { return this._$searchBox || this.callBase() }, _renderPopupContent: function() { this.callBase(); this._renderSearch() }, _renderValueChangeEvent: _common.noop, _renderSearch: function() { var _this5 = this; var isSearchEnabled = this.option("searchEnabled"); this._toggleSearchClass(isSearchEnabled); if (isSearchEnabled) { var $searchWrapper = this._$searchWrapper = (0, _renderer.default)("<div>").addClass("dx-lookup-search-wrapper"); var $searchBox = this._$searchBox = (0, _renderer.default)("<div>").addClass("dx-lookup-search").appendTo($searchWrapper); var currentDevice = _devices.default.current(); var searchMode = currentDevice.android ? "text" : "search"; var isKeyboardListeningEnabled = false; var textBoxOptions = { mode: searchMode, showClearButton: true, valueChangeEvent: this.option("searchStartEvent"), inputAttr: { "aria-label": "Search" }, onDisposing: function() { return isKeyboardListeningEnabled = false }, onFocusIn: function() { return isKeyboardListeningEnabled = true }, onFocusOut: function() { return isKeyboardListeningEnabled = false }, onKeyboardHandled: function(opts) { return isKeyboardListeningEnabled && _this5._list._keyboardHandler(opts) }, onValueChanged: function(e) { return _this5._searchHandler(e) } }; this._searchBox = this._createComponent($searchBox, _text_box.default, textBoxOptions); this._registerSearchKeyHandlers(); $searchWrapper.insertBefore(this._$list); this._setSearchPlaceholder() } }, _removeSearch: function() { this._$searchWrapper && this._$searchWrapper.remove(); delete this._$searchWrapper; this._$searchBox && this._$searchBox.remove(); delete this._$searchBox; delete this._searchBox }, _selectListItemHandler: function(e) { var $itemElement = (0, _renderer.default)(this._list.option("focusedElement")); if (!$itemElement.length) { return } e.preventDefault(); e.target = $itemElement.get(0); this._saveValueChangeEvent(e); this._selectListItem(e.itemData, $itemElement) }, _registerSearchKeyHandlers: function() { this._searchBox.registerKeyHandler("escape", this.close.bind(this)); this._searchBox.registerKeyHandler("enter", this._selectListItemHandler.bind(this)); this._searchBox.registerKeyHandler("space", this._selectListItemHandler.bind(this)); this._searchBox.registerKeyHandler("end", _common.noop); this._searchBox.registerKeyHandler("home", _common.noop) }, _toggleSearchClass: function(isSearchEnabled) { if (this._popup) { this._popup.$wrapper().toggleClass("dx-lookup-popup-search", isSearchEnabled) } }, _setSearchPlaceholder: function() { if (!this._$searchBox) { return } var minSearchLength = this.option("minSearchLength"); var placeholder = this.option("searchPlaceholder"); if (minSearchLength && placeholder === _message.default.format("Search")) { placeholder = _message.default.getFormatter("dxLookup-searchPlaceholder")(minSearchLength) } this._searchBox.option("placeholder", placeholder) }, _setAriaTargetForList: _common.noop, _renderList: function() { var _this6 = this; this.callBase(); this._list.registerKeyHandler("escape", (function() { _this6.close() })) }, _listConfig: function() { return (0, _extend.extend)(this.callBase(), { tabIndex: 0, grouped: this.option("grouped"), groupTemplate: this._getTemplateByOption("groupTemplate"), pullRefreshEnabled: this.option("pullRefreshEnabled"), useNativeScrolling: this.option("useNativeScrolling"), pullingDownText: this.option("pullingDownText"), pulledDownText: this.option("pulledDownText"), refreshingText: this.option("refreshingText"), pageLoadingText: this.option("pageLoadingText"), onScroll: this._scrollHandler.bind(this), onPullRefresh: this._pullRefreshHandler.bind(this), onPageLoading: this._pageLoadingHandler.bind(this), pageLoadMode: this.option("pageLoadMode"), nextButtonText: this.option("nextButtonText"), indicateLoading: this.option("searchEnabled"), onSelectionChanged: this._getSelectionChangedHandler() }) }, _getSelectionChangedHandler: function() { return this.option("showSelectionControls") ? this._selectionChangeHandler.bind(this) : _common.noop }, _listContentReadyHandler: function() { this.callBase.apply(this, arguments); this._refreshSelected() }, _runWithoutCloseOnScroll: function(callback) { var _this7 = this; var _this$option = this.option(), _scrollToSelectedItemEnabled = _this$option._scrollToSelectedItemEnabled; var hideOnParentScroll = this._popup.option("hideOnParentScroll"); if (!_scrollToSelectedItemEnabled) { callback() } else { this._popup.option("hideOnParentScroll", false); callback(); this._hideOnParentScrollTimer = setTimeout((function() { _this7._popup.option("hideOnParentScroll", hideOnParentScroll) })) } }, _setFocusPolicy: function() { var _this8 = this; if (!this.option("focusStateEnabled")) { return } this._runWithoutCloseOnScroll((function() { if (_this8.option("searchEnabled")) { _this8._searchBox.focus() } else { _this8._list.focus() } })) }, _focusTarget: function() { return this._$field }, _keyboardEventBindingTarget: function() { return this._$field }, _listItemClickHandler: function(e) { this._saveValueChangeEvent(e.event); this._selectListItem(e.itemData, e.event.currentTarget) }, _selectListItem: function(itemData, target) { this._list.selectItem(target); if ("instantly" === this.option("applyValueMode")) { this._applyButtonHandler() } }, _currentSelectedItem: function() { return this.option("grouped") ? this._list.option("selectedItems[0]").items[0] : this._list.option("selectedItems[0]") }, _resetValue: function(e) { this._saveValueChangeEvent(e.event); this.option("value", null); this.option("opened", false) }, _searchValue: function() { return this.option("searchEnabled") && this._searchBox ? this._searchBox.option("value") : "" }, _renderInputValue: function() { var _this9 = this; return this.callBase().always((function() { _this9._refreshSelected() })) }, _renderPlaceholder: function() { if (0 === this.$element().find(".dx-texteditor-input").length) { return } this.callBase() }, _clean: function() { this._$fieldWrapper.remove(); clearTimeout(this._hideOnParentScrollTimer); this._hideOnParentScrollTimer = null; this._$searchBox = null; this.callBase() }, _optionChanged: function(args) { var _this$_searchBox; var name = args.name, fullName = args.fullName, value = args.value; switch (name) { case "dataSource": this.callBase.apply(this, arguments); this._renderField(); break; case "searchEnabled": if (this._popup) { this._removeSearch(); this._renderSearch() } break; case "searchPlaceholder": this._setSearchPlaceholder(); break; case "minSearchLength": this._setSearchPlaceholder(); this.callBase.apply(this, arguments); break; case "inputAttr": this._applyInputAttributes(value); break; case "usePopover": case "placeholder": this._invalidate(); break; case "clearButtonText": case "showClearButton": case "showCancelButton": this._setPopupOption("toolbarItems", this._getPopupToolbarItems()); break; case "applyValueMode": this.callBase.apply(this, arguments); break; case "onPageLoading": this._initPageLoadingAction(); break; case "onPullRefresh": this._initPullRefreshAction(); break; case "pullRefreshEnabled": case "useNativeScrolling": case "pullingDownText": case "pulledDownText": case "refreshingText": case "pageLoadingText": case "nextButtonText": case "grouped": case "groupTemplate": this._setListOption(name); break; case "searchStartEvent": null === (_this$_searchBox = this._searchBox) || void 0 === _this$_searchBox ? void 0 : _this$_searchBox.option("valueChangeEvent", value); break; case "onScroll": this._initScrollAction(); break; case "pageLoadMode": this._setListOption("pageLoadMode", this.option("pageLoadMode")); break; case "cleanSearchOnOpening": case "_scrollToSelectedItemEnabled": break; case "dropDownOptions": switch (fullName) { case "dropDownOptions.width": case "dropDownOptions.height": this._popupOptionChanged({ name: name, fullName: fullName, value: "auto" === value ? this.initialOption("dropDownOptions")[(0, _utils.getFieldName)(fullName)] : value }); this._options.cache("dropDownOptions", this.option("dropDownOptions")); break; default: this.callBase.apply(this, arguments) } break; case "dropDownCentered": if (this.option("_scrollToSelectedItemEnabled")) { this.option("dropDownOptions.position", void 0); this._renderPopup() } break; default: this.callBase.apply(this, arguments) } }, focus: function() { this.option("opened") ? this._setFocusPolicy() : _events_engine.default.trigger(this._focusTarget(), "focus") }, field: function() { return this._$field } }); (0, _component_registrator.default)("dxLookup", Lookup); var _default = Lookup; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 64304: /*!*******************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/map.js ***! \*******************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./widget/ui.errors */ 96688)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ./widget/ui.widget */ 14390)); var _inflector = __webpack_require__( /*! ../core/utils/inflector */ 78008); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _array = __webpack_require__( /*! ../core/utils/array */ 89386); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../events/pointer */ 93786)); var _provider = _interopRequireDefault(__webpack_require__( /*! ./map/provider.google_static */ 48112)); var _providerDynamic = _interopRequireDefault(__webpack_require__( /*! ./map/provider.dynamic.google */ 71430)); var _providerDynamic2 = _interopRequireDefault(__webpack_require__( /*! ./map/provider.dynamic.bing */ 253)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var PROVIDERS = { googleStatic: _provider.default, google: _providerDynamic.default, bing: _providerDynamic2.default }; var Map = _ui2.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { bounds: { northEast: null, southWest: null }, center: { lat: 0, lng: 0 }, zoom: 1, width: 300, height: 300, type: "roadmap", provider: "google", autoAdjust: true, markers: [], markerIconSrc: null, onMarkerAdded: null, onMarkerRemoved: null, routes: [], onRouteAdded: null, onRouteRemoved: null, apiKey: { bing: "", google: "", googleStatic: "" }, controls: false, onReady: null, onUpdated: null, onClick: null }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }]) }, _init: function() { this.callBase(); this.$element().addClass("dx-map"); this._lastAsyncAction = Promise.resolve(); this._checkOption("provider"); this._checkOption("markers"); this._checkOption("routes"); this._initContainer(); this._grabEvents(); this._rendered = {} }, _useTemplates: function() { return false }, _checkOption: function(option) { var value = this.option(option); if ("markers" === option && !Array.isArray(value)) { throw _ui.default.Error("E1022") } if ("routes" === option && !Array.isArray(value)) { throw _ui.default.Error("E1023") } }, _initContainer: function() { this._$container = (0, _renderer.default)("<div>").addClass("dx-map-container"); this.$element().append(this._$container) }, _grabEvents: function() { var eventName = (0, _index.addNamespace)(_pointer.default.down, this.NAME); _events_engine.default.on(this.$element(), eventName, this._cancelEvent.bind(this)) }, _cancelEvent: function(e) { var cancelByProvider = this._provider && this._provider.isEventsCanceled(e) && !this.option("disabled"); if (cancelByProvider) { e.stopPropagation() } }, _saveRendered: function(option) { var value = this.option(option); this._rendered[option] = value.slice() }, _render: function() { this.callBase(); this._renderShield(); this._saveRendered("markers"); this._saveRendered("routes"); this._provider = new(PROVIDERS[this.option("provider")])(this, this._$container); this._queueAsyncAction("render", this._rendered.markers, this._rendered.routes) }, _renderShield: function() { var $shield; if (this.option("disabled")) { $shield = (0, _renderer.default)("<div>").addClass("dx-map-shield"); this.$element().append($shield) } else { $shield = this.$element().find(".dx-map-shield"); $shield.remove() } }, _clean: function() { this._cleanFocusState(); if (this._provider) { this._provider.clean() } this._provider = null; this._lastAsyncAction = Promise.resolve(); this.setOptionSilent("bounds", { northEast: null, southWest: null }); delete this._suppressAsyncAction }, _optionChanged: function(args) { var name = args.name; var changeBag = this._optionChangeBag; this._optionChangeBag = null; switch (name) { case "disabled": this._renderShield(); this.callBase(args); break; case "width": case "height": this.callBase(args); this._dimensionChanged(); break; case "provider": this._suppressAsyncAction = true; this._invalidate(); break; case "apiKey": _ui.default.log("W1001"); break; case "bounds": this._queueAsyncAction("updateBounds"); break; case "center": this._queueAsyncAction("updateCenter"); break; case "zoom": this._queueAsyncAction("updateZoom"); break; case "type": this._queueAsyncAction("updateMapType"); break; case "controls": this._queueAsyncAction("updateControls", this._rendered.markers, this._rendered.routes); break; case "autoAdjust": this._queueAsyncAction("adjustViewport"); break; case "markers": case "routes": this._checkOption(name); var prevValue = this._rendered[name]; this._saveRendered(name); this._queueAsyncAction("update" + (0, _inflector.titleize)(name), changeBag ? changeBag.removed : prevValue, changeBag ? changeBag.added : this._rendered[name]).then((function(result) { if (changeBag) { changeBag.resolve(result) } })); break; case "markerIconSrc": this._queueAsyncAction("updateMarkers", this._rendered.markers, this._rendered.markers); break; case "onReady": case "onUpdated": case "onMarkerAdded": case "onMarkerRemoved": case "onRouteAdded": case "onRouteRemoved": case "onClick": break; default: this.callBase.apply(this, arguments) } }, _visibilityChanged: function(visible) { if (visible) { this._dimensionChanged() } }, _dimensionChanged: function() { this._queueAsyncAction("updateDimensions") }, _queueAsyncAction: function(name) { var options = [].slice.call(arguments).slice(1); var isActionSuppressed = this._suppressAsyncAction; this._lastAsyncAction = this._lastAsyncAction.then(function() { if (!this._provider || isActionSuppressed) { return Promise.resolve() } return this._provider[name].apply(this._provider, options).then(function(result) { result = (0, _array.wrapToArray)(result); var mapRefreshed = result[0]; if (mapRefreshed && !this._disposed) { this._triggerReadyAction() } return result[1] }.bind(this)) }.bind(this)); return this._lastAsyncAction }, _triggerReadyAction: function() { this._createActionByOption("onReady")({ originalMap: this._provider.map() }) }, _triggerUpdateAction: function() { this._createActionByOption("onUpdated")() }, setOptionSilent: function(name, value) { this._setOptionWithoutOptionChange(name, value) }, addMarker: function(marker) { return this._addFunction("markers", marker) }, removeMarker: function(marker) { return this._removeFunction("markers", marker) }, addRoute: function(route) { return this._addFunction("routes", route) }, removeRoute: function(route) { return this._removeFunction("routes", route) }, _addFunction: function(optionName, addingValue) { var optionValue = this.option(optionName); var addingValues = (0, _array.wrapToArray)(addingValue); optionValue.push.apply(optionValue, addingValues); return this._partialArrayOptionChange(optionName, optionValue, addingValues, []) }, _removeFunction: function(optionName, removingValue) { var optionValue = this.option(optionName); var removingValues = (0, _array.wrapToArray)(removingValue); (0, _iterator.each)(removingValues, (function(removingIndex, removingValue) { var index = (0, _type.isNumeric)(removingValue) ? removingValue : null === optionValue || void 0 === optionValue ? void 0 : optionValue.indexOf(removingValue); if (-1 !== index) { var removing = optionValue.splice(index, 1)[0]; removingValues.splice(removingIndex, 1, removing) } else { throw _ui.default.log("E1021", (0, _inflector.titleize)(optionName.substring(0, optionName.length - 1)), removingValue) } })); return this._partialArrayOptionChange(optionName, optionValue, [], removingValues) }, _partialArrayOptionChange: function(optionName, optionValue, addingValues, removingValues) { return (0, _deferred.fromPromise)(new Promise(function(resolve) { this._optionChangeBag = { resolve: resolve, added: addingValues, removed: removingValues }; this.option(optionName, optionValue) }.bind(this)).then((function(result) { return result && 1 === result.length ? result[0] : result })), this) } }); (0, _component_registrator.default)("dxMap", Map); var _default = Map; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 253: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/map/provider.dynamic.bing.js ***! \*****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _provider = _interopRequireDefault(__webpack_require__( /*! ./provider.dynamic */ 67526)); var _color = _interopRequireDefault(__webpack_require__( /*! ../../color */ 52752)); var _ajax = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/ajax */ 37208)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var msMapsLoaded = function() { return window.Microsoft && window.Microsoft.Maps }; var msMapsLoader; var BingProvider = _provider.default.inherit({ _mapType: function(type) { var mapTypes = { roadmap: Microsoft.Maps.MapTypeId.road, hybrid: Microsoft.Maps.MapTypeId.aerial, satellite: Microsoft.Maps.MapTypeId.aerial }; return mapTypes[type] || mapTypes.road }, _movementMode: function(type) { var movementTypes = { driving: Microsoft.Maps.Directions.RouteMode.driving, walking: Microsoft.Maps.Directions.RouteMode.walking }; return movementTypes[type] || movementTypes.driving }, _resolveLocation: function(location) { return new Promise(function(resolve) { var latLng = this._getLatLng(location); if (latLng) { resolve(new Microsoft.Maps.Location(latLng.lat, latLng.lng)) } else { this._geocodeLocation(location).then((function(geocodedLocation) { resolve(geocodedLocation) })) } }.bind(this)) }, _geocodedLocations: {}, _geocodeLocationImpl: function(location) { return new Promise(function(resolve) { if (!(0, _type.isDefined)(location)) { resolve(new Microsoft.Maps.Location(0, 0)); return } var searchManager = new Microsoft.Maps.Search.SearchManager(this._map); var searchRequest = { where: location, count: 1, callback: function(searchResponse) { var result = searchResponse.results[0]; if (result) { var boundsBox = searchResponse.results[0].location; resolve(new Microsoft.Maps.Location(boundsBox.latitude, boundsBox.longitude)) } else { resolve(new Microsoft.Maps.Location(0, 0)) } } }; searchManager.geocode(searchRequest) }.bind(this)) }, _normalizeLocation: function(location) { return { lat: location.latitude, lng: location.longitude } }, _normalizeLocationRect: function(locationRect) { var northWest = this._normalizeLocation(locationRect.getNorthwest()); var southEast = this._normalizeLocation(locationRect.getSoutheast()); return { northEast: { lat: northWest.lat, lng: southEast.lng }, southWest: { lat: southEast.lat, lng: northWest.lng } } }, _loadImpl: function() { return new Promise(function(resolve) { if (msMapsLoaded()) { resolve() } else { if (!msMapsLoader) { msMapsLoader = this._loadMapScript() } msMapsLoader.then(function() { if (msMapsLoaded()) { resolve(); return } this._loadMapScript().then(resolve) }.bind(this)) } }.bind(this)).then((function() { return Promise.all([new Promise((function(resolve) { Microsoft.Maps.loadModule("Microsoft.Maps.Search", { callback: resolve }) })), new Promise((function(resolve) { Microsoft.Maps.loadModule("Microsoft.Maps.Directions", { callback: resolve }) }))]) })) }, _loadMapScript: function() { return new Promise((function(resolve) { window._bingScriptReady = resolve; _ajax.default.sendRequest({ url: "https://www.bing.com/api/maps/mapcontrol?callback=_bingScriptReady", dataType: "script" }) })).then((function() { try { delete window._bingScriptReady } catch (e) { window._bingScriptReady = void 0 } })) }, _init: function() { this._createMap(); return Promise.resolve() }, _createMap: function() { var controls = this._option("controls"); this._map = new Microsoft.Maps.Map(this._$container[0], { credentials: this._keyOption("bing"), zoom: this._option("zoom"), showDashboard: controls, showMapTypeSelector: controls, showScalebar: controls }) }, _attachHandlers: function() { this._providerViewChangeHandler = Microsoft.Maps.Events.addHandler(this._map, "viewchange", this._viewChangeHandler.bind(this)); this._providerClickHandler = Microsoft.Maps.Events.addHandler(this._map, "click", this._clickActionHandler.bind(this)) }, _viewChangeHandler: function() { var bounds = this._map.getBounds(); this._option("bounds", this._normalizeLocationRect(bounds)); var center = this._map.getCenter(); this._option("center", this._normalizeLocation(center)); if (!this._preventZoomChangeEvent) { this._option("zoom", this._map.getZoom()) } }, _clickActionHandler: function(e) { if ("map" === e.targetType) { this._fireClickAction({ location: this._normalizeLocation(e.location) }) } }, updateDimensions: function() { var $container = this._$container; this._map.setOptions({ width: (0, _size.getWidth)($container), height: (0, _size.getHeight)($container) }); return Promise.resolve() }, updateMapType: function() { var type = this._option("type"); var labelOverlay = Microsoft.Maps.LabelOverlay; this._map.setView({ animate: false, mapTypeId: this._mapType(type), labelOverlay: "satellite" === type ? labelOverlay.hidden : labelOverlay.visible }); return Promise.resolve() }, updateBounds: function() { return Promise.all([this._resolveLocation(this._option("bounds.northEast")), this._resolveLocation(this._option("bounds.southWest"))]).then(function(result) { var bounds = new Microsoft.Maps.LocationRect.fromLocations(result[0], result[1]); this._map.setView({ animate: false, bounds: bounds }) }.bind(this)) }, updateCenter: function() { return this._resolveLocation(this._option("center")).then(function(center) { this._map.setView({ animate: false, center: center }) }.bind(this)) }, updateZoom: function() { this._map.setView({ animate: false, zoom: this._option("zoom") }); return Promise.resolve() }, updateControls: function() { this.clean(); return this.render.apply(this, arguments) }, _renderMarker: function(options) { return this._resolveLocation(options.location).then(function(location) { var pushpinOptions = { icon: options.iconSrc || this._option("markerIconSrc") }; if (options.html) { (0, _extend.extend)(pushpinOptions, { htmlContent: options.html, width: null, height: null }); var htmlOffset = options.htmlOffset; if (htmlOffset) { pushpinOptions.anchor = new Microsoft.Maps.Point(-htmlOffset.left, -htmlOffset.top) } } var pushpin = new Microsoft.Maps.Pushpin(location, pushpinOptions); this._map.entities.push(pushpin); var infobox = this._renderTooltip(location, options.tooltip); var handler; if (options.onClick || options.tooltip) { var markerClickAction = this._mapWidget._createAction(options.onClick || _common.noop); var markerNormalizedLocation = this._normalizeLocation(location); handler = Microsoft.Maps.Events.addHandler(pushpin, "click", (function() { markerClickAction({ location: markerNormalizedLocation }); if (infobox) { infobox.setOptions({ visible: true }) } })) } return { location: location, marker: pushpin, infobox: infobox, handler: handler } }.bind(this)) }, _renderTooltip: function(location, options) { if (!options) { return } options = this._parseTooltipOptions(options); var infobox = new Microsoft.Maps.Infobox(location, { description: options.text, offset: new Microsoft.Maps.Point(0, 13), visible: options.visible }); infobox.setMap(this._map); return infobox }, _destroyMarker: function(marker) { this._map.entities.remove(marker.marker); if (marker.infobox) { marker.infobox.setMap(null) } if (marker.handler) { Microsoft.Maps.Events.removeHandler(marker.handler) } }, _renderRoute: function(options) { return Promise.all((0, _iterator.map)(options.locations, function(point) { return this._resolveLocation(point) }.bind(this))).then(function(locations) { return new Promise(function(resolve) { var direction = new Microsoft.Maps.Directions.DirectionsManager(this._map); var color = new _color.default(options.color || this._defaultRouteColor()).toHex(); var routeColor = new Microsoft.Maps.Color.fromHex(color); routeColor.a = 255 * (options.opacity || this._defaultRouteOpacity()); direction.setRenderOptions({ autoUpdateMapView: false, displayRouteSelector: false, waypointPushpinOptions: { visible: false }, drivingPolylineOptions: { strokeColor: routeColor, strokeThickness: options.weight || this._defaultRouteWeight() }, walkingPolylineOptions: { strokeColor: routeColor, strokeThickness: options.weight || this._defaultRouteWeight() } }); direction.setRequestOptions({ routeMode: this._movementMode(options.mode), routeDraggable: false }); (0, _iterator.each)(locations, (function(_, location) { var waypoint = new Microsoft.Maps.Directions.Waypoint({ location: location }); direction.addWaypoint(waypoint) })); var directionHandlers = []; directionHandlers.push(Microsoft.Maps.Events.addHandler(direction, "directionsUpdated", (function(args) { while (directionHandlers.length) { Microsoft.Maps.Events.removeHandler(directionHandlers.pop()) } var routeSummary = args.routeSummary[0]; resolve({ instance: direction, northEast: routeSummary.northEast, southWest: routeSummary.southWest }) }))); directionHandlers.push(Microsoft.Maps.Events.addHandler(direction, "directionsError", (function(args) { while (directionHandlers.length) { Microsoft.Maps.Events.removeHandler(directionHandlers.pop()) } var status = "RouteResponseCode: " + args.responseCode + " - " + args.message; _ui.default.log("W1006", status); resolve({ instance: direction }) }))); direction.calculateDirections() }.bind(this)) }.bind(this)) }, _destroyRoute: function(routeObject) { routeObject.instance.dispose() }, _fitBounds: function() { this._updateBounds(); if (this._bounds && this._option("autoAdjust")) { var zoomBeforeFitting = this._map.getZoom(); this._preventZoomChangeEvent = true; var bounds = this._bounds.clone(); bounds.height = 1.1 * bounds.height; bounds.width = 1.1 * bounds.width; this._map.setView({ animate: false, bounds: bounds, zoom: zoomBeforeFitting }); var zoomAfterFitting = this._map.getZoom(); if (zoomBeforeFitting < zoomAfterFitting) { this._map.setView({ animate: false, zoom: zoomBeforeFitting }) } else { this._option("zoom", zoomAfterFitting) } delete this._preventZoomChangeEvent } return Promise.resolve() }, _extendBounds: function(location) { if (this._bounds) { this._bounds = new Microsoft.Maps.LocationRect.fromLocations(this._bounds.getNorthwest(), this._bounds.getSoutheast(), location) } else { this._bounds = new Microsoft.Maps.LocationRect(location, 1e-16, 1e-16) } }, clean: function() { if (this._map) { Microsoft.Maps.Events.removeHandler(this._providerViewChangeHandler); Microsoft.Maps.Events.removeHandler(this._providerClickHandler); this._clearMarkers(); this._clearRoutes(); this._map.dispose() } return Promise.resolve() } }); var _default = BingProvider; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 71430: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/map/provider.dynamic.google.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _provider = _interopRequireDefault(__webpack_require__( /*! ./provider.dynamic */ 67526)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _color = _interopRequireDefault(__webpack_require__( /*! ../../color */ 52752)); var _ajax = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/ajax */ 37208)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var CustomMarker; var googleMapsLoaded = function() { return window.google && window.google.maps }; var googleMapsLoader; var GoogleProvider = _provider.default.inherit({ _mapType: function(type) { var mapTypes = { hybrid: google.maps.MapTypeId.HYBRID, roadmap: google.maps.MapTypeId.ROADMAP, satellite: google.maps.MapTypeId.SATELLITE }; return mapTypes[type] || mapTypes.hybrid }, _movementMode: function(type) { var movementTypes = { driving: google.maps.TravelMode.DRIVING, walking: google.maps.TravelMode.WALKING }; return movementTypes[type] || movementTypes.driving }, _resolveLocation: function(location) { return new Promise(function(resolve) { var latLng = this._getLatLng(location); if (latLng) { resolve(new google.maps.LatLng(latLng.lat, latLng.lng)) } else { this._geocodeLocation(location).then((function(geocodedLocation) { resolve(geocodedLocation) })) } }.bind(this)) }, _geocodedLocations: {}, _geocodeLocationImpl: function(location) { return new Promise((function(resolve) { if (!(0, _type.isDefined)(location)) { resolve(new google.maps.LatLng(0, 0)); return } var geocoder = new google.maps.Geocoder; geocoder.geocode({ address: location }, (function(results, status) { if (status === google.maps.GeocoderStatus.OK) { resolve(results[0].geometry.location) } else { _ui.default.log("W1006", status); resolve(new google.maps.LatLng(0, 0)) } })) })) }, _normalizeLocation: function(location) { return { lat: location.lat(), lng: location.lng() } }, _normalizeLocationRect: function(locationRect) { return { northEast: this._normalizeLocation(locationRect.getNorthEast()), southWest: this._normalizeLocation(locationRect.getSouthWest()) } }, _loadImpl: function() { return new Promise(function(resolve) { if (googleMapsLoaded()) { resolve() } else { if (!googleMapsLoader) { googleMapsLoader = this._loadMapScript() } googleMapsLoader.then(function() { if (googleMapsLoaded()) { resolve(); return } this._loadMapScript().then(resolve) }.bind(this)) } }.bind(this)).then((function() { ! function() { CustomMarker = function(options) { this._position = options.position; this._offset = options.offset; this._$overlayContainer = (0, _renderer.default)("<div>").css({ position: "absolute", display: "none", cursor: "pointer" }).append(options.html); this.setMap(options.map) }; CustomMarker.prototype = new google.maps.OverlayView; CustomMarker.prototype.onAdd = function() { var $pane = (0, _renderer.default)(this.getPanes().overlayMouseTarget); $pane.append(this._$overlayContainer); this._clickListener = google.maps.event.addDomListener(this._$overlayContainer.get(0), "click", function(e) { google.maps.event.trigger(this, "click"); e.preventDefault() }.bind(this)); this.draw() }; CustomMarker.prototype.onRemove = function() { google.maps.event.removeListener(this._clickListener); this._$overlayContainer.remove() }; CustomMarker.prototype.draw = function() { var position = this.getProjection().fromLatLngToDivPixel(this._position); this._$overlayContainer.css({ left: position.x + this._offset.left, top: position.y + this._offset.top, display: "block" }) } }() })) }, _loadMapScript: function() { return new Promise(function(resolve) { var key = this._keyOption("google"); window._googleScriptReady = resolve; _ajax.default.sendRequest({ url: "https://maps.googleapis.com/maps/api/js?callback=_googleScriptReady" + (key ? "&key=" + key : ""), dataType: "script" }) }.bind(this)).then((function() { try { delete window._googleScriptReady } catch (e) { window._googleScriptReady = void 0 } })) }, _init: function() { return new Promise(function(resolve) { this._resolveLocation(this._option("center")).then(function(center) { var showDefaultUI = this._option("controls"); this._map = new google.maps.Map(this._$container[0], { zoom: this._option("zoom"), center: center, disableDefaultUI: !showDefaultUI }); var listener = google.maps.event.addListener(this._map, "idle", (function() { resolve(listener) })) }.bind(this)) }.bind(this)).then((function(listener) { google.maps.event.removeListener(listener) })) }, _attachHandlers: function() { this._boundsChangeListener = google.maps.event.addListener(this._map, "bounds_changed", this._boundsChangeHandler.bind(this)); this._clickListener = google.maps.event.addListener(this._map, "click", this._clickActionHandler.bind(this)) }, _boundsChangeHandler: function() { var bounds = this._map.getBounds(); this._option("bounds", this._normalizeLocationRect(bounds)); var center = this._map.getCenter(); this._option("center", this._normalizeLocation(center)); if (!this._preventZoomChangeEvent) { this._option("zoom", this._map.getZoom()) } }, _clickActionHandler: function(e) { this._fireClickAction({ location: this._normalizeLocation(e.latLng) }) }, updateDimensions: function() { var center = this._option("center"); google.maps.event.trigger(this._map, "resize"); this._option("center", center); return this.updateCenter() }, updateMapType: function() { this._map.setMapTypeId(this._mapType(this._option("type"))); return Promise.resolve() }, updateBounds: function() { return Promise.all([this._resolveLocation(this._option("bounds.northEast")), this._resolveLocation(this._option("bounds.southWest"))]).then(function(result) { var bounds = new google.maps.LatLngBounds; bounds.extend(result[0]); bounds.extend(result[1]); this._map.fitBounds(bounds) }.bind(this)) }, updateCenter: function() { return this._resolveLocation(this._option("center")).then(function(center) { this._map.setCenter(center); this._option("center", this._normalizeLocation(center)) }.bind(this)) }, updateZoom: function() { this._map.setZoom(this._option("zoom")); return Promise.resolve() }, updateControls: function() { var showDefaultUI = this._option("controls"); this._map.setOptions({ disableDefaultUI: !showDefaultUI }); return Promise.resolve() }, isEventsCanceled: function(e) { var gestureHandling = this._map && this._map.get("gestureHandling"); var isInfoWindowContent = (0, _renderer.default)(e.target).closest(".".concat("gm-style-iw")).length > 0; if (isInfoWindowContent || "desktop" !== _devices.default.real().deviceType && "cooperative" === gestureHandling) { return false } return this.callBase() }, _renderMarker: function(options) { return this._resolveLocation(options.location).then(function(location) { var marker; if (options.html) { marker = new CustomMarker({ map: this._map, position: location, html: options.html, offset: (0, _extend.extend)({ top: 0, left: 0 }, options.htmlOffset) }) } else { marker = new google.maps.Marker({ position: location, map: this._map, icon: options.iconSrc || this._option("markerIconSrc") }) } var infoWindow = this._renderTooltip(marker, options.tooltip); var listener; if (options.onClick || options.tooltip) { var markerClickAction = this._mapWidget._createAction(options.onClick || _common.noop); var markerNormalizedLocation = this._normalizeLocation(location); listener = google.maps.event.addListener(marker, "click", function() { markerClickAction({ location: markerNormalizedLocation }); if (infoWindow) { infoWindow.open(this._map, marker) } }.bind(this)) } return { location: location, marker: marker, listener: listener } }.bind(this)) }, _renderTooltip: function(marker, options) { if (!options) { return } options = this._parseTooltipOptions(options); var infoWindow = new google.maps.InfoWindow({ content: options.text }); if (options.visible) { infoWindow.open(this._map, marker) } return infoWindow }, _destroyMarker: function(marker) { marker.marker.setMap(null); if (marker.listener) { google.maps.event.removeListener(marker.listener) } }, _renderRoute: function(options) { return Promise.all((0, _iterator.map)(options.locations, function(point) { return this._resolveLocation(point) }.bind(this))).then(function(locations) { return new Promise(function(resolve) { var origin = locations.shift(); var destination = locations.pop(); var waypoints = (0, _iterator.map)(locations, (function(location) { return { location: location, stopover: true } })); var request = { origin: origin, destination: destination, waypoints: waypoints, optimizeWaypoints: true, travelMode: this._movementMode(options.mode) }; (new google.maps.DirectionsService).route(request, function(response, status) { if (status === google.maps.DirectionsStatus.OK) { var color = new _color.default(options.color || this._defaultRouteColor()).toHex(); var directionOptions = { directions: response, map: this._map, suppressMarkers: true, preserveViewport: true, polylineOptions: { strokeWeight: options.weight || this._defaultRouteWeight(), strokeOpacity: options.opacity || this._defaultRouteOpacity(), strokeColor: color } }; var route = new google.maps.DirectionsRenderer(directionOptions); var bounds = response.routes[0].bounds; resolve({ instance: route, northEast: bounds.getNorthEast(), southWest: bounds.getSouthWest() }) } else { _ui.default.log("W1006", status); resolve({ instance: new google.maps.DirectionsRenderer({}) }) } }.bind(this)) }.bind(this)) }.bind(this)) }, _destroyRoute: function(routeObject) { routeObject.instance.setMap(null) }, _fitBounds: function() { this._updateBounds(); if (this._bounds && this._option("autoAdjust")) { var zoomBeforeFitting = this._map.getZoom(); this._preventZoomChangeEvent = true; this._map.fitBounds(this._bounds); this._boundsChangeHandler(); var zoomAfterFitting = this._map.getZoom(); if (zoomBeforeFitting < zoomAfterFitting) { this._map.setZoom(zoomBeforeFitting) } else { this._option("zoom", zoomAfterFitting) } delete this._preventZoomChangeEvent } return Promise.resolve() }, _extendBounds: function(location) { if (this._bounds) { this._bounds.extend(location) } else { this._bounds = new google.maps.LatLngBounds; this._bounds.extend(location) } }, clean: function() { if (this._map) { google.maps.event.removeListener(this._boundsChangeListener); google.maps.event.removeListener(this._clickListener); this._clearMarkers(); this._clearRoutes(); delete this._map; this._$container.empty() } return Promise.resolve() } }); var _default = GoogleProvider; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 67526: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/map/provider.dynamic.js ***! \************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _provider = (obj = __webpack_require__( /*! ./provider */ 90169), obj && obj.__esModule ? obj : { default: obj }); var obj; var abstract = _provider.default.abstract; var DynamicProvider = _provider.default.inherit({ _geocodeLocation: function(location) { return new Promise(function(resolve) { var cache = this._geocodedLocations; var cachedLocation = cache[location]; if (cachedLocation) { resolve(cachedLocation) } else { this._geocodeLocationImpl(location).then((function(geocodedLocation) { cache[location] = geocodedLocation; resolve(geocodedLocation) })) } }.bind(this)) }, _renderImpl: function() { return this._load().then(function() { return this._init() }.bind(this)).then(function() { return Promise.all([this.updateMapType(), this._areBoundsSet() ? this.updateBounds() : this.updateCenter()]) }.bind(this)).then(function() { this._attachHandlers(); return new Promise((function(resolve) { var timeout = setTimeout((function() { clearTimeout(timeout); resolve() })) })) }.bind(this)) }, _load: function() { if (!this._mapsLoader) { this._mapsLoader = this._loadImpl() } this._markers = []; this._routes = []; return this._mapsLoader }, _loadImpl: abstract, _init: abstract, _attachHandlers: abstract, addMarkers: function(options) { return Promise.all((0, _iterator.map)(options, function(options) { return this._addMarker(options) }.bind(this))).then(function(markerObjects) { this._fitBounds(); return [false, (0, _iterator.map)(markerObjects, (function(markerObject) { return markerObject.marker }))] }.bind(this)) }, _addMarker: function(options) { return this._renderMarker(options).then(function(markerObject) { this._markers.push((0, _extend.extend)({ options: options }, markerObject)); this._fireMarkerAddedAction({ options: options, originalMarker: markerObject.marker }); return markerObject }.bind(this)) }, _renderMarker: abstract, removeMarkers: function(markersOptionsToRemove) { var that = this; (0, _iterator.each)(markersOptionsToRemove, (function(_, markerOptionToRemove) { that._removeMarker(markerOptionToRemove) })); return Promise.resolve() }, _removeMarker: function(markersOptionToRemove) { var that = this; (0, _iterator.each)(this._markers, (function(markerIndex, markerObject) { if (markerObject.options !== markersOptionToRemove) { return true } that._destroyMarker(markerObject); that._markers.splice(markerIndex, 1); that._fireMarkerRemovedAction({ options: markerObject.options }); return false })) }, _destroyMarker: abstract, _clearMarkers: function() { while (this._markers.length > 0) { this._removeMarker(this._markers[0].options) } }, addRoutes: function(options) { return Promise.all((0, _iterator.map)(options, function(options) { return this._addRoute(options) }.bind(this))).then(function(routeObjects) { this._fitBounds(); return [false, (0, _iterator.map)(routeObjects, (function(routeObject) { return routeObject.instance }))] }.bind(this)) }, _addRoute: function(options) { return this._renderRoute(options).then(function(routeObject) { this._routes.push((0, _extend.extend)({ options: options }, routeObject)); this._fireRouteAddedAction({ options: options, originalRoute: routeObject.instance }); return routeObject }.bind(this)) }, _renderRoute: abstract, removeRoutes: function(options) { var that = this; (0, _iterator.each)(options, (function(routeIndex, options) { that._removeRoute(options) })); return Promise.resolve() }, _removeRoute: function(options) { var that = this; (0, _iterator.each)(this._routes, (function(routeIndex, routeObject) { if (routeObject.options !== options) { return true } that._destroyRoute(routeObject); that._routes.splice(routeIndex, 1); that._fireRouteRemovedAction({ options: options }); return false })) }, _destroyRoute: abstract, _clearRoutes: function() { while (this._routes.length > 0) { this._removeRoute(this._routes[0].options) } }, adjustViewport: function() { return this._fitBounds() }, isEventsCanceled: function() { return true }, _fitBounds: abstract, _updateBounds: function() { var that = this; this._clearBounds(); if (!this._option("autoAdjust")) { return }(0, _iterator.each)(this._markers, (function(_, markerObject) { that._extendBounds(markerObject.location) })); (0, _iterator.each)(this._routes, (function(_, routeObject) { routeObject.northEast && that._extendBounds(routeObject.northEast); routeObject.southWest && that._extendBounds(routeObject.southWest) })) }, _clearBounds: function() { this._bounds = null }, _extendBounds: abstract }); var _default = DynamicProvider; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 48112: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/map/provider.google_static.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _provider = _interopRequireDefault(__webpack_require__( /*! ./provider */ 90169)); var _color = _interopRequireDefault(__webpack_require__( /*! ../../color */ 52752)); var _click = __webpack_require__( /*! ../../events/click */ 95429); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var GoogleStaticProvider = _provider.default.inherit({ _locationToString: function(location) { var latLng = this._getLatLng(location); return latLng ? latLng.lat + "," + latLng.lng : location.toString().replace(/ /g, "+") }, _renderImpl: function() { return this._updateMap() }, updateDimensions: function() { return this._updateMap() }, updateMapType: function() { return this._updateMap() }, updateBounds: function() { return Promise.resolve() }, updateCenter: function() { return this._updateMap() }, updateZoom: function() { return this._updateMap() }, updateControls: function() { return Promise.resolve() }, addMarkers: function(options) { var that = this; return this._updateMap().then((function(result) { (0, _iterator.each)(options, (function(_, options) { that._fireMarkerAddedAction({ options: options }) })); return result })) }, removeMarkers: function(options) { var that = this; return this._updateMap().then((function(result) { (0, _iterator.each)(options, (function(_, options) { that._fireMarkerRemovedAction({ options: options }) })); return result })) }, adjustViewport: function() { return Promise.resolve() }, addRoutes: function(options) { var that = this; return this._updateMap().then((function(result) { (0, _iterator.each)(options, (function(_, options) { that._fireRouteAddedAction({ options: options }) })); return result })) }, removeRoutes: function(options) { var that = this; return this._updateMap().then((function(result) { (0, _iterator.each)(options, (function(_, options) { that._fireRouteRemovedAction({ options: options }) })); return result })) }, clean: function() { this._$container.css("backgroundImage", "none"); _events_engine.default.off(this._$container, this._addEventNamespace(_click.name)); return Promise.resolve() }, mapRendered: function() { return true }, _updateMap: function() { var key = this._keyOption("googleStatic"); var $container = this._$container; var requestOptions = ["sensor=false", "size=" + Math.round((0, _size.getWidth)($container)) + "x" + Math.round((0, _size.getHeight)($container)), "maptype=" + this._option("type"), "center=" + this._locationToString(this._option("center")), "zoom=" + this._option("zoom"), this._markersSubstring()]; requestOptions.push.apply(requestOptions, this._routeSubstrings()); if (key) { requestOptions.push("key=" + key) } var request = "https://maps.google.com/maps/api/staticmap?" + requestOptions.join("&"); this._$container.css("background", 'url("' + request + '") no-repeat 0 0'); this._attachClickEvent(); return Promise.resolve(true) }, _markersSubstring: function() { var that = this; var markers = []; var markerIcon = this._option("markerIconSrc"); if (markerIcon) { markers.push("icon:" + markerIcon) }(0, _iterator.each)(this._option("markers"), (function(_, marker) { markers.push(that._locationToString(marker.location)) })); return "markers=" + markers.join("|") }, _routeSubstrings: function() { var that = this; var routes = []; (0, _iterator.each)(this._option("routes"), (function(_, route) { var color = new _color.default(route.color || that._defaultRouteColor()).toHex().replace("#", "0x"); var opacity = Math.round(255 * (route.opacity || that._defaultRouteOpacity())).toString(16); var width = route.weight || that._defaultRouteWeight(); var locations = []; (0, _iterator.each)(route.locations, (function(_, routePoint) { locations.push(that._locationToString(routePoint)) })); routes.push("path=color:" + color + opacity + "|weight:" + width + "|" + locations.join("|")) })); return routes }, _attachClickEvent: function() { var that = this; var eventName = this._addEventNamespace(_click.name); _events_engine.default.off(this._$container, eventName); _events_engine.default.on(this._$container, eventName, (function(e) { that._fireClickAction({ event: e }) })) } }); var _default = GoogleStaticProvider; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 90169: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/map/provider.js ***! \****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _class = (obj = __webpack_require__( /*! ../../core/class */ 38377), obj && obj.__esModule ? obj : { default: obj }); var obj; var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var abstract = _class.default.abstract; var Provider = _class.default.inherit({ _defaultRouteWeight: function() { return 5 }, _defaultRouteOpacity: function() { return .5 }, _defaultRouteColor: function() { return "#0000FF" }, ctor: function(map, $container) { this._mapWidget = map; this._$container = $container }, render: function(markerOptions, routeOptions) { return this._renderImpl().then(function() { return Promise.all([this._applyFunctionIfNeeded("addMarkers", markerOptions), this._applyFunctionIfNeeded("addRoutes", routeOptions)]).then((function() { return true })) }.bind(this)) }, _renderImpl: abstract, updateDimensions: abstract, updateMapType: abstract, updateBounds: abstract, updateCenter: abstract, updateZoom: abstract, updateControls: abstract, updateMarkers: function(markerOptionsToRemove, markerOptionsToAdd) { return new Promise(function(resolve) { return this._applyFunctionIfNeeded("removeMarkers", markerOptionsToRemove).then(function(removeValue) { this._applyFunctionIfNeeded("addMarkers", markerOptionsToAdd).then((function(addValue) { resolve(addValue ? addValue : removeValue) })) }.bind(this)) }.bind(this)) }, addMarkers: abstract, removeMarkers: abstract, adjustViewport: abstract, updateRoutes: function(routeOptionsToRemove, routeOptionsToAdd) { return new Promise(function(resolve) { return this._applyFunctionIfNeeded("removeRoutes", routeOptionsToRemove).then(function(removeValue) { this._applyFunctionIfNeeded("addRoutes", routeOptionsToAdd).then((function(addValue) { resolve(addValue ? addValue : removeValue) })) }.bind(this)) }.bind(this)) }, addRoutes: abstract, removeRoutes: abstract, clean: abstract, map: function() { return this._map }, isEventsCanceled: function() { return false }, _option: function(name, value) { if (void 0 === value) { return this._mapWidget.option(name) } this._mapWidget.setOptionSilent(name, value) }, _keyOption: function(providerName) { var key = this._option("apiKey"); return void 0 === key[providerName] ? key : key[providerName] }, _parseTooltipOptions: function(option) { return { text: option.text || option, visible: option.isShown || false } }, _getLatLng: function(location) { if ("string" === typeof location) { var coords = (0, _iterator.map)(location.split(","), (function(item) { return item.trim() })); var numericRegex = /^[-+]?[0-9]*\.?[0-9]*$/; if (2 === coords.length && coords[0].match(numericRegex) && coords[1].match(numericRegex)) { return { lat: parseFloat(coords[0]), lng: parseFloat(coords[1]) } } } else if (Array.isArray(location) && 2 === location.length) { return { lat: location[0], lng: location[1] } } else if ((0, _type.isPlainObject)(location) && (0, _type.isNumeric)(location.lat) && (0, _type.isNumeric)(location.lng)) { return location } return null }, _areBoundsSet: function() { return this._option("bounds.northEast") && this._option("bounds.southWest") }, _addEventNamespace: function(name) { return (0, _index.addNamespace)(name, this._mapWidget.NAME) }, _applyFunctionIfNeeded: function(fnName, array) { if (!array.length) { return Promise.resolve() } return this[fnName](array) }, _fireAction: function(name, actionArguments) { this._mapWidget._createActionByOption(name)(actionArguments) }, _fireClickAction: function(actionArguments) { this._fireAction("onClick", actionArguments) }, _fireMarkerAddedAction: function(actionArguments) { this._fireAction("onMarkerAdded", actionArguments) }, _fireMarkerRemovedAction: function(actionArguments) { this._fireAction("onMarkerRemoved", actionArguments) }, _fireRouteAddedAction: function(actionArguments) { this._fireAction("onRouteAdded", actionArguments) }, _fireRouteRemovedAction: function(actionArguments) { this._fireAction("onRouteRemoved", actionArguments) } }); var _default = Provider; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 76995: /*!********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/menu.js ***! \********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./menu/ui.menu */ 2616), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 2616: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/menu/ui.menu.js ***! \****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _utils = __webpack_require__( /*! ../overlay/utils */ 13660); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _hover = __webpack_require__( /*! ../../events/hover */ 24028); var _ui = _interopRequireDefault(__webpack_require__( /*! ../context_menu/ui.menu_base */ 46377)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../overlay/ui.overlay */ 89799)); var _ui3 = _interopRequireDefault(__webpack_require__( /*! ./ui.submenu */ 59987)); var _button = _interopRequireDefault(__webpack_require__( /*! ../button */ 63008)); var _tree_view = _interopRequireDefault(__webpack_require__( /*! ../tree_view */ 30254)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DEFAULT_DELAY = { show: 50, hide: 300 }; var ACTIONS = ["onSubmenuShowing", "onSubmenuShown", "onSubmenuHiding", "onSubmenuHidden", "onItemContextMenu", "onItemClick", "onSelectionChanged", "onItemRendered"]; var Menu = function(_MenuBase) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Menu, _MenuBase); function Menu() { return _MenuBase.apply(this, arguments) || this } var _proto = Menu.prototype; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_MenuBase.prototype._getDefaultOptions.call(this), { orientation: "horizontal", submenuDirection: "auto", showFirstSubmenuMode: { name: "onClick", delay: { show: 50, hide: 300 } }, hideSubmenuOnMouseLeave: false, onSubmenuShowing: null, onSubmenuShown: null, onSubmenuHiding: null, onSubmenuHidden: null, adaptivityEnabled: false }) }; _proto._setOptionsByReference = function() { _MenuBase.prototype._setOptionsByReference.call(this); (0, _extend.extend)(this._optionsByReference, { animation: true, selectedItem: true }) }; _proto._itemElements = function() { var rootMenuElements = _MenuBase.prototype._itemElements.call(this); var submenuElements = this._submenuItemElements(); return rootMenuElements.add(submenuElements) }; _proto._submenuItemElements = function() { var elements = []; var itemSelector = ".".concat("dx-menu-item"); var currentSubmenu = this._submenus.length && this._submenus[0]; if (currentSubmenu && currentSubmenu.itemsContainer()) { elements = currentSubmenu.itemsContainer().find(itemSelector) } return elements }; _proto._focusTarget = function() { return this.$element() }; _proto._isMenuHorizontal = function() { return "horizontal" === this.option("orientation") }; _proto._moveFocus = function(location) { var $items = this._getAvailableItems(); var isMenuHorizontal = this._isMenuHorizontal(); var $activeItem = this._getActiveItem(true); var argument; var operation; var navigationAction; var $newTarget; switch (location) { case "up": operation = isMenuHorizontal ? "showSubmenu" : this._getItemsNavigationOperation("prevItem"); argument = isMenuHorizontal ? $activeItem : $items; navigationAction = this._getKeyboardNavigationAction(operation, argument); $newTarget = navigationAction(); break; case "down": operation = isMenuHorizontal ? "showSubmenu" : this._getItemsNavigationOperation("nextItem"); argument = isMenuHorizontal ? $activeItem : $items; navigationAction = this._getKeyboardNavigationAction(operation, argument); $newTarget = navigationAction(); break; case "right": operation = isMenuHorizontal ? this._getItemsNavigationOperation("nextItem") : "showSubmenu"; argument = isMenuHorizontal ? $items : $activeItem; navigationAction = this._getKeyboardNavigationAction(operation, argument); $newTarget = navigationAction(); break; case "left": operation = isMenuHorizontal ? this._getItemsNavigationOperation("prevItem") : "showSubmenu"; argument = isMenuHorizontal ? $items : $activeItem; navigationAction = this._getKeyboardNavigationAction(operation, argument); $newTarget = navigationAction(); break; default: return _MenuBase.prototype._moveFocus.call(this, location) } if ($newTarget && 0 !== $newTarget.length) { this.option("focusedElement", (0, _element.getPublicElement)($newTarget)) } }; _proto._getItemsNavigationOperation = function(operation) { var navOperation = operation; if (this.option("rtlEnabled")) { navOperation = "prevItem" === operation ? "nextItem" : "prevItem" } return navOperation }; _proto._getKeyboardNavigationAction = function(operation, argument) { var action = _common.noop; switch (operation) { case "showSubmenu": if (!argument.hasClass("dx-state-disabled")) { action = this._showSubmenu.bind(this, argument) } break; case "nextItem": action = this._nextItem.bind(this, argument); break; case "prevItem": action = this._prevItem.bind(this, argument) } return action }; _proto._clean = function() { _MenuBase.prototype._clean.call(this); this.option("templatesRenderAsynchronously") && clearTimeout(this._resizeEventTimer) }; _proto._visibilityChanged = function(visible) { if (visible) { if (!this._menuItemsWidth) { this._updateItemsWidthCache() } this._dimensionChanged() } }; _proto._isAdaptivityEnabled = function() { return this.option("adaptivityEnabled") && "horizontal" === this.option("orientation") }; _proto._updateItemsWidthCache = function() { var $menuItems = this.$element().find("ul").first().children("li").children(".".concat("dx-menu-item")); this._menuItemsWidth = this._getSummaryItemsWidth($menuItems, true) }; _proto._dimensionChanged = function() { if (!this._isAdaptivityEnabled()) { return } var containerWidth = (0, _size.getOuterWidth)(this.$element()); this._toggleAdaptiveMode(this._menuItemsWidth > containerWidth) }; _proto._init = function() { _MenuBase.prototype._init.call(this); this._submenus = [] }; _proto._initActions = function() { var _this = this; this._actions = {}; (0, _iterator.each)(ACTIONS, (function(index, action) { _this._actions[action] = _this._createActionByOption(action) })) }; _proto._initMarkup = function() { this._visibleSubmenu = null; this.$element().addClass("dx-menu"); _MenuBase.prototype._initMarkup.call(this); this._addCustomCssClass(this.$element()); this.setAria("role", "menubar") }; _proto._render = function() { _MenuBase.prototype._render.call(this); this._initAdaptivity() }; _proto._renderHamburgerButton = function() { this._hamburger = new _button.default((0, _renderer.default)("<div>").addClass("dx-menu-hamburger-button"), { icon: "menu", activeStateEnabled: false, onClick: this._toggleTreeView.bind(this) }); return this._hamburger.$element() }; _proto._toggleTreeView = function(state) { if ((0, _type.isPlainObject)(state)) { state = !this._overlay.option("visible") } this._overlay.option("visible", state); this._toggleHamburgerActiveState(state) }; _proto._toggleHamburgerActiveState = function(state) { this._hamburger && this._hamburger.$element().toggleClass("dx-state-active", state) }; _proto._toggleAdaptiveMode = function(state) { var $menuItemsContainer = this.$element().find(".".concat("dx-menu-horizontal")); var $adaptiveElements = this.$element().find(".".concat("dx-menu-adaptive-mode")); if (state) { this._hideVisibleSubmenu() } else { this._treeView && this._treeView.collapseAll(); this._overlay && this._toggleTreeView(state) } $menuItemsContainer.toggle(!state); $adaptiveElements.toggle(state) }; _proto._removeAdaptivity = function() { if (!this._$adaptiveContainer) { return } this._toggleAdaptiveMode(false); this._$adaptiveContainer.remove(); this._$adaptiveContainer = null; this._treeView = null; this._hamburger = null; this._overlay = null }; _proto._treeviewItemClickHandler = function(e) { this._actions.onItemClick(e); if (!e.node.children.length) { this._toggleTreeView(false) } }; _proto._getAdaptiveOverlayOptions = function() { var _this2 = this; var rtl = this.option("rtlEnabled"); var position = rtl ? "right" : "left"; return { _ignoreFunctionValueDeprecation: true, maxHeight: function() { return (0, _utils.getElementMaxHeightByWindow)(_this2.$element()) }, deferRendering: false, shading: false, animation: false, hideOnParentScroll: true, onHidden: function() { _this2._toggleHamburgerActiveState(false) }, height: "auto", hideOnOutsideClick: function(e) { return !(0, _renderer.default)(e.target).closest(".".concat("dx-menu-hamburger-button")).length }, position: { collision: "flipfit", at: "bottom " + position, my: "top " + position, of: this._hamburger.$element() } } }; _proto._getTreeViewOptions = function() { var _this3 = this; var menuOptions = {}; (0, _iterator.each)(["rtlEnabled", "width", "accessKey", "activeStateEnabled", "animation", "dataSource", "disabled", "displayExpr", "displayExpr", "focusStateEnabled", "hint", "hoverStateEnabled", "itemsExpr", "items", "itemTemplate", "selectedExpr", "selectionMode", "tabIndex", "visible"], (function(_, option) { menuOptions[option] = _this3.option(option) })); (0, _iterator.each)(["onItemContextMenu", "onSelectionChanged", "onItemRendered"], (function(_, actionName) { menuOptions[actionName] = function(e) { _this3._actions[actionName](e) } })); return (0, _extend.extend)(menuOptions, { dataSource: this.getDataSource(), animationEnabled: !!this.option("animation"), onItemClick: this._treeviewItemClickHandler.bind(this), onItemExpanded: function(e) { _this3._overlay.repaint(); _this3._actions.onSubmenuShown(e) }, onItemCollapsed: function(e) { _this3._overlay.repaint(); _this3._actions.onSubmenuHidden(e) }, selectNodesRecursive: false, selectByClick: this.option("selectByClick"), expandEvent: "click" }) }; _proto._initAdaptivity = function() { if (!this._isAdaptivityEnabled()) { return } this._$adaptiveContainer = (0, _renderer.default)("<div>").addClass("dx-menu-adaptive-mode"); var $hamburger = this._renderHamburgerButton(); this._treeView = this._createComponent((0, _renderer.default)("<div>"), _tree_view.default, this._getTreeViewOptions()); this._overlay = this._createComponent((0, _renderer.default)("<div>"), _ui2.default, this._getAdaptiveOverlayOptions()); this._overlay.$content().append(this._treeView.$element()).addClass("dx-menu-adaptive-mode").addClass(this.option("cssClass")); this._overlay.$wrapper().addClass("dx-menu-adaptive-mode-overlay-wrapper"); this._$adaptiveContainer.append($hamburger); this._$adaptiveContainer.append(this._overlay.$element()); this.$element().append(this._$adaptiveContainer); this._updateItemsWidthCache(); this._dimensionChanged() }; _proto._getDelay = function(delayType) { var delay = this.option("showFirstSubmenuMode").delay; if (!(0, _type.isDefined)(delay)) { return DEFAULT_DELAY[delayType] } else { return (0, _type.isObject)(delay) ? delay[delayType] : delay } }; _proto._keyboardHandler = function(e) { return _MenuBase.prototype._keyboardHandler.call(this, e, !!this._visibleSubmenu) }; _proto._renderContainer = function() { var $wrapper = (0, _renderer.default)("<div>"); $wrapper.appendTo(this.$element()).addClass(this._isMenuHorizontal() ? "dx-menu-horizontal" : "dx-menu-vertical"); return _MenuBase.prototype._renderContainer.call(this, $wrapper) }; _proto._renderSubmenuItems = function(node, $itemFrame) { var submenu = this._createSubmenu(node, $itemFrame); this._submenus.push(submenu); this._renderBorderElement($itemFrame); return submenu }; _proto._getKeyboardListeners = function() { return _MenuBase.prototype._getKeyboardListeners.call(this).concat(this._visibleSubmenu) }; _proto._createSubmenu = function(node, $rootItem) { var $submenuContainer = (0, _renderer.default)("<div>").addClass("dx-context-menu").appendTo($rootItem); var items = this._getChildNodes(node); var subMenu = this._createComponent($submenuContainer, _ui3.default, (0, _extend.extend)(this._getSubmenuOptions(), { _dataAdapter: this._dataAdapter, _parentKey: node.internalFields.key, items: items, onHoverStart: this._clearTimeouts.bind(this), position: this.getSubmenuPosition($rootItem) })); this._attachSubmenuHandlers($rootItem, subMenu); return subMenu }; _proto._getSubmenuOptions = function() { var _this4 = this; var $submenuTarget = (0, _renderer.default)("<div>"); var isMenuHorizontal = this._isMenuHorizontal(); return { itemTemplate: this.option("itemTemplate"), target: $submenuTarget, orientation: this.option("orientation"), selectionMode: this.option("selectionMode"), cssClass: this.option("cssClass"), selectByClick: this.option("selectByClick"), hoverStateEnabled: this.option("hoverStateEnabled"), activeStateEnabled: this.option("activeStateEnabled"), focusStateEnabled: this.option("focusStateEnabled"), animation: this.option("animation"), showSubmenuMode: this.option("showSubmenuMode"), displayExpr: this.option("displayExpr"), disabledExpr: this.option("disabledExpr"), selectedExpr: this.option("selectedExpr"), itemsExpr: this.option("itemsExpr"), onFocusedItemChanged: function(e) { if (!e.component.option("visible")) { return } _this4.option("focusedElement", e.component.option("focusedElement")) }, onSelectionChanged: this._nestedItemOnSelectionChangedHandler.bind(this), onItemClick: this._nestedItemOnItemClickHandler.bind(this), onItemRendered: this._nestedItemOnItemRenderedHandler.bind(this), onLeftFirstItem: isMenuHorizontal ? null : this._moveMainMenuFocus.bind(this, "prevItem"), onLeftLastItem: isMenuHorizontal ? null : this._moveMainMenuFocus.bind(this, "nextItem"), onCloseRootSubmenu: this._moveMainMenuFocus.bind(this, isMenuHorizontal ? "prevItem" : null), onExpandLastSubmenu: isMenuHorizontal ? this._moveMainMenuFocus.bind(this, "nextItem") : null } }; _proto._getShowFirstSubmenuMode = function() { if (!this._isDesktopDevice()) { return "onClick" } var optionValue = this.option("showFirstSubmenuMode"); return (0, _type.isObject)(optionValue) ? optionValue.name : optionValue }; _proto._moveMainMenuFocus = function(direction) { var $items = this._getAvailableItems(); var itemCount = $items.length; var $currentItem = $items.filter(".".concat("dx-menu-item-expanded")).eq(0); var itemIndex = $items.index($currentItem); this._hideSubmenu(this._visibleSubmenu); itemIndex += "prevItem" === direction ? -1 : 1; if (itemIndex >= itemCount) { itemIndex = 0 } else if (itemIndex < 0) { itemIndex = itemCount - 1 } var $newItem = $items.eq(itemIndex); this.option("focusedElement", (0, _element.getPublicElement)($newItem)) }; _proto._nestedItemOnSelectionChangedHandler = function(args) { var selectedItem = args.addedItems.length && args.addedItems[0]; var submenu = _ui3.default.getInstance(args.element); var onSelectionChanged = this._actions.onSelectionChanged; onSelectionChanged(args); selectedItem && this._clearSelectionInSubmenus(selectedItem[0], submenu); this._clearRootSelection(); this._setOptionWithoutOptionChange("selectedItem", selectedItem) }; _proto._clearSelectionInSubmenus = function(item, targetSubmenu) { var _this5 = this; var cleanAllSubmenus = !arguments.length; (0, _iterator.each)(this._submenus, (function(index, submenu) { var $submenu = submenu._itemContainer(); var isOtherItem = !$submenu.is(targetSubmenu && targetSubmenu._itemContainer()); var $selectedItem = $submenu.find(".".concat(_this5._selectedItemClass())); if (isOtherItem && $selectedItem.length || cleanAllSubmenus) { $selectedItem.removeClass(_this5._selectedItemClass()); var selectedItemData = _this5._getItemData($selectedItem); if (selectedItemData) { selectedItemData.selected = false } submenu._clearSelectedItems() } })) }; _proto._clearRootSelection = function() { var $prevSelectedItem = this.$element().find(".".concat("dx-menu-items-container")).first().children().children().filter(".".concat(this._selectedItemClass())); if ($prevSelectedItem.length) { var prevSelectedItemData = this._getItemData($prevSelectedItem); prevSelectedItemData.selected = false; $prevSelectedItem.removeClass(this._selectedItemClass()) } }; _proto._nestedItemOnItemClickHandler = function(e) { this._actions.onItemClick(e) }; _proto._nestedItemOnItemRenderedHandler = function(e) { this._actions.onItemRendered(e) }; _proto._attachSubmenuHandlers = function($rootItem, submenu) { var _this6 = this; var $submenuOverlayContent = submenu.getOverlayContent(); var submenus = $submenuOverlayContent.find(".".concat("dx-submenu")); var submenuMouseLeaveName = (0, _index.addNamespace)(_hover.end, this.NAME + "_submenu"); submenu.option({ onShowing: this._submenuOnShowingHandler.bind(this, $rootItem, submenu), onShown: this._submenuOnShownHandler.bind(this, $rootItem, submenu), onHiding: this._submenuOnHidingHandler.bind(this, $rootItem, submenu), onHidden: this._submenuOnHiddenHandler.bind(this, $rootItem, submenu) }); (0, _iterator.each)(submenus, (function(index, submenu) { _events_engine.default.off(submenu, submenuMouseLeaveName); _events_engine.default.on(submenu, submenuMouseLeaveName, null, _this6._submenuMouseLeaveHandler.bind(_this6, $rootItem)) })) }; _proto._submenuOnShowingHandler = function($rootItem, submenu) { var $border = $rootItem.children(".".concat("dx-context-menu-container-border")); this._actions.onSubmenuShowing({ rootItem: (0, _element.getPublicElement)($rootItem), submenu: submenu }); $border.show(); $rootItem.addClass("dx-menu-item-expanded") }; _proto._submenuOnShownHandler = function($rootItem, submenu) { this._actions.onSubmenuShown({ rootItem: (0, _element.getPublicElement)($rootItem), submenu: submenu }) }; _proto._submenuOnHidingHandler = function($rootItem, submenu, eventArgs) { var $border = $rootItem.children(".".concat("dx-context-menu-container-border")); var args = eventArgs; args.rootItem = (0, _element.getPublicElement)($rootItem); args.submenu = submenu; this._actions.onSubmenuHiding(args); eventArgs = args; if (!eventArgs.cancel) { if (this._visibleSubmenu === submenu) { this._visibleSubmenu = null } $border.hide(); $rootItem.removeClass("dx-menu-item-expanded") } }; _proto._submenuOnHiddenHandler = function($rootItem, submenu) { this._actions.onSubmenuHidden({ rootItem: (0, _element.getPublicElement)($rootItem), submenu: submenu }) }; _proto._submenuMouseLeaveHandler = function($rootItem, eventArgs) { var target = (0, _renderer.default)(eventArgs.relatedTarget).parents(".".concat("dx-context-menu"))[0]; var contextMenu = this._getSubmenuByRootElement($rootItem).getOverlayContent()[0]; if (this.option("hideSubmenuOnMouseLeave") && target !== contextMenu) { this._clearTimeouts(); setTimeout(this._hideSubmenuAfterTimeout.bind(this), this._getDelay("hide")) } }; _proto._hideSubmenuAfterTimeout = function() { if (!this._visibleSubmenu) { return } var isRootItemHovered = (0, _renderer.default)(this._visibleSubmenu.$element().context).hasClass("dx-state-hover"); var isSubmenuItemHovered = this._visibleSubmenu.getOverlayContent().find(".".concat("dx-state-hover")).length; var hoveredElementFromSubMenu = this._visibleSubmenu.getOverlayContent().get(0).querySelector(":hover"); if (!hoveredElementFromSubMenu && !isSubmenuItemHovered && !isRootItemHovered) { this._visibleSubmenu.hide() } }; _proto._getSubmenuByRootElement = function($rootItem) { if (!$rootItem) { return false } var $submenu = $rootItem.children(".".concat("dx-context-menu")); return $submenu.length && _ui3.default.getInstance($submenu) }; _proto.getSubmenuPosition = function($rootItem) { var isHorizontalMenu = this._isMenuHorizontal(); var submenuDirection = this.option("submenuDirection").toLowerCase(); var rtlEnabled = this.option("rtlEnabled"); var submenuPosition = { collision: "flip", of: $rootItem }; switch (submenuDirection) { case "leftortop": submenuPosition.at = "left top"; submenuPosition.my = isHorizontalMenu ? "left bottom" : "right top"; break; case "rightorbottom": submenuPosition.at = isHorizontalMenu ? "left bottom" : "right top"; submenuPosition.my = "left top"; break; default: if (isHorizontalMenu) { submenuPosition.at = rtlEnabled ? "right bottom" : "left bottom"; submenuPosition.my = rtlEnabled ? "right top" : "left top" } else { submenuPosition.at = rtlEnabled ? "left top" : "right top"; submenuPosition.my = rtlEnabled ? "right top" : "left top" } } return submenuPosition }; _proto._renderBorderElement = function($item) { (0, _renderer.default)("<div>").appendTo($item).addClass("dx-context-menu-container-border").hide() }; _proto._itemPointerDownHandler = function(e) { var $target = (0, _renderer.default)(e.target); var $closestItem = $target.closest(this._itemElements()); if ($closestItem.hasClass("dx-menu-item-has-submenu")) { this.option("focusedElement", null); return } _MenuBase.prototype._itemPointerDownHandler.call(this, e) }; _proto._hoverStartHandler = function(e) { var mouseMoveEventName = (0, _index.addNamespace)(_pointer.default.move, this.NAME); var $item = this._getItemElementByEventArgs(e); var node = this._dataAdapter.getNodeByItem(this._getItemData($item)); var isSelectionActive = (0, _type.isDefined)(e.buttons) && 1 === e.buttons || !(0, _type.isDefined)(e.buttons) && 1 === e.which; if (this._isItemDisabled($item)) { return } _events_engine.default.off($item, mouseMoveEventName); if (!this._hasChildren(node)) { this._showSubmenuTimer = setTimeout(this._hideSubmenuAfterTimeout.bind(this), this._getDelay("hide")); return } if ("onHover" === this._getShowFirstSubmenuMode() && !isSelectionActive) { var submenu = this._getSubmenuByElement($item); this._clearTimeouts(); if (!submenu.isOverlayVisible()) { _events_engine.default.on($item, mouseMoveEventName, this._itemMouseMoveHandler.bind(this)); this._showSubmenuTimer = this._getDelay("hide") } } }; _proto._hoverEndHandler = function(eventArg) { var _this7 = this; var $item = this._getItemElementByEventArgs(eventArg); var relatedTarget = (0, _renderer.default)(eventArg.relatedTarget); _MenuBase.prototype._hoverEndHandler.call(this, eventArg); this._clearTimeouts(); if (this._isItemDisabled($item)) { return } if (relatedTarget.hasClass("dx-context-menu-content-delimiter")) { return } if (this.option("hideSubmenuOnMouseLeave") && !relatedTarget.hasClass("dx-menu-items-container")) { this._hideSubmenuTimer = setTimeout((function() { _this7._hideSubmenuAfterTimeout() }), this._getDelay("hide")) } }; _proto._hideVisibleSubmenu = function() { if (!this._visibleSubmenu) { return false } this._hideSubmenu(this._visibleSubmenu); return true }; _proto._showSubmenu = function($itemElement) { var submenu = this._getSubmenuByElement($itemElement); if (this._visibleSubmenu !== submenu) { this._hideVisibleSubmenu() } if (submenu) { this._clearTimeouts(); this.focus(); submenu.show(); this.option("focusedElement", submenu.option("focusedElement")) } this._visibleSubmenu = submenu; this._hoveredRootItem = $itemElement }; _proto._hideSubmenu = function(submenu) { submenu && submenu.hide(); if (this._visibleSubmenu === submenu) { this._visibleSubmenu = null } this._hoveredRootItem = null }; _proto._itemMouseMoveHandler = function(e) { var _this8 = this; if (e.pointers && e.pointers.length) { return } var $item = (0, _renderer.default)(e.currentTarget); if (!(0, _type.isDefined)(this._showSubmenuTimer)) { return } this._clearTimeouts(); this._showSubmenuTimer = setTimeout((function() { var submenu = _this8._getSubmenuByElement($item); if (submenu && !submenu.isOverlayVisible()) { _this8._showSubmenu($item) } }), this._getDelay("show")) }; _proto._clearTimeouts = function() { clearTimeout(this._hideSubmenuTimer); clearTimeout(this._showSubmenuTimer) }; _proto._getSubmenuByElement = function($itemElement, itemData) { var submenu = this._getSubmenuByRootElement($itemElement); if (submenu) { return submenu } else { itemData = itemData || this._getItemData($itemElement); var node = this._dataAdapter.getNodeByItem(itemData); return this._hasChildren(node) && this._renderSubmenuItems(node, $itemElement) } }; _proto._updateSubmenuVisibilityOnClick = function(actionArgs) { var args = actionArgs.args.length && actionArgs.args[0]; if (!args || this._disabledGetter(args.itemData)) { return } var $itemElement = (0, _renderer.default)(args.itemElement); var currentSubmenu = this._getSubmenuByElement($itemElement, args.itemData); this._updateSelectedItemOnClick(actionArgs); if (this._visibleSubmenu) { if (this._visibleSubmenu === currentSubmenu) { if ("onClick" === this.option("showFirstSubmenuMode")) { this._hideSubmenu(this._visibleSubmenu) } return } else { this._hideSubmenu(this._visibleSubmenu) } } if (!currentSubmenu) { return } if (!currentSubmenu.isOverlayVisible()) { this._showSubmenu($itemElement); return } }; _proto._optionChanged = function(args) { if (ACTIONS.indexOf(args.name) >= 0) { this._initActions(); return } switch (args.name) { case "orientation": case "submenuDirection": this._invalidate(); break; case "showFirstSubmenuMode": case "hideSubmenuOnMouseLeave": break; case "showSubmenuMode": this._changeSubmenusOption(args.name, args.value); break; case "adaptivityEnabled": args.value ? this._initAdaptivity() : this._removeAdaptivity(); break; case "width": if (this._isAdaptivityEnabled()) { this._treeView.option(args.name, args.value); this._overlay.option(args.name, args.value) } _MenuBase.prototype._optionChanged.call(this, args); this._dimensionChanged(); break; case "animation": if (this._isAdaptivityEnabled()) { this._treeView.option("animationEnabled", !!args.value) } _MenuBase.prototype._optionChanged.call(this, args); break; default: if (this._isAdaptivityEnabled() && (args.name === args.fullName || "items" === args.name)) { this._treeView.option(args.fullName, args.value) } _MenuBase.prototype._optionChanged.call(this, args) } }; _proto._changeSubmenusOption = function(name, value) { (0, _iterator.each)(this._submenus, (function(index, submenu) { submenu.option(name, value) })) }; _proto.selectItem = function(itemElement) { this._hideSubmenu(this._visibleSubmenu); _MenuBase.prototype.selectItem.call(this, itemElement) }; _proto.unselectItem = function(itemElement) { this._hideSubmenu(this._visibleSubmenu); _MenuBase.prototype.selectItem.call(this, itemElement) }; return Menu }(_ui.default); (0, _component_registrator.default)("dxMenu", Menu); var _default = Menu; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 59987: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/menu/ui.submenu.js ***! \*******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _position = _interopRequireDefault(__webpack_require__( /*! ../../animation/position */ 49387)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _context_menu = _interopRequireDefault(__webpack_require__( /*! ../context_menu */ 10042)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var Submenu = function(_ContextMenu) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Submenu, _ContextMenu); function Submenu() { return _ContextMenu.apply(this, arguments) || this } var _proto = Submenu.prototype; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_ContextMenu.prototype._getDefaultOptions.call(this), { orientation: "horizontal", tabIndex: null, onHoverStart: _common.noop }) }; _proto._initDataAdapter = function() { this._dataAdapter = this.option("_dataAdapter"); if (!this._dataAdapter) { _ContextMenu.prototype._initDataAdapter.call(this) } }; _proto._renderContentImpl = function() { this._renderContextMenuOverlay(); _ContextMenu.prototype._renderContentImpl.call(this); var node = this._dataAdapter.getNodeByKey(this.option("_parentKey")); node && this._renderItems(this._getChildNodes(node)); this._renderDelimiter() }; _proto._renderDelimiter = function() { this.$contentDelimiter = (0, _renderer.default)("<div>").appendTo(this._itemContainer()).addClass("dx-context-menu-content-delimiter") }; _proto._getOverlayOptions = function() { return (0, _extend.extend)(_ContextMenu.prototype._getOverlayOptions.call(this), { onPositioned: this._overlayPositionedActionHandler.bind(this) }) }; _proto._overlayPositionedActionHandler = function(arg) { this._showDelimiter(arg) }; _proto._hoverEndHandler = function(e) { _ContextMenu.prototype._hoverEndHandler.call(this, e); this._toggleFocusClass(false, e.currentTarget) }; _proto._isMenuHorizontal = function() { return "horizontal" === this.option("orientation") }; _proto._hoverStartHandler = function(e) { var hoverStartAction = this.option("onHoverStart"); hoverStartAction(e); _ContextMenu.prototype._hoverStartHandler.call(this, e); this._toggleFocusClass(true, e.currentTarget) }; _proto._drawSubmenu = function($rootItem) { this._actions.onShowing({ rootItem: (0, _element.getPublicElement)($rootItem), submenu: this }); _ContextMenu.prototype._drawSubmenu.call(this, $rootItem); this._actions.onShown({ rootItem: (0, _element.getPublicElement)($rootItem), submenu: this }) }; _proto._hideSubmenu = function($rootItem) { this._actions.onHiding({ cancel: true, rootItem: (0, _element.getPublicElement)($rootItem), submenu: this }); _ContextMenu.prototype._hideSubmenu.call(this, $rootItem); this._actions.onHidden({ rootItem: (0, _element.getPublicElement)($rootItem), submenu: this }) }; _proto._showDelimiter = function(arg) { if (!this.$contentDelimiter) { return } var $submenu = this._itemContainer().children(".".concat("dx-submenu")).eq(0); var $rootItem = this.option("position").of; var position = { of: $submenu }; var containerOffset = arg.position; var vLocation = containerOffset.v.location; var hLocation = containerOffset.h.location; var rootOffset = $rootItem.offset(); var offsetLeft = Math.round(rootOffset.left); var offsetTop = Math.round(rootOffset.top); var rootWidth = (0, _size.getWidth)($rootItem); var rootHeight = (0, _size.getHeight)($rootItem); var submenuWidth = (0, _size.getWidth)($submenu); var submenuHeight = (0, _size.getHeight)($submenu); this.$contentDelimiter.css("display", "block"); (0, _size.setWidth)(this.$contentDelimiter, this._isMenuHorizontal() ? rootWidth < submenuWidth ? rootWidth - 2 : submenuWidth : 2); (0, _size.setHeight)(this.$contentDelimiter, this._isMenuHorizontal() ? 2 : rootHeight < submenuHeight ? rootHeight - 2 : submenuHeight); if (this._isMenuHorizontal()) { if (vLocation > offsetTop) { if (Math.round(hLocation) === offsetLeft) { position.offset = "1 -1"; position.at = position.my = "left top" } else { position.offset = "-1 -1"; position.at = position.my = "right top" } } else { (0, _size.setHeight)(this.$contentDelimiter, 5); if (Math.round(hLocation) === offsetLeft) { position.offset = "1 4"; position.at = position.my = "left bottom" } else { position.offset = "-1 2"; position.at = position.my = "right bottom" } } } else if (hLocation > offsetLeft) { if (Math.round(vLocation) === offsetTop) { position.offset = "-1 1"; position.at = position.my = "left top" } else { position.offset = "-1 -1"; position.at = position.my = "left bottom" } } else if (Math.round(vLocation) === offsetTop) { position.offset = "1 1"; position.at = position.my = "right top" } else { position.offset = "1 -1"; position.at = position.my = "right bottom" } _position.default.setup(this.$contentDelimiter, position) }; _proto._getContextMenuPosition = function() { return this.option("position") }; _proto.isOverlayVisible = function() { return this._overlay.option("visible") }; _proto.getOverlayContent = function() { return this._overlay.$content() }; return Submenu }(_context_menu.default); var _default = Submenu; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 86478: /*!**************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/multi_view.js ***! \**************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _translator2 = __webpack_require__( /*! ../animation/translator */ 31648); var _uiMulti_view = __webpack_require__( /*! ./multi_view/ui.multi_view.animation */ 22053); var _math = __webpack_require__( /*! ../core/utils/math */ 60810); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _visibility_change = __webpack_require__( /*! ../events/visibility_change */ 80506); var _element = __webpack_require__( /*! ../core/element */ 6415); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ./collection/ui.collection_widget.live_update */ 69010)); var _swipeable = _interopRequireDefault(__webpack_require__( /*! ../events/gesture/swipeable */ 66894)); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var toNumber = function(value) { return +value }; var MultiView = _uiCollection_widget.default.inherit({ _activeStateUnit: ".dx-multiview-item", _supportedKeys: function() { return (0, _extend.extend)(this.callBase(), { pageUp: _common.noop, pageDown: _common.noop }) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { selectedIndex: 0, swipeEnabled: true, animationEnabled: true, loop: false, deferRendering: true, _itemAttributes: { role: "tabpanel" }, loopItemFocus: false, selectOnFocus: true, selectionMode: "single", selectionRequired: true, selectByClick: false }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }]) }, _itemClass: function() { return "dx-multiview-item" }, _itemDataKey: function() { return "dxMultiViewItemData" }, _itemContainer: function() { return this._$itemContainer }, _itemElements: function() { return this._itemContainer().children(this._itemSelector()) }, _itemWidth: function() { if (!this._itemWidthValue) { this._itemWidthValue = (0, _size.getWidth)(this._$wrapper) } return this._itemWidthValue }, _clearItemWidthCache: function() { delete this._itemWidthValue }, _itemsCount: function() { return this.option("items").length }, _normalizeIndex: function(index) { var count = this._itemsCount(); if (index < 0) { index += count } if (index >= count) { index -= count } return index }, _getRTLSignCorrection: function() { return this.option("rtlEnabled") ? -1 : 1 }, _init: function() { this.callBase.apply(this, arguments); var $element = this.$element(); $element.addClass("dx-multiview"); this._$wrapper = (0, _renderer.default)("<div>").addClass("dx-multiview-wrapper"); this._$wrapper.appendTo($element); this._$itemContainer = (0, _renderer.default)("<div>").addClass("dx-multiview-item-container"); this._$itemContainer.appendTo(this._$wrapper); this.option("loopItemFocus", this.option("loop")); this._findBoundaryIndices(); this._initSwipeable() }, _initMarkup: function() { this._deferredItems = []; this.callBase(); var selectedItemIndices = this._getSelectedItemIndices(); this._updateItemsVisibility(selectedItemIndices[0]) }, _afterItemElementDeleted: function($item, deletedActionArgs) { this.callBase($item, deletedActionArgs); if (this._deferredItems) { this._deferredItems.splice(deletedActionArgs.itemIndex, 1) } }, _beforeItemElementInserted: function(change) { this.callBase.apply(this, arguments); if (this._deferredItems) { this._deferredItems.splice(change.index, 0, null) } }, _executeItemRenderAction: function(index, itemData, itemElement) { index = (this.option("items") || []).indexOf(itemData); this.callBase(index, itemData, itemElement) }, _renderItemContent: function(args) { var renderContentDeferred = new _deferred.Deferred; var that = this; var callBase = this.callBase; var deferred = new _deferred.Deferred; deferred.done((function() { var $itemContent = callBase.call(that, args); renderContentDeferred.resolve($itemContent) })); this._deferredItems[args.index] = deferred; this.option("deferRendering") || deferred.resolve(); return renderContentDeferred.promise() }, _render: function() { var _this = this; this.callBase(); (0, _common.deferRender)((function() { var selectedItemIndices = _this._getSelectedItemIndices(); _this._updateItems(selectedItemIndices[0]) })) }, _updateItems: function(selectedIndex, newIndex) { this._updateItemsPosition(selectedIndex, newIndex); this._updateItemsVisibility(selectedIndex, newIndex) }, _modifyByChanges: function() { this.callBase.apply(this, arguments); var selectedItemIndices = this._getSelectedItemIndices(); this._updateItemsVisibility(selectedItemIndices[0]) }, _updateItemsPosition: function(selectedIndex, newIndex) { var $itemElements = this._itemElements(); var positionSign = (0, _type.isDefined)(newIndex) ? -this._animationDirection(newIndex, selectedIndex) : void 0; var $selectedItem = $itemElements.eq(selectedIndex); _uiMulti_view._translator.move($selectedItem, 0); if ((0, _type.isDefined)(newIndex)) { _uiMulti_view._translator.move($itemElements.eq(newIndex), 100 * positionSign + "%") } }, _updateItemsVisibility: function(selectedIndex, newIndex) { var $itemElements = this._itemElements(); $itemElements.each(function(itemIndex, item) { var $item = (0, _renderer.default)(item); var isHidden = itemIndex !== selectedIndex && itemIndex !== newIndex; if (!isHidden) { this._renderSpecificItem(itemIndex) } $item.toggleClass("dx-multiview-item-hidden", isHidden); this.setAria("hidden", isHidden || void 0, $item) }.bind(this)) }, _renderSpecificItem: function(index) { var $item = this._itemElements().eq(index); var hasItemContent = $item.find(this._itemContentClass()).length > 0; if ((0, _type.isDefined)(index) && !hasItemContent) { this._deferredItems[index].resolve(); (0, _visibility_change.triggerResizeEvent)($item) } }, _refreshItem: function($item, item) { this.callBase($item, item); this._updateItemsVisibility(this.option("selectedIndex")) }, _setAriaSelectionAttribute: _common.noop, _updateSelection: function(addedSelection, removedSelection) { var newIndex = addedSelection[0]; var prevIndex = removedSelection[0]; _uiMulti_view.animation.complete(this._$itemContainer); this._updateItems(prevIndex, newIndex); var animationDirection = this._animationDirection(newIndex, prevIndex); this._animateItemContainer(animationDirection * this._itemWidth(), function() { _uiMulti_view._translator.move(this._$itemContainer, 0); this._updateItems(newIndex); (0, _size.getWidth)(this._$itemContainer) }.bind(this)) }, _animateItemContainer: function(position, completeCallback) { var duration = this.option("animationEnabled") ? 200 : 0; _uiMulti_view.animation.moveTo(this._$itemContainer, position, duration, completeCallback) }, _animationDirection: function(newIndex, prevIndex) { var containerPosition = ($element = this._$itemContainer, (0, _translator2.locate)($element).left); var $element; var indexDifference = (prevIndex - newIndex) * this._getRTLSignCorrection() * this._getItemFocusLoopSignCorrection(); var isSwipePresent = 0 !== containerPosition; var directionSignVariable = isSwipePresent ? containerPosition : indexDifference; return (0, _math.sign)(directionSignVariable) }, _getSwipeDisabledState: function() { return !this.option("swipeEnabled") || this._itemsCount() <= 1 }, _initSwipeable: function() { var _this2 = this; this._createComponent(this.$element(), _swipeable.default, { disabled: this._getSwipeDisabledState(), elastic: false, itemSizeFunc: this._itemWidth.bind(this), onStart: function(args) { return _this2._swipeStartHandler(args.event) }, onUpdated: function(args) { return _this2._swipeUpdateHandler(args.event) }, onEnd: function(args) { return _this2._swipeEndHandler(args.event) } }) }, _findBoundaryIndices: function() { var _firstIndex2, _lastIndex; var items = this.option("items"); var firstIndex; var lastIndex; items.forEach((function(item, index) { var isDisabled = Boolean(null === item || void 0 === item ? void 0 : item.disabled); if (!isDisabled) { var _firstIndex; null !== (_firstIndex = firstIndex) && void 0 !== _firstIndex ? _firstIndex : firstIndex = index; lastIndex = index } })); this._boundaryIndices = { firstAvailableIndex: null !== (_firstIndex2 = firstIndex) && void 0 !== _firstIndex2 ? _firstIndex2 : 0, lastAvailableIndex: null !== (_lastIndex = lastIndex) && void 0 !== _lastIndex ? _lastIndex : items.length - 1, firstTrueIndex: 0, lastTrueIndex: items.length - 1 } }, _swipeStartHandler: function(e) { _uiMulti_view.animation.complete(this._$itemContainer); var selectedIndex = this.option("selectedIndex"); var loop = this.option("loop"); var _this$_boundaryIndice = this._boundaryIndices, firstAvailableIndex = _this$_boundaryIndice.firstAvailableIndex, lastAvailableIndex = _this$_boundaryIndice.lastAvailableIndex; var rtl = this.option("rtlEnabled"); e.maxLeftOffset = toNumber(loop || (rtl ? selectedIndex > firstAvailableIndex : selectedIndex < lastAvailableIndex)); e.maxRightOffset = toNumber(loop || (rtl ? selectedIndex < lastAvailableIndex : selectedIndex > firstAvailableIndex)); this._swipeDirection = null }, _swipeUpdateHandler: function(e) { var offset = e.offset; var swipeDirection = (0, _math.sign)(offset) * this._getRTLSignCorrection(); _uiMulti_view._translator.move(this._$itemContainer, offset * this._itemWidth()); if (swipeDirection !== this._swipeDirection) { this._swipeDirection = swipeDirection; var selectedIndex = this.option("selectedIndex"); var newIndex = this._normalizeIndex(selectedIndex - swipeDirection); this._updateItems(selectedIndex, newIndex) } }, _findNextAvailableIndex: function(index, offset) { var _this$option = this.option(), items = _this$option.items, loop = _this$option.loop; var _this$_boundaryIndice2 = this._boundaryIndices, firstAvailableIndex = _this$_boundaryIndice2.firstAvailableIndex, lastAvailableIndex = _this$_boundaryIndice2.lastAvailableIndex, firstTrueIndex = _this$_boundaryIndice2.firstTrueIndex, lastTrueIndex = _this$_boundaryIndice2.lastTrueIndex; var isFirstActive = [firstTrueIndex, firstAvailableIndex].includes(index); var isLastActive = [lastTrueIndex, lastAvailableIndex].includes(index); if (loop) { if (isFirstActive && offset < 0) { return lastAvailableIndex } else if (isLastActive && offset > 0) { return firstAvailableIndex } } for (var i = index + offset; i >= firstAvailableIndex && i <= lastAvailableIndex; i += offset) { var isDisabled = Boolean(items[i].disabled); if (!isDisabled) { return i } } return index }, _swipeEndHandler: function(e) { var targetOffset = e.targetOffset * this._getRTLSignCorrection(); if (targetOffset) { var newSelectedIndex = this._findNextAvailableIndex(this.option("selectedIndex"), -targetOffset); this.option("selectedIndex", newSelectedIndex); var $selectedElement = this.itemElements().filter(".dx-item-selected"); this.option("focusStateEnabled") && this.option("focusedElement", (0, _element.getPublicElement)($selectedElement)) } else { this._animateItemContainer(0, _common.noop) } }, _getItemFocusLoopSignCorrection: function() { return this._itemFocusLooped ? -1 : 1 }, _moveFocus: function() { this.callBase.apply(this, arguments); this._itemFocusLooped = false }, _prevItem: function($items) { var $result = this.callBase.apply(this, arguments); this._itemFocusLooped = $result.is($items.last()); return $result }, _nextItem: function($items) { var $result = this.callBase.apply(this, arguments); this._itemFocusLooped = $result.is($items.first()); return $result }, _dimensionChanged: function() { this._clearItemWidthCache() }, _visibilityChanged: function(visible) { if (visible) { this._dimensionChanged() } }, _updateSwipeDisabledState: function() { var disabled = this._getSwipeDisabledState(); _swipeable.default.getInstance(this.$element()).option("disabled", disabled) }, _dispose: function() { delete this._boundaryIndices; this.callBase() }, _optionChanged: function(args) { var value = args.value; switch (args.name) { case "loop": this.option("loopItemFocus", value); break; case "animationEnabled": break; case "swipeEnabled": this._updateSwipeDisabledState(); break; case "deferRendering": this._invalidate(); break; case "items": this._updateSwipeDisabledState(); this._findBoundaryIndices(); this.callBase(args); break; default: this.callBase(args) } } }); (0, _component_registrator.default)("dxMultiView", MultiView); var _default = MultiView; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 22053: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/multi_view/ui.multi_view.animation.js ***! \**************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.animation = exports._translator = void 0; var _fx = (obj = __webpack_require__( /*! ../../animation/fx */ 87209), obj && obj.__esModule ? obj : { default: obj }); var obj; var _translator2 = __webpack_require__( /*! ../../animation/translator */ 31648); var _translator = { move: function($element, position) { (0, _translator2.move)($element, { left: position }) } }; exports._translator = _translator; var animation = { moveTo: function($element, position, duration, completeAction) { _fx.default.animate($element, { type: "slide", to: { left: position }, duration: duration, complete: completeAction }) }, complete: function($element) { _fx.default.stop($element, true) } }; exports.animation = animation }, 59958: /*!**********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/notify.js ***! \**********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _view_port = __webpack_require__( /*! ../core/utils/view_port */ 77695); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _toast = _interopRequireDefault(__webpack_require__( /*! ./toast */ 37748)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var $notify = null; var $containers = {}; var getDefaultDirection = function(position) { return (0, _type.isString)(position) && position.includes("top") ? "down-push" : "up-push" }; var getStackContainer = function(key) { var $container = $containers[key]; return $container ? $container : function(key) { var $container = (0, _renderer.default)("<div>").appendTo((0, _view_port.value)()); $containers[key] = $container; return $container }(key) }; var setContainerClasses = function(container, direction) { var containerClasses = "dx-toast-stack dx-toast-stack-".concat(direction, "-direction"); container.removeAttr("class").addClass(containerClasses) }; var setContainerStyles = function(container, direction, position) { var _container$children$f = container.children().first().get(0), toastWidth = _container$children$f.offsetWidth, toastHeight = _container$children$f.offsetHeight; var dimensions = { toastWidth: toastWidth, toastHeight: toastHeight, windowHeight: window.innerHeight, windowWidth: window.innerWidth }; var coordinates = (0, _type.isString)(position) ? getCoordinatesByAlias(position, dimensions) : position; var styles = getPositionStylesByCoordinates(direction, coordinates, dimensions); container.css(styles) }; var getCoordinatesByAlias = function(alias, _ref) { var toastWidth = _ref.toastWidth, toastHeight = _ref.toastHeight, windowHeight = _ref.windowHeight, windowWidth = _ref.windowWidth; switch (alias) { case "top left": return { top: 10, left: 10 }; case "top right": return { top: 10, right: 10 }; case "bottom left": return { bottom: 10, left: 10 }; case "bottom right": return { bottom: 10, right: 10 }; case "top center": return { top: 10, left: Math.round(windowWidth / 2 - toastWidth / 2) }; case "left center": return { top: Math.round(windowHeight / 2 - toastHeight / 2), left: 10 }; case "right center": return { top: Math.round(windowHeight / 2 - toastHeight / 2), right: 10 }; case "center": return { top: Math.round(windowHeight / 2 - toastHeight / 2), left: Math.round(windowWidth / 2 - toastWidth / 2) }; case "bottom center": default: return { bottom: 10, left: Math.round(windowWidth / 2 - toastWidth / 2) } } }; var getPositionStylesByCoordinates = function(direction, coordinates, dimensions) { var _coordinates$bottom, _coordinates$left, _coordinates$right, _coordinates$top, _coordinates$left2, _coordinates$right2, _coordinates$right3, _coordinates$top2, _coordinates$bottom2, _coordinates$left3, _coordinates$top3, _coordinates$bottom3; var toastWidth = dimensions.toastWidth, toastHeight = dimensions.toastHeight, windowHeight = dimensions.windowHeight, windowWidth = dimensions.windowWidth; switch (direction.replace(/-push|-stack/g, "")) { case "up": return { bottom: null !== (_coordinates$bottom = coordinates.bottom) && void 0 !== _coordinates$bottom ? _coordinates$bottom : windowHeight - toastHeight - coordinates.top, top: "", left: null !== (_coordinates$left = coordinates.left) && void 0 !== _coordinates$left ? _coordinates$left : "", right: null !== (_coordinates$right = coordinates.right) && void 0 !== _coordinates$right ? _coordinates$right : "" }; case "down": return { top: null !== (_coordinates$top = coordinates.top) && void 0 !== _coordinates$top ? _coordinates$top : windowHeight - toastHeight - coordinates.bottom, bottom: "", left: null !== (_coordinates$left2 = coordinates.left) && void 0 !== _coordinates$left2 ? _coordinates$left2 : "", right: null !== (_coordinates$right2 = coordinates.right) && void 0 !== _coordinates$right2 ? _coordinates$right2 : "" }; case "left": return { right: null !== (_coordinates$right3 = coordinates.right) && void 0 !== _coordinates$right3 ? _coordinates$right3 : windowWidth - toastWidth - coordinates.left, left: "", top: null !== (_coordinates$top2 = coordinates.top) && void 0 !== _coordinates$top2 ? _coordinates$top2 : "", bottom: null !== (_coordinates$bottom2 = coordinates.bottom) && void 0 !== _coordinates$bottom2 ? _coordinates$bottom2 : "" }; case "right": return { left: null !== (_coordinates$left3 = coordinates.left) && void 0 !== _coordinates$left3 ? _coordinates$left3 : windowWidth - toastWidth - coordinates.right, right: "", top: null !== (_coordinates$top3 = coordinates.top) && void 0 !== _coordinates$top3 ? _coordinates$top3 : "", bottom: null !== (_coordinates$bottom3 = coordinates.bottom) && void 0 !== _coordinates$bottom3 ? _coordinates$bottom3 : "" } } }; var _default = function(message, typeOrStack, displayTime) { var options = (0, _type.isPlainObject)(message) ? message : { message: message }; var stack = (0, _type.isPlainObject)(typeOrStack) ? typeOrStack : void 0; var type = (0, _type.isPlainObject)(typeOrStack) ? void 0 : typeOrStack; var userOnHidden = options.onHidden; if (null !== stack && void 0 !== stack && stack.position) { var position = stack.position; var direction = stack.direction || getDefaultDirection(position); var containerKey = (0, _type.isString)(position) ? position : "".concat(position.top, "-").concat(position.left, "-").concat(position.bottom, "-").concat(position.right); var userOnShowing = options.onShowing; var $container = getStackContainer(containerKey); setContainerClasses($container, direction); (0, _extend.extend)(options, { container: $container, onShowing: function(args) { setContainerStyles($container, direction, position); null === userOnShowing || void 0 === userOnShowing ? void 0 : userOnShowing(args) } }) }(0, _extend.extend)(options, { type: type, displayTime: displayTime, onHidden: function(args) { (0, _renderer.default)(args.element).remove(); null === userOnHidden || void 0 === userOnHidden ? void 0 : userOnHidden(args) } }); $notify = (0, _renderer.default)("<div>").appendTo((0, _view_port.value)()); new _toast.default($notify, options).show() }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 34171: /*!**************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/number_box.js ***! \**************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _number_box = (obj = __webpack_require__( /*! ./number_box/number_box */ 96248), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _number_box.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 35567: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/number_box/number_box.base.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/browser */ 47810)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../text_box/ui.text_editor */ 63513)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _number_box = _interopRequireDefault(__webpack_require__( /*! ./number_box.spins */ 25353)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var math = Math; var FIREFOX_CONTROL_KEYS = ["tab", "del", "backspace", "leftArrow", "rightArrow", "home", "end", "enter"]; var NumberBoxBase = _ui.default.inherit({ _supportedKeys: function() { return (0, _extend.extend)(this.callBase(), { upArrow: function(e) { if (!(0, _index.isCommandKeyPressed)(e)) { e.preventDefault(); e.stopPropagation(); this._spinUpChangeHandler(e) } }, downArrow: function(e) { if (!(0, _index.isCommandKeyPressed)(e)) { e.preventDefault(); e.stopPropagation(); this._spinDownChangeHandler(e) } }, enter: function() {} }) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { value: 0, min: void 0, max: void 0, step: 1, showSpinButtons: false, useLargeSpinButtons: true, mode: "text", invalidValueMessage: _message.default.format("dxNumberBox-invalidValueMessage"), buttons: void 0 }) }, _useTemplates: function() { return false }, _getDefaultButtons: function() { return this.callBase().concat([{ name: "spins", Ctor: _number_box.default }]) }, _isSupportInputMode: function() { var version = parseFloat(_browser.default.version); return _browser.default.chrome && version >= 66 || _browser.default.safari && version >= 12 }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return _devices.default.real().generic && !_devices.default.isSimulator() }, options: { useLargeSpinButtons: false } }, { device: function() { return "desktop" !== _devices.default.real().deviceType && !this._isSupportInputMode() }.bind(this), options: { mode: "number" } }]) }, _initMarkup: function() { this._renderSubmitElement(); this.$element().addClass("dx-numberbox"); this.callBase() }, _getDefaultAttributes: function() { var attributes = this.callBase(); attributes.inputmode = "decimal"; return attributes }, _renderContentImpl: function() { this.option("isValid") && this._validateValue(this.option("value")); this.setAria("role", "spinbutton") }, _renderSubmitElement: function() { this._$submitElement = (0, _renderer.default)("<input>").attr("type", "hidden").appendTo(this.$element()); this._setSubmitValue(this.option("value")) }, _setSubmitValue: function(value) { this._getSubmitElement().val((0, _common.applyServerDecimalSeparator)(value)) }, _getSubmitElement: function() { return this._$submitElement }, _keyPressHandler: function(e) { this.callBase(e); var char = (0, _index.getChar)(e); var isInputCharValid = /[\d.,eE\-+]/.test(char); if (!isInputCharValid) { var keyName = (0, _index.normalizeKeyName)(e); if ((0, _index.isCommandKeyPressed)(e) || keyName && FIREFOX_CONTROL_KEYS.includes(keyName)) { return } e.preventDefault(); return false } this._keyPressed = true }, _onMouseWheel: function(dxEvent) { dxEvent.delta > 0 ? this._spinValueChange(1, dxEvent) : this._spinValueChange(-1, dxEvent) }, _renderValue: function() { var inputValue = this._input().val(); var value = this.option("value"); if (!inputValue.length || Number(inputValue) !== value) { this._forceValueRender(); this._toggleEmptinessEventHandler() } var valueText = (0, _type.isDefined)(value) ? null : _message.default.format("dxNumberBox-noDataText"); this.setAria({ valuenow: (0, _common.ensureDefined)(value, ""), valuetext: valueText }); this.option("text", this._input().val()); this._updateButtons(); return (new _deferred.Deferred).resolve() }, _forceValueRender: function() { var value = this.option("value"); var number = Number(value); var formattedValue = isNaN(number) ? "" : this._applyDisplayValueFormatter(value); this._renderDisplayText(formattedValue) }, _applyDisplayValueFormatter: function(value) { return this.option("displayValueFormatter")(value) }, _renderProps: function() { this._input().prop({ min: this.option("min"), max: this.option("max"), step: this.option("step") }); this.setAria({ valuemin: (0, _common.ensureDefined)(this.option("min"), ""), valuemax: (0, _common.ensureDefined)(this.option("max"), "") }) }, _spinButtonsPointerDownHandler: function() { var $input = this._input(); if (!this.option("useLargeSpinButtons") && _dom_adapter.default.getActiveElement() !== $input[0]) { _events_engine.default.trigger($input, "focus") } }, _spinUpChangeHandler: function(e) { if (!this.option("readOnly")) { this._spinValueChange(1, e.event || e) } }, _spinDownChangeHandler: function(e) { if (!this.option("readOnly")) { this._spinValueChange(-1, e.event || e) } }, _spinValueChange: function(sign, dxEvent) { var step = parseFloat(this.option("step")); if (0 === step) { return } var value = parseFloat(this._normalizeInputValue()) || 0; value = this._correctRounding(value, step * sign); var min = this.option("min"); var max = this.option("max"); if ((0, _type.isDefined)(min)) { value = Math.max(min, value) } if ((0, _type.isDefined)(max)) { value = Math.min(max, value) } this._saveValueChangeEvent(dxEvent); this.option("value", value) }, _correctRounding: function(value, step) { var regex = /[,.](.*)/; var isFloatValue = regex.test(value); var isFloatStep = regex.test(step); if (isFloatValue || isFloatStep) { var valueAccuracy = isFloatValue ? regex.exec(value)[0].length : 0; var stepAccuracy = isFloatStep ? regex.exec(step)[0].length : 0; var accuracy = math.max(valueAccuracy, stepAccuracy); value = this._round(value + step, accuracy); return value } return value + step }, _round: function(value, precision) { precision = precision || 0; var multiplier = Math.pow(10, precision); value *= multiplier; value = Math.round(value) / multiplier; return value }, _renderValueChangeEvent: function() { this.callBase(); var forceValueChangeEvent = (0, _index.addNamespace)("focusout", "NumberBoxForceValueChange"); _events_engine.default.off(this.element(), forceValueChangeEvent); _events_engine.default.on(this.element(), forceValueChangeEvent, this._forceRefreshInputValue.bind(this)) }, _forceRefreshInputValue: function() { if ("number" === this.option("mode")) { return } var $input = this._input(); var formattedValue = this._applyDisplayValueFormatter(this.option("value")); $input.val(null); $input.val(formattedValue) }, _valueChangeEventHandler: function(e) { var $input = this._input(); var inputValue = this._normalizeText(); var value = this._parseValue(inputValue); var valueHasDigits = "." !== inputValue && "-" !== inputValue; if (this._isValueValid() && !this._validateValue(value)) { $input.val(this._applyDisplayValueFormatter(value)); return } if (valueHasDigits) { this.callBase(e, isNaN(value) ? null : value) } this._applyValueBoundaries(inputValue, value); this.validationRequest.fire({ value: value, editor: this }) }, _applyValueBoundaries: function(inputValue, parsedValue) { var isValueIncomplete = this._isValueIncomplete(inputValue); var isValueCorrect = this._isValueInRange(inputValue); if (!isValueIncomplete && !isValueCorrect && null !== parsedValue) { if (Number(inputValue) !== parsedValue) { this._input().val(this._applyDisplayValueFormatter(parsedValue)) } } }, _replaceCommaWithPoint: function(value) { return value.replace(",", ".") }, _inputIsInvalid: function() { var isNumberMode = "number" === this.option("mode"); var validityState = this._input().get(0).validity; return isNumberMode && validityState && validityState.badInput }, _renderDisplayText: function(text) { if (this._inputIsInvalid()) { return } this.callBase(text) }, _isValueIncomplete: function(value) { return /(^-$)|(^-?\d*\.$)|(\d+e-?$)/i.test(value) }, _isValueInRange: function(value) { return (0, _math.inRange)(value, this.option("min"), this.option("max")) }, _isNumber: function(value) { return null !== this._parseValue(value) }, _validateValue: function(value) { var inputValue = this._normalizeText(); var isValueValid = this._isValueValid(); var isValid = true; var isNumber = this._isNumber(inputValue); if (isNaN(Number(value))) { isValid = false } if (!value && isValueValid) { isValid = true } else if (!isNumber && !isValueValid) { isValid = false } this.option({ isValid: isValid, validationError: isValid ? null : { editorSpecific: true, message: this.option("invalidValueMessage") } }); return isValid }, _normalizeInputValue: function() { return this._parseValue(this._normalizeText()) }, _normalizeText: function() { var value = this._input().val().trim(); return this._replaceCommaWithPoint(value) }, _parseValue: function(value) { var number = parseFloat(value); if (isNaN(number)) { return null } return (0, _math.fitIntoRange)(number, this.option("min"), this.option("max")) }, _clearValue: function() { if (this._inputIsInvalid()) { this._input().val(""); this._validateValue() } this.callBase() }, reset: function() { if (null === this.option("value")) { this.option("text", ""); if (this._input().length) { this._renderValue() } } else { this.option("value", null) } }, _optionChanged: function(args) { switch (args.name) { case "value": this._validateValue(args.value); this._setSubmitValue(args.value); this.callBase(args); this._resumeValueChangeAction(); break; case "step": this._renderProps(); break; case "min": case "max": this._renderProps(); this.option("value", this._parseValue(this.option("value"))); break; case "showSpinButtons": case "useLargeSpinButtons": this._updateButtons(["spins"]); break; case "invalidValueMessage": break; default: this.callBase(args) } } }); var _default = NumberBoxBase; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 58048: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/number_box/number_box.caret.js ***! \*******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getCaretBoundaries = exports.getCaretAfterFormat = void 0; exports.getCaretInBoundaries = getCaretInBoundaries; exports.isCaretInBoundaries = exports.getCaretWithOffset = exports.getCaretOffset = void 0; var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _number = (obj = __webpack_require__( /*! ../../localization/number */ 18016), obj && obj.__esModule ? obj : { default: obj }); var obj; var _utils = __webpack_require__( /*! ./utils */ 7206); var getCaretBoundaries = function(text, format) { if ("string" === typeof format) { var signParts = format.split(";"); var sign = _number.default.getSign(text, format); signParts[1] = signParts[1] || "-" + signParts[0]; format = signParts[sign < 0 ? 1 : 0]; format = (str = format, str.replace(/'([^']*)'/g, (function(str) { return str.split("").map((function() { return " " })).join("").substr(2) }))); var prefixStubLength = /^[^#0.,]*/.exec(format)[0].length; var postfixStubLength = /[^#0.,]*$/.exec(format)[0].length; return { start: prefixStubLength, end: text.length - postfixStubLength } } else { return { start: 0, end: text.length } } var str }; exports.getCaretBoundaries = getCaretBoundaries; var _getDigitCountBeforeIndex = function(index, text) { var decimalSeparator = _number.default.getDecimalSeparator(); var regExp = new RegExp("[^0-9" + (0, _common.escapeRegExp)(decimalSeparator) + "]", "g"); var textBeforePosition = text.slice(0, index); return textBeforePosition.replace(regExp, "").length }; var _reverseText = function(text) { return text.split("").reverse().join("") }; var _getDigitPositionByIndex = function(digitIndex, text) { if (!digitIndex) { return -1 } var regExp = /[0-9]/g; var counter = 1; var index = null; var result = regExp.exec(text); while (result) { index = result.index; if (counter >= digitIndex) { return index } counter++; result = regExp.exec(text) } return null === index ? text.length : index }; var getCaretWithOffset = function(caret, offset) { if (void 0 === caret.start) { caret = { start: caret, end: caret } } return { start: caret.start + offset, end: caret.end + offset } }; exports.getCaretWithOffset = getCaretWithOffset; exports.getCaretAfterFormat = function(text, formatted, caret, format) { caret = getCaretWithOffset(caret, 0); var point = _number.default.getDecimalSeparator(); var isSeparatorBasedText = function(text) { return 1 === text.length && !!text.match(/^[,.][0-9]*$/g) }(text); var realSeparatorOccurrenceIndex = (0, _utils.getRealSeparatorIndex)(format).occurrence; var pointPosition = isSeparatorBasedText ? 0 : (0, _utils.getNthOccurrence)(text, point, realSeparatorOccurrenceIndex); var newPointPosition = (0, _utils.getNthOccurrence)(formatted, point, realSeparatorOccurrenceIndex); var textParts = (0, _utils.splitByIndex)(text, pointPosition); var formattedParts = (0, _utils.splitByIndex)(formatted, newPointPosition); var isCaretOnFloat = -1 !== pointPosition && caret.start > pointPosition; if (isCaretOnFloat) { var relativeIndex = caret.start - pointPosition - 1; var digitsBefore = _getDigitCountBeforeIndex(relativeIndex, textParts[1]); var newPosition = formattedParts[1] ? newPointPosition + 1 + _getDigitPositionByIndex(digitsBefore, formattedParts[1]) + 1 : formatted.length; return getCaretInBoundaries(newPosition, formatted, format) } else { var formattedIntPart = function(text) { return text.replace(/[^0-9e]+$/, "") }(formattedParts[0]); var positionFromEnd = textParts[0].length - caret.start; var digitsFromEnd = _getDigitCountBeforeIndex(positionFromEnd, _reverseText(textParts[0])); var newPositionFromEnd = _getDigitPositionByIndex(digitsFromEnd, _reverseText(formattedIntPart)); var newPositionFromBegin = formattedIntPart.length - (newPositionFromEnd + 1); return getCaretInBoundaries(newPositionFromBegin, formatted, format) } }; exports.isCaretInBoundaries = function(caret, text, format) { caret = getCaretWithOffset(caret, 0); var boundaries = getCaretInBoundaries(caret, text, format); return caret.start >= boundaries.start && caret.end <= boundaries.end }; function getCaretInBoundaries(caret, text, format) { caret = getCaretWithOffset(caret, 0); var boundaries = getCaretBoundaries(text, format); var adjustedCaret = { start: (0, _math.fitIntoRange)(caret.start, boundaries.start, boundaries.end), end: (0, _math.fitIntoRange)(caret.end, boundaries.start, boundaries.end) }; return adjustedCaret } exports.getCaretOffset = function(previousText, newText, format) { var previousBoundaries = getCaretBoundaries(previousText, format); var newBoundaries = getCaretBoundaries(newText, format); return newBoundaries.start - previousBoundaries.start } }, 96248: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/number_box/number_box.js ***! \*************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _number_box = _interopRequireDefault(__webpack_require__( /*! ./number_box.mask */ 29983)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } }(0, _component_registrator.default)("dxNumberBox", _number_box.default); var _default = _number_box.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 29983: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/number_box/number_box.mask.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _number = _interopRequireDefault(__webpack_require__( /*! ../../localization/number */ 18016)); var _number_box = __webpack_require__( /*! ./number_box.caret */ 58048); var _number2 = __webpack_require__( /*! ../../localization/ldml/number */ 70629); var _number_box2 = _interopRequireDefault(__webpack_require__( /*! ./number_box.base */ 35567)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _utils = __webpack_require__( /*! ./utils */ 7206); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var NumberBoxMask = _number_box2.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { useMaskBehavior: true, format: null }) }, _isDeleteKey: function(key) { return "del" === key }, _supportedKeys: function() { if (!this._useMaskBehavior()) { return this.callBase() } return (0, _extend.extend)(this.callBase(), { minus: this._revertSign.bind(this), del: this._removeHandler.bind(this), backspace: this._removeHandler.bind(this), leftArrow: this._arrowHandler.bind(this, -1), rightArrow: this._arrowHandler.bind(this, 1), home: this._moveCaretToBoundaryEventHandler.bind(this, 1), enter: this._updateFormattedValue.bind(this), end: this._moveCaretToBoundaryEventHandler.bind(this, -1) }) }, _getTextSeparatorIndex: function(text) { var decimalSeparator = _number.default.getDecimalSeparator(); var realSeparatorOccurrenceIndex = (0, _utils.getRealSeparatorIndex)(this.option("format")).occurrence; return (0, _utils.getNthOccurrence)(text, decimalSeparator, realSeparatorOccurrenceIndex) }, _focusInHandler: function(e) { if (!this._preventNestedFocusEvent(e)) { this.clearCaretTimeout(); this._caretTimeout = setTimeout(function() { this._caretTimeout = void 0; var caret = this._caret(); if (caret.start === caret.end && this._useMaskBehavior()) { var text = this._getInputVal(); var decimalSeparatorIndex = this._getTextSeparatorIndex(text); if (decimalSeparatorIndex >= 0) { this._caret({ start: decimalSeparatorIndex, end: decimalSeparatorIndex }) } else { this._moveCaretToBoundaryEventHandler(-1, e) } } }.bind(this), 0) } this.callBase(e) }, _focusOutHandler: function(e) { var shouldHandleEvent = !this._preventNestedFocusEvent(e); if (shouldHandleEvent) { this._focusOutOccurs = true; if (this._useMaskBehavior()) { this._updateFormattedValue() } } this.callBase(e); if (shouldHandleEvent) { this._focusOutOccurs = false } }, _hasValueBeenChanged: function(inputValue) { var format = this._getFormatPattern(); var value = this.option("value"); var formatted = this._format(value, format) || ""; return formatted !== inputValue }, _updateFormattedValue: function() { var inputValue = this._getInputVal(); if (this._hasValueBeenChanged(inputValue)) { this._updateParsedValue(); this._adjustParsedValue(); this._setTextByParsedValue(); if (this._parsedValue !== this.option("value")) { _events_engine.default.trigger(this._input(), "change") } } }, _arrowHandler: function(step, e) { if (!this._useMaskBehavior()) { return } var text = this._getInputVal(); var format = this._getFormatPattern(); var nextCaret = (0, _number_box.getCaretWithOffset)(this._caret(), step); if (!(0, _number_box.isCaretInBoundaries)(nextCaret, text, format)) { nextCaret = 1 === step ? nextCaret.end : nextCaret.start; e.preventDefault(); this._caret((0, _number_box.getCaretInBoundaries)(nextCaret, text, format)) } }, _moveCaretToBoundary: function(direction) { var boundaries = (0, _number_box.getCaretBoundaries)(this._getInputVal(), this._getFormatPattern()); var newCaret = (0, _number_box.getCaretWithOffset)(1 === direction ? boundaries.start : boundaries.end, 0); this._caret(newCaret) }, _moveCaretToBoundaryEventHandler: function(direction, e) { if (!this._useMaskBehavior() || e && e.shiftKey) { return } this._moveCaretToBoundary(direction); e && e.preventDefault() }, _shouldMoveCaret: function(text, caret) { var decimalSeparator = _number.default.getDecimalSeparator(); var isDecimalSeparatorNext = text.charAt(caret.end) === decimalSeparator; var moveToFloat = (this._lastKey === decimalSeparator || "." === this._lastKey || "," === this._lastKey) && isDecimalSeparatorNext; return moveToFloat }, _getInputVal: function() { return _number.default.convertDigits(this._input().val(), true) }, _keyboardHandler: function(e) { this.clearCaretTimeout(); this._lastKey = _number.default.convertDigits((0, _index.getChar)(e), true); this._lastKeyName = (0, _index.normalizeKeyName)(e); if (!this._shouldHandleKey(e.originalEvent)) { return this.callBase(e) } var normalizedText = this._getInputVal(); var caret = this._caret(); var enteredChar = "minus" === this._lastKeyName ? "" : this._lastKey; var newValue = this._tryParse(normalizedText, caret, enteredChar); if (this._shouldMoveCaret(normalizedText, caret)) { this._moveCaret(1); e.originalEvent.preventDefault() } if (void 0 === newValue) { if ("minus" !== this._lastKeyName) { e.originalEvent.preventDefault() } } else { this._parsedValue = newValue } return this.callBase(e) }, _keyPressHandler: function(e) { if (!this._useMaskBehavior()) { this.callBase(e) } }, _removeHandler: function(e) { var caret = this._caret(); var text = this._getInputVal(); var start = caret.start; var end = caret.end; this._lastKey = (0, _index.getChar)(e); this._lastKeyName = (0, _index.normalizeKeyName)(e); var isDeleteKey = this._isDeleteKey(this._lastKeyName); var isBackspaceKey = !isDeleteKey; if (start === end) { var caretPosition = start; var canDelete = isBackspaceKey && caretPosition > 0 || isDeleteKey && caretPosition < text.length; if (canDelete) { isDeleteKey && end++; isBackspaceKey && start-- } else { e.preventDefault(); return } } var char = text.slice(start, end); if (this._isStub(char)) { this._moveCaret(isDeleteKey ? 1 : -1); if (this._parsedValue < 0 || 1 / this._parsedValue === -1 / 0) { this._revertSign(e); this._setTextByParsedValue(); var shouldTriggerInputEvent = this.option("valueChangeEvent").split(" ").includes("input"); if (shouldTriggerInputEvent) { _events_engine.default.trigger(this._input(), "input") } } e.preventDefault(); return } var decimalSeparator = _number.default.getDecimalSeparator(); if (char === decimalSeparator) { var decimalSeparatorIndex = text.indexOf(decimalSeparator); if (this._isNonStubAfter(decimalSeparatorIndex + 1)) { this._moveCaret(isDeleteKey ? 1 : -1); e.preventDefault() } return } if (end - start < text.length) { var editedText = this._replaceSelectedText(text, { start: start, end: end }, ""); var noDigits = editedText.search(/[0-9]/) < 0; if (noDigits && this._isValueInRange(0)) { this._parsedValue = this._parsedValue < 0 || 1 / this._parsedValue === -1 / 0 ? -0 : 0; return } } var valueAfterRemoving = this._tryParse(text, { start: start, end: end }, ""); if (void 0 === valueAfterRemoving) { e.preventDefault() } else { this._parsedValue = valueAfterRemoving } }, _isPercentFormat: function() { var format = this._getFormatPattern(); var noEscapedFormat = format.replace(/'[^']+'/g, ""); return -1 !== noEscapedFormat.indexOf("%") }, _parse: function(text, format) { var formatOption = this.option("format"); var isCustomParser = (0, _type.isFunction)(formatOption.parser); var parser = isCustomParser ? formatOption.parser : _number.default.parse; var integerPartStartIndex = 0; if (!isCustomParser) { var formatPointIndex = (0, _utils.getRealSeparatorIndex)(format).index; var textPointIndex = this._getTextSeparatorIndex(text); var formatIntegerPartLength = -1 !== formatPointIndex ? formatPointIndex : format.length; var textIntegerPartLength = -1 !== textPointIndex ? textPointIndex : text.length; if (textIntegerPartLength > formatIntegerPartLength && -1 === format.indexOf("#")) { integerPartStartIndex = textIntegerPartLength - formatIntegerPartLength } } text = text.substr(integerPartStartIndex); return parser(text, format) }, _format: function(value, format) { var formatOption = this.option("format"); var customFormatter = (null === formatOption || void 0 === formatOption ? void 0 : formatOption.formatter) || formatOption; var formatter = (0, _type.isFunction)(customFormatter) ? customFormatter : _number.default.format; var formattedValue = null === value ? "" : formatter(value, format); return formattedValue }, _getFormatPattern: function() { if (!this._currentFormat) { this._updateFormat() } return this._currentFormat }, _updateFormat: function() { var _this = this; var format = this.option("format"); var isCustomParser = (0, _type.isFunction)(null === format || void 0 === format ? void 0 : format.parser); var isLDMLPattern = (0, _type.isString)(format) && (format.indexOf("0") >= 0 || format.indexOf("#") >= 0); var isExponentialFormat = "exponential" === format || "exponential" === (null === format || void 0 === format ? void 0 : format.type); var shouldUseFormatAsIs = isCustomParser || isLDMLPattern || isExponentialFormat; this._currentFormat = shouldUseFormatAsIs ? format : (0, _number2.getFormat)((function(value) { var text = _this._format(value, format); return _number.default.convertDigits(text, true) })) }, _getFormatForSign: function(text) { var format = this._getFormatPattern(); if ((0, _type.isString)(format)) { var signParts = format.split(";"); var sign = _number.default.getSign(text, format); signParts[1] = signParts[1] || "-" + signParts[0]; return sign < 0 ? signParts[1] : signParts[0] } else { var _sign = _number.default.getSign(text); return _sign < 0 ? "-" : "" } }, _removeStubs: function(text, excludeComma) { var format = this._getFormatForSign(text); var thousandsSeparator = _number.default.getThousandsSeparator(); var stubs = this._getStubs(format); var result = text; if (stubs.length) { var prefixStubs = stubs[0]; var postfixRegex = new RegExp("(" + (0, _common.escapeRegExp)(stubs[1] || "") + ")$", "g"); var decoratorsRegex = new RegExp("[-" + (0, _common.escapeRegExp)(excludeComma ? "" : thousandsSeparator) + "]", "g"); result = result.replace(prefixStubs, "").replace(postfixRegex, "").replace(decoratorsRegex, "") } return result }, _getStubs: function(format) { var regExpResult = /[^']([#0.,]+)/g.exec(format); var pattern = regExpResult && regExpResult[0].trim(); return format.split(pattern).map((function(stub) { return stub.replace(/'/g, "") })) }, _truncateToPrecision: function(value, maxPrecision) { if ((0, _type.isDefined)(value)) { var strValue = value.toString(); var decimalSeparatorIndex = strValue.indexOf("."); if (strValue && decimalSeparatorIndex > -1) { var parsedValue = parseFloat(strValue.substr(0, decimalSeparatorIndex + maxPrecision + 1)); return isNaN(parsedValue) ? value : parsedValue } } return value }, _tryParse: function(text, selection, char) { var editedText = this._replaceSelectedText(text, selection, char); var format = this._getFormatPattern(); var isTextSelected = selection.start !== selection.end; var parsedValue = this._getParsedValue(editedText, format); var maxPrecision = !format.parser && this._getPrecisionLimits(editedText).max; var isValueChanged = parsedValue !== this._parsedValue; var decimalSeparator = _number.default.getDecimalSeparator(); var isDecimalPointRestricted = char === decimalSeparator && 0 === maxPrecision; var isUselessCharRestricted = !isTextSelected && !isValueChanged && "-" !== char && !this._isValueIncomplete(editedText) && this._isStub(char); if (isDecimalPointRestricted || isUselessCharRestricted) { return } if ("" === this._removeStubs(editedText)) { parsedValue = Math.abs(0 * this._parsedValue) } if (isNaN(parsedValue)) { return } var value = null === parsedValue ? this._parsedValue : parsedValue; parsedValue = maxPrecision ? this._truncateToPrecision(value, maxPrecision) : parsedValue; return !format.parser && this._isPercentFormat() ? (0, _utils.adjustPercentValue)(parsedValue, maxPrecision) : parsedValue }, _getParsedValue: function(text, format) { var sign = _number.default.getSign(text, (null === format || void 0 === format ? void 0 : format.formatter) || format); var textWithoutStubs = this._removeStubs(text, true); var parsedValue = this._parse(textWithoutStubs, format); var parsedValueSign = parsedValue < 0 ? -1 : 1; var parsedValueWithSign = (0, _type.isNumeric)(parsedValue) && sign !== parsedValueSign ? sign * parsedValue : parsedValue; return parsedValueWithSign }, _isValueIncomplete: function(text) { if (!this._useMaskBehavior()) { return this.callBase(text) } var caret = this._caret(); var point = _number.default.getDecimalSeparator(); var pointIndex = this._getTextSeparatorIndex(text); var isCaretOnFloat = pointIndex >= 0 && pointIndex < caret.start; var textParts = this._removeStubs(text, true).split(point); if (!isCaretOnFloat || 2 !== textParts.length) { return false } var floatLength = textParts[1].length; var format = this._getFormatPattern(); var isCustomParser = !!format.parser; var precision = !isCustomParser && this._getPrecisionLimits(this._getFormatPattern(), text); var isPrecisionInRange = isCustomParser ? true : (0, _math.inRange)(floatLength, precision.min, precision.max); var endsWithZero = "0" === textParts[1].charAt(floatLength - 1); return isPrecisionInRange && (endsWithZero || !floatLength) }, _isValueInRange: function(value) { var min = (0, _common.ensureDefined)(this.option("min"), -1 / 0); var max = (0, _common.ensureDefined)(this.option("max"), 1 / 0); return (0, _math.inRange)(value, min, max) }, _setInputText: function(text) { var normalizedText = _number.default.convertDigits(text, true); var newCaret = (0, _number_box.getCaretAfterFormat)(this._getInputVal(), normalizedText, this._caret(), this._getFormatPattern()); this._input().val(text); this._toggleEmptinessEventHandler(); this._formattedValue = text; if (!this._focusOutOccurs) { this._caret(newCaret) } }, _useMaskBehavior: function() { return !!this.option("format") && this.option("useMaskBehavior") }, _renderInputType: function() { var isNumberType = "number" === this.option("mode"); var isDesktop = "desktop" === _devices.default.real().deviceType; if (this._useMaskBehavior() && isNumberType) { this._setInputType(isDesktop || this._isSupportInputMode() ? "text" : "tel") } else { this.callBase() } }, _isChar: function(str) { return (0, _type.isString)(str) && 1 === str.length }, _moveCaret: function(offset) { if (!offset) { return } var newCaret = (0, _number_box.getCaretWithOffset)(this._caret(), offset); var adjustedCaret = (0, _number_box.getCaretInBoundaries)(newCaret, this._getInputVal(), this._getFormatPattern()); this._caret(adjustedCaret) }, _shouldHandleKey: function(e) { var keyName = (0, _index.normalizeKeyName)(e); var isSpecialChar = (0, _index.isCommandKeyPressed)(e) || e.altKey || e.shiftKey || !this._isChar(keyName); var isMinusKey = "minus" === keyName; var useMaskBehavior = this._useMaskBehavior(); return useMaskBehavior && !isSpecialChar && !isMinusKey }, _renderInput: function() { this.callBase(); this._renderFormatter() }, _renderFormatter: function() { this._clearCache(); this._detachFormatterEvents(); if (this._useMaskBehavior()) { this._attachFormatterEvents() } }, _detachFormatterEvents: function() { _events_engine.default.off(this._input(), ".dxNumberFormatter") }, _isInputFromPaste: function(e) { var inputType = e.originalEvent && e.originalEvent.inputType; if ((0, _type.isDefined)(inputType)) { return "insertFromPaste" === inputType } else { return this._isValuePasted } }, _attachFormatterEvents: function() { var $input = this._input(); _events_engine.default.on($input, (0, _index.addNamespace)("input", "dxNumberFormatter"), function(e) { this._formatValue(e); this._isValuePasted = false }.bind(this)); _events_engine.default.on($input, (0, _index.addNamespace)("dxclick", "dxNumberFormatter"), function() { if (!this._caretTimeout) { this._caretTimeout = setTimeout(function() { this._caretTimeout = void 0; this._caret((0, _number_box.getCaretInBoundaries)(this._caret(), this._getInputVal(), this._getFormatPattern())) }.bind(this), 0) } }.bind(this)); _events_engine.default.on($input, "dxdblclick", function() { this.clearCaretTimeout() }.bind(this)) }, clearCaretTimeout: function() { clearTimeout(this._caretTimeout); this._caretTimeout = void 0 }, _forceRefreshInputValue: function() { if (!this._useMaskBehavior()) { return this.callBase() } }, _isNonStubAfter: function(index) { var text = this._getInputVal().slice(index); return text && !this._isStub(text, true) }, _isStub: function(str, isString) { var escapedDecimalSeparator = (0, _common.escapeRegExp)(_number.default.getDecimalSeparator()); var regExpString = "^[^0-9" + escapedDecimalSeparator + "]+$"; var stubRegExp = new RegExp(regExpString, "g"); return stubRegExp.test(str) && (isString || this._isChar(str)) }, _parseValue: function(text) { if (!this._useMaskBehavior()) { return this.callBase(text) } return this._parsedValue }, _getPrecisionLimits: function(text) { var currentFormat = this._getFormatForSign(text); var realSeparatorIndex = (0, _utils.getRealSeparatorIndex)(currentFormat).index; var floatPart = ((0, _utils.splitByIndex)(currentFormat, realSeparatorIndex)[1] || "").replace(/[^#0]/g, ""); var minPrecision = floatPart.replace(/^(0*)#*/, "$1").length; var maxPrecision = floatPart.length; return { min: minPrecision, max: maxPrecision } }, _revertSign: function(e) { if (!this._useMaskBehavior()) { return } var caret = this._caret(); if (caret.start !== caret.end) { if ("minus" === (0, _index.normalizeKeyName)(e)) { this._applyRevertedSign(e, caret, true); return } else { this._caret((0, _number_box.getCaretInBoundaries)(0, this._getInputVal(), this._getFormatPattern())) } } this._applyRevertedSign(e, caret) }, _applyRevertedSign: function(e, caret, preserveSelectedText) { var newValue = -1 * (0, _common.ensureDefined)(this._parsedValue, null); if (this._isValueInRange(newValue) || 0 === newValue) { this._parsedValue = newValue; if (preserveSelectedText) { var format = this._getFormatPattern(); var previousText = this._getInputVal(); this._setTextByParsedValue(); e.preventDefault(); var currentText = this._getInputVal(); var offset = (0, _number_box.getCaretOffset)(previousText, currentText, format); caret = (0, _number_box.getCaretWithOffset)(caret, offset); var caretInBoundaries = (0, _number_box.getCaretInBoundaries)(caret, currentText, format); this._caret(caretInBoundaries) } } }, _removeMinusFromText: function(text, caret) { var isMinusPressed = "minus" === this._lastKeyName && "-" === text.charAt(caret.start - 1); return isMinusPressed ? this._replaceSelectedText(text, { start: caret.start - 1, end: caret.start }, "") : text }, _setTextByParsedValue: function() { var format = this._getFormatPattern(); var parsed = this._parseValue(); var formatted = this._format(parsed, format) || ""; this._setInputText(formatted) }, _formatValue: function(e) { var normalizedText = this._getInputVal(); var caret = this._caret(); var textWithoutMinus = this._removeMinusFromText(normalizedText, caret); var wasMinusRemoved = textWithoutMinus !== normalizedText; normalizedText = textWithoutMinus; if (!this._isInputFromPaste(e) && this._isValueIncomplete(textWithoutMinus)) { this._formattedValue = normalizedText; if (wasMinusRemoved) { this._setTextByParsedValue() } return } var textWasChanged = _number.default.convertDigits(this._formattedValue, true) !== normalizedText; if (textWasChanged) { var value = this._tryParse(normalizedText, caret, ""); if ((0, _type.isDefined)(value)) { this._parsedValue = value } } this._setTextByParsedValue() }, _renderDisplayText: function() { if (this._useMaskBehavior()) { this._toggleEmptinessEventHandler() } else { this.callBase.apply(this, arguments) } }, _renderValue: function() { if (this._useMaskBehavior()) { this._parsedValue = this.option("value"); this._setTextByParsedValue() } return this.callBase() }, _updateParsedValue: function() { var inputValue = this._getInputVal(); this._parsedValue = this._tryParse(inputValue, this._caret()) }, _adjustParsedValue: function() { if (!this._useMaskBehavior()) { return } var clearedText = this._removeStubs(this._getInputVal()); var parsedValue = clearedText ? this._parseValue() : null; if (!(0, _type.isNumeric)(parsedValue)) { this._parsedValue = parsedValue; return } this._parsedValue = (0, _math.fitIntoRange)(parsedValue, this.option("min"), this.option("max")) }, _valueChangeEventHandler: function(e) { if (!this._useMaskBehavior()) { return this.callBase(e) } var caret = this._caret(); this._saveValueChangeEvent(e); this._lastKey = null; this._lastKeyName = null; this._updateParsedValue(); this._adjustParsedValue(); this.option("value", this._parsedValue); if (caret) { this._caret(caret) } }, _optionChanged: function(args) { switch (args.name) { case "format": case "useMaskBehavior": this._renderInputType(); this._updateFormat(); this._renderFormatter(); this._renderValue(); this._refreshValueChangeEvent(); this._refreshEvents(); break; case "min": case "max": this._adjustParsedValue(); this.callBase(args); break; default: this.callBase(args) } }, _clearCache: function() { delete this._formattedValue; delete this._lastKey; delete this._lastKeyName; delete this._parsedValue; delete this._focusOutOccurs; clearTimeout(this._caretTimeout); delete this._caretTimeout }, _clean: function() { this._clearCache(); this.callBase() } }); var _default = NumberBoxMask; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 30306: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/number_box/number_box.spin.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _emitter = __webpack_require__( /*! ../../events/core/emitter.feedback */ 91633); var _hold = _interopRequireDefault(__webpack_require__( /*! ../../events/hold */ 11699)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var POINTERUP_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.up, "dxNumberBox"); var POINTERCANCEL_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.cancel, "dxNumberBox"); var SpinButton = _ui.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { direction: "up", onChange: null, activeStateEnabled: true, hoverStateEnabled: true }) }, _initMarkup: function() { this.callBase(); var direction = "dx-numberbox-spin-" + this.option("direction"); this.$element().addClass("dx-numberbox-spin-button").addClass(direction); this._spinIcon = (0, _renderer.default)("<div>").addClass(direction + "-icon").appendTo(this.$element()) }, _render: function() { this.callBase(); var eventName = (0, _index.addNamespace)(_pointer.default.down, this.NAME); var $element = this.$element(); _events_engine.default.off($element, eventName); _events_engine.default.on($element, eventName, this._spinDownHandler.bind(this)); this._spinChangeHandler = this._createActionByOption("onChange") }, _spinDownHandler: function(e) { e.preventDefault(); this._clearTimer(); _events_engine.default.on(this.$element(), _hold.default.name, function() { this._feedBackDeferred = new _deferred.Deferred; (0, _emitter.lock)(this._feedBackDeferred); this._spinChangeHandler({ event: e }); this._holdTimer = setInterval(this._spinChangeHandler, 100, { event: e }) }.bind(this)); var document = _dom_adapter.default.getDocument(); _events_engine.default.on(document, POINTERUP_EVENT_NAME, this._clearTimer.bind(this)); _events_engine.default.on(document, POINTERCANCEL_EVENT_NAME, this._clearTimer.bind(this)); this._spinChangeHandler({ event: e }) }, _dispose: function() { this._clearTimer(); this.callBase() }, _clearTimer: function() { _events_engine.default.off(this.$element(), _hold.default.name); var document = _dom_adapter.default.getDocument(); _events_engine.default.off(document, POINTERUP_EVENT_NAME); _events_engine.default.off(document, POINTERCANCEL_EVENT_NAME); if (this._feedBackDeferred) { this._feedBackDeferred.resolve() } if (this._holdTimer) { clearInterval(this._holdTimer) } }, _optionChanged: function(args) { switch (args.name) { case "onChange": case "direction": this._invalidate(); break; default: this.callBase(args) } } }); var _default = SpinButton; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 25353: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/number_box/number_box.spins.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _button = _interopRequireDefault(__webpack_require__( /*! ../text_box/texteditor_button_collection/button */ 11483)); var _number_box = _interopRequireDefault(__webpack_require__( /*! ./number_box.spin */ 30306)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var SpinButtons = function(_TextEditorButton) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SpinButtons, _TextEditorButton); function SpinButtons() { return _TextEditorButton.apply(this, arguments) || this } var _proto = SpinButtons.prototype; _proto._attachEvents = function(instance, $spinContainer) { var editor = this.editor; var eventName = (0, _index.addNamespace)(_pointer.default.down, editor.NAME); var $spinContainerChildren = $spinContainer.children(); var pointerDownAction = editor._createAction((function(e) { return editor._spinButtonsPointerDownHandler(e) })); _events_engine.default.off($spinContainer, eventName); _events_engine.default.on($spinContainer, eventName, (function(e) { return pointerDownAction({ event: e }) })); _number_box.default.getInstance($spinContainerChildren.eq(0)).option("onChange", (function(e) { return editor._spinUpChangeHandler(e) })); _number_box.default.getInstance($spinContainerChildren.eq(1)).option("onChange", (function(e) { return editor._spinDownChangeHandler(e) })) }; _proto._create = function() { var editor = this.editor; var $spinContainer = (0, _renderer.default)("<div>").addClass("dx-numberbox-spin-container"); var $spinUp = (0, _renderer.default)("<div>").appendTo($spinContainer); var $spinDown = (0, _renderer.default)("<div>").appendTo($spinContainer); var options = this._getOptions(); this._addToContainer($spinContainer); editor._createComponent($spinUp, _number_box.default, (0, _extend.extend)({ direction: "up" }, options)); editor._createComponent($spinDown, _number_box.default, (0, _extend.extend)({ direction: "down" }, options)); this._legacyRender(editor.$element(), this._isTouchFriendly(), options.visible); return { instance: $spinContainer, $element: $spinContainer } }; _proto._getOptions = function() { var editor = this.editor; var visible = this._isVisible(); var disabled = editor.option("disabled"); return { visible: visible, disabled: disabled } }; _proto._isVisible = function() { var editor = this.editor; return _TextEditorButton.prototype._isVisible.call(this) && editor.option("showSpinButtons") }; _proto._isTouchFriendly = function() { var editor = this.editor; return editor.option("showSpinButtons") && editor.option("useLargeSpinButtons") }; _proto._legacyRender = function($editor, isTouchFriendly, isVisible) { $editor.toggleClass("dx-numberbox-spin-touch-friendly", isTouchFriendly); $editor.toggleClass("dx-numberbox-spin", isVisible) }; _proto.update = function() { var shouldUpdate = _TextEditorButton.prototype.update.call(this); if (shouldUpdate) { var editor = this.editor, instance = this.instance; var $editor = editor.$element(); var isVisible = this._isVisible(); var isTouchFriendly = this._isTouchFriendly(); var $spinButtons = instance.children(); var spinUp = _number_box.default.getInstance($spinButtons.eq(0)); var spinDown = _number_box.default.getInstance($spinButtons.eq(1)); var options = this._getOptions(); spinUp.option(options); spinDown.option(options); this._legacyRender($editor, isTouchFriendly, isVisible) } }; return SpinButtons }(_button.default); exports.default = SpinButtons; module.exports = exports.default; module.exports.default = exports.default }, 7206: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/number_box/utils.js ***! \********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.splitByIndex = exports.getRealSeparatorIndex = exports.getNthOccurrence = exports.adjustPercentValue = void 0; var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); exports.getRealSeparatorIndex = function(str) { var quoteBalance = 0; var separatorCount = 0; for (var i = 0; i < str.length; ++i) { if ("'" === str[i]) { quoteBalance++ } if ("." === str[i]) { ++separatorCount; if (quoteBalance % 2 === 0) { return { occurrence: separatorCount, index: i } } } } return { occurrence: 1, index: -1 } }; exports.getNthOccurrence = function(str, c, n) { var i = -1; while (n-- && i++ < str.length) { i = str.indexOf(c, i) } return i }; exports.splitByIndex = function(str, index) { if (-1 === index) { return [str] } return [str.slice(0, index), str.slice(index + 1)] }; exports.adjustPercentValue = function(rawValue, precision) { return rawValue && (0, _math.adjust)(rawValue / 100, precision) } }, 49314: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/overlay/overlay_position_controller.js ***! \***************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.OverlayPositionController = exports.OVERLAY_POSITION_ALIASES = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _position = _interopRequireDefault(__webpack_require__( /*! ../../animation/position */ 49387)); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _swatch_container = _interopRequireDefault(__webpack_require__( /*! ../widget/swatch_container */ 92591)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var window = (0, _window.getWindow)(); var OVERLAY_POSITION_ALIASES = { top: { my: "top center", at: "top center" }, bottom: { my: "bottom center", at: "bottom center" }, right: { my: "right center", at: "right center" }, left: { my: "left center", at: "left center" }, center: { my: "center", at: "center" }, "right bottom": { my: "right bottom", at: "right bottom" }, "right top": { my: "right top", at: "right top" }, "left bottom": { my: "left bottom", at: "left bottom" }, "left top": { my: "left top", at: "left top" } }; exports.OVERLAY_POSITION_ALIASES = OVERLAY_POSITION_ALIASES; var OVERLAY_DEFAULT_BOUNDARY_OFFSET = { h: 0, v: 0 }; var OverlayPositionController = function() { function OverlayPositionController(_ref) { var position = _ref.position, container = _ref.container, visualContainer = _ref.visualContainer, $root = _ref.$root, $content = _ref.$content, $wrapper = _ref.$wrapper, onPositioned = _ref.onPositioned, onVisualPositionChanged = _ref.onVisualPositionChanged, restorePosition = _ref.restorePosition, _fixWrapperPosition = _ref._fixWrapperPosition; this._props = { position: position, container: container, visualContainer: visualContainer, restorePosition: restorePosition, onPositioned: onPositioned, onVisualPositionChanged: onVisualPositionChanged, _fixWrapperPosition: _fixWrapperPosition }; this._$root = $root; this._$content = $content; this._$wrapper = $wrapper; this._$markupContainer = void 0; this._$visualContainer = void 0; this._shouldRenderContentInitialPosition = true; this._visualPosition = void 0; this._initialPosition = void 0; this._previousVisualPosition = void 0; this.updateContainer(container); this.updatePosition(position); this.updateVisualContainer(visualContainer) } var _proto = OverlayPositionController.prototype; _proto.restorePositionOnNextRender = function(value) { this._shouldRenderContentInitialPosition = value || !this._visualPosition }; _proto.openingHandled = function() { var shouldRestorePosition = this._props.restorePosition; this.restorePositionOnNextRender(shouldRestorePosition) }; _proto.updatePosition = function(positionProp) { this._props.position = positionProp; this._position = this._normalizePosition(positionProp); this.updateVisualContainer() }; _proto.updateContainer = function() { var containerProp = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._props.container; this._props.container = containerProp; this._$markupContainer = containerProp ? (0, _renderer.default)(containerProp) : _swatch_container.default.getSwatchContainer(this._$root); this.updateVisualContainer(this._props.visualContainer) }; _proto.updateVisualContainer = function() { var visualContainer = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._props.visualContainer; this._props.visualContainer = visualContainer; this._$visualContainer = this._getVisualContainer() }; _proto.detectVisualPositionChange = function(event) { this._updateVisualPositionValue(); this._raisePositionedEvents(event) }; _proto.positionContent = function() { if (this._shouldRenderContentInitialPosition) { this._renderContentInitialPosition() } else { (0, _translator.move)(this._$content, this._visualPosition); this.detectVisualPositionChange() } }; _proto.positionWrapper = function() { if (this._$visualContainer) { _position.default.setup(this._$wrapper, { my: "top left", at: "top left", of: this._$visualContainer }) } }; _proto.styleWrapperPosition = function() { var useFixed = (0, _type.isWindow)(this.$visualContainer.get(0)) || this._props._fixWrapperPosition; var positionStyle = useFixed ? "fixed" : "absolute"; this._$wrapper.css("position", positionStyle) }; _proto._updateVisualPositionValue = function() { this._previousVisualPosition = this._visualPosition; this._visualPosition = (0, _translator.locate)(this._$content) }; _proto._renderContentInitialPosition = function() { this._renderBoundaryOffset(); (0, _translator.resetPosition)(this._$content); var wrapperOverflow = this._$wrapper.css("overflow"); this._$wrapper.css("overflow", "hidden"); var resultPosition = _position.default.setup(this._$content, this._position); this._$wrapper.css("overflow", wrapperOverflow); this._initialPosition = resultPosition; this.detectVisualPositionChange() }; _proto._raisePositionedEvents = function(event) { var previousPosition = this._previousVisualPosition; var newPosition = this._visualPosition; var isVisualPositionChanged = (null === previousPosition || void 0 === previousPosition ? void 0 : previousPosition.top) !== newPosition.top || (null === previousPosition || void 0 === previousPosition ? void 0 : previousPosition.left) !== newPosition.left; if (isVisualPositionChanged) { this._props.onVisualPositionChanged({ previousPosition: previousPosition, position: newPosition, event: event }) } this._props.onPositioned({ position: this._initialPosition }) }; _proto._renderBoundaryOffset = function() { var _this$_position; var boundaryOffset = null !== (_this$_position = this._position) && void 0 !== _this$_position ? _this$_position : { boundaryOffset: OVERLAY_DEFAULT_BOUNDARY_OFFSET }; this._$content.css("margin", "".concat(boundaryOffset.v, "px ").concat(boundaryOffset.h, "px")) }; _proto._getVisualContainer = function() { var _this$_props$position, _this$_props$position2; var containerProp = this._props.container; var visualContainerProp = this._props.visualContainer; var positionOf = (0, _type.isEvent)(null === (_this$_props$position = this._props.position) || void 0 === _this$_props$position ? void 0 : _this$_props$position.of) ? this._props.position.of.target : null === (_this$_props$position2 = this._props.position) || void 0 === _this$_props$position2 ? void 0 : _this$_props$position2.of; if (visualContainerProp) { return (0, _renderer.default)(visualContainerProp) } if (containerProp) { return (0, _renderer.default)(containerProp) } if (positionOf) { return (0, _renderer.default)(positionOf) } return (0, _renderer.default)(window) }; _proto._normalizePosition = function(positionProp) { var defaultPositionConfig = { boundaryOffset: OVERLAY_DEFAULT_BOUNDARY_OFFSET }; if ((0, _type.isDefined)(positionProp)) { return (0, _extend.extend)(true, {}, defaultPositionConfig, this._positionToObject(positionProp)) } else { return defaultPositionConfig } }; _proto._positionToObject = function(position) { if ((0, _type.isString)(position)) { return (0, _extend.extend)({}, OVERLAY_POSITION_ALIASES[position]) } return position }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(OverlayPositionController, [{ key: "$container", get: function() { this.updateContainer(); return this._$markupContainer } }, { key: "$visualContainer", get: function() { return this._$visualContainer } }, { key: "position", get: function() { return this._position } }, { key: "fixWrapperPosition", set: function(fixWrapperPosition) { this._props._fixWrapperPosition = fixWrapperPosition; this.styleWrapperPosition() } }, { key: "restorePosition", set: function(restorePosition) { this._props.restorePosition = restorePosition } }]); return OverlayPositionController }(); exports.OverlayPositionController = OverlayPositionController }, 89799: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/overlay/ui.overlay.js ***! \**********************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _fx = _interopRequireDefault(__webpack_require__( /*! ../../animation/fx */ 87209)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _empty_template = __webpack_require__( /*! ../../core/templates/empty_template */ 10688); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _dom = __webpack_require__( /*! ../../core/utils/dom */ 3532); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _ready_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/ready_callbacks */ 24311)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _view_port = __webpack_require__( /*! ../../core/utils/view_port */ 77695); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _errors = _interopRequireDefault(__webpack_require__( /*! ../../core/errors */ 17381)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _drag = __webpack_require__( /*! ../../events/drag */ 23174); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _short = __webpack_require__( /*! ../../events/short */ 72918); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _visibility_change = __webpack_require__( /*! ../../events/visibility_change */ 80506); var _hide_callback = __webpack_require__( /*! ../../mobile/hide_callback */ 4928); var _selectors = __webpack_require__( /*! ../widget/selectors */ 31421); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/browser */ 47810)); var zIndexPool = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ./z_index */ 85421)); var _overlay_position_controller = __webpack_require__( /*! ./overlay_position_controller */ 49314); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ready = _ready_callbacks.default.add; var window = (0, _window.getWindow)(); var viewPortChanged = _view_port.changeCallback; var OVERLAY_STACK = []; ready((function() { _events_engine.default.subscribeGlobal(_dom_adapter.default.getDocument(), _pointer.default.down, (function(e) { for (var i = OVERLAY_STACK.length - 1; i >= 0; i--) { if (!OVERLAY_STACK[i]._proxiedDocumentDownHandler(e)) { return } } })) })); var Overlay = _ui2.default.inherit({ _supportedKeys: function() { return (0, _extend.extend)(this.callBase(), { escape: function() { this.hide() } }) }, _getDefaultOptions: function() { var _this = this; return (0, _extend.extend)(this.callBase(), { activeStateEnabled: false, visible: false, deferRendering: true, shading: true, shadingColor: "", wrapperAttr: {}, position: (0, _extend.extend)({}, _overlay_position_controller.OVERLAY_POSITION_ALIASES.center), width: "80vw", minWidth: null, maxWidth: null, height: "80vh", minHeight: null, maxHeight: null, animation: { show: { type: "pop", duration: 300, from: { scale: .55 } }, hide: { type: "pop", duration: 300, from: { opacity: 1, scale: 1 }, to: { opacity: 0, scale: .55 } } }, closeOnOutsideClick: false, hideOnOutsideClick: false, copyRootClassesToWrapper: false, _ignoreCopyRootClassesToWrapperDeprecation: false, _ignoreElementAttrDeprecation: false, _ignorePreventScrollEventsDeprecation: false, onShowing: null, onShown: null, onHiding: null, onHidden: null, contentTemplate: "content", innerOverlay: false, restorePosition: true, container: void 0, visualContainer: void 0, hideTopOverlayHandler: function() { _this.hide() }, hideOnParentScroll: false, preventScrollEvents: true, onPositioned: null, propagateOutsideClick: false, ignoreChildEvents: true, _checkParentVisibility: true, _fixWrapperPosition: false }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return !(0, _window.hasWindow)() }, options: { width: null, height: null, animation: null, _checkParentVisibility: false } }]) }, _setOptionsByReference: function() { this.callBase(); (0, _extend.extend)(this._optionsByReference, { animation: true }) }, $wrapper: function() { return this._$wrapper }, _eventBindingTarget: function() { return this._$content }, _setDeprecatedOptions: function() { this.callBase(); (0, _extend.extend)(this._deprecatedOptions, { closeOnOutsideClick: { since: "22.1", alias: "hideOnOutsideClick" } }) }, ctor: function(element, options) { this.callBase(element, options); if (options) { if (options.copyRootClassesToWrapper && !options._ignoreCopyRootClassesToWrapperDeprecation) { this._logDeprecatedOptionWarning("copyRootClassesToWrapper", { since: "21.2", message: 'Use the "wrapperAttr" option instead' }) } if (options.elementAttr && !options._ignoreElementAttrDeprecation) { this._logDeprecatedOptionWarning("elementAttr", { since: "21.2", message: 'Use the "wrapperAttr" option instead' }) } if ("preventScrollEvents" in options && !options._ignorePreventScrollEventsDeprecation) { this._logDeprecatedPreventScrollEventsInfo() } } }, _logDeprecatedPreventScrollEventsInfo: function() { this._logDeprecatedOptionWarning("preventScrollEvents", { since: "23.1", message: "If you enable this option, end-users may experience scrolling issues." }) }, _init: function() { var _this2 = this; this.callBase(); this._initActions(); this._initHideOnOutsideClickHandler(); this._initTabTerminatorHandler(); this._customWrapperClass = null; this._$wrapper = (0, _renderer.default)("<div>").addClass("dx-overlay-wrapper"); this._$content = (0, _renderer.default)("<div>").addClass("dx-overlay-content"); this._initInnerOverlayClass(); var $element = this.$element(); if (this.option("copyRootClassesToWrapper")) { this._$wrapper.addClass($element.attr("class")) } $element.addClass("dx-overlay"); this._$wrapper.attr("data-bind", "dxControlsDescendantBindings: true"); this._toggleViewPortSubscription(true); this._initHideTopOverlayHandler(this.option("hideTopOverlayHandler")); this._parentsScrollSubscriptionInfo = { handler: function(e) { _this2._hideOnParentsScrollHandler(e) } }; this.warnPositionAsFunction() }, warnPositionAsFunction: function() { if ((0, _type.isFunction)(this.option("position"))) { _errors.default.log("W0018") } }, _initInnerOverlayClass: function() { this._$content.toggleClass("dx-inner-overlay", this.option("innerOverlay")) }, _initHideTopOverlayHandler: function(handler) { this._hideTopOverlayHandler = handler }, _getActionsList: function() { return ["onShowing", "onShown", "onHiding", "onHidden", "onPositioned", "onVisualPositionChanged"] }, _initActions: function() { var _this3 = this; this._actions = {}; var actions = this._getActionsList(); (0, _iterator.each)(actions, (function(_, action) { _this3._actions[action] = _this3._createActionByOption(action, { excludeValidators: ["disabled", "readOnly"] }) || _common.noop })) }, _initHideOnOutsideClickHandler: function() { var _this4 = this; this._proxiedDocumentDownHandler = function() { return _this4._documentDownHandler.apply(_this4, arguments) } }, _initMarkup: function() { this.callBase(); this._renderWrapperAttributes(); this._initPositionController() }, _documentDownHandler: function(e) { if (this._showAnimationProcessing) { this._stopAnimation() } var isAttachedTarget = (0, _renderer.default)(window.document).is(e.target) || (0, _dom.contains)(window.document, e.target); var isInnerOverlay = (0, _renderer.default)(e.target).closest(".".concat("dx-inner-overlay")).length; var outsideClick = isAttachedTarget && !isInnerOverlay && !(this._$content.is(e.target) || (0, _dom.contains)(this._$content.get(0), e.target)); if (outsideClick && this._shouldHideOnOutsideClick(e)) { this._outsideClickHandler(e) } return this.option("propagateOutsideClick") }, _shouldHideOnOutsideClick: function(e) { var _this$option = this.option(), hideOnOutsideClick = _this$option.hideOnOutsideClick; if ((0, _type.isFunction)(hideOnOutsideClick)) { return hideOnOutsideClick(e) } return hideOnOutsideClick }, _outsideClickHandler: function(e) { if (this.option("shading")) { e.preventDefault() } this.hide() }, _getAnonymousTemplateName: function() { return "content" }, _initTemplates: function() { this._templateManager.addDefaultTemplates({ content: new _empty_template.EmptyTemplate }); this.callBase() }, _isTopOverlay: function() { var overlayStack = this._overlayStack(); for (var i = overlayStack.length - 1; i >= 0; i--) { var tabbableElements = overlayStack[i]._findTabbableBounds(); if (tabbableElements.first || tabbableElements.last) { return overlayStack[i] === this } } return false }, _overlayStack: function() { return OVERLAY_STACK }, _zIndexInitValue: function() { return Overlay.baseZIndex() }, _toggleViewPortSubscription: function(toggle) { var _this5 = this; viewPortChanged.remove(this._viewPortChangeHandle); if (toggle) { this._viewPortChangeHandle = function() { _this5._viewPortChangeHandler.apply(_this5, arguments) }; viewPortChanged.add(this._viewPortChangeHandle) } }, _viewPortChangeHandler: function() { this._positionController.updateContainer(this.option("container")); this._refresh() }, _renderWrapperAttributes: function() { var _this$option2 = this.option(), wrapperAttr = _this$option2.wrapperAttr; var attributes = (0, _extend.extend)({}, wrapperAttr); var classNames = attributes.class; delete attributes.class; this.$wrapper().attr(attributes).removeClass(this._customWrapperClass).addClass(classNames); this._customWrapperClass = classNames }, _renderVisibilityAnimate: function(visible) { this._stopAnimation(); return visible ? this._show() : this._hide() }, _getAnimationConfig: function() { return this._getOptionValue("animation", this) }, _toggleBodyScroll: _common.noop, _animateShowing: function() { var _this$_getAnimationCo, _showAnimation$start, _showAnimation$comple, _this6 = this; var animation = null !== (_this$_getAnimationCo = this._getAnimationConfig()) && void 0 !== _this$_getAnimationCo ? _this$_getAnimationCo : {}; var showAnimation = this._normalizeAnimation(animation.show, "to"); var startShowAnimation = null !== (_showAnimation$start = null === showAnimation || void 0 === showAnimation ? void 0 : showAnimation.start) && void 0 !== _showAnimation$start ? _showAnimation$start : _common.noop; var completeShowAnimation = null !== (_showAnimation$comple = null === showAnimation || void 0 === showAnimation ? void 0 : showAnimation.complete) && void 0 !== _showAnimation$comple ? _showAnimation$comple : _common.noop; this._animate(showAnimation, (function() { if (_this6._isAnimationPaused) { return } if (_this6.option("focusStateEnabled")) { _events_engine.default.trigger(_this6._focusTarget(), "focus") } for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] } completeShowAnimation.call.apply(completeShowAnimation, [_this6].concat(args)); _this6._showAnimationProcessing = false; _this6._isHidden = false; _this6._actions.onShown(); _this6._toggleSafariScrolling(); _this6._showingDeferred.resolve() }), (function() { if (_this6._isAnimationPaused) { return } for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2] } startShowAnimation.call.apply(startShowAnimation, [_this6].concat(args)); _this6._showAnimationProcessing = true })) }, _processShowingHidingCancel: function(cancelArg, applyFunction, cancelFunction) { if ((0, _type.isPromise)(cancelArg)) { cancelArg.then((function(shouldCancel) { if (shouldCancel) { cancelFunction() } else { applyFunction() } })).catch((function() { return applyFunction() })) } else { cancelArg ? cancelFunction() : applyFunction() } }, _show: function() { var _this7 = this; this._showingDeferred = new _deferred.Deferred; this._parentHidden = this._isParentHidden(); this._showingDeferred.done((function() { delete _this7._parentHidden })); if (this._parentHidden) { this._isHidden = true; return this._showingDeferred.resolve() } if (this._currentVisible) { return (new _deferred.Deferred).resolve().promise() } this._currentVisible = true; if (this._isHidingActionCanceled) { delete this._isHidingActionCanceled; this._showingDeferred.reject() } else { var show = function() { _this7._toggleBodyScroll(_this7.option("enableBodyScroll")); _this7._stopAnimation(); _this7._toggleVisibility(true); _this7._$content.css("visibility", "hidden"); _this7._$content.toggleClass("dx-state-invisible", false); _this7._updateZIndexStackPosition(true); _this7._positionController.openingHandled(); _this7._renderContent(); var showingArgs = { cancel: false }; _this7._actions.onShowing(showingArgs); _this7._processShowingHidingCancel(showingArgs.cancel, (function() { _this7._$content.css("visibility", ""); _this7._renderVisibility(true); _this7._animateShowing() }), (function() { _this7._toggleVisibility(false); _this7._$content.css("visibility", ""); _this7._$content.toggleClass("dx-state-invisible", true); _this7._isShowingActionCanceled = true; _this7._moveFromContainer(); _this7.option("visible", false); _this7._showingDeferred.resolve() })) }; if (this.option("templatesRenderAsynchronously")) { this._stopShowTimer(); this._asyncShowTimeout = setTimeout(show) } else { show() } } return this._showingDeferred.promise() }, _normalizeAnimation: function(showHideConfig, direction) { if (showHideConfig) { showHideConfig = (0, _extend.extend)({ type: "slide", skipElementInitialStyles: true }, showHideConfig); if ((0, _type.isObject)(showHideConfig[direction])) { (0, _extend.extend)(showHideConfig[direction], { position: this._positionController.position }) } } return showHideConfig }, _animateHiding: function() { var _this$_getAnimationCo2, _hideAnimation$start, _hideAnimation$comple, _this8 = this; var animation = null !== (_this$_getAnimationCo2 = this._getAnimationConfig()) && void 0 !== _this$_getAnimationCo2 ? _this$_getAnimationCo2 : {}; var hideAnimation = this._normalizeAnimation(animation.hide, "from"); var startHideAnimation = null !== (_hideAnimation$start = null === hideAnimation || void 0 === hideAnimation ? void 0 : hideAnimation.start) && void 0 !== _hideAnimation$start ? _hideAnimation$start : _common.noop; var completeHideAnimation = null !== (_hideAnimation$comple = null === hideAnimation || void 0 === hideAnimation ? void 0 : hideAnimation.complete) && void 0 !== _hideAnimation$comple ? _hideAnimation$comple : _common.noop; this._animate(hideAnimation, (function() { var _this8$_actions; _this8._$content.css("pointerEvents", ""); _this8._renderVisibility(false); for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3] } completeHideAnimation.call.apply(completeHideAnimation, [_this8].concat(args)); _this8._hideAnimationProcessing = false; null === (_this8$_actions = _this8._actions) || void 0 === _this8$_actions ? void 0 : _this8$_actions.onHidden(); _this8._hidingDeferred.resolve() }), (function() { _this8._$content.css("pointerEvents", "none"); for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4] } startHideAnimation.call.apply(startHideAnimation, [_this8].concat(args)); _this8._hideAnimationProcessing = true })) }, _hide: function() { var _this9 = this; if (!this._currentVisible) { return (new _deferred.Deferred).resolve().promise() } this._currentVisible = false; this._hidingDeferred = new _deferred.Deferred; var hidingArgs = { cancel: false }; if (this._isShowingActionCanceled) { delete this._isShowingActionCanceled; this._hidingDeferred.reject() } else { this._actions.onHiding(hidingArgs); this._toggleSafariScrolling(); this._toggleBodyScroll(true); this._processShowingHidingCancel(hidingArgs.cancel, (function() { _this9._forceFocusLost(); _this9._toggleShading(false); _this9._toggleSubscriptions(false); _this9._stopShowTimer(); _this9._animateHiding() }), (function() { _this9._isHidingActionCanceled = true; _this9.option("visible", true); _this9._hidingDeferred.resolve() })) } return this._hidingDeferred.promise() }, _forceFocusLost: function() { var activeElement = _dom_adapter.default.getActiveElement(); var shouldResetActiveElement = !!this._$content.find(activeElement).length; if (shouldResetActiveElement) { (0, _dom.resetActiveElement)() } }, _animate: function(animation, completeCallback, startCallback) { if (animation) { startCallback = startCallback || animation.start || _common.noop; _fx.default.animate(this._$content, (0, _extend.extend)({}, animation, { start: startCallback, complete: completeCallback })) } else { completeCallback() } }, _stopAnimation: function() { _fx.default.stop(this._$content, true) }, _renderVisibility: function(visible) { if (visible && this._isParentHidden()) { return } this._currentVisible = visible; this._stopAnimation(); if (!visible) { (0, _visibility_change.triggerHidingEvent)(this._$content) } if (visible) { this._checkContainerExists(); this._moveToContainer(); this._renderGeometry(); (0, _visibility_change.triggerShownEvent)(this._$content); (0, _visibility_change.triggerResizeEvent)(this._$content) } else { this._toggleVisibility(visible); this._$content.toggleClass("dx-state-invisible", !visible); this._updateZIndexStackPosition(visible); this._moveFromContainer() } this._toggleShading(visible); this._toggleSubscriptions(visible) }, _updateZIndexStackPosition: function(pushToStack) { var overlayStack = this._overlayStack(); var index = overlayStack.indexOf(this); if (pushToStack) { if (-1 === index) { this._zIndex = zIndexPool.create(this._zIndexInitValue()); overlayStack.push(this) } this._$wrapper.css("zIndex", this._zIndex); this._$content.css("zIndex", this._zIndex) } else if (-1 !== index) { overlayStack.splice(index, 1); zIndexPool.remove(this._zIndex) } }, _toggleShading: function(visible) { this._$wrapper.toggleClass("dx-overlay-shader", visible && this.option("shading")); this._$wrapper.css("backgroundColor", this.option("shading") ? this.option("shadingColor") : ""); this._toggleTabTerminator(visible && this.option("shading")) }, _initTabTerminatorHandler: function() { var _this10 = this; this._proxiedTabTerminatorHandler = function() { _this10._tabKeyHandler.apply(_this10, arguments) } }, _toggleTabTerminator: function(enabled) { var eventName = (0, _index.addNamespace)("keydown", this.NAME); if (enabled) { _events_engine.default.on(_dom_adapter.default.getDocument(), eventName, this._proxiedTabTerminatorHandler) } else { _events_engine.default.off(_dom_adapter.default.getDocument(), eventName, this._proxiedTabTerminatorHandler) } }, _findTabbableBounds: function() { var $elements = this._$wrapper.find("*"); var elementsCount = $elements.length - 1; var result = { first: null, last: null }; for (var i = 0; i <= elementsCount; i++) { if (!result.first && $elements.eq(i).is(_selectors.tabbable)) { result.first = $elements.eq(i) } if (!result.last && $elements.eq(elementsCount - i).is(_selectors.tabbable)) { result.last = $elements.eq(elementsCount - i) } if (result.first && result.last) { break } } return result }, _tabKeyHandler: function(e) { if ("tab" !== (0, _index.normalizeKeyName)(e) || !this._isTopOverlay()) { return } var tabbableElements = this._findTabbableBounds(); var $firstTabbable = tabbableElements.first; var $lastTabbable = tabbableElements.last; var isTabOnLast = !e.shiftKey && e.target === $lastTabbable.get(0); var isShiftTabOnFirst = e.shiftKey && e.target === $firstTabbable.get(0); var isEmptyTabList = 0 === tabbableElements.length; var isOutsideTarget = !(0, _dom.contains)(this._$wrapper.get(0), e.target); if (isTabOnLast || isShiftTabOnFirst || isEmptyTabList || isOutsideTarget) { e.preventDefault(); var $focusElement = e.shiftKey ? $lastTabbable : $firstTabbable; _events_engine.default.trigger($focusElement, "focusin"); _events_engine.default.trigger($focusElement, "focus") } }, _toggleSubscriptions: function(enabled) { if ((0, _window.hasWindow)()) { this._toggleHideTopOverlayCallback(enabled); this._toggleHideOnParentsScrollSubscription(enabled) } }, _toggleHideTopOverlayCallback: function(subscribe) { if (!this._hideTopOverlayHandler) { return } if (subscribe) { _hide_callback.hideCallback.add(this._hideTopOverlayHandler) } else { _hide_callback.hideCallback.remove(this._hideTopOverlayHandler) } }, _toggleHideOnParentsScrollSubscription: function(needSubscribe) { var _this$_parentsScrollS; var scrollEvent = (0, _index.addNamespace)("scroll", this.NAME); var _ref = null !== (_this$_parentsScrollS = this._parentsScrollSubscriptionInfo) && void 0 !== _this$_parentsScrollS ? _this$_parentsScrollS : {}, prevTargets = _ref.prevTargets, handler = _ref.handler; _events_engine.default.off(prevTargets, scrollEvent, handler); var closeOnScroll = this.option("hideOnParentScroll"); if (needSubscribe && closeOnScroll) { var $parents = this._hideOnParentScrollTarget().parents(); if ("desktop" === _devices.default.real().deviceType) { $parents = $parents.add(window) } _events_engine.default.on($parents, scrollEvent, handler); this._parentsScrollSubscriptionInfo.prevTargets = $parents } }, _hideOnParentsScrollHandler: function(e) { var closeHandled = false; var closeOnScroll = this.option("hideOnParentScroll"); if ((0, _type.isFunction)(closeOnScroll)) { closeHandled = closeOnScroll(e) } if (!closeHandled && !this._showAnimationProcessing) { this.hide() } }, _hideOnParentScrollTarget: function() { return this._$wrapper }, _render: function() { this.callBase(); this._appendContentToElement(); this._renderVisibilityAnimate(this.option("visible")) }, _appendContentToElement: function() { if (!this._$content.parent().is(this.$element())) { this._$content.appendTo(this.$element()) } }, _renderContent: function() { var shouldDeferRendering = !this._currentVisible && this.option("deferRendering"); var isParentHidden = this.option("visible") && this._isParentHidden(); if (isParentHidden) { this._isHidden = true; return } if (this._contentAlreadyRendered || shouldDeferRendering) { return } this._contentAlreadyRendered = true; this._appendContentToElement(); this.callBase() }, _isParentHidden: function() { if (!this.option("_checkParentVisibility")) { return false } if (void 0 !== this._parentHidden) { return this._parentHidden } var $parent = this.$element().parent(); if ($parent.is(":visible")) { return false } var isHidden = false; $parent.add($parent.parents()).each((function() { var $element = (0, _renderer.default)(this); if ("none" === $element.css("display")) { isHidden = true; return false } })); return isHidden || !_dom_adapter.default.getBody().contains($parent.get(0)) }, _renderContentImpl: function() { var _this11 = this; var whenContentRendered = new _deferred.Deferred; var contentTemplateOption = this.option("contentTemplate"); var contentTemplate = this._getTemplate(contentTemplateOption); var transclude = this._templateManager.anonymousTemplateName === contentTemplateOption; contentTemplate && contentTemplate.render({ container: (0, _element.getPublicElement)(this.$content()), noModel: true, transclude: transclude, onRendered: function() { whenContentRendered.resolve(); if (_this11.option("templatesRenderAsynchronously")) { _this11._dimensionChanged() } } }); this._toggleWrapperScrollEventsSubscription(this.option("preventScrollEvents")); whenContentRendered.done((function() { if (_this11.option("visible")) { _this11._moveToContainer() } })); return whenContentRendered.promise() }, _getPositionControllerConfig: function() { var _this$option3 = this.option(), container = _this$option3.container, visualContainer = _this$option3.visualContainer, _fixWrapperPosition = _this$option3._fixWrapperPosition, restorePosition = _this$option3.restorePosition; return { container: container, visualContainer: visualContainer, $root: this.$element(), $content: this._$content, $wrapper: this._$wrapper, onPositioned: this._actions.onPositioned, onVisualPositionChanged: this._actions.onVisualPositionChanged, restorePosition: restorePosition, _fixWrapperPosition: _fixWrapperPosition } }, _initPositionController: function() { this._positionController = new _overlay_position_controller.OverlayPositionController(this._getPositionControllerConfig()) }, _toggleWrapperScrollEventsSubscription: function(enabled) { var eventName = (0, _index.addNamespace)(_drag.move, this.NAME); _events_engine.default.off(this._$wrapper, eventName); if (enabled) { _events_engine.default.on(this._$wrapper, eventName, { validate: function() { return true }, getDirection: function() { return "both" }, _toggleGestureCover: function(toggle) { if (!toggle) { this._toggleGestureCoverImpl(toggle) } }, _clearSelection: _common.noop, isNative: true }, (function(e) { var originalEvent = e.originalEvent.originalEvent; var _ref2 = originalEvent || {}, type = _ref2.type; var isWheel = "wheel" === type; var isMouseMove = "mousemove" === type; var isScrollByWheel = isWheel && !(0, _index.isCommandKeyPressed)(e); e._cancelPreventDefault = true; if (originalEvent && false !== e.cancelable && (!isMouseMove && !isWheel || isScrollByWheel)) { e.preventDefault() } })) } }, _moveFromContainer: function() { this._$content.appendTo(this.$element()); this._$wrapper.detach() }, _checkContainerExists: function() { var $wrapperContainer = this._positionController.$container; if (void 0 === $wrapperContainer) { return } var containerExists = $wrapperContainer.length > 0; if (!containerExists) { _ui.default.log("W1021", this.NAME) } }, _moveToContainer: function() { var $wrapperContainer = this._positionController.$container; this._$wrapper.appendTo($wrapperContainer); this._$content.appendTo(this._$wrapper) }, _renderGeometry: function(options) { var _this$option4 = this.option(), visible = _this$option4.visible; if (visible && (0, _window.hasWindow)()) { this._stopAnimation(); this._renderGeometryImpl() } }, _renderGeometryImpl: function() { this._positionController.updatePosition(this._getOptionValue("position")); this._renderWrapper(); this._renderDimensions(); this._renderPosition() }, _renderPosition: function() { this._positionController.positionContent() }, _isAllWindowCovered: function() { return (0, _type.isWindow)(this._positionController.$visualContainer.get(0)) && this.option("shading") }, _toggleSafariScrolling: function() { var visible = this.option("visible"); var $body = (0, _renderer.default)(_dom_adapter.default.getBody()); var isIosSafari = "ios" === _devices.default.real().platform && _browser.default.safari; var isAllWindowCovered = this._isAllWindowCovered(); var isScrollingPrevented = $body.hasClass("dx-prevent-safari-scrolling"); var shouldPreventScrolling = !isScrollingPrevented && visible && isAllWindowCovered; var shouldEnableScrolling = isScrollingPrevented && (!visible || !isAllWindowCovered || this._disposed); if (isIosSafari) { if (shouldEnableScrolling) { $body.removeClass("dx-prevent-safari-scrolling"); window.scrollTo(0, this._cachedBodyScrollTop); this._cachedBodyScrollTop = void 0 } else if (shouldPreventScrolling) { this._cachedBodyScrollTop = window.pageYOffset; $body.addClass("dx-prevent-safari-scrolling") } } }, _renderWrapper: function() { this._positionController.styleWrapperPosition(); this._renderWrapperDimensions(); this._positionController.positionWrapper() }, _renderWrapperDimensions: function() { var $visualContainer = this._positionController.$visualContainer; var documentElement = _dom_adapter.default.getDocumentElement(); var isVisualContainerWindow = (0, _type.isWindow)($visualContainer.get(0)); var wrapperWidth = isVisualContainerWindow ? documentElement.clientWidth : (0, _size.getOuterWidth)($visualContainer); var wrapperHeight = isVisualContainerWindow ? window.innerHeight : (0, _size.getOuterHeight)($visualContainer); this._$wrapper.css({ width: wrapperWidth, height: wrapperHeight }) }, _renderDimensions: function() { var content = this._$content.get(0); this._$content.css({ minWidth: this._getOptionValue("minWidth", content), maxWidth: this._getOptionValue("maxWidth", content), minHeight: this._getOptionValue("minHeight", content), maxHeight: this._getOptionValue("maxHeight", content), width: this._getOptionValue("width", content), height: this._getOptionValue("height", content) }) }, _focusTarget: function() { return this._$content }, _attachKeyboardEvents: function() { var _this12 = this; this._keyboardListenerId = _short.keyboard.on(this._$content, null, (function(opts) { return _this12._keyboardHandler(opts) })) }, _keyboardHandler: function(options) { var e = options.originalEvent; var $target = (0, _renderer.default)(e.target); if ($target.is(this._$content) || !this.option("ignoreChildEvents")) { this.callBase.apply(this, arguments) } }, _isVisible: function() { return this.option("visible") }, _visibilityChanged: function(visible) { if (visible) { if (this.option("visible")) { this._renderVisibilityAnimate(visible) } } else { this._renderVisibilityAnimate(visible) } }, _dimensionChanged: function() { this._renderGeometry() }, _clean: function() { var options = this.option(); if (!this._contentAlreadyRendered && !options.isRenovated) { this.$content().empty() } this._renderVisibility(false); this._stopShowTimer(); this._cleanFocusState() }, _stopShowTimer: function() { if (this._asyncShowTimeout) { clearTimeout(this._asyncShowTimeout) } this._asyncShowTimeout = null }, _dispose: function() { _fx.default.stop(this._$content, false); clearTimeout(this._deferShowTimer); this._toggleViewPortSubscription(false); this._toggleSubscriptions(false); this._updateZIndexStackPosition(false); this._toggleTabTerminator(false); this._actions = null; this._parentsScrollSubscriptionInfo = null; this.callBase(); this._toggleSafariScrolling(); this.option("visible") && zIndexPool.remove(this._zIndex); this._$wrapper.remove(); this._$content.remove() }, _toggleRTLDirection: function(rtl) { this._$content.toggleClass("dx-rtl", rtl) }, _optionChanged: function(args) { var _this13 = this; var value = args.value, name = args.name; if (this._getActionsList().includes(name)) { this._initActions(); return } switch (name) { case "animation": break; case "shading": this._toggleShading(this.option("visible")); this._toggleSafariScrolling(); break; case "shadingColor": this._toggleShading(this.option("visible")); break; case "width": case "height": this._renderGeometry(); break; case "minWidth": case "maxWidth": case "minHeight": case "maxHeight": this._renderGeometry(); break; case "position": this._positionController.updatePosition(this.option("position")); this._positionController.restorePositionOnNextRender(true); this._renderGeometry(); this._toggleSafariScrolling(); break; case "visible": this._renderVisibilityAnimate(value).done((function() { var _this13$_animateDefer; return null === (_this13$_animateDefer = _this13._animateDeferred) || void 0 === _this13$_animateDefer ? void 0 : _this13$_animateDefer.resolveWith(_this13) })).fail((function() { var _this13$_animateDefer2; return null === (_this13$_animateDefer2 = _this13._animateDeferred) || void 0 === _this13$_animateDefer2 ? void 0 : _this13$_animateDefer2.reject() })); break; case "container": this._positionController.updateContainer(value); this._invalidate(); this._toggleSafariScrolling(); break; case "visualContainer": this._positionController.updateVisualContainer(value); this._renderWrapper(); this._toggleSafariScrolling(); break; case "innerOverlay": this._initInnerOverlayClass(); break; case "deferRendering": case "contentTemplate": this._contentAlreadyRendered = false; this._clean(); this._invalidate(); break; case "hideTopOverlayHandler": this._toggleHideTopOverlayCallback(false); this._initHideTopOverlayHandler(value); this._toggleHideTopOverlayCallback(this.option("visible")); break; case "hideOnParentScroll": this._toggleHideOnParentsScrollSubscription(this.option("visible")); break; case "closeOnOutsideClick": case "hideOnOutsideClick": case "propagateOutsideClick": break; case "rtlEnabled": this._contentAlreadyRendered = false; this.callBase(args); break; case "_fixWrapperPosition": this._positionController.fixWrapperPosition = value; break; case "wrapperAttr": this._renderWrapperAttributes(); break; case "restorePosition": this._positionController.restorePosition = value; break; case "preventScrollEvents": this._logDeprecatedPreventScrollEventsInfo(); this._toggleWrapperScrollEventsSubscription(value); break; default: this.callBase(args) } }, toggle: function(showing) { var _this14 = this; showing = void 0 === showing ? !this.option("visible") : showing; var result = new _deferred.Deferred; if (showing === this.option("visible")) { return result.resolveWith(this, [showing]).promise() } var animateDeferred = new _deferred.Deferred; this._animateDeferred = animateDeferred; this.option("visible", showing); animateDeferred.promise().done((function() { delete _this14._animateDeferred; result.resolveWith(_this14, [_this14.option("visible")]) })).fail((function() { delete _this14._animateDeferred; result.reject() })); return result.promise() }, $content: function() { return this._$content }, show: function() { return this.toggle(true) }, hide: function() { return this.toggle(false) }, content: function() { return (0, _element.getPublicElement)(this._$content) }, repaint: function() { if (this._contentAlreadyRendered) { this._positionController.restorePositionOnNextRender(true); this._renderGeometry({ forceStopAnimation: true }); (0, _visibility_change.triggerResizeEvent)(this._$content) } else { this.callBase() } } }); Overlay.baseZIndex = function(zIndex) { return zIndexPool.base(zIndex) }; (0, _component_registrator.default)("dxOverlay", Overlay); var _default = Overlay; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 13660: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/overlay/utils.js ***! \*****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getElementMaxHeightByWindow = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = (obj = __webpack_require__( /*! ../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); exports.getElementMaxHeightByWindow = function($element, startLocation) { var $window = (0, _renderer.default)((0, _window.getWindow)()); var _$element$offset = $element.offset(), elementOffset = _$element$offset.top; var actualOffset; if ((0, _type.isNumeric)(startLocation)) { if (startLocation < elementOffset) { return elementOffset - startLocation } else { actualOffset = (0, _size.getInnerHeight)($window) - startLocation + $window.scrollTop() } } else { var offsetTop = elementOffset - $window.scrollTop(); var offsetBottom = (0, _size.getInnerHeight)($window) - offsetTop - (0, _size.getOuterHeight)($element); actualOffset = Math.max(offsetTop, offsetBottom) } return .9 * actualOffset } }, 85421: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/overlay/z_index.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.remove = exports.isLastZIndexInStack = exports.create = exports.clearStack = exports.base = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var baseZIndex = 1500; var zIndexStack = []; exports.base = function(ZIndex) { baseZIndex = (0, _common.ensureDefined)(ZIndex, baseZIndex); return baseZIndex }; exports.create = function() { var baseIndex = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : baseZIndex; var length = zIndexStack.length; var index = (length ? zIndexStack[length - 1] : baseIndex) + 1; zIndexStack.push(index); return index }; exports.remove = function(zIndex) { var position = zIndexStack.indexOf(zIndex); if (position >= 0) { zIndexStack.splice(position, 1) } }; exports.isLastZIndexInStack = function(zIndex) { return zIndexStack.length && zIndexStack[zIndexStack.length - 1] === zIndex }; exports.clearStack = function() { zIndexStack = [] } }, 79383: /*!*********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/pager.js ***! \*********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _pager = (obj = __webpack_require__( /*! ../renovation/ui/pager/pager.j */ 47854), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _pager.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 96089: /*!**************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/pivot_grid.js ***! \**************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./pivot_grid/ui.pivot_grid */ 41e3), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 98713: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/pivot_grid/data_source.js ***! \**************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _m_data_source = __webpack_require__( /*! ../../__internal/grids/pivot_grid/data_source/m_data_source */ 16710); var _default = _m_data_source.PivotGridDataSource; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 77271: /*!******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/pivot_grid/ui.pivot_grid.field_chooser.js ***! \******************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _m_field_chooser = __webpack_require__( /*! ../../__internal/grids/pivot_grid/field_chooser/m_field_chooser */ 63857); var _default = _m_field_chooser.FieldChooser; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 41e3: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/pivot_grid/ui.pivot_grid.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _m_widget = __webpack_require__( /*! ../../__internal/grids/pivot_grid/m_widget */ 61550); var _default = _m_widget.PivotGrid; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 9170: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/pivot_grid/xmla_store.js ***! \*************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _m_xmla_store = __webpack_require__( /*! ../../__internal/grids/pivot_grid/xmla_store/m_xmla_store */ 79755); var _default = _m_xmla_store.XmlaStore; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 32014: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/pivot_grid_field_chooser.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiPivot_grid = (obj = __webpack_require__( /*! ./pivot_grid/ui.pivot_grid.field_chooser */ 77271), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _uiPivot_grid.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 22348: /*!***********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/popover.js ***! \***********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiPopover = (obj = __webpack_require__( /*! ./popover/ui.popover.full */ 65224), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _uiPopover.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 84228: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/popover/popover_position_controller.js ***! \***************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.PopoverPositionController = exports.POPOVER_POSITION_ALIASES = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _position = (obj = __webpack_require__( /*! ../../animation/position */ 49387), obj && obj.__esModule ? obj : { default: obj }); var obj; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _utils = __webpack_require__( /*! ../../renovation/ui/resizable/utils */ 19234); var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _overlay_position_controller = __webpack_require__( /*! ../overlay/overlay_position_controller */ 49314); var _excluded = ["shading", "target", "$arrow"]; function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var WEIGHT_OF_SIDES = { left: -1, top: -1, center: 0, right: 1, bottom: 1 }; var POPOVER_POSITION_ALIASES = { top: { my: "bottom center", at: "top center", collision: "fit flip" }, bottom: { my: "top center", at: "bottom center", collision: "fit flip" }, right: { my: "left center", at: "right center", collision: "flip fit" }, left: { my: "right center", at: "left center", collision: "flip fit" } }; exports.POPOVER_POSITION_ALIASES = POPOVER_POSITION_ALIASES; var POPOVER_DEFAULT_BOUNDARY_OFFSET = { h: 10, v: 10 }; var PopoverPositionController = function(_OverlayPositionContr) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(PopoverPositionController, _OverlayPositionContr); function PopoverPositionController(_ref) { var _this; var shading = _ref.shading, target = _ref.target, $arrow = _ref.$arrow, args = _objectWithoutProperties(_ref, _excluded); _this = _OverlayPositionContr.call(this, args) || this; _this._props = _extends({}, _this._props, { shading: shading, target: target }); _this._$arrow = $arrow; _this._positionSide = void 0; _this.updatePosition(_this._props.position); return _this } var _proto = PopoverPositionController.prototype; _proto.positionWrapper = function() { if (this._props.shading) { this._$wrapper.css({ top: 0, left: 0 }) } }; _proto.updateTarget = function(target) { this._props.target = target; this.updatePosition(this._props.position) }; _proto._renderBoundaryOffset = function() {}; _proto._getContainerPosition = function() { var offset = (0, _common.pairToObject)(this._position.offset || ""); var hOffset = offset.h, vOffset = offset.v; var isVerticalSide = this._isVerticalSide(); var isHorizontalSide = this._isHorizontalSide(); if (isVerticalSide || isHorizontalSide) { var isPopoverInside = this._isPopoverInside(); var sign = (isPopoverInside ? -1 : 1) * WEIGHT_OF_SIDES[this._positionSide]; var arrowSize = isVerticalSide ? (0, _size.getHeight)(this._$arrow) : (0, _size.getWidth)(this._$arrow); var arrowSizeCorrection = this._getContentBorderWidth(this._positionSide); var arrowOffset = sign * (arrowSize - arrowSizeCorrection); isVerticalSide ? vOffset += arrowOffset : hOffset += arrowOffset } return (0, _extend.extend)({}, this._position, { offset: hOffset + " " + vOffset }) }; _proto._getContentBorderWidth = function(side) { var borderWidth = this._$content.css(_utils.borderWidthStyles[side]); return parseInt(borderWidth) || 0 }; _proto._isPopoverInside = function() { var my = _position.default.setup.normalizeAlign(this._position.my); var at = _position.default.setup.normalizeAlign(this._position.at); return my.h === at.h && my.v === at.v }; _proto._isVerticalSide = function() { var side = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._positionSide; return "top" === side || "bottom" === side }; _proto._isHorizontalSide = function() { var side = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._positionSide; return "left" === side || "right" === side }; _proto._getDisplaySide = function(position) { var my = _position.default.setup.normalizeAlign(position.my); var at = _position.default.setup.normalizeAlign(position.at); var weightSign = WEIGHT_OF_SIDES[my.h] === WEIGHT_OF_SIDES[at.h] && WEIGHT_OF_SIDES[my.v] === WEIGHT_OF_SIDES[at.v] ? -1 : 1; var horizontalWeight = Math.abs(WEIGHT_OF_SIDES[my.h] - weightSign * WEIGHT_OF_SIDES[at.h]); var verticalWeight = Math.abs(WEIGHT_OF_SIDES[my.v] - weightSign * WEIGHT_OF_SIDES[at.v]); return horizontalWeight > verticalWeight ? at.h : at.v }; _proto._normalizePosition = function(positionProp) { var defaultPositionConfig = { of: this._props.target, boundaryOffset: POPOVER_DEFAULT_BOUNDARY_OFFSET }; var resultPosition; if ((0, _type.isDefined)(positionProp)) { resultPosition = (0, _extend.extend)(true, {}, defaultPositionConfig, this._positionToObject(positionProp)) } else { resultPosition = defaultPositionConfig } this._positionSide = this._getDisplaySide(resultPosition); return resultPosition }; _proto._positionToObject = function(positionProp) { if ((0, _type.isString)(positionProp)) { return (0, _extend.extend)({}, POPOVER_POSITION_ALIASES[positionProp]) } return positionProp }; return PopoverPositionController }(_overlay_position_controller.OverlayPositionController); exports.PopoverPositionController = PopoverPositionController }, 65224: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/popover/ui.popover.full.js ***! \***************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; __webpack_require__( /*! ../toolbar */ 71042); var _ui = _interopRequireDefault(__webpack_require__( /*! ../popover/ui.popover */ 17287)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var PopoverFull = function(_Popover) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(PopoverFull, _Popover); function PopoverFull() { return _Popover.apply(this, arguments) || this } var _proto = PopoverFull.prototype; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Popover.prototype._getDefaultOptions.call(this), { preventScrollEvents: false }) }; _proto._getToolbarName = function() { return "dxToolbar" }; return PopoverFull }(_ui.default); exports.default = PopoverFull; PopoverFull.defaultOptions = function(rule) { _ui.default.defaultOptions(rule) }; (0, _component_registrator.default)("dxPopover", PopoverFull); module.exports = exports.default; module.exports.default = exports.default }, 17287: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/popover/ui.popover.js ***! \**********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _position = _interopRequireDefault(__webpack_require__( /*! ../../animation/position */ 49387)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../popup/ui.popup */ 51495)); var _position2 = __webpack_require__( /*! ../../core/utils/position */ 37518); var _popover_position_controller = __webpack_require__( /*! ./popover_position_controller */ 84228); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } var POSITION_FLIP_MAP = { left: "right", top: "bottom", right: "left", bottom: "top", center: "center" }; var getEventNameByOption = function(optionValue) { return (0, _type.isObject)(optionValue) ? optionValue.name : optionValue }; var getEventName = function(that, optionName) { var optionValue = that.option(optionName); return getEventNameByOption(optionValue) }; var attachEvent = function(that, name) { var _that$option = that.option(), target = _that$option.target, shading = _that$option.shading, disabled = _that$option.disabled, hideEvent = _that$option.hideEvent; var isSelector = (0, _type.isString)(target); var shouldIgnoreHideEvent = shading && "hide" === name; var event = shouldIgnoreHideEvent ? null : getEventName(that, "".concat(name, "Event")); if (shouldIgnoreHideEvent && hideEvent) { _ui.default.log("W1020") } if (!event || disabled) { return } var eventName = (0, _index.addNamespace)(event, that.NAME); var action = that._createAction(function() { var delay = function(that, optionName) { var optionValue = that.option(optionName); return (0, _type.isObject)(optionValue) && optionValue.delay }(that, name + "Event"); this._clearEventsTimeouts(); if (delay) { this._timeouts[name] = setTimeout((function() { that[name]() }), delay) } else { that[name]() } }.bind(that), { validatingTargetName: "target" }); var handler = function(e) { action({ event: e, target: (0, _renderer.default)(e.currentTarget) }) }; var EVENT_HANDLER_NAME = "_" + name + "EventHandler"; if (isSelector) { that[EVENT_HANDLER_NAME] = handler; _events_engine.default.on(_dom_adapter.default.getDocument(), eventName, target, handler) } else { var targetElement = (0, _element.getPublicElement)((0, _renderer.default)(target)); that[EVENT_HANDLER_NAME] = void 0; _events_engine.default.on(targetElement, eventName, handler) } }; var detachEvent = function(that, target, name, event) { var eventName = event || getEventName(that, name + "Event"); if (!eventName) { return } eventName = (0, _index.addNamespace)(eventName, that.NAME); var EVENT_HANDLER_NAME = "_" + name + "EventHandler"; if (that[EVENT_HANDLER_NAME]) { _events_engine.default.off(_dom_adapter.default.getDocument(), eventName, target, that[EVENT_HANDLER_NAME]) } else { _events_engine.default.off((0, _element.getPublicElement)((0, _renderer.default)(target)), eventName) } }; var Popover = _ui2.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { target: void 0, shading: false, position: (0, _extend.extend)({}, _popover_position_controller.POPOVER_POSITION_ALIASES.bottom), hideOnOutsideClick: true, animation: { show: { type: "fade", from: 0, to: 1 }, hide: { type: "fade", from: 1, to: 0 } }, showTitle: false, width: "auto", height: "auto", dragEnabled: false, resizeEnabled: false, fullScreen: false, hideOnParentScroll: true, arrowPosition: "", arrowOffset: 0, _fixWrapperPosition: true }) }, _defaultOptionsRules: function() { return [{ device: { platform: "ios" }, options: { arrowPosition: { boundaryOffset: { h: 20, v: -10 }, collision: "fit" } } }, { device: function() { return !(0, _window.hasWindow)() }, options: { animation: null } }] }, _init: function() { var _this$option; this.callBase(); this._renderArrow(); this._timeouts = {}; this.$element().addClass("dx-popover"); this.$wrapper().addClass("dx-popover-wrapper"); var isInteractive = null === (_this$option = this.option("toolbarItems")) || void 0 === _this$option ? void 0 : _this$option.length; this.setAria("role", isInteractive ? "dialog" : "tooltip") }, _render: function() { this.callBase.apply(this, arguments); this._detachEvents(this.option("target")); this._attachEvents() }, _detachEvents: function(target) { detachEvent(this, target, "show"); detachEvent(this, target, "hide") }, _attachEvents: function() { attachEvent(this, "show"); attachEvent(this, "hide") }, _renderArrow: function() { this._$arrow = (0, _renderer.default)("<div>").addClass("dx-popover-arrow").prependTo(this.$overlayContent()) }, _documentDownHandler: function(e) { if (this._isOutsideClick(e)) { return this.callBase(e) } return true }, _isOutsideClick: function(e) { return !(0, _renderer.default)(e.target).closest(this.option("target")).length }, _animate: function(animation) { if (animation && animation.to && "object" === _typeof(animation.to)) { (0, _extend.extend)(animation.to, { position: this._getContainerPosition() }) } this.callBase.apply(this, arguments) }, _stopAnimation: function() { this.callBase.apply(this, arguments) }, _renderTitle: function() { this.$wrapper().toggleClass("dx-popover-without-title", !this.option("showTitle")); this.callBase() }, _renderPosition: function() { var shouldUpdateDimensions = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : true; this.callBase(); this._renderOverlayPosition(shouldUpdateDimensions); this._actions.onPositioned() }, _renderOverlayPosition: function(shouldUpdateDimensions) { this._resetOverlayPosition(shouldUpdateDimensions); this._updateContentSize(shouldUpdateDimensions); var contentPosition = this._getContainerPosition(); var resultLocation = _position.default.setup(this.$overlayContent(), contentPosition); var positionSide = this._getSideByLocation(resultLocation); this._togglePositionClass("dx-position-" + positionSide); this._toggleFlippedClass(resultLocation.h.flip, resultLocation.v.flip); var isArrowVisible = this._isHorizontalSide() || this._isVerticalSide(); if (isArrowVisible) { this._renderArrowPosition(positionSide) } }, _resetOverlayPosition: function(shouldUpdateDimensions) { this._setContentHeight(shouldUpdateDimensions); this._togglePositionClass("dx-position-" + this._positionController._positionSide); (0, _translator.move)(this.$overlayContent(), { left: 0, top: 0 }); this._$arrow.css({ top: "auto", right: "auto", bottom: "auto", left: "auto" }) }, _updateContentSize: function(shouldUpdateDimensions) { if (!this.$content() || !shouldUpdateDimensions) { return } var containerLocation = _position.default.calculate(this.$overlayContent(), this._getContainerPosition()); if (containerLocation.h.oversize > 0 && this._isHorizontalSide() && !containerLocation.h.fit) { var newContainerWidth = (0, _size.getWidth)(this.$overlayContent()) - containerLocation.h.oversize; (0, _size.setWidth)(this.$overlayContent(), newContainerWidth) } if (containerLocation.v.oversize > 0 && this._isVerticalSide() && !containerLocation.v.fit) { var newOverlayContentHeight = (0, _size.getHeight)(this.$overlayContent()) - containerLocation.v.oversize; var newPopupContentHeight = (0, _size.getHeight)(this.$content()) - containerLocation.v.oversize; (0, _size.setHeight)(this.$overlayContent(), newOverlayContentHeight); (0, _size.setHeight)(this.$content(), newPopupContentHeight) } }, _getContainerPosition: function() { return this._positionController._getContainerPosition() }, _hideOnParentScrollTarget: function() { return (0, _renderer.default)(this._positionController._position.of || this.callBase()) }, _getSideByLocation: function(location) { var isFlippedByVertical = location.v.flip; var isFlippedByHorizontal = location.h.flip; return this._isVerticalSide() && isFlippedByVertical || this._isHorizontalSide() && isFlippedByHorizontal || this._isPopoverInside() ? POSITION_FLIP_MAP[this._positionController._positionSide] : this._positionController._positionSide }, _togglePositionClass: function(positionClass) { this.$wrapper().removeClass("dx-position-left dx-position-right dx-position-top dx-position-bottom").addClass(positionClass) }, _toggleFlippedClass: function(isFlippedHorizontal, isFlippedVertical) { this.$wrapper().toggleClass("dx-popover-flipped-horizontal", isFlippedHorizontal).toggleClass("dx-popover-flipped-vertical", isFlippedVertical) }, _renderArrowPosition: function(side) { var arrowRect = (0, _position2.getBoundingRect)(this._$arrow.get(0)); var arrowFlip = -(this._isVerticalSide(side) ? arrowRect.height : arrowRect.width); this._$arrow.css(POSITION_FLIP_MAP[side], arrowFlip); var axis = this._isVerticalSide(side) ? "left" : "top"; var sizeProperty = this._isVerticalSide(side) ? "width" : "height"; var $target = (0, _renderer.default)(this._positionController._position.of); var targetOffset = _position.default.offset($target) || { top: 0, left: 0 }; var contentOffset = _position.default.offset(this.$overlayContent()); var arrowSize = arrowRect[sizeProperty]; var contentLocation = contentOffset[axis]; var contentSize = (0, _position2.getBoundingRect)(this.$overlayContent().get(0))[sizeProperty]; var targetLocation = targetOffset[axis]; var targetElement = $target.get(0); var targetSize = targetElement && !targetElement.preventDefault ? (0, _position2.getBoundingRect)(targetElement)[sizeProperty] : 0; var min = Math.max(contentLocation, targetLocation); var max = Math.min(contentLocation + contentSize, targetLocation + targetSize); var arrowLocation; if ("start" === this.option("arrowPosition")) { arrowLocation = min - contentLocation } else if ("end" === this.option("arrowPosition")) { arrowLocation = max - contentLocation - arrowSize } else { arrowLocation = (min + max) / 2 - contentLocation - arrowSize / 2 } var borderWidth = this._positionController._getContentBorderWidth(side); var finalArrowLocation = (0, _math.fitIntoRange)(arrowLocation - borderWidth + this.option("arrowOffset"), borderWidth, contentSize - arrowSize - 2 * borderWidth); this._$arrow.css(axis, finalArrowLocation) }, _isPopoverInside: function() { return this._positionController._isPopoverInside() }, _setContentHeight: function(fullUpdate) { if (fullUpdate) { this.callBase() } }, _getPositionControllerConfig: function() { var _this$option2 = this.option(), shading = _this$option2.shading, target = _this$option2.target; return (0, _extend.extend)({}, this.callBase(), { target: target, shading: shading, $arrow: this._$arrow }) }, _initPositionController: function() { this._positionController = new _popover_position_controller.PopoverPositionController(this._getPositionControllerConfig()) }, _renderWrapperDimensions: function() { if (this.option("shading")) { this.$wrapper().css({ width: "100%", height: "100%" }) } }, _isVerticalSide: function(side) { return this._positionController._isVerticalSide(side) }, _isHorizontalSide: function(side) { return this._positionController._isHorizontalSide(side) }, _clearEventTimeout: function(name) { clearTimeout(this._timeouts[name]) }, _clearEventsTimeouts: function() { this._clearEventTimeout("show"); this._clearEventTimeout("hide") }, _clean: function() { this._detachEvents(this.option("target")); this.callBase.apply(this, arguments) }, _optionChanged: function(args) { switch (args.name) { case "arrowPosition": case "arrowOffset": this._renderGeometry(); break; case "fullScreen": if (args.value) { this.option("fullScreen", false) } break; case "target": args.previousValue && this._detachEvents(args.previousValue); this._positionController.updateTarget(args.value); this._invalidate(); break; case "showEvent": case "hideEvent": var name = args.name.substring(0, 4); var event = getEventNameByOption(args.previousValue); this.hide(); detachEvent(this, this.option("target"), name, event); attachEvent(this, name); break; case "visible": this._clearEventTimeout(args.value ? "show" : "hide"); this.callBase(args); break; default: this.callBase(args) } }, show: function(target) { if (target) { this.option("target", target) } return this.callBase() } }); (0, _component_registrator.default)("dxPopover", Popover); var _default = Popover; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 39114: /*!*********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/popup.js ***! \*********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiPopup = (obj = __webpack_require__( /*! ./popup/ui.popup.full */ 84640), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _uiPopup.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 1351: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/popup/popup_drag.js ***! \********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _drag = __webpack_require__( /*! ../../events/drag */ 23174); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var PopupDrag = function() { function PopupDrag(config) { this.init(config) } var _proto = PopupDrag.prototype; _proto.init = function(_ref) { var dragEnabled = _ref.dragEnabled, handle = _ref.handle, draggableElement = _ref.draggableElement, positionController = _ref.positionController; this._positionController = positionController; this._draggableElement = draggableElement; this._handle = handle; this._dragEnabled = dragEnabled; this.unsubscribe(); if (!dragEnabled) { return } this.subscribe() }; _proto.moveDown = function(e) { this._moveTo(5, 0, e) }; _proto.moveUp = function(e) { this._moveTo(-5, 0, e) }; _proto.moveLeft = function(e) { this._moveTo(0, -5, e) }; _proto.moveRight = function(e) { this._moveTo(0, 5, e) }; _proto.subscribe = function() { var _this = this; var eventNames = this._getEventNames(); _events_engine.default.on(this._handle, eventNames.startEventName, (function(e) { _this._dragStartHandler(e) })); _events_engine.default.on(this._handle, eventNames.updateEventName, (function(e) { _this._dragUpdateHandler(e) })); _events_engine.default.on(this._handle, eventNames.endEventName, (function(e) { _this._dragEndHandler(e) })) }; _proto.unsubscribe = function() { var eventNames = this._getEventNames(); _events_engine.default.off(this._handle, eventNames.startEventName); _events_engine.default.off(this._handle, eventNames.updateEventName); _events_engine.default.off(this._handle, eventNames.endEventName) }; _proto._getEventNames = function() { var startEventName = (0, _index.addNamespace)(_drag.start, "overlayDrag"); var updateEventName = (0, _index.addNamespace)(_drag.move, "overlayDrag"); var endEventName = (0, _index.addNamespace)(_drag.end, "overlayDrag"); return { startEventName: startEventName, updateEventName: updateEventName, endEventName: endEventName } }; _proto._dragStartHandler = function(e) { var allowedOffsets = this._getAllowedOffsets(); this._prevOffset = { x: 0, y: 0 }; e.targetElements = []; e.maxTopOffset = allowedOffsets.top; e.maxBottomOffset = allowedOffsets.bottom; e.maxLeftOffset = allowedOffsets.left; e.maxRightOffset = allowedOffsets.right }; _proto._dragUpdateHandler = function(e) { var targetOffset = { top: e.offset.y - this._prevOffset.y, left: e.offset.x - this._prevOffset.x }; this._moveByOffset(targetOffset); this._prevOffset = e.offset }; _proto._dragEndHandler = function(event) { this._positionController.dragHandled(); this._positionController.detectVisualPositionChange(event) }; _proto._moveTo = function(top, left, e) { if (!this._dragEnabled) { return } e.preventDefault(); e.stopPropagation(); var offset = this._fitOffsetIntoAllowedRange(top, left); this._moveByOffset(offset); this._dragEndHandler(e) }; _proto._fitOffsetIntoAllowedRange = function(top, left) { var allowedOffsets = this._getAllowedOffsets(); return { top: (0, _math.fitIntoRange)(top, -allowedOffsets.top, allowedOffsets.bottom), left: (0, _math.fitIntoRange)(left, -allowedOffsets.left, allowedOffsets.right) } }; _proto._getContainerDimensions = function() { var document = _dom_adapter.default.getDocument(); var container = this._positionController.$dragResizeContainer.get(0); var containerWidth = (0, _size.getOuterWidth)(container); var containerHeight = (0, _size.getOuterHeight)(container); if ((0, _type.isWindow)(container)) { containerHeight = Math.max(document.body.clientHeight, containerHeight); containerWidth = Math.max(document.body.clientWidth, containerWidth) } return { width: containerWidth, height: containerHeight } }; _proto._getContainerPosition = function() { var container = this._positionController.$dragResizeContainer.get(0); return (0, _type.isWindow)(container) ? { top: 0, left: 0 } : (0, _size.getOffset)(container) }; _proto._getElementPosition = function() { return (0, _size.getOffset)(this._draggableElement) }; _proto._getInnerDelta = function() { var containerDimensions = this._getContainerDimensions(); var elementDimensions = this._getElementDimensions(); return { x: containerDimensions.width - elementDimensions.width, y: containerDimensions.height - elementDimensions.height } }; _proto._getOuterDelta = function() { var _this$_getElementDime = this._getElementDimensions(), width = _this$_getElementDime.width, height = _this$_getElementDime.height; var outsideDragFactor = this._positionController.outsideDragFactor; return { x: width * outsideDragFactor, y: height * outsideDragFactor } }; _proto._getFullDelta = function() { var fullDelta = this._getInnerDelta(); var outerDelta = this._getOuterDelta(); return { x: fullDelta.x + outerDelta.x, y: fullDelta.y + outerDelta.y } }; _proto._getElementDimensions = function() { return { width: this._draggableElement.offsetWidth, height: this._draggableElement.offsetHeight } }; _proto._getAllowedOffsets = function() { var fullDelta = this._getFullDelta(); var isDragAllowed = fullDelta.y >= 0 && fullDelta.x >= 0; if (!isDragAllowed) { return { top: 0, bottom: 0, left: 0, right: 0 } } var elementPosition = this._getElementPosition(); var containerPosition = this._getContainerPosition(); var outerDelta = this._getOuterDelta(); return { top: elementPosition.top - containerPosition.top + outerDelta.y, bottom: -elementPosition.top + containerPosition.top + fullDelta.y, left: elementPosition.left - containerPosition.left + outerDelta.x, right: -elementPosition.left + containerPosition.left + fullDelta.x } }; _proto._moveByOffset = function(offset) { var currentPosition = (0, _translator.locate)(this._draggableElement); var newPosition = { left: currentPosition.left + offset.left, top: currentPosition.top + offset.top }; (0, _translator.move)(this._draggableElement, newPosition) }; return PopupDrag }(); var _default = PopupDrag; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 62300: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/popup/popup_overflow_manager.js ***! \********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.createBodyOverflowManager = void 0; var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var overflowManagerMock = { setOverflow: _common.noop, restoreOverflow: _common.noop }; exports.createBodyOverflowManager = function() { if (!(0, _window.hasWindow)()) { return overflowManagerMock } var window = (0, _window.getWindow)(); var documentElement = _dom_adapter.default.getDocument().documentElement; var body = _dom_adapter.default.getBody(); var isIosDevice = "ios" === _devices.default.real().platform; var prevSettings = { overflow: null, overflowX: null, overflowY: null, paddingRight: null, position: null, top: null, left: null }; var setBodyPaddingRight = function() { var scrollBarWidth = window.innerWidth - documentElement.clientWidth; if (prevSettings.paddingRight || scrollBarWidth <= 0) { return } var paddingRight = window.getComputedStyle(body).getPropertyValue("padding-right"); var computedBodyPaddingRight = parseInt(paddingRight, 10); prevSettings.paddingRight = computedBodyPaddingRight; body.style.setProperty("padding-right", "".concat(computedBodyPaddingRight + scrollBarWidth, "px")) }; var restoreBodyPaddingRight = function() { if (!(0, _type.isDefined)(prevSettings.paddingRight)) { return } if (prevSettings.paddingRight) { body.style.setProperty("padding-right", "".concat(prevSettings.paddingRight, "px")) } else { body.style.removeProperty("padding-right") } prevSettings.paddingRight = null }; return { setOverflow: isIosDevice ? function() { if ((0, _type.isDefined)(prevSettings.position) || "fixed" === body.style.position) { return } var scrollY = window.scrollY, scrollX = window.scrollX; prevSettings.position = body.style.position; prevSettings.top = body.style.top; prevSettings.left = body.style.left; body.style.setProperty("position", "fixed"); body.style.setProperty("top", "".concat(-scrollY, "px")); body.style.setProperty("left", "".concat(-scrollX, "px")) } : function() { setBodyPaddingRight(); if (prevSettings.overflow || "hidden" === body.style.overflow) { return } prevSettings.overflow = body.style.overflow; prevSettings.overflowX = body.style.overflowX; prevSettings.overflowY = body.style.overflowY; body.style.setProperty("overflow", "hidden") }, restoreOverflow: isIosDevice ? function() { if (!(0, _type.isDefined)(prevSettings.position)) { return } var scrollY = -parseInt(body.style.top, 10); var scrollX = -parseInt(body.style.left, 10); ["position", "top", "left"].forEach((function(property) { if (prevSettings[property]) { body.style.setProperty(property, prevSettings[property]) } else { body.style.removeProperty(property) } })); window.scrollTo(scrollX, scrollY); prevSettings.position = null } : function() { restoreBodyPaddingRight(); ["overflow", "overflowX", "overflowY"].forEach((function(property) { if (!(0, _type.isDefined)(prevSettings[property])) { return } var propertyInKebabCase = property.replace(/(X)|(Y)/, (function(symbol) { return "-".concat(symbol.toLowerCase()) })); if (prevSettings[property]) { body.style.setProperty(propertyInKebabCase, prevSettings[property]) } else { body.style.removeProperty(propertyInKebabCase) } prevSettings[property] = null })) } } } }, 39665: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/popup/popup_position_controller.js ***! \***********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.PopupPositionController = void 0; var _renderer = (obj = __webpack_require__( /*! ../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _view_port = __webpack_require__( /*! ../../core/utils/view_port */ 77695); var _overlay_position_controller = __webpack_require__( /*! ../overlay/overlay_position_controller */ 49314); var _excluded = ["fullScreen", "forceApplyBindings", "dragOutsideBoundary", "dragAndResizeArea", "outsideDragFactor"]; function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var window = (0, _window.getWindow)(); var PopupPositionController = function(_OverlayPositionContr) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(PopupPositionController, _OverlayPositionContr); function PopupPositionController(_ref) { var _this; var fullScreen = _ref.fullScreen, forceApplyBindings = _ref.forceApplyBindings, dragOutsideBoundary = _ref.dragOutsideBoundary, dragAndResizeArea = _ref.dragAndResizeArea, outsideDragFactor = _ref.outsideDragFactor, args = _objectWithoutProperties(_ref, _excluded); _this = _OverlayPositionContr.call(this, args) || this; _this._props = _extends({}, _this._props, { fullScreen: fullScreen, forceApplyBindings: forceApplyBindings, dragOutsideBoundary: dragOutsideBoundary, dragAndResizeArea: dragAndResizeArea, outsideDragFactor: outsideDragFactor }); _this._$dragResizeContainer = void 0; _this._updateDragResizeContainer(); return _this } var _proto = PopupPositionController.prototype; _proto.updateContainer = function(containerProp) { _OverlayPositionContr.prototype.updateContainer.call(this, containerProp); this._updateDragResizeContainer() }; _proto.dragHandled = function() { this.restorePositionOnNextRender(false) }; _proto.resizeHandled = function() { this.restorePositionOnNextRender(false) }; _proto.positionContent = function() { if (this._props.fullScreen) { (0, _translator.move)(this._$content, { top: 0, left: 0 }); this.detectVisualPositionChange() } else { var _this$_props$forceApp, _this$_props; null === (_this$_props$forceApp = (_this$_props = this._props).forceApplyBindings) || void 0 === _this$_props$forceApp ? void 0 : _this$_props$forceApp.call(_this$_props); _OverlayPositionContr.prototype.positionContent.call(this) } }; _proto._updateDragResizeContainer = function() { this._$dragResizeContainer = this._getDragResizeContainer() }; _proto._getDragResizeContainer = function() { if (this._props.dragOutsideBoundary) { return (0, _renderer.default)(window) } if (this._props.dragAndResizeArea) { return (0, _renderer.default)(this._props.dragAndResizeArea) } var isContainerDefined = (0, _view_port.originalViewPort)().get(0) || this._props.container; return isContainerDefined ? this._$markupContainer : (0, _renderer.default)(window) }; _proto._getVisualContainer = function() { if (this._props.fullScreen) { return (0, _renderer.default)(window) } return _OverlayPositionContr.prototype._getVisualContainer.call(this) }; _proto._fullScreenEnabled = function() { this.restorePositionOnNextRender(false) }; _proto._fullScreenDisabled = function() { this.restorePositionOnNextRender(true) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(PopupPositionController, [{ key: "fullScreen", set: function(fullScreen) { this._props.fullScreen = fullScreen; if (fullScreen) { this._fullScreenEnabled() } else { this._fullScreenDisabled() } } }, { key: "$dragResizeContainer", get: function() { return this._$dragResizeContainer } }, { key: "outsideDragFactor", get: function() { if (this._props.dragOutsideBoundary) { return 1 } return this._props.outsideDragFactor }, set: function(outsideDragFactor) { this._props.outsideDragFactor = outsideDragFactor } }, { key: "dragAndResizeArea", set: function(dragAndResizeArea) { this._props.dragAndResizeArea = dragAndResizeArea; this._updateDragResizeContainer() } }, { key: "dragOutsideBoundary", set: function(dragOutsideBoundary) { this._props.dragOutsideBoundary = dragOutsideBoundary; this._updateDragResizeContainer() } }]); return PopupPositionController }(_overlay_position_controller.OverlayPositionController); exports.PopupPositionController = PopupPositionController }, 84640: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/popup/ui.popup.full.js ***! \***********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; __webpack_require__( /*! ../toolbar */ 71042); var _ui = _interopRequireDefault(__webpack_require__( /*! ../popup/ui.popup */ 51495)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var PopupFull = function(_Popup) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(PopupFull, _Popup); function PopupFull() { return _Popup.apply(this, arguments) || this } var _proto = PopupFull.prototype; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Popup.prototype._getDefaultOptions.call(this), { preventScrollEvents: false }) }; _proto._getToolbarName = function() { return "dxToolbar" }; return PopupFull }(_ui.default); exports.default = PopupFull; PopupFull.defaultOptions = function(rule) { _ui.default.defaultOptions(rule) }; (0, _component_registrator.default)("dxPopup", PopupFull); module.exports = exports.default; module.exports.default = exports.default }, 51495: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/popup/ui.popup.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _empty_template = __webpack_require__( /*! ../../core/templates/empty_template */ 10688); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/browser */ 47810)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _inflector = __webpack_require__( /*! ../../core/utils/inflector */ 78008); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _position = __webpack_require__( /*! ../../core/utils/position */ 37518); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _version = __webpack_require__( /*! ../../core/utils/version */ 58020); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _visibility_change = __webpack_require__( /*! ../../events/visibility_change */ 80506); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _popup_drag = _interopRequireDefault(__webpack_require__( /*! ./popup_drag */ 1351)); var _resizable = _interopRequireDefault(__webpack_require__( /*! ../resizable */ 46743)); var _button = _interopRequireDefault(__webpack_require__( /*! ../button */ 63008)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../overlay/ui.overlay */ 89799)); var _themes = __webpack_require__( /*! ../themes */ 75811); __webpack_require__( /*! ../toolbar/ui.toolbar.base */ 997); var _resize_observer = _interopRequireDefault(__webpack_require__( /*! ../../core/resize_observer */ 91784)); var zIndexPool = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../overlay/z_index */ 85421)); var _popup_position_controller = __webpack_require__( /*! ./popup_position_controller */ 39665); var _popup_overflow_manager = __webpack_require__( /*! ./popup_overflow_manager */ 62300); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var ALLOWED_TOOLBAR_ITEM_ALIASES = ["cancel", "clear", "done"]; var IS_OLD_SAFARI = _browser.default.safari && (0, _version.compare)(_browser.default.version, [11]) < 0; var HEIGHT_STRATEGIES = { static: "", inherit: "dx-popup-inherit-height", flex: "dx-popup-flex-height" }; var Popup = _ui.default.inherit({ _supportedKeys: function() { var _this = this; return (0, _extend.extend)(this.callBase(), { upArrow: function(e) { var _this$_drag; null === (_this$_drag = _this._drag) || void 0 === _this$_drag ? void 0 : _this$_drag.moveUp(e) }, downArrow: function(e) { var _this$_drag2; null === (_this$_drag2 = _this._drag) || void 0 === _this$_drag2 ? void 0 : _this$_drag2.moveDown(e) }, leftArrow: function(e) { var _this$_drag3; null === (_this$_drag3 = _this._drag) || void 0 === _this$_drag3 ? void 0 : _this$_drag3.moveLeft(e) }, rightArrow: function(e) { var _this$_drag4; null === (_this$_drag4 = _this._drag) || void 0 === _this$_drag4 ? void 0 : _this$_drag4.moveRight(e) } }) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { fullScreen: false, title: "", showTitle: true, titleTemplate: "title", onTitleRendered: null, dragOutsideBoundary: false, dragEnabled: false, dragAndResizeArea: void 0, enableBodyScroll: true, outsideDragFactor: 0, onResizeStart: null, onResize: null, onResizeEnd: null, resizeEnabled: false, toolbarItems: [], showCloseButton: false, bottomTemplate: "bottom", useDefaultToolbarButtons: false, useFlatToolbarButtons: false, autoResizeEnabled: true }) }, _defaultOptionsRules: function() { var themeName = (0, _themes.current)(); return this.callBase().concat([{ device: { platform: "ios" }, options: { animation: this._iosAnimation } }, { device: { platform: "android" }, options: { animation: this._androidAnimation } }, { device: { platform: "generic" }, options: { showCloseButton: true } }, { device: function(_device) { return "desktop" === _devices.default.real().deviceType && "generic" === _device.platform }, options: { dragEnabled: true } }, { device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }, { device: function() { return (0, _themes.isMaterial)(themeName) }, options: { useDefaultToolbarButtons: true, useFlatToolbarButtons: true, showCloseButton: false } }]) }, _iosAnimation: { show: { type: "slide", duration: 400, from: { position: { my: "top", at: "bottom" } }, to: { position: { my: "center", at: "center" } } }, hide: { type: "slide", duration: 400, from: { opacity: 1, position: { my: "center", at: "center" } }, to: { opacity: 1, position: { my: "top", at: "bottom" } } } }, _androidAnimation: function() { return this.option("fullScreen") ? { show: { type: "slide", duration: 300, from: { top: "30%", opacity: 0 }, to: { top: 0, opacity: 1 } }, hide: { type: "slide", duration: 300, from: { top: 0, opacity: 1 }, to: { top: "30%", opacity: 0 } } } : { show: { type: "fade", duration: 400, from: 0, to: 1 }, hide: { type: "fade", duration: 400, from: 1, to: 0 } } }, _init: function() { var popupWrapperClassExternal = this.option("_wrapperClassExternal"); var popupWrapperClasses = popupWrapperClassExternal ? "".concat("dx-popup-wrapper", " ").concat(popupWrapperClassExternal) : "dx-popup-wrapper"; this.callBase(); this._createBodyOverflowManager(); this._updateResizeCallbackSkipCondition(); this.$element().addClass("dx-popup"); this.$wrapper().addClass(popupWrapperClasses); this._$popupContent = this._$content.wrapInner((0, _renderer.default)("<div>").addClass("dx-popup-content")).children().eq(0); this._toggleContentScrollClass(); this.$overlayContent().attr("role", "dialog") }, _render: function() { var isFullscreen = this.option("fullScreen"); this._toggleFullScreenClass(isFullscreen); this.callBase() }, _createBodyOverflowManager: function() { this._bodyOverflowManager = (0, _popup_overflow_manager.createBodyOverflowManager)() }, _toggleFullScreenClass: function(value) { this.$overlayContent().toggleClass("dx-popup-fullscreen", value).toggleClass("dx-popup-normal", !value) }, _initTemplates: function() { this.callBase(); this._templateManager.addDefaultTemplates({ title: new _empty_template.EmptyTemplate, bottom: new _empty_template.EmptyTemplate }) }, _getActionsList: function() { return this.callBase().concat(["onResizeStart", "onResize", "onResizeEnd"]) }, _contentResizeHandler: function(entry) { if (!this._shouldSkipContentResize(entry)) { this._renderGeometry({ shouldOnlyReposition: true }) } }, _doesShowAnimationChangeDimensions: function() { var animation = this.option("animation"); return ["to", "from"].some((function(prop) { var _animation$show; var config = null === animation || void 0 === animation ? void 0 : null === (_animation$show = animation.show) || void 0 === _animation$show ? void 0 : _animation$show[prop]; return (0, _type.isObject)(config) && ("width" in config || "height" in config) })) }, _updateResizeCallbackSkipCondition: function() { var _this2 = this; var doesShowAnimationChangeDimensions = this._doesShowAnimationChangeDimensions(); this._shouldSkipContentResize = function(entry) { return doesShowAnimationChangeDimensions && _this2._showAnimationProcessing || _this2._areContentDimensionsRendered(entry) } }, _observeContentResize: function(shouldObserve) { var _this3 = this; if (!this.option("useResizeObserver")) { return } var contentElement = this._$content.get(0); if (shouldObserve) { _resize_observer.default.observe(contentElement, (function(entry) { _this3._contentResizeHandler(entry) })) } else { _resize_observer.default.unobserve(contentElement) } }, _areContentDimensionsRendered: function(entry) { var _entry$contentBoxSize, _this$_renderedDimens3, _this$_renderedDimens4; var contentBox = null === (_entry$contentBoxSize = entry.contentBoxSize) || void 0 === _entry$contentBoxSize ? void 0 : _entry$contentBoxSize[0]; if (contentBox) { var _this$_renderedDimens, _this$_renderedDimens2; return parseInt(contentBox.inlineSize, 10) === (null === (_this$_renderedDimens = this._renderedDimensions) || void 0 === _this$_renderedDimens ? void 0 : _this$_renderedDimens.width) && parseInt(contentBox.blockSize, 10) === (null === (_this$_renderedDimens2 = this._renderedDimensions) || void 0 === _this$_renderedDimens2 ? void 0 : _this$_renderedDimens2.height) } var contentRect = entry.contentRect; return parseInt(contentRect.width, 10) === (null === (_this$_renderedDimens3 = this._renderedDimensions) || void 0 === _this$_renderedDimens3 ? void 0 : _this$_renderedDimens3.width) && parseInt(contentRect.height, 10) === (null === (_this$_renderedDimens4 = this._renderedDimensions) || void 0 === _this$_renderedDimens4 ? void 0 : _this$_renderedDimens4.height) }, _renderContent: function() { this.callBase(); this._observeContentResize(true) }, _renderContentImpl: function() { this._renderTitle(); this.callBase(); this._renderResize(); this._renderBottom() }, _renderTitle: function() { var items = this._getToolbarItems("top"); var titleText = this.option("title"); var showTitle = this.option("showTitle"); if (showTitle && !!titleText) { items.unshift({ location: _devices.default.current().ios ? "center" : "before", text: titleText }) } if (showTitle || items.length > 0) { this._$title && this._$title.remove(); var $title = (0, _renderer.default)("<div>").addClass("dx-popup-title").insertBefore(this.$content()); this._$title = this._renderTemplateByType("titleTemplate", items, $title).addClass("dx-popup-title"); this._renderDrag(); this._executeTitleRenderAction(this._$title); this._$title.toggleClass("dx-has-close-button", this._hasCloseButton()) } else if (this._$title) { this._$title.detach() } }, _renderTemplateByType: function(optionName, data, $container, additionalToolbarOptions) { var _this$option = this.option(), rtlEnabled = _this$option.rtlEnabled, useDefaultToolbarButtons = _this$option.useDefaultToolbarButtons, useFlatToolbarButtons = _this$option.useFlatToolbarButtons, disabled = _this$option.disabled; var template = this._getTemplateByOption(optionName); var toolbarTemplate = template instanceof _empty_template.EmptyTemplate; if (toolbarTemplate) { var integrationOptions = (0, _extend.extend)({}, this.option("integrationOptions"), { skipTemplates: ["content", "title"] }); var toolbarOptions = (0, _extend.extend)(additionalToolbarOptions, { items: data, rtlEnabled: rtlEnabled, useDefaultButtons: useDefaultToolbarButtons, useFlatButtons: useFlatToolbarButtons, disabled: disabled, integrationOptions: integrationOptions }); this._getTemplate("dx-polymorph-widget").render({ container: $container, model: { widget: this._getToolbarName(), options: toolbarOptions } }); var $toolbar = $container.children("div"); $container.replaceWith($toolbar); return $toolbar } else { var $result = (0, _renderer.default)(template.render({ container: (0, _element.getPublicElement)($container) })); if ($result.hasClass("dx-template-wrapper")) { $container.replaceWith($result); $container = $result } return $container } }, _getToolbarName: function() { return "dxToolbarBase" }, _renderVisibilityAnimate: function(visible) { return this.callBase(visible) }, _hide: function() { this._observeContentResize(false); return this.callBase() }, _executeTitleRenderAction: function($titleElement) { this._getTitleRenderAction()({ titleElement: (0, _element.getPublicElement)($titleElement) }) }, _getTitleRenderAction: function() { return this._titleRenderAction || this._createTitleRenderAction() }, _createTitleRenderAction: function() { return this._titleRenderAction = this._createActionByOption("onTitleRendered", { element: this.element(), excludeValidators: ["disabled", "readOnly"] }) }, _getCloseButton: function() { return { toolbar: "top", location: "after", template: this._getCloseButtonRenderer() } }, _getCloseButtonRenderer: function() { var _this4 = this; return function(_, __, container) { var $button = (0, _renderer.default)("<div>").addClass("dx-closebutton"); _this4._createComponent($button, _button.default, { icon: "close", onClick: _this4._createToolbarItemAction(void 0), stylingMode: "text", integrationOptions: {} }); (0, _renderer.default)(container).append($button) } }, _getToolbarItems: function(toolbar) { var _this5 = this; var toolbarItems = this.option("toolbarItems"); var toolbarsItems = []; this._toolbarItemClasses = []; var currentPlatform = _devices.default.current().platform; var index = 0; (0, _iterator.each)(toolbarItems, (function(_, data) { var isShortcut = (0, _type.isDefined)(data.shortcut); var item = isShortcut ? function(name) { var device = _devices.default.current(); var platform = device.platform; var toolbar = "bottom"; var location = "before"; if ("ios" === platform) { switch (name) { case "cancel": toolbar = "top"; break; case "clear": toolbar = "top"; location = "after"; break; case "done": location = "after" } } else if ("android" === platform) { switch (name) { case "cancel": case "done": location = "after" } } return { toolbar: toolbar, location: location } }(data.shortcut) : data; if (isShortcut && "ios" === currentPlatform && index < 2) { item.toolbar = "top"; index++ } item.toolbar = data.toolbar || item.toolbar || "top"; if (item && item.toolbar === toolbar) { if (isShortcut) { (0, _extend.extend)(item, { location: data.location }, _this5._getToolbarItemByAlias(data)) } var isLTROrder = "generic" === currentPlatform; if ("done" === data.shortcut && isLTROrder || "cancel" === data.shortcut && !isLTROrder) { toolbarsItems.unshift(item) } else { toolbarsItems.push(item) } } })); if ("top" === toolbar && this._hasCloseButton()) { toolbarsItems.push(this._getCloseButton()) } return toolbarsItems }, _hasCloseButton: function() { return this.option("showCloseButton") && this.option("showTitle") }, _getLocalizationKey: function(itemType) { return "done" === itemType.toLowerCase() ? "OK" : (0, _inflector.camelize)(itemType, true) }, _getToolbarItemByAlias: function(data) { var that = this; var itemType = data.shortcut; if (!ALLOWED_TOOLBAR_ITEM_ALIASES.includes(itemType)) { return false } var itemConfig = (0, _extend.extend)({ text: _message.default.format(this._getLocalizationKey(itemType)), onClick: this._createToolbarItemAction(data.onClick), integrationOptions: {}, type: that.option("useDefaultToolbarButtons") ? "default" : "normal", stylingMode: that.option("useFlatToolbarButtons") ? "text" : "contained" }, data.options || {}); var itemClass = "dx-popup-" + itemType; this._toolbarItemClasses.push(itemClass); return { template: function(_, __, container) { var $toolbarItem = (0, _renderer.default)("<div>").addClass(itemClass).appendTo(container); that._createComponent($toolbarItem, _button.default, itemConfig) } } }, _createToolbarItemAction: function(clickAction) { return this._createAction(clickAction, { afterExecute: function(e) { e.component.hide() } }) }, _renderBottom: function() { var items = this._getToolbarItems("bottom"); if (items.length) { this._$bottom && this._$bottom.remove(); var $bottom = (0, _renderer.default)("<div>").addClass("dx-popup-bottom").insertAfter(this.$content()); this._$bottom = this._renderTemplateByType("bottomTemplate", items, $bottom, { compactMode: true }).addClass("dx-popup-bottom"); this._toggleClasses() } else { this._$bottom && this._$bottom.detach() } }, _toggleDisabledState: function(value) { this.callBase.apply(this, arguments); this.$content().toggleClass("dx-state-disabled", Boolean(value)) }, _toggleClasses: function() { var _this6 = this; var aliases = ALLOWED_TOOLBAR_ITEM_ALIASES; (0, _iterator.each)(aliases, (function(_, alias) { var className = "dx-popup-" + alias; if (_this6._toolbarItemClasses.includes(className)) { _this6.$wrapper().addClass(className + "-visible"); _this6._$bottom.addClass(className) } else { _this6.$wrapper().removeClass(className + "-visible"); _this6._$bottom.removeClass(className) } })) }, _toggleFocusClass: function(isFocused, $element) { this.callBase(isFocused, $element); if (isFocused && !zIndexPool.isLastZIndexInStack(this._zIndex)) { var zIndex = zIndexPool.create(this._zIndexInitValue()); zIndexPool.remove(this._zIndex); this._zIndex = zIndex; this._$wrapper.css("zIndex", zIndex); this._$content.css("zIndex", zIndex) } }, _toggleContentScrollClass: function() { var isNativeScrollingEnabled = !this.option("preventScrollEvents"); this.$content().toggleClass("dx-popup-content-scrollable", isNativeScrollingEnabled) }, _getPositionControllerConfig: function() { var _this$option2 = this.option(), fullScreen = _this$option2.fullScreen, forceApplyBindings = _this$option2.forceApplyBindings, dragOutsideBoundary = _this$option2.dragOutsideBoundary, dragAndResizeArea = _this$option2.dragAndResizeArea, outsideDragFactor = _this$option2.outsideDragFactor; return (0, _extend.extend)({}, this.callBase(), { fullScreen: fullScreen, forceApplyBindings: forceApplyBindings, dragOutsideBoundary: dragOutsideBoundary, dragAndResizeArea: dragAndResizeArea, outsideDragFactor: outsideDragFactor }) }, _initPositionController: function() { this._positionController = new _popup_position_controller.PopupPositionController(this._getPositionControllerConfig()) }, _getDragTarget: function() { return this.topToolbar() }, _renderGeometry: function(options) { var _this$option3 = this.option(), visible = _this$option3.visible, useResizeObserver = _this$option3.useResizeObserver; if (visible && (0, _window.hasWindow)()) { var isAnimated = this._showAnimationProcessing; var shouldRepeatAnimation = isAnimated && !(null !== options && void 0 !== options && options.forceStopAnimation) && useResizeObserver; this._isAnimationPaused = shouldRepeatAnimation || void 0; this._stopAnimation(); if (null !== options && void 0 !== options && options.shouldOnlyReposition) { this._renderPosition(false) } else { this._renderGeometryImpl(null === options || void 0 === options ? void 0 : options.isDimensionChange) } if (shouldRepeatAnimation) { this._animateShowing(); this._isAnimationPaused = void 0 } } }, _cacheDimensions: function() { if (!this.option("useResizeObserver")) { return } this._renderedDimensions = { width: parseInt((0, _size.getWidth)(this._$content), 10), height: parseInt((0, _size.getHeight)(this._$content), 10) } }, _renderGeometryImpl: function() { var isDimensionChange = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false; if (!isDimensionChange) { this._resetContentHeight() } this.callBase(); this._cacheDimensions(); this._setContentHeight() }, _resetContentHeight: function() { var height = this._getOptionValue("height"); if ("auto" === height) { this.$content().css({ height: "auto", maxHeight: "none" }) } }, _renderDrag: function() { var $dragTarget = this._getDragTarget(); var dragEnabled = this.option("dragEnabled"); if (!$dragTarget) { return } var config = { dragEnabled: dragEnabled, handle: $dragTarget.get(0), draggableElement: this._$content.get(0), positionController: this._positionController }; if (this._drag) { this._drag.init(config) } else { this._drag = new _popup_drag.default(config) } this.$overlayContent().toggleClass("dx-popup-draggable", dragEnabled) }, _renderResize: function() { var _this7 = this; this._resizable = this._createComponent(this._$content, _resizable.default, { handles: this.option("resizeEnabled") ? "all" : "none", onResizeEnd: function(e) { _this7._resizeEndHandler(e); _this7._observeContentResize(true) }, onResize: function(e) { _this7._setContentHeight(); _this7._actions.onResize(e) }, onResizeStart: function(e) { _this7._observeContentResize(false); _this7._actions.onResizeStart(e) }, minHeight: 100, minWidth: 100, area: this._positionController.$dragResizeContainer, keepAspectRatio: false }) }, _resizeEndHandler: function(e) { var width = this._resizable.option("width"); var height = this._resizable.option("height"); width && this._setOptionWithoutOptionChange("width", width); height && this._setOptionWithoutOptionChange("height", height); this._cacheDimensions(); this._positionController.resizeHandled(); this._positionController.detectVisualPositionChange(e.event); this._actions.onResizeEnd(e) }, _setContentHeight: function() { (this.option("forceApplyBindings") || _common.noop)(); var overlayContent = this.$overlayContent().get(0); var currentHeightStrategyClass = this._chooseHeightStrategy(overlayContent); this.$content().css(this._getHeightCssStyles(currentHeightStrategyClass, overlayContent)); this._setHeightClasses(this.$overlayContent(), currentHeightStrategyClass) }, _heightStrategyChangeOffset: function(currentHeightStrategyClass, popupVerticalPaddings) { return currentHeightStrategyClass === HEIGHT_STRATEGIES.flex ? -popupVerticalPaddings : 0 }, _chooseHeightStrategy: function(overlayContent) { var isAutoWidth = "auto" === overlayContent.style.width || "" === overlayContent.style.width; var currentHeightStrategyClass = HEIGHT_STRATEGIES.static; if (this._isAutoHeight() && this.option("autoResizeEnabled")) { if (isAutoWidth || IS_OLD_SAFARI) { currentHeightStrategyClass = HEIGHT_STRATEGIES.inherit } else { currentHeightStrategyClass = HEIGHT_STRATEGIES.flex } } return currentHeightStrategyClass }, _getHeightCssStyles: function(currentHeightStrategyClass, overlayContent) { var cssStyles = {}; var contentMaxHeight = this._getOptionValue("maxHeight", overlayContent); var contentMinHeight = this._getOptionValue("minHeight", overlayContent); var popupHeightParts = this._splitPopupHeight(); var toolbarsAndVerticalOffsetsHeight = popupHeightParts.header + popupHeightParts.footer + popupHeightParts.contentVerticalOffsets + popupHeightParts.popupVerticalOffsets + this._heightStrategyChangeOffset(currentHeightStrategyClass, popupHeightParts.popupVerticalPaddings); if (currentHeightStrategyClass === HEIGHT_STRATEGIES.static) { if (!this._isAutoHeight() || contentMaxHeight || contentMinHeight) { var overlayHeight = this.option("fullScreen") ? Math.min((0, _position.getBoundingRect)(overlayContent).height, (0, _window.getWindow)().innerHeight) : (0, _position.getBoundingRect)(overlayContent).height; var contentHeight = overlayHeight - toolbarsAndVerticalOffsetsHeight; cssStyles = { height: Math.max(0, contentHeight), minHeight: "auto", maxHeight: "auto" } } } else { var container = (0, _renderer.default)(this._positionController.$visualContainer).get(0); var maxHeightValue = (0, _size.addOffsetToMaxHeight)(contentMaxHeight, -toolbarsAndVerticalOffsetsHeight, container); var minHeightValue = (0, _size.addOffsetToMinHeight)(contentMinHeight, -toolbarsAndVerticalOffsetsHeight, container); cssStyles = { height: "auto", minHeight: minHeightValue, maxHeight: maxHeightValue } } return cssStyles }, _setHeightClasses: function($container, currentClass) { var excessClasses = ""; for (var name in HEIGHT_STRATEGIES) { if (HEIGHT_STRATEGIES[name] !== currentClass) { excessClasses += " " + HEIGHT_STRATEGIES[name] } } $container.removeClass(excessClasses).addClass(currentClass) }, _isAutoHeight: function() { return "auto" === this.$overlayContent().get(0).style.height }, _splitPopupHeight: function() { var topToolbar = this.topToolbar(); var bottomToolbar = this.bottomToolbar(); return { header: (0, _size.getVisibleHeight)(topToolbar && topToolbar.get(0)), footer: (0, _size.getVisibleHeight)(bottomToolbar && bottomToolbar.get(0)), contentVerticalOffsets: (0, _size.getVerticalOffsets)(this.$overlayContent().get(0), true), popupVerticalOffsets: (0, _size.getVerticalOffsets)(this.$content().get(0), true), popupVerticalPaddings: (0, _size.getVerticalOffsets)(this.$content().get(0), false) } }, _isAllWindowCovered: function() { return this.callBase() || this.option("fullScreen") }, _renderDimensions: function() { if (this.option("fullScreen")) { this.$overlayContent().css({ width: "100%", height: "100%", minWidth: "", maxWidth: "", minHeight: "", maxHeight: "" }) } else { this.callBase() } if ((0, _window.hasWindow)()) { this._renderFullscreenWidthClass() } }, _dimensionChanged: function() { this._renderGeometry({ isDimensionChange: true }) }, _clean: function() { this.callBase(); this._observeContentResize(false) }, _dispose: function() { this.callBase(); this._toggleBodyScroll(true) }, _renderFullscreenWidthClass: function() { this.$overlayContent().toggleClass("dx-popup-fullscreen-width", (0, _size.getOuterWidth)(this.$overlayContent()) === (0, _size.getWidth)(window)) }, _toggleSafariScrolling: function() { if (!this.option("enableBodyScroll")) { return } this.callBase() }, _toggleBodyScroll: function(enabled) { if (!this._bodyOverflowManager) { return } var _this$_bodyOverflowMa = this._bodyOverflowManager, setOverflow = _this$_bodyOverflowMa.setOverflow, restoreOverflow = _this$_bodyOverflowMa.restoreOverflow; if (enabled) { restoreOverflow() } else { setOverflow() } }, refreshPosition: function() { this._renderPosition() }, _optionChanged: function(args) { var _this$_resizable2; var value = args.value, name = args.name; switch (name) { case "disabled": this.callBase(args); this._renderTitle(); this._renderBottom(); break; case "animation": this._updateResizeCallbackSkipCondition(); break; case "enableBodyScroll": this._toggleBodyScroll(value); break; case "showTitle": case "title": case "titleTemplate": this._renderTitle(); this._renderGeometry(); (0, _visibility_change.triggerResizeEvent)(this.$overlayContent()); break; case "bottomTemplate": this._renderBottom(); this._renderGeometry(); (0, _visibility_change.triggerResizeEvent)(this.$overlayContent()); break; case "container": this.callBase(args); if (this.option("resizeEnabled")) { var _this$_resizable; null === (_this$_resizable = this._resizable) || void 0 === _this$_resizable ? void 0 : _this$_resizable.option("area", this._positionController.$dragResizeContainer) } break; case "width": case "height": this.callBase(args); null === (_this$_resizable2 = this._resizable) || void 0 === _this$_resizable2 ? void 0 : _this$_resizable2.option(name, value); break; case "onTitleRendered": this._createTitleRenderAction(value); break; case "toolbarItems": case "useDefaultToolbarButtons": case "useFlatToolbarButtons": var shouldRenderGeometry = !args.fullName.match(/^toolbarItems((\[\d+\])(\.(options|visible).*)?)?$/); this._renderTitle(); this._renderBottom(); if (shouldRenderGeometry) { this._renderGeometry(); (0, _visibility_change.triggerResizeEvent)(this.$overlayContent()) } break; case "dragEnabled": this._renderDrag(); break; case "dragAndResizeArea": this._positionController.dragAndResizeArea = value; if (this.option("resizeEnabled")) { this._resizable.option("area", this._positionController.$dragResizeContainer) } this._positionController.positionContent(); break; case "dragOutsideBoundary": this._positionController.dragOutsideBoundary = value; if (this.option("resizeEnabled")) { this._resizable.option("area", this._positionController.$dragResizeContainer) } break; case "outsideDragFactor": this._positionController.outsideDragFactor = value; break; case "resizeEnabled": this._renderResize(); this._renderGeometry(); break; case "autoResizeEnabled": this._renderGeometry(); (0, _visibility_change.triggerResizeEvent)(this.$overlayContent()); break; case "fullScreen": this._positionController.fullScreen = value; this._toggleFullScreenClass(value); this._toggleSafariScrolling(); this._renderGeometry(); (0, _visibility_change.triggerResizeEvent)(this.$overlayContent()); break; case "showCloseButton": this._renderTitle(); break; case "preventScrollEvents": this.callBase(args); this._toggleContentScrollClass(); break; default: this.callBase(args) } }, bottomToolbar: function() { return this._$bottom }, topToolbar: function() { return this._$title }, $content: function() { return this._$popupContent }, content: function() { return (0, _element.getPublicElement)(this.$content()) }, $overlayContent: function() { return this._$content } }); (0, _component_registrator.default)("dxPopup", Popup); var _default = Popup; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 28080: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/progress_bar.js ***! \****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _track_bar = _interopRequireDefault(__webpack_require__( /*! ./track_bar */ 39661)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ProgressBar = _track_bar.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { value: 0, statusFormat: function(ratio) { return "Progress: " + Math.round(100 * ratio) + "%" }, showStatus: true, onComplete: null, activeStateEnabled: false, statusPosition: "bottom left", _animatingSegmentCount: 0 }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function(_device) { return "android" === _device.platform }, options: { _animatingSegmentCount: 2 } }]) }, _initMarkup: function() { this._renderStatus(); this._createCompleteAction(); this.callBase(); this.$element().addClass("dx-progressbar"); this._$wrapper.addClass("dx-progressbar-wrapper"); this._$bar.addClass("dx-progressbar-container"); this.setAria("role", "progressbar"); (0, _renderer.default)("<div>").addClass("dx-progressbar-range-container").appendTo(this._$wrapper).append(this._$bar); this._$range.addClass("dx-progressbar-range"); this._toggleStatus(this.option("showStatus")) }, _useTemplates: function() { return false }, _createCompleteAction: function() { this._completeAction = this._createActionByOption("onComplete") }, _renderStatus: function() { this._$status = (0, _renderer.default)("<div>").addClass("dx-progressbar-status") }, _renderIndeterminateState: function() { this._$segmentContainer = (0, _renderer.default)("<div>").addClass("dx-progressbar-animating-container"); var segments = this.option("_animatingSegmentCount"); for (var i = 0; i < segments; i++) { (0, _renderer.default)("<div>").addClass("dx-progressbar-animating-segment").addClass("dx-progressbar-animating-segment-" + (i + 1)).appendTo(this._$segmentContainer) } this._$segmentContainer.appendTo(this._$wrapper) }, _toggleStatus: function(value) { var splitPosition = this.option("statusPosition").split(" "); if (value) { if ("top" === splitPosition[0] || "left" === splitPosition[0]) { this._$status.prependTo(this._$wrapper) } else { this._$status.appendTo(this._$wrapper) } } else { this._$status.detach() } this._togglePositionClass() }, _togglePositionClass: function() { var position = this.option("statusPosition"); var splitPosition = position.split(" "); this._$wrapper.removeClass("dx-position-top-left dx-position-top-right dx-position-bottom-left dx-position-bottom-right dx-position-left dx-position-right"); var positionClass = "dx-position-" + splitPosition[0]; if (splitPosition[1]) { positionClass += "-" + splitPosition[1] } this._$wrapper.addClass(positionClass) }, _toggleIndeterminateState: function(value) { if (value) { this._renderIndeterminateState(); this._$bar.toggle(false) } else { this._$bar.toggle(true); this._$segmentContainer.remove(); delete this._$segmentContainer } }, _renderValue: function() { var val = this.option("value"); var max = this.option("max"); if (!val && 0 !== val) { this._toggleIndeterminateState(true); return } if (this._$segmentContainer) { this._toggleIndeterminateState(false) } if (val === max) { this._completeAction() } this.callBase(); this._setStatus() }, _setStatus: function() { var format = this.option("statusFormat"); if ((0, _type.isFunction)(format)) { format = format.bind(this) } else { format = function(value) { return value } } var statusText = format(this._currentRatio, this.option("value")); this._$status.text(statusText) }, _dispose: function() { this._$status.remove(); this.callBase() }, _optionChanged: function(args) { switch (args.name) { case "statusFormat": this._setStatus(); break; case "showStatus": this._toggleStatus(args.value); break; case "statusPosition": this._toggleStatus(this.option("showStatus")); break; case "onComplete": this._createCompleteAction(); break; case "_animatingSegmentCount": break; default: this.callBase(args) } } }); (0, _component_registrator.default)("dxProgressBar", ProgressBar); var _default = ProgressBar; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 14305: /*!***************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/radio_group.js ***! \***************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _radio_group = (obj = __webpack_require__( /*! ./radio_group/radio_group */ 4060), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _radio_group.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 6282: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/radio_group/radio_button.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _editor = _interopRequireDefault(__webpack_require__( /*! ../editor/editor */ 96452)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _click = __webpack_require__( /*! ../../events/click */ 95429); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var RadioButton = _editor.default.inherit({ _supportedKeys: function() { return (0, _extend.extend)(this.callBase(), { space: function(e) { e.preventDefault(); this._clickAction({ event: e }) } }) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { hoverStateEnabled: true, activeStateEnabled: true, value: false }) }, _canValueBeChangedByClick: function() { return true }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }]) }, _init: function() { this.callBase(); this.$element().addClass("dx-radiobutton") }, _initMarkup: function() { this.callBase(); this._renderIcon(); this._renderCheckedState(this.option("value")); this._renderClick(); this.setAria("role", "radio") }, _renderIcon: function() { this._$icon = (0, _renderer.default)("<div>").addClass("dx-radiobutton-icon"); (0, _renderer.default)("<div>").addClass("dx-radiobutton-icon-dot").appendTo(this._$icon); this.$element().append(this._$icon) }, _renderCheckedState: function(checked) { this.$element().toggleClass("dx-radiobutton-checked", checked).find(".dx-radiobutton-icon").toggleClass("dx-radiobutton-icon-checked", checked); this.setAria("checked", checked) }, _renderClick: function() { var eventName = (0, _index.addNamespace)(_click.name, this.NAME); this._clickAction = this._createAction(function(args) { this._clickHandler(args.event) }.bind(this)); _events_engine.default.off(this.$element(), eventName); _events_engine.default.on(this.$element(), eventName, function(e) { this._clickAction({ event: e }) }.bind(this)) }, _clickHandler: function(e) { this._saveValueChangeEvent(e); this.option("value", true) }, _optionChanged: function(args) { switch (args.name) { case "value": this._renderCheckedState(args.value); this.callBase(args); break; default: this.callBase(args) } } }); (0, _component_registrator.default)("dxRadioButton", RadioButton); var _default = RadioButton; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 4060: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/radio_group/radio_group.js ***! \***************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ../collection/ui.collection_widget.edit */ 11050)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../editor/ui.data_expression */ 88718)); var _editor = _interopRequireDefault(__webpack_require__( /*! ../editor/editor */ 96452)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var RadioCollection = function(_CollectionWidget) { _inheritsLoose(RadioCollection, _CollectionWidget); function RadioCollection() { return _CollectionWidget.apply(this, arguments) || this } var _proto = RadioCollection.prototype; _proto._focusTarget = function() { return this.$element().parent() }; _proto._nullValueSelectionSupported = function() { return true }; _proto._getDefaultOptions = function() { var defaultOptions = _CollectionWidget.prototype._getDefaultOptions.call(this); return (0, _extend.extend)(defaultOptions, _ui.default._dataExpressionDefaultOptions(), { _itemAttributes: { role: "radio" } }) }; _proto._initMarkup = function() { var _this = this; _CollectionWidget.prototype._initMarkup.call(this); (0, _common.deferRender)((function() { _this.itemElements().addClass("dx-radiobutton") })) }; _proto._keyboardEventBindingTarget = function() { return this._focusTarget() }; _proto._postprocessRenderItem = function(args) { var html = args.itemData.html, itemElement = args.itemElement; if (!html) { var $radio = (0, _renderer.default)("<div>").addClass("dx-radiobutton-icon"); (0, _renderer.default)("<div>").addClass("dx-radiobutton-icon-dot").appendTo($radio); var $radioContainer = (0, _renderer.default)("<div>").append($radio).addClass("dx-radio-value-container"); (0, _renderer.default)(itemElement).prepend($radioContainer) } _CollectionWidget.prototype._postprocessRenderItem.call(this, args) }; _proto._processSelectableItem = function($itemElement, isSelected) { _CollectionWidget.prototype._processSelectableItem.call(this, $itemElement, isSelected); $itemElement.toggleClass("dx-radiobutton-checked", isSelected).find(".".concat("dx-radiobutton-icon")).first().toggleClass("dx-radiobutton-icon-checked", isSelected); this.setAria("checked", isSelected, $itemElement) }; _proto._refreshContent = function() { this._prepareContent(); this._renderContent() }; _proto._supportedKeys = function() { var parent = _CollectionWidget.prototype._supportedKeys.call(this); return (0, _extend.extend)({}, parent, { enter: function(e) { e.preventDefault(); return parent.enter.apply(this, arguments) }, space: function(e) { e.preventDefault(); return parent.space.apply(this, arguments) } }) }; _proto._itemElements = function() { return this._itemContainer().children(this._itemSelector()) }; _proto._setAriaSelectionAttribute = function() {}; return RadioCollection }(_uiCollection_widget.default); var RadioGroup = function(_Editor) { _inheritsLoose(RadioGroup, _Editor); function RadioGroup() { return _Editor.apply(this, arguments) || this } var _proto2 = RadioGroup.prototype; _proto2._dataSourceOptions = function() { return { paginate: false } }; _proto2._defaultOptionsRules = function() { var defaultOptionsRules = _Editor.prototype._defaultOptionsRules.call(this); return defaultOptionsRules.concat([{ device: { tablet: true }, options: { layout: "horizontal" } }, { device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }]) }; _proto2._fireContentReadyAction = function(force) { force && _Editor.prototype._fireContentReadyAction.call(this) }; _proto2._focusTarget = function() { return this.$element() }; _proto2._getAriaTarget = function() { return this.$element() }; _proto2._getDefaultOptions = function() { var defaultOptions = _Editor.prototype._getDefaultOptions.call(this); return (0, _extend.extend)(defaultOptions, (0, _extend.extend)(_ui.default._dataExpressionDefaultOptions(), { hoverStateEnabled: true, activeStateEnabled: true, layout: "vertical" })) }; _proto2._getItemValue = function(item) { return this._valueGetter ? this._valueGetter(item) : item.text }; _proto2._getSubmitElement = function() { return this._$submitElement }; _proto2._init = function() { _Editor.prototype._init.call(this); this._activeStateUnit = ".".concat("dx-radiobutton"); this._feedbackHideTimeout = 100; this._initDataExpressions() }; _proto2._initMarkup = function() { this.$element().addClass("dx-radiogroup"); this._renderSubmitElement(); this.setAria("role", "radiogroup"); this._renderRadios(); this._renderLayout(); _Editor.prototype._initMarkup.call(this) }; _proto2._itemClickHandler = function(_ref) { var itemElement = _ref.itemElement, event = _ref.event, itemData = _ref.itemData; if (this.itemElements().is(itemElement)) { var newValue = this._getItemValue(itemData); if (newValue !== this.option("value")) { this._saveValueChangeEvent(event); this.option("value", newValue) } } }; _proto2._getSelectedItemKeys = function() { var value = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.option("value"); var isNullSelectable = "this" !== this.option("valueExpr"); var shouldSelectValue = isNullSelectable && null === value || (0, _type.isDefined)(value); return shouldSelectValue ? [value] : [] }; _proto2._setSelection = function(currentValue) { var value = this._unwrappedValue(currentValue); this._setCollectionWidgetOption("selectedItemKeys", this._getSelectedItemKeys(value)) }; _proto2._optionChanged = function(args) { var name = args.name, value = args.value; this._dataExpressionOptionChanged(args); switch (name) { case "dataSource": this._invalidate(); break; case "focusStateEnabled": case "accessKey": case "tabIndex": this._setCollectionWidgetOption(name, value); break; case "disabled": _Editor.prototype._optionChanged.call(this, args); this._setCollectionWidgetOption(name, value); break; case "valueExpr": this._setCollectionWidgetOption("keyExpr", this._getCollectionKeyExpr()); break; case "value": this._setSelection(value); this._setSubmitValue(value); _Editor.prototype._optionChanged.call(this, args); break; case "items": this._setSelection(this.option("value")); break; case "itemTemplate": case "displayExpr": break; case "layout": this._renderLayout(); this._updateItemsSize(); break; default: _Editor.prototype._optionChanged.call(this, args) } }; _proto2._render = function() { _Editor.prototype._render.call(this); this._updateItemsSize() }; _proto2._renderLayout = function() { var layout = this.option("layout"); var $element = this.$element(); $element.toggleClass("dx-radiogroup-vertical", "vertical" === layout); $element.toggleClass("dx-radiogroup-horizontal", "horizontal" === layout) }; _proto2._renderRadios = function() { var _this2 = this; this._areRadiosCreated = new _deferred.Deferred; var $radios = (0, _renderer.default)("<div>").appendTo(this.$element()); var _this$option = this.option(), displayExpr = _this$option.displayExpr, accessKey = _this$option.accessKey, focusStateEnabled = _this$option.focusStateEnabled, itemTemplate = _this$option.itemTemplate, tabIndex = _this$option.tabIndex; this._createComponent($radios, RadioCollection, { onInitialized: function(_ref2) { var component = _ref2.component; _this2._radios = component }, onContentReady: function(e) { _this2._fireContentReadyAction(true) }, onItemClick: this._itemClickHandler.bind(this), displayExpr: displayExpr, accessKey: accessKey, dataSource: this._dataSource, focusStateEnabled: focusStateEnabled, itemTemplate: itemTemplate, keyExpr: this._getCollectionKeyExpr(), noDataText: "", scrollingEnabled: false, selectByClick: false, selectionMode: "single", selectedItemKeys: this._getSelectedItemKeys(), tabIndex: tabIndex }); this._areRadiosCreated.resolve() }; _proto2._renderSubmitElement = function() { this._$submitElement = (0, _renderer.default)("<input>").attr("type", "hidden").appendTo(this.$element()); this._setSubmitValue() }; _proto2._setOptionsByReference = function() { _Editor.prototype._setOptionsByReference.call(this); (0, _extend.extend)(this._optionsByReference, { value: true }) }; _proto2._setSubmitValue = function(value) { var _value; value = null !== (_value = value) && void 0 !== _value ? _value : this.option("value"); var submitValue = "this" === this.option("valueExpr") ? this._displayGetter(value) : value; this._$submitElement.val(submitValue) }; _proto2._setCollectionWidgetOption = function() { this._areRadiosCreated.done(this._setWidgetOption.bind(this, "_radios", arguments)) }; _proto2._updateItemsSize = function() { if ("horizontal" === this.option("layout")) { this.itemElements().css("height", "auto") } else { var itemsCount = this.option("items").length; this.itemElements().css("height", 100 / itemsCount + "%") } }; _proto2.focus = function() { var _this$_radios; null === (_this$_radios = this._radios) || void 0 === _this$_radios ? void 0 : _this$_radios.focus() }; _proto2.itemElements = function() { var _this$_radios2; return null === (_this$_radios2 = this._radios) || void 0 === _this$_radios2 ? void 0 : _this$_radios2.itemElements() }; return RadioGroup }(_editor.default); RadioGroup.include(_ui.default); (0, _component_registrator.default)("dxRadioGroup", RadioGroup); var _default = RadioGroup; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 36992: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/range_slider.js ***! \****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _slider = _interopRequireDefault(__webpack_require__( /*! ./slider */ 97834)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./slider/ui.slider_handle */ 6320)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); var _message = _interopRequireDefault(__webpack_require__( /*! ../localization/message */ 28109)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var RangeSlider = _slider.default.inherit({ _supportedKeys: function() { var isRTL = this.option("rtlEnabled"); var that = this; var _changeHandle = function(e, capturedHandle) { if (that.option("start") === that.option("end")) { that._capturedHandle = capturedHandle; e.target = that._capturedHandle; _events_engine.default.trigger(that._capturedHandle, "focus") } }; var _setHandleValue = function(e, step, sign) { var isStart = (0, _renderer.default)(e.target).hasClass("dx-rangeslider-start-handle"); var valueOption = isStart ? "start" : "end"; var val = that.option(valueOption); step = that._valueStep(step); val += sign * (isRTL ? -step : step); that.option(valueOption, val) }; var moveHandleRight = function(e, step) { _changeHandle(e, isRTL ? that._$handleStart : that._$handleEnd); _setHandleValue(e, step, 1) }; var moveHandleLeft = function(e, step) { _changeHandle(e, isRTL ? that._$handleEnd : that._$handleStart); _setHandleValue(e, step, -1) }; return (0, _extend.extend)(this.callBase(), { leftArrow: function(e) { this._processKeyboardEvent(e); moveHandleLeft(e, this.option("step")) }, rightArrow: function(e) { this._processKeyboardEvent(e); moveHandleRight(e, this.option("step")) }, pageUp: function(e) { this._processKeyboardEvent(e); moveHandleRight(e, this.option("step") * this.option("keyStep")) }, pageDown: function(e) { this._processKeyboardEvent(e); moveHandleLeft(e, this.option("step") * this.option("keyStep")) }, home: function(e) { this._processKeyboardEvent(e); var isStart = (0, _renderer.default)(e.target).hasClass("dx-rangeslider-start-handle"); var valueOption = isStart ? "start" : "end"; var startOption = isStart ? "min" : "start"; var val = this.option(startOption); this.option(valueOption, val) }, end: function(e) { this._processKeyboardEvent(e); var isStart = (0, _renderer.default)(e.target).hasClass("dx-rangeslider-start-handle"); var valueOption = isStart ? "start" : "end"; var endOption = isStart ? "end" : "max"; var val = this.option(endOption); this.option(valueOption, val) } }) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { start: 40, end: 60, value: [40, 60], startName: "", endName: "" }) }, _renderSubmitElement: function() { var $element = this.$element(); this._$submitStartElement = (0, _renderer.default)("<input>").attr("type", "hidden").attr("name", this.option("startName")).appendTo($element); this._$submitEndElement = (0, _renderer.default)("<input>").attr("type", "hidden").attr("name", this.option("endName")).appendTo($element) }, _initOptions: function(options) { this.callBase(options); var initialValue = this.initialOption("value"); var value = this.option("value"); if (value[0] === initialValue[0] && value[1] === initialValue[1]) { this.option("value", [this.option("start"), this.option("end")]) } else { this.option({ start: value[0], end: value[1] }) } }, _initMarkup: function() { this.$element().addClass("dx-rangeslider"); this.callBase() }, _renderContentImpl: function() { this._callHandlerMethod("repaint"); this.callBase() }, _renderHandle: function() { this._$handleStart = this._renderHandleImpl(this.option("start"), this._$handleStart).addClass("dx-rangeslider-start-handle"); this._$handleEnd = this._renderHandleImpl(this.option("end"), this._$handleEnd).addClass("dx-rangeslider-end-handle"); this._updateHandleAriaLabels() }, _startHandler: function(args) { var e = args.event; var $range = this._$range; var rangeWidth = (0, _size.getWidth)($range); var eventOffsetX = (0, _index.eventData)(e).x - this._$bar.offset().left; var startHandleX = $range.position().left; var endHandleX = $range.position().left + rangeWidth; var rtlEnabled = this.option("rtlEnabled"); var startHandleIsClosest = (rtlEnabled ? -1 : 1) * ((startHandleX + endHandleX) / 2 - eventOffsetX) > 0; this._capturedHandle = startHandleIsClosest ? this._$handleStart : this._$handleEnd; this.callBase(args) }, _updateHandleAriaLabels: function() { this.setAria("label", _message.default.getFormatter("dxRangeSlider-ariaFrom")(this.option("dxRangeSlider-ariaFrom")), this._$handleStart); this.setAria("label", _message.default.getFormatter("dxRangeSlider-ariaTill")(this.option("dxRangeSlider-ariaTill")), this._$handleEnd) }, _activeHandle: function() { return this._capturedHandle }, _updateHandlePosition: function(e) { var rtlEnabled = this.option("rtlEnabled"); var offsetDirection = rtlEnabled ? -1 : 1; var max = this.option("max"); var min = this.option("min"); var newRatio = this._startOffset + offsetDirection * e.event.offset / this._swipePixelRatio(); newRatio = newRatio.toPrecision(12); var newValue = newRatio * (max - min) + min; this._updateSelectedRangePosition(newRatio, newRatio); _ui.default.getInstance(this._activeHandle()).fitTooltipPosition; this._changeValueOnSwipe(newRatio); var _this$_getActualValue = this._getActualValue(), _this$_getActualValue2 = _slicedToArray(_this$_getActualValue, 2), startValue = _this$_getActualValue2[0], endValue = _this$_getActualValue2[1]; var $nextHandle; if (startValue === endValue) { if (newValue < startValue) { $nextHandle = this._$handleStart } else { $nextHandle = this._$handleEnd } _events_engine.default.trigger($nextHandle, "focus"); if ($nextHandle && $nextHandle !== this._capturedHandle) { this._updateSelectedRangePosition((startValue - min) / (max - min), (endValue - min) / (max - min)); this._toggleActiveState(this._activeHandle(), false); this._toggleActiveState($nextHandle, true); this._capturedHandle = $nextHandle } this._updateSelectedRangePosition(newRatio, newRatio); this._changeValueOnSwipe(newRatio) } }, _updateSelectedRangePosition: function(leftRatio, rightRatio) { var rtlEnabled = this.option("rtlEnabled"); var moveRight = this._capturedHandle === this._$handleStart && rtlEnabled || this._capturedHandle === this._$handleEnd && !rtlEnabled; var prop = moveRight ? "right" : "left"; if (rtlEnabled ^ moveRight) { this._$range.css(prop, 100 - 100 * rightRatio + "%") } else { this._$range.css(prop, 100 * leftRatio + "%") } }, _setValueOnSwipe: function(value) { var option = this._capturedHandle === this._$handleStart ? "start" : "end"; var _this$_getActualValue3 = this._getActualValue(), _this$_getActualValue4 = _slicedToArray(_this$_getActualValue3, 2), start = _this$_getActualValue4[0], end = _this$_getActualValue4[1]; var max = this.option("max"); var min = this.option("min"); start = Math.min(Math.max(start, min), max); end = Math.min(Math.max(end, min), max); if ("start" === option) { start = value > end ? end : value } else { end = value < start ? start : value } if ("onHandleMove" === this.option("valueChangeMode")) { this.option("value", [start, end]) } else { this._actualValue = [start, end]; this._renderValue() } }, _renderValue: function() { var _this$_getActualValue5 = this._getActualValue(), _this$_getActualValue6 = _slicedToArray(_this$_getActualValue5, 2), valStart = _this$_getActualValue6[0], valEnd = _this$_getActualValue6[1]; var min = this.option("min"); var max = this.option("max"); var rtlEnabled = this.option("rtlEnabled"); valStart = Math.max(min, Math.min(valStart, max)); valEnd = Math.max(valStart, Math.min(valEnd, max)); if ("onHandleMove" === this.option("valueChangeMode")) { this._setOptionWithoutOptionChange("start", valStart); this._setOptionWithoutOptionChange("end", valEnd); this._setOptionWithoutOptionChange("value", [valStart, valEnd]) } this._$submitStartElement.val((0, _common.applyServerDecimalSeparator)(valStart)); this._$submitEndElement.val((0, _common.applyServerDecimalSeparator)(valEnd)); var ratio1 = max === min ? 0 : (valStart - min) / (max - min); var ratio2 = max === min ? 0 : (valEnd - min) / (max - min); var startOffset = parseFloat((100 * ratio1).toPrecision(12)) + "%"; var endOffset = parseFloat((100 * (1 - ratio2)).toPrecision(12)) + "%"; !this._needPreventAnimation && this._setRangeStyles({ right: rtlEnabled ? startOffset : endOffset, left: rtlEnabled ? endOffset : startOffset }); _ui.default.getInstance(this._$handleStart).option("value", valStart); _ui.default.getInstance(this._$handleEnd).option("value", valEnd) }, _callHandlerMethod: function(name, args) { _ui.default.getInstance(this._$handleStart)[name](args); _ui.default.getInstance(this._$handleEnd)[name](args) }, _setValueOption: function() { var start = this.option("start"); var end = this.option("end"); this.option("value", [start, end]) }, _optionChanged: function(args) { switch (args.name) { case "value": if (args.value[0] === args.previousValue[0] && args.value[1] === args.previousValue[1]) { break } this._setOptionWithoutOptionChange("start", args.value[0]); this._setOptionWithoutOptionChange("end", args.value[1]); this._renderValue(); var start = this.option("start"); var end = this.option("end"); this._createActionByOption("onValueChanged", { excludeValidators: ["disabled", "readOnly"] })({ start: start, end: end, value: [start, end], event: this._valueChangeEventInstance, previousValue: args.previousValue }); this.validationRequest.fire({ value: [start, end], editor: this }); this._saveValueChangeEvent(void 0); break; case "start": case "end": this._setValueOption(); break; case "startName": this._$submitStartElement.attr("name", args.value); break; case "endName": this._$submitEndElement.attr("name", args.value); break; case "name": break; default: this.callBase(args) } } }); (0, _component_registrator.default)("dxRangeSlider", RangeSlider); var _default = RangeSlider; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 46743: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/resizable.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _translator = __webpack_require__( /*! ../animation/translator */ 31648); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _dom_component = _interopRequireDefault(__webpack_require__( /*! ../core/dom_component */ 13046)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _math = __webpack_require__( /*! ../core/utils/math */ 60810); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _drag = __webpack_require__( /*! ../events/drag */ 23174); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); var _visibility_change = __webpack_require__( /*! ../events/visibility_change */ 80506); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var DRAGSTART_START_EVENT_NAME = (0, _index.addNamespace)(_drag.start, "dxResizable"); var DRAGSTART_EVENT_NAME = (0, _index.addNamespace)(_drag.move, "dxResizable"); var DRAGSTART_END_EVENT_NAME = (0, _index.addNamespace)(_drag.end, "dxResizable"); var SIDE_BORDER_WIDTH_STYLES = { left: "borderLeftWidth", top: "borderTopWidth", right: "borderRightWidth", bottom: "borderBottomWidth" }; var Resizable = _dom_component.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { handles: "all", step: "1", stepPrecision: "simple", area: void 0, minWidth: 30, maxWidth: 1 / 0, minHeight: 30, maxHeight: 1 / 0, onResizeStart: null, onResize: null, onResizeEnd: null, roundStepValue: true, keepAspectRatio: true }) }, _init: function() { this.callBase(); this.$element().addClass("dx-resizable") }, _initMarkup: function() { this.callBase(); this._renderHandles() }, _render: function() { this.callBase(); this._renderActions() }, _renderActions: function() { this._resizeStartAction = this._createActionByOption("onResizeStart"); this._resizeEndAction = this._createActionByOption("onResizeEnd"); this._resizeAction = this._createActionByOption("onResize") }, _renderHandles: function() { var _this = this; this._handles = []; var handles = this.option("handles"); if ("none" === handles || !handles) { return } var directions = "all" === handles ? ["top", "bottom", "left", "right"] : handles.split(" "); var activeHandlesMap = {}; (0, _iterator.each)(directions, (function(index, handleName) { activeHandlesMap[handleName] = true; _this._renderHandle(handleName) })); activeHandlesMap.bottom && activeHandlesMap.right && this._renderHandle("corner-bottom-right"); activeHandlesMap.bottom && activeHandlesMap.left && this._renderHandle("corner-bottom-left"); activeHandlesMap.top && activeHandlesMap.right && this._renderHandle("corner-top-right"); activeHandlesMap.top && activeHandlesMap.left && this._renderHandle("corner-top-left"); this._attachEventHandlers() }, _renderHandle: function(handleName) { var $handle = (0, _renderer.default)("<div>").addClass("dx-resizable-handle").addClass("dx-resizable-handle-" + handleName).appendTo(this.$element()); this._handles.push($handle) }, _attachEventHandlers: function() { if (this.option("disabled")) { return } var handlers = {}; handlers[DRAGSTART_START_EVENT_NAME] = this._dragStartHandler.bind(this); handlers[DRAGSTART_EVENT_NAME] = this._dragHandler.bind(this); handlers[DRAGSTART_END_EVENT_NAME] = this._dragEndHandler.bind(this); this._handles.forEach((function(handleElement) { _events_engine.default.on(handleElement, handlers, { direction: "both", immediate: true }) })) }, _detachEventHandlers: function() { this._handles.forEach((function(handleElement) { _events_engine.default.off(handleElement) })) }, _toggleEventHandlers: function(shouldAttachEvents) { shouldAttachEvents ? this._attachEventHandlers() : this._detachEventHandlers() }, _getElementSize: function() { var $element = this.$element(); return "border-box" === $element.css("boxSizing") ? { width: (0, _size.getOuterWidth)($element), height: (0, _size.getOuterHeight)($element) } : { width: (0, _size.getWidth)($element), height: (0, _size.getHeight)($element) } }, _dragStartHandler: function(e) { var $element = this.$element(); if ($element.is(".dx-state-disabled, .dx-state-disabled *")) { e.cancel = true; return } this._toggleResizingClass(true); this._movingSides = this._getMovingSides(e); this._elementLocation = (0, _translator.locate)($element); this._elementSize = this._getElementSize(); this._renderDragOffsets(e); this._resizeStartAction({ event: e, width: this._elementSize.width, height: this._elementSize.height, handles: this._movingSides }); e.targetElements = null }, _toggleResizingClass: function(value) { this.$element().toggleClass("dx-resizable-resizing", value) }, _renderDragOffsets: function(e) { var area = this._getArea(); if (!area) { return } var $handle = (0, _renderer.default)(e.target).closest(".dx-resizable-handle"); var handleWidth = (0, _size.getOuterWidth)($handle); var handleHeight = (0, _size.getOuterHeight)($handle); var handleOffset = $handle.offset(); var areaOffset = area.offset; var scrollOffset = this._getAreaScrollOffset(); e.maxLeftOffset = this._leftMaxOffset = handleOffset.left - areaOffset.left - scrollOffset.scrollX; e.maxRightOffset = this._rightMaxOffset = areaOffset.left + area.width - handleOffset.left - handleWidth + scrollOffset.scrollX; e.maxTopOffset = this._topMaxOffset = handleOffset.top - areaOffset.top - scrollOffset.scrollY; e.maxBottomOffset = this._bottomMaxOffset = areaOffset.top + area.height - handleOffset.top - handleHeight + scrollOffset.scrollY }, _getBorderWidth: function($element, direction) { if ((0, _type.isWindow)($element.get(0))) { return 0 } var borderWidth = $element.css(SIDE_BORDER_WIDTH_STYLES[direction]); return parseInt(borderWidth) || 0 }, _proportionate: function(direction, value) { var size = this._elementSize; var factor = "x" === direction ? size.width / size.height : size.height / size.width; return value * factor }, _getProportionalDelta: function(_ref) { var x = _ref.x, y = _ref.y; var proportionalY = this._proportionate("y", x); if (proportionalY >= y) { return { x: x, y: proportionalY } } var proportionalX = this._proportionate("x", y); if (proportionalX >= x) { return { x: proportionalX, y: y } } return { x: 0, y: 0 } }, _getDirectionName: function(axis) { var sides = this._movingSides; if ("x" === axis) { return sides.left ? "left" : "right" } else { return sides.top ? "top" : "bottom" } }, _fitIntoArea: function(axis, value) { var _this2; var directionName = this._getDirectionName(axis); return Math.min(value, null !== (_this2 = this["_".concat(directionName, "MaxOffset")]) && void 0 !== _this2 ? _this2 : 1 / 0) }, _fitDeltaProportionally: function(delta) { var _this3 = this; var fittedDelta = _extends({}, delta); var size = this._elementSize; var _this$option = this.option(), minWidth = _this$option.minWidth, minHeight = _this$option.minHeight, maxWidth = _this$option.maxWidth, maxHeight = _this$option.maxHeight; var getWidth = function() { return size.width + fittedDelta.x }; var getHeight = function() { return size.height + fittedDelta.y }; var isInArea = function(axis) { return fittedDelta[axis] === _this3._fitIntoArea(axis, fittedDelta[axis]) }; var isFittedX = function() { return (0, _math.inRange)(getWidth(), minWidth, maxWidth) && isInArea("x") }; var isFittedY = function() { return (0, _math.inRange)(getHeight(), minHeight, maxHeight) && isInArea("y") }; if (!isFittedX()) { var x = this._fitIntoArea("x", (0, _math.fitIntoRange)(getWidth(), minWidth, maxWidth) - size.width); fittedDelta = { x: x, y: this._proportionate("y", x) } } if (!isFittedY()) { var y = this._fitIntoArea("y", (0, _math.fitIntoRange)(getHeight(), minHeight, maxHeight) - size.height); fittedDelta = { x: this._proportionate("x", y), y: y } } return isFittedX() && isFittedY() ? fittedDelta : { x: 0, y: 0 } }, _fitDelta: function(_ref2) { var x = _ref2.x, y = _ref2.y; var size = this._elementSize; var _this$option2 = this.option(), minWidth = _this$option2.minWidth, minHeight = _this$option2.minHeight, maxWidth = _this$option2.maxWidth, maxHeight = _this$option2.maxHeight; return { x: (0, _math.fitIntoRange)(size.width + x, minWidth, maxWidth) - size.width, y: (0, _math.fitIntoRange)(size.height + y, minHeight, maxHeight) - size.height } }, _getDeltaByOffset: function(offset) { var sides = this._movingSides; var shouldKeepAspectRatio = this._isCornerHandler(sides) && this.option("keepAspectRatio"); var delta = { x: offset.x * (sides.left ? -1 : 1), y: offset.y * (sides.top ? -1 : 1) }; if (shouldKeepAspectRatio) { var proportionalDelta = this._getProportionalDelta(delta); var fittedProportionalDelta = this._fitDeltaProportionally(proportionalDelta); delta = fittedProportionalDelta } else { var fittedDelta = this._fitDelta(delta); var roundedFittedDelta = this._roundByStep(fittedDelta); delta = roundedFittedDelta } return delta }, _updatePosition: function(delta, _ref3) { var width = _ref3.width, height = _ref3.height; var location = this._elementLocation; var sides = this._movingSides; var $element = this.$element(); var elementRect = this._getElementSize(); var offsetTop = delta.y * (sides.top ? -1 : 1) - ((elementRect.height || height) - height); var offsetLeft = delta.x * (sides.left ? -1 : 1) - ((elementRect.width || width) - width); (0, _translator.move)($element, { top: location.top + (sides.top ? offsetTop : 0), left: location.left + (sides.left ? offsetLeft : 0) }) }, _dragHandler: function(e) { var offset = this._getOffset(e); var delta = this._getDeltaByOffset(offset); var dimensions = this._updateDimensions(delta); this._updatePosition(delta, dimensions); this._triggerResizeAction(e, dimensions) }, _updateDimensions: function(delta) { var isAbsoluteSize = function(size) { return "px" === size.substring(size.length - 2) }; var isStepPrecisionStrict = "strict" === this.option("stepPrecision"); var size = this._elementSize; var width = size.width + delta.x; var height = size.height + delta.y; var elementStyle = this.$element().get(0).style; var shouldRenderWidth = delta.x || isStepPrecisionStrict || isAbsoluteSize(elementStyle.width); var shouldRenderHeight = delta.y || isStepPrecisionStrict || isAbsoluteSize(elementStyle.height); if (shouldRenderWidth) { this.option({ width: width }) } if (shouldRenderHeight) { this.option({ height: height }) } return { width: shouldRenderWidth ? width : size.width, height: shouldRenderHeight ? height : size.height } }, _triggerResizeAction: function(e, _ref4) { var width = _ref4.width, height = _ref4.height; this._resizeAction({ event: e, width: this.option("width") || width, height: this.option("height") || height, handles: this._movingSides }); (0, _visibility_change.triggerResizeEvent)(this.$element()) }, _isCornerHandler: function(sides) { return 0 === Object.values(sides).reduce((function(xor, value) { return xor ^ value }), 0) }, _getOffset: function(e) { var offset = e.offset; var sides = this._movingSides; if (!sides.left && !sides.right) { offset.x = 0 } if (!sides.top && !sides.bottom) { offset.y = 0 } return offset }, _roundByStep: function(delta) { return "strict" === this.option("stepPrecision") ? this._roundStrict(delta) : this._roundNotStrict(delta) }, _getSteps: function() { return (0, _common.pairToObject)(this.option("step"), !this.option("roundStepValue")) }, _roundNotStrict: function(delta) { var steps = this._getSteps(); return { x: delta.x - delta.x % steps.h, y: delta.y - delta.y % steps.v } }, _roundStrict: function(delta) { var sides = this._movingSides; var offset = { x: delta.x * (sides.left ? -1 : 1), y: delta.y * (sides.top ? -1 : 1) }; var steps = this._getSteps(); var location = this._elementLocation; var size = this._elementSize; var xPos = sides.left ? location.left : location.left + size.width; var yPos = sides.top ? location.top : location.top + size.height; var newXShift = (xPos + offset.x) % steps.h; var newYShift = (yPos + offset.y) % steps.v; var sign = Math.sign || function(x) { x = +x; if (0 === x || isNaN(x)) { return x } return x > 0 ? 1 : -1 }; var separatorOffset = function(steps, offset) { return (1 + .2 * sign(offset)) % 1 * steps }; var isSmallOffset = function(offset, steps) { return Math.abs(offset) < .2 * steps }; var newOffsetX = offset.x - newXShift; var newOffsetY = offset.y - newYShift; if (newXShift > separatorOffset(steps.h, offset.x)) { newOffsetX += steps.h } if (newYShift > separatorOffset(steps.v, offset.y)) { newOffsetY += steps.v } var roundedOffset_x = (sides.left || sides.right) && !isSmallOffset(offset.x, steps.h) ? newOffsetX : 0, roundedOffset_y = (sides.top || sides.bottom) && !isSmallOffset(offset.y, steps.v) ? newOffsetY : 0; return { x: roundedOffset_x * (sides.left ? -1 : 1), y: roundedOffset_y * (sides.top ? -1 : 1) } }, _getMovingSides: function(e) { var $target = (0, _renderer.default)(e.target); var hasCornerTopLeftClass = $target.hasClass("dx-resizable-handle-corner-top-left"); var hasCornerTopRightClass = $target.hasClass("dx-resizable-handle-corner-top-right"); var hasCornerBottomLeftClass = $target.hasClass("dx-resizable-handle-corner-bottom-left"); var hasCornerBottomRightClass = $target.hasClass("dx-resizable-handle-corner-bottom-right"); return { top: $target.hasClass("dx-resizable-handle-top") || hasCornerTopLeftClass || hasCornerTopRightClass, left: $target.hasClass("dx-resizable-handle-left") || hasCornerTopLeftClass || hasCornerBottomLeftClass, bottom: $target.hasClass("dx-resizable-handle-bottom") || hasCornerBottomLeftClass || hasCornerBottomRightClass, right: $target.hasClass("dx-resizable-handle-right") || hasCornerTopRightClass || hasCornerBottomRightClass } }, _getArea: function() { var area = this.option("area"); if ((0, _type.isFunction)(area)) { area = area.call(this) } if ((0, _type.isPlainObject)(area)) { return this._getAreaFromObject(area) } return this._getAreaFromElement(area) }, _getAreaScrollOffset: function() { var area = this.option("area"); var isElement = !(0, _type.isFunction)(area) && !(0, _type.isPlainObject)(area); var scrollOffset = { scrollY: 0, scrollX: 0 }; if (isElement) { var areaElement = (0, _renderer.default)(area)[0]; if ((0, _type.isWindow)(areaElement)) { scrollOffset.scrollX = areaElement.pageXOffset; scrollOffset.scrollY = areaElement.pageYOffset } } return scrollOffset }, _getAreaFromObject: function(area) { var result = { width: area.right - area.left, height: area.bottom - area.top, offset: { left: area.left, top: area.top } }; this._correctAreaGeometry(result); return result }, _getAreaFromElement: function(area) { var $area = (0, _renderer.default)(area); var result; if ($area.length) { result = { width: (0, _size.getInnerWidth)($area), height: (0, _size.getInnerHeight)($area), offset: (0, _extend.extend)({ top: 0, left: 0 }, (0, _type.isWindow)($area[0]) ? {} : $area.offset()) }; this._correctAreaGeometry(result, $area) } return result }, _correctAreaGeometry: function(result, $area) { var areaBorderLeft = $area ? this._getBorderWidth($area, "left") : 0; var areaBorderTop = $area ? this._getBorderWidth($area, "top") : 0; result.offset.left += areaBorderLeft + this._getBorderWidth(this.$element(), "left"); result.offset.top += areaBorderTop + this._getBorderWidth(this.$element(), "top"); result.width -= (0, _size.getOuterWidth)(this.$element()) - (0, _size.getInnerWidth)(this.$element()); result.height -= (0, _size.getOuterHeight)(this.$element()) - (0, _size.getInnerHeight)(this.$element()) }, _dragEndHandler: function(e) { var $element = this.$element(); this._resizeEndAction({ event: e, width: (0, _size.getOuterWidth)($element), height: (0, _size.getOuterHeight)($element), handles: this._movingSides }); this._toggleResizingClass(false) }, _renderWidth: function(width) { this.option("width", (0, _math.fitIntoRange)(width, this.option("minWidth"), this.option("maxWidth"))) }, _renderHeight: function(height) { this.option("height", (0, _math.fitIntoRange)(height, this.option("minHeight"), this.option("maxHeight"))) }, _optionChanged: function(args) { switch (args.name) { case "disabled": this._toggleEventHandlers(!args.value); this.callBase(args); break; case "handles": this._invalidate(); break; case "minWidth": case "maxWidth": (0, _window.hasWindow)() && this._renderWidth((0, _size.getOuterWidth)(this.$element())); break; case "minHeight": case "maxHeight": (0, _window.hasWindow)() && this._renderHeight((0, _size.getOuterHeight)(this.$element())); break; case "onResize": case "onResizeStart": case "onResizeEnd": this._renderActions(); break; case "area": case "stepPrecision": case "step": case "roundStepValue": case "keepAspectRatio": break; default: this.callBase(args) } }, _clean: function() { this.$element().find(".dx-resizable-handle").remove() }, _useTemplates: function() { return false } }); (0, _component_registrator.default)("dxResizable", Resizable); var _default = Resizable; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 21643: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/responsive_box.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _ui = _interopRequireDefault(__webpack_require__( /*! ./widget/ui.errors */ 96688)); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _box = _interopRequireDefault(__webpack_require__( /*! ./box */ 55551)); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ./collection/ui.collection_widget.edit */ 11050)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ResponsiveBox = _uiCollection_widget.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { rows: [], cols: [], screenByWidth: null, singleColumnScreen: "", height: "100%", width: "100%", activeStateEnabled: false, focusStateEnabled: false, onItemStateChanged: void 0, onLayoutChanged: null, currentScreenFactor: void 0 }) }, _init: function() { if (!this.option("screenByWidth")) { this._options.silent("screenByWidth", _window.defaultScreenFactorFunc) } this.callBase(); this._initLayoutChangedAction() }, _initLayoutChangedAction: function() { this._layoutChangedAction = this._createActionByOption("onLayoutChanged", { excludeValidators: ["disabled", "readonly"] }) }, _itemClass: function() { return "dx-box-item" }, _itemDataKey: function() { return "dxBoxItemData" }, _initMarkup: function() { this.callBase(); this.$element().addClass("dx-responsivebox") }, _renderItems: function() { this._setScreenSize(); this._screenItems = this._itemsByScreen(); this._prepareGrid(); this._spreadItems(); this._layoutItems(); this._linkNodeToItem() }, _itemOptionChanged: function(item) { var $item = this._findItemElementByItem(item); if (!$item.length) { return } this._refreshItem($item, item); this._clearItemNodeTemplates(); this._update(true) }, _setScreenSize: function() { var currentScreen = this._getCurrentScreen(); this._removeScreenSizeClass(); this.$element().addClass("dx-responsivebox-screen-" + currentScreen); this.option("currentScreenFactor", currentScreen) }, _removeScreenSizeClass: function() { var currentScreenFactor = this.option("currentScreenFactor"); currentScreenFactor && this.$element().removeClass("dx-responsivebox-screen-" + currentScreenFactor) }, _prepareGrid: function() { var grid = this._grid = []; this._prepareRowsAndCols(); (0, _iterator.each)(this._rows, function() { var row = []; grid.push(row); (0, _iterator.each)(this._cols, function() { row.push(this._createEmptyCell()) }.bind(this)) }.bind(this)) }, getSingleColumnRows: function() { var rows = this.option("rows"); var screenItemsLength = this._screenItems.length; if (rows.length) { var filteredRows = this._filterByScreen(rows); var result = []; for (var i = 0; i < screenItemsLength; i++) { var sizeConfig = this._defaultSizeConfig(); if (i < filteredRows.length && (0, _type.isDefined)(filteredRows[i].shrink)) { sizeConfig.shrink = filteredRows[i].shrink } result.push(sizeConfig) } return result } else { return this._defaultSizeConfig(screenItemsLength) } }, _prepareRowsAndCols: function() { if (this._isSingleColumnScreen()) { this._prepareSingleColumnScreenItems(); this._rows = this.getSingleColumnRows(); this._cols = this._defaultSizeConfig(1) } else { this._rows = this._sizesByScreen(this.option("rows")); this._cols = this._sizesByScreen(this.option("cols")) } }, _isSingleColumnScreen: function() { return this._screenRegExp().test(this.option("singleColumnScreen")) || !this.option("rows").length || !this.option("cols").length }, _prepareSingleColumnScreenItems: function() { this._screenItems.sort((function(item1, item2) { return item1.location.row - item2.location.row || item1.location.col - item2.location.col })); (0, _iterator.each)(this._screenItems, (function(index, item) { (0, _extend.extend)(item.location, { row: index, col: 0, rowspan: 1, colspan: 1 }) })) }, _sizesByScreen: function(sizeConfigs) { return (0, _iterator.map)(this._filterByScreen(sizeConfigs), function(sizeConfig) { return (0, _extend.extend)(this._defaultSizeConfig(), sizeConfig) }.bind(this)) }, _createDefaultSizeConfig: function() { return { ratio: 1, baseSize: 0, minSize: 0, maxSize: 0 } }, _defaultSizeConfig: function(size) { var defaultSizeConfig = this._createDefaultSizeConfig(); if (!arguments.length) { return defaultSizeConfig } var result = []; for (var i = 0; i < size; i++) { result.push(defaultSizeConfig) } return result }, _filterByScreen: function(items) { var screenRegExp = this._screenRegExp(); return (0, _common.grep)(items, (function(item) { return !item.screen || screenRegExp.test(item.screen) })) }, _screenRegExp: function() { var screen = this._getCurrentScreen(); return new RegExp("(^|\\s)" + screen + "($|\\s)", "i") }, _getCurrentScreen: function() { var width = this._screenWidth(); return this.option("screenByWidth")(width) }, _screenWidth: function() { return (0, _window.hasWindow)() ? (0, _size.getWidth)((0, _window.getWindow)()) : 1920 }, _createEmptyCell: function() { return { item: {}, location: { colspan: 1, rowspan: 1 } } }, _spreadItems: function() { (0, _iterator.each)(this._screenItems, function(_, itemInfo) { var location = itemInfo.location || {}; var itemCol = location.col; var itemRow = location.row; var row = this._grid[itemRow]; var itemCell = row && row[itemCol]; this._occupyCells(itemCell, itemInfo) }.bind(this)) }, _itemsByScreen: function() { var _this = this; return this.option("items").reduce((function(result, item) { var locations = item.location || {}; locations = (0, _type.isPlainObject)(locations) ? [locations] : locations; _this._filterByScreen(locations).forEach((function(location) { result.push({ item: item, location: (0, _extend.extend)({ rowspan: 1, colspan: 1 }, location) }) })); return result }), []) }, _occupyCells: function(itemCell, itemInfo) { if (!itemCell || this._isItemCellOccupied(itemCell, itemInfo)) { return }(0, _extend.extend)(itemCell, itemInfo); this._markSpanningCell(itemCell) }, _isItemCellOccupied: function(itemCell, itemInfo) { if (!(0, _type.isEmptyObject)(itemCell.item)) { return true } var result = false; this._loopOverSpanning(itemInfo.location, (function(cell) { result = result || !(0, _type.isEmptyObject)(cell.item) })); return result }, _loopOverSpanning: function(location, callback) { var rowEnd = location.row + location.rowspan - 1; var colEnd = location.col + location.colspan - 1; var boundRowEnd = Math.min(rowEnd, this._rows.length - 1); var boundColEnd = Math.min(colEnd, this._cols.length - 1); location.rowspan -= rowEnd - boundRowEnd; location.colspan -= colEnd - boundColEnd; for (var rowIndex = location.row; rowIndex <= boundRowEnd; rowIndex++) { for (var colIndex = location.col; colIndex <= boundColEnd; colIndex++) { if (rowIndex !== location.row || colIndex !== location.col) { callback(this._grid[rowIndex][colIndex]) } } } }, _markSpanningCell: function(itemCell) { this._loopOverSpanning(itemCell.location, (function(cell) { (0, _extend.extend)(cell, { item: itemCell.item, spanningCell: itemCell }) })) }, _linkNodeToItem: function() { (0, _iterator.each)(this._itemElements(), (function(_, itemNode) { var $item = (0, _renderer.default)(itemNode); var item = $item.data("dxBoxItemData"); if (!item.box) { item.node = $item.children() } })) }, _layoutItems: function() { var rowsCount = this._grid.length; var colsCount = rowsCount && this._grid[0].length; if (!rowsCount && !colsCount) { return } var result = this._layoutBlock({ direction: "col", row: { start: 0, end: rowsCount - 1 }, col: { start: 0, end: colsCount - 1 } }); var rootBox = this._prepareBoxConfig(result.box || { direction: "row", items: [(0, _extend.extend)(result, { ratio: 1 })] }); (0, _extend.extend)(rootBox, this._rootBoxConfig(rootBox.items)); this._$root = (0, _renderer.default)("<div>").appendTo(this._itemContainer()); this._createComponent(this._$root, _box.default, rootBox) }, _rootBoxConfig: function(items) { var rootItems = (0, _iterator.each)(items, function(index, item) { this._needApplyAutoBaseSize(item) && (0, _extend.extend)(item, { baseSize: "auto" }) }.bind(this)); return { width: "100%", height: "100%", items: rootItems, itemTemplate: this._getTemplateByOption("itemTemplate"), itemHoldTimeout: this.option("itemHoldTimeout"), onItemHold: this._createActionByOption("onItemHold"), onItemClick: this._createActionByOption("onItemClick"), onItemContextMenu: this._createActionByOption("onItemContextMenu"), onItemRendered: this._createActionByOption("onItemRendered") } }, _needApplyAutoBaseSize: function(item) { return !item.baseSize && (!item.minSize || "auto" === item.minSize) && (!item.maxSize || "auto" === item.maxSize) }, _prepareBoxConfig: function(config) { return (0, _extend.extend)(config || {}, { crossAlign: "stretch", onItemStateChanged: this.option("onItemStateChanged") }) }, _layoutBlock: function(options) { if (this._isSingleItem(options)) { return this._itemByCell(options.row.start, options.col.start) } return this._layoutDirection(options) }, _isSingleItem: function(options) { var firstCellLocation = this._grid[options.row.start][options.col.start].location; var isItemRowSpanned = options.row.end - options.row.start === firstCellLocation.rowspan - 1; var isItemColSpanned = options.col.end - options.col.start === firstCellLocation.colspan - 1; return isItemRowSpanned && isItemColSpanned }, _itemByCell: function(rowIndex, colIndex) { var itemCell = this._grid[rowIndex][colIndex]; return itemCell.spanningCell ? null : itemCell.item }, _layoutDirection: function(options) { var items = []; var direction = options.direction; var crossDirection = this._crossDirection(direction); var block; while (block = this._nextBlock(options)) { if (this._isBlockIndivisible(options.prevBlockOptions, block)) { throw _ui.default.Error("E1025") } var item = this._layoutBlock({ direction: crossDirection, row: block.row, col: block.col, prevBlockOptions: options }); if (item) { (0, _extend.extend)(item, this._blockSize(block, crossDirection)); items.push(item) } options[crossDirection].start = block[crossDirection].end + 1 } return { box: this._prepareBoxConfig({ direction: direction, items: items }) } }, _isBlockIndivisible: function(options, block) { return options && options.col.start === block.col.start && options.col.end === block.col.end && options.row.start === block.row.start && options.row.end === block.row.end }, _crossDirection: function(direction) { return "col" === direction ? "row" : "col" }, _nextBlock: function(options) { var direction = options.direction; var crossDirection = this._crossDirection(direction); var startIndex = options[direction].start; var endIndex = options[direction].end; var crossStartIndex = options[crossDirection].start; if (crossStartIndex > options[crossDirection].end) { return null } var crossSpan = 1; for (var crossIndex = crossStartIndex; crossIndex < crossStartIndex + crossSpan; crossIndex++) { var lineCrossSpan = 1; for (var index = startIndex; index <= endIndex; index++) { var cell = this._cellByDirection(direction, index, crossIndex); lineCrossSpan = Math.max(lineCrossSpan, cell.location[crossDirection + "span"]) } var lineCrossEndIndex = crossIndex + lineCrossSpan; var crossEndIndex = crossStartIndex + crossSpan; if (lineCrossEndIndex > crossEndIndex) { crossSpan += lineCrossEndIndex - crossEndIndex } } var result = {}; result[direction] = { start: startIndex, end: endIndex }; result[crossDirection] = { start: crossStartIndex, end: crossStartIndex + crossSpan - 1 }; return result }, _cellByDirection: function(direction, index, crossIndex) { return "col" === direction ? this._grid[crossIndex][index] : this._grid[index][crossIndex] }, _blockSize: function(block, direction) { var defaultMinSize = "row" === direction ? "auto" : 0; var sizeConfigs = "row" === direction ? this._rows : this._cols; var result = (0, _extend.extend)(this._createDefaultSizeConfig(), { ratio: 0 }); for (var index = block[direction].start; index <= block[direction].end; index++) { var sizeConfig = sizeConfigs[index]; result.ratio += sizeConfig.ratio; result.baseSize += sizeConfig.baseSize; result.minSize += sizeConfig.minSize; result.maxSize += sizeConfig.maxSize; if ((0, _type.isDefined)(sizeConfig.shrink)) { result.shrink = sizeConfig.shrink } } result.minSize = result.minSize ? result.minSize : defaultMinSize; result.maxSize = result.maxSize ? result.maxSize : "auto"; this._isSingleColumnScreen() && (result.baseSize = "auto"); return result }, _update: function(forceRemoveRoot) { var $existingRoot = this._$root; this._renderItems(); if ($existingRoot) { if (forceRemoveRoot) { $existingRoot.remove() } else { $existingRoot.detach(); this._saveAssistantRoot($existingRoot) } } this._layoutChangedAction() }, _saveAssistantRoot: function($root) { this._assistantRoots = this._assistantRoots || []; this._assistantRoots.push($root) }, _dispose: function() { this._clearItemNodeTemplates(); this._cleanUnusedRoots(); this.callBase.apply(this, arguments) }, _cleanUnusedRoots: function() { if (!this._assistantRoots) { return }(0, _iterator.each)(this._assistantRoots, (function(_, item) { (0, _renderer.default)(item).remove() })) }, _clearItemNodeTemplates: function() { (0, _iterator.each)(this.option("items"), (function() { delete this.node })) }, _attachClickEvent: _common.noop, _optionChanged: function(args) { switch (args.name) { case "rows": case "cols": case "screenByWidth": case "singleColumnScreen": this._clearItemNodeTemplates(); this._invalidate(); break; case "width": case "height": this.callBase(args); this._update(); break; case "onLayoutChanged": this._initLayoutChangedAction(); break; case "itemTemplate": this._clearItemNodeTemplates(); this.callBase(args); break; case "currentScreenFactor": break; default: this.callBase(args) } }, _dimensionChanged: function() { if (this._getCurrentScreen() !== this.option("currentScreenFactor")) { this._update() } }, repaint: function() { this._update() } }); (0, _component_registrator.default)("dxResponsiveBox", ResponsiveBox); var _default = ResponsiveBox; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 9508: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./scheduler/ui.scheduler */ 98230), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 5480: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointmentAdapter.js ***! \********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.default = exports.createAppointmentAdapter = void 0; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _ui = (obj = __webpack_require__( /*! ../widget/ui.errors */ 96688), obj && obj.__esModule ? obj : { default: obj }); var obj; var _object = __webpack_require__( /*! ../../core/utils/object */ 48013); var _recurrence = __webpack_require__( /*! ./recurrence */ 88609); var _expressionUtils = __webpack_require__( /*! ./expressionUtils */ 86474); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var PROPERTY_NAMES_startDate = "startDate", PROPERTY_NAMES_endDate = "endDate", PROPERTY_NAMES_allDay = "allDay", PROPERTY_NAMES_text = "text", PROPERTY_NAMES_description = "description", PROPERTY_NAMES_startDateTimeZone = "startDateTimeZone", PROPERTY_NAMES_endDateTimeZone = "endDateTimeZone", PROPERTY_NAMES_recurrenceRule = "recurrenceRule", PROPERTY_NAMES_recurrenceException = "recurrenceException", PROPERTY_NAMES_disabled = "disabled"; var AppointmentAdapter = function() { function AppointmentAdapter(rawAppointment, dataAccessors, timeZoneCalculator, options) { this.rawAppointment = rawAppointment; this.dataAccessors = dataAccessors; this.timeZoneCalculator = timeZoneCalculator; this.options = options } var _proto = AppointmentAdapter.prototype; _proto.getField = function(property) { return _expressionUtils.ExpressionUtils.getField(this.dataAccessors, property, this.rawAppointment) }; _proto.setField = function(property, value) { return _expressionUtils.ExpressionUtils.setField(this.dataAccessors, property, this.rawAppointment, value) }; _proto.calculateStartDate = function(pathTimeZoneConversion) { if (!this.startDate || isNaN(this.startDate.getTime())) { throw _ui.default.Error("E1032", this.text) } return this.calculateDate(this.startDate, this.startDateTimeZone, pathTimeZoneConversion) }; _proto.calculateEndDate = function(pathTimeZoneConversion) { return this.calculateDate(this.endDate, this.endDateTimeZone, pathTimeZoneConversion) }; _proto.calculateDate = function(date, appointmentTimeZone, pathTimeZoneConversion) { if (!date) { return } return this.timeZoneCalculator.createDate(date, { appointmentTimeZone: appointmentTimeZone, path: pathTimeZoneConversion }) }; _proto.clone = function() { var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : void 0; var result = new AppointmentAdapter((0, _object.deepExtendArraySafe)({}, this.rawAppointment), this.dataAccessors, this.timeZoneCalculator, options); if (null !== options && void 0 !== options && options.pathTimeZone) { result.startDate = result.calculateStartDate(options.pathTimeZone); result.endDate = result.calculateEndDate(options.pathTimeZone) } return result }; _proto.source = function() { var serializeDate = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false; if (serializeDate) { var clonedAdapter = this.clone(); clonedAdapter.startDate = this.startDate; clonedAdapter.endDate = this.endDate; return clonedAdapter.source() } return (0, _extend.extend)({}, this.rawAppointment) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AppointmentAdapter, [{ key: "duration", get: function() { return this.endDate ? this.endDate - this.startDate : 0 } }, { key: "startDate", get: function() { var result = this.getField(PROPERTY_NAMES_startDate); return void 0 === result ? result : new Date(result) }, set: function(value) { this.setField(PROPERTY_NAMES_startDate, value) } }, { key: "endDate", get: function() { var result = this.getField(PROPERTY_NAMES_endDate); return void 0 === result ? result : new Date(result) }, set: function(value) { this.setField(PROPERTY_NAMES_endDate, value) } }, { key: "allDay", get: function() { return this.getField(PROPERTY_NAMES_allDay) }, set: function(value) { this.setField(PROPERTY_NAMES_allDay, value) } }, { key: "text", get: function() { return this.getField(PROPERTY_NAMES_text) }, set: function(value) { this.setField(PROPERTY_NAMES_text, value) } }, { key: "description", get: function() { return this.getField(PROPERTY_NAMES_description) }, set: function(value) { this.setField(PROPERTY_NAMES_description, value) } }, { key: "startDateTimeZone", get: function() { return this.getField(PROPERTY_NAMES_startDateTimeZone) } }, { key: "endDateTimeZone", get: function() { return this.getField(PROPERTY_NAMES_endDateTimeZone) } }, { key: "recurrenceRule", get: function() { return this.getField(PROPERTY_NAMES_recurrenceRule) }, set: function(value) { this.setField(PROPERTY_NAMES_recurrenceRule, value) } }, { key: "recurrenceException", get: function() { return this.getField(PROPERTY_NAMES_recurrenceException) }, set: function(value) { this.setField(PROPERTY_NAMES_recurrenceException, value) } }, { key: "disabled", get: function() { return !!this.getField(PROPERTY_NAMES_disabled) } }, { key: "isRecurrent", get: function() { return (0, _recurrence.getRecurrenceProcessor)().isValidRecurrenceRule(this.recurrenceRule) } }]); return AppointmentAdapter }(); var _default = AppointmentAdapter; exports.default = _default; exports.createAppointmentAdapter = function(rawAppointment, dataAccessors, timeZoneCalculator, options) { return new AppointmentAdapter(rawAppointment, dataAccessors, timeZoneCalculator, options) } }, 56504: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointmentDragBehavior.js ***! \*************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _draggable = _interopRequireDefault(__webpack_require__( /*! ../draggable */ 42160)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _constants = __webpack_require__( /*! ./constants */ 27728); var _isSchedulerComponent = __webpack_require__( /*! ./utils/isSchedulerComponent */ 27047); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var AppointmentDragBehavior = function() { function AppointmentDragBehavior(scheduler) { this.scheduler = scheduler; this.workspace = scheduler._workSpace; this.appointments = scheduler._appointments; this.initialPosition = { left: 0, top: 0 }; this.appointmentInfo = null; this.dragBetweenComponentsPromise = null } var _proto = AppointmentDragBehavior.prototype; _proto.isAllDay = function(appointment) { return appointment.data("dxAppointmentSettings").allDay }; _proto.onDragStart = function(e) { var itemSettings = e.itemSettings, itemData = e.itemData, initialPosition = e.initialPosition; this.initialPosition = initialPosition; this.appointmentInfo = { appointment: itemData, settings: itemSettings }; this.appointments.notifyObserver("hideAppointmentTooltip") }; _proto.onDragMove = function(e) { if (e.fromComponent !== e.toComponent) { this.appointments.notifyObserver("removeDroppableCellClass") } }; _proto.getAppointmentElement = function(e) { var itemElement = e.event.data && e.event.data.itemElement || e.itemElement; return (0, _renderer.default)(itemElement) }; _proto.onDragEnd = function(event) { var element = this.getAppointmentElement(event); var rawAppointment = this.appointments._getItemData(element); var container = this.appointments._getAppointmentContainer(this.isAllDay(element)); container.append(element); var newCellIndex = this.workspace.getDroppableCellIndex(); var oldCellIndex = this.workspace.getCellIndexByCoordinates(this.initialPosition); this.appointments.notifyObserver("updateAppointmentAfterDrag", { event: event, element: element, rawAppointment: rawAppointment, newCellIndex: newCellIndex, oldCellIndex: oldCellIndex }) }; _proto.onDragCancel = function() { this.removeDroppableClasses() }; _proto.getItemData = function(appointmentElement) { var dataFromTooltip = (0, _renderer.default)(appointmentElement).data(_constants.LIST_ITEM_DATA_KEY); var itemDataFromTooltip = null === dataFromTooltip || void 0 === dataFromTooltip ? void 0 : dataFromTooltip.appointment; var itemDataFromGrid = this.appointments._getItemData(appointmentElement); return itemDataFromTooltip || itemDataFromGrid }; _proto.getItemSettings = function(appointment) { var itemData = (0, _renderer.default)(appointment).data(_constants.LIST_ITEM_DATA_KEY); return itemData && itemData.settings || [] }; _proto.createDragStartHandler = function(options, appointmentDragging) { var _this = this; return function(e) { e.itemData = _this.getItemData(e.itemElement); e.itemSettings = _this.getItemSettings(e.itemElement); appointmentDragging.onDragStart && appointmentDragging.onDragStart(e); if (!e.cancel) { options.onDragStart(e) } } }; _proto.createDragMoveHandler = function(options, appointmentDragging) { return function(e) { appointmentDragging.onDragMove && appointmentDragging.onDragMove(e); if (!e.cancel) { options.onDragMove(e) } } }; _proto.createDragEndHandler = function(options, appointmentDragging) { var _this2 = this; return function(e) { var updatedData = _this2.appointments.invoke("getUpdatedData", e.itemData); _this2.appointmentInfo = null; e.toItemData = (0, _extend.extend)({}, e.itemData, updatedData); appointmentDragging.onDragEnd && appointmentDragging.onDragEnd(e); if (!e.cancel) { options.onDragEnd(e); if (e.fromComponent !== e.toComponent) { appointmentDragging.onRemove && appointmentDragging.onRemove(e) } } if (true === e.cancel) { _this2.removeDroppableClasses() } if (true !== e.cancel && (0, _isSchedulerComponent.isSchedulerComponent)(e.toComponent)) { var targetDragBehavior = e.toComponent._getDragBehavior(); targetDragBehavior.dragBetweenComponentsPromise = new _deferred.Deferred } } }; _proto.createDropHandler = function(appointmentDragging) { var _this3 = this; return function(e) { var updatedData = _this3.appointments.invoke("getUpdatedData", e.itemData); e.itemData = (0, _extend.extend)({}, e.itemData, updatedData); if (e.fromComponent !== e.toComponent) { appointmentDragging.onAdd && appointmentDragging.onAdd(e) } if (_this3.dragBetweenComponentsPromise) { _this3.dragBetweenComponentsPromise.resolve() } } }; _proto.addTo = function(container, config) { var appointmentDragging = this.scheduler.option("appointmentDragging") || {}; var options = (0, _extend.extend)({ component: this.scheduler, contentTemplate: null, filter: ".".concat("dx-scheduler-appointment"), immediate: false, onDragStart: this.onDragStart.bind(this), onDragMove: this.onDragMove.bind(this), onDragEnd: this.onDragEnd.bind(this), onDragCancel: this.onDragCancel.bind(this) }, config); this.appointments._createComponent(container, _draggable.default, (0, _extend.extend)({}, options, appointmentDragging, { onDragStart: this.createDragStartHandler(options, appointmentDragging), onDragMove: this.createDragMoveHandler(options, appointmentDragging), onDragEnd: this.createDragEndHandler(options, appointmentDragging), onDrop: this.createDropHandler(appointmentDragging), onCancelByEsc: true })) }; _proto.updateDragSource = function(appointment, settings) { var appointmentInfo = this.appointmentInfo; if (appointmentInfo || appointment) { var currentAppointment = appointment || appointmentInfo.appointment; var currentSettings = settings || appointmentInfo.settings; this.appointments._setDragSourceAppointment(currentAppointment, currentSettings) } }; _proto.removeDroppableClasses = function() { this.appointments._removeDragSourceClassFromDraggedAppointment(); this.workspace.removeDroppableCellClass() }; return AppointmentDragBehavior }(); exports.default = AppointmentDragBehavior; module.exports = exports.default; module.exports.default = exports.default }, 25062: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointmentPopup/form.js ***! \***********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.AppointmentForm = exports.APPOINTMENT_FORM_GROUP_NAMES = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _form = _interopRequireDefault(__webpack_require__( /*! ../../form */ 17737)); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/date_serialization */ 69434)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../localization/message */ 28109)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../../core/devices */ 20530)); var _data_source = _interopRequireDefault(__webpack_require__( /*! ../../../data/data_source */ 33546)); var _utils = _interopRequireDefault(__webpack_require__( /*! ../timezones/utils.timezones_data */ 51690)); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/date */ 91198)); var _semaphore = __webpack_require__( /*! ../../../renovation/ui/scheduler/utils/semaphore/semaphore */ 86303); __webpack_require__( /*! ../recurrence_editor */ 53555); __webpack_require__( /*! ../../text_area */ 51237); __webpack_require__( /*! ../../tag_box */ 31362); __webpack_require__( /*! ../../switch */ 31609); __webpack_require__( /*! ../../select_box */ 78665); var _appointmentAdapter = __webpack_require__( /*! ../appointmentAdapter */ 5480); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var APPOINTMENT_FORM_GROUP_NAMES = { Main: "mainGroup", Recurrence: "recurrenceGroup" }; exports.APPOINTMENT_FORM_GROUP_NAMES = APPOINTMENT_FORM_GROUP_NAMES; var createDateBoxEditor = function(dataField, colSpan, firstDayOfWeek, label, onValueChanged) { return { editorType: "dxDateBox", dataField: dataField, colSpan: colSpan, label: { text: _message.default.format(label) }, validationRules: [{ type: "required" }], editorOptions: { width: "100%", calendarOptions: { firstDayOfWeek: firstDayOfWeek }, onValueChanged: onValueChanged, useMaskBehavior: true } } }; var AppointmentForm = function() { function AppointmentForm(scheduler) { this.scheduler = scheduler; this.form = null; this.semaphore = new _semaphore.Semaphore } var _proto = AppointmentForm.prototype; _proto.create = function(triggerResize, changeSize, formData) { var _this = this; var allowTimeZoneEditing = this.scheduler.getEditingConfig().allowTimeZoneEditing; var _this$scheduler$getDa = this.scheduler.getDataAccessors(), expr = _this$scheduler$getDa.expr; var recurrenceEditorVisibility = !!formData[expr.recurrenceRuleExpr]; var colSpan = recurrenceEditorVisibility ? 1 : 2; var mainItems = [].concat(_toConsumableArray(this._createMainItems(expr, triggerResize, changeSize, allowTimeZoneEditing)), _toConsumableArray(this.scheduler.createResourceEditorModel())); changeSize(recurrenceEditorVisibility); var items = [{ itemType: "group", name: APPOINTMENT_FORM_GROUP_NAMES.Main, colCountByScreen: { lg: 2, xs: 1 }, colSpan: colSpan, items: mainItems }, { itemType: "group", name: APPOINTMENT_FORM_GROUP_NAMES.Recurrence, visible: recurrenceEditorVisibility, colSpan: colSpan, items: this._createRecurrenceEditor(expr) }]; var element = (0, _renderer.default)("<div>"); this.form = this.scheduler.createComponent(element, _form.default, { items: items, showValidationSummary: true, scrollingEnabled: true, colCount: "auto", colCountByScreen: { lg: 2, xs: 1 }, formData: formData, showColonAfterLabel: false, labelLocation: "top", customizeItem: function(e) { if (_this.form && "group" === e.itemType) { var dataExprs = _this.scheduler.getDataAccessors().expr; var startDate = new Date(_this.formData[dataExprs.startDateExpr]); var endDate = new Date(_this.formData[dataExprs.endDateExpr]); var startTimeZoneEditor = e.items.find((function(i) { return i.dataField === dataExprs.startDateTimeZoneExpr })); var endTimeZoneEditor = e.items.find((function(i) { return i.dataField === dataExprs.endDateTimeZoneExpr })); if (startTimeZoneEditor) { startTimeZoneEditor.editorOptions.dataSource = _this.createTimeZoneDataSource(startDate) } if (endTimeZoneEditor) { endTimeZoneEditor.editorOptions.dataSource = _this.createTimeZoneDataSource(endDate) } } }, screenByWidth: function(width) { return width < 600 || "desktop" !== _devices.default.current().deviceType ? "xs" : "lg" } }) }; _proto.createTimeZoneDataSource = function(date) { return new _data_source.default({ store: _utils.default.getDisplayedTimeZones(date), paginate: true, pageSize: 10 }) }; _proto._createAppointmentAdapter = function(rawAppointment) { return (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this.scheduler.getDataAccessors()) }; _proto._dateBoxValueChanged = function(args, dateExpr, isNeedCorrect) { ! function(editor, value, previousValue) { var isCurrentDateCorrect = null === value || !!value; var isPreviousDateCorrect = null === previousValue || !!previousValue; if (!isCurrentDateCorrect && isPreviousDateCorrect) { editor.option("value", previousValue) } }(args.component, args.value, args.previousValue); var value = _date_serialization.default.deserializeDate(args.value); var previousValue = _date_serialization.default.deserializeDate(args.previousValue); var dateEditor = this.form.getEditor(dateExpr); var dateValue = _date_serialization.default.deserializeDate(dateEditor.option("value")); if (this.semaphore.isFree() && dateValue && value && isNeedCorrect(dateValue, value)) { var duration = previousValue ? dateValue.getTime() - previousValue.getTime() : 0; dateEditor.option("value", new Date(value.getTime() + duration)) } }; _proto._createTimezoneEditor = function(timeZoneExpr, secondTimeZoneExpr, visibleIndex, colSpan, isMainTimeZone) { var _this2 = this; var visible = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : false; var noTzTitle = _message.default.format("dxScheduler-noTimezoneTitle"); return { dataField: timeZoneExpr, editorType: "dxSelectBox", visibleIndex: visibleIndex, colSpan: colSpan, label: { text: " " }, editorOptions: { displayExpr: "title", valueExpr: "id", placeholder: noTzTitle, searchEnabled: true, onValueChanged: function(args) { var form = _this2.form; var secondTimezoneEditor = form.getEditor(secondTimeZoneExpr); if (isMainTimeZone) { secondTimezoneEditor.option("value", args.value) } } }, visible: visible } }; _proto._createDateBoxItems = function(dataExprs, allowTimeZoneEditing) { var _this3 = this; var colSpan = allowTimeZoneEditing ? 2 : 1; var firstDayOfWeek = this.scheduler.getFirstDayOfWeek(); return [createDateBoxEditor(dataExprs.startDateExpr, colSpan, firstDayOfWeek, "dxScheduler-editorLabelStartDate", (function(args) { _this3._dateBoxValueChanged(args, dataExprs.endDateExpr, (function(endValue, startValue) { return endValue < startValue })) })), this._createTimezoneEditor(dataExprs.startDateTimeZoneExpr, dataExprs.endDateTimeZoneExpr, 1, colSpan, true, allowTimeZoneEditing), createDateBoxEditor(dataExprs.endDateExpr, colSpan, firstDayOfWeek, "dxScheduler-editorLabelEndDate", (function(args) { _this3._dateBoxValueChanged(args, dataExprs.startDateExpr, (function(startValue, endValue) { return endValue < startValue })) })), this._createTimezoneEditor(dataExprs.endDateTimeZoneExpr, dataExprs.startDateTimeZoneExpr, 3, colSpan, false, allowTimeZoneEditing)] }; _proto._changeFormItemDateType = function(itemPath, isAllDay) { var itemEditorOptions = this.form.itemOption(itemPath).editorOptions; var type = isAllDay ? "date" : "datetime"; var newEditorOption = _extends({}, itemEditorOptions, { type: type }); this.form.itemOption(itemPath, "editorOptions", newEditorOption) }; _proto._createMainItems = function(dataExprs, triggerResize, changeSize, allowTimeZoneEditing) { var _this4 = this; return [{ dataField: dataExprs.textExpr, editorType: "dxTextBox", colSpan: 2, label: { text: _message.default.format("dxScheduler-editorLabelTitle") } }, { itemType: "group", colSpan: 2, colCountByScreen: { lg: 2, xs: 1 }, items: this._createDateBoxItems(dataExprs, allowTimeZoneEditing) }, { itemType: "group", colSpan: 2, colCountByScreen: { lg: 2, xs: 2 }, items: [{ dataField: dataExprs.allDayExpr, cssClass: "dx-appointment-form-switch", editorType: "dxSwitch", label: { text: _message.default.format("dxScheduler-allDay"), location: "right" }, editorOptions: { onValueChanged: function(args) { var value = args.value; var startDateEditor = _this4.form.getEditor(dataExprs.startDateExpr); var endDateEditor = _this4.form.getEditor(dataExprs.endDateExpr); var startDate = _date_serialization.default.deserializeDate(startDateEditor.option("value")); if (_this4.semaphore.isFree() && startDate) { if (value) { var allDayStartDate = _date.default.trimTime(startDate); startDateEditor.option("value", new Date(allDayStartDate)); endDateEditor.option("value", new Date(allDayStartDate)) } else { var startDateWithStartHour = function(startDate, startDayHour) { return new Date(new Date(startDate).setHours(startDayHour)) }(startDate, _this4.scheduler.getStartDayHour()); var endDate = _this4.scheduler.getCalculatedEndDate(startDateWithStartHour); startDateEditor.option("value", startDateWithStartHour); endDateEditor.option("value", endDate) } } var startDateItemPath = "".concat(APPOINTMENT_FORM_GROUP_NAMES.Main, ".").concat(dataExprs.startDateExpr); var endDateItemPath = "".concat(APPOINTMENT_FORM_GROUP_NAMES.Main, ".").concat(dataExprs.endDateExpr); _this4._changeFormItemDateType(startDateItemPath, value); _this4._changeFormItemDateType(endDateItemPath, value) } } }, { editorType: "dxSwitch", dataField: "repeat", cssClass: "dx-appointment-form-switch", name: "visibilityChanged", label: { text: _message.default.format("dxScheduler-editorLabelRecurrence"), location: "right" }, editorOptions: { onValueChanged: function(args) { var form = _this4.form; var colSpan = args.value ? 1 : 2; form.itemOption(APPOINTMENT_FORM_GROUP_NAMES.Main, "colSpan", colSpan); form.itemOption(APPOINTMENT_FORM_GROUP_NAMES.Recurrence, "colSpan", colSpan); ! function(recurrenceRuleExpr, value, form) { var _form$getEditor; form.itemOption(APPOINTMENT_FORM_GROUP_NAMES.Recurrence, "visible", value); !value && form.updateData(recurrenceRuleExpr, ""); null === (_form$getEditor = form.getEditor(recurrenceRuleExpr)) || void 0 === _form$getEditor ? void 0 : _form$getEditor.changeValueByVisibility(value) }(dataExprs.recurrenceRuleExpr, args.value, form); changeSize(args.value); triggerResize() } } }] }, { itemType: "empty", colSpan: 2 }, { dataField: dataExprs.descriptionExpr, editorType: "dxTextArea", colSpan: 2, label: { text: _message.default.format("dxScheduler-editorLabelDescription") } }, { itemType: "empty", colSpan: 2 }] }; _proto._createRecurrenceEditor = function(dataExprs) { var _this5 = this; return [{ dataField: dataExprs.recurrenceRuleExpr, editorType: "dxRecurrenceEditor", editorOptions: { firstDayOfWeek: this.scheduler.getFirstDayOfWeek(), timeZoneCalculator: this.scheduler.getTimeZoneCalculator(), getStartDateTimeZone: function() { return _this5._createAppointmentAdapter(_this5.formData).startDateTimeZone } }, label: { text: " ", visible: false } }] }; _proto.setEditorsType = function(allDay) { var _this$scheduler$getDa2 = this.scheduler.getDataAccessors().expr, startDateExpr = _this$scheduler$getDa2.startDateExpr, endDateExpr = _this$scheduler$getDa2.endDateExpr; var startDateItemPath = "".concat(APPOINTMENT_FORM_GROUP_NAMES.Main, ".").concat(startDateExpr); var endDateItemPath = "".concat(APPOINTMENT_FORM_GROUP_NAMES.Main, ".").concat(endDateExpr); var startDateFormItem = this.form.itemOption(startDateItemPath); var endDateFormItem = this.form.itemOption(endDateItemPath); if (startDateFormItem && endDateFormItem) { var startDateEditorOptions = startDateFormItem.editorOptions; var endDateEditorOptions = endDateFormItem.editorOptions; startDateEditorOptions.type = endDateEditorOptions.type = allDay ? "date" : "datetime"; this.form.itemOption(startDateItemPath, "editorOptions", startDateEditorOptions); this.form.itemOption(endDateItemPath, "editorOptions", endDateEditorOptions) } }; _proto.updateRecurrenceEditorStartDate = function(date, expression) { var options = { startDate: date }; this.setEditorOptions(expression, "Recurrence", options) }; _proto.setEditorOptions = function(name, groupName, options) { var editorPath = "".concat(APPOINTMENT_FORM_GROUP_NAMES.groupName, ".").concat(name); var editor = this.form.itemOption(editorPath); editor && this.form.itemOption(editorPath, "editorOptions", (0, _extend.extend)({}, editor.editorOptions, options)) }; _proto.setTimeZoneEditorDataSource = function(date, path) { var dataSource = this.createTimeZoneDataSource(date); this.setEditorOptions(path, "Main", { dataSource: dataSource }) }; _proto.updateFormData = function(formData) { this.semaphore.take(); this.form.option("formData", formData); var dataExprs = this.scheduler.getDataAccessors().expr; var allDay = formData[dataExprs.allDayExpr]; var startDate = new Date(formData[dataExprs.startDateExpr]); var endDate = new Date(formData[dataExprs.endDateExpr]); this.setTimeZoneEditorDataSource(startDate, dataExprs.startDateTimeZoneExpr); this.setTimeZoneEditorDataSource(endDate, dataExprs.endDateTimeZoneExpr); this.updateRecurrenceEditorStartDate(startDate, dataExprs.recurrenceRuleExpr); this.setEditorsType(allDay); this.semaphore.release() }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AppointmentForm, [{ key: "dxForm", get: function() { return this.form } }, { key: "readOnly", set: function(value) { this.form.option("readOnly", value); var recurrenceRuleExpr = this.scheduler.getDataAccessors().expr.recurrenceRuleExpr; var recurrenceEditor = this.form.getEditor(recurrenceRuleExpr); null === recurrenceEditor || void 0 === recurrenceEditor ? void 0 : recurrenceEditor.option("readOnly", value) } }, { key: "formData", get: function() { return this.form.option("formData") }, set: function(value) { this.form.option("formData", value) } }]); return AppointmentForm }(); exports.AppointmentForm = AppointmentForm }, 39288: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointmentPopup/popup.js ***! \************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.AppointmentPopup = exports.ACTION_TO_APPOINTMENT = void 0; var _devices = _interopRequireDefault(__webpack_require__( /*! ../../../core/devices */ 20530)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/date */ 91198)); var _deferred = __webpack_require__( /*! ../../../core/utils/deferred */ 62754); var _visibility_change = __webpack_require__( /*! ../../../events/visibility_change */ 80506); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../popup/ui.popup */ 51495)); var _loading = __webpack_require__( /*! ../loading */ 71125); var _appointmentAdapter = __webpack_require__( /*! ../appointmentAdapter */ 5480); var _utils = __webpack_require__( /*! ../resources/utils */ 98140); var _popup_config = __webpack_require__( /*! ../../../renovation/ui/scheduler/appointment_edit_form/popup_config */ 51113); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var toMs = _date.default.dateToMilliseconds; var DAY_IN_MS = toMs("day"); var POPUP_CONFIG = { height: "auto", maxHeight: "100%", showCloseButton: false, showTitle: false, preventScrollEvents: false, enableBodyScroll: false, defaultOptionsRules: [{ device: function() { return _devices.default.current().android }, options: { showTitle: false } }] }; var ACTION_TO_APPOINTMENT = { CREATE: 0, UPDATE: 1, EXCLUDE_FROM_SERIES: 2 }; exports.ACTION_TO_APPOINTMENT = ACTION_TO_APPOINTMENT; var AppointmentPopup = function() { function AppointmentPopup(scheduler, form) { this.scheduler = scheduler; this.form = form; this.popup = null; this.state = { action: null, lastEditData: null, saveChangesLocker: false, appointment: { data: null } } } var _proto = AppointmentPopup.prototype; _proto.show = function(appointment, config) { var _this = this; this.state.appointment.data = appointment; this.state.action = config.action; this.state.excludeInfo = config.excludeInfo; if (!this.popup) { var popupConfig = this._createPopupConfig(); this.popup = this._createPopup(popupConfig) } this.popup.option("toolbarItems", (0, _popup_config.getPopupToolbarItems)(config.isToolbarVisible, (function(e) { return _this._doneButtonClickHandler(e) }))); this.popup.show() }; _proto.hide = function() { this.popup.hide() }; _proto.dispose = function() { var _this$popup; null === (_this$popup = this.popup) || void 0 === _this$popup ? void 0 : _this$popup.$element().remove() }; _proto._createPopup = function(options) { var popupElement = (0, _renderer.default)("<div>").addClass("dx-scheduler-appointment-popup").appendTo(this.scheduler.getElement()); return this.scheduler.createComponent(popupElement, _ui.default, options) }; _proto._createPopupConfig = function() { var _this2 = this; return _extends({}, POPUP_CONFIG, { onHiding: function() { return _this2.scheduler.focus() }, contentTemplate: function() { return _this2._createPopupContent() }, onShowing: function(e) { return _this2._onShowing(e) }, wrapperAttr: { class: "dx-scheduler-appointment-popup" } }) }; _proto._onShowing = function(e) { var _this3 = this; this._updateForm(); var arg = { form: this.form.dxForm, popup: this.popup, appointmentData: this.state.appointment.data, cancel: false }; this.scheduler.getAppointmentFormOpening()(arg); this.scheduler.processActionResult(arg, (function(canceled) { if (canceled) { e.cancel = true } else { _this3.updatePopupFullScreenMode() } })) }; _proto._createPopupContent = function() { this._createForm(); return this.form.dxForm.$element() }; _proto._createFormData = function(rawAppointment) { var appointment = this._createAppointmentAdapter(rawAppointment); var dataAccessors = this.scheduler.getDataAccessors(); var resources = this.scheduler.getResources(); var normalizedResources = (0, _utils.getNormalizedResources)(rawAppointment, dataAccessors, resources); return _extends({}, rawAppointment, normalizedResources, { repeat: !!appointment.recurrenceRule }) }; _proto._createForm = function() { var rawAppointment = this.state.appointment.data; var formData = this._createFormData(rawAppointment); this.form.create(this.triggerResize.bind(this), this.changeSize.bind(this), formData) }; _proto._isReadOnly = function(rawAppointment) { var appointment = this._createAppointmentAdapter(rawAppointment); if (rawAppointment && appointment.disabled) { return true } if (this.state.action === ACTION_TO_APPOINTMENT.CREATE) { return false } return !this.scheduler.getEditingConfig().allowUpdating }; _proto._createAppointmentAdapter = function(rawAppointment) { return (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this.scheduler.getDataAccessors(), this.scheduler.getTimeZoneCalculator()) }; _proto._updateForm = function() { var data = this.state.appointment.data; var appointment = this._createAppointmentAdapter(this._createFormData(data)); if (appointment.startDate) { appointment.startDate = appointment.calculateStartDate("toAppointment") } if (appointment.endDate) { appointment.endDate = appointment.calculateEndDate("toAppointment") } var formData = appointment.source(); this.form.readOnly = this._isReadOnly(formData); this.form.updateFormData(formData) }; _proto.triggerResize = function() { if (this.popup) { (0, _visibility_change.triggerResizeEvent)(this.popup.$element()) } }; _proto.changeSize = function(isRecurrence) { if (this.popup) { var isFullScreen = (0, _popup_config.isPopupFullScreenNeeded)(); var maxWidth = isFullScreen ? "100%" : (0, _popup_config.getMaxWidth)(isRecurrence); this.popup.option("fullScreen", isFullScreen); this.popup.option("maxWidth", maxWidth) } }; _proto.updatePopupFullScreenMode = function() { if (this.form.dxForm) { var formData = this.form.formData; var isRecurrence = formData[this.scheduler.getDataAccessors().expr.recurrenceRuleExpr]; if (this.visible) { this.changeSize(isRecurrence) } } }; _proto.saveChangesAsync = function(isShowLoadPanel) { var _this4 = this; var deferred = new _deferred.Deferred; var validation = this.form.dxForm.validate(); isShowLoadPanel && this._showLoadPanel(); (0, _deferred.when)(validation && validation.complete || validation).done((function(validation) { if (validation && !validation.isValid) { (0, _loading.hide)(); deferred.resolve(false); return } var adapter = _this4._createAppointmentAdapter(_this4.form.formData); var clonedAdapter = adapter.clone({ pathTimeZone: "fromAppointment" }); _this4._addMissingDSTTime(adapter, clonedAdapter); var appointment = clonedAdapter.source(); delete appointment.repeat; switch (_this4.state.action) { case ACTION_TO_APPOINTMENT.CREATE: _this4.scheduler.addAppointment(appointment).done(deferred.resolve); break; case ACTION_TO_APPOINTMENT.UPDATE: _this4.scheduler.updateAppointment(_this4.state.appointment.data, appointment).done(deferred.resolve); break; case ACTION_TO_APPOINTMENT.EXCLUDE_FROM_SERIES: _this4.scheduler.updateAppointment(_this4.state.excludeInfo.sourceAppointment, _this4.state.excludeInfo.updatedAppointment); _this4.scheduler.addAppointment(appointment).done(deferred.resolve) } deferred.done((function() { (0, _loading.hide)(); _this4.state.lastEditData = appointment })) })); return deferred.promise() }; _proto._doneButtonClickHandler = function(e) { e.cancel = true; this.saveEditDataAsync() }; _proto.saveEditDataAsync = function() { var _this5 = this; var deferred = new _deferred.Deferred; if (this._tryLockSaveChanges()) { (0, _deferred.when)(this.saveChangesAsync(true)).done((function() { if (_this5.state.lastEditData) { var adapter = _this5._createAppointmentAdapter(_this5.state.lastEditData); var startDate = adapter.startDate, endDate = adapter.endDate, allDay = adapter.allDay; var startTime = startDate.getTime(); var endTime = endDate.getTime(); var inAllDayRow = allDay || endTime - startTime >= DAY_IN_MS; var dataAccessors = _this5.scheduler.getDataAccessors(); var resourceList = _this5.scheduler.getResources(); var normalizedResources = (0, _utils.getNormalizedResources)(_this5.state.lastEditData, dataAccessors, resourceList); _this5.scheduler.updateScrollPosition(startDate, normalizedResources, inAllDayRow); _this5.state.lastEditData = null } _this5._unlockSaveChanges(); deferred.resolve() })) } return deferred.promise() }; _proto._showLoadPanel = function() { var container = this.popup.$overlayContent(); (0, _loading.show)({ container: container, position: { of: container } }) }; _proto._tryLockSaveChanges = function() { if (false === this.state.saveChangesLocker) { this.state.saveChangesLocker = true; return true } return false }; _proto._unlockSaveChanges = function() { this.state.saveChangesLocker = false }; _proto._addMissingDSTTime = function(formAppointmentAdapter, clonedAppointmentAdapter) { var timeZoneCalculator = this.scheduler.getTimeZoneCalculator(); clonedAppointmentAdapter.startDate = this._addMissingDSTShiftToDate(timeZoneCalculator, formAppointmentAdapter.startDate, clonedAppointmentAdapter.startDate); if (clonedAppointmentAdapter.endDate) { clonedAppointmentAdapter.endDate = this._addMissingDSTShiftToDate(timeZoneCalculator, formAppointmentAdapter.endDate, clonedAppointmentAdapter.endDate) } }; _proto._addMissingDSTShiftToDate = function(timeZoneCalculator, originFormDate, clonedDate) { var _timeZoneCalculator$g, _timeZoneCalculator$g2; var originTimezoneShift = null === (_timeZoneCalculator$g = timeZoneCalculator.getOffsets(originFormDate)) || void 0 === _timeZoneCalculator$g ? void 0 : _timeZoneCalculator$g.common; var clonedTimezoneShift = null === (_timeZoneCalculator$g2 = timeZoneCalculator.getOffsets(clonedDate)) || void 0 === _timeZoneCalculator$g2 ? void 0 : _timeZoneCalculator$g2.common; var shiftDifference = originTimezoneShift - clonedTimezoneShift; return shiftDifference ? new Date(clonedDate.getTime() + shiftDifference * toMs("hour")) : clonedDate }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AppointmentPopup, [{ key: "visible", get: function() { return this.popup ? this.popup.option("visible") : false } }]); return AppointmentPopup }(); exports.AppointmentPopup = AppointmentPopup }, 99981: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments.layout_manager.js ***! \*****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _viewModelGenerator = __webpack_require__( /*! ./appointments/viewModelGenerator */ 1307); var _utils = __webpack_require__( /*! ./resources/utils */ 98140); var _positionHelper = __webpack_require__( /*! ./workspaces/helpers/positionHelper */ 69576); var _base = __webpack_require__( /*! ../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _appointments = __webpack_require__( /*! ../../renovation/ui/scheduler/model/appointments */ 17169); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var AppointmentLayoutManager = function() { function AppointmentLayoutManager(instance) { this.instance = instance; this.appointmentViewModel = new _viewModelGenerator.AppointmentViewModelGenerator } var _proto = AppointmentLayoutManager.prototype; _proto.getCellDimensions = function(options) { if (this.instance._workSpace) { return { width: this.instance._workSpace.getCellWidth(), height: this.instance._workSpace.getCellHeight(), allDayHeight: this.instance._workSpace.getAllDayHeight() } } }; _proto._getRenderingStrategyOptions = function() { var workspace = this.instance.getWorkSpace(); var _this$instance$getWor = this.instance.getWorkSpace(), virtualScrollingDispatcher = _this$instance$getWor.virtualScrollingDispatcher; var cellCountInsideLeftVirtualCell = virtualScrollingDispatcher.cellCountInsideLeftVirtualCell, cellCountInsideTopVirtualRow = virtualScrollingDispatcher.cellCountInsideTopVirtualRow; var groupCount = (0, _utils.getGroupCount)(this.instance.option("loadedResources")); var DOMMetaData = workspace.getDOMElementsMetaData(); var allDayHeight = (0, _positionHelper.getAllDayHeight)(workspace.option("showAllDayPanel"), workspace._isVerticalGroupedWorkSpace(), DOMMetaData); var rowCount = workspace._getRowCount(); var positionHelper = workspace.positionHelper, viewDataProvider = workspace.viewDataProvider; var visibleDayDuration = viewDataProvider.getVisibleDayDuration(workspace.option("startDayHour"), workspace.option("endDayHour"), workspace.option("hoursInterval")); var cellDuration = (0, _base.getCellDuration)(workspace.type, workspace.option("startDayHour"), workspace.option("endDayHour"), workspace.option("hoursInterval")); return { resources: this.instance.option("resources"), loadedResources: this.instance.option("loadedResources"), getAppointmentColor: this.instance.createGetAppointmentColor(), dataAccessors: this.instance._dataAccessors, isRenovatedAppointments: this.instance.option("isRenovatedAppointments"), appointmentRenderingStrategyName: this.appointmentRenderingStrategyName, adaptivityEnabled: this.instance.option("adaptivityEnabled"), rtlEnabled: this.instance.option("rtlEnabled"), startDayHour: this.instance._getCurrentViewOption("startDayHour"), endDayHour: this.instance._getCurrentViewOption("endDayHour"), maxAppointmentsPerCell: this.instance._getCurrentViewOption("maxAppointmentsPerCell"), currentDate: this.instance.option("currentDate"), isVirtualScrolling: this.instance.isVirtualScrolling(), leftVirtualCellCount: cellCountInsideLeftVirtualCell, topVirtualCellCount: cellCountInsideTopVirtualRow, intervalCount: workspace.option("intervalCount"), hoursInterval: workspace.option("hoursInterval"), showAllDayPanel: workspace.option("showAllDayPanel"), isGroupedAllDayPanel: workspace.isGroupedAllDayPanel(), groups: this.instance._getCurrentViewOption("groups"), groupCount: groupCount, rowCount: rowCount, appointmentCountPerCell: this.instance.option("_appointmentCountPerCell"), appointmentOffset: this.instance.option("_appointmentOffset"), allowResizing: this.instance._allowResizing(), allowAllDayResizing: this.instance._allowAllDayResizing(), startViewDate: workspace.getStartViewDate(), groupOrientation: workspace._getRealGroupOrientation(), cellWidth: (0, _positionHelper.getCellWidth)(DOMMetaData), cellHeight: (0, _positionHelper.getCellHeight)(DOMMetaData), allDayHeight: allDayHeight, resizableStep: positionHelper.getResizableStep(), visibleDayDuration: visibleDayDuration, allDayPanelMode: this.instance._getCurrentViewOption("allDayPanelMode"), timeZoneCalculator: this.instance.timeZoneCalculator, timeZone: this.instance.option("timeZone"), firstDayOfWeek: this.instance.getFirstDayOfWeek(), viewStartDayHour: this.instance._getCurrentViewOption("startDayHour"), viewEndDayHour: this.instance._getCurrentViewOption("endDayHour"), viewType: workspace.type, endViewDate: workspace.getEndViewDate(), positionHelper: positionHelper, isGroupedByDate: workspace.isGroupedByDate(), cellDuration: cellDuration, cellDurationInMinutes: workspace.option("cellDuration"), viewDataProvider: workspace.viewDataProvider, supportAllDayRow: workspace.supportAllDayRow(), dateRange: workspace.getDateRange(), intervalDuration: workspace.getIntervalDuration(), allDayIntervalDuration: workspace.getIntervalDuration(true), isVerticalGroupOrientation: workspace.isVerticalOrientation(), DOMMetaData: DOMMetaData, instance: this.instance, agendaDuration: workspace.option("agendaDuration") } }; _proto.createAppointmentsMap = function(items) { var renderingStrategyOptions = this._getRenderingStrategyOptions(); var _this$appointmentView = this.appointmentViewModel.generate(items, renderingStrategyOptions), viewModel = _this$appointmentView.viewModel, positionMap = _this$appointmentView.positionMap; this._positionMap = positionMap; return viewModel }; _proto._isDataChanged = function(data) { var appointmentDataProvider = this.instance.appointmentDataProvider; var updatedData = appointmentDataProvider.getUpdatedAppointment(); return updatedData === data || appointmentDataProvider.getUpdatedAppointmentKeys().some((function(item) { return data[item.key] === item.value })) }; _proto._isAppointmentShouldAppear = function(currentAppointment, sourceAppointment) { return currentAppointment.needRepaint && sourceAppointment.needRemove }; _proto._isSettingChanged = function(settings, sourceSetting) { if (settings.length !== sourceSetting.length) { return true } var createSettingsToCompare = function(settings, index) { var currentSetting = settings[index]; var leftVirtualCellCount = currentSetting.leftVirtualCellCount || 0; var topVirtualCellCount = currentSetting.topVirtualCellCount || 0; var columnIndex = currentSetting.columnIndex + leftVirtualCellCount; var rowIndex = currentSetting.rowIndex + topVirtualCellCount; var hMax = currentSetting.reduced ? currentSetting.hMax : void 0; var vMax = currentSetting.reduced ? currentSetting.vMax : void 0; return _extends({}, currentSetting, { columnIndex: columnIndex, rowIndex: rowIndex, positionByMap: void 0, topVirtualCellCount: void 0, leftVirtualCellCount: void 0, leftVirtualWidth: void 0, topVirtualHeight: void 0, hMax: hMax, vMax: vMax, info: {} }) }; for (var i = 0; i < settings.length; i++) { var newSettings = createSettingsToCompare(settings, i); var oldSettings = createSettingsToCompare(sourceSetting, i); if (oldSettings) { oldSettings.sortedIndex = newSettings.sortedIndex } if (!(0, _common.equalByValue)(newSettings, oldSettings)) { return true } } return false }; _proto._getAssociatedSourceAppointment = function(currentAppointment, sourceAppointments) { for (var i = 0; i < sourceAppointments.length; i++) { var item = sourceAppointments[i]; if (item.itemData === currentAppointment.itemData) { return item } } return null }; _proto._getDeletedAppointments = function(currentAppointments, sourceAppointments) { var result = []; for (var i = 0; i < sourceAppointments.length; i++) { var sourceAppointment = sourceAppointments[i]; var currentAppointment = this._getAssociatedSourceAppointment(sourceAppointment, currentAppointments); if (!currentAppointment) { sourceAppointment.needRemove = true; result.push(sourceAppointment) } } return result }; _proto.getRepaintedAppointments = function(currentAppointments, sourceAppointments) { var _this = this; if (0 === sourceAppointments.length || "agenda" === this.appointmentRenderingStrategyName) { return currentAppointments } currentAppointments.forEach((function(appointment) { var sourceAppointment = _this._getAssociatedSourceAppointment(appointment, sourceAppointments); if (sourceAppointment) { var isDataChanged = _this._isDataChanged(appointment.itemData); var isSettingChanged = _this._isSettingChanged(appointment.settings, sourceAppointment.settings); var isAppointmentShouldAppear = _this._isAppointmentShouldAppear(appointment, sourceAppointment); appointment.needRepaint = isDataChanged || isSettingChanged || isAppointmentShouldAppear } })); return currentAppointments.concat(this._getDeletedAppointments(currentAppointments, sourceAppointments)) }; _proto.getRenderingStrategyInstance = function() { var renderingStrategy = this.appointmentViewModel.getRenderingStrategy(); if (!renderingStrategy) { var options = this._getRenderingStrategyOptions(); this.appointmentViewModel.initRenderingStrategy(options) } return this.appointmentViewModel.getRenderingStrategy() }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AppointmentLayoutManager, [{ key: "appointmentRenderingStrategyName", get: function() { return (0, _appointments.getAppointmentRenderingStrategyName)(this.instance.currentViewType) } }]); return AppointmentLayoutManager }(); var _default = AppointmentLayoutManager; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 20990: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/appointment.js ***! \**************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.Appointment = exports.AgendaAppointment = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _translator = __webpack_require__( /*! ../../../animation/translator */ 31648); var _recurrence = __webpack_require__( /*! ../recurrence */ 88609); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _ui = __webpack_require__( /*! ../../tooltip/ui.tooltip */ 63898); var _index = __webpack_require__( /*! ../../../events/utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../../events/pointer */ 93786)); var _dom_component = _interopRequireDefault(__webpack_require__( /*! ../../../core/dom_component */ 13046)); var _resizable = _interopRequireDefault(__webpack_require__( /*! ../../resizable */ 46743)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../localization/message */ 28109)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../localization/date */ 91500)); var _classes = __webpack_require__( /*! ../classes */ 62060); var _deferred = __webpack_require__( /*! ../../../core/utils/deferred */ 62754); var _expressionUtils = __webpack_require__( /*! ../expressionUtils */ 86474); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var REDUCED_APPOINTMENT_POINTERENTER_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.enter, "dxSchedulerAppointment"); var REDUCED_APPOINTMENT_POINTERLEAVE_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.leave, "dxSchedulerAppointment"); var Appointment = function(_DOMComponent) { _inheritsLoose(Appointment, _DOMComponent); function Appointment() { return _DOMComponent.apply(this, arguments) || this } var _proto = Appointment.prototype; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_DOMComponent.prototype._getDefaultOptions.call(this), { data: {}, groupIndex: -1, groups: [], geometry: { top: 0, left: 0, width: 0, height: 0 }, allowDrag: true, allowResize: true, reduced: null, isCompact: false, direction: "vertical", resizableConfig: { keepAspectRatio: false }, cellHeight: 0, cellWidth: 0, isDragSource: false }) }; _proto.notifyObserver = function(subject, args) { var observer = this.option("observer"); if (observer) { observer.fire(subject, args) } }; _proto.invoke = function() { var observer = this.option("observer"); if (observer) { return observer.fire.apply(observer, arguments) } }; _proto._optionChanged = function(args) { switch (args.name) { case "data": case "groupIndex": case "geometry": case "allowDrag": case "allowResize": case "reduced": case "sortedIndex": case "isCompact": case "direction": case "resizableConfig": case "cellHeight": case "cellWidth": this._invalidate(); break; case "isDragSource": this._renderDragSourceClass(); break; default: _DOMComponent.prototype._optionChanged.call(this, args) } }; _proto._getHorizontalResizingRule = function() { var reducedHandles = { head: this.option("rtlEnabled") ? "right" : "left", body: "", tail: this.option("rtlEnabled") ? "left" : "right" }; var getResizableStep = this.option("getResizableStep"); var step = getResizableStep ? getResizableStep() : 0; return { handles: this.option("reduced") ? reducedHandles[this.option("reduced")] : "left right", minHeight: 0, minWidth: this.invoke("getCellWidth"), step: step, roundStepValue: false } }; _proto._getVerticalResizingRule = function() { var height = Math.round(this.invoke("getCellHeight")); return { handles: "top bottom", minWidth: 0, minHeight: height, step: height, roundStepValue: true } }; _proto._render = function() { _DOMComponent.prototype._render.call(this); this._renderAppointmentGeometry(); this._renderEmptyClass(); this._renderReducedAppointment(); this._renderAllDayClass(); this._renderDragSourceClass(); this._renderDirection(); this.$element().data("dxAppointmentStartDate", this.option("startDate")); var text = _expressionUtils.ExpressionUtils.getField(this.option("dataAccessors"), "text", this.rawAppointment); this.$element().attr("title", text); this.$element().attr("role", "button"); this._renderRecurrenceClass(); this._renderResizable(); this._setResourceColor() }; _proto._setResourceColor = function() { var _this = this; var appointmentConfig = { itemData: this.rawAppointment, groupIndex: this.option("groupIndex"), groups: this.option("groups") }; var deferredColor = this.option("getAppointmentColor")(appointmentConfig); deferredColor.done((function(color) { return color && _this.coloredElement.css("backgroundColor", color) })) }; _proto._renderAppointmentGeometry = function() { var geometry = this.option("geometry"); var $element = this.$element(); (0, _translator.move)($element, { top: geometry.top, left: geometry.left }); $element.css({ width: geometry.width < 0 ? 0 : geometry.width, height: geometry.height < 0 ? 0 : geometry.height }) }; _proto._renderEmptyClass = function() { var geometry = this.option("geometry"); if (geometry.empty || this.option("isCompact")) { this.$element().addClass(_classes.EMPTY_APPOINTMENT_CLASS) } }; _proto._renderReducedAppointment = function() { var reducedPart = this.option("reduced"); if (!reducedPart) { return } this.$element().toggleClass(_classes.REDUCED_APPOINTMENT_CLASS, true).toggleClass(_classes.REDUCED_APPOINTMENT_PARTS_CLASSES[reducedPart], true); this._renderAppointmentReducedIcon() }; _proto._renderAppointmentReducedIcon = function() { var $icon = (0, _renderer.default)("<div>").addClass(_classes.REDUCED_APPOINTMENT_ICON).appendTo(this.$element()); var endDate = this._getEndDate(); var tooltipLabel = _message.default.format("dxScheduler-editorLabelEndDate"); var tooltipText = [tooltipLabel, ": ", _date.default.format(endDate, "monthAndDay"), ", ", _date.default.format(endDate, "year")].join(""); _events_engine.default.off($icon, REDUCED_APPOINTMENT_POINTERENTER_EVENT_NAME); _events_engine.default.on($icon, REDUCED_APPOINTMENT_POINTERENTER_EVENT_NAME, (function() { (0, _ui.show)({ target: $icon, content: tooltipText }) })); _events_engine.default.off($icon, REDUCED_APPOINTMENT_POINTERLEAVE_EVENT_NAME); _events_engine.default.on($icon, REDUCED_APPOINTMENT_POINTERLEAVE_EVENT_NAME, (function() { (0, _ui.hide)() })) }; _proto._getEndDate = function() { var result = _expressionUtils.ExpressionUtils.getField(this.option("dataAccessors"), "endDate", this.rawAppointment); if (result) { return new Date(result) } return result }; _proto._renderAllDayClass = function() { this.$element().toggleClass(_classes.ALL_DAY_APPOINTMENT_CLASS, !!this.option("allDay")) }; _proto._renderDragSourceClass = function() { this.$element().toggleClass(_classes.APPOINTMENT_DRAG_SOURCE_CLASS, !!this.option("isDragSource")) }; _proto._renderRecurrenceClass = function() { var rule = _expressionUtils.ExpressionUtils.getField(this.option("dataAccessors"), "recurrenceRule", this.rawAppointment); if ((0, _recurrence.getRecurrenceProcessor)().isValidRecurrenceRule(rule)) { this.$element().addClass(_classes.RECURRENCE_APPOINTMENT_CLASS) } }; _proto._renderDirection = function() { this.$element().addClass(_classes.DIRECTION_APPOINTMENT_CLASSES[this.option("direction")]) }; _proto._createResizingConfig = function() { var config = "vertical" === this.option("direction") ? this._getVerticalResizingRule() : this._getHorizontalResizingRule(); if (!this.invoke("isGroupedByDate")) { config.stepPrecision = "strict" } return config }; _proto._renderResizable = function() { if (this.option("allowResize")) { this._createComponent(this.$element(), _resizable.default, (0, _extend.extend)(this._createResizingConfig(), this.option("resizableConfig"))) } }; _proto._useTemplates = function() { return false }; _createClass(Appointment, [{ key: "coloredElement", get: function() { return this.$element() } }, { key: "rawAppointment", get: function() { return this.option("data") } }]); return Appointment }(_dom_component.default); exports.Appointment = Appointment; (0, _component_registrator.default)("dxSchedulerAppointment", Appointment); var AgendaAppointment = function(_Appointment) { _inheritsLoose(AgendaAppointment, _Appointment); function AgendaAppointment() { return _Appointment.apply(this, arguments) || this } var _proto2 = AgendaAppointment.prototype; _proto2._getDefaultOptions = function() { return (0, _extend.extend)(_Appointment.prototype._getDefaultOptions.call(this), { createPlainResourceListAsync: new _deferred.Deferred }) }; _proto2._renderResourceList = function(container, list) { list.forEach((function(item) { var itemContainer = (0, _renderer.default)("<div>").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.AGENDA_RESOURCE_LIST_ITEM).appendTo(container); (0, _renderer.default)("<div>").text("".concat(item.label, ":")).appendTo(itemContainer); (0, _renderer.default)("<div>").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.AGENDA_RESOURCE_LIST_ITEM_VALUE).text(item.values.join(", ")).appendTo(itemContainer) })) }; _proto2._render = function() { var _this2 = this; _Appointment.prototype._render.call(this); var createPlainResourceListAsync = this.option("createPlainResourceListAsync"); createPlainResourceListAsync(this.rawAppointment).done((function(list) { var parent = _this2.$element().find(".".concat(_classes.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_CONTENT_DETAILS)); var container = (0, _renderer.default)("<div>").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.AGENDA_RESOURCE_LIST).appendTo(parent); _this2._renderResourceList(container, list) })) }; _createClass(AgendaAppointment, [{ key: "coloredElement", get: function() { return this.$element().find(".".concat(_classes.APPOINTMENT_CONTENT_CLASSES.AGENDA_MARKER)) } }]); return AgendaAppointment }(Appointment); exports.AgendaAppointment = AgendaAppointment }, 47918: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/appointmentCollection.js ***! \************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _element_data = __webpack_require__( /*! ../../../core/element_data */ 97906); var _translator = __webpack_require__( /*! ../../../animation/translator */ 31648); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/date */ 91198)); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _object = __webpack_require__( /*! ../../../core/utils/object */ 48013); var _array = __webpack_require__( /*! ../../../core/utils/array */ 89386); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _element = __webpack_require__( /*! ../../../core/element */ 6415); var _recurrence = __webpack_require__( /*! ../recurrence */ 88609); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _appointment = __webpack_require__( /*! ./appointment */ 20990); var _index = __webpack_require__( /*! ../../../events/utils/index */ 39611); var _double_click = __webpack_require__( /*! ../../../events/double_click */ 85272); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ../../collection/ui.collection_widget.edit */ 11050)); var _utils = _interopRequireDefault(__webpack_require__( /*! ../utils.timeZone */ 32511)); var _constants = __webpack_require__( /*! ../constants */ 27728); var _classes = __webpack_require__( /*! ../classes */ 62060); var _appointmentLayout = __webpack_require__( /*! ./appointmentLayout */ 8763); var _expressionUtils = __webpack_require__( /*! ../expressionUtils */ 86474); var _appointmentAdapter = __webpack_require__( /*! ../appointmentAdapter */ 5480); var _utils2 = __webpack_require__( /*! ./dataProvider/utils */ 11305); var _position = __webpack_require__( /*! ../../../core/utils/position */ 37518); var _core = __webpack_require__( /*! ./resizing/core */ 13658); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DBLCLICK_EVENT_NAME = (0, _index.addNamespace)(_double_click.name, "dxSchedulerAppointment"); var toMs = _date.default.dateToMilliseconds; var SchedulerAppointments = function(_CollectionWidget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerAppointments, _CollectionWidget); function SchedulerAppointments(element, options) { var _this; _this = _CollectionWidget.call(this, element, options) || this; _this._virtualAppointments = {}; return _this } var _proto = SchedulerAppointments.prototype; _proto.notifyObserver = function(subject, args) { var observer = this.option("observer"); if (observer) { observer.fire(subject, args) } }; _proto.invoke = function() { var observer = this.option("observer"); if (observer) { return observer.fire.apply(observer, arguments) } }; _proto._dispose = function() { clearTimeout(this._appointmentClickTimeout); _CollectionWidget.prototype._dispose.call(this) }; _proto._supportedKeys = function() { var parent = _CollectionWidget.prototype._supportedKeys.call(this); var currentAppointment = this._$currentAppointment; return (0, _extend.extend)(parent, { escape: function() { if (this.resizeOccur) { var _currentAppointment$d, _currentAppointment$d2, _currentAppointment$d3; this.moveAppointmentBack(); this.resizeOccur = false; null === (_currentAppointment$d = currentAppointment.dxResizable("instance")) || void 0 === _currentAppointment$d ? void 0 : _currentAppointment$d._detachEventHandlers(); null === (_currentAppointment$d2 = currentAppointment.dxResizable("instance")) || void 0 === _currentAppointment$d2 ? void 0 : _currentAppointment$d2._attachEventHandlers(); null === (_currentAppointment$d3 = currentAppointment.dxResizable("instance")) || void 0 === _currentAppointment$d3 ? void 0 : _currentAppointment$d3._toggleResizingClass(false) } }.bind(this), del: function(e) { if (this.option("allowDelete")) { e.preventDefault(); var data = this._getItemData(e.target); this.notifyObserver("onDeleteButtonPress", { data: data, target: e.target }) } }.bind(this), tab: function(e) { var appointments = this._getAccessAppointments(); var focusedAppointment = appointments.filter(".dx-state-focused"); var index = focusedAppointment.data(_constants.APPOINTMENT_SETTINGS_KEY).sortedIndex; var lastIndex = appointments.length - 1; if (index > 0 && e.shiftKey || index < lastIndex && !e.shiftKey) { e.preventDefault(); e.shiftKey ? index-- : index++; var $nextAppointment = this._getAppointmentByIndex(index); this._resetTabIndex($nextAppointment); _events_engine.default.trigger($nextAppointment, "focus") } } }) }; _proto._getAppointmentByIndex = function(sortedIndex) { var appointments = this._getAccessAppointments(); return appointments.filter((function(_, $item) { return (0, _element_data.data)($item, _constants.APPOINTMENT_SETTINGS_KEY).sortedIndex === sortedIndex })).eq(0) }; _proto._getAccessAppointments = function() { return this._itemElements().filter(":visible").not(".dx-state-disabled") }; _proto._resetTabIndex = function($appointment) { this._focusTarget().attr("tabIndex", -1); $appointment.attr("tabIndex", this.option("tabIndex")) }; _proto._moveFocus = function() {}; _proto._focusTarget = function() { return this._itemElements() }; _proto._renderFocusTarget = function() { var $appointment = this._getAppointmentByIndex(0); this._resetTabIndex($appointment) }; _proto._focusInHandler = function(e) { _CollectionWidget.prototype._focusInHandler.call(this, e); this._$currentAppointment = (0, _renderer.default)(e.target); this.option("focusedElement", (0, _element.getPublicElement)((0, _renderer.default)(e.target))) }; _proto._focusOutHandler = function(e) { var $appointment = this._getAppointmentByIndex(0); this.option("focusedElement", (0, _element.getPublicElement)($appointment)); _CollectionWidget.prototype._focusOutHandler.call(this, e) }; _proto._eventBindingTarget = function() { return this._itemContainer() }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_CollectionWidget.prototype._getDefaultOptions.call(this), { noDataText: null, activeStateEnabled: true, hoverStateEnabled: true, tabIndex: 0, fixedContainer: null, allDayContainer: null, allowDrag: true, allowResize: true, allowAllDayResize: true, onAppointmentDblClick: null, _collectorOffset: 0, groups: [], resources: [] }) }; _proto._optionChanged = function(args) { if (this.option("isRenovatedAppointments")) { return } switch (args.name) { case "items": this._cleanFocusState(); this._clearDropDownItems(); this._clearDropDownItemsElements(); this._repaintAppointments(args.value); this._renderDropDownAppointments(); this._attachAppointmentsEvents(); break; case "fixedContainer": case "allDayContainer": case "onAppointmentDblClick": break; case "allowDrag": case "allowResize": case "allowAllDayResize": this._invalidate(); break; case "focusedElement": this._resetTabIndex((0, _renderer.default)(args.value)); _CollectionWidget.prototype._optionChanged.call(this, args); break; case "allowDelete": break; case "focusStateEnabled": this._clearDropDownItemsElements(); this._renderDropDownAppointments(); _CollectionWidget.prototype._optionChanged.call(this, args); break; default: _CollectionWidget.prototype._optionChanged.call(this, args) } }; _proto._isAllDayAppointment = function(appointment) { return appointment.settings.length && appointment.settings[0].allDay || false }; _proto._isRepaintAppointment = function(appointment) { return !(0, _type.isDefined)(appointment.needRepaint) || true === appointment.needRepaint }; _proto._isRepaintAll = function(appointments) { if (this.isAgendaView) { return true } for (var i = 0; i < appointments.length; i++) { if (!this._isRepaintAppointment(appointments[i])) { return false } } return true }; _proto._applyFragment = function(fragment, allDay) { if (fragment.children().length > 0) { this._getAppointmentContainer(allDay).append(fragment) } }; _proto._onEachAppointment = function(appointment, index, container, isRepaintAll) { var _this2 = this; if (true === (null === appointment || void 0 === appointment ? void 0 : appointment.needRemove)) { this._clearItem(appointment) } else if (isRepaintAll || this._isRepaintAppointment(appointment)) { ! function() { appointment.needRepaint = false; _this2._clearItem(appointment); _this2._renderItem(index, appointment, container) }() } }; _proto._repaintAppointments = function(appointments) { var _this3 = this; this._renderByFragments((function($commonFragment, $allDayFragment) { var isRepaintAll = _this3._isRepaintAll(appointments); if (isRepaintAll) { _this3._getAppointmentContainer(true).html(""); _this3._getAppointmentContainer(false).html("") }!appointments.length && _this3._cleanItemContainer(); appointments.forEach((function(appointment, index) { var container = _this3._isAllDayAppointment(appointment) ? $allDayFragment : $commonFragment; _this3._onEachAppointment(appointment, index, container, isRepaintAll) })) })) }; _proto._renderByFragments = function(renderFunction) { if (this.isVirtualScrolling) { var $commonFragment = (0, _renderer.default)(_dom_adapter.default.createDocumentFragment()); var $allDayFragment = (0, _renderer.default)(_dom_adapter.default.createDocumentFragment()); renderFunction($commonFragment, $allDayFragment); this._applyFragment($commonFragment, false); this._applyFragment($allDayFragment, true) } else { renderFunction(this._getAppointmentContainer(false), this._getAppointmentContainer(true)) } }; _proto._attachAppointmentsEvents = function() { this._attachClickEvent(); this._attachHoldEvent(); this._attachContextMenuEvent(); this._attachAppointmentDblClick(); this._renderFocusState(); this._attachFeedbackEvents(); this._attachHoverEvents() }; _proto._clearItem = function(item) { var $items = this._findItemElementByItem(item.itemData); if (!$items.length) { return }(0, _iterator.each)($items, (function(_, $item) { $item.detach(); $item.remove() })) }; _proto._clearDropDownItems = function() { this._virtualAppointments = {} }; _proto._clearDropDownItemsElements = function() { this.invoke("clearCompactAppointments") }; _proto._findItemElementByItem = function(item) { var result = []; var that = this; this.itemElements().each((function() { var $item = (0, _renderer.default)(this); if ($item.data(that._itemDataKey()) === item) { result.push($item) } })); return result }; _proto._itemClass = function() { return _classes.APPOINTMENT_ITEM_CLASS }; _proto._itemContainer = function() { var $container = _CollectionWidget.prototype._itemContainer.call(this); var $result = $container; var $allDayContainer = this.option("allDayContainer"); if ($allDayContainer) { $result = $container.add($allDayContainer) } return $result }; _proto._cleanItemContainer = function() { _CollectionWidget.prototype._cleanItemContainer.call(this); var $allDayContainer = this.option("allDayContainer"); if ($allDayContainer) { $allDayContainer.empty() } this._virtualAppointments = {} }; _proto._clean = function() { _CollectionWidget.prototype._clean.call(this); delete this._$currentAppointment; delete this._initialSize; delete this._initialCoordinates }; _proto._init = function() { _CollectionWidget.prototype._init.call(this); this.$element().addClass("dx-scheduler-scrollable-appointments"); this._preventSingleAppointmentClick = false }; _proto._renderAppointmentTemplate = function($container, appointment, model) { var config = { isAllDay: appointment.allDay, isRecurrence: appointment.recurrenceRule, html: (0, _type.isPlainObject)(appointment) && appointment.html ? appointment.html : void 0 }; var formatText = this.invoke("getTextAndFormatDate", model.appointmentData, this._currentAppointmentSettings.agendaSettings || model.targetedAppointmentData, "TIME"); $container.append(this.isAgendaView ? (0, _appointmentLayout.createAgendaAppointmentLayout)(formatText, config) : (0, _appointmentLayout.createAppointmentLayout)(formatText, config)) }; _proto._executeItemRenderAction = function(index, itemData, itemElement) { var action = this._getItemRenderAction(); if (action) { action(this.invoke("mapAppointmentFields", { itemData: itemData, itemElement: itemElement })) } delete this._currentAppointmentSettings }; _proto._itemClickHandler = function(e) { _CollectionWidget.prototype._itemClickHandler.call(this, e, {}, { afterExecute: function(e) { this._processItemClick(e.args[0].event) }.bind(this) }) }; _proto._processItemClick = function(e) { var $target = (0, _renderer.default)(e.currentTarget); var data = this._getItemData($target); if ("keydown" === e.type || (0, _index.isFakeClickEvent)(e)) { this.notifyObserver("showEditAppointmentPopup", { data: data, target: $target }); return } this._appointmentClickTimeout = setTimeout(function() { if (!this._preventSingleAppointmentClick && _dom_adapter.default.getBody().contains($target[0])) { this.notifyObserver("showAppointmentTooltip", { data: data, target: $target }) } this._preventSingleAppointmentClick = false }.bind(this), 300) }; _proto._extendActionArgs = function($itemElement) { var args = _CollectionWidget.prototype._extendActionArgs.call(this, $itemElement); return this.invoke("mapAppointmentFields", args) }; _proto._render = function() { _CollectionWidget.prototype._render.call(this); this._attachAppointmentDblClick() }; _proto._attachAppointmentDblClick = function() { var that = this; var itemSelector = that._itemSelector(); var itemContainer = this._itemContainer(); _events_engine.default.off(itemContainer, DBLCLICK_EVENT_NAME, itemSelector); _events_engine.default.on(itemContainer, DBLCLICK_EVENT_NAME, itemSelector, (function(e) { that._itemDXEventHandler(e, "onAppointmentDblClick", {}, { afterExecute: function(e) { that._dblClickHandler(e.args[0].event) } }) })) }; _proto._dblClickHandler = function(e) { var $targetAppointment = (0, _renderer.default)(e.currentTarget); var appointmentData = this._getItemData($targetAppointment); clearTimeout(this._appointmentClickTimeout); this._preventSingleAppointmentClick = true; this.notifyObserver("showEditAppointmentPopup", { data: appointmentData, target: $targetAppointment }) }; _proto._renderItem = function(index, item, container) { var itemData = item.itemData; var $items = []; for (var i = 0; i < item.settings.length; i++) { var setting = item.settings[i]; this._currentAppointmentSettings = setting; var $item = _CollectionWidget.prototype._renderItem.call(this, index, itemData, container); $item.data(_constants.APPOINTMENT_SETTINGS_KEY, setting); $items.push($item) } return $items }; _proto._getItemContent = function($itemFrame) { $itemFrame.data(_constants.APPOINTMENT_SETTINGS_KEY, this._currentAppointmentSettings); var $itemContent = _CollectionWidget.prototype._getItemContent.call(this, $itemFrame); return $itemContent }; _proto._createItemByTemplate = function(itemTemplate, renderArgs) { var itemData = renderArgs.itemData, container = renderArgs.container, index = renderArgs.index; return itemTemplate.render({ model: { appointmentData: itemData, targetedAppointmentData: this.invoke("getTargetedAppointmentData", itemData, (0, _renderer.default)(container).parent()) }, container: container, index: index }) }; _proto._getAppointmentContainer = function(allDay) { var $allDayContainer = this.option("allDayContainer"); var $container = this.itemsContainer().not($allDayContainer); if (allDay && $allDayContainer) { $container = $allDayContainer } return $container }; _proto._postprocessRenderItem = function(args) { this._renderAppointment(args.itemElement, this._currentAppointmentSettings) }; _proto._renderAppointment = function(element, settings) { element.data(_constants.APPOINTMENT_SETTINGS_KEY, settings); this._applyResourceDataAttr(element); var rawAppointment = this._getItemData(element); var geometry = this.invoke("getAppointmentGeometry", settings); var allowResize = this.option("allowResize") && (!(0, _type.isDefined)(settings.skipResizing) || (0, _type.isString)(settings.skipResizing)); var allowDrag = this.option("allowDrag"); var allDay = settings.allDay; this.invoke("setCellDataCacheAlias", this._currentAppointmentSettings, geometry); if (settings.virtual) { var appointmentConfig = { itemData: rawAppointment, groupIndex: settings.groupIndex, groups: this.option("groups") }; var deferredColor = this.option("getAppointmentColor")(appointmentConfig); this._processVirtualAppointment(settings, element, rawAppointment, deferredColor) } else { var _settings$info; var config = { data: rawAppointment, groupIndex: settings.groupIndex, observer: this.option("observer"), geometry: geometry, direction: settings.direction || "vertical", allowResize: allowResize, allowDrag: allowDrag, allDay: allDay, reduced: settings.appointmentReduced, isCompact: settings.isCompact, startDate: new Date(null === (_settings$info = settings.info) || void 0 === _settings$info ? void 0 : _settings$info.appointment.startDate), cellWidth: this.invoke("getCellWidth"), cellHeight: this.invoke("getCellHeight"), resizableConfig: this._resizableConfig(rawAppointment, settings), groups: this.option("groups"), getAppointmentColor: this.option("getAppointmentColor"), getResourceDataAccessors: this.option("getResourceDataAccessors") }; if (this.isAgendaView) { var agendaResourceProcessor = this.option("getAgendaResourceProcessor")(); config.createPlainResourceListAsync = function(rawAppointment) { return agendaResourceProcessor.createListAsync(rawAppointment) } } this._createComponent(element, this.isAgendaView ? _appointment.AgendaAppointment : _appointment.Appointment, _extends({}, config, { dataAccessors: this.option("dataAccessors"), getResizableStep: this.option("getResizableStep") })) } }; _proto._applyResourceDataAttr = function($appointment) { var dataAccessors = this.option("getResourceDataAccessors")(); var rawAppointment = this._getItemData($appointment); (0, _iterator.each)(dataAccessors.getter, (function(key) { var value = dataAccessors.getter[key](rawAppointment); if ((0, _type.isDefined)(value)) { var prefix = "data-".concat((0, _common.normalizeKey)(key.toLowerCase()), "-"); (0, _array.wrapToArray)(value).forEach((function(value) { return $appointment.attr(prefix + (0, _common.normalizeKey)(value), true) })) } })) }; _proto._resizableConfig = function(appointmentData, itemSetting) { return { area: this._calculateResizableArea(itemSetting, appointmentData), onResizeStart: function(e) { this.resizeOccur = true; this._$currentAppointment = (0, _renderer.default)(e.element); if (this.invoke("needRecalculateResizableArea")) { var updatedArea = this._calculateResizableArea(this._$currentAppointment.data(_constants.APPOINTMENT_SETTINGS_KEY), this._$currentAppointment.data("dxItemData")); e.component.option("area", updatedArea); e.component._renderDragOffsets(e.event) } this._initialSize = { width: e.width, height: e.height }; this._initialCoordinates = (0, _translator.locate)(this._$currentAppointment) }.bind(this), onResizeEnd: function(e) { this.resizeOccur = false; this._resizeEndHandler(e) }.bind(this) } }; _proto._calculateResizableArea = function(itemSetting, appointmentData) { var area = this.$element().closest(".dx-scrollable-content"); return this.invoke("getResizableAppointmentArea", { coordinates: { left: itemSetting.left, top: 0, groupIndex: itemSetting.groupIndex }, allDay: itemSetting.allDay }) || area }; _proto._resizeEndHandler = function(e) { var $element = (0, _renderer.default)(e.element); var _$element$data = $element.data("dxAppointmentSettings"), allDay = _$element$data.allDay, info = _$element$data.info; var sourceAppointment = this._getItemData($element); var dateRange = {}; if (allDay) { dateRange = this.resizeAllDay(e) } else { var startDate = this._getEndResizeAppointmentStartDate(e, sourceAppointment, info.appointment); var endDate = info.appointment.endDate; dateRange = this._getDateRange(e, startDate, endDate) } this.updateResizedAppointment($element, dateRange, this.option("dataAccessors"), this.option("timeZoneCalculator")) }; _proto.resizeAllDay = function(e) { var $element = (0, _renderer.default)(e.element); var timeZoneCalculator = this.option("timeZoneCalculator"); var dataAccessors = this.option("dataAccessors"); return (0, _core.getAppointmentDateRange)({ handles: e.handles, appointmentSettings: $element.data("dxAppointmentSettings"), isVerticalViewDirection: this.option("isVerticalViewDirection")(), isVerticalGroupedWorkSpace: this.option("isVerticalGroupedWorkSpace")(), appointmentRect: (0, _position.getBoundingRect)($element[0]), parentAppointmentRect: (0, _position.getBoundingRect)($element.parent()[0]), viewDataProvider: this.option("getViewDataProvider")(), isDateAndTimeView: this.option("isDateAndTimeView")(), startDayHour: this.invoke("getStartDayHour"), endDayHour: this.invoke("getEndDayHour"), timeZoneCalculator: timeZoneCalculator, dataAccessors: dataAccessors, rtlEnabled: this.option("rtlEnabled"), DOMMetaData: this.option("getDOMElementsMetaData")() }) }; _proto.updateResizedAppointment = function($element, dateRange, dataAccessors, timeZoneCalculator) { var sourceAppointment = this._getItemData($element); var modifiedAppointmentAdapter = (0, _appointmentAdapter.createAppointmentAdapter)(sourceAppointment, dataAccessors, timeZoneCalculator).clone(); modifiedAppointmentAdapter.startDate = new Date(dateRange.startDate); modifiedAppointmentAdapter.endDate = new Date(dateRange.endDate); this.notifyObserver("updateAppointmentAfterResize", { target: sourceAppointment, data: modifiedAppointmentAdapter.clone({ pathTimeZone: "fromGrid" }).source(), $appointment: $element }) }; _proto._getEndResizeAppointmentStartDate = function(e, rawAppointment, appointmentInfo) { var timeZoneCalculator = this.option("timeZoneCalculator"); var appointmentAdapter = (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this.option("dataAccessors"), timeZoneCalculator); var startDate = appointmentInfo.startDate; var recurrenceProcessor = (0, _recurrence.getRecurrenceProcessor)(); var recurrenceRule = appointmentAdapter.recurrenceRule, startDateTimeZone = appointmentAdapter.startDateTimeZone; var isAllDay = this.invoke("isAllDay", rawAppointment); var isRecurrent = recurrenceProcessor.isValidRecurrenceRule(recurrenceRule); if (!e.handles.top && !isRecurrent && !isAllDay) { startDate = timeZoneCalculator.createDate(appointmentAdapter.startDate, { appointmentTimeZone: startDateTimeZone, path: "toGrid" }) } return startDate }; _proto._getDateRange = function(e, startDate, endDate) { var itemData = this._getItemData(e.element); var deltaTime = this.invoke("getDeltaTime", e, this._initialSize, itemData); var renderingStrategyDirection = this.invoke("getRenderingStrategyDirection"); var isStartDateChanged = false; var isAllDay = this.invoke("isAllDay", itemData); var needCorrectDates = this.invoke("needCorrectAppointmentDates") && !isAllDay; var startTime; var endTime; if ("vertical" !== renderingStrategyDirection || isAllDay) { isStartDateChanged = this.option("rtlEnabled") ? e.handles.right : e.handles.left } else { isStartDateChanged = e.handles.top } if (isStartDateChanged) { startTime = needCorrectDates ? this._correctStartDateByDelta(startDate, deltaTime) : startDate.getTime() - deltaTime; startTime += _utils.default.getTimezoneOffsetChangeInMs(startDate, endDate, startTime, endDate); endTime = endDate.getTime() } else { startTime = startDate.getTime(); endTime = needCorrectDates ? this._correctEndDateByDelta(endDate, deltaTime) : endDate.getTime() + deltaTime; endTime -= _utils.default.getTimezoneOffsetChangeInMs(startDate, endDate, startDate, endTime) } return { startDate: new Date(startTime), endDate: new Date(endTime) } }; _proto._correctEndDateByDelta = function(endDate, deltaTime) { var endDayHour = this.invoke("getEndDayHour"); var startDayHour = this.invoke("getStartDayHour"); var result = endDate.getTime() + deltaTime; var visibleDayDuration = (endDayHour - startDayHour) * toMs("hour"); var daysCount = deltaTime > 0 ? Math.ceil(deltaTime / visibleDayDuration) : Math.floor(deltaTime / visibleDayDuration); var maxDate = new Date(endDate); var minDate = new Date(endDate); minDate.setHours(startDayHour, 0, 0, 0); maxDate.setHours(endDayHour, 0, 0, 0); if (result > maxDate.getTime() || result <= minDate.getTime()) { var tailOfCurrentDay = maxDate.getTime() - endDate.getTime(); var tailOfPrevDays = deltaTime - tailOfCurrentDay; var correctedEndDate = new Date(endDate).setDate(endDate.getDate() + daysCount); var lastDay = new Date(correctedEndDate); lastDay.setHours(startDayHour, 0, 0, 0); result = lastDay.getTime() + tailOfPrevDays - visibleDayDuration * (daysCount - 1) } return result }; _proto._correctStartDateByDelta = function(startDate, deltaTime) { var endDayHour = this.invoke("getEndDayHour"); var startDayHour = this.invoke("getStartDayHour"); var result = startDate.getTime() - deltaTime; var visibleDayDuration = (endDayHour - startDayHour) * toMs("hour"); var daysCount = deltaTime > 0 ? Math.ceil(deltaTime / visibleDayDuration) : Math.floor(deltaTime / visibleDayDuration); var maxDate = new Date(startDate); var minDate = new Date(startDate); minDate.setHours(startDayHour, 0, 0, 0); maxDate.setHours(endDayHour, 0, 0, 0); if (result < minDate.getTime() || result >= maxDate.getTime()) { var tailOfCurrentDay = startDate.getTime() - minDate.getTime(); var tailOfPrevDays = deltaTime - tailOfCurrentDay; var firstDay = new Date(startDate.setDate(startDate.getDate() - daysCount)); firstDay.setHours(endDayHour, 0, 0, 0); result = firstDay.getTime() - tailOfPrevDays + visibleDayDuration * (daysCount - 1) } return result }; _proto._processVirtualAppointment = function(appointmentSetting, $appointment, appointmentData, color) { var virtualAppointment = appointmentSetting.virtual; var virtualGroupIndex = virtualAppointment.index; if (!(0, _type.isDefined)(this._virtualAppointments[virtualGroupIndex])) { this._virtualAppointments[virtualGroupIndex] = { coordinates: { top: virtualAppointment.top, left: virtualAppointment.left }, items: { data: [], colors: [], settings: [] }, isAllDay: virtualAppointment.isAllDay ? true : false, buttonColor: color } } appointmentSetting.targetedAppointmentData = this.invoke("getTargetedAppointmentData", appointmentData, $appointment); this._virtualAppointments[virtualGroupIndex].items.settings.push(appointmentSetting); this._virtualAppointments[virtualGroupIndex].items.data.push(appointmentData); this._virtualAppointments[virtualGroupIndex].items.colors.push(color); $appointment.remove() }; _proto._renderContentImpl = function() { _CollectionWidget.prototype._renderContentImpl.call(this); this._renderDropDownAppointments() }; _proto._renderDropDownAppointments = function() { var _this4 = this; this._renderByFragments((function($commonFragment, $allDayFragment) { (0, _iterator.each)(_this4._virtualAppointments, function(groupIndex) { var virtualGroup = this._virtualAppointments[groupIndex]; var virtualItems = virtualGroup.items; var virtualCoordinates = virtualGroup.coordinates; var $fragment = virtualGroup.isAllDay ? $allDayFragment : $commonFragment; var left = virtualCoordinates.left; var buttonWidth = this.invoke("getDropDownAppointmentWidth", virtualGroup.isAllDay); var buttonHeight = this.invoke("getDropDownAppointmentHeight"); var rtlOffset = this.option("rtlEnabled") ? buttonWidth : 0; this.notifyObserver("renderCompactAppointments", { $container: $fragment, coordinates: { top: virtualCoordinates.top, left: left + rtlOffset }, items: virtualItems, buttonColor: virtualGroup.buttonColor, width: buttonWidth - this.option("_collectorOffset"), height: buttonHeight, onAppointmentClick: this.option("onItemClick"), allowDrag: this.option("allowDrag"), cellWidth: this.invoke("getCellWidth"), isCompact: this.invoke("isAdaptive") || this._isGroupCompact(virtualGroup) }) }.bind(_this4)) })) }; _proto._isGroupCompact = function(virtualGroup) { return !virtualGroup.isAllDay && this.invoke("supportCompactDropDownAppointments") }; _proto._sortAppointmentsByStartDate = function(appointments) { return (0, _utils2.sortAppointmentsByStartDate)(appointments, this.option("dataAccessors")) }; _proto._processRecurrenceAppointment = function(appointment, index, skipLongAppointments) { var recurrenceRule = _expressionUtils.ExpressionUtils.getField(this.option("dataAccessors"), "recurrenceRule", appointment); var result = { parts: [], indexes: [] }; if (recurrenceRule) { var dates = appointment.settings || appointment; var startDate = new Date(_expressionUtils.ExpressionUtils.getField(this.option("dataAccessors"), "startDate", dates)); var startDateTimeZone = _expressionUtils.ExpressionUtils.getField(this.option("dataAccessors"), "startDateTimeZone", appointment); var endDate = new Date(_expressionUtils.ExpressionUtils.getField(this.option("dataAccessors"), "endDate", dates)); var appointmentDuration = endDate.getTime() - startDate.getTime(); var recurrenceException = _expressionUtils.ExpressionUtils.getField(this.option("dataAccessors"), "recurrenceException", appointment); var startViewDate = this.invoke("getStartViewDate"); var endViewDate = this.invoke("getEndViewDate"); var timezoneCalculator = this.option("timeZoneCalculator"); var recurrentDates = (0, _recurrence.getRecurrenceProcessor)().generateDates({ rule: recurrenceRule, exception: recurrenceException, start: startDate, end: endDate, min: startViewDate, max: endViewDate, appointmentTimezoneOffset: timezoneCalculator.getOriginStartDateOffsetInMs(startDate, startDateTimeZone, false) }); var recurrentDateCount = appointment.settings ? 1 : recurrentDates.length; for (var i = 0; i < recurrentDateCount; i++) { var appointmentPart = (0, _extend.extend)({}, appointment, true); if (recurrentDates[i]) { var appointmentSettings = this._applyStartDateToObj(recurrentDates[i], {}); this._applyEndDateToObj(new Date(recurrentDates[i].getTime() + appointmentDuration), appointmentSettings); appointmentPart.settings = appointmentSettings } else { appointmentPart.settings = dates } result.parts.push(appointmentPart); if (!skipLongAppointments) { this._processLongAppointment(appointmentPart, result) } } result.indexes.push(index) } return result }; _proto._processLongAppointment = function(appointment, result) { var parts = this.splitAppointmentByDay(appointment); var partCount = parts.length; var endViewDate = this.invoke("getEndViewDate").getTime(); var startViewDate = this.invoke("getStartViewDate").getTime(); var timeZoneCalculator = this.option("timeZoneCalculator"); result = result || { parts: [] }; if (partCount > 1) { (0, _extend.extend)(appointment, parts[0]); for (var i = 1; i < partCount; i++) { var startDate = _expressionUtils.ExpressionUtils.getField(this.option("dataAccessors"), "startDate", parts[i].settings).getTime(); startDate = timeZoneCalculator.createDate(startDate, { path: "toGrid" }); if (startDate < endViewDate && startDate > startViewDate) { result.parts.push(parts[i]) } } } return result }; _proto._reduceRecurrenceAppointments = function(recurrenceIndexes, appointments) { (0, _iterator.each)(recurrenceIndexes, (function(i, index) { appointments.splice(index - i, 1) })) }; _proto._combineAppointments = function(appointments, additionalAppointments) { if (additionalAppointments.length) { appointments.push.apply(appointments, _toConsumableArray(additionalAppointments)) } this._sortAppointmentsByStartDate(appointments) }; _proto._applyStartDateToObj = function(startDate, obj) { _expressionUtils.ExpressionUtils.setField(this.option("dataAccessors"), "startDate", obj, startDate); return obj }; _proto._applyEndDateToObj = function(endDate, obj) { _expressionUtils.ExpressionUtils.setField(this.option("dataAccessors"), "endDate", obj, endDate); return obj }; _proto.moveAppointmentBack = function(dragEvent) { var $appointment = this._$currentAppointment; var size = this._initialSize; var coords = this._initialCoordinates; if (dragEvent) { this._removeDragSourceClassFromDraggedAppointment(); if ((0, _type.isDeferred)(dragEvent.cancel)) { dragEvent.cancel.resolve(true) } else { dragEvent.cancel = true } } if ($appointment && !dragEvent) { if (coords) { (0, _translator.move)($appointment, coords); delete this._initialSize } if (size) { (0, _size.setOuterWidth)($appointment, size.width); (0, _size.setOuterHeight)($appointment, size.height); delete this._initialCoordinates } } }; _proto.focus = function() { if (this._$currentAppointment) { var focusedElement = (0, _element.getPublicElement)(this._$currentAppointment); this.option("focusedElement", focusedElement); _events_engine.default.trigger(focusedElement, "focus") } }; _proto.splitAppointmentByDay = function(appointment) { var dates = appointment.settings || appointment; var dataAccessors = this.option("dataAccessors"); var originalStartDate = new Date(_expressionUtils.ExpressionUtils.getField(dataAccessors, "startDate", dates)); var startDate = _date.default.makeDate(originalStartDate); var endDate = _date.default.makeDate(_expressionUtils.ExpressionUtils.getField(dataAccessors, "endDate", dates)); var maxAllowedDate = this.invoke("getEndViewDate"); var startDayHour = this.invoke("getStartDayHour"); var endDayHour = this.invoke("getEndDayHour"); var timeZoneCalculator = this.option("timeZoneCalculator"); var adapter = (0, _appointmentAdapter.createAppointmentAdapter)(appointment, dataAccessors, timeZoneCalculator); var appointmentIsLong = (0, _utils2.getAppointmentTakesSeveralDays)(adapter); var result = []; startDate = timeZoneCalculator.createDate(startDate, { path: "toGrid" }); endDate = timeZoneCalculator.createDate(endDate, { path: "toGrid" }); if (startDate.getHours() <= endDayHour && startDate.getHours() >= startDayHour && !appointmentIsLong) { result.push(this._applyStartDateToObj(new Date(startDate), { appointmentData: appointment })); startDate.setDate(startDate.getDate() + 1) } while (appointmentIsLong && startDate.getTime() < endDate.getTime() && startDate < maxAllowedDate) { var currentStartDate = new Date(startDate); var currentEndDate = new Date(startDate); this._checkStartDate(currentStartDate, originalStartDate, startDayHour); this._checkEndDate(currentEndDate, endDate, endDayHour); var appointmentData = (0, _object.deepExtendArraySafe)({}, appointment, true); var appointmentSettings = {}; this._applyStartDateToObj(currentStartDate, appointmentSettings); this._applyEndDateToObj(currentEndDate, appointmentSettings); appointmentData.settings = appointmentSettings; result.push(appointmentData); startDate = _date.default.trimTime(startDate); startDate.setDate(startDate.getDate() + 1); startDate.setHours(startDayHour) } return result }; _proto._checkStartDate = function(currentDate, originalDate, startDayHour) { if (!_date.default.sameDate(currentDate, originalDate) || currentDate.getHours() <= startDayHour) { currentDate.setHours(startDayHour, 0, 0, 0) } else { currentDate.setHours(originalDate.getHours(), originalDate.getMinutes(), originalDate.getSeconds(), originalDate.getMilliseconds()) } }; _proto._checkEndDate = function(currentDate, originalDate, endDayHour) { if (!_date.default.sameDate(currentDate, originalDate) || currentDate.getHours() > endDayHour) { currentDate.setHours(endDayHour, 0, 0, 0) } else { currentDate.setHours(originalDate.getHours(), originalDate.getMinutes(), originalDate.getSeconds(), originalDate.getMilliseconds()) } }; _proto._removeDragSourceClassFromDraggedAppointment = function() { var $appointments = this._itemElements().filter(".".concat(_classes.APPOINTMENT_DRAG_SOURCE_CLASS)); $appointments.each((function(_, element) { var appointmentInstance = (0, _renderer.default)(element).dxSchedulerAppointment("instance"); appointmentInstance.option("isDragSource", false) })) }; _proto._setDragSourceAppointment = function(appointment, settings) { var $appointments = this._findItemElementByItem(appointment); var _settings$info$source = settings.info.sourceAppointment, startDate = _settings$info$source.startDate, endDate = _settings$info$source.endDate; var groupIndex = settings.groupIndex; $appointments.forEach((function($item) { var _$item$data = $item.data(_constants.APPOINTMENT_SETTINGS_KEY), itemInfo = _$item$data.info, itemGroupIndex = _$item$data.groupIndex; var _itemInfo$sourceAppoi = itemInfo.sourceAppointment, itemStartDate = _itemInfo$sourceAppoi.startDate, itemEndDate = _itemInfo$sourceAppoi.endDate; var appointmentInstance = $item.dxSchedulerAppointment("instance"); var isDragSource = startDate.getTime() === itemStartDate.getTime() && endDate.getTime() === itemEndDate.getTime() && groupIndex === itemGroupIndex; appointmentInstance.option("isDragSource", isDragSource) })) }; _proto.updateResizableArea = function() { var _this5 = this; var $allResizableElements = this.$element().find(".dx-scheduler-appointment.dx-resizable"); var horizontalResizables = (0, _common.grep)($allResizableElements, (function(el) { var $el = (0, _renderer.default)(el); var resizableInst = $el.dxResizable("instance"); var _resizableInst$option = resizableInst.option(), area = _resizableInst$option.area, handles = _resizableInst$option.handles; return ("right left" === handles || "left right" === handles) && (0, _type.isPlainObject)(area) })); (0, _iterator.each)(horizontalResizables, (function(_, el) { var $el = (0, _renderer.default)(el); var position = (0, _translator.locate)($el); var appointmentData = _this5._getItemData($el); var area = _this5._calculateResizableArea({ left: position.left }, appointmentData); $el.dxResizable("instance").option("area", area) })) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(SchedulerAppointments, [{ key: "isAgendaView", get: function() { return this.invoke("isCurrentViewAgenda") } }, { key: "isVirtualScrolling", get: function() { return this.invoke("isVirtualScrolling") } }, { key: "appointmentDataProvider", get: function() { return this.option("getAppointmentDataProvider")() } }]); return SchedulerAppointments }(_uiCollection_widget.default); (0, _component_registrator.default)("dxSchedulerAppointments", SchedulerAppointments); var _default = SchedulerAppointments; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 8763: /*!********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/appointmentLayout.js ***! \********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.createAppointmentLayout = exports.createAgendaAppointmentLayout = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../core/dom_adapter */ 73349)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../localization/message */ 28109)); var _classes = __webpack_require__( /*! ../classes */ 62060); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var allDayText = " " + _message.default.format("dxScheduler-allDay") + ": "; exports.createAppointmentLayout = function(formatText, config) { var result = (0, _renderer.default)(_dom_adapter.default.createDocumentFragment()); (0, _renderer.default)("<div>").text(formatText.text).addClass(_classes.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_TITLE).appendTo(result); if (config.html) { result.html(config.html) } var $contentDetails = (0, _renderer.default)("<div>").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_CONTENT_DETAILS).appendTo(result); (0, _renderer.default)("<div>").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_DATE).text(formatText.formatDate).appendTo($contentDetails); config.isRecurrence && (0, _renderer.default)("<span>").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.RECURRING_ICON + " dx-icon-repeat").appendTo(result); config.isAllDay && (0, _renderer.default)("<div>").text(allDayText).addClass(_classes.APPOINTMENT_CONTENT_CLASSES.ALL_DAY_CONTENT).prependTo($contentDetails); return result }; exports.createAgendaAppointmentLayout = function(formatText, config) { var result = (0, _renderer.default)(_dom_adapter.default.createDocumentFragment()); var leftLayoutContainer = (0, _renderer.default)("<div>").addClass("dx-scheduler-agenda-appointment-left-layout").appendTo(result); var rightLayoutContainer = (0, _renderer.default)("<div>").addClass("dx-scheduler-agenda-appointment-right-layout").appendTo(result); var marker = (0, _renderer.default)("<div>").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.AGENDA_MARKER).appendTo(leftLayoutContainer); config.isRecurrence && (0, _renderer.default)("<span>").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.RECURRING_ICON + " dx-icon-repeat").appendTo(marker); (0, _renderer.default)("<div>").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_TITLE).text(formatText.text).appendTo(rightLayoutContainer); var additionalContainer = (0, _renderer.default)("<div>").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_CONTENT_DETAILS).appendTo(rightLayoutContainer); (0, _renderer.default)("<div>").addClass(_classes.APPOINTMENT_CONTENT_CLASSES.APPOINTMENT_DATE).text(formatText.formatDate).appendTo(additionalContainer); config.isAllDay && (0, _renderer.default)("<div>").text(allDayText).addClass(_classes.APPOINTMENT_CONTENT_CLASSES.ALL_DAY_CONTENT).prependTo(additionalContainer); return result } }, 18986: /*!*************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/cellPositionCalculator.js ***! \*************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.CellPositionCalculator = void 0; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _date = (obj = __webpack_require__( /*! ../../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor } var BaseStrategy = function() { function BaseStrategy(options) { this.options = options } var _proto = BaseStrategy.prototype; _proto.calculateCellPositions = function(groupIndices, isAllDayRowAppointment, isRecurrentAppointment) { var _this = this; var result = []; this.appointments.forEach((function(dateSetting, index) { var coordinates = _this.getCoordinateInfos({ appointment: dateSetting, groupIndices: groupIndices, isAllDayRowAppointment: isAllDayRowAppointment, isRecurrentAppointment: isRecurrentAppointment }); coordinates.forEach((function(item) { !!item && result.push(_this._prepareObject(item, index)) })) })); return result }; _proto.getCoordinateInfos = function(options) { var appointment = options.appointment, isAllDayRowAppointment = options.isAllDayRowAppointment, groupIndices = options.groupIndices, recurrent = options.recurrent; var startDate = appointment.startDate; var groupIndex = !recurrent ? appointment.source.groupIndex : void 0; return this.getCoordinatesByDateInGroup(startDate, groupIndices, isAllDayRowAppointment, groupIndex) }; _proto._prepareObject = function(position, dateSettingIndex) { position.dateSettingIndex = dateSettingIndex; return { coordinates: position, dateSettingIndex: dateSettingIndex } }; _proto.getCoordinatesByDate = function(date, groupIndex, inAllDayRow) { var validGroupIndex = groupIndex || 0; var cellInfo = { groupIndex: validGroupIndex, startDate: date, isAllDay: inAllDayRow }; var positionByMap = this.viewDataProvider.findCellPositionInMap(cellInfo); if (!positionByMap) { return } var position = this.getCellPosition(positionByMap, inAllDayRow && !this.isVerticalGrouping); var timeShift = inAllDayRow ? 0 : this.getTimeShift(date); var shift = this.getPositionShift(timeShift, inAllDayRow); var horizontalHMax = this.positionHelper.getHorizontalMax(validGroupIndex, date); var verticalMax = this.positionHelper.getVerticalMax({ groupIndex: validGroupIndex, isVirtualScrolling: this.isVirtualScrolling, showAllDayPanel: this.showAllDayPanel, supportAllDayRow: this.supportAllDayRow, isGroupedAllDayPanel: this.isGroupedAllDayPanel, isVerticalGrouping: this.isVerticalGrouping }); return { positionByMap: positionByMap, cellPosition: position.left + shift.cellPosition, top: position.top + shift.top, left: position.left + shift.left, rowIndex: position.rowIndex, columnIndex: position.columnIndex, hMax: horizontalHMax, vMax: verticalMax, groupIndex: validGroupIndex } }; _proto.getCoordinatesByDateInGroup = function(startDate, groupIndices, inAllDayRow, groupIndex) { var _this2 = this; var result = []; if (this.viewDataProvider.isSkippedDate(startDate)) { return result } var validGroupIndices = [groupIndex]; if (!(0, _type.isDefined)(groupIndex)) { validGroupIndices = this.groupCount ? groupIndices : [0] } validGroupIndices.forEach((function(groupIndex) { var coordinates = _this2.getCoordinatesByDate(startDate, groupIndex, inAllDayRow); if (coordinates) { result.push(coordinates) } })); return result }; _proto.getCellPosition = function(cellCoordinates, isAllDayPanel) { var _this$DOMMetaData = this.DOMMetaData, dateTableCellsMeta = _this$DOMMetaData.dateTableCellsMeta, allDayPanelCellsMeta = _this$DOMMetaData.allDayPanelCellsMeta; var columnIndex = cellCoordinates.columnIndex, rowIndex = cellCoordinates.rowIndex; var position = isAllDayPanel ? allDayPanelCellsMeta[columnIndex] : dateTableCellsMeta[rowIndex][columnIndex]; var validPosition = _extends({}, position); if (this.rtlEnabled) { validPosition.left += position.width } if (validPosition) { validPosition.rowIndex = cellCoordinates.rowIndex; validPosition.columnIndex = cellCoordinates.columnIndex } return validPosition }; _proto.getTimeShift = function(date) { var currentDayStart = new Date(date); var currentDayEndHour = new Date(new Date(date).setHours(this.viewEndDayHour, 0, 0)); if (date.getTime() <= currentDayEndHour.getTime()) { currentDayStart.setHours(this.viewStartDayHour, 0, 0, 0) } var timeZoneDifference = _date.default.getTimezonesDifference(date, currentDayStart); var currentDateTime = date.getTime(); var currentDayStartTime = currentDayStart.getTime(); var minTime = this.startViewDate.getTime(); return currentDateTime > minTime ? (currentDateTime - currentDayStartTime + timeZoneDifference) % this.cellDuration / this.cellDuration : 0 }; _createClass(BaseStrategy, [{ key: "DOMMetaData", get: function() { return this.options.DOMMetaData } }, { key: "appointments", get: function() { return this.options.dateSettings } }, { key: "viewDataProvider", get: function() { return this.options.viewDataProvider } }, { key: "positionHelper", get: function() { return this.options.positionHelper } }, { key: "startViewDate", get: function() { return this.options.startViewDate } }, { key: "viewStartDayHour", get: function() { return this.options.viewStartDayHour } }, { key: "viewEndDayHour", get: function() { return this.options.viewEndDayHour } }, { key: "cellDuration", get: function() { return this.options.cellDuration } }, { key: "getPositionShift", get: function() { return this.options.getPositionShiftCallback } }, { key: "groupCount", get: function() { return this.options.groupCount } }, { key: "rtlEnabled", get: function() { return this.options.rtlEnabled } }, { key: "isVerticalGrouping", get: function() { return this.options.isVerticalGroupOrientation } }, { key: "showAllDayPanel", get: function() { return this.options.showAllDayPanel } }, { key: "supportAllDayRow", get: function() { return this.options.supportAllDayRow } }, { key: "isGroupedAllDayPanel", get: function() { return this.options.isGroupedAllDayPanel } }, { key: "isVirtualScrolling", get: function() { return false } }]); return BaseStrategy }(); var VirtualStrategy = function(_BaseStrategy) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(VirtualStrategy, _BaseStrategy); function VirtualStrategy() { return _BaseStrategy.apply(this, arguments) || this } var _proto2 = VirtualStrategy.prototype; _proto2.calculateCellPositions = function(groupIndices, isAllDayRowAppointment, isRecurrentAppointment) { var _this3 = this; var appointments = isAllDayRowAppointment ? this.appointments : this.appointments.filter((function(_ref) { var source = _ref.source, startDate = _ref.startDate, endDate = _ref.endDate; return _this3.viewDataProvider.isGroupIntersectDateInterval(source.groupIndex, startDate, endDate) })); if (isRecurrentAppointment) { return this.createRecurrentAppointmentInfos(appointments, isAllDayRowAppointment) } return _BaseStrategy.prototype.calculateCellPositions.call(this, groupIndices, isAllDayRowAppointment, isRecurrentAppointment) }; _proto2.createRecurrentAppointmentInfos = function(dateSettings, isAllDayRowAppointment) { var _this4 = this; var result = []; dateSettings.forEach((function(_ref2, index) { var source = _ref2.source, startDate = _ref2.startDate; var coordinate = _this4.getCoordinatesByDate(startDate, source.groupIndex, isAllDayRowAppointment); if (coordinate) { result.push(_this4._prepareObject(coordinate, index)) } })); return result }; _createClass(VirtualStrategy, [{ key: "isVirtualScrolling", get: function() { return true } }]); return VirtualStrategy }(BaseStrategy); var CellPositionCalculator = function() { function CellPositionCalculator(options) { this.options = options } var _proto3 = CellPositionCalculator.prototype; _proto3.calculateCellPositions = function(groupIndices, isAllDayRowAppointment, isRecurrentAppointment) { var strategy = this.options.isVirtualScrolling ? new VirtualStrategy(this.options) : new BaseStrategy(this.options); return strategy.calculateCellPositions(groupIndices, isAllDayRowAppointment, isRecurrentAppointment) }; return CellPositionCalculator }(); exports.CellPositionCalculator = CellPositionCalculator }, 95121: /*!***************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/dataProvider/appointmentDataProvider.js ***! \***************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.AppointmentDataProvider = void 0; var _config = _interopRequireDefault(__webpack_require__( /*! ../../../../core/config */ 80209)); var _appointmentDataSource = __webpack_require__( /*! ./appointmentDataSource */ 60714); var _appointmentFilter = __webpack_require__( /*! ./appointmentFilter */ 1758); var _remote = _interopRequireDefault(__webpack_require__( /*! ../../../../renovation/ui/scheduler/utils/filtering/remote */ 17200)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var FilterStrategies_virtual = "virtual", FilterStrategies_standard = "standard"; var AppointmentDataProvider = function() { function AppointmentDataProvider(options) { this.options = options; this.dataSource = this.options.dataSource; this.dataAccessors = this.options.dataAccessors; this.timeZoneCalculator = this.options.timeZoneCalculator; this.appointmentDataSource = new _appointmentDataSource.AppointmentDataSource(this.dataSource); this.initFilterStrategy() } var _proto = AppointmentDataProvider.prototype; _proto.getFilterStrategy = function() { if (!this.filterStrategy || this.filterStrategy.strategyName !== this.filterStrategyName) { this.initFilterStrategy() } return this.filterStrategy }; _proto.initFilterStrategy = function() { var filterOptions = { resources: this.options.resources, dataAccessors: this.dataAccessors, startDayHour: this.options.startDayHour, endDayHour: this.options.endDayHour, showAllDayPanel: this.options.showAllDayPanel, timeZoneCalculator: this.options.timeZoneCalculator, loadedResources: this.options.getLoadedResources, supportAllDayRow: this.options.getSupportAllDayRow, viewType: this.options.getViewType, viewDirection: this.options.getViewDirection, dateRange: this.options.getDateRange, groupCount: this.options.getGroupCount, viewDataProvider: this.options.getViewDataProvider, allDayPanelMode: this.options.allDayPanelMode }; this.filterStrategy = this.filterStrategyName === FilterStrategies_virtual ? new _appointmentFilter.AppointmentFilterVirtualStrategy(filterOptions) : new _appointmentFilter.AppointmentFilterBaseStrategy(filterOptions) }; _proto.setDataSource = function(dataSource) { this.dataSource = dataSource; this.initFilterStrategy(); this.appointmentDataSource.setDataSource(this.dataSource) }; _proto.updateDataAccessors = function(dataAccessors) { this.dataAccessors = dataAccessors; this.initFilterStrategy() }; _proto.filter = function(preparedItems) { return this.getFilterStrategy().filter(preparedItems) }; _proto.filterByDate = function(min, max, remoteFiltering, dateSerializationFormat) { if (!this.dataSource || !remoteFiltering) { return } var dataSourceFilter = this.dataSource.filter(); var filter = (0, _remote.default)({ dataSourceFilter: dataSourceFilter, dataAccessors: this.dataAccessors, min: min, max: max, dateSerializationFormat: dateSerializationFormat, forceIsoDateParsing: (0, _config.default)().forceIsoDateParsing }); this.dataSource.filter(filter) }; _proto.hasAllDayAppointments = function(filteredItems, preparedItems) { return this.getFilterStrategy().hasAllDayAppointments(filteredItems, preparedItems) }; _proto.filterLoadedAppointments = function(filterOption, preparedItems) { return this.getFilterStrategy().filterLoadedAppointments(filterOption, preparedItems) }; _proto.calculateAppointmentEndDate = function(isAllDay, startDate) { return this.getFilterStrategy().calculateAppointmentEndDate(isAllDay, startDate) }; _proto.cleanState = function() { this.appointmentDataSource.cleanState() }; _proto.getUpdatedAppointment = function() { return this.appointmentDataSource._updatedAppointment }; _proto.getUpdatedAppointmentKeys = function() { return this.appointmentDataSource._updatedAppointmentKeys }; _proto.add = function(rawAppointment) { return this.appointmentDataSource.add(rawAppointment) }; _proto.update = function(target, rawAppointment) { return this.appointmentDataSource.update(target, rawAppointment) }; _proto.remove = function(rawAppointment) { return this.appointmentDataSource.remove(rawAppointment) }; _proto.destroy = function() { this.appointmentDataSource.destroy() }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AppointmentDataProvider, [{ key: "keyName", get: function() { return this.appointmentDataSource.keyName } }, { key: "isDataSourceInit", get: function() { return !!this.dataSource } }, { key: "filterStrategyName", get: function() { return this.options.getIsVirtualScrolling() ? FilterStrategies_virtual : FilterStrategies_standard } }]); return AppointmentDataProvider }(); exports.AppointmentDataProvider = AppointmentDataProvider }, 60714: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/dataProvider/appointmentDataSource.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.AppointmentDataSource = void 0; var _deferred = __webpack_require__( /*! ../../../../core/utils/deferred */ 62754); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var STORE_EVENTS_updating = "updating", STORE_EVENTS_push = "push"; var AppointmentDataSource = function() { function AppointmentDataSource(dataSource) { this.setDataSource(dataSource); this._updatedAppointmentKeys = [] } var _proto = AppointmentDataSource.prototype; _proto._getStoreKey = function(target) { var store = this._dataSource.store(); return store.keyOf(target) }; _proto.setDataSource = function(dataSource) { this._dataSource = dataSource; this.cleanState(); this._initStoreChangeHandlers() }; _proto._initStoreChangeHandlers = function() { var _this = this; var dataSource = this._dataSource; var store = null === dataSource || void 0 === dataSource ? void 0 : dataSource.store(); if (store) { store.on(STORE_EVENTS_updating, (function(key) { var keyName = store.key(); if (keyName) { _this._updatedAppointmentKeys.push({ key: keyName, value: key }) } else { _this._updatedAppointment = key } })); store.on(STORE_EVENTS_push, (function(pushItems) { var items = dataSource.items(); var keyName = store.key(); pushItems.forEach((function(pushItem) { var itemExists = 0 !== items.filter((function(item) { return item[keyName] === pushItem.key })).length; if (itemExists) { _this._updatedAppointmentKeys.push({ key: keyName, value: pushItem.key }) } else { var data = pushItem.data; data && items.push(data) } })); dataSource.load() })) } }; _proto.getUpdatedAppointment = function() { return this._updatedAppointment }; _proto.getUpdatedAppointmentKeys = function() { return this._updatedAppointmentKeys }; _proto.cleanState = function() { this._updatedAppointment = null; this._updatedAppointmentKeys = [] }; _proto.add = function(rawAppointment) { var _this2 = this; return this._dataSource.store().insert(rawAppointment).done((function() { return _this2._dataSource.load() })) }; _proto.update = function(target, data) { var _this3 = this; var key = this._getStoreKey(target); var d = new _deferred.Deferred; this._dataSource.store().update(key, data).done((function(result) { return _this3._dataSource.load().done((function() { return d.resolve(result) })).fail(d.reject) })).fail(d.reject); return d.promise() }; _proto.remove = function(rawAppointment) { var _this4 = this; var key = this._getStoreKey(rawAppointment); return this._dataSource.store().remove(key).done((function() { return _this4._dataSource.load() })) }; _proto.destroy = function() { var _this$_dataSource; var store = null === (_this$_dataSource = this._dataSource) || void 0 === _this$_dataSource ? void 0 : _this$_dataSource.store(); if (store) { store.off(STORE_EVENTS_updating); store.off(STORE_EVENTS_push) } }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AppointmentDataSource, [{ key: "keyName", get: function() { var store = this._dataSource.store(); return store.key() } }, { key: "isDataSourceInit", get: function() { return !!this._dataSource } }]); return AppointmentDataSource }(); exports.AppointmentDataSource = AppointmentDataSource }, 1758: /*!*********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/dataProvider/appointmentFilter.js ***! \*********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.AppointmentFilterVirtualStrategy = exports.AppointmentFilterBaseStrategy = void 0; var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/date */ 91198)); var _recurrence = __webpack_require__( /*! ../../recurrence */ 88609); var _array = __webpack_require__( /*! ../../../../core/utils/array */ 89386); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _query = _interopRequireDefault(__webpack_require__( /*! ../../../../data/query */ 96687)); var _appointmentAdapter = __webpack_require__( /*! ../../appointmentAdapter */ 5480); var _hasResourceValue = __webpack_require__( /*! ../../../../renovation/ui/scheduler/resources/hasResourceValue */ 31486); var _base = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _utils = __webpack_require__( /*! ../../resources/utils */ 98140); var _utils2 = __webpack_require__( /*! ./utils */ 11305); var _getDatesWithoutTime5 = _interopRequireDefault(__webpack_require__( /*! ../../../../renovation/ui/scheduler/utils/filtering/getDatesWithoutTime */ 97601)); var _getAppointmentTakesAllDay = __webpack_require__( /*! ../../../../renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay */ 96801); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor } var toMs = _date.default.dateToMilliseconds; var FilterStrategies_virtual = "virtual", FilterStrategies_standard = "standard"; var AppointmentFilterBaseStrategy = function() { function AppointmentFilterBaseStrategy(options) { this.options = options; this.dataAccessors = this.options.dataAccessors; this._init() } var _proto = AppointmentFilterBaseStrategy.prototype; _proto._resolveOption = function(name) { var result = this.options[name]; return "function" === typeof result ? result() : result }; _proto._init = function() { this.setDataAccessors(this.dataAccessors) }; _proto.filter = function(preparedItems) { var dateRange = this.dateRange; var allDay; if (!this.showAllDayPanel && this.supportAllDayRow) { allDay = false } return this.filterLoadedAppointments({ startDayHour: this.viewStartDayHour, endDayHour: this.viewEndDayHour, viewStartDayHour: this.viewStartDayHour, viewEndDayHour: this.viewEndDayHour, min: dateRange[0], max: dateRange[1], resources: this.loadedResources, allDay: allDay, supportMultiDayAppointments: (0, _base.isTimelineView)(this.viewType), firstDayOfWeek: this.firstDayOfWeek }, preparedItems) }; _proto.hasAllDayAppointments = function(filteredItems, preparedItems) { var _this = this; var adapters = filteredItems.map((function(item) { return (0, _appointmentAdapter.createAppointmentAdapter)(item, _this.dataAccessors, _this.timeZoneCalculator) })); var result = false; (0, _iterator.each)(adapters, (function(_, item) { if ((0, _getAppointmentTakesAllDay.getAppointmentTakesAllDay)(item, _this.viewStartDayHour, _this.viewEndDayHour, _this.allDayPanelMode)) { result = true; return false } })); return result }; _proto.setDataAccessors = function(dataAccessors) { this.dataAccessors = dataAccessors }; _proto._createAllDayAppointmentFilter = function(filterOptions) { var _this2 = this; var viewStartDayHour = filterOptions.viewStartDayHour, viewEndDayHour = filterOptions.viewEndDayHour; return [ [function(appointment) { return (0, _getAppointmentTakesAllDay.getAppointmentTakesAllDay)(appointment, viewStartDayHour, viewEndDayHour, _this2.allDayPanelMode) }] ] }; _proto._createCombinedFilter = function(filterOptions) { var _this3 = this; var min = new Date(filterOptions.min); var max = new Date(filterOptions.max); var startDayHour = filterOptions.startDayHour, endDayHour = filterOptions.endDayHour, viewStartDayHour = filterOptions.viewStartDayHour, viewEndDayHour = filterOptions.viewEndDayHour, resources = filterOptions.resources, firstDayOfWeek = filterOptions.firstDayOfWeek, checkIntersectViewport = filterOptions.checkIntersectViewport, supportMultiDayAppointments = filterOptions.supportMultiDayAppointments; var _getDatesWithoutTime = (0, _getDatesWithoutTime5.default)(min, max), _getDatesWithoutTime2 = _slicedToArray(_getDatesWithoutTime, 2), trimMin = _getDatesWithoutTime2[0], trimMax = _getDatesWithoutTime2[1]; var useRecurrence = (0, _type.isDefined)(this.dataAccessors.getter.recurrenceRule); return [ [function(appointment) { var _appointment$visible; var appointmentVisible = null !== (_appointment$visible = appointment.visible) && void 0 !== _appointment$visible ? _appointment$visible : true; if (!appointmentVisible) { return false } var startDate = appointment.startDate, endDate = appointment.endDate, hasRecurrenceRule = appointment.hasRecurrenceRule; if (!hasRecurrenceRule) { if (!(endDate >= trimMin && startDate < trimMax || _date.default.sameDate(endDate, trimMin) && _date.default.sameDate(startDate, trimMin))) { return false } } var appointmentTakesAllDay = (0, _getAppointmentTakesAllDay.getAppointmentTakesAllDay)(appointment, viewStartDayHour, viewEndDayHour, _this3.allDayPanelMode); var appointmentTakesSeveralDays = (0, _utils2.getAppointmentTakesSeveralDays)(appointment); var isAllDay = appointment.allDay; var isLongAppointment = appointmentTakesSeveralDays || appointmentTakesAllDay; if (null !== resources && void 0 !== resources && resources.length && !_this3._filterAppointmentByResources(appointment.rawAppointment, resources)) { return false } if (appointmentTakesAllDay && false === filterOptions.allDay) { return false } if (hasRecurrenceRule) { var recurrenceException = (0, _utils2.getRecurrenceException)(appointment, _this3.timeZoneCalculator, _this3.timezone); if (!_this3._filterAppointmentByRRule(_extends({}, appointment, { recurrenceException: recurrenceException, allDay: appointmentTakesAllDay }), min, max, startDayHour, endDayHour, firstDayOfWeek)) { return false } } if (!isAllDay && supportMultiDayAppointments && isLongAppointment) { if (endDate < min && (!useRecurrence || useRecurrence && !hasRecurrenceRule)) { return false } } if ((0, _type.isDefined)(startDayHour) && (!useRecurrence || !filterOptions.isVirtualScrolling)) { if (!(0, _utils2.compareDateWithStartDayHour)(startDate, endDate, startDayHour, appointmentTakesAllDay, appointmentTakesSeveralDays)) { return false } } if ((0, _type.isDefined)(endDayHour)) { if (!(0, _utils2.compareDateWithEndDayHour)({ startDate: startDate, endDate: endDate, startDayHour: startDayHour, endDayHour: endDayHour, viewStartDayHour: viewStartDayHour, viewEndDayHour: viewEndDayHour, allDay: appointmentTakesAllDay, severalDays: appointmentTakesSeveralDays, min: min, max: max, checkIntersectViewport: checkIntersectViewport })) { return false } } if (!isAllDay && (!isLongAppointment || supportMultiDayAppointments)) { if (endDate < min && useRecurrence && !hasRecurrenceRule) { return false } } return true }] ] }; _proto._createAppointmentFilter = function(filterOptions) { return this._createCombinedFilter(filterOptions) }; _proto._filterAppointmentByResources = function(appointment, resources) { var _this4 = this; var checkAppointmentResourceValues = function(resourceName, resourceIndex) { var resourceGetter = _this4.dataAccessors.resources.getter[resourceName]; var resource; if ((0, _type.isFunction)(resourceGetter)) { resource = resourceGetter(appointment) } var appointmentResourceValues = (0, _array.wrapToArray)(resource); var resourceData = (0, _iterator.map)(resources[resourceIndex].items, (function(_ref) { var id = _ref.id; return id })); for (var i = 0; i < appointmentResourceValues.length; i++) { if ((0, _hasResourceValue.hasResourceValue)(resourceData, appointmentResourceValues[i])) { return true } } return false }; var result = false; for (var i = 0; i < resources.length; i++) { var resourceName = resources[i].name; result = checkAppointmentResourceValues(resourceName, i); if (!result) { return false } } return result }; _proto._filterAppointmentByRRule = function(appointment, min, max, startDayHour, endDayHour, firstDayOfWeek) { var recurrenceRule = appointment.recurrenceRule; var recurrenceException = appointment.recurrenceException; var allDay = appointment.allDay; var result = true; var appointmentStartDate = appointment.startDate; var appointmentEndDate = appointment.endDate; var recurrenceProcessor = (0, _recurrence.getRecurrenceProcessor)(); if (allDay || (0, _utils2._appointmentPartInInterval)(appointmentStartDate, appointmentEndDate, startDayHour, endDayHour)) { var _getDatesWithoutTime3 = (0, _getDatesWithoutTime5.default)(min, max), _getDatesWithoutTime4 = _slicedToArray(_getDatesWithoutTime3, 2), trimMin = _getDatesWithoutTime4[0], trimMax = _getDatesWithoutTime4[1]; min = trimMin; max = new Date(trimMax.getTime() - toMs("minute")) } if (recurrenceRule && !recurrenceProcessor.isValidRecurrenceRule(recurrenceRule)) { result = appointmentEndDate > min && appointmentStartDate <= max } if (result && recurrenceProcessor.isValidRecurrenceRule(recurrenceRule)) { result = recurrenceProcessor.hasRecurrence({ rule: recurrenceRule, exception: recurrenceException, start: appointmentStartDate, end: appointmentEndDate, min: min, max: max, firstDayOfWeek: firstDayOfWeek, appointmentTimezoneOffset: this.timeZoneCalculator.getOriginStartDateOffsetInMs(appointmentStartDate, appointment.startDateTimeZone, false) }) } return result }; _proto.filterLoadedAppointments = function(filterOptions, preparedItems) { var filteredItems = this.filterPreparedItems(filterOptions, preparedItems); return filteredItems.map((function(_ref2) { var rawAppointment = _ref2.rawAppointment; return rawAppointment })) }; _proto.filterPreparedItems = function(filterOptions, preparedItems) { var combinedFilter = this._createAppointmentFilter(filterOptions); return (0, _query.default)(preparedItems).filter(combinedFilter).toArray() }; _proto.filterAllDayAppointments = function(filterOptions, preparedItems) { var combinedFilter = this._createAllDayAppointmentFilter(filterOptions); return (0, _query.default)(preparedItems).filter(combinedFilter).toArray().map((function(_ref3) { var rawAppointment = _ref3.rawAppointment; return rawAppointment })) }; _createClass(AppointmentFilterBaseStrategy, [{ key: "strategyName", get: function() { return FilterStrategies_standard } }, { key: "timeZoneCalculator", get: function() { return this.options.timeZoneCalculator } }, { key: "viewStartDayHour", get: function() { return this.options.startDayHour } }, { key: "viewEndDayHour", get: function() { return this.options.endDayHour } }, { key: "timezone", get: function() { return this.options.timezone } }, { key: "firstDayOfWeek", get: function() { return this.options.firstDayOfWeek } }, { key: "showAllDayPanel", get: function() { return this.options.showAllDayPanel } }, { key: "loadedResources", get: function() { return this._resolveOption("loadedResources") } }, { key: "supportAllDayRow", get: function() { return this._resolveOption("supportAllDayRow") } }, { key: "viewType", get: function() { return this._resolveOption("viewType") } }, { key: "viewDirection", get: function() { return this._resolveOption("viewDirection") } }, { key: "dateRange", get: function() { return this._resolveOption("dateRange") } }, { key: "groupCount", get: function() { return this._resolveOption("groupCount") } }, { key: "viewDataProvider", get: function() { return this._resolveOption("viewDataProvider") } }, { key: "allDayPanelMode", get: function() { return this._resolveOption("allDayPanelMode") } }]); return AppointmentFilterBaseStrategy }(); exports.AppointmentFilterBaseStrategy = AppointmentFilterBaseStrategy; var AppointmentFilterVirtualStrategy = function(_AppointmentFilterBas) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(AppointmentFilterVirtualStrategy, _AppointmentFilterBas); function AppointmentFilterVirtualStrategy() { return _AppointmentFilterBas.apply(this, arguments) || this } var _proto2 = AppointmentFilterVirtualStrategy.prototype; _proto2.filter = function(preparedItems) { var _this5 = this; var hourMs = toMs("hour"); var isCalculateStartAndEndDayHour = (0, _base.isDateAndTimeView)(this.viewType); var checkIntersectViewport = isCalculateStartAndEndDayHour && "horizontal" === this.viewDirection; var isAllDayWorkspace = !this.supportAllDayRow; var showAllDayAppointments = this.showAllDayPanel || isAllDayWorkspace; var endViewDate = this.viewDataProvider.getLastViewDateByEndDayHour(this.viewEndDayHour); var filterOptions = []; var groupsInfo = this.viewDataProvider.getCompletedGroupsInfo(); groupsInfo.forEach((function(item) { var groupIndex = item.groupIndex; var groupStartDate = item.startDate; var groupEndDate = new Date(Math.min(item.endDate, endViewDate)); var startDayHour = isCalculateStartAndEndDayHour ? groupStartDate.getHours() : _this5.viewStartDayHour; var endDayHour = isCalculateStartAndEndDayHour ? startDayHour + groupStartDate.getMinutes() / 60 + (groupEndDate - groupStartDate) / hourMs : _this5.viewEndDayHour; var resources = _this5._getPrerenderFilterResources(groupIndex); var hasAllDayPanel = _this5.viewDataProvider.hasGroupAllDayPanel(groupIndex); var supportAllDayAppointment = isAllDayWorkspace || !!showAllDayAppointments && hasAllDayPanel; filterOptions.push({ isVirtualScrolling: true, startDayHour: startDayHour, endDayHour: endDayHour, viewStartDayHour: _this5.viewStartDayHour, viewEndDayHour: _this5.viewEndDayHour, min: groupStartDate, max: groupEndDate, supportMultiDayAppointments: (0, _base.isTimelineView)(_this5.viewType), allDay: supportAllDayAppointment, resources: resources, firstDayOfWeek: _this5.firstDayOfWeek, checkIntersectViewport: checkIntersectViewport }) })); return this.filterLoadedAppointments({ filterOptions: filterOptions, groupCount: this.groupCount }, preparedItems) }; _proto2.filterPreparedItems = function(_ref4, preparedItems) { var _this6 = this; var filterOptions = _ref4.filterOptions, groupCount = _ref4.groupCount; var combinedFilters = []; var itemsToFilter = preparedItems; var needPreFilter = groupCount > 0; if (needPreFilter) { itemsToFilter = itemsToFilter.filter((function(_ref5) { var rawAppointment = _ref5.rawAppointment; for (var i = 0; i < filterOptions.length; ++i) { var resources = filterOptions[i].resources; if (_this6._filterAppointmentByResources(rawAppointment, resources)) { return true } } })) } filterOptions.forEach((function(option) { combinedFilters.length && combinedFilters.push("or"); var filter = _this6._createAppointmentFilter(option); combinedFilters.push(filter) })); return (0, _query.default)(itemsToFilter).filter(combinedFilters).toArray() }; _proto2.hasAllDayAppointments = function(adapters, preparedItems) { return this.filterAllDayAppointments({ viewStartDayHour: this.viewStartDayHour, viewEndDayHour: this.viewEndDayHour }, preparedItems).length > 0 }; _proto2._getPrerenderFilterResources = function(groupIndex) { var cellGroup = this.viewDataProvider.getCellsGroup(groupIndex); return (0, _utils.getResourcesDataByGroups)(this.loadedResources, this.resources, [cellGroup]) }; _createClass(AppointmentFilterVirtualStrategy, [{ key: "strategyName", get: function() { return FilterStrategies_virtual } }, { key: "resources", get: function() { return this.options.resources } }]); return AppointmentFilterVirtualStrategy }(AppointmentFilterBaseStrategy); exports.AppointmentFilterVirtualStrategy = AppointmentFilterVirtualStrategy }, 11305: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/dataProvider/utils.js ***! \*********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.sortAppointmentsByStartDate = exports.replaceWrongEndDate = exports.getRecurrenceException = exports.getAppointmentTakesSeveralDays = exports.compareDateWithStartDayHour = exports.compareDateWithEndDayHour = exports._isEndDateWrong = exports._convertRecurrenceException = exports._appointmentPartInInterval = void 0; var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/date */ 91198)); var _utils = _interopRequireDefault(__webpack_require__( /*! ../../utils.timeZone */ 32511)); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/date_serialization */ 69434)); var _expressionUtils = __webpack_require__( /*! ../../expressionUtils */ 86474); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var toMs = _date.default.dateToMilliseconds; exports.compareDateWithStartDayHour = function(startDate, endDate, startDayHour, allDay, severalDays) { var startTime = _date.default.dateTimeFromDecimal(startDayHour); var result = startDate.getHours() >= startTime.hours && startDate.getMinutes() >= startTime.minutes || endDate.getHours() === startTime.hours && endDate.getMinutes() > startTime.minutes || endDate.getHours() > startTime.hours || severalDays || allDay; return result }; exports.compareDateWithEndDayHour = function(options) { var startDate = options.startDate, endDate = options.endDate, startDayHour = options.startDayHour, endDayHour = options.endDayHour, viewStartDayHour = options.viewStartDayHour, viewEndDayHour = options.viewEndDayHour, allDay = options.allDay, severalDays = options.severalDays, min = options.min, max = options.max, checkIntersectViewport = options.checkIntersectViewport; var hiddenInterval = (24 - viewEndDayHour + viewStartDayHour) * toMs("hour"); var apptDuration = endDate.getTime() - startDate.getTime(); var delta = (hiddenInterval - apptDuration) / toMs("hour"); var apptStartHour = startDate.getHours(); var apptStartMinutes = startDate.getMinutes(); var result; var endTime = _date.default.dateTimeFromDecimal(endDayHour); var startTime = _date.default.dateTimeFromDecimal(startDayHour); var apptIntersectViewport = startDate < max && endDate > min; result = checkIntersectViewport && apptIntersectViewport || apptStartHour < endTime.hours || apptStartHour === endTime.hours && apptStartMinutes < endTime.minutes || allDay && startDate <= max || severalDays && apptIntersectViewport && (apptStartHour < endTime.hours || 60 * endDate.getHours() + endDate.getMinutes() > 60 * startTime.hours); if (apptDuration < hiddenInterval) { if (apptStartHour > endTime.hours && apptStartMinutes > endTime.minutes && delta <= apptStartHour - endDayHour) { result = false } } return result }; exports.getAppointmentTakesSeveralDays = function(adapter) { return !_date.default.sameDate(adapter.startDate, adapter.endDate) }; var _isEndDateWrong = function(startDate, endDate) { return !endDate || isNaN(endDate.getTime()) || startDate.getTime() > endDate.getTime() }; exports._isEndDateWrong = _isEndDateWrong; exports._appointmentPartInInterval = function(startDate, endDate, startDayHour, endDayHour) { var apptStartDayHour = startDate.getHours(); var apptEndDayHour = endDate.getHours(); return apptStartDayHour <= startDayHour && apptEndDayHour <= endDayHour && apptEndDayHour >= startDayHour || apptEndDayHour >= endDayHour && apptStartDayHour <= endDayHour && apptStartDayHour >= startDayHour }; exports.getRecurrenceException = function(appointmentAdapter, timeZoneCalculator, timeZone) { var recurrenceException = appointmentAdapter.recurrenceException; if (recurrenceException) { var exceptions = recurrenceException.split(","); for (var i = 0; i < exceptions.length; i++) { exceptions[i] = _convertRecurrenceException(exceptions[i], appointmentAdapter.startDate, timeZoneCalculator, timeZone) } return exceptions.join() } return recurrenceException }; var _convertRecurrenceException = function(exceptionString, startDate, timeZoneCalculator, timeZone) { exceptionString = exceptionString.replace(/\s/g, ""); var getConvertedToTimeZone = function(date) { return timeZoneCalculator.createDate(date, { path: "toGrid" }) }; var exceptionDate = _date_serialization.default.deserializeDate(exceptionString); var convertedStartDate = getConvertedToTimeZone(startDate); var convertedExceptionDate = getConvertedToTimeZone(exceptionDate); convertedExceptionDate = _utils.default.correctRecurrenceExceptionByTimezone(convertedExceptionDate, convertedStartDate, timeZone); exceptionString = _date_serialization.default.serializeDate(convertedExceptionDate, "yyyyMMddTHHmmss"); return exceptionString }; exports._convertRecurrenceException = _convertRecurrenceException; exports.replaceWrongEndDate = function(rawAppointment, startDate, endDate, appointmentDuration, dataAccessors) { if (_isEndDateWrong(startDate, endDate)) { var isAllDay = _expressionUtils.ExpressionUtils.getField(dataAccessors, "allDay", rawAppointment); var calculatedEndDate = function(isAllDay, startDate) { if (isAllDay) { return _date.default.setToDayEnd(new Date(startDate)) } return new Date(startDate.getTime() + appointmentDuration * toMs("minute")) }(isAllDay, startDate); dataAccessors.setter.endDate(rawAppointment, calculatedEndDate) } }; exports.sortAppointmentsByStartDate = function(appointments, dataAccessors) { appointments.sort((function(a, b) { var firstDate = new Date(_expressionUtils.ExpressionUtils.getField(dataAccessors, "startDate", a.settings || a)); var secondDate = new Date(_expressionUtils.ExpressionUtils.getField(dataAccessors, "startDate", b.settings || b)); return Math.sign(firstDate.getTime() - secondDate.getTime()) })) } }, 17275: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/render.js ***! \*********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.renderAppointments = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _utils = __webpack_require__( /*! ../utils */ 9259); var _layout = _interopRequireDefault(__webpack_require__( /*! ../../../renovation/ui/scheduler/appointment/layout.j */ 55304)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } exports.renderAppointments = function(options) { var instance = options.instance, $dateTable = options.$dateTable, viewModel = options.viewModel; var container = getAppointmentsContainer($dateTable); _utils.utils.renovation.renderComponent(instance, container, _layout.default, "renovatedAppointments", viewModel) }; var getAppointmentsContainer = function($dateTable) { var container = (0, _renderer.default)(".dx-appointments-container"); if (0 === container.length) { container = (0, _renderer.default)("<div>").addClass("dx-appointments-container").appendTo($dateTable) } return container } }, 20912: /*!*****************************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/rendering_strategies/appointmentsPositioning_strategy_adaptive.js ***! \*****************************************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _appointmentsPositioning_strategy_base = (obj = __webpack_require__( /*! ./appointmentsPositioning_strategy_base */ 97250), obj && obj.__esModule ? obj : { default: obj }); var obj; function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var AdaptivePositioningStrategy = function(_AppointmentPositioni) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(AdaptivePositioningStrategy, _AppointmentPositioni); function AdaptivePositioningStrategy() { return _AppointmentPositioni.apply(this, arguments) || this } var _proto = AdaptivePositioningStrategy.prototype; _proto.getDropDownAppointmentWidth = function(intervalCount, isAllDay) { return this.getDropDownButtonAdaptiveSize() }; _proto.getDropDownButtonAdaptiveSize = function() { return 28 }; _proto.getCollectorTopOffset = function(allDay) { var renderingStrategy = this._renderingStrategy; if (renderingStrategy.allDaySupported() && allDay) { return (renderingStrategy.allDayHeight - renderingStrategy.getDropDownButtonAdaptiveSize()) / 2 } else { return this._renderingStrategy.cellHeight - 40 } }; _proto.getCollectorLeftOffset = function() { var collectorWidth = this._renderingStrategy.getDropDownAppointmentWidth(); return (this._renderingStrategy.cellWidth - collectorWidth) / 2 }; _proto.getAppointmentDefaultOffset = function() { return 35 }; _proto.getDynamicAppointmentCountPerCell = function() { var renderingStrategy = this._renderingStrategy; if (renderingStrategy.allDaySupported()) { return { allDay: 0, simple: this._calculateDynamicAppointmentCountPerCell() || this._getAppointmentMinCount() } } else { return 0 } }; _proto.getDropDownAppointmentHeight = function() { return 28 }; _proto._getAppointmentMinCount = function() { return 0 }; _proto._getAppointmentDefaultWidth = function() { var renderingStrategy = this._renderingStrategy; if (renderingStrategy.allDaySupported()) { return 30 } return _AppointmentPositioni.prototype._getAppointmentDefaultWidth.call(this) }; _proto._calculateDynamicAppointmentCountPerCell = function() { return Math.floor(this._renderingStrategy._getAppointmentMaxWidth() / this._renderingStrategy._getAppointmentDefaultWidth()) }; return AdaptivePositioningStrategy }(_appointmentsPositioning_strategy_base.default); var _default = AdaptivePositioningStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 97250: /*!*************************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/rendering_strategies/appointmentsPositioning_strategy_base.js ***! \*************************************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var AppointmentPositioningStrategy = function() { function AppointmentPositioningStrategy(renderingStrategy) { this._renderingStrategy = renderingStrategy } var _proto = AppointmentPositioningStrategy.prototype; _proto.getDropDownAppointmentWidth = function(intervalCount, isAllDay) { if (isAllDay || !(0, _type.isDefined)(isAllDay)) { return 75 * this._renderingStrategy.cellWidth / 100 } else { return 24 } }; _proto.getCollectorTopOffset = function() { return 3 }; _proto.getCollectorLeftOffset = function() { return 3 }; _proto.getAppointmentDefaultOffset = function() { if (this._renderingStrategy._isCompactTheme()) { return 22 } return this._renderingStrategy.appointmentOffset }; _proto.getDynamicAppointmentCountPerCell = function() { var renderingStrategy = this._renderingStrategy; var cellHeight = renderingStrategy.cellHeight; var allDayCount = Math.floor((cellHeight - renderingStrategy._getAppointmentDefaultOffset()) / renderingStrategy._getAppointmentDefaultHeight()) || this._getAppointmentMinCount(); if (renderingStrategy.allDaySupported()) { return { allDay: "vertical" === renderingStrategy.groupOrientation ? allDayCount : this._renderingStrategy.appointmentCountPerCell, simple: this._calculateDynamicAppointmentCountPerCell() || this._getAppointmentMinCount() } } else { return allDayCount } }; _proto.getDropDownAppointmentHeight = function() { return }; _proto._getAppointmentMinCount = function() { return 1 }; _proto._calculateDynamicAppointmentCountPerCell = function() { return Math.floor(this._renderingStrategy._getAppointmentMaxWidth() / 50) }; _proto._getAppointmentDefaultWidth = function() { return 40 }; return AppointmentPositioningStrategy }(); var _default = AppointmentPositioningStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 72097: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/rendering_strategies/strategy.base.js ***! \*************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _appointmentsPositioning_strategy_base = _interopRequireDefault(__webpack_require__( /*! ./appointmentsPositioning_strategy_base */ 97250)); var _appointmentsPositioning_strategy_adaptive = _interopRequireDefault(__webpack_require__( /*! ./appointmentsPositioning_strategy_adaptive */ 20912)); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/date */ 91198)); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _themes = __webpack_require__( /*! ../../../themes */ 75811); var _settingsGenerator = __webpack_require__( /*! ../settingsGenerator */ 4236); var _utils = _interopRequireDefault(__webpack_require__( /*! ../../utils.timeZone */ 32511)); var _appointmentAdapter = __webpack_require__( /*! ../../appointmentAdapter */ 5480); var _getAppointmentTakesAllDay = __webpack_require__( /*! ../../../../renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay */ 96801); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var toMs = _date.default.dateToMilliseconds; var BaseRenderingStrategy = function() { function BaseRenderingStrategy(options) { this.options = options; this._initPositioningStrategy() } var _proto = BaseRenderingStrategy.prototype; _proto._correctCollectorCoordinatesInAdaptive = function(coordinates, isAllDay) { coordinates.top = coordinates.top + this.getCollectorTopOffset(isAllDay); coordinates.left = coordinates.left + this.getCollectorLeftOffset() }; _proto._initPositioningStrategy = function() { this._positioningStrategy = this.isAdaptive ? new _appointmentsPositioning_strategy_adaptive.default(this) : new _appointmentsPositioning_strategy_base.default(this) }; _proto.getPositioningStrategy = function() { return this._positioningStrategy }; _proto.getAppointmentMinSize = function() { return 2 }; _proto.keepAppointmentSettings = function() { return false }; _proto.getDeltaTime = function() {}; _proto.getAppointmentGeometry = function(coordinates) { return coordinates }; _proto.needCorrectAppointmentDates = function() { return true }; _proto.getDirection = function() { return "horizontal" }; _proto.createTaskPositionMap = function(items) { var _this = this; delete this._maxAppointmentCountPerCell; var length = null === items || void 0 === items ? void 0 : items.length; if (!length) { return } var map = []; for (var i = 0; i < length; i++) { var coordinates = this._getItemPosition(items[i]); if (coordinates.length && this.rtlEnabled) { coordinates = this._correctRtlCoordinates(coordinates) } coordinates.forEach((function(item) { item.leftVirtualCellCount = _this.leftVirtualCellCount; item.topVirtualCellCount = _this.topVirtualCellCount; item.leftVirtualWidth = _this.leftVirtualCellCount * _this.cellWidth; item.topVirtualHeight = _this.topVirtualCellCount * _this.cellHeight })); map.push(coordinates) } var positionArray = this._getSortedPositions(map); var resultPositions = this._getResultPositions(positionArray); return this._getExtendedPositionMap(map, resultPositions) }; _proto._getDeltaWidth = function(args, initialSize) { var intervalWidth = this.resizableStep || this.getAppointmentMinSize(); var initialWidth = initialSize.width; return Math.round((args.width - initialWidth) / intervalWidth) }; _proto._correctRtlCoordinates = function(coordinates) { var width = coordinates[0].width || this._getAppointmentMaxWidth(); coordinates.forEach((function(coordinate) { if (!coordinate.appointmentReduced) { coordinate.left -= width } })); return coordinates }; _proto._getAppointmentMaxWidth = function() { return this.cellWidth }; _proto._getItemPosition = function(appointment) { var position = this.generateAppointmentSettings(appointment); var allDay = this.isAllDay(appointment); var result = []; for (var j = 0; j < position.length; j++) { var height = this.calculateAppointmentHeight(appointment, position[j]); var width = this.calculateAppointmentWidth(appointment, position[j]); var resultWidth = width; var appointmentReduced = null; var multiWeekAppointmentParts = []; var initialRowIndex = position[j].rowIndex; var initialColumnIndex = position[j].columnIndex; if (this._needVerifyItemSize() || allDay) { var currentMaxAllowedPosition = position[j].hMax; if (this.isAppointmentGreaterThan(currentMaxAllowedPosition, { left: position[j].left, width: width })) { appointmentReduced = "head"; initialRowIndex = position[j].rowIndex; initialColumnIndex = position[j].columnIndex; resultWidth = this._reduceMultiWeekAppointment(width, { left: position[j].left, right: currentMaxAllowedPosition }); multiWeekAppointmentParts = this._getAppointmentParts({ sourceAppointmentWidth: width, reducedWidth: resultWidth, height: height }, position[j]); if (this.rtlEnabled) { position[j].left = currentMaxAllowedPosition } } }(0, _extend.extend)(position[j], { height: height, width: resultWidth, allDay: allDay, rowIndex: initialRowIndex, columnIndex: initialColumnIndex, appointmentReduced: appointmentReduced }); result = this._getAppointmentPartsPosition(multiWeekAppointmentParts, position[j], result) } return result }; _proto._getAppointmentPartsPosition = function(appointmentParts, position, result) { if (appointmentParts.length) { appointmentParts.unshift(position); result = result.concat(appointmentParts) } else { result.push(position) } return result }; _proto.getAppointmentSettingsGenerator = function(rawAppointment) { return new _settingsGenerator.AppointmentSettingsGenerator(_extends({ rawAppointment: rawAppointment, appointmentTakesAllDay: this.isAppointmentTakesAllDay(rawAppointment), getPositionShiftCallback: this.getPositionShift.bind(this) }, this.options)) }; _proto.generateAppointmentSettings = function(rawAppointment) { return this.getAppointmentSettingsGenerator(rawAppointment).create() }; _proto.isAppointmentTakesAllDay = function(rawAppointment) { var adapter = (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this.dataAccessors, this.timeZoneCalculator); return (0, _getAppointmentTakesAllDay.getAppointmentTakesAllDay)(adapter, this.viewStartDayHour, this.viewEndDayHour, this.allDayPanelMode) }; _proto._getAppointmentParts = function() { return [] }; _proto._getCompactAppointmentParts = function(appointmentWidth) { var cellWidth = this.cellWidth || this.getAppointmentMinSize(); return Math.round(appointmentWidth / cellWidth) }; _proto._reduceMultiWeekAppointment = function(sourceAppointmentWidth, bound) { if (this.rtlEnabled) { sourceAppointmentWidth = Math.floor(bound.left - bound.right) } else { sourceAppointmentWidth = bound.right - Math.floor(bound.left) } return sourceAppointmentWidth }; _proto.calculateAppointmentHeight = function() { return 0 }; _proto.calculateAppointmentWidth = function() { return 0 }; _proto.isAppointmentGreaterThan = function(etalon, comparisonParameters) { var result = comparisonParameters.left + comparisonParameters.width - etalon; if (this.rtlEnabled) { result = etalon + comparisonParameters.width - comparisonParameters.left } return result > this.cellWidth / 2 }; _proto.isAllDay = function() { return false }; _proto.cropAppointmentWidth = function(width, cellWidth) { return this.isGroupedByDate ? cellWidth : width }; _proto._getSortedPositions = function(positionList) { var _this2 = this; var result = []; var round = function(value) { return Math.round(100 * value) / 100 }; var createItem = function(rowIndex, columnIndex, top, left, bottom, right, position, allDay) { return { i: rowIndex, j: columnIndex, top: round(top), left: round(left), bottom: round(bottom), right: round(right), cellPosition: position, allDay: allDay } }; for (var rowIndex = 0, rowCount = positionList.length; rowIndex < rowCount; rowIndex++) { for (var columnIndex = 0, cellCount = positionList[rowIndex].length; columnIndex < cellCount; columnIndex++) { var _positionList$rowInde = positionList[rowIndex][columnIndex], top = _positionList$rowInde.top, left = _positionList$rowInde.left, height = _positionList$rowInde.height, width = _positionList$rowInde.width, cellPosition = _positionList$rowInde.cellPosition, allDay = _positionList$rowInde.allDay; result.push(createItem(rowIndex, columnIndex, top, left, top + height, left + width, cellPosition, allDay)) } } return result.sort((function(a, b) { return _this2._sortCondition(a, b) })) }; _proto._sortCondition = function() {}; _proto._getConditions = function(a, b) { var isSomeEdge = this._isSomeEdge(a, b); return { columnCondition: isSomeEdge || this._normalizeCondition(a.left, b.left), rowCondition: isSomeEdge || this._normalizeCondition(a.top, b.top), cellPositionCondition: isSomeEdge || this._normalizeCondition(a.cellPosition, b.cellPosition) } }; _proto._rowCondition = function(a, b) { var conditions = this._getConditions(a, b); return conditions.columnCondition || conditions.rowCondition }; _proto._columnCondition = function(a, b) { var conditions = this._getConditions(a, b); return conditions.rowCondition || conditions.columnCondition }; _proto._isSomeEdge = function(a, b) { return a.i === b.i && a.j === b.j }; _proto._normalizeCondition = function(first, second) { var result = first - second; return Math.abs(result) > 1 ? result : 0 }; _proto._isItemsCross = function(firstItem, secondItem) { var areItemsInTheSameTable = !!firstItem.allDay === !!secondItem.allDay; var areItemsAllDay = firstItem.allDay && secondItem.allDay; if (areItemsInTheSameTable) { var orientation = this._getOrientation(areItemsAllDay); return this._checkItemsCrossing(firstItem, secondItem, orientation) } else { return false } }; _proto._checkItemsCrossing = function(firstItem, secondItem, orientation) { var firstItemSide_1 = Math.floor(firstItem[orientation[0]]); var firstItemSide_2 = Math.floor(firstItem[orientation[1]]); var secondItemSide_1 = Math.ceil(secondItem[orientation[0]]); var secondItemSide_2 = Math.ceil(secondItem[orientation[1]]); var isItemCross = Math.abs(firstItem[orientation[2]] - secondItem[orientation[2]]) <= 1; return isItemCross && (firstItemSide_1 <= secondItemSide_1 && firstItemSide_2 > secondItemSide_1 || firstItemSide_1 < secondItemSide_2 && firstItemSide_2 >= secondItemSide_2 || firstItemSide_1 === secondItemSide_1 && firstItemSide_2 === secondItemSide_2) }; _proto._getOrientation = function(isAllDay) { return isAllDay ? ["left", "right", "top"] : ["top", "bottom", "left"] }; _proto._getResultPositions = function(sortedArray) { var _this3 = this; var result = []; var i; var sortedIndex = 0; var currentItem; var indexes; var itemIndex; var maxIndexInStack = 0; var stack = {}; var findFreeIndex = function findFreeIndex(indexes, index) { var isFind = indexes.some((function(item) { return item === index })); if (isFind) { return findFreeIndex(indexes, ++index) } else { return index } }; var createItem = function(currentItem, index) { var currentIndex = index || 0; return { index: currentIndex, i: currentItem.i, j: currentItem.j, left: currentItem.left, right: currentItem.right, top: currentItem.top, bottom: currentItem.bottom, allDay: currentItem.allDay, sortedIndex: _this3._skipSortedIndex(currentIndex) ? null : sortedIndex++ } }; var startNewStack = function(currentItem) { stack.items = [createItem(currentItem)]; stack.left = currentItem.left; stack.right = currentItem.right; stack.top = currentItem.top; stack.bottom = currentItem.bottom; stack.allDay = currentItem.allDay }; var pushItemsInResult = function(items) { items.forEach((function(item) { result.push({ index: item.index, count: maxIndexInStack + 1, i: item.i, j: item.j, sortedIndex: item.sortedIndex }) })) }; for (i = 0; i < sortedArray.length; i++) { currentItem = sortedArray[i]; indexes = []; if (!stack.items) { startNewStack(currentItem) } else if (this._isItemsCross(stack, currentItem)) { stack.items.forEach((function(item, index) { if (_this3._isItemsCross(item, currentItem)) { indexes.push(item.index) } })); itemIndex = indexes.length ? findFreeIndex(indexes, 0) : 0; stack.items.push(createItem(currentItem, itemIndex)); maxIndexInStack = Math.max(itemIndex, maxIndexInStack); stack.left = Math.min(stack.left, currentItem.left); stack.right = Math.max(stack.right, currentItem.right); stack.top = Math.min(stack.top, currentItem.top); stack.bottom = Math.max(stack.bottom, currentItem.bottom); stack.allDay = currentItem.allDay } else { pushItemsInResult(stack.items); stack = {}; startNewStack(currentItem); maxIndexInStack = 0 } } if (stack.items) { pushItemsInResult(stack.items) } return result.sort((function(a, b) { var columnCondition = a.j - b.j; var rowCondition = a.i - b.i; return rowCondition ? rowCondition : columnCondition })) }; _proto._skipSortedIndex = function(index) { return index > this._getMaxAppointmentCountPerCell() - 1 }; _proto._findIndexByKey = function(arr, iKey, jKey, iValue, jValue) { var result = 0; for (var i = 0, len = arr.length; i < len; i++) { if (arr[i][iKey] === iValue && arr[i][jKey] === jValue) { result = i; break } } return result }; _proto._getExtendedPositionMap = function(map, positions) { var positionCounter = 0; var result = []; for (var i = 0, mapLength = map.length; i < mapLength; i++) { var resultString = []; for (var j = 0, itemLength = map[i].length; j < itemLength; j++) { map[i][j].index = positions[positionCounter].index; map[i][j].sortedIndex = positions[positionCounter].sortedIndex; map[i][j].count = positions[positionCounter++].count; resultString.push(map[i][j]); this._checkLongCompactAppointment(map[i][j], resultString) } result.push(resultString) } return result }; _proto._checkLongCompactAppointment = function(item, result) { this._splitLongCompactAppointment(item, result); return result }; _proto._splitLongCompactAppointment = function(item, result) { var appointmentCountPerCell = this._getMaxAppointmentCountPerCellByType(item.allDay); var compactCount = 0; if (void 0 !== appointmentCountPerCell && item.index > appointmentCountPerCell - 1) { item.isCompact = true; compactCount = this._getCompactAppointmentParts(item.width); for (var k = 1; k < compactCount; k++) { var compactPart = (0, _extend.extend)(true, {}, item); compactPart.left = this._getCompactLeftCoordinate(item.left, k); compactPart.columnIndex = compactPart.columnIndex + k; compactPart.sortedIndex = null; result.push(compactPart) } } return result }; _proto._adjustDurationByDaylightDiff = function(duration, startDate, endDate) { var daylightDiff = _utils.default.getDaylightOffset(startDate, endDate); return this._needAdjustDuration(daylightDiff) ? this._calculateDurationByDaylightDiff(duration, daylightDiff) : duration }; _proto._needAdjustDuration = function(diff) { return 0 !== diff }; _proto._calculateDurationByDaylightDiff = function(duration, diff) { return duration + diff * toMs("minute") }; _proto._getCollectorLeftOffset = function(isAllDay) { if (isAllDay || !this.isApplyCompactAppointmentOffset()) { return 0 } var dropDownButtonWidth = this.getDropDownAppointmentWidth(this.intervalCount, isAllDay); var rightOffset = this._isCompactTheme() ? 1 : 5; return this.cellWidth - dropDownButtonWidth - rightOffset }; _proto._markAppointmentAsVirtual = function(coordinates) { var isAllDay = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false; var countFullWidthAppointmentInCell = this._getMaxAppointmentCountPerCellByType(isAllDay); if (coordinates.count - countFullWidthAppointmentInCell > 0) { var top = coordinates.top, left = coordinates.left; var compactRender = this.isAdaptive || !isAllDay && this.supportCompactDropDownAppointments(); coordinates.virtual = { left: left + this._getCollectorLeftOffset(isAllDay), top: top, width: this.getDropDownAppointmentWidth(this.intervalCount, isAllDay), height: this.getDropDownAppointmentHeight(), index: this._generateAppointmentCollectorIndex(coordinates, isAllDay), isAllDay: isAllDay, groupIndex: coordinates.groupIndex, isCompact: compactRender } } }; _proto.isApplyCompactAppointmentOffset = function() { return this.supportCompactDropDownAppointments() }; _proto.supportCompactDropDownAppointments = function() { return true }; _proto._generateAppointmentCollectorIndex = function(_ref, isAllDay) { var groupIndex = _ref.groupIndex, rowIndex = _ref.rowIndex, columnIndex = _ref.columnIndex; return "".concat(groupIndex, "-").concat(rowIndex, "-").concat(columnIndex, "-").concat(isAllDay) }; _proto._getMaxAppointmentCountPerCellByType = function(isAllDay) { var appointmentCountPerCell = this._getMaxAppointmentCountPerCell(); if ((0, _type.isObject)(appointmentCountPerCell)) { return isAllDay ? appointmentCountPerCell.allDay : appointmentCountPerCell.simple } else { return appointmentCountPerCell } }; _proto.getDropDownAppointmentWidth = function(intervalCount, isAllDay) { return this.getPositioningStrategy().getDropDownAppointmentWidth(intervalCount, isAllDay) }; _proto.getDropDownAppointmentHeight = function() { return this.getPositioningStrategy().getDropDownAppointmentHeight() }; _proto.getDropDownButtonAdaptiveSize = function() { return 28 }; _proto.getCollectorTopOffset = function(allDay) { return this.getPositioningStrategy().getCollectorTopOffset(allDay) }; _proto.getCollectorLeftOffset = function() { return this.getPositioningStrategy().getCollectorLeftOffset() }; _proto.getAppointmentDataCalculator = function() {}; _proto.getVerticalAppointmentHeight = function(cellHeight, currentAppointmentCountInCell, maxAppointmentsPerCell) { var resultMaxAppointmentsPerCell = maxAppointmentsPerCell; if ((0, _type.isNumeric)(this.maxAppointmentsPerCell)) { var dynamicAppointmentCountPerCell = this._getDynamicAppointmentCountPerCell(); var maxAppointmentCountDisplayedInCell = dynamicAppointmentCountPerCell.allDay || dynamicAppointmentCountPerCell; var maxAppointmentsCount = Math.max(currentAppointmentCountInCell, maxAppointmentCountDisplayedInCell); resultMaxAppointmentsPerCell = Math.min(maxAppointmentsCount, maxAppointmentsPerCell) } return cellHeight / resultMaxAppointmentsPerCell }; _proto._customizeCoordinates = function(coordinates, cellHeight, appointmentCountPerCell, topOffset, isAllDay) { var index = coordinates.index, count = coordinates.count; var appointmentHeight = this.getVerticalAppointmentHeight(cellHeight, count, appointmentCountPerCell); var appointmentTop = coordinates.top + index * appointmentHeight; var top = appointmentTop + topOffset; var width = coordinates.width; var left = coordinates.left; if (coordinates.isCompact) { this.isAdaptive && this._correctCollectorCoordinatesInAdaptive(coordinates, isAllDay); this._markAppointmentAsVirtual(coordinates, isAllDay) } return { height: appointmentHeight, width: width, top: top, left: left, empty: this._isAppointmentEmpty(cellHeight, width) } }; _proto._isAppointmentEmpty = function(height, width) { return height < this._getAppointmentMinHeight() || width < this._getAppointmentMinWidth() }; _proto._calculateGeometryConfig = function(coordinates) { var overlappingMode = this.maxAppointmentsPerCell; var offsets = this._getOffsets(); var appointmentDefaultOffset = this._getAppointmentDefaultOffset(); var appointmentCountPerCell = this._getAppointmentCount(overlappingMode, coordinates); var ratio = this._getDefaultRatio(coordinates, appointmentCountPerCell); var maxHeight = this._getMaxHeight(); if (!(0, _type.isNumeric)(appointmentCountPerCell)) { appointmentCountPerCell = coordinates.count; ratio = (maxHeight - offsets.unlimited) / maxHeight } var topOffset = (1 - ratio) * maxHeight; if ("auto" === overlappingMode || (0, _type.isNumeric)(overlappingMode)) { ratio = 1; maxHeight -= appointmentDefaultOffset; topOffset = appointmentDefaultOffset } return { height: ratio * maxHeight, appointmentCountPerCell: appointmentCountPerCell, offset: topOffset } }; _proto._getAppointmentCount = function() {}; _proto._getDefaultRatio = function() {}; _proto._getOffsets = function() {}; _proto._getMaxHeight = function() {}; _proto._needVerifyItemSize = function() { return false }; _proto._getMaxAppointmentCountPerCell = function() { if (!this._maxAppointmentCountPerCell) { var overlappingMode = this.maxAppointmentsPerCell; var appointmentCountPerCell; if ((0, _type.isNumeric)(overlappingMode)) { appointmentCountPerCell = overlappingMode } if ("auto" === overlappingMode) { appointmentCountPerCell = this._getDynamicAppointmentCountPerCell() } if ("unlimited" === overlappingMode) { appointmentCountPerCell = void 0 } this._maxAppointmentCountPerCell = appointmentCountPerCell } return this._maxAppointmentCountPerCell }; _proto._getDynamicAppointmentCountPerCell = function() { return this.getPositioningStrategy().getDynamicAppointmentCountPerCell() }; _proto.allDaySupported = function() { return false }; _proto._isCompactTheme = function() { return "compact" === ((0, _themes.current)() || "").split(".").pop() }; _proto._getAppointmentDefaultOffset = function() { return this.getPositioningStrategy().getAppointmentDefaultOffset() }; _proto._getAppointmentDefaultHeight = function() { return this._getAppointmentHeightByTheme() }; _proto._getAppointmentMinHeight = function() { return this._getAppointmentDefaultHeight() }; _proto._getAppointmentHeightByTheme = function() { return this._isCompactTheme() ? 18 : 20 }; _proto._getAppointmentDefaultWidth = function() { return this.getPositioningStrategy()._getAppointmentDefaultWidth() }; _proto._getAppointmentMinWidth = function() { return this._getAppointmentDefaultWidth() }; _proto._needVerticalGroupBounds = function() { return false }; _proto._needHorizontalGroupBounds = function() { return false }; _proto.getAppointmentDurationInMs = function(apptStartDate, apptEndDate, allDay) { if (allDay) { var appointmentDuration = apptEndDate.getTime() - apptStartDate.getTime(); var ceilQuantityOfDays = Math.ceil(appointmentDuration / toMs("day")); return ceilQuantityOfDays * this.visibleDayDuration } var msInHour = toMs("hour"); var trimmedStartDate = _date.default.trimTime(apptStartDate); var trimmedEndDate = _date.default.trimTime(apptEndDate); var deltaDate = trimmedEndDate - trimmedStartDate; var quantityOfDays = deltaDate / toMs("day") + 1; var dayVisibleHours = this.endDayHour - this.startDayHour; var appointmentDayHours = dayVisibleHours * quantityOfDays; var startHours = (apptStartDate - trimmedStartDate) / msInHour; var apptStartDelta = Math.max(0, startHours - this.startDayHour); var endHours = Math.max(0, (apptEndDate - trimmedEndDate) / msInHour - this.startDayHour); var apptEndDelta = Math.max(0, dayVisibleHours - endHours); var result = (appointmentDayHours - (apptStartDelta + apptEndDelta)) * msInHour; return result }; _proto.getPositionShift = function(timeShift, isAllDay) { return { top: timeShift * this.cellHeight, left: 0, cellPosition: 0 } }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(BaseRenderingStrategy, [{ key: "isAdaptive", get: function() { return this.options.adaptivityEnabled } }, { key: "rtlEnabled", get: function() { return this.options.rtlEnabled } }, { key: "startDayHour", get: function() { return this.options.startDayHour } }, { key: "endDayHour", get: function() { return this.options.endDayHour } }, { key: "maxAppointmentsPerCell", get: function() { return this.options.maxAppointmentsPerCell } }, { key: "cellWidth", get: function() { return this.options.cellWidth } }, { key: "cellHeight", get: function() { return this.options.cellHeight } }, { key: "allDayHeight", get: function() { return this.options.allDayHeight } }, { key: "resizableStep", get: function() { return this.options.resizableStep } }, { key: "isGroupedByDate", get: function() { return this.options.isGroupedByDate } }, { key: "visibleDayDuration", get: function() { return this.options.visibleDayDuration } }, { key: "viewStartDayHour", get: function() { return this.options.viewStartDayHour } }, { key: "viewEndDayHour", get: function() { return this.options.viewEndDayHour } }, { key: "cellDuration", get: function() { return this.options.cellDuration } }, { key: "cellDurationInMinutes", get: function() { return this.options.cellDurationInMinutes } }, { key: "leftVirtualCellCount", get: function() { return this.options.leftVirtualCellCount } }, { key: "topVirtualCellCount", get: function() { return this.options.topVirtualCellCount } }, { key: "positionHelper", get: function() { return this.options.positionHelper } }, { key: "showAllDayPanel", get: function() { return this.options.showAllDayPanel } }, { key: "isGroupedAllDayPanel", get: function() { return this.options.isGroupedAllDayPanel } }, { key: "groupOrientation", get: function() { return this.options.groupOrientation } }, { key: "rowCount", get: function() { return this.options.rowCount } }, { key: "groupCount", get: function() { return this.options.groupCount } }, { key: "currentDate", get: function() { return this.options.currentDate } }, { key: "appointmentCountPerCell", get: function() { return this.options.appointmentCountPerCell } }, { key: "appointmentOffset", get: function() { return this.options.appointmentOffset } }, { key: "allowResizing", get: function() { return this.options.allowResizing } }, { key: "allowAllDayResizing", get: function() { return this.options.allowAllDayResizing } }, { key: "viewDataProvider", get: function() { return this.options.viewDataProvider } }, { key: "dataAccessors", get: function() { return this.options.dataAccessors } }, { key: "timeZoneCalculator", get: function() { return this.options.timeZoneCalculator } }, { key: "intervalCount", get: function() { return this.options.intervalCount } }, { key: "allDayPanelMode", get: function() { return this.options.allDayPanelMode } }, { key: "isVirtualScrolling", get: function() { return this.options.isVirtualScrolling } }]); return BaseRenderingStrategy }(); var _default = BaseRenderingStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 69219: /*!***************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/rendering_strategies/strategy_agenda.js ***! \***************************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/date */ 91198)); var _iterator = __webpack_require__( /*! ../../../../core/utils/iterator */ 95479); var _strategy = _interopRequireDefault(__webpack_require__( /*! ./strategy.base */ 72097)); var _expressionUtils = __webpack_require__( /*! ../../expressionUtils */ 86474); var _utils = __webpack_require__( /*! ../../resources/utils */ 98140); var _appointmentAdapter = __webpack_require__( /*! ../../appointmentAdapter */ 5480); var _utils2 = __webpack_require__( /*! ../dataProvider/utils */ 11305); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var AgendaRenderingStrategy = function(_BaseRenderingStrateg) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(AgendaRenderingStrategy, _BaseRenderingStrateg); function AgendaRenderingStrategy() { return _BaseRenderingStrateg.apply(this, arguments) || this } var _proto = AgendaRenderingStrategy.prototype; _proto.getAppointmentMinSize = function() {}; _proto.getDeltaTime = function() {}; _proto.keepAppointmentSettings = function() { return true }; _proto.getAppointmentGeometry = function(geometry) { return geometry }; _proto.groupAppointmentByResources = function(appointments) { var groups = this.instance._getCurrentViewOption("groups"); var config = { loadedResources: this.options.loadedResources, resources: this.options.resources, dataAccessors: this.dataAccessors.resources }; return (0, _utils.groupAppointmentsByResources)(config, appointments, groups) }; _proto.createTaskPositionMap = function(appointments) { var height; var appointmentsByResources; this.calculateRows(appointments, this.agendaDuration, this.currentDate); if (appointments.length) { height = this.instance.fire("getAgendaVerticalStepHeight"); appointmentsByResources = this.groupAppointmentByResources(appointments); var groupedAppts = []; (0, _iterator.each)(appointmentsByResources, function(i, appts) { var additionalAppointments = []; var recurrentIndexes = []; (0, _iterator.each)(appts, function(index, appointment) { var recurrenceBatch = this.instance.getAppointmentsInstance()._processRecurrenceAppointment(appointment, index); var appointmentBatch = null; if (!recurrenceBatch.indexes.length) { appointmentBatch = this.instance.getAppointmentsInstance()._processLongAppointment(appointment); additionalAppointments = additionalAppointments.concat(appointmentBatch.parts) } additionalAppointments = additionalAppointments.concat(recurrenceBatch.parts); recurrentIndexes = recurrentIndexes.concat(recurrenceBatch.indexes) }.bind(this)); this.instance.getAppointmentsInstance()._reduceRecurrenceAppointments(recurrentIndexes, appts); this.instance.getAppointmentsInstance()._combineAppointments(appts, additionalAppointments); groupedAppts = groupedAppts.concat(appts) }.bind(this)); Array.prototype.splice.apply(appointments, [0, appointments.length].concat(groupedAppts)) } var result = []; var sortedIndex = 0; appointments.forEach(function(appt, index) { result.push([{ height: height, width: "100%", sortedIndex: sortedIndex++, groupIndex: this._calculateGroupIndex(index, appointmentsByResources), agendaSettings: appt.settings }]); delete appt.settings }.bind(this)); return result }; _proto._calculateGroupIndex = function(apptIndex, appointmentsByResources) { var resultInd; var counter = 0; for (var i in appointmentsByResources) { var countApptInGroup = appointmentsByResources[i].length; if (apptIndex >= counter && apptIndex < counter + countApptInGroup) { resultInd = Number(i); break } counter += countApptInGroup } return resultInd }; _proto._getDeltaWidth = function() {}; _proto._getAppointmentMaxWidth = function() { return this.cellWidth }; _proto._needVerifyItemSize = function() { return false }; _proto._getAppointmentParts = function() {}; _proto._reduceMultiWeekAppointment = function() {}; _proto.calculateAppointmentHeight = function() { return 0 }; _proto.calculateAppointmentWidth = function() { return 0 }; _proto.isAppointmentGreaterThan = function() {}; _proto.isAllDay = function() { return false }; _proto._sortCondition = function() {}; _proto._rowCondition = function() {}; _proto._columnCondition = function() {}; _proto._findIndexByKey = function() {}; _proto._markAppointmentAsVirtual = function() {}; _proto.getDropDownAppointmentWidth = function() {}; _proto.getCollectorLeftOffset = function() {}; _proto.getCollectorTopOffset = function() {}; _proto.replaceWrongAppointmentEndDate = function(rawAppointment, startDate, endDate) { var adapter = (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this.dataAccessors, this.timeZoneCalculator); (0, _utils2.replaceWrongEndDate)(adapter, startDate, endDate, this.cellDuration, this.dataAccessors) }; _proto.calculateRows = function(appointments, agendaDuration, currentDate, needClearSettings) { this._rows = []; currentDate = _date.default.trimTime(new Date(currentDate)); var groupedAppointments = this.groupAppointmentByResources(appointments); (0, _iterator.each)(groupedAppointments, function(_, currentAppointments) { var groupResult = []; var appts = { indexes: [], parts: [] }; if (!currentAppointments.length) { this._rows.push([]); return true }(0, _iterator.each)(currentAppointments, function(index, appointment) { var startDate = _expressionUtils.ExpressionUtils.getField(this.dataAccessors, "startDate", appointment); var endDate = _expressionUtils.ExpressionUtils.getField(this.dataAccessors, "endDate", appointment); this.replaceWrongAppointmentEndDate(appointment, startDate, endDate); needClearSettings && delete appointment.settings; var result = this.instance.getAppointmentsInstance()._processRecurrenceAppointment(appointment, index, false); appts.parts = appts.parts.concat(result.parts); appts.indexes = appts.indexes.concat(result.indexes) }.bind(this)); this.instance.getAppointmentsInstance()._reduceRecurrenceAppointments(appts.indexes, currentAppointments); currentAppointments.push.apply(currentAppointments, _toConsumableArray(appts.parts)); var appointmentCount = currentAppointments.length; for (var i = 0; i < agendaDuration; i++) { var day = new Date(currentDate); day.setMilliseconds(day.getMilliseconds() + 864e5 * i); if (void 0 === groupResult[i]) { groupResult[i] = 0 } for (var j = 0; j < appointmentCount; j++) { var appointmentData = currentAppointments[j].settings || currentAppointments[j]; var adapter = (0, _appointmentAdapter.createAppointmentAdapter)(currentAppointments[j], this.dataAccessors, this.timeZoneCalculator); var appointmentIsLong = (0, _utils2.getAppointmentTakesSeveralDays)(adapter); var appointmentIsRecurrence = _expressionUtils.ExpressionUtils.getField(this.dataAccessors, "recurrenceRule", currentAppointments[j]); if (this.instance.fire("dayHasAppointment", day, appointmentData, true) || !appointmentIsRecurrence && appointmentIsLong && this.instance.fire("dayHasAppointment", day, currentAppointments[j], true)) { groupResult[i] += 1 } } } this._rows.push(groupResult) }.bind(this)); return this._rows }; _proto._iterateRow = function(row, obj, index) { for (var i = 0; i < row.length; i++) { obj.counter = obj.counter + row[i]; if (obj.counter >= index) { obj.indexInRow = i; break } } }; _proto.getDateByIndex = function(index, rows, startViewDate) { var obj = { counter: 0, indexInRow: 0 }; index++; for (var i = 0; i < rows.length; i++) { this._iterateRow(rows[i], obj, index); if (obj.indexInRow) { break } } return new Date(new Date(startViewDate).setDate(startViewDate.getDate() + obj.indexInRow)) }; _proto.getAppointmentDataCalculator = function() { return function($appointment, originalStartDate) { var apptIndex = $appointment.index(); var startViewDate = this.instance.getStartViewDate(); var calculatedStartDate = this.getDateByIndex(apptIndex, this._rows, startViewDate); var wrappedOriginalStartDate = new Date(originalStartDate); return { startDate: new Date(calculatedStartDate.setHours(wrappedOriginalStartDate.getHours(), wrappedOriginalStartDate.getMinutes(), wrappedOriginalStartDate.getSeconds(), wrappedOriginalStartDate.getMilliseconds())) } }.bind(this) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AgendaRenderingStrategy, [{ key: "instance", get: function() { return this.options.instance } }, { key: "agendaDuration", get: function() { return this.options.agendaDuration } }]); return AgendaRenderingStrategy }(_strategy.default); var _default = AgendaRenderingStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 52359: /*!*******************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/rendering_strategies/strategy_horizontal.js ***! \*******************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _strategy = _interopRequireDefault(__webpack_require__( /*! ./strategy.base */ 72097)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/date */ 91198)); var _expressionUtils = __webpack_require__( /*! ../../expressionUtils */ 86474); var _getSkippedHoursInRange = _interopRequireDefault(__webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/appointments/utils/getSkippedHoursInRange */ 37009)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var toMs = _date.default.dateToMilliseconds; var HorizontalRenderingStrategy = function(_BaseAppointmentsStra) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(HorizontalRenderingStrategy, _BaseAppointmentsStra); function HorizontalRenderingStrategy() { return _BaseAppointmentsStra.apply(this, arguments) || this } var _proto = HorizontalRenderingStrategy.prototype; _proto._needVerifyItemSize = function() { return true }; _proto.calculateAppointmentWidth = function(appointment, position) { var cellWidth = this.cellWidth || this.getAppointmentMinSize(); var allDay = _expressionUtils.ExpressionUtils.getField(this.dataAccessors, "allDay", appointment); var startDate = position.info.appointment.startDate; var endDate = position.info.appointment.endDate; var normalizedEndDate = position.info.appointment.normalizedEndDate; var duration = this.getAppointmentDurationInMs(startDate, normalizedEndDate, allDay); duration = this._adjustDurationByDaylightDiff(duration, startDate, normalizedEndDate); var cellDuration = this.cellDurationInMinutes * toMs("minute"); var skippedHours = (0, _getSkippedHoursInRange.default)(startDate, endDate, this.viewDataProvider); var durationInCells = (duration - skippedHours * toMs("hour")) / cellDuration; var width = this.cropAppointmentWidth(durationInCells * cellWidth, cellWidth); return width }; _proto._needAdjustDuration = function(diff) { return diff < 0 }; _proto.getAppointmentGeometry = function(coordinates) { var result = this._customizeAppointmentGeometry(coordinates); return _BaseAppointmentsStra.prototype.getAppointmentGeometry.call(this, result) }; _proto._customizeAppointmentGeometry = function(coordinates) { var config = this._calculateGeometryConfig(coordinates); return this._customizeCoordinates(coordinates, config.height, config.appointmentCountPerCell, config.offset) }; _proto._getOffsets = function() { return { unlimited: 0, auto: 0 } }; _proto._getCompactLeftCoordinate = function(itemLeft, index) { var cellWidth = this.cellWidth || this.getAppointmentMinSize(); return itemLeft + cellWidth * index }; _proto._getMaxHeight = function() { return this.cellHeight || this.getAppointmentMinSize() }; _proto._getAppointmentCount = function(overlappingMode, coordinates) { return this._getMaxAppointmentCountPerCellByType(false) }; _proto._getAppointmentDefaultHeight = function() { return 60 }; _proto._getAppointmentMinHeight = function() { return 35 }; _proto._sortCondition = function(a, b) { return this._columnCondition(a, b) }; _proto._getOrientation = function() { return ["left", "right", "top"] }; _proto.getDropDownAppointmentWidth = function() { return this.cellWidth - 4 }; _proto.getDeltaTime = function(args, initialSize) { var deltaTime; var deltaWidth = args.width - initialSize.width; deltaTime = toMs("minute") * Math.round(deltaWidth / this.cellWidth * this.cellDurationInMinutes); return deltaTime }; _proto.isAllDay = function(appointmentData) { return _expressionUtils.ExpressionUtils.getField(this.dataAccessors, "allDay", appointmentData) }; _proto._isItemsCross = function(firstItem, secondItem) { var orientation = this._getOrientation(); return this._checkItemsCrossing(firstItem, secondItem, orientation) }; _proto.getPositionShift = function(timeShift) { var positionShift = _BaseAppointmentsStra.prototype.getPositionShift.call(this, timeShift); var left = this.cellWidth * timeShift; if (this.rtlEnabled) { left *= -1 } left += positionShift.left; return { top: 0, left: left, cellPosition: left } }; _proto.supportCompactDropDownAppointments = function() { return false }; return HorizontalRenderingStrategy }(_strategy.default); var _default = HorizontalRenderingStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 71991: /*!*************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/rendering_strategies/strategy_horizontal_month.js ***! \*************************************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _strategy_horizontal_month_line = _interopRequireDefault(__webpack_require__( /*! ./strategy_horizontal_month_line */ 34794)); var _positionHelper = __webpack_require__( /*! ../../workspaces/helpers/positionHelper */ 69576); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/date */ 91198)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var toMs = _date.default.dateToMilliseconds; var HorizontalMonthRenderingStrategy = function(_HorizontalMonthLineR) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(HorizontalMonthRenderingStrategy, _HorizontalMonthLineR); function HorizontalMonthRenderingStrategy() { return _HorizontalMonthLineR.apply(this, arguments) || this } var _proto = HorizontalMonthRenderingStrategy.prototype; _proto._getLeftPosition = function(settings) { var fullWeekAppointmentWidth = this.getGroupWidth(settings.groupIndex); return this._calculateMultiWeekAppointmentLeftOffset(settings.hMax, fullWeekAppointmentWidth) }; _proto._getChunkCount = function(fullChunksWidth, firstChunkWidth, weekWidth, settings) { var groupIndex = settings.groupIndex, startDate = settings.info.appointment.startDate; var rawFullChunksWidth = fullChunksWidth - firstChunkWidth + weekWidth; var allChunksCount = Math.ceil(rawFullChunksWidth / weekWidth); var viewRowIndex = this._tryGetRowIndexInView(startDate); if (void 0 !== viewRowIndex) { var viewChunksCount = this.viewDataProvider.getRowCountInGroup(groupIndex); var allowedChunksCount = viewChunksCount - viewRowIndex; return allChunksCount <= allowedChunksCount ? allChunksCount : allowedChunksCount } return allChunksCount }; _proto._tryGetRowIndexInView = function(positionStartDate) { var _this$options$dataRan; var columnsCount = this.viewDataProvider.getColumnsCount(); if ((null === (_this$options$dataRan = this.options.dataRange) || void 0 === _this$options$dataRan ? void 0 : _this$options$dataRan.length) < 1 || !columnsCount) { return } var _this$options$dateRan = _slicedToArray(this.options.dateRange, 1), startViewDate = _this$options$dateRan[0]; var dayDurationMs = toMs("day"); var timeFromStart = positionStartDate.getTime() - startViewDate.getTime(); return Math.floor(timeFromStart / dayDurationMs / columnsCount) }; _proto._getChunkWidths = function(geometry) { var firstChunkWidth = geometry.reducedWidth; var fullChunksWidth = Math.floor(geometry.sourceAppointmentWidth); var widthWithoutFirstChunk = fullChunksWidth - firstChunkWidth; return [firstChunkWidth, fullChunksWidth, widthWithoutFirstChunk] }; _proto._getTailChunkSettings = function(withoutFirstChunkWidth, weekWidth, leftPosition) { var tailChunkWidth = withoutFirstChunkWidth % weekWidth || weekWidth; var rtlPosition = leftPosition + (weekWidth - tailChunkWidth); var tailChunkLeftPosition = this.rtlEnabled ? rtlPosition : leftPosition; return [tailChunkWidth, tailChunkLeftPosition] }; _proto._getAppointmentParts = function(geometry, settings) { var result = []; var weekWidth = Math.round(this.getGroupWidth(settings.groupIndex)); var _this$_getChunkWidths = this._getChunkWidths(geometry, settings, weekWidth), _this$_getChunkWidths2 = _slicedToArray(_this$_getChunkWidths, 3), firstChunkWidth = _this$_getChunkWidths2[0], fullChunksWidth = _this$_getChunkWidths2[1], withoutFirstChunkWidth = _this$_getChunkWidths2[2]; var leftPosition = this._getLeftPosition(settings); var hasTailChunk = this.endViewDate > settings.info.appointment.endDate; var chunkCount = this._getChunkCount(fullChunksWidth, firstChunkWidth, weekWidth, settings); var _this$_getTailChunkSe = this._getTailChunkSettings(withoutFirstChunkWidth, weekWidth, leftPosition), _this$_getTailChunkSe2 = _slicedToArray(_this$_getTailChunkSe, 2), tailChunkWidth = _this$_getTailChunkSe2[0], tailChunkLeftPosition = _this$_getTailChunkSe2[1]; for (var chunkIndex = 1; chunkIndex < chunkCount; chunkIndex++) { var topPosition = settings.top + this.cellHeight * chunkIndex; var isTailChunk = hasTailChunk && chunkIndex === chunkCount - 1; result.push(_extends({}, settings, { top: topPosition, left: isTailChunk ? tailChunkLeftPosition : leftPosition, height: geometry.height, width: isTailChunk ? tailChunkWidth : weekWidth, appointmentReduced: isTailChunk ? "tail" : "body", rowIndex: ++settings.rowIndex, columnIndex: 0 })) } return result }; _proto._calculateMultiWeekAppointmentLeftOffset = function(max, width) { return this.rtlEnabled ? max : max - width }; _proto.getGroupWidth = function(groupIndex) { return (0, _positionHelper.getGroupWidth)(groupIndex, this.viewDataProvider, { intervalCount: this.options.intervalCount, currentDate: this.options.currentDate, viewType: this.options.viewType, hoursInterval: this.options.hoursInterval, startDayHour: this.options.startDayHour, endDayHour: this.options.endDayHour, isVirtualScrolling: this.isVirtualScrolling, rtlEnabled: this.rtlEnabled, DOMMetaData: this.DOMMetaData }) }; _proto._getAppointmentDefaultHeight = function() { return this._getAppointmentHeightByTheme() }; _proto._getAppointmentMinHeight = function() { return this._getAppointmentDefaultHeight() }; _proto._columnCondition = function(a, b) { var conditions = this._getConditions(a, b); return conditions.rowCondition || conditions.columnCondition || conditions.cellPositionCondition }; _proto.createTaskPositionMap = function(items) { return _HorizontalMonthLineR.prototype.createTaskPositionMap.call(this, items, true) }; _proto._getSortedPositions = function(map) { return _HorizontalMonthLineR.prototype._getSortedPositions.call(this, map, true) }; _proto._getDefaultRatio = function() { return .6 }; _proto._getOffsets = function() { return { unlimited: 26, auto: 30 } }; _proto.getDropDownAppointmentWidth = function(intervalCount) { if (this.adaptivityEnabled) { return this.getDropDownButtonAdaptiveSize() } var offset = intervalCount > 1 ? 60 : 36; return this.cellWidth - offset }; _proto.needCorrectAppointmentDates = function() { return false }; _proto._needVerticalGroupBounds = function() { return false }; _proto._needHorizontalGroupBounds = function() { return true }; _proto.getPositionShift = function(timeShift) { return { cellPosition: timeShift * this.cellWidth, top: 0, left: 0 } }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(HorizontalMonthRenderingStrategy, [{ key: "endViewDate", get: function() { return this.options.endViewDate } }, { key: "adaptivityEnabled", get: function() { return this.options.adaptivityEnabled } }, { key: "DOMMetaData", get: function() { return this.options.DOMMetaData } }]); return HorizontalMonthRenderingStrategy }(_strategy_horizontal_month_line.default); var _default = HorizontalMonthRenderingStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 34794: /*!******************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/rendering_strategies/strategy_horizontal_month_line.js ***! \******************************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _strategy_horizontal = _interopRequireDefault(__webpack_require__( /*! ./strategy_horizontal */ 52359)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/date */ 91198)); var _query = _interopRequireDefault(__webpack_require__( /*! ../../../../data/query */ 96687)); var _utils = __webpack_require__( /*! ../dataProvider/utils */ 11305); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var HorizontalMonthLineRenderingStrategy = function(_HorizontalAppointmen) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(HorizontalMonthLineRenderingStrategy, _HorizontalAppointmen); function HorizontalMonthLineRenderingStrategy() { return _HorizontalAppointmen.apply(this, arguments) || this } var _proto = HorizontalMonthLineRenderingStrategy.prototype; _proto.calculateAppointmentWidth = function(appointment, position) { var startDate = _date.default.trimTime(position.info.appointment.startDate); var normalizedEndDate = position.info.appointment.normalizedEndDate; var cellWidth = this.cellWidth || this.getAppointmentMinSize(); var duration = Math.ceil(this._getDurationInDays(startDate, normalizedEndDate)); var width = this.cropAppointmentWidth(duration * cellWidth, cellWidth); if (this.isVirtualScrolling) { var skippedDays = this.viewDataProvider.getSkippedDaysCount(position.groupIndex, startDate, normalizedEndDate, duration); width -= skippedDays * cellWidth } return width }; _proto._getDurationInDays = function(startDate, endDate) { var adjustedDuration = this._adjustDurationByDaylightDiff(endDate.getTime() - startDate.getTime(), startDate, endDate); return adjustedDuration / _date.default.dateToMilliseconds("day") || 1 }; _proto.getDeltaTime = function(args, initialSize) { return 864e5 * this._getDeltaWidth(args, initialSize) }; _proto.isAllDay = function() { return false }; _proto.createTaskPositionMap = function(items, skipSorting) { if (!skipSorting) { (0, _utils.sortAppointmentsByStartDate)(items, this.dataAccessors) } return _HorizontalAppointmen.prototype.createTaskPositionMap.call(this, items) }; _proto._getSortedPositions = function(map, skipSorting) { var result = _HorizontalAppointmen.prototype._getSortedPositions.call(this, map); if (!skipSorting) { result = (0, _query.default)(result).sortBy("top").thenBy("left").thenBy("cellPosition").thenBy("i").toArray() } return result }; _proto.needCorrectAppointmentDates = function() { return false }; _proto.getPositionShift = function() { return { top: 0, left: 0, cellPosition: 0 } }; return HorizontalMonthLineRenderingStrategy }(_strategy_horizontal.default); var _default = HorizontalMonthLineRenderingStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 27845: /*!*****************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/rendering_strategies/strategy_vertical.js ***! \*****************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _strategy = _interopRequireDefault(__webpack_require__( /*! ./strategy.base */ 72097)); var _extend = __webpack_require__( /*! ../../../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../../../core/utils/type */ 35922); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/date */ 91198)); var _utils = _interopRequireDefault(__webpack_require__( /*! ../../utils.timeZone */ 32511)); var _expressionUtils = __webpack_require__( /*! ../../expressionUtils */ 86474); var _appointmentAdapter = __webpack_require__( /*! ../../appointmentAdapter */ 5480); var _getSkippedHoursInRange = _interopRequireDefault(__webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/appointments/utils/getSkippedHoursInRange */ 37009)); var _getAppointmentTakesAllDay = __webpack_require__( /*! ../../../../renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay */ 96801); var _math = __webpack_require__( /*! ../../../../core/utils/math */ 60810); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var toMs = _date.default.dateToMilliseconds; var VerticalRenderingStrategy = function(_BaseAppointmentsStra) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(VerticalRenderingStrategy, _BaseAppointmentsStra); function VerticalRenderingStrategy() { return _BaseAppointmentsStra.apply(this, arguments) || this } var _proto = VerticalRenderingStrategy.prototype; _proto.getDeltaTime = function(args, initialSize, appointment) { var deltaTime = 0; if (this.isAllDay(appointment)) { deltaTime = this._getDeltaWidth(args, initialSize) * toMs("day") } else { var deltaHeight = args.height - initialSize.height; deltaTime = toMs("minute") * Math.round(deltaHeight / this.cellHeight * this.cellDurationInMinutes) } return deltaTime }; _proto._correctCollectorCoordinatesInAdaptive = function(coordinates, isAllDay) { if (isAllDay) { _BaseAppointmentsStra.prototype._correctCollectorCoordinatesInAdaptive.call(this, coordinates, isAllDay) } else if (0 === this._getMaxAppointmentCountPerCellByType()) { var cellHeight = this.cellHeight; var cellWidth = this.cellWidth; coordinates.top += (cellHeight - this.getDropDownButtonAdaptiveSize()) / 2; coordinates.left += (cellWidth - this.getDropDownButtonAdaptiveSize()) / 2 } }; _proto.getAppointmentGeometry = function(coordinates) { var geometry = null; if (coordinates.allDay) { geometry = this._getAllDayAppointmentGeometry(coordinates) } else { geometry = this.isAdaptive && coordinates.isCompact ? this._getAdaptiveGeometry(coordinates) : this._getVerticalAppointmentGeometry(coordinates) } return _BaseAppointmentsStra.prototype.getAppointmentGeometry.call(this, geometry) }; _proto._getAdaptiveGeometry = function(coordinates) { var config = this._calculateGeometryConfig(coordinates); return this._customizeCoordinates(coordinates, config.height, config.appointmentCountPerCell, config.offset) }; _proto._getItemPosition = function(appointment) { var allDay = this.isAllDay(appointment); if (allDay) { return _BaseAppointmentsStra.prototype._getItemPosition.call(this, appointment) } var adapter = (0, _appointmentAdapter.createAppointmentAdapter)(appointment, this.dataAccessors, this.timeZoneCalculator); var isRecurring = !!adapter.recurrenceRule; var appointmentStartDate = adapter.calculateStartDate("toGrid"); var appointmentEndDate = adapter.calculateEndDate("toGrid"); var appointmentDuration = appointmentEndDate - appointmentStartDate; var appointmentBeginInCurrentView = this.options.startViewDate < appointmentStartDate; var isAppointmentTakesSeveralDays = !_utils.default.isSameAppointmentDates(appointmentStartDate, appointmentEndDate); var settings = this.generateAppointmentSettings(appointment); var result = []; for (var j = 0; j < settings.length; j++) { var currentSetting = settings[j]; var height = this.calculateAppointmentHeight(appointment, currentSetting); var width = this.calculateAppointmentWidth(appointment, currentSetting); var resultHeight = height; var appointmentReduced = null; var multiDaysAppointmentParts = []; var currentMaxAllowedPosition = currentSetting.vMax; if (this._isMultiViewAppointment(currentSetting, height) || isAppointmentTakesSeveralDays && !isRecurring) { var trimmedStartDate = _date.default.trimTime(appointmentStartDate); var trimmedSettingStartDate = _date.default.trimTime(currentSetting.info.appointment.startDate); var reduceHead = trimmedStartDate <= trimmedSettingStartDate || isRecurring; if (reduceHead) { resultHeight = this._reduceMultiDayAppointment(height, { top: currentSetting.top, bottom: currentMaxAllowedPosition }); multiDaysAppointmentParts = this._getAppointmentParts({ sourceAppointmentHeight: height, reducedHeight: resultHeight, width: width }, currentSetting) } var _currentSetting$info$ = currentSetting.info.appointment, currentSettingStartDate = _currentSetting$info$.startDate, currentSettingNormalizedEndDate = _currentSetting$info$.normalizedEndDate; var currentSettingDuration = currentSettingNormalizedEndDate - currentSettingStartDate; var hasNextParts = currentSettingDuration < appointmentDuration; appointmentReduced = hasNextParts ? appointmentBeginInCurrentView ? "head" : "body" : appointmentBeginInCurrentView ? "head" : "tail" }(0, _extend.extend)(currentSetting, { height: resultHeight, width: width, allDay: allDay, appointmentReduced: appointmentReduced }); result = this._getAppointmentPartsPosition(multiDaysAppointmentParts, currentSetting, result) } return result }; _proto._isMultiViewAppointment = function(_ref, height) { var vMax = _ref.vMax, top = _ref.top; var fullAppointmentHeight = (0, _math.roundFloatPart)(height, 2); var remainingHeight = (0, _math.roundFloatPart)(vMax - top, 2); return fullAppointmentHeight > remainingHeight }; _proto._reduceMultiDayAppointment = function(sourceAppointmentHeight, bound) { return Math.min(sourceAppointmentHeight, bound.bottom - Math.floor(bound.top)) }; _proto._getGroupHeight = function() { return this.cellHeight * this.rowCount }; _proto._getGroupTopOffset = function(appointmentSettings) { var groupIndex = appointmentSettings.groupIndex; var groupTop = Math.max(0, this.positionHelper.getGroupTop({ groupIndex: groupIndex, showAllDayPanel: this.showAllDayPanel, isGroupedAllDayPanel: this.isGroupedAllDayPanel })); var allDayPanelOffset = this.positionHelper.getOffsetByAllDayPanel({ groupIndex: groupIndex, supportAllDayRow: this.allDaySupported(), showAllDayPanel: this.showAllDayPanel }); var appointmentGroupTopOffset = appointmentSettings.top - groupTop - allDayPanelOffset; return appointmentGroupTopOffset }; _proto._getTailHeight = function(appointmentGeometry, appointmentSettings) { if (!this.isVirtualScrolling) { return appointmentGeometry.sourceAppointmentHeight - appointmentGeometry.reducedHeight } var appointmentGroupTopOffset = this._getGroupTopOffset(appointmentSettings); var sourceAppointmentHeight = appointmentGeometry.sourceAppointmentHeight; var groupHeight = this._getGroupHeight(); var tailHeight = appointmentGroupTopOffset + sourceAppointmentHeight - groupHeight; return tailHeight }; _proto._getAppointmentParts = function(appointmentGeometry, appointmentSettings) { var width = appointmentGeometry.width; var result = []; var currentPartTop = Math.max(0, this.positionHelper.getGroupTop({ groupIndex: appointmentSettings.groupIndex, showAllDayPanel: this.showAllDayPanel, isGroupedAllDayPanel: this.isGroupedAllDayPanel })); var cellsDiff = this.isGroupedByDate ? this.groupCount : 1; var offset = this.cellWidth * cellsDiff; var allDayPanelOffset = this.positionHelper.getOffsetByAllDayPanel({ groupIndex: appointmentSettings.groupIndex, supportAllDayRow: this.allDaySupported(), showAllDayPanel: this.showAllDayPanel }); currentPartTop += allDayPanelOffset; var minHeight = this.getAppointmentMinSize(); var vMax = appointmentSettings.vMax, hMax = appointmentSettings.hMax; var hasTailPart = this.options.endViewDate > appointmentSettings.info.appointment.endDate; var left = Math.round(appointmentSettings.left + offset); var tailHeight = this._getTailHeight(appointmentGeometry, appointmentSettings); while (tailHeight > 0 && left < hMax) { tailHeight = Math.max(minHeight, tailHeight); var columnIndex = appointmentSettings.columnIndex + cellsDiff; var height = Math.min(tailHeight, vMax); result.push(_extends({}, appointmentSettings, { top: currentPartTop, left: left, height: height, width: width, appointmentReduced: "body", rowIndex: 0, columnIndex: columnIndex })); left += offset; tailHeight -= vMax } if (hasTailPart && result.length > 0) { result[result.length - 1].appointmentReduced = "tail" } return result }; _proto._getMinuteHeight = function() { return this.cellHeight / this.cellDurationInMinutes }; _proto._getCompactLeftCoordinate = function(itemLeft, index) { var cellWidth = this.cellWidth || this.getAppointmentMinSize(); return itemLeft + (1 + cellWidth) * index }; _proto._getVerticalAppointmentGeometry = function(coordinates) { var config = this._calculateVerticalGeometryConfig(coordinates); return this._customizeVerticalCoordinates(coordinates, config.width, config.appointmentCountPerCell, config.offset) }; _proto._customizeVerticalCoordinates = function(coordinates, width, appointmentCountPerCell, topOffset, isAllDay) { var appointmentWidth = Math.max(width / appointmentCountPerCell, width / coordinates.count); var height = coordinates.height; var appointmentLeft = coordinates.left + coordinates.index * appointmentWidth; var top = coordinates.top; if (coordinates.isCompact) { this._markAppointmentAsVirtual(coordinates, isAllDay) } return { height: height, width: appointmentWidth, top: top, left: appointmentLeft, empty: this._isAppointmentEmpty(height, width) } }; _proto._calculateVerticalGeometryConfig = function(coordinates) { var overlappingMode = this.maxAppointmentsPerCell; var offsets = this._getOffsets(); var appointmentDefaultOffset = this._getAppointmentDefaultOffset(); var appointmentCountPerCell = this._getAppointmentCount(overlappingMode, coordinates); var ratio = this._getDefaultRatio(coordinates, appointmentCountPerCell); var maxWidth = this._getMaxWidth(); if (!appointmentCountPerCell) { appointmentCountPerCell = coordinates.count; ratio = (maxWidth - offsets.unlimited) / maxWidth } var topOffset = (1 - ratio) * maxWidth; if ("auto" === overlappingMode || (0, _type.isNumeric)(overlappingMode)) { ratio = 1; maxWidth -= appointmentDefaultOffset; topOffset = 0 } return { width: ratio * maxWidth, appointmentCountPerCell: appointmentCountPerCell, offset: topOffset } }; _proto._getMaxWidth = function() { return this.cellWidth }; _proto.isAllDay = function(appointmentData) { return (0, _getAppointmentTakesAllDay.getAppointmentTakesAllDay)((0, _appointmentAdapter.createAppointmentAdapter)(appointmentData, this.dataAccessors, this.timeZoneCalculator), this.startDayHour, this.endDayHour, this.allDayPanelMode) }; _proto._getAppointmentMaxWidth = function() { return this.cellWidth - this._getAppointmentDefaultOffset() }; _proto.calculateAppointmentWidth = function(appointment, position) { if (!this.isAllDay(appointment)) { return 0 } var startDate = _date.default.trimTime(position.info.appointment.startDate); var normalizedEndDate = position.info.appointment.normalizedEndDate; var cellWidth = this.cellWidth || this.getAppointmentMinSize(); var durationInHours = (normalizedEndDate.getTime() - startDate.getTime()) / toMs("hour"); var skippedHours = (0, _getSkippedHoursInRange.default)(position.info.appointment.startDate, position.info.appointment.endDate, this.viewDataProvider); var width = Math.ceil((durationInHours - skippedHours) / 24) * cellWidth; width = this.cropAppointmentWidth(width, cellWidth); return width }; _proto.calculateAppointmentHeight = function(appointment, position) { if (this.isAllDay(appointment)) { return 0 } var startDate = position.info.appointment.startDate; var normalizedEndDate = position.info.appointment.normalizedEndDate; var allDay = _expressionUtils.ExpressionUtils.getField(this.dataAccessors, "allDay", appointment); var duration = this.getAppointmentDurationInMs(startDate, normalizedEndDate, allDay); var durationInMinutes = this._adjustDurationByDaylightDiff(duration, startDate, normalizedEndDate) / toMs("minute"); var height = durationInMinutes * this._getMinuteHeight(); return height }; _proto.getDirection = function() { return "vertical" }; _proto._sortCondition = function(a, b) { var allDayCondition = a.allDay - b.allDay; var isAllDay = a.allDay && b.allDay; var condition = "vertical" === this.groupOrientation && isAllDay ? this._columnCondition(a, b) : this._rowCondition(a, b); return allDayCondition ? allDayCondition : condition }; _proto.allDaySupported = function() { return true }; _proto._getAllDayAppointmentGeometry = function(coordinates) { var config = this._calculateGeometryConfig(coordinates); return this._customizeCoordinates(coordinates, config.height, config.appointmentCountPerCell, config.offset, true) }; _proto._calculateGeometryConfig = function(coordinates) { if (!this.allowResizing || !this.allowAllDayResizing) { coordinates.skipResizing = true } var config = _BaseAppointmentsStra.prototype._calculateGeometryConfig.call(this, coordinates); var minAppointmentCountPerCell = Math.min(config.appointmentCountPerCell, this._getDynamicAppointmentCountPerCell().allDay); if (coordinates.allDay && coordinates.count <= minAppointmentCountPerCell) { config.offset = 0 } return config }; _proto._getAppointmentCount = function(overlappingMode, coordinates) { return "auto" !== overlappingMode && 1 === coordinates.count && !(0, _type.isNumeric)(overlappingMode) ? coordinates.count : this._getMaxAppointmentCountPerCellByType(coordinates.allDay) }; _proto._getDefaultRatio = function(coordinates, appointmentCountPerCell) { return coordinates.count > this.appointmentCountPerCell ? .65 : 1 }; _proto._getOffsets = function() { return { unlimited: 5, auto: 20 } }; _proto._getMaxHeight = function() { return this.allDayHeight || this.getAppointmentMinSize() }; _proto._needVerticalGroupBounds = function(allDay) { return !allDay }; _proto._needHorizontalGroupBounds = function() { return false }; _proto.getPositionShift = function(timeShift, isAllDay) { if (!isAllDay && this.isAdaptive && 0 === this._getMaxAppointmentCountPerCellByType(isAllDay)) { return { top: 0, left: 0, cellPosition: 0 } } return _BaseAppointmentsStra.prototype.getPositionShift.call(this, timeShift, isAllDay) }; return VerticalRenderingStrategy }(_strategy.default); var _default = VerticalRenderingStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 10142: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/rendering_strategies/strategy_week.js ***! \*************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _strategy_vertical = (obj = __webpack_require__( /*! ./strategy_vertical */ 27845), obj && obj.__esModule ? obj : { default: obj }); var obj; function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var WeekAppointmentRenderingStrategy = function(_VerticalRenderingStr) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(WeekAppointmentRenderingStrategy, _VerticalRenderingStr); function WeekAppointmentRenderingStrategy() { return _VerticalRenderingStr.apply(this, arguments) || this } var _proto = WeekAppointmentRenderingStrategy.prototype; _proto.isApplyCompactAppointmentOffset = function() { if (this.isAdaptive && 0 === this._getMaxAppointmentCountPerCellByType()) { return false } return this.supportCompactDropDownAppointments() }; return WeekAppointmentRenderingStrategy }(_strategy_vertical.default); var _default = WeekAppointmentRenderingStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 13658: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/resizing/core.js ***! \****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getAppointmentDateRange = void 0; var _utils = __webpack_require__( /*! ./utils */ 74920); function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var getAppointmentLeftCell = function(options) { var cellHeight = options.cellHeight, cellWidth = options.cellWidth, viewDataProvider = options.viewDataProvider, relativeAppointmentRect = options.relativeAppointmentRect, appointmentSettings = options.appointmentSettings, rtlEnabled = options.rtlEnabled; var cellRowIndex = Math.floor(relativeAppointmentRect.top / cellHeight); var cellColumnIndex = Math.round(relativeAppointmentRect.left / cellWidth); var leftCell = viewDataProvider.getCellData(cellRowIndex, cellColumnIndex, appointmentSettings.allDay, rtlEnabled); return leftCell }; exports.getAppointmentDateRange = function(options) { var appointmentSettings = options.appointmentSettings; var relativeAppointmentRect = (appointmentRect = options.appointmentRect, parentAppointmentRect = options.parentAppointmentRect, left = appointmentRect.left - parentAppointmentRect.left, top = appointmentRect.top - parentAppointmentRect.top, width = left < 0 ? appointmentRect.width + left : appointmentRect.width, height = top < 0 ? appointmentRect.height + top : appointmentRect.height, { left: Math.max(0, left), top: Math.max(0, top), width: width, height: height }); var appointmentRect, parentAppointmentRect, left, top, width, height; var cellInfo = function(options) { var appointmentSettings = options.appointmentSettings, isVerticalGroupedWorkSpace = options.isVerticalGroupedWorkSpace, DOMMetaData = options.DOMMetaData; var DOMMetaTable = appointmentSettings.allDay && !isVerticalGroupedWorkSpace ? [DOMMetaData.allDayPanelCellsMeta] : DOMMetaData.dateTableCellsMeta; var positionByMap = appointmentSettings.positionByMap; var _DOMMetaTable$positio = DOMMetaTable[positionByMap.rowIndex][positionByMap.columnIndex], cellHeight = _DOMMetaTable$positio.height, cellWidth = _DOMMetaTable$positio.width; var cellCountInRow = DOMMetaTable[positionByMap.rowIndex].length; return { cellWidth: cellWidth, cellHeight: cellHeight, cellCountInRow: cellCountInRow } }(options); var considerTime = !options.isDateAndTimeView || appointmentSettings.allDay; var extendedOptions = _extends({}, options, cellInfo, { considerTime: considerTime, relativeAppointmentRect: relativeAppointmentRect }); return !options.rtlEnabled ? function(options) { var cellWidth = options.cellWidth, cellCountInRow = options.cellCountInRow, relativeAppointmentRect = options.relativeAppointmentRect, viewDataProvider = options.viewDataProvider, appointmentSettings = options.appointmentSettings, handles = options.handles; var appointmentFirstCell = getAppointmentLeftCell(options); var appointmentCellsAmount = Math.round(relativeAppointmentRect.width / cellWidth); var appointmentLastCellIndex = appointmentFirstCell.index + (appointmentCellsAmount - 1); var _appointmentSettings$ = appointmentSettings.info, allDay = _appointmentSettings$.allDay, sourceAppointment = _appointmentSettings$.sourceAppointment; if (handles.left) { var startDate = (0, _utils.normalizeStartDate)(options, appointmentFirstCell.startDate, sourceAppointment.startDate); return { startDate: startDate, endDate: sourceAppointment.endDate } } var appointmentRowIndex = Math.floor(appointmentLastCellIndex / cellCountInRow); var appointmentColumnIndex = appointmentLastCellIndex % cellCountInRow; var appointmentLastCell = viewDataProvider.getCellData(appointmentRowIndex, appointmentColumnIndex, allDay); var endDate = !options.considerTime ? appointmentLastCell.endDate : appointmentLastCell.startDate; endDate = (0, _utils.normalizeEndDate)(options, endDate, sourceAppointment.endDate); return { startDate: sourceAppointment.startDate, endDate: endDate } }(extendedOptions) : function(options) { var viewDataProvider = options.viewDataProvider, cellCountInRow = options.cellCountInRow, appointmentSettings = options.appointmentSettings, handles = options.handles, cellWidth = options.cellWidth, relativeAppointmentRect = options.relativeAppointmentRect; var appointmentLastCell = getAppointmentLeftCell(options); var _appointmentSettings$2 = appointmentSettings.info, allDay = _appointmentSettings$2.allDay, sourceAppointment = _appointmentSettings$2.sourceAppointment; if (handles.right) { var appointmentLastCellIndex = appointmentLastCell.index; var appointmentCellsAmount = Math.round(relativeAppointmentRect.width / cellWidth); var appointmentFirstCellIndex = appointmentLastCellIndex - appointmentCellsAmount + 1; var appointmentRowIndex = Math.floor(appointmentLastCellIndex / cellCountInRow); var appointmentFirstCell = viewDataProvider.getCellData(appointmentRowIndex, appointmentFirstCellIndex, allDay, true); var startDate = (0, _utils.normalizeStartDate)(options, appointmentFirstCell.startDate, sourceAppointment.endDate); return { startDate: startDate, endDate: sourceAppointment.endDate } } var endDate = !options.considerTime ? appointmentLastCell.endDate : appointmentLastCell.startDate; endDate = (0, _utils.normalizeEndDate)(options, endDate, sourceAppointment.endDate); return { startDate: sourceAppointment.startDate, endDate: endDate } }(extendedOptions) } }, 74920: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/resizing/utils.js ***! \*****************************************************************************************/ function(__unused_webpack_module, exports) { exports.normalizeStartDate = exports.normalizeEndDate = void 0; var normalizeDate = function(options, date, sourceDate, isStartDate) { if (!options.considerTime) { return date } var result = new Date(date); result.setHours(sourceDate.getHours(), sourceDate.getMinutes(), sourceDate.getSeconds()); var startDayHour = options.startDayHour, endDayHour = options.endDayHour, allDay = options.appointmentSettings.allDay; var minDate = new Date(date); var maxDate = new Date(date); minDate.setHours(startDayHour, 0, 0, 0); maxDate.setHours(endDayHour, 0, 0, 0); var isDateOutInterval = isStartDate ? result < minDate.getTime() || result >= maxDate.getTime() : result <= minDate.getTime() || result > maxDate.getTime(); if (isDateOutInterval) { result = !allDay ? maxDate : minDate } return result }; exports.normalizeStartDate = function(options, startDate, sourceStartDate) { return normalizeDate(options, startDate, sourceStartDate, true) }; exports.normalizeEndDate = function(options, endDate, sourceEndDate) { return normalizeDate(options, endDate, sourceEndDate, false) } }, 4236: /*!********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/settingsGenerator.js ***! \********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.DateGeneratorVirtualStrategy = exports.DateGeneratorBaseStrategy = exports.AppointmentSettingsGenerator = void 0; var _date = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/date */ 91198)); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _recurrence = __webpack_require__( /*! ../recurrence */ 88609); var _utils = _interopRequireDefault(__webpack_require__( /*! ../utils.timeZone */ 32511)); var _utils2 = __webpack_require__( /*! ../resources/utils */ 98140); var _appointmentAdapter = __webpack_require__( /*! ../appointmentAdapter */ 5480); var _cellPositionCalculator = __webpack_require__( /*! ./cellPositionCalculator */ 18986); var _expressionUtils = __webpack_require__( /*! ../expressionUtils */ 86474); var _base = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _textUtils = __webpack_require__( /*! ./textUtils */ 36816); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || _unsupportedIterableToArray(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || _unsupportedIterableToArray(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _unsupportedIterableToArray(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor } var toMs = _date.default.dateToMilliseconds; var DateGeneratorBaseStrategy = function() { function DateGeneratorBaseStrategy(options) { this.options = options } var _proto = DateGeneratorBaseStrategy.prototype; _proto.getIntervalDuration = function() { return this.appointmentTakesAllDay ? this.options.allDayIntervalDuration : this.options.intervalDuration }; _proto.generate = function(appointmentAdapter) { var itemGroupIndices = this._getGroupIndices(this.rawAppointment); var appointmentList = this._createAppointments(appointmentAdapter, itemGroupIndices); appointmentList = this._getProcessedByAppointmentTimeZone(appointmentList, appointmentAdapter); if (this._canProcessNotNativeTimezoneDates(appointmentAdapter)) { appointmentList = this._getProcessedNotNativeTimezoneDates(appointmentList, appointmentAdapter) } var dateSettings = this._createGridAppointmentList(appointmentList, appointmentAdapter); var firstViewDates = this._getAppointmentsFirstViewDate(dateSettings); this._fillNormalizedStartDate(dateSettings, firstViewDates); dateSettings = this._cropAppointmentsByStartDayHour(dateSettings, firstViewDates, this.rawAppointment); dateSettings = this._fillNormalizedEndDate(dateSettings, this.rawAppointment); if (this._needSeparateLongParts()) { dateSettings = this._separateLongParts(dateSettings, appointmentAdapter) } var isRecurrent = appointmentAdapter.isRecurrent; return { dateSettings: dateSettings, itemGroupIndices: itemGroupIndices, isRecurrent: isRecurrent } }; _proto._getProcessedByAppointmentTimeZone = function(appointmentList, appointment) { var _this = this; var hasAppointmentTimeZone = !(0, _type.isEmptyObject)(appointment.startDateTimeZone) || !(0, _type.isEmptyObject)(appointment.endDateTimeZone); if (hasAppointmentTimeZone) { var appointmentOffsets = { startDate: this.timeZoneCalculator.getOffsets(appointment.startDate, appointment.startDateTimeZone), endDate: this.timeZoneCalculator.getOffsets(appointment.endDate, appointment.endDateTimeZone) }; appointmentList.forEach((function(a) { var sourceOffsets_startDate = _this.timeZoneCalculator.getOffsets(a.startDate, appointment.startDateTimeZone), sourceOffsets_endDate = _this.timeZoneCalculator.getOffsets(a.endDate, appointment.endDateTimeZone); var startDateOffsetDiff = appointmentOffsets.startDate.appointment - sourceOffsets_startDate.appointment; var endDateOffsetDiff = appointmentOffsets.endDate.appointment - sourceOffsets_endDate.appointment; if (sourceOffsets_startDate.appointment !== sourceOffsets_startDate.common) { a.startDate = new Date(a.startDate.getTime() + startDateOffsetDiff * toMs("hour")) } if (sourceOffsets_endDate.appointment !== sourceOffsets_endDate.common) { a.endDate = new Date(a.endDate.getTime() + endDateOffsetDiff * toMs("hour")) } })) } return appointmentList }; _proto._createAppointments = function(appointment, groupIndices) { var appointments = this._createRecurrenceAppointments(appointment, groupIndices); if (!appointment.isRecurrent && 0 === appointments.length) { appointments.push({ startDate: appointment.startDate, endDate: appointment.endDate }) } appointments = appointments.map((function(item) { var _item$endDate; var resultEndTime = null === (_item$endDate = item.endDate) || void 0 === _item$endDate ? void 0 : _item$endDate.getTime(); if (item.startDate.getTime() === resultEndTime) { item.endDate.setTime(resultEndTime + toMs("minute")) } return _extends({}, item, { exceptionDate: new Date(item.startDate) }) })); return appointments }; _proto._canProcessNotNativeTimezoneDates = function(appointment) { var isTimeZoneSet = !(0, _type.isEmptyObject)(this.timeZone); if (!isTimeZoneSet) { return false } if (!appointment.isRecurrent) { return false } return !_utils.default.isEqualLocalTimeZone(this.timeZone, appointment.startDate) }; _proto._getProcessedNotNativeDateIfCrossDST = function(date, offset) { if (offset < 0) { var newDate = new Date(date); var newDateMinusOneHour = new Date(newDate); newDateMinusOneHour.setHours(newDateMinusOneHour.getHours() - 1); var newDateOffset = this.timeZoneCalculator.getOffsets(newDate).common; var newDateMinusOneHourOffset = this.timeZoneCalculator.getOffsets(newDateMinusOneHour).common; if (newDateOffset !== newDateMinusOneHourOffset) { return 0 } } return offset }; _proto._getCommonOffset = function(date) { return this.timeZoneCalculator.getOffsets(date).common }; _proto._getProcessedNotNativeTimezoneDates = function(appointmentList, appointment) { var _this2 = this; return appointmentList.map((function(item) { var diffStartDateOffset = _this2._getCommonOffset(appointment.startDate) - _this2._getCommonOffset(item.startDate); var diffEndDateOffset = _this2._getCommonOffset(appointment.endDate) - _this2._getCommonOffset(item.endDate); if (0 === diffStartDateOffset && 0 === diffEndDateOffset) { return item } diffStartDateOffset = _this2._getProcessedNotNativeDateIfCrossDST(item.startDate, diffStartDateOffset); diffEndDateOffset = _this2._getProcessedNotNativeDateIfCrossDST(item.endDate, diffEndDateOffset); var newStartDate = new Date(item.startDate.getTime() + diffStartDateOffset * toMs("hour")); var newEndDate = new Date(item.endDate.getTime() + diffEndDateOffset * toMs("hour")); var testNewStartDate = _this2.timeZoneCalculator.createDate(newStartDate, { path: "toGrid" }); var testNewEndDate = _this2.timeZoneCalculator.createDate(newEndDate, { path: "toGrid" }); if (appointment.duration > testNewEndDate.getTime() - testNewStartDate.getTime()) { newEndDate = new Date(newStartDate.getTime() + appointment.duration) } return _extends({}, item, { startDate: newStartDate, endDate: newEndDate, exceptionDate: new Date(newStartDate) }) })) }; _proto._needSeparateLongParts = function() { return this.isVerticalOrientation ? this.isGroupedByDate : this.isGroupedByDate && this.appointmentTakesAllDay }; _proto.normalizeEndDateByViewEnd = function(rawAppointment, endDate) { var result = new Date(endDate.getTime()); var isAllDay = (0, _base.isDateAndTimeView)(this.viewType) && this.appointmentTakesAllDay; if (!isAllDay) { var roundedEndViewDate = _date.default.roundToHour(this.endViewDate); if (result > roundedEndViewDate) { result = roundedEndViewDate } } var endDayHour = this.viewEndDayHour; var allDay = _expressionUtils.ExpressionUtils.getField(this.dataAccessors, "allDay", rawAppointment); var currentViewEndTime = new Date(new Date(endDate.getTime()).setHours(endDayHour, 0, 0, 0)); if (result.getTime() > currentViewEndTime.getTime() || allDay && result.getHours() < endDayHour) { result = currentViewEndTime } return result }; _proto._fillNormalizedEndDate = function(dateSettings, rawAppointment) { var _this3 = this; return dateSettings.map((function(item) { var endDate = item.endDate; var normalizedEndDate = _this3.normalizeEndDateByViewEnd(rawAppointment, endDate); return _extends({}, item, { normalizedEndDate: normalizedEndDate }) })) }; _proto._separateLongParts = function(gridAppointmentList, appointmentAdapter) { var _this4 = this; var result = []; gridAppointmentList.forEach((function(gridAppointment) { var maxDate = new Date(_this4.dateRange[1]); var endDateOfPart = gridAppointment.normalizedEndDate; var longStartDateParts = _date.default.getDatesOfInterval(gridAppointment.startDate, endDateOfPart, { milliseconds: _this4.getIntervalDuration(_this4.appointmentTakesAllDay) }); var list = longStartDateParts.filter((function(startDatePart) { return new Date(startDatePart) < maxDate })).map((function(date) { var endDate = new Date(new Date(date).setMilliseconds(appointmentAdapter.duration)); var normalizedEndDate = _this4.normalizeEndDateByViewEnd(_this4.rawAppointment, endDate); return { startDate: date, endDate: endDate, normalizedEndDate: normalizedEndDate, source: gridAppointment.source } })); result = result.concat(list) })); return result }; _proto._createGridAppointmentList = function(appointmentList, appointmentAdapter) { var _this5 = this; return appointmentList.map((function(source) { var offsetDifference = appointmentAdapter.startDate.getTimezoneOffset() - source.startDate.getTimezoneOffset(); if (0 !== offsetDifference && _this5._canProcessNotNativeTimezoneDates(appointmentAdapter)) { source.startDate = new Date(source.startDate.getTime() + offsetDifference * toMs("minute")); source.endDate = new Date(source.endDate.getTime() + offsetDifference * toMs("minute")); source.exceptionDate = new Date(source.startDate) } var startDate = _this5.timeZoneCalculator.createDate(source.startDate, { path: "toGrid" }); var endDate = _this5.timeZoneCalculator.createDate(source.endDate, { path: "toGrid" }); return { startDate: startDate, endDate: endDate, allDay: appointmentAdapter.allDay || false, source: source } })) }; _proto._createExtremeRecurrenceDates = function() { var startViewDate = this.appointmentTakesAllDay ? _date.default.trimTime(this.dateRange[0]) : this.dateRange[0]; var endViewDateByEndDayHour = this.dateRange[1]; if (this.timeZone) { startViewDate = this.timeZoneCalculator.createDate(startViewDate, { path: "fromGrid" }); endViewDateByEndDayHour = this.timeZoneCalculator.createDate(endViewDateByEndDayHour, { path: "fromGrid" }); var daylightOffset = _utils.default.getDaylightOffsetInMs(startViewDate, endViewDateByEndDayHour); if (daylightOffset) { endViewDateByEndDayHour = new Date(endViewDateByEndDayHour.getTime() + daylightOffset) } } return [startViewDate, endViewDateByEndDayHour] }; _proto._createRecurrenceOptions = function(appointment, groupIndex) { var _this6 = this; var _this$_createExtremeR = this._createExtremeRecurrenceDates(groupIndex), _this$_createExtremeR2 = _slicedToArray(_this$_createExtremeR, 2), minRecurrenceDate = _this$_createExtremeR2[0], maxRecurrenceDate = _this$_createExtremeR2[1]; return { rule: appointment.recurrenceRule, exception: appointment.recurrenceException, min: minRecurrenceDate, max: maxRecurrenceDate, firstDayOfWeek: this.firstDayOfWeek, start: appointment.startDate, end: appointment.endDate, appointmentTimezoneOffset: this.timeZoneCalculator.getOriginStartDateOffsetInMs(appointment.startDate, appointment.rawAppointment.startDateTimeZone, true), getPostProcessedException: function(date) { if ((0, _type.isEmptyObject)(_this6.timeZone) || _utils.default.isEqualLocalTimeZone(_this6.timeZone, date)) { return date } var appointmentOffset = _this6.timeZoneCalculator.getOffsets(appointment.startDate).common; var exceptionAppointmentOffset = _this6.timeZoneCalculator.getOffsets(date).common; var diff = appointmentOffset - exceptionAppointmentOffset; diff = _this6._getProcessedNotNativeDateIfCrossDST(date, diff); return new Date(date.getTime() - diff * _date.default.dateToMilliseconds("hour")) } } }; _proto._createRecurrenceAppointments = function(appointment, groupIndices) { var duration = appointment.duration; var option = this._createRecurrenceOptions(appointment); var generatedStartDates = (0, _recurrence.getRecurrenceProcessor)().generateDates(option); return generatedStartDates.map((function(date) { var utcDate = _utils.default.createUTCDateWithLocalOffset(date); utcDate.setTime(utcDate.getTime() + duration); var endDate = _utils.default.createDateFromUTCWithLocalOffset(utcDate); return { startDate: new Date(date), endDate: endDate } })) }; _proto._getAppointmentsFirstViewDate = function(appointments) { var _this7 = this; return appointments.map((function(appointment) { return _this7._getAppointmentFirstViewDate(appointment) })) }; _proto._fillNormalizedStartDate = function(appointments, firstViewDates, rawAppointment) { var _this8 = this; appointments.forEach((function(appointment, idx) { appointment.startDate = _this8._getAppointmentResultDate({ appointment: appointment, rawAppointment: rawAppointment, startDate: new Date(appointment.startDate), startDayHour: _this8.viewStartDayHour, firstViewDate: firstViewDates[idx] }) })) }; _proto._cropAppointmentsByStartDayHour = function(appointments, firstViewDates) { var _this9 = this; return appointments.filter((function(appointment, idx) { if (!firstViewDates[idx]) { return false } else if (_this9.appointmentTakesAllDay) { return true } return appointment.endDate > appointment.startDate })) }; _proto._getAppointmentResultDate = function(options) { var appointment = options.appointment, startDayHour = options.startDayHour, firstViewDate = options.firstViewDate; var startDate = options.startDate; var resultDate; if (this.appointmentTakesAllDay) { resultDate = _date.default.normalizeDate(startDate, firstViewDate) } else { if (startDate < firstViewDate) { startDate = firstViewDate } resultDate = _date.default.normalizeDate(appointment.startDate, startDate) } return !this.isDateAppointment ? _date.default.roundDateByStartDayHour(resultDate, startDayHour) : resultDate }; _proto._getAppointmentFirstViewDate = function(appointment) { var groupIndex = appointment.source.groupIndex || 0; var startDate = appointment.startDate, endDate = appointment.endDate; if (this.isAllDayRowAppointment || appointment.allDay) { return this.viewDataProvider.findAllDayGroupCellStartDate(groupIndex, startDate) } return this.viewDataProvider.findGroupCellStartDate(groupIndex, startDate, endDate, this.isDateAppointment) }; _proto._getGroupIndices = function(rawAppointment) { var _this10 = this; var result = []; if (rawAppointment && this.loadedResources.length) { var tree = (0, _utils2.createResourcesTree)(this.loadedResources); result = (0, _utils2.getResourceTreeLeaves)((function(field, action) { return (0, _utils2.getDataAccessors)(_this10.options.dataAccessors.resources, field, action) }), tree, rawAppointment) } return result }; _createClass(DateGeneratorBaseStrategy, [{ key: "rawAppointment", get: function() { return this.options.rawAppointment } }, { key: "timeZoneCalculator", get: function() { return this.options.timeZoneCalculator } }, { key: "viewDataProvider", get: function() { return this.options.viewDataProvider } }, { key: "appointmentTakesAllDay", get: function() { return this.options.appointmentTakesAllDay } }, { key: "supportAllDayRow", get: function() { return this.options.supportAllDayRow } }, { key: "isAllDayRowAppointment", get: function() { return this.options.isAllDayRowAppointment } }, { key: "timeZone", get: function() { return this.options.timeZone } }, { key: "dateRange", get: function() { return this.options.dateRange } }, { key: "firstDayOfWeek", get: function() { return this.options.firstDayOfWeek } }, { key: "viewStartDayHour", get: function() { return this.options.viewStartDayHour } }, { key: "viewEndDayHour", get: function() { return this.options.viewEndDayHour } }, { key: "endViewDate", get: function() { return this.options.endViewDate } }, { key: "viewType", get: function() { return this.options.viewType } }, { key: "isGroupedByDate", get: function() { return this.options.isGroupedByDate } }, { key: "isVerticalOrientation", get: function() { return this.options.isVerticalGroupOrientation } }, { key: "dataAccessors", get: function() { return this.options.dataAccessors } }, { key: "loadedResources", get: function() { return this.options.loadedResources } }, { key: "isDateAppointment", get: function() { return !(0, _base.isDateAndTimeView)(this.viewType) && this.appointmentTakesAllDay } }]); return DateGeneratorBaseStrategy }(); exports.DateGeneratorBaseStrategy = DateGeneratorBaseStrategy; var DateGeneratorVirtualStrategy = function(_DateGeneratorBaseStr) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DateGeneratorVirtualStrategy, _DateGeneratorBaseStr); function DateGeneratorVirtualStrategy() { return _DateGeneratorBaseStr.apply(this, arguments) || this } var _proto2 = DateGeneratorVirtualStrategy.prototype; _proto2._createRecurrenceAppointments = function(appointment, groupIndices) { var _this11 = this; var duration = appointment.duration; var result = []; var validGroupIndices = this.groupCount ? groupIndices : [0]; validGroupIndices.forEach((function(groupIndex) { var option = _this11._createRecurrenceOptions(appointment, groupIndex); var generatedStartDates = (0, _recurrence.getRecurrenceProcessor)().generateDates(option); var recurrentInfo = generatedStartDates.map((function(date) { var startDate = new Date(date); var utcDate = _utils.default.createUTCDateWithLocalOffset(date); utcDate.setTime(utcDate.getTime() + duration); var endDate = _utils.default.createDateFromUTCWithLocalOffset(utcDate); return { startDate: startDate, endDate: endDate, groupIndex: groupIndex } })); result.push.apply(result, _toConsumableArray(recurrentInfo)) })); return result }; _proto2._updateGroupIndices = function(appointments, groupIndices) { var _this12 = this; var result = []; groupIndices.forEach((function(groupIndex) { var groupStartDate = _this12.viewDataProvider.getGroupStartDate(groupIndex); if (groupStartDate) { appointments.forEach((function(appointment) { var appointmentCopy = (0, _extend.extend)({}, appointment); appointmentCopy.groupIndex = groupIndex; result.push(appointmentCopy) })) } })); return result }; _proto2._getGroupIndices = function(resources) { var _groupIndices; var groupIndices = _DateGeneratorBaseStr.prototype._getGroupIndices.call(this, resources); var viewDataGroupIndices = this.viewDataProvider.getGroupIndices(); if (!(null !== (_groupIndices = groupIndices) && void 0 !== _groupIndices && _groupIndices.length)) { groupIndices = [0] } return groupIndices.filter((function(groupIndex) { return -1 !== viewDataGroupIndices.indexOf(groupIndex) })) }; _proto2._createAppointments = function(appointment, groupIndices) { var appointments = _DateGeneratorBaseStr.prototype._createAppointments.call(this, appointment, groupIndices); return !appointment.isRecurrent ? this._updateGroupIndices(appointments, groupIndices) : appointments }; _createClass(DateGeneratorVirtualStrategy, [{ key: "groupCount", get: function() { return (0, _utils2.getGroupCount)(this.loadedResources) } }]); return DateGeneratorVirtualStrategy }(DateGeneratorBaseStrategy); exports.DateGeneratorVirtualStrategy = DateGeneratorVirtualStrategy; var AppointmentSettingsGenerator = function() { function AppointmentSettingsGenerator(options) { this.options = options; this.appointmentAdapter = (0, _appointmentAdapter.createAppointmentAdapter)(this.rawAppointment, this.dataAccessors, this.timeZoneCalculator) } var _proto3 = AppointmentSettingsGenerator.prototype; _proto3.create = function() { var _this$_generateDateSe = this._generateDateSettings(), dateSettings = _this$_generateDateSe.dateSettings, itemGroupIndices = _this$_generateDateSe.itemGroupIndices, isRecurrent = _this$_generateDateSe.isRecurrent; var cellPositions = this._calculateCellPositions(dateSettings, itemGroupIndices); var result = this._prepareAppointmentInfos(dateSettings, cellPositions, isRecurrent); return result }; _proto3._generateDateSettings = function() { return this.dateSettingsStrategy.generate(this.appointmentAdapter) }; _proto3._calculateCellPositions = function(dateSettings, itemGroupIndices) { var cellPositionCalculator = new _cellPositionCalculator.CellPositionCalculator(_extends({}, this.options, { dateSettings: dateSettings })); return cellPositionCalculator.calculateCellPositions(itemGroupIndices, this.isAllDayRowAppointment, this.appointmentAdapter.isRecurrent) }; _proto3._prepareAppointmentInfos = function(dateSettings, cellPositions, isRecurrent) { var _this13 = this; var infos = []; cellPositions.forEach((function(_ref) { var coordinates = _ref.coordinates, dateSettingIndex = _ref.dateSettingIndex; var dateSetting = dateSettings[dateSettingIndex]; var dateText = _this13._getAppointmentDateText(dateSetting); var info = { appointment: dateSetting, sourceAppointment: dateSetting.source, dateText: dateText, isRecurrent: isRecurrent }; infos.push(_extends({}, coordinates, { info: info })) })); return infos }; _proto3._getAppointmentDateText = function(sourceAppointment) { var startDate = sourceAppointment.startDate, endDate = sourceAppointment.endDate, allDay = sourceAppointment.allDay; return (0, _textUtils.createFormattedDateText)({ startDate: startDate, endDate: endDate, allDay: allDay, format: "TIME" }) }; _createClass(AppointmentSettingsGenerator, [{ key: "rawAppointment", get: function() { return this.options.rawAppointment } }, { key: "dataAccessors", get: function() { return this.options.dataAccessors } }, { key: "timeZoneCalculator", get: function() { return this.options.timeZoneCalculator } }, { key: "isAllDayRowAppointment", get: function() { return this.options.appointmentTakesAllDay && this.options.supportAllDayRow } }, { key: "groups", get: function() { return this.options.groups } }, { key: "dateSettingsStrategy", get: function() { var options = _extends({}, this.options, { isAllDayRowAppointment: this.isAllDayRowAppointment }); return this.options.isVirtualScrolling ? new DateGeneratorVirtualStrategy(options) : new DateGeneratorBaseStrategy(options) } }]); return AppointmentSettingsGenerator }(); exports.AppointmentSettingsGenerator = AppointmentSettingsGenerator }, 36816: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/textUtils.js ***! \************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getFormatType = exports.formatDates = exports.createFormattedDateText = void 0; var _date = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/date */ 91198)); var _date2 = _interopRequireDefault(__webpack_require__( /*! ../../../localization/date */ 91500)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } exports.createFormattedDateText = function(options) { var startDate = options.startDate, endDate = options.endDate, allDay = options.allDay, format = options.format; var formatType = format || getFormatType(startDate, endDate, allDay); return formatDates(startDate, endDate, formatType) }; var getFormatType = function(startDate, endDate, isAllDay, isDateAndTimeView) { if (isAllDay) { return "DATE" } if (isDateAndTimeView && _date.default.sameDate(startDate, endDate)) { return "TIME" } return "DATETIME" }; exports.getFormatType = getFormatType; var formatDates = function(startDate, endDate, formatType) { var isSameDate = startDate.getDate() === endDate.getDate(); switch (formatType) { case "DATETIME": return [_date2.default.format(startDate, "monthandday"), " ", _date2.default.format(startDate, "shorttime"), " - ", isSameDate ? "" : _date2.default.format(endDate, "monthandday") + " ", _date2.default.format(endDate, "shorttime")].join(""); case "TIME": return "".concat(_date2.default.format(startDate, "shorttime"), " - ").concat(_date2.default.format(endDate, "shorttime")); case "DATE": return "".concat(_date2.default.format(startDate, "monthandday")).concat(isSameDate ? "" : " - " + _date2.default.format(endDate, "monthandday")) } }; exports.formatDates = formatDates }, 1307: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/appointments/viewModelGenerator.js ***! \*********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.AppointmentViewModelGenerator = void 0; var _strategy_vertical = _interopRequireDefault(__webpack_require__( /*! ./rendering_strategies/strategy_vertical */ 27845)); var _strategy_week = _interopRequireDefault(__webpack_require__( /*! ./rendering_strategies/strategy_week */ 10142)); var _strategy_horizontal = _interopRequireDefault(__webpack_require__( /*! ./rendering_strategies/strategy_horizontal */ 52359)); var _strategy_horizontal_month_line = _interopRequireDefault(__webpack_require__( /*! ./rendering_strategies/strategy_horizontal_month_line */ 34794)); var _strategy_horizontal_month = _interopRequireDefault(__webpack_require__( /*! ./rendering_strategies/strategy_horizontal_month */ 71991)); var _strategy_agenda = _interopRequireDefault(__webpack_require__( /*! ./rendering_strategies/strategy_agenda */ 69219)); var _utils = __webpack_require__( /*! ../../../renovation/ui/scheduler/appointment/utils */ 84154); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var RENDERING_STRATEGIES = { horizontal: _strategy_horizontal.default, horizontalMonth: _strategy_horizontal_month.default, horizontalMonthLine: _strategy_horizontal_month_line.default, vertical: _strategy_vertical.default, week: _strategy_week.default, agenda: _strategy_agenda.default }; var AppointmentViewModelGenerator = function() { function AppointmentViewModelGenerator() {} var _proto = AppointmentViewModelGenerator.prototype; _proto.initRenderingStrategy = function(options) { var RenderingStrategy = RENDERING_STRATEGIES[options.appointmentRenderingStrategyName]; this.renderingStrategy = new RenderingStrategy(options) }; _proto.generate = function(filteredItems, options) { var isRenovatedAppointments = options.isRenovatedAppointments; var appointments = filteredItems ? filteredItems.slice() : []; this.initRenderingStrategy(options); var renderingStrategy = this.getRenderingStrategy(); var positionMap = renderingStrategy.createTaskPositionMap(appointments); var viewModel = this.postProcess(appointments, positionMap, isRenovatedAppointments); if (isRenovatedAppointments) { return this.makeRenovatedViewModels(viewModel, options.supportAllDayRow, options.isVerticalGroupOrientation) } return { positionMap: positionMap, viewModel: viewModel } }; _proto.postProcess = function(filteredItems, positionMap, isRenovatedAppointments) { var renderingStrategy = this.getRenderingStrategy(); return filteredItems.map((function(data, index) { if (!renderingStrategy.keepAppointmentSettings()) { delete data.settings } var appointmentSettings = positionMap[index]; appointmentSettings.forEach((function(item) { item.direction = "vertical" === renderingStrategy.getDirection() && !item.allDay ? "vertical" : "horizontal" })); var item = { itemData: data, settings: appointmentSettings }; if (!isRenovatedAppointments) { item.needRepaint = true; item.needRemove = false } return item })) }; _proto.makeRenovatedViewModels = function(viewModel, supportAllDayRow, isVerticalGrouping) { var _this = this; var strategy = this.getRenderingStrategy(); var regularViewModels = []; var allDayViewModels = []; var compactOptions = []; var isAllDayPanel = supportAllDayRow && !isVerticalGrouping; viewModel.forEach((function(_ref) { var itemData = _ref.itemData, settings = _ref.settings; settings.forEach((function(options) { var item = _this.prepareViewModel(options, strategy, itemData); if (options.isCompact) { compactOptions.push({ compactViewModel: options.virtual, appointmentViewModel: item }) } else if (options.allDay && isAllDayPanel) { allDayViewModels.push(item) } else { regularViewModels.push(item) } })) })); var compactViewModels = this.prepareCompactViewModels(compactOptions, supportAllDayRow); var result = _extends({ allDay: allDayViewModels, regular: regularViewModels }, compactViewModels); return result }; _proto.prepareViewModel = function(options, strategy, itemData) { var geometry = strategy.getAppointmentGeometry(options); var viewModel = { key: (0, _utils.getAppointmentKey)(geometry), appointment: itemData, geometry: _extends({}, geometry, { leftVirtualWidth: options.leftVirtualWidth, topVirtualHeight: options.topVirtualHeight }), info: _extends({}, options.info, { allDay: options.allDay, direction: options.direction, appointmentReduced: options.appointmentReduced, groupIndex: options.groupIndex }) }; return viewModel }; _proto.getCompactViewModelFrame = function(compactViewModel) { return { isAllDay: !!compactViewModel.isAllDay, isCompact: compactViewModel.isCompact, groupIndex: compactViewModel.groupIndex, geometry: { left: compactViewModel.left, top: compactViewModel.top, width: compactViewModel.width, height: compactViewModel.height }, items: { colors: [], data: [], settings: [] } } }; _proto.prepareCompactViewModels = function(compactOptions, supportAllDayRow) { var _this2 = this; var regularCompact = {}; var allDayCompact = {}; compactOptions.forEach((function(_ref2) { var compactViewModel = _ref2.compactViewModel, appointmentViewModel = _ref2.appointmentViewModel; var index = compactViewModel.index, isAllDay = compactViewModel.isAllDay; var viewModel = isAllDay && supportAllDayRow ? allDayCompact : regularCompact; if (!viewModel[index]) { viewModel[index] = _this2.getCompactViewModelFrame(compactViewModel) } var _viewModel$index$item = viewModel[index].items, settings = _viewModel$index$item.settings, data = _viewModel$index$item.data, colors = _viewModel$index$item.colors; settings.push(appointmentViewModel); data.push(appointmentViewModel.appointment); colors.push(appointmentViewModel.info.resourceColor) })); var toArray = function(items) { return Object.keys(items).map((function(key) { return _extends({ key: key }, items[key]) })) }; var allDayViewModels = toArray(allDayCompact); var regularViewModels = toArray(regularCompact); return { allDayCompact: allDayViewModels, regularCompact: regularViewModels } }; _proto.getRenderingStrategy = function() { return this.renderingStrategy }; return AppointmentViewModelGenerator }(); exports.AppointmentViewModelGenerator = AppointmentViewModelGenerator }, 99068: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/base/widgetObserver.js ***! \*********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ../../widget/ui.widget */ 14390), obj && obj.__esModule ? obj : { default: obj }); var obj; function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var WidgetObserver = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(WidgetObserver, _Widget); function WidgetObserver() { return _Widget.apply(this, arguments) || this } var _proto = WidgetObserver.prototype; _proto.notifyObserver = function(subject, args) { var observer = this.option("observer"); if (observer) { observer.fire(subject, args) } }; _proto.invoke = function() { var observer = this.option("observer"); if (observer) { return observer.fire.apply(observer, arguments) } }; return WidgetObserver }(_ui.default); var _default = WidgetObserver; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 62060: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/classes.js ***! \*********************************************************************/ function(__unused_webpack_module, exports) { exports.VIRTUAL_CELL_CLASS = exports.VERTICAL_GROUP_COUNT_CLASSES = exports.TIME_PANEL_CLASS = exports.REDUCED_APPOINTMENT_PARTS_CLASSES = exports.REDUCED_APPOINTMENT_ICON = exports.REDUCED_APPOINTMENT_CLASS = exports.RECURRENCE_APPOINTMENT_CLASS = exports.LAST_GROUP_CELL_CLASS = exports.HEADER_CURRENT_TIME_CELL_CLASS = exports.GROUP_ROW_CLASS = exports.GROUP_HEADER_CONTENT_CLASS = exports.FIXED_CONTAINER_CLASS = exports.FIRST_GROUP_CELL_CLASS = exports.EMPTY_APPOINTMENT_CLASS = exports.DIRECTION_APPOINTMENT_CLASSES = exports.DATE_TABLE_ROW_CLASS = exports.DATE_TABLE_CLASS = exports.APPOINTMENT_ITEM_CLASS = exports.APPOINTMENT_DRAG_SOURCE_CLASS = exports.APPOINTMENT_CONTENT_CLASSES = exports.ALL_DAY_APPOINTMENT_CLASS = exports.AGENDA_LAST_IN_DATE_APPOINTMENT_CLASS = void 0; exports.FIXED_CONTAINER_CLASS = "dx-scheduler-fixed-appointments"; exports.REDUCED_APPOINTMENT_CLASS = "dx-scheduler-appointment-reduced"; exports.REDUCED_APPOINTMENT_ICON = "dx-scheduler-appointment-reduced-icon"; exports.RECURRENCE_APPOINTMENT_CLASS = "dx-scheduler-appointment-recurrence"; exports.EMPTY_APPOINTMENT_CLASS = "dx-scheduler-appointment-empty"; exports.ALL_DAY_APPOINTMENT_CLASS = "dx-scheduler-all-day-appointment"; exports.REDUCED_APPOINTMENT_PARTS_CLASSES = { head: "dx-scheduler-appointment-head", body: "dx-scheduler-appointment-body", tail: "dx-scheduler-appointment-tail" }; exports.DIRECTION_APPOINTMENT_CLASSES = { horizontal: "dx-scheduler-appointment-horizontal", vertical: "dx-scheduler-appointment-vertical" }; exports.APPOINTMENT_DRAG_SOURCE_CLASS = "dx-scheduler-appointment-drag-source"; exports.APPOINTMENT_ITEM_CLASS = "dx-scheduler-appointment"; exports.APPOINTMENT_CONTENT_CLASSES = { APPOINTMENT_CONTENT_DETAILS: "dx-scheduler-appointment-content-details", RECURRING_ICON: "dx-scheduler-appointment-recurrence-icon", APPOINTMENT_TITLE: "dx-scheduler-appointment-title", APPOINTMENT_DATE: "dx-scheduler-appointment-content-date", ALL_DAY_CONTENT: "dx-scheduler-appointment-content-allday", ITEM: "dx-scheduler-appointment", AGENDA_MARKER: "dx-scheduler-agenda-appointment-marker", AGENDA_RESOURCE_LIST: "dx-scheduler-appointment-resource-list", AGENDA_RESOURCE_LIST_ITEM: "dx-scheduler-appointment-resource-item", AGENDA_RESOURCE_LIST_ITEM_VALUE: "dx-scheduler-appointment-resource-item-value" }; exports.AGENDA_LAST_IN_DATE_APPOINTMENT_CLASS = "dx-scheduler-last-in-date-agenda-appointment"; exports.HEADER_CURRENT_TIME_CELL_CLASS = "dx-scheduler-header-panel-current-time-cell"; exports.VIRTUAL_CELL_CLASS = "dx-scheduler-virtual-cell"; exports.TIME_PANEL_CLASS = "dx-scheduler-time-panel"; exports.DATE_TABLE_CLASS = "dx-scheduler-date-table"; exports.DATE_TABLE_ROW_CLASS = "dx-scheduler-date-table-row"; exports.GROUP_ROW_CLASS = "dx-scheduler-group-row"; exports.GROUP_HEADER_CONTENT_CLASS = "dx-scheduler-group-header-content"; exports.LAST_GROUP_CELL_CLASS = "dx-scheduler-last-group-cell"; exports.FIRST_GROUP_CELL_CLASS = "dx-scheduler-first-group-cell"; exports.VERTICAL_GROUP_COUNT_CLASSES = ["dx-scheduler-group-column-count-one", "dx-scheduler-group-column-count-two", "dx-scheduler-group-column-count-three"] }, 12090: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/compactAppointmentsHelper.js ***! \***************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.CompactAppointmentsHelper = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _button = _interopRequireDefault(__webpack_require__( /*! ../button */ 63008)); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _function_template = __webpack_require__( /*! ../../core/templates/function_template */ 68494); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _position = __webpack_require__( /*! ../../core/utils/position */ 37518); var _dataStructures = __webpack_require__( /*! ./dataStructures */ 6678); var _constants = __webpack_require__( /*! ./constants */ 27728); var _appointmentAdapter = __webpack_require__( /*! ./appointmentAdapter */ 5480); var _utils = __webpack_require__( /*! ../../renovation/ui/scheduler/appointment/overflow_indicator/utils */ 86553); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var CompactAppointmentsHelper = function() { function CompactAppointmentsHelper(instance) { this.instance = instance; this.elements = [] } var _proto = CompactAppointmentsHelper.prototype; _proto.render = function(options) { var isCompact = options.isCompact, items = options.items, buttonColor = options.buttonColor; var template = this._createTemplate(items.data.length, isCompact); var button = this._createCompactButton(template, options); var $button = button.$element(); this._makeBackgroundColor($button, items.colors, buttonColor); this._makeBackgroundDarker($button); this.elements.push($button); $button.data("items", this._createTooltipInfos(items)); return $button }; _proto.clear = function() { this.elements.forEach((function(button) { button.detach(); button.remove() })); this.elements = [] }; _proto._createTooltipInfos = function(items) { var _this = this; return items.data.map((function(appointment, index) { var _items$settings; var targetedAdapter = (0, _appointmentAdapter.createAppointmentAdapter)(appointment, _this.instance._dataAccessors, _this.instance.timeZoneCalculator).clone(); if ((null === (_items$settings = items.settings) || void 0 === _items$settings ? void 0 : _items$settings.length) > 0) { var info = items.settings[index].info; targetedAdapter.startDate = info.sourceAppointment.startDate; targetedAdapter.endDate = info.sourceAppointment.endDate } return new _dataStructures.AppointmentTooltipInfo(appointment, targetedAdapter.source(), items.colors[index], items.settings[index]) })) }; _proto._onButtonClick = function(e, options) { var $button = (0, _renderer.default)(e.element); this.instance.showAppointmentTooltipCore($button, $button.data("items"), this._getExtraOptionsForTooltip(options, $button)) }; _proto._getExtraOptionsForTooltip = function(options, $appointmentCollector) { return { clickEvent: this._clickEvent(options.onAppointmentClick).bind(this), dragBehavior: options.allowDrag && this._createTooltipDragBehavior($appointmentCollector).bind(this), dropDownAppointmentTemplate: this.instance.option().dropDownAppointmentTemplate, isButtonClick: true } }; _proto._clickEvent = function(onAppointmentClick) { var _this2 = this; return function(e) { var config = { itemData: e.itemData.appointment, itemElement: e.itemElement, targetedAppointment: e.itemData.targetedAppointment }; var createClickEvent = (0, _extend.extendFromObject)(_this2.instance.fire("mapAppointmentFields", config), e, false); delete createClickEvent.itemData; delete createClickEvent.itemIndex; delete createClickEvent.itemElement; onAppointmentClick(createClickEvent) } }; _proto._createTooltipDragBehavior = function($appointmentCollector) { var _this3 = this; return function(e) { var $element = (0, _renderer.default)(e.element); var $schedulerElement = (0, _renderer.default)(_this3.instance.element()); var workSpace = _this3.instance.getWorkSpace(); var initialPosition = (0, _translator.locate)($appointmentCollector); var options = { filter: ".".concat(_constants.LIST_ITEM_CLASS), isSetCursorOffset: true, initialPosition: initialPosition, getItemData: function(itemElement) { var _$$data; return null === (_$$data = (0, _renderer.default)(itemElement).data(_constants.LIST_ITEM_DATA_KEY)) || void 0 === _$$data ? void 0 : _$$data.appointment }, getItemSettings: function(_, event) { return event.itemSettings } }; workSpace._createDragBehaviorBase($element, $schedulerElement, options) } }; _proto._getCollectorOffset = function(width, cellWidth) { return cellWidth - width - this._getCollectorRightOffset() }; _proto._getCollectorRightOffset = function() { return this.instance.getRenderingStrategyInstance()._isCompactTheme() ? 1 : 5 }; _proto._makeBackgroundDarker = function(button) { button.css("boxShadow", "inset ".concat((0, _position.getBoundingRect)(button.get(0)).width, "px 0 0 0 rgba(0, 0, 0, 0.3)")) }; _proto._makeBackgroundColor = function($button, colors, color) { _deferred.when.apply(null, colors).done(function() { this._makeBackgroundColorCore($button, color, Array.prototype.slice.call(arguments)) }.bind(this)) }; _proto._makeBackgroundColorCore = function($button, color, itemColors) { color && color.done((function(color) { var backgroundColor = (0, _utils.getOverflowIndicatorColor)(color, itemColors); if (backgroundColor) { $button.css("backgroundColor", backgroundColor) } })) }; _proto._setPosition = function(element, position) { (0, _translator.move)(element, { top: position.top, left: position.left }) }; _proto._createCompactButton = function(template, options) { var _this4 = this; var $button = this._createCompactButtonElement(options); return this.instance._createComponent($button, _button.default, { type: "default", width: options.width, height: options.height, onClick: function(e) { return _this4._onButtonClick(e, options) }, template: this._renderTemplate(template, options.items, options.isCompact) }) }; _proto._createCompactButtonElement = function(_ref) { var isCompact = _ref.isCompact, $container = _ref.$container, coordinates = _ref.coordinates; var result = (0, _renderer.default)("<div>").addClass("dx-scheduler-appointment-collector").toggleClass("dx-scheduler-appointment-collector-compact", isCompact).appendTo($container); this._setPosition(result, coordinates); return result }; _proto._renderTemplate = function(template, items, isCompact) { return new _function_template.FunctionTemplate((function(options) { return template.render({ model: { appointmentCount: items.data.length, isCompact: isCompact }, container: options.container }) })) }; _proto._createTemplate = function(count, isCompact) { this._initButtonTemplate(count, isCompact); return this.instance._getAppointmentTemplate("appointmentCollectorTemplate") }; _proto._initButtonTemplate = function(count, isCompact) { var _this5 = this; this.instance._templateManager.addDefaultTemplates({ appointmentCollector: new _function_template.FunctionTemplate((function(options) { return _this5._createButtonTemplate(count, (0, _renderer.default)(options.container), isCompact) })) }) }; _proto._createButtonTemplate = function(appointmentCount, element, isCompact) { var text = isCompact ? appointmentCount : _message.default.getFormatter("dxScheduler-moreAppointments")(appointmentCount); return element.append((0, _renderer.default)("<span>").text(text)).addClass("dx-scheduler-appointment-collector-content") }; return CompactAppointmentsHelper }(); exports.CompactAppointmentsHelper = CompactAppointmentsHelper }, 27728: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/constants.js ***! \***********************************************************************/ function(__unused_webpack_module, exports) { exports.VIEWS = exports.LIST_ITEM_DATA_KEY = exports.LIST_ITEM_CLASS = exports.HORIZONTAL_GROUP_ORIENTATION = exports.APPOINTMENT_SETTINGS_KEY = void 0; exports.LIST_ITEM_DATA_KEY = "dxListItemData"; exports.LIST_ITEM_CLASS = "dx-list-item"; exports.APPOINTMENT_SETTINGS_KEY = "dxAppointmentSettings"; exports.HORIZONTAL_GROUP_ORIENTATION = "horizontal"; exports.VIEWS = { DAY: "day", WEEK: "week", WORK_WEEK: "workWeek", MONTH: "month", TIMELINE_DAY: "timelineDay", TIMELINE_WEEK: "timelineWeek", TIMELINE_WORK_WEEK: "timelineWorkWeek", TIMELINE_MONTH: "timelineMonth", AGENDA: "agenda" } }, 6678: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/dataStructures.js ***! \****************************************************************************/ function(__unused_webpack_module, exports) { exports.AppointmentTooltipInfo = void 0; exports.AppointmentTooltipInfo = function(appointment) { var targetedAppointment = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0; var color = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : []; var settings = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : []; this.appointment = appointment; this.targetedAppointment = targetedAppointment; this.color = color; this.settings = settings } }, 26983: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/dateAdapter.js ***! \*************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _date = (obj = __webpack_require__( /*! ../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var toMs = _date.default.dateToMilliseconds; var DateAdapterCore = function() { function DateAdapterCore(source) { this._source = new Date(source.getTime ? source.getTime() : source) } var _proto = DateAdapterCore.prototype; _proto.result = function() { return this._source }; _proto.getTimezoneOffset = function() { var format = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : void 0; var value = this._source.getTimezoneOffset(); if ("minute" === format) { return value * toMs("minute") } return value }; _proto.getTime = function() { return this._source.getTime() }; _proto.setTime = function(value) { this._source.setTime(value); return this }; _proto.addTime = function(value) { this._source.setTime(this._source.getTime() + value); return this }; _proto.setMinutes = function(value) { this._source.setMinutes(value); return this }; _proto.addMinutes = function(value) { this._source.setMinutes(this._source.getMinutes() + value); return this }; _proto.subtractMinutes = function(value) { this._source.setMinutes(this._source.getMinutes() - value); return this }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(DateAdapterCore, [{ key: "source", get: function() { return this._source } }]); return DateAdapterCore }(); var _default = function(date) { return new DateAdapterCore(date) }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 86474: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/expressionUtils.js ***! \*****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.ExpressionUtils = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var ExpressionUtils = { getField: function(dataAccessors, field, obj) { if (!(0, _type.isDefined)(dataAccessors.getter[field])) { return } return dataAccessors.getter[field](obj) }, setField: function(dataAccessors, field, obj, value) { if (!(0, _type.isDefined)(dataAccessors.setter[field])) { return } dataAccessors.setter[field](obj, value); return obj } }; exports.ExpressionUtils = ExpressionUtils }, 9896: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/header/calendar.js ***! \*****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../../core/devices */ 20530)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../widget/ui.widget */ 14390)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../../popover/ui.popover */ 17287)); var _ui3 = _interopRequireDefault(__webpack_require__( /*! ../../popup/ui.popup */ 51495)); var _calendar = _interopRequireDefault(__webpack_require__( /*! ../../calendar */ 26559)); var _ui4 = _interopRequireDefault(__webpack_require__( /*! ../../scroll_view/ui.scrollable */ 41183)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var SchedulerCalendar = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerCalendar, _Widget); function SchedulerCalendar() { return _Widget.apply(this, arguments) || this } var _proto = SchedulerCalendar.prototype; _proto.show = function(target) { if (!this._isMobileLayout()) { this._overlay.option("target", target) } this._overlay.show() }; _proto.hide = function() { this._overlay.hide() }; _proto._keyboardHandler = function(opts) { var _this$_calendar; null === (_this$_calendar = this._calendar) || void 0 === _this$_calendar ? void 0 : _this$_calendar._keyboardHandler(opts) }; _proto._init = function() { _Widget.prototype._init.call(this); this.$element() }; _proto._render = function() { _Widget.prototype._render.call(this); this._renderOverlay() }; _proto._renderOverlay = function() { var _this = this; this.$element().addClass("dx-scheduler-navigator-calendar-popover"); var isMobileLayout = this._isMobileLayout(); var overlayType = isMobileLayout ? _ui3.default : _ui2.default; this._overlay = this._createComponent(this.$element(), overlayType, { contentTemplate: function() { return _this._createOverlayContent() }, onShown: function() { return _this._calendar.focus() }, defaultOptionsRules: [{ device: function() { return isMobileLayout }, options: { fullScreen: true, showCloseButton: false, toolbarItems: [{ shortcut: "cancel" }] } }] }) }; _proto._createOverlayContent = function() { var result = (0, _renderer.default)("<div>").addClass("dx-scheduler-navigator-calendar"); this._calendar = this._createComponent(result, _calendar.default, this._getCalendarOptions()); if (this._isMobileLayout()) { var scrollable = this._createScrollable(result); return scrollable.$element() } return result }; _proto._createScrollable = function(content) { var result = this._createComponent("<div>", _ui4.default, { direction: "vertical" }); result.$content().append(content); return result }; _proto._optionChanged = function(_ref) { var _this$_calendar2; var name = _ref.name, value = _ref.value; switch (name) { case "value": null === (_this$_calendar2 = this._calendar) || void 0 === _this$_calendar2 ? void 0 : _this$_calendar2.option("value", value) } }; _proto._getCalendarOptions = function() { return { value: this.option("value"), min: this.option("min"), max: this.option("max"), firstDayOfWeek: this.option("firstDayOfWeek"), focusStateEnabled: this.option("focusStateEnabled"), onValueChanged: this.option("onValueChanged"), skipFocusCheck: true, tabIndex: this.option("tabIndex") } }; _proto._isMobileLayout = function() { return !_devices.default.current().generic }; return SchedulerCalendar }(_ui.default); exports.default = SchedulerCalendar; (0, _component_registrator.default)("dxSchedulerCalendarPopup", SchedulerCalendar); module.exports = exports.default; module.exports.default = exports.default }, 85890: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/header/dateNavigator.js ***! \**********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getDateNavigator = void 0; var _themes = __webpack_require__( /*! ../../themes */ 75811); var _date = (obj = __webpack_require__( /*! ../../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var trimTime = _date.default.trimTime; exports.getDateNavigator = function(header, item) { var items = [getPreviousButtonOptions(header), getCalendarButtonOptions(header), getNextButtonOptions(header)]; var stylingMode = (0, _themes.isMaterial)() ? "text" : "contained"; return _extends({ widget: "dxButtonGroup", cssClass: "dx-scheduler-navigator", options: { items: items, stylingMode: stylingMode, selectionMode: "none", onItemClick: function(e) { e.itemData.clickHandler(e) } } }, item) }; var getPreviousButtonOptions = function(header) { return { key: "previous", icon: "chevronprev", elementAttr: { class: "dx-scheduler-navigator-previous" }, clickHandler: function() { return header._updateDateByDirection(-1) }, onContentReady: function(e) { var previousButton = e.component; previousButton.option("disabled", isPreviousButtonDisabled(header)); header._addEvent("min", (function() { previousButton.option("disabled", isPreviousButtonDisabled(header)) })); header._addEvent("currentDate", (function() { previousButton.option("disabled", isPreviousButtonDisabled(header)) })); header._addEvent("startViewDate", (function() { previousButton.option("disabled", isPreviousButtonDisabled(header)) })) } } }; var getCalendarButtonOptions = function(header) { return { key: "calendar", text: header.captionText, elementAttr: { class: "dx-scheduler-navigator-caption" }, clickHandler: function(e) { return header._showCalendar(e) }, onContentReady: function(e) { var calendarButton = e.component; header._addEvent("currentView", (function() { calendarButton.option("text", header.captionText) })); header._addEvent("currentDate", (function() { calendarButton.option("text", header.captionText) })); header._addEvent("startViewDate", (function() { calendarButton.option("text", header.captionText) })); header._addEvent("views", (function() { calendarButton.option("text", header.captionText) })); header._addEvent("firstDayOfWeek", (function() { calendarButton.option("text", header.captionText) })) } } }; var getNextButtonOptions = function(header) { return { key: "next", icon: "chevronnext", elementAttr: { class: "dx-scheduler-navigator-next" }, clickHandler: function() { return header._updateDateByDirection(1) }, onContentReady: function(e) { var nextButton = e.component; nextButton.option("disabled", isNextButtonDisabled(header)); header._addEvent("min", (function() { nextButton.option("disabled", isNextButtonDisabled(header)) })); header._addEvent("currentDate", (function() { nextButton.option("disabled", isNextButtonDisabled(header)) })); header._addEvent("startViewDate", (function() { nextButton.option("disabled", isNextButtonDisabled(header)) })) } } }; var isPreviousButtonDisabled = function(header) { var min = header.option("min"); if (!min) { return false } min = new Date(min); var caption = header._getCaption(); min = trimTime(min); var previousDate = header._getNextDate(-1, caption.endDate); return previousDate < min }; var isNextButtonDisabled = function(header) { var max = header.option("max"); if (!max) { return false } max = new Date(max); var caption = header._getCaption(); max = max.setHours(23, 59, 59); var nextDate = header._getNextDate(1, caption.startDate); return nextDate > max } }, 85589: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/header/header.js ***! \***************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.SchedulerHeader = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _errors = _interopRequireDefault(__webpack_require__( /*! ../../../core/errors */ 17381)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../../core/devices */ 20530)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../widget/ui.widget */ 14390)); var _toolbar = _interopRequireDefault(__webpack_require__( /*! ../../toolbar */ 71042)); var _calendar = _interopRequireDefault(__webpack_require__( /*! ./calendar */ 9896)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/date */ 91198)); var _viewSwitcher = __webpack_require__( /*! ./viewSwitcher */ 65850); var _dateNavigator = __webpack_require__( /*! ./dateNavigator */ 85890); __webpack_require__( /*! ../../../ui/button_group */ 28236); __webpack_require__( /*! ../../../ui/drop_down_button */ 45231); var _utils = __webpack_require__( /*! ./utils */ 74842); var _views = __webpack_require__( /*! ../../../renovation/ui/scheduler/model/views */ 47718); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var SchedulerHeader = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerHeader, _Widget); function SchedulerHeader() { return _Widget.apply(this, arguments) || this } var _proto = SchedulerHeader.prototype; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { _useShortDateFormat: !_devices.default.real().generic || _devices.default.isSimulator() }) }; _proto._createEventMap = function() { var _this = this; this.eventMap = new Map([ ["currentView", [function(view) { _this.currentView = (0, _views.getCurrentView)((0, _utils.getViewName)(view), _this.option("views")) }]], ["items", [this.repaint.bind(this)]], ["views", [_utils.validateViews]], ["currentDate", [this._getCalendarOptionUpdater("date")]], ["min", [this._getCalendarOptionUpdater("min")]], ["max", [this._getCalendarOptionUpdater("max")]], ["tabIndex", [this.repaint.bind(this)]], ["focusStateEnabled", [this.repaint.bind(this)]], ["useDropDownViewSwitcher", [this.repaint.bind(this)]] ]) }; _proto._addEvent = function(name, event) { if (!this.eventMap.has(name)) { this.eventMap.set(name, []) } var events = this.eventMap.get(name); this.eventMap.set(name, [].concat(_toConsumableArray(events), [event])) }; _proto._optionChanged = function(args) { var name = args.name, value = args.value; if (this.eventMap.has(name)) { var events = this.eventMap.get(name); events.forEach((function(event) { event(value) })) } }; _proto._init = function() { _Widget.prototype._init.call(this); this._createEventMap(); this.$element().addClass("dx-scheduler-header"); this.currentView = (0, _views.getCurrentView)((0, _utils.getViewName)(this.option("currentView")), this.option("views")) }; _proto._render = function() { _Widget.prototype._render.call(this); this._createEventMap(); this._renderToolbar() }; _proto._renderToolbar = function() { var config = this._createToolbarConfig(); var toolbarElement = (0, _renderer.default)("<div>"); toolbarElement.appendTo(this.$element()); this._toolbar = this._createComponent(toolbarElement, _toolbar.default, config) }; _proto._createToolbarConfig = function() { var _this2 = this; var items = this.option("items"); var parsedItems = items.map((function(element) { return _this2._parseItem(element) })); return { items: parsedItems } }; _proto._parseItem = function(item) { var isDefaultElement = this._isDefaultItem(item); if (isDefaultElement) { var defaultElementType = item.defaultElement; switch (defaultElementType) { case "viewSwitcher": if (this.option("useDropDownViewSwitcher")) { return (0, _viewSwitcher.getDropDownViewSwitcher)(this, item) } return (0, _viewSwitcher.getViewSwitcher)(this, item); case "dateNavigator": this._renderCalendar(); return (0, _dateNavigator.getDateNavigator)(this, item); default: _errors.default.log("Unknown default element type: ".concat(defaultElementType)) } } return item }; _proto._callEvent = function(event, arg) { if (this.eventMap.has(event)) { var events = this.eventMap.get(event); events.forEach((function(event) { return event(arg) })) } }; _proto._updateCurrentView = function(view) { var onCurrentViewChange = this.option("onCurrentViewChange"); onCurrentViewChange(view.name); this._callEvent("currentView", view) }; _proto._updateCalendarValueAndCurrentDate = function(date) { this._updateCurrentDate(date); this._calendar.option("value", date) }; _proto._updateCurrentDate = function(date) { var onCurrentDateChange = this.option("onCurrentDateChange"); onCurrentDateChange(date); this._callEvent("currentDate", date) }; _proto._renderCalendar = function() { var _this3 = this; this._calendar = this._createComponent("<div>", _calendar.default, { value: this.option("currentDate"), min: this.option("min"), max: this.option("max"), firstDayOfWeek: this.option("firstDayOfWeek"), focusStateEnabled: this.option("focusStateEnabled"), tabIndex: this.option("tabIndex"), onValueChanged: function(e) { _this3._updateCurrentDate(e.value); _this3._calendar.hide() } }); this._calendar.$element().appendTo(this.$element()) }; _proto._getCalendarOptionUpdater = function(name) { var _this4 = this; return function(value) { if (_this4._calendar) { _this4._calendar.option(name, value) } } }; _proto._getNextDate = function(direction) { var initialDate = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null; var date = initialDate || this.option("currentDate"); var options = _extends({}, this.intervalOptions, { date: date }); return (0, _utils.getNextIntervalDate)(options, direction) }; _proto._isMonth = function() { var currentView = this.currentView; return "month" === (0, _utils.getViewType)(currentView) }; _proto._getDisplayedDate = function() { var startViewDate = this.option("startViewDate"); if (this._isMonth()) { return (0, _utils.nextWeek)(startViewDate) } return new Date(startViewDate) }; _proto._getCaption = function() { var date = this.option("currentDate"); if (this.option("startViewDate")) { date = this._getDisplayedDate() } date = _date.default.trimTime(date); var options = _extends({}, this.intervalOptions, { date: date }); var customizationFunction = this.option("customizeDateNavigatorText"); var useShortDateFormat = this.option("_useShortDateFormat"); return (0, _utils.getCaption)(options, useShortDateFormat, customizationFunction) }; _proto._updateDateByDirection = function(direction) { var date = this._getNextDate(direction); this._updateCalendarValueAndCurrentDate(date) }; _proto._showCalendar = function(e) { this._calendar.show(e.element) }; _proto._hideCalendar = function() { this._calendar.hide() }; _proto._isDefaultItem = function(item) { return Object.prototype.hasOwnProperty.call(item, "defaultElement") }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(SchedulerHeader, [{ key: "views", get: function() { return this.option("views") } }, { key: "captionText", get: function() { return this._getCaption().text } }, { key: "intervalOptions", get: function() { var step = (0, _utils.getStep)(this.currentView); var intervalCount = this.option("intervalCount"); var firstDayOfWeek = this.option("firstDayOfWeek"); var agendaDuration = this.option("agendaDuration"); return { step: step, intervalCount: intervalCount, firstDayOfWeek: firstDayOfWeek, agendaDuration: agendaDuration } } }]); return SchedulerHeader }(_ui.default); exports.SchedulerHeader = SchedulerHeader; (0, _component_registrator.default)("dxSchedulerHeader", SchedulerHeader) }, 74842: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/header/utils.js ***! \**************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.validateViews = exports.nextWeek = exports.isOneView = exports.getViewType = exports.getViewText = exports.getViewName = exports.getStep = exports.getNextIntervalDate = exports.getCaption = exports.formatViews = void 0; var _date = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/date */ 91198)); var _date2 = _interopRequireDefault(__webpack_require__( /*! ../../../localization/date */ 91500)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../localization/message */ 28109)); var _inflector = __webpack_require__( /*! ../../../core/utils/inflector */ 78008); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _errors = _interopRequireDefault(__webpack_require__( /*! ../../../core/errors */ 17381)); var _constants = __webpack_require__( /*! ../constants */ 27728); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var getPeriodStart = _date.default.correctDateWithUnitBeginning, getWeekStart = _date.default.getFirstWeekDate, getLastMonthDay = _date.default.getLastMonthDay, addDateInterval = _date.default.addDateInterval; var formatDate = _date2.default.format; var MS_DURATION = { milliseconds: 1 }; var DAY_DURATION = { days: 1 }; var WEEK_DURATION = { days: 7 }; var nextDay = function(date) { return addDateInterval(date, DAY_DURATION, 1) }; var nextWeek = function(date) { return addDateInterval(date, WEEK_DURATION, 1) }; exports.nextWeek = nextWeek; var isWeekend = function(date) { return 6 === date.getDay() || 0 === date.getDay() }; var getIntervalStartDate = function(options) { var date = options.date, step = options.step, firstDayOfWeek = options.firstDayOfWeek; switch (step) { case "day": case "week": case "month": return getPeriodStart(date, step, false, firstDayOfWeek); case "workWeek": var firstWeekDay = getWeekStart(date, firstDayOfWeek); return function(firstDayOfWeek) { var date = new Date(firstDayOfWeek); while (isWeekend(date)) { date = nextDay(date) } return date }(firstWeekDay); case "agenda": return new Date(date) } }; var getIntervalEndDate = function(startDate, options) { var intervalCount = options.intervalCount, step = options.step, agendaDuration = options.agendaDuration; var periodStartDate; var periodEndDate; var nextPeriodStartDate = new Date(startDate); for (var i = 0; i < intervalCount; i++) { periodStartDate = nextPeriodStartDate; periodEndDate = getPeriodEndDate(periodStartDate, step, agendaDuration); nextPeriodStartDate = getNextPeriodStartDate(periodEndDate, step) } return periodEndDate }; var getPeriodEndDate = function(currentPeriodStartDate, step, agendaDuration) { var date; switch (step) { case "day": date = nextDay(currentPeriodStartDate); break; case "week": date = nextWeek(currentPeriodStartDate); break; case "month": date = function(date) { var days = getLastMonthDay(date); return addDateInterval(date, { days: days }, 1) }(currentPeriodStartDate); break; case "workWeek": date = function(workWeekStart) { var date = new Date(workWeekStart); var workDaysCount = 0; while (workDaysCount < 5) { if (!isWeekend(date)) { workDaysCount++ } date = nextDay(date) } return date }(currentPeriodStartDate); break; case "agenda": date = function(date, agendaDuration) { return addDateInterval(date, { days: agendaDuration }, 1) }(currentPeriodStartDate, agendaDuration) } return function(date) { return addDateInterval(date, MS_DURATION, -1) }(date) }; var getNextPeriodStartDate = function(currentPeriodEndDate, step) { var date = function(date) { return addDateInterval(date, MS_DURATION, 1) }(currentPeriodEndDate); if ("workWeek" === step) { while (isWeekend(date)) { date = nextDay(date) } } return date }; exports.getNextIntervalDate = function(options, direction) { var date = options.date, step = options.step, intervalCount = options.intervalCount, agendaDuration = options.agendaDuration; var dayDuration; switch (step) { case "day": dayDuration = 1 * intervalCount; break; case "week": case "workWeek": dayDuration = 7 * intervalCount; break; case "agenda": dayDuration = agendaDuration; break; case "month": return getNextMonthDate(date, intervalCount, direction) } return addDateInterval(date, { days: dayDuration }, direction) }; var getNextMonthDate = function(date, intervalCount, direction) { var currentDate = date.getDate(); var currentMonthFirstDate = new Date(new Date(date.getTime()).setDate(1)); var thatMonthFirstDate = new Date(currentMonthFirstDate.setMonth(currentMonthFirstDate.getMonth() + intervalCount * direction)); var thatMonthDuration = getLastMonthDay(thatMonthFirstDate); var minDate = currentDate < thatMonthDuration ? currentDate : thatMonthDuration; var currentMonthMinDate = new Date(new Date(date.getTime()).setDate(minDate)); var thatMonthMinDate = new Date(currentMonthMinDate.setMonth(currentMonthMinDate.getMonth() + intervalCount * direction)); return thatMonthMinDate }; var getDateMonthFormatter = function(isShort) { var monthType = isShort ? "abbreviated" : "wide"; var months = _date2.default.getMonthNames(monthType); return function(date) { var day = formatDate(date, "day"); var month = months[date.getMonth()]; return "".concat(day, " ").concat(month) } }; var formatMonthYear = function(date) { var months = _date2.default.getMonthNames("abbreviated"); var month = months[date.getMonth()]; var year = formatDate(date, "year"); return "".concat(month, " ").concat(year) }; var getDateMonthYearFormatter = function(isShort) { return function(date) { var dateMonthFormat = getDateMonthFormatter(isShort); var dateMonth = dateMonthFormat(date); var year = formatDate(date, "year"); return "".concat(dateMonth, " ").concat(year) } }; var formatCaptionByMonths = function(startDate, endDate, isShort) { var isDifferentYears = startDate.getFullYear() !== endDate.getFullYear(); if (isDifferentYears) { return function(startDate, endDate) { var firstDateText = formatDate(startDate, getDateMonthYearFormatter(true)); var lastDateDateText = formatDate(endDate, getDateMonthYearFormatter(true)); return "".concat(firstDateText, "-").concat(lastDateDateText) }(startDate, endDate) } return function(startDate, endDate, isShort) { var isDifferentMonthDates = startDate.getMonth() !== endDate.getMonth(); var useShortFormat = isDifferentMonthDates || isShort; var firstDateFormat = isDifferentMonthDates ? getDateMonthFormatter(useShortFormat) : "d"; var firstDateText = formatDate(startDate, firstDateFormat); var lastDateText = formatDate(endDate, getDateMonthYearFormatter(useShortFormat)); return "".concat(firstDateText, "-").concat(lastDateText) }(startDate, endDate, isShort) }; var getCaptionText = function(startDate, endDate, isShort, step) { if (_date.default.sameDate(startDate, endDate)) { return function(date, step, isShort) { var useShortFormat = "agenda" === step ? isShort : false; var dateMonthFormat = getDateMonthFormatter(useShortFormat); var dateMonth = dateMonthFormat(date); var year = formatDate(date, "year"); return "".concat(dateMonth, " ").concat(year) }(startDate, step, isShort) } if ("month" === step) { return function(startDate, endDate) { if (_date.default.sameMonth(startDate, endDate)) { return formatDate(startDate, "monthandyear") } var isSameYear = _date.default.sameYear(startDate, endDate); var firstDateText = isSameYear ? _date2.default.getMonthNames("abbreviated")[startDate.getMonth()] : formatMonthYear(startDate); var lastDateText = formatMonthYear(endDate); return "".concat(firstDateText, "-").concat(lastDateText) }(startDate, endDate) } return formatCaptionByMonths(startDate, endDate, isShort) }; exports.getCaption = function(options, isShort, customizationFunction) { var _getInterval = function(options) { var startDate = getIntervalStartDate(options); var endDate = getIntervalEndDate(startDate, options); return { startDate: startDate, endDate: endDate } }(options), startDate = _getInterval.startDate, endDate = _getInterval.endDate; var text = getCaptionText(startDate, endDate, isShort, options.step); if ((0, _type.isFunction)(customizationFunction)) { text = customizationFunction({ startDate: startDate, endDate: endDate, text: text }) } return { startDate: startDate, endDate: endDate, text: text } }; var STEP_MAP = { day: "day", week: "week", workWeek: "workWeek", month: "month", timelineDay: "day", timelineWeek: "week", timelineWorkWeek: "workWeek", timelineMonth: "month", agenda: "agenda" }; exports.getStep = function(view) { return STEP_MAP[getViewType(view)] }; var getViewType = function(view) { if ((0, _type.isObject)(view) && view.type) { return view.type } return view }; exports.getViewType = getViewType; var getViewName = function(view) { if ((0, _type.isObject)(view)) { return view.name ? view.name : view.type } return view }; exports.getViewName = getViewName; var getViewText = function(view) { if (view.name) { return view.name } var viewName = (0, _inflector.camelize)(view.type || view, true); return _message.default.format("dxScheduler-switcher" + viewName) }; exports.getViewText = getViewText; var validateViews = function(views) { views.forEach((function(view) { var viewType = getViewType(view); if (! function(view) { return Object.values(_constants.VIEWS).includes(view) }(viewType)) { _errors.default.log("W0008", viewType) } })) }; exports.validateViews = validateViews; exports.formatViews = function(views) { validateViews(views); return views.map((function(view) { var text = getViewText(view); var type = getViewType(view); var name = getViewName(view); return { text: text, name: name, view: { text: text, type: type, name: name } } })) }; exports.isOneView = function(views, selectedView) { return 1 === views.length && views[0].name === selectedView } }, 65850: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/header/viewSwitcher.js ***! \*********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getViewSwitcher = exports.getDropDownViewSwitcher = void 0; var _utils = __webpack_require__( /*! ./utils */ 74842); function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var getViewsAndSelectedView = function(header) { var views = (0, _utils.formatViews)(header.views); var selectedView = (0, _utils.getViewName)(header.currentView); var isSelectedViewInViews = views.some((function(view) { return view.name === selectedView })); selectedView = isSelectedViewInViews ? selectedView : void 0; return { selectedView: selectedView, views: views } }; exports.getViewSwitcher = function(header, item) { var _getViewsAndSelectedV = getViewsAndSelectedView(header), selectedView = _getViewsAndSelectedV.selectedView, views = _getViewsAndSelectedV.views; return _extends({ widget: "dxButtonGroup", locateInMenu: "auto", cssClass: "dx-scheduler-view-switcher", options: { items: views, keyExpr: "name", selectedItemKeys: [selectedView], stylingMode: "contained", onItemClick: function(e) { var view = e.itemData.view; header._updateCurrentView(view) }, onContentReady: function(e) { var viewSwitcher = e.component; header._addEvent("currentView", (function(view) { viewSwitcher.option("selectedItemKeys", [(0, _utils.getViewName)(view)]) })) } } }, item) }; exports.getDropDownViewSwitcher = function(header, item) { var _getViewsAndSelectedV2 = getViewsAndSelectedView(header), selectedView = _getViewsAndSelectedV2.selectedView, views = _getViewsAndSelectedV2.views; var oneView = (0, _utils.isOneView)(views, selectedView); return _extends({ widget: "dxDropDownButton", locateInMenu: "never", cssClass: "dx-scheduler-view-switcher", options: { items: views, useSelectMode: true, keyExpr: "name", selectedItemKey: selectedView, displayExpr: "text", showArrowIcon: !oneView, elementAttr: { class: "dx-scheduler-view-switcher-dropdown-button" }, onItemClick: function(e) { var view = e.itemData.view; header._updateCurrentView(view) }, onContentReady: function(e) { var viewSwitcher = e.component; header._addEvent("currentView", (function(view) { var views = (0, _utils.formatViews)(header.views); if ((0, _utils.isOneView)(views, view)) { header.repaint() } viewSwitcher.option("selectedItemKey", (0, _utils.getViewName)(view)) })) }, dropDownOptions: { onShowing: function(e) { if (oneView) { e.cancel = true } }, width: "max-content", _wrapperClassExternal: "dx-scheduler-view-switcher-dropdown-button-content" } } }, item) } }, 71125: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/loading.js ***! \*********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.hide = function() { if (!loading) { return (new _deferred.Deferred).resolve() } return loading.hide().done(removeLoadPanel).promise() }; exports.show = function(options) { removeLoadPanel(); loading = function(options) { return new _load_panel.default((0, _renderer.default)("<div>").appendTo(options && options.container || (0, _view_port.value)()), options) }(options); return loading.show() }; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _view_port = __webpack_require__( /*! ../../core/utils/view_port */ 77695); var _load_panel = _interopRequireDefault(__webpack_require__( /*! ../load_panel */ 97218)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var loading = null; var removeLoadPanel = function() { if (!loading) { return } loading.$element().remove(); loading = null } }, 88609: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/recurrence.js ***! \************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.getRecurrenceProcessor = getRecurrenceProcessor; var _errors = _interopRequireDefault(__webpack_require__( /*! ../../core/errors */ 17381)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _rrule = __webpack_require__( /*! rrule */ 46464); var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _utils = _interopRequireDefault(__webpack_require__( /*! ./utils.timeZone */ 32511)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var toMs = _date.default.dateToMilliseconds; var ruleNames = ["freq", "interval", "byday", "byweekno", "byyearday", "bymonth", "bymonthday", "count", "until", "byhour", "byminute", "bysecond", "bysetpos", "wkst"]; var freqNames = ["DAILY", "WEEKLY", "MONTHLY", "YEARLY", "SECONDLY", "MINUTELY", "HOURLY"]; var days = { SU: 0, MO: 1, TU: 2, WE: 3, TH: 4, FR: 5, SA: 6 }; var loggedWarnings = []; var recurrence = null; function getRecurrenceProcessor() { if (!recurrence) { recurrence = new RecurrenceProcessor } return recurrence } var RecurrenceProcessor = function() { function RecurrenceProcessor() { this.rRule = null; this.rRuleSet = null; this.validator = new RecurrenceValidator } var _proto = RecurrenceProcessor.prototype; _proto.generateDates = function(options) { var _this = this; var recurrenceRule = this.evalRecurrenceRule(options.rule); var rule = recurrenceRule.rule; if (!recurrenceRule.isValid || !rule.freq) { return [] } var rruleIntervalParams = this._createRruleIntervalParams(options); this._initializeRRule(options, rruleIntervalParams.startIntervalDate, rule.until); return this.rRuleSet.between(rruleIntervalParams.minViewDate, rruleIntervalParams.maxViewDate, true).filter((function(date) { return date.getTime() + rruleIntervalParams.appointmentDuration >= rruleIntervalParams.minViewTime })).map((function(date) { return _this._convertRruleResult(rruleIntervalParams, options, date) })) }; _proto._createRruleIntervalParams = function(options) { var start = options.start, min = options.min, max = options.max, appointmentTimezoneOffset = options.appointmentTimezoneOffset; var clientOffsets_startDate = _utils.default.getClientTimezoneOffset(start), clientOffsets_minViewDate = _utils.default.getClientTimezoneOffset(min), clientOffsets_maxViewDate = _utils.default.getClientTimezoneOffset(max); var duration = options.end ? options.end.getTime() - options.start.getTime() : 0; var startIntervalDate = _utils.default.setOffsetsToDate(options.start, [-clientOffsets_startDate, appointmentTimezoneOffset]); var minViewTime = options.min.getTime() - clientOffsets_minViewDate + appointmentTimezoneOffset; var minViewDate = new Date(minViewTime - duration); var maxViewDate = _utils.default.setOffsetsToDate(options.max, [-clientOffsets_maxViewDate, appointmentTimezoneOffset]); var startDateDSTDifferenceMs = _utils.default.getDiffBetweenClientTimezoneOffsets(options.start, startIntervalDate); var switchToSummerTime = startDateDSTDifferenceMs < 0; return { startIntervalDate: startIntervalDate, minViewTime: minViewTime, minViewDate: minViewDate, maxViewDate: maxViewDate, startIntervalDateDSTShift: switchToSummerTime ? 0 : startDateDSTDifferenceMs, appointmentDuration: duration } }; _proto._convertRruleResult = function(rruleIntervalParams, options, rruleDate) { var localTimezoneOffset = _utils.default.getClientTimezoneOffset(rruleDate); var additionalWorkaroundOffsetForRrule = localTimezoneOffset / 36e5 <= -13 ? -864e5 : 0; var convertedBackDate = _utils.default.setOffsetsToDate(rruleDate, [localTimezoneOffset, additionalWorkaroundOffsetForRrule, -options.appointmentTimezoneOffset, rruleIntervalParams.startIntervalDateDSTShift]); var convertedDateDSTShift = _utils.default.getDiffBetweenClientTimezoneOffsets(convertedBackDate, rruleDate); var switchToSummerTime = convertedDateDSTShift < 0; var resultDate = _utils.default.setOffsetsToDate(convertedBackDate, [convertedDateDSTShift]); var resultDateDSTShift = _utils.default.getDiffBetweenClientTimezoneOffsets(resultDate, convertedBackDate); if (resultDateDSTShift && switchToSummerTime) { return new Date(resultDate.getTime() + resultDateDSTShift) } return resultDate }; _proto.hasRecurrence = function(options) { return !!this.generateDates(options).length }; _proto.evalRecurrenceRule = function(rule) { var result = { rule: {}, isValid: false }; if (rule) { result.rule = this._parseRecurrenceRule(rule); result.isValid = this.validator.validateRRule(result.rule, rule) } return result }; _proto.isValidRecurrenceRule = function(rule) { return this.evalRecurrenceRule(rule).isValid }; _proto.daysFromByDayRule = function(rule) { var result = []; if (rule.byday) { if (Array.isArray(rule.byday)) { result = rule.byday } else { result = rule.byday.split(",") } } return result.map((function(item) { var match = item.match(/[A-Za-z]+/); return !!match && match[0] })).filter((function(item) { return !!item })) }; _proto.getAsciiStringByDate = function(date) { var currentOffset = date.getTimezoneOffset() * toMs("minute"); var offsetDate = new Date(date.getTime() + currentOffset); return offsetDate.getFullYear() + ("0" + (offsetDate.getMonth() + 1)).slice(-2) + ("0" + offsetDate.getDate()).slice(-2) + "T" + ("0" + offsetDate.getHours()).slice(-2) + ("0" + offsetDate.getMinutes()).slice(-2) + ("0" + offsetDate.getSeconds()).slice(-2) + "Z" }; _proto.getRecurrenceString = function(object) { if (!object || !object.freq) { return } var result = ""; for (var field in object) { var value = object[field]; if ("interval" === field && value < 2) { continue } if ("until" === field) { value = this.getAsciiStringByDate(value) } result += field + "=" + value + ";" } result = result.substring(0, result.length - 1); return result.toUpperCase() }; _proto._parseExceptionToRawArray = function(value) { return value.match(/(\d{4})(\d{2})(\d{2})(T(\d{2})(\d{2})(\d{2}))?(Z)?/) }; _proto.getDateByAsciiString = function(exceptionText) { if ("string" !== typeof exceptionText) { return exceptionText } var result = this._parseExceptionToRawArray(exceptionText); if (!result) { return null } var _this$_createDateTupl = this._createDateTuple(result), _this$_createDateTupl2 = _slicedToArray(_this$_createDateTupl, 7), year = _this$_createDateTupl2[0], month = _this$_createDateTupl2[1], date = _this$_createDateTupl2[2], hours = _this$_createDateTupl2[3], minutes = _this$_createDateTupl2[4], seconds = _this$_createDateTupl2[5], isUtc = _this$_createDateTupl2[6]; if (isUtc) { return new Date(Date.UTC(year, month, date, hours, minutes, seconds)) } return new Date(year, month, date, hours, minutes, seconds) }; _proto._dispose = function() { if (this.rRuleSet) { delete this.rRuleSet; this.rRuleSet = null } if (this.rRule) { delete this.rRule; this.rRule = null } }; _proto._getTimeZoneOffset = function() { return (new Date).getTimezoneOffset() }; _proto._initializeRRule = function(options, startDateUtc, until) { var _this2 = this; var ruleOptions = _rrule.RRule.parseString(options.rule); var firstDayOfWeek = options.firstDayOfWeek; ruleOptions.dtstart = startDateUtc; if (!ruleOptions.wkst && firstDayOfWeek) { ruleOptions.wkst = [6, 0, 1, 2, 3, 4, 5][firstDayOfWeek] } if (until) { ruleOptions.until = _utils.default.setOffsetsToDate(until, [-_utils.default.getClientTimezoneOffset(until), options.appointmentTimezoneOffset]) } this._createRRule(ruleOptions); if (options.exception) { var exceptionStrings = options.exception; var exceptionDates = exceptionStrings.split(",").map((function(rule) { return _this2.getDateByAsciiString(rule) })); exceptionDates.forEach((function(date) { if (options.getPostProcessedException) { date = options.getPostProcessedException(date) } var utcDate = _utils.default.setOffsetsToDate(date, [-_utils.default.getClientTimezoneOffset(date), options.appointmentTimezoneOffset]); _this2.rRuleSet.exdate(utcDate) })) } }; _proto._createRRule = function(ruleOptions) { this._dispose(); this.rRuleSet = new _rrule.RRuleSet; this.rRule = new _rrule.RRule(ruleOptions); this.rRuleSet.rrule(this.rRule) }; _proto._parseRecurrenceRule = function(recurrence) { var ruleObject = {}; var ruleParts = recurrence.split(";"); for (var i = 0, len = ruleParts.length; i < len; i++) { var rule = ruleParts[i].split("="); var ruleName = rule[0].toLowerCase(); var ruleValue = rule[1]; ruleObject[ruleName] = ruleValue } var count = parseInt(ruleObject.count); if (!isNaN(count)) { ruleObject.count = count } if (ruleObject.interval) { var interval = parseInt(ruleObject.interval); if (!isNaN(interval)) { ruleObject.interval = interval } } else { ruleObject.interval = 1 } if (ruleObject.freq && ruleObject.until) { ruleObject.until = this.getDateByAsciiString(ruleObject.until) } return ruleObject }; _proto._createDateTuple = function(parseResult) { var isUtc = void 0 !== parseResult[8]; parseResult.shift(); if (void 0 === parseResult[3]) { parseResult.splice(3) } else { parseResult.splice(3, 1); parseResult.splice(6) } parseResult[1]--; parseResult.unshift(null); return [parseInt(parseResult[1]), parseInt(parseResult[2]), parseInt(parseResult[3]), parseInt(parseResult[4]) || 0, parseInt(parseResult[5]) || 0, parseInt(parseResult[6]) || 0, isUtc] }; return RecurrenceProcessor }(); var RecurrenceValidator = function() { function RecurrenceValidator() {} var _proto2 = RecurrenceValidator.prototype; _proto2.validateRRule = function(rule, recurrence) { if (this._brokenRuleNameExists(rule) || !freqNames.includes(rule.freq) || this._wrongCountRule(rule) || this._wrongIntervalRule(rule) || this._wrongDayOfWeek(rule) || this._wrongByMonthDayRule(rule) || this._wrongByMonth(rule) || this._wrongUntilRule(rule)) { this._logBrokenRule(recurrence); return false } return true }; _proto2._wrongUntilRule = function(rule) { var wrongUntil = false; var until = rule.until; if (void 0 !== until && !(until instanceof Date)) { wrongUntil = true } return wrongUntil }; _proto2._wrongCountRule = function(rule) { var wrongCount = false; var count = rule.count; if (count && "string" === typeof count) { wrongCount = true } return wrongCount }; _proto2._wrongByMonthDayRule = function(rule) { var wrongByMonthDay = false; var byMonthDay = rule.bymonthday; if (byMonthDay && isNaN(parseInt(byMonthDay))) { wrongByMonthDay = true } return wrongByMonthDay }; _proto2._wrongByMonth = function(rule) { var wrongByMonth = false; var byMonth = rule.bymonth; if (byMonth && isNaN(parseInt(byMonth))) { wrongByMonth = true } return wrongByMonth }; _proto2._wrongIntervalRule = function(rule) { var wrongInterval = false; var interval = rule.interval; if (interval && "string" === typeof interval) { wrongInterval = true } return wrongInterval }; _proto2._wrongDayOfWeek = function(rule) { var byDay = rule.byday; var daysByRule = getRecurrenceProcessor().daysFromByDayRule(rule); var brokenDaysExist = false; if ("" === byDay) { brokenDaysExist = true }(0, _iterator.each)(daysByRule, (function(_, day) { if (!Object.prototype.hasOwnProperty.call(days, day)) { brokenDaysExist = true; return false } })); return brokenDaysExist }; _proto2._brokenRuleNameExists = function(rule) { var brokenRuleExists = false; (0, _iterator.each)(rule, (function(ruleName) { if (!ruleNames.includes(ruleName)) { brokenRuleExists = true; return false } })); return brokenRuleExists }; _proto2._logBrokenRule = function(recurrence) { if (!loggedWarnings.includes(recurrence)) { _errors.default.log("W0006", recurrence); loggedWarnings.push(recurrence) } }; return RecurrenceValidator }() }, 53555: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/recurrence_editor.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _date2 = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _form = _interopRequireDefault(__webpack_require__( /*! ../form */ 17737)); var _button_group = _interopRequireDefault(__webpack_require__( /*! ../button_group */ 28236)); var _date_box = _interopRequireDefault(__webpack_require__( /*! ../date_box */ 29589)); var _editor = _interopRequireDefault(__webpack_require__( /*! ../editor/editor */ 96452)); var _number_box = _interopRequireDefault(__webpack_require__( /*! ../number_box */ 34171)); var _recurrence = __webpack_require__( /*! ./recurrence */ 88609); __webpack_require__( /*! ../radio_group */ 14305); var _types = __webpack_require__( /*! ../../renovation/ui/scheduler/timeZoneCalculator/types */ 75296); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var REPEAT_END_EDITOR = "dx-recurrence-repeat-end"; var INTERVAL_EDITOR = "dx-recurrence-numberbox-interval"; var frequenciesMessages = [{ recurrence: "dxScheduler-recurrenceHourly", value: "hourly" }, { recurrence: "dxScheduler-recurrenceDaily", value: "daily" }, { recurrence: "dxScheduler-recurrenceWeekly", value: "weekly" }, { recurrence: "dxScheduler-recurrenceMonthly", value: "monthly" }, { recurrence: "dxScheduler-recurrenceYearly", value: "yearly" }]; var frequencies = frequenciesMessages.map((function(item) { return { text: function() { return _message.default.format(item.recurrence) }, value: item.value } })); var repeatEndTypes = [{ type: "never" }, { type: "until" }, { type: "count" }]; var days = ["SU", "MO", "TU", "WE", "TH", "FR", "SA"]; var RecurrenceRule = function() { function RecurrenceRule(rule) { this._recurrenceProcessor = (0, _recurrence.getRecurrenceProcessor)(); this._recurrenceRule = this._recurrenceProcessor.evalRecurrenceRule(rule).rule } var _proto = RecurrenceRule.prototype; _proto.makeRules = function(string) { this._recurrenceRule = this._recurrenceProcessor.evalRecurrenceRule(string).rule }; _proto.makeRule = function(field, value) { if (!value || Array.isArray(value) && !value.length) { delete this._recurrenceRule[field]; return } if ((0, _type.isDefined)(field)) { if ("until" === field) { delete this._recurrenceRule.count } if ("count" === field) { delete this._recurrenceRule.until } this._recurrenceRule[field] = value } }; _proto.getRepeatEndRule = function() { var rules = this._recurrenceRule; if ("count" in rules) { return "count" } if ("until" in rules) { return "until" } return "never" }; _proto.getRecurrenceString = function() { return this._recurrenceProcessor.getRecurrenceString(this._recurrenceRule) }; _proto.getRules = function() { return this._recurrenceRule }; _proto.getDaysFromByDayRule = function() { return this._recurrenceProcessor.daysFromByDayRule(this._recurrenceRule) }; return RecurrenceRule }(); var RecurrenceEditor = function(_Editor) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(RecurrenceEditor, _Editor); function RecurrenceEditor() { return _Editor.apply(this, arguments) || this } var _proto2 = RecurrenceEditor.prototype; _proto2._getDefaultOptions = function() { var defaultOptions = _Editor.prototype._getDefaultOptions.call(this); return (0, _extend.extend)(defaultOptions, { value: null, startDate: new Date, firstDayOfWeek: void 0 }) }; _proto2._getFirstDayOfWeek = function() { var firstDayOfWeek = this.option("firstDayOfWeek"); return (0, _type.isDefined)(firstDayOfWeek) ? firstDayOfWeek : _date2.default.firstDayOfWeekIndex() }; _proto2._createComponent = function(element, name) { var config = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; this._extendConfig(config, { readOnly: this.option("readOnly") }); return _Editor.prototype._createComponent.call(this, element, name, config) }; _proto2._init = function() { _Editor.prototype._init.call(this); this._recurrenceRule = new RecurrenceRule(this.option("value")) }; _proto2._render = function() { _Editor.prototype._render.call(this); this.$element().addClass("dx-recurrence-editor"); this._$container = (0, _renderer.default)("<div>").addClass("dx-recurrence-editor-container").appendTo(this.$element()); this._prepareEditors(); this._renderEditors(this._$container) }; _proto2.getEditorByField = function(fieldName) { var editor = this.getRecurrenceForm().getEditor(fieldName); if (!(0, _type.isDefined)(editor)) { switch (fieldName) { case "byday": editor = this._weekEditor; break; case "count": editor = this._repeatCountEditor; break; case "until": editor = this._repeatUntilDate } } return editor }; _proto2._prepareEditors = function() { var freq = (this._recurrenceRule.getRules().freq || frequenciesMessages[1].value).toLowerCase(); this._editors = [this._createFreqEditor(freq), this._createIntervalEditor(freq), this._createRepeatOnLabel(freq), { itemType: "group", cssClass: "dx-recurrence-repeat-on", colCount: 2, colCountByScreen: { xs: 2 }, items: this._createRepeatOnEditor(freq) }, { itemType: "group", items: this._createRepeatEndEditor() }]; return this._editors }; _proto2._createFreqEditor = function(freq) { var _this = this; return { dataField: "freq", name: "FREQ", editorType: "dxSelectBox", cssClass: "dx-recurrence-selectbox-freq", editorOptions: { items: frequencies, value: freq, field: "freq", valueExpr: "value", displayExpr: "text", layout: "horizontal", elementAttr: { class: "dx-recurrence-selectbox-freq" }, onValueChanged: function(args) { return _this._valueChangedHandler(args) } }, label: { text: _message.default.format("dxScheduler-editorLabelRecurrence") } } }; _proto2._createIntervalEditor = function(freq) { var _this2 = this; var interval = this._recurrenceRule.getRules().interval || 1; return { itemType: "group", colCount: 2, cssClass: "".concat(INTERVAL_EDITOR).concat("-wrapper"), colCountByScreen: { xs: 2 }, items: [{ dataField: "interval", editorType: "dxNumberBox", editorOptions: { format: "#", width: 70, min: 1, field: "interval", value: interval, showSpinButtons: true, useLargeSpinButtons: false, elementAttr: { class: INTERVAL_EDITOR }, onValueChanged: function(args) { return _this2._valueChangedHandler(args) } }, label: { text: _message.default.format("dxScheduler-recurrenceRepeatEvery") } }, { name: "intervalLabel", cssClass: "".concat(INTERVAL_EDITOR).concat("-label"), template: function() { return _message.default.format("dxScheduler-recurrenceRepeat".concat(freq.charAt(0).toUpperCase()).concat(freq.substr(1).toLowerCase())) } }] } }; _proto2._createRepeatOnLabel = function(freq) { return { itemType: "group", cssClass: "".concat("dx-recurrence-repeat-on").concat("-label"), items: [{ name: "repeatOnLabel", colSpan: 2, template: function() { return _message.default.format("dxScheduler-recurrenceRepeatOn") }, visible: freq && "daily" !== freq && "hourly" !== freq }] } }; _proto2._createRepeatOnEditor = function(freq) { return [this._createByDayEditor(freq), this._createByMonthEditor(freq), this._createByMonthDayEditor(freq)] }; _proto2._createByDayEditor = function(freq) { var _this3 = this; return { dataField: "byday", colSpan: 2, template: function(_, itemElement) { var firstDayOfWeek = _this3._getFirstDayOfWeek(); var byDay = _this3._daysOfWeekByRules(); var localDaysNames = _date2.default.getDayNames("abbreviated"); var dayNames = days.slice(firstDayOfWeek).concat(days.slice(0, firstDayOfWeek)); var itemsButtonGroup = localDaysNames.slice(firstDayOfWeek).concat(localDaysNames.slice(0, firstDayOfWeek)).map((function(item, index) { return { text: item, key: dayNames[index] } })); _this3._$repeatOnWeek = (0, _renderer.default)("<div>").addClass("dx-recurrence-button-group").appendTo(itemElement); _this3._weekEditor = _this3._createComponent(_this3._$repeatOnWeek, _button_group.default, { items: itemsButtonGroup, field: "byday", selectionMode: "multiple", selectedItemKeys: byDay, keyExpr: "key", onSelectionChanged: function(e) { var selectedItemKeys = e.component.option("selectedItemKeys"); var selectedKeys = null !== selectedItemKeys && void 0 !== selectedItemKeys && selectedItemKeys.length ? selectedItemKeys : _this3._getDefaultByDayValue(); _this3._recurrenceRule.makeRule("byday", selectedKeys); _this3._changeEditorValue() } }) }, visible: "weekly" === freq, label: { visible: false } } }; _proto2._createByMonthEditor = function(freq) { var _this4 = this; var monthsName = _date2.default.getMonthNames("wide"); var months = _toConsumableArray(Array(12)).map((function(_, i) { return { value: "".concat(i + 1), text: monthsName[i] } })); return { dataField: "bymonth", editorType: "dxSelectBox", editorOptions: { field: "bymonth", items: months, value: this._monthOfYearByRules(), width: 120, displayExpr: "text", valueExpr: "value", elementAttr: { class: "dx-recurrence-selectbox-month-of-year" }, onValueChanged: function(args) { return _this4._valueChangedHandler(args) } }, visible: "yearly" === freq, label: { visible: false } } }; _proto2._createByMonthDayEditor = function(freq) { var _this5 = this; return { dataField: "bymonthday", editorType: "dxNumberBox", editorOptions: { min: 1, max: 31, format: "#", width: 70, field: "bymonthday", showSpinButtons: true, useLargeSpinButtons: false, value: this._dayOfMonthByRules(), elementAttr: { class: "dx-recurrence-numberbox-day-of-month" }, onValueChanged: function(args) { return _this5._valueChangedHandler(args) } }, visible: "monthly" === freq || "yearly" === freq, label: { visible: false } } }; _proto2._createRepeatEndEditor = function() { var _this6 = this; var repeatType = this._recurrenceRule.getRepeatEndRule(); return [{ dataField: "repeatEnd", editorType: "dxRadioGroup", editorOptions: { items: repeatEndTypes, value: repeatType, valueExpr: "type", field: "repeatEnd", itemTemplate: function(itemData) { if ("count" === itemData.type) { return _this6._renderRepeatCountEditor() } if ("until" === itemData.type) { return _this6._renderRepeatUntilEditor() } return _this6._renderDefaultRepeatEnd() }, layout: "vertical", elementAttr: { class: "dx-recurrence-radiogroup-repeat-type" }, onValueChanged: function(args) { return _this6._repeatEndValueChangedHandler(args) } }, label: { text: _message.default.format("dxScheduler-recurrenceEnd") } }] }; _proto2._renderEditors = function($container) { this._recurrenceForm = this._createComponent($container, _form.default, { items: this._editors, showValidationSummary: false, scrollingEnabled: true, showColonAfterLabel: false, labelLocation: "top" }); this._disableRepeatEndParts() }; _proto2._setAriaDescribedBy = function(editor, $label) { var labelId = "label-".concat(new _guid.default); editor.setAria("describedby", labelId); editor.setAria("id", labelId, $label) }; _proto2.getRecurrenceForm = function() { return this._recurrenceForm }; _proto2.changeValueByVisibility = function(value) { if (value) { if (!this.option("value")) { this._handleDefaults() } } else { this._recurrenceRule.makeRules(""); this.option("value", "") } }; _proto2._handleDefaults = function() { this._recurrenceRule.makeRule("freq", frequenciesMessages[1].value); this._changeEditorValue() }; _proto2._changeEditorValue = function() { this.option("value", this._recurrenceRule.getRecurrenceString() || "") }; _proto2._daysOfWeekByRules = function() { var daysByRule = this._recurrenceRule.getDaysFromByDayRule(); if (!daysByRule.length) { daysByRule = this._getDefaultByDayValue() } return daysByRule }; _proto2._getDefaultByDayValue = function() { var startDate = this.option("startDate"); var startDay = startDate.getDay(); return [days[startDay]] }; _proto2._dayOfMonthByRules = function() { var dayByRule = this._recurrenceRule.getRules().bymonthday; if (!dayByRule) { dayByRule = this.option("startDate").getDate() } return dayByRule }; _proto2._monthOfYearByRules = function() { var monthByRule = this._recurrenceRule.getRules().bymonth; if (!monthByRule) { monthByRule = this.option("startDate").getMonth() + 1 } return String(monthByRule) }; _proto2._renderDefaultRepeatEnd = function() { var $editorTemplate = (0, _renderer.default)("<div>").addClass(REPEAT_END_EDITOR + "-wrapper"); (0, _renderer.default)("<div>").text(_message.default.format("dxScheduler-recurrenceNever")).addClass(REPEAT_END_EDITOR + "-label").appendTo($editorTemplate); return $editorTemplate }; _proto2._repeatEndValueChangedHandler = function(args) { var value = args.value; this._disableRepeatEndParts(value); if ("until" === value) { this._recurrenceRule.makeRule(value, this._getUntilValue()) } if ("count" === value) { this._recurrenceRule.makeRule(value, this._repeatCountEditor.option("value")) } if ("never" === value) { this._recurrenceRule.makeRule("count", ""); this._recurrenceRule.makeRule("until", "") } this._changeEditorValue() }; _proto2._disableRepeatEndParts = function() { var value = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._recurrenceRule.getRepeatEndRule(); if ("until" === value) { this._repeatCountEditor.option("disabled", true); this._repeatUntilDate.option("disabled", false) } if ("count" === value) { this._repeatCountEditor.option("disabled", false); this._repeatUntilDate.option("disabled", true) } if ("never" === value) { this._repeatCountEditor.option("disabled", true); this._repeatUntilDate.option("disabled", true) } }; _proto2._renderRepeatCountEditor = function() { var repeatCount = this._recurrenceRule.getRules().count || 1; var $editorWrapper = (0, _renderer.default)("<div>").addClass(REPEAT_END_EDITOR + "-wrapper"); (0, _renderer.default)("<div>").text(_message.default.format("dxScheduler-recurrenceAfter")).addClass(REPEAT_END_EDITOR + "-label").appendTo($editorWrapper); this._$repeatCountEditor = (0, _renderer.default)("<div>").addClass("dx-recurrence-numberbox-repeat-count").appendTo($editorWrapper); (0, _renderer.default)("<div>").text(_message.default.format("dxScheduler-recurrenceRepeatCount")).addClass(REPEAT_END_EDITOR + "-label").appendTo($editorWrapper); this._repeatCountEditor = this._createComponent(this._$repeatCountEditor, _number_box.default, { field: "count", format: "#", width: 70, min: 1, showSpinButtons: true, useLargeSpinButtons: false, value: repeatCount, onValueChanged: this._repeatCountValueChangeHandler.bind(this) }); return $editorWrapper }; _proto2._repeatCountValueChangeHandler = function(args) { if ("count" === this._recurrenceRule.getRepeatEndRule()) { var value = args.value; this._recurrenceRule.makeRule("count", value); this._changeEditorValue() } }; _proto2._formatUntilDate = function(date) { if (this._recurrenceRule.getRules().until && _date.default.sameDate(this._recurrenceRule.getRules().until, date)) { return date } return _date.default.setToDayEnd(date) }; _proto2._renderRepeatUntilEditor = function() { var repeatUntil = this._getUntilValue(); var $editorWrapper = (0, _renderer.default)("<div>").addClass(REPEAT_END_EDITOR + "-wrapper"); (0, _renderer.default)("<div>").text(_message.default.format("dxScheduler-recurrenceOn")).addClass(REPEAT_END_EDITOR + "-label").appendTo($editorWrapper); this._$repeatDateEditor = (0, _renderer.default)("<div>").addClass("dx-recurrence-datebox-until-date").appendTo($editorWrapper); this._repeatUntilDate = this._createComponent(this._$repeatDateEditor, _date_box.default, { field: "until", value: repeatUntil, type: "date", onValueChanged: this._repeatUntilValueChangeHandler.bind(this), calendarOptions: { firstDayOfWeek: this._getFirstDayOfWeek() }, useMaskBehavior: true }); return $editorWrapper }; _proto2._repeatUntilValueChangeHandler = function(args) { if ("until" === this._recurrenceRule.getRepeatEndRule()) { var dateInTimeZone = this._formatUntilDate(new Date(args.value)); var getStartDateTimeZone = this.option("getStartDateTimeZone"); var appointmentTimeZone = getStartDateTimeZone(); var path = appointmentTimeZone ? _types.PathTimeZoneConversion.fromAppointmentToSource : _types.PathTimeZoneConversion.fromGridToSource; var dateInLocaleTimeZone = this.option("timeZoneCalculator").createDate(dateInTimeZone, { path: path, appointmentTimeZone: appointmentTimeZone }); this._recurrenceRule.makeRule("until", dateInLocaleTimeZone); this._changeEditorValue() } }; _proto2._valueChangedHandler = function(args) { var value = args.value, previousValue = args.previousValue; var field = args.component.option("field"); if (!this.option("visible")) { this.option("value", "") } else { this._recurrenceRule.makeRule(field, value); if ("freq" === field) { this._makeRepeatOnRule(value); this._changeRepeatOnVisibility(value, previousValue) } this._changeEditorValue() } }; _proto2._makeRepeatOnRule = function(value) { if ("daily" === value || "hourly" === value) { this._recurrenceRule.makeRule("byday", ""); this._recurrenceRule.makeRule("bymonth", ""); this._recurrenceRule.makeRule("bymonthday", "") } if ("weekly" === value) { this._recurrenceRule.makeRule("byday", this._daysOfWeekByRules()); this._recurrenceRule.makeRule("bymonth", ""); this._recurrenceRule.makeRule("bymonthday", "") } if ("monthly" === value) { this._recurrenceRule.makeRule("bymonthday", this._dayOfMonthByRules()); this._recurrenceRule.makeRule("bymonth", ""); this._recurrenceRule.makeRule("byday", "") } if ("yearly" === value) { this._recurrenceRule.makeRule("bymonthday", this._dayOfMonthByRules()); this._recurrenceRule.makeRule("bymonth", this._monthOfYearByRules()); this._recurrenceRule.makeRule("byday", "") } }; _proto2._optionChanged = function(args) { var _this$_recurrenceForm, _this$_repeatCountEdi, _this$_weekEditor, _this$_repeatUntilDat; switch (args.name) { case "readOnly": null === (_this$_recurrenceForm = this._recurrenceForm) || void 0 === _this$_recurrenceForm ? void 0 : _this$_recurrenceForm.option("readOnly", args.value); null === (_this$_repeatCountEdi = this._repeatCountEditor) || void 0 === _this$_repeatCountEdi ? void 0 : _this$_repeatCountEdi.option("readOnly", args.value); null === (_this$_weekEditor = this._weekEditor) || void 0 === _this$_weekEditor ? void 0 : _this$_weekEditor.option("readOnly", args.value); null === (_this$_repeatUntilDat = this._repeatUntilDate) || void 0 === _this$_repeatUntilDat ? void 0 : _this$_repeatUntilDat.option("readOnly", args.value); _Editor.prototype._optionChanged.call(this, args); break; case "value": this._recurrenceRule.makeRules(args.value); this._changeRepeatIntervalLabel(); this._disableRepeatEndParts(); this._changeEditorsValue(this._recurrenceRule.getRules()); _Editor.prototype._optionChanged.call(this, args); break; case "startDate": this._makeRepeatOnRule(this._recurrenceRule.getRules().freq); if ((0, _type.isDefined)(this._recurrenceRule.getRecurrenceString())) { this._changeEditorValue() } break; case "firstDayOfWeek": if (this._weekEditor) { var localDaysNames = _date2.default.getDayNames("abbreviated"); var dayNames = days.slice(args.value).concat(days.slice(0, args.value)); var itemsButtonGroup = localDaysNames.slice(args.value).concat(localDaysNames.slice(0, args.value)).map((function(item, index) { return { text: item, key: dayNames[index] } })); this._weekEditor.option("items", itemsButtonGroup) } if (this._$repeatDateEditor) { this._repeatUntilDate.option("calendarOptions.firstDayOfWeek", this._getFirstDayOfWeek()) } break; default: _Editor.prototype._optionChanged.call(this, args) } }; _proto2._changeRepeatOnVisibility = function(freq, previousFreq) { if (freq !== previousFreq) { this._recurrenceForm.itemOption("byday", "visible", false); this._recurrenceForm.itemOption("bymonthday", "visible", false); this._recurrenceForm.itemOption("bymonth", "visible", false); this._recurrenceForm.itemOption("repeatOnLabel", "visible", freq && "daily" !== freq && "hourly" !== freq); if ("weekly" === freq) { this._recurrenceForm.itemOption("byday", "visible", true) } if ("monthly" === freq) { this._recurrenceForm.itemOption("bymonthday", "visible", true) } if ("yearly" === freq) { this._recurrenceForm.itemOption("bymonthday", "visible", true); this._recurrenceForm.itemOption("bymonth", "visible", true) } } }; _proto2._changeRepeatIntervalLabel = function() { var freq = this._recurrenceRule.getRules().freq; freq && this._recurrenceForm.itemOption("intervalLabel", "template", _message.default.format("dxScheduler-recurrenceRepeat".concat(freq.charAt(0).toUpperCase()).concat(freq.substr(1).toLowerCase()))) }; _proto2._changeEditorsValue = function(rules) { this._recurrenceForm.getEditor("freq").option("value", (rules.freq || frequenciesMessages[1].value).toLowerCase()); this._changeDayOfWeekValue(); this._changeDayOfMonthValue(); this._changeMonthOfYearValue(); this._changeIntervalValue(rules.interval); this._changeRepeatCountValue(); this._changeRepeatEndValue(); this._changeRepeatUntilValue() }; _proto2._changeIntervalValue = function(value) { this._recurrenceForm.getEditor("interval").option("value", value || 1) }; _proto2._changeRepeatEndValue = function() { var repeatType = this._recurrenceRule.getRepeatEndRule(); this._recurrenceForm.getEditor("repeatEnd").option("value", repeatType) }; _proto2._changeDayOfWeekValue = function() { var isEditorVisible = this._recurrenceForm.itemOption("byday").visible; if (isEditorVisible) { var _days = this._daysOfWeekByRules(); this.getEditorByField("byday").option("selectedItemKeys", _days) } }; _proto2._changeDayOfMonthValue = function() { var isEditorVisible = this._recurrenceForm.itemOption("bymonthday").visible; if (isEditorVisible) { var day = this._dayOfMonthByRules(); this._recurrenceForm.getEditor("bymonthday").option("value", day) } }; _proto2._changeMonthOfYearValue = function() { var isEditorVisible = this._recurrenceForm.itemOption("bymonth").visible; if (isEditorVisible) { var month = this._monthOfYearByRules(); this._recurrenceForm.getEditor("bymonth").option("value", month) } }; _proto2._changeRepeatCountValue = function() { var count = this._recurrenceRule.getRules().count || 1; this._repeatCountEditor.option("value", count) }; _proto2._changeRepeatUntilValue = function() { this._repeatUntilDate.option("value", this._getUntilValue()) }; _proto2._getUntilValue = function() { var untilDate = this._recurrenceRule.getRules().until; if (!untilDate) { return this._formatUntilDate(new Date) } var getStartDateTimeZone = this.option("getStartDateTimeZone"); var appointmentTimeZone = getStartDateTimeZone(); var path = appointmentTimeZone ? _types.PathTimeZoneConversion.fromSourceToAppointment : _types.PathTimeZoneConversion.fromSourceToGrid; return this.option("timeZoneCalculator").createDate(untilDate, { path: path, appointmentTimeZone: appointmentTimeZone }) }; _proto2.toggle = function() { this._freqEditor.focus() }; _proto2.setAria = function() { if (this._switchEditor) { this._switchEditor.setAria(arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 1 ? void 0 : arguments[1]) } }; return RecurrenceEditor }(_editor.default); (0, _component_registrator.default)("dxRecurrenceEditor", RecurrenceEditor); var _default = RecurrenceEditor; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 77640: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/resources/agendaResourceProcessor.js ***! \***********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.AgendaResourceProcessor = void 0; var _array = __webpack_require__( /*! ../../../core/utils/array */ 89386); var _deferred = __webpack_require__( /*! ../../../core/utils/deferred */ 62754); var _utils = __webpack_require__( /*! ./utils */ 98140); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var PromiseItem = function(rawAppointment, promise) { this.rawAppointment = rawAppointment; this.promise = promise }; var AgendaResourceProcessor = function() { function AgendaResourceProcessor() { var resourceDeclarations = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []; this._resourceDeclarations = resourceDeclarations; this.isLoaded = false; this.isLoading = false; this.resourceMap = new Map; this.appointmentPromiseQueue = [] } var _proto = AgendaResourceProcessor.prototype; _proto._pushAllResources = function() { var _this = this; this.appointmentPromiseQueue.forEach((function(_ref) { var promise = _ref.promise, rawAppointment = _ref.rawAppointment; var result = []; _this.resourceMap.forEach((function(resource, fieldName) { var item = { label: resource.label, values: [] }; if (fieldName in rawAppointment) { (0, _array.wrapToArray)(rawAppointment[fieldName]).forEach((function(value) { return item.values.push(resource.map.get(value)) })) } if (item.values.length) { result.push(item) } })); promise.resolve(result) })); this.appointmentPromiseQueue = [] }; _proto._onPullResource = function(fieldName, valueName, displayName, label, items) { var map = new Map; items.forEach((function(item) { return map.set(item[valueName], item[displayName]) })); this.resourceMap.set(fieldName, { label: label, map: map }) }; _proto._hasResourceDeclarations = function(resources) { if (0 === resources.length) { this.appointmentPromiseQueue.forEach((function(_ref2) { var promise = _ref2.promise; return promise.resolve([]) })); this.appointmentPromiseQueue = []; return false } return true }; _proto._tryPullResources = function(resources, resultAsync) { var _this2 = this; if (!this.isLoading) { this.isLoading = true; var promises = []; resources.forEach((function(resource) { var promise = (new _deferred.Deferred).done((function(items) { return _this2._onPullResource((0, _utils.getFieldExpr)(resource), (0, _utils.getValueExpr)(resource), (0, _utils.getDisplayExpr)(resource), resource.label, items) })); promises.push(promise); var dataSource = (0, _utils.getWrappedDataSource)(resource.dataSource); if (dataSource.isLoaded()) { promise.resolve(dataSource.items()) } else { dataSource.load().done((function(list) { return promise.resolve(list) })).fail((function() { return promise.reject() })) } })); _deferred.when.apply(null, promises).done((function() { _this2.isLoaded = true; _this2.isLoading = false; _this2._pushAllResources() })).fail((function() { return resultAsync.reject() })) } }; _proto.initializeState = function() { var resourceDeclarations = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []; this.resourceDeclarations = resourceDeclarations }; _proto.createListAsync = function(rawAppointment) { var resultAsync = new _deferred.Deferred; this.appointmentPromiseQueue.push(new PromiseItem(rawAppointment, resultAsync)); if (this._hasResourceDeclarations(this.resourceDeclarations)) { if (this.isLoaded) { this._pushAllResources() } else { this._tryPullResources(this.resourceDeclarations, resultAsync) } } return resultAsync.promise() }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(AgendaResourceProcessor, [{ key: "resourceDeclarations", get: function() { return this._resourceDeclarations }, set: function(value) { this._resourceDeclarations = value; this.isLoaded = false; this.isLoading = false; this.resourceMap.clear(); this.appointmentPromiseQueue = [] } }]); return AgendaResourceProcessor }(); exports.AgendaResourceProcessor = AgendaResourceProcessor }, 98140: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/resources/utils.js ***! \*****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.setResourceToAppointment = exports.reduceResourcesTree = exports.loadResources = exports.isResourceMultiple = exports.groupAppointmentsByResourcesCore = exports.groupAppointmentsByResources = exports.getWrappedDataSource = exports.getValueExpr = exports.getResourcesDataByGroups = exports.getResourceTreeLeaves = exports.getResourceColor = exports.getResourceByField = exports.getPathToLeaf = exports.getPaintedResources = exports.getOrLoadResourceItem = exports.getNormalizedResources = exports.getGroupsObjectFromGroupsArray = exports.getGroupCount = exports.getFieldExpr = exports.getDisplayExpr = exports.getDataAccessors = exports.getCellGroups = exports.getAppointmentColor = exports.getAllGroups = exports.filterResources = exports.createResourcesTree = exports.createResourceEditorModel = exports.createReducedResourcesTree = exports.createExpressions = void 0; var _utils = __webpack_require__( /*! ../../../data/data_source/utils */ 9234); var _data_source = __webpack_require__( /*! ../../../data/data_source/data_source */ 85273); var _deferred = __webpack_require__( /*! ../../../core/utils/deferred */ 62754); var _data = __webpack_require__( /*! ../../../core/utils/data */ 47617); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _array = __webpack_require__( /*! ../../../core/utils/array */ 89386); var _object = __webpack_require__( /*! ../../../core/utils/object */ 48013); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _hasResourceValue = __webpack_require__( /*! ../../../renovation/ui/scheduler/resources/hasResourceValue */ 31486); function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var getValueExpr = function(resource) { return resource.valueExpr || "id" }; exports.getValueExpr = getValueExpr; var getDisplayExpr = function(resource) { return resource.displayExpr || "text" }; exports.getDisplayExpr = getDisplayExpr; var getFieldExpr = function(resource) { return resource.fieldExpr || resource.field }; exports.getFieldExpr = getFieldExpr; var getWrappedDataSource = function(dataSource) { if (dataSource instanceof _data_source.DataSource) { return dataSource } var result = _extends({}, (0, _utils.normalizeDataSourceOptions)(dataSource), { pageSize: 0 }); if (!Array.isArray(dataSource)) { result.filter = dataSource.filter } return new _data_source.DataSource(result) }; exports.getWrappedDataSource = getWrappedDataSource; var createResourcesTree = function(groups) { var leafIndex = 0; return function make(group, groupIndex, result, parent) { result = result || []; for (var itemIndex = 0; itemIndex < group.items.length; itemIndex++) { var _group$data; var currentGroupItem = group.items[itemIndex]; var resultItem = { name: group.name, value: currentGroupItem.id, title: currentGroupItem.text, data: null === (_group$data = group.data) || void 0 === _group$data ? void 0 : _group$data[itemIndex], children: [], parent: parent || null }; var nextGroupIndex = groupIndex + 1; if (groups[nextGroupIndex]) { make(groups[nextGroupIndex], nextGroupIndex, resultItem.children, resultItem) } if (!resultItem.children.length) { resultItem.leafIndex = leafIndex; leafIndex++ } result.push(resultItem) } return result }(groups[0], 0) }; exports.createResourcesTree = createResourcesTree; var getPathToLeaf = function(leafIndex, groups) { var tree = createResourcesTree(groups); var leaf = function findLeafByIndex(data, index) { for (var i = 0; i < data.length; i++) { if (data[i].leafIndex === index) { return data[i] } else { var _leaf = findLeafByIndex(data[i].children, index); if (_leaf) { return _leaf } } } }(tree, leafIndex); return function makeBranch(leaf, result) { result = result || []; result.push(leaf.value); if (leaf.parent) { makeBranch(leaf.parent, result) } return result }(leaf).reverse() }; exports.getPathToLeaf = getPathToLeaf; var getCellGroups = function(groupIndex, groups) { var result = []; if (getGroupCount(groups)) { if (groupIndex < 0) { return } var path = getPathToLeaf(groupIndex, groups); for (var i = 0; i < groups.length; i++) { result.push({ name: groups[i].name, id: path[i] }) } } return result }; exports.getCellGroups = getCellGroups; var getGroupCount = function(groups) { var result = 0; for (var i = 0, len = groups.length; i < len; i++) { if (!i) { result = groups[i].items.length } else { result *= groups[i].items.length } } return result }; exports.getGroupCount = getGroupCount; var getGroupsObjectFromGroupsArray = function(groupsArray) { return groupsArray.reduce((function(currentGroups, _ref) { var name = _ref.name, id = _ref.id; return _extends({}, currentGroups, _defineProperty({}, name, id)) }), {}) }; exports.getGroupsObjectFromGroupsArray = getGroupsObjectFromGroupsArray; exports.getAllGroups = function(groups) { var groupCount = getGroupCount(groups); return _toConsumableArray(new Array(groupCount)).map((function(_, groupIndex) { var groupsArray = getCellGroups(groupIndex, groups); return getGroupsObjectFromGroupsArray(groupsArray) })) }; var getResourceByField = function(fieldName, loadedResources) { for (var i = 0; i < loadedResources.length; i++) { var resource = loadedResources[i]; if (resource.name === fieldName) { return resource.data } } return [] }; exports.getResourceByField = getResourceByField; exports.createResourceEditorModel = function(resources, loadedResources) { return resources.map((function(resource) { var dataField = getFieldExpr(resource); var dataSource = getResourceByField(dataField, loadedResources); return { editorOptions: { dataSource: dataSource.length ? dataSource : getWrappedDataSource(resource.dataSource), displayExpr: getDisplayExpr(resource), valueExpr: getValueExpr(resource) }, dataField: dataField, editorType: resource.allowMultiple ? "dxTagBox" : "dxSelectBox", label: { text: resource.label || dataField } } })) }; var isResourceMultiple = function(resources, resourceField) { var resource = resources.find((function(resource) { var field = getFieldExpr(resource); return field === resourceField })); return !!(null !== resource && void 0 !== resource && resource.allowMultiple) }; exports.isResourceMultiple = isResourceMultiple; var filterResources = function(resources, fields) { return resources.filter((function(resource) { var field = getFieldExpr(resource); return fields.indexOf(field) > -1 })) }; exports.filterResources = filterResources; var getPaintedResources = function(resources, groups) { var newGroups = groups || []; var result = resources.find((function(resource) { return resource.useColorAsDefault })); if (result) { return result } var newResources = newGroups.length ? filterResources(resources, newGroups) : resources; return newResources[newResources.length - 1] }; exports.getPaintedResources = getPaintedResources; var getOrLoadResourceItem = function(resources, resourceLoaderMap, field, value) { var result = new _deferred.Deferred; resources.filter((function(resource) { return getFieldExpr(resource) === field && (0, _type.isDefined)(resource.dataSource) })).forEach((function(resource) { var wrappedDataSource = getWrappedDataSource(resource.dataSource); var valueExpr = getValueExpr(resource); if (!resourceLoaderMap.has(field)) { resourceLoaderMap.set(field, wrappedDataSource.load()) } resourceLoaderMap.get(field).done((function(data) { var getter = (0, _data.compileGetter)(valueExpr); var filteredData = data.filter((function(resource) { return (0, _common.equalByValue)(getter(resource), value) })); result.resolve(filteredData[0]) })).fail((function() { resourceLoaderMap.delete(field); result.reject() })) })); return result.promise() }; exports.getOrLoadResourceItem = getOrLoadResourceItem; var getDataAccessors = function(dataAccessors, fieldName, type) { var actions = dataAccessors[type]; return actions[fieldName] }; exports.getDataAccessors = getDataAccessors; exports.groupAppointmentsByResources = function(config, appointments) { var groups = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : []; var result = { 0: appointments }; if (groups.length && config.loadedResources.length) { result = groupAppointmentsByResourcesCore(config, appointments, config.loadedResources) } var totalResourceCount = 0; config.loadedResources.forEach((function(resource, index) { if (!index) { totalResourceCount = resource.items.length } else { totalResourceCount *= resource.items.length } })); for (var index = 0; index < totalResourceCount; index++) { var key = index.toString(); if (result[key]) { continue } result[key] = [] } return result }; var groupAppointmentsByResourcesCore = function(config, appointments, resources) { var tree = createResourcesTree(resources); var result = {}; appointments.forEach((function(appointment) { var treeLeaves = getResourceTreeLeaves((function(field, action) { return getDataAccessors(config.dataAccessors, field, action) }), tree, appointment); for (var i = 0; i < treeLeaves.length; i++) { if (!result[treeLeaves[i]]) { result[treeLeaves[i]] = [] } result[treeLeaves[i]].push((0, _object.deepExtendArraySafe)({}, appointment, true)) } })); return result }; exports.groupAppointmentsByResourcesCore = groupAppointmentsByResourcesCore; var getResourceTreeLeaves = function getResourceTreeLeaves(getDataAccessors, tree, rawAppointment, result) { result = result || []; for (var i = 0; i < tree.length; i++) { if (!hasGroupItem(getDataAccessors, rawAppointment, tree[i].name, tree[i].value)) { continue } if ((0, _type.isDefined)(tree[i].leafIndex)) { result.push(tree[i].leafIndex) } if (tree[i].children) { getResourceTreeLeaves(getDataAccessors, tree[i].children, rawAppointment, result) } } return result }; exports.getResourceTreeLeaves = getResourceTreeLeaves; var hasGroupItem = function(getDataAccessors, rawAppointment, groupName, itemValue) { var resourceValue = getDataAccessors(groupName, "getter")(rawAppointment); return (0, _hasResourceValue.hasResourceValue)((0, _array.wrapToArray)(resourceValue), itemValue) }; exports.createReducedResourcesTree = function(loadedResources, getDataAccessors, appointments) { var tree = createResourcesTree(loadedResources); return reduceResourcesTree(getDataAccessors, tree, appointments) }; var reduceResourcesTree = function reduceResourcesTree(getDataAccessors, tree, existingAppointments, _result) { _result = _result ? _result.children : []; tree.forEach((function(node, index) { var ok = false; var resourceName = node.name; var resourceValue = node.value; var resourceTitle = node.title; var resourceData = node.data; var resourceGetter = getDataAccessors(resourceName, "getter"); existingAppointments.forEach((function(appointment) { if (!ok) { var resourceFromAppointment = resourceGetter(appointment); if (Array.isArray(resourceFromAppointment)) { if (resourceFromAppointment.indexOf(resourceValue) > -1) { _result.push({ name: resourceName, value: resourceValue, title: resourceTitle, data: resourceData, children: [] }); ok = true } } else if (resourceFromAppointment === resourceValue) { _result.push({ name: resourceName, value: resourceValue, title: resourceTitle, data: resourceData, children: [] }); ok = true } } })); if (ok && node.children && node.children.length) { reduceResourcesTree(getDataAccessors, node.children, existingAppointments, _result[index]) } })); return _result }; exports.reduceResourcesTree = reduceResourcesTree; exports.getResourcesDataByGroups = function(loadedResources, resources, groups) { if (!groups || !groups.length) { return loadedResources } var fieldNames = {}; var currentResourcesData = []; groups.forEach((function(group) { (0, _iterator.each)(group, (function(name, value) { return fieldNames[name] = value })) })); var resourceData = loadedResources.filter((function(_ref2) { var name = _ref2.name; return (0, _type.isDefined)(fieldNames[name]) })); resourceData.forEach((function(data) { return currentResourcesData.push((0, _extend.extend)({}, data)) })); currentResourcesData.forEach((function(currentResource) { var items = currentResource.items, data = currentResource.data, resourceName = currentResource.name; var resource = filterResources(resources, [resourceName])[0] || {}; var valueExpr = getValueExpr(resource); var filteredItems = []; var filteredData = []; groups.filter((function(group) { return (0, _type.isDefined)(group[resourceName]) })).forEach((function(group) { (0, _iterator.each)(group, (function(name, value) { if (!filteredItems.filter((function(item) { return item.id === value && item[valueExpr] === name })).length) { var currentItems = items.filter((function(item) { return item.id === value })); var currentData = data.filter((function(item) { return item[valueExpr] === value })); filteredItems.push.apply(filteredItems, _toConsumableArray(currentItems)); filteredData.push.apply(filteredData, _toConsumableArray(currentData)) } })) })); currentResource.items = filteredItems; currentResource.data = filteredData })); return currentResourcesData }; exports.setResourceToAppointment = function(resources, dataAccessors, appointment, groups) { var resourcesSetter = dataAccessors.setter; for (var name in groups) { var resourceData = groups[name]; var value = isResourceMultiple(resources, name) ? (0, _array.wrapToArray)(resourceData) : resourceData; resourcesSetter[name](appointment, value) } }; var getResourceColor = function(resources, resourceLoaderMap, field, value) { var result = new _deferred.Deferred; var resource = filterResources(resources, [field])[0] || {}; var colorExpr = resource.colorExpr || "color"; var colorGetter = (0, _data.compileGetter)(colorExpr); getOrLoadResourceItem(resources, resourceLoaderMap, field, value).done((function(resource) { return result.resolve(colorGetter(resource)) })).fail((function() { return result.reject() })); return result.promise() }; exports.getResourceColor = getResourceColor; exports.getAppointmentColor = function(resourceConfig, appointmentConfig) { var resources = resourceConfig.resources, dataAccessors = resourceConfig.dataAccessors, loadedResources = resourceConfig.loadedResources, resourceLoaderMap = resourceConfig.resourceLoaderMap; var groupIndex = appointmentConfig.groupIndex, groups = appointmentConfig.groups, itemData = appointmentConfig.itemData; var paintedResources = getPaintedResources(resources || [], groups); if (paintedResources) { var field = getFieldExpr(paintedResources); var cellGroups = getCellGroups(groupIndex, loadedResources); var resourcesDataAccessors = getDataAccessors(dataAccessors, field, "getter"); var resourceValues = (0, _array.wrapToArray)(resourcesDataAccessors(itemData)); var groupId = resourceValues[0]; for (var i = 0; i < cellGroups.length; i++) { if (cellGroups[i].name === field) { groupId = cellGroups[i].id; break } } return getResourceColor(resources, resourceLoaderMap, field, groupId) } return (new _deferred.Deferred).resolve().promise() }; exports.createExpressions = function() { var resources = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []; var result = { getter: {}, setter: {} }; resources.forEach((function(resource) { var field = getFieldExpr(resource); result.getter[field] = (0, _data.compileGetter)(field); result.setter[field] = (0, _data.compileSetter)(field) })); return result }; exports.loadResources = function(groups, resources, resourceLoaderMap) { var result = new _deferred.Deferred; var deferreds = []; var newGroups = groups || []; var newResources = resources || []; var loadedResources = []; filterResources(newResources, newGroups).forEach((function(resource) { var deferred = new _deferred.Deferred; var name = getFieldExpr(resource); deferreds.push(deferred); var dataSourcePromise = getWrappedDataSource(resource.dataSource).load(); resourceLoaderMap.set(name, dataSourcePromise); dataSourcePromise.done((function(data) { var items = function(resource, data) { var valueGetter = (0, _data.compileGetter)(getValueExpr(resource)); var displayGetter = (0, _data.compileGetter)(getDisplayExpr(resource)); return data.map((function(item) { var result = { id: valueGetter(item), text: displayGetter(item) }; if (item.color) { result.color = item.color } return result })) }(resource, data); deferred.resolve({ name: name, items: items, data: data }) })).fail((function() { return deferred.reject() })) })); if (!deferreds.length) { return result.resolve(loadedResources) } _deferred.when.apply(null, deferreds).done((function() { for (var _len = arguments.length, resources = new Array(_len), _key = 0; _key < _len; _key++) { resources[_key] = arguments[_key] } var hasEmpty = resources.some((function(r) { return 0 === r.items.length })); loadedResources = hasEmpty ? [] : resources; result.resolve(loadedResources) })).fail((function() { return result.reject() })); return result.promise() }; exports.getNormalizedResources = function(rawAppointment, dataAccessors, resources) { var result = {}; (0, _iterator.each)(dataAccessors.resources.getter, (function(fieldName) { var value = dataAccessors.resources.getter[fieldName](rawAppointment); if ((0, _type.isDefined)(value)) { var isMultiple = isResourceMultiple(resources, fieldName); var resourceValue = isMultiple ? (0, _array.wrapToArray)(value) : value; result[fieldName] = resourceValue } })); return result } }, 93837: /*!*****************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/shaders/ui.scheduler.current_time_shader.horizontal.js ***! \*****************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _position = __webpack_require__( /*! ../../../core/utils/position */ 37518); var _uiScheduler = (obj = __webpack_require__( /*! ../shaders/ui.scheduler.current_time_shader */ 72963), obj && obj.__esModule ? obj : { default: obj }); var obj; function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var HorizontalCurrentTimeShader = function(_CurrentTimeShader) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(HorizontalCurrentTimeShader, _CurrentTimeShader); function HorizontalCurrentTimeShader() { return _CurrentTimeShader.apply(this, arguments) || this } var _proto = HorizontalCurrentTimeShader.prototype; _proto.renderShader = function() { var groupCount = this._workSpace._isHorizontalGroupedWorkSpace() ? this._workSpace._getGroupCount() : 1; for (var i = 0; i < groupCount; i++) { var isFirstShader = 0 === i; var $shader = isFirstShader ? this._$shader : this.createShader(); if (this._workSpace.isGroupedByDate()) { this._customizeGroupedByDateShader($shader, i) } else { this._customizeShader($shader, i) }!isFirstShader && this._shader.push($shader) } }; _proto._customizeShader = function($shader, groupIndex) { var shaderWidth = this._workSpace.getIndicationWidth(); this._applyShaderWidth($shader, shaderWidth); if (groupIndex >= 1) { var workSpace = this._workSpace; var indicationWidth = workSpace._getCellCount() * workSpace.getCellWidth(); $shader.css("left", indicationWidth) } else { $shader.css("left", 0) } }; _proto._applyShaderWidth = function($shader, width) { var maxWidth = (0, _position.getBoundingRect)(this._$container.get(0)).width; if (width > maxWidth) { width = maxWidth } if (width > 0) { (0, _size.setWidth)($shader, width) } }; _proto._customizeGroupedByDateShader = function($shader, groupIndex) { var cellCount = this._workSpace.getIndicationCellCount(); var integerPart = Math.floor(cellCount); var fractionPart = cellCount - integerPart; var isFirstShaderPart = 0 === groupIndex; var workSpace = this._workSpace; var shaderWidth = isFirstShaderPart ? workSpace.getIndicationWidth() : fractionPart * workSpace.getCellWidth(); var shaderLeft; this._applyShaderWidth($shader, shaderWidth); if (isFirstShaderPart) { shaderLeft = workSpace._getCellCount() * workSpace.getCellWidth() * groupIndex } else { shaderLeft = workSpace.getCellWidth() * integerPart * workSpace._getGroupCount() + groupIndex * workSpace.getCellWidth() } $shader.css("left", shaderLeft) }; return HorizontalCurrentTimeShader }(_uiScheduler.default); var _default = HorizontalCurrentTimeShader; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 72963: /*!******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/shaders/ui.scheduler.current_time_shader.js ***! \******************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = (obj = __webpack_require__( /*! ../../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var CurrentTimeShader = function() { function CurrentTimeShader(workSpace) { this._workSpace = workSpace; this._$container = this._workSpace._dateTableScrollable.$content() } var _proto = CurrentTimeShader.prototype; _proto.render = function() { var _this = this; this.initShaderElements(); this.renderShader(); this._shader.forEach((function(shader, index) { _this._$container.append(shader) })) }; _proto.initShaderElements = function() { this._$shader = this.createShader(); this._shader = []; this._shader.push(this._$shader) }; _proto.renderShader = function() {}; _proto.createShader = function() { return (0, _renderer.default)("<div>").addClass("dx-scheduler-date-time-shader") }; _proto.clean = function() { this._$container && this._$container.find(".dx-scheduler-date-time-shader").remove() }; return CurrentTimeShader }(); var _default = CurrentTimeShader; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 58037: /*!***************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/shaders/ui.scheduler.current_time_shader.vertical.js ***! \***************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _uiScheduler = _interopRequireDefault(__webpack_require__( /*! ../shaders/ui.scheduler.current_time_shader */ 72963)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var VerticalCurrentTimeShader = function(_CurrentTimeShader) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(VerticalCurrentTimeShader, _CurrentTimeShader); function VerticalCurrentTimeShader() { return _CurrentTimeShader.apply(this, arguments) || this } var _proto = VerticalCurrentTimeShader.prototype; _proto.renderShader = function() { var shaderHeight = this._getShaderHeight(); var maxHeight = this._getShaderMaxHeight(); var isSolidShader = shaderHeight > maxHeight; if (shaderHeight > maxHeight) { shaderHeight = maxHeight }(0, _size.setHeight)(this._$shader, shaderHeight); var groupCount = this._workSpace._getGroupCount() || 1; if (this._workSpace.isGroupedByDate()) { this._renderGroupedByDateShaderParts(groupCount, shaderHeight, maxHeight, isSolidShader) } else { this._renderShaderParts(groupCount, shaderHeight, maxHeight, isSolidShader) } }; _proto._renderShaderParts = function(groupCount, shaderHeight, maxHeight, isSolidShader) { for (var i = 0; i < groupCount; i++) { var shaderWidth = this._getShaderWidth(i); this._renderTopShader(this._$shader, shaderHeight, shaderWidth, i); !isSolidShader && this._renderBottomShader(this._$shader, maxHeight, shaderHeight, shaderWidth, i); this._renderAllDayShader(shaderWidth, i) } }; _proto._renderGroupedByDateShaderParts = function(groupCount, shaderHeight, maxHeight, isSolidShader) { var shaderWidth = this._getShaderWidth(0); var bottomShaderWidth = shaderWidth - this._workSpace.getCellWidth(); if (shaderHeight < 0) { shaderHeight = 0; bottomShaderWidth = shaderWidth } this._renderTopShader(this._$shader, shaderHeight, shaderWidth * groupCount, 0); !isSolidShader && this._renderBottomShader(this._$shader, maxHeight, shaderHeight, bottomShaderWidth * groupCount + this._workSpace.getCellWidth(), 0); this._renderAllDayShader(shaderWidth * groupCount, 0) }; _proto._renderTopShader = function($shader, height, width, i) { this._$topShader = (0, _renderer.default)("<div>").addClass("dx-scheduler-date-time-shader-top"); if (width) { (0, _size.setWidth)(this._$topShader, width) } if (height) { (0, _size.setHeight)(this._$topShader, height) } this._$topShader.css("marginTop", this._getShaderTopOffset(i)); this._$topShader.css("left", this._getShaderOffset(i, width)); $shader.append(this._$topShader) }; _proto._renderBottomShader = function($shader, maxHeight, height, width, i) { this._$bottomShader = (0, _renderer.default)("<div>").addClass("dx-scheduler-date-time-shader-bottom"); var shaderWidth = height < 0 ? width : width - this._workSpace.getCellWidth(); var shaderHeight = height < 0 ? maxHeight : maxHeight - height; (0, _size.setWidth)(this._$bottomShader, shaderWidth); (0, _size.setHeight)(this._$bottomShader, shaderHeight); this._$bottomShader.css("left", this._getShaderOffset(i, width - this._workSpace.getCellWidth())); $shader.append(this._$bottomShader) }; _proto._renderAllDayShader = function(shaderWidth, i) { if (this._workSpace.option("showAllDayPanel")) { this._$allDayIndicator = (0, _renderer.default)("<div>").addClass("dx-scheduler-date-time-shader-all-day"); (0, _size.setHeight)(this._$allDayIndicator, this._workSpace.getAllDayHeight()); (0, _size.setWidth)(this._$allDayIndicator, shaderWidth); this._$allDayIndicator.css("left", this._getShaderOffset(i, shaderWidth)); this._workSpace._$allDayPanel.prepend(this._$allDayIndicator) } }; _proto._getShaderOffset = function(i, width) { return this._workSpace.getGroupedStrategy().getShaderOffset(i, width) }; _proto._getShaderTopOffset = function(i) { return this._workSpace.getGroupedStrategy().getShaderTopOffset(i) }; _proto._getShaderHeight = function(i, width) { return this._workSpace.getGroupedStrategy().getShaderHeight() }; _proto._getShaderMaxHeight = function(i, width) { return this._workSpace.getGroupedStrategy().getShaderMaxHeight() }; _proto._getShaderWidth = function(i) { return this._workSpace.getGroupedStrategy().getShaderWidth(i) }; _proto.clean = function() { _CurrentTimeShader.prototype.clean.call(this); this._workSpace && this._workSpace._$allDayPanel && this._workSpace._$allDayPanel.find(".dx-scheduler-date-time-shader-all-day").remove() }; return VerticalCurrentTimeShader }(_uiScheduler.default); var _default = VerticalCurrentTimeShader; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 77152: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/subscribes.js ***! \************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _classes = __webpack_require__( /*! ./classes */ 62060); var _utils = __webpack_require__( /*! ./utils */ 9259); var _appointmentAdapter = __webpack_require__( /*! ./appointmentAdapter */ 5480); var _textUtils = __webpack_require__( /*! ./appointments/textUtils */ 36816); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var toMs = _date.default.dateToMilliseconds; var subscribes = { isCurrentViewAgenda: function() { return "agenda" === this.currentViewType }, currentViewUpdated: function(currentView) { this.option("currentView", currentView) }, currentDateUpdated: function(date) { this.option("currentDate", date) }, getOption: function(name) { return this.option(name) }, getWorkspaceOption: function(name) { return this.getWorkSpace().option(name) }, isVirtualScrolling: function() { return this.isVirtualScrolling() }, setCellDataCacheAlias: function(appointment, geometry) { this._workSpace.setCellDataCacheAlias(appointment, geometry) }, isGroupedByDate: function() { return this.getWorkSpace().isGroupedByDate() }, showAppointmentTooltip: function(options) { var targetedAppointment = this.getTargetedAppointment(options.data, options.target); this.showAppointmentTooltip(options.data, options.target, targetedAppointment) }, hideAppointmentTooltip: function() { this.hideAppointmentTooltip() }, showEditAppointmentPopup: function(options) { var targetedData = this.getTargetedAppointment(options.data, options.target); this.showAppointmentPopup(options.data, false, targetedData) }, updateAppointmentAfterResize: function(options) { var info = _utils.utils.dataAccessors.getAppointmentInfo(options.$appointment); var exceptionDate = info.sourceAppointment.exceptionDate; this._checkRecurringAppointment(options.target, options.data, exceptionDate, function() { this._updateAppointment(options.target, options.data, (function() { this._appointments.moveAppointmentBack() })) }.bind(this)) }, getUpdatedData: function(rawAppointment) { return this._getUpdatedData(rawAppointment) }, updateAppointmentAfterDrag: function(_ref) { var _this = this; var event = _ref.event, element = _ref.element, rawAppointment = _ref.rawAppointment, newCellIndex = _ref.newCellIndex, oldCellIndex = _ref.oldCellIndex; var info = _utils.utils.dataAccessors.getAppointmentInfo(element); var appointment = (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this._dataAccessors, this.timeZoneCalculator); var targetedAppointment = (0, _appointmentAdapter.createAppointmentAdapter)((0, _extend.extend)({}, rawAppointment, this._getUpdatedData(rawAppointment)), this._dataAccessors, this.timeZoneCalculator); var targetedRawAppointment = targetedAppointment.source(); var becomeAllDay = targetedAppointment.allDay; var wasAllDay = appointment.allDay; var movedBetweenAllDayAndSimple = this._workSpace.supportAllDayRow() && (wasAllDay && !becomeAllDay || !wasAllDay && becomeAllDay); var isDragAndDropBetweenComponents = event.fromComponent !== event.toComponent; if (-1 === newCellIndex) { if (!isDragAndDropBetweenComponents) { this._appointments.moveAppointmentBack(event) } return } if (newCellIndex !== oldCellIndex || isDragAndDropBetweenComponents || movedBetweenAllDayAndSimple) { this._checkRecurringAppointment(rawAppointment, targetedRawAppointment, info.sourceAppointment.exceptionDate, (function() { _this._updateAppointment(rawAppointment, targetedRawAppointment, (function() { this._appointments.moveAppointmentBack(event) }), event) }), void 0, void 0, event) } else { this._appointments.moveAppointmentBack(event) } }, onDeleteButtonPress: function(options) { var targetedData = this.getTargetedAppointment(options.data, (0, _renderer.default)(options.target)); this.checkAndDeleteAppointment(options.data, targetedData); this.hideAppointmentTooltip() }, getTextAndFormatDate: function(appointmentRaw, targetedAppointmentRaw, format) { var appointmentAdapter = (0, _appointmentAdapter.createAppointmentAdapter)(appointmentRaw, this._dataAccessors, this.timeZoneCalculator); var targetedAdapter = (0, _appointmentAdapter.createAppointmentAdapter)(targetedAppointmentRaw || appointmentRaw, this._dataAccessors, this.timeZoneCalculator); var startDate = this.timeZoneCalculator.createDate(targetedAdapter.startDate, { path: "toGrid" }); var endDate = this.timeZoneCalculator.createDate(targetedAdapter.endDate, { path: "toGrid" }); var formatType = format || (0, _textUtils.getFormatType)(startDate, endDate, targetedAdapter.allDay, "month" !== this.currentViewType); return { text: targetedAdapter.text || appointmentAdapter.text, formatDate: (0, _textUtils.formatDates)(startDate, endDate, formatType) } }, _createAppointmentTitle: function(data) { if ((0, _type.isPlainObject)(data)) { return data.text } return String(data) }, getResizableAppointmentArea: function(options) { var allDay = options.allDay; var groups = this._getCurrentViewOption("groups"); if (groups && groups.length) { if (allDay || this.getLayoutManager().getRenderingStrategyInstance()._needHorizontalGroupBounds()) { var horizontalGroupBounds = this._workSpace.getGroupBounds(options.coordinates); return { left: horizontalGroupBounds.left, right: horizontalGroupBounds.right, top: 0, bottom: 0 } } if (this.getLayoutManager().getRenderingStrategyInstance()._needVerticalGroupBounds(allDay) && this._workSpace._isVerticalGroupedWorkSpace()) { var verticalGroupBounds = this._workSpace.getGroupBounds(options.coordinates); return { left: 0, right: 0, top: verticalGroupBounds.top, bottom: verticalGroupBounds.bottom } } } }, needRecalculateResizableArea: function() { return this.getWorkSpace().needRecalculateResizableArea() }, getAppointmentGeometry: function(settings) { return this.getLayoutManager().getRenderingStrategyInstance().getAppointmentGeometry(settings) }, isAllDay: function(appointmentData) { return this.getLayoutManager().getRenderingStrategyInstance().isAllDay(appointmentData) }, getDeltaTime: function(e, initialSize, itemData) { return this.getLayoutManager().getRenderingStrategyInstance().getDeltaTime(e, initialSize, itemData) }, getDropDownAppointmentWidth: function(isAllDay) { return this.getLayoutManager().getRenderingStrategyInstance().getDropDownAppointmentWidth(this._getViewCountConfig().intervalCount, isAllDay) }, getDropDownAppointmentHeight: function() { return this.getLayoutManager().getRenderingStrategyInstance().getDropDownAppointmentHeight() }, getCellWidth: function() { return this.getWorkSpace().getCellWidth() }, getCellHeight: function() { return this.getWorkSpace().getCellHeight() }, getMaxAppointmentCountPerCellByType: function(isAllDay) { return this.getRenderingStrategyInstance()._getMaxAppointmentCountPerCellByType(isAllDay) }, needCorrectAppointmentDates: function() { return this.getRenderingStrategyInstance().needCorrectAppointmentDates() }, getRenderingStrategyDirection: function() { return this.getRenderingStrategyInstance().getDirection() }, updateAppointmentEndDate: function(options) { var endDate = options.endDate; var endDayHour = this._getCurrentViewOption("endDayHour"); var startDayHour = this._getCurrentViewOption("startDayHour"); var updatedEndDate = endDate; if (endDate.getHours() >= endDayHour) { updatedEndDate.setHours(endDayHour, 0, 0, 0) } else if (!options.isSameDate && startDayHour > 0 && 60 * endDate.getHours() + endDate.getMinutes() < 60 * startDayHour) { updatedEndDate = new Date(updatedEndDate.getTime() - toMs("day")); updatedEndDate.setHours(endDayHour, 0, 0, 0) } return updatedEndDate }, renderCompactAppointments: function(options) { this._compactAppointmentsHelper.render(options) }, clearCompactAppointments: function() { this._compactAppointmentsHelper.clear() }, supportCompactDropDownAppointments: function() { return this.getLayoutManager().getRenderingStrategyInstance().supportCompactDropDownAppointments() }, getGroupCount: function() { return this._workSpace._getGroupCount() }, mapAppointmentFields: function(config) { var itemData = config.itemData, itemElement = config.itemElement, targetedAppointment = config.targetedAppointment; var targetedData = targetedAppointment || this.getTargetedAppointment(itemData, itemElement); return { appointmentData: config.itemData, appointmentElement: config.itemElement, targetedAppointmentData: targetedData } }, dayHasAppointment: function(day, appointment, trimTime) { return this.dayHasAppointment(day, appointment, trimTime) }, getLayoutManager: function() { return this._layoutManager }, getAgendaVerticalStepHeight: function() { return this.getWorkSpace().getAgendaVerticalStepHeight() }, getAgendaDuration: function() { return this._getCurrentViewOption("agendaDuration") }, getStartViewDate: function() { return this.getStartViewDate() }, getEndViewDate: function() { return this.getEndViewDate() }, forceMaxAppointmentPerCell: function() { return this.forceMaxAppointmentPerCell() }, onAgendaReady: function(rows) { var $appts = this.getAppointmentsInstance()._itemElements(); var total = 0; var applyClass = function(_, count) { var index = count + total - 1; $appts.eq(index).addClass(_classes.AGENDA_LAST_IN_DATE_APPOINTMENT_CLASS); total += count }; for (var i = 0; i < rows.length; i++) { (0, _iterator.each)(rows[i], applyClass) } }, getTimezone: function() { return this._getTimezoneOffsetByOption() }, getTargetedAppointmentData: function(appointment, element) { return this.getTargetedAppointment(appointment, element) }, getEndDayHour: function() { return this._workSpace.option("endDayHour") || this.option("endDayHour") }, getStartDayHour: function() { return this._workSpace.option("startDayHour") || this.option("startDayHour") }, isAdaptive: function() { return this.option("adaptivityEnabled") }, removeDroppableCellClass: function() { this._workSpace.removeDroppableCellClass() } }; var _default = subscribes; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 37428: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/table_creator.js ***! \***************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _element_data = __webpack_require__( /*! ../../core/element_data */ 97906); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _element = __webpack_require__( /*! ../../core/element */ 6415); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var SchedulerTableCreator = function() { function SchedulerTableCreator() { this.VERTICAL = "vertical"; this.HORIZONTAL = "horizontal" } var _proto = SchedulerTableCreator.prototype; _proto.insertAllDayRow = function(allDayElements, tableBody, index) { if (allDayElements[index]) { var row = allDayElements[index].find("tr"); if (!row.length) { row = (0, _renderer.default)(_dom_adapter.default.createElement("tr")); row.append(allDayElements[index].get(0)) } tableBody.appendChild(row.get ? row.get(0) : row) } }; _proto.makeTable = function(options) { var tableBody = _dom_adapter.default.createElement("tbody"); var templateCallbacks = []; var row; var rowCountInGroup = options.groupCount ? options.rowCount / options.groupCount : options.rowCount; var allDayElementIndex = 0; var allDayElements = options.allDayElements; var groupIndex = options.groupIndex; var rowCount = options.rowCount; (0, _renderer.default)(options.container).append(tableBody); if (allDayElements) { this.insertAllDayRow(allDayElements, tableBody, 0); allDayElementIndex++ } for (var rowIndex = 0; rowIndex < rowCount; rowIndex++) { row = _dom_adapter.default.createElement("tr"); tableBody.appendChild(row); var isLastRowInGroup = (rowIndex + 1) % rowCountInGroup === 0; if (options.rowClass) { row.className = options.rowClass } for (var columnIndex = 0; columnIndex < options.cellCount; columnIndex++) { var _options$setAdditiona; var td = _dom_adapter.default.createElement("td"); row.appendChild(td); if (options.cellClass) { if ((0, _type.isFunction)(options.cellClass)) { td.className = options.cellClass(rowIndex, columnIndex) } else { td.className = options.cellClass } } var cellDataObject = void 0; var dataKey = void 0; var dataValue = void 0; if (options.getCellData) { cellDataObject = options.getCellData(td, rowIndex, columnIndex, groupIndex); dataKey = cellDataObject.key; dataValue = cellDataObject.value; dataKey && (0, _element_data.data)(td, dataKey, dataValue) } null === (_options$setAdditiona = options.setAdditionalClasses) || void 0 === _options$setAdditiona ? void 0 : _options$setAdditiona.call(options, (0, _renderer.default)(td), dataValue); if (options.cellTemplate && options.cellTemplate.render) { var additionalTemplateData = options.getTemplateData ? options.getTemplateData(rowIndex) : {}; var templateOptions = { model: _extends({ text: options.getCellText ? options.getCellText(rowIndex, columnIndex) : "", date: options.getCellDate ? options.getCellDate(rowIndex) : void 0 }, additionalTemplateData), container: (0, _element.getPublicElement)((0, _renderer.default)(td)), index: rowIndex * options.cellCount + columnIndex }; if (dataValue) { if (dataValue.startDate) { templateOptions.model.startDate = dataValue.startDate } if (dataValue.endDate) { templateOptions.model.endDate = dataValue.endDate } if (dataValue.groups) { templateOptions.model.groups = dataValue.groups } if (dataValue.allDay) { templateOptions.model.allDay = dataValue.allDay } } templateCallbacks.push(options.cellTemplate.render.bind(options.cellTemplate, templateOptions)) } else if (options.getCellText) { (0, _renderer.default)("<div>").text(options.getCellText(rowIndex, columnIndex)).addClass(options.getCellTextClass).appendTo((0, _renderer.default)(td)) } } if (allDayElements && isLastRowInGroup) { this.insertAllDayRow(allDayElements, tableBody, allDayElementIndex); allDayElementIndex++ } } return templateCallbacks }; _proto.makeGroupedTable = function(type, groups, cssClasses, cellCount, cellTemplate, rowCount, groupByDate) { var rows = []; if (type === this.VERTICAL) { rows = this._makeVerticalGroupedRows(groups, cssClasses, cellTemplate, rowCount) } else { rows = this._makeHorizontalGroupedRows(groups, cssClasses, cellCount, cellTemplate, groupByDate) } return rows }; _proto.makeGroupedTableFromJSON = function(type, data, config) { var table; var cellStorage = []; var rowIndex = 0; config = config || {}; var cellTag = config.cellTag || "td"; var childrenField = config.childrenField || "children"; var titleField = config.titleField || "title"; var groupTableClass = config.groupTableClass; var groupRowClass = config.groupRowClass; var groupCellClass = config.groupCellClass; var groupCellCustomContent = config.groupCellCustomContent; function getChildCount(item) { if (item[childrenField]) { return item[childrenField].length } return 0 } function createCell(text, childCount, index, data) { var cell = { element: _dom_adapter.default.createElement(cellTag), childCount: childCount }; if (groupCellClass) { cell.element.className = groupCellClass } var cellText = _dom_adapter.default.createTextNode(text); if ("function" === typeof groupCellCustomContent) { groupCellCustomContent(cell.element, cellText, index, data) } else { cell.element.appendChild(cellText) } return cell }! function() { table = _dom_adapter.default.createElement("table"); if (groupTableClass) { table.className = groupTableClass } }(); ! function generateCells(data) { for (var i = 0; i < data.length; i++) { var childCount = getChildCount(data[i]); var cell = createCell(data[i][titleField], childCount, i, data[i]); if (!cellStorage[rowIndex]) { cellStorage[rowIndex] = [] } cellStorage[rowIndex].push(cell); if (childCount) { generateCells(data[i][childrenField]) } else { rowIndex++ } } }(data); void cellStorage.forEach((function(cells) { var row = _dom_adapter.default.createElement("tr"); if (groupRowClass) { row.className = groupRowClass } var rowspans = []; for (var i = cells.length - 1; i >= 0; i--) { var prev = cells[i + 1]; var rowspan = cells[i].childCount; if (prev && prev.childCount) { rowspan *= prev.childCount } rowspans.push(rowspan) } rowspans.reverse(); cells.forEach((function(cell, index) { if (rowspans[index]) { cell.element.setAttribute("rowSpan", rowspans[index]) } row.appendChild(cell.element) })); table.appendChild(row) })); return table }; _proto._makeFlexGroupedRowCells = function(group, repeatCount, cssClasses, cellTemplate) { var repeatByDate = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1; var cells = []; var items = group.items; var itemCount = items.length; for (var i = 0; i < repeatCount * repeatByDate; i++) { for (var j = 0; j < itemCount; j++) { var $container = (0, _renderer.default)("<div>"); var cell = {}; if (cellTemplate && cellTemplate.render) { var templateOptions = { model: items[j], container: (0, _element.getPublicElement)($container), index: i * itemCount + j }; if (group.data) { templateOptions.model.data = group.data[j] } cell.template = cellTemplate.render.bind(cellTemplate, templateOptions) } else { $container.text(items[j].text).attr("title", items[j].text).addClass("dx-scheduler-group-header-content"); $container = (0, _renderer.default)("<div>").append($container) } var cssClass = (0, _type.isFunction)(cssClasses.groupHeaderClass) ? cssClasses.groupHeaderClass(j) : cssClasses.groupHeaderClass; cell.element = $container.addClass(cssClass); cells.push(cell) } } return cells }; _proto._makeVerticalGroupedRows = function(groups, cssClasses, cellTemplate) { var cellTemplates = []; var repeatCount = 1; var cellsArray = []; var cellIterator = function(cell) { if (cell.template) { cellTemplates.push(cell.template) } }; for (var i = 0; i < groups.length; i++) { if (i > 0) { repeatCount = groups[i - 1].items.length * repeatCount } var cells = this._makeFlexGroupedRowCells(groups[i], repeatCount, cssClasses, cellTemplate); cells.forEach(cellIterator); cellsArray.push(cells) } var rows = []; var groupCount = cellsArray.length; for (var _i = 0; _i < groupCount; _i++) { rows.push((0, _renderer.default)("<div>").addClass(cssClasses.groupHeaderRowClass)) } for (var _i2 = groupCount - 1; _i2 >= 0; _i2--) { var currentColumnLength = cellsArray[_i2].length; for (var j = 0; j < currentColumnLength; j++) { rows[_i2].append(cellsArray[_i2][j].element) } } return { elements: (0, _renderer.default)("<div>").addClass("dx-scheduler-group-flex-container").append(rows), cellTemplates: cellTemplates } }; _proto._makeHorizontalGroupedRows = function(groups, cssClasses, cellCount, cellTemplate, groupByDate) { var repeatCount = 1; var groupCount = groups.length; var rows = []; var cellTemplates = []; var repeatByDate = groupByDate ? cellCount : 1; var cellIterator = function(cell) { if (cell.template) { cellTemplates.push(cell.template) } return cell.element }; for (var i = 0; i < groupCount; i++) { if (i > 0) { repeatCount = groups[i - 1].items.length * repeatCount } var cells = this._makeGroupedRowCells(groups[i], repeatCount, cssClasses, cellTemplate, repeatByDate); rows.push((0, _renderer.default)("<tr>").addClass(cssClasses.groupRowClass).append(cells.map(cellIterator))) } var maxCellCount = rows[groupCount - 1].find("th").length; for (var j = 0; j < groupCount; j++) { var $cell = rows[j].find("th"); var colspan = maxCellCount / $cell.length; if (!groupByDate) { colspan *= cellCount } if (colspan > 1 && 1 === repeatByDate || groupByDate && groupCount > 1) { $cell.attr("colSpan", colspan) } } return { elements: rows, cellTemplates: cellTemplates } }; _proto._makeGroupedRowCells = function(group, repeatCount, cssClasses, cellTemplate, repeatByDate) { repeatByDate = repeatByDate || 1; repeatCount *= repeatByDate; var cells = []; var items = group.items; var itemCount = items.length; for (var i = 0; i < repeatCount; i++) { for (var j = 0; j < itemCount; j++) { var $container = (0, _renderer.default)("<div>"); var cell = {}; if (cellTemplate && cellTemplate.render) { var templateOptions = { model: items[j], container: (0, _element.getPublicElement)($container), index: i * itemCount + j }; if (group.data) { templateOptions.model.data = group.data[j] } cell.template = cellTemplate.render.bind(cellTemplate, templateOptions) } else { $container.text(items[j].text); $container = (0, _renderer.default)("<div>").append($container) } $container.addClass(cssClasses.groupHeaderContentClass); var cssClass = void 0; if ((0, _type.isFunction)(cssClasses.groupHeaderClass)) { cssClass = cssClasses.groupHeaderClass(j) } else { cssClass = cssClasses.groupHeaderClass } cell.element = (0, _renderer.default)("<th>").addClass(cssClass).append($container); cells.push(cell) } } return cells }; return SchedulerTableCreator }(); var _default = { tableCreator: new SchedulerTableCreator }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 61189: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/timezones/timezones_data.js ***! \**************************************************************************************/ function(module, exports) { exports.default = void 0; exports.default = { zones: [{ id: "Africa/Abidjan", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Accra", untils: "-r507yk|1e3pak|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|Infinity", offsets: "0.8667|0|-20", offsetIndices: "012121212121212121212121212121212121212121212121" }, { id: "Africa/Addis_Ababa", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Algiers", untils: "-uozn3l|2qx1nl|5luo0|8y800|a4tc0|7vc00|auqo0|7idc0|b7pc0|6sg00|cyo00|7ayo0|53c00|9idxc0|3i040|51mw0|253uk0|9o2k0|92040|8l3s0|jutc0|4uy840|3rdzw0|46xc00|7x6o0|2xco40|8n180|7x9g0|9d440|kiqg0|9d440|9q2s0|9cyk0|Infinity", offsets: "-9.35|0|-60|-120", offsetIndices: "0121212121212121232321212122321212" }, { id: "Africa/Asmara", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Asmera", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Bamako", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Bangui", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Banjul", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Bissau", untils: "-u9rek0|wvoyo0|Infinity", offsets: "62.3333|60|0", offsetIndices: "012" }, { id: "Africa/Blantyre", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Brazzaville", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Bujumbura", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Cairo", untils: "-fdls80|40d80|a31g0|7x3w0|a4w40|aqyk0|80ys0|b07w0|7tk40|b07w0|8jhg0|a8fw0|60go40|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|f9x80|3i040|eluk0|462s0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|b5rw0|7m5g0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|aqvs0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7k580|b5xg0|6u7w0|bvus0|6h980|c8tg0|64ak0|cyqs0|5anw0|1jms0|12t80|1w22s0|25p80|1sw40|2vmk0|Infinity", offsets: "-120|-180", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Africa/Casablanca", untils: "-tblt9g|di7nxg|3huk0|51k40|2znuk0|2dp9g0|776k0|8nt2s0|657w0|3ifxg0|3jp80|va040|4qak0|e1ms0|7pp80|cnms0|3afw0|2xi840|xqqk0|bp56s0|4qak0|e1ms0|45x80|d2g40|51ek0|c8tg0|64ak0|e1sc0|47uo0|1leo0|23xc0|asw00|3lmo0|1qyo0|40g00|7x6o0|4mo00|1stc0|4deo0|7x6o0|3ylc0|1stc0|51hc0|7x6o0|3lmo0|1stc0|5reo0|7k800|2vpc0|25s00|64dc0|7k800|2iqo0|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|25s00|g7c00|1stc0|g7c00|25s00|Infinity", offsets: "30.3333|0|-60", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "Africa/Ceuta", untils: "-qyiys0|7x3w0|2vt440|8sqs0|ssyk0|8n6s0|9px80|905g0|a2yo0|902o0|k69dc0|657w0|3ifxg0|3jp80|va040|4qak0|e1ms0|7pp80|cnms0|3afw0|2xi840|129us0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Africa/Conakry", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Dakar", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Dar_es_Salaam", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Djibouti", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Douala", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/El_Aaiun", untils: "-isdxk0|m2g0c0|vek0|4qak0|e1ms0|7pp80|cnms0|3afw0|fke5g0|4qak0|e1ms0|45x80|d2g40|51ek0|c8tg0|64ak0|e1sc0|47uo0|1leo0|23xc0|asw00|3lmo0|1qyo0|40g00|7x6o0|4mo00|1stc0|4deo0|7x6o0|3ylc0|1stc0|51hc0|7x6o0|3lmo0|1stc0|5reo0|7k800|2vpc0|25s00|64dc0|7k800|2iqo0|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|25s00|g7c00|1stc0|g7c00|25s00|Infinity", offsets: "52.8|60|0|-60", offsetIndices: "012323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "Africa/Freetown", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Gaborone", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Harare", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Johannesburg", untils: "-yvtdi0|kn7o60|9cyk0|9d440|9cyk0|Infinity", offsets: "-90|-120|-180", offsetIndices: "012121" }, { id: "Africa/Juba", untils: "-kcrsis|kixuys|8l6k0|a4w40|8n180|a6qs0|8n180|a31g0|8ovw0|a16s0|8qqk0|9zc40|8sl80|9xhg0|8wak0|9ts40|8y580|a4w40|8n180|a31g0|8ovw0|a16s0|8sl80|9xhg0|8ufw0|9vms0|8wak0|9ts40|8y580|a4w40|8ovw0|a16s0|8qqk0|7frw40|Infinity", offsets: "-126.4667|-120|-180", offsetIndices: "01212121212121212121212121212121212" }, { id: "Africa/Kampala", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Khartoum", untils: "-kcrsow|kixv4w|8l6k0|a4w40|8n180|a6qs0|8n180|a31g0|8ovw0|a16s0|8qqk0|9zc40|8sl80|9xhg0|8wak0|9ts40|8y580|a4w40|8n180|a31g0|8ovw0|a16s0|8sl80|9xhg0|8ufw0|9vms0|8wak0|9ts40|8y580|a4w40|8ovw0|a16s0|8qqk0|7frw40|9ac180|Infinity", offsets: "-130.1333|-120|-180", offsetIndices: "012121212121212121212121212121212121" }, { id: "Africa/Kigali", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Kinshasa", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Lagos", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Libreville", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Lome", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Luanda", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Lubumbashi", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Lusaka", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Malabo", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Maputo", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Maseru", untils: "-yvtdi0|kn7o60|9cyk0|9d440|9cyk0|Infinity", offsets: "-90|-120|-180", offsetIndices: "012121" }, { id: "Africa/Mbabane", untils: "-yvtdi0|kn7o60|9cyk0|9d440|9cyk0|Infinity", offsets: "-90|-120|-180", offsetIndices: "012121" }, { id: "Africa/Mogadishu", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Monrovia", untils: "-qj6zc4|rl202a|Infinity", offsets: "43.1333|44.5|0", offsetIndices: "012" }, { id: "Africa/Nairobi", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Ndjamena", untils: "-u9rk4c|zdk5cc|7iak0|Infinity", offsets: "-60.2|-60|-120", offsetIndices: "0121" }, { id: "Africa/Niamey", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Nouakchott", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Ouagadougou", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Porto-Novo", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Sao_Tome", untils: "-u9rhc0|1jbm840|irxc0|Infinity", offsets: "36.75|0|-60", offsetIndices: "0121" }, { id: "Africa/Timbuktu", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Tripoli", untils: "-q3gfrw|gl6ajw|422c0|xado0|4bbo0|wrpg0|4s580|1kdpg0|c05bw0|4mqs0|9et80|9d440|9et80|9eys0|9et80|9mdg0|95jw0|9io40|9cyk0|99es0|9et80|9eys0|9et80|9d440|9et80|b2840|3cf3w0|9kis0|9et80|7vqyw0|75eo0|asw00|Infinity", offsets: "-52.7333|-60|-120", offsetIndices: "012121212121212121212121212122122" }, { id: "Africa/Tunis", untils: "-uozn3l|enxevl|b5uo0|53c00|u8w00|7x9g0|c8w80|7k800|z3w0|ew40|8bx80|9d440|9nx00|925o0|8l100|gi3440|7k800|b9k00|7vc00|51mw00|5ytc0|9d1c0|9d1c0|b9k00|7thc0|7m0tc0|7tk40|93us0|b5uo0|7k800|b5uo0|7x6o0|asw00|Infinity", offsets: "-9.35|-60|-120", offsetIndices: "0121212121212121212121212121212121" }, { id: "Africa/Windhoek", untils: "-yvtdi0|kn7o60|9cyk0|oj2nw0|235k00|8lho0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|Infinity", offsets: "-90|-120|-180|-60", offsetIndices: "01211313131313131313131313131313131313131313131313131" }, { id: "America/Adak", untils: "-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "660|600|540", offsetIndices: "011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Anchorage", untils: "-ek1qo0|1tyx80|2e400|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "600|540|480", offsetIndices: "011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Anguilla", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Antigua", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Araguaina", untils: "-t85j2o|99k8mo|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|2yl440|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|51udg0|64ak0|Infinity", offsets: "192.8|180|120", offsetIndices: "0121212121212121212121212121212121212121212121212121" }, { id: "America/Argentina/Buenos_Aires", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323232323232" }, { id: "America/Argentina/Catamarca", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323132321232" }, { id: "America/Argentina/ComodRivadavia", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323132321232" }, { id: "America/Argentina/Cordoba", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323132323232" }, { id: "America/Argentina/Jujuy", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|c8w80|776k0|ag040|7k2g0|bvus0|776k0|7qcg40|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "012121212121212121212121212121212121212121232323121323232" }, { id: "America/Argentina/La_Rioja", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6qik0|3g880|8jbw0|6u7w0|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "012121212121212121212121212121212121212121232323231232321232" }, { id: "America/Argentina/Mendoza", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bktk0|71mk0|bqas0|73h80|bvus0|773s0|5unes0|6hes0|1p7mk0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232312121321232" }, { id: "America/Argentina/Rio_Gallegos", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323232321232" }, { id: "America/Argentina/Salta", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "012121212121212121212121212121212121212121232323231323232" }, { id: "America/Argentina/San_Juan", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6qik0|3g880|8jbw0|6u7w0|bvus0|776k0|5v2840|2txg0|1sgak0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "012121212121212121212121212121212121212121232323231232321232" }, { id: "America/Argentina/San_Luis", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|7pp80|b2aw0|71mk0|4qg40|6s8ik0|2txg0|1sgak0|14nw0|2gys0|b5xg0|7k580|b5xg0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "012121212121212121212121212121212121212121232323121212321212" }, { id: "America/Argentina/Tucuman", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|mas0|1um2k0|3yik0|b5xg0|7k580|Infinity", offsets: "256.8|240|180|120", offsetIndices: "0121212121212121212121212121212121212121212323232313232123232" }, { id: "America/Argentina/Ushuaia", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|5v0dg0|12ys0|1u93w0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323232321232" }, { id: "America/Aruba", untils: "-u7lckd|rlo7qd|Infinity", offsets: "275.7833|270|240", offsetIndices: "012" }, { id: "America/Asuncion", untils: "-jy93zk|ldwofk|s4vw0|s6w40|7tek0|b0dg0|7rjw0|b0dg0|7rjw0|b0dg0|9cyk0|9eys0|9et80|9eys0|9cyk0|9eys0|9cyk0|9eys0|9cyk0|9eys0|9et80|9eys0|9cyk0|9eys0|9cyk0|9eys0|9cyk0|9eys0|9et80|9eys0|9cyk0|ahus0|8a2k0|9eys0|9cyk0|9o840|7k580|b7s40|93p80|9gtg0|7nuk0|b42s0|7lzw0|b5xg0|7tek0|b9ms0|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|7kas0|b5rw0|7x9g0|ast80|a31g0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|776k0|biw40|8zzw0|905g0|9px80|905g0|9px80|9d440|8n180|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|Infinity", offsets: "230.6667|240|180", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "America/Atikokan", untils: "-qzov40|a2vw0|bfxjw0|pmdk0|1tz8c0|2dsw0|Infinity", offsets: "360|300", offsetIndices: "0101111" }, { id: "America/Atka", untils: "-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "660|600|540", offsetIndices: "011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Bahia_Banderas", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|asqg0|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "421|420|360|480|300", offsetIndices: "0121212131212121212121212121212121212142424242424242424242424242424242424242424242424242424242" }, { id: "America/Bahia", untils: "-t85kv8|99kaf8|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|4irc40|6u7w0|Infinity", offsets: "154.0667|180|120", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Barbados", untils: "-o0aiaj|46b400|npv1mj|5rbw0|a31g0|8n180|a31g0|8n180|ag040|84ik0|Infinity", offsets: "238.4833|240|180", offsetIndices: "00121212121" }, { id: "America/Belem", untils: "-t85j0s|99k8ks|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|Infinity", offsets: "193.9333|180|120", offsetIndices: "012121212121212121212121212121" }, { id: "America/Belize", untils: "-u52ic0|3edkc0|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|g2t2q0|3e580|4mcys0|2vmk0|Infinity", offsets: "352.8|360|330|300", offsetIndices: "01212121212121212121212121212121212121212121212121213131" }, { id: "America/Blanc-Sablon", untils: "-qzp0o0|a2vw0|c5jxg0|1tzdw0|2dnc0|Infinity", offsets: "240|180", offsetIndices: "010110" }, { id: "America/Boa_Vista", untils: "-t85grk|99k93k|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|62xk40|7k580|biw40|cvw0|Infinity", offsets: "242.6667|240|180", offsetIndices: "0121212121212121212121212121212121" }, { id: "America/Bogota", untils: "-srdoy8|14f1hi8|ha580|Infinity", offsets: "296.2667|300|240", offsetIndices: "0121" }, { id: "America/Boise", untils: "-r0emw0|ast80|7x9g0|ast80|1um840|9s7jw0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|51k40|doik0|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420|360", offsetIndices: "0101012212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Buenos_Aires", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323232323232" }, { id: "America/Cambridge_Bay", untils: "-q3gdc0|bjeec0|1tz5k0|2dvo0|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x6o0|ast80|ct40|7kj40|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "0|420|360|300", offsetIndices: "0122131212121212121212121212121212121212121212233221212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Campo_Grande", untils: "-t85hvw|99ka7w|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|cls40|64ak0|dfes0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity", offsets: "218.4667|240|180", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Cancun", untils: "-p1u7c0|vauo00|7ggw40|afuk0|8a840|afuk0|8a840|64ak0|4bms0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|51k40|Infinity", offsets: "347.0667|360|300|240", offsetIndices: "0123232321212121212121212121212121212121212" }, { id: "America/Caracas", untils: "-u7lcxw|rlo83w|meoxm0|4dps00|Infinity", offsets: "267.6667|270|240", offsetIndices: "01212" }, { id: "America/Catamarca", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323132321232" }, { id: "America/Cayenne", untils: "-uj7yb4|tcw6r4|Infinity", offsets: "209.3333|240|180", offsetIndices: "012" }, { id: "America/Cayman", untils: "-w757vc|Infinity", offsets: "319.6|300", offsetIndices: "01" }, { id: "America/Chicago", untils: "-r0esg0|ast80|7x9g0|ast80|bvus0|776k0|7kas0|b5rw0|9d440|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|7x9g0|dbjw0|8a840|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Chihuahua", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|xes2s0|afuk0|8a840|afuk0|8aaw0|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "424.3333|420|360|300", offsetIndices: "0121212323221212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Coral_Harbour", untils: "-qzov40|a2vw0|bfxjw0|pmdk0|1tz8c0|2dsw0|Infinity", offsets: "360|300", offsetIndices: "0101111" }, { id: "America/Cordoba", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323132323232" }, { id: "America/Costa_Rica", untils: "-pjw8fn|ubtl3n|51ek0|doo40|51ek0|5jso40|8drw0|acas0|2xh80|Infinity", offsets: "336.2167|360|300", offsetIndices: "0121212121" }, { id: "America/Creston", untils: "-rshz80|vbus0|Infinity", offsets: "420|480", offsetIndices: "010" }, { id: "America/Cuiaba", untils: "-t85hm4|99k9y4|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|w5hg0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity", offsets: "224.3333|240|180", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Curacao", untils: "-u7lckd|rlo7qd|Infinity", offsets: "275.7833|270|240", offsetIndices: "012" }, { id: "America/Danmarkshavn", untils: "-rvusjk|x8nx3k|8zrk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|53hk0|Infinity", offsets: "74.6667|180|120|0", offsetIndices: "01212121212121212121212121212121213" }, { id: "America/Dawson_Creek", untils: "-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|69uk0|Infinity", offsets: "480|420", offsetIndices: "0101101010101010101010101010101010101010101010101010101011" }, { id: "America/Dawson", untils: "-qzoms0|a2vw0|asys0|882c0|bmiwc0|1tz000|2e180|a7n3w0|9q000|465k00|3e2is0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity", offsets: "540|480|420", offsetIndices: "01010110201212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "America/Denver", untils: "-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360", offsetIndices: "01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Detroit", untils: "-xx8dyd|5eraud|dyeyk0|1tzb40|2dq40|1c9440|7x3w0|9rlbxo|71s2c|9d440|9cyk0|2cmdg0|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "332.1833|360|300|240", offsetIndices: "0123323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "America/Dominica", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Edmonton", untils: "-x1yazk|629ink|a2vw0|8n6s0|29ek0|h6lg0|9px80|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|9l0g40|1tz5k0|2dvo0|tj1g0|7x3w0|ctzk40|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "453.8667|420|360", offsetIndices: "0121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Eirunepe", untils: "-t85f28|99ka68|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|2yy2s0|6h980|7hg2s0|2t2t80|Infinity", offsets: "279.4667|300|240", offsetIndices: "0121212121212121212121212121212121" }, { id: "America/El_Salvador", untils: "-pkm4tc|ymao5c|7k580|b5xg0|7k580|Infinity", offsets: "356.8|360|300", offsetIndices: "012121" }, { id: "America/Ensenada", untils: "-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "468.0667|420|480", offsetIndices: "012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "America/Fort_Nelson", untils: "-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity", offsets: "480|420", offsetIndices: "01011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "America/Fort_Wayne", untils: "-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Fortaleza", untils: "-t85kvc|99kafc|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|puk0|id6s0|6h980|Infinity", offsets: "154|180|120", offsetIndices: "0121212121212121212121212121212121212121" }, { id: "America/Glace_Bay", untils: "-z94kwc|89fk8c|a2vw0|c5jxg0|1tzdw0|2dnc0|3y8g40|7x3w0|9pa5g0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "239.8|240|180", offsetIndices: "012122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Godthab", untils: "-rvumf4|x8nqz4|8zrk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "206.9333|180|120", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Goose_Bay", untils: "-qzp20k|a2vw0|8kjbw0|kzjyk|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|7k580|b5xg0|7k580|b5xg0|1pb260|2dly0|biw40|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|7k580|ag040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|6y2s0|22420|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a2lo|afuk0|8a840|asqg0|7xc80|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8tec|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "210.8667|150.8667|210|150|240|180|120", offsetIndices: "010232323232323233232323232323232323232323232323232323232324545454545454545454545454545454545454545454546454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454" }, { id: "America/Grand_Turk", untils: "-u85og2|z3brw2|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|18ais0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "307.1667|300|240", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121222121212121212121212121212121212121212121" }, { id: "America/Grenada", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Guadeloupe", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Guatemala", untils: "-qqqskk|ss0akk|4ofw0|4tidg0|6djw0|3wwas0|8n180|7n5ms0|7x3w0|Infinity", offsets: "362.0667|360|300", offsetIndices: "0121212121" }, { id: "America/Guayaquil", untils: "-kcr84o|wb620o|3jp80|Infinity", offsets: "314|300|240", offsetIndices: "0121" }, { id: "America/Guyana", untils: "-smcak8|vj4sz8|81rf90|Infinity", offsets: "232.6667|225|180|240", offsetIndices: "0123" }, { id: "America/Halifax", untils: "-z94k80|777go0|9et80|st9o0|a2vw0|ssyk0|5rbw0|cv1g0|69uk0|c6ys0|6kyk0|ci2s0|67zw0|ci2s0|6w2k0|bu040|7lzw0|bu040|66580|bu040|7lzw0|bu040|64ak0|cls40|5v180|cv1g0|6j3w0|c6ys0|79180|b42s0|7lzw0|b42s0|7yyk0|bu040|64ak0|dbpg0|66580|cls40|5ed80|bu040|7lzw0|b42s0|7lzw0|cjxg0|66580|bh1g0|7lzw0|b42s0|7lzw0|6uj00|1tzdw0|2dnc0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|1cm2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "254.4|240|180", offsetIndices: "0121212121212121212121212121212121212121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Havana", untils: "-n7762o|1icfyo|69uk0|62s040|4ofw0|e1ms0|51ek0|e1ms0|4ofw0|1fhs40|4ofw0|e1ms0|4ofw0|9s9k40|67zw0|cedg0|6h980|9o840|7yyk0|b5xg0|7k580|bvus0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|8a2k0|ag040|8bx80|ae5g0|8drw0|acas0|9cyk0|9d440|9px80|905g0|9px80|9q2s0|7x3w0|8a840|ast80|7x9g0|ast80|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|8a2k0|ag040|8a2k0|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|905g0|a2vw0|905g0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|8n400|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|7x6o0|1cm000|6uao0|bvs00|779c0|bitc0|6uao0|bvs00|779c0|bvs00|779c0|c8qo0|779c0|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|Infinity", offsets: "329.6|300|240", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Hermosillo", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|Infinity", offsets: "443.8667|420|360|480", offsetIndices: "0121212131212121" }, { id: "America/Indiana/Indianapolis", untils: "-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Indiana/Knox", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|9px80|9d440|9cyk0|9d440|s3180|1twas0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|7j5400|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "0101011010101010101010101010101010101010101010101010101010101010101010101010101010101010111010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Indiana/Marengo", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|2wsas0|7x3w0|1c9440|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|465h80|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4g00|64dc0|clmk0|fvt9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "0101011010101010101010101212121212111212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Indiana/Petersburg", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|501ek0|7kas0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|sfzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|eu02o0|asw00|6udg0|c8nw0|6hc00|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "01010110101010101010101010101010101010101010101010111011212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Indiana/Tell_City", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|501ek0|7kas0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|1tw580|9d440|9cyk0|9d440|9cvs0|9d440|9cyk0|ihslg0|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "01010110101010101010101010101021211010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Indiana/Vevay", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|4gyis0|7txx80|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|hfzhg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "010101101212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Indiana/Vincennes", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|asys0|7x3w0|3fidg0|7x3w0|asys0|7x3w0|b5rw0|7kas0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|2lz980|9cyk0|9d440|9cyk0|ihslg0|asw00|6udg0|c8nw0|6hc00|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "01010110101010101010101010101010121211011212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Indiana/Winamac", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|465h80|9cyk0|9d440|9cyk0|ihslg0|asw00|6udg0|c8l40|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "01010110101010101010101010101010101010121211021212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Indianapolis", untils: "-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Inuvik", untils: "-8ve5c0|6fce80|9q000|71i2w0|ipzw0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "0|480|360|420", offsetIndices: "0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "America/Iqaluit", untils: "-eb6ao0|1l3h80|2dq40|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7xc80|ast80|7x6o0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "0|240|300|180|360", offsetIndices: "01123212121212121212121212121212121212121212142212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "America/Jamaica", untils: "-u85og2|wbl182|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|Infinity", offsets: "307.1667|300|240", offsetIndices: "0121212121212121212121" }, { id: "America/Jujuy", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|c8w80|776k0|ag040|7k2g0|bvus0|776k0|7qcg40|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "012121212121212121212121212121212121212121232323121323232" }, { id: "America/Juneau", untils: "-ek1w80|1tz2s0|2dyg0|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9d1c0|9d1c0|9cyk0|9d440|9px80|905g0|9px80|1leo0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420|540", offsetIndices: "01101010101010101010101010001010122020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202" }, { id: "America/Kentucky/Louisville", untils: "-r0esg0|ast80|7x9g0|ast80|sg5g0|6bp80|a98o40|7x3w0|6w840|1tz8c0|2dsw0|ast9o|1sw2c|21gis0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|4bh80|3j3xc0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4g00|64dc0|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "0101010101101010101010101010101010101121212121212111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Kentucky/Monticello", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|bs6g40|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x6o0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "0101011010101010101010101010101010101010101010101010101010101010101010101121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Knox_IN", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|9px80|9d440|9cyk0|9d440|s3180|1twas0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|7j5400|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "0101011010101010101010101010101010101010101010101010101010101010101010101010101010101010111010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Kralendijk", untils: "-u7lckd|rlo7qd|Infinity", offsets: "275.7833|270|240", offsetIndices: "012" }, { id: "America/La_Paz", untils: "-jxzspo|84ik0|Infinity", offsets: "272.6|212.6|240", offsetIndices: "012" }, { id: "America/Lima", untils: "-w25lpo|fcxjlo|4ml80|93us0|9cyk0|9d440|9cyk0|nw16s0|4ml80|e5c40|4ml80|1fr1g0|4ml80|1yiys0|4ml80|Infinity", offsets: "308.6|300|240", offsetIndices: "0121212121212121" }, { id: "America/Los_Angeles", untils: "-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|1a3c5o|f2iic|owao0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Louisville", untils: "-r0esg0|ast80|7x9g0|ast80|sg5g0|6bp80|a98o40|7x3w0|6w840|1tz8c0|2dsw0|ast9o|1sw2c|21gis0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|4bh80|3j3xc0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4g00|64dc0|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "0101010101101010101010101010101010101121212121212111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Lower_Princes", untils: "-u7lckd|rlo7qd|Infinity", offsets: "275.7833|270|240", offsetIndices: "012" }, { id: "America/Maceio", untils: "-t85ldw|99kaxw|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|2yl440|64ak0|1wf1g0|7k580|biw40|puk0|id6s0|6h980|Infinity", offsets: "142.8667|180|120", offsetIndices: "012121212121212121212121212121212121212121" }, { id: "America/Managua", untils: "-ijh6oo|ka1i0o|xqqk0|24p6s0|53980|dmtg0|53980|60itw0|dq240|53es0|235h80|4beis0|8zzw0|at4c0|7x140|Infinity", offsets: "345.2|360|300", offsetIndices: "0121212121212121" }, { id: "America/Manaus", untils: "-t85gvw|99k97w|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|2yy2s0|6h980|Infinity", offsets: "240.0667|240|180", offsetIndices: "01212121212121212121212121212121" }, { id: "America/Marigot", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Martinique", untils: "-umcvcs|zz5x4s|8zzw0|Infinity", offsets: "244.3333|240|180", offsetIndices: "0121" }, { id: "America/Matamoros", untils: "-p1u7c0|ykt480|ast80|3vppg0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "400|360|300", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Mazatlan", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "425.6667|420|360|480", offsetIndices: "0121212131212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Mendoza", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bktk0|71mk0|bqas0|73h80|bvus0|773s0|5unes0|6hes0|1p7mk0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232312121321232" }, { id: "America/Menominee", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|asys0|7x3w0|a7n9g0|9px80|1at9g0|2396k0|9d1c0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "01010110101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Merida", untils: "-p1u7c0|vauo00|hoyk0|6ys0c0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "358.4667|360|300", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Metlakatla", untils: "-ek1w80|1tz2s0|2dyg0|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|gpc840|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|3ylc0|2itg0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420|540", offsetIndices: "01101010101010101010101010101010102020200202020202020202020202020202020202020202" }, { id: "America/Mexico_City", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|3knek0|776k0|rf440|5t6k0|1evk40|71mk0|30p1g0|8n180|nufxo0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "396.6|420|360|300", offsetIndices: "012121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "America/Miquelon", untils: "-ulmyxk|zzqbdk|3m59g0|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "224.6667|240|180|120", offsetIndices: "012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "America/Moncton", untils: "-z94i40|89fhg0|a2vw0|7mqqo0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|dmtg0|64ak0|cao40|6fek0|bkqs0|7iak0|6y5k0|1tzdw0|2dnc0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|s36s0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a2lo|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6uiyc|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240|180", offsetIndices: "012121212121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Monterrey", untils: "-p1u7c0|ykt480|ast80|3vppg0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "401.2667|360|300", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Montevideo", untils: "-w4mll9|67elc0|1s74p9|9et80|9exe0|9czy0|9exe0|9czy0|3ydyq0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|b5w20|7k6m0|9q1e0|9czy0|asxe0|7x5a0|6do20|ppvy0|4mmm0|8g9qq0|901a0|38pe0|2inw0|2nf9g0|8zzw0|1e3s40|9o3y0|q8he0|2kik0|yxhg0|4bh80|s36s0|2vl60|905g0|5rg20|51ek0|weqs0|3yik0|e1ms0|4ofw0|erk40|3yik0|2vs40|gk7w0|41iys0|3wnw0|erk40|4bh80|c8tg0|64ak0|c8tg0|6u7w0|c8tg0|6h980|bvus0|6u7w0|614qs0|9q2s0|a31g0|7x3w0|ag040|8a2k0|asys0|7x3w0|asys0|7x3w0|asys0|8a2k0|ag040|8a2k0|ag040|8a2k0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity", offsets: "224.85|240|180|210|150|120|90", offsetIndices: "001232323232323232323232324242525242525264252525252525252525252525252525252525252525252" }, { id: "America/Montreal", untils: "-qzoxw0|a2vw0|7yx60|aqzy0|9q8c0|7jzo0|bw0c0|6bp80|cedg0|6h980|c8tg0|6h980|bvus0|776k0|biw40|776k0|biw40|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|xjeo0|1tzb40|2dq40|asys0|7x3w0|ast80|7x3w0|asys0|7x3w0|asys0|b5rw0|7xf00|ast80|7x9g0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240", offsetIndices: "01010101010101010101010101010101010101010101011101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Montserrat", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Nassau", untils: "-u6m4c6|r7u7s6|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "309.5|300|240", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/New_York", untils: "-r0ev80|ast80|7x9g0|ast80|7x9g0|b5rw0|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tzb40|2dq40|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240", offsetIndices: "01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Nipigon", untils: "-qzoxw0|a2vw0|bfxjw0|pmdk0|1tzb40|2dq40|ewvus0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240", offsetIndices: "010111010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Nome", untils: "-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l6c0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "660|600|540|480", offsetIndices: "011001010101010101010101010101010122323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "America/Noronha", untils: "-t85lzw|99k8rw|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|cvw0|iq5g0|6h980|Infinity", offsets: "129.6667|120|60", offsetIndices: "0121212121212121212121212121212121212121" }, { id: "America/North_Dakota/Beulah", untils: "-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hc00|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360|300", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101011212121212121212121212121212121212121212121212121212121" }, { id: "America/North_Dakota/Center", untils: "-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a5c0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360|300", offsetIndices: "010101101010101010101010101010101010101010101010101010101011212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/North_Dakota/New_Salem", untils: "-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a5c0|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360|300", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Nuuk", untils: "-rvumf4|x8nqz4|8zrk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "206.9333|180|120", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Ojinaga", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|xes2s0|afuk0|8a840|afuk0|8aaw0|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "417.6667|420|360|300", offsetIndices: "0121212323221212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Panama", untils: "-w757vc|Infinity", offsets: "319.6|300", offsetIndices: "01" }, { id: "America/Pangnirtung", untils: "-pkmlc0|b0ke00|1tzdw0|2dnc0|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|asw00|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7xc80|ast80|7x6o0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "0|240|180|120|300|360", offsetIndices: "012213121212121212121212121212121212114141414154414141414141414141414141414141414141414141414141414141414141414141414141414" }, { id: "America/Paramaribo", untils: "-usj4g8|cixc0c|5lydbk|kcrm6c|Infinity", offsets: "220.6667|220.8667|220.6|210|180", offsetIndices: "01234" }, { id: "America/Phoenix", untils: "-r0epo0|ast80|7x9g0|ast80|bmtus0|zjedo|4olg0|9et80|bs6lmc|9cyk0|Infinity", offsets: "420|360", offsetIndices: "01010101010" }, { id: "America/Port_of_Spain", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Port-au-Prince", untils: "-rmk9ac|ylcf6c|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8aaw0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|3vpjw0|ast80|7x9g0|ast80|2stv00|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|pkg40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "289|300|240", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Porto_Acre", untils: "-t85fg0|99kak0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|2t2t80|Infinity", offsets: "271.2|300|240", offsetIndices: "01212121212121212121212121212121" }, { id: "America/Porto_Velho", untils: "-t85g60|99k8i0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|Infinity", offsets: "255.6|240|180", offsetIndices: "012121212121212121212121212121" }, { id: "America/Puerto_Rico", untils: "-efsnk0|1ppu40|2dnc0|Infinity", offsets: "240|180", offsetIndices: "0110" }, { id: "America/Punta_Arenas", untils: "-vauawq|3dlssq|157b7a|f4e0q|49hzba|aye0q|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|534ik0|351g0|2fnh80|2mg00|b73400|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|Infinity", offsets: "282.7667|300|240|180", offsetIndices: "0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "America/Rainy_River", untils: "-qzov40|a2vw0|bfxjw0|pmdk0|1tz8c0|2dsw0|ewvus0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "010111010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Rankin_Inlet", untils: "-6s8lc0|4c6oo0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "0|360|240|300", offsetIndices: "012131313131313131313131313131313131313131313331313131313131313131313131313131313131313131313131313131313131313131313131" }, { id: "America/Recife", untils: "-t85ljc|99kb3c|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|cvw0|iq5g0|6h980|Infinity", offsets: "139.6|180|120", offsetIndices: "0121212121212121212121212121212121212121" }, { id: "America/Regina", untils: "-xkq9yc|6l1hmc|a2vw0|60enw0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|1b6840|9cyk0|9d440|8zzw0|9q2s0|9cyk0|9q2s0|9cyk0|9d440|9cyk0|66gc0|1tz5k0|2dvo0|a31g0|9cyk0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|tj1g0|9cyk0|9d440|Infinity", offsets: "418.6|420|360", offsetIndices: "012121212121212121212121221212121212121212121212121212" }, { id: "America/Resolute", untils: "-bnp9c0|97nco0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "0|360|240|300", offsetIndices: "012131313131313131313131313131313131313131313331313131313331313131313131313131313131313131313131313131313131313131313131" }, { id: "America/Rio_Branco", untils: "-t85fg0|99kak0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|2t2t80|Infinity", offsets: "271.2|300|240", offsetIndices: "01212121212121212121212121212121" }, { id: "America/Rosario", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323132323232" }, { id: "America/Santa_Isabel", untils: "-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "468.0667|420|480", offsetIndices: "012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "America/Santarem", untils: "-t85hvc|99ka7c|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|Infinity", offsets: "218.8|240|180", offsetIndices: "0121212121212121212121212121212" }, { id: "America/Santiago", untils: "-vauawq|3dlssq|157b7a|f4e0q|49hzba|aye0q|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|534ik0|351g0|229zw0|2gt80|awo40|2mg00|b73400|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity", offsets: "282.7667|300|240|180", offsetIndices: "010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "America/Santo_Domingo", untils: "-j6hz1c|hiw29c|67zw0|1dy840|62ha0|cnle0|4h2m0|elyq0|47ta0|ei9e0|4bim0|eek20|4dda0|ecpe0|dkmtg0|1stc0|Infinity", offsets: "280|300|240|270", offsetIndices: "01213131313131212" }, { id: "America/Sao_Paulo", untils: "-t85jd8|99k8x8|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5k02s0|6onw0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|cls40|64ak0|dfes0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity", offsets: "186.4667|180|120", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Scoresbysund", untils: "-rvurxk|x8ntpk|902o0|9cvs0|9cyk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "87.8667|120|60|0", offsetIndices: "0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "America/Shiprock", untils: "-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360", offsetIndices: "01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Sitka", untils: "-ek1w80|1tz2s0|2dyg0|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1leo0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420|540", offsetIndices: "01101010101010101010101010101010122020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202" }, { id: "America/St_Barthelemy", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/St_Johns", untils: "-ris3ck|8bx80|ar440|a2vw0|9tjs0|53980|dkys0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|7tmw0|1wfuk|8zzw0|a3480|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|7k580|b5xg0|7k580|b5xg0|1pb260|2dly0|biw40|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|7k580|ag040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a2lo|afuk0|8a840|asqg0|7xc80|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8tec|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "210.8667|150.8667|210|150|90", offsetIndices: "01010101010101010101010101010101010102323232323232323323232323232323232323232323232323232323232323232323232323232323232323232323232323232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "America/St_Kitts", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/St_Lucia", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/St_Thomas", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/St_Vincent", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Swift_Current", untils: "-xkq9d4|6l1h14|a2vw0|c5jxg0|1tz5k0|2dvo0|asys0|8n180|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|3yles0|9cyk0|s36s0|9cyk0|9d440|7x3w0|b5xg0|7k580|5j4lg0|Infinity", offsets: "431.3333|420|360", offsetIndices: "012122121212121212121212" }, { id: "America/Tegucigalpa", untils: "-pfzh6k|yho0ik|7k580|b5xg0|7k580|96x1g0|4qak0|Infinity", offsets: "348.8667|360|300", offsetIndices: "01212121" }, { id: "America/Thule", untils: "-rvuj9g|12yzilg|9cyk0|9d440|9cyk0|9q2s0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "275.1333|240|180", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Thunder_Bay", untils: "-vbavc0|gr8qs0|1tzb40|2dq40|ctmlg0|9cyk0|9d440|9px80|9d440|9cyk0|s36s0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "0122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Tijuana", untils: "-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "468.0667|420|480", offsetIndices: "012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "America/Toronto", untils: "-qzoxw0|a2vw0|7yx60|aqzy0|9q8c0|7jzo0|bw0c0|6bp80|cedg0|6h980|c8tg0|6h980|bvus0|776k0|biw40|776k0|biw40|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|xjeo0|1tzb40|2dq40|asys0|7x3w0|ast80|7x3w0|asys0|7x3w0|asys0|b5rw0|7xf00|ast80|7x9g0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240", offsetIndices: "01010101010101010101010101010101010101010101011101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Tortola", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Vancouver", untils: "-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420", offsetIndices: "0101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Virgin", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Whitehorse", untils: "-qzoms0|a2vw0|asys0|882c0|bmiwc0|1tz000|2e180|a7n3w0|9q000|tiyo0|6qp440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity", offsets: "540|480|420", offsetIndices: "01010110201212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "America/Winnipeg", untils: "-s0s7c0|7k580|tj700|a2vw0|9ok840|6u7w0|2a5hg0|1tz8c0|2dsw0|biw40|7x3w0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b7s40|7tek0|autg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|7x3w0|1cm2s0|7k580|1cm2s0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Yakutat", untils: "-ek1tg0|1tz000|2e180|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1lbw0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "540|480", offsetIndices: "01101010101010101010101010101010100101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Yellowknife", untils: "-i9m2o0|3pk3o0|1tz5k0|2dvo0|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "0|420|360|300", offsetIndices: "012213121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Antarctica/Casey", untils: "-irxc0|lag4o0|73bo0|uz1o0|60l80|2fnh80|pz9g0|Infinity", offsets: "0|-480|-660", offsetIndices: "01212121" }, { id: "Antarctica/Davis", untils: "-6rmdc0|42jdw0|27wgs0|l8uss0|7eqs0|unmk0|60qs0|Infinity", offsets: "0|-420|-300", offsetIndices: "01012121" }, { id: "Antarctica/DumontDUrville", untils: "-c05eo0|2mks80|2i72g0|Infinity", offsets: "0|-600", offsetIndices: "0101" }, { id: "Antarctica/Macquarie", untils: "-rsj4w0|8zzw0|11wqk0|f4kh40|a6p8g0|9d1c0|asw00|6uao0|bvs00|6uao0|bvs00|779c0|bvs00|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660|0", offsetIndices: "0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101011" }, { id: "Antarctica/Mawson", untils: "-8aelc0|t22y80|Infinity", offsets: "0|-360|-300", offsetIndices: "012" }, { id: "Antarctica/McMurdo", untils: "-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity", offsets: "-690|-750|-720|-780", offsetIndices: "01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "Antarctica/Palmer", untils: "-2lxhc0|31ho0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|46b6s0|8c2s0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|Infinity", offsets: "0|180|240|120", offsetIndices: "0121212121213121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Antarctica/Rothera", untils: "3lxs00|Infinity", offsets: "0|180", offsetIndices: "01" }, { id: "Antarctica/South_Pole", untils: "-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity", offsets: "-690|-750|-720|-780", offsetIndices: "01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "Antarctica/Syowa", untils: "-6qsqo0|Infinity", offsets: "0|-180", offsetIndices: "01" }, { id: "Antarctica/Troll", untils: "ibruo0|27pg0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-120", offsetIndices: "00101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Antarctica/Vostok", untils: "-6aaao0|Infinity", offsets: "0|-360", offsetIndices: "01" }, { id: "Arctic/Longyearbyen", untils: "-rzayo0|6qfs0|cgcqo0|15tsc0|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|70q5c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|b5uo0|7k800|7law00|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Asia/Aden", untils: "-bwgbbg|Infinity", offsets: "-186.8667|-180", offsetIndices: "01" }, { id: "Asia/Almaty", untils: "-nu1a90|37a0d0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|Infinity", offsets: "-307.8|-300|-360|-420", offsetIndices: "012323232323232323232321232323232323232323232323232" }, { id: "Asia/Amman", untils: "-kcrtbk|m566fk|60l80|awo40|7v980|awo40|7v980|ayis0|9gnw0|9b9g0|7v980|autg0|7v980|3e6840|9et80|9io40|9cyk0|9d440|9cyk0|9d440|9px80|ayis0|7rjw0|ag040|8a2k0|9zc40|8drw0|a31g0|8zzw0|9d440|9cyk0|9d440|8n180|ag040|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|epmo0|4deo0|9o5c0|9ew00|9b6o0|9ew00|9d1c0|9d1c0|9d1c0|asw00|7x6o0|afxc0|8n400|9d1c0|9d1c0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|wel80|51k40|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|Infinity", offsets: "-143.7333|-120|-180", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Anadyr", untils: "-nu1sv8|379zj8|qi27w0|9et80|is040|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity", offsets: "-709.9333|-720|-780|-840|-660", offsetIndices: "01232121212121212121214121212121212121212121212121212121212141" }, { id: "Asia/Aqtau", untils: "-nu15b4|379y74|qrh3w0|iruk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity", offsets: "-201.0667|-240|-300|-360", offsetIndices: "012323232323232323232123232312121212121212121212" }, { id: "Asia/Aqtobe", untils: "-nu16l4|379zh4|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|Infinity", offsets: "-228.6667|-240|-300|-360", offsetIndices: "0123232323232323232321232323232323232323232323232" }, { id: "Asia/Ashgabat", untils: "-nu16t8|379zp8|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|Infinity", offsets: "-233.5333|-240|-300|-360", offsetIndices: "0123232323232323232323212" }, { id: "Asia/Ashkhabad", untils: "-nu16t8|379zp8|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|Infinity", offsets: "-233.5333|-240|-300|-360", offsetIndices: "0123232323232323232323212" }, { id: "Asia/Atyrau", untils: "-nu15m8|37a1a8|qrh140|iruk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|j3440|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity", offsets: "-207.7333|-180|-300|-360|-240", offsetIndices: "01232323232323232323242323232323232324242424242" }, { id: "Asia/Baghdad", untils: "-r50g80|xkn3w0|7v980|9b9g0|9gnw0|9eys0|9et80|9d440|9b9g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9f1k0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|Infinity", offsets: "-177.6|-180|-240", offsetIndices: "012121212121212121212121212121212121212121212121212121" }, { id: "Asia/Bahrain", untils: "-q3gmvk|rctnrk|Infinity", offsets: "-206.1333|-240|-180", offsetIndices: "012" }, { id: "Asia/Baku", untils: "-nu158c|h4tkwc|ckinw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|9d1c0|239ew0|asw00|7x3w0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-199.4|-180|-240|-300", offsetIndices: "01232323232323232323232123232323232323232323232323232323232323232" }, { id: "Asia/Bangkok", untils: "-pysda4|Infinity", offsets: "-402.0667|-420", offsetIndices: "01" }, { id: "Asia/Barnaul", untils: "-q4ljic|5hu6uc|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|38fo0|64og0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity", offsets: "-335|-360|-420|-480", offsetIndices: "0123232323232323232323212323232321212121212121212121212121212121212" }, { id: "Asia/Beirut", untils: "-pyzew0|aunw0|88dg0|9et80|8yas0|a2vw0|a31g0|7k580|hjqo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|7v980|5lhs40|56yk0|awo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|7v980|autg0|7v980|2wxus0|8n180|a4w40|8n180|a4w40|8n180|a4w40|8n180|bs5g0|71mk0|alk40|86d80|a4w40|8n180|a4w40|8n180|a6qs0|80t80|905g0|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|Infinity", offsets: "-120|-180", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Asia/Bishkek", untils: "-nu19tc|379zxc|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|h8dc0|bkl80|8n180|a31g0|8n180|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9db20|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|Infinity", offsets: "-298.4|-300|-360|-420", offsetIndices: "012323232323232323232321212121212121212121212121212" }, { id: "Asia/Brunei", untils: "-mvofy4|3khxs4|Infinity", offsets: "-459.6667|-450|-480", offsetIndices: "012" }, { id: "Asia/Calcutta", untils: "-xehava|innm9a|bmfw0|5lxg0|1mn180|Infinity", offsets: "-321.1667|-330|-390", offsetIndices: "012121" }, { id: "Asia/Chita", untils: "-q4cfog|5hkxgg|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnew0|Infinity", offsets: "-453.8667|-480|-540|-600", offsetIndices: "012323232323232323232321232323232323232323232323232323232323232312" }, { id: "Asia/Choibalsan", untils: "-xmct7c|11sndrc|2qk2k0|9eqg0|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|s6qk0|3nc0c0|9ct00|9d9o0|9ct00|Infinity", offsets: "-458|-420|-480|-600|-540", offsetIndices: "0123434343434343434343434343434343434343434343424242" }, { id: "Asia/Chongqing", untils: "-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity", offsets: "-480|-540", offsetIndices: "01010101010101010101010101010" }, { id: "Asia/Chungking", untils: "-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity", offsets: "-480|-540", offsetIndices: "01010101010101010101010101010" }, { id: "Asia/Colombo", untils: "-xehask|isle6k|cajy0|1mp2u0|qetjw0|7x5a0|4xvqq0|Infinity", offsets: "-319.5333|-330|-360|-390", offsetIndices: "01231321" }, { id: "Asia/Dacca", untils: "-eqtpow|bmgyw|5lxg0|4qknw0|u4ijy0|a1400|Infinity", offsets: "-353.3333|-390|-330|-360|-420", offsetIndices: "0121343" }, { id: "Asia/Damascus", untils: "-q3gk20|5k6q0|8n180|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|k4hk40|7yyk0|awo40|7tek0|b0dg0|7v980|awo40|7tek0|alk40|887w0|awo40|7v980|ayis0|7v980|awo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|6bp80|cg840|6bp80|2eh1g0|8zzw0|9ts40|8zzw0|pvk40|c33w0|7cw40|cjrw0|6zxg0|btuk0|7rpg0|9gnw0|9d440|9cyk0|9et80|9et80|9rxg0|91uk0|92040|9et80|9o840|9et80|9d440|9et80|9eys0|9et80|9b9g0|9gnw0|99es0|9iik0|9d440|9et80|9eys0|9et80|9d440|9et80|9d440|9et80|9d440|9et80|9eys0|9et80|9d440|9et80|9d440|8y580|9q2s0|b5rw0|7x9g0|aunw0|7ig40|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|Infinity", offsets: "-145.2|-120|-180", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Dhaka", untils: "-eqtpow|bmgyw|5lxg0|4qknw0|u4ijy0|a1400|Infinity", offsets: "-353.3333|-390|-330|-360|-420", offsetIndices: "0121343" }, { id: "Asia/Dili", untils: "-u9s4l8|fqcu98|hufs00|cpz440|Infinity", offsets: "-502.3333|-480|-540", offsetIndices: "01212" }, { id: "Asia/Dubai", untils: "-q3gnko|Infinity", offsets: "-221.2|-240", offsetIndices: "01" }, { id: "Asia/Dushanbe", untils: "-nu18qo|379yuo|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|hp440|Infinity", offsets: "-275.2|-300|-360|-420", offsetIndices: "012323232323232323232321" }, { id: "Asia/Famagusta", untils: "-p4bqac|rvhy2c|9cyk0|b42s0|7nuk0|8yas0|8zzw0|9q2s0|9et80|9b9g0|9cyk0|9q2s0|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|at4c0|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|8h8w0|leog0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-135.8|-120|-180", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212212121212121212121212121212121212121212121" }, { id: "Asia/Gaza", untils: "-ffv9k0|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|5hoqs0|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|1sns0|3p6is0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|66as0|4vxc0|8n400|a2yo0|8n400|a2yo0|8n400|asw00|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|8n400|a2yo0|8ulg0|97ek0|8y580|9ts40|8hms0|a4qk0|7x3w0|asys0|8a5c0|ahs1o|71mic|bzk5o|69uic|cg840|902o0|9q000|9cyk0|9d440|ast80|7z440|aqyk0|7z6w0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|Infinity", offsets: "-120|-180", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010100101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Asia/Harbin", untils: "-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity", offsets: "-480|-540", offsetIndices: "01010101010101010101010101010" }, { id: "Asia/Hebron", untils: "-ffv9k0|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|5hoqs0|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|1sns0|3p6is0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|66as0|4vxc0|8n400|a2yo0|8n400|a2yo0|8n400|asw00|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|8n400|a2yo0|8ulg0|97ek0|8y580|9ts40|8hms0|a4qk0|82nw0|anes0|8a5c0|afxc0|73h80|bzk5o|69uic|1hs40|1lbw0|9d440|902o0|9q000|9cyk0|9d440|ast80|7z440|aqyk0|7z6w0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|Infinity", offsets: "-120|-180", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Asia/Ho_Chi_Minh", untils: "-x56934|2isioa|gj25iu|15ct80|8so00|tmtk0|4azjw0|2cmao0|8285c0|Infinity", offsets: "-426.6667|-426.5|-420|-480|-540", offsetIndices: "0123423232" }, { id: "Asia/Hong_Kong", untils: "-y0i0s0|j44dk0|5k000|4d4y0|2195i0|7x3w0|bj320|6uao0|bvs00|7x6o0|9d1c0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|ast80|77c40|biqk0|77c40|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity", offsets: "-456.7|-480|-540|-510", offsetIndices: "0123212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Hovd", untils: "-xmcoz0|11sncb0|2qk2k0|9et80|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|4fio40|9ct00|9d9o0|9ct00|Infinity", offsets: "-366.6|-360|-420|-480", offsetIndices: "012323232323232323232323232323232323232323232323232" }, { id: "Asia/Irkutsk", untils: "-q28gn5|5fh175|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-417.0833|-420|-480|-540", offsetIndices: "01232323232323232323232123232323232323232323232323232323232323232" }, { id: "Asia/Istanbul", untils: "-ux9xew|2wvx6w|7v980|1tjc40|aunw0|88dg0|9et80|8yas0|a2vw0|tzpg0|79180|awo40|7v980|7p4040|4zjw0|2vs40|f4d80|9vms0|1u5ek0|c5440|69uk0|acas0|8n180|a31g0|8n180|9q2s0|8zzw0|a31g0|8zzw0|a31g0|8n180|5md9g0|o9zw0|a6qs0|75bw0|4iwyw0|7x6o0|7kas0|b5rw0|75hg0|bkl80|77c40|biqk0|7x9g0|a2vw0|8n6s0|4iqc0|2nkw80|38l80|kdes0|8qtc0|8a5c0|9ew00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|902o0|9q000|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7kdk0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7m2o0|b4000|7k800|b5uo0|7x6o0|asw00|7z1c0|ar1c0|7x6o0|bitc0|779c0|8fe80|Infinity", offsets: "-116.9333|-120|-180|-240", offsetIndices: "0121212121212121212121212121212121212121212121223212121212121212121212121212121212121212121212121212121212121212122" }, { id: "Asia/Jakarta", untils: "-o0bdpc|4lzxc0|4wdzjc|1tu960|1cx860|11jta0|74uc20|Infinity", offsets: "-427.2|-440|-450|-540|-480|-420", offsetIndices: "01232425" }, { id: "Asia/Jayapura", untils: "-jebm20|66bqe0|a37vy0|Infinity", offsets: "-562.8|-540|-570", offsetIndices: "0121" }, { id: "Asia/Jerusalem", untils: "-r50eig|bp54yg|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|t9s40|56vs0|35700|9b3w0|9gtg0|8jbw0|7tmw0|a6ig0|biyw0|8a5c0|9d1c0|902o0|7x6o0|e1eg0|4ofw0|dzxo0|4q500|doo40|64iw0|auqo0|7i500|8rfms0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|9zc40|9iik0|9kis0|93p80|9mdg0|8qqk0|apf00|7x3w0|biw40|8zx40|9io40|8n180|9kis0|9vh80|8ulg0|9px80|9mdg0|8n180|9tuw0|9tmk0|8wg40|9gnw0|99es0|8qqk0|9zc40|9tmk0|8wg40|9gnw0|99es0|8qqk0|acas0|9gnw0|99es0|93p80|9mdg0|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|Infinity", offsets: "-140.6667|-120|-180|-240", offsetIndices: "012121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Kabul", untils: "-d1pkg0|Infinity", offsets: "-240|-270", offsetIndices: "01" }, { id: "Asia/Kamchatka", untils: "-olrupo|3z045o|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity", offsets: "-634.6|-660|-720|-780", offsetIndices: "012323232323232323232321232323232323232323232323232323232323212" }, { id: "Asia/Karachi", untils: "-wvpb30|im3zt0|1mn180|33xpg0|a63o20|g72qo0|9cyk0|2y85g0|7v980|8hms0|aaak0|Infinity", offsets: "-268.2|-330|-390|-300|-360", offsetIndices: "012133434343" }, { id: "Asia/Kashgar", untils: "-lx5pjw|Infinity", offsets: "-350.3333|-360", offsetIndices: "01" }, { id: "Asia/Kathmandu", untils: "-q3gt4s|yg2lus|Infinity", offsets: "-341.2667|-330|-345", offsetIndices: "012" }, { id: "Asia/Katmandu", untils: "-q3gt4s|yg2lus|Infinity", offsets: "-341.2667|-330|-345", offsetIndices: "012" }, { id: "Asia/Khandyga", untils: "-q4cjrp|5hl1jp|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|3fx40|4h6s0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|8ql00|1mlho0|Infinity", offsets: "-542.2167|-480|-540|-600|-660", offsetIndices: "0123232323232323232323212323232323232323232323232343434343434343432" }, { id: "Asia/Kolkata", untils: "-xehava|innm9a|bmfw0|5lxg0|1mn180|Infinity", offsets: "-321.1667|-330|-390", offsetIndices: "012121" }, { id: "Asia/Krasnoyarsk", untils: "-q37l72|5gg8j2|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-371.4333|-360|-420|-480", offsetIndices: "01232323232323232323232123232323232323232323232323232323232323232" }, { id: "Asia/Kuala_Lumpur", untils: "-xphpwd|eeb94d|4it32o|8n3jc|1v2p60|iy3o60|Infinity", offsets: "-415.4167|-420|-440|-450|-540|-480", offsetIndices: "0123435" }, { id: "Asia/Kuching", untils: "-mvof3k|3khwxk|1epvy0|4ohqo|e5a9c|4ohqo|e3flc|4ohqo|e3flc|4ohqo|e3flc|4ohqo|e5a9c|4ohqo|e3flc|4ohqo|3ajlc|1v2qk0|Infinity", offsets: "-441.3333|-450|-480|-500|-540", offsetIndices: "0123232323232323242" }, { id: "Asia/Kuwait", untils: "-bwgbbg|Infinity", offsets: "-186.8667|-180", offsetIndices: "01" }, { id: "Asia/Macao", untils: "-y0i2cy|jdvyoy|6onw0|ac580|8fs40|7v980|11luw0|awlc0|7vc00|ac800|bko00|7x6o0|9d1c0|7vc00|asw00|7x6o0|asw00|7x6o0|auqo0|88ao0|asw00|7x6o0|asw00|779c0|bitc0|779c0|bvs00|6uao0|bw1q0|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cvs0|9d6w0|9cvs0|9d6w0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity", offsets: "-454.1667|-480|-540|-600", offsetIndices: "012323212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Macau", untils: "-y0i2cy|jdvyoy|6onw0|ac580|8fs40|7v980|11luw0|awlc0|7vc00|ac800|bko00|7x6o0|9d1c0|7vc00|asw00|7x6o0|asw00|7x6o0|auqo0|88ao0|asw00|7x6o0|asw00|779c0|bitc0|779c0|bvs00|6uao0|bw1q0|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cvs0|9d6w0|9cvs0|9d6w0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity", offsets: "-454.1667|-480|-540|-600", offsetIndices: "012323212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Magadan", untils: "-nu1nxc|37a05c|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|s39k0|Infinity", offsets: "-603.2|-600|-660|-720", offsetIndices: "012323232323232323232321232323232323232323232323232323232323232312" }, { id: "Asia/Makassar", untils: "-q3gzg0|6p5hc0|4u87w0|1w02k0|Infinity", offsets: "-477.6|-480|-540", offsetIndices: "00121" }, { id: "Asia/Manila", untils: "-hb5y80|4qak0|2qidg0|1b2d80|4xf440|442k0|cdqdg0|9et80|Infinity", offsets: "-480|-540", offsetIndices: "010101010" }, { id: "Asia/Muscat", untils: "-q3gnko|Infinity", offsets: "-221.2|-240", offsetIndices: "01" }, { id: "Asia/Nicosia", untils: "-p4bq6g|rvhxyg|9cyk0|b42s0|7nuk0|8yas0|8zzw0|9q2s0|9et80|9b9g0|9cyk0|9q2s0|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|at4c0|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-133.4667|-120|-180", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Novokuznetsk", untils: "-nu36tc|37bu5c|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity", offsets: "-348.8|-360|-420|-480", offsetIndices: "012323232323232323232321232323232323232323232323232323232323212" }, { id: "Asia/Novosibirsk", untils: "-q4do0s|5hmbcs|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|2vh00|6hn40|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|wrpg0|Infinity", offsets: "-331.6667|-360|-420|-480", offsetIndices: "0123232323232323232323212323212121212121212121212121212121212121212" }, { id: "Asia/Omsk", untils: "-q5xmx6|5j6d16|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-293.5|-300|-360|-420", offsetIndices: "01232323232323232323232123232323232323232323232323232323232323232" }, { id: "Asia/Oral", untils: "-nu15ic|37a16c|qi2540|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|9d1c0|9d1c0|5reo0|cyo00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity", offsets: "-205.4|-180|-300|-360|-240", offsetIndices: "01232323232323232424242424242424242424242424242" }, { id: "Asia/Phnom_Penh", untils: "-pysda4|Infinity", offsets: "-402.0667|-420", offsetIndices: "01" }, { id: "Asia/Pontianak", untils: "-w6piww|cse2o0|4tnu2w|1wkei0|1cx860|11jta0|74uc20|cixam0|Infinity", offsets: "-437.3333|-450|-540|-480|-420", offsetIndices: "001213134" }, { id: "Asia/Pyongyang", untils: "-w895yc|1yh10c|hk5da0|10ipmo0|1f4qo0|Infinity", offsets: "-503|-510|-540", offsetIndices: "012212" }, { id: "Asia/Qatar", untils: "-q3gmvk|rctnrk|Infinity", offsets: "-206.1333|-240|-180", offsetIndices: "012" }, { id: "Asia/Qostanay", untils: "-nu17s4|37a0o4|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity", offsets: "-254.4667|-240|-300|-360", offsetIndices: "012323232323232323232123232323232323232323232323" }, { id: "Asia/Qyzylorda", untils: "-nu184g|37a10g|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|ohhc0|cyo00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|7osl00|Infinity", offsets: "-261.8667|-240|-300|-360", offsetIndices: "01232323232323232323232323232323232323232323232" }, { id: "Asia/Rangoon", untils: "-q3gv5b|bnjp3b|1kh520|Infinity", offsets: "-384.7833|-390|-540", offsetIndices: "0121" }, { id: "Asia/Riyadh", untils: "-bwgbbg|Infinity", offsets: "-186.8667|-180", offsetIndices: "01" }, { id: "Asia/Saigon", untils: "-x56934|2isioa|gj25iu|15ct80|8so00|tmtk0|4azjw0|2cmao0|8285c0|Infinity", offsets: "-426.6667|-426.5|-420|-480|-540", offsetIndices: "0123423232" }, { id: "Asia/Sakhalin", untils: "-xl87rc|kvnarc|ikvh40|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|iq5g0|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity", offsets: "-570.8|-540|-660|-720|-600", offsetIndices: "01232323232323232323232423232323232424242424242424242424242424242" }, { id: "Asia/Samarkand", untils: "-nu18eh|37a1ah|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|Infinity", offsets: "-267.8833|-240|-300|-360", offsetIndices: "01232323232323232323232" }, { id: "Asia/Seoul", untils: "-w8966g|1yh18g|hkx5a0|1faao0|5cik0|ae5g0|8a2k0|ae5g0|8bx80|c8tg0|6h980|1bj6s0|l3aq0|6j3w0|d2g40|6u7w0|b5xg0|776k0|biw40|776k0|biw40|776k0|biw40|776k0|grs40|dfqxi0|7x6o0|asw00|7x6o0|Infinity", offsets: "-507.8667|-510|-540|-600|-570", offsetIndices: "012232323232141414141414123232" }, { id: "Asia/Shanghai", untils: "-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity", offsets: "-480|-540", offsetIndices: "01010101010101010101010101010" }, { id: "Asia/Singapore", untils: "-xphpwd|eeb94d|4it32o|8n3jc|1v2p60|iy3o60|Infinity", offsets: "-415.4167|-420|-440|-450|-540|-480", offsetIndices: "0123435" }, { id: "Asia/Srednekolymsk", untils: "-nu1ogs|37a0os|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-614.8667|-600|-660|-720", offsetIndices: "01232323232323232323232123232323232323232323232323232323232323232" }, { id: "Asia/Taipei", untils: "-gtzfk0|45slc0|c51c0|75bw0|a31g0|aaak0|9d440|7v980|awo40|7v980|awo40|7v980|awo40|7v980|7tk40|clmk0|7rpg0|b07w0|7rpg0|b07w0|7rpg0|9et80|9eys0|9et80|9d440|9et80|9d440|9et80|9d440|9et80|cjxg0|69uk0|ci2s0|69uk0|6its40|9et80|9d440|9et80|1yf9g0|4qak0|Infinity", offsets: "-480|-540", offsetIndices: "01010101010101010101010101010101010101010" }, { id: "Asia/Tashkent", untils: "-nu18tz|379yxz|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|Infinity", offsets: "-277.1833|-300|-360|-420", offsetIndices: "012323232323232323232321" }, { id: "Asia/Tbilisi", untils: "-nu14an|h4tjyn|ckinw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|9cvs0|9cyk0|9d440|9cyk0|9d440|ipzw0|9cyk0|9q2s0|tivw0|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|4ofw0|6hn40|7k800|Infinity", offsets: "-179.1833|-180|-240|-300", offsetIndices: "0123232323232323232323212121232323232323232323212" }, { id: "Asia/Tehran", untils: "-s6m6uw|fnolc0|gm3h4w|777y0|b07w0|3pes0|42c20|9cyk0|9gtg0|9kd80|5ja5g0|7avw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|1av440|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|Infinity", offsets: "-205.7333|-210|-240|-300|-270", offsetIndices: "00123214141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141" }, { id: "Asia/Tel_Aviv", untils: "-r50eig|bp54yg|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|t9s40|56vs0|35700|9b3w0|9gtg0|8jbw0|7tmw0|a6ig0|biyw0|8a5c0|9d1c0|902o0|7x6o0|e1eg0|4ofw0|dzxo0|4q500|doo40|64iw0|auqo0|7i500|8rfms0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|9zc40|9iik0|9kis0|93p80|9mdg0|8qqk0|apf00|7x3w0|biw40|8zx40|9io40|8n180|9kis0|9vh80|8ulg0|9px80|9mdg0|8n180|9tuw0|9tmk0|8wg40|9gnw0|99es0|8qqk0|9zc40|9tmk0|8wg40|9gnw0|99es0|8qqk0|acas0|9gnw0|99es0|93p80|9mdg0|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|Infinity", offsets: "-140.6667|-120|-180|-240", offsetIndices: "012121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Thimbu", untils: "-bojclo|kxymno|Infinity", offsets: "-358.6|-330|-360", offsetIndices: "012" }, { id: "Asia/Thimphu", untils: "-bojclo|kxymno|Infinity", offsets: "-358.6|-330|-360", offsetIndices: "012" }, { id: "Asia/Tokyo", untils: "-bb4900|6uao0|afxc0|8a5c0|c8qo0|6hc00|c8qo0|6hc00|Infinity", offsets: "-540|-600", offsetIndices: "010101010" }, { id: "Asia/Tomsk", untils: "-q3zbqf|5h7z2f|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|1leo0|97k40|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|tw040|Infinity", offsets: "-339.85|-360|-420|-480", offsetIndices: "0123232323232323232323212323232323232323232323212121212121212121212" }, { id: "Asia/Ujung_Pandang", untils: "-q3gzg0|6p5hc0|4u87w0|1w02k0|Infinity", offsets: "-477.6|-480|-540", offsetIndices: "00121" }, { id: "Asia/Ulaanbaatar", untils: "-xmcrsk|11sncck|2qk2k0|9et80|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|4fio40|9ct00|9d9o0|9ct00|Infinity", offsets: "-427.5333|-420|-480|-540", offsetIndices: "012323232323232323232323232323232323232323232323232" }, { id: "Asia/Ulan_Bator", untils: "-xmcrsk|11sncck|2qk2k0|9et80|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|4fio40|9ct00|9d9o0|9ct00|Infinity", offsets: "-427.5333|-420|-480|-540", offsetIndices: "012323232323232323232323232323232323232323232323232" }, { id: "Asia/Urumqi", untils: "-lx5pjw|Infinity", offsets: "-350.3333|-360", offsetIndices: "01" }, { id: "Asia/Ust-Nera", untils: "-q4cl6u|5hl2yu|qi27w0|9eno0|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|8ql00|1mlho0|Infinity", offsets: "-572.9|-480|-540|-720|-660|-600", offsetIndices: "012343434343434343434345434343434343434343434343434343434343434345" }, { id: "Asia/Vientiane", untils: "-pysda4|Infinity", offsets: "-402.0667|-420", offsetIndices: "01" }, { id: "Asia/Vladivostok", untils: "-oligf7|3yqvf7|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-527.5167|-540|-600|-660", offsetIndices: "01232323232323232323232123232323232323232323232323232323232323232" }, { id: "Asia/Yakutsk", untils: "-q4cioy|5hl0gy|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-518.9667|-480|-540|-600", offsetIndices: "01232323232323232323232123232323232323232323232323232323232323232" }, { id: "Asia/Yangon", untils: "-q3gv5b|bnjp3b|1kh520|Infinity", offsets: "-384.7833|-390|-540", offsetIndices: "0121" }, { id: "Asia/Yekaterinburg", untils: "-rx5hw9|1kybx4|5pfyv5|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-242.55|-225.0833|-240|-300|-360", offsetIndices: "012343434343434343434343234343434343434343434343434343434343434343" }, { id: "Asia/Yerevan", untils: "-nu148o|h4tjwo|ckinw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|11t180|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|Infinity", offsets: "-178|-180|-240|-300", offsetIndices: "0123232323232323232323212121212323232323232323232323232323232" }, { id: "Atlantic/Azores", untils: "-u9rbs0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5qbjo0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9cyk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "114.5333|120|60|0", offsetIndices: "01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323233323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Atlantic/Bermuda", untils: "-kvj2fu|n4pr3u|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "259.3|240|180", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Atlantic/Canary", untils: "-oytbtc|ctvupc|hhq7s0|905g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "61.6|60|0|-60", offsetIndices: "01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Atlantic/Cape_Verde", untils: "-u9rbs0|g06lc0|1mn180|fpqwc0|Infinity", offsets: "94.0667|120|60", offsetIndices: "01212" }, { id: "Atlantic/Faeroe", untils: "-wcehew|127keuw|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "27.0667|0|-60", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Atlantic/Faroe", untils: "-wcehew|127keuw|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "27.0667|0|-60", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Atlantic/Jan_Mayen", untils: "-rzayo0|6qfs0|cgcqo0|15tsc0|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|70q5c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|b5uo0|7k800|7law00|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Atlantic/Madeira", untils: "-u9rek0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5qbjo0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "67.6|60|0|-60", offsetIndices: "01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Atlantic/Reykjavik", untils: "-wcwx9c|4rpd9c|ci2s0|69uk0|du840|4xp80|du840|p7bw0|4w040|9bdzw0|9d6w0|64g40|cyl80|64dc0|clpc0|6hc00|bvs00|6uao0|bvs00|6uao0|bvs00|6uao0|c8qo0|6hc00|c8qo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|Infinity", offsets: "88|60|0", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212" }, { id: "Atlantic/South_Georgia", untils: "Infinity", offsets: "120", offsetIndices: "0" }, { id: "Atlantic/St_Helena", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Atlantic/Stanley", untils: "-u63pac|dbvxqc|8zzw0|9q2s0|8zzw0|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|4xp80|l1pus0|7k580|b5rw0|77c40|biqk0|id6s0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|biqk0|77c40|biqk0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|biqk0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5xg0|77c40|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|77c40|biqk0|77c40|biqk0|77c40|Infinity", offsets: "231.4|240|180|120", offsetIndices: "012121212121212323212121212121212121212121212121212121212121212121212" }, { id: "Australia/ACT", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Adelaide", untils: "-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|7k800|b5uo0|6uao0|c8qo0|779c0|bitc0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-570|-630", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Brisbane", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|97zuo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|Infinity", offsets: "-600|-660", offsetIndices: "01010101010101010" }, { id: "Australia/Broken_Hill", untils: "-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-570|-630", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Canberra", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Currie", untils: "-rsj4w0|8zzw0|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Darwin", untils: "-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|Infinity", offsets: "-570|-630", offsetIndices: "010101010" }, { id: "Australia/Eucla", untils: "-rnstlc|49s2c|cxfms0|4h180|9d440|9cyk0|ghf1g0|6hc00|4ir9c0|6hc00|40r400|5eg00|7p9hc0|5reo0|b5uo0|7x6o0|asw00|7x6o0|Infinity", offsets: "-525|-585", offsetIndices: "0101010101010101010" }, { id: "Australia/Hobart", untils: "-rsj4w0|8zzw0|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|c9tms0|9d1c0|asw00|6uao0|bvs00|6uao0|bvs00|779c0|bvs00|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/LHI", untils: "5tp880|c8uu0|6u7w0|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|777y0|b5w20|7k6m0|biuq0|7k6m0|biuq0|777y0|biuq0|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|7x820|asum0|b5w20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|b5w20|7x5a0|asxe0|7k6m0|b5w20|8a3y0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9pym0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|Infinity", offsets: "-600|-630|-690|-660", offsetIndices: "0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313" }, { id: "Australia/Lindeman", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|97zuo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|Infinity", offsets: "-600|-660", offsetIndices: "010101010101010101010" }, { id: "Australia/Lord_Howe", untils: "5tp880|c8uu0|6u7w0|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|777y0|b5w20|7k6m0|biuq0|7k6m0|biuq0|777y0|biuq0|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|7x820|asum0|b5w20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|b5w20|7x5a0|asxe0|7k6m0|b5w20|8a3y0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9pym0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|Infinity", offsets: "-600|-630|-690|-660", offsetIndices: "0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313" }, { id: "Australia/Melbourne", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|b5uo0|7x6o0|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/North", untils: "-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|Infinity", offsets: "-570|-630", offsetIndices: "010101010" }, { id: "Australia/NSW", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Perth", untils: "-rnsric|49s2c|cxfms0|4h180|9d440|9cyk0|ghf1g0|6hc00|4ir9c0|6hc00|40r400|5eg00|7p9hc0|5reo0|b5uo0|7x6o0|asw00|7x6o0|Infinity", offsets: "-480|-540", offsetIndices: "0101010101010101010" }, { id: "Australia/Queensland", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|97zuo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|Infinity", offsets: "-600|-660", offsetIndices: "01010101010101010" }, { id: "Australia/South", untils: "-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|7k800|b5uo0|6uao0|c8qo0|779c0|bitc0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-570|-630", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Sydney", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Tasmania", untils: "-rsj4w0|8zzw0|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|c9tms0|9d1c0|asw00|6uao0|bvs00|6uao0|bvs00|779c0|bvs00|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Victoria", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|b5uo0|7x6o0|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/West", untils: "-rnsric|49s2c|cxfms0|4h180|9d440|9cyk0|ghf1g0|6hc00|4ir9c0|6hc00|40r400|5eg00|7p9hc0|5reo0|b5uo0|7x6o0|asw00|7x6o0|Infinity", offsets: "-480|-540", offsetIndices: "0101010101010101010" }, { id: "Australia/Yancowinna", untils: "-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-570|-630", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Brazil/Acre", untils: "-t85fg0|99kak0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|2t2t80|Infinity", offsets: "271.2|300|240", offsetIndices: "01212121212121212121212121212121" }, { id: "Brazil/DeNoronha", untils: "-t85lzw|99k8rw|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|cvw0|iq5g0|6h980|Infinity", offsets: "129.6667|120|60", offsetIndices: "0121212121212121212121212121212121212121" }, { id: "Brazil/East", untils: "-t85jd8|99k8x8|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5k02s0|6onw0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|cls40|64ak0|dfes0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity", offsets: "186.4667|180|120", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Brazil/West", untils: "-t85gvw|99k97w|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|2yy2s0|6h980|Infinity", offsets: "240.0667|240|180", offsetIndices: "01212121212121212121212121212121" }, { id: "Canada/Atlantic", untils: "-z94k80|777go0|9et80|st9o0|a2vw0|ssyk0|5rbw0|cv1g0|69uk0|c6ys0|6kyk0|ci2s0|67zw0|ci2s0|6w2k0|bu040|7lzw0|bu040|66580|bu040|7lzw0|bu040|64ak0|cls40|5v180|cv1g0|6j3w0|c6ys0|79180|b42s0|7lzw0|b42s0|7yyk0|bu040|64ak0|dbpg0|66580|cls40|5ed80|bu040|7lzw0|b42s0|7lzw0|cjxg0|66580|bh1g0|7lzw0|b42s0|7lzw0|6uj00|1tzdw0|2dnc0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|1cm2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "254.4|240|180", offsetIndices: "0121212121212121212121212121212121212121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Canada/Central", untils: "-s0s7c0|7k580|tj700|a2vw0|9ok840|6u7w0|2a5hg0|1tz8c0|2dsw0|biw40|7x3w0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b7s40|7tek0|autg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|7x3w0|1cm2s0|7k580|1cm2s0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Canada/Eastern", untils: "-qzoxw0|a2vw0|7yx60|aqzy0|9q8c0|7jzo0|bw0c0|6bp80|cedg0|6h980|c8tg0|6h980|bvus0|776k0|biw40|776k0|biw40|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|xjeo0|1tzb40|2dq40|asys0|7x3w0|ast80|7x3w0|asys0|7x3w0|asys0|b5rw0|7xf00|ast80|7x9g0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240", offsetIndices: "01010101010101010101010101010101010101010101011101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Canada/Mountain", untils: "-x1yazk|629ink|a2vw0|8n6s0|29ek0|h6lg0|9px80|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|9l0g40|1tz5k0|2dvo0|tj1g0|7x3w0|ctzk40|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "453.8667|420|360", offsetIndices: "0121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Canada/Newfoundland", untils: "-ris3ck|8bx80|ar440|a2vw0|9tjs0|53980|dkys0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|7tmw0|1wfuk|8zzw0|a3480|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|7k580|b5xg0|7k580|b5xg0|1pb260|2dly0|biw40|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|7k580|ag040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a2lo|afuk0|8a840|asqg0|7xc80|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8tec|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "210.8667|150.8667|210|150|90", offsetIndices: "01010101010101010101010101010101010102323232323232323323232323232323232323232323232323232323232323232323232323232323232323232323232323232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Canada/Pacific", untils: "-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420", offsetIndices: "0101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Canada/Saskatchewan", untils: "-xkq9yc|6l1hmc|a2vw0|60enw0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|1b6840|9cyk0|9d440|8zzw0|9q2s0|9cyk0|9q2s0|9cyk0|9d440|9cyk0|66gc0|1tz5k0|2dvo0|a31g0|9cyk0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|tj1g0|9cyk0|9d440|Infinity", offsets: "418.6|420|360", offsetIndices: "012121212121212121212121221212121212121212121212121212" }, { id: "Canada/Yukon", untils: "-qzoms0|a2vw0|asys0|882c0|bmiwc0|1tz000|2e180|a7n3w0|9q000|tiyo0|6qp440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity", offsets: "540|480|420", offsetIndices: "01010110201212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "CET", untils: "-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|8l9c0|ggp1c0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Chile/Continental", untils: "-vauawq|3dlssq|157b7a|f4e0q|49hzba|aye0q|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|534ik0|351g0|229zw0|2gt80|awo40|2mg00|b73400|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity", offsets: "282.7667|300|240|180", offsetIndices: "010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "Chile/EasterIsland", untils: "-jhfaew|ivmeuw|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|iq2o0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity", offsets: "437.4667|420|360|300", offsetIndices: "012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "CST6CDT", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Cuba", untils: "-n7762o|1icfyo|69uk0|62s040|4ofw0|e1ms0|51ek0|e1ms0|4ofw0|1fhs40|4ofw0|e1ms0|4ofw0|9s9k40|67zw0|cedg0|6h980|9o840|7yyk0|b5xg0|7k580|bvus0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|8a2k0|ag040|8bx80|ae5g0|8drw0|acas0|9cyk0|9d440|9px80|905g0|9px80|9q2s0|7x3w0|8a840|ast80|7x9g0|ast80|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|8a2k0|ag040|8a2k0|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|905g0|a2vw0|905g0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|8n400|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|7x6o0|1cm000|6uao0|bvs00|779c0|bitc0|6uao0|bvs00|779c0|bvs00|779c0|c8qo0|779c0|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|Infinity", offsets: "329.6|300|240", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "EET", untils: "3s9ms0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-120|-180", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Egypt", untils: "-fdls80|40d80|a31g0|7x3w0|a4w40|aqyk0|80ys0|b07w0|7tk40|b07w0|8jhg0|a8fw0|60go40|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|f9x80|3i040|eluk0|462s0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|b5rw0|7m5g0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|aqvs0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7k580|b5xg0|6u7w0|bvus0|6h980|c8tg0|64ak0|cyqs0|5anw0|1jms0|12t80|1w22s0|25p80|1sw40|2vmk0|Infinity", offsets: "-120|-180", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Eire", untils: "-rzcmlr|6uao0|9pytr|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|3g8800|8a5c0|bvs00|8n400|a2yo0|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "25.35|-34.65|0|-60", offsetIndices: "01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "EST", untils: "Infinity", offsets: "300", offsetIndices: "0" }, { id: "EST5EDT", untils: "-r0ev80|ast80|7x9g0|ast80|bmtus0|1tzb40|2dq40|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Etc/GMT-0", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/GMT-1", untils: "Infinity", offsets: "-60", offsetIndices: "0" }, { id: "Etc/GMT-10", untils: "Infinity", offsets: "-600", offsetIndices: "0" }, { id: "Etc/GMT-11", untils: "Infinity", offsets: "-660", offsetIndices: "0" }, { id: "Etc/GMT-12", untils: "Infinity", offsets: "-720", offsetIndices: "0" }, { id: "Etc/GMT-13", untils: "Infinity", offsets: "-780", offsetIndices: "0" }, { id: "Etc/GMT-14", untils: "Infinity", offsets: "-840", offsetIndices: "0" }, { id: "Etc/GMT-2", untils: "Infinity", offsets: "-120", offsetIndices: "0" }, { id: "Etc/GMT-3", untils: "Infinity", offsets: "-180", offsetIndices: "0" }, { id: "Etc/GMT-4", untils: "Infinity", offsets: "-240", offsetIndices: "0" }, { id: "Etc/GMT-5", untils: "Infinity", offsets: "-300", offsetIndices: "0" }, { id: "Etc/GMT-6", untils: "Infinity", offsets: "-360", offsetIndices: "0" }, { id: "Etc/GMT-7", untils: "Infinity", offsets: "-420", offsetIndices: "0" }, { id: "Etc/GMT-8", untils: "Infinity", offsets: "-480", offsetIndices: "0" }, { id: "Etc/GMT-9", untils: "Infinity", offsets: "-540", offsetIndices: "0" }, { id: "Etc/GMT", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/GMT+0", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/GMT+1", untils: "Infinity", offsets: "60", offsetIndices: "0" }, { id: "Etc/GMT+10", untils: "Infinity", offsets: "600", offsetIndices: "0" }, { id: "Etc/GMT+11", untils: "Infinity", offsets: "660", offsetIndices: "0" }, { id: "Etc/GMT+12", untils: "Infinity", offsets: "720", offsetIndices: "0" }, { id: "Etc/GMT+2", untils: "Infinity", offsets: "120", offsetIndices: "0" }, { id: "Etc/GMT+3", untils: "Infinity", offsets: "180", offsetIndices: "0" }, { id: "Etc/GMT+4", untils: "Infinity", offsets: "240", offsetIndices: "0" }, { id: "Etc/GMT+5", untils: "Infinity", offsets: "300", offsetIndices: "0" }, { id: "Etc/GMT+6", untils: "Infinity", offsets: "360", offsetIndices: "0" }, { id: "Etc/GMT+7", untils: "Infinity", offsets: "420", offsetIndices: "0" }, { id: "Etc/GMT+8", untils: "Infinity", offsets: "480", offsetIndices: "0" }, { id: "Etc/GMT+9", untils: "Infinity", offsets: "540", offsetIndices: "0" }, { id: "Etc/GMT0", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/Greenwich", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/UCT", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/Universal", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/UTC", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/Zulu", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Europe/Amsterdam", untils: "-s0dvkk|7v980|a51o0|7x6o0|a2yo0|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9b6o0|a2yo0|c51c0|6l1c0|902o0|9q000|ci000|682o0|bgyo0|79400|bitc0|779c0|bmio0|7gio0|bbeo0|7eo00|bd9c0|7ctc0|bf400|7ayo0|bvs00|6uao0|bko00|7idc0|b9k00|7gio0|bbeo0|7eo00|bf400|7ayo0|btxc0|21uc0|4uaz8|bitc0|779c0|bko00|7idc0|bd3s0|1aarpc|7k800|9q000|9d1c0|9d1c0|9d1c0|8l9c0|ggp1c0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-19.5333|-79.5333|-80|-20|-120|-60", offsetIndices: "010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545" }, { id: "Europe/Andorra", untils: "-c4xmo0|k3ctg0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Astrakhan", untils: "-nu2zkc|37bv8c|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity", offsets: "-192.2|-180|-240|-300", offsetIndices: "012323232323232323212121212121212121212121212121212121212121212" }, { id: "Europe/Athens", untils: "-rvv0cg|8bjasg|2vmk0|4hiw40|16ik0|scog0|7lx40|9o2k0|9eys0|4atzw0|6djw0|bplus0|bq800|71uw0|9d1c0|902o0|91xc0|9o5c0|905g0|9qgo0|9akg0|9iik0|99980|9dcg0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-94.8667|-120|-180|-60", offsetIndices: "012121313121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Belfast", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Belgrade", untils: "-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Berlin", untils: "-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|2o7w0|6bs00|2txg0|7k800|91xc0|9b9g0|1sqk0|2inw0|51k40|a2yo0|8n400|9q000|902o0|fx91c0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120|-180", offsetIndices: "01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Bratislava", untils: "-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|b5uo0|7vc00|2vs40|4bk00|2vmk0|8n400|a2yo0|8n400|9o5c0|91xc0|fe6000|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120|0", offsetIndices: "01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Brussels", untils: "-ss5uo0|rrx80|7vc00|a4yw0|7x6o0|asw00|7x6o0|2wh40|5omo0|b5uo0|6uao0|cyo00|7ayo0|bko00|7rmo0|a2yo0|a2yo0|8n400|902o0|9q000|9d1c0|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|90b00|a2yo0|8n400|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|4deo0|1a36k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8l9c0|clpc0|79400|fwu800|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0121212101010101010101010101010101010101010101010101212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Bucharest", untils: "-k29zi0|fj8m0|6w5c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|kp0dc0|6h980|9q000|905g0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9cvs0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9cyk0|9d440|9cyk0|9q2s0|ast80|7xhs0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-104.4|-120|-180", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Budapest", untils: "-s0e080|7ves0|a4yw0|7x6o0|a31g0|8n180|autg0|bgvw0|b5jeg0|th9k0|7k800|9q000|9d1c0|9d1c0|awd00|9ew00|7q0c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|a4tc0|9q000|1va2g0|6u7w0|bxpg0|6u7w0|cjxg0|64ak0|cluw0|64g40|br3ek0|905g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Busingen", untils: "-eyh6o0|7x6o0|asw00|7x6o0|k2zus0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Chisinau", untils: "-r2p1bo|70f1to|fj8m0|6w5c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|geqo0|ha580|oc8g0|7k800|9q000|9d1c0|7cl00|j3pbw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|25p80|7kdk0|9d1c0|9d1c0|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|ast80|7xf00|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-115|-104.4|-120|-180|-60|-240", offsetIndices: "012323232323232323232424235353535353535353535323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Europe/Copenhagen", untils: "-rzo2w0|75bw0|cbs2w0|1aco80|7k800|9q000|9d1c0|9d1c0|9d1c0|6y000|dbmo0|6bs00|clpc0|51hc0|e1k00|4oio0|giutc0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Dublin", untils: "-rzcmlr|6uao0|9pytr|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|3g8800|8a5c0|bvs00|8n400|a2yo0|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "25.35|-34.65|0|-60", offsetIndices: "01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Europe/Gibraltar", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|d0tp80|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "010101010101010101010101010101010101010101010101012121212121010121010101010101010101012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Guernsey", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Helsinki", untils: "-peghyd|ax3tqd|9gqo0|k31s80|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-99.8167|-120|-180", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Isle_of_Man", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Istanbul", untils: "-ux9xew|2wvx6w|7v980|1tjc40|aunw0|88dg0|9et80|8yas0|a2vw0|tzpg0|79180|awo40|7v980|7p4040|4zjw0|2vs40|f4d80|9vms0|1u5ek0|c5440|69uk0|acas0|8n180|a31g0|8n180|9q2s0|8zzw0|a31g0|8zzw0|a31g0|8n180|5md9g0|o9zw0|a6qs0|75bw0|4iwyw0|7x6o0|7kas0|b5rw0|75hg0|bkl80|77c40|biqk0|7x9g0|a2vw0|8n6s0|4iqc0|2nkw80|38l80|kdes0|8qtc0|8a5c0|9ew00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|902o0|9q000|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7kdk0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7m2o0|b4000|7k800|b5uo0|7x6o0|asw00|7z1c0|ar1c0|7x6o0|bitc0|779c0|8fe80|Infinity", offsets: "-116.9333|-120|-180|-240", offsetIndices: "0121212121212121212121212121212121212121212121223212121212121212121212121212121212121212121212121212121212121212122" }, { id: "Europe/Jersey", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Kaliningrad", untils: "-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|el00|z6o0|9kd80|82tg0|i9avw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-60|-120|-180|-240", offsetIndices: "01010101010101121232323232323232322121212121212121212121212121212121212121212121" }, { id: "Europe/Kiev", untils: "-nu11ng|37a03g|5vd6k0|kzv40|7k800|9q000|1oyg0|jipzs0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|51ek0|neqw0|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9dcg0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-122.0667|-120|-180|-60|-240", offsetIndices: "0121313242424242424242424242121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Kirov", untils: "-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-198.8|-180|-240|-300", offsetIndices: "01232323232323232321212121212121212121212121212121212121212121" }, { id: "Europe/Lisbon", untils: "-u9rhc0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5gyl40|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "36.75|0|-60|-120", offsetIndices: "012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121212121212121212121212121212121212122323232212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Ljubljana", untils: "-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/London", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Luxembourg", untils: "-y89550|68l290|75hg0|ast80|796s0|at1k0|7x6o0|3lh40|4zmo0|b6300|6u2c0|cytk0|7at40|bktk0|7rh40|a31g0|a2vw0|8n9k0|8zx40|9q2s0|9et80|9b9g0|a2vw0|8n6s0|9px80|905g0|a2vw0|905g0|a2vw0|8ncc0|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|42ao0|1aeak0|7k800|9q000|9d1c0|8n400|a2yo0|8l9c0|clpc0|79400|fwu800|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-24.6|-60|-120|0", offsetIndices: "0121212131313131313131313131313131313131313131313131212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Madrid", untils: "-qzlus0|8yas0|9cyk0|9eys0|2d2vw0|8sqs0|ssyk0|8n6s0|9px80|905g0|a2yo0|902o0|a2vw0|8n6s0|40lh80|5k2s0|9cyk0|1frw0|7z1c0|j1c80|8a2k0|13yt80|685g0|brzw0|8n6s0|a2vw0|8n6s0|a2vw0|8n6s0|a2vw0|8n6s0|1clx80|7x9g0|cswik0|905g0|9px80|905g0|8zzw0|9d440|9px80|905g0|9q5k0|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "010101010101010101210121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Malta", untils: "-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9b6o0|8n400|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|9b6o0|9d1c0|ahs00|7m2o0|b45k0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|a4w40|8y580|9q2s0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Mariehamn", untils: "-peghyd|ax3tqd|9gqo0|k31s80|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-99.8167|-120|-180", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Minsk", untils: "-nu113c|379zjc|5r1mk0|pbf40|7k800|9q000|9d1c0|4oac0|j6dmk0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|sg2o0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|Infinity", offsets: "-110|-120|-180|-60|-240", offsetIndices: "01213131242424242424242424221212121212121212121212121212121212121212" }, { id: "Europe/Monaco", untils: "-uozn3l|2qx1nl|5luo0|8y800|a4tc0|7vc00|auqo0|7idc0|b7pc0|6sg00|cyo00|7ayo0|bko00|7rmo0|a2yo0|bvs00|6uao0|902o0|9q000|9d1c0|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51po0|mdbo0|7x3w0|7x9g0|c8w80|7k800|9q000|9d1c0|9nzs0|922w0|8l9c0|fxlx80|9cyk0|9q5k0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-9.35|0|-60|-120", offsetIndices: "01212121212121212121212121212121212121212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Europe/Moscow", untils: "-rx5dmh|ipzua|97hc0|7yyk0|5i840|d9p80|1jwk7|2cvk0|s8o00|1qvw0|8fpc0|1jms0|is040|412as0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d440|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-150.2833|-151.3167|-211.3167|-271.3167|-240|-180|-300|-120", offsetIndices: "012132345464575454545454545454545455754545454545454545454545454545454545454545" }, { id: "Europe/Nicosia", untils: "-p4bq6g|rvhxyg|9cyk0|b42s0|7nuk0|8yas0|8zzw0|9q2s0|9et80|9b9g0|9cyk0|9q2s0|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|at4c0|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-133.4667|-120|-180", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Oslo", untils: "-rzayo0|6qfs0|cgcqo0|15tsc0|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|70q5c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|b5uo0|7k800|7law00|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Paris", untils: "-uozn1x|2qx1lx|5luo0|8y800|a4tc0|7vc00|auqo0|7idc0|b7pc0|6sg00|cyo00|7ayo0|bko00|7rmo0|a2yo0|bvs00|6uao0|902o0|9q000|9d1c0|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51po0|5p8w0|18rcc0|7k800|9q000|9d1c0|7efo0|29k40|922w0|8l9c0|fxlx80|9cyk0|9q5k0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-9.35|0|-60|-120", offsetIndices: "0121212121212121212121212121212121212121212121212123232332323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Europe/Podgorica", untils: "-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Prague", untils: "-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|b5uo0|7vc00|2vs40|4bk00|2vmk0|8n400|a2yo0|8n400|9o5c0|91xc0|fe6000|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120|0", offsetIndices: "01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Riga", untils: "-qznlky|7x6o0|a4tc0|2mg00|3myns0|7fhlky|gz180|p5v40|7k800|9q000|9d1c0|9d1c0|k7s0|j14ns0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d440|asw00|7x6o0|asw00|7x6o0|b5uo0|qaao0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-96.5667|-156.5667|-120|-180|-60|-240", offsetIndices: "010102324242435353535353535353323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Europe/Rome", untils: "-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|clpc0|64dc0|c8qo0|6hc00|clpc0|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|c8qo0|6hc00|9q5k0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Samara", untils: "-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|jt1g0|89zs0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity", offsets: "-200.3333|-180|-240|-300", offsetIndices: "0123232323232323232121232323232323232323232323232323232323212" }, { id: "Europe/San_Marino", untils: "-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|clpc0|64dc0|c8qo0|6hc00|clpc0|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|c8qo0|6hc00|9q5k0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Sarajevo", untils: "-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Saratov", untils: "-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|13m040|Infinity", offsets: "-184.3|-180|-240|-300", offsetIndices: "012323232323232321212121212121212121212121212121212121212121212" }, { id: "Europe/Simferopol", untils: "-nu12ao|37a0qo|5xiyk0|iu340|7k800|9q000|9d1c0|iac0|jajmk0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|eeio0|wrjw0|9cyk0|9d440|9cyk0|9d440|1sqk0|7k580|9d440|9cyk0|9q2s0|at4c0|7x9g0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x3w0|asqg0|Infinity", offsets: "-136|-120|-180|-60|-240", offsetIndices: "012131312424242424242424242121212424242212121212121212121212121212121212142" }, { id: "Europe/Skopje", untils: "-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Sofia", untils: "-e6dzw0|7k800|9q000|9d1c0|9d1c0|9d440|hqq240|9eys0|9o2k0|92040|9o2k0|90880|9pug0|90b00|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|ast80|7xhs0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-120|-60|-180", offsetIndices: "01010102020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020" }, { id: "Europe/Stockholm", untils: "-rzo2w0|75hg0|x5bew0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Tallinn", untils: "-r3exx0|3re10|7x6o0|et6g0|ygov0|a1zgd0|ktx80|l94g0|7k800|9q000|9d1c0|8uac0|j27mk0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asys0|7x6o0|b5uo0|19dc00|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-99|-60|-120|-180|-240", offsetIndices: "012102321212343434343434343433232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Europe/Tirane", untils: "-t85vo8|dt2gw8|18pew0|7k800|m800|g7ot40|7rjw0|autg0|7x3w0|ayis0|7x3w0|b5xg0|7k580|b42s0|7lzw0|b42s0|7lzw0|b42s0|7x3w0|ahus0|7x3w0|b5xg0|7x3w0|a4w40|8jbw0|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-79.3333|-60|-120", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Tiraspol", untils: "-r2p1bo|70f1to|fj8m0|6w5c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|geqo0|ha580|oc8g0|7k800|9q000|9d1c0|7cl00|j3pbw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|25p80|7kdk0|9d1c0|9d1c0|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|ast80|7xf00|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-115|-104.4|-120|-180|-60|-240", offsetIndices: "012323232323232323232424235353535353535353535323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Europe/Ulyanovsk", untils: "-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity", offsets: "-193.6|-180|-240|-300|-120", offsetIndices: "01232323232323232321214121212121212121212121212121212121212121212" }, { id: "Europe/Uzhgorod", untils: "-fizzw0|1cm000|7k800|9q000|9d1c0|al900|cnms0|int140|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|eeio0|e1sc0|iprk0|9cyk0|9d440|9cyk0|9d440|9cyk0|9dcg0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120|-180|-240", offsetIndices: "010101023232323232323232320121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Vaduz", untils: "-eyh6o0|7x6o0|asw00|7x6o0|k2zus0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Vatican", untils: "-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|clpc0|64dc0|c8qo0|6hc00|clpc0|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|c8qo0|6hc00|9q5k0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Vienna", untils: "-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|t6000|8a5c0|a7a800|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|iio0|ivmo0|91xc0|9b6o0|9d1c0|a2yo0|8n400|gfyyg0|8zzw0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Vilnius", untils: "-rns980|1g224o|e75nc|4kqk0|acbs40|gpp40|pits0|7k800|9q000|9d1c0|65zo0|j4vx80|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x9g0|asw00|7x6o0|b5uo0|1s3eo0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-84|-95.6|-60|-120|-180|-240", offsetIndices: "012324323234545454545454545443434343434343434332334343434343434343434343434343434343434343434343434343434343434343434343" }, { id: "Europe/Volgograd", untils: "-q3cw84|5glrw4|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|239c40|Infinity", offsets: "-177.6667|-180|-240|-300", offsetIndices: "012323232323232321212121212121212121212121212121212121212121212" }, { id: "Europe/Warsaw", untils: "-se9yk0|dvyc0|7ves0|a4yw0|7x6o0|asw00|7x6o0|aunw0|7x6o0|1evbs0|9fcwc0|18cao0|7k800|9q000|9d1c0|9gnw0|an980|9kd80|8fs40|922w0|ar1c0|7x6o0|a2yo0|8n400|9q000|902o0|4013w0|64dc0|9d1c0|9d1c0|clpc0|6hc00|9d1c0|9d1c0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|clpc0|64dc0|6j4tc0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-84|-60|-120|-180", offsetIndices: "012121223212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Zagreb", untils: "-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Zaporozhye", untils: "-nu12hc|37a0xc|5u1180|mc0g0|7k800|9q000|12qg0|jjc7s0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9cvs0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9dcg0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-140|-120|-180|-60|-240", offsetIndices: "01213132424242424242424242422121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Zurich", untils: "-eyh6o0|7x6o0|asw00|7x6o0|k2zus0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "GB-Eire", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "GB", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "GMT-0", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "GMT", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "GMT+0", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "GMT0", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Greenwich", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Hongkong", untils: "-y0i0s0|j44dk0|5k000|4d4y0|2195i0|7x3w0|bj320|6uao0|bvs00|7x6o0|9d1c0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|ast80|77c40|biqk0|77c40|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity", offsets: "-456.7|-480|-540|-510", offsetIndices: "0123212121212121212121212121212121212121212121212121212121212121212121" }, { id: "HST", untils: "Infinity", offsets: "600", offsetIndices: "0" }, { id: "Iceland", untils: "-wcwx9c|4rpd9c|ci2s0|69uk0|du840|4xp80|du840|p7bw0|4w040|9bdzw0|9d6w0|64g40|cyl80|64dc0|clpc0|6hc00|bvs00|6uao0|bvs00|6uao0|bvs00|6uao0|c8qo0|6hc00|c8qo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|Infinity", offsets: "88|60|0", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212" }, { id: "Indian/Antananarivo", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Indian/Chagos", untils: "-wvpc2s|1ag64us|Infinity", offsets: "-289.6667|-300|-360", offsetIndices: "012" }, { id: "Indian/Christmas", untils: "Infinity", offsets: "-420", offsetIndices: "0" }, { id: "Indian/Cocos", untils: "Infinity", offsets: "-390", offsetIndices: "0" }, { id: "Indian/Comoro", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Indian/Kerguelen", untils: "-afrs00|Infinity", offsets: "0|-300", offsetIndices: "01" }, { id: "Indian/Mahe", untils: "-x6pjlo|Infinity", offsets: "-221.8|-240", offsetIndices: "01" }, { id: "Indian/Maldives", untils: "-57x6y0|Infinity", offsets: "-294|-300", offsetIndices: "01" }, { id: "Indian/Mauritius", untils: "-wvp9bc|13jnu7c|8bx80|dd0wc0|7x3w0|Infinity", offsets: "-230|-240|-300", offsetIndices: "012121" }, { id: "Indian/Mayotte", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Indian/Reunion", untils: "-uks29s|Infinity", offsets: "-221.8667|-240", offsetIndices: "01" }, { id: "Iran", untils: "-s6m6uw|fnolc0|gm3h4w|777y0|b07w0|3pes0|42c20|9cyk0|9gtg0|9kd80|5ja5g0|7avw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|1av440|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|Infinity", offsets: "-205.7333|-210|-240|-300|-270", offsetIndices: "00123214141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141" }, { id: "Israel", untils: "-r50eig|bp54yg|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|t9s40|56vs0|35700|9b3w0|9gtg0|8jbw0|7tmw0|a6ig0|biyw0|8a5c0|9d1c0|902o0|7x6o0|e1eg0|4ofw0|dzxo0|4q500|doo40|64iw0|auqo0|7i500|8rfms0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|9zc40|9iik0|9kis0|93p80|9mdg0|8qqk0|apf00|7x3w0|biw40|8zx40|9io40|8n180|9kis0|9vh80|8ulg0|9px80|9mdg0|8n180|9tuw0|9tmk0|8wg40|9gnw0|99es0|8qqk0|9zc40|9tmk0|8wg40|9gnw0|99es0|8qqk0|acas0|9gnw0|99es0|93p80|9mdg0|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|Infinity", offsets: "-140.6667|-120|-180|-240", offsetIndices: "012121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Jamaica", untils: "-u85og2|wbl182|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|Infinity", offsets: "307.1667|300|240", offsetIndices: "0121212121212121212121" }, { id: "Japan", untils: "-bb4900|6uao0|afxc0|8a5c0|c8qo0|6hc00|c8qo0|6hc00|Infinity", offsets: "-540|-600", offsetIndices: "010101010" }, { id: "Kwajalein", untils: "-h817w0|27sas0|1hjus0|ddxug0|cgv6k0|Infinity", offsets: "-660|-600|-540|720|-720", offsetIndices: "012034" }, { id: "Libya", untils: "-q3gfrw|gl6ajw|422c0|xado0|4bbo0|wrpg0|4s580|1kdpg0|c05bw0|4mqs0|9et80|9d440|9et80|9eys0|9et80|9mdg0|95jw0|9io40|9cyk0|99es0|9et80|9eys0|9et80|9d440|9et80|b2840|3cf3w0|9kis0|9et80|7vqyw0|75eo0|asw00|Infinity", offsets: "-52.7333|-60|-120", offsetIndices: "012121212121212121212121212122122" }, { id: "MET", untils: "-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|8l9c0|ggp1c0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Mexico/BajaNorte", untils: "-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "468.0667|420|480", offsetIndices: "012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "Mexico/BajaSur", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "425.6667|420|360|480", offsetIndices: "0121212131212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Mexico/General", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|3knek0|776k0|rf440|5t6k0|1evk40|71mk0|30p1g0|8n180|nufxo0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "396.6|420|360|300", offsetIndices: "012121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "MST", untils: "Infinity", offsets: "420", offsetIndices: "0" }, { id: "MST7MDT", untils: "-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Navajo", untils: "-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360", offsetIndices: "01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "NZ-CHAT", untils: "-ciya10|f1tq90|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity", offsets: "-735|-765|-825", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "NZ", untils: "-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity", offsets: "-690|-750|-720|-780", offsetIndices: "01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "Pacific/Apia", untils: "-usiiv4|kcrmt4|vp3la0|9odo0|902o0|4zbk0|4qog0|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity", offsets: "686.9333|690|660|600|-840|-780", offsetIndices: "01232345454545454545454545454545454545454545454545454545454" }, { id: "Pacific/Auckland", untils: "-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity", offsets: "-690|-750|-720|-780", offsetIndices: "01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "Pacific/Bougainville", untils: "-ecsh40|1n05g0|1071c40|Infinity", offsets: "-600|-540|-660", offsetIndices: "0102" }, { id: "Pacific/Chatham", untils: "-ciya10|f1tq90|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity", offsets: "-735|-765|-825", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "Pacific/Chuuk", untils: "-su4zs0|29hes0|bkenw0|29fk40|Infinity", offsets: "-600|-540", offsetIndices: "01010" }, { id: "Pacific/Easter", untils: "-jhfaew|ivmeuw|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|iq2o0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity", offsets: "437.4667|420|360|300", offsetIndices: "012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "Pacific/Efate", untils: "-u964i4|11f4ba4|9cyk0|awo40|7tek0|9q2s0|8zzw0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|64ak0|e1ms0|4ofw0|Infinity", offsets: "-673.2667|-660|-720", offsetIndices: "0121212121212121212121" }, { id: "Pacific/Enderbury", untils: "535io0|7yiqk0|Infinity", offsets: "720|660|-780", offsetIndices: "012" }, { id: "Pacific/Fakaofo", untils: "lx0jw0|Infinity", offsets: "660|-780", offsetIndices: "01" }, { id: "Pacific/Fiji", untils: "-sa2x4w|17bs00w|64dc0|cyo00|5reo0|53a5c0|64dc0|asw00|6uao0|bvs00|4oio0|e1k00|4oio0|eeio0|4bh80|erk40|3ylc0|erhc0|3ylc0|f4g00|3lmo0|f4g00|3lmo0|f4g00|3lmo0|fheo0|38o00|fheo0|3lmo0|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|3lmo0|f4g00|3lmo0|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|3lmo0|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|3lmo0|f4g00|3lmo0|Infinity", offsets: "-715.7333|-720|-780", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121" }, { id: "Pacific/Funafuti", untils: "Infinity", offsets: "-720", offsetIndices: "0" }, { id: "Pacific/Galapagos", untils: "-kcr62o|spdryo|3lsas0|3jp80|Infinity", offsets: "358.4|300|360", offsetIndices: "01212" }, { id: "Pacific/Gambier", untils: "-tvndoc|Infinity", offsets: "539.8|540", offsetIndices: "01" }, { id: "Pacific/Guadalcanal", untils: "-tvowac|Infinity", offsets: "-639.8|-660", offsetIndices: "01" }, { id: "Pacific/Guam", untils: "-en8eg0|1dl9g0|7s1k40|txp80|3frms0|qdrpo|7kgac|3ljw0|c8tg0|6u7w0|bvus0|6u7w0|16uo40|3ljw0|16aas0|4ivxo|cls2c|6h980|c65zw0|Infinity", offsets: "-600|-540|-660", offsetIndices: "01020202020202020200" }, { id: "Pacific/Honolulu", untils: "-j50la0|13l00|4jvb00|1tyvu0|2e5e0|votg0|Infinity", offsets: "630|570|600", offsetIndices: "0101102" }, { id: "Pacific/Johnston", untils: "-j50la0|13l00|4jvb00|1tyvu0|2e5e0|votg0|Infinity", offsets: "630|570|600", offsetIndices: "0101102" }, { id: "Pacific/Kiritimati", untils: "535eyo|7yirhc|Infinity", offsets: "640|600|-840", offsetIndices: "012" }, { id: "Pacific/Kosrae", untils: "-su52k0|29hhk0|9cmd40|27sas0|29fk40|cm2540|f9l3w0|Infinity", offsets: "-660|-540|-600|-720", offsetIndices: "01021030" }, { id: "Pacific/Kwajalein", untils: "-h817w0|27sas0|1hjus0|ddxug0|cgv6k0|Infinity", offsets: "-660|-600|-540|720|-720", offsetIndices: "012034" }, { id: "Pacific/Majuro", untils: "-su52k0|29hhk0|9cmd40|27sas0|1h6w40|deat40|Infinity", offsets: "-660|-540|-600|-720", offsetIndices: "0102103" }, { id: "Pacific/Marquesas", untils: "-tvncu0|Infinity", offsets: "558|570", offsetIndices: "01" }, { id: "Pacific/Midway", untils: "-usij20|Infinity", offsets: "682.8|660", offsetIndices: "01" }, { id: "Pacific/Nauru", untils: "-pjxiws|ba66ys|1kwca0|hfzda0|Infinity", offsets: "-667.6667|-690|-540|-720", offsetIndices: "01213" }, { id: "Pacific/Niue", untils: "-9wyz6o|ehcj4o|Infinity", offsets: "680|690|660", offsetIndices: "012" }, { id: "Pacific/Norfolk", untils: "-9x0ps0|cfj8q0|6hc00|l6nk00|239aq0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-672|-690|-750|-660|-720", offsetIndices: "012134343434343434343434343434343434343434" }, { id: "Pacific/Noumea", untils: "-u9645o|ye0ixo|4dbw0|ecqs0|4f6k0|99p700|4oio0|Infinity", offsets: "-665.8|-660|-720", offsetIndices: "01212121" }, { id: "Pacific/Pago_Pago", untils: "-usij20|Infinity", offsets: "682.8|660", offsetIndices: "01" }, { id: "Pacific/Palau", untils: "Infinity", offsets: "-540", offsetIndices: "0" }, { id: "Pacific/Pitcairn", untils: "es2cy0|Infinity", offsets: "510|480", offsetIndices: "01" }, { id: "Pacific/Pohnpei", untils: "-su52k0|29hhk0|9cmd40|27sas0|29fk40|Infinity", offsets: "-660|-540|-600", offsetIndices: "010210" }, { id: "Pacific/Ponape", untils: "-su52k0|29hhk0|9cmd40|27sas0|29fk40|Infinity", offsets: "-660|-540|-600", offsetIndices: "010210" }, { id: "Pacific/Port_Moresby", untils: "Infinity", offsets: "-600", offsetIndices: "0" }, { id: "Pacific/Rarotonga", untils: "4mj960|5rbw0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|Infinity", offsets: "630|570|600", offsetIndices: "012121212121212121212121212" }, { id: "Pacific/Saipan", untils: "-en8eg0|1dl9g0|7s1k40|txp80|3frms0|qdrpo|7kgac|3ljw0|c8tg0|6u7w0|bvus0|6u7w0|16uo40|3ljw0|16aas0|4ivxo|cls2c|6h980|c65zw0|Infinity", offsets: "-600|-540|-660", offsetIndices: "01020202020202020200" }, { id: "Pacific/Samoa", untils: "-usij20|Infinity", offsets: "682.8|660", offsetIndices: "01" }, { id: "Pacific/Tahiti", untils: "-tvnayw|Infinity", offsets: "598.2667|600", offsetIndices: "01" }, { id: "Pacific/Tarawa", untils: "Infinity", offsets: "-720", offsetIndices: "0" }, { id: "Pacific/Tongatapu", untils: "-f4vrlc|uo2edc|8fpc0|bvs00|4bh80|eelg0|4bh80|7pmis0|3lmo0|Infinity", offsets: "-740|-780|-840", offsetIndices: "0121212121" }, { id: "Pacific/Truk", untils: "-su4zs0|29hes0|bkenw0|29fk40|Infinity", offsets: "-600|-540", offsetIndices: "01010" }, { id: "Pacific/Wake", untils: "Infinity", offsets: "-720", offsetIndices: "0" }, { id: "Pacific/Wallis", untils: "Infinity", offsets: "-720", offsetIndices: "0" }, { id: "Pacific/Yap", untils: "-su4zs0|29hes0|bkenw0|29fk40|Infinity", offsets: "-600|-540", offsetIndices: "01010" }, { id: "Poland", untils: "-se9yk0|dvyc0|7ves0|a4yw0|7x6o0|asw00|7x6o0|aunw0|7x6o0|1evbs0|9fcwc0|18cao0|7k800|9q000|9d1c0|9gnw0|an980|9kd80|8fs40|922w0|ar1c0|7x6o0|a2yo0|8n400|9q000|902o0|4013w0|64dc0|9d1c0|9d1c0|clpc0|6hc00|9d1c0|9d1c0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|clpc0|64dc0|6j4tc0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-84|-60|-120|-180", offsetIndices: "012121223212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Portugal", untils: "-u9rhc0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5gyl40|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "36.75|0|-60|-120", offsetIndices: "012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121212121212121212121212121212121212122323232212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "PRC", untils: "-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity", offsets: "-480|-540", offsetIndices: "01010101010101010101010101010" }, { id: "PST8PDT", untils: "-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "ROC", untils: "-gtzfk0|45slc0|c51c0|75bw0|a31g0|aaak0|9d440|7v980|awo40|7v980|awo40|7v980|awo40|7v980|7tk40|clmk0|7rpg0|b07w0|7rpg0|b07w0|7rpg0|9et80|9eys0|9et80|9d440|9et80|9d440|9et80|9d440|9et80|cjxg0|69uk0|ci2s0|69uk0|6its40|9et80|9d440|9et80|1yf9g0|4qak0|Infinity", offsets: "-480|-540", offsetIndices: "01010101010101010101010101010101010101010" }, { id: "ROK", untils: "-w8966g|1yh18g|hkx5a0|1faao0|5cik0|ae5g0|8a2k0|ae5g0|8bx80|c8tg0|6h980|1bj6s0|l3aq0|6j3w0|d2g40|6u7w0|b5xg0|776k0|biw40|776k0|biw40|776k0|biw40|776k0|grs40|dfqxi0|7x6o0|asw00|7x6o0|Infinity", offsets: "-507.8667|-510|-540|-600|-570", offsetIndices: "012232323232141414141414123232" }, { id: "Singapore", untils: "-xphpwd|eeb94d|4it32o|8n3jc|1v2p60|iy3o60|Infinity", offsets: "-415.4167|-420|-440|-450|-540|-480", offsetIndices: "0123435" }, { id: "Turkey", untils: "-ux9xew|2wvx6w|7v980|1tjc40|aunw0|88dg0|9et80|8yas0|a2vw0|tzpg0|79180|awo40|7v980|7p4040|4zjw0|2vs40|f4d80|9vms0|1u5ek0|c5440|69uk0|acas0|8n180|a31g0|8n180|9q2s0|8zzw0|a31g0|8zzw0|a31g0|8n180|5md9g0|o9zw0|a6qs0|75bw0|4iwyw0|7x6o0|7kas0|b5rw0|75hg0|bkl80|77c40|biqk0|7x9g0|a2vw0|8n6s0|4iqc0|2nkw80|38l80|kdes0|8qtc0|8a5c0|9ew00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|902o0|9q000|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7kdk0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7m2o0|b4000|7k800|b5uo0|7x6o0|asw00|7z1c0|ar1c0|7x6o0|bitc0|779c0|8fe80|Infinity", offsets: "-116.9333|-120|-180|-240", offsetIndices: "0121212121212121212121212121212121212121212121223212121212121212121212121212121212121212121212121212121212121212122" }, { id: "UCT", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Universal", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "US/Alaska", untils: "-ek1qo0|1tyx80|2e400|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "600|540|480", offsetIndices: "011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "US/Aleutian", untils: "-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "660|600|540", offsetIndices: "011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "US/Arizona", untils: "-r0epo0|ast80|7x9g0|ast80|bmtus0|zjedo|4olg0|9et80|bs6lmc|9cyk0|Infinity", offsets: "420|360", offsetIndices: "01010101010" }, { id: "US/Central", untils: "-r0esg0|ast80|7x9g0|ast80|bvus0|776k0|7kas0|b5rw0|9d440|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|7x9g0|dbjw0|8a840|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "US/East-Indiana", untils: "-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "US/Eastern", untils: "-r0ev80|ast80|7x9g0|ast80|7x9g0|b5rw0|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tzb40|2dq40|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240", offsetIndices: "01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "US/Hawaii", untils: "-j50la0|13l00|4jvb00|1tyvu0|2e5e0|votg0|Infinity", offsets: "630|570|600", offsetIndices: "0101102" }, { id: "US/Indiana-Starke", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|9px80|9d440|9cyk0|9d440|s3180|1twas0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|7j5400|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "0101011010101010101010101010101010101010101010101010101010101010101010101010101010101010111010101010101010101010101010101010101010101010101010101010101010" }, { id: "US/Michigan", untils: "-xx8dyd|5eraud|dyeyk0|1tzb40|2dq40|1c9440|7x3w0|9rlbxo|71s2c|9d440|9cyk0|2cmdg0|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "332.1833|360|300|240", offsetIndices: "0123323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "US/Mountain", untils: "-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360", offsetIndices: "01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "US/Pacific-New", untils: "-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|1a3c5o|f2iic|owao0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "US/Pacific", untils: "-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|1a3c5o|f2iic|owao0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "US/Samoa", untils: "-usij20|Infinity", offsets: "682.8|660", offsetIndices: "01" }, { id: "UTC", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "W-SU", untils: "-rx5dmh|ipzua|97hc0|7yyk0|5i840|d9p80|1jwk7|2cvk0|s8o00|1qvw0|8fpc0|1jms0|is040|412as0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d440|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-150.2833|-151.3167|-211.3167|-271.3167|-240|-180|-300|-120", offsetIndices: "012132345464575454545454545454545455754545454545454545454545454545454545454545" }, { id: "WET", untils: "3s9ms0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Zulu", untils: "Infinity", offsets: "0", offsetIndices: "0" }] }; module.exports = exports.default; module.exports.default = exports.default }, 51690: /*!********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/timezones/utils.timezones_data.js ***! \********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _query = _interopRequireDefault(__webpack_require__( /*! ../../../data/query */ 96687)); var _errors = _interopRequireDefault(__webpack_require__( /*! ../../../core/errors */ 17381)); var _timezones_data = _interopRequireDefault(__webpack_require__( /*! ./timezones_data */ 61189)); var _math = __webpack_require__( /*! ../../../core/utils/math */ 60810); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var parseTimezone = function(timeZoneConfig) { var offsets = timeZoneConfig.offsets; var offsetIndices = timeZoneConfig.offsetIndices; var untils = timeZoneConfig.untils; var offsetList = offsets.split("|").map((function(value) { return parseInt(value) })); var offsetIndexList = offsetIndices.split("").map((function(value) { return parseInt(value) })); var dateList = (value = untils, value.split("|").map((function(until) { if ("Infinity" === until) { return null } return 1e3 * parseInt(until, 36) }))).map((accumulator = 0, function(value) { return accumulator += value })); var accumulator; var value; return { offsetList: offsetList, offsetIndexList: offsetIndexList, dateList: dateList } }; var TimeZoneCache = function() { function TimeZoneCache() { this.map = new Map } var _proto = TimeZoneCache.prototype; _proto.tryGet = function(id) { if (!this.map.get(id)) { var config = timeZoneDataUtils.getTimezoneById(id); if (!config) { return false } var timeZoneInfo = parseTimezone(config); this.map.set(id, timeZoneInfo) } return this.map.get(id) }; return TimeZoneCache }(); var tzCache = new TimeZoneCache; var timeZoneDataUtils = { _tzCache: tzCache, _timeZones: _timezones_data.default.zones, getDisplayedTimeZones: function(timestamp) { var _this = this; var timeZones = this._timeZones.map((function(timezone) { var timeZoneInfo = parseTimezone(timezone); var offset = _this.getUtcOffset(timeZoneInfo, timestamp); var title = "(GMT ".concat(_this.formatOffset(offset), ") ").concat(_this.formatId(timezone.id)); return { offset: offset, title: title, id: timezone.id } })); return (0, _query.default)(timeZones).sortBy("offset").toArray() }, formatOffset: function(offset) { var hours = Math.floor(offset); var minutesInDecimal = offset - hours; var signString = (0, _math.sign)(offset) >= 0 ? "+" : "-"; var hoursString = "0".concat(Math.abs(hours)).slice(-2); var minutesString = minutesInDecimal > 0 ? ":".concat(60 * minutesInDecimal) : ":00"; return signString + hoursString + minutesString }, formatId: function(id) { return id.split("/").join(" - ").split("_").join(" ") }, getTimezoneById: function(id) { if (!id) { return } var tzList = this._timeZones; for (var i = 0; i < tzList.length; i++) { var currentId = tzList[i].id; if (currentId === id) { return tzList[i] } } _errors.default.log("W0009", id); return }, getTimeZoneOffsetById: function(id, timestamp) { var timeZoneInfo = tzCache.tryGet(id); return timeZoneInfo ? this.getUtcOffset(timeZoneInfo, timestamp) : void 0 }, getTimeZoneDeclarationTuple: function(id, year) { var timeZoneInfo = tzCache.tryGet(id); return timeZoneInfo ? this.getTimeZoneDeclarationTupleCore(timeZoneInfo, year) : [] }, getTimeZoneDeclarationTupleCore: function(timeZoneInfo, year) { var offsetList = timeZoneInfo.offsetList; var offsetIndexList = timeZoneInfo.offsetIndexList; var dateList = timeZoneInfo.dateList; var tupleResult = []; for (var i = 0; i < dateList.length; i++) { var currentDate = dateList[i]; var currentYear = new Date(currentDate).getFullYear(); if (currentYear === year) { var offset = offsetList[offsetIndexList[i + 1]]; tupleResult.push({ date: currentDate, offset: -offset / 60 }) } if (currentYear > year) { break } } return tupleResult }, getUtcOffset: function(timeZoneInfo, dateTimeStamp) { var offsetList = timeZoneInfo.offsetList; var offsetIndexList = timeZoneInfo.offsetIndexList; var dateList = timeZoneInfo.dateList; var lastIntervalStartIndex = dateList.length - 1 - 1; var index = lastIntervalStartIndex; while (index >= 0 && dateTimeStamp < dateList[index]) { index-- } var offset = offsetList[offsetIndexList[index + 1]]; return -offset / 60 || offset } }; var _default = timeZoneDataUtils; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 39545: /*!*******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/tooltip_strategies/desktopTooltipStrategy.js ***! \*******************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.DesktopTooltipStrategy = void 0; var _tooltipStrategyBase = __webpack_require__( /*! ./tooltipStrategyBase */ 25359); var _tooltip = (obj = __webpack_require__( /*! ../../tooltip */ 94920), obj && obj.__esModule ? obj : { default: obj }); var obj; var _support = __webpack_require__( /*! ../../../core/utils/support */ 60137); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DesktopTooltipStrategy = function(_TooltipStrategyBase) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DesktopTooltipStrategy, _TooltipStrategyBase); function DesktopTooltipStrategy() { return _TooltipStrategyBase.apply(this, arguments) || this } var _proto = DesktopTooltipStrategy.prototype; _proto._prepareBeforeVisibleChanged = function(dataList) { this._tooltip.option("position", { my: "bottom", at: "top", boundary: this._getBoundary(dataList), offset: this._extraOptions.offset, collision: "fit flipfit" }) }; _proto._getBoundary = function(dataList) { return this._options.isAppointmentInAllDayPanel(dataList[0].appointment) ? this._options.container : this._options.getScrollableContainer() }; _proto._onShown = function() { _TooltipStrategyBase.prototype._onShown.call(this); if (this._extraOptions.isButtonClick) { this._list.focus(); this._list.option("focusedElement", null) } }; _proto._createListOption = function(target, dataList) { var result = _TooltipStrategyBase.prototype._createListOption.call(this, target, dataList); result.showScrollbar = _support.touch ? "always" : "onHover"; return result }; _proto._createTooltip = function(target, dataList) { var tooltip = this._createTooltipElement("dx-scheduler-appointment-tooltip-wrapper"); return this._options.createComponent(tooltip, _tooltip.default, { target: target, maxHeight: 200, rtlEnabled: this._extraOptions.rtlEnabled, onShown: this._onShown.bind(this), contentTemplate: this._getContentTemplate(dataList), wrapperAttr: { class: "dx-scheduler-appointment-tooltip-wrapper" } }) }; _proto._onListRender = function(e) { return this._extraOptions.dragBehavior && this._extraOptions.dragBehavior(e) }; return DesktopTooltipStrategy }(_tooltipStrategyBase.TooltipStrategyBase); exports.DesktopTooltipStrategy = DesktopTooltipStrategy }, 82586: /*!******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/tooltip_strategies/mobileTooltipStrategy.js ***! \******************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.MobileTooltipStrategy = void 0; var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _ui = (obj = __webpack_require__( /*! ../../overlay/ui.overlay */ 89799), obj && obj.__esModule ? obj : { default: obj }); var obj; var _tooltipStrategyBase = __webpack_require__( /*! ./tooltipStrategyBase */ 25359); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var MAX_HEIGHT_PHONE = 250, MAX_HEIGHT_TABLET = "90%", MAX_HEIGHT_DEFAULT = "auto"; var MAX_WIDTH_PHONE = "100%", MAX_WIDTH_TABLET = "80%"; var animationConfig = { show: { type: "slide", duration: 300, from: { position: { my: "top", at: "bottom", of: (0, _window.getWindow)() } }, to: { position: { my: "center", at: "center", of: (0, _window.getWindow)() } } }, hide: { type: "slide", duration: 300, to: { position: { my: "top", at: "bottom", of: (0, _window.getWindow)() } }, from: { position: { my: "center", at: "center", of: (0, _window.getWindow)() } } } }; var MobileTooltipStrategy = function(_TooltipStrategyBase) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(MobileTooltipStrategy, _TooltipStrategyBase); function MobileTooltipStrategy() { return _TooltipStrategyBase.apply(this, arguments) || this } var _proto = MobileTooltipStrategy.prototype; _proto._shouldUseTarget = function() { return false }; _proto._onShowing = function() { var isTabletWidth = (0, _size.getWidth)((0, _window.getWindow)()) > 700; this._tooltip.option("height", MAX_HEIGHT_DEFAULT); var listHeight = (0, _size.getOuterHeight)(this._list.$element()); this._tooltip.option(isTabletWidth ? function(listHeight) { var currentMaxHeight = .9 * (0, _size.getHeight)((0, _window.getWindow)()); return { shading: true, width: MAX_WIDTH_TABLET, height: listHeight > currentMaxHeight ? MAX_HEIGHT_TABLET : MAX_HEIGHT_DEFAULT, position: { my: "center", at: "center", of: (0, _window.getWindow)() } } }(listHeight) : function(listHeight) { return { shading: false, width: MAX_WIDTH_PHONE, height: listHeight > MAX_HEIGHT_PHONE ? MAX_HEIGHT_PHONE : MAX_HEIGHT_DEFAULT, position: { my: "bottom", at: "bottom", of: (0, _window.getWindow)() } } }(listHeight)) }; _proto._createTooltip = function(target, dataList) { var _this = this; var element = this._createTooltipElement("dx-scheduler-overlay-panel"); return this._options.createComponent(element, _ui.default, { target: (0, _window.getWindow)(), hideOnOutsideClick: true, animation: animationConfig, onShowing: function() { return _this._onShowing() }, onShown: this._onShown.bind(this), contentTemplate: this._getContentTemplate(dataList), wrapperAttr: { class: "dx-scheduler-overlay-panel" } }) }; return MobileTooltipStrategy }(_tooltipStrategyBase.TooltipStrategyBase); exports.MobileTooltipStrategy = MobileTooltipStrategy }, 25359: /*!****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/tooltip_strategies/tooltipStrategyBase.js ***! \****************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.TooltipStrategyBase = void 0; var _button = _interopRequireDefault(__webpack_require__( /*! ../../button */ 63008)); var _function_template = __webpack_require__( /*! ../../../core/templates/function_template */ 68494); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _uiList = _interopRequireDefault(__webpack_require__( /*! ../../list/ui.list.edit */ 77834)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var TooltipStrategyBase = function() { function TooltipStrategyBase(options) { this._tooltip = null; this._options = options; this._extraOptions = null } var _proto = TooltipStrategyBase.prototype; _proto.show = function(target, dataList, extraOptions) { if (this._canShowTooltip(dataList)) { this.hide(); this._extraOptions = extraOptions; this._showCore(target, dataList) } }; _proto._showCore = function(target, dataList) { if (!this._tooltip) { this._tooltip = this._createTooltip(target, dataList) } else { this._shouldUseTarget() && this._tooltip.option("target", target); this._list.option("dataSource", dataList) } this._prepareBeforeVisibleChanged(dataList); this._tooltip.option("visible", true) }; _proto._prepareBeforeVisibleChanged = function(dataList) {}; _proto._getContentTemplate = function(dataList) { var _this = this; return function(container) { var listElement = (0, _renderer.default)("<div>"); (0, _renderer.default)(container).append(listElement); _this._list = _this._createList(listElement, dataList) } }; _proto.isAlreadyShown = function(target) { if (this._tooltip && this._tooltip.option("visible")) { return this._tooltip.option("target")[0] === target[0] } }; _proto._onShown = function() { this._list.option("focusStateEnabled", this._extraOptions.focusStateEnabled) }; _proto.dispose = function() {}; _proto.hide = function() { if (this._tooltip) { this._tooltip.option("visible", false) } }; _proto._shouldUseTarget = function() { return true }; _proto._createTooltip = function() {}; _proto._canShowTooltip = function(dataList) { if (!dataList.length) { return false } return true }; _proto._createListOption = function(dataList) { var _this2 = this; return { dataSource: dataList, onContentReady: this._onListRender.bind(this), onItemClick: function(e) { return _this2._onListItemClick(e) }, itemTemplate: function(item, index) { return _this2._renderTemplate(item.appointment, item.targetedAppointment, index, item.color) }, _swipeEnabled: false, pageLoadMode: "scrollBottom" } }; _proto._onListRender = function() {}; _proto._createTooltipElement = function(wrapperClass) { return (0, _renderer.default)("<div>").appendTo(this._options.container).addClass(wrapperClass) }; _proto._createList = function(listElement, dataList) { return this._options.createComponent(listElement, _uiList.default, this._createListOption(dataList)) }; _proto._renderTemplate = function(appointment, targetedAppointment, index, color) { var itemListContent = this._createItemListContent(appointment, targetedAppointment, color); this._options.addDefaultTemplates(_defineProperty({}, this._getItemListTemplateName(), new _function_template.FunctionTemplate((function(options) { var $container = (0, _renderer.default)(options.container); $container.append(itemListContent); return $container })))); var template = this._options.getAppointmentTemplate(this._getItemListTemplateName() + "Template"); return this._createFunctionTemplate(template, appointment, targetedAppointment, index) }; _proto._createFunctionTemplate = function(template, appointmentData, targetedAppointmentData, index) { var isButtonClicked = !!this._extraOptions.isButtonClick; var isEmptyDropDownAppointmentTemplate = this._isEmptyDropDownAppointmentTemplate(); return new _function_template.FunctionTemplate((function(options) { return template.render({ model: isEmptyDropDownAppointmentTemplate ? { appointmentData: appointmentData, targetedAppointmentData: targetedAppointmentData, isButtonClicked: isButtonClicked } : appointmentData, container: options.container, index: index }) })) }; _proto._getItemListTemplateName = function() { return this._isEmptyDropDownAppointmentTemplate() ? "appointmentTooltip" : "dropDownAppointment" }; _proto._isEmptyDropDownAppointmentTemplate = function() { return !this._extraOptions.dropDownAppointmentTemplate || "dropDownAppointment" === this._extraOptions.dropDownAppointmentTemplate }; _proto._onListItemClick = function(e) { this.hide(); this._extraOptions.clickEvent && this._extraOptions.clickEvent(e); this._options.showAppointmentPopup(e.itemData.appointment, false, e.itemData.targetedAppointment) }; _proto._createItemListContent = function(appointment, targetedAppointment, color) { var editing = this._extraOptions.editing; var $itemElement = (0, _renderer.default)("<div>").addClass("dx-tooltip-appointment-item"); $itemElement.append(this._createItemListMarker(color)); $itemElement.append(this._createItemListInfo(this._options.createFormattedDateText(appointment, targetedAppointment))); var disabled = this._options.getAppointmentDisabled(appointment); if (!disabled && (editing && true === editing.allowDeleting || true === editing)) { $itemElement.append(this._createDeleteButton(appointment, targetedAppointment)) } return $itemElement }; _proto._createItemListMarker = function(color) { var $marker = (0, _renderer.default)("<div>").addClass("dx-tooltip-appointment-item-marker"); var $markerBody = (0, _renderer.default)("<div>").addClass("dx-tooltip-appointment-item-marker-body"); $marker.append($markerBody); color && color.done((function(value) { return $markerBody.css("background", value) })); return $marker }; _proto._createItemListInfo = function(object) { var result = (0, _renderer.default)("<div>").addClass("dx-tooltip-appointment-item-content"); var $title = (0, _renderer.default)("<div>").addClass("dx-tooltip-appointment-item-content-subject").text(object.text); var $date = (0, _renderer.default)("<div>").addClass("dx-tooltip-appointment-item-content-date").text(object.formatDate); return result.append($title).append($date) }; _proto._createDeleteButton = function(appointment, targetedAppointment) { var _this3 = this; var $container = (0, _renderer.default)("<div>").addClass("dx-tooltip-appointment-item-delete-button-container"); var $deleteButton = (0, _renderer.default)("<div>").addClass("dx-tooltip-appointment-item-delete-button"); $container.append($deleteButton); this._options.createComponent($deleteButton, _button.default, { icon: "trash", stylingMode: "text", onClick: function(e) { _this3.hide(); e.event.stopPropagation(); _this3._options.checkAndDeleteAppointment(appointment, targetedAppointment) } }); return $container }; return TooltipStrategyBase }(); exports.TooltipStrategyBase = TooltipStrategyBase }, 98230: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/ui.scheduler.js ***! \**************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _config = _interopRequireDefault(__webpack_require__( /*! ../../core/config */ 80209)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _bindable_template = __webpack_require__( /*! ../../core/templates/bindable_template */ 93280); var _empty_template = __webpack_require__( /*! ../../core/templates/empty_template */ 10688); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/callbacks */ 44504)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var _position = __webpack_require__( /*! ../../core/utils/position */ 37518); var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date_serialization */ 69434)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _data_helper = _interopRequireDefault(__webpack_require__( /*! ../../data_helper */ 53305)); var _visibility_change = __webpack_require__( /*! ../../events/visibility_change */ 80506); var _date2 = _interopRequireDefault(__webpack_require__( /*! ../../localization/date */ 91500)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _dialog = __webpack_require__( /*! ../dialog */ 15029); var _themes = __webpack_require__( /*! ../themes */ 75811); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _popup = __webpack_require__( /*! ./appointmentPopup/popup */ 39288); var _form = __webpack_require__( /*! ./appointmentPopup/form */ 25062); var _compactAppointmentsHelper = __webpack_require__( /*! ./compactAppointmentsHelper */ 12090); var _desktopTooltipStrategy = __webpack_require__( /*! ./tooltip_strategies/desktopTooltipStrategy */ 39545); var _mobileTooltipStrategy = __webpack_require__( /*! ./tooltip_strategies/mobileTooltipStrategy */ 82586); var _loading = __webpack_require__( /*! ./loading */ 71125); var _appointmentCollection = _interopRequireDefault(__webpack_require__( /*! ./appointments/appointmentCollection */ 47918)); var _appointments = _interopRequireDefault(__webpack_require__( /*! ./appointments.layout_manager */ 99981)); var _header = __webpack_require__( /*! ./header/header */ 85589); var _subscribes = _interopRequireDefault(__webpack_require__( /*! ./subscribes */ 77152)); var _recurrence = __webpack_require__( /*! ./recurrence */ 88609); var _utils = _interopRequireDefault(__webpack_require__( /*! ./utils.timeZone */ 32511)); var _uiScheduler = _interopRequireDefault(__webpack_require__( /*! ./workspaces/ui.scheduler.agenda */ 2809)); var _uiScheduler2 = _interopRequireDefault(__webpack_require__( /*! ./workspaces/ui.scheduler.timeline_day */ 37833)); var _uiScheduler3 = _interopRequireDefault(__webpack_require__( /*! ./workspaces/ui.scheduler.timeline_month */ 32374)); var _uiScheduler4 = _interopRequireDefault(__webpack_require__( /*! ./workspaces/ui.scheduler.timeline_week */ 50007)); var _uiScheduler5 = _interopRequireDefault(__webpack_require__( /*! ./workspaces/ui.scheduler.timeline_work_week */ 6763)); var _uiScheduler6 = _interopRequireDefault(__webpack_require__( /*! ./workspaces/ui.scheduler.work_space_day */ 81096)); var _uiScheduler7 = _interopRequireDefault(__webpack_require__( /*! ./workspaces/ui.scheduler.work_space_month */ 29004)); var _uiScheduler8 = _interopRequireDefault(__webpack_require__( /*! ./workspaces/ui.scheduler.work_space_week */ 4453)); var _uiScheduler9 = _interopRequireDefault(__webpack_require__( /*! ./workspaces/ui.scheduler.work_space_work_week */ 22928)); var _appointmentAdapter = __webpack_require__( /*! ./appointmentAdapter */ 5480); var _dataStructures = __webpack_require__( /*! ./dataStructures */ 6678); var _utils2 = __webpack_require__( /*! ./utils */ 9259); var _utils3 = __webpack_require__( /*! ./resources/utils */ 98140); var _expressionUtils = __webpack_require__( /*! ./expressionUtils */ 86474); var _base = __webpack_require__( /*! ../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _render2 = __webpack_require__( /*! ./appointments/render */ 17275); var _agendaResourceProcessor = __webpack_require__( /*! ./resources/agendaResourceProcessor */ 77640); var _appointmentDataProvider = __webpack_require__( /*! ./appointments/dataProvider/appointmentDataProvider */ 95121); var _getAppointmentTakesAllDay = __webpack_require__( /*! ../../renovation/ui/scheduler/appointment/utils/getAppointmentTakesAllDay */ 96801); var _data2 = __webpack_require__( /*! ../../renovation/ui/scheduler/utils/data */ 46858); var _views = __webpack_require__( /*! ../../renovation/ui/scheduler/model/views */ 47718); var _createTimeZoneCalculator = __webpack_require__( /*! ../../renovation/ui/scheduler/timeZoneCalculator/createTimeZoneCalculator */ 92198); var _excludeFromRecurrence = __webpack_require__( /*! ../../renovation/ui/scheduler/utils/recurrence/excludeFromRecurrence */ 74951); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor) } } function _toPropertyKey(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var WIDGET_SMALL_CLASS = "".concat("dx-scheduler", "-small"); var WIDGET_ADAPTIVE_CLASS = "".concat("dx-scheduler", "-adaptive"); var WIDGET_READONLY_CLASS = "".concat("dx-scheduler", "-readonly"); var VIEWS_CONFIG = { day: { workSpace: _uiScheduler6.default, renderingStrategy: "vertical" }, week: { workSpace: _uiScheduler8.default, renderingStrategy: "vertical" }, workWeek: { workSpace: _uiScheduler9.default, renderingStrategy: "vertical" }, month: { workSpace: _uiScheduler7.default, renderingStrategy: "horizontalMonth" }, timelineDay: { workSpace: _uiScheduler2.default, renderingStrategy: "horizontal" }, timelineWeek: { workSpace: _uiScheduler4.default, renderingStrategy: "horizontal" }, timelineWorkWeek: { workSpace: _uiScheduler5.default, renderingStrategy: "horizontal" }, timelineMonth: { workSpace: _uiScheduler3.default, renderingStrategy: "horizontalMonthLine" }, agenda: { workSpace: _uiScheduler.default, renderingStrategy: "agenda" } }; var StoreEventNames_ADDING = "onAppointmentAdding", StoreEventNames_ADDED = "onAppointmentAdded", StoreEventNames_DELETING = "onAppointmentDeleting", StoreEventNames_DELETED = "onAppointmentDeleted", StoreEventNames_UPDATING = "onAppointmentUpdating", StoreEventNames_UPDATED = "onAppointmentUpdated"; var RECURRENCE_EDITING_MODE_SERIES = "editSeries", RECURRENCE_EDITING_MODE_OCCURENCE = "editOccurence", RECURRENCE_EDITING_MODE_CANCEL = "cancel"; var Scheduler = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Scheduler, _Widget); function Scheduler() { return _Widget.apply(this, arguments) || this } var _proto = Scheduler.prototype; _proto._getDefaultOptions = function() { var defaultOptions = (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { views: ["day", "week"], currentView: "day", currentDate: _date.default.trimTime(new Date), min: void 0, max: void 0, dateSerializationFormat: void 0, firstDayOfWeek: void 0, groups: [], resources: [], loadedResources: [], resourceLoaderMap: new Map, dataSource: null, customizeDateNavigatorText: void 0, appointmentTemplate: "item", dropDownAppointmentTemplate: "dropDownAppointment", appointmentCollectorTemplate: "appointmentCollector", dataCellTemplate: null, timeCellTemplate: null, resourceCellTemplate: null, dateCellTemplate: null, startDayHour: 0, endDayHour: 24, editing: { allowAdding: true, allowDeleting: true, allowDragging: true, allowResizing: true, allowUpdating: true, allowTimeZoneEditing: false }, showAllDayPanel: true, showCurrentTimeIndicator: true, shadeUntilCurrentTime: false, indicatorUpdateInterval: 3e5, indicatorTime: void 0, recurrenceEditMode: "dialog", cellDuration: 30, maxAppointmentsPerCell: "auto", selectedCellData: [], groupByDate: false, onAppointmentRendered: null, onAppointmentClick: null, onAppointmentDblClick: null, onAppointmentContextMenu: null, onCellClick: null, onCellContextMenu: null, onAppointmentAdding: null, onAppointmentAdded: null, onAppointmentUpdating: null, onAppointmentUpdated: null, onAppointmentDeleting: null, onAppointmentDeleted: null, onAppointmentFormOpening: null, onAppointmentTooltipShowing: null, appointmentTooltipTemplate: "appointmentTooltip", appointmentPopupTemplate: "appointmentPopup", crossScrollingEnabled: false, useDropDownViewSwitcher: false, startDateExpr: "startDate", endDateExpr: "endDate", textExpr: "text", descriptionExpr: "description", allDayExpr: "allDay", recurrenceRuleExpr: "recurrenceRule", recurrenceExceptionExpr: "recurrenceException", disabledExpr: "disabled", remoteFiltering: false, timeZone: "", startDateTimeZoneExpr: "startDateTimeZone", endDateTimeZoneExpr: "endDateTimeZone", noDataText: _message.default.format("dxCollectionWidget-noDataText"), adaptivityEnabled: false, allowMultipleCellSelection: true, scrolling: { mode: "standard" }, allDayPanelMode: "all", renovateRender: true, _draggingMode: "outlook", _appointmentTooltipOffset: { x: 0, y: 0 }, _appointmentTooltipButtonsPosition: "bottom", _appointmentTooltipOpenButtonText: _message.default.format("dxScheduler-openAppointment"), _appointmentCountPerCell: 2, _collectorOffset: 0, _appointmentOffset: 26, toolbar: [{ location: "before", defaultElement: "dateNavigator" }, { location: "after", defaultElement: "viewSwitcher" }] }); return (0, _extend.extend)(true, defaultOptions, { integrationOptions: { useDeferUpdateForTemplates: false } }) }; _proto._setDeprecatedOptions = function() { _Widget.prototype._setDeprecatedOptions.call(this); (0, _extend.extend)(this._deprecatedOptions, { dropDownAppointmentTemplate: { since: "19.2", message: "appointmentTooltipTemplate" } }) }; _proto._defaultOptionsRules = function() { return _Widget.prototype._defaultOptionsRules.call(this).concat([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }, { device: function() { return !_devices.default.current().generic }, options: { useDropDownViewSwitcher: true, editing: { allowDragging: false, allowResizing: false } } }, { device: function() { return (0, _themes.isMaterial)() }, options: { useDropDownViewSwitcher: true, dateCellTemplate: function(data, index, element) { var text = data.text; text.split(" ").forEach((function(text, index) { var span = (0, _renderer.default)("<span>").text(text).addClass("dx-scheduler-header-panel-cell-date"); (0, _renderer.default)(element).append(span); if (!index) { (0, _renderer.default)(element).append(" ") } })) }, _appointmentTooltipOffset: { x: 0, y: 11 }, _appointmentTooltipButtonsPosition: "top", _appointmentTooltipOpenButtonText: null, _appointmentCountPerCell: 1, _collectorOffset: 20, _appointmentOffset: 30 } }]) }; _proto._postponeDataSourceLoading = function(promise) { this.postponedOperations.add("_reloadDataSource", this._reloadDataSource.bind(this), promise) }; _proto._postponeResourceLoading = function() { var _this = this; var whenLoaded = this.postponedOperations.add("loadResources", (function() { var groups = _this._getCurrentViewOption("groups"); return (0, _utils3.loadResources)(groups, _this.option("resources"), _this.option("resourceLoaderMap")) })); var resolveCallbacks = new _deferred.Deferred; whenLoaded.done((function(resources) { _this.option("loadedResources", resources); resolveCallbacks.resolve(resources) })); this._postponeDataSourceLoading(whenLoaded); return resolveCallbacks.promise() }; _proto._optionChanged = function(args) { var _this$_header, _this$_header2, _this$_header4, _this2 = this; var value = args.value; var name = args.name; switch (args.name) { case "customizeDateNavigatorText": this._updateOption("header", name, value); break; case "firstDayOfWeek": this._updateOption("workSpace", name, value); this._updateOption("header", name, value); break; case "currentDate": value = this._dateOption(name); value = _date.default.trimTime(new Date(value)); this.option("selectedCellData", []); this._workSpace.option(name, new Date(value)); null === (_this$_header = this._header) || void 0 === _this$_header ? void 0 : _this$_header.option(name, new Date(value)); null === (_this$_header2 = this._header) || void 0 === _this$_header2 ? void 0 : _this$_header2.option("startViewDate", this.getStartViewDate()); this._appointments.option("items", []); this._filterAppointmentsByDate(); this._postponeDataSourceLoading(); break; case "dataSource": this._initDataSource(); this.appointmentDataProvider.setDataSource(this._dataSource); this._postponeResourceLoading().done((function(resources) { _this2._filterAppointmentsByDate(); _this2._updateOption("workSpace", "showAllDayPanel", _this2.option("showAllDayPanel")) })); break; case "min": case "max": value = this._dateOption(name); this._updateOption("header", name, new Date(value)); this._updateOption("workSpace", name, new Date(value)); break; case "views": if (this._getCurrentViewOptions()) { this.repaint() } else { var _this$_header3; null === (_this$_header3 = this._header) || void 0 === _this$_header3 ? void 0 : _this$_header3.option(name, value) } break; case "useDropDownViewSwitcher": null === (_this$_header4 = this._header) || void 0 === _this$_header4 ? void 0 : _this$_header4.option(name, value); break; case "currentView": this._validateDayHours(); this._validateCellDuration(); this._appointments.option({ items: [], allowDrag: this._allowDragging(), allowResize: this._allowResizing(), itemTemplate: this._getAppointmentTemplate("appointmentTemplate") }); this._postponeResourceLoading().done((function(resources) { var _this2$_header; _this2._refreshWorkSpace(resources); null === (_this2$_header = _this2._header) || void 0 === _this2$_header ? void 0 : _this2$_header.option(_this2._headerConfig()); _this2._filterAppointmentsByDate(); _this2._appointments.option("allowAllDayResize", "day" !== value) })); this.postponedOperations.callPostponedOperations(); break; case "appointmentTemplate": this._appointments.option("itemTemplate", value); break; case "dateCellTemplate": case "resourceCellTemplate": case "dataCellTemplate": case "timeCellTemplate": this.repaint(); break; case "groups": this._postponeResourceLoading().done((function(resources) { _this2._refreshWorkSpace(resources); _this2._filterAppointmentsByDate() })); break; case "resources": this._dataAccessors.resources = (0, _utils3.createExpressions)(this.option("resources")); this.agendaResourceProcessor.initializeState(this.option("resources")); this.updateInstances(); this._postponeResourceLoading().done((function(resources) { _this2._appointments.option("items", []); _this2._refreshWorkSpace(resources); _this2._filterAppointmentsByDate(); _this2._createAppointmentPopupForm() })); break; case "startDayHour": case "endDayHour": this._validateDayHours(); this.updateInstances(); this._appointments.option("items", []); this._updateOption("workSpace", name, value); this._appointments.repaint(); this._filterAppointmentsByDate(); this._postponeDataSourceLoading(); break; case StoreEventNames_ADDING: case StoreEventNames_ADDED: case StoreEventNames_UPDATING: case StoreEventNames_UPDATED: case StoreEventNames_DELETING: case StoreEventNames_DELETED: case "onAppointmentFormOpening": case "onAppointmentTooltipShowing": this._actions[name] = this._createActionByOption(name); break; case "onAppointmentRendered": this._appointments.option("onItemRendered", this._getAppointmentRenderedAction()); break; case "onAppointmentClick": this._appointments.option("onItemClick", this._createActionByOption(name)); break; case "onAppointmentDblClick": this._appointments.option(name, this._createActionByOption(name)); break; case "onAppointmentContextMenu": this._appointments.option("onItemContextMenu", this._createActionByOption(name)); break; case "noDataText": case "allowMultipleCellSelection": case "selectedCellData": case "accessKey": case "onCellClick": case "onCellContextMenu": this._workSpace.option(name, value); break; case "crossScrollingEnabled": this._postponeResourceLoading().done((function(resources) { _this2._appointments.option("items", []); _this2._refreshWorkSpace(resources); if (_this2._readyToRenderAppointments) { _this2._appointments.option("items", _this2._getAppointmentsToRepaint()) } })); break; case "cellDuration": this._validateCellDuration(); this._updateOption("workSpace", name, value); this._appointments.option("items", []); if (this._readyToRenderAppointments) { this._updateOption("workSpace", "hoursInterval", value / 60); this._appointments.option("items", this._getAppointmentsToRepaint()) } break; case "tabIndex": case "focusStateEnabled": this._updateOption("header", name, value); this._updateOption("workSpace", name, value); this._appointments.option(name, value); _Widget.prototype._optionChanged.call(this, args); break; case "width": this._updateOption("header", name, value); if (this.option("crossScrollingEnabled")) { this._updateOption("workSpace", "width", value) } this._updateOption("workSpace", "schedulerWidth", value); _Widget.prototype._optionChanged.call(this, args); this._dimensionChanged(null, true); break; case "height": _Widget.prototype._optionChanged.call(this, args); this._dimensionChanged(null, true); this._updateOption("workSpace", "schedulerHeight", value); break; case "editing": this._initEditing(); var editing = this._editing; this._bringEditingModeToAppointments(editing); this.hideAppointmentTooltip(); this._cleanPopup(); break; case "showAllDayPanel": this.updateInstances(); this.repaint(); break; case "showCurrentTimeIndicator": case "indicatorTime": case "indicatorUpdateInterval": case "shadeUntilCurrentTime": case "groupByDate": this._updateOption("workSpace", name, value); this.repaint(); break; case "appointmentDragging": case "appointmentTooltipTemplate": case "appointmentPopupTemplate": case "recurrenceEditMode": case "remoteFiltering": case "timeZone": this.updateInstances(); this.repaint(); break; case "dropDownAppointmentTemplate": case "appointmentCollectorTemplate": case "_appointmentTooltipOffset": case "_appointmentTooltipButtonsPosition": case "_appointmentTooltipOpenButtonText": case "_appointmentCountPerCell": case "_collectorOffset": case "_appointmentOffset": this.repaint(); break; case "dateSerializationFormat": case "maxAppointmentsPerCell": break; case "startDateExpr": case "endDateExpr": case "startDateTimeZoneExpr": case "endDateTimeZoneExpr": case "textExpr": case "descriptionExpr": case "allDayExpr": case "recurrenceRuleExpr": case "recurrenceExceptionExpr": case "disabledExpr": this._updateExpression(name, value); this.appointmentDataProvider.updateDataAccessors(this._dataAccessors); this._initAppointmentTemplate(); this.repaint(); break; case "adaptivityEnabled": this._toggleAdaptiveClass(); this.repaint(); break; case "scrolling": this.option("crossScrollingEnabled", this._isHorizontalVirtualScrolling() || this.option("crossScrollingEnabled")); this._updateOption("workSpace", args.fullName, value); break; case "allDayPanelMode": this._updateOption("workSpace", args.fullName, value); break; case "renovateRender": this._updateOption("workSpace", name, value); break; case "_draggingMode": this._workSpace.option("draggingMode", value); break; case "toolbar": this._header ? this._header.option("items", value) : this.repaint(); break; case "loadedResources": case "resourceLoaderMap": break; default: _Widget.prototype._optionChanged.call(this, args) } }; _proto._dateOption = function(optionName) { var optionValue = this._getCurrentViewOption(optionName); return _date_serialization.default.deserializeDate(optionValue) }; _proto._getSerializationFormat = function(optionName) { var value = this._getCurrentViewOption(optionName); if ("number" === typeof value) { return "number" } if (!(0, _type.isString)(value)) { return } return _date_serialization.default.getDateSerializationFormat(value) }; _proto._bringEditingModeToAppointments = function(editing) { var editingConfig = { allowDelete: editing.allowUpdating && editing.allowDeleting }; if (!this._isAgenda()) { editingConfig.allowDrag = editing.allowDragging; editingConfig.allowResize = editing.allowResizing; editingConfig.allowAllDayResize = editing.allowResizing && this._supportAllDayResizing() } this._appointments.option(editingConfig); this.repaint() }; _proto._isAgenda = function() { return "agenda" === this.getLayoutManager().appointmentRenderingStrategyName }; _proto._allowDragging = function() { return this._editing.allowDragging && !this._isAgenda() }; _proto._allowResizing = function() { return this._editing.allowResizing && !this._isAgenda() }; _proto._allowAllDayResizing = function() { return this._editing.allowResizing && this._supportAllDayResizing() }; _proto._supportAllDayResizing = function() { return "day" !== this.currentViewType || this.currentView.intervalCount > 1 }; _proto._isAllDayExpanded = function() { return this.option("showAllDayPanel") && this.appointmentDataProvider.hasAllDayAppointments(this.filteredItems, this.preparedItems) }; _proto._getTimezoneOffsetByOption = function(date) { return _utils.default.calculateTimezoneByValue(this.option("timeZone"), date) }; _proto._filterAppointmentsByDate = function() { var dateRange = this._workSpace.getDateRange(); var startDate = this.timeZoneCalculator.createDate(dateRange[0], { path: "fromGrid" }); var endDate = this.timeZoneCalculator.createDate(dateRange[1], { path: "fromGrid" }); this.appointmentDataProvider.filterByDate(startDate, endDate, this.option("remoteFiltering"), this.option("dateSerializationFormat")) }; _proto._reloadDataSource = function() { var result = new _deferred.Deferred; if (this._dataSource) { this._dataSource.load().done(function() { (0, _loading.hide)(); this._fireContentReadyAction(result) }.bind(this)).fail((function() { (0, _loading.hide)(); result.reject() })); this._dataSource.isLoading() && (0, _loading.show)({ container: this.$element(), position: { of: this.$element() } }) } else { this._fireContentReadyAction(result) } return result.promise() }; _proto._fireContentReadyAction = function(result) { var contentReadyBase = _Widget.prototype._fireContentReadyAction.bind(this); var fireContentReady = function() { contentReadyBase(); null === result || void 0 === result ? void 0 : result.resolve() }; if (this._workSpaceRecalculation) { var _this$_workSpaceRecal; null === (_this$_workSpaceRecal = this._workSpaceRecalculation) || void 0 === _this$_workSpaceRecal ? void 0 : _this$_workSpaceRecal.done((function() { fireContentReady() })) } else { fireContentReady() } }; _proto._dimensionChanged = function(value) { var isForce = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false; var isFixedHeight = "number" === typeof this.option("height"); var isFixedWidth = "number" === typeof this.option("width"); if (!this._isVisible()) { return } this._toggleSmallClass(); var workspace = this.getWorkSpace(); if (!this._isAgenda() && this.filteredItems && workspace) { if (isForce || !isFixedHeight || !isFixedWidth) { workspace.option("allDayExpanded", this._isAllDayExpanded()); workspace._dimensionChanged(); var appointments = this.getLayoutManager().createAppointmentsMap(this.filteredItems); this._appointments.option("items", appointments) } } this.hideAppointmentTooltip(); this._appointmentPopup.triggerResize(); this._appointmentPopup.updatePopupFullScreenMode() }; _proto._clean = function() { this._cleanPopup(); _Widget.prototype._clean.call(this) }; _proto._toggleSmallClass = function() { var width = (0, _position.getBoundingRect)(this.$element().get(0)).width; this.$element().toggleClass(WIDGET_SMALL_CLASS, width < 400) }; _proto._toggleAdaptiveClass = function() { this.$element().toggleClass(WIDGET_ADAPTIVE_CLASS, this.option("adaptivityEnabled")) }; _proto._visibilityChanged = function(visible) { visible && this._dimensionChanged(null, true) }; _proto._dataSourceOptions = function() { return { paginate: false } }; _proto._initAllDayPanel = function() { if ("hidden" === this.option("allDayPanelMode")) { this.option("showAllDayPanel", false) } }; _proto._init = function() { this._initExpressions({ startDate: this.option("startDateExpr"), endDate: this.option("endDateExpr"), startDateTimeZone: this.option("startDateTimeZoneExpr"), endDateTimeZone: this.option("endDateTimeZoneExpr"), allDay: this.option("allDayExpr"), text: this.option("textExpr"), description: this.option("descriptionExpr"), recurrenceRule: this.option("recurrenceRuleExpr"), recurrenceException: this.option("recurrenceExceptionExpr"), disabled: this.option("disabledExpr") }); _Widget.prototype._init.call(this); this._initAllDayPanel(); this._initDataSource(); this._customizeDataSourceLoadOptions(); this.$element().addClass("dx-scheduler"); this._initEditing(); this.updateInstances(); this._initActions(); this._compactAppointmentsHelper = new _compactAppointmentsHelper.CompactAppointmentsHelper(this); this._asyncTemplatesTimers = []; this._dataSourceLoadedCallback = (0, _callbacks.default)(); this._subscribes = _subscribes.default; this.agendaResourceProcessor = new _agendaResourceProcessor.AgendaResourceProcessor(this.option("resources")) }; _proto.createAppointmentDataProvider = function() { var _this$appointmentData, _this3 = this; null === (_this$appointmentData = this.appointmentDataProvider) || void 0 === _this$appointmentData ? void 0 : _this$appointmentData.destroy(); this.appointmentDataProvider = new _appointmentDataProvider.AppointmentDataProvider({ dataSource: this._dataSource, dataAccessors: this._dataAccessors, timeZoneCalculator: this.timeZoneCalculator, dateSerializationFormat: this.option("dateSerializationFormat"), resources: this.option("resources"), startDayHour: this._getCurrentViewOption("startDayHour"), endDayHour: this._getCurrentViewOption("endDayHour"), appointmentDuration: this._getCurrentViewOption("cellDuration"), allDayPanelMode: this._getCurrentViewOption("allDayPanelMode"), showAllDayPanel: this.option("showAllDayPanel"), getLoadedResources: function() { return _this3.option("loadedResources") }, getIsVirtualScrolling: function() { return _this3.isVirtualScrolling() }, getSupportAllDayRow: function() { return _this3._workSpace.supportAllDayRow() }, getViewType: function() { return _this3._workSpace.type }, getViewDirection: function() { return _this3._workSpace.viewDirection }, getDateRange: function() { return _this3._workSpace.getDateRange() }, getGroupCount: function() { return _this3._workSpace._getGroupCount() }, getViewDataProvider: function() { return _this3._workSpace.viewDataProvider } }) }; _proto.updateInstances = function() { this._timeZoneCalculator = null; if (this.getWorkSpace()) { this.createAppointmentDataProvider() } }; _proto._customizeDataSourceLoadOptions = function() { var _this$_dataSource, _this4 = this; null === (_this$_dataSource = this._dataSource) || void 0 === _this$_dataSource ? void 0 : _this$_dataSource.on("customizeStoreLoadOptions", (function(_ref) { var storeLoadOptions = _ref.storeLoadOptions; storeLoadOptions.startDate = _this4.getStartViewDate(); storeLoadOptions.endDate = _this4.getEndViewDate() })) }; _proto._initTemplates = function() { this._initAppointmentTemplate(); this._templateManager.addDefaultTemplates({ appointmentTooltip: new _empty_template.EmptyTemplate, dropDownAppointment: new _empty_template.EmptyTemplate }); _Widget.prototype._initTemplates.call(this) }; _proto._initAppointmentTemplate = function() { var _this5 = this; var expr = this._dataAccessors.expr; var createGetter = function(property) { return (0, _data.compileGetter)("appointmentData.".concat(property)) }; var getDate = function(getter) { return function(data) { var value = getter(data); if (value instanceof Date) { return value.valueOf() } return value } }; this._templateManager.addDefaultTemplates(function(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj }({}, "item", new _bindable_template.BindableTemplate((function($container, data, model) { return _this5.getAppointmentsInstance()._renderAppointmentTemplate($container, data, model) }), ["html", "text", "startDate", "endDate", "allDay", "description", "recurrenceRule", "recurrenceException", "startDateTimeZone", "endDateTimeZone"], this.option("integrationOptions.watchMethod"), { text: createGetter(expr.textExpr), startDate: getDate(createGetter(expr.startDateExpr)), endDate: getDate(createGetter(expr.endDateExpr)), startDateTimeZone: createGetter(expr.startDateTimeZoneExpr), endDateTimeZone: createGetter(expr.endDateTimeZoneExpr), allDay: createGetter(expr.allDayExpr), recurrenceRule: createGetter(expr.recurrenceRuleExpr) }))) }; _proto._renderContent = function() { this._renderContentImpl() }; _proto._updatePreparedItems = function(items) { this.preparedItems = (0, _data2.getPreparedDataItems)(items, this._dataAccessors, this._getCurrentViewOption("cellDuration"), this.timeZoneCalculator) }; _proto._dataSourceChangedHandler = function(result) { if (this._readyToRenderAppointments) { this._workSpaceRecalculation.done(function() { this._updatePreparedItems(result); this._renderAppointments(); this.getWorkSpace().onDataSourceChanged(this.filteredItems) }.bind(this)) } }; _proto.isVirtualScrolling = function() { var _currentViewOptions$s; var workspace = this.getWorkSpace(); if (workspace) { return workspace.isVirtualScrolling() } var currentViewOptions = this._getCurrentViewOptions(); var scrolling = this.option("scrolling"); return "virtual" === (null === scrolling || void 0 === scrolling ? void 0 : scrolling.mode) || "virtual" === (null === currentViewOptions || void 0 === currentViewOptions ? void 0 : null === (_currentViewOptions$s = currentViewOptions.scrolling) || void 0 === _currentViewOptions$s ? void 0 : _currentViewOptions$s.mode) }; _proto._filterAppointments = function() { this.filteredItems = this.appointmentDataProvider.filter(this.preparedItems) }; _proto._renderAppointments = function() { var workspace = this.getWorkSpace(); this._filterAppointments(); workspace.option("allDayExpanded", this._isAllDayExpanded()); var viewModel = []; if (this._isVisible()) { viewModel = this._getAppointmentsToRepaint() } if (this.option("isRenovatedAppointments")) { (0, _render2.renderAppointments)({ instance: this, $dateTable: this.getWorkSpace()._getDateTable(), viewModel: viewModel }) } else { this._appointments.option("items", viewModel) } this.appointmentDataProvider.cleanState() }; _proto._getAppointmentsToRepaint = function() { var layoutManager = this.getLayoutManager(); var appointmentsMap = layoutManager.createAppointmentsMap(this.filteredItems); if (this.option("isRenovatedAppointments")) { var appointmentTemplate = "item" !== this.option("appointmentTemplate") ? this.option("appointmentTemplate") : void 0; return { appointments: appointmentsMap, appointmentTemplate: appointmentTemplate } } return layoutManager.getRepaintedAppointments(appointmentsMap, this.getAppointmentsInstance().option("items")) }; _proto._initExpressions = function(fields) { this._dataAccessors = _utils2.utils.dataAccessors.create(fields, this._dataAccessors, (0, _config.default)().forceIsoDateParsing, this.option("dateSerializationFormat")); this._dataAccessors.resources = (0, _utils3.createExpressions)(this.option("resources")) }; _proto._updateExpression = function(name, value) { var exprObj = {}; exprObj[name.replace("Expr", "")] = value; this._initExpressions(exprObj) }; _proto.getResourceDataAccessors = function() { return this._dataAccessors.resources }; _proto._initEditing = function() { var editing = this.option("editing"); this._editing = { allowAdding: !!editing, allowUpdating: !!editing, allowDeleting: !!editing, allowResizing: !!editing, allowDragging: !!editing }; if ((0, _type.isObject)(editing)) { this._editing = (0, _extend.extend)(this._editing, editing) } this._editing.allowDragging = this._editing.allowDragging && this._editing.allowUpdating; this._editing.allowResizing = this._editing.allowResizing && this._editing.allowUpdating; this.$element().toggleClass(WIDGET_READONLY_CLASS, this._isReadOnly()) }; _proto._isReadOnly = function() { var result = true; var editing = this._editing; for (var prop in editing) { if (Object.prototype.hasOwnProperty.call(editing, prop)) { result = result && !editing[prop] } } return result }; _proto._dispose = function() { var _this$_recurrenceDial; this._appointmentTooltip && this._appointmentTooltip.dispose(); null === (_this$_recurrenceDial = this._recurrenceDialog) || void 0 === _this$_recurrenceDial ? void 0 : _this$_recurrenceDial.hide(RECURRENCE_EDITING_MODE_CANCEL); this.hideAppointmentPopup(); this.hideAppointmentTooltip(); this._asyncTemplatesTimers.forEach(clearTimeout); this._asyncTemplatesTimers = []; _Widget.prototype._dispose.call(this) }; _proto._initActions = function() { this._actions = { onAppointmentAdding: this._createActionByOption(StoreEventNames_ADDING), onAppointmentAdded: this._createActionByOption(StoreEventNames_ADDED), onAppointmentUpdating: this._createActionByOption(StoreEventNames_UPDATING), onAppointmentUpdated: this._createActionByOption(StoreEventNames_UPDATED), onAppointmentDeleting: this._createActionByOption(StoreEventNames_DELETING), onAppointmentDeleted: this._createActionByOption(StoreEventNames_DELETED), onAppointmentFormOpening: this._createActionByOption("onAppointmentFormOpening"), onAppointmentTooltipShowing: this._createActionByOption("onAppointmentTooltipShowing") } }; _proto._getAppointmentRenderedAction = function() { return this._createActionByOption("onAppointmentRendered", { excludeValidators: ["disabled", "readOnly"] }) }; _proto._renderFocusTarget = function() { return (0, _common.noop)() }; _proto._initMarkup = function() { var _this6 = this; _Widget.prototype._initMarkup.call(this); this._validateDayHours(); this._validateCellDuration(); this._renderMainContainer(); this._renderHeader(); this._layoutManager = new _appointments.default(this); this._appointments = this._createComponent("<div>", _appointmentCollection.default, this._appointmentsConfig()); this._appointments.option("itemTemplate", this._getAppointmentTemplate("appointmentTemplate")); this._appointmentTooltip = new(this.option("adaptivityEnabled") ? _mobileTooltipStrategy.MobileTooltipStrategy : _desktopTooltipStrategy.DesktopTooltipStrategy)(this._getAppointmentTooltipOptions()); this._createAppointmentPopupForm(); if (this._isDataSourceLoaded() || this._isDataSourceLoading()) { this._initMarkupCore(this.option("loadedResources")); this._dataSourceChangedHandler(this._dataSource.items()); this._fireContentReadyAction() } else { var groups = this._getCurrentViewOption("groups"); (0, _utils3.loadResources)(groups, this.option("resources"), this.option("resourceLoaderMap")).done((function(resources) { _this6.option("loadedResources", resources); _this6._initMarkupCore(resources); _this6._reloadDataSource() })) } }; _proto._createAppointmentPopupForm = function() { var _this$_appointmentPop; if (this._appointmentForm) { var _this$_appointmentFor; null === (_this$_appointmentFor = this._appointmentForm.form) || void 0 === _this$_appointmentFor ? void 0 : _this$_appointmentFor.dispose() } this._appointmentForm = this.createAppointmentForm(); null === (_this$_appointmentPop = this._appointmentPopup) || void 0 === _this$_appointmentPop ? void 0 : _this$_appointmentPop.dispose(); this._appointmentPopup = this.createAppointmentPopup(this._appointmentForm) }; _proto._renderMainContainer = function() { this._mainContainer = (0, _renderer.default)("<div>").addClass("dx-scheduler-container"); this.$element().append(this._mainContainer) }; _proto.createAppointmentForm = function() { var _this7 = this; var scheduler = { createResourceEditorModel: function() { return (0, _utils3.createResourceEditorModel)(_this7.option("resources"), _this7.option("loadedResources")) }, getDataAccessors: function() { return _this7._dataAccessors }, createComponent: function(element, component, options) { return _this7._createComponent(element, component, options) }, getEditingConfig: function() { return _this7._editing }, getFirstDayOfWeek: function() { return _this7.option("firstDayOfWeek") }, getStartDayHour: function() { return _this7.option("startDayHour") }, getCalculatedEndDate: function(startDateWithStartHour) { return _this7._workSpace.calculateEndDate(startDateWithStartHour) }, getTimeZoneCalculator: function() { return _this7.timeZoneCalculator } }; return new _form.AppointmentForm(scheduler) }; _proto.createAppointmentPopup = function(form) { var _this8 = this; var scheduler = { getElement: function() { return _this8.$element() }, createComponent: function(element, component, options) { return _this8._createComponent(element, component, options) }, focus: function() { return _this8.focus() }, getResources: function() { return _this8.option("resources") }, getEditingConfig: function() { return _this8._editing }, getTimeZoneCalculator: function() { return _this8.timeZoneCalculator }, getDataAccessors: function() { return _this8._dataAccessors }, getAppointmentFormOpening: function() { return _this8._actions.onAppointmentFormOpening }, processActionResult: function(arg, canceled) { return _this8._processActionResult(arg, canceled) }, addAppointment: function(appointment) { return _this8.addAppointment(appointment) }, updateAppointment: function(sourceAppointment, updatedAppointment) { return _this8.updateAppointment(sourceAppointment, updatedAppointment) }, updateScrollPosition: function(startDate, resourceItem, inAllDayRow) { _this8._workSpace.updateScrollPosition(startDate, resourceItem, inAllDayRow) } }; return new _popup.AppointmentPopup(scheduler, form) }; _proto._getAppointmentTooltipOptions = function() { var _this9 = this; return { createComponent: this._createComponent.bind(this), container: this.$element(), getScrollableContainer: this.getWorkSpaceScrollableContainer.bind(this), addDefaultTemplates: this._templateManager.addDefaultTemplates.bind(this._templateManager), getAppointmentTemplate: this._getAppointmentTemplate.bind(this), showAppointmentPopup: this.showAppointmentPopup.bind(this), checkAndDeleteAppointment: this.checkAndDeleteAppointment.bind(this), isAppointmentInAllDayPanel: this.isAppointmentInAllDayPanel.bind(this), createFormattedDateText: function(appointment, targetedAppointment, format) { return _this9.fire("getTextAndFormatDate", appointment, targetedAppointment, format) }, getAppointmentDisabled: function(appointment) { return (0, _appointmentAdapter.createAppointmentAdapter)(appointment, _this9._dataAccessors, _this9.timeZoneCalculator).disabled } } }; _proto.checkAndDeleteAppointment = function(appointment, targetedAppointment) { var _this10 = this; var targetedAdapter = (0, _appointmentAdapter.createAppointmentAdapter)(targetedAppointment, this._dataAccessors, this.timeZoneCalculator); var deletingOptions = this.fireOnAppointmentDeleting(appointment, targetedAdapter); this._checkRecurringAppointment(appointment, targetedAppointment, targetedAdapter.startDate, (function() { _this10.processDeleteAppointment(appointment, deletingOptions) }), true) }; _proto._getExtraAppointmentTooltipOptions = function() { return { rtlEnabled: this.option("rtlEnabled"), focusStateEnabled: this.option("focusStateEnabled"), editing: this.option("editing"), offset: this.option("_appointmentTooltipOffset") } }; _proto.isAppointmentInAllDayPanel = function(appointmentData) { var workSpace = this._workSpace; var itTakesAllDay = this.appointmentTakesAllDay(appointmentData); return itTakesAllDay && workSpace.supportAllDayRow() && workSpace.option("showAllDayPanel") }; _proto._initMarkupCore = function(resources) { var _this11 = this; this._readyToRenderAppointments = (0, _window.hasWindow)(); this._workSpace && this._cleanWorkspace(); this._renderWorkSpace(resources); this._appointments.option({ fixedContainer: this._workSpace.getFixedContainer(), allDayContainer: this._workSpace.getAllDayContainer() }); this._waitAsyncTemplate((function() { var _this11$_workSpaceRec; return null === (_this11$_workSpaceRec = _this11._workSpaceRecalculation) || void 0 === _this11$_workSpaceRec ? void 0 : _this11$_workSpaceRec.resolve() })); this.createAppointmentDataProvider(); this._filterAppointmentsByDate(); this._validateKeyFieldIfAgendaExist() }; _proto._isDataSourceLoaded = function() { return this._dataSource && this._dataSource.isLoaded() }; _proto._render = function() { var _this$getWorkSpace; this._toggleSmallClass(); this._toggleAdaptiveClass(); null === (_this$getWorkSpace = this.getWorkSpace()) || void 0 === _this$getWorkSpace ? void 0 : _this$getWorkSpace.updateHeaderEmptyCellWidth(); _Widget.prototype._render.call(this) }; _proto._renderHeader = function() { if (0 !== this.option("toolbar").length) { var $header = (0, _renderer.default)("<div>").appendTo(this._mainContainer); this._header = this._createComponent($header, _header.SchedulerHeader, this._headerConfig()) } }; _proto._headerConfig = function() { var _this12 = this; var currentViewOptions = this._getCurrentViewOptions(); var countConfig = this._getViewCountConfig(); var result = (0, _extend.extend)({ firstDayOfWeek: this.getFirstDayOfWeek(), currentView: this.option("currentView"), isAdaptive: this.option("adaptivityEnabled"), tabIndex: this.option("tabIndex"), focusStateEnabled: this.option("focusStateEnabled"), rtlEnabled: this.option("rtlEnabled"), useDropDownViewSwitcher: this.option("useDropDownViewSwitcher"), customizeDateNavigatorText: this.option("customizeDateNavigatorText"), agendaDuration: currentViewOptions.agendaDuration || 7 }, currentViewOptions); result.intervalCount = countConfig.intervalCount; result.views = this.option("views"); result.min = new Date(this._dateOption("min")); result.max = new Date(this._dateOption("max")); result.currentDate = _date.default.trimTime(new Date(this._dateOption("currentDate"))); result.onCurrentViewChange = function(name) { _this12.option("currentView", name) }, result.onCurrentDateChange = function(date) { _this12.option("currentDate", date) }; result.items = this.option("toolbar"); result.startViewDate = this.getStartViewDate(); result.todayDate = function() { var result = _this12.timeZoneCalculator.createDate(new Date, { path: "toGrid" }); return result }; return result }; _proto._appointmentsConfig = function() { var _this13 = this; var config = { getResources: function() { return _this13.option("resources") }, getResourceDataAccessors: this.getResourceDataAccessors.bind(this), getAgendaResourceProcessor: function() { return _this13.agendaResourceProcessor }, getAppointmentColor: this.createGetAppointmentColor(), getAppointmentDataProvider: function() { return _this13.appointmentDataProvider }, dataAccessors: this._dataAccessors, observer: this, onItemRendered: this._getAppointmentRenderedAction(), onItemClick: this._createActionByOption("onAppointmentClick"), onItemContextMenu: this._createActionByOption("onAppointmentContextMenu"), onAppointmentDblClick: this._createActionByOption("onAppointmentDblClick"), tabIndex: this.option("tabIndex"), focusStateEnabled: this.option("focusStateEnabled"), allowDrag: this._allowDragging(), allowDelete: this._editing.allowUpdating && this._editing.allowDeleting, allowResize: this._allowResizing(), allowAllDayResize: this._allowAllDayResizing(), rtlEnabled: this.option("rtlEnabled"), currentView: this.currentView, groups: this._getCurrentViewOption("groups"), isRenovatedAppointments: this.option("isRenovatedAppointments"), timeZoneCalculator: this.timeZoneCalculator, getResizableStep: function() { return _this13._workSpace ? _this13._workSpace.positionHelper.getResizableStep() : 0 }, getDOMElementsMetaData: function() { var _this13$_workSpace; return null === (_this13$_workSpace = _this13._workSpace) || void 0 === _this13$_workSpace ? void 0 : _this13$_workSpace.getDOMElementsMetaData() }, getViewDataProvider: function() { var _this13$_workSpace2; return null === (_this13$_workSpace2 = _this13._workSpace) || void 0 === _this13$_workSpace2 ? void 0 : _this13$_workSpace2.viewDataProvider }, isVerticalViewDirection: function() { return "vertical" === _this13.getRenderingStrategyInstance().getDirection() }, isVerticalGroupedWorkSpace: function() { return _this13._workSpace._isVerticalGroupedWorkSpace() }, isDateAndTimeView: function() { return (0, _base.isDateAndTimeView)(_this13._workSpace.type) }, onContentReady: function() { var _this13$_workSpace3; null === (_this13$_workSpace3 = _this13._workSpace) || void 0 === _this13$_workSpace3 ? void 0 : _this13$_workSpace3.option("allDayExpanded", _this13._isAllDayExpanded()) } }; return config }; _proto.getCollectorOffset = function() { if (this._workSpace.needApplyCollectorOffset() && !this.option("adaptivityEnabled")) { return this.option("_collectorOffset") } else { return 0 } }; _proto.getAppointmentDurationInMinutes = function() { return this._getCurrentViewOption("cellDuration") }; _proto._getCurrentViewType = function() { return this.currentViewType }; _proto._renderWorkSpace = function(groups) { var _this$_header5; this._readyToRenderAppointments && this._toggleSmallClass(); var $workSpace = (0, _renderer.default)("<div>").appendTo(this._mainContainer); var countConfig = this._getViewCountConfig(); var workSpaceComponent = VIEWS_CONFIG[this._getCurrentViewType()].workSpace; var workSpaceConfig = this._workSpaceConfig(groups, countConfig); this._workSpace = this._createComponent($workSpace, workSpaceComponent, workSpaceConfig); this._allowDragging() && this._workSpace.initDragBehavior(this, this._all); this._workSpace._attachTablesEvents(); this._workSpace.getWorkArea().append(this._appointments.$element()); this._recalculateWorkspace(); countConfig.startDate && (null === (_this$_header5 = this._header) || void 0 === _this$_header5 ? void 0 : _this$_header5.option("currentDate", this._workSpace._getHeaderDate())); this._appointments.option("_collectorOffset", this.getCollectorOffset()) }; _proto._getViewCountConfig = function() { var currentView = this.option("currentView"); var view = this._getViewByName(currentView); var viewCount = view && view.intervalCount || 1; var startDate = view && view.startDate || null; return { intervalCount: viewCount, startDate: startDate } }; _proto._getViewByName = function(name) { var views = this.option("views"); for (var i = 0; i < views.length; i++) { if (views[i].name === name || views[i].type === name || views[i] === name) { return views[i] } } }; _proto._recalculateWorkspace = function() { var _this14 = this; this._workSpaceRecalculation = new _deferred.Deferred; this._waitAsyncTemplate((function() { (0, _visibility_change.triggerResizeEvent)(_this14._workSpace.$element()); _this14._workSpace._refreshDateTimeIndication() })) }; _proto._workSpaceConfig = function(groups, countConfig) { var _currentViewOptions$s2, _this15 = this; var currentViewOptions = this._getCurrentViewOptions(); var scrolling = this.option("scrolling"); var isVirtualScrolling = "virtual" === scrolling.mode || "virtual" === (null === (_currentViewOptions$s2 = currentViewOptions.scrolling) || void 0 === _currentViewOptions$s2 ? void 0 : _currentViewOptions$s2.mode); var horizontalVirtualScrollingAllowed = isVirtualScrolling && (!(0, _type.isDefined)(scrolling.orientation) || ["horizontal", "both"].filter((function(item) { var _currentViewOptions$s3; return scrolling.orientation === item || (null === (_currentViewOptions$s3 = currentViewOptions.scrolling) || void 0 === _currentViewOptions$s3 ? void 0 : _currentViewOptions$s3.orientation) === item })).length > 0); var crossScrollingEnabled = this.option("crossScrollingEnabled") || horizontalVirtualScrollingAllowed || (0, _base.isTimelineView)(this.currentViewType); var result = (0, _extend.extend)({ resources: this.option("resources"), loadedResources: this.option("loadedResources"), getFilteredItems: function() { return _this15.filteredItems }, getResourceDataAccessors: this.getResourceDataAccessors.bind(this), noDataText: this.option("noDataText"), firstDayOfWeek: this.option("firstDayOfWeek"), startDayHour: this.option("startDayHour"), endDayHour: this.option("endDayHour"), tabIndex: this.option("tabIndex"), accessKey: this.option("accessKey"), focusStateEnabled: this.option("focusStateEnabled"), cellDuration: this.option("cellDuration"), showAllDayPanel: this.option("showAllDayPanel"), showCurrentTimeIndicator: this.option("showCurrentTimeIndicator"), indicatorTime: this.option("indicatorTime"), indicatorUpdateInterval: this.option("indicatorUpdateInterval"), shadeUntilCurrentTime: this.option("shadeUntilCurrentTime"), allDayExpanded: this._appointments.option("items"), crossScrollingEnabled: crossScrollingEnabled, dataCellTemplate: this.option("dataCellTemplate"), timeCellTemplate: this.option("timeCellTemplate"), resourceCellTemplate: this.option("resourceCellTemplate"), dateCellTemplate: this.option("dateCellTemplate"), allowMultipleCellSelection: this.option("allowMultipleCellSelection"), selectedCellData: this.option("selectedCellData"), onSelectionChanged: function(args) { _this15.option("selectedCellData", args.selectedCellData) }, groupByDate: this._getCurrentViewOption("groupByDate"), scrolling: scrolling, draggingMode: this.option("_draggingMode"), timeZoneCalculator: this.timeZoneCalculator, schedulerHeight: this.option("height"), schedulerWidth: this.option("width"), allDayPanelMode: this.option("allDayPanelMode"), onSelectedCellsClick: this.showAddAppointmentPopup.bind(this), onRenderAppointments: this._renderAppointments.bind(this), onShowAllDayPanel: function(value) { return _this15.option("showAllDayPanel", value) }, getHeaderHeight: function() { return _utils2.utils.DOM.getHeaderHeight(_this15._header) }, onScrollEnd: function() { return _this15._appointments.updateResizableArea() }, renovateRender: this._isRenovatedRender(isVirtualScrolling), isRenovatedAppointments: this.option("isRenovatedAppointments") }, currentViewOptions); result.observer = this; result.intervalCount = countConfig.intervalCount; result.startDate = countConfig.startDate; result.groups = groups; result.onCellClick = this._createActionByOption("onCellClick"); result.onCellContextMenu = this._createActionByOption("onCellContextMenu"); result.currentDate = _date.default.trimTime(new Date(this._dateOption("currentDate"))); result.hoursInterval = result.cellDuration / 60; result.allDayExpanded = false; result.dataCellTemplate = result.dataCellTemplate ? this._getTemplate(result.dataCellTemplate) : null; result.timeCellTemplate = result.timeCellTemplate ? this._getTemplate(result.timeCellTemplate) : null; result.resourceCellTemplate = result.resourceCellTemplate ? this._getTemplate(result.resourceCellTemplate) : null; result.dateCellTemplate = result.dateCellTemplate ? this._getTemplate(result.dateCellTemplate) : null; result.getAppointmentDataProvider = function() { return _this15.appointmentDataProvider }; return result }; _proto._isRenovatedRender = function(isVirtualScrolling) { return this.option("renovateRender") && (0, _window.hasWindow)() || isVirtualScrolling }; _proto._waitAsyncTemplate = function(callback) { if (this._options.silent("templatesRenderAsynchronously")) { var timer = setTimeout((function() { callback(); clearTimeout(timer) })); this._asyncTemplatesTimers.push(timer) } else { callback() } }; _proto._getCurrentViewOptions = function() { return this.currentView }; _proto._getCurrentViewOption = function(optionName) { if (this.currentView && void 0 !== this.currentView[optionName]) { return this.currentView[optionName] } return this.option(optionName) }; _proto._getAppointmentTemplate = function(optionName) { var currentViewOptions = this._getCurrentViewOptions(); if (currentViewOptions && currentViewOptions[optionName]) { return this._getTemplate(currentViewOptions[optionName]) } return this._getTemplateByOption(optionName) }; _proto._updateOption = function(viewName, optionName, value) { var currentViewOptions = this._getCurrentViewOptions(); if (!currentViewOptions || !(0, _type.isDefined)(currentViewOptions[optionName])) { this["_" + viewName].option(optionName, value) } }; _proto._refreshWorkSpace = function(groups) { var _this16 = this; this._cleanWorkspace(); delete this._workSpace; this._renderWorkSpace(groups); if (this._readyToRenderAppointments) { this._appointments.option({ fixedContainer: this._workSpace.getFixedContainer(), allDayContainer: this._workSpace.getAllDayContainer() }); this._waitAsyncTemplate((function() { return _this16._workSpaceRecalculation.resolve() })) } }; _proto._cleanWorkspace = function() { this._appointments.$element().detach(); this._workSpace._dispose(); this._workSpace.$element().remove(); this.option("selectedCellData", []) }; _proto.getWorkSpaceScrollable = function() { return this._workSpace.getScrollable() }; _proto.getWorkSpaceScrollableContainer = function() { return this._workSpace.getScrollableContainer() }; _proto.getWorkSpace = function() { return this._workSpace }; _proto.getHeader = function() { return this._header }; _proto._cleanPopup = function() { var _this$_appointmentPop2; null === (_this$_appointmentPop2 = this._appointmentPopup) || void 0 === _this$_appointmentPop2 ? void 0 : _this$_appointmentPop2.dispose() }; _proto._checkRecurringAppointment = function(rawAppointment, singleAppointment, exceptionDate, callback, isDeleted, isPopupEditing, dragEvent, recurrenceEditMode) { var _this17 = this; var recurrenceRule = _expressionUtils.ExpressionUtils.getField(this._dataAccessors, "recurrenceRule", rawAppointment); if (!(0, _recurrence.getRecurrenceProcessor)().evalRecurrenceRule(recurrenceRule).isValid || !this._editing.allowUpdating) { callback(); return } var editMode = recurrenceEditMode || this.option("recurrenceEditMode"); switch (editMode) { case "series": callback(); break; case "occurrence": this._excludeAppointmentFromSeries(rawAppointment, singleAppointment, exceptionDate, isDeleted, isPopupEditing, dragEvent); break; default: if (dragEvent) { dragEvent.cancel = new _deferred.Deferred } this._showRecurrenceChangeConfirm(isDeleted).done((function(editingMode) { editingMode === RECURRENCE_EDITING_MODE_SERIES && callback(); editingMode === RECURRENCE_EDITING_MODE_OCCURENCE && _this17._excludeAppointmentFromSeries(rawAppointment, singleAppointment, exceptionDate, isDeleted, isPopupEditing, dragEvent) })).fail((function() { return _this17._appointments.moveAppointmentBack(dragEvent) })) } }; _proto._excludeAppointmentFromSeries = function(rawAppointment, newRawAppointment, exceptionDate, isDeleted, isPopupEditing, dragEvent) { var _this18 = this; var appointment = (0, _excludeFromRecurrence.excludeFromRecurrence)(rawAppointment, exceptionDate, this._dataAccessors, this._timeZoneCalculator); var singleRawAppointment = _extends({}, newRawAppointment); delete singleRawAppointment[this._dataAccessors.expr.recurrenceExceptionExpr]; delete singleRawAppointment[this._dataAccessors.expr.recurrenceRuleExpr]; var keyPropertyName = this.appointmentDataProvider.keyName; delete singleRawAppointment[keyPropertyName]; var canCreateNewAppointment = !isDeleted && !isPopupEditing; if (canCreateNewAppointment) { this.addAppointment(singleRawAppointment) } if (isPopupEditing) { this._appointmentPopup.show(singleRawAppointment, { isToolbarVisible: true, action: _popup.ACTION_TO_APPOINTMENT.EXCLUDE_FROM_SERIES, excludeInfo: { sourceAppointment: rawAppointment, updatedAppointment: appointment.source() } }); this._editAppointmentData = rawAppointment } else { this._updateAppointment(rawAppointment, appointment.source(), (function() { _this18._appointments.moveAppointmentBack(dragEvent) }), dragEvent) } }; _proto._createRecurrenceException = function(appointment, exceptionDate) { var result = []; if (appointment.recurrenceException) { result.push(appointment.recurrenceException) } result.push(this._getSerializedDate(exceptionDate, appointment.startDate, appointment.allDay)); return result.join() }; _proto._getSerializedDate = function(date, startDate, isAllDay) { isAllDay && date.setHours(startDate.getHours(), startDate.getMinutes(), startDate.getSeconds(), startDate.getMilliseconds()); return _date_serialization.default.serializeDate(date, "yyyyMMddTHHmmssZ") }; _proto._showRecurrenceChangeConfirm = function(isDeleted) { var message = _message.default.format(isDeleted ? "dxScheduler-confirmRecurrenceDeleteMessage" : "dxScheduler-confirmRecurrenceEditMessage"); var seriesText = _message.default.format(isDeleted ? "dxScheduler-confirmRecurrenceDeleteSeries" : "dxScheduler-confirmRecurrenceEditSeries"); var occurrenceText = _message.default.format(isDeleted ? "dxScheduler-confirmRecurrenceDeleteOccurrence" : "dxScheduler-confirmRecurrenceEditOccurrence"); this._recurrenceDialog = (0, _dialog.custom)({ messageHtml: message, showCloseButton: true, showTitle: true, buttons: [{ text: seriesText, onClick: function() { return RECURRENCE_EDITING_MODE_SERIES } }, { text: occurrenceText, onClick: function() { return RECURRENCE_EDITING_MODE_OCCURENCE } }], popupOptions: { wrapperAttr: { class: "dx-dialog" } } }); return this._recurrenceDialog.show() }; _proto._getUpdatedData = function(rawAppointment) { var _this19 = this; var getConvertedFromGrid = function(date) { return date ? _this19.timeZoneCalculator.createDate(date, { path: "fromGrid" }) : void 0 }; var isValidDate = function(date) { return !isNaN(new Date(date).getTime()) }; var targetCell = this.getTargetCellData(); var appointment = (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this._dataAccessors, this.timeZoneCalculator); var cellStartDate = getConvertedFromGrid(targetCell.startDate); var cellEndDate = getConvertedFromGrid(targetCell.endDate); var appointmentStartDate = new Date(appointment.startDate); var appointmentEndDate = new Date(appointment.endDate); var resultedStartDate = cellStartDate || appointmentStartDate; if (!isValidDate(appointmentStartDate)) { appointmentStartDate = resultedStartDate } if (!isValidDate(appointmentEndDate)) { appointmentEndDate = cellEndDate } var duration = appointmentEndDate.getTime() - appointmentStartDate.getTime(); var isKeepAppointmentHours = this._workSpace.keepOriginalHours() && isValidDate(appointment.startDate) && isValidDate(cellStartDate); if (isKeepAppointmentHours) { var trimTime = _date.default.trimTime; var startDate = this.timeZoneCalculator.createDate(appointment.startDate, { path: "toGrid" }); var timeInMs = startDate.getTime() - trimTime(startDate).getTime(); resultedStartDate = new Date(trimTime(targetCell.startDate).getTime() + timeInMs); resultedStartDate = this.timeZoneCalculator.createDate(resultedStartDate, { path: "fromGrid" }) } var result = (0, _appointmentAdapter.createAppointmentAdapter)({}, this._dataAccessors, this.timeZoneCalculator); if (void 0 !== targetCell.allDay) { result.allDay = targetCell.allDay } result.startDate = resultedStartDate; var resultedEndDate = new Date(resultedStartDate.getTime() + duration); if (this.appointmentTakesAllDay(rawAppointment) && !result.allDay && this._workSpace.supportAllDayRow()) { resultedEndDate = this._workSpace.calculateEndDate(resultedStartDate) } if (appointment.allDay && !this._workSpace.supportAllDayRow() && !this._workSpace.keepOriginalHours()) { var dateCopy = new Date(resultedStartDate); dateCopy.setHours(0); resultedEndDate = new Date(dateCopy.getTime() + duration); if (0 !== resultedEndDate.getHours()) { resultedEndDate.setHours(this._getCurrentViewOption("endDayHour")) } } var timeZoneOffset = _utils.default.getTimezoneOffsetChangeInMs(appointmentStartDate, appointmentEndDate, resultedStartDate, resultedEndDate); result.endDate = new Date(resultedEndDate.getTime() - timeZoneOffset); var rawResult = result.source(); (0, _utils3.setResourceToAppointment)(this.option("resources"), this.getResourceDataAccessors(), rawResult, targetCell.groups); return rawResult }; _proto.getTargetedAppointment = function(appointment, element) { var settings = _utils2.utils.dataAccessors.getAppointmentSettings(element); var info = _utils2.utils.dataAccessors.getAppointmentInfo(element); var appointmentIndex = (0, _renderer.default)(element).data(this._appointments._itemIndexKey()); var adapter = (0, _appointmentAdapter.createAppointmentAdapter)(appointment, this._dataAccessors, this.timeZoneCalculator); var targetedAdapter = adapter.clone(); if (this._isAgenda() && adapter.isRecurrent) { var agendaSettings = settings.agendaSettings; targetedAdapter.startDate = _expressionUtils.ExpressionUtils.getField(this._dataAccessors, "startDate", agendaSettings); targetedAdapter.endDate = _expressionUtils.ExpressionUtils.getField(this._dataAccessors, "endDate", agendaSettings) } else if (settings) { targetedAdapter.startDate = info ? info.sourceAppointment.startDate : adapter.startDate; targetedAdapter.endDate = info ? info.sourceAppointment.endDate : adapter.endDate } var rawTargetedAppointment = targetedAdapter.source(); if (element) { this.setTargetedAppointmentResources(rawTargetedAppointment, element, appointmentIndex) } if (info) { rawTargetedAppointment.displayStartDate = new Date(info.appointment.startDate); rawTargetedAppointment.displayEndDate = new Date(info.appointment.endDate) } return rawTargetedAppointment }; _proto.subscribe = function(subject, action) { this._subscribes[subject] = _subscribes.default[subject] = action }; _proto.fire = function(subject) { var callback = this._subscribes[subject]; var args = Array.prototype.slice.call(arguments); if (!(0, _type.isFunction)(callback)) { throw _ui.default.Error("E1031", subject) } return callback.apply(this, args.slice(1)) }; _proto.getTargetCellData = function() { return this._workSpace.getDataByDroppableCell() }; _proto._updateAppointment = function(target, rawAppointment, onUpdatePrevented, dragEvent) { var updatingOptions = { newData: rawAppointment, oldData: (0, _extend.extend)({}, target), cancel: false }; var performFailAction = function(err) { if (onUpdatePrevented) { onUpdatePrevented.call(this) } if (err && "Error" === err.name) { throw err } }.bind(this); this._actions[StoreEventNames_UPDATING](updatingOptions); if (dragEvent && !(0, _type.isDeferred)(dragEvent.cancel)) { dragEvent.cancel = new _deferred.Deferred } return this._processActionResult(updatingOptions, (function(canceled) { var _this20 = this; var deferred = new _deferred.Deferred; if (!canceled) { this._expandAllDayPanel(rawAppointment); try { deferred = this.appointmentDataProvider.update(target, rawAppointment).done((function() { dragEvent && dragEvent.cancel.resolve(false) })).always((function(storeAppointment) { return _this20._onDataPromiseCompleted(StoreEventNames_UPDATED, storeAppointment) })).fail((function() { return performFailAction() })) } catch (err) { performFailAction(err); deferred.resolve() } } else { performFailAction(); deferred.resolve() } return deferred.promise() })) }; _proto._processActionResult = function(actionOptions, callback) { var _this21 = this; var deferred = new _deferred.Deferred; var resolveCallback = function(callbackResult) { (0, _deferred.when)((0, _deferred.fromPromise)(callbackResult)).always(deferred.resolve) }; if ((0, _type.isPromise)(actionOptions.cancel)) { (0, _deferred.when)((0, _deferred.fromPromise)(actionOptions.cancel)).always((function(cancel) { if (!(0, _type.isDefined)(cancel)) { cancel = "rejected" === actionOptions.cancel.state() } resolveCallback(callback.call(_this21, cancel)) })) } else { resolveCallback(callback.call(this, actionOptions.cancel)) } return deferred.promise() }; _proto._expandAllDayPanel = function(appointment) { if (!this._isAllDayExpanded() && this.appointmentTakesAllDay(appointment)) { this._workSpace.option("allDayExpanded", true) } }; _proto._onDataPromiseCompleted = function(handlerName, storeAppointment, appointment) { var args = { appointmentData: appointment || storeAppointment }; if (storeAppointment instanceof Error) { args.error = storeAppointment } else { this._appointmentPopup.visible && this._appointmentPopup.hide() } this._actions[handlerName](args); this._fireContentReadyAction() }; _proto.getAppointmentsInstance = function() { return this._appointments }; _proto.getLayoutManager = function() { return this._layoutManager }; _proto.getRenderingStrategyInstance = function() { return this.getLayoutManager().getRenderingStrategyInstance() }; _proto.getActions = function() { return this._actions }; _proto.appointmentTakesAllDay = function(rawAppointment) { var appointment = (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this._dataAccessors, this.timeZoneCalculator); return (0, _getAppointmentTakesAllDay.getAppointmentTakesAllDay)(appointment, this._getCurrentViewOption("startDayHour"), this._getCurrentViewOption("endDayHour"), this._getCurrentViewOption("allDayPanelMode")) }; _proto.dayHasAppointment = function(day, rawAppointment, trimTime) { var _this22 = this; var getConvertedToTimeZone = function(date) { return _this22.timeZoneCalculator.createDate(date, { path: "toGrid" }) }; var appointment = (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this._dataAccessors, this.timeZoneCalculator); var startDate = new Date(appointment.startDate); var endDate = new Date(appointment.endDate); startDate = getConvertedToTimeZone(startDate); endDate = getConvertedToTimeZone(endDate); if (day.getTime() === endDate.getTime()) { return startDate.getTime() === endDate.getTime() } if (trimTime) { day = _date.default.trimTime(day); startDate = _date.default.trimTime(startDate); endDate = _date.default.trimTime(endDate) } var dayTimeStamp = day.getTime(); var startDateTimeStamp = startDate.getTime(); var endDateTimeStamp = endDate.getTime(); return startDateTimeStamp <= dayTimeStamp && dayTimeStamp <= endDateTimeStamp }; _proto.setTargetedAppointmentResources = function(rawAppointment, element, appointmentIndex) { var groups = this._getCurrentViewOption("groups"); if (null !== groups && void 0 !== groups && groups.length) { var resourcesSetter = this.getResourceDataAccessors().setter; var workSpace = this._workSpace; var getGroups; var setResourceCallback; if (this._isAgenda()) { getGroups = function() { var apptSettings = this.getLayoutManager()._positionMap[appointmentIndex]; return (0, _utils3.getCellGroups)(apptSettings[0].groupIndex, this.getWorkSpace().option("groups")) }; setResourceCallback = function(_, group) { resourcesSetter[group.name](rawAppointment, group.id) } } else { getGroups = function() { var setting = _utils2.utils.dataAccessors.getAppointmentSettings(element) || {}; return workSpace.getCellDataByCoordinates({ left: setting.left, top: setting.top }).groups }; setResourceCallback = function(field, value) { resourcesSetter[field](rawAppointment, value) } }(0, _iterator.each)(getGroups.call(this), setResourceCallback) } }; _proto.getStartViewDate = function() { var _this$_workSpace; return null === (_this$_workSpace = this._workSpace) || void 0 === _this$_workSpace ? void 0 : _this$_workSpace.getStartViewDate() }; _proto.getEndViewDate = function() { return this._workSpace.getEndViewDate() }; _proto.showAddAppointmentPopup = function(cellData, cellGroups) { var appointmentAdapter = (0, _appointmentAdapter.createAppointmentAdapter)({}, this._dataAccessors, this.timeZoneCalculator); appointmentAdapter.allDay = cellData.allDay; appointmentAdapter.startDate = this.timeZoneCalculator.createDate(cellData.startDate, { path: "fromGrid" }); appointmentAdapter.endDate = this.timeZoneCalculator.createDate(cellData.endDate, { path: "fromGrid" }); var resultAppointment = (0, _extend.extend)(appointmentAdapter.source(), cellGroups); this.showAppointmentPopup(resultAppointment, true) }; _proto.showAppointmentPopup = function(rawAppointment, createNewAppointment, rawTargetedAppointment) { var _this23 = this; var newRawTargetedAppointment = _extends({}, rawTargetedAppointment); if (newRawTargetedAppointment) { delete newRawTargetedAppointment.displayStartDate; delete newRawTargetedAppointment.displayEndDate } var appointment = (0, _appointmentAdapter.createAppointmentAdapter)(newRawTargetedAppointment || rawAppointment, this._dataAccessors, this.timeZoneCalculator); var newTargetedAppointment = (0, _extend.extend)({}, rawAppointment, newRawTargetedAppointment); var isCreateAppointment = null !== createNewAppointment && void 0 !== createNewAppointment ? createNewAppointment : (0, _type.isEmptyObject)(rawAppointment); if ((0, _type.isEmptyObject)(rawAppointment)) { rawAppointment = this.createPopupAppointment() } if (isCreateAppointment) { delete this._editAppointmentData; this._editing.allowAdding && this._appointmentPopup.show(rawAppointment, { isToolbarVisible: true, action: _popup.ACTION_TO_APPOINTMENT.CREATE }) } else { this._checkRecurringAppointment(rawAppointment, newTargetedAppointment, appointment.startDate, (function() { _this23._editAppointmentData = rawAppointment; _this23._appointmentPopup.show(rawAppointment, { isToolbarVisible: _this23._editing.allowUpdating, action: _popup.ACTION_TO_APPOINTMENT.UPDATE }) }), false, true) } }; _proto.createPopupAppointment = function() { var result = {}; var toMs = _date.default.dateToMilliseconds; var startDate = new Date(this.option("currentDate")); var endDate = new Date(startDate.getTime() + this.option("cellDuration") * toMs("minute")); _expressionUtils.ExpressionUtils.setField(this._dataAccessors, "startDate", result, startDate); _expressionUtils.ExpressionUtils.setField(this._dataAccessors, "endDate", result, endDate); return result }; _proto.hideAppointmentPopup = function(saveChanges) { var _this$_appointmentPop3; if (null !== (_this$_appointmentPop3 = this._appointmentPopup) && void 0 !== _this$_appointmentPop3 && _this$_appointmentPop3.visible) { saveChanges && this._appointmentPopup.saveChangesAsync(); this._appointmentPopup.hide() } }; _proto.showAppointmentTooltip = function(appointment, element, targetedAppointment) { if (appointment) { var settings = _utils2.utils.dataAccessors.getAppointmentSettings(element); var appointmentConfig = { itemData: targetedAppointment || appointment, groupIndex: null === settings || void 0 === settings ? void 0 : settings.groupIndex, groups: this.option("groups") }; var _getAppointmentColor = this.createGetAppointmentColor(); var deferredColor = _getAppointmentColor(appointmentConfig); var info = new _dataStructures.AppointmentTooltipInfo(appointment, targetedAppointment, deferredColor); this.showAppointmentTooltipCore(element, [info]) } }; _proto.createGetAppointmentColor = function() { var _this24 = this; return function(appointmentConfig) { var resourceConfig = { resources: _this24.option("resources"), dataAccessors: _this24.getResourceDataAccessors(), loadedResources: _this24.option("loadedResources"), resourceLoaderMap: _this24.option("resourceLoaderMap") }; return (0, _utils3.getAppointmentColor)(resourceConfig, appointmentConfig) } }; _proto.showAppointmentTooltipCore = function(target, data, options) { var _this25 = this; var arg = { cancel: false, appointments: data.map((function(item) { var result = { appointmentData: item.appointment, currentAppointmentData: _extends({}, item.targetedAppointment), color: item.color }; if (item.settings.info) { var _item$settings$info$a = item.settings.info.appointment, startDate = _item$settings$info$a.startDate, endDate = _item$settings$info$a.endDate; result.currentAppointmentData.displayStartDate = startDate; result.currentAppointmentData.displayEndDate = endDate } return result })), targetElement: target }; this._createActionByOption("onAppointmentTooltipShowing")(arg); if (this._appointmentTooltip.isAlreadyShown(target)) { this.hideAppointmentTooltip() } else { this._processActionResult(arg, (function(canceled) { !canceled && _this25._appointmentTooltip.show(target, data, _extends({}, _this25._getExtraAppointmentTooltipOptions(), options)) })) } }; _proto.hideAppointmentTooltip = function() { this._appointmentTooltip && this._appointmentTooltip.hide() }; _proto.scrollToTime = function(hours, minutes, date) { _ui.default.log("W0002", "dxScheduler", "scrollToTime", "21.1", 'Use the "scrollTo" method instead'); this._workSpace.scrollToTime(hours, minutes, date) }; _proto.scrollTo = function(date, groups, allDay) { this._workSpace.scrollTo(date, groups, allDay) }; _proto._isHorizontalVirtualScrolling = function() { var scrolling = this.option("scrolling"); var orientation = scrolling.orientation, mode = scrolling.mode; var isVirtualScrolling = "virtual" === mode; return isVirtualScrolling && ("horizontal" === orientation || "both" === orientation) }; _proto.addAppointment = function(rawAppointment) { var _this26 = this; var appointment = (0, _appointmentAdapter.createAppointmentAdapter)(rawAppointment, this._dataAccessors, this.timeZoneCalculator); appointment.text = appointment.text || ""; var serializedAppointment = appointment.source(true); var addingOptions = { appointmentData: serializedAppointment, cancel: false }; this._actions[StoreEventNames_ADDING](addingOptions); return this._processActionResult(addingOptions, (function(canceled) { if (canceled) { return (new _deferred.Deferred).resolve() } _this26._expandAllDayPanel(serializedAppointment); return _this26.appointmentDataProvider.add(serializedAppointment).always((function(storeAppointment) { return _this26._onDataPromiseCompleted(StoreEventNames_ADDED, storeAppointment) })) })) }; _proto.updateAppointment = function(target, appointment) { return this._updateAppointment(target, appointment) }; _proto.deleteAppointment = function(rawAppointment) { var deletingOptions = this.fireOnAppointmentDeleting(rawAppointment); this.processDeleteAppointment(rawAppointment, deletingOptions) }; _proto.fireOnAppointmentDeleting = function(rawAppointment, targetedAppointmentData) { var deletingOptions = { appointmentData: rawAppointment, targetedAppointmentData: targetedAppointmentData, cancel: false }; this._actions[StoreEventNames_DELETING](deletingOptions); return deletingOptions }; _proto.processDeleteAppointment = function(rawAppointment, deletingOptions) { this._processActionResult(deletingOptions, (function(canceled) { var _this27 = this; if (!canceled) { this.appointmentDataProvider.remove(rawAppointment).always((function(storeAppointment) { return _this27._onDataPromiseCompleted(StoreEventNames_DELETED, storeAppointment, rawAppointment) })) } })) }; _proto.deleteRecurrence = function(appointment, date, recurrenceEditMode) { var _this28 = this; this._checkRecurringAppointment(appointment, {}, date, (function() { _this28.processDeleteAppointment(appointment, { cancel: false }) }), true, false, null, recurrenceEditMode) }; _proto.focus = function() { if (this._editAppointmentData) { this._appointments.focus() } else { this._workSpace.focus() } }; _proto.getFirstDayOfWeek = function() { return (0, _type.isDefined)(this.option("firstDayOfWeek")) ? this.option("firstDayOfWeek") : _date2.default.firstDayOfWeekIndex() }; _proto._validateKeyFieldIfAgendaExist = function() { if (!this.appointmentDataProvider.isDataSourceInit) { return } var hasAgendaView = !!this._getViewByName("agenda"); var isKeyExist = !!this.appointmentDataProvider.keyName; if (hasAgendaView && !isKeyExist) { _ui.default.log("W1023") } }; _proto._validateCellDuration = function() { var endDayHour = this._getCurrentViewOption("endDayHour"); var startDayHour = this._getCurrentViewOption("startDayHour"); var cellDuration = this._getCurrentViewOption("cellDuration"); if (60 * (endDayHour - startDayHour) % cellDuration !== 0) { _ui.default.log("W1015") } }; _proto._validateDayHours = function() { var startDayHour = this._getCurrentViewOption("startDayHour"); var endDayHour = this._getCurrentViewOption("endDayHour"); (0, _base.validateDayHours)(startDayHour, endDayHour) }; _proto._getDragBehavior = function() { return this._workSpace.dragBehavior }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Scheduler, [{ key: "filteredItems", get: function() { if (!this._filteredItems) { this._filteredItems = [] } return this._filteredItems }, set: function(value) { this._filteredItems = value } }, { key: "preparedItems", get: function() { if (!this._preparedItems) { this._preparedItems = [] } return this._preparedItems }, set: function(value) { this._preparedItems = value } }, { key: "currentView", get: function() { return (0, _views.getCurrentView)(this.option("currentView"), this.option("views")) } }, { key: "currentViewType", get: function() { return (0, _type.isObject)(this.currentView) ? this.currentView.type : this.currentView } }, { key: "timeZoneCalculator", get: function() { if (!this._timeZoneCalculator) { this._timeZoneCalculator = (0, _createTimeZoneCalculator.createTimeZoneCalculator)(this.option("timeZone")) } return this._timeZoneCalculator } }]); return Scheduler }(_ui2.default); Scheduler.include(_data_helper.default); (0, _component_registrator.default)("dxScheduler", Scheduler); var _default = Scheduler; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 9259: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/utils.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.utils = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _constants = __webpack_require__( /*! ./constants */ 27728); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var _date_serialization = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date_serialization */ 69434)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var utils = { dataAccessors: { getAppointmentSettings: function(element) { return (0, _renderer.default)(element).data(_constants.APPOINTMENT_SETTINGS_KEY) }, getAppointmentInfo: function(element) { var settings = utils.dataAccessors.getAppointmentSettings(element); return null === settings || void 0 === settings ? void 0 : settings.info }, create: function(fields, currentDataAccessors, forceIsoDateParsing, dateSerializationFormat) { var dataAccessors = currentDataAccessors ? _extends({}, currentDataAccessors) : { getter: {}, setter: {}, expr: {} }; (0, _iterator.each)(fields, (function(name, expr) { if (expr) { var getter = (0, _data.compileGetter)(expr); var setter = (0, _data.compileSetter)(expr); var dateGetter; var dateSetter; var serializationFormat; if (field = name, "startDate" === field || "endDate" === field) { dateGetter = function(object) { var value = getter(object); if (forceIsoDateParsing) { value = _date_serialization.default.deserializeDate(value) } return value }; dateSetter = function(object, value) { if (dateSerializationFormat) { serializationFormat = dateSerializationFormat } else if (forceIsoDateParsing && !serializationFormat) { var oldValue = getter(object); serializationFormat = _date_serialization.default.getDateSerializationFormat(oldValue) } var newValue = _date_serialization.default.serializeDate(value, serializationFormat); setter(object, newValue) } } dataAccessors.getter[name] = dateGetter || getter; dataAccessors.setter[name] = dateSetter || setter; dataAccessors.expr["".concat(name, "Expr")] = expr } else { delete dataAccessors.getter[name]; delete dataAccessors.setter[name]; delete dataAccessors.expr["".concat(name, "Expr")] } var field })); return dataAccessors } }, DOM: { getHeaderHeight: function(header) { return header ? header._$element && parseInt((0, _size.getOuterHeight)(header._$element), 10) : 0 } }, renovation: { renderComponent: function(widget, parentElement, componentClass, componentName, viewModel) { var component = widget[componentName]; if (!component) { var container = (0, _element.getPublicElement)(parentElement); component = widget._createComponent(container, componentClass, viewModel); widget[componentName] = component } else { var $element = component.$element(); var elementStyle = $element.get(0).style; var height = elementStyle.height; var width = elementStyle.width; component.option(viewModel); if (height) { (0, _size.setHeight)($element, height) } if (width) { (0, _size.setWidth)($element, width) } } } } }; exports.utils = utils }, 32511: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/utils.timeZone.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _utils = _interopRequireDefault(__webpack_require__( /*! ./timezones/utils.timezones_data */ 51690)); var _dateAdapter = _interopRequireDefault(__webpack_require__( /*! ./dateAdapter */ 26983)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var toMs = _date.default.dateToMilliseconds; var createUTCDate = function(date) { return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes())) }; var getTimezoneOffsetChangeInMinutes = function(startDate, endDate, updatedStartDate, updatedEndDate) { return getDaylightOffset(updatedStartDate, updatedEndDate) - getDaylightOffset(startDate, endDate) }; var getDaylightOffset = function(startDate, endDate) { return new Date(startDate).getTimezoneOffset() - new Date(endDate).getTimezoneOffset() }; var calculateTimezoneByValue = function(timezone) { var date = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : new Date; if ("string" === typeof timezone) { var dateUtc = createUTCDate(date); return _utils.default.getTimeZoneOffsetById(timezone, dateUtc.getTime()) } return timezone }; var _getDaylightOffsetByTimezone = function(startDate, endDate, timeZone) { return calculateTimezoneByValue(timeZone, startDate) - calculateTimezoneByValue(timeZone, endDate) }; var isTimezoneChangeInDate = function(date) { var startDayDate = new Date(new Date(date).setHours(0, 0, 0, 0)); var endDayDate = new Date(new Date(date).setHours(23, 59, 59, 0)); return startDayDate.getTimezoneOffset() - endDayDate.getTimezoneOffset() !== 0 }; var getClientTimezoneOffset = function() { var date = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : new Date; return 6e4 * date.getTimezoneOffset() }; var hasDSTInLocalTimeZone = function() { var _getExtremeDates = getExtremeDates(), _getExtremeDates2 = _slicedToArray(_getExtremeDates, 2), startDate = _getExtremeDates2[0], endDate = _getExtremeDates2[1]; return startDate.getTimezoneOffset() !== endDate.getTimezoneOffset() }; var isEqualLocalTimeZoneByDeclaration = function(timeZoneName, date) { var year = date.getFullYear(); var getOffset = function(date) { return -date.getTimezoneOffset() / 60 }; var getDateAndMoveHourBack = function(dateStamp) { return new Date(dateStamp - 36e5) }; var configTuple = _utils.default.getTimeZoneDeclarationTuple(timeZoneName, year); var _configTuple = _slicedToArray(configTuple, 2), summerTime = _configTuple[0], winterTime = _configTuple[1]; var noDSTInTargetTimeZone = configTuple.length < 2; if (noDSTInTargetTimeZone) { var targetTimeZoneOffset = _utils.default.getTimeZoneOffsetById(timeZoneName, date); var localTimeZoneOffset = getOffset(date); if (targetTimeZoneOffset !== localTimeZoneOffset) { return false } return hasDSTInLocalTimeZone() ? false : true } var localSummerOffset = getOffset(new Date(summerTime.date)); var localWinterOffset = getOffset(new Date(winterTime.date)); if (localSummerOffset !== summerTime.offset) { return false } if (localSummerOffset === getOffset(getDateAndMoveHourBack(summerTime.date))) { return false } if (localWinterOffset !== winterTime.offset) { return false } if (localWinterOffset === getOffset(getDateAndMoveHourBack(winterTime.date))) { return false } return true }; var getExtremeDates = function() { var nowDate = new Date(Date.now()); var startDate = new Date; var endDate = new Date; startDate.setFullYear(nowDate.getFullYear(), 0, 1); endDate.setFullYear(nowDate.getFullYear(), 6, 1); return [startDate, endDate] }; var utils = { getDaylightOffset: getDaylightOffset, getDaylightOffsetInMs: function(startDate, endDate) { return getDaylightOffset(startDate, endDate) * toMs("minute") }, getTimezoneOffsetChangeInMinutes: getTimezoneOffsetChangeInMinutes, getTimezoneOffsetChangeInMs: function(startDate, endDate, updatedStartDate, updatedEndDate) { return getTimezoneOffsetChangeInMinutes(startDate, endDate, updatedStartDate, updatedEndDate) * toMs("minute") }, calculateTimezoneByValue: calculateTimezoneByValue, getCorrectedDateByDaylightOffsets: function(convertedOriginalStartDate, convertedDate, date, timeZone, startDateTimezone) { var daylightOffsetByCommonTimezone = _getDaylightOffsetByTimezone(convertedOriginalStartDate, convertedDate, timeZone); var daylightOffsetByAppointmentTimezone = _getDaylightOffsetByTimezone(convertedOriginalStartDate, convertedDate, startDateTimezone); var diff = daylightOffsetByCommonTimezone - daylightOffsetByAppointmentTimezone; return new Date(date.getTime() - diff * toMs("hour")) }, isSameAppointmentDates: function(startDate, endDate) { endDate = new Date(endDate.getTime() - 1); return _date.default.sameDate(startDate, endDate) }, correctRecurrenceExceptionByTimezone: function(exception, exceptionByStartDate, timeZone, startDateTimeZone) { var isBackConversion = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : false; var timezoneOffset = (exception.getTimezoneOffset() - exceptionByStartDate.getTimezoneOffset()) / 60; if (startDateTimeZone) { timezoneOffset = _getDaylightOffsetByTimezone(exceptionByStartDate, exception, startDateTimeZone) } else if (timeZone) { timezoneOffset = _getDaylightOffsetByTimezone(exceptionByStartDate, exception, timeZone) } return new Date(exception.getTime() + (isBackConversion ? -1 : 1) * timezoneOffset * toMs("hour")) }, getClientTimezoneOffset: getClientTimezoneOffset, getDiffBetweenClientTimezoneOffsets: function() { var firstDate = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : new Date; var secondDate = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : new Date; return getClientTimezoneOffset(firstDate) - getClientTimezoneOffset(secondDate) }, createUTCDateWithLocalOffset: function(date) { if (!date) { return null } return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds())) }, createDateFromUTCWithLocalOffset: function(date) { var result = (0, _dateAdapter.default)(date); var timezoneOffsetBeforeInMin = result.getTimezoneOffset(); result.addTime(result.getTimezoneOffset("minute")); result.subtractMinutes(timezoneOffsetBeforeInMin - result.getTimezoneOffset()); return result.source }, createUTCDate: createUTCDate, isTimezoneChangeInDate: isTimezoneChangeInDate, getDateWithoutTimezoneChange: function(date) { var clonedDate = new Date(date); if (isTimezoneChangeInDate(clonedDate)) { var result = new Date(clonedDate); return new Date(result.setDate(result.getDate() + 1)) } return clonedDate }, hasDSTInLocalTimeZone: hasDSTInLocalTimeZone, isEqualLocalTimeZone: function(timeZoneName) { var date = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : new Date; if (Intl) { var localTimeZoneName = Intl.DateTimeFormat().resolvedOptions().timeZone; if (localTimeZoneName === timeZoneName) { return true } } return isEqualLocalTimeZoneByDeclaration(timeZoneName, date) }, isEqualLocalTimeZoneByDeclaration: isEqualLocalTimeZoneByDeclaration, getTimeZones: function() { var date = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : new Date; var dateInUTC = createUTCDate(date); return _utils.default.getDisplayedTimeZones(dateInUTC.getTime()) }, setOffsetsToDate: function(targetDate, offsetsArray) { var newDateMs = offsetsArray.reduce((function(result, offset) { return result + offset }), targetDate.getTime()); return new Date(newDateMs) } }; var _default = utils; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 27047: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/utils/isSchedulerComponent.js ***! \****************************************************************************************/ function(__unused_webpack_module, exports) { exports.isSchedulerComponent = function(component) { return "dxScheduler" === component.NAME } }, 56012: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/cache.js ***! \******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Cache = void 0; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var Cache = function() { function Cache() { this._cache = new Map } var _proto = Cache.prototype; _proto.clear = function() { this._cache.clear() }; _proto.get = function(name, callback) { if (!this._cache.has(name) && callback) { this.set(name, callback()) } return this._cache.get(name) }; _proto.set = function(name, value) { (0, _type.isDefined)(value) && this._cache.set(name, value) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(Cache, [{ key: "size", get: function() { return this._cache.size } }]); return Cache }(); exports.Cache = Cache }, 96893: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/cells_selection_controller.js ***! \***************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.CellsSelectionController = void 0; var _base = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var CellsSelectionController = function() { function CellsSelectionController() {} var _proto = CellsSelectionController.prototype; _proto.handleArrowClick = function(options) { var key = options.key, focusedCellPosition = options.focusedCellPosition, edgeIndices = options.edgeIndices, getCellDataByPosition = options.getCellDataByPosition, isAllDayPanelCell = options.isAllDayPanelCell; var nextCellIndices; switch (key) { case "down": nextCellIndices = this.getCellFromNextRowPosition(focusedCellPosition, "next", edgeIndices); break; case "up": nextCellIndices = this.getCellFromNextRowPosition(focusedCellPosition, "prev", edgeIndices); break; case "left": nextCellIndices = this.getCellFromNextColumnPosition(_extends({}, options, { direction: "prev" })); break; case "right": nextCellIndices = this.getCellFromNextColumnPosition(_extends({}, options, { direction: "next" })) } var currentCellData = getCellDataByPosition(nextCellIndices.rowIndex, nextCellIndices.columnIndex, isAllDayPanelCell); return this.moveToCell(_extends({}, options, { currentCellData: currentCellData })) }; _proto.getCellFromNextRowPosition = function(focusedCellPosition, direction, edgeIndices) { var columnIndex = focusedCellPosition.columnIndex, rowIndex = focusedCellPosition.rowIndex; var deltaPosition = "next" === direction ? 1 : -1; var nextRowIndex = rowIndex + deltaPosition; var validRowIndex = nextRowIndex >= 0 && nextRowIndex <= edgeIndices.lastRowIndex ? nextRowIndex : rowIndex; return { columnIndex: columnIndex, rowIndex: validRowIndex } }; _proto.getCellFromNextColumnPosition = function(options) { var focusedCellPosition = options.focusedCellPosition, direction = options.direction, edgeIndices = options.edgeIndices, isRTL = options.isRTL, isGroupedByDate = options.isGroupedByDate, groupCount = options.groupCount, isMultiSelection = options.isMultiSelection, viewType = options.viewType; var columnIndex = focusedCellPosition.columnIndex, rowIndex = focusedCellPosition.rowIndex; var firstColumnIndex = edgeIndices.firstColumnIndex, lastColumnIndex = edgeIndices.lastColumnIndex, firstRowIndex = edgeIndices.firstRowIndex, lastRowIndex = edgeIndices.lastRowIndex; var step = isGroupedByDate && isMultiSelection ? groupCount : 1; var sign = isRTL ? -1 : 1; var deltaColumnIndex = "next" === direction ? sign * step : -1 * sign * step; var nextColumnIndex = columnIndex + deltaColumnIndex; var isValidColumnIndex = nextColumnIndex >= firstColumnIndex && nextColumnIndex <= lastColumnIndex; if (isValidColumnIndex) { return { columnIndex: nextColumnIndex, rowIndex: rowIndex } } return (0, _base.isDateAndTimeView)(viewType) ? focusedCellPosition : this._processEdgeCell({ nextColumnIndex: nextColumnIndex, rowIndex: rowIndex, columnIndex: columnIndex, firstColumnIndex: firstColumnIndex, lastColumnIndex: lastColumnIndex, firstRowIndex: firstRowIndex, lastRowIndex: lastRowIndex, step: step }) }; _proto._processEdgeCell = function(options) { var nextColumnIndex = options.nextColumnIndex, rowIndex = options.rowIndex, columnIndex = options.columnIndex, firstColumnIndex = options.firstColumnIndex, lastColumnIndex = options.lastColumnIndex, firstRowIndex = options.firstRowIndex, lastRowIndex = options.lastRowIndex, step = options.step; var validColumnIndex = nextColumnIndex; var validRowIndex = rowIndex; var isLeftEdgeCell = nextColumnIndex < firstColumnIndex; var isRightEdgeCell = nextColumnIndex > lastColumnIndex; if (isLeftEdgeCell) { var columnIndexInNextRow = lastColumnIndex - (step - columnIndex % step - 1); var nextRowIndex = rowIndex - 1; var isValidRowIndex = nextRowIndex >= firstRowIndex; validRowIndex = isValidRowIndex ? nextRowIndex : rowIndex; validColumnIndex = isValidRowIndex ? columnIndexInNextRow : columnIndex } if (isRightEdgeCell) { var _columnIndexInNextRow = firstColumnIndex + columnIndex % step; var _nextRowIndex = rowIndex + 1; var _isValidRowIndex = _nextRowIndex <= lastRowIndex; validRowIndex = _isValidRowIndex ? _nextRowIndex : rowIndex; validColumnIndex = _isValidRowIndex ? _columnIndexInNextRow : columnIndex } return { columnIndex: validColumnIndex, rowIndex: validRowIndex } }; _proto.moveToCell = function(options) { var isMultiSelection = options.isMultiSelection, isMultiSelectionAllowed = options.isMultiSelectionAllowed, focusedCellData = options.focusedCellData, currentCellData = options.currentCellData; var isValidMultiSelection = isMultiSelection && isMultiSelectionAllowed; var nextFocusedCellData = isValidMultiSelection ? this._getNextCellData(currentCellData, focusedCellData) : currentCellData; return nextFocusedCellData }; _proto._getNextCellData = function(nextFocusedCellData, focusedCellData, isVirtualCell) { if (isVirtualCell) { return focusedCellData } var isValidNextFocusedCell = this._isValidNextFocusedCell(nextFocusedCellData, focusedCellData); return isValidNextFocusedCell ? nextFocusedCellData : focusedCellData }; _proto._isValidNextFocusedCell = function(nextFocusedCellData, focusedCellData) { if (!focusedCellData) { return true } var groupIndex = focusedCellData.groupIndex, allDay = focusedCellData.allDay; var nextGroupIndex = nextFocusedCellData.groupIndex, nextAllDay = nextFocusedCellData.allDay; return groupIndex === nextGroupIndex && allDay === nextAllDay }; return CellsSelectionController }(); exports.CellsSelectionController = CellsSelectionController }, 10800: /*!**********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/cells_selection_state.js ***! \**********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _utils = __webpack_require__( /*! ../../../renovation/ui/scheduler/workspaces/base/utils */ 57530); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var CellsSelectionState = function() { function CellsSelectionState(viewDataProvider) { this._viewDataProvider = viewDataProvider; this._focusedCell = null; this._selectedCells = null; this._firstSelectedCell = null; this._prevFocusedCell = null; this._prevSelectedCells = null } var _proto = CellsSelectionState.prototype; _proto.setFocusedCell = function(rowIndex, columnIndex, isAllDay) { if (rowIndex >= 0) { var cell = this._viewDataProvider.getCellData(rowIndex, columnIndex, isAllDay); this._focusedCell = cell } }; _proto.setSelectedCells = function(lastCellCoordinates) { var firstCellCoordinates = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0; var viewDataProvider = this._viewDataProvider; var lastRowIndex = lastCellCoordinates.rowIndex, lastColumnIndex = lastCellCoordinates.columnIndex, isLastCellAllDay = lastCellCoordinates.allDay; if (lastRowIndex < 0) { return } var firstCell = firstCellCoordinates ? viewDataProvider.getCellData(firstCellCoordinates.rowIndex, firstCellCoordinates.columnIndex, firstCellCoordinates.allDay) : this._firstSelectedCell; var lastCell = viewDataProvider.getCellData(lastRowIndex, lastColumnIndex, isLastCellAllDay); this._firstSelectedCell = firstCell; this._selectedCells = (0, _utils.getSelectedCells)(this._viewDataProvider, firstCell, lastCell, isLastCellAllDay) }; _proto.setSelectedCellsByData = function(selectedCellsData) { this._selectedCells = selectedCellsData }; _proto.getSelectedCells = function() { return this._selectedCells }; _proto.releaseSelectedAndFocusedCells = function() { this.releaseSelectedCells(); this.releaseFocusedCell() }; _proto.releaseSelectedCells = function() { this._prevSelectedCells = this._selectedCells; this._prevFirstSelectedCell = this._firstSelectedCell; this._selectedCells = null; this._firstSelectedCell = null }; _proto.releaseFocusedCell = function() { this._prevFocusedCell = this._focusedCell; this._focusedCell = null }; _proto.restoreSelectedAndFocusedCells = function() { this._selectedCells = this._selectedCells || this._prevSelectedCells; this._focusedCell = this._focusedCell || this._prevFocusedCell; this._firstSelectedCell = this._firstSelectedCell || this._prevFirstSelectedCell; this._prevSelectedCells = null; this._prevFirstSelectedCell = null; this._prevFocusedCell = null }; _proto.clearSelectedAndFocusedCells = function() { this._prevSelectedCells = null; this._selectedCells = null; this._prevFocusedCell = null; this._focusedCell = null }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(CellsSelectionState, [{ key: "viewDataProvider", get: function() { return this._viewDataProvider } }, { key: "focusedCell", get: function() { var focusedCell = this._focusedCell; if (!focusedCell) { return } var groupIndex = focusedCell.groupIndex, startDate = focusedCell.startDate, allDay = focusedCell.allDay; var cellInfo = { groupIndex: groupIndex, startDate: startDate, isAllDay: allDay, index: focusedCell.index }; var cellPosition = this.viewDataProvider.findCellPositionInMap(cellInfo); return { coordinates: cellPosition, cellData: focusedCell } } }]); return CellsSelectionState }(); exports.default = CellsSelectionState; module.exports = exports.default; module.exports.default = exports.default }, 69576: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/helpers/positionHelper.js ***! \***********************************************************************************************/ function(__unused_webpack_module, exports) { exports.getMaxAllowedPosition = exports.getGroupWidth = exports.getCellWidth = exports.getCellHeight = exports.getAllDayHeight = exports.PositionHelper = void 0; function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor } var getCellSize = function(DOMMetaData) { var dateTableCellsMeta = DOMMetaData.dateTableCellsMeta; var length = null === dateTableCellsMeta || void 0 === dateTableCellsMeta ? void 0 : dateTableCellsMeta.length; if (!length) { return { width: 0, height: 0 } } var cellIndex = length > 1 ? 1 : 0; var cellSize = dateTableCellsMeta[cellIndex][0]; return { width: cellSize.width, height: cellSize.height } }; var getCellHeight = function(DOMMetaData) { return getCellSize(DOMMetaData).height }; exports.getCellHeight = getCellHeight; var getCellWidth = function(DOMMetaData) { return getCellSize(DOMMetaData).width }; exports.getCellWidth = getCellWidth; var getAllDayHeight = function(showAllDayPanel, isVerticalGrouping, DOMMetaData) { if (!showAllDayPanel) { return 0 } if (isVerticalGrouping) { var dateTableCellsMeta = DOMMetaData.dateTableCellsMeta; var length = null === dateTableCellsMeta || void 0 === dateTableCellsMeta ? void 0 : dateTableCellsMeta.length; return length ? dateTableCellsMeta[0][0].height : 0 } var allDayPanelCellsMeta = DOMMetaData.allDayPanelCellsMeta; return null !== allDayPanelCellsMeta && void 0 !== allDayPanelCellsMeta && allDayPanelCellsMeta.length ? allDayPanelCellsMeta[0].height : 0 }; exports.getAllDayHeight = getAllDayHeight; var getMaxAllowedPosition = function(groupIndex, viewDataProvider, rtlEnabled, DOMMetaData) { var validGroupIndex = groupIndex || 0; return function(groupIndex, viewDataProvider, rtlEnabled, DOMMetaData) { var dateTableCellsMeta = DOMMetaData.dateTableCellsMeta; var firstRow = dateTableCellsMeta[0]; if (!firstRow) { return 0 } var _viewDataProvider$get = viewDataProvider.getLastGroupCellPosition(groupIndex), columnIndex = _viewDataProvider$get.columnIndex; var cellPosition = firstRow[columnIndex]; if (!cellPosition) { return 0 } return !rtlEnabled ? cellPosition.left + cellPosition.width : cellPosition.left }(validGroupIndex, viewDataProvider, rtlEnabled, DOMMetaData) }; exports.getMaxAllowedPosition = getMaxAllowedPosition; exports.getGroupWidth = function(groupIndex, viewDataProvider, options) { var isVirtualScrolling = options.isVirtualScrolling, rtlEnabled = options.rtlEnabled, DOMMetaData = options.DOMMetaData; var cellWidth = getCellWidth(DOMMetaData); var result = viewDataProvider.getCellCount(options) * cellWidth; if (isVirtualScrolling) { var groupedData = viewDataProvider.groupedDataMap.dateTableGroupedMap; var groupLength = groupedData[groupIndex][0].length; result = groupLength * cellWidth } var position = getMaxAllowedPosition(groupIndex, viewDataProvider, rtlEnabled, DOMMetaData); var currentPosition = position[groupIndex]; if (currentPosition) { if (rtlEnabled) { result = currentPosition - position[groupIndex + 1] } else if (0 === groupIndex) { result = currentPosition } else { result = currentPosition - position[groupIndex - 1] } } return result }; var PositionHelper = function() { function PositionHelper(options) { this.options = options; this.groupStrategy = this.options.isVerticalGrouping ? new GroupStrategyBase(this.options) : new GroupStrategyHorizontal(this.options) } var _proto = PositionHelper.prototype; _proto.getHorizontalMax = function(groupIndex) { var _this = this; var getMaxPosition = function(groupIndex) { return getMaxAllowedPosition(groupIndex, _this.viewDataProvider, _this.rtlEnabled, _this.DOMMetaData) }; if (this.isGroupedByDate) { var viewPortGroupCount = this.viewDataProvider.getViewPortGroupCount(); return Math.max(getMaxPosition(groupIndex), getMaxPosition(viewPortGroupCount - 1)) } return getMaxPosition(groupIndex) }; _proto.getResizableStep = function() { var cellWidth = getCellWidth(this.DOMMetaData); if (this.isGroupedByDate) { return this.groupCount * cellWidth } return cellWidth }; _proto.getVerticalMax = function(options) { return this.groupStrategy.getVerticalMax(options) }; _proto.getOffsetByAllDayPanel = function(options) { return this.groupStrategy.getOffsetByAllDayPanel(options) }; _proto.getGroupTop = function(options) { return this.groupStrategy.getGroupTop(options) }; _createClass(PositionHelper, [{ key: "viewDataProvider", get: function() { return this.options.viewDataProvider } }, { key: "rtlEnabled", get: function() { return this.options.rtlEnabled } }, { key: "isGroupedByDate", get: function() { return this.options.isGroupedByDate } }, { key: "groupCount", get: function() { return this.options.groupCount } }, { key: "DOMMetaData", get: function() { return this.options.getDOMMetaDataCallback() } }]); return PositionHelper }(); exports.PositionHelper = PositionHelper; var GroupStrategyBase = function() { function GroupStrategyBase(options) { this.options = options } var _proto2 = GroupStrategyBase.prototype; _proto2.getOffsetByAllDayPanel = function(_ref) { var groupIndex = _ref.groupIndex, supportAllDayRow = _ref.supportAllDayRow, showAllDayPanel = _ref.showAllDayPanel; var result = 0; if (supportAllDayRow && showAllDayPanel) { var allDayPanelHeight = getAllDayHeight(showAllDayPanel, true, this.DOMMetaData); result = allDayPanelHeight * (groupIndex + 1) } return result }; _proto2.getVerticalMax = function(options) { var maxAllowedPosition = this._getMaxAllowedVerticalPosition(_extends({}, options, { viewDataProvider: this.viewDataProvider, rtlEnabled: this.rtlEnabled, DOMMetaData: this.DOMMetaData })); maxAllowedPosition += this.getOffsetByAllDayPanel(options); return maxAllowedPosition }; _proto2.getGroupTop = function(_ref2) { var groupIndex = _ref2.groupIndex, showAllDayPanel = _ref2.showAllDayPanel, isGroupedAllDayPanel = _ref2.isGroupedAllDayPanel; var rowCount = this.viewDataProvider.getRowCountInGroup(groupIndex); var maxVerticalPosition = this._getMaxAllowedVerticalPosition({ groupIndex: groupIndex, viewDataProvider: this.viewDataProvider, showAllDayPanel: showAllDayPanel, isGroupedAllDayPanel: isGroupedAllDayPanel, isVerticalGrouping: true, DOMMetaData: this.DOMMetaData }); return maxVerticalPosition - getCellHeight(this.DOMMetaData) * rowCount }; _proto2._getAllDayHeight = function(showAllDayPanel) { return getAllDayHeight(showAllDayPanel, true, this.DOMMetaData) }; _proto2._getMaxAllowedVerticalPosition = function(_ref3) { var groupIndex = _ref3.groupIndex, showAllDayPanel = _ref3.showAllDayPanel, isGroupedAllDayPanel = _ref3.isGroupedAllDayPanel; var _this$viewDataProvide = this.viewDataProvider.getLastGroupCellPosition(groupIndex), rowIndex = _this$viewDataProvide.rowIndex; var dateTableCellsMeta = this.DOMMetaData.dateTableCellsMeta; var lastGroupRow = dateTableCellsMeta[rowIndex]; if (!lastGroupRow) { return 0 } var result = lastGroupRow[0].top + lastGroupRow[0].height; if (isGroupedAllDayPanel) { result -= (groupIndex + 1) * this._getAllDayHeight(showAllDayPanel) } return result }; _createClass(GroupStrategyBase, [{ key: "viewDataProvider", get: function() { return this.options.viewDataProvider } }, { key: "isGroupedByDate", get: function() { return this.options.isGroupedByDate } }, { key: "rtlEnabled", get: function() { return this.options.rtlEnabled } }, { key: "groupCount", get: function() { return this.options.groupCount } }, { key: "DOMMetaData", get: function() { return this.options.getDOMMetaDataCallback() } }]); return GroupStrategyBase }(); var GroupStrategyHorizontal = function(_GroupStrategyBase) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(GroupStrategyHorizontal, _GroupStrategyBase); function GroupStrategyHorizontal() { return _GroupStrategyBase.apply(this, arguments) || this } var _proto3 = GroupStrategyHorizontal.prototype; _proto3.getOffsetByAllDayPanel = function(options) { return 0 }; _proto3.getVerticalMax = function(options) { var isVirtualScrolling = options.isVirtualScrolling, groupIndex = options.groupIndex; var correctedGroupIndex = isVirtualScrolling ? groupIndex : 0; return this._getMaxAllowedVerticalPosition(_extends({}, options, { groupIndex: correctedGroupIndex })) }; _proto3.getGroupTop = function(options) { return 0 }; _proto3._getAllDayHeight = function(showAllDayPanel) { return getAllDayHeight(showAllDayPanel, false, this.DOMMetaData) }; return GroupStrategyHorizontal }(GroupStrategyBase) }, 2809: /*!********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.agenda.js ***! \********************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../core/dom_adapter */ 73349)); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _element = __webpack_require__( /*! ../../../core/element */ 6415); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _uiScheduler = _interopRequireDefault(__webpack_require__( /*! ./ui.scheduler.work_space */ 44845)); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../localization/date */ 91500)); var _table_creator = _interopRequireDefault(__webpack_require__( /*! ../table_creator */ 37428)); var _classes = __webpack_require__( /*! ../classes */ 62060); var _utils = __webpack_require__( /*! ../resources/utils */ 98140); var _agenda = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/agenda */ 89206); var _base = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _constants = __webpack_require__( /*! ../constants */ 27728); var _date2 = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/date */ 91198)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var tableCreator = _table_creator.default.tableCreator; var SchedulerAgenda = function(_WorkSpace) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerAgenda, _WorkSpace); function SchedulerAgenda() { return _WorkSpace.apply(this, arguments) || this } var _proto = SchedulerAgenda.prototype; _proto.getStartViewDate = function() { return this._startViewDate }; _proto._init = function() { _WorkSpace.prototype._init.call(this); this._activeStateUnit = void 0 }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_WorkSpace.prototype._getDefaultOptions.call(this), { agendaDuration: 7, rowHeight: 60, noDataText: "" }) }; _proto._optionChanged = function(args) { var name = args.name; var value = args.value; switch (name) { case "agendaDuration": break; case "noDataText": case "rowHeight": this._recalculateAgenda(this._rows); break; case "groups": if (!value || !value.length) { if (this._$groupTable) { this._$groupTable.remove(); this._$groupTable = null; this._detachGroupCountClass() } } else if (!this._$groupTable) { this._initGroupTable(); this._dateTableScrollable.$content().prepend(this._$groupTable) } _WorkSpace.prototype._optionChanged.call(this, args); break; default: _WorkSpace.prototype._optionChanged.call(this, args) } }; _proto._renderFocusState = function() { return (0, _common.noop)() }; _proto._renderFocusTarget = function() { return (0, _common.noop)() }; _proto._cleanFocusState = function() { return (0, _common.noop)() }; _proto.supportAllDayRow = function() { return false }; _proto._isVerticalGroupedWorkSpace = function() { return false }; _proto._getElementClass = function() { return "dx-scheduler-agenda" }; _proto._calculateStartViewDate = function() { return (0, _agenda.calculateStartViewDate)(this.option("currentDate"), this.option("startDayHour")) }; _proto._getRowCount = function() { return this.option("agendaDuration") }; _proto._getCellCount = function() { return 1 }; _proto._getTimePanelRowCount = function() { return this.option("agendaDuration") }; _proto._renderAllDayPanel = function() { return (0, _common.noop)() }; _proto._toggleAllDayVisibility = function() { return (0, _common.noop)() }; _proto._initWorkSpaceUnits = function() { this._initGroupTable(); this._$timePanel = (0, _renderer.default)("<table>").addClass(_classes.TIME_PANEL_CLASS); this._$dateTable = (0, _renderer.default)("<table>").addClass(_classes.DATE_TABLE_CLASS); this._$dateTableScrollableContent = (0, _renderer.default)("<div>").addClass("dx-scheduler-date-table-scrollable-content"); this._$dateTableContainer = (0, _renderer.default)("<div>").addClass("dx-scheduler-date-table-container") }; _proto._initGroupTable = function() { var groups = this.option("groups"); if (groups && groups.length) { this._$groupTable = (0, _renderer.default)("<table>").addClass("dx-scheduler-group-table") } }; _proto._renderView = function() { this._startViewDate = this._calculateStartViewDate(); this._rows = []; this._initPositionHelper() }; _proto._recalculateAgenda = function(rows) { var cellTemplates = []; this._cleanView(); if (this._rowsIsEmpty(rows)) { this._renderNoData(); return } this._rows = rows; if (this._$groupTable) { cellTemplates = this._renderGroupHeader(); this._setGroupHeaderCellsHeight() } this._renderTimePanel(); this._renderDateTable(); this.invoke("onAgendaReady", rows); this._applyCellTemplates(cellTemplates); this._dateTableScrollable.update() }; _proto._renderNoData = function() { this._$noDataContainer = (0, _renderer.default)("<div>").addClass("dx-scheduler-agenda-nodata").html(this.option("noDataText")); this._dateTableScrollable.$content().append(this._$noDataContainer) }; _proto._setTableSizes = function() { return (0, _common.noop)() }; _proto._toggleHorizontalScrollClass = function() { return (0, _common.noop)() }; _proto._createCrossScrollingConfig = function() { return (0, _common.noop)() }; _proto._setGroupHeaderCellsHeight = function() { var $cells = this._getGroupHeaderCells().filter((function(_, element) { return !element.getAttribute("rowSpan") })); var rows = this._removeEmptyRows(this._rows); if (!rows.length) { return } for (var i = 0; i < $cells.length; i++) { var $cellContent = $cells.eq(i).find(".dx-scheduler-group-header-content"); (0, _size.setOuterHeight)($cellContent, this._getGroupRowHeight(rows[i])) } }; _proto._rowsIsEmpty = function(rows) { var result = true; for (var i = 0; i < rows.length; i++) { var groupRow = rows[i]; for (var j = 0; j < groupRow.length; j++) { if (groupRow[j]) { result = false; break } } } return result }; _proto._attachGroupCountClass = function() { var className = (0, _base.getVerticalGroupCountClass)(this.option("groups")); this.$element().addClass(className) }; _proto._removeEmptyRows = function(rows) { var result = []; for (var i = 0; i < rows.length; i++) { if (rows[i].length && !(data = rows[i], !data.some((function(value) { return value > 0 })))) { result.push(rows[i]) } } var data; return result }; _proto._getGroupHeaderContainer = function() { return this._$groupTable }; _proto._makeGroupRows = function() { var _this = this; var tree = (0, _utils.createReducedResourcesTree)(this.option("loadedResources"), (function(field, action) { return (0, _utils.getDataAccessors)(_this.option("getResourceDataAccessors")(), field, action) }), this.option("getFilteredItems")()); var cellTemplate = this.option("resourceCellTemplate"); var getGroupHeaderContentClass = _classes.GROUP_HEADER_CONTENT_CLASS; var cellTemplates = []; var table = tableCreator.makeGroupedTableFromJSON(tableCreator.VERTICAL, tree, { cellTag: "th", groupTableClass: "dx-scheduler-group-table", groupRowClass: _classes.GROUP_ROW_CLASS, groupCellClass: this._getGroupHeaderClass(), groupCellCustomContent: function(cell, cellText, index, data) { var container = _dom_adapter.default.createElement("div"); var contentWrapper = _dom_adapter.default.createElement("div"); container.className = getGroupHeaderContentClass; contentWrapper.appendChild(cellText); container.appendChild(contentWrapper); container.className = getGroupHeaderContentClass; if (cellTemplate && cellTemplate.render) { cellTemplates.push(cellTemplate.render.bind(cellTemplate, { model: { data: data.data, id: data.value, color: data.color, text: cellText.textContent }, container: (0, _element.getPublicElement)((0, _renderer.default)(container)), index: index })) } else { contentWrapper.appendChild(cellText); container.appendChild(contentWrapper) } cell.appendChild(container) }, cellTemplate: cellTemplate }); return { elements: (0, _renderer.default)(table).find(".".concat(_classes.GROUP_ROW_CLASS)), cellTemplates: cellTemplates } }; _proto._cleanView = function() { this._$dateTable.empty(); this._$timePanel.empty(); if (this._$groupTable) { this._$groupTable.empty() } if (this._$noDataContainer) { this._$noDataContainer.empty(); this._$noDataContainer.remove(); delete this._$noDataContainer } }; _proto._createWorkSpaceElements = function() { this._createWorkSpaceStaticElements() }; _proto._createWorkSpaceStaticElements = function() { this._$dateTableContainer.append(this._$dateTable); this._dateTableScrollable.$content().append(this._$dateTableScrollableContent); if (this._$groupTable) { this._$dateTableScrollableContent.prepend(this._$groupTable) } this._$dateTableScrollableContent.append(this._$timePanel, this._$dateTableContainer); this.$element().append(this._dateTableScrollable.$element()) }; _proto._renderDateTable = function() { this._renderTableBody({ container: (0, _element.getPublicElement)(this._$dateTable), rowClass: _classes.DATE_TABLE_ROW_CLASS, cellClass: this._getDateTableCellClass() }) }; _proto._attachTablesEvents = function() { return (0, _common.noop)() }; _proto._attachEvents = function() { return (0, _common.noop)() }; _proto._cleanCellDataCache = function() { return (0, _common.noop)() }; _proto.isIndicationAvailable = function() { return false }; _proto._prepareCellTemplateOptions = function(text, date, rowIndex, $cell) { var groupsOpt = this.option("groups"); var groups = {}; var isGroupedView = !!groupsOpt.length; var path = isGroupedView && (0, _utils.getPathToLeaf)(rowIndex, groupsOpt) || []; path.forEach((function(resourceValue, resourceIndex) { var resourceName = groupsOpt[resourceIndex].name; groups[resourceName] = resourceValue })); var groupIndex = isGroupedView ? this._getGroupIndexByResourceId(groups) : void 0; return { model: { text: text, date: date, groups: groups, groupIndex: groupIndex }, container: (0, _element.getPublicElement)($cell), index: rowIndex } }; _proto._renderTableBody = function(options) { var cellTemplates = []; var cellTemplateOpt = options.cellTemplate; this._$rows = []; var i; var fillTableBody = function(rowIndex, rowSize) { if (rowSize) { var date; var cellDateNumber; var cellDayName; var $row = (0, _renderer.default)("<tr>"); var $td = (0, _renderer.default)("<td>"); (0, _size.setHeight)($td, this._getRowHeight(rowSize)); if (options.getStartDate) { date = options.getStartDate && options.getStartDate(rowIndex); cellDateNumber = _date.default.format(date, "d"); cellDayName = _date.default.format(date, _base.formatWeekday) } if (cellTemplateOpt && cellTemplateOpt.render) { var templateOptions = this._prepareCellTemplateOptions(cellDateNumber + " " + cellDayName, date, i, $td); cellTemplates.push(cellTemplateOpt.render.bind(cellTemplateOpt, templateOptions)) } else if (cellDateNumber && cellDayName) { $td.addClass("dx-scheduler-agenda-date").text(cellDateNumber + " " + cellDayName) } if (options.rowClass) { $row.addClass(options.rowClass) } if (options.cellClass) { $td.addClass(options.cellClass) } $row.append($td); this._$rows.push($row) } }.bind(this); for (i = 0; i < this._rows.length; i++) { (0, _iterator.each)(this._rows[i], fillTableBody); this._setLastRowClass() }(0, _renderer.default)(options.container).append((0, _renderer.default)("<tbody>").append(this._$rows)); this._applyCellTemplates(cellTemplates) }; _proto._setLastRowClass = function() { if (this._rows.length > 1 && this._$rows.length) { var $lastRow = this._$rows[this._$rows.length - 1]; $lastRow.addClass("dx-scheduler-date-table-last-row") } }; _proto._renderTimePanel = function() { this._renderTableBody({ container: (0, _element.getPublicElement)(this._$timePanel), rowCount: this._getTimePanelRowCount(), cellCount: 1, rowClass: "dx-scheduler-time-panel-row", cellClass: "dx-scheduler-time-panel-cell", cellTemplate: this.option("dateCellTemplate"), getStartDate: this._getTimePanelStartDate.bind(this) }) }; _proto._getTimePanelStartDate = function(rowIndex) { var current = new Date(this.option("currentDate")); var cellDate = new Date(current.setDate(current.getDate() + rowIndex)); return cellDate }; _proto._getRowHeight = function(rowSize) { var baseHeight = this.option("rowHeight"); var innerOffset = 5 * (rowSize - 1); return rowSize ? baseHeight * rowSize + innerOffset + 20 : 0 }; _proto._getGroupRowHeight = function(groupRows) { if (!groupRows) { return } var result = 0; for (var i = 0; i < groupRows.length; i++) { result += this._getRowHeight(groupRows[i]) } return result }; _proto._calculateRows = function(appointments) { return this.renderingStrategy.calculateRows(appointments, this.option("agendaDuration"), this.option("currentDate")) }; _proto.onDataSourceChanged = function(appointments) { _WorkSpace.prototype.onDataSourceChanged.call(this); this._renderView(); var rows = this._calculateRows(appointments); this._recalculateAgenda(rows) }; _proto.getAgendaVerticalStepHeight = function() { return this.option("rowHeight") }; _proto.getEndViewDate = function() { var currentDate = new Date(this.option("currentDate")); var agendaDuration = this.option("agendaDuration"); currentDate.setHours(this.option("endDayHour")); var result = currentDate.setDate(currentDate.getDate() + agendaDuration - 1) - 6e4; return new Date(result) }; _proto.getEndViewDateByEndDayHour = function() { return this.getEndViewDate() }; _proto.getCellDataByCoordinates = function() { return { startDate: null, endDate: null } }; _proto.updateScrollPosition = function(date) { var newDate = this.timeZoneCalculator.createDate(date, { path: "toGrid" }); var bounds = this.getVisibleBounds(); var startDateHour = newDate.getHours(); var startDateMinutes = newDate.getMinutes(); if (this.needUpdateScrollPosition(startDateHour, startDateMinutes, bounds, newDate)) { this.scrollToTime(startDateHour, startDateMinutes, newDate) } }; _proto.needUpdateScrollPosition = function(hours, minutes, bounds) { var isUpdateNeeded = false; if (hours < bounds.top.hours || hours > bounds.bottom.hours) { isUpdateNeeded = true } if (hours === bounds.top.hours && minutes < bounds.top.minutes) { isUpdateNeeded = true } if (hours === bounds.bottom.hours && minutes > bounds.top.minutes) { isUpdateNeeded = true } return isUpdateNeeded }; _proto.renovatedRenderSupported = function() { return false }; _proto._setSelectedCellsByCellData = function() {}; _proto._getIntervalDuration = function() { return _date2.default.dateToMilliseconds("day") * this.option("intervalCount") }; _proto.getDOMElementsMetaData = function() { return { dateTableCellsMeta: [ [{}] ], allDayPanelCellsMeta: [{}] } }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(SchedulerAgenda, [{ key: "type", get: function() { return _constants.VIEWS.AGENDA } }, { key: "renderingStrategy", get: function() { return this.invoke("getLayoutManager").getRenderingStrategyInstance() } }, { key: "appointmentDataProvider", get: function() { return this.option("getAppointmentDataProvider")() } }]); return SchedulerAgenda }(_uiScheduler.default); (0, _component_registrator.default)("dxSchedulerAgenda", SchedulerAgenda); var _default = SchedulerAgenda; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 10373: /*!**********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.timeline.js ***! \**********************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _position = __webpack_require__( /*! ../../../core/utils/position */ 37518); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _uiSchedulerWork_space = _interopRequireDefault(__webpack_require__( /*! ./ui.scheduler.work_space.indicator */ 22955)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/date */ 91198)); var _table_creator = _interopRequireDefault(__webpack_require__( /*! ../table_creator */ 37428)); var _uiSchedulerCurrent_time_shader = _interopRequireDefault(__webpack_require__( /*! ../shaders/ui.scheduler.current_time_shader.horizontal */ 93837)); var _classes = __webpack_require__( /*! ../classes */ 62060); var _timeline_week = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/timeline_week */ 92956); var _utils = _interopRequireDefault(__webpack_require__( /*! ../utils.timeZone */ 32511)); var _layout = _interopRequireDefault(__webpack_require__( /*! ../../../renovation/ui/scheduler/workspaces/timeline/header_panel/layout.j */ 8262)); var _base = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var tableCreator = _table_creator.default.tableCreator; var toMs = _date.default.dateToMilliseconds; var SchedulerTimeline = function(_SchedulerWorkSpace) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerTimeline, _SchedulerWorkSpace); function SchedulerTimeline() { return _SchedulerWorkSpace.apply(this, arguments) || this } var _proto = SchedulerTimeline.prototype; _proto.getGroupTableWidth = function() { return this._$sidebarTable ? (0, _size.getOuterWidth)(this._$sidebarTable) : 0 }; _proto._getTotalRowCount = function(groupCount) { if (this._isHorizontalGroupedWorkSpace()) { return this._getRowCount() } else { groupCount = groupCount || 1; return this._getRowCount() * groupCount } }; _proto._getFormat = function() { return "shorttime" }; _proto._getWorkSpaceHeight = function() { if (this.option("crossScrollingEnabled") && (0, _window.hasWindow)()) { return (0, _position.getBoundingRect)(this._$dateTable.get(0)).height } return (0, _position.getBoundingRect)(this.$element().get(0)).height }; _proto._dateTableScrollableConfig = function() { var config = _SchedulerWorkSpace.prototype._dateTableScrollableConfig.call(this); var timelineConfig = { direction: "horizontal" }; return this.option("crossScrollingEnabled") ? config : (0, _extend.extend)(config, timelineConfig) }; _proto._needCreateCrossScrolling = function() { return true }; _proto._headerScrollableConfig = function() { var config = _SchedulerWorkSpace.prototype._headerScrollableConfig.call(this); return (0, _extend.extend)(config, { scrollByContent: true }) }; _proto.supportAllDayRow = function() { return false }; _proto._getGroupHeaderContainer = function() { if (this._isHorizontalGroupedWorkSpace()) { return this._$thead } return this._$sidebarTable }; _proto._insertAllDayRowsIntoDateTable = function() { return false }; _proto._needRenderWeekHeader = function() { return false }; _proto._incrementDate = function(date) { date.setDate(date.getDate() + 1) }; _proto.getIndicationCellCount = function() { var timeDiff = this._getTimeDiff(); return this._calculateDurationInCells(timeDiff) }; _proto._getTimeDiff = function() { var today = this._getToday(); var date = this._getIndicationFirstViewDate(); var startViewDate = this.getStartViewDate(); var dayLightOffset = _utils.default.getDaylightOffsetInMs(startViewDate, today); if (dayLightOffset) { today = new Date(today.getTime() + dayLightOffset) } return today.getTime() - date.getTime() }; _proto._calculateDurationInCells = function(timeDiff) { var today = this._getToday(); var differenceInDays = Math.floor(timeDiff / toMs("day")); var duration = (timeDiff - differenceInDays * toMs("day") - this.option("startDayHour") * toMs("hour")) / this.getCellDuration(); if (today.getHours() > this.option("endDayHour")) { duration = this._getCellCountInDay() } if (duration < 0) { duration = 0 } return differenceInDays * this._getCellCountInDay() + duration }; _proto.getIndicationWidth = function() { if (this.isGroupedByDate()) { var cellCount = this.getIndicationCellCount(); var integerPart = Math.floor(cellCount); var fractionPart = cellCount - integerPart; return this.getCellWidth() * (integerPart * this._getGroupCount() + fractionPart) } else { return this.getIndicationCellCount() * this.getCellWidth() } }; _proto._isVerticalShader = function() { return false }; _proto._isCurrentTimeHeaderCell = function() { return false }; _proto._setTableSizes = function() { var minHeight = this._getWorkSpaceMinHeight(); (0, _size.setHeight)(this._$sidebarTable, minHeight); (0, _size.setHeight)(this._$dateTable, minHeight); _SchedulerWorkSpace.prototype._setTableSizes.call(this); this.virtualScrollingDispatcher.updateDimensions() }; _proto._getWorkSpaceMinHeight = function() { var minHeight = this._getWorkSpaceHeight(); var workspaceContainerHeight = (0, _size.getOuterHeight)(this.$element(), true) - this.getHeaderPanelHeight() - 2 - 10; if (minHeight < workspaceContainerHeight) { minHeight = workspaceContainerHeight } return minHeight }; _proto._getCellCoordinatesByIndex = function(index) { return { columnIndex: index % this._getCellCount(), rowIndex: 0 } }; _proto._getCellByCoordinates = function(cellCoordinates, groupIndex) { var indexes = this._groupedStrategy.prepareCellIndexes(cellCoordinates, groupIndex); return this._$dateTable.find("tr").eq(indexes.rowIndex).find("td").eq(indexes.columnIndex) }; _proto._getWorkSpaceWidth = function() { return (0, _size.getOuterWidth)(this._$dateTable, true) }; _proto._getIndicationFirstViewDate = function() { return _date.default.trimTime(new Date(this.getStartViewDate())) }; _proto._getIntervalBetween = function(currentDate, allDay) { var startDayHour = this.option("startDayHour"); var endDayHour = this.option("endDayHour"); var firstViewDate = this.getStartViewDate(); var firstViewDateTime = firstViewDate.getTime(); var hiddenInterval = (24 - endDayHour + startDayHour) * toMs("hour"); var timeZoneOffset = _date.default.getTimezonesDifference(firstViewDate, currentDate); var apptStart = currentDate.getTime(); var fullInterval = apptStart - firstViewDateTime - timeZoneOffset; var fullDays = Math.floor(fullInterval / toMs("day")); var tailDuration = fullInterval - fullDays * toMs("day"); var tailDelta = 0; var cellCount = this._getCellCountInDay() * (fullDays - this._getWeekendsCount(fullDays)); var gapBeforeAppt = apptStart - _date.default.trimTime(new Date(currentDate)).getTime(); var result = cellCount * this.option("hoursInterval") * toMs("hour"); if (!allDay) { if (currentDate.getHours() < startDayHour) { tailDelta = tailDuration - hiddenInterval + gapBeforeAppt } else if (currentDate.getHours() >= startDayHour && currentDate.getHours() < endDayHour) { tailDelta = tailDuration } else if (currentDate.getHours() >= startDayHour && currentDate.getHours() >= endDayHour) { tailDelta = tailDuration - (gapBeforeAppt - endDayHour * toMs("hour")) } else if (!fullDays) { result = fullInterval } result += tailDelta } return result }; _proto._getWeekendsCount = function() { return 0 }; _proto.getAllDayContainer = function() { return null }; _proto.getTimePanelWidth = function() { return 0 }; _proto.getIntervalDuration = function(allDay) { return this.getCellDuration() }; _proto.getCellMinWidth = function() { return 0 }; _proto.getWorkSpaceLeftOffset = function() { return 0 }; _proto.scrollToTime = function(hours, minutes, date) { var coordinates = this._getScrollCoordinates(hours, minutes, date); var scrollable = this.getScrollable(); var offset = this.option("rtlEnabled") ? (0, _position.getBoundingRect)(this.getScrollableContainer().get(0)).width : 0; if (this.option("templatesRenderAsynchronously")) { setTimeout((function() { scrollable.scrollBy({ left: coordinates.left - scrollable.scrollLeft() - offset, top: 0 }) })) } else { scrollable.scrollBy({ left: coordinates.left - scrollable.scrollLeft() - offset, top: 0 }) } }; _proto.renderRAllDayPanel = function() {}; _proto.renderRTimeTable = function() {}; _proto._renderGroupAllDayPanel = function() {}; _proto.generateRenderOptions = function() { var options = _SchedulerWorkSpace.prototype.generateRenderOptions.call(this, true); return _extends({}, options, { isGenerateWeekDaysHeaderData: this._needRenderWeekHeader(), getDateForHeaderText: _timeline_week.getDateForHeaderText }) }; _proto._init = function() { _SchedulerWorkSpace.prototype._init.call(this); this.$element().addClass("dx-scheduler-timeline"); this._$sidebarTable = (0, _renderer.default)("<div>").addClass("dx-scheduler-group-table") }; _proto._getDefaultGroupStrategy = function() { return "vertical" }; _proto._toggleGroupingDirectionClass = function() { this.$element().toggleClass("dx-scheduler-work-space-horizontal-grouped", this._isHorizontalGroupedWorkSpace()) }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_SchedulerWorkSpace.prototype._getDefaultOptions.call(this), { groupOrientation: "vertical" }) }; _proto._createWorkSpaceElements = function() { this._createWorkSpaceScrollableElements() }; _proto._toggleAllDayVisibility = function() { return (0, _common.noop)() }; _proto._changeAllDayVisibility = function() { return (0, _common.noop)() }; _proto._getDateHeaderTemplate = function() { return this.option("timeCellTemplate") }; _proto._renderView = function() { var groupCellTemplates; if (!this.isRenovatedRender()) { groupCellTemplates = this._renderGroupHeader() } this.renderWorkSpace(); if (this.isRenovatedRender()) { this.virtualScrollingDispatcher.updateDimensions() } this._shader = new _uiSchedulerCurrent_time_shader.default(this); this._$sidebarTable.appendTo(this._sidebarScrollable.$content()); if (this.isRenovatedRender() && this._isVerticalGroupedWorkSpace()) { this.renderRGroupPanel() } this.updateHeaderEmptyCellWidth(); this._applyCellTemplates(groupCellTemplates) }; _proto._setHorizontalGroupHeaderCellsHeight = function() { return (0, _common.noop)() }; _proto._setCurrentTimeCells = function() { var timePanelCells = this._getTimePanelCells(); var currentTimeCellIndices = this._getCurrentTimePanelCellIndices(); currentTimeCellIndices.forEach((function(timePanelCellIndex) { timePanelCells.eq(timePanelCellIndex).addClass(_classes.HEADER_CURRENT_TIME_CELL_CLASS) })) }; _proto._cleanCurrentTimeCells = function() { this.$element().find(".".concat(_classes.HEADER_CURRENT_TIME_CELL_CLASS)).removeClass(_classes.HEADER_CURRENT_TIME_CELL_CLASS) }; _proto._getTimePanelCells = function() { return this.$element().find(".".concat("dx-scheduler-header-panel-cell", ":not(.").concat("dx-scheduler-header-panel-week-cell", ")")) }; _proto._getCurrentTimePanelCellIndices = function() { var columnCountPerGroup = this._getCellCount(); var today = this._getToday(); var index = this.getCellIndexByDate(today); var _this$_getCellCoordin = this._getCellCoordinatesByIndex(index), currentTimeColumnIndex = _this$_getCellCoordin.columnIndex; if (void 0 === currentTimeColumnIndex) { return [] } var horizontalGroupCount = this._isHorizontalGroupedWorkSpace() && !this.isGroupedByDate() ? this._getGroupCount() : 1; return _toConsumableArray(new Array(horizontalGroupCount)).map((function(_, groupIndex) { return columnCountPerGroup * groupIndex + currentTimeColumnIndex })) }; _proto._renderTimePanel = function() { return (0, _common.noop)() }; _proto._renderAllDayPanel = function() { return (0, _common.noop)() }; _proto._createAllDayPanelElements = function() { return (0, _common.noop)() }; _proto._renderDateHeader = function() { var $headerRow = _SchedulerWorkSpace.prototype._renderDateHeader.call(this); if (this._needRenderWeekHeader()) { var firstViewDate = new Date(this.getStartViewDate()); var currentDate = new Date(firstViewDate); var $cells = []; var groupCount = this._getGroupCount(); var cellCountInDay = this._getCellCountInDay(); var colSpan = this.isGroupedByDate() ? cellCountInDay * groupCount : cellCountInDay; var cellTemplate = this.option("dateCellTemplate"); var horizontalGroupCount = this._isHorizontalGroupedWorkSpace() && !this.isGroupedByDate() ? groupCount : 1; var cellsInGroup = this.viewDataProvider.viewDataGenerator.daysInInterval * this.option("intervalCount"); var cellsCount = cellsInGroup * horizontalGroupCount; for (var templateIndex = 0; templateIndex < cellsCount; templateIndex++) { var $th = (0, _renderer.default)("<th>"); var text = (0, _base.formatWeekdayAndDay)(currentDate); if (cellTemplate) { var templateOptions = { model: _extends({ text: text, date: new Date(currentDate) }, this._getGroupsForDateHeaderTemplate(templateIndex, colSpan)), container: $th, index: templateIndex }; cellTemplate.render(templateOptions) } else { $th.text(text) } $th.addClass("dx-scheduler-header-panel-cell").addClass("dx-scheduler-header-panel-week-cell").attr("colSpan", colSpan); $cells.push($th); if (templateIndex % cellsInGroup === cellsInGroup - 1) { currentDate = new Date(firstViewDate) } else { this._incrementDate(currentDate) } } var $row = (0, _renderer.default)("<tr>").addClass("dx-scheduler-header-row").append($cells); $headerRow.before($row) } }; _proto._renderIndicator = function(height, rtlOffset, $container, groupCount) { var $indicator; var width = this.getIndicationWidth(); if ("vertical" === this.option("groupOrientation")) { $indicator = this._createIndicator($container); (0, _size.setHeight)($indicator, (0, _position.getBoundingRect)($container.get(0)).height); $indicator.css("left", rtlOffset ? rtlOffset - width : width) } else { for (var i = 0; i < groupCount; i++) { var offset = this.isGroupedByDate() ? i * this.getCellWidth() : this._getCellCount() * this.getCellWidth() * i; $indicator = this._createIndicator($container); (0, _size.setHeight)($indicator, (0, _position.getBoundingRect)($container.get(0)).height); $indicator.css("left", rtlOffset ? rtlOffset - width - offset : width + offset) } } }; _proto._makeGroupRows = function(groups, groupByDate) { var tableCreatorStrategy = "vertical" === this.option("groupOrientation") ? tableCreator.VERTICAL : tableCreator.HORIZONTAL; return tableCreator.makeGroupedTable(tableCreatorStrategy, groups, { groupRowClass: _classes.GROUP_ROW_CLASS, groupHeaderRowClass: _classes.GROUP_ROW_CLASS, groupHeaderClass: this._getGroupHeaderClass.bind(this), groupHeaderContentClass: _classes.GROUP_HEADER_CONTENT_CLASS }, this._getCellCount() || 1, this.option("resourceCellTemplate"), this._getTotalRowCount(this._getGroupCount()), groupByDate) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(SchedulerTimeline, [{ key: "verticalGroupTableClass", get: function() { return "dx-scheduler-group-table" } }, { key: "viewDirection", get: function() { return "horizontal" } }, { key: "renovatedHeaderPanelComponent", get: function() { return _layout.default } }]); return SchedulerTimeline }(_uiSchedulerWork_space.default); (0, _component_registrator.default)("dxSchedulerTimeline", SchedulerTimeline); var _default = SchedulerTimeline; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 37833: /*!**************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.timeline_day.js ***! \**************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _constants = __webpack_require__( /*! ../constants */ 27728); var _uiScheduler = _interopRequireDefault(__webpack_require__( /*! ./ui.scheduler.timeline */ 10373)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var SchedulerTimelineDay = function(_SchedulerTimeline) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerTimelineDay, _SchedulerTimeline); function SchedulerTimelineDay() { return _SchedulerTimeline.apply(this, arguments) || this } var _proto = SchedulerTimelineDay.prototype; _proto._getElementClass = function() { return "dx-scheduler-timeline-day" }; _proto._needRenderWeekHeader = function() { return this._isWorkSpaceWithCount() }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(SchedulerTimelineDay, [{ key: "type", get: function() { return _constants.VIEWS.TIMELINE_DAY } }]); return SchedulerTimelineDay }(_uiScheduler.default); (0, _component_registrator.default)("dxSchedulerTimelineDay", SchedulerTimelineDay); var _default = SchedulerTimelineDay; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 32374: /*!****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.timeline_month.js ***! \****************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _uiScheduler = _interopRequireDefault(__webpack_require__( /*! ./ui.scheduler.timeline */ 10373)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/date */ 91198)); var _layout = _interopRequireDefault(__webpack_require__( /*! ../../../renovation/ui/scheduler/workspaces/base/header_panel/layout.j */ 32972)); var _month = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/month */ 19097); var _base = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _constants = __webpack_require__( /*! ../constants */ 27728); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var SchedulerTimelineMonth = function(_SchedulerTimeline) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerTimelineMonth, _SchedulerTimeline); function SchedulerTimelineMonth() { return _SchedulerTimeline.apply(this, arguments) || this } var _proto = SchedulerTimelineMonth.prototype; _proto._renderView = function() { _SchedulerTimeline.prototype._renderView.call(this); this._updateScrollable() }; _proto._getElementClass = function() { return "dx-scheduler-timeline-month" }; _proto._getDateHeaderTemplate = function() { return this.option("dateCellTemplate") }; _proto._calculateDurationInCells = function(timeDiff) { return timeDiff / this.getCellDuration() }; _proto.isIndicatorVisible = function() { return true }; _proto._getFormat = function() { return _base.formatWeekdayAndDay }; _proto._getIntervalBetween = function(currentDate) { var firstViewDate = this.getStartViewDate(); var timeZoneOffset = _date.default.getTimezonesDifference(firstViewDate, currentDate); return currentDate.getTime() - (firstViewDate.getTime() - 36e5 * this.option("startDayHour")) - timeZoneOffset }; _proto._getViewStartByOptions = function() { return (0, _month.getViewStartByOptions)(this.option("startDate"), this.option("currentDate"), this.option("intervalCount"), _date.default.getFirstMonthDate(this.option("startDate"))) }; _proto.generateRenderOptions = function() { var options = _SchedulerTimeline.prototype.generateRenderOptions.call(this, true); return _extends({}, options, { getDateForHeaderText: function(_, date) { return date } }) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(SchedulerTimelineMonth, [{ key: "type", get: function() { return _constants.VIEWS.TIMELINE_MONTH } }, { key: "viewDirection", get: function() { return "horizontal" } }, { key: "renovatedHeaderPanelComponent", get: function() { return _layout.default } }]); return SchedulerTimelineMonth }(_uiScheduler.default); (0, _component_registrator.default)("dxSchedulerTimelineMonth", SchedulerTimelineMonth); var _default = SchedulerTimelineMonth; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 50007: /*!***************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.timeline_week.js ***! \***************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _uiScheduler = _interopRequireDefault(__webpack_require__( /*! ./ui.scheduler.timeline */ 10373)); var _position = __webpack_require__( /*! ../../../core/utils/position */ 37518); var _constants = __webpack_require__( /*! ../constants */ 27728); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var SchedulerTimelineWeek = function(_SchedulerTimeline) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerTimelineWeek, _SchedulerTimeline); function SchedulerTimelineWeek() { return _SchedulerTimeline.apply(this, arguments) || this } var _proto = SchedulerTimelineWeek.prototype; _proto._getElementClass = function() { return "dx-scheduler-timeline-week" }; _proto._getHeaderPanelCellWidth = function($headerRow) { return (0, _position.getBoundingRect)($headerRow.children().first().get(0)).width }; _proto._needRenderWeekHeader = function() { return true }; _proto._incrementDate = function(date) { date.setDate(date.getDate() + 1) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(SchedulerTimelineWeek, [{ key: "type", get: function() { return _constants.VIEWS.TIMELINE_WEEK } }]); return SchedulerTimelineWeek }(_uiScheduler.default); exports.default = SchedulerTimelineWeek; (0, _component_registrator.default)("dxSchedulerTimelineWeek", SchedulerTimelineWeek); module.exports = exports.default; module.exports.default = exports.default }, 6763: /*!********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.timeline_work_week.js ***! \********************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _constants = __webpack_require__( /*! ../constants */ 27728); var _uiScheduler = _interopRequireDefault(__webpack_require__( /*! ./ui.scheduler.timeline_week */ 50007)); var _work_week = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/work_week */ 83866); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var SchedulerTimelineWorkWeek = function(_SchedulerTimelineWee) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerTimelineWorkWeek, _SchedulerTimelineWee); function SchedulerTimelineWorkWeek() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] } _this = _SchedulerTimelineWee.call.apply(_SchedulerTimelineWee, [this].concat(args)) || this; _this._getWeekendsCount = _work_week.getWeekendsCount; return _this } var _proto = SchedulerTimelineWorkWeek.prototype; _proto._getElementClass = function() { return "dx-scheduler-timeline-work-week" }; _proto._incrementDate = function(date) { var day = date.getDay(); if (5 === day) { date.setDate(date.getDate() + 2) } _SchedulerTimelineWee.prototype._incrementDate.call(this, date) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(SchedulerTimelineWorkWeek, [{ key: "type", get: function() { return _constants.VIEWS.TIMELINE_WORK_WEEK } }]); return SchedulerTimelineWorkWeek }(_uiScheduler.default); (0, _component_registrator.default)("dxSchedulerTimelineWorkWeek", SchedulerTimelineWorkWeek); var _default = SchedulerTimelineWorkWeek; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 12675: /*!*******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.virtual_scrolling.js ***! \*******************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.VirtualScrollingRenderer = exports.VirtualScrollingDispatcher = void 0; var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); var _index = __webpack_require__( /*! ../../../events/utils/index */ 39611); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor } var DOCUMENT_SCROLL_EVENT_NAMESPACE = (0, _index.addNamespace)("scroll", "dxSchedulerVirtualScrolling"); var scrollingOrientations_vertical = "vertical", scrollingOrientations_horizontal = "horizontal", scrollingOrientations_both = "both", scrollingOrientations_none = "none"; var DefaultScrollingOrientation = scrollingOrientations_both; var VirtualScrollingDispatcher = function() { function VirtualScrollingDispatcher(options) { this.options = options; if (options) { this._rowHeight = this.getCellHeight(); this._cellWidth = this.getCellWidth(); this._createVirtualScrollingBase() } } var _proto = VirtualScrollingDispatcher.prototype; _proto.setViewOptions = function(options) { this.options = options; if (this.verticalVirtualScrolling) { this.verticalVirtualScrolling.options = options; this.verticalVirtualScrolling.itemSize = this.rowHeight; this.verticalVirtualScrolling.viewportSize = this.viewportHeight } if (this.horizontalVirtualScrolling) { this.horizontalVirtualScrolling.options = options; this.verticalVirtualScrolling.itemSize = this.cellWidth; this.verticalVirtualScrolling.viewportSize = this.viewportWidth } }; _proto.getRenderState = function() { var _this$verticalVirtual, _this$horizontalVirtu; var verticalRenderState = (null === (_this$verticalVirtual = this.verticalVirtualScrolling) || void 0 === _this$verticalVirtual ? void 0 : _this$verticalVirtual.getRenderState()) || {}; var horizontalRenderState = (null === (_this$horizontalVirtu = this.horizontalVirtualScrolling) || void 0 === _this$horizontalVirtu ? void 0 : _this$horizontalVirtu.getRenderState()) || {}; return _extends({}, verticalRenderState, horizontalRenderState) }; _proto.getCellHeight = function() { var cellHeight = this.options.getCellHeight(); var result = cellHeight > 0 ? cellHeight : 50; return Math.floor(result) }; _proto.getCellWidth = function() { var cellWidth = this.options.getCellWidth(); var minCellWidth = this.options.getCellMinWidth(); if (!cellWidth || cellWidth < minCellWidth) { cellWidth = minCellWidth } var result = cellWidth > 0 ? cellWidth : 1; return Math.floor(result) }; _proto.calculateCoordinatesByDataAndPosition = function(cellData, position, date, isCalculateTime, isVerticalDirectionView) { var rowIndex = position.rowIndex, columnIndex = position.columnIndex; var startDate = cellData.startDate, endDate = cellData.endDate, allDay = cellData.allDay; var timeToScroll = date.getTime(); var cellStartTime = startDate.getTime(); var cellEndTime = endDate.getTime(); var scrollInCell = allDay || !isCalculateTime ? 0 : (timeToScroll - cellStartTime) / (cellEndTime - cellStartTime); var cellWidth = this.getCellWidth(); var rowHeight = this.getCellHeight(); var top = isVerticalDirectionView ? (rowIndex + scrollInCell) * rowHeight : rowIndex * rowHeight; var left = isVerticalDirectionView ? columnIndex * cellWidth : (columnIndex + scrollInCell) * cellWidth; if (this.isRTL) { left = this.options.getScrollableOuterWidth() - left } return { top: top, left: left } }; _proto.dispose = function() { if (this._onScrollHandler) { _events_engine.default.off(this.document, DOCUMENT_SCROLL_EVENT_NAMESPACE, this._onScrollHandler) } }; _proto.createVirtualScrolling = function() { var isVerticalVirtualScrollingCreated = !!this.verticalVirtualScrolling; var isHorizontalVirtualScrollingCreated = !!this.horizontalVirtualScrolling; if (this.verticalScrollingAllowed !== isVerticalVirtualScrollingCreated || this.horizontalScrollingAllowed !== isHorizontalVirtualScrollingCreated) { this._rowHeight = this.getCellHeight(); this._cellWidth = this.getCellWidth(); this._createVirtualScrollingBase() } }; _proto._createVirtualScrollingBase = function() { if (this.verticalScrollingAllowed) { this.verticalVirtualScrolling = new VerticalVirtualScrolling(_extends({}, this.options, { viewportHeight: this.viewportHeight, rowHeight: this.rowHeight, outlineCount: this.outlineCount })) } if (this.horizontalScrollingAllowed) { this.horizontalVirtualScrolling = new HorizontalVirtualScrolling(_extends({}, this.options, { viewportWidth: this.viewportWidth, cellWidth: this.cellWidth, outlineCount: this.outlineCount })) } }; _proto.isAttachWindowScrollEvent = function() { return (this.horizontalScrollingAllowed || this.verticalScrollingAllowed) && !this.height }; _proto.attachScrollableEvents = function() { if (this.isAttachWindowScrollEvent()) { this._attachWindowScroll() } }; _proto._attachWindowScroll = function() { var _this = this; var window = (0, _window.getWindow)(); this._onScrollHandler = this.options.createAction((function() { var scrollX = window.scrollX, scrollY = window.scrollY; if (scrollX >= 10 || scrollY >= 10) { _this.handleOnScrollEvent({ left: scrollX, top: scrollY }) } })); _events_engine.default.on(this.document, DOCUMENT_SCROLL_EVENT_NAMESPACE, this._onScrollHandler) }; _proto.handleOnScrollEvent = function(scrollPosition) { if (scrollPosition) { var _this$verticalVirtual2, _this$horizontalVirtu2; var left = scrollPosition.left, top = scrollPosition.top; var verticalStateChanged = (0, _type.isDefined)(top) && (null === (_this$verticalVirtual2 = this.verticalVirtualScrolling) || void 0 === _this$verticalVirtual2 ? void 0 : _this$verticalVirtual2.updateState(top)); var horizontalStateChanged = (0, _type.isDefined)(left) && (null === (_this$horizontalVirtu2 = this.horizontalVirtualScrolling) || void 0 === _this$horizontalVirtu2 ? void 0 : _this$horizontalVirtu2.updateState(left)); if (verticalStateChanged || horizontalStateChanged) { var _this$options$updateR, _this$options; null === (_this$options$updateR = (_this$options = this.options).updateRender) || void 0 === _this$options$updateR ? void 0 : _this$options$updateR.call(_this$options) } } }; _proto.updateDimensions = function(isForce) { var cellHeight = this.getCellHeight(); var needUpdateVertical = this.verticalScrollingAllowed && cellHeight !== this.rowHeight; if ((needUpdateVertical || isForce) && this.verticalVirtualScrolling) { this.rowHeight = cellHeight; this.verticalVirtualScrolling.viewportSize = this.viewportHeight; this.verticalVirtualScrolling.reinitState(cellHeight, isForce) } var cellWidth = this.getCellWidth(); var needUpdateHorizontal = this.horizontalScrollingAllowed && cellWidth !== this.cellWidth; if ((needUpdateHorizontal || isForce) && this.horizontalVirtualScrolling) { this.cellWidth = cellWidth; this.horizontalVirtualScrolling.viewportSize = this.viewportWidth; this.horizontalVirtualScrolling.reinitState(cellWidth, isForce) } if (needUpdateVertical || needUpdateHorizontal) { var _this$options$updateG, _this$options2; null === (_this$options$updateG = (_this$options2 = this.options).updateGrid) || void 0 === _this$options$updateG ? void 0 : _this$options$updateG.call(_this$options2) } }; _createClass(VirtualScrollingDispatcher, [{ key: "isRTL", get: function() { return this.options.isRTL() } }, { key: "verticalVirtualScrolling", get: function() { return this._verticalVirtualScrolling }, set: function(value) { this._verticalVirtualScrolling = value } }, { key: "horizontalVirtualScrolling", get: function() { return this._horizontalVirtualScrolling }, set: function(value) { this._horizontalVirtualScrolling = value } }, { key: "document", get: function() { return _dom_adapter.default.getDocument() } }, { key: "height", get: function() { return this.options.getSchedulerHeight() } }, { key: "width", get: function() { return this.options.getSchedulerWidth() } }, { key: "rowHeight", get: function() { return this._rowHeight }, set: function(value) { this._rowHeight = value } }, { key: "outlineCount", get: function() { return this.options.getScrolling().outlineCount } }, { key: "cellWidth", get: function() { return this._cellWidth }, set: function(value) { this._cellWidth = value } }, { key: "viewportWidth", get: function() { var width = this.width && this.options.getViewWidth(); return width > 0 ? width : this.options.getWindowWidth() } }, { key: "viewportHeight", get: function() { var height = this.height && this.options.getViewHeight(); return height > 0 ? height : this.options.getWindowHeight() } }, { key: "cellCountInsideTopVirtualRow", get: function() { var _this$verticalScrolli; return (null === (_this$verticalScrolli = this.verticalScrollingState) || void 0 === _this$verticalScrolli ? void 0 : _this$verticalScrolli.virtualItemCountBefore) || 0 } }, { key: "cellCountInsideLeftVirtualCell", get: function() { var _this$horizontalScrol; return (null === (_this$horizontalScrol = this.horizontalScrollingState) || void 0 === _this$horizontalScrol ? void 0 : _this$horizontalScrol.virtualItemCountBefore) || 0 } }, { key: "cellCountInsideRightVirtualCell", get: function() { var _this$horizontalScrol2; return (null === (_this$horizontalScrol2 = this.horizontalScrollingState) || void 0 === _this$horizontalScrol2 ? void 0 : _this$horizontalScrol2.virtualItemCountAfter) || 0 } }, { key: "topVirtualRowsCount", get: function() { return this.cellCountInsideTopVirtualRow > 0 ? 1 : 0 } }, { key: "leftVirtualCellsCount", get: function() { var virtualItemsCount = !this.isRTL ? this.cellCountInsideLeftVirtualCell : this.cellCountInsideRightVirtualCell; return virtualItemsCount > 0 ? 1 : 0 } }, { key: "virtualRowOffset", get: function() { var _this$verticalScrolli2; return (null === (_this$verticalScrolli2 = this.verticalScrollingState) || void 0 === _this$verticalScrolli2 ? void 0 : _this$verticalScrolli2.virtualItemSizeBefore) || 0 } }, { key: "virtualCellOffset", get: function() { var _this$horizontalScrol3; return (null === (_this$horizontalScrol3 = this.horizontalScrollingState) || void 0 === _this$horizontalScrol3 ? void 0 : _this$horizontalScrol3.virtualItemSizeBefore) || 0 } }, { key: "scrollingState", get: function() { var _this$verticalVirtual3, _this$horizontalVirtu3; return { vertical: null === (_this$verticalVirtual3 = this.verticalVirtualScrolling) || void 0 === _this$verticalVirtual3 ? void 0 : _this$verticalVirtual3.state, horizontal: null === (_this$horizontalVirtu3 = this.horizontalVirtualScrolling) || void 0 === _this$horizontalVirtu3 ? void 0 : _this$horizontalVirtu3.state } } }, { key: "verticalScrollingState", get: function() { return this.scrollingState.vertical } }, { key: "horizontalScrollingState", get: function() { return this.scrollingState.horizontal } }, { key: "scrollingOrientation", get: function() { var scrolling = this.options.getScrolling(); if ("standard" === scrolling.mode) { return scrollingOrientations_none } return scrolling.orientation || DefaultScrollingOrientation } }, { key: "verticalScrollingAllowed", get: function() { return this.scrollingOrientation === scrollingOrientations_vertical || this.scrollingOrientation === scrollingOrientations_both } }, { key: "horizontalScrollingAllowed", get: function() { return this.scrollingOrientation === scrollingOrientations_horizontal || this.scrollingOrientation === scrollingOrientations_both } }]); return VirtualScrollingDispatcher }(); exports.VirtualScrollingDispatcher = VirtualScrollingDispatcher; var VirtualScrollingBase = function() { function VirtualScrollingBase(options) { this.options = options; this._state = this.defaultState; this.viewportSize = options.viewportSize; this._itemSize = options.itemSize; this._position = -1; this._itemSizeChanged = false; this.updateState(0) } var _proto2 = VirtualScrollingBase.prototype; _proto2.needUpdateState = function(position) { var _this$state = this.state, prevPosition = _this$state.prevPosition, startIndex = _this$state.startIndex; var isFirstInitialization = startIndex < 0; if (isFirstInitialization) { return true } var isStartIndexChanged = false; if (this._validateAndSavePosition(position)) { if (0 === position || position === this.maxScrollPosition) { return true } var currentPosition = prevPosition; var currentItemsCount = Math.floor(currentPosition / this.itemSize); var itemsCount = Math.floor(position / this.itemSize); isStartIndexChanged = Math.abs(currentItemsCount - itemsCount) >= this.outlineCount } return isStartIndexChanged }; _proto2._validateAndSavePosition = function(position) { if (!(0, _type.isDefined)(position)) { return false } var result = this.position !== position; this.position = position; return result }; _proto2._correctPosition = function(position) { return position >= 0 ? Math.min(position, this.maxScrollPosition) : -1 }; _proto2.updateState = function(position, isForce) { position = this._correctPosition(position); if (!this.needUpdateState(position) && !isForce) { return false } var itemsInfoBefore = this._calcItemInfoBefore(position); var itemsDeltaBefore = this._calcItemDeltaBefore(itemsInfoBefore); var _this$_calcItemInfoAf = this._calcItemInfoAfter(itemsDeltaBefore), outlineCountAfter = _this$_calcItemInfoAf.outlineCountAfter, virtualItemCountAfter = _this$_calcItemInfoAf.virtualItemCountAfter, itemCountWithAfter = _this$_calcItemInfoAf.itemCountWithAfter; var virtualItemCountBefore = itemsInfoBefore.virtualItemCountBefore, outlineCountBefore = itemsInfoBefore.outlineCountBefore; var itemCount = outlineCountBefore + itemCountWithAfter + outlineCountAfter; var itemCountBefore = Math.floor(position / this.itemSize); this.state.prevPosition = itemCountBefore * this.itemSize; this.state.startIndex = itemCountBefore - outlineCountBefore; this.state.virtualItemCountBefore = virtualItemCountBefore; this.state.outlineCountBefore = outlineCountBefore; this.state.itemCount = itemCount; this.state.outlineCountAfter = outlineCountAfter; this.state.virtualItemCountAfter = virtualItemCountAfter; this._updateStateCore(); return true }; _proto2.reinitState = function(itemSize, isForceUpdate) { var position = this.position; this.itemSize = itemSize; this.updateState(0, isForceUpdate); if (position > 0) { this.updateState(position, isForceUpdate) } }; _proto2._calcItemInfoBefore = function(position) { var virtualItemCountBefore = Math.floor(position / this.itemSize); var outlineCountBefore = Math.min(virtualItemCountBefore, this.outlineCount); virtualItemCountBefore -= outlineCountBefore; return { virtualItemCountBefore: virtualItemCountBefore, outlineCountBefore: outlineCountBefore } }; _proto2._calcItemDeltaBefore = function(itemInfoBefore) { var virtualItemCountBefore = itemInfoBefore.virtualItemCountBefore, outlineCountBefore = itemInfoBefore.outlineCountBefore; var totalItemCount = this.getTotalItemCount(); return totalItemCount - virtualItemCountBefore - outlineCountBefore }; _proto2.getTotalItemCount = function() { throw "getTotalItemCount method should be implemented" }; _proto2.getRenderState = function() { throw "getRenderState method should be implemented" }; _proto2._calcItemInfoAfter = function(itemsDeltaBefore) { var itemCountWithAfter = itemsDeltaBefore >= this.pageSize ? this.pageSize : itemsDeltaBefore; var virtualItemCountAfter = itemsDeltaBefore - itemCountWithAfter; var outlineCountAfter = virtualItemCountAfter > 0 ? Math.min(virtualItemCountAfter, this.outlineCount) : 0; if (virtualItemCountAfter > 0) { virtualItemCountAfter -= outlineCountAfter } return { virtualItemCountAfter: virtualItemCountAfter, outlineCountAfter: outlineCountAfter, itemCountWithAfter: itemCountWithAfter } }; _proto2._updateStateCore = function() { var state = this.state; var virtualItemCountBefore = state.virtualItemCountBefore; var virtualItemCountAfter = state.virtualItemCountAfter; var outlineCountBefore = state.outlineCountBefore; var outlineCountAfter = state.outlineCountAfter; var prevVirtualItemSizeBefore = state.virtualItemSizeBefore; var prevVirtualItemSizeAfter = state.virtualItemSizeAfter; var prevOutlineSizeBefore = state.outlineSizeBefore; var prevOutlineSizeAfter = state.outlineSizeAfter; var virtualItemSizeBefore = this.itemSize * virtualItemCountBefore; var virtualItemSizeAfter = this.itemSize * virtualItemCountAfter; var outlineSizeBefore = this.itemSize * outlineCountBefore; var outlineSizeAfter = this.itemSize * outlineCountAfter; var prevVirtualSizeBefore = prevVirtualItemSizeBefore + prevOutlineSizeBefore; var virtualSizeBefore = virtualItemSizeBefore + outlineSizeBefore; var prevVirtualSizeAfter = prevVirtualItemSizeAfter + prevOutlineSizeAfter; var virtualSizeAfter = virtualItemSizeAfter + outlineSizeAfter; var isAppend = prevVirtualSizeBefore < virtualSizeBefore; var isPrepend = prevVirtualSizeAfter < virtualSizeAfter; var needAddItems = this._itemSizeChanged || isAppend || isPrepend; if (needAddItems) { this._updateStateVirtualItems(virtualItemSizeBefore, virtualItemSizeAfter) } }; _proto2._updateStateVirtualItems = function(virtualItemSizeBefore, virtualItemSizeAfter) { var state = this.state; state.virtualItemSizeBefore = virtualItemSizeBefore; state.virtualItemSizeAfter = virtualItemSizeAfter }; _createClass(VirtualScrollingBase, [{ key: "itemSize", get: function() { return this._itemSize }, set: function(value) { this._itemSizeChanged = this._itemSize !== value; this._itemSize = value } }, { key: "state", get: function() { return this._state }, set: function(value) { this._state = value } }, { key: "startIndex", get: function() { return this.state.startIndex } }, { key: "pageSize", get: function() { return Math.ceil(this.viewportSize / this.itemSize) } }, { key: "outlineCount", get: function() { return (0, _type.isDefined)(this.options.outlineCount) ? this.options.outlineCount : Math.floor(this.pageSize / 2) } }, { key: "groupCount", get: function() { return this.options.getGroupCount() } }, { key: "isVerticalGrouping", get: function() { return this.options.isVerticalGrouping() } }, { key: "defaultState", get: function() { return { prevPosition: 0, startIndex: -1, itemCount: 0, virtualItemCountBefore: 0, virtualItemCountAfter: 0, outlineCountBefore: 0, outlineCountAfter: 0, virtualItemSizeBefore: 0, virtualItemSizeAfter: 0, outlineSizeBefore: 0, outlineSizeAfter: 0 } } }, { key: "maxScrollPosition", get: function() { return this.getTotalItemCount() * this.itemSize - this.viewportSize } }, { key: "position", get: function() { return this._position }, set: function(value) { this._position = value } }]); return VirtualScrollingBase }(); var VerticalVirtualScrolling = function(_VirtualScrollingBase) { _inheritsLoose(VerticalVirtualScrolling, _VirtualScrollingBase); function VerticalVirtualScrolling(options) { return _VirtualScrollingBase.call(this, _extends({}, options, { itemSize: options.rowHeight, viewportSize: options.viewportHeight })) || this } var _proto3 = VerticalVirtualScrolling.prototype; _proto3.getTotalItemCount = function() { return this.options.getTotalRowCount(this.groupCount, this.isVerticalGrouping) }; _proto3.getRenderState = function() { return { topVirtualRowHeight: this.state.virtualItemSizeBefore, bottomVirtualRowHeight: this.state.virtualItemSizeAfter, startRowIndex: this.state.startIndex, rowCount: this.state.itemCount, startIndex: this.state.startIndex } }; _createClass(VerticalVirtualScrolling, [{ key: "prevTopPosition", get: function() { return this.state.prevPosition } }, { key: "rowCount", get: function() { return this.state.itemCount } }, { key: "topVirtualRowCount", get: function() { return this.state.virtualItemCountBefore } }, { key: "bottomVirtualRowCount", get: function() { return this.state.virtualItemCountAfter } }]); return VerticalVirtualScrolling }(VirtualScrollingBase); var HorizontalVirtualScrolling = function(_VirtualScrollingBase2) { _inheritsLoose(HorizontalVirtualScrolling, _VirtualScrollingBase2); function HorizontalVirtualScrolling(options) { return _VirtualScrollingBase2.call(this, _extends({}, options, { itemSize: options.cellWidth, viewportSize: options.viewportWidth })) || this } var _proto4 = HorizontalVirtualScrolling.prototype; _proto4.getTotalItemCount = function() { return this.options.getTotalCellCount(this.groupCount, this.isVerticalGrouping) }; _proto4.getRenderState = function() { return { leftVirtualCellWidth: this.state.virtualItemSizeBefore, rightVirtualCellWidth: this.state.virtualItemSizeAfter, startCellIndex: this.state.startIndex, cellCount: this.state.itemCount, cellWidth: this.itemSize } }; _proto4._updateStateVirtualItems = function(virtualItemSizeBefore, virtualItemSizeAfter) { if (!this.isRTL) { _VirtualScrollingBase2.prototype._updateStateVirtualItems.call(this, virtualItemSizeBefore, virtualItemSizeAfter) } else { var state = this.state; state.virtualItemSizeAfter = virtualItemSizeBefore; state.virtualItemSizeBefore = virtualItemSizeAfter; state.startIndex = this.getTotalItemCount() - this.startIndex - this.state.itemCount } }; _createClass(HorizontalVirtualScrolling, [{ key: "isRTL", get: function() { return this.options.isRTL() } }]); return HorizontalVirtualScrolling }(VirtualScrollingBase); var VirtualScrollingRenderer = function() { function VirtualScrollingRenderer(workspace) { this._workspace = workspace; this._renderAppointmentTimeoutID = null } var _proto5 = VirtualScrollingRenderer.prototype; _proto5.getRenderTimeout = function() { return this._workspace.option("isRenovatedAppointments") ? -1 : 15 }; _proto5.updateRender = function() { this._renderGrid(); this._renderAppointments() }; _proto5._renderGrid = function() { this.workspace.renderWorkSpace(false) }; _proto5._renderAppointments = function() { var _this2 = this; var renderTimeout = this.getRenderTimeout(); if (renderTimeout >= 0) { clearTimeout(this._renderAppointmentTimeoutID); this._renderAppointmentTimeoutID = setTimeout((function() { return _this2.workspace.updateAppointments() }), renderTimeout) } else { this.workspace.updateAppointments() } }; _createClass(VirtualScrollingRenderer, [{ key: "workspace", get: function() { return this._workspace } }]); return VirtualScrollingRenderer }(); exports.VirtualScrollingRenderer = VirtualScrollingRenderer }, 6654: /*!****************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.work_space.grouped.strategy.horizontal.js ***! \****************************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _position = __webpack_require__( /*! ../../../core/utils/position */ 37518); var _classes = __webpack_require__( /*! ../classes */ 62060); var HorizontalGroupedStrategy = function() { function HorizontalGroupedStrategy(workSpace) { this._workSpace = workSpace } var _proto = HorizontalGroupedStrategy.prototype; _proto.prepareCellIndexes = function(cellCoordinates, groupIndex, inAllDay) { var groupByDay = this._workSpace.isGroupedByDate(); if (!groupByDay) { return { rowIndex: cellCoordinates.rowIndex, columnIndex: cellCoordinates.columnIndex + groupIndex * this._workSpace._getCellCount() } } else { return { rowIndex: cellCoordinates.rowIndex, columnIndex: cellCoordinates.columnIndex * this._workSpace._getGroupCount() + groupIndex } } }; _proto.getGroupIndex = function(rowIndex, columnIndex) { var groupByDay = this._workSpace.isGroupedByDate(); var groupCount = this._workSpace._getGroupCount(); if (groupByDay) { return columnIndex % groupCount } else { return Math.floor(columnIndex / this._workSpace._getCellCount()) } }; _proto.calculateHeaderCellRepeatCount = function() { return this._workSpace._getGroupCount() || 1 }; _proto.insertAllDayRowsIntoDateTable = function() { return false }; _proto.getTotalCellCount = function(groupCount) { groupCount = groupCount || 1; return this._workSpace._getCellCount() * groupCount }; _proto.getTotalRowCount = function() { return this._workSpace._getRowCount() }; _proto.calculateTimeCellRepeatCount = function() { return 1 }; _proto.getWorkSpaceMinWidth = function() { return (0, _position.getBoundingRect)(this._workSpace.$element().get(0)).width - this._workSpace.getTimePanelWidth() }; _proto.getAllDayOffset = function() { return this._workSpace.getAllDayHeight() }; _proto.getGroupCountClass = function(groups) { return }; _proto.getLeftOffset = function() { return this._workSpace.getTimePanelWidth() }; _proto._createGroupBoundOffset = function(startCell, endCell, cellWidth) { var extraOffset = cellWidth / 2; var startOffset = startCell ? startCell.offset().left - extraOffset : 0; var endOffset = endCell ? endCell.offset().left + cellWidth + extraOffset : 0; return { left: startOffset, right: endOffset, top: 0, bottom: 0 } }; _proto._getGroupedByDateBoundOffset = function($cells, cellWidth) { var lastCellIndex = $cells.length - 1; var startCell = $cells.eq(0); var endCell = $cells.eq(lastCellIndex); return this._createGroupBoundOffset(startCell, endCell, cellWidth) }; _proto.getGroupBoundsOffset = function(cellCount, $cells, cellWidth, coordinates, groupedDataMap) { if (this._workSpace.isGroupedByDate()) { return this._getGroupedByDateBoundOffset($cells, cellWidth) } var startCell; var endCell; var cellIndex = this._workSpace.getCellIndexByCoordinates(coordinates); var groupIndex = coordinates.groupIndex || Math.floor(cellIndex / cellCount); var currentCellGroup = groupedDataMap.dateTableGroupedMap[groupIndex]; if (currentCellGroup) { var groupRowLength = currentCellGroup[0].length; var groupStartPosition = currentCellGroup[0][0].position; var groupEndPosition = currentCellGroup[0][groupRowLength - 1].position; startCell = $cells.eq(groupStartPosition.columnIndex); endCell = $cells.eq(groupEndPosition.columnIndex) } return this._createGroupBoundOffset(startCell, endCell, cellWidth) }; _proto.shiftIndicator = function($indicator, height, rtlOffset, groupIndex) { var offset = this._getIndicatorOffset(groupIndex); var horizontalOffset = rtlOffset ? rtlOffset - offset : offset; $indicator.css("left", horizontalOffset); $indicator.css("top", height) }; _proto._getIndicatorOffset = function(groupIndex) { var groupByDay = this._workSpace.isGroupedByDate(); return groupByDay ? this._calculateGroupByDateOffset(groupIndex) : this._calculateOffset(groupIndex) }; _proto._calculateOffset = function(groupIndex) { return this._workSpace._getCellCount() * this._workSpace.getRoundedCellWidth(groupIndex - 1, 0) * groupIndex + this._workSpace.getIndicatorOffset(groupIndex) + groupIndex }; _proto._calculateGroupByDateOffset = function(groupIndex) { return this._workSpace.getIndicatorOffset(0) * this._workSpace._getGroupCount() + this._workSpace.getRoundedCellWidth(groupIndex - 1, 0) * groupIndex }; _proto.getShaderOffset = function(i, width) { var offset = this._workSpace._getCellCount() * this._workSpace.getRoundedCellWidth(i - 1) * i; return this._workSpace.option("rtlEnabled") ? (0, _position.getBoundingRect)(this._workSpace._dateTableScrollable.$content().get(0)).width - offset - this._workSpace.getTimePanelWidth() - width : offset }; _proto.getShaderTopOffset = function(i) { return -this.getShaderMaxHeight() * (i > 0 ? 1 : 0) }; _proto.getShaderHeight = function() { var height = this._workSpace.getIndicationHeight(); return height }; _proto.getShaderMaxHeight = function() { return (0, _position.getBoundingRect)(this._workSpace._dateTableScrollable.$content().get(0)).height }; _proto.getShaderWidth = function(i) { return this._workSpace.getIndicationWidth(i) }; _proto.getScrollableScrollTop = function(allDay) { return !allDay ? this._workSpace.getScrollable().scrollTop() : 0 }; _proto.addAdditionalGroupCellClasses = function(cellClass, index, i, j) { var applyUnconditionally = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : false; cellClass = this._addLastGroupCellClass(cellClass, index, applyUnconditionally); return this._addFirstGroupCellClass(cellClass, index, applyUnconditionally) }; _proto._addLastGroupCellClass = function(cellClass, index, applyUnconditionally) { if (applyUnconditionally) { return "".concat(cellClass, " ").concat(_classes.LAST_GROUP_CELL_CLASS) } var groupByDate = this._workSpace.isGroupedByDate(); if (groupByDate) { if (index % this._workSpace._getGroupCount() === 0) { return "".concat(cellClass, " ").concat(_classes.LAST_GROUP_CELL_CLASS) } } else if (index % this._workSpace._getCellCount() === 0) { return "".concat(cellClass, " ").concat(_classes.LAST_GROUP_CELL_CLASS) } return cellClass }; _proto._addFirstGroupCellClass = function(cellClass, index, applyUnconditionally) { if (applyUnconditionally) { return "".concat(cellClass, " ").concat(_classes.FIRST_GROUP_CELL_CLASS) } var groupByDate = this._workSpace.isGroupedByDate(); if (groupByDate) { if ((index - 1) % this._workSpace._getGroupCount() === 0) { return "".concat(cellClass, " ").concat(_classes.FIRST_GROUP_CELL_CLASS) } } else if ((index - 1) % this._workSpace._getCellCount() === 0) { return "".concat(cellClass, " ").concat(_classes.FIRST_GROUP_CELL_CLASS) } return cellClass }; return HorizontalGroupedStrategy }(); var _default = HorizontalGroupedStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 96311: /*!**************************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.work_space.grouped.strategy.vertical.js ***! \**************************************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _position = __webpack_require__( /*! ../../../core/utils/position */ 37518); var _cache = __webpack_require__( /*! ./cache */ 56012); var _classes = __webpack_require__( /*! ../classes */ 62060); var _base = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var VerticalGroupedStrategy = function() { function VerticalGroupedStrategy(workSpace) { this._workSpace = workSpace; this.cache = new _cache.Cache } var _proto = VerticalGroupedStrategy.prototype; _proto.prepareCellIndexes = function(cellCoordinates, groupIndex, inAllDayRow) { var rowIndex = cellCoordinates.rowIndex + groupIndex * this._workSpace._getRowCount(); if (this._workSpace.supportAllDayRow() && this._workSpace.option("showAllDayPanel")) { rowIndex += groupIndex; if (!inAllDayRow) { rowIndex += 1 } } return { rowIndex: rowIndex, columnIndex: cellCoordinates.columnIndex } }; _proto.getGroupIndex = function(rowIndex) { return Math.floor(rowIndex / this._workSpace._getRowCount()) }; _proto.calculateHeaderCellRepeatCount = function() { return 1 }; _proto.insertAllDayRowsIntoDateTable = function() { return this._workSpace.option("showAllDayPanel") }; _proto.getTotalCellCount = function() { return this._workSpace._getCellCount() }; _proto.getTotalRowCount = function() { return this._workSpace._getRowCount() * this._workSpace._getGroupCount() }; _proto.calculateTimeCellRepeatCount = function() { return this._workSpace._getGroupCount() || 1 }; _proto.getWorkSpaceMinWidth = function() { var minWidth = this._workSpace._getWorkSpaceWidth(); var workspaceContainerWidth = (0, _position.getBoundingRect)(this._workSpace.$element().get(0)).width - this._workSpace.getTimePanelWidth() - this._workSpace.getGroupTableWidth() - 2; if (minWidth < workspaceContainerWidth) { minWidth = workspaceContainerWidth } return minWidth }; _proto.getAllDayOffset = function() { return 0 }; _proto.getGroupCountClass = function(groups) { return (0, _base.getVerticalGroupCountClass)(groups) }; _proto.getLeftOffset = function() { return this._workSpace.getTimePanelWidth() + this._workSpace.getGroupTableWidth() }; _proto.getGroupBoundsOffset = function(groupIndex, _ref) { var _this = this; var _ref2 = _slicedToArray(_ref, 2), $firstCell = _ref2[0], $lastCell = _ref2[1]; return this.cache.get("groupBoundsOffset".concat(groupIndex), (function() { var startDayHour = _this._workSpace.option("startDayHour"); var endDayHour = _this._workSpace.option("endDayHour"); var hoursInterval = _this._workSpace.option("hoursInterval"); var dayHeight = (0, _base.calculateDayDuration)(startDayHour, endDayHour) / hoursInterval * _this._workSpace.getCellHeight(); var scrollTop = _this.getScrollableScrollTop(); var topOffset = groupIndex * dayHeight + (0, _position.getBoundingRect)(_this._workSpace._$thead.get(0)).height + _this._workSpace.option("getHeaderHeight")() + 10 - scrollTop; if (_this._workSpace.option("showAllDayPanel") && _this._workSpace.supportAllDayRow()) { topOffset += _this._workSpace.getCellHeight() * (groupIndex + 1) } var bottomOffset = topOffset + dayHeight; var _$firstCell$getBoundi = $firstCell.getBoundingClientRect(), left = _$firstCell$getBoundi.left; var _$lastCell$getBoundin = $lastCell.getBoundingClientRect(), right = _$lastCell$getBoundin.right; return _this._groupBoundsOffset = { left: left, right: right, top: topOffset, bottom: bottomOffset } })) }; _proto.shiftIndicator = function($indicator, height, rtlOffset, i) { var offset = this._workSpace.getIndicatorOffset(0); var tableOffset = this._workSpace.option("crossScrollingEnabled") ? 0 : this._workSpace.getGroupTableWidth(); var horizontalOffset = rtlOffset ? rtlOffset - offset : offset; var verticalOffset = this._workSpace._getRowCount() * this._workSpace.getCellHeight() * i; if (this._workSpace.supportAllDayRow() && this._workSpace.option("showAllDayPanel")) { verticalOffset += this._workSpace.getAllDayHeight() * (i + 1) } $indicator.css("left", horizontalOffset + tableOffset); $indicator.css("top", height + verticalOffset) }; _proto.getShaderOffset = function(i, width) { var offset = this._workSpace.option("crossScrollingEnabled") ? 0 : this._workSpace.getGroupTableWidth(); return this._workSpace.option("rtlEnabled") ? (0, _position.getBoundingRect)(this._$container.get(0)).width - offset - this._workSpace.getWorkSpaceLeftOffset() - width : offset }; _proto.getShaderTopOffset = function(i) { return 0 }; _proto.getShaderHeight = function() { var height = this._workSpace.getIndicationHeight(); if (this._workSpace.supportAllDayRow() && this._workSpace.option("showAllDayPanel")) { height += this._workSpace.getCellHeight() } return height }; _proto.getShaderMaxHeight = function() { var height = this._workSpace._getRowCount() * this._workSpace.getCellHeight(); if (this._workSpace.supportAllDayRow() && this._workSpace.option("showAllDayPanel")) { height += this._workSpace.getCellHeight() } return height }; _proto.getShaderWidth = function() { return this._workSpace.getIndicationWidth(0) }; _proto.getScrollableScrollTop = function() { return this._workSpace.getScrollable().scrollTop() }; _proto.addAdditionalGroupCellClasses = function(cellClass, index, i, j) { cellClass = this._addLastGroupCellClass(cellClass, i + 1); return this._addFirstGroupCellClass(cellClass, i + 1) }; _proto._addLastGroupCellClass = function(cellClass, index) { if (index % this._workSpace._getRowCount() === 0) { return "".concat(cellClass, " ").concat(_classes.LAST_GROUP_CELL_CLASS) } return cellClass }; _proto._addFirstGroupCellClass = function(cellClass, index) { if ((index - 1) % this._workSpace._getRowCount() === 0) { return "".concat(cellClass, " ").concat(_classes.FIRST_GROUP_CELL_CLASS) } return cellClass }; return VerticalGroupedStrategy }(); var _default = VerticalGroupedStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 22955: /*!**********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.work_space.indicator.js ***! \**********************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _uiScheduler = _interopRequireDefault(__webpack_require__( /*! ./ui.scheduler.work_space */ 44845)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/date */ 91198)); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _position = __webpack_require__( /*! ../../../core/utils/position */ 37518); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); var _classes = __webpack_require__( /*! ../classes */ 62060); var _base = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _utils = _interopRequireDefault(__webpack_require__( /*! ../utils.timeZone */ 32511)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var toMs = _date.default.dateToMilliseconds; var SchedulerWorkSpaceIndicator = function(_SchedulerWorkSpace) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerWorkSpaceIndicator, _SchedulerWorkSpace); function SchedulerWorkSpaceIndicator() { return _SchedulerWorkSpace.apply(this, arguments) || this } var _proto = SchedulerWorkSpaceIndicator.prototype; _proto._getToday = function() { return (0, _base.getToday)(this.option("indicatorTime"), this.timeZoneCalculator) }; _proto.isIndicationOnView = function() { if (this.option("showCurrentTimeIndicator")) { var today = this._getToday(); var endViewDate = _date.default.trimTime(this.getEndViewDate()); return _date.default.dateInRange(today, this.getStartViewDate(), new Date(endViewDate.getTime() + toMs("day"))) } return false }; _proto.isIndicationAvailable = function() { if (!(0, _window.hasWindow)()) { return false } var today = this._getToday(); return today >= _date.default.trimTime(new Date(this.getStartViewDate())) }; _proto.isIndicatorVisible = function() { var today = this._getToday(); var endViewDate = new Date(this.getEndViewDate().getTime() + toMs("minute") - 1); var firstViewDate = new Date(this.getStartViewDate()); firstViewDate.setFullYear(today.getFullYear(), today.getMonth(), today.getDate()); endViewDate.setFullYear(today.getFullYear(), today.getMonth(), today.getDate()); return _date.default.dateInRange(today, firstViewDate, endViewDate) }; _proto._renderDateTimeIndication = function() { if (this.isIndicationAvailable()) { if (this.option("shadeUntilCurrentTime")) { this._shader.render() } if (this.isIndicationOnView() && this.isIndicatorVisible()) { var groupCount = this._getGroupCount() || 1; var $container = this._dateTableScrollable.$content(); var height = this.getIndicationHeight(); var rtlOffset = this._getRtlOffset(this.getCellWidth()); this._renderIndicator(height, rtlOffset, $container, groupCount); this._setCurrentTimeCells() } } }; _proto._renderIndicator = function(height, rtlOffset, $container, groupCount) { var groupedByDate = this.isGroupedByDate(); var repeatCount = groupedByDate ? 1 : groupCount; for (var i = 0; i < repeatCount; i++) { var $indicator = this._createIndicator($container); (0, _size.setWidth)($indicator, groupedByDate ? this.getCellWidth() * groupCount : this.getCellWidth()); this._groupedStrategy.shiftIndicator($indicator, height, rtlOffset, i) } }; _proto._createIndicator = function($container) { var $indicator = (0, _renderer.default)("<div>").addClass("dx-scheduler-date-time-indicator"); $container.append($indicator); return $indicator }; _proto._getRtlOffset = function(width) { return this.option("rtlEnabled") ? (0, _position.getBoundingRect)(this._dateTableScrollable.$content().get(0)).width - this.getTimePanelWidth() - width : 0 }; _proto._setIndicationUpdateInterval = function() { if (!this.option("showCurrentTimeIndicator") || 0 === this.option("indicatorUpdateInterval")) { return } this._clearIndicatorUpdateInterval(); this._indicatorInterval = setInterval(function() { this._refreshDateTimeIndication() }.bind(this), this.option("indicatorUpdateInterval")) }; _proto._clearIndicatorUpdateInterval = function() { if (this._indicatorInterval) { clearInterval(this._indicatorInterval); delete this._indicatorInterval } }; _proto._isVerticalShader = function() { return true }; _proto.getIndicationWidth = function(groupIndex) { var maxWidth = this.getCellWidth() * this._getCellCount(); var difference = this._getIndicatorDuration(); if (difference > this._getCellCount()) { difference = this._getCellCount() } var width = difference * this.getRoundedCellWidth(groupIndex, groupIndex * this._getCellCount(), difference); return maxWidth < width ? maxWidth : width }; _proto.getIndicatorOffset = function(groupIndex) { var difference = this._getIndicatorDuration() - 1; var offset = difference * this.getRoundedCellWidth(groupIndex, groupIndex * this._getCellCount(), difference); return offset }; _proto._getIndicatorDuration = function() { var today = this._getToday(); var firstViewDate = new Date(this.getStartViewDate()); var timeDiff = today.getTime() - firstViewDate.getTime(); if ("workWeek" === this.option("type")) { timeDiff -= this._getWeekendsCount(Math.round(timeDiff / toMs("day"))) * toMs("day") } return Math.ceil((timeDiff + 1) / toMs("day")) }; _proto.getIndicationHeight = function() { var today = _utils.default.getDateWithoutTimezoneChange(this._getToday()); var cellHeight = this.getCellHeight(); var date = new Date(this.getStartViewDate()); if (this.isIndicationOnView()) { date.setFullYear(today.getFullYear(), today.getMonth(), today.getDate()) } var duration = today.getTime() - date.getTime(); var cellCount = duration / this.getCellDuration(); return cellCount * cellHeight }; _proto._dispose = function() { this._clearIndicatorUpdateInterval(); _SchedulerWorkSpace.prototype._dispose.apply(this, arguments) }; _proto._refreshDateTimeIndication = function() { var _this$_shader; this._cleanDateTimeIndicator(); this._cleanCurrentTimeCells(); null === (_this$_shader = this._shader) || void 0 === _this$_shader ? void 0 : _this$_shader.clean(); this._renderDateTimeIndication() }; _proto._setCurrentTimeCells = function() { var timePanelCells = this._getTimePanelCells(); var currentTimeCellIndices = this._getCurrentTimePanelCellIndices(); currentTimeCellIndices.forEach((function(timePanelCellIndex) { timePanelCells.eq(timePanelCellIndex).addClass("dx-scheduler-time-panel-current-time-cell") })) }; _proto._isCurrentTimeHeaderCell = function(headerIndex) { if (this.isIndicationOnView()) { var completeDateHeaderMap = this.viewDataProvider.completeDateHeaderMap; var date = completeDateHeaderMap[completeDateHeaderMap.length - 1][headerIndex].startDate; return _date.default.sameDate(date, this._getToday()) } return false }; _proto._getHeaderPanelCellClass = function(i) { var cellClass = _SchedulerWorkSpace.prototype._getHeaderPanelCellClass.call(this, i); if (this._isCurrentTimeHeaderCell(i)) { return cellClass + " " + _classes.HEADER_CURRENT_TIME_CELL_CLASS } return cellClass }; _proto._cleanView = function() { _SchedulerWorkSpace.prototype._cleanView.call(this); this._cleanDateTimeIndicator() }; _proto._dimensionChanged = function() { _SchedulerWorkSpace.prototype._dimensionChanged.call(this); this._refreshDateTimeIndication() }; _proto._cleanDateTimeIndicator = function() { this.$element().find(".dx-scheduler-date-time-indicator").remove() }; _proto._cleanCurrentTimeCells = function() { this.$element().find(".".concat("dx-scheduler-time-panel-current-time-cell")).removeClass("dx-scheduler-time-panel-current-time-cell") }; _proto._cleanWorkSpace = function() { _SchedulerWorkSpace.prototype._cleanWorkSpace.call(this); this._renderDateTimeIndication(); this._setIndicationUpdateInterval() }; _proto._optionChanged = function(args) { switch (args.name) { case "showCurrentTimeIndicator": case "indicatorTime": this._cleanWorkSpace(); break; case "indicatorUpdateInterval": this._setIndicationUpdateInterval(); break; case "showAllDayPanel": case "allDayExpanded": case "crossScrollingEnabled": _SchedulerWorkSpace.prototype._optionChanged.call(this, args); this._refreshDateTimeIndication(); break; case "shadeUntilCurrentTime": this._refreshDateTimeIndication(); break; default: _SchedulerWorkSpace.prototype._optionChanged.call(this, args) } }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_SchedulerWorkSpace.prototype._getDefaultOptions.call(this), { showCurrentTimeIndicator: true, indicatorTime: new Date, indicatorUpdateInterval: 5 * toMs("minute"), shadeUntilCurrentTime: true }) }; _proto._getCurrentTimePanelCellIndices = function() { var rowCountPerGroup = this._getTimePanelRowCount(); var today = this._getToday(); var index = this.getCellIndexByDate(today); var _this$_getCellCoordin = this._getCellCoordinatesByIndex(index), currentTimeRowIndex = _this$_getCellCoordin.rowIndex; if (void 0 === currentTimeRowIndex) { return [] } var cellIndices; if (0 === currentTimeRowIndex) { cellIndices = [currentTimeRowIndex] } else { cellIndices = currentTimeRowIndex % 2 === 0 ? [currentTimeRowIndex - 1, currentTimeRowIndex] : [currentTimeRowIndex, currentTimeRowIndex + 1] } var verticalGroupCount = this._isVerticalGroupedWorkSpace() ? this._getGroupCount() : 1; return _toConsumableArray(new Array(verticalGroupCount)).reduce((function(currentIndices, _, groupIndex) { return [].concat(_toConsumableArray(currentIndices), _toConsumableArray(cellIndices.map((function(cellIndex) { return rowCountPerGroup * groupIndex + cellIndex })))) }), []) }; return SchedulerWorkSpaceIndicator }(_uiScheduler.default); (0, _component_registrator.default)("dxSchedulerWorkSpace", SchedulerWorkSpaceIndicator); var _default = SchedulerWorkSpaceIndicator; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 44845: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.work_space.js ***! \************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/date */ 91198)); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); var _element = __webpack_require__( /*! ../../../core/element */ 6415); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _position = __webpack_require__( /*! ../../../core/utils/position */ 37518); var _message = _interopRequireDefault(__webpack_require__( /*! ../../../localization/message */ 28109)); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _index = __webpack_require__( /*! ../../../events/utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../../events/pointer */ 93786)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../widget/ui.errors */ 96688)); var _click = __webpack_require__( /*! ../../../events/click */ 95429); var _contextmenu = __webpack_require__( /*! ../../../events/contextmenu */ 49166); var _drag = __webpack_require__( /*! ../../../events/drag */ 23174); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../../scroll_view/ui.scrollable */ 41183)); var _uiSchedulerWork_spaceGroupedStrategy = _interopRequireDefault(__webpack_require__( /*! ./ui.scheduler.work_space.grouped.strategy.horizontal */ 6654)); var _uiSchedulerWork_spaceGroupedStrategy2 = _interopRequireDefault(__webpack_require__( /*! ./ui.scheduler.work_space.grouped.strategy.vertical */ 96311)); var _table_creator = _interopRequireDefault(__webpack_require__( /*! ../table_creator */ 37428)); var _uiSchedulerCurrent_time_shader = _interopRequireDefault(__webpack_require__( /*! ../shaders/ui.scheduler.current_time_shader.vertical */ 58037)); var _appointmentDragBehavior = _interopRequireDefault(__webpack_require__( /*! ../appointmentDragBehavior */ 56504)); var _constants = __webpack_require__( /*! ../constants */ 27728); var _classes = __webpack_require__( /*! ../classes */ 62060); var _widgetObserver = _interopRequireDefault(__webpack_require__( /*! ../base/widgetObserver */ 99068)); var _translator = __webpack_require__( /*! ../../../animation/translator */ 31648); var _uiScheduler = __webpack_require__( /*! ./ui.scheduler.virtual_scrolling */ 12675); var _view_data_provider = _interopRequireDefault(__webpack_require__( /*! ./view_model/view_data_provider */ 60611)); var _layout = _interopRequireDefault(__webpack_require__( /*! ../../../renovation/ui/scheduler/workspaces/base/date_table/layout.j */ 40181)); var _table = _interopRequireDefault(__webpack_require__( /*! ../../../renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/table.j */ 38201)); var _title = _interopRequireDefault(__webpack_require__( /*! ../../../renovation/ui/scheduler/workspaces/base/date_table/all_day_panel/title.j */ 2931)); var _layout2 = _interopRequireDefault(__webpack_require__( /*! ../../../renovation/ui/scheduler/workspaces/base/time_panel/layout.j */ 89687)); var _group_panel = _interopRequireDefault(__webpack_require__( /*! ../../../renovation/ui/scheduler/workspaces/base/group_panel/group_panel.j */ 11141)); var _layout3 = _interopRequireDefault(__webpack_require__( /*! ../../../renovation/ui/scheduler/workspaces/base/header_panel/layout.j */ 32972)); var _cells_selection_state = _interopRequireDefault(__webpack_require__( /*! ./cells_selection_state */ 10800)); var _cache = __webpack_require__( /*! ./cache */ 56012); var _cells_selection_controller = __webpack_require__( /*! ./cells_selection_controller */ 96893); var _base = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _utils = __webpack_require__( /*! ../resources/utils */ 98140); var _positionHelper = __webpack_require__( /*! ./helpers/positionHelper */ 69576); var _utils2 = __webpack_require__( /*! ../utils */ 9259); var _data = __webpack_require__( /*! ../../../core/utils/data */ 47617); var _getMemoizeScrollTo = __webpack_require__( /*! ../../../renovation/ui/common/utils/scroll/getMemoizeScrollTo */ 41672); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var tableCreator = _table_creator.default.tableCreator; var abstract = _widgetObserver.default.abstract; var toMs = _date.default.dateToMilliseconds; var ALL_DAY_TABLE_CELL_CLASS = "dx-scheduler-all-day-table-cell"; var DATE_TABLE_CELL_CLASS = "dx-scheduler-date-table-cell"; var SCHEDULER_WORKSPACE_DXPOINTERDOWN_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.down, "dxSchedulerWorkSpace"); var DragEventNames = { ENTER: (0, _index.addNamespace)(_drag.enter, "dxSchedulerDateTable"), DROP: (0, _index.addNamespace)(_drag.drop, "dxSchedulerDateTable"), LEAVE: (0, _index.addNamespace)(_drag.leave, "dxSchedulerDateTable") }; var SCHEDULER_CELL_DXCLICK_EVENT_NAME = (0, _index.addNamespace)(_click.name, "dxSchedulerDateTable"); var SCHEDULER_CELL_DXPOINTERDOWN_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.down, "dxSchedulerDateTable"); var SCHEDULER_CELL_DXPOINTERUP_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.up, "dxSchedulerDateTable"); var SCHEDULER_CELL_DXPOINTERMOVE_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.move, "dxSchedulerDateTable"); var DAY_MS = toMs("day"); var HOUR_MS = toMs("hour"); var DRAG_AND_DROP_SELECTOR = ".".concat(_classes.DATE_TABLE_CLASS, " td, .").concat("dx-scheduler-all-day-table", " td"); var CELL_SELECTOR = ".".concat(DATE_TABLE_CELL_CLASS, ", .").concat(ALL_DAY_TABLE_CELL_CLASS); var SchedulerWorkSpace = function(_WidgetObserver) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerWorkSpace, _WidgetObserver); function SchedulerWorkSpace() { return _WidgetObserver.apply(this, arguments) || this } var _proto = SchedulerWorkSpace.prototype; _proto._supportedKeys = function() { var _this2 = this; var clickHandler = function(e) { var _this = this; e.preventDefault(); e.stopPropagation(); var selectedCells = this.cellsSelectionState.getSelectedCells(); if (null !== selectedCells && void 0 !== selectedCells && selectedCells.length) { var selectedCellsElement = selectedCells.map((function(cellData) { return _this._getCellByData(cellData) })).filter((function(cell) { return !!cell })); e.target = selectedCellsElement; this._showPopup = true; this._cellClickAction({ event: e, cellElement: (0, _renderer.default)(selectedCellsElement), cellData: selectedCells[0] }) } }; var onArrowPressed = function(e, key) { var _this2$cellsSelection; e.preventDefault(); e.stopPropagation(); var focusedCellData = null === (_this2$cellsSelection = _this2.cellsSelectionState.focusedCell) || void 0 === _this2$cellsSelection ? void 0 : _this2$cellsSelection.cellData; if (focusedCellData) { var isAllDayPanelCell = focusedCellData.allDay && !_this2._isVerticalGroupedWorkSpace(); var isMultiSelection = e.shiftKey; var isMultiSelectionAllowed = _this2.option("allowMultipleCellSelection"); var isRTL = _this2._isRTL(); var groupCount = _this2._getGroupCount(); var isGroupedByDate = _this2.isGroupedByDate(); var isHorizontalGrouping = _this2._isHorizontalGroupedWorkSpace(); var focusedCellPosition = _this2.viewDataProvider.findCellPositionInMap(_extends({}, focusedCellData, { isAllDay: focusedCellData.allDay })); var edgeIndices = isHorizontalGrouping && isMultiSelection && !isGroupedByDate ? _this2.viewDataProvider.getGroupEdgeIndices(focusedCellData.groupIndex, isAllDayPanelCell) : _this2.viewDataProvider.getViewEdgeIndices(isAllDayPanelCell); var nextCellData = _this2.cellsSelectionController.handleArrowClick({ focusedCellPosition: focusedCellPosition, edgeIndices: edgeIndices, isRTL: isRTL, isGroupedByDate: isGroupedByDate, groupCount: groupCount, isMultiSelection: isMultiSelection, isMultiSelectionAllowed: isMultiSelectionAllowed, viewType: _this2.type, key: key, getCellDataByPosition: _this2.viewDataProvider.getCellData.bind(_this2.viewDataProvider), isAllDayPanelCell: isAllDayPanelCell, focusedCellData: focusedCellData }); _this2._processNextSelectedCell(nextCellData, focusedCellData, isMultiSelection && isMultiSelectionAllowed) } }; return (0, _extend.extend)(_WidgetObserver.prototype._supportedKeys.call(this), { enter: clickHandler, space: clickHandler, downArrow: function(e) { onArrowPressed(e, "down") }, upArrow: function(e) { onArrowPressed(e, "up") }, rightArrow: function(e) { onArrowPressed(e, "right") }, leftArrow: function(e) { onArrowPressed(e, "left") } }) }; _proto._isRTL = function() { return this.option("rtlEnabled") }; _proto._moveToCell = function($cell, isMultiSelection) { if (!(0, _type.isDefined)($cell) || !$cell.length) { return } var isMultiSelectionAllowed = this.option("allowMultipleCellSelection"); var currentCellData = this._getFullCellData($cell); var focusedCellData = this.cellsSelectionState.focusedCell.cellData; var nextFocusedCellData = this.cellsSelectionController.moveToCell({ isMultiSelection: isMultiSelection, isMultiSelectionAllowed: isMultiSelectionAllowed, currentCellData: currentCellData, focusedCellData: focusedCellData, isVirtualCell: $cell.hasClass(_classes.VIRTUAL_CELL_CLASS) }); this._processNextSelectedCell(nextFocusedCellData, focusedCellData, isMultiSelectionAllowed && isMultiSelection) }; _proto._processNextSelectedCell = function(nextCellData, focusedCellData, isMultiSelection) { var nextCellPosition = this.viewDataProvider.findCellPositionInMap({ startDate: nextCellData.startDate, groupIndex: nextCellData.groupIndex, isAllDay: nextCellData.allDay, index: nextCellData.index }); if (!this.viewDataProvider.isSameCell(focusedCellData, nextCellData)) { var $cell = nextCellData.allDay && !this._isVerticalGroupedWorkSpace() ? this._dom_getAllDayPanelCell(nextCellPosition.columnIndex) : this._dom_getDateCell(nextCellPosition); var isNextCellAllDay = nextCellData.allDay; this._setSelectedCellsStateAndUpdateSelection(isNextCellAllDay, nextCellPosition, isMultiSelection, $cell); this._dateTableScrollable.scrollToElement($cell) } }; _proto._setSelectedCellsStateAndUpdateSelection = function(isAllDay, cellPosition, isMultiSelection, $nextFocusedCell) { var nextCellCoordinates = { rowIndex: cellPosition.rowIndex, columnIndex: cellPosition.columnIndex, allDay: isAllDay }; this.cellsSelectionState.setFocusedCell(nextCellCoordinates.rowIndex, nextCellCoordinates.columnIndex, isAllDay); if (isMultiSelection) { this.cellsSelectionState.setSelectedCells(nextCellCoordinates) } else { this.cellsSelectionState.setSelectedCells(nextCellCoordinates, nextCellCoordinates) } this.updateCellsSelection(); this._updateSelectedCellDataOption(this.cellsSelectionState.getSelectedCells(), $nextFocusedCell) }; _proto._hasAllDayClass = function($cell) { return $cell.hasClass(ALL_DAY_TABLE_CELL_CLASS) }; _proto._focusInHandler = function(e) { if ((0, _renderer.default)(e.target).is(this._focusTarget()) && false !== this._isCellClick) { delete this._isCellClick; delete this._contextMenuHandled; _WidgetObserver.prototype._focusInHandler.apply(this, arguments); this.cellsSelectionState.restoreSelectedAndFocusedCells(); if (!this.cellsSelectionState.focusedCell) { var cellCoordinates = { columnIndex: 0, rowIndex: 0, allDay: this._isVerticalGroupedWorkSpace() && this.isAllDayPanelVisible }; this.cellsSelectionState.setFocusedCell(cellCoordinates.rowIndex, cellCoordinates.columnIndex, cellCoordinates.allDay); this.cellsSelectionState.setSelectedCells(cellCoordinates, cellCoordinates) } this.updateCellsSelection(); this._updateSelectedCellDataOption(this.cellsSelectionState.getSelectedCells()) } }; _proto._focusOutHandler = function() { _WidgetObserver.prototype._focusOutHandler.apply(this, arguments); if (!this._contextMenuHandled && !this._disposed) { this.cellsSelectionState.releaseSelectedAndFocusedCells(); this.viewDataProvider.updateViewData(this.generateRenderOptions()); this.updateCellsSelection() } }; _proto._focusTarget = function() { return this.$element() }; _proto._isVerticalGroupedWorkSpace = function() { return !!this.option("groups").length && "vertical" === this.option("groupOrientation") }; _proto._isHorizontalGroupedWorkSpace = function() { return !!this.option("groups").length && "horizontal" === this.option("groupOrientation") }; _proto._isWorkSpaceWithCount = function() { return this.option("intervalCount") > 1 }; _proto._isWorkspaceWithOddCells = function() { return .5 === this.option("hoursInterval") && !this.isVirtualScrolling() }; _proto._getRealGroupOrientation = function() { return this._isVerticalGroupedWorkSpace() ? "vertical" : "horizontal" }; _proto.createRAllDayPanelElements = function() { this._$allDayPanel = (0, _renderer.default)("<div>").addClass("dx-scheduler-all-day-panel"); this._$allDayTitle = (0, _renderer.default)("<div>").appendTo(this._$headerPanelEmptyCell) }; _proto._dateTableScrollableConfig = function() { var _this3 = this; var config = { useKeyboard: false, bounceEnabled: false, updateManually: true, onScroll: function() { var _this3$_groupedStrate; null === (_this3$_groupedStrate = _this3._groupedStrategy.cache) || void 0 === _this3$_groupedStrate ? void 0 : _this3$_groupedStrate.clear() } }; if (this._needCreateCrossScrolling()) { config = (0, _extend.extend)(config, this._createCrossScrollingConfig(config)) } if (this.isVirtualScrolling() && (this.virtualScrollingDispatcher.horizontalScrollingAllowed || this.virtualScrollingDispatcher.height)) { var currentOnScroll = config.onScroll; config = _extends({}, config, { onScroll: function(e) { null === currentOnScroll || void 0 === currentOnScroll ? void 0 : currentOnScroll(e); _this3.virtualScrollingDispatcher.handleOnScrollEvent(null === e || void 0 === e ? void 0 : e.scrollOffset) } }) } return config }; _proto._createCrossScrollingConfig = function(_ref) { var _this4 = this; var _onScroll = _ref.onScroll; return { direction: "both", onScroll: function(event) { null === _onScroll || void 0 === _onScroll ? void 0 : _onScroll(); _this4._scrollSync.sidebar({ top: event.scrollOffset.top }); _this4._scrollSync.header({ left: event.scrollOffset.left }) }, onEnd: function() { _this4.option("onScrollEnd")() } } }; _proto._headerScrollableConfig = function() { var _this5 = this; return { useKeyboard: false, showScrollbar: "never", direction: "horizontal", useNative: false, updateManually: true, bounceEnabled: false, onScroll: function(event) { _this5._scrollSync.dateTable({ left: event.scrollOffset.left }) } } }; _proto._visibilityChanged = function(visible) { this.cache.clear(); if (visible) { this._updateGroupTableHeight() } if (visible && this._needCreateCrossScrolling()) { this._setTableSizes() } }; _proto._setTableSizes = function() { this.cache.clear(); this._attachTableClasses(); var cellWidth = this.getCellWidth(); if (cellWidth < this.getCellMinWidth()) { cellWidth = this.getCellMinWidth() } var minWidth = this.getWorkSpaceMinWidth(); var groupCount = this._getGroupCount(); var totalCellCount = this._getTotalCellCount(groupCount); var width = cellWidth * totalCellCount; if (width < minWidth) { width = minWidth }(0, _size.setWidth)(this._$headerPanel, width); (0, _size.setWidth)(this._$dateTable, width); if (this._$allDayTable) { (0, _size.setWidth)(this._$allDayTable, width) } this._attachHeaderTableClasses(); this._updateGroupTableHeight(); this._updateScrollable() }; _proto.getWorkSpaceMinWidth = function() { return this._groupedStrategy.getWorkSpaceMinWidth() }; _proto._dimensionChanged = function() { if (!this._isVisible()) { return } if (this.option("crossScrollingEnabled")) { this._setTableSizes() } this.updateHeaderEmptyCellWidth(); this._updateScrollable(); this.cache.clear() }; _proto._needCreateCrossScrolling = function() { return this.option("crossScrollingEnabled") }; _proto._getElementClass = function() { return (0, _common.noop)() }; _proto._getRowCount = function() { return this.viewDataProvider.getRowCount({ intervalCount: this.option("intervalCount"), currentDate: this.option("currentDate"), viewType: this.type, hoursInterval: this.option("hoursInterval"), startDayHour: this.option("startDayHour"), endDayHour: this.option("endDayHour") }) }; _proto._getCellCount = function() { return this.viewDataProvider.getCellCount({ intervalCount: this.option("intervalCount"), currentDate: this.option("currentDate"), viewType: this.type, hoursInterval: this.option("hoursInterval"), startDayHour: this.option("startDayHour"), endDayHour: this.option("endDayHour") }) }; _proto.isRenovatedRender = function() { return this.renovatedRenderSupported() && this.option("renovateRender") }; _proto._isVirtualModeOn = function() { return "virtual" === this.option("scrolling.mode") }; _proto.isVirtualScrolling = function() { return this.isRenovatedRender() && this._isVirtualModeOn() }; _proto._initVirtualScrolling = function() { if (this.virtualScrollingDispatcher) { this.virtualScrollingDispatcher.dispose(); this.virtualScrollingDispatcher = null } this.virtualScrollingDispatcher = new _uiScheduler.VirtualScrollingDispatcher(this._getVirtualScrollingDispatcherOptions()); this.virtualScrollingDispatcher.attachScrollableEvents(); this.renderer = new _uiScheduler.VirtualScrollingRenderer(this) }; _proto.onDataSourceChanged = function() {}; _proto.isGroupedAllDayPanel = function() { return (0, _base.calculateIsGroupedAllDayPanel)(this.option("groups"), this.option("groupOrientation"), this.isAllDayPanelVisible) }; _proto.generateRenderOptions = function(isProvideVirtualCellsWidth) { var _this$_getToday; var groupCount = this._getGroupCount(); var groupOrientation = groupCount > 0 ? this.option("groupOrientation") : this._getDefaultGroupStrategy(); var options = _extends({ groupByDate: this.option("groupByDate"), startRowIndex: 0, startCellIndex: 0, groupOrientation: groupOrientation, today: null === (_this$_getToday = this._getToday) || void 0 === _this$_getToday ? void 0 : _this$_getToday.call(this), groups: this.option("groups"), isProvideVirtualCellsWidth: isProvideVirtualCellsWidth, isAllDayPanelVisible: this.isAllDayPanelVisible, selectedCells: this.cellsSelectionState.getSelectedCells(), focusedCell: this.cellsSelectionState.focusedCell, headerCellTextFormat: this._getFormat(), getDateForHeaderText: function(_, date) { return date }, startDayHour: this.option("startDayHour"), endDayHour: this.option("endDayHour"), cellDuration: this.getCellDuration(), viewType: this.type, intervalCount: this.option("intervalCount"), hoursInterval: this.option("hoursInterval"), currentDate: this.option("currentDate"), startDate: this.option("startDate"), firstDayOfWeek: this.option("firstDayOfWeek") }, this.virtualScrollingDispatcher.getRenderState()); return options }; _proto.renovatedRenderSupported = function() { return true }; _proto._updateGroupTableHeight = function() { if (this._isVerticalGroupedWorkSpace() && (0, _window.hasWindow)()) { this._setHorizontalGroupHeaderCellsHeight() } }; _proto.updateHeaderEmptyCellWidth = function() { if ((0, _window.hasWindow)() && this._isRenderHeaderPanelEmptyCell()) { var timePanelWidth = this.getTimePanelWidth(); var groupPanelWidth = this.getGroupTableWidth(); this._$headerPanelEmptyCell.css("width", timePanelWidth + groupPanelWidth) } }; _proto._isGroupsSpecified = function(resources) { return this.option("groups").length && resources }; _proto._getGroupIndexByResourceId = function(id) { var groups = this.option("groups"); var resourceTree = (0, _utils.createResourcesTree)(groups); if (!resourceTree.length) { return 0 } return this._getGroupIndexRecursively(resourceTree, id) }; _proto._getGroupIndexRecursively = function(resourceTree, id) { var _this6 = this; var currentKey = resourceTree[0].name; var currentValue = id[currentKey]; return resourceTree.reduce((function(prevIndex, _ref2) { var leafIndex = _ref2.leafIndex, value = _ref2.value, children = _ref2.children; var areValuesEqual = currentValue === value; if (areValuesEqual && void 0 !== leafIndex) { return leafIndex } if (areValuesEqual) { return _this6._getGroupIndexRecursively(children, id) } return prevIndex }), 0) }; _proto._getViewStartByOptions = function() { return (0, _base.getViewStartByOptions)(this.option("startDate"), this.option("currentDate"), this._getIntervalDuration(), this.option("startDate") ? this._calculateViewStartDate() : void 0) }; _proto._getIntervalDuration = function() { return this.viewDataProvider.getIntervalDuration(this.option("intervalCount")) }; _proto._getHeaderDate = function() { return this.getStartViewDate() }; _proto._calculateViewStartDate = function() { return (0, _base.calculateViewStartDate)(this.option("startDate")) }; _proto._firstDayOfWeek = function() { return this.viewDataProvider.getFirstDayOfWeek(this.option("firstDayOfWeek")) }; _proto._attachEvents = function() { this._createSelectionChangedAction(); this._attachClickEvent(); this._attachContextMenuEvent() }; _proto._attachClickEvent = function() { var that = this; var pointerDownAction = this._createAction((function(e) { that._pointerDownHandler(e.event) })); this._createCellClickAction(); var $element = this.$element(); _events_engine.default.off($element, SCHEDULER_WORKSPACE_DXPOINTERDOWN_EVENT_NAME); _events_engine.default.off($element, SCHEDULER_CELL_DXCLICK_EVENT_NAME); _events_engine.default.on($element, SCHEDULER_WORKSPACE_DXPOINTERDOWN_EVENT_NAME, (function(e) { if ((0, _index.isMouseEvent)(e) && e.which > 1) { e.preventDefault(); return } pointerDownAction({ event: e }) })); _events_engine.default.on($element, SCHEDULER_CELL_DXCLICK_EVENT_NAME, ".dx-scheduler-date-table-cell,.dx-scheduler-all-day-table-cell", (function(e) { var $cell = (0, _renderer.default)(e.target); that._cellClickAction({ event: e, cellElement: (0, _element.getPublicElement)($cell), cellData: that.getCellData($cell) }) })) }; _proto._createCellClickAction = function() { var _this7 = this; this._cellClickAction = this._createActionByOption("onCellClick", { afterExecute: function(e) { return _this7._cellClickHandler(e.args[0].event) } }) }; _proto._createSelectionChangedAction = function() { this._selectionChangedAction = this._createActionByOption("onSelectionChanged") }; _proto._cellClickHandler = function() { if (this._showPopup) { delete this._showPopup; this._handleSelectedCellsClick() } }; _proto._pointerDownHandler = function(e) { var $target = (0, _renderer.default)(e.target); if (!$target.hasClass(DATE_TABLE_CELL_CLASS) && !$target.hasClass(ALL_DAY_TABLE_CELL_CLASS)) { this._isCellClick = false; return } this._isCellClick = true; if ($target.hasClass("dx-scheduler-focused-cell")) { this._showPopup = true } else { var cellCoordinates = this._getCoordinatesByCell($target); var isAllDayCell = this._hasAllDayClass($target); this._setSelectedCellsStateAndUpdateSelection(isAllDayCell, cellCoordinates, false, $target) } }; _proto._handleSelectedCellsClick = function() { var selectedCells = this.cellsSelectionState.getSelectedCells(); var firstCellData = selectedCells[0]; var lastCellData = selectedCells[selectedCells.length - 1]; var result = { startDate: firstCellData.startDate, endDate: lastCellData.endDate }; if (void 0 !== lastCellData.allDay) { result.allDay = lastCellData.allDay } this.option("onSelectedCellsClick")(result, lastCellData.groups) }; _proto._attachContextMenuEvent = function() { this._createContextMenuAction(); var cellSelector = "." + DATE_TABLE_CELL_CLASS + ",." + ALL_DAY_TABLE_CELL_CLASS; var $element = this.$element(); var eventName = (0, _index.addNamespace)(_contextmenu.name, this.NAME); _events_engine.default.off($element, eventName, cellSelector); _events_engine.default.on($element, eventName, cellSelector, this._contextMenuHandler.bind(this)) }; _proto._contextMenuHandler = function(e) { var $cell = (0, _renderer.default)(e.target); this._contextMenuAction({ event: e, cellElement: (0, _element.getPublicElement)($cell), cellData: this.getCellData($cell) }); this._contextMenuHandled = true }; _proto._createContextMenuAction = function() { this._contextMenuAction = this._createActionByOption("onCellContextMenu") }; _proto._getGroupHeaderContainer = function() { if (this._isVerticalGroupedWorkSpace()) { return this._$groupTable } return this._$thead }; _proto._getDateHeaderContainer = function() { return this._$thead }; _proto._getCalculateHeaderCellRepeatCount = function() { return this._groupedStrategy.calculateHeaderCellRepeatCount() }; _proto._updateScrollable = function() { var _this$_headerScrollab, _this$_sidebarScrolla; this._dateTableScrollable.update(); null === (_this$_headerScrollab = this._headerScrollable) || void 0 === _this$_headerScrollab ? void 0 : _this$_headerScrollab.update(); null === (_this$_sidebarScrolla = this._sidebarScrollable) || void 0 === _this$_sidebarScrolla ? void 0 : _this$_sidebarScrolla.update() }; _proto._getTimePanelRowCount = function() { return this._getCellCountInDay() }; _proto._getCellCountInDay = function() { var hoursInterval = this.option("hoursInterval"); var startDayHour = this.option("startDayHour"); var endDayHour = this.option("endDayHour"); return this.viewDataProvider.getCellCountInDay(startDayHour, endDayHour, hoursInterval) }; _proto._getTotalCellCount = function(groupCount) { return this._groupedStrategy.getTotalCellCount(groupCount) }; _proto._getTotalRowCount = function(groupCount, includeAllDayPanelRows) { var result = this._groupedStrategy.getTotalRowCount(groupCount); if (includeAllDayPanelRows && this.isAllDayPanelVisible) { result += groupCount } return result }; _proto._getGroupIndex = function(rowIndex, columnIndex) { return this._groupedStrategy.getGroupIndex(rowIndex, columnIndex) }; _proto.calculateEndDate = function(startDate) { var viewDataGenerator = this.viewDataProvider.viewDataGenerator; return viewDataGenerator.calculateEndDate(startDate, viewDataGenerator.getInterval(this.option("hoursInterval")), this.option("endDayHour")) }; _proto._getGroupCount = function() { return (0, _utils.getGroupCount)(this.option("groups")) }; _proto._attachTablesEvents = function() { var element = this.$element(); this._attachDragEvents(element); this._attachPointerEvents(element) }; _proto._detachDragEvents = function(element) { _events_engine.default.off(element, DragEventNames.ENTER); _events_engine.default.off(element, DragEventNames.LEAVE); _events_engine.default.off(element, DragEventNames.DROP) }; _proto._attachDragEvents = function(element) { var _this8 = this; this._detachDragEvents(element); _events_engine.default.on(element, DragEventNames.ENTER, DRAG_AND_DROP_SELECTOR, { checkDropTarget: function(target, event) { return !_this8._isOutsideScrollable(target, event) } }, (function(e) { if (!_this8.preventDefaultDragging) { _this8.removeDroppableCellClass(); (0, _renderer.default)(e.target).addClass("dx-scheduler-date-table-droppable-cell") } })); _events_engine.default.on(element, DragEventNames.LEAVE, (function() { if (!_this8.preventDefaultDragging) { _this8.removeDroppableCellClass() } })); _events_engine.default.on(element, DragEventNames.DROP, DRAG_AND_DROP_SELECTOR, (function() { var _this8$dragBehavior, _this8$dragBehavior$d; if (!_this8.dragBehavior) { return } if (!(null !== (_this8$dragBehavior = _this8.dragBehavior) && void 0 !== _this8$dragBehavior && _this8$dragBehavior.dragBetweenComponentsPromise)) { _this8.dragBehavior.removeDroppableClasses(); return } null === (_this8$dragBehavior$d = _this8.dragBehavior.dragBetweenComponentsPromise) || void 0 === _this8$dragBehavior$d ? void 0 : _this8$dragBehavior$d.then((function() { _this8.dragBehavior.removeDroppableClasses() })) })) }; _proto._attachPointerEvents = function(element) { var _this9 = this; var isPointerDown = false; _events_engine.default.off(element, SCHEDULER_CELL_DXPOINTERMOVE_EVENT_NAME); _events_engine.default.off(element, SCHEDULER_CELL_DXPOINTERDOWN_EVENT_NAME); _events_engine.default.on(element, SCHEDULER_CELL_DXPOINTERDOWN_EVENT_NAME, DRAG_AND_DROP_SELECTOR, (function(e) { if ((0, _index.isMouseEvent)(e) && 1 === e.which) { isPointerDown = true; _this9.$element().addClass("dx-scheduler-work-space-mouse-selection"); _events_engine.default.off(_dom_adapter.default.getDocument(), SCHEDULER_CELL_DXPOINTERUP_EVENT_NAME); _events_engine.default.on(_dom_adapter.default.getDocument(), SCHEDULER_CELL_DXPOINTERUP_EVENT_NAME, (function() { isPointerDown = false; _this9.$element().removeClass("dx-scheduler-work-space-mouse-selection") })) } })); _events_engine.default.on(element, SCHEDULER_CELL_DXPOINTERMOVE_EVENT_NAME, DRAG_AND_DROP_SELECTOR, (function(e) { if (isPointerDown && _this9._dateTableScrollable && !_this9._dateTableScrollable.option("scrollByContent")) { e.preventDefault(); e.stopPropagation(); _this9._moveToCell((0, _renderer.default)(e.target), true) } })) }; _proto._getFormat = function() { return abstract() }; _proto.getWorkArea = function() { return this._$dateTableContainer }; _proto.getScrollable = function() { return this._dateTableScrollable }; _proto.getScrollableScrollTop = function() { return this._dateTableScrollable.scrollTop() }; _proto.getGroupedScrollableScrollTop = function(allDay) { return this._groupedStrategy.getScrollableScrollTop(allDay) }; _proto.getScrollableScrollLeft = function() { return this._dateTableScrollable.scrollLeft() }; _proto.getScrollableOuterWidth = function() { return this._dateTableScrollable.scrollWidth() }; _proto.getScrollableContainer = function() { return (0, _renderer.default)(this._dateTableScrollable.container()) }; _proto.getHeaderPanelHeight = function() { return this._$headerPanel && (0, _size.getOuterHeight)(this._$headerPanel, true) }; _proto.getTimePanelWidth = function() { return this._$timePanel && (0, _position.getBoundingRect)(this._$timePanel.get(0)).width }; _proto.getGroupTableWidth = function() { return this._$groupTable ? (0, _size.getOuterWidth)(this._$groupTable) : 0 }; _proto.getWorkSpaceLeftOffset = function() { return this._groupedStrategy.getLeftOffset() }; _proto._getCellCoordinatesByIndex = function(index) { var columnIndex = Math.floor(index / this._getRowCount()); var rowIndex = index - this._getRowCount() * columnIndex; return { columnIndex: columnIndex, rowIndex: rowIndex } }; _proto._getDateGenerationOptions = function() { var _this$viewDataProvide; return { startDayHour: this.option("startDayHour"), endDayHour: this.option("endDayHour"), isWorkView: this.viewDataProvider.viewDataGenerator.isWorkView, interval: null === (_this$viewDataProvide = this.viewDataProvider.viewDataGenerator) || void 0 === _this$viewDataProvide ? void 0 : _this$viewDataProvide.getInterval(this.option("hoursInterval")), startViewDate: this.getStartViewDate(), firstDayOfWeek: this._firstDayOfWeek() } }; _proto._getIntervalBetween = function(currentDate, allDay) { var firstViewDate = this.getStartViewDate(); var startDayTime = this.option("startDayHour") * HOUR_MS; var timeZoneOffset = _date.default.getTimezonesDifference(firstViewDate, currentDate); var fullInterval = currentDate.getTime() - firstViewDate.getTime() - timeZoneOffset; var days = this._getDaysOfInterval(fullInterval, startDayTime); var weekendsCount = this._getWeekendsCount(days); var result = (days - weekendsCount) * DAY_MS; if (!allDay) { var hiddenInterval = this.viewDataProvider.hiddenInterval; var visibleDayDuration = this.getVisibleDayDuration(); result = fullInterval - days * hiddenInterval - weekendsCount * visibleDayDuration } return result }; _proto._getWeekendsCount = function() { return 0 }; _proto._getDaysOfInterval = function(fullInterval, startDayTime) { return Math.floor((fullInterval + startDayTime) / DAY_MS) }; _proto._updateIndex = function(index) { return index * this._getRowCount() }; _proto._getDroppableCell = function() { return this._getDateTables().find(".dx-scheduler-date-table-droppable-cell") }; _proto._getWorkSpaceWidth = function() { var _this10 = this; return this.cache.get("workspaceWidth", (function() { if (_this10._needCreateCrossScrolling()) { return (0, _position.getBoundingRect)(_this10._$dateTable.get(0)).width } var totalWidth = (0, _position.getBoundingRect)(_this10.$element().get(0)).width; var timePanelWidth = _this10.getTimePanelWidth(); var groupTableWidth = _this10.getGroupTableWidth(); return totalWidth - timePanelWidth - groupTableWidth })) }; _proto._getCellByCoordinates = function(cellCoordinates, groupIndex, inAllDayRow) { var indexes = this._groupedStrategy.prepareCellIndexes(cellCoordinates, groupIndex, inAllDayRow); return this._dom_getDateCell(indexes) }; _proto._dom_getDateCell = function(position) { return this._$dateTable.find("tr:not(.".concat("dx-scheduler-virtual-row", ")")).eq(position.rowIndex).find("td:not(.".concat(_classes.VIRTUAL_CELL_CLASS, ")")).eq(position.columnIndex) }; _proto._dom_getAllDayPanelCell = function(columnIndex) { return this._$allDayPanel.find("tr").eq(0).find("td").eq(columnIndex) }; _proto._getCells = function(allDay, direction) { var cellClass = allDay ? ALL_DAY_TABLE_CELL_CLASS : DATE_TABLE_CELL_CLASS; if ("vertical" === direction) { var result = []; for (var i = 1;; i++) { var cells = this.$element().find("tr .".concat(cellClass, ":nth-child(").concat(i, ")")); if (!cells.length) { break } result = result.concat(cells.toArray()) } return (0, _renderer.default)(result) } else { return this.$element().find("." + cellClass) } }; _proto._getFirstAndLastDataTableCell = function() { var selector = this.isVirtualScrolling() ? ".".concat(DATE_TABLE_CELL_CLASS, ", .").concat(_classes.VIRTUAL_CELL_CLASS) : ".".concat(DATE_TABLE_CELL_CLASS); var $cells = this.$element().find(selector); return [$cells[0], $cells[$cells.length - 1]] }; _proto._getAllCells = function(allDay) { if (this._isVerticalGroupedWorkSpace()) { return this._$dateTable.find("td:not(.".concat(_classes.VIRTUAL_CELL_CLASS, ")")) } var cellClass = allDay && this.supportAllDayRow() ? ALL_DAY_TABLE_CELL_CLASS : DATE_TABLE_CELL_CLASS; return this.$element().find(".".concat(cellClass)) }; _proto._setHorizontalGroupHeaderCellsHeight = function() { var height = (0, _position.getBoundingRect)(this._$dateTable.get(0)).height; (0, _size.setOuterHeight)(this._$groupTable, height) }; _proto._getGroupHeaderCells = function() { return this.$element().find(".dx-scheduler-group-header") }; _proto._getScrollCoordinates = function(hours, minutes, date, groupIndex, allDay) { var currentDate = date || new Date(this.option("currentDate")); var startDayHour = this.option("startDayHour"); var endDayHour = this.option("endDayHour"); if (hours < startDayHour) { hours = startDayHour } if (hours >= endDayHour) { hours = endDayHour - 1 } currentDate.setHours(hours, minutes, 0, 0); var cell = this.viewDataProvider.findGlobalCellPosition(currentDate, groupIndex, allDay); var position = cell.position, cellData = cell.cellData; return this.virtualScrollingDispatcher.calculateCoordinatesByDataAndPosition(cellData, position, currentDate, (0, _base.isDateAndTimeView)(this.type), "vertical" === this.viewDirection) }; _proto._isOutsideScrollable = function(target, event) { var $dateTableScrollableElement = this._dateTableScrollable.$element(); var scrollableSize = (0, _position.getBoundingRect)($dateTableScrollableElement.get(0)); var window = (0, _window.getWindow)(); var isTargetInAllDayPanel = !(0, _renderer.default)(target).closest($dateTableScrollableElement).length; var isOutsideHorizontalScrollable = event.pageX < scrollableSize.left || event.pageX > scrollableSize.left + scrollableSize.width + (window.scrollX || 0); var isOutsideVerticalScrollable = event.pageY < scrollableSize.top || event.pageY > scrollableSize.top + scrollableSize.height + (window.scrollY || 0); if (isTargetInAllDayPanel && !isOutsideHorizontalScrollable) { return false } return isOutsideVerticalScrollable || isOutsideHorizontalScrollable }; _proto.setCellDataCache = function(cellCoordinates, groupIndex, $cell) { var key = JSON.stringify({ rowIndex: cellCoordinates.rowIndex, columnIndex: cellCoordinates.columnIndex, groupIndex: groupIndex }); this.cache.set(key, this.getCellData($cell)) }; _proto.setCellDataCacheAlias = function(appointment, geometry) { var key = JSON.stringify({ rowIndex: appointment.rowIndex, columnIndex: appointment.columnIndex, groupIndex: appointment.groupIndex }); var aliasKey = JSON.stringify({ top: geometry.top, left: geometry.left }); this.cache.set(aliasKey, this.cache.get(key)) }; _proto.supportAllDayRow = function() { return true }; _proto.keepOriginalHours = function() { return false }; _proto._filterCellDataFields = function(cellData) { return (0, _extend.extend)(true, {}, { startDate: cellData.startDate, endDate: cellData.endDate, groups: cellData.groups, groupIndex: cellData.groupIndex, allDay: cellData.allDay }) }; _proto.getCellData = function($cell) { var cellData = this._getFullCellData($cell) || {}; return this._filterCellDataFields(cellData) }; _proto._getFullCellData = function($cell) { var currentCell = $cell[0]; if (currentCell) { return this._getDataByCell($cell) } return }; _proto._getVirtualRowOffset = function() { return this.virtualScrollingDispatcher.virtualRowOffset }; _proto._getVirtualCellOffset = function() { return this.virtualScrollingDispatcher.virtualCellOffset }; _proto._getDataByCell = function($cell) { var rowIndex = $cell.parent().index() - this.virtualScrollingDispatcher.topVirtualRowsCount; var columnIndex = $cell.index() - this.virtualScrollingDispatcher.leftVirtualCellsCount; var viewDataProvider = this.viewDataProvider; var isAllDayCell = this._hasAllDayClass($cell); var cellData = viewDataProvider.getCellData(rowIndex, columnIndex, isAllDayCell); return cellData ? cellData : void 0 }; _proto.isGroupedByDate = function() { return this.option("groupByDate") && this._isHorizontalGroupedWorkSpace() && this._getGroupCount() > 0 }; _proto.getCellIndexByDate = function(date, inAllDayRow) { var viewDataGenerator = this.viewDataProvider.viewDataGenerator; var timeInterval = inAllDayRow ? 864e5 : viewDataGenerator.getInterval(this.option("hoursInterval")); var startViewDateOffset = (0, _base.getStartViewDateTimeOffset)(this.getStartViewDate(), this.option("startDayHour")); var dateTimeStamp = this._getIntervalBetween(date, inAllDayRow) + startViewDateOffset; var index = Math.floor(dateTimeStamp / timeInterval); if (inAllDayRow) { index = this._updateIndex(index) } if (index < 0) { index = 0 } return index }; _proto.getDroppableCellIndex = function() { var $droppableCell = this._getDroppableCell(); var $row = $droppableCell.parent(); var rowIndex = $row.index(); return rowIndex * $row.find("td").length + $droppableCell.index() }; _proto.getDataByDroppableCell = function() { var cellData = this.getCellData((0, _renderer.default)(this._getDroppableCell())); var allDay = cellData.allDay; var startDate = cellData.startDate; var endDate = cellData.endDate; return { startDate: startDate, endDate: endDate, allDay: allDay, groups: cellData.groups } }; _proto.getDateRange = function() { return [this.getStartViewDate(), this.getEndViewDateByEndDayHour()] }; _proto.getCellMinWidth = function() { return 75 }; _proto.getRoundedCellWidth = function(groupIndex, startIndex, cellCount) { if (groupIndex < 0 || !(0, _window.hasWindow)()) { return 0 } var $row = this.$element().find(".".concat(_classes.DATE_TABLE_ROW_CLASS)).eq(0); var width = 0; var $cells = $row.find("." + DATE_TABLE_CELL_CLASS); var totalCellCount = this._getCellCount() * groupIndex; cellCount = cellCount || this._getCellCount(); if (!(0, _type.isDefined)(startIndex)) { startIndex = totalCellCount } for (var i = startIndex; i < totalCellCount + cellCount; i++) { var element = (0, _renderer.default)($cells).eq(i).get(0); var elementWidth = element ? (0, _position.getBoundingRect)(element).width : 0; width += elementWidth } return width / (totalCellCount + cellCount - startIndex) }; _proto.getCellWidth = function() { return (0, _positionHelper.getCellWidth)(this.getDOMElementsMetaData()) }; _proto.getCellHeight = function() { return (0, _positionHelper.getCellHeight)(this.getDOMElementsMetaData()) }; _proto.getAllDayHeight = function() { return (0, _positionHelper.getAllDayHeight)(this.option("showAllDayPanel"), this._isVerticalGroupedWorkSpace(), this.getDOMElementsMetaData()) }; _proto.getMaxAllowedPosition = function(groupIndex) { return (0, _positionHelper.getMaxAllowedPosition)(groupIndex, this.viewDataProvider, this.option("rtlEnabled"), this.getDOMElementsMetaData()) }; _proto.getAllDayOffset = function() { return this._groupedStrategy.getAllDayOffset() }; _proto.getCellIndexByCoordinates = function(coordinates, allDay) { var cellCount = this._getTotalCellCount(this._getGroupCount()); var cellWidth = this.getCellWidth(); var cellHeight = allDay ? this.getAllDayHeight() : this.getCellHeight(); var topIndex = Math.floor(Math.floor(coordinates.top) / Math.floor(cellHeight)); var leftIndex = coordinates.left / cellWidth; leftIndex = Math.floor(leftIndex + .05); if (this._isRTL()) { leftIndex = cellCount - leftIndex - 1 } return cellCount * topIndex + leftIndex }; _proto.getStartViewDate = function() { return this.viewDataProvider.getStartViewDate() }; _proto.getEndViewDate = function() { return this.viewDataProvider.getLastCellEndDate() }; _proto.getEndViewDateByEndDayHour = function() { return this.viewDataProvider.getLastViewDateByEndDayHour(this.option("endDayHour")) }; _proto.getCellDuration = function() { return (0, _base.getCellDuration)(this.type, this.option("startDayHour"), this.option("endDayHour"), this.option("hoursInterval")) }; _proto.getIntervalDuration = function(allDay) { return allDay ? toMs("day") : this.getCellDuration() }; _proto.getVisibleDayDuration = function() { var startDayHour = this.option("startDayHour"); var endDayHour = this.option("endDayHour"); var hoursInterval = this.option("hoursInterval"); return this.viewDataProvider.getVisibleDayDuration(startDayHour, endDayHour, hoursInterval) }; _proto.getGroupBounds = function(coordinates) { var groupBounds = this._groupedStrategy instanceof _uiSchedulerWork_spaceGroupedStrategy2.default ? this.getGroupBoundsVertical(coordinates.groupIndex) : this.getGroupBoundsHorizontal(coordinates); return this._isRTL() ? this.getGroupBoundsRtlCorrection(groupBounds) : groupBounds }; _proto.getGroupBoundsVertical = function(groupIndex) { var $firstAndLastCells = this._getFirstAndLastDataTableCell(); return this._groupedStrategy.getGroupBoundsOffset(groupIndex, $firstAndLastCells) }; _proto.getGroupBoundsHorizontal = function(coordinates) { var cellCount = this._getCellCount(); var $cells = this._getCells(); var cellWidth = this.getCellWidth(); var groupedDataMap = this.viewDataProvider.groupedDataMap; return this._groupedStrategy.getGroupBoundsOffset(cellCount, $cells, cellWidth, coordinates, groupedDataMap) }; _proto.getGroupBoundsRtlCorrection = function(groupBounds) { var cellWidth = this.getCellWidth(); return _extends({}, groupBounds, { left: groupBounds.right - 2 * cellWidth, right: groupBounds.left + 2 * cellWidth }) }; _proto.needRecalculateResizableArea = function() { return this._isVerticalGroupedWorkSpace() && 0 !== this.getScrollable().scrollTop() }; _proto.getCellDataByCoordinates = function(coordinates, allDay) { var _this11 = this; var key = JSON.stringify({ top: coordinates.top, left: coordinates.left }); return this.cache.get(key, (function() { var $cells = _this11._getCells(allDay); var cellIndex = _this11.getCellIndexByCoordinates(coordinates, allDay); var $cell = $cells.eq(cellIndex); return _this11.getCellData($cell) })) }; _proto.getVisibleBounds = function() { var result = {}; var $scrollable = this.getScrollable().$element(); var cellHeight = this.getCellHeight(); var scrolledCellCount = this.getScrollableScrollTop() / cellHeight; var totalCellCount = scrolledCellCount + (0, _size.getHeight)($scrollable) / cellHeight; result.top = { hours: Math.floor(scrolledCellCount * this.option("hoursInterval")) + this.option("startDayHour"), minutes: scrolledCellCount % 2 ? 30 : 0 }; result.bottom = { hours: Math.floor(totalCellCount * this.option("hoursInterval")) + this.option("startDayHour"), minutes: Math.floor(totalCellCount) % 2 ? 30 : 0 }; return result }; _proto.updateScrollPosition = function(date, groups) { var allDay = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false; var newDate = this.timeZoneCalculator.createDate(date, { path: "toGrid" }); var inAllDayRow = allDay && this.isAllDayPanelVisible; if (this.needUpdateScrollPosition(newDate, groups, inAllDayRow)) { this.scrollTo(newDate, groups, inAllDayRow, false) } }; _proto.needUpdateScrollPosition = function(date, groups, inAllDayRow) { var _this12 = this; var cells = this._getCellsInViewport(inAllDayRow); var groupIndex = this._isGroupsSpecified(groups) ? this._getGroupIndexByResourceId(groups) : 0; var time = date.getTime(); var trimmedTime = _date.default.trimTime(date).getTime(); return cells.reduce((function(currentResult, cell) { var _this12$getCellData = _this12.getCellData(cell), cellStartDate = _this12$getCellData.startDate, cellEndDate = _this12$getCellData.endDate, cellGroupIndex = _this12$getCellData.groupIndex; var cellStartTime = cellStartDate.getTime(); var cellEndTime = cellEndDate.getTime(); if ((!inAllDayRow && cellStartTime <= time && time < cellEndTime || inAllDayRow && trimmedTime === cellStartTime) && groupIndex === cellGroupIndex) { return false } return currentResult }), true) }; _proto._getCellsInViewport = function(inAllDayRow) { var $scrollable = this.getScrollable().$element(); var cellHeight = this.getCellHeight(); var cellWidth = this.getCellWidth(); var totalColumnCount = this._getTotalCellCount(this._getGroupCount()); var scrollableScrollTop = this.getScrollableScrollTop(); var scrollableScrollLeft = this.getScrollableScrollLeft(); var fullScrolledRowCount = scrollableScrollTop / cellHeight - this.virtualScrollingDispatcher.topVirtualRowsCount; var scrolledRowCount = Math.floor(fullScrolledRowCount); if (scrollableScrollTop % cellHeight !== 0) { scrolledRowCount += 1 } var fullScrolledColumnCount = scrollableScrollLeft / cellWidth; var scrolledColumnCount = Math.floor(fullScrolledColumnCount); if (scrollableScrollLeft % cellWidth !== 0) { scrolledColumnCount += 1 } var rowCount = Math.floor(fullScrolledRowCount + (0, _size.getHeight)($scrollable) / cellHeight); var columnCount = Math.floor(fullScrolledColumnCount + (0, _size.getWidth)($scrollable) / cellWidth); var $cells = this._getAllCells(inAllDayRow); var result = []; $cells.each((function(index) { var $cell = (0, _renderer.default)(this); var columnIndex = index % totalColumnCount; var rowIndex = index / totalColumnCount; if (scrolledColumnCount <= columnIndex && columnIndex < columnCount && scrolledRowCount <= rowIndex && rowIndex < rowCount) { result.push($cell) } })); return result }; _proto.scrollToTime = function(hours, minutes, date) { if (!this._isValidScrollDate(date)) { return } var coordinates = this._getScrollCoordinates(hours, minutes, date); var scrollable = this.getScrollable(); scrollable.scrollBy({ top: coordinates.top - scrollable.scrollTop(), left: 0 }) }; _proto.scrollTo = function(date, groups) { var allDay = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false; var throwWarning = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : true; if (!this._isValidScrollDate(date, throwWarning)) { return } var groupIndex = this._getGroupCount() && groups ? this._getGroupIndexByResourceId(groups) : 0; var isScrollToAllDay = allDay && this.isAllDayPanelVisible; var coordinates = this._getScrollCoordinates(date.getHours(), date.getMinutes(), date, groupIndex, isScrollToAllDay); var scrollable = this.getScrollable(); var $scrollable = scrollable.$element(); var cellWidth = this.getCellWidth(); var offset = this.option("rtlEnabled") ? cellWidth : 0; var scrollableHeight = (0, _size.getHeight)($scrollable); var scrollableWidth = (0, _size.getWidth)($scrollable); var cellHeight = this.getCellHeight(); var xShift = (scrollableWidth - cellWidth) / 2; var yShift = (scrollableHeight - cellHeight) / 2; var left = coordinates.left - scrollable.scrollLeft() - xShift - offset; var top = coordinates.top - scrollable.scrollTop() - yShift; if (isScrollToAllDay && !this._isVerticalGroupedWorkSpace()) { top = 0 } if (this.option("templatesRenderAsynchronously")) { setTimeout((function() { scrollable.scrollBy({ left: left, top: top }) })) } else { scrollable.scrollBy({ left: left, top: top }) } }; _proto._isValidScrollDate = function(date) { var throwWarning = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : true; var min = this.getStartViewDate(); var max = this.getEndViewDate(); if (date < min || date > max) { throwWarning && _ui.default.log("W1008", date); return false } return true }; _proto.needApplyCollectorOffset = function() { return false }; _proto.removeDroppableCellClass = function($cellElement) { var $cell = $cellElement || this._getDroppableCell(); null === $cell || void 0 === $cell ? void 0 : $cell.removeClass("dx-scheduler-date-table-droppable-cell") }; _proto._getCoordinatesByCell = function($cell) { var columnIndex = $cell.index() - this.virtualScrollingDispatcher.leftVirtualCellsCount; var rowIndex = $cell.parent().index(); var isAllDayCell = this._hasAllDayClass($cell); var isVerticalGrouping = this._isVerticalGroupedWorkSpace(); if (!(isAllDayCell && !isVerticalGrouping)) { rowIndex -= this.virtualScrollingDispatcher.topVirtualRowsCount } return { rowIndex: rowIndex, columnIndex: columnIndex } }; _proto._isShowAllDayPanel = function() { return this.option("showAllDayPanel") }; _proto._getTimePanelCells = function() { return this.$element().find(".".concat("dx-scheduler-time-panel-cell")) }; _proto._getRDateTableProps = function() { return { viewData: this.viewDataProvider.viewData, dataCellTemplate: this.option("dataCellTemplate"), addDateTableClass: !this.option("crossScrollingEnabled") || this.isVirtualScrolling(), groupOrientation: this.option("groupOrientation"), addVerticalSizesClassToRows: false } }; _proto._updateSelectedCellDataOption = function(selectedCellData) { var correctedSelectedCellData = selectedCellData.map((function(_ref3) { var startDate = _ref3.startDate, endDate = _ref3.endDate, allDay = _ref3.allDay, groupIndex = _ref3.groupIndex, groups = _ref3.groups; return { startDate: startDate, endDate: endDate, allDay: allDay, groupIndex: groupIndex, groups: groups } })); this.option("selectedCellData", correctedSelectedCellData); this._selectionChangedAction({ selectedCellData: correctedSelectedCellData }) }; _proto._getCellByData = function(cellData) { var startDate = cellData.startDate, groupIndex = cellData.groupIndex, allDay = cellData.allDay, index = cellData.index; var position = this.viewDataProvider.findCellPositionInMap({ startDate: startDate, groupIndex: groupIndex, isAllDay: allDay, index: index }); if (!position) { return } return allDay && !this._isVerticalGroupedWorkSpace() ? this._dom_getAllDayPanelCell(position.columnIndex) : this._dom_getDateCell(position) }; _proto.getDOMElementsMetaData = function() { var _this13 = this; return this.cache.get("cellElementsMeta", (function() { return { dateTableCellsMeta: _this13._getDateTableDOMElementsInfo(), allDayPanelCellsMeta: _this13._getAllDayPanelDOMElementsInfo() } })) }; _proto._getDateTableDOMElementsInfo = function() { var _this14 = this; var dateTableCells = this._getAllCells(false); if (!dateTableCells.length || !(0, _window.hasWindow)()) { return [ [{}] ] } var dateTable = this._getDateTable(); var dateTableRect = (0, _position.getBoundingRect)(dateTable.get(0)); var columnsCount = this.viewDataProvider.getColumnsCount(); var result = []; dateTableCells.each((function(index, cell) { var rowIndex = Math.floor(index / columnsCount); if (result.length === rowIndex) { result.push([]) } _this14._addCellMetaData(result[rowIndex], cell, dateTableRect) })); return result }; _proto._getAllDayPanelDOMElementsInfo = function() { var _this15 = this; var result = []; if (this.isAllDayPanelVisible && !this._isVerticalGroupedWorkSpace() && (0, _window.hasWindow)()) { var allDayCells = this._getAllCells(true); if (!allDayCells.length) { return [{}] } var allDayAppointmentContainer = this._$allDayPanel; var allDayPanelRect = (0, _position.getBoundingRect)(allDayAppointmentContainer.get(0)); allDayCells.each((function(_, cell) { _this15._addCellMetaData(result, cell, allDayPanelRect) })) } return result }; _proto._addCellMetaData = function(cellMetaDataArray, cell, parentRect) { var cellRect = (0, _position.getBoundingRect)(cell); cellMetaDataArray.push({ left: cellRect.left - parentRect.left, top: cellRect.top - parentRect.top, width: cellRect.width, height: cellRect.height }) }; _proto._oldRender_getAllDayCellData = function(groupIndex) { var _this16 = this; return function(cell, rowIndex, columnIndex) { var validColumnIndex = columnIndex % _this16._getCellCount(); var options = _this16._getDateGenerationOptions(true); var startDate = _this16.viewDataProvider.viewDataGenerator.getDateByCellIndices(options, rowIndex, validColumnIndex, _this16._getCellCountInDay()); startDate = _date.default.trimTime(startDate); var validGroupIndex = groupIndex || 0; if (_this16.isGroupedByDate()) { validGroupIndex = Math.floor(columnIndex % _this16._getGroupCount()) } else if (_this16._isHorizontalGroupedWorkSpace()) { validGroupIndex = Math.floor(columnIndex / _this16._getCellCount()) } var data = { startDate: startDate, endDate: startDate, allDay: true, groupIndex: validGroupIndex }; var groupsArray = (0, _utils.getCellGroups)(validGroupIndex, _this16.option("groups")); if (groupsArray.length) { data.groups = (0, _utils.getGroupsObjectFromGroupsArray)(groupsArray) } return { key: "dxCellData", value: data } } }; _proto.renderRWorkSpace = function(componentsToRender) { var components = null !== componentsToRender && void 0 !== componentsToRender ? componentsToRender : { header: true, timePanel: true, dateTable: true, allDayPanel: true }; components.header && this.renderRHeaderPanel(); components.timePanel && this.renderRTimeTable(); components.dateTable && this.renderRDateTable(); components.allDayPanel && this.renderRAllDayPanel() }; _proto.renderRDateTable = function() { _utils2.utils.renovation.renderComponent(this, this._$dateTable, _layout.default, "renovatedDateTable", this._getRDateTableProps()) }; _proto.renderRGroupPanel = function() { var options = { groups: this.option("groups"), groupOrientation: this.option("groupOrientation"), groupByDate: this.isGroupedByDate(), resourceCellTemplate: this.option("resourceCellTemplate"), className: this.verticalGroupTableClass, groupPanelData: this.viewDataProvider.getGroupPanelData(this.generateRenderOptions()) }; if (this.option("groups").length) { this._attachGroupCountClass(); _utils2.utils.renovation.renderComponent(this, this._getGroupHeaderContainer(), _group_panel.default, "renovatedGroupPanel", options) } else { this._detachGroupCountClass() } }; _proto.renderRAllDayPanel = function() { var visible = this.isAllDayPanelVisible && !this.isGroupedAllDayPanel(); if (visible) { var _this$virtualScrollin; this._toggleAllDayVisibility(false); var options = _extends({ viewData: this.viewDataProvider.viewData, dataCellTemplate: this.option("dataCellTemplate"), startCellIndex: 0 }, (null === (_this$virtualScrollin = this.virtualScrollingDispatcher.horizontalVirtualScrolling) || void 0 === _this$virtualScrollin ? void 0 : _this$virtualScrollin.getRenderState()) || {}); _utils2.utils.renovation.renderComponent(this, this._$allDayTable, _table.default, "renovatedAllDayPanel", options); _utils2.utils.renovation.renderComponent(this, this._$allDayTitle, _title.default, "renovatedAllDayPanelTitle", {}) } this._toggleAllDayVisibility(true) }; _proto.renderRTimeTable = function() { _utils2.utils.renovation.renderComponent(this, this._$timePanel, _layout2.default, "renovatedTimePanel", { timePanelData: this.viewDataProvider.timePanelData, timeCellTemplate: this.option("timeCellTemplate"), groupOrientation: this.option("groupOrientation") }) }; _proto.renderRHeaderPanel = function() { var isRenderDateHeader = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : true; if (this.option("groups").length) { this._attachGroupCountClass() } else { this._detachGroupCountClass() } _utils2.utils.renovation.renderComponent(this, this._$thead, this.renovatedHeaderPanelComponent, "renovatedHeaderPanel", { dateHeaderData: this.viewDataProvider.dateHeaderData, groupPanelData: this.viewDataProvider.getGroupPanelData(this.generateRenderOptions()), dateCellTemplate: this.option("dateCellTemplate"), timeCellTemplate: this.option("timeCellTemplate"), groups: this.option("groups"), groupByDate: this.isGroupedByDate(), groupOrientation: this.option("groupOrientation"), resourceCellTemplate: this.option("resourceCellTemplate"), isRenderDateHeader: isRenderDateHeader }) }; _proto.initDragBehavior = function(scheduler) { if (!this.dragBehavior && scheduler) { this.dragBehavior = new _appointmentDragBehavior.default(scheduler); var $rootElement = (0, _renderer.default)(scheduler.element()); this._createDragBehavior(this.getWorkArea(), $rootElement); this._createDragBehavior(this.getAllDayContainer(), $rootElement) } }; _proto._createDragBehavior = function($targetElement, $rootElement) { var options = { getItemData: function(itemElement, appointments) { return appointments._getItemData(itemElement) }, getItemSettings: function($itemElement) { return $itemElement.data(_constants.APPOINTMENT_SETTINGS_KEY) } }; this._createDragBehaviorBase($targetElement, $rootElement, options) }; _proto._createDragBehaviorBase = function(targetElement, rootElement, options) { var _this17 = this; var container = this.$element().find(".".concat(_classes.FIXED_CONTAINER_CLASS)); this.dragBehavior.addTo(targetElement, createDragBehaviorConfig(container, rootElement, this.isDefaultDraggingMode, this.dragBehavior, (function() { if (!_this17.isDefaultDraggingMode) { _this17.preventDefaultDragging = false } }), (function() { if (!_this17.isDefaultDraggingMode) { _this17.preventDefaultDragging = true } }), (function() { return _this17._getDroppableCell() }), (function() { return _this17._getDateTables() }), (function() { return _this17.removeDroppableCellClass() }), (function() { return _this17.getCellWidth() }), options)) }; _proto._isRenderHeaderPanelEmptyCell = function() { return this._isVerticalGroupedWorkSpace() }; _proto._dispose = function() { _WidgetObserver.prototype._dispose.call(this); this.virtualScrollingDispatcher.dispose() }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_WidgetObserver.prototype._getDefaultOptions.call(this), { currentDate: new Date, intervalCount: 1, startDate: null, firstDayOfWeek: void 0, startDayHour: 0, endDayHour: 24, hoursInterval: .5, activeStateEnabled: true, hoverStateEnabled: true, groups: [], showAllDayPanel: true, allDayExpanded: false, onCellClick: null, crossScrollingEnabled: false, dataCellTemplate: null, timeCellTemplate: null, resourceCellTemplate: null, dateCellTemplate: null, allowMultipleCellSelection: true, indicatorTime: new Date, indicatorUpdateInterval: 5 * toMs("minute"), shadeUntilCurrentTime: true, groupOrientation: "horizontal", selectedCellData: [], groupByDate: false, scrolling: { mode: "standard" }, allDayPanelMode: "all", renovateRender: true, height: void 0, draggingMode: "outlook", onScrollEnd: function() {}, getHeaderHeight: void 0, onRenderAppointments: function() {}, onShowAllDayPanel: function() {}, onSelectedCellsClick: function() {}, timeZoneCalculator: void 0, schedulerHeight: void 0, schedulerWidth: void 0 }) }; _proto._optionChanged = function(args) { switch (args.name) { case "startDayHour": (0, _base.validateDayHours)(args.value, this.option("endDayHour")); this._cleanWorkSpace(); break; case "endDayHour": (0, _base.validateDayHours)(this.option("startDayHour"), args.value); this._cleanWorkSpace(); break; case "dateCellTemplate": case "resourceCellTemplate": case "dataCellTemplate": case "timeCellTemplate": case "hoursInterval": case "firstDayOfWeek": case "currentDate": case "startDate": this._cleanWorkSpace(); break; case "groups": this._cleanView(); this._removeAllDayElements(); this._initGrouping(); this.repaint(); break; case "groupOrientation": this._initGroupedStrategy(); this._createAllDayPanelElements(); this._removeAllDayElements(); this._cleanWorkSpace(); this._toggleGroupByDateClass(); break; case "showAllDayPanel": if (this._isVerticalGroupedWorkSpace()) { this._cleanView(); this._removeAllDayElements(); this._initGrouping(); this.repaint() } else if (!this.isRenovatedRender()) { this._toggleAllDayVisibility(true) } else { this.renderWorkSpace() } break; case "allDayExpanded": this._changeAllDayVisibility(); this._attachTablesEvents(); this._updateScrollable(); break; case "onSelectionChanged": this._createSelectionChangedAction(); break; case "onCellClick": this._createCellClickAction(); break; case "onCellContextMenu": this._attachContextMenuEvent(); break; case "intervalCount": this._cleanWorkSpace(); this._toggleWorkSpaceCountClass(); break; case "groupByDate": this._cleanWorkSpace(); this._toggleGroupByDateClass(); break; case "crossScrollingEnabled": this._toggleHorizontalScrollClass(); this._dateTableScrollable.option(this._dateTableScrollableConfig()); break; case "allDayPanelMode": this.updateShowAllDayPanel(); this.updateAppointments(); break; case "width": _WidgetObserver.prototype._optionChanged.call(this, args); this._dimensionChanged(); break; case "timeZoneCalculator": case "allowMultipleCellSelection": case "selectedCellData": break; case "renovateRender": case "scrolling": this.repaint(); break; case "schedulerHeight": case "schedulerWidth": this.virtualScrollingDispatcher.updateDimensions(true); break; default: _WidgetObserver.prototype._optionChanged.call(this, args) } }; _proto.updateShowAllDayPanel = function() { var isHiddenAllDayPanel = "hidden" === this.option("allDayPanelMode"); this.option("onShowAllDayPanel")(!isHiddenAllDayPanel) }; _proto._getVirtualScrollingDispatcherOptions = function() { var _this18 = this; return { getCellHeight: this.getCellHeight.bind(this), getCellWidth: this.getCellWidth.bind(this), getCellMinWidth: this.getCellMinWidth.bind(this), isRTL: this._isRTL.bind(this), getSchedulerHeight: function() { return _this18.option("schedulerHeight") }, getSchedulerWidth: function() { return _this18.option("schedulerWidth") }, getViewHeight: function() { return _this18.$element().height ? _this18.$element().height() : (0, _size.getHeight)(_this18.$element()) }, getViewWidth: function() { return _this18.$element().width ? _this18.$element().width() : (0, _size.getWidth)(_this18.$element()) }, getWindowHeight: function() { return (0, _window.getWindow)().innerHeight }, getWindowWidth: function() { return (0, _window.getWindow)().innerWidth }, getScrolling: function() { return _this18.option("scrolling") }, getScrollableOuterWidth: this.getScrollableOuterWidth.bind(this), getScrollable: this.getScrollable.bind(this), createAction: this._createAction.bind(this), updateRender: this.updateRender.bind(this), updateGrid: this.updateGrid.bind(this), getGroupCount: this._getGroupCount.bind(this), isVerticalGrouping: this._isVerticalGroupedWorkSpace.bind(this), getTotalRowCount: this._getTotalRowCount.bind(this), getTotalCellCount: this._getTotalCellCount.bind(this) } }; _proto._cleanWorkSpace = function() { this._cleanView(); this._toggleGroupedClass(); this._toggleWorkSpaceWithOddCells(); this.virtualScrollingDispatcher.updateDimensions(true); this._renderView(); this.option("crossScrollingEnabled") && this._setTableSizes(); this.cache.clear() }; _proto._init = function() { this._scrollSync = {}; this._viewDataProvider = null; this._cellsSelectionState = null; this._activeStateUnit = CELL_SELECTOR; _WidgetObserver.prototype._init.call(this); this._initGrouping(); this._toggleHorizontalScrollClass(); this._toggleWorkSpaceCountClass(); this._toggleGroupByDateClass(); this._toggleWorkSpaceWithOddCells(); this.$element().addClass("dx-scheduler-work-space").addClass(this._getElementClass()) }; _proto._initPositionHelper = function() { this.positionHelper = new _positionHelper.PositionHelper({ key: this.option("key"), viewDataProvider: this.viewDataProvider, viewStartDayHour: this.option("startDayHour"), viewEndDayHour: this.option("endDayHour"), cellDuration: this.getCellDuration(), groupedStrategy: this._groupedStrategy, isGroupedByDate: this.isGroupedByDate(), rtlEnabled: this.option("rtlEnabled"), startViewDate: this.getStartViewDate(), isVerticalGrouping: this._isVerticalGroupedWorkSpace(), groupCount: this._getGroupCount(), isVirtualScrolling: this.isVirtualScrolling(), getDOMMetaDataCallback: this.getDOMElementsMetaData.bind(this) }) }; _proto._initGrouping = function() { this._initGroupedStrategy(); this._toggleGroupingDirectionClass(); this._toggleGroupByDateClass() }; _proto.isVerticalOrientation = function() { var orientation = this.option("groups").length ? this.option("groupOrientation") : this._getDefaultGroupStrategy(); return "vertical" === orientation }; _proto._initGroupedStrategy = function() { var Strategy = this.isVerticalOrientation() ? _uiSchedulerWork_spaceGroupedStrategy2.default : _uiSchedulerWork_spaceGroupedStrategy.default; this._groupedStrategy = new Strategy(this) }; _proto._getDefaultGroupStrategy = function() { return "horizontal" }; _proto._toggleHorizontalScrollClass = function() { this.$element().toggleClass("dx-scheduler-work-space-both-scrollbar", this.option("crossScrollingEnabled")) }; _proto._toggleGroupByDateClass = function() { this.$element().toggleClass("dx-scheduler-work-space-group-by-date", this.isGroupedByDate()) }; _proto._toggleWorkSpaceCountClass = function() { this.$element().toggleClass("dx-scheduler-work-space-count", this._isWorkSpaceWithCount()) }; _proto._toggleWorkSpaceWithOddCells = function() { this.$element().toggleClass("dx-scheduler-work-space-odd-cells", this._isWorkspaceWithOddCells()) }; _proto._toggleGroupingDirectionClass = function() { this.$element().toggleClass("dx-scheduler-work-space-vertical-grouped", this._isVerticalGroupedWorkSpace()) }; _proto._getDateTableCellClass = function(rowIndex, columnIndex) { return this._groupedStrategy.addAdditionalGroupCellClasses("dx-scheduler-date-table-cell dx-scheduler-cell-sizes-horizontal dx-scheduler-cell-sizes-vertical", columnIndex + 1, rowIndex, columnIndex) }; _proto._getGroupHeaderClass = function(i) { return this._groupedStrategy.addAdditionalGroupCellClasses("dx-scheduler-group-header", i + 1) }; _proto._initWorkSpaceUnits = function() { this._$headerPanelContainer = (0, _renderer.default)("<div>").addClass("dx-scheduler-header-panel-container"); this._$headerTablesContainer = (0, _renderer.default)("<div>").addClass("dx-scheduler-header-tables-container"); this._$headerPanel = (0, _renderer.default)("<table>"); this._$thead = (0, _renderer.default)("<thead>").appendTo(this._$headerPanel); this._$headerPanelEmptyCell = (0, _renderer.default)("<div>").addClass("dx-scheduler-header-panel-empty-cell"); this._$allDayTable = (0, _renderer.default)("<table>"); this._$fixedContainer = (0, _renderer.default)("<div>").addClass(_classes.FIXED_CONTAINER_CLASS); this._$allDayContainer = (0, _renderer.default)("<div>").addClass("dx-scheduler-all-day-appointments"); this._$dateTableScrollableContent = (0, _renderer.default)("<div>").addClass("dx-scheduler-date-table-scrollable-content"); this._$sidebarScrollableContent = (0, _renderer.default)("<div>").addClass("dx-scheduler-side-bar-scrollable-content"); this._initAllDayPanelElements(); if (this.isRenovatedRender()) { this.createRAllDayPanelElements() } else { this._createAllDayPanelElements() } this._$timePanel = (0, _renderer.default)("<table>").addClass(_classes.TIME_PANEL_CLASS); this._$dateTable = (0, _renderer.default)("<table>"); this._$dateTableContainer = (0, _renderer.default)("<div>").addClass("dx-scheduler-date-table-container"); this._$groupTable = (0, _renderer.default)("<div>").addClass("dx-scheduler-work-space-vertical-group-table") }; _proto._initAllDayPanelElements = function() { this._allDayTitles = []; this._allDayTables = []; this._allDayPanels = [] }; _proto._initDateTableScrollable = function() { var _this19 = this; var $dateTableScrollable = (0, _renderer.default)("<div>").addClass("dx-scheduler-date-table-scrollable"); this._dateTableScrollable = this._createComponent($dateTableScrollable, _ui2.default, this._dateTableScrollableConfig()); this._scrollSync.dateTable = (0, _getMemoizeScrollTo.getMemoizeScrollTo)((function() { return _this19._dateTableScrollable })) }; _proto._createWorkSpaceElements = function() { if (this.option("crossScrollingEnabled")) { this._createWorkSpaceScrollableElements() } else { this._createWorkSpaceStaticElements() } }; _proto._createWorkSpaceStaticElements = function() { this._$dateTableContainer.append(this._$dateTable); if (this._isVerticalGroupedWorkSpace()) { this._$dateTableContainer.append(this._$allDayContainer); this._$dateTableScrollableContent.append(this._$groupTable, this._$timePanel, this._$dateTableContainer); this._dateTableScrollable.$content().append(this._$dateTableScrollableContent); this._$headerTablesContainer.append(this._$headerPanel) } else { var _this$_$allDayPanel; this._$dateTableScrollableContent.append(this._$timePanel, this._$dateTableContainer); this._dateTableScrollable.$content().append(this._$dateTableScrollableContent); this._$headerTablesContainer.append(this._$headerPanel, this._$allDayPanel); null === (_this$_$allDayPanel = this._$allDayPanel) || void 0 === _this$_$allDayPanel ? void 0 : _this$_$allDayPanel.append(this._$allDayContainer, this._$allDayTable) } this._appendHeaderPanelEmptyCellIfNecessary(); this._$headerPanelContainer.append(this._$headerTablesContainer); this.$element().append(this._$fixedContainer, this._$headerPanelContainer, this._dateTableScrollable.$element()) }; _proto._createWorkSpaceScrollableElements = function() { this.$element().append(this._$fixedContainer); this._$flexContainer = (0, _renderer.default)("<div>").addClass("dx-scheduler-work-space-flex-container"); this._createHeaderScrollable(); this._headerScrollable.$content().append(this._$headerPanel); this._appendHeaderPanelEmptyCellIfNecessary(); this._$headerPanelContainer.append(this._$headerTablesContainer); this.$element().append(this._$headerPanelContainer); this.$element().append(this._$flexContainer); this._createSidebarScrollable(); this._$flexContainer.append(this._dateTableScrollable.$element()); this._$dateTableContainer.append(this._$dateTable); this._$dateTableScrollableContent.append(this._$dateTableContainer); this._dateTableScrollable.$content().append(this._$dateTableScrollableContent); if (this._isVerticalGroupedWorkSpace()) { this._$dateTableContainer.append(this._$allDayContainer); this._$sidebarScrollableContent.append(this._$groupTable, this._$timePanel) } else { var _this$_$allDayPanel2; this._headerScrollable.$content().append(this._$allDayPanel); null === (_this$_$allDayPanel2 = this._$allDayPanel) || void 0 === _this$_$allDayPanel2 ? void 0 : _this$_$allDayPanel2.append(this._$allDayContainer, this._$allDayTable); this._$sidebarScrollableContent.append(this._$timePanel) } this._sidebarScrollable.$content().append(this._$sidebarScrollableContent) }; _proto._appendHeaderPanelEmptyCellIfNecessary = function() { this._isRenderHeaderPanelEmptyCell() && this._$headerPanelContainer.append(this._$headerPanelEmptyCell) }; _proto._createHeaderScrollable = function() { var _this20 = this; var $headerScrollable = (0, _renderer.default)("<div>").addClass("dx-scheduler-header-scrollable").appendTo(this._$headerTablesContainer); this._headerScrollable = this._createComponent($headerScrollable, _ui2.default, this._headerScrollableConfig()); this._scrollSync.header = (0, _getMemoizeScrollTo.getMemoizeScrollTo)((function() { return _this20._headerScrollable })) }; _proto._createSidebarScrollable = function() { var _this21 = this; var $timePanelScrollable = (0, _renderer.default)("<div>").addClass("dx-scheduler-sidebar-scrollable").appendTo(this._$flexContainer); this._sidebarScrollable = this._createComponent($timePanelScrollable, _ui2.default, { useKeyboard: false, showScrollbar: "never", direction: "vertical", useNative: false, updateManually: true, bounceEnabled: false, onScroll: function(event) { _this21._scrollSync.dateTable({ top: event.scrollOffset.top }) } }); this._scrollSync.sidebar = (0, _getMemoizeScrollTo.getMemoizeScrollTo)((function() { return _this21._sidebarScrollable })) }; _proto._attachTableClasses = function() { this._addTableClass(this._$dateTable, _classes.DATE_TABLE_CLASS); if (this._isVerticalGroupedWorkSpace()) { var groupCount = this._getGroupCount(); for (var i = 0; i < groupCount; i++) { this._addTableClass(this._allDayTables[i], "dx-scheduler-all-day-table") } } else if (!this.isRenovatedRender()) { this._addTableClass(this._$allDayTable, "dx-scheduler-all-day-table") } }; _proto._attachHeaderTableClasses = function() { this._addTableClass(this._$headerPanel, "dx-scheduler-header-panel") }; _proto._addTableClass = function($el, className) { $el && !$el.hasClass(className) && $el.addClass(className) }; _proto._initMarkup = function() { this.cache.clear(); this._initWorkSpaceUnits(); this._initVirtualScrolling(); this._initDateTableScrollable(); this._createWorkSpaceElements(); _WidgetObserver.prototype._initMarkup.call(this); if (!this.option("crossScrollingEnabled")) { this._attachTableClasses(); this._attachHeaderTableClasses() } this._toggleGroupedClass(); this._renderView(); this._attachEvents() }; _proto._render = function() { _WidgetObserver.prototype._render.call(this); this._renderDateTimeIndication(); this._setIndicationUpdateInterval() }; _proto._toggleGroupedClass = function() { this.$element().toggleClass("dx-scheduler-work-space-grouped", this._getGroupCount() > 0) }; _proto._renderView = function() { if (this.isRenovatedRender()) { if (this._isVerticalGroupedWorkSpace()) { this.renderRGroupPanel() } } else { this._applyCellTemplates(this._renderGroupHeader()) } this.renderWorkSpace(); if (this.isRenovatedRender()) { this.virtualScrollingDispatcher.updateDimensions() } this._updateGroupTableHeight(); this.updateHeaderEmptyCellWidth(); this._shader = new _uiSchedulerCurrent_time_shader.default(this) }; _proto.updateCellsSelection = function() { var renderOptions = this.generateRenderOptions(); this.viewDataProvider.updateViewData(renderOptions); this.renderRWorkSpace({ timePanel: true, dateTable: true, allDayPanel: true }) }; _proto._renderDateTimeIndication = function() { return (0, _common.noop)() }; _proto._setIndicationUpdateInterval = function() { return (0, _common.noop)() }; _proto._refreshDateTimeIndication = function() { return (0, _common.noop)() }; _proto._detachGroupCountClass = function() { var _this22 = this; _toConsumableArray(_classes.VERTICAL_GROUP_COUNT_CLASSES).forEach((function(className) { _this22.$element().removeClass(className) })) }; _proto._attachGroupCountClass = function() { var className = this._groupedStrategy.getGroupCountClass(this.option("groups")); this.$element().addClass(className) }; _proto._getDateHeaderTemplate = function() { return this.option("dateCellTemplate") }; _proto._toggleAllDayVisibility = function(isUpdateScrollable) { var showAllDayPanel = this._isShowAllDayPanel(); this.$element().toggleClass("dx-scheduler-work-space-all-day", showAllDayPanel); this._changeAllDayVisibility(); isUpdateScrollable && this._updateScrollable() }; _proto._changeAllDayVisibility = function() { this.cache.clear(); this.$element().toggleClass("dx-scheduler-work-space-all-day-collapsed", !this.option("allDayExpanded") && this._isShowAllDayPanel()) }; _proto._getDateTables = function() { return this._$dateTable.add(this._$allDayTable) }; _proto._getDateTable = function() { return this._$dateTable }; _proto._removeAllDayElements = function() { this._$allDayTable && this._$allDayTable.remove(); this._$allDayTitle && this._$allDayTitle.remove() }; _proto._cleanView = function() { var _this$_shader; this.cache.clear(); this._cleanTableWidths(); this.cellsSelectionState.clearSelectedAndFocusedCells(); if (!this.isRenovatedRender()) { var _this$_$allDayTable, _this$_$sidebarTable; this._$thead.empty(); this._$dateTable.empty(); this._$timePanel.empty(); this._$groupTable.empty(); null === (_this$_$allDayTable = this._$allDayTable) || void 0 === _this$_$allDayTable ? void 0 : _this$_$allDayTable.empty(); null === (_this$_$sidebarTable = this._$sidebarTable) || void 0 === _this$_$sidebarTable ? void 0 : _this$_$sidebarTable.empty() } null === (_this$_shader = this._shader) || void 0 === _this$_shader ? void 0 : _this$_shader.clean(); delete this._interval }; _proto._clean = function() { _events_engine.default.off(_dom_adapter.default.getDocument(), SCHEDULER_CELL_DXPOINTERUP_EVENT_NAME); this._disposeRenovatedComponents(); _WidgetObserver.prototype._clean.call(this) }; _proto._cleanTableWidths = function() { this._$headerPanel.css("width", ""); this._$dateTable.css("width", ""); this._$allDayTable && this._$allDayTable.css("width", "") }; _proto._disposeRenovatedComponents = function() { var _this$renovatedAllDay, _this$renovatedDateTa, _this$renovatedTimePa, _this$renovatedGroupP, _this$renovatedHeader; null === (_this$renovatedAllDay = this.renovatedAllDayPanel) || void 0 === _this$renovatedAllDay ? void 0 : _this$renovatedAllDay.dispose(); this.renovatedAllDayPanel = void 0; null === (_this$renovatedDateTa = this.renovatedDateTable) || void 0 === _this$renovatedDateTa ? void 0 : _this$renovatedDateTa.dispose(); this.renovatedDateTable = void 0; null === (_this$renovatedTimePa = this.renovatedTimePanel) || void 0 === _this$renovatedTimePa ? void 0 : _this$renovatedTimePa.dispose(); this.renovatedTimePanel = void 0; null === (_this$renovatedGroupP = this.renovatedGroupPanel) || void 0 === _this$renovatedGroupP ? void 0 : _this$renovatedGroupP.dispose(); this.renovatedGroupPanel = void 0; null === (_this$renovatedHeader = this.renovatedHeaderPanel) || void 0 === _this$renovatedHeader ? void 0 : _this$renovatedHeader.dispose(); this.renovatedHeaderPanel = void 0 }; _proto.getGroupedStrategy = function() { return this._groupedStrategy }; _proto.getFixedContainer = function() { return this._$fixedContainer }; _proto.getAllDayContainer = function() { return this._$allDayContainer }; _proto.updateRender = function() { this.renderer.updateRender() }; _proto.updateGrid = function() { this.renderer._renderGrid() }; _proto.updateAppointments = function() { var _this$dragBehavior; this.option("onRenderAppointments")(); null === (_this$dragBehavior = this.dragBehavior) || void 0 === _this$dragBehavior ? void 0 : _this$dragBehavior.updateDragSource() }; _proto._createAllDayPanelElements = function() { var groupCount = this._getGroupCount(); if (this._isVerticalGroupedWorkSpace() && 0 !== groupCount) { for (var i = 0; i < groupCount; i++) { var $allDayTitle = (0, _renderer.default)("<div>").addClass("dx-scheduler-all-day-title").text(_message.default.format("dxScheduler-allDay")); this._allDayTitles.push($allDayTitle); this._$allDayTable = (0, _renderer.default)("<table>"); this._allDayTables.push(this._$allDayTable); this._$allDayPanel = (0, _renderer.default)("<div>").addClass("dx-scheduler-all-day-panel").append(this._$allDayTable); this._allDayPanels.push(this._$allDayPanel) } } else { this._$allDayTitle = (0, _renderer.default)("<div>").addClass("dx-scheduler-all-day-title").text(_message.default.format("dxScheduler-allDay")).appendTo(this.$element()); this._$allDayTable = (0, _renderer.default)("<table>"); this._$allDayPanel = (0, _renderer.default)("<div>").addClass("dx-scheduler-all-day-panel").append(this._$allDayTable) } }; _proto.renderWorkSpace = function() { var isGenerateNewViewData = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : true; this.cache.clear(); this.viewDataProvider.update(this.generateRenderOptions(), isGenerateNewViewData); if (this.isRenovatedRender()) { this.renderRWorkSpace() } else { this._renderDateHeader(); this._renderTimePanel(); this._renderGroupAllDayPanel(); this._renderDateTable(); this._renderAllDayPanel() } this._initPositionHelper() }; _proto._renderGroupHeader = function() { var $container = this._getGroupHeaderContainer(); var groupCount = this._getGroupCount(); var cellTemplates = []; if (groupCount) { var groupRows = this._makeGroupRows(this.option("groups"), this.option("groupByDate")); this._attachGroupCountClass(); $container.append(groupRows.elements); cellTemplates = groupRows.cellTemplates } else { this._detachGroupCountClass() } return cellTemplates }; _proto._applyCellTemplates = function(templates) { null === templates || void 0 === templates ? void 0 : templates.forEach((function(template) { template() })) }; _proto._makeGroupRows = function(groups, groupByDate) { var tableCreatorStrategy = this._isVerticalGroupedWorkSpace() ? tableCreator.VERTICAL : tableCreator.HORIZONTAL; return tableCreator.makeGroupedTable(tableCreatorStrategy, groups, { groupHeaderRowClass: _classes.GROUP_ROW_CLASS, groupRowClass: _classes.GROUP_ROW_CLASS, groupHeaderClass: this._getGroupHeaderClass.bind(this), groupHeaderContentClass: _classes.GROUP_HEADER_CONTENT_CLASS }, this._getCellCount() || 1, this.option("resourceCellTemplate"), this._getGroupCount(), groupByDate) }; _proto._renderDateHeader = function() { var container = this._getDateHeaderContainer(); var $headerRow = (0, _renderer.default)("<tr>").addClass("dx-scheduler-header-row"); var count = this._getCellCount(); var cellTemplate = this._getDateHeaderTemplate(); var repeatCount = this._getCalculateHeaderCellRepeatCount(); var templateCallbacks = []; var groupByDate = this.isGroupedByDate(); if (!groupByDate) { for (var rowIndex = 0; rowIndex < repeatCount; rowIndex++) { for (var columnIndex = 0; columnIndex < count; columnIndex++) { var templateIndex = rowIndex * count + columnIndex; this._renderDateHeaderTemplate($headerRow, columnIndex, templateIndex, cellTemplate, templateCallbacks) } } container.append($headerRow) } else { var colSpan = groupByDate ? this._getGroupCount() : 1; for (var _columnIndex = 0; _columnIndex < count; _columnIndex++) { var _templateIndex = _columnIndex * repeatCount; var cellElement = this._renderDateHeaderTemplate($headerRow, _columnIndex, _templateIndex, cellTemplate, templateCallbacks); cellElement.attr("colSpan", colSpan) } container.prepend($headerRow) } this._applyCellTemplates(templateCallbacks); return $headerRow }; _proto._renderDateHeaderTemplate = function(container, panelCellIndex, templateIndex, cellTemplate, templateCallbacks) { var validTemplateIndex = this.isGroupedByDate() ? Math.floor(templateIndex / this._getGroupCount()) : templateIndex; var completeDateHeaderMap = this.viewDataProvider.completeDateHeaderMap; var _completeDateHeaderMa = completeDateHeaderMap[completeDateHeaderMap.length - 1][validTemplateIndex], text = _completeDateHeaderMa.text, date = _completeDateHeaderMa.startDate; var $cell = (0, _renderer.default)("<th>").addClass(this._getHeaderPanelCellClass(panelCellIndex)).attr("title", text); if (null !== cellTemplate && void 0 !== cellTemplate && cellTemplate.render) { templateCallbacks.push(cellTemplate.render.bind(cellTemplate, { model: _extends({ text: text, date: date }, this._getGroupsForDateHeaderTemplate(templateIndex)), index: templateIndex, container: (0, _element.getPublicElement)($cell) })) } else { $cell.text(text) } container.append($cell); return $cell }; _proto._getGroupsForDateHeaderTemplate = function(templateIndex) { var indexMultiplier = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1; var groupIndex; var groups; if (this._isHorizontalGroupedWorkSpace() && !this.isGroupedByDate()) { groupIndex = this._getGroupIndex(0, templateIndex * indexMultiplier); var groupsArray = (0, _utils.getCellGroups)(groupIndex, this.option("groups")); groups = (0, _utils.getGroupsObjectFromGroupsArray)(groupsArray) } return { groups: groups, groupIndex: groupIndex } }; _proto._getHeaderPanelCellClass = function(i) { return this._groupedStrategy.addAdditionalGroupCellClasses("dx-scheduler-header-panel-cell dx-scheduler-cell-sizes-horizontal", i + 1, void 0, void 0, this.isGroupedByDate()) }; _proto._renderAllDayPanel = function(index) { var cellCount = this._getCellCount(); if (!this._isVerticalGroupedWorkSpace()) { cellCount *= this._getGroupCount() || 1 } var cellTemplates = this._renderTableBody({ container: this._allDayPanels.length ? (0, _element.getPublicElement)(this._allDayTables[index]) : (0, _element.getPublicElement)(this._$allDayTable), rowCount: 1, cellCount: cellCount, cellClass: this._getAllDayPanelCellClass.bind(this), rowClass: "dx-scheduler-all-day-table-row", cellTemplate: this.option("dataCellTemplate"), getCellData: this._oldRender_getAllDayCellData(index), groupIndex: index }, true); this._toggleAllDayVisibility(true); this._applyCellTemplates(cellTemplates) }; _proto._renderGroupAllDayPanel = function() { if (this._isVerticalGroupedWorkSpace()) { var groupCount = this._getGroupCount(); for (var i = 0; i < groupCount; i++) { this._renderAllDayPanel(i) } } }; _proto._getAllDayPanelCellClass = function(i, j) { return this._groupedStrategy.addAdditionalGroupCellClasses("dx-scheduler-all-day-table-cell dx-scheduler-cell-sizes-horizontal", j + 1) }; _proto._renderTimePanel = function() { var _this23 = this; var repeatCount = this._groupedStrategy.calculateTimeCellRepeatCount(); var getData = function(rowIndex, field) { var allDayPanelsCount = 0; if (_this23.isAllDayPanelVisible) { allDayPanelsCount = 1 } if (_this23.isGroupedAllDayPanel()) { allDayPanelsCount = Math.ceil((rowIndex + 1) / _this23._getRowCount()) } var validRowIndex = rowIndex + allDayPanelsCount; return _this23.viewDataProvider.completeTimePanelMap[validRowIndex][field] }; this._renderTableBody({ container: (0, _element.getPublicElement)(this._$timePanel), rowCount: this._getTimePanelRowCount() * repeatCount, cellCount: 1, cellClass: this._getTimeCellClass.bind(this), rowClass: "dx-scheduler-time-panel-row", cellTemplate: this.option("timeCellTemplate"), getCellText: function(rowIndex) { return getData(rowIndex, "text") }, getCellDate: function(rowIndex) { return getData(rowIndex, "startDate") }, groupCount: this._getGroupCount(), allDayElements: this._insertAllDayRowsIntoDateTable() ? this._allDayTitles : void 0, getTemplateData: function(rowIndex) { if (!_this23._isVerticalGroupedWorkSpace()) { return {} } var groupIndex = _this23._getGroupIndex(rowIndex, 0); var groupsArray = (0, _utils.getCellGroups)(groupIndex, _this23.option("groups")); var groups = (0, _utils.getGroupsObjectFromGroupsArray)(groupsArray); return { groupIndex: groupIndex, groups: groups } }.bind(this) }) }; _proto._getTimeCellClass = function(i) { var cellClass = "dx-scheduler-time-panel-cell dx-scheduler-cell-sizes-vertical"; return this._isVerticalGroupedWorkSpace() ? this._groupedStrategy.addAdditionalGroupCellClasses(cellClass, i, i) : cellClass }; _proto._renderDateTable = function() { var _this24 = this; var groupCount = this._getGroupCount(); this._renderTableBody({ container: (0, _element.getPublicElement)(this._$dateTable), rowCount: this._getTotalRowCount(groupCount), cellCount: this._getTotalCellCount(groupCount), cellClass: this._getDateTableCellClass.bind(this), rowClass: _classes.DATE_TABLE_ROW_CLASS, cellTemplate: this.option("dataCellTemplate"), getCellData: function(_, rowIndex, columnIndex) { var isGroupedAllDayPanel = _this24.isGroupedAllDayPanel(); var validRowIndex = rowIndex; if (isGroupedAllDayPanel) { var rowCount = _this24._getRowCount(); var allDayPanelsCount = Math.ceil(rowIndex / rowCount); validRowIndex += allDayPanelsCount } var cellData = _this24.viewDataProvider.viewDataMap.dateTableMap[validRowIndex][columnIndex].cellData; return { value: _this24._filterCellDataFields(cellData), fullValue: cellData, key: "dxCellData" } }, allDayElements: this._insertAllDayRowsIntoDateTable() ? this._allDayPanels : void 0, groupCount: groupCount, groupByDate: this.option("groupByDate") }) }; _proto._insertAllDayRowsIntoDateTable = function() { return this._groupedStrategy.insertAllDayRowsIntoDateTable() }; _proto._renderTableBody = function(options, delayCellTemplateRendering) { var result = []; if (!delayCellTemplateRendering) { this._applyCellTemplates(tableCreator.makeTable(options)) } else { result = tableCreator.makeTable(options) } return result }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(SchedulerWorkSpace, [{ key: "viewDataProvider", get: function() { if (!this._viewDataProvider) { this._viewDataProvider = new _view_data_provider.default(this.type) } return this._viewDataProvider } }, { key: "cache", get: function() { if (!this._cache) { this._cache = new _cache.Cache } return this._cache } }, { key: "cellsSelectionState", get: function() { var _this25 = this; if (!this._cellsSelectionState) { this._cellsSelectionState = new _cells_selection_state.default(this.viewDataProvider); var selectedCellsOption = this.option("selectedCellData"); if ((null === selectedCellsOption || void 0 === selectedCellsOption ? void 0 : selectedCellsOption.length) > 0) { var validSelectedCells = selectedCellsOption.map((function(selectedCell) { var groups = selectedCell.groups; if (!groups || 0 === _this25._getGroupCount()) { return _extends({}, selectedCell, { groupIndex: 0 }) } var groupIndex = _this25._getGroupIndexByResourceId(groups); return _extends({}, selectedCell, { groupIndex: groupIndex }) })); this._cellsSelectionState.setSelectedCellsByData(validSelectedCells) } } return this._cellsSelectionState } }, { key: "cellsSelectionController", get: function() { if (!this._cellsSelectionController) { this._cellsSelectionController = new _cells_selection_controller.CellsSelectionController } return this._cellsSelectionController } }, { key: "isAllDayPanelVisible", get: function() { return this._isShowAllDayPanel() && this.supportAllDayRow() } }, { key: "verticalGroupTableClass", get: function() { return "dx-scheduler-work-space-vertical-group-table" } }, { key: "viewDirection", get: function() { return "vertical" } }, { key: "renovatedHeaderPanelComponent", get: function() { return _layout3.default } }, { key: "timeZoneCalculator", get: function() { return this.option("timeZoneCalculator") } }, { key: "isDefaultDraggingMode", get: function() { return "default" === this.option("draggingMode") } }]); return SchedulerWorkSpace }(_widgetObserver.default); var createDragBehaviorConfig = function(container, rootElement, isDefaultDraggingMode, dragBehavior, enableDefaultDragging, disableDefaultDragging, getDroppableCell, getDateTables, removeDroppableCellClass, getCellWidth, options) { var state = { dragElement: void 0, itemData: void 0 }; var isItemDisabled = function() { var itemData = state.itemData; if (itemData) { var getter = (0, _data.compileGetter)("disabled"); return getter(itemData) } return true }; var cursorOffset = options.isSetCursorOffset ? function() { var $dragElement = (0, _renderer.default)(state.dragElement); return { x: (0, _size.getWidth)($dragElement) / 2, y: (0, _size.getHeight)($dragElement) / 2 } } : void 0; return { container: container, dragTemplate: function() { return state.dragElement }, onDragStart: function(e) { if (!isDefaultDraggingMode) { disableDefaultDragging() } var canceled = e.cancel; var event = e.event; var $itemElement = (0, _renderer.default)(e.itemElement); var appointments = e.component._appointments; state.itemData = options.getItemData(e.itemElement, appointments); var settings = options.getItemSettings($itemElement, e); var initialPosition = options.initialPosition; if (!isItemDisabled()) { event.data = event.data || {}; if (!canceled) { if (!settings.isCompact) { dragBehavior.updateDragSource(state.itemData, settings) } state.dragElement = function(itemData, settings, appointments) { var appointmentIndex = appointments.option("items").length; settings.isCompact = false; settings.virtual = false; var items = appointments._renderItem(appointmentIndex, { itemData: itemData, settings: [settings] }); return items[0] }(state.itemData, settings, appointments); event.data.itemElement = state.dragElement; event.data.initialPosition = null !== initialPosition && void 0 !== initialPosition ? initialPosition : (0, _translator.locate)((0, _renderer.default)(state.dragElement)); event.data.itemData = state.itemData; event.data.itemSettings = settings; dragBehavior.onDragStart(event.data); (0, _translator.resetPosition)((0, _renderer.default)(state.dragElement)) } } }, onDragMove: function() { if (isDefaultDraggingMode) { return } var elements = function() { var appointmentWidth = (0, _size.getWidth)(state.dragElement); var cellWidth = getCellWidth(); var isWideAppointment = appointmentWidth > cellWidth; var isNarrowAppointment = appointmentWidth <= 10; var dragElementContainer = (0, _renderer.default)(state.dragElement).parent(); var boundingRect = (0, _position.getBoundingRect)(dragElementContainer.get(0)); var newX = boundingRect.left; var newY = boundingRect.top; if (isWideAppointment) { return _dom_adapter.default.elementsFromPoint(newX + 10, newY + 10) } else if (isNarrowAppointment) { return _dom_adapter.default.elementsFromPoint(newX, newY) } return _dom_adapter.default.elementsFromPoint(newX + appointmentWidth / 2, newY + 10) }(); var isMoveUnderControl = !!elements.find((function(el) { return el === rootElement.get(0) })); var dateTables = getDateTables(); var droppableCell = elements.find((function(el) { var classList = el.classList; var isCurrentSchedulerElement = 1 === dateTables.find(el).length; return isCurrentSchedulerElement && (classList.contains(DATE_TABLE_CELL_CLASS) || classList.contains(ALL_DAY_TABLE_CELL_CLASS)) })); if (droppableCell) { if (!getDroppableCell().is(droppableCell)) { removeDroppableCellClass() }(0, _renderer.default)(droppableCell).addClass("dx-scheduler-date-table-droppable-cell") } else if (!isMoveUnderControl) { removeDroppableCellClass() } }, onDragEnd: function(e) { var _state$dragElement; if (!isDefaultDraggingMode) { enableDefaultDragging() } if (!isItemDisabled()) { dragBehavior.onDragEnd(e) } null === (_state$dragElement = state.dragElement) || void 0 === _state$dragElement ? void 0 : _state$dragElement.remove(); removeDroppableCellClass() }, cursorOffset: cursorOffset, filter: options.filter } }; var _default = SchedulerWorkSpace; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 81096: /*!****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.work_space_day.js ***! \****************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _constants = __webpack_require__( /*! ../constants */ 27728); var _uiScheduler = _interopRequireDefault(__webpack_require__( /*! ./ui.scheduler.work_space_vertical */ 72655)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var SchedulerWorkSpaceDay = function(_SchedulerWorkSpaceVe) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerWorkSpaceDay, _SchedulerWorkSpaceVe); function SchedulerWorkSpaceDay() { return _SchedulerWorkSpaceVe.apply(this, arguments) || this } var _proto = SchedulerWorkSpaceDay.prototype; _proto._getElementClass = function() { return "dx-scheduler-work-space-day" }; _proto._renderDateHeader = function() { return 1 === this.option("intervalCount") ? null : _SchedulerWorkSpaceVe.prototype._renderDateHeader.call(this) }; _proto.renderRHeaderPanel = function() { if (1 === this.option("intervalCount")) { _SchedulerWorkSpaceVe.prototype.renderRHeaderPanel.call(this, false) } else { _SchedulerWorkSpaceVe.prototype.renderRHeaderPanel.call(this, true) } }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(SchedulerWorkSpaceDay, [{ key: "type", get: function() { return _constants.VIEWS.DAY } }]); return SchedulerWorkSpaceDay }(_uiScheduler.default); (0, _component_registrator.default)("dxSchedulerWorkSpaceDay", SchedulerWorkSpaceDay); var _default = SchedulerWorkSpaceDay; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 29004: /*!******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.work_space_month.js ***! \******************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _uiSchedulerWork_space = _interopRequireDefault(__webpack_require__( /*! ./ui.scheduler.work_space.indicator */ 22955)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/date */ 91198)); var _position = __webpack_require__( /*! ../../../core/utils/position */ 37518); var _utils = __webpack_require__( /*! ../utils */ 9259); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); var _layout = _interopRequireDefault(__webpack_require__( /*! ../../../renovation/ui/scheduler/workspaces/month/date_table/layout.j */ 48136)); var _month = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/month */ 19097); var _base = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _constants = __webpack_require__( /*! ../constants */ 27728); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var toMs = _date.default.dateToMilliseconds; var SchedulerWorkSpaceMonth = function(_SchedulerWorkSpace) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerWorkSpaceMonth, _SchedulerWorkSpace); function SchedulerWorkSpaceMonth() { return _SchedulerWorkSpace.apply(this, arguments) || this } var _proto = SchedulerWorkSpaceMonth.prototype; _proto._getElementClass = function() { return "dx-scheduler-work-space-month" }; _proto._getFormat = function() { return _base.formatWeekday }; _proto._getIntervalBetween = function(currentDate) { var firstViewDate = this.getStartViewDate(); var timeZoneOffset = _date.default.getTimezonesDifference(firstViewDate, currentDate); return currentDate.getTime() - (firstViewDate.getTime() - 36e5 * this.option("startDayHour")) - timeZoneOffset }; _proto._getDateGenerationOptions = function() { return _extends({}, _SchedulerWorkSpace.prototype._getDateGenerationOptions.call(this), { cellCountInDay: 1 }) }; _proto.getCellWidth = function() { var _this = this; return this.cache.get("cellWidth", (function() { var averageWidth = 0; var cells = _this._getCells().slice(0, 7); cells.each((function(index, element) { averageWidth += (0, _window.hasWindow)() ? (0, _position.getBoundingRect)(element).width : 0 })); return 0 === cells.length ? void 0 : averageWidth / 7 })) }; _proto._insertAllDayRowsIntoDateTable = function() { return false }; _proto._getCellCoordinatesByIndex = function(index) { var rowIndex = Math.floor(index / this._getCellCount()); var columnIndex = index - this._getCellCount() * rowIndex; return { rowIndex: rowIndex, columnIndex: columnIndex } }; _proto._needCreateCrossScrolling = function() { return this.option("crossScrollingEnabled") || this._isVerticalGroupedWorkSpace() }; _proto._getViewStartByOptions = function() { return (0, _month.getViewStartByOptions)(this.option("startDate"), this.option("currentDate"), this.option("intervalCount"), _date.default.getFirstMonthDate(this.option("startDate"))) }; _proto._updateIndex = function(index) { return index }; _proto.isIndicationAvailable = function() { return false }; _proto.getIntervalDuration = function() { return toMs("day") }; _proto.getTimePanelWidth = function() { return 0 }; _proto.supportAllDayRow = function() { return false }; _proto.keepOriginalHours = function() { return true }; _proto.getWorkSpaceLeftOffset = function() { return 0 }; _proto.needApplyCollectorOffset = function() { return true }; _proto._getHeaderDate = function() { return this._getViewStartByOptions() }; _proto.scrollToTime = function() { return (0, _common.noop)() }; _proto.renderRAllDayPanel = function() {}; _proto.renderRTimeTable = function() {}; _proto.renderRDateTable = function() { _utils.utils.renovation.renderComponent(this, this._$dateTable, _layout.default, "renovatedDateTable", this._getRDateTableProps()) }; _proto._createWorkSpaceElements = function() { if (this._isVerticalGroupedWorkSpace()) { this._createWorkSpaceScrollableElements() } else { _SchedulerWorkSpace.prototype._createWorkSpaceElements.call(this) } }; _proto._toggleAllDayVisibility = function() { return (0, _common.noop)() }; _proto._changeAllDayVisibility = function() { return (0, _common.noop)() }; _proto._renderTimePanel = function() { return (0, _common.noop)() }; _proto._renderAllDayPanel = function() { return (0, _common.noop)() }; _proto._setMonthClassesToCell = function($cell, data) { $cell.toggleClass("dx-scheduler-date-table-current-date", data.isCurrentDate).toggleClass("dx-scheduler-date-table-first-of-month", data.firstDayOfMonth).toggleClass("dx-scheduler-date-table-other-month", data.otherMonth) }; _proto._createAllDayPanelElements = function() {}; _proto._renderTableBody = function(options) { var _this2 = this; options.getCellText = function(rowIndex, columnIndex) { var date = _this2.viewDataProvider.completeViewDataMap[rowIndex][columnIndex].startDate; return (0, _month.getCellText)(date, _this2.option("intervalCount")) }; options.getCellTextClass = "dx-scheduler-date-table-cell-text"; options.setAdditionalClasses = this._setMonthClassesToCell.bind(this), _SchedulerWorkSpace.prototype._renderTableBody.call(this, options) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(SchedulerWorkSpaceMonth, [{ key: "type", get: function() { return _constants.VIEWS.MONTH } }]); return SchedulerWorkSpaceMonth }(_uiSchedulerWork_space.default); (0, _component_registrator.default)("dxSchedulerWorkSpaceMonth", SchedulerWorkSpaceMonth); var _default = SchedulerWorkSpaceMonth; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 72655: /*!*********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.work_space_vertical.js ***! \*********************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiSchedulerWork_space = (obj = __webpack_require__( /*! ./ui.scheduler.work_space.indicator */ 22955), obj && obj.__esModule ? obj : { default: obj }); var obj; var _base = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var SchedulerWorkspaceVertical = function(_SchedulerWorkSpaceIn) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerWorkspaceVertical, _SchedulerWorkSpaceIn); function SchedulerWorkspaceVertical() { return _SchedulerWorkSpaceIn.apply(this, arguments) || this } var _proto = SchedulerWorkspaceVertical.prototype; _proto._getFormat = function() { return _base.formatWeekdayAndDay }; _proto.generateRenderOptions = function() { var options = _SchedulerWorkSpaceIn.prototype.generateRenderOptions.call(this); return _extends({}, options, { isGenerateTimePanelData: true }) }; _proto._isRenderHeaderPanelEmptyCell = function() { return true }; return SchedulerWorkspaceVertical }(_uiSchedulerWork_space.default); var _default = SchedulerWorkspaceVertical; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 4453: /*!*****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.work_space_week.js ***! \*****************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _constants = __webpack_require__( /*! ../constants */ 27728); var _uiScheduler = _interopRequireDefault(__webpack_require__( /*! ./ui.scheduler.work_space_vertical */ 72655)); var _week = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/week */ 34279); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var SchedulerWorkSpaceWeek = function(_SchedulerWorkSpaceVe) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerWorkSpaceWeek, _SchedulerWorkSpaceVe); function SchedulerWorkSpaceWeek() { return _SchedulerWorkSpaceVe.apply(this, arguments) || this } var _proto = SchedulerWorkSpaceWeek.prototype; _proto._getElementClass = function() { return "dx-scheduler-work-space-week" }; _proto._calculateViewStartDate = function() { return (0, _week.calculateViewStartDate)(this.option("startDate"), this._firstDayOfWeek()) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(SchedulerWorkSpaceWeek, [{ key: "type", get: function() { return _constants.VIEWS.WEEK } }]); return SchedulerWorkSpaceWeek }(_uiScheduler.default); (0, _component_registrator.default)("dxSchedulerWorkSpaceWeek", SchedulerWorkSpaceWeek); var _default = SchedulerWorkSpaceWeek; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 22928: /*!**********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/ui.scheduler.work_space_work_week.js ***! \**********************************************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../../core/component_registrator */ 99393)); var _work_week = __webpack_require__( /*! ../../../renovation/ui/scheduler/view_model/to_test/views/utils/work_week */ 83866); var _uiScheduler = _interopRequireDefault(__webpack_require__( /*! ./ui.scheduler.work_space_week */ 4453)); var _constants = __webpack_require__( /*! ../constants */ 27728); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var SchedulerWorkSpaceWorkWeek = function(_SchedulerWorkSpaceWe) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SchedulerWorkSpaceWorkWeek, _SchedulerWorkSpaceWe); function SchedulerWorkSpaceWorkWeek() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] } _this = _SchedulerWorkSpaceWe.call.apply(_SchedulerWorkSpaceWe, [this].concat(args)) || this; _this._getWeekendsCount = _work_week.getWeekendsCount; return _this } var _proto = SchedulerWorkSpaceWorkWeek.prototype; _proto._getElementClass = function() { return "dx-scheduler-work-space-work-week" }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(SchedulerWorkSpaceWorkWeek, [{ key: "type", get: function() { return _constants.VIEWS.WORK_WEEK } }]); return SchedulerWorkSpaceWorkWeek }(_uiScheduler.default); (0, _component_registrator.default)("dxSchedulerWorkSpaceWorkWeek", SchedulerWorkSpaceWorkWeek); var _default = SchedulerWorkSpaceWorkWeek; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 31986: /*!**************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/view_model/date_header_data_generator.js ***! \**************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.DateHeaderDataGenerator = void 0; var _date = (obj = __webpack_require__( /*! ../../../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var _utils = __webpack_require__( /*! ../../resources/utils */ 98140); var _base = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _excluded = ["startDate", "endDate", "isFirstGroupCell", "isLastGroupCell"]; function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var DateHeaderDataGenerator = function() { function DateHeaderDataGenerator(viewDataGenerator) { this._viewDataGenerator = viewDataGenerator } var _proto = DateHeaderDataGenerator.prototype; _proto.getCompleteDateHeaderMap = function(options, completeViewDataMap) { var isGenerateWeekDaysHeaderData = options.isGenerateWeekDaysHeaderData; var result = []; if (isGenerateWeekDaysHeaderData) { var weekDaysRow = this._generateWeekDaysHeaderRowMap(options, completeViewDataMap); result.push(weekDaysRow) } var dateRow = this._generateHeaderDateRow(options, completeViewDataMap); result.push(dateRow); return result }; _proto._generateWeekDaysHeaderRowMap = function(options, completeViewDataMap) { var isGroupedByDate = options.isGroupedByDate, groups = options.groups, groupOrientation = options.groupOrientation, startDayHour = options.startDayHour, endDayHour = options.endDayHour, hoursInterval = options.hoursInterval, isHorizontalGrouping = options.isHorizontalGrouping, intervalCount = options.intervalCount; var cellCountInDay = this._viewDataGenerator.getCellCountInDay(startDayHour, endDayHour, hoursInterval); var horizontalGroupCount = (0, _base.getHorizontalGroupCount)(groups, groupOrientation); var index = completeViewDataMap[0][0].allDay ? 1 : 0; var colSpan = isGroupedByDate ? horizontalGroupCount * cellCountInDay : cellCountInDay; var groupCount = (0, _utils.getGroupCount)(groups); var datesRepeatCount = isHorizontalGrouping && !isGroupedByDate ? groupCount : 1; var daysInGroup = this._viewDataGenerator.daysInInterval * intervalCount; var daysInView = daysInGroup * datesRepeatCount; var weekDaysRow = []; for (var dayIndex = 0; dayIndex < daysInView; dayIndex += 1) { var cell = completeViewDataMap[index][dayIndex * colSpan]; weekDaysRow.push(_extends({}, cell, { colSpan: colSpan, text: (0, _base.formatWeekdayAndDay)(cell.startDate), isFirstGroupCell: false, isLastGroupCell: false })) } return weekDaysRow }; _proto._generateHeaderDateRow = function(options, completeViewDataMap) { var today = options.today, isGroupedByDate = options.isGroupedByDate, groupOrientation = options.groupOrientation, groups = options.groups, headerCellTextFormat = options.headerCellTextFormat, getDateForHeaderText = options.getDateForHeaderText, interval = options.interval, startViewDate = options.startViewDate, startDayHour = options.startDayHour, endDayHour = options.endDayHour, hoursInterval = options.hoursInterval, intervalCount = options.intervalCount, currentDate = options.currentDate, viewType = options.viewType; var horizontalGroupCount = (0, _base.getHorizontalGroupCount)(groups, groupOrientation); var index = completeViewDataMap[0][0].allDay ? 1 : 0; var colSpan = isGroupedByDate ? horizontalGroupCount : 1; var isVerticalGrouping = "vertical" === groupOrientation; var cellCountInGroupRow = this._viewDataGenerator.getCellCount({ intervalCount: intervalCount, currentDate: currentDate, viewType: viewType, hoursInterval: hoursInterval, startDayHour: startDayHour, endDayHour: endDayHour }); var cellCountInDay = this._viewDataGenerator.getCellCountInDay(startDayHour, endDayHour, hoursInterval); var slicedByColumnsData = isGroupedByDate ? completeViewDataMap[index].filter((function(_, columnIndex) { return columnIndex % horizontalGroupCount === 0 })) : completeViewDataMap[index]; return slicedByColumnsData.map((function(_ref, index) { var startDate = _ref.startDate, isFirstGroupCell = (_ref.endDate, _ref.isFirstGroupCell), isLastGroupCell = _ref.isLastGroupCell, restProps = _objectWithoutProperties(_ref, _excluded); var text = (0, _base.getHeaderCellText)(index % cellCountInGroupRow, startDate, headerCellTextFormat, getDateForHeaderText, { interval: interval, startViewDate: startViewDate, startDayHour: startDayHour, cellCountInDay: cellCountInDay }); return _extends({}, restProps, { startDate: startDate, text: text, today: _date.default.sameDate(startDate, today), colSpan: colSpan, isFirstGroupCell: isGroupedByDate || isFirstGroupCell && !isVerticalGrouping, isLastGroupCell: isGroupedByDate || isLastGroupCell && !isVerticalGrouping }) })) }; _proto.generateDateHeaderData = function(completeDateHeaderMap, completeViewDataMap, options) { var isGenerateWeekDaysHeaderData = options.isGenerateWeekDaysHeaderData, cellWidth = options.cellWidth, isProvideVirtualCellsWidth = options.isProvideVirtualCellsWidth, startDayHour = options.startDayHour, endDayHour = options.endDayHour, hoursInterval = options.hoursInterval, isMonthDateHeader = options.isMonthDateHeader; var dataMap = []; var weekDayRowConfig = {}; var validCellWidth = cellWidth || 0; if (isGenerateWeekDaysHeaderData) { weekDayRowConfig = this._generateDateHeaderDataRow(options, completeDateHeaderMap, completeViewDataMap, this._viewDataGenerator.getCellCountInDay(startDayHour, endDayHour, hoursInterval), 0, validCellWidth); dataMap.push(weekDayRowConfig.dateRow) } var datesRowConfig = this._generateDateHeaderDataRow(options, completeDateHeaderMap, completeViewDataMap, 1, isGenerateWeekDaysHeaderData ? 1 : 0, validCellWidth); dataMap.push(datesRowConfig.dateRow); return { dataMap: dataMap, leftVirtualCellWidth: isProvideVirtualCellsWidth ? datesRowConfig.leftVirtualCellWidth : void 0, rightVirtualCellWidth: isProvideVirtualCellsWidth ? datesRowConfig.rightVirtualCellWidth : void 0, leftVirtualCellCount: datesRowConfig.leftVirtualCellCount, rightVirtualCellCount: datesRowConfig.rightVirtualCellCount, weekDayLeftVirtualCellWidth: weekDayRowConfig.leftVirtualCellWidth, weekDayRightVirtualCellWidth: weekDayRowConfig.rightVirtualCellWidth, weekDayLeftVirtualCellCount: weekDayRowConfig.leftVirtualCellCount, weekDayRightVirtualCellCount: weekDayRowConfig.rightVirtualCellCount, isMonthDateHeader: isMonthDateHeader } }; _proto._generateDateHeaderDataRow = function(options, completeDateHeaderMap, completeViewDataMap, baseColSpan, rowIndex, cellWidth) { var startCellIndex = options.startCellIndex, cellCount = options.cellCount, isProvideVirtualCellsWidth = options.isProvideVirtualCellsWidth, groups = options.groups, groupOrientation = options.groupOrientation, isGroupedByDate = options.isGroupedByDate; var horizontalGroupCount = (0, _base.getHorizontalGroupCount)(groups, groupOrientation); var colSpan = isGroupedByDate ? horizontalGroupCount * baseColSpan : baseColSpan; var leftVirtualCellCount = Math.floor(startCellIndex / colSpan); var displayedCellCount = (0, _base.getDisplayedCellCount)(cellCount, completeViewDataMap); var actualCellCount = Math.ceil((startCellIndex + displayedCellCount) / colSpan); var totalCellCount = (0, _base.getTotalCellCountByCompleteData)(completeViewDataMap); var dateRow = completeDateHeaderMap[rowIndex].slice(leftVirtualCellCount, actualCellCount); var finalLeftVirtualCellCount = leftVirtualCellCount * colSpan; var finalLeftVirtualCellWidth = finalLeftVirtualCellCount * cellWidth; var finalRightVirtualCellCount = totalCellCount - actualCellCount * colSpan; var finalRightVirtualCellWidth = finalRightVirtualCellCount * cellWidth; return { dateRow: dateRow, leftVirtualCellCount: finalLeftVirtualCellCount, leftVirtualCellWidth: isProvideVirtualCellsWidth ? finalLeftVirtualCellWidth : void 0, rightVirtualCellCount: finalRightVirtualCellCount, rightVirtualCellWidth: isProvideVirtualCellsWidth ? finalRightVirtualCellWidth : void 0 } }; return DateHeaderDataGenerator }(); exports.DateHeaderDataGenerator = DateHeaderDataGenerator }, 9427: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/view_model/grouped_data_map_provider.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.GroupedDataMapProvider = void 0; var _date = (obj = __webpack_require__( /*! ../../../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var _base = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var GroupedDataMapProvider = function() { function GroupedDataMapProvider(viewDataGenerator, viewDataMap, completeViewDataMap, viewOptions) { this.groupedDataMap = viewDataGenerator.generateGroupedDataMap(viewDataMap); this.completeViewDataMap = completeViewDataMap; this._viewOptions = viewOptions } var _proto = GroupedDataMapProvider.prototype; _proto.getGroupStartDate = function(groupIndex) { var firstRow = this.getFirstGroupRow(groupIndex); if (firstRow) { var startDate = firstRow[0].cellData.startDate; return startDate } }; _proto.getGroupEndDate = function(groupIndex) { var lastRow = this.getLastGroupRow(groupIndex); if (lastRow) { var lastColumnIndex = lastRow.length - 1; var cellData = lastRow[lastColumnIndex].cellData; var endDate = cellData.endDate; return endDate } }; _proto.findGroupCellStartDate = function(groupIndex, startDate, endDate, isFindByDate) { var groupData = this.getGroupFromDateTableGroupMap(groupIndex); var checkCellStartDate = function(rowIndex, columnIndex) { var cellData = groupData[rowIndex][columnIndex].cellData; var secondMin = cellData.startDate, secondMax = cellData.endDate; if (isFindByDate) { secondMin = _date.default.trimTime(secondMin); secondMax = _date.default.setToDayEnd(secondMin) } if (_date.default.intervalsOverlap({ firstMin: startDate, firstMax: endDate, secondMin: secondMin, secondMax: secondMax })) { return secondMin } }; var startDateVerticalSearch = function() { var cellCount = groupData[0].length; for (var columnIndex = 0; columnIndex < cellCount; ++columnIndex) { for (var rowIndex = 0; rowIndex < groupData.length; ++rowIndex) { var result = checkCellStartDate(rowIndex, columnIndex); if (result) { return result } } } }(); var startDateHorizontalSearch = function() { for (var rowIndex = 0; rowIndex < groupData.length; ++rowIndex) { var row = groupData[rowIndex]; for (var columnIndex = 0; columnIndex < row.length; ++columnIndex) { var result = checkCellStartDate(rowIndex, columnIndex); if (result) { return result } } } }(); return startDateVerticalSearch > startDateHorizontalSearch ? startDateHorizontalSearch : startDateVerticalSearch }; _proto.findAllDayGroupCellStartDate = function(groupIndex, startDate) { var groupStartDate = this.getGroupStartDate(groupIndex); return groupStartDate > startDate ? groupStartDate : startDate }; _proto.findCellPositionInMap = function(cellInfo) { var _this = this; var groupIndex = cellInfo.groupIndex, startDate = cellInfo.startDate, isAllDay = cellInfo.isAllDay, index = cellInfo.index; var startTime = isAllDay ? _date.default.trimTime(startDate).getTime() : startDate.getTime(); var isStartDateInCell = function(cellData) { if (!(0, _base.isDateAndTimeView)(_this._viewOptions.viewType)) { return _date.default.sameDate(startDate, cellData.startDate) } var cellStartTime = cellData.startDate.getTime(); var cellEndTime = cellData.endDate.getTime(); return isAllDay ? cellData.allDay && startTime >= cellStartTime && startTime <= cellEndTime : startTime >= cellStartTime && startTime < cellEndTime }; var _this$groupedDataMap = this.groupedDataMap, allDayPanelGroupedMap = _this$groupedDataMap.allDayPanelGroupedMap, dateTableGroupedMap = _this$groupedDataMap.dateTableGroupedMap; var rows = isAllDay && !this._viewOptions.isVerticalGrouping ? allDayPanelGroupedMap[groupIndex] ? [allDayPanelGroupedMap[groupIndex]] : [] : dateTableGroupedMap[groupIndex] || []; for (var rowIndex = 0; rowIndex < rows.length; ++rowIndex) { var row = rows[rowIndex]; for (var columnIndex = 0; columnIndex < row.length; ++columnIndex) { var cell = row[columnIndex]; var cellData = cell.cellData; if (this._isSameGroupIndexAndIndex(cellData, groupIndex, index)) { if (isStartDateInCell(cellData)) { return cell.position } } } } return }; _proto._isSameGroupIndexAndIndex = function(cellData, groupIndex, index) { return cellData.groupIndex === groupIndex && (void 0 === index || cellData.index === index) }; _proto.getCellsGroup = function(groupIndex) { var dateTableGroupedMap = this.groupedDataMap.dateTableGroupedMap; var groupData = dateTableGroupedMap[groupIndex]; if (groupData) { var cellData = groupData[0][0].cellData; return cellData.groups } }; _proto.getCompletedGroupsInfo = function() { var _this2 = this; var dateTableGroupedMap = this.groupedDataMap.dateTableGroupedMap; return dateTableGroupedMap.map((function(groupData) { var firstCell = groupData[0][0]; var _firstCell$cellData = firstCell.cellData, allDay = _firstCell$cellData.allDay, groupIndex = _firstCell$cellData.groupIndex; return { allDay: allDay, groupIndex: groupIndex, startDate: _this2.getGroupStartDate(groupIndex), endDate: _this2.getGroupEndDate(groupIndex) } })).filter((function(_ref) { var startDate = _ref.startDate; return !!startDate })) }; _proto.getGroupIndices = function() { return this.getCompletedGroupsInfo().map((function(_ref2) { var groupIndex = _ref2.groupIndex; return groupIndex })) }; _proto.getGroupFromDateTableGroupMap = function(groupIndex) { var dateTableGroupedMap = this.groupedDataMap.dateTableGroupedMap; return dateTableGroupedMap[groupIndex] }; _proto.getFirstGroupRow = function(groupIndex) { var groupedData = this.getGroupFromDateTableGroupMap(groupIndex); if (groupedData) { var cellData = groupedData[0][0].cellData; return !cellData.allDay ? groupedData[0] : groupedData[1] } }; _proto.getLastGroupRow = function(groupIndex) { var dateTableGroupedMap = this.groupedDataMap.dateTableGroupedMap; var groupedData = dateTableGroupedMap[groupIndex]; if (groupedData) { var lastRowIndex = groupedData.length - 1; return groupedData[lastRowIndex] } }; _proto.getLastGroupCellPosition = function(groupIndex) { var groupRow = this.getLastGroupRow(groupIndex); return null === groupRow || void 0 === groupRow ? void 0 : groupRow[(null === groupRow || void 0 === groupRow ? void 0 : groupRow.length) - 1].position }; _proto.getRowCountInGroup = function(groupIndex) { var groupRow = this.getLastGroupRow(groupIndex); var cellAmount = groupRow.length; var lastCellData = groupRow[cellAmount - 1].cellData; var lastCellIndex = lastCellData.index; return (lastCellIndex + 1) / groupRow.length }; return GroupedDataMapProvider }(); exports.GroupedDataMapProvider = GroupedDataMapProvider }, 16925: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/view_model/time_panel_data_generator.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.TimePanelDataGenerator = void 0; var _utils = __webpack_require__( /*! ../../../../renovation/ui/scheduler/workspaces/utils */ 97205); var _base = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _week = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/to_test/views/utils/week */ 34279); var _excluded = ["allDay", "startDate", "endDate", "groups", "groupIndex", "isFirstGroupCell", "isLastGroupCell", "index"]; function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } var TimePanelDataGenerator = function() { function TimePanelDataGenerator(viewDataGenerator) { this._viewDataGenerator = viewDataGenerator } var _proto = TimePanelDataGenerator.prototype; _proto.getCompleteTimePanelMap = function(options, completeViewDataMap) { var startViewDate = options.startViewDate, cellDuration = options.cellDuration, startDayHour = options.startDayHour, isVerticalGrouping = options.isVerticalGrouping, intervalCount = options.intervalCount, currentDate = options.currentDate, viewType = options.viewType, hoursInterval = options.hoursInterval, endDayHour = options.endDayHour; var rowCountInGroup = this._viewDataGenerator.getRowCount({ intervalCount: intervalCount, currentDate: currentDate, viewType: viewType, hoursInterval: hoursInterval, startDayHour: startDayHour, endDayHour: endDayHour }); var cellCountInGroupRow = this._viewDataGenerator.getCellCount({ intervalCount: intervalCount, currentDate: currentDate, viewType: viewType, hoursInterval: hoursInterval, startDayHour: startDayHour, endDayHour: endDayHour }); var allDayRowsCount = 0; return completeViewDataMap.map((function(row, index) { var _row$ = row[0], allDay = _row$.allDay, startDate = _row$.startDate, groups = (_row$.endDate, _row$.groups), groupIndex = _row$.groupIndex, isFirstGroupCell = _row$.isFirstGroupCell, isLastGroupCell = _row$.isLastGroupCell, cellIndex = _row$.index, restCellProps = _objectWithoutProperties(_row$, _excluded); if (allDay) { allDayRowsCount += 1 } var timeIndex = (index - allDayRowsCount) % rowCountInGroup; return _extends({}, restCellProps, { startDate: startDate, allDay: allDay, text: (0, _week.getTimePanelCellText)(timeIndex, startDate, startViewDate, cellDuration, startDayHour), groups: isVerticalGrouping ? groups : void 0, groupIndex: isVerticalGrouping ? groupIndex : void 0, isFirstGroupCell: isVerticalGrouping && isFirstGroupCell, isLastGroupCell: isVerticalGrouping && isLastGroupCell, index: Math.floor(cellIndex / cellCountInGroupRow) }) })) }; _proto.generateTimePanelData = function(completeTimePanelMap, options) { var startRowIndex = options.startRowIndex, rowCount = options.rowCount, topVirtualRowHeight = options.topVirtualRowHeight, bottomVirtualRowHeight = options.bottomVirtualRowHeight, isGroupedAllDayPanel = options.isGroupedAllDayPanel, isVerticalGrouping = options.isVerticalGrouping, isAllDayPanelVisible = options.isAllDayPanelVisible; var indexDifference = isVerticalGrouping || !isAllDayPanelVisible ? 0 : 1; var correctedStartRowIndex = startRowIndex + indexDifference; var displayedRowCount = (0, _base.getDisplayedRowCount)(rowCount, completeTimePanelMap); var timePanelMap = completeTimePanelMap.slice(correctedStartRowIndex, correctedStartRowIndex + displayedRowCount); var timePanelData = { topVirtualRowHeight: topVirtualRowHeight, bottomVirtualRowHeight: bottomVirtualRowHeight, isGroupedAllDayPanel: isGroupedAllDayPanel }; var _this$_generateTimePa = this._generateTimePanelDataFromMap(timePanelMap, isVerticalGrouping), groupedData = _this$_generateTimePa.previousGroupedData; timePanelData.groupedData = groupedData; return timePanelData }; _proto._generateTimePanelDataFromMap = function(timePanelMap, isVerticalGrouping) { return timePanelMap.reduce((function(_ref, cellData) { var previousGroupIndex = _ref.previousGroupIndex, previousGroupedData = _ref.previousGroupedData; var currentGroupIndex = cellData.groupIndex; if (currentGroupIndex !== previousGroupIndex) { previousGroupedData.push({ dateTable: [], isGroupedAllDayPanel: (0, _utils.getIsGroupedAllDayPanel)(!!cellData.allDay, isVerticalGrouping), groupIndex: currentGroupIndex, key: (0, _utils.getKeyByGroup)(currentGroupIndex, isVerticalGrouping) }) } if (cellData.allDay) { previousGroupedData[previousGroupedData.length - 1].allDayPanel = cellData } else { previousGroupedData[previousGroupedData.length - 1].dateTable.push(cellData) } return { previousGroupIndex: currentGroupIndex, previousGroupedData: previousGroupedData } }), { previousGroupIndex: -1, previousGroupedData: [] }) }; return TimePanelDataGenerator }(); exports.TimePanelDataGenerator = TimePanelDataGenerator }, 28673: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/view_model/utils.js ***! \*****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.alignToFirstDayOfWeek = alignToFirstDayOfWeek; exports.alignToLastDayOfWeek = alignToLastDayOfWeek; exports.calculateAlignedWeeksBetweenDates = function(fromDate, toDate, firstDayOfWeek) { var alignedFromDate = alignToFirstDayOfWeek(fromDate, firstDayOfWeek); var alignedToDate = alignToLastDayOfWeek(toDate, firstDayOfWeek); var weekCount = calculateDaysBetweenDates(alignedFromDate, alignedToDate) / 7; return Math.max(weekCount, 6) }; exports.calculateDaysBetweenDates = calculateDaysBetweenDates; exports.getViewDataGeneratorByViewType = void 0; var _date = (obj = __webpack_require__( /*! ../../../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var _constants = __webpack_require__( /*! ../../constants */ 27728); var _view_data_generator = __webpack_require__( /*! ./view_data_generator */ 18177); var _view_data_generator_day = __webpack_require__( /*! ./view_data_generator_day */ 1482); var _view_data_generator_month = __webpack_require__( /*! ./view_data_generator_month */ 96444); var _view_data_generator_timeline_month = __webpack_require__( /*! ./view_data_generator_timeline_month */ 54951); var _view_data_generator_week = __webpack_require__( /*! ./view_data_generator_week */ 9794); var _view_data_generator_work_week = __webpack_require__( /*! ./view_data_generator_work_week */ 27536); exports.getViewDataGeneratorByViewType = function(viewType) { switch (viewType) { case _constants.VIEWS.MONTH: return new _view_data_generator_month.ViewDataGeneratorMonth; case _constants.VIEWS.TIMELINE_MONTH: return new _view_data_generator_timeline_month.ViewDataGeneratorTimelineMonth; case _constants.VIEWS.DAY: case _constants.VIEWS.TIMELINE_DAY: return new _view_data_generator_day.ViewDataGeneratorDay; case _constants.VIEWS.WEEK: case _constants.VIEWS.TIMELINE_WEEK: return new _view_data_generator_week.ViewDataGeneratorWeek; case _constants.VIEWS.WORK_WEEK: case _constants.VIEWS.TIMELINE_WORK_WEEK: return new _view_data_generator_work_week.ViewDataGeneratorWorkWeek; default: return new _view_data_generator.ViewDataGenerator } }; function alignToFirstDayOfWeek(date, firstDayOfWeek) { var newDate = new Date(date); var dayDiff = newDate.getDay() - firstDayOfWeek; if (dayDiff < 0) { dayDiff += 7 } newDate.setDate(newDate.getDate() - dayDiff); return newDate } function alignToLastDayOfWeek(date, firstDayOfWeek) { var newDate = alignToFirstDayOfWeek(date, firstDayOfWeek); newDate.setDate(newDate.getDate() + 7 - 1); return newDate } function calculateDaysBetweenDates(fromDate, toDate) { var msDiff = _date.default.trimTime(toDate).getTime() - _date.default.trimTime(fromDate).getTime(); return Math.round(msDiff / 864e5) + 1 } }, 18177: /*!*******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/view_model/view_data_generator.js ***! \*******************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.ViewDataGenerator = void 0; var _date = (obj = __webpack_require__( /*! ../../../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var _constants = __webpack_require__( /*! ../../constants */ 27728); var _utils = __webpack_require__( /*! ../../resources/utils */ 98140); var _base = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _utils2 = __webpack_require__( /*! ../../../../renovation/ui/scheduler/workspaces/utils */ 97205); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var HOUR_MS = _date.default.dateToMilliseconds("hour"); var DAY_MS = _date.default.dateToMilliseconds("day"); var ViewDataGenerator = function() { function ViewDataGenerator() {} var _proto = ViewDataGenerator.prototype; _proto.isSkippedDate = function() { return false }; _proto.getStartViewDate = function(options) { return this._calculateStartViewDate(options) }; _proto.getCompleteViewDataMap = function(options) { var _viewDataMap; var groups = options.groups, isGroupedByDate = options.isGroupedByDate, isHorizontalGrouping = options.isHorizontalGrouping, isVerticalGrouping = options.isVerticalGrouping, intervalCount = options.intervalCount, currentDate = options.currentDate, viewType = options.viewType, startDayHour = options.startDayHour, endDayHour = options.endDayHour, hoursInterval = options.hoursInterval; this._setVisibilityDates(options); this.setHiddenInterval(startDayHour, endDayHour, hoursInterval); var groupsList = (0, _utils.getAllGroups)(groups); var cellCountInGroupRow = this.getCellCount({ intervalCount: intervalCount, currentDate: currentDate, viewType: viewType, startDayHour: startDayHour, endDayHour: endDayHour, hoursInterval: hoursInterval }); var rowCountInGroup = this.getRowCount({ intervalCount: intervalCount, currentDate: currentDate, viewType: viewType, hoursInterval: hoursInterval, startDayHour: startDayHour, endDayHour: endDayHour }); var viewDataMap = []; var allDayPanelData = this._generateAllDayPanelData(options, rowCountInGroup, cellCountInGroupRow); var viewCellsData = this._generateViewCellsData(options, rowCountInGroup, cellCountInGroupRow); allDayPanelData && viewDataMap.push(allDayPanelData); (_viewDataMap = viewDataMap).push.apply(_viewDataMap, _toConsumableArray(viewCellsData)); if (isHorizontalGrouping && !isGroupedByDate) { viewDataMap = this._transformViewDataMapForHorizontalGrouping(viewDataMap, groupsList) } if (isVerticalGrouping) { viewDataMap = this._transformViewDataMapForVerticalGrouping(viewDataMap, groupsList) } if (isGroupedByDate) { viewDataMap = this._transformViewDataMapForGroupingByDate(viewDataMap, groupsList) } var completeViewDataMap = this._addKeysToCells(viewDataMap); return completeViewDataMap }; _proto._transformViewDataMapForHorizontalGrouping = function(viewDataMap, groupsList) { var result = viewDataMap.map((function(row) { return row.slice() })); groupsList.slice(1).forEach((function(groups, index) { var groupIndex = index + 1; viewDataMap.forEach((function(row, rowIndex) { var _result$rowIndex; var nextGroupRow = row.map((function(cellData) { return _extends({}, cellData, { groups: groups, groupIndex: groupIndex }) })); (_result$rowIndex = result[rowIndex]).push.apply(_result$rowIndex, _toConsumableArray(nextGroupRow)) })) })); return result }; _proto._transformViewDataMapForVerticalGrouping = function(viewDataMap, groupsList) { var result = viewDataMap.map((function(row) { return row.slice() })); groupsList.slice(1).forEach((function(groups, index) { var groupIndex = index + 1; var nextGroupMap = viewDataMap.map((function(cellsRow) { var nextRow = cellsRow.map((function(cellData) { return _extends({}, cellData, { groupIndex: groupIndex, groups: groups }) })); return nextRow })); result.push.apply(result, _toConsumableArray(nextGroupMap)) })); return result }; _proto._transformViewDataMapForGroupingByDate = function(viewDataMap, groupsList) { var correctedGroupList = groupsList.slice(1); var correctedGroupCount = correctedGroupList.length; var result = viewDataMap.map((function(cellsRow) { var groupedByDateCellsRow = cellsRow.reduce((function(currentRow, cell) { var rowWithCurrentCell = [].concat(_toConsumableArray(currentRow), [_extends({}, cell, { isFirstGroupCell: true, isLastGroupCell: 0 === correctedGroupCount })], _toConsumableArray(correctedGroupList.map((function(groups, index) { return _extends({}, cell, { groups: groups, groupIndex: index + 1, isFirstGroupCell: false, isLastGroupCell: index === correctedGroupCount - 1 }) })))); return rowWithCurrentCell }), []); return groupedByDateCellsRow })); return result }; _proto._addKeysToCells = function(viewDataMap) { var totalColumnCount = viewDataMap[0].length; var _viewDataMap$reduce = viewDataMap.reduce((function(_ref, row, rowIndex) { var allDayPanelsCount = _ref.allDayPanelsCount, currentViewDataMap = _ref.currentViewDataMap; var isAllDay = row[0].allDay; var keyBase = (rowIndex - allDayPanelsCount) * totalColumnCount; var currentAllDayPanelsCount = isAllDay ? allDayPanelsCount + 1 : allDayPanelsCount; currentViewDataMap[rowIndex].forEach((function(cell, columnIndex) { cell.key = keyBase + columnIndex })); return { allDayPanelsCount: currentAllDayPanelsCount, currentViewDataMap: currentViewDataMap } }), { allDayPanelsCount: 0, currentViewDataMap: viewDataMap }), result = _viewDataMap$reduce.currentViewDataMap; return result }; _proto.generateViewDataMap = function(completeViewDataMap, options) { var rowCount = options.rowCount, startCellIndex = options.startCellIndex, startRowIndex = options.startRowIndex, cellCount = options.cellCount, isVerticalGrouping = options.isVerticalGrouping, isAllDayPanelVisible = options.isAllDayPanelVisible; var sliceCells = function(row, rowIndex, startIndex, count) { var sliceToIndex = void 0 !== count ? startIndex + count : void 0; return row.slice(startIndex, sliceToIndex).map((function(cellData, columnIndex) { return { cellData: cellData, position: { rowIndex: rowIndex, columnIndex: columnIndex } } })) }; var correctedStartRowIndex = startRowIndex; var allDayPanelMap = []; if (this._isStandaloneAllDayPanel(isVerticalGrouping, isAllDayPanelVisible)) { correctedStartRowIndex++; allDayPanelMap = sliceCells(completeViewDataMap[0], 0, startCellIndex, cellCount) } var displayedRowCount = (0, _base.getDisplayedRowCount)(rowCount, completeViewDataMap); var dateTableMap = completeViewDataMap.slice(correctedStartRowIndex, correctedStartRowIndex + displayedRowCount).map((function(row, rowIndex) { return sliceCells(row, rowIndex, startCellIndex, cellCount) })); return { allDayPanelMap: allDayPanelMap, dateTableMap: dateTableMap } }; _proto._isStandaloneAllDayPanel = function(isVerticalGrouping, isAllDayPanelVisible) { return !isVerticalGrouping && isAllDayPanelVisible }; _proto.getViewDataFromMap = function(completeViewDataMap, viewDataMap, options) { var topVirtualRowHeight = options.topVirtualRowHeight, bottomVirtualRowHeight = options.bottomVirtualRowHeight, leftVirtualCellWidth = options.leftVirtualCellWidth, rightVirtualCellWidth = options.rightVirtualCellWidth, cellCount = options.cellCount, rowCount = options.rowCount, startRowIndex = options.startRowIndex, startCellIndex = options.startCellIndex, isProvideVirtualCellsWidth = options.isProvideVirtualCellsWidth, isGroupedAllDayPanel = options.isGroupedAllDayPanel, isVerticalGrouping = options.isVerticalGrouping, isAllDayPanelVisible = options.isAllDayPanelVisible; var allDayPanelMap = viewDataMap.allDayPanelMap, dateTableMap = viewDataMap.dateTableMap; var _dateTableMap$reduce = dateTableMap.reduce((function(_ref2, cellsRow) { var previousGroupIndex = _ref2.previousGroupIndex, groupedData = _ref2.groupedData; var cellDataRow = cellsRow.map((function(_ref3) { var cellData = _ref3.cellData; return cellData })); var firstCell = cellDataRow[0]; var isAllDayRow = firstCell.allDay; var currentGroupIndex = firstCell.groupIndex; if (currentGroupIndex !== previousGroupIndex) { groupedData.push({ dateTable: [], isGroupedAllDayPanel: (0, _utils2.getIsGroupedAllDayPanel)(!!isAllDayRow, isVerticalGrouping), groupIndex: currentGroupIndex, key: (0, _utils2.getKeyByGroup)(currentGroupIndex, isVerticalGrouping) }) } if (isAllDayRow) { groupedData[groupedData.length - 1].allDayPanel = cellDataRow } else { groupedData[groupedData.length - 1].dateTable.push({ cells: cellDataRow, key: cellDataRow[0].key - startCellIndex }) } return { groupedData: groupedData, previousGroupIndex: currentGroupIndex } }), { previousGroupIndex: -1, groupedData: [] }), groupedData = _dateTableMap$reduce.groupedData; if (this._isStandaloneAllDayPanel(isVerticalGrouping, isAllDayPanelVisible)) { groupedData[0].allDayPanel = allDayPanelMap.map((function(_ref4) { var cellData = _ref4.cellData; return cellData })) } var totalCellCount = (0, _base.getTotalCellCountByCompleteData)(completeViewDataMap); var totalRowCount = (0, _base.getTotalRowCountByCompleteData)(completeViewDataMap); var displayedCellCount = (0, _base.getDisplayedCellCount)(cellCount, completeViewDataMap); var displayedRowCount = (0, _base.getDisplayedRowCount)(rowCount, completeViewDataMap); return { groupedData: groupedData, topVirtualRowHeight: topVirtualRowHeight, bottomVirtualRowHeight: bottomVirtualRowHeight, leftVirtualCellWidth: isProvideVirtualCellsWidth ? leftVirtualCellWidth : void 0, rightVirtualCellWidth: isProvideVirtualCellsWidth ? rightVirtualCellWidth : void 0, isGroupedAllDayPanel: isGroupedAllDayPanel, leftVirtualCellCount: startCellIndex, rightVirtualCellCount: void 0 === cellCount ? 0 : totalCellCount - startCellIndex - displayedCellCount, topVirtualRowCount: startRowIndex, bottomVirtualRowCount: totalRowCount - startRowIndex - displayedRowCount } }; _proto._generateViewCellsData = function(options, rowCount, cellCountInGroupRow) { var viewCellsData = []; for (var rowIndex = 0; rowIndex < rowCount; rowIndex += 1) { viewCellsData.push(this._generateCellsRow(options, false, rowIndex, rowCount, cellCountInGroupRow)) } return viewCellsData }; _proto._generateAllDayPanelData = function(options, rowCount, columnCount) { if (!options.isAllDayPanelVisible) { return null } return this._generateCellsRow(options, true, 0, rowCount, columnCount) }; _proto._generateCellsRow = function(options, allDay, rowIndex, rowCount, columnCount) { var cellsRow = []; for (var columnIndex = 0; columnIndex < columnCount; ++columnIndex) { var cellDataValue = this.getCellData(rowIndex, columnIndex, options, allDay); cellDataValue.index = rowIndex * columnCount + columnIndex; cellDataValue.isFirstGroupCell = this._isFirstGroupCell(rowIndex, columnIndex, options, rowCount, columnCount); cellDataValue.isLastGroupCell = this._isLastGroupCell(rowIndex, columnIndex, options, rowCount, columnCount); cellsRow.push(cellDataValue) } return cellsRow }; _proto.getCellData = function(rowIndex, columnIndex, options, allDay) { return allDay ? this.prepareAllDayCellData(options, rowIndex, columnIndex) : this.prepareCellData(options, rowIndex, columnIndex) }; _proto.prepareCellData = function(options, rowIndex, columnIndex) { var groups = options.groups, startDayHour = options.startDayHour, endDayHour = options.endDayHour, interval = options.interval, hoursInterval = options.hoursInterval; var groupsList = (0, _utils.getAllGroups)(groups); var startDate = this.getDateByCellIndices(options, rowIndex, columnIndex, this.getCellCountInDay(startDayHour, endDayHour, hoursInterval)); var endDate = this.calculateEndDate(startDate, interval, endDayHour); var data = { startDate: startDate, endDate: endDate, allDay: this.tableAllDay, groupIndex: 0 }; if (groupsList.length > 0) { data.groups = groupsList[0] } return data }; _proto.prepareAllDayCellData = function(options, rowIndex, columnIndex) { var data = this.prepareCellData(options, rowIndex, columnIndex); var startDate = _date.default.trimTime(data.startDate); return _extends({}, data, { startDate: startDate, endDate: startDate, allDay: true }) }; _proto.getDateByCellIndices = function(options, rowIndex, columnIndex, cellCountInDay) { var startViewDate = options.startViewDate; var startDayHour = options.startDayHour, interval = options.interval, firstDayOfWeek = options.firstDayOfWeek, intervalCount = options.intervalCount; var isStartViewDateDuringDST = startViewDate.getHours() !== Math.floor(startDayHour); if (isStartViewDateDuringDST) { var dateWithCorrectHours = (0, _base.getStartViewDateWithoutDST)(startViewDate, startDayHour); startViewDate = new Date(dateWithCorrectHours - _date.default.dateToMilliseconds("day")) } var columnCountBase = this.getCellCount(options); var rowCountBase = this.getRowCount(options); var cellIndex = this._calculateCellIndex(rowIndex, columnIndex, rowCountBase, columnCountBase); var millisecondsOffset = this.getMillisecondsOffset(cellIndex, interval, cellCountInDay); var offsetByCount = this.isWorkView ? this.getTimeOffsetByColumnIndex(columnIndex, this.getFirstDayOfWeek(firstDayOfWeek), columnCountBase, intervalCount) : 0; var startViewDateTime = startViewDate.getTime(); var currentDate = new Date(startViewDateTime + millisecondsOffset + offsetByCount); var timeZoneDifference = isStartViewDateDuringDST ? 0 : _date.default.getTimezonesDifference(startViewDate, currentDate); currentDate.setTime(currentDate.getTime() + timeZoneDifference); return currentDate }; _proto.getMillisecondsOffset = function(cellIndex, interval, cellCountInDay) { var dayIndex = Math.floor(cellIndex / cellCountInDay); var realHiddenInterval = dayIndex * this.hiddenInterval; return interval * cellIndex + realHiddenInterval }; _proto.getTimeOffsetByColumnIndex = function(columnIndex, firstDayOfWeek, columnCount, intervalCount) { var firstDayOfWeekDiff = Math.max(0, firstDayOfWeek - 1); var columnsInWeek = columnCount / intervalCount; var weekendCount = Math.floor((columnIndex + firstDayOfWeekDiff) / columnsInWeek); return DAY_MS * weekendCount * 2 }; _proto.calculateEndDate = function(startDate, interval, endDayHour) { var result = new Date(startDate); result.setMilliseconds(result.getMilliseconds() + Math.round(interval)); return result }; _proto._calculateCellIndex = function(rowIndex, columnIndex, rowCount, columnCount) { return (0, _base.calculateCellIndex)(rowIndex, columnIndex, rowCount) }; _proto.generateGroupedDataMap = function(viewDataMap) { var allDayPanelMap = viewDataMap.allDayPanelMap, dateTableMap = viewDataMap.dateTableMap; var _dateTableMap$reduce2 = dateTableMap.reduce((function(previousOptions, cellsRow) { var previousGroupedDataMap = previousOptions.previousGroupedDataMap, previousRowIndex = previousOptions.previousRowIndex, previousGroupIndex = previousOptions.previousGroupIndex; var currentGroupIndex = cellsRow[0].cellData.groupIndex; var currentRowIndex = currentGroupIndex === previousGroupIndex ? previousRowIndex + 1 : 0; cellsRow.forEach((function(cell) { var groupIndex = cell.cellData.groupIndex; if (!previousGroupedDataMap[groupIndex]) { previousGroupedDataMap[groupIndex] = [] } if (!previousGroupedDataMap[groupIndex][currentRowIndex]) { previousGroupedDataMap[groupIndex][currentRowIndex] = [] } previousGroupedDataMap[groupIndex][currentRowIndex].push(cell) })); return { previousGroupedDataMap: previousGroupedDataMap, previousRowIndex: currentRowIndex, previousGroupIndex: currentGroupIndex } }), { previousGroupedDataMap: [], previousRowIndex: -1, previousGroupIndex: -1 }), dateTableGroupedMap = _dateTableMap$reduce2.previousGroupedDataMap; var allDayPanelGroupedMap = []; null === allDayPanelMap || void 0 === allDayPanelMap ? void 0 : allDayPanelMap.forEach((function(cell) { var groupIndex = cell.cellData.groupIndex; if (!allDayPanelGroupedMap[groupIndex]) { allDayPanelGroupedMap[groupIndex] = [] } allDayPanelGroupedMap[groupIndex].push(cell) })); return { allDayPanelGroupedMap: allDayPanelGroupedMap, dateTableGroupedMap: dateTableGroupedMap } }; _proto._isFirstGroupCell = function(rowIndex, columnIndex, options, rowCount, columnCount) { var groupOrientation = options.groupOrientation, groups = options.groups, isGroupedByDate = options.isGroupedByDate; var groupCount = (0, _utils.getGroupCount)(groups); if (isGroupedByDate) { return columnIndex % groupCount === 0 } if (groupOrientation === _constants.HORIZONTAL_GROUP_ORIENTATION) { return columnIndex % columnCount === 0 } return rowIndex % rowCount === 0 }; _proto._isLastGroupCell = function(rowIndex, columnIndex, options, rowCount, columnCount) { var groupOrientation = options.groupOrientation, groups = options.groups, isGroupedByDate = options.isGroupedByDate; var groupCount = (0, _utils.getGroupCount)(groups); if (isGroupedByDate) { return (columnIndex + 1) % groupCount === 0 } if (groupOrientation === _constants.HORIZONTAL_GROUP_ORIENTATION) { return (columnIndex + 1) % columnCount === 0 } return (rowIndex + 1) % rowCount === 0 }; _proto.markSelectedAndFocusedCells = function(viewDataMap, renderOptions) { var _this = this; var selectedCells = renderOptions.selectedCells, focusedCell = renderOptions.focusedCell; if (!selectedCells && !focusedCell) { return viewDataMap } var allDayPanelMap = viewDataMap.allDayPanelMap, dateTableMap = viewDataMap.dateTableMap; var nextDateTableMap = dateTableMap.map((function(row) { return _this._markSelectedAndFocusedCellsInRow(row, selectedCells, focusedCell) })); var nextAllDayMap = this._markSelectedAndFocusedCellsInRow(allDayPanelMap, selectedCells, focusedCell); return { allDayPanelMap: nextAllDayMap, dateTableMap: nextDateTableMap } }; _proto._markSelectedAndFocusedCellsInRow = function(dataRow, selectedCells, focusedCell) { return dataRow.map((function(cell) { var _cell$cellData = cell.cellData, index = _cell$cellData.index, groupIndex = _cell$cellData.groupIndex, allDay = _cell$cellData.allDay, startDate = _cell$cellData.startDate; var indexInSelectedCells = selectedCells.findIndex((function(_ref5) { var selectedCellIndex = _ref5.index, selectedCellGroupIndex = _ref5.groupIndex, selectedCellAllDay = _ref5.allDay, selectedCellStartDate = _ref5.startDate; return groupIndex === selectedCellGroupIndex && (index === selectedCellIndex || void 0 === selectedCellIndex && startDate.getTime() === selectedCellStartDate.getTime()) && !!allDay === !!selectedCellAllDay })); var isFocused = !!focusedCell && index === focusedCell.cellData.index && groupIndex === focusedCell.cellData.groupIndex && allDay === focusedCell.cellData.allDay; if (!isFocused && -1 === indexInSelectedCells) { return cell } return _extends({}, cell, { cellData: _extends({}, cell.cellData, { isSelected: indexInSelectedCells > -1, isFocused: isFocused }) }) })) }; _proto.getInterval = function(hoursInterval) { return hoursInterval * HOUR_MS }; _proto._getIntervalDuration = function(intervalCount) { return _date.default.dateToMilliseconds("day") * intervalCount }; _proto._setVisibilityDates = function() {}; _proto.getCellCountInDay = function(startDayHour, endDayHour, hoursInterval) { var result = (0, _base.calculateDayDuration)(startDayHour, endDayHour) / hoursInterval; return Math.ceil(result) }; _proto.getCellCount = function(options) { var intervalCount = options.intervalCount, viewType = options.viewType, startDayHour = options.startDayHour, endDayHour = options.endDayHour, hoursInterval = options.hoursInterval; var cellCountInDay = this.getCellCountInDay(startDayHour, endDayHour, hoursInterval); var columnCountInDay = (0, _base.isHorizontalView)(viewType) ? cellCountInDay : 1; return this.daysInInterval * intervalCount * columnCountInDay }; _proto.getRowCount = function(options) { var viewType = options.viewType, startDayHour = options.startDayHour, endDayHour = options.endDayHour, hoursInterval = options.hoursInterval; var cellCountInDay = this.getCellCountInDay(startDayHour, endDayHour, hoursInterval); var rowCountInDay = !(0, _base.isHorizontalView)(viewType) ? cellCountInDay : 1; return rowCountInDay }; _proto.setHiddenInterval = function(startDayHour, endDayHour, hoursInterval) { this.hiddenInterval = DAY_MS - this.getVisibleDayDuration(startDayHour, endDayHour, hoursInterval) }; _proto.getVisibleDayDuration = function(startDayHour, endDayHour, hoursInterval) { var cellCountInDay = this.getCellCountInDay(startDayHour, endDayHour, hoursInterval); return hoursInterval * cellCountInDay * HOUR_MS }; _proto.getFirstDayOfWeek = function(firstDayOfWeekOption) { return firstDayOfWeekOption }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(ViewDataGenerator, [{ key: "daysInInterval", get: function() { return 1 } }, { key: "isWorkView", get: function() { return false } }, { key: "tableAllDay", get: function() { return false } }]); return ViewDataGenerator }(); exports.ViewDataGenerator = ViewDataGenerator }, 1482: /*!***********************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/view_model/view_data_generator_day.js ***! \***********************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.ViewDataGeneratorDay = void 0; var _day = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/to_test/views/utils/day */ 58824); var _view_data_generator = __webpack_require__( /*! ./view_data_generator */ 18177); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ViewDataGeneratorDay = function(_ViewDataGenerator) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ViewDataGeneratorDay, _ViewDataGenerator); function ViewDataGeneratorDay() { return _ViewDataGenerator.apply(this, arguments) || this } var _proto = ViewDataGeneratorDay.prototype; _proto._calculateStartViewDate = function(options) { return (0, _day.calculateStartViewDate)(options.currentDate, options.startDayHour, options.startDate, this._getIntervalDuration(options.intervalCount)) }; return ViewDataGeneratorDay }(_view_data_generator.ViewDataGenerator); exports.ViewDataGeneratorDay = ViewDataGeneratorDay }, 96444: /*!*************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/view_model/view_data_generator_month.js ***! \*************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.ViewDataGeneratorMonth = void 0; var _base = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _view_data_generator = __webpack_require__( /*! ./view_data_generator */ 18177); var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/date */ 91198)); var _month = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/to_test/views/utils/month */ 19097); var _utils = __webpack_require__( /*! ./utils */ 28673); var _date2 = _interopRequireDefault(__webpack_require__( /*! ../../../../localization/date */ 91500)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DAY_IN_MILLISECONDS = _date.default.dateToMilliseconds("day"); var ViewDataGeneratorMonth = function(_ViewDataGenerator) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ViewDataGeneratorMonth, _ViewDataGenerator); function ViewDataGeneratorMonth() { return _ViewDataGenerator.apply(this, arguments) || this } var _proto = ViewDataGeneratorMonth.prototype; _proto.getCellData = function(rowIndex, columnIndex, options, allDay) { var data = _ViewDataGenerator.prototype.getCellData.call(this, rowIndex, columnIndex, options, false); var startDate = data.startDate; var indicatorTime = options.indicatorTime, timeZoneCalculator = options.timeZoneCalculator, intervalCount = options.intervalCount; data.today = this.isCurrentDate(startDate, indicatorTime, timeZoneCalculator); data.otherMonth = this.isOtherMonth(startDate, this._minVisibleDate, this._maxVisibleDate); data.firstDayOfMonth = (0, _month.isFirstCellInMonthWithIntervalCount)(startDate, intervalCount); data.text = (0, _month.getCellText)(startDate, intervalCount); return data }; _proto.isCurrentDate = function(date, indicatorTime, timeZoneCalculator) { return _date.default.sameDate(date, (0, _base.getToday)(indicatorTime, timeZoneCalculator)) }; _proto.isOtherMonth = function(cellDate, minDate, maxDate) { return !_date.default.dateInRange(cellDate, minDate, maxDate, "date") }; _proto._calculateCellIndex = function(rowIndex, columnIndex, rowCount, columnCount) { return (0, _month.calculateCellIndex)(rowIndex, columnIndex, rowCount, columnCount) }; _proto.calculateEndDate = function(startDate, interval, endDayHour) { return (0, _base.setOptionHour)(startDate, endDayHour) }; _proto.getInterval = function() { return DAY_IN_MILLISECONDS }; _proto._calculateStartViewDate = function(options) { return (0, _month.calculateStartViewDate)(options.currentDate, options.startDayHour, options.startDate, options.intervalCount, this.getFirstDayOfWeek(options.firstDayOfWeek)) }; _proto._setVisibilityDates = function(options) { var intervalCount = options.intervalCount, startDate = options.startDate, currentDate = options.currentDate; var firstMonthDate = _date.default.getFirstMonthDate(startDate); var viewStart = (0, _month.getViewStartByOptions)(startDate, currentDate, intervalCount, firstMonthDate); this._minVisibleDate = new Date(viewStart.setDate(1)); var nextMonthDate = new Date(viewStart.setMonth(viewStart.getMonth() + intervalCount)); this._maxVisibleDate = new Date(nextMonthDate.setDate(0)) }; _proto.getCellCount = function() { return 7 }; _proto.getRowCount = function(options) { var _options$firstDayOfWe; var startDate = new Date(options.currentDate); startDate.setDate(1); var endDate = new Date(startDate); endDate.setMonth(endDate.getMonth() + options.intervalCount); endDate.setDate(0); return (0, _utils.calculateAlignedWeeksBetweenDates)(startDate, endDate, null !== (_options$firstDayOfWe = options.firstDayOfWeek) && void 0 !== _options$firstDayOfWe ? _options$firstDayOfWe : _date2.default.firstDayOfWeekIndex()) }; _proto.getCellCountInDay = function() { return 1 }; _proto.setHiddenInterval = function() { this.hiddenInterval = 0 }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(ViewDataGeneratorMonth, [{ key: "tableAllDay", get: function() { return } }]); return ViewDataGeneratorMonth }(_view_data_generator.ViewDataGenerator); exports.ViewDataGeneratorMonth = ViewDataGeneratorMonth }, 54951: /*!**********************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/view_model/view_data_generator_timeline_month.js ***! \**********************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.ViewDataGeneratorTimelineMonth = void 0; var _view_data_generator = __webpack_require__( /*! ./view_data_generator */ 18177); var _month = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/to_test/views/utils/month */ 19097); var _timeline_month = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/to_test/views/utils/timeline_month */ 75481); var _base = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _date = (obj = __webpack_require__( /*! ../../../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DAY_IN_MILLISECONDS = _date.default.dateToMilliseconds("day"); var ViewDataGeneratorTimelineMonth = function(_ViewDataGenerator) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ViewDataGeneratorTimelineMonth, _ViewDataGenerator); function ViewDataGeneratorTimelineMonth() { return _ViewDataGenerator.apply(this, arguments) || this } var _proto = ViewDataGeneratorTimelineMonth.prototype; _proto._calculateCellIndex = function(rowIndex, columnIndex, rowCount, columnCount) { return (0, _month.calculateCellIndex)(rowIndex, columnIndex, rowCount, columnCount) }; _proto.calculateEndDate = function(startDate, interval, endDayHour) { return (0, _base.setOptionHour)(startDate, endDayHour) }; _proto.getInterval = function() { return DAY_IN_MILLISECONDS }; _proto._calculateStartViewDate = function(options) { return (0, _timeline_month.calculateStartViewDate)(options.currentDate, options.startDayHour, options.startDate, options.intervalCount) }; _proto.getCellCount = function(options) { var intervalCount = options.intervalCount, currentDate = options.currentDate; var cellCount = 0; for (var i = 1; i <= intervalCount; i++) { cellCount += new Date(currentDate.getFullYear(), currentDate.getMonth() + i, 0).getDate() } return cellCount }; _proto.setHiddenInterval = function() { this.hiddenInterval = 0 }; return ViewDataGeneratorTimelineMonth }(_view_data_generator.ViewDataGenerator); exports.ViewDataGeneratorTimelineMonth = ViewDataGeneratorTimelineMonth }, 9794: /*!************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/view_model/view_data_generator_week.js ***! \************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.ViewDataGeneratorWeek = void 0; var _week = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/to_test/views/utils/week */ 34279); var _view_data_generator = __webpack_require__( /*! ./view_data_generator */ 18177); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ViewDataGeneratorWeek = function(_ViewDataGenerator) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ViewDataGeneratorWeek, _ViewDataGenerator); function ViewDataGeneratorWeek() { return _ViewDataGenerator.apply(this, arguments) || this } var _proto = ViewDataGeneratorWeek.prototype; _proto._getIntervalDuration = function(intervalCount) { return (0, _week.getIntervalDuration)(intervalCount) }; _proto._calculateStartViewDate = function(options) { return (0, _week.calculateStartViewDate)(options.currentDate, options.startDayHour, options.startDate, this._getIntervalDuration(options.intervalCount), this.getFirstDayOfWeek(options.firstDayOfWeek)) }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(ViewDataGeneratorWeek, [{ key: "daysInInterval", get: function() { return 7 } }]); return ViewDataGeneratorWeek }(_view_data_generator.ViewDataGenerator); exports.ViewDataGeneratorWeek = ViewDataGeneratorWeek }, 27536: /*!*****************************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/view_model/view_data_generator_work_week.js ***! \*****************************************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.ViewDataGeneratorWorkWeek = void 0; var _work_week = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/to_test/views/utils/work_week */ 83866); var _view_data_generator_week = __webpack_require__( /*! ./view_data_generator_week */ 9794); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ViewDataGeneratorWorkWeek = function(_ViewDataGeneratorWee) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ViewDataGeneratorWorkWeek, _ViewDataGeneratorWee); function ViewDataGeneratorWorkWeek() { return _ViewDataGeneratorWee.apply(this, arguments) || this } var _proto = ViewDataGeneratorWorkWeek.prototype; _proto.isSkippedDate = function(date) { return (0, _work_week.isDataOnWeekend)(date) }; _proto._calculateStartViewDate = function(options) { return (0, _work_week.calculateStartViewDate)(options.currentDate, options.startDayHour, options.startDate, this._getIntervalDuration(options.intervalCount), this.getFirstDayOfWeek(options.firstDayOfWeek)) }; _proto.getFirstDayOfWeek = function(firstDayOfWeekOption) { return firstDayOfWeekOption || 0 }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(ViewDataGeneratorWorkWeek, [{ key: "daysInInterval", get: function() { return 5 } }, { key: "isWorkView", get: function() { return true } }]); return ViewDataGeneratorWorkWeek }(_view_data_generator_week.ViewDataGeneratorWeek); exports.ViewDataGeneratorWorkWeek = ViewDataGeneratorWorkWeek }, 60611: /*!******************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scheduler/workspaces/view_model/view_data_provider.js ***! \******************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _date = _interopRequireDefault(__webpack_require__( /*! ../../../../core/utils/date */ 91198)); var _utils = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/group_panel/utils */ 34854); var _utils2 = __webpack_require__( /*! ../../../../renovation/ui/scheduler/workspaces/utils */ 97205); var _base = __webpack_require__( /*! ../../../../renovation/ui/scheduler/view_model/to_test/views/utils/base */ 45985); var _date_header_data_generator = __webpack_require__( /*! ./date_header_data_generator */ 31986); var _grouped_data_map_provider = __webpack_require__( /*! ./grouped_data_map_provider */ 9427); var _time_panel_data_generator = __webpack_require__( /*! ./time_panel_data_generator */ 16925); var _utils3 = __webpack_require__( /*! ./utils */ 28673); var _utils4 = _interopRequireDefault(__webpack_require__( /*! ../../utils.timeZone */ 32511)); var _excluded = ["groups", "groupOrientation", "groupByDate", "isAllDayPanelVisible"]; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true } Object.defineProperty(target, (arg = descriptor.key, key = void 0, key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"), "symbol" === _typeof(key) ? key : String(key)), descriptor) } var arg, key } var ViewDataProvider = function() { function ViewDataProvider(viewType) { this.viewDataGenerator = (0, _utils3.getViewDataGeneratorByViewType)(viewType); this.viewData = {}; this.completeViewDataMap = []; this.completeDateHeaderMap = []; this.viewDataMap = {}; this._groupedDataMapProvider = null } var _proto = ViewDataProvider.prototype; _proto.isSkippedDate = function(date) { return this.viewDataGenerator.isSkippedDate(date) }; _proto.update = function(options, isGenerateNewViewData) { this.viewDataGenerator = (0, _utils3.getViewDataGeneratorByViewType)(options.viewType); var viewDataGenerator = this.viewDataGenerator; var dateHeaderDataGenerator = new _date_header_data_generator.DateHeaderDataGenerator(viewDataGenerator); var timePanelDataGenerator = new _time_panel_data_generator.TimePanelDataGenerator(viewDataGenerator); var renderOptions = this._transformRenderOptions(options); renderOptions.interval = this.viewDataGenerator.getInterval(renderOptions.hoursInterval); this._options = renderOptions; if (isGenerateNewViewData) { this.completeViewDataMap = viewDataGenerator.getCompleteViewDataMap(renderOptions); this.completeDateHeaderMap = dateHeaderDataGenerator.getCompleteDateHeaderMap(renderOptions, this.completeViewDataMap); if (renderOptions.isGenerateTimePanelData) { this.completeTimePanelMap = timePanelDataGenerator.getCompleteTimePanelMap(renderOptions, this.completeViewDataMap) } } this.viewDataMap = viewDataGenerator.generateViewDataMap(this.completeViewDataMap, renderOptions); this.updateViewData(renderOptions); this._groupedDataMapProvider = new _grouped_data_map_provider.GroupedDataMapProvider(this.viewDataGenerator, this.viewDataMap, this.completeViewDataMap, { isVerticalGrouping: renderOptions.isVerticalGrouping, viewType: renderOptions.viewType }); this.dateHeaderData = dateHeaderDataGenerator.generateDateHeaderData(this.completeDateHeaderMap, this.completeViewDataMap, renderOptions); if (renderOptions.isGenerateTimePanelData) { this.timePanelData = timePanelDataGenerator.generateTimePanelData(this.completeTimePanelMap, renderOptions) } }; _proto.createGroupedDataMapProvider = function() { this._groupedDataMapProvider = new _grouped_data_map_provider.GroupedDataMapProvider(this.viewDataGenerator, this.viewDataMap, this.completeViewDataMap, { isVerticalGrouping: this._options.isVerticalGrouping, viewType: this._options.viewType }) }; _proto.updateViewData = function(options) { var renderOptions = this._transformRenderOptions(options); this.viewDataMapWithSelection = this.viewDataGenerator.markSelectedAndFocusedCells(this.viewDataMap, renderOptions); this.viewData = this.viewDataGenerator.getViewDataFromMap(this.completeViewDataMap, this.viewDataMapWithSelection, renderOptions) }; _proto._transformRenderOptions = function(renderOptions) { var groups = renderOptions.groups, groupOrientation = renderOptions.groupOrientation, groupByDate = renderOptions.groupByDate, isAllDayPanelVisible = renderOptions.isAllDayPanelVisible, restOptions = _objectWithoutProperties(renderOptions, _excluded); return _extends({}, restOptions, { startViewDate: this.viewDataGenerator._calculateStartViewDate(renderOptions), isVerticalGrouping: (0, _utils2.isVerticalGroupingApplied)(groups, groupOrientation), isHorizontalGrouping: (0, _utils2.isHorizontalGroupingApplied)(groups, groupOrientation), isGroupedByDate: (0, _utils2.isGroupingByDate)(groups, groupOrientation, groupByDate), isGroupedAllDayPanel: (0, _base.calculateIsGroupedAllDayPanel)(groups, groupOrientation, isAllDayPanelVisible), groups: groups, groupOrientation: groupOrientation, isAllDayPanelVisible: isAllDayPanelVisible }) }; _proto.getGroupPanelData = function(options) { var renderOptions = this._transformRenderOptions(options); if (renderOptions.groups.length > 0) { var cellCount = this.getCellCount(renderOptions); return (0, _utils.getGroupPanelData)(renderOptions.groups, cellCount, renderOptions.isGroupedByDate, renderOptions.isGroupedByDate ? 1 : cellCount) } return }; _proto.getGroupStartDate = function(groupIndex) { return this._groupedDataMapProvider.getGroupStartDate(groupIndex) }; _proto.getGroupEndDate = function(groupIndex) { return this._groupedDataMapProvider.getGroupEndDate(groupIndex) }; _proto.findGroupCellStartDate = function(groupIndex, startDate, endDate) { var isFindByDate = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : false; return this._groupedDataMapProvider.findGroupCellStartDate(groupIndex, startDate, endDate, isFindByDate) }; _proto.findAllDayGroupCellStartDate = function(groupIndex, startDate) { return this._groupedDataMapProvider.findAllDayGroupCellStartDate(groupIndex, startDate) }; _proto.findCellPositionInMap = function(cellInfo) { return this._groupedDataMapProvider.findCellPositionInMap(cellInfo) }; _proto.hasAllDayPanel = function() { var viewData = this.viewDataMap.viewData; var allDayPanel = viewData.groupedData[0].allDayPanel; return !viewData.isGroupedAllDayPanel && (null === allDayPanel || void 0 === allDayPanel ? void 0 : allDayPanel.length) > 0 }; _proto.getCellsGroup = function(groupIndex) { return this._groupedDataMapProvider.getCellsGroup(groupIndex) }; _proto.getCompletedGroupsInfo = function() { return this._groupedDataMapProvider.getCompletedGroupsInfo() }; _proto.getGroupIndices = function() { return this._groupedDataMapProvider.getGroupIndices() }; _proto.getLastGroupCellPosition = function(groupIndex) { return this._groupedDataMapProvider.getLastGroupCellPosition(groupIndex) }; _proto.getRowCountInGroup = function(groupIndex) { return this._groupedDataMapProvider.getRowCountInGroup(groupIndex) }; _proto.getCellData = function(rowIndex, columnIndex, isAllDay, rtlEnabled) { var row = isAllDay && !this._options.isVerticalGrouping ? this.viewDataMap.allDayPanelMap : this.viewDataMap.dateTableMap[rowIndex]; var actualColumnIndex = !rtlEnabled ? columnIndex : row.length - 1 - columnIndex; var cellData = row[actualColumnIndex].cellData; return cellData }; _proto.getCellsByGroupIndexAndAllDay = function(groupIndex, allDay) { var rowsPerGroup = this._getRowCountWithAllDayRows(); var isShowAllDayPanel = this._options.isAllDayPanelVisible; var firstRowInGroup = this._options.isVerticalGrouping ? groupIndex * rowsPerGroup : 0; var lastRowInGroup = this._options.isVerticalGrouping ? (groupIndex + 1) * rowsPerGroup - 1 : rowsPerGroup; var correctedFirstRow = isShowAllDayPanel && !allDay ? firstRowInGroup + 1 : firstRowInGroup; var correctedLastRow = allDay ? correctedFirstRow : lastRowInGroup; return this.completeViewDataMap.slice(correctedFirstRow, correctedLastRow + 1).map((function(row) { return row.filter((function(_ref) { var currentGroupIndex = _ref.groupIndex; return groupIndex === currentGroupIndex })) })) }; _proto.getCellCountWithGroup = function(groupIndex) { var rowIndex = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; var dateTableGroupedMap = this.groupedDataMap.dateTableGroupedMap; return dateTableGroupedMap.filter((function(_, index) { return index <= groupIndex })).reduce((function(previous, row) { return previous + row[rowIndex].length }), 0) }; _proto.hasGroupAllDayPanel = function(groupIndex) { var _this$groupedDataMap$2; if (this._options.isVerticalGrouping) { var _this$groupedDataMap$; return !!(null !== (_this$groupedDataMap$ = this.groupedDataMap.dateTableGroupedMap[groupIndex]) && void 0 !== _this$groupedDataMap$ && _this$groupedDataMap$[0][0].cellData.allDay) } return (null === (_this$groupedDataMap$2 = this.groupedDataMap.allDayPanelGroupedMap[groupIndex]) || void 0 === _this$groupedDataMap$2 ? void 0 : _this$groupedDataMap$2.length) > 0 }; _proto.isGroupIntersectDateInterval = function(groupIndex, startDate, endDate) { var groupStartDate = this.getGroupStartDate(groupIndex); var groupEndDate = this.getGroupEndDate(groupIndex); return startDate < groupEndDate && endDate > groupStartDate }; _proto.findGlobalCellPosition = function(date) { var groupIndex = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; var allDay = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false; var completeViewDataMap = this.completeViewDataMap; var showAllDayPanel = this._options.isAllDayPanelVisible; for (var rowIndex = 0; rowIndex < completeViewDataMap.length; rowIndex += 1) { var currentRow = completeViewDataMap[rowIndex]; for (var columnIndex = 0; columnIndex < currentRow.length; columnIndex += 1) { var cellData = currentRow[columnIndex]; var currentStartDate = cellData.startDate, currentEndDate = cellData.endDate, currentGroupIndex = cellData.groupIndex, currentAllDay = cellData.allDay; if (groupIndex === currentGroupIndex && allDay === !!currentAllDay && this._compareDatesAndAllDay(date, currentStartDate, currentEndDate, allDay)) { return { position: { columnIndex: columnIndex, rowIndex: showAllDayPanel && !this._options.isVerticalGrouping ? rowIndex - 1 : rowIndex }, cellData: cellData } } } } }; _proto._compareDatesAndAllDay = function(date, cellStartDate, cellEndDate, allDay) { var time = date.getTime(); var trimmedTime = _date.default.trimTime(date).getTime(); var cellStartTime = cellStartDate.getTime(); var cellEndTime = cellEndDate.getTime(); return !allDay && time >= cellStartTime && time < cellEndTime || allDay && trimmedTime === cellStartTime }; _proto.getSkippedDaysCount = function(groupIndex, startDate, endDate, daysCount) { var dateTableGroupedMap = this._groupedDataMapProvider.groupedDataMap.dateTableGroupedMap; var groupedData = dateTableGroupedMap[groupIndex]; var includedDays = 0; for (var rowIndex = 0; rowIndex < groupedData.length; rowIndex += 1) { for (var columnIndex = 0; columnIndex < groupedData[rowIndex].length; columnIndex += 1) { var cell = groupedData[rowIndex][columnIndex].cellData; if (startDate.getTime() < cell.endDate.getTime() && endDate.getTime() > cell.startDate.getTime()) { includedDays += 1 } } } var lastCell = groupedData[groupedData.length - 1][groupedData[0].length - 1].cellData; var lastCellStart = _date.default.trimTime(lastCell.startDate); var daysAfterView = Math.floor((endDate.getTime() - lastCellStart.getTime()) / _date.default.dateToMilliseconds("day")); var deltaDays = daysAfterView > 0 ? daysAfterView : 0; return daysCount - includedDays - deltaDays }; _proto.getColumnsCount = function() { var dateTableMap = this.viewDataMap.dateTableMap; return dateTableMap ? dateTableMap[0].length : 0 }; _proto.getViewEdgeIndices = function(isAllDayPanel) { if (isAllDayPanel) { return { firstColumnIndex: 0, lastColumnIndex: this.viewDataMap.allDayPanelMap.length - 1, firstRowIndex: 0, lastRowIndex: 0 } } return { firstColumnIndex: 0, lastColumnIndex: this.viewDataMap.dateTableMap[0].length - 1, firstRowIndex: 0, lastRowIndex: this.viewDataMap.dateTableMap.length - 1 } }; _proto.getGroupEdgeIndices = function(groupIndex, isAllDay) { var groupedDataMap = this.groupedDataMap.dateTableGroupedMap[groupIndex]; var cellsCount = groupedDataMap[0].length; var rowsCount = groupedDataMap.length; var firstColumnIndex = groupedDataMap[0][0].position.columnIndex; var lastColumnIndex = groupedDataMap[0][cellsCount - 1].position.columnIndex; if (isAllDay) { return { firstColumnIndex: firstColumnIndex, lastColumnIndex: lastColumnIndex, firstRowIndex: 0, lastRowIndex: 0 } } return { firstColumnIndex: firstColumnIndex, lastColumnIndex: lastColumnIndex, firstRowIndex: groupedDataMap[0][0].position.rowIndex, lastRowIndex: groupedDataMap[rowsCount - 1][0].position.rowIndex } }; _proto.isSameCell = function(firstCellData, secondCellData) { var firstStartDate = firstCellData.startDate, firstGroupIndex = firstCellData.groupIndex, firstAllDay = firstCellData.allDay, firstIndex = firstCellData.index; var secondStartDate = secondCellData.startDate, secondGroupIndex = secondCellData.groupIndex, secondAllDay = secondCellData.allDay, secondIndex = secondCellData.index; return firstStartDate.getTime() === secondStartDate.getTime() && firstGroupIndex === secondGroupIndex && firstAllDay === secondAllDay && firstIndex === secondIndex }; _proto.getLastViewDate = function() { var completeViewDataMap = this.completeViewDataMap; var rowsCount = completeViewDataMap.length - 1; return completeViewDataMap[rowsCount][completeViewDataMap[rowsCount].length - 1].endDate }; _proto.getStartViewDate = function() { return this._options.startViewDate }; _proto.getIntervalDuration = function(intervalCount) { return this.viewDataGenerator._getIntervalDuration(intervalCount) }; _proto.getLastCellEndDate = function() { return new Date(this.getLastViewDate().getTime() - _date.default.dateToMilliseconds("minute")) }; _proto.getLastViewDateByEndDayHour = function(endDayHour) { var lastCellEndDate = this.getLastCellEndDate(); var endTime = _date.default.dateTimeFromDecimal(endDayHour); var endDateOfLastViewCell = new Date(lastCellEndDate.setHours(endTime.hours, endTime.minutes)); return this._adjustEndDateByDaylightDiff(lastCellEndDate, endDateOfLastViewCell) }; _proto._adjustEndDateByDaylightDiff = function(startDate, endDate) { var daylightDiff = _utils4.default.getDaylightOffsetInMs(startDate, endDate); var endDateOfLastViewCell = new Date(endDate.getTime() - daylightDiff); return new Date(endDateOfLastViewCell.getTime() - _date.default.dateToMilliseconds("minute")) }; _proto.getCellCountInDay = function(startDayHour, endDayHour, hoursInterval) { return this.viewDataGenerator.getCellCountInDay(startDayHour, endDayHour, hoursInterval) }; _proto.getCellCount = function(options) { return this.viewDataGenerator.getCellCount(options) }; _proto.getRowCount = function(options) { return this.viewDataGenerator.getRowCount(options) }; _proto.getVisibleDayDuration = function(startDayHour, endDayHour, hoursInterval) { return this.viewDataGenerator.getVisibleDayDuration(startDayHour, endDayHour, hoursInterval) }; _proto._getRowCountWithAllDayRows = function() { var allDayRowCount = this._options.isAllDayPanelVisible ? 1 : 0; return this.getRowCount(this._options) + allDayRowCount }; _proto.getFirstDayOfWeek = function(firstDayOfWeekOption) { return this.viewDataGenerator.getFirstDayOfWeek(firstDayOfWeekOption) }; _proto.setViewOptions = function(options) { this._options = this._transformRenderOptions(options) }; _proto.getViewOptions = function() { return this._options }; _proto.getViewPortGroupCount = function() { var dateTableGroupedMap = this.groupedDataMap.dateTableGroupedMap; return (null === dateTableGroupedMap || void 0 === dateTableGroupedMap ? void 0 : dateTableGroupedMap.length) || 0 }; ! function(Constructor, protoProps, staticProps) { if (protoProps) { _defineProperties(Constructor.prototype, protoProps) } if (staticProps) { _defineProperties(Constructor, staticProps) } Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor }(ViewDataProvider, [{ key: "groupedDataMap", get: function() { return this._groupedDataMapProvider.groupedDataMap } }, { key: "hiddenInterval", get: function() { return this.viewDataGenerator.hiddenInterval } }]); return ViewDataProvider }(); exports.default = ViewDataProvider; module.exports = exports.default; module.exports.default = exports.default }, 4741: /*!***************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scroll_view.js ***! \***************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./scroll_view/ui.scroll_view */ 3164), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 6866: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scroll_view/animator.js ***! \************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _class = (obj = __webpack_require__( /*! ../../core/class */ 38377), obj && obj.__esModule ? obj : { default: obj }); var obj; var _frame = __webpack_require__( /*! ../../animation/frame */ 90057); var abstract = _class.default.abstract; var Animator = _class.default.inherit({ ctor: function() { this._finished = true; this._stopped = false; this._proxiedStepCore = this._stepCore.bind(this) }, start: function() { this._stopped = false; this._finished = false; this._stepCore() }, stop: function() { this._stopped = true; (0, _frame.cancelAnimationFrame)(this._stepAnimationFrame) }, _stepCore: function() { if (this._isStopped()) { this._stop(); return } if (this._isFinished()) { this._finished = true; this._complete(); return } this._step(); this._stepAnimationFrame = (0, _frame.requestAnimationFrame)(this._proxiedStepCore) }, _step: abstract, _isFinished: _common.noop, _stop: _common.noop, _complete: _common.noop, _isStopped: function() { return this._stopped }, inProgress: function() { return !(this._stopped || this._finished) } }); var _default = Animator; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 3164: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scroll_view/ui.scroll_view.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _uiScroll_viewNative = _interopRequireDefault(__webpack_require__( /*! ./ui.scroll_view.native.pull_down */ 27765)); var _uiScroll_viewNative2 = _interopRequireDefault(__webpack_require__( /*! ./ui.scroll_view.native.swipe_down */ 90778)); var _uiScroll_view = _interopRequireDefault(__webpack_require__( /*! ./ui.scroll_view.simulated */ 91616)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./ui.scrollable */ 41183)); var _load_indicator = _interopRequireDefault(__webpack_require__( /*! ../load_indicator */ 2492)); var _themes = __webpack_require__( /*! ./../themes */ 75811); var _load_panel = _interopRequireDefault(__webpack_require__( /*! ../load_panel */ 97218)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var refreshStrategies = { pullDown: _uiScroll_viewNative.default, swipeDown: _uiScroll_viewNative2.default, simulated: _uiScroll_view.default }; var isServerSide = !(0, _window.hasWindow)(); var scrollViewServerConfig = { finishLoading: _common.noop, release: _common.noop, refresh: _common.noop, scrollOffset: function() { return { top: 0, left: 0 } }, _optionChanged: function(args) { if ("onUpdated" !== args.name) { return this.callBase.apply(this, arguments) } } }; var ScrollView = _ui.default.inherit(isServerSide ? scrollViewServerConfig : { _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { pullingDownText: _message.default.format("dxScrollView-pullingDownText"), pulledDownText: _message.default.format("dxScrollView-pulledDownText"), refreshingText: _message.default.format("dxScrollView-refreshingText"), reachBottomText: _message.default.format("dxScrollView-reachBottomText"), onPullDown: null, onReachBottom: null, refreshStrategy: "pullDown" }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { var realDevice = _devices.default.real(); return "android" === realDevice.platform }, options: { refreshStrategy: "swipeDown" } }, { device: function() { return (0, _themes.isMaterial)() }, options: { pullingDownText: "", pulledDownText: "", refreshingText: "", reachBottomText: "" } }]) }, _init: function() { this.callBase(); this._loadingIndicatorEnabled = true }, _initScrollableMarkup: function() { this.callBase(); this.$element().addClass("dx-scrollview"); this._initContent(); this._initTopPocket(); this._initBottomPocket(); this._initLoadPanel() }, _initContent: function() { var $content = (0, _renderer.default)("<div>").addClass("dx-scrollview-content"); this._$content.wrapInner($content) }, _initTopPocket: function() { var $topPocket = this._$topPocket = (0, _renderer.default)("<div>").addClass("dx-scrollview-top-pocket"); var $pullDown = this._$pullDown = (0, _renderer.default)("<div>").addClass("dx-scrollview-pull-down"); $topPocket.append($pullDown); this._$content.prepend($topPocket) }, _initBottomPocket: function() { var $bottomPocket = this._$bottomPocket = (0, _renderer.default)("<div>").addClass("dx-scrollview-bottom-pocket"); var $reachBottom = this._$reachBottom = (0, _renderer.default)("<div>").addClass("dx-scrollview-scrollbottom"); var $loadContainer = (0, _renderer.default)("<div>").addClass("dx-scrollview-scrollbottom-indicator"); var $loadIndicator = new _load_indicator.default((0, _renderer.default)("<div>")).$element(); var $text = this._$reachBottomText = (0, _renderer.default)("<div>").addClass("dx-scrollview-scrollbottom-text"); this._updateReachBottomText(); $reachBottom.append($loadContainer.append($loadIndicator)).append($text); $bottomPocket.append($reachBottom); this._$content.append($bottomPocket) }, _initLoadPanel: function() { var $loadPanelElement = (0, _renderer.default)("<div>").addClass("dx-scrollview-loadpanel").appendTo(this.$element()); var loadPanelOptions = { shading: false, delay: 400, message: this.option("refreshingText"), position: { of: this.$element() } }; this._loadPanel = this._createComponent($loadPanelElement, _load_panel.default, loadPanelOptions) }, _updateReachBottomText: function() { this._$reachBottomText.text(this.option("reachBottomText")) }, _createStrategy: function() { var strategyName = this.option("useNative") ? this.option("refreshStrategy") : "simulated"; var strategyClass = refreshStrategies[strategyName]; this._strategy = new strategyClass(this); this._strategy.pullDownCallbacks.add(this._pullDownHandler.bind(this)); this._strategy.releaseCallbacks.add(this._releaseHandler.bind(this)); this._strategy.reachBottomCallbacks.add(this._reachBottomHandler.bind(this)) }, _createActions: function() { this.callBase(); this._pullDownAction = this._createActionByOption("onPullDown"); this._reachBottomAction = this._createActionByOption("onReachBottom"); this._tryRefreshPocketState() }, _tryRefreshPocketState: function() { this._pullDownEnable(this.hasActionSubscription("onPullDown")); this._reachBottomEnable(this.hasActionSubscription("onReachBottom")) }, on: function(eventName) { var result = this.callBase.apply(this, arguments); if ("pullDown" === eventName || "reachBottom" === eventName) { this._tryRefreshPocketState() } return result }, _pullDownEnable: function(enabled) { if (0 === arguments.length) { return this._pullDownEnabled } if (this._$pullDown && this._strategy) { this._$pullDown.toggle(enabled); this._strategy.pullDownEnable(enabled); this._pullDownEnabled = enabled } }, _reachBottomEnable: function(enabled) { if (0 === arguments.length) { return this._reachBottomEnabled } if (this._$reachBottom && this._strategy) { this._$reachBottom.toggle(enabled); this._strategy.reachBottomEnable(enabled); this._reachBottomEnabled = enabled } }, _pullDownHandler: function() { this._loadingIndicator(false); this._pullDownLoading() }, _loadingIndicator: function(value) { if (arguments.length < 1) { return this._loadingIndicatorEnabled } this._loadingIndicatorEnabled = value }, _pullDownLoading: function() { this.startLoading(); this._pullDownAction() }, _reachBottomHandler: function() { this._loadingIndicator(false); this._reachBottomLoading() }, _reachBottomLoading: function() { this.startLoading(); this._reachBottomAction() }, _releaseHandler: function() { this.finishLoading(); this._loadingIndicator(true) }, _optionChanged: function(args) { switch (args.name) { case "onPullDown": case "onReachBottom": this._createActions(); break; case "pullingDownText": case "pulledDownText": case "refreshingText": case "refreshStrategy": this._invalidate(); break; case "reachBottomText": this._updateReachBottomText(); break; default: this.callBase(args) } }, content: function() { return (0, _element.getPublicElement)(this._$content.children().eq(1)) }, release: function(preventReachBottom) { if (void 0 !== preventReachBottom) { this.toggleLoading(!preventReachBottom) } return this._strategy.release() }, toggleLoading: function(showOrHide) { this._reachBottomEnable(showOrHide) }, refresh: function() { if (!this.hasActionSubscription("onPullDown")) { return } this._strategy.pendingRelease(); this._pullDownLoading() }, startLoading: function() { if (this._loadingIndicator() && this.$element().is(":visible")) { this._loadPanel.show() } this._lock() }, finishLoading: function() { this._loadPanel.hide(); this._unlock() }, _dispose: function() { this._strategy.dispose(); this.callBase(); if (this._loadPanel) { this._loadPanel.$element().remove() } } }); (0, _component_registrator.default)("dxScrollView", ScrollView); var _default = ScrollView; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 27765: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scroll_view/ui.scroll_view.native.pull_down.js ***! \***********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/callbacks */ 44504)); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _uiScrollable = _interopRequireDefault(__webpack_require__( /*! ./ui.scrollable.native */ 78831)); var _load_indicator = _interopRequireDefault(__webpack_require__( /*! ../load_indicator */ 2492)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var PullDownNativeScrollViewStrategy = _uiScrollable.default.inherit({ _init: function(scrollView) { this.callBase(scrollView); this._$topPocket = scrollView._$topPocket; this._$pullDown = scrollView._$pullDown; this._$refreshingText = scrollView._$refreshingText; this._$scrollViewContent = (0, _renderer.default)(scrollView.content()); this._$container = (0, _renderer.default)(scrollView.container()); this._initCallbacks() }, _initCallbacks: function() { this.pullDownCallbacks = (0, _callbacks.default)(); this.releaseCallbacks = (0, _callbacks.default)(); this.reachBottomCallbacks = (0, _callbacks.default)() }, render: function() { this.callBase(); this._renderPullDown(); this._releaseState() }, _renderPullDown: function() { var $image = (0, _renderer.default)("<div>").addClass("dx-scrollview-pull-down-image"); var $loadContainer = (0, _renderer.default)("<div>").addClass("dx-scrollview-pull-down-indicator"); var $loadIndicator = new _load_indicator.default((0, _renderer.default)("<div>")).$element(); var $text = this._$pullDownText = (0, _renderer.default)("<div>").addClass("dx-scrollview-pull-down-text"); this._$pullingDownText = (0, _renderer.default)("<div>").text(this.option("pullingDownText")).appendTo($text); this._$pulledDownText = (0, _renderer.default)("<div>").text(this.option("pulledDownText")).appendTo($text); this._$refreshingText = (0, _renderer.default)("<div>").text(this.option("refreshingText")).appendTo($text); this._$pullDown.empty().append($image).append($loadContainer.append($loadIndicator)).append($text) }, _releaseState: function() { this._state = 0; this._refreshPullDownText() }, _refreshPullDownText: function() { var that = this; var pullDownTextItems = [{ element: this._$pullingDownText, visibleState: 0 }, { element: this._$pulledDownText, visibleState: 1 }, { element: this._$refreshingText, visibleState: 2 }]; (0, _iterator.each)(pullDownTextItems, (function(_, item) { var action = that._state === item.visibleState ? "addClass" : "removeClass"; item.element[action]("dx-scrollview-pull-down-text-visible") })) }, update: function() { this.callBase(); this._setTopPocketOffset() }, _updateDimensions: function() { this.callBase(); this._topPocketSize = this._$topPocket.get(0).clientHeight; var contentEl = this._$scrollViewContent.get(0); var containerEl = this._$container.get(0); this._bottomBoundary = Math.max(contentEl.clientHeight - containerEl.clientHeight, 0) }, _allowedDirections: function() { var allowedDirections = this.callBase(); allowedDirections.vertical = allowedDirections.vertical || this._pullDownEnabled; return allowedDirections }, _setTopPocketOffset: function() { this._$topPocket.css({ top: -this._topPocketSize }) }, handleEnd: function() { this.callBase(); this._complete() }, handleStop: function() { this.callBase(); this._complete() }, _complete: function() { if (1 === this._state) { this._setPullDownOffset(this._topPocketSize); clearTimeout(this._pullDownRefreshTimeout); this._pullDownRefreshTimeout = setTimeout(function() { this._pullDownRefreshing() }.bind(this), 400) } }, _setPullDownOffset: function(offset) { (0, _translator.move)(this._$topPocket, { top: offset }); (0, _translator.move)(this._$scrollViewContent, { top: offset }) }, handleScroll: function(e) { this.callBase(e); if (2 === this._state) { return } var currentLocation = this.location().top; var scrollDelta = (this._location || 0) - currentLocation; this._location = currentLocation; if (this._isPullDown()) { this._pullDownReady() } else if (scrollDelta > 0 && this._isReachBottom()) { this._reachBottom() } else { this._stateReleased() } }, _isPullDown: function() { return this._pullDownEnabled && this._location >= this._topPocketSize }, _isReachBottom: function() { return this._reachBottomEnabled && Math.round(this._bottomBoundary + Math.floor(this._location)) <= 1 }, _reachBottom: function() { if (3 === this._state) { return } this._state = 3; this.reachBottomCallbacks.fire() }, _pullDownReady: function() { if (1 === this._state) { return } this._state = 1; this._$pullDown.addClass("dx-scrollview-pull-down-ready"); this._refreshPullDownText() }, _stateReleased: function() { if (0 === this._state) { return } this._$pullDown.removeClass("dx-scrollview-pull-down-loading").removeClass("dx-scrollview-pull-down-ready"); this._releaseState() }, _pullDownRefreshing: function() { if (2 === this._state) { return } this._state = 2; this._$pullDown.addClass("dx-scrollview-pull-down-loading").removeClass("dx-scrollview-pull-down-ready"); this._refreshPullDownText(); this.pullDownCallbacks.fire() }, pullDownEnable: function(enabled) { if (enabled) { this._updateDimensions(); this._setTopPocketOffset() } this._pullDownEnabled = enabled }, reachBottomEnable: function(enabled) { this._reachBottomEnabled = enabled }, pendingRelease: function() { this._state = 1 }, release: function() { var deferred = new _deferred.Deferred; this._updateDimensions(); clearTimeout(this._releaseTimeout); if (3 === this._state) { this._state = 0 } this._releaseTimeout = setTimeout(function() { this._setPullDownOffset(0); this._stateReleased(); this.releaseCallbacks.fire(); this._updateAction(); deferred.resolve() }.bind(this), 400); return deferred.promise() }, dispose: function() { clearTimeout(this._pullDownRefreshTimeout); clearTimeout(this._releaseTimeout); this.callBase() } }); var _default = PullDownNativeScrollViewStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 90778: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scroll_view/ui.scroll_view.native.swipe_down.js ***! \************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/callbacks */ 44504)); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _uiScrollable = _interopRequireDefault(__webpack_require__( /*! ./ui.scrollable.native */ 78831)); var _load_indicator = _interopRequireDefault(__webpack_require__( /*! ../load_indicator */ 2492)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var SwipeDownNativeScrollViewStrategy = _uiScrollable.default.inherit({ _init: function(scrollView) { this.callBase(scrollView); this._$topPocket = scrollView._$topPocket; this._$pullDown = scrollView._$pullDown; this._$scrollViewContent = (0, _renderer.default)(scrollView.content()); this._$container = (0, _renderer.default)(scrollView.container()); this._initCallbacks(); this._location = 0 }, _initCallbacks: function() { this.pullDownCallbacks = (0, _callbacks.default)(); this.releaseCallbacks = (0, _callbacks.default)(); this.reachBottomCallbacks = (0, _callbacks.default)() }, render: function() { this.callBase(); this._renderPullDown(); this._releaseState() }, _renderPullDown: function() { var $loadContainer = (0, _renderer.default)("<div>").addClass("dx-scrollview-pull-down-indicator"); var $loadIndicator = new _load_indicator.default((0, _renderer.default)("<div>")).$element(); this._$icon = (0, _renderer.default)("<div>").addClass("dx-icon-pulldown"); this._$pullDown.empty().append(this._$icon).append($loadContainer.append($loadIndicator)) }, _releaseState: function() { this._state = 0; this._releasePullDown(); this._updateDimensions() }, _releasePullDown: function() { this._$pullDown.css({ opacity: 0 }) }, _updateDimensions: function() { this.callBase(); this._topPocketSize = this._$topPocket.get(0).clientHeight; var contentEl = this._$scrollViewContent.get(0); var containerEl = this._$container.get(0); this._bottomBoundary = Math.max(contentEl.clientHeight - containerEl.clientHeight, 0) }, _allowedDirections: function() { var allowedDirections = this.callBase(); allowedDirections.vertical = allowedDirections.vertical || this._pullDownEnabled; return allowedDirections }, handleInit: function(e) { this.callBase(e); if (0 === this._state && 0 === this._location) { this._startClientY = (0, _index.eventData)(e.originalEvent).y; this._state = 4 } }, handleMove: function(e) { this.callBase(e); this._deltaY = (0, _index.eventData)(e.originalEvent).y - this._startClientY; if (4 === this._state) { if (this._pullDownEnabled && this._deltaY > 0) { this._state = 5 } else { this._complete() } } if (5 === this._state) { e.preventDefault(); this._movePullDown() } }, _movePullDown: function() { var pullDownHeight = this._getPullDownHeight(); var top = Math.min(3 * pullDownHeight, this._deltaY + this._getPullDownStartPosition()); var angle = 180 * top / pullDownHeight / 3; this._$pullDown.css({ opacity: 1 }).toggleClass("dx-scrollview-pull-down-refreshing", top < pullDownHeight); (0, _translator.move)(this._$pullDown, { top: top }); this._$icon.css({ transform: "rotate(" + angle + "deg)" }) }, _isPullDown: function() { return this._pullDownEnabled && 5 === this._state && this._deltaY >= this._getPullDownHeight() - this._getPullDownStartPosition() }, _getPullDownHeight: function() { return Math.round(.05 * (0, _size.getOuterHeight)(this._$element)) }, _getPullDownStartPosition: function() { return -Math.round(1.5 * (0, _size.getOuterHeight)(this._$pullDown)) }, handleEnd: function() { if (this._isPullDown()) { this._pullDownRefreshing() } this._complete() }, handleStop: function() { this._complete() }, _complete: function() { if (4 === this._state || 5 === this._state) { this._releaseState() } }, handleScroll: function(e) { this.callBase(e); if (2 === this._state) { return } var currentLocation = this.location().top; var scrollDelta = this._location - currentLocation; this._location = currentLocation; if (scrollDelta > 0 && this._isReachBottom()) { this._reachBottom() } else { this._stateReleased() } }, _isReachBottom: function() { return this._reachBottomEnabled && Math.round(this._bottomBoundary + Math.floor(this._location)) <= 1 }, _reachBottom: function() { this.reachBottomCallbacks.fire() }, _stateReleased: function() { if (0 === this._state) { return } this._$pullDown.removeClass("dx-scrollview-pull-down-loading"); this._releaseState() }, _pullDownRefreshing: function() { this._state = 2; this._pullDownRefreshHandler() }, _pullDownRefreshHandler: function() { this._refreshPullDown(); this.pullDownCallbacks.fire() }, _refreshPullDown: function() { this._$pullDown.addClass("dx-scrollview-pull-down-loading"); (0, _translator.move)(this._$pullDown, { top: this._getPullDownHeight() }) }, pullDownEnable: function(enabled) { this._$topPocket.toggle(enabled); this._pullDownEnabled = enabled }, reachBottomEnable: function(enabled) { this._reachBottomEnabled = enabled }, pendingRelease: function() { this._state = 1 }, release: function() { var deferred = new _deferred.Deferred; this._updateDimensions(); clearTimeout(this._releaseTimeout); this._releaseTimeout = setTimeout(function() { this._stateReleased(); this.releaseCallbacks.fire(); this._updateAction(); deferred.resolve() }.bind(this), 800); return deferred.promise() }, dispose: function() { clearTimeout(this._pullDownRefreshTimeout); clearTimeout(this._releaseTimeout); this.callBase() } }); var _default = SwipeDownNativeScrollViewStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 91616: /*!****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scroll_view/ui.scroll_view.simulated.js ***! \****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/callbacks */ 44504)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _uiScrollable = __webpack_require__( /*! ./ui.scrollable.simulated */ 54142); var _load_indicator = _interopRequireDefault(__webpack_require__( /*! ../load_indicator */ 2492)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var math = Math; var ScrollViewScroller = _uiScrollable.Scroller.inherit({ ctor: function() { this._topPocketSize = 0; this._bottomPocketSize = 0; this.callBase.apply(this, arguments); this._initCallbacks(); this._releaseState() }, _releaseState: function() { this._state = 0; this._refreshPullDownText() }, _refreshPullDownText: function() { var that = this; var pullDownTextItems = [{ element: this._$pullingDownText, visibleState: 0 }, { element: this._$pulledDownText, visibleState: 1 }, { element: this._$refreshingText, visibleState: 2 }]; (0, _iterator.each)(pullDownTextItems, (function(_, item) { var action = that._state === item.visibleState ? "addClass" : "removeClass"; item.element[action]("dx-scrollview-pull-down-text-visible") })) }, _initCallbacks: function() { this.pullDownCallbacks = (0, _callbacks.default)(); this.releaseCallbacks = (0, _callbacks.default)(); this.reachBottomCallbacks = (0, _callbacks.default)() }, _updateBounds: function() { var considerPockets = "horizontal" !== this._direction; if (considerPockets) { this._topPocketSize = this._$topPocket.get(0).clientHeight; this._bottomPocketSize = this._$bottomPocket.get(0).clientHeight; var containerEl = this._$container.get(0); var contentEl = this._$content.get(0); this._bottomBoundary = Math.max(contentEl.clientHeight - this._bottomPocketSize - containerEl.clientHeight, 0) } this.callBase() }, _updateScrollbar: function() { this._scrollbar.option({ containerSize: this._containerSize(), contentSize: this._contentSize() - this._topPocketSize - this._bottomPocketSize, scaleRatio: this._getScaleRatio() }) }, _moveContent: function() { this.callBase(); if (this._isPullDown()) { this._pullDownReady() } else if (this._isReachBottom()) { this._reachBottomReady() } else if (0 !== this._state) { this._stateReleased() } }, _moveScrollbar: function() { this._scrollbar.moveTo(this._topPocketSize + this._location) }, _isPullDown: function() { return this._pullDownEnabled && this._location >= 0 }, _isReachBottom: function() { var containerEl = this._$container.get(0); return this._reachBottomEnabled && Math.round(this._bottomBoundary - Math.ceil(containerEl.scrollTop)) <= 1 }, _scrollComplete: function() { if (this._inBounds() && 1 === this._state) { this._pullDownRefreshing() } else if (this._inBounds() && 3 === this._state) { this._reachBottomLoading() } else { this.callBase() } }, _reachBottomReady: function() { if (3 === this._state) { return } this._state = 3; this._minOffset = this._getMinOffset() }, _getMaxOffset: function() { return -this._topPocketSize }, _getMinOffset: function() { return math.min(this.callBase(), -this._topPocketSize) }, _reachBottomLoading: function() { this.reachBottomCallbacks.fire() }, _pullDownReady: function() { if (1 === this._state) { return } this._state = 1; this._maxOffset = 0; this._$pullDown.addClass("dx-scrollview-pull-down-ready"); this._refreshPullDownText() }, _stateReleased: function() { if (0 === this._state) { return } this._releaseState(); this._updateBounds(); this._$pullDown.removeClass("dx-scrollview-pull-down-loading").removeClass("dx-scrollview-pull-down-ready"); this.releaseCallbacks.fire() }, _pullDownRefreshing: function() { if (2 === this._state) { return } this._state = 2; this._$pullDown.addClass("dx-scrollview-pull-down-loading").removeClass("dx-scrollview-pull-down-ready"); this._refreshPullDownText(); this.pullDownCallbacks.fire() }, _releaseHandler: function() { if (0 === this._state) { this._moveToBounds() } this._update(); if (this._releaseTask) { this._releaseTask.abort() } this._releaseTask = (0, _common.executeAsync)(this._release.bind(this)); return this._releaseTask.promise }, _release: function() { this._stateReleased(); this._scrollComplete() }, _reachBottomEnablingHandler: function(enabled) { if (this._reachBottomEnabled === enabled) { return } this._reachBottomEnabled = enabled; this._updateBounds() }, _pullDownEnablingHandler: function(enabled) { if (this._pullDownEnabled === enabled) { return } this._pullDownEnabled = enabled; this._considerTopPocketChange(); this._updateHandler() }, _considerTopPocketChange: function() { this._location -= (0, _size.getHeight)(this._$topPocket) || -this._topPocketSize; this._maxOffset = 0; this._move() }, _pendingReleaseHandler: function() { this._state = 1 }, dispose: function() { if (this._releaseTask) { this._releaseTask.abort() } this.callBase() } }); var SimulatedScrollViewStrategy = _uiScrollable.SimulatedStrategy.inherit({ _init: function(scrollView) { this.callBase(scrollView); this._$pullDown = scrollView._$pullDown; this._$topPocket = scrollView._$topPocket; this._$bottomPocket = scrollView._$bottomPocket; this._initCallbacks() }, _initCallbacks: function() { this.pullDownCallbacks = (0, _callbacks.default)(); this.releaseCallbacks = (0, _callbacks.default)(); this.reachBottomCallbacks = (0, _callbacks.default)() }, render: function() { this._renderPullDown(); this.callBase() }, _renderPullDown: function() { var $image = (0, _renderer.default)("<div>").addClass("dx-scrollview-pull-down-image"); var $loadContainer = (0, _renderer.default)("<div>").addClass("dx-scrollview-pull-down-indicator"); var $loadIndicator = new _load_indicator.default((0, _renderer.default)("<div>")).$element(); var $text = this._$pullDownText = (0, _renderer.default)("<div>").addClass("dx-scrollview-pull-down-text"); this._$pullingDownText = (0, _renderer.default)("<div>").text(this.option("pullingDownText")).appendTo($text); this._$pulledDownText = (0, _renderer.default)("<div>").text(this.option("pulledDownText")).appendTo($text); this._$refreshingText = (0, _renderer.default)("<div>").text(this.option("refreshingText")).appendTo($text); this._$pullDown.empty().append($image).append($loadContainer.append($loadIndicator)).append($text) }, pullDownEnable: function(enabled) { this._eventHandler("pullDownEnabling", enabled) }, reachBottomEnable: function(enabled) { this._eventHandler("reachBottomEnabling", enabled) }, _createScroller: function(direction) { var that = this; var scroller = that._scrollers[direction] = new ScrollViewScroller(that._scrollerOptions(direction)); scroller.pullDownCallbacks.add((function() { that.pullDownCallbacks.fire() })); scroller.releaseCallbacks.add((function() { that.releaseCallbacks.fire() })); scroller.reachBottomCallbacks.add((function() { that.reachBottomCallbacks.fire() })) }, _scrollerOptions: function(direction) { return (0, _extend.extend)(this.callBase(direction), { $topPocket: this._$topPocket, $bottomPocket: this._$bottomPocket, $pullDown: this._$pullDown, $pullDownText: this._$pullDownText, $pullingDownText: this._$pullingDownText, $pulledDownText: this._$pulledDownText, $refreshingText: this._$refreshingText }) }, pendingRelease: function() { this._eventHandler("pendingRelease") }, release: function() { return this._eventHandler("release").done(this._updateAction) }, location: function() { var location = this.callBase(); location.top += (0, _size.getHeight)(this._$topPocket); return location }, dispose: function() { (0, _iterator.each)(this._scrollers, (function() { this.dispose() })); this.callBase() } }); var _default = SimulatedScrollViewStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 82205: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scroll_view/ui.scrollable.device.js ***! \************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.deviceDependentOptions = void 0; var _devices = (obj = __webpack_require__( /*! ../../core/devices */ 20530), obj && obj.__esModule ? obj : { default: obj }); var obj; var _support = __webpack_require__( /*! ../../core/utils/support */ 60137); exports.deviceDependentOptions = function() { return [{ device: function() { return !_support.nativeScrolling }, options: { useNative: false } }, { device: function(_device) { return !_devices.default.isSimulator() && "desktop" === _devices.default.real().deviceType && "generic" === _device.platform }, options: { bounceEnabled: false, scrollByThumb: true, scrollByContent: _support.touch, showScrollbar: "onHover" } }] } }, 41183: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scroll_view/ui.scrollable.js ***! \*****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiScrollable = (obj = __webpack_require__( /*! ./ui.scrollable.old */ 58788), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _uiScrollable.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 78831: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scroll_view/ui.scrollable.native.js ***! \************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./ui.scrollbar */ 89043)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var NativeStrategy = _class.default.inherit({ ctor: function(scrollable) { this._init(scrollable) }, _init: function(scrollable) { this._component = scrollable; this._$element = scrollable.$element(); this._$container = (0, _renderer.default)(scrollable.container()); this._$content = scrollable.$content(); this._direction = scrollable.option("direction"); this._useSimulatedScrollbar = scrollable.option("useSimulatedScrollbar"); this.option = scrollable.option.bind(scrollable); this._createActionByOption = scrollable._createActionByOption.bind(scrollable); this._isLocked = scrollable._isLocked.bind(scrollable); this._isDirection = scrollable._isDirection.bind(scrollable); this._allowedDirection = scrollable._allowedDirection.bind(scrollable); this._getMaxOffset = scrollable._getMaxOffset.bind(scrollable); this._isRtlNativeStrategy = scrollable._isRtlNativeStrategy.bind(scrollable) }, render: function() { var device = _devices.default.real(); var deviceType = device.platform; this._$element.addClass("dx-scrollable-native").addClass("dx-scrollable-native-" + deviceType).toggleClass("dx-scrollable-scrollbars-hidden", !this._isScrollbarVisible()); if (this._isScrollbarVisible() && this._useSimulatedScrollbar) { this._renderScrollbars() } }, updateRtlPosition: function(isFirstRender) { if (isFirstRender && this.option("rtlEnabled")) { if (this._isScrollbarVisible() && this._useSimulatedScrollbar) { this._moveScrollbars() } } }, _renderScrollbars: function() { this._scrollbars = {}; this._hideScrollbarTimeout = 0; this._$element.addClass("dx-scrollable-scrollbar-simulated"); this._renderScrollbar("vertical"); this._renderScrollbar("horizontal") }, _renderScrollbar: function(direction) { if (!this._isDirection(direction)) { return } this._scrollbars[direction] = new _ui.default((0, _renderer.default)("<div>").appendTo(this._$element), { direction: direction, expandable: this._component.option("scrollByThumb") }) }, handleInit: _common.noop, handleStart: _common.noop, handleMove: function(e) { if (this._isLocked()) { e.cancel = true; return } if (this._allowedDirection()) { e.originalEvent.isScrollingEvent = true } }, handleEnd: _common.noop, handleCancel: _common.noop, handleStop: _common.noop, _eachScrollbar: function(callback) { callback = callback.bind(this); (0, _iterator.each)(this._scrollbars || {}, (function(direction, scrollbar) { callback(scrollbar, direction) })) }, createActions: function() { this._scrollAction = this._createActionByOption("onScroll"); this._updateAction = this._createActionByOption("onUpdated") }, _createActionArgs: function() { var _this$location = this.location(), left = _this$location.left, top = _this$location.top; return { event: this._eventForUserAction, scrollOffset: this._getScrollOffset(), reachedLeft: this._isRtlNativeStrategy() ? this._isReachedRight(-left) : this._isReachedLeft(left), reachedRight: this._isRtlNativeStrategy() ? this._isReachedLeft(-Math.abs(left)) : this._isReachedRight(left), reachedTop: this._isDirection("vertical") ? Math.round(top) >= 0 : void 0, reachedBottom: this._isDirection("vertical") ? Math.round(Math.abs(top) - this._getMaxOffset().top) >= 0 : void 0 } }, _getScrollOffset: function() { var _this$location2 = this.location(), top = _this$location2.top, left = _this$location2.left; return { top: -top, left: this._normalizeOffsetLeft(-left) } }, _normalizeOffsetLeft: function(scrollLeft) { if (this._isRtlNativeStrategy()) { return this._getMaxOffset().left + scrollLeft } return scrollLeft }, _isReachedLeft: function(left) { return this._isDirection("horizontal") ? Math.round(left) >= 0 : void 0 }, _isReachedRight: function(left) { return this._isDirection("horizontal") ? Math.round(Math.abs(left) - this._getMaxOffset().left) >= 0 : void 0 }, _isScrollbarVisible: function() { var _this$option = this.option(), showScrollbar = _this$option.showScrollbar; return "never" !== showScrollbar && false !== showScrollbar }, handleScroll: function(e) { this._eventForUserAction = e; this._moveScrollbars(); this._scrollAction(this._createActionArgs()) }, _moveScrollbars: function() { var _this$_getScrollOffse = this._getScrollOffset(), top = _this$_getScrollOffse.top, left = _this$_getScrollOffse.left; this._eachScrollbar((function(scrollbar) { scrollbar.moveTo({ top: -top, left: -left }); scrollbar.option("visible", true) })); this._hideScrollbars() }, _hideScrollbars: function() { clearTimeout(this._hideScrollbarTimeout); this._hideScrollbarTimeout = setTimeout(function() { this._eachScrollbar((function(scrollbar) { scrollbar.option("visible", false) })) }.bind(this), 500) }, location: function() { return { left: -this._$container.scrollLeft(), top: -this._$container.scrollTop() } }, disabledChanged: _common.noop, update: function() { this._update(); this._updateAction(this._createActionArgs()) }, _update: function() { this._updateDimensions(); this._updateScrollbars() }, _updateDimensions: function() { this._containerSize = { height: (0, _size.getHeight)(this._$container), width: (0, _size.getWidth)(this._$container) }; this._componentContentSize = { height: (0, _size.getHeight)(this._component.$content()), width: (0, _size.getWidth)(this._component.$content()) }; this._contentSize = { height: (0, _size.getHeight)(this._$content), width: (0, _size.getWidth)(this._$content) } }, _updateScrollbars: function() { this._eachScrollbar((function(scrollbar, direction) { var dimension = "vertical" === direction ? "height" : "width"; scrollbar.option({ containerSize: this._containerSize[dimension], contentSize: this._componentContentSize[dimension] }); scrollbar.update() })) }, _allowedDirections: function() { return { vertical: this._isDirection("vertical") && this._contentSize.height > this._containerSize.height, horizontal: this._isDirection("horizontal") && this._contentSize.width > this._containerSize.width } }, dispose: function() { var className = this._$element.get(0).className; var scrollableNativeRegexp = new RegExp("dx-scrollable-native\\S*", "g"); if (scrollableNativeRegexp.test(className)) { this._$element.removeClass(className.match(scrollableNativeRegexp).join(" ")) } _events_engine.default.off(this._$element, ".dxNativeScrollable"); _events_engine.default.off(this._$container, ".dxNativeScrollable"); this._removeScrollbars(); clearTimeout(this._hideScrollbarTimeout) }, _removeScrollbars: function() { this._eachScrollbar((function(scrollbar) { scrollbar.$element().remove() })) }, scrollBy: function(distance) { var location = this.location(); this._$container.scrollTop(Math.round(-location.top - distance.top)); this._$container.scrollLeft(Math.round(-location.left - distance.left)) }, validate: function(e) { if (this.option("disabled")) { return false } if ((0, _index.isDxMouseWheelEvent)(e) && this._isScrolledInMaxDirection(e)) { return false } return !!this._allowedDirection() }, _isScrolledInMaxDirection: function(e) { var container = this._$container.get(0); var result; if (e.delta > 0) { result = e.shiftKey ? !container.scrollLeft : !container.scrollTop } else if (e.shiftKey) { result = container.scrollLeft >= this._getMaxOffset().left } else { result = container.scrollTop >= this._getMaxOffset().top } return result }, getDirection: function() { return this._allowedDirection() } }); var _default = NativeStrategy; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 58788: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scroll_view/ui.scrollable.old.js ***! \*********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _support = __webpack_require__( /*! ../../core/utils/support */ 60137); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/browser */ 47810)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _dom_component = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_component */ 13046)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _emitterGesture = _interopRequireDefault(__webpack_require__( /*! ../../events/gesture/emitter.gesture.scroll */ 37334)); var _uiScrollable = __webpack_require__( /*! ./ui.scrollable.simulated */ 54142); var _uiScrollable2 = _interopRequireDefault(__webpack_require__( /*! ./ui.scrollable.native */ 78831)); var _uiScrollable3 = __webpack_require__( /*! ./ui.scrollable.device */ 82205); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _get_element_location_internal = __webpack_require__( /*! ../../renovation/ui/scroll_view/utils/get_element_location_internal */ 60650); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var SCROLLABLE = "dxScrollable"; var Scrollable = _dom_component.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { disabled: false, onScroll: null, direction: "vertical", showScrollbar: "onScroll", useNative: true, bounceEnabled: true, scrollByContent: true, scrollByThumb: false, onUpdated: null, onStart: null, onEnd: null, onBounce: null, useSimulatedScrollbar: false, useKeyboard: true, inertiaEnabled: true, updateManually: false }) }, _defaultOptionsRules: function() { return this.callBase().concat((0, _uiScrollable3.deviceDependentOptions)(), [{ device: function() { return _support.nativeScrolling && "android" === _devices.default.real().platform && !_browser.default.mozilla }, options: { useSimulatedScrollbar: true } }]) }, _initOptions: function(options) { this.callBase(options); if (!("useSimulatedScrollbar" in options)) { this._setUseSimulatedScrollbar() } }, _setUseSimulatedScrollbar: function() { if (!this.initialOption("useSimulatedScrollbar")) { this.option("useSimulatedScrollbar", !this.option("useNative")) } }, _init: function() { this.callBase(); this._initScrollableMarkup(); this._locked = false }, _visibilityChanged: function(visible) { if (visible) { this.update(); this._updateRtlPosition(); this._savedScrollOffset && this.scrollTo(this._savedScrollOffset); delete this._savedScrollOffset } else { this._savedScrollOffset = this.scrollOffset() } }, _initScrollableMarkup: function() { var $element = this.$element().addClass("dx-scrollable"); var $container = this._$container = (0, _renderer.default)("<div>").addClass("dx-scrollable-container"); var $wrapper = this._$wrapper = (0, _renderer.default)("<div>").addClass("dx-scrollable-wrapper"); var $content = this._$content = (0, _renderer.default)("<div>").addClass("dx-scrollable-content"); $content.append($element.contents()).appendTo($container); $container.appendTo($wrapper); $wrapper.appendTo($element) }, _dimensionChanged: function() { this.update(); this._updateRtlPosition() }, _initMarkup: function() { this.callBase(); this._renderDirection() }, _render: function() { this._renderStrategy(); this._attachEventHandlers(); this._renderDisabledState(); this._createActions(); this.update(); this.callBase(); this._updateRtlPosition(true) }, _updateRtlPosition: function(needInitializeRtlConfig) { this._strategy.updateRtlPosition(needInitializeRtlConfig) }, _getMaxOffset: function() { var _$$get = (0, _renderer.default)(this.container()).get(0), scrollWidth = _$$get.scrollWidth, clientWidth = _$$get.clientWidth, scrollHeight = _$$get.scrollHeight, clientHeight = _$$get.clientHeight; return { left: scrollWidth - clientWidth, top: scrollHeight - clientHeight } }, _attachEventHandlers: function() { var strategy = this._strategy; var initEventData = { getDirection: strategy.getDirection.bind(strategy), validate: this._validate.bind(this), isNative: this.option("useNative"), scrollTarget: this._$container }; _events_engine.default.off(this._$wrapper, "." + SCROLLABLE); _events_engine.default.on(this._$wrapper, (0, _index.addNamespace)(_emitterGesture.default.init, SCROLLABLE), initEventData, this._initHandler.bind(this)); _events_engine.default.on(this._$wrapper, (0, _index.addNamespace)(_emitterGesture.default.start, SCROLLABLE), strategy.handleStart.bind(strategy)); _events_engine.default.on(this._$wrapper, (0, _index.addNamespace)(_emitterGesture.default.move, SCROLLABLE), strategy.handleMove.bind(strategy)); _events_engine.default.on(this._$wrapper, (0, _index.addNamespace)(_emitterGesture.default.end, SCROLLABLE), strategy.handleEnd.bind(strategy)); _events_engine.default.on(this._$wrapper, (0, _index.addNamespace)(_emitterGesture.default.cancel, SCROLLABLE), strategy.handleCancel.bind(strategy)); _events_engine.default.on(this._$wrapper, (0, _index.addNamespace)(_emitterGesture.default.stop, SCROLLABLE), strategy.handleStop.bind(strategy)); _events_engine.default.off(this._$container, "." + SCROLLABLE); _events_engine.default.on(this._$container, (0, _index.addNamespace)("scroll", SCROLLABLE), strategy.handleScroll.bind(strategy)) }, _validate: function(e) { if (this._isLocked()) { return false } this._updateIfNeed(); return this._moveIsAllowed(e) }, _moveIsAllowed: function(e) { return this._strategy.validate(e) }, handleMove: function(e) { this._strategy.handleMove(e) }, _prepareDirections: function(value) { this._strategy._prepareDirections(value) }, _initHandler: function() { var strategy = this._strategy; strategy.handleInit.apply(strategy, arguments) }, _renderDisabledState: function() { this.$element().toggleClass("dx-scrollable-disabled", this.option("disabled")); if (this.option("disabled")) { this._lock() } else { this._unlock() } }, _renderDirection: function() { this.$element().removeClass("dx-scrollable-horizontal").removeClass("dx-scrollable-vertical").removeClass("dx-scrollable-both").addClass("dx-scrollable-" + this.option("direction")) }, _renderStrategy: function() { this._createStrategy(); this._strategy.render(); this.$element().data("dxScrollableStrategy", this._strategy) }, _createStrategy: function() { this._strategy = this.option("useNative") ? new _uiScrollable2.default(this) : new _uiScrollable.SimulatedStrategy(this) }, _createActions: function() { this._strategy && this._strategy.createActions() }, _clean: function() { this._strategy && this._strategy.dispose() }, _optionChanged: function(args) { switch (args.name) { case "onStart": case "onEnd": case "onUpdated": case "onScroll": case "onBounce": this._createActions(); break; case "direction": this._resetInactiveDirection(); this._invalidate(); break; case "useNative": this._setUseSimulatedScrollbar(); this._invalidate(); break; case "inertiaEnabled": case "scrollByThumb": case "bounceEnabled": case "useKeyboard": case "showScrollbar": case "useSimulatedScrollbar": this._invalidate(); break; case "disabled": this._renderDisabledState(); this._strategy && this._strategy.disabledChanged(); break; case "updateManually": case "scrollByContent": break; case "width": this.callBase(args); this._updateRtlPosition(); break; default: this.callBase(args) } }, _resetInactiveDirection: function() { var inactiveProp = this._getInactiveProp(); if (!inactiveProp || !(0, _window.hasWindow)()) { return } var scrollOffset = this.scrollOffset(); scrollOffset[inactiveProp] = 0; this.scrollTo(scrollOffset) }, _getInactiveProp: function() { var direction = this.option("direction"); if ("vertical" === direction) { return "left" } if ("horizontal" === direction) { return "top" } }, _location: function() { return this._strategy.location() }, _normalizeLocation: function(location) { if ((0, _type.isPlainObject)(location)) { var left = (0, _common.ensureDefined)(location.left, location.x); var top = (0, _common.ensureDefined)(location.top, location.y); return { left: (0, _type.isDefined)(left) ? -left : void 0, top: (0, _type.isDefined)(top) ? -top : void 0 } } else { var direction = this.option("direction"); return { left: "vertical" !== direction ? -location : void 0, top: "horizontal" !== direction ? -location : void 0 } } }, _isLocked: function() { return this._locked }, _lock: function() { this._locked = true }, _unlock: function() { if (!this.option("disabled")) { this._locked = false } }, _isDirection: function(direction) { var current = this.option("direction"); if ("vertical" === direction) { return "horizontal" !== current } if ("horizontal" === direction) { return "vertical" !== current } return current === direction }, _updateAllowedDirection: function() { var allowedDirections = this._strategy._allowedDirections(); if (this._isDirection("both") && allowedDirections.vertical && allowedDirections.horizontal) { this._allowedDirectionValue = "both" } else if (this._isDirection("horizontal") && allowedDirections.horizontal) { this._allowedDirectionValue = "horizontal" } else if (this._isDirection("vertical") && allowedDirections.vertical) { this._allowedDirectionValue = "vertical" } else { this._allowedDirectionValue = null } }, _allowedDirection: function() { return this._allowedDirectionValue }, $content: function() { return this._$content }, content: function() { return (0, _element.getPublicElement)(this._$content) }, container: function() { return (0, _element.getPublicElement)(this._$container) }, scrollOffset: function() { return this._strategy._getScrollOffset() }, _isRtlNativeStrategy: function() { var _this$option = this.option(), useNative = _this$option.useNative, rtlEnabled = _this$option.rtlEnabled; return useNative && rtlEnabled }, scrollTop: function() { return this.scrollOffset().top }, scrollLeft: function() { return this.scrollOffset().left }, clientHeight: function() { return (0, _size.getHeight)(this._$container) }, scrollHeight: function() { return (0, _size.getOuterHeight)(this.$content()) }, clientWidth: function() { return (0, _size.getWidth)(this._$container) }, scrollWidth: function() { return (0, _size.getOuterWidth)(this.$content()) }, update: function() { if (!this._strategy) { return } return (0, _deferred.when)(this._strategy.update()).done(function() { this._updateAllowedDirection() }.bind(this)) }, scrollBy: function(distance) { distance = this._normalizeLocation(distance); if (!distance.top && !distance.left) { return } this._updateIfNeed(); this._strategy.scrollBy(distance) }, scrollTo: function(targetLocation) { targetLocation = this._normalizeLocation(targetLocation); this._updateIfNeed(); var location = this._location(); if (!this.option("useNative")) { targetLocation = this._strategy._applyScaleRatio(targetLocation); location = this._strategy._applyScaleRatio(location) } if (this._isRtlNativeStrategy()) { location.left = location.left - this._getMaxOffset().left } var distance = this._normalizeLocation({ left: location.left - (0, _common.ensureDefined)(targetLocation.left, location.left), top: location.top - (0, _common.ensureDefined)(targetLocation.top, location.top) }); if (!distance.top && !distance.left) { return } this._strategy.scrollBy(distance) }, scrollToElement: function(element, offset) { var $element = (0, _renderer.default)(element); var elementInsideContent = this.$content().find(element).length; var elementIsInsideContent = $element.parents(".dx-scrollable").length - $element.parents(".dx-scrollable-content").length === 0; if (!elementInsideContent || !elementIsInsideContent) { return } var scrollPosition = { top: 0, left: 0 }; var direction = this.option("direction"); if ("vertical" !== direction) { scrollPosition.left = this.getScrollElementPosition($element, "horizontal", offset) } if ("horizontal" !== direction) { scrollPosition.top = this.getScrollElementPosition($element, "vertical", offset) } this.scrollTo(scrollPosition) }, getScrollElementPosition: function($element, direction, offset) { var scrollOffset = this.scrollOffset(); return (0, _get_element_location_internal.getElementLocationInternal)($element.get(0), direction, (0, _renderer.default)(this.container()).get(0), scrollOffset, offset) }, _updateIfNeed: function() { if (!this.option("updateManually")) { this.update() } }, _useTemplates: function() { return false }, isRenovated: function() { return !!Scrollable.IS_RENOVATED_WIDGET } }); (0, _component_registrator.default)(SCROLLABLE, Scrollable); var _default = Scrollable; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 54142: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scroll_view/ui.scrollable.simulated.js ***! \***************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.SimulatedStrategy = exports.Scroller = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _inflector = __webpack_require__( /*! ../../core/utils/inflector */ 78008); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _position = __webpack_require__( /*! ../../core/utils/position */ 37518); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _animator = _interopRequireDefault(__webpack_require__( /*! ./animator */ 6866)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _ui = _interopRequireDefault(__webpack_require__( /*! ./ui.scrollbar */ 89043)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var HORIZONTAL = "horizontal"; var FRAME_DURATION = Math.round(1e3 / 60); var BOUNCE_FRAMES = 400 / FRAME_DURATION; var BOUNCE_ACCELERATION_SUM = (1 - Math.pow(.92, BOUNCE_FRAMES)) / (1 - .92); var KEY_CODES_PAGE_UP = "pageUp", KEY_CODES_PAGE_DOWN = "pageDown", KEY_CODES_END = "end", KEY_CODES_HOME = "home", KEY_CODES_LEFT = "leftArrow", KEY_CODES_UP = "upArrow", KEY_CODES_RIGHT = "rightArrow", KEY_CODES_DOWN = "downArrow", KEY_CODES_TAB = "tab"; var InertiaAnimator = _animator.default.inherit({ ctor: function(scroller) { this.callBase(); this.scroller = scroller }, VELOCITY_LIMIT: 1, _isFinished: function() { return Math.abs(this.scroller._velocity) <= this.VELOCITY_LIMIT }, _step: function() { this.scroller._scrollStep(this.scroller._velocity); this.scroller._velocity *= this._acceleration() }, _acceleration: function() { return this.scroller._inBounds() ? .92 : .5 }, _complete: function() { this.scroller._scrollComplete() } }); var BounceAnimator = InertiaAnimator.inherit({ VELOCITY_LIMIT: .2, _isFinished: function() { return this.scroller._crossBoundOnNextStep() || this.callBase() }, _acceleration: function() { return .92 }, _complete: function() { this.scroller._move(this.scroller._bounceLocation); this.callBase() } }); var Scroller = _class.default.inherit({ ctor: function(options) { this._initOptions(options); this._initAnimators(); this._initScrollbar() }, _initOptions: function(options) { var _this = this; this._location = 0; this._topReached = false; this._bottomReached = false; this._axis = options.direction === HORIZONTAL ? "x" : "y"; this._prop = options.direction === HORIZONTAL ? "left" : "top"; this._dimension = options.direction === HORIZONTAL ? "width" : "height"; this._scrollProp = options.direction === HORIZONTAL ? "scrollLeft" : "scrollTop"; (0, _iterator.each)(options, (function(optionName, optionValue) { _this["_" + optionName] = optionValue })) }, _initAnimators: function() { this._inertiaAnimator = new InertiaAnimator(this); this._bounceAnimator = new BounceAnimator(this) }, _initScrollbar: function() { this._scrollbar = new _ui.default((0, _renderer.default)("<div>").appendTo(this._$container), { direction: this._direction, visible: this._scrollByThumb, visibilityMode: this._visibilityModeNormalize(this._scrollbarVisible), expandable: this._scrollByThumb }); this._$scrollbar = this._scrollbar.$element() }, _visibilityModeNormalize: function(mode) { return true === mode ? "onScroll" : false === mode ? "never" : mode }, _scrollStep: function(delta) { var prevLocation = this._location; this._location += delta; this._suppressBounce(); this._move(); if (Math.abs(prevLocation - this._location) < 1) { return } _events_engine.default.triggerHandler(this._$container, { type: "scroll" }) }, _suppressBounce: function() { if (this._bounceEnabled || this._inBounds(this._location)) { return } this._velocity = 0; this._location = this._boundLocation() }, _boundLocation: function(location) { location = void 0 !== location ? location : this._location; return Math.max(Math.min(location, this._maxOffset), this._minOffset) }, _move: function(location) { this._location = void 0 !== location ? location * this._getScaleRatio() : this._location; this._moveContent(); this._moveScrollbar() }, _moveContent: function() { var location = this._location; this._$container[this._scrollProp](-location / this._getScaleRatio()); this._moveContentByTranslator(location) }, _getScaleRatio: function() { if ((0, _window.hasWindow)() && !this._scaleRatio) { var element = this._$element.get(0); var realDimension = this._getRealDimension(element, this._dimension); var baseDimension = this._getBaseDimension(element, this._dimension); this._scaleRatio = Math.round(realDimension / baseDimension * 100) / 100 } return this._scaleRatio || 1 }, _getRealDimension: function(element, dimension) { return Math.round((0, _position.getBoundingRect)(element)[dimension]) }, _getBaseDimension: function(element, dimension) { var dimensionName = "offset" + (0, _inflector.titleize)(dimension); return element[dimensionName] }, _moveContentByTranslator: function(location) { var translateOffset; var minOffset = -this._maxScrollPropValue; if (location > 0) { translateOffset = location } else if (location <= minOffset) { translateOffset = location - minOffset } else { translateOffset = location % 1 } if (this._translateOffset === translateOffset) { return } var targetLocation = {}; targetLocation[this._prop] = translateOffset; this._translateOffset = translateOffset; if (0 === translateOffset) { (0, _translator.resetPosition)(this._$content); return }(0, _translator.move)(this._$content, targetLocation) }, _moveScrollbar: function() { this._scrollbar.moveTo(this._location) }, _scrollComplete: function() { if (this._inBounds()) { this._hideScrollbar(); if (this._completeDeferred) { this._completeDeferred.resolve() } } this._scrollToBounds() }, _scrollToBounds: function() { if (this._inBounds()) { return } this._bounceAction(); this._setupBounce(); this._bounceAnimator.start() }, _setupBounce: function() { var boundLocation = this._bounceLocation = this._boundLocation(); var bounceDistance = boundLocation - this._location; this._velocity = bounceDistance / BOUNCE_ACCELERATION_SUM }, _inBounds: function(location) { location = void 0 !== location ? location : this._location; return this._boundLocation(location) === location }, _crossBoundOnNextStep: function() { var location = this._location; var nextLocation = location + this._velocity; return location < this._minOffset && nextLocation >= this._minOffset || location > this._maxOffset && nextLocation <= this._maxOffset }, _initHandler: function(e) { this._stopScrolling(); this._prepareThumbScrolling(e) }, _stopScrolling: (0, _common.deferRenderer)((function() { this._hideScrollbar(); this._inertiaAnimator.stop(); this._bounceAnimator.stop() })), _prepareThumbScrolling: function(e) { if ((0, _index.isDxMouseWheelEvent)(e.originalEvent)) { return } var $target = (0, _renderer.default)(e.originalEvent.target); var scrollbarClicked = this._isScrollbar($target); if (scrollbarClicked) { this._moveToMouseLocation(e) } this._thumbScrolling = scrollbarClicked || this._isThumb($target); this._crossThumbScrolling = !this._thumbScrolling && this._isAnyThumbScrolling($target); if (this._thumbScrolling) { this._scrollbar.feedbackOn() } }, _isThumbScrollingHandler: function($target) { return this._isThumb($target) }, _moveToMouseLocation: function(e) { var mouseLocation = e["page" + this._axis.toUpperCase()] - this._$element.offset()[this._prop]; var location = this._location + mouseLocation / this._containerToContentRatio() - (0, _size.getHeight)(this._$container) / 2; this._scrollStep(-Math.round(location)) }, _startHandler: function() { this._showScrollbar() }, _moveHandler: function(delta) { if (this._crossThumbScrolling) { return } if (this._thumbScrolling) { delta[this._axis] = -Math.round(delta[this._axis] / this._containerToContentRatio()) } this._scrollBy(delta) }, _scrollBy: function(delta) { delta = delta[this._axis]; if (!this._inBounds()) { delta *= .5 } this._scrollStep(delta) }, _scrollByHandler: function(delta) { this._scrollBy(delta); this._scrollComplete() }, _containerToContentRatio: function() { return this._scrollbar.containerToContentRatio() }, _endHandler: function(velocity) { this._completeDeferred = new _deferred.Deferred; this._velocity = velocity[this._axis]; this._inertiaHandler(); this._resetThumbScrolling(); return this._completeDeferred.promise() }, _inertiaHandler: function() { this._suppressInertia(); this._inertiaAnimator.start() }, _suppressInertia: function() { if (!this._inertiaEnabled || this._thumbScrolling) { this._velocity = 0 } }, _resetThumbScrolling: function() { this._thumbScrolling = false; this._crossThumbScrolling = false }, _stopHandler: function() { if (this._thumbScrolling) { this._scrollComplete() } this._resetThumbScrolling(); this._scrollToBounds() }, _disposeHandler: function() { this._stopScrolling(); this._$scrollbar.remove() }, _updateHandler: function() { this._update(); this._moveToBounds() }, _update: function() { var _this2 = this; this._stopScrolling(); return (0, _common.deferUpdate)((function() { _this2._resetScaleRatio(); _this2._updateLocation(); _this2._updateBounds(); _this2._updateScrollbar(); (0, _common.deferRender)((function() { _this2._moveScrollbar(); _this2._scrollbar.update() })) })) }, _resetScaleRatio: function() { this._scaleRatio = null }, _updateLocation: function() { this._location = ((0, _translator.locate)(this._$content)[this._prop] - this._$container[this._scrollProp]()) * this._getScaleRatio() }, _updateBounds: function() { this._maxOffset = this._getMaxOffset(); this._minOffset = this._getMinOffset() }, _getMaxOffset: function() { return 0 }, _getMinOffset: function() { this._maxScrollPropValue = Math.max(this._contentSize() - this._containerSize(), 0); return -this._maxScrollPropValue }, _updateScrollbar: (0, _common.deferUpdater)((function() { var _this3 = this; var containerSize = this._containerSize(); var contentSize = this._contentSize(); var baseContainerSize = this._getBaseDimension(this._$container.get(0), this._dimension); var baseContentSize = this._getBaseDimension(this._$content.get(0), this._dimension); (0, _common.deferRender)((function() { _this3._scrollbar.option({ containerSize: containerSize, contentSize: contentSize, baseContainerSize: baseContainerSize, baseContentSize: baseContentSize, scaleRatio: _this3._getScaleRatio() }) })) })), _moveToBounds: (0, _common.deferRenderer)((0, _common.deferUpdater)((0, _common.deferRenderer)((function() { var location = this._boundLocation(); var locationChanged = location !== this._location; this._location = location; this._move(); if (locationChanged) { this._scrollAction() } })))), _createActionsHandler: function(actions) { this._scrollAction = actions.scroll; this._bounceAction = actions.bounce }, _showScrollbar: function() { this._scrollbar.option("visible", true) }, _hideScrollbar: function() { this._scrollbar.option("visible", false) }, _containerSize: function() { return this._getRealDimension(this._$container.get(0), this._dimension) }, _contentSize: function() { var isOverflowHidden = "hidden" === this._$content.css("overflow" + this._axis.toUpperCase()); var contentSize = this._getRealDimension(this._$content.get(0), this._dimension); if (!isOverflowHidden) { var containerScrollSize = this._$content[0]["scroll" + (0, _inflector.titleize)(this._dimension)] * this._getScaleRatio(); contentSize = Math.max(containerScrollSize, contentSize) } return contentSize }, _validateEvent: function(e) { var $target = (0, _renderer.default)(e.originalEvent.target); return this._isThumb($target) || this._isScrollbar($target) }, _isThumb: function($element) { return this._scrollByThumb && this._scrollbar.isThumb($element) }, _isScrollbar: function($element) { return this._scrollByThumb && $element && $element.is(this._$scrollbar) }, _reachedMin: function() { return Math.round(this._location - this._minOffset) <= 0 }, _reachedMax: function() { return Math.round(this._location - this._maxOffset) >= 0 }, _cursorEnterHandler: function() { this._resetScaleRatio(); this._updateScrollbar(); this._scrollbar.cursorEnter() }, _cursorLeaveHandler: function() { this._scrollbar.cursorLeave() }, dispose: _common.noop }); exports.Scroller = Scroller; var hoveredScrollable; var activeScrollable; var SimulatedStrategy = _class.default.inherit({ ctor: function(scrollable) { this._init(scrollable) }, _init: function(scrollable) { this._component = scrollable; this._$element = scrollable.$element(); this._$container = (0, _renderer.default)(scrollable.container()); this._$wrapper = scrollable._$wrapper; this._$content = scrollable.$content(); this.option = scrollable.option.bind(scrollable); this._createActionByOption = scrollable._createActionByOption.bind(scrollable); this._isLocked = scrollable._isLocked.bind(scrollable); this._isDirection = scrollable._isDirection.bind(scrollable); this._allowedDirection = scrollable._allowedDirection.bind(scrollable); this._getMaxOffset = scrollable._getMaxOffset.bind(scrollable) }, render: function() { this._$element.addClass("dx-scrollable-simulated"); this._createScrollers(); if (this.option("useKeyboard")) { this._$container.prop("tabIndex", 0) } this._attachKeyboardHandler(); this._attachCursorHandlers() }, _createScrollers: function() { this._scrollers = {}; if (this._isDirection(HORIZONTAL)) { this._createScroller(HORIZONTAL) } if (this._isDirection("vertical")) { this._createScroller("vertical") } this._$element.toggleClass("dx-scrollable-scrollbars-alwaysvisible", "always" === this.option("showScrollbar")) }, _createScroller: function(direction) { this._scrollers[direction] = new Scroller(this._scrollerOptions(direction)) }, _scrollerOptions: function(direction) { return { direction: direction, $content: this._$content, $container: this._$container, $wrapper: this._$wrapper, $element: this._$element, scrollByThumb: this.option("scrollByThumb"), scrollbarVisible: this.option("showScrollbar"), bounceEnabled: this.option("bounceEnabled"), inertiaEnabled: this.option("inertiaEnabled"), isAnyThumbScrolling: this._isAnyThumbScrolling.bind(this) } }, _applyScaleRatio: function(targetLocation) { for (var direction in this._scrollers) { var prop = this._getPropByDirection(direction); if ((0, _type.isDefined)(targetLocation[prop])) { var scroller = this._scrollers[direction]; targetLocation[prop] *= scroller._getScaleRatio() } } return targetLocation }, _isAnyThumbScrolling: function($target) { var result = false; this._eventHandler("isThumbScrolling", $target).done((function(isThumbScrollingVertical, isThumbScrollingHorizontal) { result = isThumbScrollingVertical || isThumbScrollingHorizontal })); return result }, handleInit: function(e) { this._suppressDirections(e); this._eventForUserAction = e; this._eventHandler("init", e) }, _suppressDirections: function(e) { if ((0, _index.isDxMouseWheelEvent)(e.originalEvent)) { this._prepareDirections(true); return } this._prepareDirections(); this._eachScroller((function(scroller, direction) { var $target = (0, _renderer.default)(e.originalEvent.target); var isValid = scroller._validateEvent(e) || this.option("scrollByContent") && this._isContent($target); this._validDirections[direction] = isValid })) }, _isContent: function($element) { return !!$element.closest(this._$element).length }, _prepareDirections: function(value) { value = value || false; this._validDirections = {}; this._validDirections[HORIZONTAL] = value; this._validDirections.vertical = value }, _eachScroller: function(callback) { callback = callback.bind(this); (0, _iterator.each)(this._scrollers, (function(direction, scroller) { callback(scroller, direction) })) }, handleStart: function(e) { this._eventForUserAction = e; this._eventHandler("start").done(this._startAction) }, _saveActive: function() { activeScrollable = this }, _resetActive: function() { if (activeScrollable === this) { activeScrollable = null } }, handleMove: function(e) { if (this._isLocked()) { e.cancel = true; this._resetActive(); return } this._saveActive(); e.preventDefault && e.preventDefault(); this._adjustDistance(e, e.delta); this._eventForUserAction = e; this._eventHandler("move", e.delta) }, _adjustDistance: function(e, distance) { distance.x *= this._validDirections[HORIZONTAL]; distance.y *= this._validDirections.vertical; var devicePixelRatio = this._tryGetDevicePixelRatio(); if (devicePixelRatio && (0, _index.isDxMouseWheelEvent)(e.originalEvent)) { distance.x = Math.round(distance.x / devicePixelRatio * 100) / 100; distance.y = Math.round(distance.y / devicePixelRatio * 100) / 100 } }, _tryGetDevicePixelRatio: function() { if ((0, _window.hasWindow)()) { return (0, _window.getWindow)().devicePixelRatio } }, handleEnd: function(e) { this._resetActive(); this._refreshCursorState(e.originalEvent && e.originalEvent.target); this._adjustDistance(e, e.velocity); this._eventForUserAction = e; return this._eventHandler("end", e.velocity).done(this._endAction) }, handleCancel: function(e) { this._resetActive(); this._eventForUserAction = e; return this._eventHandler("end", { x: 0, y: 0 }) }, handleStop: function() { this._resetActive(); this._eventHandler("stop") }, handleScroll: function() { this._updateRtlConfig(); this._scrollAction() }, _attachKeyboardHandler: function() { _events_engine.default.off(this._$element, ".".concat("dxSimulatedScrollableKeyboard")); if (!this.option("disabled") && this.option("useKeyboard")) { _events_engine.default.on(this._$element, (0, _index.addNamespace)("keydown", "dxSimulatedScrollableKeyboard"), this._keyDownHandler.bind(this)) } }, _keyDownHandler: function(e) { var _this4 = this; clearTimeout(this._updateHandlerTimeout); this._updateHandlerTimeout = setTimeout((function() { if ((0, _index.normalizeKeyName)(e) === KEY_CODES_TAB) { _this4._eachScroller((function(scroller) { scroller._updateHandler() })) } })); if (!this._$container.is(_dom_adapter.default.getActiveElement(this._$container.get(0)))) { return } var handled = true; switch ((0, _index.normalizeKeyName)(e)) { case KEY_CODES_DOWN: this._scrollByLine({ y: 1 }); break; case KEY_CODES_UP: this._scrollByLine({ y: -1 }); break; case KEY_CODES_RIGHT: this._scrollByLine({ x: 1 }); break; case KEY_CODES_LEFT: this._scrollByLine({ x: -1 }); break; case KEY_CODES_PAGE_DOWN: this._scrollByPage(1); break; case KEY_CODES_PAGE_UP: this._scrollByPage(-1); break; case KEY_CODES_HOME: this._scrollToHome(); break; case KEY_CODES_END: this._scrollToEnd(); break; default: handled = false } if (handled) { e.stopPropagation(); e.preventDefault() } }, _scrollByLine: function(lines) { var devicePixelRatio = this._tryGetDevicePixelRatio(); var scrollOffset = 40; if (devicePixelRatio) { scrollOffset = Math.abs(scrollOffset / devicePixelRatio * 100) / 100 } this.scrollBy({ top: (lines.y || 0) * -scrollOffset, left: (lines.x || 0) * -scrollOffset }) }, _scrollByPage: function(page) { var prop = this._wheelProp(); var dimension = this._dimensionByProp(prop); var distance = {}; var getter = "width" === dimension ? _size.getWidth : _size.getHeight; distance[prop] = page * -getter(this._$container); this.scrollBy(distance) }, _dimensionByProp: function(prop) { return "left" === prop ? "width" : "height" }, _getPropByDirection: function(direction) { return direction === HORIZONTAL ? "left" : "top" }, _scrollToHome: function() { var prop = this._wheelProp(); var distance = {}; distance[prop] = 0; this._component.scrollTo(distance) }, _scrollToEnd: function() { var prop = this._wheelProp(); var dimension = this._dimensionByProp(prop); var distance = {}; var getter = "width" === dimension ? _size.getWidth : _size.getHeight; distance[prop] = getter(this._$content) - getter(this._$container); this._component.scrollTo(distance) }, createActions: function() { this._startAction = this._createActionHandler("onStart"); this._endAction = this._createActionHandler("onEnd"); this._updateAction = this._createActionHandler("onUpdated"); this._createScrollerActions() }, _createScrollerActions: function() { this._scrollAction = this._createActionHandler("onScroll"); this._bounceAction = this._createActionHandler("onBounce"); this._eventHandler("createActions", { scroll: this._scrollAction, bounce: this._bounceAction }) }, _createActionHandler: function(optionName) { var _arguments = arguments, _this5 = this; var actionHandler = this._createActionByOption(optionName); return function() { actionHandler((0, _extend.extend)(_this5._createActionArgs(), _arguments)) } }, _createActionArgs: function() { var _this$_scrollers = this._scrollers, scrollerX = _this$_scrollers.horizontal, scrollerY = _this$_scrollers.vertical; var offset = this._getScrollOffset(); this._scrollOffset = { top: scrollerY && offset.top, left: scrollerX && offset.left }; return { event: this._eventForUserAction, scrollOffset: this._scrollOffset, reachedLeft: scrollerX && scrollerX._reachedMax(), reachedRight: scrollerX && scrollerX._reachedMin(), reachedTop: scrollerY && scrollerY._reachedMax(), reachedBottom: scrollerY && scrollerY._reachedMin() } }, _getScrollOffset: function() { return { top: -this.location().top, left: -this.location().left } }, _eventHandler: function(eventName) { var args = [].slice.call(arguments).slice(1); var deferreds = (0, _iterator.map)(this._scrollers, (function(scroller) { return scroller["_" + eventName + "Handler"].apply(scroller, args) })); return _deferred.when.apply(_renderer.default, deferreds).promise() }, location: function() { var location = (0, _translator.locate)(this._$content); location.top -= this._$container.scrollTop(); location.left -= this._$container.scrollLeft(); return location }, disabledChanged: function() { this._attachCursorHandlers() }, _attachCursorHandlers: function() { _events_engine.default.off(this._$element, ".".concat("dxSimulatedScrollableCursor")); if (!this.option("disabled") && this._isHoverMode()) { _events_engine.default.on(this._$element, (0, _index.addNamespace)("mouseenter", "dxSimulatedScrollableCursor"), this._cursorEnterHandler.bind(this)); _events_engine.default.on(this._$element, (0, _index.addNamespace)("mouseleave", "dxSimulatedScrollableCursor"), this._cursorLeaveHandler.bind(this)) } }, _isHoverMode: function() { return "onHover" === this.option("showScrollbar") }, _cursorEnterHandler: function(e) { e = e || {}; e.originalEvent = e.originalEvent || {}; if (activeScrollable || e.originalEvent._hoverHandled) { return } if (hoveredScrollable) { hoveredScrollable._cursorLeaveHandler() } hoveredScrollable = this; this._eventHandler("cursorEnter"); e.originalEvent._hoverHandled = true }, _cursorLeaveHandler: function(e) { if (hoveredScrollable !== this || activeScrollable === hoveredScrollable) { return } this._eventHandler("cursorLeave"); hoveredScrollable = null; this._refreshCursorState(e && e.relatedTarget) }, _refreshCursorState: function(target) { if (!this._isHoverMode() && (!target || activeScrollable)) { return } var $target = (0, _renderer.default)(target); var $scrollable = $target.closest(".".concat("dx-scrollable-simulated", ":not(.dx-state-disabled)")); var targetScrollable = $scrollable.length && $scrollable.data("dxScrollableStrategy"); if (hoveredScrollable && hoveredScrollable !== targetScrollable) { hoveredScrollable._cursorLeaveHandler() } if (targetScrollable) { targetScrollable._cursorEnterHandler() } }, update: function() { var _this6 = this; var result = this._eventHandler("update").done(this._updateAction); return (0, _deferred.when)(result, (0, _common.deferUpdate)((function() { var allowedDirections = _this6._allowedDirections(); (0, _common.deferRender)((function() { var touchDirection = allowedDirections.vertical ? "pan-x" : ""; touchDirection = allowedDirections.horizontal ? "pan-y" : touchDirection; touchDirection = allowedDirections.vertical && allowedDirections.horizontal ? "none" : touchDirection; _this6._$container.css("touchAction", touchDirection) })); return (0, _deferred.when)().promise() }))) }, _allowedDirections: function() { var bounceEnabled = this.option("bounceEnabled"); var verticalScroller = this._scrollers.vertical; var horizontalScroller = this._scrollers[HORIZONTAL]; return { vertical: verticalScroller && (verticalScroller._minOffset < 0 || bounceEnabled), horizontal: horizontalScroller && (horizontalScroller._minOffset < 0 || bounceEnabled) } }, _updateBounds: function() { this._scrollers[HORIZONTAL] && this._scrollers[HORIZONTAL]._updateBounds() }, _isHorizontalAndRtlEnabled: function() { return this.option("rtlEnabled") && "vertical" !== this.option("direction") }, updateRtlPosition: function(needInitializeRtlConfig) { if (needInitializeRtlConfig) { this._rtlConfig = { scrollRight: 0, clientWidth: this._$container.get(0).clientWidth, windowPixelRatio: this._getWindowDevicePixelRatio() } } this._updateBounds(); if (this._isHorizontalAndRtlEnabled()) { var scrollLeft = this._getMaxOffset().left - this._rtlConfig.scrollRight; if (scrollLeft <= 0) { scrollLeft = 0; this._rtlConfig.scrollRight = this._getMaxOffset().left } if (this._getScrollOffset().left !== scrollLeft) { this._rtlConfig.skipUpdating = true; this._component.scrollTo({ left: scrollLeft }); this._rtlConfig.skipUpdating = false } } }, _updateRtlConfig: function() { if (this._isHorizontalAndRtlEnabled() && !this._rtlConfig.skipUpdating) { var _this$_$container$get = this._$container.get(0), clientWidth = _this$_$container$get.clientWidth, scrollLeft = _this$_$container$get.scrollLeft; var windowPixelRatio = this._getWindowDevicePixelRatio(); if (this._rtlConfig.windowPixelRatio === windowPixelRatio && this._rtlConfig.clientWidth === clientWidth) { this._rtlConfig.scrollRight = this._getMaxOffset().left - scrollLeft } this._rtlConfig.clientWidth = clientWidth; this._rtlConfig.windowPixelRatio = windowPixelRatio } }, _getWindowDevicePixelRatio: function() { return (0, _window.hasWindow)() ? (0, _window.getWindow)().devicePixelRatio : 1 }, scrollBy: function(distance) { var verticalScroller = this._scrollers.vertical; var horizontalScroller = this._scrollers[HORIZONTAL]; if (verticalScroller) { distance.top = verticalScroller._boundLocation(distance.top + verticalScroller._location) - verticalScroller._location } if (horizontalScroller) { distance.left = horizontalScroller._boundLocation(distance.left + horizontalScroller._location) - horizontalScroller._location } this._prepareDirections(true); this._startAction(); this._eventHandler("scrollBy", { x: distance.left, y: distance.top }); this._endAction(); this._updateRtlConfig() }, validate: function(e) { if ((0, _index.isDxMouseWheelEvent)(e) && (0, _index.isCommandKeyPressed)(e)) { return false } if (this.option("disabled")) { return false } if (this.option("bounceEnabled")) { return true } return (0, _index.isDxMouseWheelEvent)(e) ? this._validateWheel(e) : this._validateMove(e) }, _validateWheel: function(e) { var _this7 = this; var scroller = this._scrollers[this._wheelDirection(e)]; var reachedMin = scroller._reachedMin(); var reachedMax = scroller._reachedMax(); var contentGreaterThanContainer = !reachedMin || !reachedMax; var locatedNotAtBound = !reachedMin && !reachedMax; var scrollFromMin = reachedMin && e.delta > 0; var scrollFromMax = reachedMax && e.delta < 0; var validated = contentGreaterThanContainer && (locatedNotAtBound || scrollFromMin || scrollFromMax); validated = validated || void 0 !== this._validateWheelTimer; if (validated) { clearTimeout(this._validateWheelTimer); this._validateWheelTimer = setTimeout((function() { _this7._validateWheelTimer = void 0 }), 500) } return validated }, _validateMove: function(e) { if (!this.option("scrollByContent") && !(0, _renderer.default)(e.target).closest(".".concat("dx-scrollable-scrollbar")).length) { return false } return this._allowedDirection() }, getDirection: function(e) { return (0, _index.isDxMouseWheelEvent)(e) ? this._wheelDirection(e) : this._allowedDirection() }, _wheelProp: function() { return this._wheelDirection() === HORIZONTAL ? "left" : "top" }, _wheelDirection: function(e) { switch (this.option("direction")) { case HORIZONTAL: return HORIZONTAL; case "vertical": return "vertical"; default: return e && e.shiftKey ? HORIZONTAL : "vertical" } }, dispose: function() { this._resetActive(); if (hoveredScrollable === this) { hoveredScrollable = null } this._eventHandler("dispose"); this._detachEventHandlers(); this._$element.removeClass("dx-scrollable-simulated"); this._eventForUserAction = null; clearTimeout(this._validateWheelTimer); clearTimeout(this._updateHandlerTimeout) }, _detachEventHandlers: function() { _events_engine.default.off(this._$element, ".".concat("dxSimulatedScrollableCursor")); _events_engine.default.off(this._$container, ".".concat("dxSimulatedScrollableKeyboard")) } }); exports.SimulatedStrategy = SimulatedStrategy }, 89043: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/scroll_view/ui.scrollbar.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _ready_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/ready_callbacks */ 24311)); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var SCROLLABLE_SCROLLBAR_ACTIVE_CLASS = "".concat("dx-scrollable-scrollbar", "-active"); var SCROLLBAR_VISIBLE_onScroll = "onScroll", SCROLLBAR_VISIBLE_onHover = "onHover", SCROLLBAR_VISIBLE_always = "always", SCROLLBAR_VISIBLE_never = "never"; var activeScrollbar = null; var Scrollbar = _ui.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { direction: null, visible: false, activeStateEnabled: false, visibilityMode: SCROLLBAR_VISIBLE_onScroll, containerSize: 0, contentSize: 0, expandable: true, scaleRatio: 1 }) }, _init: function() { this.callBase(); this._isHovered = false }, _initMarkup: function() { this._renderThumb(); this.callBase() }, _render: function() { this.callBase(); this._renderDirection(); this._update(); this._attachPointerDownHandler(); this.option("hoverStateEnabled", this._isHoverMode()); this.$element().toggleClass("dx-scrollbar-hoverable", this.option("hoverStateEnabled")) }, _renderThumb: function() { this._$thumb = (0, _renderer.default)("<div>").addClass("dx-scrollable-scroll"); (0, _renderer.default)("<div>").addClass("dx-scrollable-scroll-content").appendTo(this._$thumb); this.$element().addClass("dx-scrollable-scrollbar").append(this._$thumb) }, isThumb: function($element) { return !!this.$element().find($element).length }, _isHoverMode: function() { var visibilityMode = this.option("visibilityMode"); return (visibilityMode === SCROLLBAR_VISIBLE_onHover || visibilityMode === SCROLLBAR_VISIBLE_always) && this.option("expandable") }, _renderDirection: function() { var direction = this.option("direction"); this.$element().addClass("dx-scrollbar-" + direction); this._dimension = "horizontal" === direction ? "width" : "height"; this._prop = "horizontal" === direction ? "left" : "top" }, _attachPointerDownHandler: function() { _events_engine.default.on(this._$thumb, (0, _index.addNamespace)(_pointer.default.down, "dxScrollbar"), this.feedbackOn.bind(this)) }, feedbackOn: function() { this.$element().addClass(SCROLLABLE_SCROLLBAR_ACTIVE_CLASS); activeScrollbar = this }, feedbackOff: function() { this.$element().removeClass(SCROLLABLE_SCROLLBAR_ACTIVE_CLASS); activeScrollbar = null }, cursorEnter: function() { this._isHovered = true; if (this._needScrollbar()) { this.option("visible", true) } }, cursorLeave: function() { this._isHovered = false; this.option("visible", false) }, _renderDimensions: function() { this._$thumb.css({ width: this.option("width"), height: this.option("height") }) }, _toggleVisibility: function(visible) { if (this.option("visibilityMode") === SCROLLBAR_VISIBLE_onScroll) { this._$thumb.css("opacity") } visible = this._adjustVisibility(visible); this.option().visible = visible; this._$thumb.toggleClass("dx-state-invisible", !visible) }, _adjustVisibility: function(visible) { if (this._baseContainerToContentRatio && !this._needScrollbar()) { return false } switch (this.option("visibilityMode")) { case SCROLLBAR_VISIBLE_onScroll: break; case SCROLLBAR_VISIBLE_onHover: visible = visible || !!this._isHovered; break; case SCROLLBAR_VISIBLE_never: visible = false; break; case SCROLLBAR_VISIBLE_always: visible = true } return visible }, moveTo: function(location) { if (this._isHidden()) { return } if ((0, _type.isPlainObject)(location)) { location = location[this._prop] || 0 } var scrollBarLocation = {}; scrollBarLocation[this._prop] = this._calculateScrollBarPosition(location); (0, _translator.move)(this._$thumb, scrollBarLocation) }, _calculateScrollBarPosition: function(location) { return -location * this._thumbRatio }, _update: function() { var containerSize = Math.round(this.option("containerSize")); var contentSize = Math.round(this.option("contentSize")); var baseContainerSize = Math.round(this.option("baseContainerSize")); var baseContentSize = Math.round(this.option("baseContentSize")); if (isNaN(baseContainerSize)) { baseContainerSize = containerSize; baseContentSize = contentSize } this._baseContainerToContentRatio = baseContentSize ? baseContainerSize / baseContentSize : baseContainerSize; this._realContainerToContentRatio = contentSize ? containerSize / contentSize : containerSize; var thumbSize = Math.round(Math.max(Math.round(containerSize * this._realContainerToContentRatio), 15)); this._thumbRatio = (containerSize - thumbSize) / (this.option("scaleRatio") * (contentSize - containerSize)); this.option(this._dimension, thumbSize / this.option("scaleRatio")); this.$element().css("display", this._needScrollbar() ? "" : "none") }, _isHidden: function() { return this.option("visibilityMode") === SCROLLBAR_VISIBLE_never }, _needScrollbar: function() { return !this._isHidden() && this._baseContainerToContentRatio < 1 }, containerToContentRatio: function() { return this._realContainerToContentRatio }, _normalizeSize: function(size) { return (0, _type.isPlainObject)(size) ? size[this._dimension] || 0 : size }, _clean: function() { this.callBase(); if (this === activeScrollbar) { activeScrollbar = null } _events_engine.default.off(this._$thumb, ".dxScrollbar") }, _optionChanged: function(args) { if (this._isHidden()) { return } switch (args.name) { case "containerSize": case "contentSize": this.option()[args.name] = this._normalizeSize(args.value); this._update(); break; case "baseContentSize": case "baseContainerSize": this._update(); break; case "visibilityMode": case "direction": this._invalidate(); break; case "scaleRatio": this._update(); break; default: this.callBase.apply(this, arguments) } }, update: (0, _common.deferRenderer)((function() { this._adjustVisibility() && this.option("visible", true) })) }); _ready_callbacks.default.add((function() { _events_engine.default.subscribeGlobal(_dom_adapter.default.getDocument(), (0, _index.addNamespace)(_pointer.default.up, "dxScrollbar"), (function() { if (activeScrollbar) { activeScrollbar.feedbackOff() } })) })); var _default = Scrollbar; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 78665: /*!**************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/select_box.js ***! \**************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _element = __webpack_require__( /*! ../core/element */ 6415); var _errors = _interopRequireDefault(__webpack_require__( /*! ../core/errors */ 17381)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); var _message = _interopRequireDefault(__webpack_require__( /*! ../localization/message */ 28109)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./drop_down_editor/ui.drop_down_list */ 32468)); __webpack_require__( /*! ./list/modules/selection */ 20551); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var SelectBox = _ui.default.inherit({ _supportedKeys: function() { var that = this; var parent = this.callBase(); var clearSelectBox = function(e) { var isEditable = this._isEditable(); if (!isEditable) { if (this.option("showClearButton")) { e.preventDefault(); this.reset() } } else if (this._valueSubstituted()) { this._preventFiltering = true } this._savedTextRemoveEvent = e; this._preventSubstitution = true }; var searchIfNeeded = function() { if (that.option("searchEnabled") && that._valueSubstituted()) { that._searchHandler() } }; return (0, _extend.extend)({}, parent, { tab: function() { if (this.option("opened") && "instantly" === this.option("applyValueMode")) { this._resetCaretPosition(true) } parent.tab && parent.tab.apply(this, arguments); this._cancelSearchIfNeed() }, upArrow: function(e) { if (parent.upArrow.apply(this, arguments)) { if (!this.option("opened")) { this._setNextValue(e) } return true } }, downArrow: function(e) { if (parent.downArrow.apply(this, arguments)) { if (!this.option("opened")) { this._setNextValue(e) } return true } }, leftArrow: function() { searchIfNeeded(); parent.leftArrow && parent.leftArrow.apply(this, arguments) }, rightArrow: function() { searchIfNeeded(); parent.rightArrow && parent.rightArrow.apply(this, arguments) }, home: function() { searchIfNeeded(); parent.home && parent.home.apply(this, arguments) }, end: function() { searchIfNeeded(); parent.end && parent.end.apply(this, arguments) }, escape: function() { var result = parent.escape && parent.escape.apply(this, arguments); this._cancelEditing(); return null !== result && void 0 !== result ? result : true }, enter: function(e) { var isOpened = this.option("opened"); var inputText = this._input().val().trim(); var isCustomText = inputText && this._list && !this._list.option("focusedElement"); if (!inputText && (0, _type.isDefined)(this.option("value")) && this.option("allowClearing")) { this._saveValueChangeEvent(e); this.option({ selectedItem: null, value: null }); this.close() } else { if (this.option("acceptCustomValue")) { e.preventDefault(); if (isCustomText) { if (isOpened) { this._toggleOpenState() } this._valueChangeEventHandler(e) } return isOpened } if (parent.enter && parent.enter.apply(this, arguments)) { return isOpened } } }, space: function(e) { var isOpened = this.option("opened"); var isSearchEnabled = this.option("searchEnabled"); var acceptCustomValue = this.option("acceptCustomValue"); if (!isOpened || isSearchEnabled || acceptCustomValue) { return } e.preventDefault(); this._valueChangeEventHandler(e); return true }, backspace: clearSelectBox, del: clearSelectBox }) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { placeholder: _message.default.format("Select"), fieldTemplate: null, customItemCreateEvent: "change", valueChangeEvent: "change", acceptCustomValue: false, onCustomItemCreating: function(e) { if (!(0, _type.isDefined)(e.customItem)) { e.customItem = e.text } }, showSelectionControls: false, allowClearing: true, tooltipEnabled: false, openOnFieldClick: true, showDropDownButton: true, displayCustomValue: false, useHiddenSubmitElement: true }) }, _init: function() { this.callBase(); this._initCustomItemCreatingAction() }, _initMarkup: function() { this.$element().addClass("dx-selectbox"); this._renderTooltip(); this.callBase(); this._$container.addClass("dx-selectbox-container") }, _createPopup: function() { this.callBase(); this._popup.$element().addClass("dx-selectbox-popup"); this._popup.$overlayContent().attr("tabindex", -1) }, _popupWrapperClass: function() { return this.callBase() + " dx-selectbox-popup-wrapper" }, _setDeprecatedOptions: function() { this.callBase(); (0, _extend.extend)(this._deprecatedOptions, { valueChangeEvent: { since: "22.2", alias: "customItemCreateEvent" } }) }, _cancelEditing: function() { if (!this.option("searchEnabled") && this._list) { this._focusListElement(null); this._updateField(this.option("selectedItem")) } }, _renderOpenedState: function() { this.callBase(); if (this.option("opened")) { this._scrollToSelectedItem(); this._focusSelectedElement() } }, _focusSelectedElement: function() { var _items$indexOf; var searchValue = this._searchValue(); if (!searchValue) { this._focusListElement(null); return } var _this$option = this.option(), items = _this$option.items, selectedItem = _this$option.selectedItem; var $listItems = this._list._itemElements(); var index = null !== (_items$indexOf = null === items || void 0 === items ? void 0 : items.indexOf(selectedItem)) && void 0 !== _items$indexOf ? _items$indexOf : -1; var focusedElement = -1 !== index && !this._isCustomItemSelected() ? $listItems.eq(index) : null; this._focusListElement(focusedElement) }, _renderFocusedElement: function() { if (!this._list) { return } var searchValue = this._searchValue(); if (!searchValue || this.option("acceptCustomValue")) { this._focusListElement(null); return } var $listItems = this._list._itemElements(); var focusedElement = $listItems.not(".dx-state-disabled").eq(0); this._focusListElement(focusedElement) }, _focusListElement: function(element) { this._preventInputValueRender = true; this._list.option("focusedElement", (0, _element.getPublicElement)(element)); delete this._preventInputValueRender }, _scrollToSelectedItem: function() { this._list && this._list.scrollToItem(this._list.option("selectedItem")) }, _listContentReadyHandler: function() { this.callBase(); var isPaginate = this._dataController.paginate(); if (isPaginate && this._needPopupRepaint()) { return } this._scrollToSelectedItem() }, _renderValue: function() { this._renderInputValue(); this._setSubmitValue(); return (new _deferred.Deferred).resolve() }, _renderInputValue: function() { return this.callBase().always(function() { this._renderInputValueAsync() }.bind(this)) }, _renderInputValueAsync: function() { this._renderTooltip(); this._renderInputValueImpl().always(function() { this._refreshSelected() }.bind(this)) }, _renderInputValueImpl: function() { this._renderField(); return (new _deferred.Deferred).resolve() }, _setNextItem: function(step) { var item = this._calcNextItem(step); var value = this._valueGetter(item); this._setValue(value) }, _setNextValue: function(e) { var dataSourceIsLoaded = this._dataController.isLoaded() ? (new _deferred.Deferred).resolve() : this._dataController.load(); dataSourceIsLoaded.done(function() { var selectedIndex = this._getSelectedIndex(); var hasPages = this._dataController.pageSize(); var isLastPage = this._dataController.isLastPage(); var isLastItem = selectedIndex === this._items().length - 1; this._saveValueChangeEvent(e); var step = "downArrow" === (0, _index.normalizeKeyName)(e) ? 1 : -1; if (hasPages && !isLastPage && isLastItem && step > 0) { if (!this._popup) { this._createPopup() } if (!this._dataController.isLoading()) { this._list._loadNextPage().done(this._setNextItem.bind(this, step)) } } else { this._setNextItem(step) } }.bind(this)) }, _setSelectedItem: function(item) { var isUnknownItem = !this._isCustomValueAllowed() && void 0 === item; this.callBase(isUnknownItem ? null : item); if (!isUnknownItem && (!this._isEditable() || this._isCustomItemSelected())) { this._setListOption("selectedItem", this.option("selectedItem")) } }, _isCustomValueAllowed: function() { return this.option("acceptCustomValue") || this.callBase() }, _displayValue: function(item) { item = !(0, _type.isDefined)(item) && this._isCustomValueAllowed() ? this.option("value") : item; return this.callBase(item) }, _listConfig: function() { var result = (0, _extend.extend)(this.callBase(), { pageLoadMode: "scrollBottom", onSelectionChanged: this._getSelectionChangeHandler(), selectedItem: this.option("selectedItem"), onFocusedItemChanged: this._listFocusedItemChangeHandler.bind(this) }); if (this.option("showSelectionControls")) { (0, _extend.extend)(result, { showSelectionControls: true, selectByClick: true }) } return result }, _listFocusedItemChangeHandler: function(e) { if (this._preventInputValueRender) { return } var list = e.component; var focusedElement = (0, _renderer.default)(list.option("focusedElement")); var focusedItem = list._getItemData(focusedElement); this._updateField(focusedItem) }, _updateField: function(item) { var fieldTemplate = this._getTemplateByOption("fieldTemplate"); if (!(fieldTemplate && this.option("fieldTemplate"))) { var text = this._displayGetter(item); this.option("text", text); this._renderDisplayText(text); return } this._renderField() }, _getSelectionChangeHandler: function() { return this.option("showSelectionControls") ? this._selectionChangeHandler.bind(this) : _common.noop }, _selectionChangeHandler: function(e) { (0, _iterator.each)(e.addedItems || [], function(_, addedItem) { this._setValue(this._valueGetter(addedItem)) }.bind(this)) }, _getActualSearchValue: function() { return this._dataController.searchValue() }, _toggleOpenState: function(isVisible) { if (this.option("disabled")) { return } isVisible = arguments.length ? isVisible : !this.option("opened"); if (!isVisible && !this._shouldClearFilter()) { this._restoreInputText(true) } if (this._wasSearch() && isVisible) { this._wasSearch(false); var showDataImmediately = this.option("showDataBeforeSearch") || this._isMinSearchLengthExceeded(); if (showDataImmediately && this._dataController.getDataSource()) { if (this._searchTimer) { return } var searchValue = this._getActualSearchValue(); searchValue && this._wasSearch(true); this._filterDataSource(searchValue || null) } else { this._setListOption("items", []) } } if (isVisible) { this._scrollToSelectedItem() } this.callBase(isVisible) }, _renderTooltip: function() { if (this.option("tooltipEnabled")) { this.$element().attr("title", this.option("displayValue")) } }, _renderDimensions: function() { this.callBase(); this._updatePopupWidth(); this._updateListDimensions() }, _isValueEqualInputText: function() { var initialSelectedItem = this.option("selectedItem"); if (null === initialSelectedItem) { return false } var value = this._displayGetter(initialSelectedItem); var displayValue = value ? String(value) : ""; var inputText = this._searchValue(); return displayValue === inputText }, _popupHidingHandler: function() { if (this._isValueEqualInputText()) { this._cancelEditing() } this.callBase() }, _popupHiddenHandler: function() { this.callBase(); if (this._shouldCancelSearch()) { this._wasSearch(false); this._searchCanceled(); this._shouldCancelSearch(false) } }, _restoreInputText: function(saveEditingValue) { if (this.option("readOnly")) { return } this._loadItemDeferred && this._loadItemDeferred.always(function() { var _this$option2 = this.option(), acceptCustomValue = _this$option2.acceptCustomValue, text = _this$option2.text, initialSelectedItem = _this$option2.selectedItem; if (acceptCustomValue) { if (!saveEditingValue && !this._isValueChanging) { this._updateField(null !== initialSelectedItem && void 0 !== initialSelectedItem ? initialSelectedItem : this._createCustomItem(text)); this._clearFilter() } return } if (this.option("searchEnabled")) { if (!this._searchValue() && this.option("allowClearing")) { this._clearTextValue(); return } } if (this._isValueEqualInputText()) { return } this._renderInputValue().always(function(selectedItem) { var newSelectedItem = (0, _common.ensureDefined)(selectedItem, initialSelectedItem); this._setSelectedItem(newSelectedItem); this._updateField(newSelectedItem); this._clearFilter() }.bind(this)) }.bind(this)) }, _valueChangeEventIncludesBlur: function() { var valueChangeEvent = this.option(this._getValueChangeEventOptionName()); return valueChangeEvent.includes("blur") }, _isPreventedFocusOutEvent: function(e) { return this._preventNestedFocusEvent(e) || this._valueChangeEventIncludesBlur() }, _focusOutHandler: function(e) { if (!this._isPreventedFocusOutEvent(e)) { var isOverlayTarget = this._isOverlayNestedTarget(e.relatedTarget); if (!isOverlayTarget) { this._restoreInputText(); this._clearSearchTimer() } this._cancelSearchIfNeed(e) } e.target = this._input().get(0); this.callBase(e) }, _cancelSearchIfNeed: function(e) { var _this$option3 = this.option(), searchEnabled = _this$option3.searchEnabled; var isOverlayTarget = this._isOverlayNestedTarget(null === e || void 0 === e ? void 0 : e.relatedTarget); var shouldCancelSearch = this._wasSearch() && searchEnabled && !isOverlayTarget; if (shouldCancelSearch) { var _this$_popup; var isPopupVisible = null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup._hideAnimationProcessing; this._clearSearchTimer(); if (isPopupVisible) { this._shouldCancelSearch(true) } else { this._wasSearch(false); this._searchCanceled() } } }, _shouldCancelSearch: function(value) { if (!arguments.length) { return this._shouldCancelSearchValue } this._shouldCancelSearchValue = value }, _isOverlayNestedTarget: function(target) { return !!(0, _renderer.default)(target).closest(".".concat("dx-selectbox-popup-wrapper")).length }, _clearTextValue: function() { var selectedItem = this.option("selectedItem"); var selectedItemText = this._displayGetter(selectedItem); var shouldRestoreValue = selectedItem && "" !== selectedItemText; if (shouldRestoreValue) { if (this._savedTextRemoveEvent) { this._saveValueChangeEvent(this._savedTextRemoveEvent) } this.option("value", null) } delete this._savedTextRemoveEvent }, _shouldOpenPopup: function() { return this._needPassDataSourceToList() && this._wasSearch() }, _isFocused: function() { var activeElement = _dom_adapter.default.getActiveElement(this.element()); return this.callBase() && (0, _renderer.default)(activeElement).closest(this._input()).length > 0 }, _getValueChangeEventOptionName: function() { return "customItemCreateEvent" }, _renderValueChangeEvent: function() { if (this._isEditable()) { this.callBase() } }, _fieldRenderData: function() { var $listFocused = this._list && this.option("opened") && (0, _renderer.default)(this._list.option("focusedElement")); if ($listFocused && $listFocused.length) { return this._list._getItemData($listFocused) } return this.option("selectedItem") }, _isSelectedValue: function(value) { return this._isValueEquals(value, this.option("value")) }, _shouldCloseOnItemClick: function() { return !(this.option("showSelectionControls") && "single" !== this.option("selectionMode")) }, _listItemClickHandler: function(e) { var previousValue = this._getCurrentValue(); this._focusListElement((0, _renderer.default)(e.itemElement)); this._saveValueChangeEvent(e.event); this._completeSelection(this._valueGetter(e.itemData)); if (this._shouldCloseOnItemClick()) { this.option("opened", false) } if (this.option("searchEnabled") && previousValue === this._valueGetter(e.itemData)) { this._updateField(e.itemData) } if (this._shouldClearFilter()) { this._cancelSearchIfNeed() } }, _shouldClearFilter: function() { return this._wasSearch() }, _completeSelection: function(value) { this._setValue(value) }, _loadItem: function(value, cache) { var that = this; var deferred = new _deferred.Deferred; this.callBase(value, cache).done(function(item) { deferred.resolve(item) }.bind(this)).fail(function(args) { if (null !== args && void 0 !== args && args.shouldSkipCallback) { return } var selectedItem = that.option("selectedItem"); if (that.option("acceptCustomValue") && value === that._valueGetter(selectedItem)) { deferred.resolve(selectedItem) } else { deferred.reject() } }.bind(this)); return deferred.promise() }, _loadInputValue: function(value, callback) { this._loadItemDeferred = this._loadItem(value).always(callback); return this._loadItemDeferred }, _isCustomItemSelected: function() { var selectedItem = this.option("selectedItem"); var searchValue = this._searchValue(); var selectedItemText = this._displayGetter(selectedItem); return !selectedItemText || searchValue !== selectedItemText.toString() }, _valueChangeEventHandler: function(e) { if (this.option("acceptCustomValue") && this._isCustomItemSelected() && !this._isValueChanging) { this._isValueChanging = true; this._customItemAddedHandler(e) } }, _initCustomItemCreatingAction: function() { this._customItemCreatingAction = this._createActionByOption("onCustomItemCreating") }, _createCustomItem: function(text) { var params = { text: text }; var actionResult = this._customItemCreatingAction(params); var item = (0, _common.ensureDefined)(actionResult, params.customItem); if ((0, _type.isDefined)(actionResult)) { _errors.default.log("W0015", "onCustomItemCreating", "customItem") } return item }, _customItemAddedHandler: function(e) { var searchValue = this._searchValue(); var item = this._createCustomItem(searchValue); this._saveValueChangeEvent(e); if (void 0 === item) { this._renderValue(); throw _errors.default.Error("E0121") } if ((0, _type.isPromise)(item)) { (0, _deferred.fromPromise)(item).done(this._setCustomItem.bind(this)).fail(this._setCustomItem.bind(this, null)) } else { this._setCustomItem(item) } }, _setCustomItem: function(item) { if (this._disposed) { return } item = item || null; this.option("selectedItem", item); this._cancelSearchIfNeed(); this._setValue(this._valueGetter(item)); this._renderDisplayText(this._displayGetter(item)); this._isValueChanging = false }, _clearValueHandler: function(e) { this._preventFiltering = true; this.callBase(e); this._searchCanceled(); return false }, _wasSearch: function(value) { if (!arguments.length) { return !!this._wasSearchValue } this._wasSearchValue = value }, _searchHandler: function() { if (this._preventFiltering) { delete this._preventFiltering; return } if (this._needPassDataSourceToList()) { this._wasSearch(true) } this.callBase(arguments) }, _dataSourceFiltered: function(searchValue) { this.callBase(); if (null !== searchValue) { this._renderInputSubstitution(); this._renderFocusedElement() } }, _valueSubstituted: function() { var input = this._input().get(0); var currentSearchLength = this._searchValue().length; var isAllSelected = 0 === input.selectionStart && input.selectionEnd === currentSearchLength; var inputHasSelection = input.selectionStart !== input.selectionEnd; var isLastSymbolSelected = currentSearchLength === input.selectionEnd; return this._wasSearch() && inputHasSelection && !isAllSelected && isLastSymbolSelected && this._shouldSubstitutionBeRendered() }, _shouldSubstitutionBeRendered: function() { return !this._preventSubstitution && this.option("searchEnabled") && !this.option("acceptCustomValue") && "startswith" === this.option("searchMode") }, _renderInputSubstitution: function() { if (!this._shouldSubstitutionBeRendered()) { delete this._preventSubstitution; return } var item = this._list && this._getPlainItems(this._list.option("items"))[0]; if (!item) { return } var $input = this._input(); var valueLength = $input.val().length; if (0 === valueLength) { return } var inputElement = $input.get(0); var displayValue = this._displayGetter(item).toString(); inputElement.value = displayValue; this._caret({ start: valueLength, end: displayValue.length }) }, _dispose: function() { this._renderInputValueAsync = _common.noop; delete this._loadItemDeferred; this.callBase() }, _optionChanged: function(args) { switch (args.name) { case "customItemCreateEvent": this._refreshValueChangeEvent(); this._refreshFocusEvent(); this._refreshEvents(); break; case "onCustomItemCreating": this._initCustomItemCreatingAction(); break; case "tooltipEnabled": this._renderTooltip(); break; case "displayCustomValue": case "acceptCustomValue": case "showSelectionControls": this._invalidate(); break; case "allowClearing": break; default: this.callBase(args) } } }); (0, _component_registrator.default)("dxSelectBox", SelectBox); var _default = SelectBox; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 68198: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/selection/selection.js ***! \***********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _selectionStrategy = _interopRequireDefault(__webpack_require__( /*! ./selection.strategy.deferred */ 83014)); var _selectionStrategy2 = _interopRequireDefault(__webpack_require__( /*! ./selection.strategy.standard */ 78600)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var Selection = function() { function Selection(options) { this.options = (0, _extend.extend)(this._getDefaultOptions(), options, { selectedItemKeys: options.selectedKeys || [] }); this._selectionStrategy = this.options.deferred ? new _selectionStrategy.default(this.options) : new _selectionStrategy2.default(this.options); this._focusedItemIndex = -1; if (!this.options.equalByReference) { this._selectionStrategy.updateSelectedItemKeyHash(this.options.selectedItemKeys) } } var _proto = Selection.prototype; _proto._getDefaultOptions = function() { return { allowNullValue: false, deferred: false, equalByReference: false, mode: "multiple", selectedItems: [], selectionFilter: [], maxFilterLengthInRequest: 0, onSelectionChanged: _common.noop, key: _common.noop, keyOf: function(item) { return item }, load: function() { return (new _deferred.Deferred).resolve([]) }, totalCount: function() { return -1 }, isSelectableItem: function() { return true }, isItemSelected: function() { return false }, getItemData: function(item) { return item }, dataFields: _common.noop, filter: _common.noop } }; _proto.validate = function() { this._selectionStrategy.validate() }; _proto.getSelectedItemKeys = function() { return this._selectionStrategy.getSelectedItemKeys() }; _proto.getSelectedItems = function() { return this._selectionStrategy.getSelectedItems() }; _proto.selectionFilter = function(value) { if (void 0 === value) { return this.options.selectionFilter } var filterIsChanged = this.options.selectionFilter !== value && JSON.stringify(this.options.selectionFilter) !== JSON.stringify(value); this.options.selectionFilter = value; filterIsChanged && this.onSelectionChanged() }; _proto.setSelection = function(keys, updatedKeys) { return this.selectedItemKeys(keys, false, false, false, updatedKeys) }; _proto.select = function(keys) { return this.selectedItemKeys(keys, true) }; _proto.deselect = function(keys) { return this.selectedItemKeys(keys, true, true) }; _proto.selectedItemKeys = function(keys, preserve, isDeselect, isSelectAll, updatedKeys) { var _keys; keys = null !== (_keys = keys) && void 0 !== _keys ? _keys : []; keys = Array.isArray(keys) ? keys : [keys]; this.validate(); return this._selectionStrategy.selectedItemKeys(keys, preserve, isDeselect, isSelectAll, updatedKeys) }; _proto.clearSelection = function() { return this.selectedItemKeys([]) }; _proto._addSelectedItem = function(itemData, key) { this._selectionStrategy.addSelectedItem(key, itemData) }; _proto._removeSelectedItem = function(key) { this._selectionStrategy.removeSelectedItem(key) }; _proto._setSelectedItems = function(keys, items) { this._selectionStrategy.setSelectedItems(keys, items) }; _proto.onSelectionChanged = function() { this._selectionStrategy.onSelectionChanged() }; _proto.changeItemSelection = function(itemIndex, keys, setFocusOnly) { var _this$options$allowLo, _this$options, _this = this; var isSelectedItemsChanged; var items = this.options.plainItems(); var item = items[itemIndex]; var deferred; var allowLoadByRange = null === (_this$options$allowLo = (_this$options = this.options).allowLoadByRange) || void 0 === _this$options$allowLo ? void 0 : _this$options$allowLo.call(_this$options); var indexOffset; var focusedItemNotInLoadedRange = false; var shiftFocusedItemNotInLoadedRange = false; var itemIsNotInLoadedRange = function(index) { return index >= 0 && !items.filter((function(it) { return it.loadIndex === index })).length }; if (allowLoadByRange && (0, _type.isDefined)(item)) { indexOffset = item.loadIndex - itemIndex; itemIndex = item.loadIndex; focusedItemNotInLoadedRange = itemIsNotInLoadedRange(this._focusedItemIndex); if ((0, _type.isDefined)(this._shiftFocusedItemIndex)) { shiftFocusedItemNotInLoadedRange = itemIsNotInLoadedRange(this._shiftFocusedItemIndex) } } if (!this.isSelectable() || !this.isDataItem(item)) { return false } var itemData = this.options.getItemData(item); var itemKey = this.options.keyOf(itemData); keys = keys || {}; if (keys.shift && "multiple" === this.options.mode && this._focusedItemIndex >= 0) { if (focusedItemNotInLoadedRange || shiftFocusedItemNotInLoadedRange) { isSelectedItemsChanged = itemIndex !== this._shiftFocusedItemIndex || this._focusedItemIndex !== this._shiftFocusedItemIndex; if (isSelectedItemsChanged) { deferred = this.changeItemSelectionWhenShiftKeyInVirtualPaging(itemIndex) } } else { isSelectedItemsChanged = this.changeItemSelectionWhenShiftKeyPressed(itemIndex, items, indexOffset) } } else if (keys.control) { this._resetItemSelectionWhenShiftKeyPressed(); if (!setFocusOnly) { var isSelected = this._selectionStrategy.isItemDataSelected(itemData); if ("single" === this.options.mode) { this.clearSelectedItems() } if (isSelected) { this._removeSelectedItem(itemKey) } else { this._addSelectedItem(itemData, itemKey) } } isSelectedItemsChanged = true } else { this._resetItemSelectionWhenShiftKeyPressed(); var isKeysEqual = this._selectionStrategy.equalKeys(this.options.selectedItemKeys[0], itemKey); if (1 !== this.options.selectedItemKeys.length || !isKeysEqual) { this._setSelectedItems([itemKey], [itemData]); isSelectedItemsChanged = true } } if (isSelectedItemsChanged) { (0, _deferred.when)(deferred).done((function() { _this._focusedItemIndex = itemIndex; !setFocusOnly && _this.onSelectionChanged() })); return true } }; _proto.isDataItem = function(item) { return this.options.isSelectableItem(item) }; _proto.isSelectable = function() { return "single" === this.options.mode || "multiple" === this.options.mode }; _proto.isItemDataSelected = function(data) { return this._selectionStrategy.isItemDataSelected(data, { checkPending: true }) }; _proto.isItemSelected = function(arg, options) { return this._selectionStrategy.isItemKeySelected(arg, options) }; _proto._resetItemSelectionWhenShiftKeyPressed = function() { delete this._shiftFocusedItemIndex }; _proto._resetFocusedItemIndex = function() { this._focusedItemIndex = -1 }; _proto.changeItemSelectionWhenShiftKeyInVirtualPaging = function(loadIndex) { var _this2 = this; var loadOptions = this.options.getLoadOptions(loadIndex, this._focusedItemIndex, this._shiftFocusedItemIndex); var deferred = new _deferred.Deferred; var indexOffset = loadOptions.skip; this.options.load(loadOptions).done((function(items) { _this2.changeItemSelectionWhenShiftKeyPressed(loadIndex, items, indexOffset); deferred.resolve() })); return deferred.promise() }; _proto.changeItemSelectionWhenShiftKeyPressed = function(itemIndex, items, indexOffset) { var isSelectedItemsChanged = false; var itemIndexStep; var indexOffsetDefined = (0, _type.isDefined)(indexOffset); var index = indexOffsetDefined ? this._focusedItemIndex - indexOffset : this._focusedItemIndex; var keyOf = this.options.keyOf; var focusedItem = items[index]; var focusedData = this.options.getItemData(focusedItem); var focusedKey = keyOf(focusedData); var isFocusedItemSelected = focusedItem && this.isItemDataSelected(focusedData); if (!(0, _type.isDefined)(this._shiftFocusedItemIndex)) { this._shiftFocusedItemIndex = this._focusedItemIndex } var data; var itemKey; var startIndex; var endIndex; if (this._shiftFocusedItemIndex !== this._focusedItemIndex) { itemIndexStep = this._focusedItemIndex < this._shiftFocusedItemIndex ? 1 : -1; startIndex = indexOffsetDefined ? this._focusedItemIndex - indexOffset : this._focusedItemIndex; endIndex = indexOffsetDefined ? this._shiftFocusedItemIndex - indexOffset : this._shiftFocusedItemIndex; for (index = startIndex; index !== endIndex; index += itemIndexStep) { if (indexOffsetDefined || this.isDataItem(items[index])) { itemKey = keyOf(this.options.getItemData(items[index])); this._removeSelectedItem(itemKey); isSelectedItemsChanged = true } } } if (itemIndex !== this._shiftFocusedItemIndex) { itemIndexStep = itemIndex < this._shiftFocusedItemIndex ? 1 : -1; startIndex = indexOffsetDefined ? itemIndex - indexOffset : itemIndex; endIndex = indexOffsetDefined ? this._shiftFocusedItemIndex - indexOffset : this._shiftFocusedItemIndex; for (index = startIndex; index !== endIndex; index += itemIndexStep) { if (indexOffsetDefined || this.isDataItem(items[index])) { data = this.options.getItemData(items[index]); itemKey = keyOf(data); this._addSelectedItem(data, itemKey); isSelectedItemsChanged = true } } } if ((indexOffsetDefined || this.isDataItem(focusedItem)) && !isFocusedItemSelected) { this._addSelectedItem(focusedData, focusedKey); isSelectedItemsChanged = true } return isSelectedItemsChanged }; _proto.clearSelectedItems = function() { this._setSelectedItems([], []) }; _proto.selectAll = function(isOnePage) { this._resetFocusedItemIndex(); if (isOnePage) { return this._onePageSelectAll(false) } else { return this.selectedItemKeys([], true, false, true) } }; _proto.deselectAll = function(isOnePage) { this._resetFocusedItemIndex(); if (isOnePage) { return this._onePageSelectAll(true) } else { return this.selectedItemKeys([], true, true, true) } }; _proto._onePageSelectAll = function(isDeselect) { var items = this._selectionStrategy.getSelectableItems(this.options.plainItems()); for (var i = 0; i < items.length; i++) { var item = items[i]; if (this.isDataItem(item)) { var itemData = this.options.getItemData(item); var itemKey = this.options.keyOf(itemData); var isSelected = this.isItemSelected(itemKey); if (!isSelected && !isDeselect) { this._addSelectedItem(itemData, itemKey) } if (isSelected && isDeselect) { this._removeSelectedItem(itemKey) } } } this.onSelectionChanged(); return (new _deferred.Deferred).resolve() }; _proto.getSelectAllState = function(visibleOnly) { return this._selectionStrategy.getSelectAllState(visibleOnly) }; _proto.loadSelectedItemsWithFilter = function() { return this._selectionStrategy.loadSelectedItemsWithFilter() }; return Selection }(); exports.default = Selection; module.exports = exports.default; module.exports.default = exports.default }, 83014: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/selection/selection.strategy.deferred.js ***! \*****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _selection = _interopRequireDefault(__webpack_require__( /*! ./selection.strategy */ 34344)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _query = _interopRequireDefault(__webpack_require__( /*! ../../data/query */ 96687)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DeferredStrategy = function(_SelectionStrategy) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DeferredStrategy, _SelectionStrategy); function DeferredStrategy() { return _SelectionStrategy.apply(this, arguments) || this } var _proto = DeferredStrategy.prototype; _proto.getSelectedItems = function() { return this._loadFilteredData(this.options.selectionFilter) }; _proto.getSelectedItemKeys = function() { var d = new _deferred.Deferred; var that = this; var key = this.options.key(); var select = (0, _type.isString)(key) ? [key] : key; this._loadFilteredData(this.options.selectionFilter, null, select).done((function(items) { var keys = items.map((function(item) { return that.options.keyOf(item) })); d.resolve(keys) })).fail(d.reject); return d.promise() }; _proto.selectedItemKeys = function(keys, preserve, isDeselect, isSelectAll) { if (isSelectAll) { var filter = this.options.filter(); var needResetSelectionFilter = !filter || JSON.stringify(filter) === JSON.stringify(this.options.selectionFilter) && isDeselect; if (needResetSelectionFilter) { this._setOption("selectionFilter", isDeselect ? [] : null) } else { this._addSelectionFilter(isDeselect, filter, isSelectAll) } } else { if (!preserve) { this._setOption("selectionFilter", []) } for (var i = 0; i < keys.length; i++) { if (isDeselect) { this.removeSelectedItem(keys[i]) } else { this.addSelectedItem(keys[i], isSelectAll, !preserve) } } } this.onSelectionChanged(); return (new _deferred.Deferred).resolve() }; _proto.setSelectedItems = function(keys) { this._setOption("selectionFilter", null); for (var i = 0; i < keys.length; i++) { this.addSelectedItem(keys[i]) } }; _proto.isItemDataSelected = function(itemData) { return this.isItemKeySelected(itemData) }; _proto.isItemKeySelected = function(itemData) { var selectionFilter = this.options.selectionFilter; if (!selectionFilter) { return true } return !!(0, _query.default)([itemData]).filter(selectionFilter).toArray().length }; _proto._getKeyExpr = function() { var keyField = this.options.key(); if (Array.isArray(keyField) && 1 === keyField.length) { return keyField[0] } return keyField }; _proto._normalizeKey = function(key) { var keyExpr = this.options.key(); if (Array.isArray(keyExpr) && 1 === keyExpr.length) { return key[keyExpr[0]] } return key }; _proto._getFilterByKey = function(key) { var keyField = this._getKeyExpr(); var filter = [keyField, "=", this._normalizeKey(key)]; if (Array.isArray(keyField)) { filter = []; for (var i = 0; i < keyField.length; i++) { filter.push([keyField[i], "=", key[keyField[i]]]); if (i !== keyField.length - 1) { filter.push("and") } } } return filter }; _proto.addSelectedItem = function(key, isSelectAll, skipFilter) { var filter = this._getFilterByKey(key); this._addSelectionFilter(false, filter, isSelectAll, skipFilter) }; _proto.removeSelectedItem = function(key) { var filter = this._getFilterByKey(key); this._addSelectionFilter(true, filter) }; _proto.validate = function() { var key = this.options.key; if (key && void 0 === key()) { throw _ui.default.Error("E1042", "Deferred selection") } }; _proto._findSubFilter = function(selectionFilter, filter) { if (!selectionFilter) { return -1 } var filterString = JSON.stringify(filter); for (var index = 0; index < selectionFilter.length; index++) { var subFilter = selectionFilter[index]; if (subFilter && JSON.stringify(subFilter) === filterString) { return index } } return -1 }; _proto._isLastSubFilter = function(selectionFilter, filter) { if (selectionFilter && filter) { return this._findSubFilter(selectionFilter, filter) === selectionFilter.length - 1 || 0 === this._findSubFilter([selectionFilter], filter) } return false }; _proto._addFilterOperator = function(selectionFilter, filterOperator) { if (selectionFilter.length > 1 && (0, _type.isString)(selectionFilter[1]) && selectionFilter[1] !== filterOperator) { selectionFilter = [selectionFilter] } if (selectionFilter.length) { selectionFilter.push(filterOperator) } return selectionFilter }; _proto._denormalizeFilter = function(filter) { if (filter && (0, _type.isString)(filter[0])) { filter = [filter] } return filter }; _proto._isOnlyNegativeFiltersLeft = function(filters) { return filters.every((function(filterItem, i) { if (i % 2 === 0) { return Array.isArray(filterItem) && "!" === filterItem[0] } else { return "and" === filterItem } })) }; _proto._addSelectionFilter = function(isDeselect, filter, isSelectAll, skipFilter) { var _selectionFilter; var currentFilter = isDeselect ? ["!", filter] : filter; var currentOperation = isDeselect ? "and" : "or"; var needAddFilter = true; var selectionFilter = this.options.selectionFilter || []; selectionFilter = this._denormalizeFilter(selectionFilter); if (null !== (_selectionFilter = selectionFilter) && void 0 !== _selectionFilter && _selectionFilter.length && !skipFilter) { var removedIndex = this._removeSameFilter(selectionFilter, filter, isDeselect, isSelectAll); var filterIndex = this._removeSameFilter(selectionFilter, filter, !isDeselect); var shouldCleanFilter = isDeselect && (-1 !== removedIndex || -1 !== filterIndex) && this._isOnlyNegativeFiltersLeft(selectionFilter); if (shouldCleanFilter) { selectionFilter = [] } var isKeyOperatorsAfterRemoved = this._isKeyFilter(filter) && this._hasKeyFiltersOnlyStartingFromIndex(selectionFilter, filterIndex); needAddFilter = filter.length && !isKeyOperatorsAfterRemoved } if (needAddFilter) { selectionFilter = this._addFilterOperator(selectionFilter, currentOperation); selectionFilter.push(currentFilter) } selectionFilter = this._normalizeFilter(selectionFilter); this._setOption("selectionFilter", !isDeselect && !selectionFilter.length ? null : selectionFilter) }; _proto._normalizeFilter = function(filter) { if (filter && 1 === filter.length) { filter = filter[0] } return filter }; _proto._removeFilterByIndex = function(filter, filterIndex, isSelectAll) { var operation = filter[1]; if (filterIndex > 0) { filter.splice(filterIndex - 1, 2) } else { filter.splice(filterIndex, 2) } if (isSelectAll && "and" === operation) { filter.splice(0, filter.length) } }; _proto._isSimpleKeyFilter = function(filter, key) { return 3 === filter.length && filter[0] === key && "=" === filter[1] }; _proto._isKeyFilter = function(filter) { if (2 === filter.length && "!" === filter[0]) { return this._isKeyFilter(filter[1]) } var keyField = this._getKeyExpr(); if (Array.isArray(keyField)) { if (filter.length !== 2 * keyField.length - 1) { return false } for (var i = 0; i < keyField.length; i++) { if (i > 0 && "and" !== filter[2 * i - 1]) { return false } if (!this._isSimpleKeyFilter(filter[2 * i], keyField[i])) { return false } } return true } return this._isSimpleKeyFilter(filter, keyField) }; _proto._hasKeyFiltersOnlyStartingFromIndex = function(selectionFilter, filterIndex) { if (filterIndex >= 0) { for (var i = filterIndex; i < selectionFilter.length; i++) { if ("string" !== typeof selectionFilter[i] && !this._isKeyFilter(selectionFilter[i])) { return false } } return true } return false }; _proto._removeSameFilter = function(selectionFilter, filter, inverted, isSelectAll) { filter = inverted ? ["!", filter] : filter; if (JSON.stringify(filter) === JSON.stringify(selectionFilter)) { selectionFilter.splice(0, selectionFilter.length); return 0 } var filterIndex = this._findSubFilter(selectionFilter, filter); if (filterIndex >= 0) { this._removeFilterByIndex(selectionFilter, filterIndex, isSelectAll); return filterIndex } else { for (var i = 0; i < selectionFilter.length; i++) { if (Array.isArray(selectionFilter[i]) && selectionFilter[i].length > 2) { var _filterIndex = this._removeSameFilter(selectionFilter[i], filter, false, isSelectAll); if (_filterIndex >= 0) { if (!selectionFilter[i].length) { this._removeFilterByIndex(selectionFilter, i, isSelectAll) } else if (1 === selectionFilter[i].length) { selectionFilter[i] = selectionFilter[i][0] } return _filterIndex } } } return -1 } }; _proto.getSelectAllState = function() { var filter = this.options.filter(); var selectionFilter = this.options.selectionFilter; if (!selectionFilter) { return true } if (!selectionFilter.length) { return false } if (!filter || !filter.length) { return } selectionFilter = this._denormalizeFilter(selectionFilter); if (this._isLastSubFilter(selectionFilter, filter)) { return true } if (this._isLastSubFilter(selectionFilter, ["!", filter])) { return false } return }; _proto.loadSelectedItemsWithFilter = function() { var componentFilter = this.options.filter(); var selectionFilter = this.options.selectionFilter; var filter = componentFilter ? [componentFilter, "and", selectionFilter] : selectionFilter; return this._loadFilteredData(filter) }; return DeferredStrategy }(_selection.default); exports.default = DeferredStrategy; module.exports = exports.default; module.exports.default = exports.default }, 34344: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/selection/selection.strategy.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _query = (obj = __webpack_require__( /*! ../../data/query */ 96687), obj && obj.__esModule ? obj : { default: obj }); var obj; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var SelectionStrategy = function() { function SelectionStrategy(options) { this.options = options; this._setOption("disabledItemKeys", []); this._clearItemKeys() } var _proto = SelectionStrategy.prototype; _proto._clearItemKeys = function() { this._setOption("addedItemKeys", []); this._setOption("removedItemKeys", []); this._setOption("removedItems", []); this._setOption("addedItems", []) }; _proto.validate = function() {}; _proto._setOption = function(name, value) { this.options[name] = value }; _proto.onSelectionChanged = function() { var addedItemKeys = this.options.addedItemKeys; var removedItemKeys = this.options.removedItemKeys; var addedItems = this.options.addedItems; var removedItems = this.options.removedItems; var selectedItems = this.options.selectedItems; var selectedItemKeys = this.options.selectedItemKeys; var onSelectionChanged = this.options.onSelectionChanged || _common.noop; this._clearItemKeys(); onSelectionChanged({ selectedItems: selectedItems, selectedItemKeys: selectedItemKeys, addedItemKeys: addedItemKeys, removedItemKeys: removedItemKeys, addedItems: addedItems, removedItems: removedItems }) }; _proto.equalKeys = function(key1, key2) { if (this.options.equalByReference) { if ((0, _type.isObject)(key1) && (0, _type.isObject)(key2)) { return key1 === key2 } } return (0, _common.equalByValue)(key1, key2) }; _proto.getSelectableItems = function(items) { return items.filter((function(item) { return !(null !== item && void 0 !== item && item.disabled) })) }; _proto._clearSelection = function(keys, preserve, isDeselect, isSelectAll) { keys = keys || []; keys = Array.isArray(keys) ? keys : [keys]; this.validate(); return this.selectedItemKeys(keys, preserve, isDeselect, isSelectAll) }; _proto._removeTemplateProperty = function(remoteFilter) { var _this = this; if (Array.isArray(remoteFilter)) { return remoteFilter.map((function(f) { return _this._removeTemplateProperty(f) })) } if ((0, _type.isObject)(remoteFilter)) { delete remoteFilter.template } return remoteFilter }; _proto._loadFilteredData = function(remoteFilter, localFilter, select, isSelectAll) { var filterLength = encodeURI(JSON.stringify(this._removeTemplateProperty(remoteFilter))).length; var needLoadAllData = this.options.maxFilterLengthInRequest && filterLength > this.options.maxFilterLengthInRequest; var deferred = new _deferred.Deferred; var loadOptions = { filter: needLoadAllData ? void 0 : remoteFilter, select: needLoadAllData ? this.options.dataFields() : select || this.options.dataFields() }; if (remoteFilter && 0 === remoteFilter.length) { deferred.resolve([]) } else { this.options.load(loadOptions).done((function(items) { var filteredItems = (0, _type.isPlainObject)(items) ? items.data : items; if (localFilter && !isSelectAll) { filteredItems = filteredItems.filter(localFilter) } else if (needLoadAllData) { filteredItems = (0, _query.default)(filteredItems).filter(remoteFilter).toArray() } deferred.resolve(filteredItems) })).fail(deferred.reject.bind(deferred)) } return deferred }; _proto.updateSelectedItemKeyHash = function(keys) { for (var i = 0; i < keys.length; i++) { var keyHash = (0, _common.getKeyHash)(keys[i]); if (!(0, _type.isObject)(keyHash)) { this.options.keyHashIndices[keyHash] = this.options.keyHashIndices[keyHash] || []; var keyIndices = this.options.keyHashIndices[keyHash]; keyIndices.push(i) } } }; _proto._isAnyItemSelected = function(items) { for (var i = 0; i < items.length; i++) { if (this.options.isItemSelected(items[i])) { return } } return false }; _proto._getFullSelectAllState = function() { var items = this.options.plainItems(); var dataFilter = this.options.filter(); var selectedItems = this.options.ignoreDisabledItems ? this.options.selectedItems : this.options.selectedItems.filter((function(item) { return !(null !== item && void 0 !== item && item.disabled) })); if (dataFilter) { selectedItems = (0, _query.default)(selectedItems).filter(dataFilter).toArray() } var selectedItemsLength = selectedItems.length; var disabledItemsLength = items.length - this.getSelectableItems(items).length; if (!selectedItemsLength) { return this._isAnyItemSelected(items) } if (selectedItemsLength >= this.options.totalCount() - disabledItemsLength) { return true } return }; _proto._getVisibleSelectAllState = function() { var items = this.getSelectableItems(this.options.plainItems()); var hasSelectedItems = false; var hasUnselectedItems = false; for (var i = 0; i < items.length; i++) { var item = items[i]; var itemData = this.options.getItemData(item); var key = this.options.keyOf(itemData); if (this.options.isSelectableItem(item)) { if (this.isItemKeySelected(key)) { hasSelectedItems = true } else { hasUnselectedItems = true } } } if (hasSelectedItems) { return !hasUnselectedItems ? true : void 0 } else { return false } }; return SelectionStrategy }(); exports.default = SelectionStrategy; module.exports = exports.default; module.exports.default = exports.default }, 78600: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/selection/selection.strategy.standard.js ***! \*****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _array = __webpack_require__( /*! ../../core/utils/array */ 89386); var _array_compare = __webpack_require__( /*! ../../core/utils/array_compare */ 34671); var _query = _interopRequireDefault(__webpack_require__( /*! ../../data/query */ 96687)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _selection_filter = __webpack_require__( /*! ../../core/utils/selection_filter */ 49601); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _selection = _interopRequireDefault(__webpack_require__( /*! ./selection.strategy */ 34344)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var StandardStrategy = function(_SelectionStrategy) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(StandardStrategy, _SelectionStrategy); function StandardStrategy(options) { var _this; _this = _SelectionStrategy.call(this, options) || this; _this._initSelectedItemKeyHash(); return _this } var _proto = StandardStrategy.prototype; _proto._initSelectedItemKeyHash = function() { this._setOption("keyHashIndices", this.options.equalByReference ? null : {}) }; _proto.getSelectedItemKeys = function() { return this.options.selectedItemKeys.slice(0) }; _proto.getSelectedItems = function() { return this.options.selectedItems.slice(0) }; _proto._preserveSelectionUpdate = function(items, isDeselect) { var keyOf = this.options.keyOf; var keyIndicesToRemoveMap; var keyIndex; var i; if (!keyOf) { return } var isBatchDeselect = isDeselect && items.length > 1 && !this.options.equalByReference; if (isBatchDeselect) { keyIndicesToRemoveMap = {} } for (i = 0; i < items.length; i++) { var item = items[i]; var key = keyOf(item); if (isDeselect) { keyIndex = this.removeSelectedItem(key, keyIndicesToRemoveMap, null === item || void 0 === item ? void 0 : item.disabled); if (keyIndicesToRemoveMap && keyIndex >= 0) { keyIndicesToRemoveMap[keyIndex] = true } } else { this.addSelectedItem(key, item) } } if (isBatchDeselect) { this._batchRemoveSelectedItems(keyIndicesToRemoveMap) } }; _proto._batchRemoveSelectedItems = function(keyIndicesToRemoveMap) { var selectedItemKeys = this.options.selectedItemKeys.slice(0); var selectedItems = this.options.selectedItems.slice(0); this.options.selectedItemKeys.length = 0; this.options.selectedItems.length = 0; for (var i = 0; i < selectedItemKeys.length; i++) { if (!keyIndicesToRemoveMap[i]) { this.options.selectedItemKeys.push(selectedItemKeys[i]); this.options.selectedItems.push(selectedItems[i]) } } this._initSelectedItemKeyHash(); this.updateSelectedItemKeyHash(this.options.selectedItemKeys) }; _proto._loadSelectedItemsCore = function(keys, isDeselect, isSelectAll, filter) { var forceCombinedFilter = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : false; var deferred = new _deferred.Deferred; var key = this.options.key(); if (!keys.length && !isSelectAll) { deferred.resolve([]); return deferred } if (isSelectAll && isDeselect && !filter) { deferred.resolve(this.getSelectedItems()); return deferred } var selectionFilterCreator = new _selection_filter.SelectionFilterCreator(keys, isSelectAll); var combinedFilter = selectionFilterCreator.getCombinedFilter(key, filter, forceCombinedFilter); var deselectedItems = []; if (isDeselect) { var selectedItems = this.options.selectedItems; deselectedItems = combinedFilter && keys.length !== selectedItems.length ? (0, _query.default)(selectedItems).filter(combinedFilter).toArray() : selectedItems.slice(0) } var filteredItems = deselectedItems.length ? deselectedItems : this.options.plainItems(true).filter(this.options.isSelectableItem).map(this.options.getItemData); var localFilter = selectionFilterCreator.getLocalFilter(this.options.keyOf, this.equalKeys.bind(this), this.options.equalByReference, key); filteredItems = filteredItems.filter(localFilter); if (deselectedItems.length || !isSelectAll && filteredItems.length === keys.length) { deferred.resolve(filteredItems) } else { deferred = this._loadFilteredData(combinedFilter, localFilter, null, isSelectAll) } return deferred }; _proto._replaceSelectionUpdate = function(items) { var internalKeys = []; var keyOf = this.options.keyOf; if (!keyOf) { return } for (var i = 0; i < items.length; i++) { var item = items[i]; var key = keyOf(item); internalKeys.push(key) } this.setSelectedItems(internalKeys, items) }; _proto._warnOnIncorrectKeys = function(keys) { var allowNullValue = this.options.allowNullValue; for (var i = 0; i < keys.length; i++) { var key = keys[i]; if ((!allowNullValue || null !== key) && !this.isItemKeySelected(key)) { _ui.default.log("W1002", key) } } }; _proto._isMultiSelectEnabled = function() { var mode = this.options.mode; return "all" === mode || "multiple" === mode }; _proto._requestInProgress = function() { var _this$_lastLoadDeferr; return "pending" === (null === (_this$_lastLoadDeferr = this._lastLoadDeferred) || void 0 === _this$_lastLoadDeferr ? void 0 : _this$_lastLoadDeferr.state()) }; _proto._concatRequestsItems = function(keys, isDeselect, oldRequestItems, updatedKeys) { var selectedItems; var deselectedItems = isDeselect ? keys : []; if (updatedKeys) { selectedItems = updatedKeys } else { selectedItems = (0, _array.removeDuplicates)(keys, this.options.selectedItemKeys) } return { addedItems: oldRequestItems.added.concat(selectedItems), removedItems: oldRequestItems.removed.concat(deselectedItems), keys: keys } }; _proto._collectLastRequestData = function(keys, isDeselect, isSelectAll, updatedKeys) { var isDeselectAll = isDeselect && isSelectAll; var oldRequestItems = { added: [], removed: [] }; var multiSelectEnabled = this._isMultiSelectEnabled(); var lastRequestData = multiSelectEnabled ? this._lastRequestData : {}; if (multiSelectEnabled) { if (this._shouldMergeWithLastRequest) { if (isDeselectAll) { this._lastLoadDeferred.reject(); lastRequestData = {} } else if (!(0, _array_compare.isKeysEqual)(keys, this.options.selectedItemKeys)) { oldRequestItems.added = lastRequestData.addedItems; oldRequestItems.removed = lastRequestData.removedItems; if (!isDeselect) { this._lastLoadDeferred.reject() } } } lastRequestData = this._concatRequestsItems(keys, isDeselect, oldRequestItems, this._shouldMergeWithLastRequest ? void 0 : updatedKeys) } return lastRequestData }; _proto._updateKeysByLastRequestData = function(keys, isDeselect, isSelectAll) { var currentKeys = keys; if (this._isMultiSelectEnabled() && this._shouldMergeWithLastRequest && !isDeselect && !isSelectAll) { var _this$_lastRequestDat, _this$_lastRequestDat2; currentKeys = (0, _array.removeDuplicates)(keys.concat(null === (_this$_lastRequestDat = this._lastRequestData) || void 0 === _this$_lastRequestDat ? void 0 : _this$_lastRequestDat.addedItems), null === (_this$_lastRequestDat2 = this._lastRequestData) || void 0 === _this$_lastRequestDat2 ? void 0 : _this$_lastRequestDat2.removedItems); currentKeys = (0, _array.getUniqueValues)(currentKeys) } return currentKeys }; _proto._loadSelectedItems = function(keys, isDeselect, isSelectAll, updatedKeys) { var forceCombinedFilter = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : false; var that = this; var deferred = new _deferred.Deferred; var filter = that.options.filter(); this._shouldMergeWithLastRequest = this._requestInProgress(); this._lastRequestData = this._collectLastRequestData(keys, isDeselect, isSelectAll, updatedKeys); (0, _deferred.when)(that._lastLoadDeferred).always((function() { var currentKeys = that._updateKeysByLastRequestData(keys, isDeselect, isSelectAll); that._shouldMergeWithLastRequest = false; that._loadSelectedItemsCore(currentKeys, isDeselect, isSelectAll, filter, forceCombinedFilter).done(deferred.resolve).fail(deferred.reject) })); that._lastLoadDeferred = deferred; return deferred }; _proto.selectedItemKeys = function(keys, preserve, isDeselect, isSelectAll, updatedKeys) { var forceCombinedFilter = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : false; var that = this; var deferred = that._loadSelectedItems(keys, isDeselect, isSelectAll, updatedKeys, forceCombinedFilter); deferred.done((function(items) { if (preserve) { that._preserveSelectionUpdate(items, isDeselect) } else { that._replaceSelectionUpdate(items) } that.onSelectionChanged() })); return deferred }; _proto.addSelectedItem = function(key, itemData) { if ((0, _type.isDefined)(itemData) && !this.options.ignoreDisabledItems && itemData.disabled) { if (-1 === this.options.disabledItemKeys.indexOf(key)) { this.options.disabledItemKeys.push(key) } return } var keyHash = this._getKeyHash(key); if (-1 === this._indexOfSelectedItemKey(keyHash)) { if (!(0, _type.isObject)(keyHash) && this.options.keyHashIndices) { this.options.keyHashIndices[keyHash] = [this.options.selectedItemKeys.length] } this.options.selectedItemKeys.push(key); this.options.addedItemKeys.push(key); this.options.addedItems.push(itemData); this.options.selectedItems.push(itemData) } }; _proto._getSelectedIndexByKey = function(key, ignoreIndicesMap) { var selectedItemKeys = this.options.selectedItemKeys; for (var index = 0; index < selectedItemKeys.length; index++) { if ((!ignoreIndicesMap || !ignoreIndicesMap[index]) && this.equalKeys(selectedItemKeys[index], key)) { return index } } return -1 }; _proto._getSelectedIndexByHash = function(key, ignoreIndicesMap) { var indices = this.options.keyHashIndices[key]; if (indices && indices.length > 1 && ignoreIndicesMap) { indices = indices.filter((function(index) { return !ignoreIndicesMap[index] })) } return indices && indices[0] >= 0 ? indices[0] : -1 }; _proto._indexOfSelectedItemKey = function(key, ignoreIndicesMap) { var selectedIndex; if (this.options.equalByReference) { selectedIndex = this.options.selectedItemKeys.indexOf(key) } else if ((0, _type.isObject)(key)) { selectedIndex = this._getSelectedIndexByKey(key, ignoreIndicesMap) } else { selectedIndex = this._getSelectedIndexByHash(key, ignoreIndicesMap) } return selectedIndex }; _proto._shiftSelectedKeyIndices = function(keyIndex) { for (var currentKeyIndex = keyIndex; currentKeyIndex < this.options.selectedItemKeys.length; currentKeyIndex++) { var currentKey = this.options.selectedItemKeys[currentKeyIndex]; var currentKeyHash = (0, _common.getKeyHash)(currentKey); var currentKeyIndices = this.options.keyHashIndices[currentKeyHash]; if (!currentKeyIndices) { continue } for (var i = 0; i < currentKeyIndices.length; i++) { if (currentKeyIndices[i] > keyIndex) { currentKeyIndices[i]-- } } } }; _proto.removeSelectedItem = function(key, keyIndicesToRemoveMap, isDisabled) { if (!this.options.ignoreDisabledItems && isDisabled) { return } var keyHash = this._getKeyHash(key); var isBatchDeselect = !!keyIndicesToRemoveMap; var keyIndex = this._indexOfSelectedItemKey(keyHash, keyIndicesToRemoveMap); if (keyIndex < 0) { return keyIndex } this.options.removedItemKeys.push(key); this.options.removedItems.push(this.options.selectedItems[keyIndex]); if (isBatchDeselect) { return keyIndex } this.options.selectedItemKeys.splice(keyIndex, 1); this.options.selectedItems.splice(keyIndex, 1); if ((0, _type.isObject)(keyHash) || !this.options.keyHashIndices) { return keyIndex } var keyIndices = this.options.keyHashIndices[keyHash]; if (!keyIndices) { return keyIndex } keyIndices.shift(); if (!keyIndices.length) { delete this.options.keyHashIndices[keyHash] } this._shiftSelectedKeyIndices(keyIndex); return keyIndex }; _proto._updateAddedItemKeys = function(keys, items) { for (var i = 0; i < keys.length; i++) { if (!this.isItemKeySelected(keys[i])) { this.options.addedItemKeys.push(keys[i]); this.options.addedItems.push(items[i]) } } }; _proto._updateRemovedItemKeys = function(keys, oldSelectedKeys, oldSelectedItems) { for (var i = 0; i < oldSelectedKeys.length; i++) { if (!this.isItemKeySelected(oldSelectedKeys[i])) { this.options.removedItemKeys.push(oldSelectedKeys[i]); this.options.removedItems.push(oldSelectedItems[i]) } } }; _proto._isItemSelectionInProgress = function(key, checkPending) { var shouldCheckPending = checkPending && this._lastRequestData && this._requestInProgress(); if (shouldCheckPending) { var _this$_lastRequestDat3; var addedItems = null !== (_this$_lastRequestDat3 = this._lastRequestData.addedItems) && void 0 !== _this$_lastRequestDat3 ? _this$_lastRequestDat3 : []; return addedItems.includes(key) } else { return false } }; _proto._getKeyHash = function(key) { return this.options.equalByReference ? key : (0, _common.getKeyHash)(key) }; _proto.setSelectedItems = function(keys, items) { this._updateAddedItemKeys(keys, items); var oldSelectedKeys = this.options.selectedItemKeys; var oldSelectedItems = this.options.selectedItems; if (!this.options.equalByReference) { this._initSelectedItemKeyHash(); this.updateSelectedItemKeyHash(keys) } this._setOption("selectedItemKeys", keys); this._setOption("selectedItems", items); this._updateRemovedItemKeys(keys, oldSelectedKeys, oldSelectedItems) }; _proto.isItemDataSelected = function(itemData) { var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; var key = this.options.keyOf(itemData); return this.isItemKeySelected(key, options) }; _proto.isItemKeySelected = function(key) { var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; var result = this._isItemSelectionInProgress(key, options.checkPending); if (!result) { var keyHash = this._getKeyHash(key); var index = this._indexOfSelectedItemKey(keyHash); result = -1 !== index } return result }; _proto.getSelectAllState = function(visibleOnly) { if (visibleOnly) { return this._getVisibleSelectAllState() } else { return this._getFullSelectAllState() } }; _proto.loadSelectedItemsWithFilter = function() { var keyExpr = this.options.key(); var keys = this.getSelectedItemKeys(); var filter = this.options.filter(); if (!keys.length) { return (0, _deferred.Deferred)().resolve([]) } var selectionFilterCreator = new _selection_filter.SelectionFilterCreator(keys); var combinedFilter = selectionFilterCreator.getCombinedFilter(keyExpr, filter, true); return this._loadFilteredData(combinedFilter) }; return StandardStrategy }(_selection.default); exports.default = StandardStrategy; module.exports = exports.default; module.exports.default = exports.default }, 56756: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/shared/accessibility.js ***! \************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.hiddenFocus = function(element) { isHiddenFocusing = true; element.focus(); isHiddenFocusing = false }; exports.registerKeyboardAction = function(viewName, instance, $element, selector, action, executeKeyDown) { if (instance.option("useLegacyKeyboardNavigation")) { return _common.noop } var getMainElement = function() { return (0, _renderer.default)(instance.element()) }; var keyDownHandler = function(e) { return function(viewName, instance, event, action, $mainElement, executeKeyDown) { var isHandled = function(instance, event, executeAction) { var args = { event: event, handled: false }; if (executeAction) { executeAction(args) } else { instance._createActionByOption("onKeyDown")(args) } return args.handled }(instance, event.originalEvent, executeKeyDown); if (isHandled) { return } var keyName = (0, _index.normalizeKeyName)(event); if ("enter" === keyName || "space" === keyName) { saveFocusedElementInfo(event.target, instance); action && action({ event: event }) } else if ("tab" === keyName) { $mainElement.addClass("dx-state-focused") } else { selectView(viewName, instance, event) } }(viewName, instance, e, action, getMainElement(), executeKeyDown) }; var mouseDownHandler = function() { isMouseDown = true; getMainElement().removeClass("dx-state-focused") }; var focusinHandler = function() { var needShowOverlay = !isMouseDown && !isHiddenFocusing; if (needShowOverlay) { getMainElement().addClass("dx-state-focused") } isMouseDown = false }; _events_engine.default.on($element, "keydown", selector, keyDownHandler); _events_engine.default.on($element, "mousedown", selector, mouseDownHandler); _events_engine.default.on($element, "focusin", selector, focusinHandler); return function() { _events_engine.default.off($element, "keydown", selector, keyDownHandler); _events_engine.default.off($element, "mousedown", selector, mouseDownHandler); _events_engine.default.off($element, "focusin", selector, focusinHandler) } }; exports.restoreFocus = function(instance) { if (!instance.option("useLegacyKeyboardNavigation") && focusedElementInfo) { var viewInstance = focusedElementInfo.viewInstance; if (viewInstance) { var $activeElements = getActiveAccessibleElements(focusedElementInfo.ariaLabel, viewInstance.element()); var $targetElement = $activeElements.eq(focusedElementInfo.index); focusedElementInfo = null; _events_engine.default.trigger($targetElement, "focus") } } }; exports.saveFocusedElementInfo = saveFocusedElementInfo; exports.selectView = selectView; exports.setTabIndex = function(instance, $element) { if (!instance.option("useLegacyKeyboardnavigation")) { $element.attr("tabindex", instance.option("tabindex") || 0) } }; exports.subscribeVisibilityChange = function() { _events_engine.default.on(_dom_adapter.default.getDocument(), "visibilitychange", onDocumentVisibilityChange) }; exports.unsubscribeVisibilityChange = function() { _events_engine.default.off(_dom_adapter.default.getDocument(), "visibilitychange", onDocumentVisibilityChange) }; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var GRID_CELL_SELECTOR = "".concat(".dx-datagrid-rowsview .dx-row", " > td"); var TREELIST_CELL_SELECTOR = "".concat(".dx-treelist-rowsview .dx-row", " > td"); var viewItemSelectorMap = { groupPanel: [".dx-datagrid-group-panel .dx-group-panel-item[tabindex]"], columnHeaders: [".dx-datagrid-headers .dx-header-row > td.dx-datagrid-action", ".dx-treelist-headers .dx-header-row > td.dx-treelist-action"], filterRow: [".dx-datagrid-headers .dx-datagrid-filter-row .dx-editor-cell .dx-texteditor-input", ".dx-treelist-headers .dx-treelist-filter-row .dx-editor-cell .dx-texteditor-input"], rowsView: ["".concat(".dx-row-focused"), "".concat(".dx-datagrid-rowsview .dx-row", "[tabindex]"), "".concat(GRID_CELL_SELECTOR, "[tabindex]"), "".concat(GRID_CELL_SELECTOR), "".concat(".dx-treelist-rowsview .dx-row", "[tabindex]"), "".concat(TREELIST_CELL_SELECTOR, "[tabindex]"), "".concat(TREELIST_CELL_SELECTOR)], footer: [".dx-datagrid-total-footer .dx-datagrid-summary-item", ".dx-treelist-total-footer .dx-treelist-summary-item"], filterPanel: [".dx-datagrid-filter-panel .dx-icon-filter", ".dx-treelist-filter-panel .dx-icon-filter"], pager: [".dx-datagrid-pager [tabindex]", ".dx-treelist-pager [tabindex]"] }; var isMouseDown = false; var isHiddenFocusing = false; var focusedElementInfo = null; function saveFocusedElementInfo(target, instance) { var $target = (0, _renderer.default)(target); var ariaLabel = $target.attr("aria-label"); var $activeElements = getActiveAccessibleElements(ariaLabel, instance.element()); var targetIndex = $activeElements.index($target); focusedElementInfo = (0, _extend.extend)({}, { ariaLabel: ariaLabel, index: targetIndex }, { viewInstance: instance }) } function getActiveAccessibleElements(ariaLabel, viewElement) { var $viewElement = (0, _renderer.default)(viewElement); var $activeElements; if (ariaLabel) { $activeElements = $viewElement.find('[aria-label="'.concat(ariaLabel, '"][tabindex]')) } else { $activeElements = $viewElement.find("[tabindex]") } return $activeElements } function findFocusedViewElement(viewSelectors, element) { var root = (null === element || void 0 === element ? void 0 : element.getRootNode()) || _dom_adapter.default.getDocument(); for (var index in viewSelectors) { var selector = viewSelectors[index]; var $focusViewElement = (0, _renderer.default)(root).find(selector).first(); if ($focusViewElement.length) { return $focusViewElement } } } function onDocumentVisibilityChange() { isHiddenFocusing = "visible" === _dom_adapter.default.getDocument().visibilityState } function selectView(viewName, instance, event) { var keyName = (0, _index.normalizeKeyName)(event); if (event.ctrlKey && ("upArrow" === keyName || "downArrow" === keyName)) { var viewNames = Object.keys(viewItemSelectorMap); var viewItemIndex = viewNames.indexOf(viewName); while (viewItemIndex >= 0 && viewItemIndex < viewNames.length) { viewItemIndex = "upArrow" === keyName ? --viewItemIndex : ++viewItemIndex; var _viewName = viewNames[viewItemIndex]; var viewSelectors = viewItemSelectorMap[_viewName]; var $focusViewElement = findFocusedViewElement(viewSelectors, event.target); if ($focusViewElement && $focusViewElement.length) { $focusViewElement.attr("tabindex", instance.option("tabindex") || 0); _events_engine.default.trigger($focusViewElement, "focus"); $focusViewElement.removeClass("dx-cell-focus-disabled"); break } } } } }, 18740: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/shared/filtering.js ***! \********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var DEFAULT_DATE_INTERVAL = ["year", "month", "day"]; var DEFAULT_DATETIME_INTERVAL = ["year", "month", "day", "hour", "minute"]; var isDateType = function(dataType) { return "date" === dataType || "datetime" === dataType }; var getGroupInterval = function(column) { var index; var result = []; var dateIntervals = ["year", "month", "day", "hour", "minute", "second"]; var groupInterval = column.headerFilter && column.headerFilter.groupInterval; var interval = "quarter" === groupInterval ? "month" : groupInterval; if (isDateType(column.dataType) && null !== groupInterval) { result = "datetime" === column.dataType ? DEFAULT_DATETIME_INTERVAL : DEFAULT_DATE_INTERVAL; index = dateIntervals.indexOf(interval); if (index >= 0) { result = dateIntervals.slice(0, index); result.push(groupInterval); return result } return result } else if ((0, _type.isDefined)(groupInterval)) { return Array.isArray(groupInterval) ? groupInterval : [groupInterval] } }; var _default = (getFilterSelector = function(column, target) { var selector = column.dataField || column.selector; if ("search" === target) { selector = column.displayField || column.calculateDisplayValue || selector } return selector }, getFilterExpressionByRange = function(filterValue, target) { var endFilterValue; var startFilterExpression; var endFilterExpression; var selector = getFilterSelector(this, target); if (Array.isArray(filterValue) && (0, _type.isDefined)(filterValue[0]) && (0, _type.isDefined)(filterValue[1])) { startFilterExpression = [selector, ">=", filterValue[0]]; endFilterExpression = [selector, "<=", filterValue[1]]; if (isDateType(this.dataType) && (date = filterValue[1], date.getHours() + date.getMinutes() + date.getSeconds() + date.getMilliseconds() < 1)) { endFilterValue = new Date(filterValue[1].getTime()); if ("date" === this.dataType) { endFilterValue.setDate(filterValue[1].getDate() + 1) } endFilterExpression = [selector, "<", endFilterValue] } return [startFilterExpression, "and", endFilterExpression] } var date }, getFilterExpressionForDate = function(filterValue, selectedFilterOperation, target) { var dateStart; var dateEnd; var dateInterval; var values = function(dateValue) { if ((0, _type.isDate)(dateValue)) { return [dateValue.getFullYear(), dateValue.getMonth(), dateValue.getDate(), dateValue.getHours(), dateValue.getMinutes(), dateValue.getSeconds()] } return (0, _iterator.map)(("" + dateValue).split("/"), (function(value, index) { return 1 === index ? Number(value) - 1 : Number(value) })) }(filterValue); var selector = getFilterSelector(this, target); if ("headerFilter" === target) { dateInterval = getGroupInterval(this)[values.length - 1] } else if ("datetime" === this.dataType) { dateInterval = "minute" } switch (dateInterval) { case "year": dateStart = new Date(values[0], 0, 1); dateEnd = new Date(values[0] + 1, 0, 1); break; case "month": dateStart = new Date(values[0], values[1], 1); dateEnd = new Date(values[0], values[1] + 1, 1); break; case "quarter": dateStart = new Date(values[0], 3 * values[1], 1); dateEnd = new Date(values[0], 3 * values[1] + 3, 1); break; case "hour": dateStart = new Date(values[0], values[1], values[2], values[3]); dateEnd = new Date(values[0], values[1], values[2], values[3] + 1); break; case "minute": dateStart = new Date(values[0], values[1], values[2], values[3], values[4]); dateEnd = new Date(values[0], values[1], values[2], values[3], values[4] + 1); break; case "second": dateStart = new Date(values[0], values[1], values[2], values[3], values[4], values[5]); dateEnd = new Date(values[0], values[1], values[2], values[3], values[4], values[5] + 1); break; default: dateStart = new Date(values[0], values[1], values[2]); dateEnd = new Date(values[0], values[1], values[2] + 1) } switch (selectedFilterOperation) { case "<": return [selector, "<", dateStart]; case "<=": return [selector, "<", dateEnd]; case ">": return [selector, ">=", dateEnd]; case ">=": return [selector, ">=", dateStart]; case "<>": return [ [selector, "<", dateStart], "or", [selector, ">=", dateEnd] ]; default: return [ [selector, ">=", dateStart], "and", [selector, "<", dateEnd] ] } }, getFilterExpressionForNumber = function(filterValue, selectedFilterOperation, target) { var selector = getFilterSelector(this, target); var groupInterval = getGroupInterval(this); if ("headerFilter" === target && groupInterval && (0, _type.isDefined)(filterValue)) { var values = ("" + filterValue).split("/"); var value = Number(values[values.length - 1]); var interval = groupInterval[values.length - 1]; var startFilterValue = [selector, ">=", value]; var endFilterValue = [selector, "<", value + interval]; var condition = [startFilterValue, "and", endFilterValue]; return condition } return [selector, selectedFilterOperation || "=", filterValue] }, { defaultCalculateFilterExpression: function(filterValue, selectedFilterOperation, target) { var column = this; var selector = getFilterSelector(column, target); var isSearchByDisplayValue = column.calculateDisplayValue && "search" === target; var dataType = isSearchByDisplayValue && column.lookup && column.lookup.dataType || column.dataType; var filter = null; if (("headerFilter" === target || "filterBuilder" === target) && null === filterValue) { filter = [selector, selectedFilterOperation || "=", null]; if ("string" === dataType) { filter = [filter, "=" === selectedFilterOperation ? "or" : "and", [selector, selectedFilterOperation || "=", ""]] } } else if ("string" === dataType && (!column.lookup || isSearchByDisplayValue)) { filter = [selector, selectedFilterOperation || "contains", filterValue] } else if ("between" === selectedFilterOperation) { return getFilterExpressionByRange.apply(column, [filterValue, target]) } else if (isDateType(dataType) && (0, _type.isDefined)(filterValue)) { return getFilterExpressionForDate.apply(column, arguments) } else if ("number" === dataType) { return getFilterExpressionForNumber.apply(column, arguments) } else { filter = [selector, selectedFilterOperation || "=", filterValue] } return filter }, getGroupInterval: getGroupInterval }); var getFilterSelector, getFilterExpressionByRange, getFilterExpressionForDate, getFilterExpressionForNumber; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 37178: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/shared/grouped_data_converter_mixin.js ***! \***************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _default = { _getSpecificDataSourceOption: function() { var dataSource = this.option("dataSource"); var hasSimpleItems = false; var data = {}; if (this._getGroupedOption() && function(data) { return Array.isArray(data) && data.every((function(item) { var hasTwoFields = 2 === Object.keys(item).length; var hasCorrectFields = "key" in item && "items" in item; return hasTwoFields && hasCorrectFields && Array.isArray(item.items) })) }(dataSource)) { data = dataSource.reduce((function(accumulator, item) { var items = item.items.map((function(innerItem) { if (!(0, _type.isObject)(innerItem)) { innerItem = { text: innerItem }; hasSimpleItems = true } if (!("key" in innerItem)) { innerItem.key = item.key } return innerItem })); return accumulator.concat(items) }), []); dataSource = { store: { type: "array", data: data }, group: { selector: "key", keepInitialKeyOrder: true } }; if (hasSimpleItems) { dataSource.searchExpr = "text" } } return dataSource } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 15653: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/shared/ui.editor_factory_mixin.js ***! \**********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _variable_wrapper = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/variable_wrapper */ 26974)); var _data = __webpack_require__( /*! ../../core/utils/data */ 47617); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/browser */ 47810)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _utils = __webpack_require__( /*! ../../data/data_source/utils */ 9234); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); __webpack_require__( /*! ../text_box */ 29837); __webpack_require__( /*! ../number_box */ 34171); __webpack_require__( /*! ../check_box */ 18859); __webpack_require__( /*! ../select_box */ 78665); __webpack_require__( /*! ../date_box */ 29589); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var isWrapped = _variable_wrapper.default.isWrapped; var EditorFactoryMixin = function() { var getResultConfig = function(config, options) { return (0, _extend.extend)(config, { readOnly: options.readOnly, placeholder: options.placeholder, inputAttr: { id: options.id }, tabIndex: options.tabIndex }, options.editorOptions) }; var checkEnterBug = function() { return _browser.default.mozilla || _devices.default.real().ios }; var getTextEditorConfig = function(options) { var data = {}; var isEnterBug = checkEnterBug(); var sharedData = options.sharedData || data; return getResultConfig({ placeholder: options.placeholder, width: options.width, value: options.value, onValueChanged: function(e) { var needDelayedUpdate = "filterRow" === options.parentType || "searchPanel" === options.parentType; var isInputOrKeyUpEvent = e.event && ("input" === e.event.type || "keyup" === e.event.type); var updateValue = function(e, notFireEvent) { options && options.setValue(e.value, notFireEvent) }; clearTimeout(data.valueChangeTimeout); if (isInputOrKeyUpEvent && needDelayedUpdate) { sharedData.valueChangeTimeout = data.valueChangeTimeout = setTimeout((function() { updateValue(e, data.valueChangeTimeout !== sharedData.valueChangeTimeout) }), (0, _type.isDefined)(options.updateValueTimeout) ? options.updateValueTimeout : 0) } else { updateValue(e) } }, onKeyDown: function(e) { if (isEnterBug && "enter" === (0, _index.normalizeKeyName)(e.event)) { _events_engine.default.trigger((0, _renderer.default)(e.component._input()), "change") } }, valueChangeEvent: "change" + ("filterRow" === options.parentType ? " keyup input" : "") }, options) }; var prepareDateBox = function(options) { options.editorName = "dxDateBox"; options.editorOptions = getResultConfig({ value: options.value, onValueChanged: function(args) { options.setValue(args.value) }, onKeyDown: function(_ref) { var component = _ref.component, event = _ref.event; var useMaskBehavior = component.option("useMaskBehavior"); if ((checkEnterBug() || useMaskBehavior) && "enter" === (0, _index.normalizeKeyName)(event)) { component.blur(); component.focus() } }, displayFormat: options.format, type: options.dataType, dateSerializationFormat: null, width: "filterBuilder" === options.parentType ? void 0 : "auto" }, options) }; var prepareTextBox = function(options) { var config = getTextEditorConfig(options); var isSearching = "searchPanel" === options.parentType; if (options.editorType && "dxTextBox" !== options.editorType) { config.value = options.value } else { config.value = (value = options.value, (0, _type.isDefined)(value) ? value.toString() : "") } var value; config.valueChangeEvent += isSearching ? " keyup input search" : ""; config.mode = config.mode || (isSearching ? "search" : "text"); options.editorName = "dxTextBox"; options.editorOptions = config }; var prepareNumberBox = function(options) { var config = getTextEditorConfig(options); config.value = (0, _type.isDefined)(options.value) ? options.value : null; options.editorName = "dxNumberBox"; options.editorOptions = config }; function prepareLookupEditor(options) { var lookup = options.lookup; var displayGetter; var dataSource; var postProcess; var isFilterRow = "filterRow" === options.parentType; if (lookup) { var _options$editorType; displayGetter = (0, _data.compileGetter)(lookup.displayExpr); dataSource = lookup.dataSource; if ((0, _type.isFunction)(dataSource) && !isWrapped(dataSource)) { dataSource = dataSource(options.row || {}); ! function(options) { if (options.row && options.row.watch && "dataRow" === options.parentType) { var editorOptions = options.editorOptions || {}; options.editorOptions = editorOptions; var selectBox; var onInitialized = editorOptions.onInitialized; editorOptions.onInitialized = function(e) { onInitialized && onInitialized.apply(this, arguments); selectBox = e.component; selectBox.on("disposing", stopWatch) }; var dataSource; var stopWatch = options.row.watch((function() { dataSource = options.lookup.dataSource(options.row); return dataSource && dataSource.filter }), (function() { selectBox.option("dataSource", dataSource) }), (function(row) { options.row = row })) } }(options) } if ((0, _type.isObject)(dataSource) || Array.isArray(dataSource)) { dataSource = (0, _utils.normalizeDataSourceOptions)(dataSource); if (isFilterRow) { postProcess = dataSource.postProcess; dataSource.postProcess = function(items) { if (0 === this.pageIndex()) { items = items.slice(0); items.unshift(null) } if (postProcess) { return postProcess.call(this, items) } return items } } } var allowClearing = Boolean(lookup.allowClearing && !isFilterRow); options.editorName = null !== (_options$editorType = options.editorType) && void 0 !== _options$editorType ? _options$editorType : "dxSelectBox"; options.editorOptions = getResultConfig({ searchEnabled: true, value: options.value, valueExpr: options.lookup.valueExpr, searchExpr: options.lookup.searchExpr || options.lookup.displayExpr, allowClearing: allowClearing, showClearButton: allowClearing, displayExpr: function(data) { if (null === data) { return options.showAllText } return displayGetter(data) }, dataSource: dataSource, onValueChanged: function(e) { var params = [e.value]; !isFilterRow && params.push(e.component.option("text")); options.setValue.apply(this, params) } }, options) } } function prepareCheckBox(options) { options.editorName = "dxCheckBox"; options.editorOptions = getResultConfig({ elementAttr: { id: options.id }, value: (0, _type.isDefined)(options.value) ? options.value : void 0, hoverStateEnabled: !options.readOnly, focusStateEnabled: !options.readOnly, activeStateEnabled: false, onValueChanged: function(e) { options.setValue && options.setValue(e.value, e) } }, options) } var prepareCustomEditor = function(options) { options.editorName = options.editorType; options.editorOptions = getResultConfig({ value: options.value, onValueChanged: function(args) { options.setValue(args.value) } }, options) }; var prepareEditor = function(options) { var prepareDefaultEditor = { dxDateBox: prepareDateBox, dxCheckBox: prepareCheckBox, dxNumberBox: prepareNumberBox, dxTextBox: prepareTextBox }; if (options.lookup) { prepareLookupEditor(options) } else if (options.editorType) { var _prepareDefaultEditor; (null !== (_prepareDefaultEditor = prepareDefaultEditor[options.editorType]) && void 0 !== _prepareDefaultEditor ? _prepareDefaultEditor : prepareCustomEditor)(options) } else { switch (options.dataType) { case "date": case "datetime": prepareDateBox(options); break; case "boolean": ! function(options) { if ("filterRow" === options.parentType || "filterBuilder" === options.parentType) { prepareLookupEditor((0, _extend.extend)(options, { lookup: { displayExpr: function(data) { if (true === data) { return options.trueText || "true" } else if (false === data) { return options.falseText || "false" } }, dataSource: [true, false] } })) } else { prepareCheckBox(options) } }(options); break; case "number": prepareNumberBox(options); break; default: prepareTextBox(options) } } }; return { createEditor: function($container, options) { options.cancel = false; options.editorElement = (0, _element.getPublicElement)($container); if (!(0, _type.isDefined)(options.tabIndex)) { options.tabIndex = this.option("tabIndex") } prepareEditor(options); this.executeAction("onEditorPreparing", options); if (options.cancel) { return } if ("dataRow" === options.parentType && !options.isOnForm && !(0, _type.isDefined)(options.editorOptions.showValidationMark)) { options.editorOptions.showValidationMark = false }! function(that, options) { var $editorElement = (0, _renderer.default)(options.editorElement); if (options.editorName && options.editorOptions && $editorElement[options.editorName]) { if ("dxCheckBox" === options.editorName || "dxSwitch" === options.editorName) { if (!options.isOnForm) { $editorElement.addClass(that.addWidgetPrefix("checkbox-size")); $editorElement.parent().addClass("dx-editor-inline-block") } } that._createComponent($editorElement, options.editorName, options.editorOptions); if ("dxDateBox" === options.editorName) { var dateBox = $editorElement.dxDateBox("instance"); var defaultEnterKeyHandler = dateBox._supportedKeys().enter; dateBox.registerKeyHandler("enter", (function(e) { if (dateBox.option("opened")) { defaultEnterKeyHandler(e) } return true })) } if ("dxTextArea" === options.editorName) { $editorElement.dxTextArea("instance").registerKeyHandler("enter", (function(event) { if ("enter" === (0, _index.normalizeKeyName)(event) && !event.ctrlKey && !event.shiftKey) { event.stopPropagation() } })) } } }(this, options); this.executeAction("onEditorPrepared", options) } } }(); var _default = EditorFactoryMixin; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 97834: /*!**********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/slider.js ***! \**********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./slider/ui.slider */ 63570), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 73437: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/slider/slider_tooltip_position_controller.js ***! \*********************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.SliderTooltipPositionController = void 0; var _popover_position_controller = __webpack_require__( /*! ../popover/popover_position_controller */ 84228); var _translator = __webpack_require__( /*! ../../animation/translator */ 31648); var _position = (obj = __webpack_require__( /*! ../../animation/position */ 49387), obj && obj.__esModule ? obj : { default: obj }); var obj; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var SLIDER_TOOLTIP_POSITION_ALIASES = { top: { my: "bottom center", at: "top center", collision: "fit none" }, bottom: { my: "top center", at: "bottom center", collision: "fit none" } }; var SLIDER_TOOLTIP_DEFAULT_BOUNDARY_OFFSET = { h: 2, v: 1 }; var SliderTooltipPositionController = function(_PopoverPositionContr) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SliderTooltipPositionController, _PopoverPositionContr); function SliderTooltipPositionController() { return _PopoverPositionContr.apply(this, arguments) || this } var _proto = SliderTooltipPositionController.prototype; _proto._normalizePosition = function(positionProp) { var $sliderHandle = this._props.target; var sliderClass = ".".concat("dx-slider"); var $slider = null === $sliderHandle || void 0 === $sliderHandle ? void 0 : $sliderHandle.closest(sliderClass); var defaultPositionConfig = { of: $sliderHandle, boundaryOffset: SLIDER_TOOLTIP_DEFAULT_BOUNDARY_OFFSET, boundary: null === $slider || void 0 === $slider ? void 0 : $slider.get(0) }; var resultPosition = (0, _extend.extend)(true, {}, defaultPositionConfig, this._positionToObject(positionProp)); this._positionSide = this._getDisplaySide(resultPosition); return resultPosition }; _proto._renderContentInitialPosition = function() { _PopoverPositionContr.prototype._renderContentInitialPosition.call(this); this._fitIntoSlider() }; _proto._fitIntoSlider = function() { var _positionUtils$calcul = _position.default.calculate(this._$content, this._position).h, collisionSide = _positionUtils$calcul.collisionSide, oversize = _positionUtils$calcul.oversize; var left = this._visualPosition.left; var isLeftSide = "left" === collisionSide; var offset = (isLeftSide ? 1 : -1) * oversize; (0, _translator.move)(this._$content, { left: left + offset }); this._updateVisualPositionValue() }; _proto._positionToObject = function(positionProp) { if ((0, _type.isString)(positionProp)) { return (0, _extend.extend)({}, SLIDER_TOOLTIP_POSITION_ALIASES[positionProp]) } return positionProp }; return SliderTooltipPositionController }(_popover_position_controller.PopoverPositionController); exports.SliderTooltipPositionController = SliderTooltipPositionController }, 63570: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/slider/ui.slider.js ***! \********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _click = __webpack_require__( /*! ../../events/click */ 95429); var _emitter = __webpack_require__( /*! ../../events/core/emitter.feedback */ 91633); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _swipeable = _interopRequireDefault(__webpack_require__( /*! ../../events/gesture/swipeable */ 66894)); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _number = _interopRequireDefault(__webpack_require__( /*! ../../localization/number */ 18016)); var _themes = __webpack_require__( /*! ../themes */ 75811); var _track_bar = _interopRequireDefault(__webpack_require__( /*! ../track_bar */ 39661)); var _utils = __webpack_require__( /*! ../widget/utils.ink_ripple */ 72672); var _ui = _interopRequireDefault(__webpack_require__( /*! ./ui.slider_handle */ 6320)); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var Slider = _track_bar.default.inherit({ _activeStateUnit: ".dx-slider-handle", _supportedKeys: function() { var _this = this; var isRTL = this.option("rtlEnabled"); var roundedValue = function(offset, isLeftDirection) { offset = _this._valueStep(offset); var step = _this.option("step"); var value = _this.option("value"); var currentPosition = value - _this.option("min"); var remainder = (0, _math.getRemainderByDivision)(currentPosition, step, _this._getValueExponentLength()); var result = isLeftDirection ? value - offset + (remainder ? step - remainder : 0) : value + offset - remainder; var min = _this.option("min"); var max = _this.option("max"); if (result < min) { result = min } else if (result > max) { result = max } return _this._roundToExponentLength(result) }; var moveHandleRight = function(offset) { _this.option("value", roundedValue(offset, isRTL)) }; var moveHandleLeft = function(offset) { _this.option("value", roundedValue(offset, !isRTL)) }; return (0, _extend.extend)(this.callBase(), { leftArrow: function(e) { this._processKeyboardEvent(e); moveHandleLeft(this.option("step")) }, rightArrow: function(e) { this._processKeyboardEvent(e); moveHandleRight(this.option("step")) }, pageUp: function(e) { this._processKeyboardEvent(e); moveHandleRight(this.option("step") * this.option("keyStep")) }, pageDown: function(e) { this._processKeyboardEvent(e); moveHandleLeft(this.option("step") * this.option("keyStep")) }, home: function(e) { this._processKeyboardEvent(e); var min = this.option("min"); this.option("value", min) }, end: function(e) { this._processKeyboardEvent(e); var max = this.option("max"); this.option("value", max) } }) }, _processKeyboardEvent: function(e) { e.preventDefault(); e.stopPropagation(); this._saveValueChangeEvent(e) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { value: 50, hoverStateEnabled: true, activeStateEnabled: true, step: 1, showRange: true, tooltip: { enabled: false, format: function(value) { return value }, position: "top", showMode: "onHover" }, label: { visible: false, position: "bottom", format: function(value) { return value } }, keyStep: 1, useInkRipple: false, validationMessageOffset: (0, _themes.isMaterial)() ? { h: 18, v: 0 } : { h: 7, v: 4 }, focusStateEnabled: true, valueChangeMode: "onHandleMove" }) }, _toggleValidationMessage: function(visible) { if (!this.option("isValid")) { this.$element().toggleClass("dx-invalid-message-visible", visible) } }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }, { device: function() { var themeName = (0, _themes.current)(); return (0, _themes.isMaterial)(themeName) }, options: { useInkRipple: true } }]) }, _initMarkup: function() { this.$element().addClass("dx-slider"); this._renderSubmitElement(); this.option("useInkRipple") && this._renderInkRipple(); this.callBase(); this._renderLabels(); this._renderStartHandler(); this._renderAriaMinAndMax() }, _attachFocusEvents: function() { this.callBase(); var namespace = this.NAME + "Validation"; var focusInEvent = (0, _index.addNamespace)("focusin", namespace); var focusOutEvent = (0, _index.addNamespace)("focusout", namespace); var $focusTarget = this._focusTarget(); _events_engine.default.on($focusTarget, focusInEvent, this._toggleValidationMessage.bind(this, true)); _events_engine.default.on($focusTarget, focusOutEvent, this._toggleValidationMessage.bind(this, false)) }, _detachFocusEvents: function() { this.callBase(); var $focusTarget = this._focusTarget(); this._toggleValidationMessage(false); _events_engine.default.off($focusTarget, this.NAME + "Validation") }, _render: function() { this.callBase(); this._repaintHandle() }, _renderSubmitElement: function() { this._$submitElement = (0, _renderer.default)("<input>").attr("type", "hidden").appendTo(this.$element()) }, _getSubmitElement: function() { return this._$submitElement }, _renderInkRipple: function() { this._inkRipple = (0, _utils.render)({ waveSizeCoefficient: .7, isCentered: true, wavesNumber: 2, useHoldAnimation: false }) }, _renderInkWave: function(element, dxEvent, doRender, waveIndex) { if (!this._inkRipple) { return } var config = { element: element, event: dxEvent, wave: waveIndex }; if (doRender) { this._inkRipple.showWave(config) } else { this._inkRipple.hideWave(config) } }, _visibilityChanged: function() { this.repaint() }, _renderWrapper: function() { this.callBase(); this._$wrapper.addClass("dx-slider-wrapper"); this._createComponent(this._$wrapper, _swipeable.default, { elastic: false, immediate: true, immediateTimeout: 0, onStart: this._swipeStartHandler.bind(this), onUpdated: this._swipeUpdateHandler.bind(this), onEnd: this._swipeEndHandler.bind(this), itemSizeFunc: this._itemWidthFunc.bind(this) }) }, _renderContainer: function() { this.callBase(); this._$bar.addClass("dx-slider-bar") }, _renderRange: function() { this.callBase(); this._$range.addClass("dx-slider-range"); this._renderHandle(); this._renderRangeVisibility() }, _renderRangeVisibility: function() { this._$range.toggleClass("dx-slider-range-visible", Boolean(this.option("showRange"))) }, _renderHandle: function() { this._$handle = this._renderHandleImpl(this.option("value"), this._$handle) }, _renderHandleImpl: function(value, $element) { var $handle = $element || (0, _renderer.default)("<div>").appendTo(this._$range); var tooltip = this.option("tooltip"); this.$element().toggleClass("dx-slider-tooltip-position-bottom", tooltip.enabled && "bottom" === tooltip.position).toggleClass("dx-slider-tooltip-position-top", tooltip.enabled && "top" === tooltip.position); this._createComponent($handle, _ui.default, { value: value, tooltip: tooltip }); return $handle }, _renderAriaMinAndMax: function() { this.setAria({ valuemin: this.option("min"), valuemax: this.option("max") }, this._$handle) }, _toggleActiveState: function($element, value) { this.callBase($element, value); this._renderInkWave($element, null, !!value, 1) }, _toggleFocusClass: function(isFocused, $element) { this.callBase(isFocused, $element); if (this._disposed) { return } var $focusTarget = (0, _renderer.default)($element || this._focusTarget()); this._renderInkWave($focusTarget, null, isFocused, 0) }, _renderLabels: function() { this.$element().removeClass("dx-slider-label-position-bottom").removeClass("dx-slider-label-position-top"); if (this.option("label.visible")) { var min = this.option("min"); var max = this.option("max"); var position = this.option("label.position"); var labelFormat = this.option("label.format"); if (!this._$minLabel) { this._$minLabel = (0, _renderer.default)("<div>").addClass("dx-slider-label").appendTo(this._$wrapper) } this._$minLabel.text(_number.default.format(min, labelFormat)); if (!this._$maxLabel) { this._$maxLabel = (0, _renderer.default)("<div>").addClass("dx-slider-label").appendTo(this._$wrapper) } this._$maxLabel.text(_number.default.format(max, labelFormat)); this.$element().addClass("dx-slider-label-position-" + position) } else { if (this._$minLabel) { this._$minLabel.remove(); delete this._$minLabel } if (this._$maxLabel) { this._$maxLabel.remove(); delete this._$maxLabel } } }, _renderStartHandler: function() { var _this2 = this; var pointerDownEventName = (0, _index.addNamespace)(_pointer.default.down, this.NAME); var clickEventName = (0, _index.addNamespace)(_click.name, this.NAME); var startAction = this._createAction(this._startHandler.bind(this)); var $element = this.$element(); _events_engine.default.off($element, pointerDownEventName); _events_engine.default.on($element, pointerDownEventName, (function(e) { if ((0, _index.isMouseEvent)(e)) { startAction({ event: e }) } })); _events_engine.default.off($element, clickEventName); _events_engine.default.on($element, clickEventName, (function(e) { var $handle = _this2._activeHandle(); if ($handle) { _events_engine.default.trigger($handle, "focusin"); _events_engine.default.trigger($handle, "focus") } startAction({ event: e }); if ("onHandleRelease" === _this2.option("valueChangeMode")) { _this2.option("value", _this2._getActualValue()); _this2._actualValue = void 0 } })) }, _itemWidthFunc: function() { return this._itemWidthRatio }, _swipeStartHandler: function(e) { var rtlEnabled = this.option("rtlEnabled"); if ((0, _index.isTouchEvent)(e.event)) { this._createAction(this._startHandler.bind(this))({ event: e.event }) } this._feedbackDeferred = new _deferred.Deferred; (0, _emitter.lock)(this._feedbackDeferred); this._toggleActiveState(this._activeHandle(), this.option("activeStateEnabled")); this._startOffset = this._currentRatio; var startOffset = this._startOffset * this._swipePixelRatio(); var endOffset = (1 - this._startOffset) * this._swipePixelRatio(); e.event.maxLeftOffset = rtlEnabled ? endOffset : startOffset; e.event.maxRightOffset = rtlEnabled ? startOffset : endOffset; this._itemWidthRatio = (0, _size.getWidth)(this.$element()) / this._swipePixelRatio(); this._needPreventAnimation = true }, _swipeEndHandler: function(e) { if (this._isSingleValuePossible()) { return } this._feedbackDeferred.resolve(); this._toggleActiveState(this._activeHandle(), false); var offsetDirection = this.option("rtlEnabled") ? -1 : 1; var ratio = this._startOffset + offsetDirection * e.event.targetOffset / this._swipePixelRatio(); delete this._needPreventAnimation; this._saveValueChangeEvent(e.event); this._changeValueOnSwipe(ratio); if ("onHandleRelease" === this.option("valueChangeMode")) { this.option("value", this._getActualValue()) } this._actualValue = void 0; delete this._startOffset; this._renderValue() }, _activeHandle: function() { return this._$handle }, _swipeUpdateHandler: function(e) { if (this._isSingleValuePossible()) { return } this._saveValueChangeEvent(e.event); this._updateHandlePosition(e) }, _updateHandlePosition: function(e) { var offsetDirection = this.option("rtlEnabled") ? -1 : 1; var newRatio = Math.min(this._startOffset + offsetDirection * e.event.offset / this._swipePixelRatio(), 1); (0, _size.setWidth)(this._$range, 100 * newRatio + "%"); _ui.default.getInstance(this._activeHandle()).fitTooltipPosition; this._changeValueOnSwipe(newRatio) }, _swipePixelRatio: function() { var min = this.option("min"); var max = this.option("max"); var step = this._valueStep(this.option("step")); return (max - min) / step }, _valueStep: function(step) { if (!step || isNaN(step)) { step = 1 } return step }, _getValueExponentLength: function() { var _this$option = this.option(), step = _this$option.step, min = _this$option.min; return Math.max((0, _math.getExponentLength)(step), (0, _math.getExponentLength)(min)) }, _roundToExponentLength: function(value) { var valueExponentLength = this._getValueExponentLength(); return (0, _math.roundFloatPart)(value, valueExponentLength) }, _changeValueOnSwipe: function(ratio) { var min = this.option("min"); var max = this.option("max"); var step = this._valueStep(this.option("step")); var newChange = ratio * (max - min); var newValue = min + newChange; if (step < 0) { return } if (newValue === max || newValue === min) { this._setValueOnSwipe(newValue) } else { var stepCount = Math.round((newValue - min) / step); newValue = this._roundToExponentLength(stepCount * step + min); this._setValueOnSwipe(Math.max(Math.min(newValue, max), min)) } }, _setValueOnSwipe: function(value) { this._actualValue = value; if ("onHandleRelease" === this.option("valueChangeMode")) { _ui.default.getInstance(this._activeHandle()).option("value", value) } else { this.option("value", value); this._saveValueChangeEvent(void 0) } }, _getActualValue: function() { var _this$_actualValue; return null !== (_this$_actualValue = this._actualValue) && void 0 !== _this$_actualValue ? _this$_actualValue : this.option("value") }, _isSingleValuePossible: function() { var _this$option2 = this.option(), min = _this$option2.min, max = _this$option2.max; return min === max }, _startHandler: function(args) { if (this._isSingleValuePossible()) { return } var e = args.event; this._currentRatio = ((0, _index.eventData)(e).x - this._$bar.offset().left) / (0, _size.getWidth)(this._$bar); if (this.option("rtlEnabled")) { this._currentRatio = 1 - this._currentRatio } this._saveValueChangeEvent(e); this._changeValueOnSwipe(this._currentRatio) }, _renderValue: function() { this.callBase(); var value = this._getActualValue(); this._getSubmitElement().val((0, _common.applyServerDecimalSeparator)(value)); _ui.default.getInstance(this._activeHandle()).option("value", value) }, _setRangeStyles: function(options) { options && this._$range.css(options) }, _callHandlerMethod: function(name, args) { _ui.default.getInstance(this._$handle)[name](args) }, _repaintHandle: function() { this._callHandlerMethod("repaint") }, _fitTooltip: function() { this._callHandlerMethod("updateTooltipPosition") }, _optionChanged: function(args) { switch (args.name) { case "visible": this.callBase(args); this._renderHandle(); this._repaintHandle(); break; case "min": case "max": this._renderValue(); this.callBase(args); this._renderLabels(); this._renderAriaMinAndMax(); this._fitTooltip(); break; case "step": this._renderValue(); break; case "keyStep": break; case "showRange": this._renderRangeVisibility(); break; case "tooltip": this._renderHandle(); break; case "label": this._renderLabels(); break; case "useInkRipple": this._invalidate(); break; case "valueChangeMode": break; default: this.callBase(args) } }, _refresh: function() { this._toggleRTLDirection(this.option("rtlEnabled")); this._renderDimensions(); this._renderValue(); this._renderHandle(); this._repaintHandle() }, _clean: function() { delete this._inkRipple; delete this._actualValue; this.callBase() } }); (0, _component_registrator.default)("dxSlider", Slider); var _default = Slider; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 6320: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/slider/ui.slider_handle.js ***! \***************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ./ui.slider_tooltip */ 52554)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var SliderHandle = _ui.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { hoverStateEnabled: false, value: 0, tooltip: { enabled: false, format: function(value) { return value }, position: "top", showMode: "onHover" } }) }, _initMarkup: function() { this.callBase(); this.$element().addClass("dx-slider-handle"); this.setAria({ role: "slider", valuenow: this.option("value") }) }, _render: function() { this.callBase(); this._renderTooltip() }, _renderTooltip: function() { var _this$option = this.option(), tooltip = _this$option.tooltip, value = _this$option.value; var position = tooltip.position, format = tooltip.format, enabled = tooltip.enabled, showMode = tooltip.showMode; var $sliderTooltip = (0, _renderer.default)("<div>"); this._sliderTooltip = this._createComponent($sliderTooltip, _ui2.default, { target: this.$element(), container: $sliderTooltip, position: position, visible: enabled, showMode: showMode, format: format, value: value }) }, _clean: function() { this.callBase(); this._sliderTooltip = null }, _updateTooltipOptions: function(args) { var _this$_sliderTooltip; var tooltipOptions = _ui.default.getOptionsFromContainer(args); this._setWidgetOption("_sliderTooltip", [tooltipOptions]); null === (_this$_sliderTooltip = this._sliderTooltip) || void 0 === _this$_sliderTooltip ? void 0 : _this$_sliderTooltip.option("visible", tooltipOptions.enabled) }, _optionChanged: function(args) { var name = args.name, value = args.value; switch (name) { case "value": var _this$_sliderTooltip2; null === (_this$_sliderTooltip2 = this._sliderTooltip) || void 0 === _this$_sliderTooltip2 ? void 0 : _this$_sliderTooltip2.option("value", value); this.setAria("valuenow", value); break; case "tooltip": this._updateTooltipOptions(args); break; default: this.callBase(args) } }, updateTooltipPosition: function() { var _this$_sliderTooltip3; null === (_this$_sliderTooltip3 = this._sliderTooltip) || void 0 === _this$_sliderTooltip3 ? void 0 : _this$_sliderTooltip3.updatePosition() }, repaint: function() { var _this$_sliderTooltip4; null === (_this$_sliderTooltip4 = this._sliderTooltip) || void 0 === _this$_sliderTooltip4 ? void 0 : _this$_sliderTooltip4.repaint() } }); var _default = SliderHandle; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 52554: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/slider/ui.slider_tooltip.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _tooltip = _interopRequireDefault(__webpack_require__( /*! ../tooltip */ 94920)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _slider_tooltip_position_controller = __webpack_require__( /*! ./slider_tooltip_position_controller */ 73437); var _number = _interopRequireDefault(__webpack_require__( /*! ../../localization/number */ 18016)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var SliderTooltip = _tooltip.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { visible: false, position: "top", hideOnOutsideClick: false, hideTopOverlayHandler: null, hideOnParentScroll: false, animation: null, arrowPosition: null, templatesRenderAsynchronously: false, _fixWrapperPosition: false, useResizeObserver: false, showMode: "onHover", format: function(value) { return value }, value: 0 }) }, _initMarkup: function() { this.callBase(); this._attachToMarkup(this.option("visible")); this._toggleShowModeClass() }, _renderContent: function() { this.callBase(); this._renderContentText() }, _renderContentText: function() { var _this$option = this.option(), value = _this$option.value, format = _this$option.format; var formattedText = _number.default.format(null !== value && void 0 !== value ? value : 0, format); this.$content().text(formattedText); this._renderPosition() }, _toggleShowModeClass: function() { var isHoverMode = "onHover" === this.option("showMode"); var $sliderHandle = this.option("target"); $sliderHandle.toggleClass("dx-slider-tooltip-visible-on-hover", isHoverMode) }, _initPositionController: function() { this._positionController = new _slider_tooltip_position_controller.SliderTooltipPositionController(this._getPositionControllerConfig()) }, _attachToMarkup: function(enabled) { var $sliderHandle = this.option("target"); enabled ? this.$element().appendTo($sliderHandle) : this.$element().detach() }, _optionChanged: function(args) { var name = args.name, value = args.value; switch (name) { case "visible": this._attachToMarkup(value); this.callBase(args); break; case "showMode": this._toggleShowModeClass(); break; case "format": case "value": this._renderContentText(); break; default: this.callBase(args) } }, updatePosition: function() { this._renderPosition() } }); var _default = SliderTooltip; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 66843: /*!************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/sortable.js ***! \************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _m_sortable = (obj = __webpack_require__( /*! ../__internal/m_sortable */ 75500), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _m_sortable.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 17017: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/speed_dial_action.js ***! \*********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _speed_dial_action = (obj = __webpack_require__( /*! ./speed_dial_action/speed_dial_action */ 43161), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _speed_dial_action.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 81374: /*!****************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/speed_dial_action/repaint_floating_action_button.js ***! \****************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _speed_dial_main_item = __webpack_require__( /*! ./speed_dial_main_item */ 18058); var _default = _speed_dial_main_item.repaint; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 43161: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/speed_dial_action/speed_dial_action.js ***! \***************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); var _ready_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/ready_callbacks */ 24311)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.widget */ 14390)); var _speed_dial_main_item = __webpack_require__( /*! ./speed_dial_main_item */ 18058); var _swatch_container = _interopRequireDefault(__webpack_require__( /*! ../widget/swatch_container */ 92591)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var getSwatchContainer = _swatch_container.default.getSwatchContainer; var ready = _ready_callbacks.default.add; var SpeedDialAction = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SpeedDialAction, _Widget); function SpeedDialAction() { return _Widget.apply(this, arguments) || this } var _proto = SpeedDialAction.prototype; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { icon: "", onClick: null, label: "", visible: true, index: 0, onContentReady: null, activeStateEnabled: true, hoverStateEnabled: true, animation: { show: { type: "pop", duration: 200, easing: "cubic-bezier(0.4, 0, 0.2, 1)", from: { scale: 0, opacity: 0 }, to: { scale: 1, opacity: 1 } }, hide: { type: "pop", duration: 200, easing: "cubic-bezier(0.4, 0, 0.2, 1)", from: { scale: 1, opacity: 1 }, to: { scale: 0, opacity: 0 } } }, id: new _guid.default }) }; _proto._optionChanged = function(args) { switch (args.name) { case "onClick": case "icon": case "label": case "visible": case "index": case "onInitializing": (0, _speed_dial_main_item.initAction)(this); break; case "animation": case "id": break; default: _Widget.prototype._optionChanged.call(this, args) } }; _proto._render = function() { var _this = this; this._toggleVisibility(false); if (!getSwatchContainer(this.$element())) { ready((function() { return (0, _speed_dial_main_item.initAction)(_this) })) } else { (0, _speed_dial_main_item.initAction)(this) } }; _proto._dispose = function() { (0, _speed_dial_main_item.disposeAction)(this._options.silent("id")); _Widget.prototype._dispose.call(this) }; return SpeedDialAction }(_ui.default); (0, _component_registrator.default)("dxSpeedDialAction", SpeedDialAction); var _default = SpeedDialAction; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 37668: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/speed_dial_action/speed_dial_item.js ***! \*************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _click = __webpack_require__( /*! ../../events/click */ 95429); var _icon = __webpack_require__( /*! ../../core/utils/icon */ 44899); var _ui = _interopRequireDefault(__webpack_require__( /*! ../overlay/ui.overlay */ 89799)); var _utils = __webpack_require__( /*! ../widget/utils.ink_ripple */ 72672); var _themes = __webpack_require__( /*! ../themes */ 75811); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var SpeedDialItem = function(_Overlay) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SpeedDialItem, _Overlay); function SpeedDialItem() { return _Overlay.apply(this, arguments) || this } var _proto = SpeedDialItem.prototype; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Overlay.prototype._getDefaultOptions.call(this), { shading: false, useInkRipple: false, callOverlayRenderShading: false, width: "auto", zIndex: 1500, _observeContentResize: false }) }; _proto._defaultOptionsRules = function() { return _Overlay.prototype._defaultOptionsRules.call(this).concat([{ device: function() { return (0, _themes.isMaterial)() }, options: { useInkRipple: true } }]) }; _proto._moveToContainer = function() { this._$wrapper.appendTo(this.$element()); this._$content.appendTo(this._$wrapper) }; _proto._render = function() { this.$element().addClass("dx-fa-button"); this._renderIcon(); this._renderLabel(); _Overlay.prototype._render.call(this); this.option("useInkRipple") && this._renderInkRipple(); this._renderClick() }; _proto._renderLabel = function() { !!this._$label && this._$label.remove(); var labelText = this.option("label"); if (!labelText) { this._$label = null; return } var $element = (0, _renderer.default)("<div>").addClass("dx-fa-button-label"); var $wrapper = (0, _renderer.default)("<div>").addClass("dx-fa-button-label-wrapper"); this._$label = $wrapper.prependTo(this.$content()).append($element.text(labelText)); this.$content().toggleClass("dx-fa-button-content-reverse", this._isPositionLeft(this.option("parentPosition"))) }; _proto._isPositionLeft = function(position) { var currentLocation = ""; if (position) { if ((0, _type.isPlainObject)(position) && position.at) { if (position.at.x) { currentLocation = position.at.x } else { currentLocation = position.at } } else if ("string" === typeof position) { currentLocation = position } } return "left" === currentLocation.split(" ")[0] }; _proto._renderButtonIcon = function($element, icon, iconClass) { !!$element && $element.remove(); $element = (0, _renderer.default)("<div>").addClass(iconClass); var $iconElement = (0, _icon.getImageContainer)(icon); $element.append($iconElement).appendTo(this.$content()); return $element }; _proto._renderIcon = function() { this._$icon = this._renderButtonIcon(this._$icon, this._options.silent("icon"), "dx-fa-button-icon") }; _proto._renderWrapper = function() { if (this._options.silent("callOverlayRenderShading")) { _Overlay.prototype._renderWrapper.call(this) } }; _proto._getVisibleActions = function(actions) { var currentActions = actions || this.option("actions") || []; return currentActions.filter((function(action) { return action.option("visible") })) }; _proto._getActionComponent = function() { if (1 === this._getVisibleActions().length) { return this._getVisibleActions()[0] } else { return this.option("actionComponent") || this.option("actions")[0] } }; _proto._initContentReadyAction = function() { this._contentReadyAction = this._getActionComponent()._createActionByOption("onContentReady", { excludeValidators: ["disabled", "readOnly"] }, true) }; _proto._fireContentReadyAction = function() { this._contentReadyAction({ actionElement: this.$element() }) }; _proto._updateZIndexStackPosition = function() { var zIndex = this.option("zIndex"); this._$wrapper.css("zIndex", zIndex); this._$content.css("zIndex", zIndex) }; _proto._setClickAction = function() { var _this = this; var eventName = (0, _index.addNamespace)(_click.name, this.NAME); var overlayContent = this.$element().find(".dx-overlay-content"); _events_engine.default.off(overlayContent, eventName); _events_engine.default.on(overlayContent, eventName, (function(e) { var clickActionArgs = { event: e, actionElement: _this.element(), element: _this._getActionComponent().$element() }; _this._clickAction(clickActionArgs) })) }; _proto._defaultActionArgs = function() { return { component: this._getActionComponent() } }; _proto._renderClick = function() { this._clickAction = this._getActionComponent()._createActionByOption("onClick"); this._setClickAction() }; _proto._renderInkRipple = function() { this._inkRipple = (0, _utils.render)() }; _proto._getInkRippleContainer = function() { return this._$icon }; _proto._toggleActiveState = function($element, value, e) { _Overlay.prototype._toggleActiveState.apply(this, arguments); if (!this._inkRipple) { return } var config = { element: this._getInkRippleContainer(), event: e }; if (value) { this._inkRipple.showWave(config) } else { this._inkRipple.hideWave(config) } }; _proto._optionChanged = function(args) { switch (args.name) { case "icon": this._renderIcon(); break; case "onClick": this._renderClick(); break; case "label": this._renderLabel(); break; case "visible": this._currentVisible = args.previousValue; args.value ? this._show() : this._hide(); break; case "useInkRipple": this._render(); break; default: _Overlay.prototype._optionChanged.call(this, args) } }; return SpeedDialItem }(_ui.default); var _default = SpeedDialItem; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 18058: /*!******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/speed_dial_action/speed_dial_main_item.js ***! \******************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.disposeAction = function(actionId) { if (!speedDialMainItem) { return } var savedActions = speedDialMainItem.option("actions"); var savedActionsCount = savedActions.length; savedActions = savedActions.filter((function(action) { return action._options.silent("id") !== actionId })); if (savedActionsCount === savedActions.length) { return } if (!savedActions.length) { speedDialMainItem.dispose(); speedDialMainItem.$element().remove(); speedDialMainItem = null } else if (1 === savedActions.length) { speedDialMainItem.option((0, _extend.extend)({}, modifyActionOptions(savedActions[0]), { actions: savedActions })) } else { speedDialMainItem.option({ actions: savedActions }) } }; exports.initAction = function(newAction) { newAction._options.silent("onInitializing", null); var isActionExist = false; if (!speedDialMainItem) { var $fabMainElement = (0, _renderer.default)("<div>").appendTo(getSwatchContainer(newAction.$element())); speedDialMainItem = newAction._createComponent($fabMainElement, SpeedDialMainItem, (0, _extend.extend)({}, modifyActionOptions(newAction), { actions: [newAction] })) } else { var savedActions = speedDialMainItem.option("actions"); savedActions.forEach((function(action) { if (action._options.silent("id") === newAction._options.silent("id")) { isActionExist = true; return newAction } })); delete speedDialMainItem._options.position; if (!isActionExist) { if (speedDialMainItem._getVisibleActions(savedActions).length >= speedDialMainItem.option("maxSpeedDialActionCount")) { newAction.dispose(); _ui.default.log("W1014"); return } savedActions.push(newAction); speedDialMainItem.option((0, _extend.extend)(speedDialMainItem._getCurrentOptions(savedActions), { actions: savedActions })) } else if (1 === savedActions.length) { speedDialMainItem.option((0, _extend.extend)({}, modifyActionOptions(savedActions[0]), { actions: savedActions, position: speedDialMainItem._getPosition() })) } else { speedDialMainItem.option((0, _extend.extend)(speedDialMainItem._getCurrentOptions(savedActions), { actions: savedActions })) } } }; exports.repaint = function() { if (!speedDialMainItem) { return } var visibleActions = speedDialMainItem._getVisibleActions(); var icon = 1 === visibleActions.length ? visibleActions[0].option("icon") : speedDialMainItem._getDefaultOptions().icon; var label = 1 === visibleActions.length ? visibleActions[0].option("label") : speedDialMainItem._getDefaultOptions().label; speedDialMainItem.option({ actions: speedDialMainItem.option("actions"), icon: icon, closeIcon: speedDialMainItem._getDefaultOptions().closeIcon, position: speedDialMainItem._getPosition(), label: label, maxSpeedDialActionCount: speedDialMainItem._getDefaultOptions().maxSpeedDialActionCount, direction: speedDialMainItem._getDefaultOptions().direction }) }; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _config = _interopRequireDefault(__webpack_require__( /*! ../../core/config */ 80209)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _swatch_container = _interopRequireDefault(__webpack_require__( /*! ../widget/swatch_container */ 92591)); var _speed_dial_item = _interopRequireDefault(__webpack_require__( /*! ./speed_dial_item */ 37668)); var _themes = __webpack_require__( /*! ../themes */ 75811); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var getSwatchContainer = _swatch_container.default.getSwatchContainer; var speedDialMainItem = null; var modifyActionOptions = function(action) { var _action$option = action.option(), animation = _action$option.animation, actionComponent = _action$option.actionComponent, actionVisible = _action$option.actionVisible, actions = _action$option.actions, activeStateEnabled = _action$option.activeStateEnabled, direction = _action$option.direction, elementAttr = _action$option.elementAttr, hint = _action$option.hint, hoverStateEnabled = _action$option.hoverStateEnabled, icon = _action$option.icon, id = _action$option.id, index = _action$option.index, label = _action$option.label, onClick = _action$option.onClick, onContentReady = _action$option.onContentReady, parentPosition = _action$option.parentPosition, position = _action$option.position, visible = _action$option.visible, zIndex = _action$option.zIndex; return (0, _extend.extend)({}, { animation: animation, actionComponent: actionComponent, actionVisible: actionVisible, actions: actions, activeStateEnabled: activeStateEnabled, direction: direction, elementAttr: elementAttr, hint: hint, hoverStateEnabled: hoverStateEnabled, icon: icon, id: id, index: index, label: label, onClick: onClick, onContentReady: onContentReady, parentPosition: parentPosition, position: position, visible: visible, zIndex: zIndex, _ignoreElementAttrDeprecation: true }, { onInitialized: null, onDisposing: null }) }; var SpeedDialMainItem = function(_SpeedDialItem) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SpeedDialMainItem, _SpeedDialItem); function SpeedDialMainItem() { return _SpeedDialItem.apply(this, arguments) || this } var _proto = SpeedDialMainItem.prototype; _proto._getDefaultOptions = function() { var defaultOptions = { icon: "add", closeIcon: "close", position: { at: "right bottom", my: "right bottom", offset: { x: -16, y: -16 } }, maxSpeedDialActionCount: 5, hint: "", label: "", direction: "auto", actions: [], activeStateEnabled: true, hoverStateEnabled: true, indent: (0, _themes.isCompact)() ? 49 : 55, childIndent: 40, childOffset: (0, _themes.isCompact)() ? 2 : 9, callOverlayRenderShading: true, hideOnOutsideClick: true }; return (0, _extend.extend)(_SpeedDialItem.prototype._getDefaultOptions.call(this), (0, _extend.extend)(defaultOptions, (0, _config.default)().floatingActionButtonConfig, { shading: false })) }; _proto._defaultOptionsRules = function() { return _SpeedDialItem.prototype._defaultOptionsRules.call(this).concat([{ device: function() { return (0, _themes.isMaterial)() && !(0, _themes.isCompact)() }, options: { indent: 72, childIndent: 56, childOffset: 8 } }, { device: function() { return (0, _themes.isMaterial)() && (0, _themes.isCompact)() }, options: { indent: 58, childIndent: 48, childOffset: 1 } }]) }; _proto._render = function() { this.$element().addClass("dx-fa-button-main"); _SpeedDialItem.prototype._render.call(this); this._moveToContainer(); this._renderCloseIcon(); this._renderClick() }; _proto._renderLabel = function() { _SpeedDialItem.prototype._renderLabel.call(this); this.$element().toggleClass("dx-fa-button-with-label", !!this._$label) }; _proto._renderIcon = function() { _SpeedDialItem.prototype._renderIcon.call(this); this.$element().toggleClass("dx-fa-button-without-icon", !this.option("icon")) }; _proto._renderCloseIcon = function() { this._$closeIcon = this._renderButtonIcon(this._$closeIcon, this._options.silent("closeIcon"), "dx-fa-button-icon-close"); this._$closeIcon.addClass("dx-state-invisible") }; _proto._renderClick = function() { this._clickAction = 1 === this._getVisibleActions().length ? this._getActionComponent()._createActionByOption("onClick") : this._createAction(this._clickHandler.bind(this)); this._setClickAction() }; _proto._getVisibleActions = function(actions) { var currentActions = actions || this.option("actions"); return currentActions.filter((function(action) { return action.option("visible") })) }; _proto._getCurrentOptions = function(actions) { var visibleActions = speedDialMainItem._getVisibleActions(actions); var defaultOptions = this._getDefaultOptions(); delete defaultOptions.elementAttr; delete defaultOptions.closeOnOutsideClick; return 1 === visibleActions.length ? (0, _extend.extend)(modifyActionOptions(visibleActions[0]), { position: this._getPosition() }) : (0, _extend.extend)(defaultOptions, { visible: 0 !== visibleActions.length }) }; _proto._clickHandler = function() { var actions = this._actionItems.filter((function(action) { return action.option("actionVisible") })).sort((function(action, nextAction) { return action.option("index") - nextAction.option("index") })); if (1 === actions.length) { return } var lastActionIndex = actions.length - 1; for (var i = 0; i < actions.length; i++) { actions[i].option("animation", this._getActionAnimation(actions[i], i, lastActionIndex)); actions[i].option("position", this._getActionPosition(actions, i)); actions[i]._$wrapper.css("position", this._$wrapper.css("position")); actions[i].toggle() } if ((0, _config.default)().floatingActionButtonConfig.shading) { this._isShadingShown = !this.option("shading"); this.option("shading", this._isShadingShown) } this._$icon.toggleClass("dx-state-invisible"); this._$closeIcon.toggleClass("dx-state-invisible") }; _proto._updateZIndexStackPosition = function() { _SpeedDialItem.prototype._updateZIndexStackPosition.call(this); var overlayStack = this._overlayStack(); overlayStack.push(this) }; _proto._renderActions = function() { var _this = this; var actions = this.option("actions"); if (this._actionItems && this._actionItems.length) { this._actionItems.forEach((function(actionItem) { actionItem.dispose(); actionItem.$element().remove() })); this._actionItems = [] } this._actionItems = []; if (1 === actions.length) { return } for (var i = 0; i < actions.length; i++) { var action = actions[i]; var $actionElement = (0, _renderer.default)("<div>").appendTo(getSwatchContainer(action.$element())); _events_engine.default.off($actionElement, "click"); _events_engine.default.on($actionElement, "click", (function() { _this._clickHandler() })); action._options.silent("actionComponent", action); action._options.silent("parentPosition", this._getPosition()); action._options.silent("actionVisible", action._options.silent("visible")); this._actionItems.push(this._createComponent($actionElement, _speed_dial_item.default, (0, _extend.extend)({}, modifyActionOptions(action), { visible: false }))) } }; _proto._getActionAnimation = function(action, index, lastActionIndex) { action._options.silent("animation.show.delay", 30 * index); action._options.silent("animation.hide.delay", 30 * (lastActionIndex - index)); return action._options.silent("animation") }; _proto._getDirectionIndex = function(actions, direction) { if ("auto" === direction) { var contentHeight = (0, _size.getHeight)(this.$content()); var actionsHeight = this.initialOption("indent") + this.initialOption("childIndent") * actions.length - contentHeight; var offsetTop = this.$content().offset().top; if (actionsHeight < offsetTop) { return -1 } else { var offsetBottom = (0, _size.getHeight)(this._positionController._$wrapperCoveredElement) - contentHeight - offsetTop; return offsetTop >= offsetBottom ? -1 : 1 } } return "down" !== direction ? -1 : 1 }; _proto._getActionPosition = function(actions, index) { var action = actions[index]; var actionOffsetXValue = this.initialOption("childOffset"); var actionOffsetX = action._options.silent("label") && !this._$label ? this._isPositionLeft(this._getPosition()) ? actionOffsetXValue : -actionOffsetXValue : 0; var actionOffsetYValue = this.initialOption("indent") + this.initialOption("childIndent") * index; var actionOffsetY = this._getDirectionIndex(actions, this.option("direction")) * actionOffsetYValue; var actionPositionAtMy = action._options.silent("label") ? this._isPositionLeft(this._getPosition()) ? "left" : "right" : "center"; return { of: this.$content(), at: actionPositionAtMy, my: actionPositionAtMy, offset: { x: actionOffsetX, y: actionOffsetY } } }; _proto._outsideClickHandler = function(e) { if (this._isShadingShown) { var isShadingClick = (0, _renderer.default)(e.target)[0] === this._$wrapper[0]; if (isShadingClick) { e.preventDefault(); this._clickHandler() } } }; _proto._setPosition = function() { if (this.option("visible")) { this._hide(); this._show() } }; _proto._getPosition = function() { return this._getDefaultOptions().position }; _proto._getInkRippleContainer = function() { return this.$content() }; _proto._optionChanged = function(args) { switch (args.name) { case "actions": if (this._isVisible()) { this._renderIcon(); this._renderLabel() } this._renderCloseIcon(); this._renderClick(); this._renderActions(); break; case "maxSpeedDialActionCount": this._renderActions(); break; case "closeIcon": this._renderCloseIcon(); break; case "position": _SpeedDialItem.prototype._optionChanged.call(this, args); this._setPosition(); break; case "label": if (this._isVisible()) { this._renderLabel() } this._setPosition(); break; case "icon": if (this._isVisible()) { this._renderIcon() } break; default: _SpeedDialItem.prototype._optionChanged.call(this, args) } }; return SpeedDialMainItem }(_speed_dial_item.default) }, 93288: /*!************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/splitter.js ***! \************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./widget/ui.widget */ 14390)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../events/pointer */ 93786)); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); var _guid = _interopRequireDefault(__webpack_require__( /*! ../core/guid */ 73176)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var window = (0, _window.getWindow)(); var SPLITTER_WRAPPER_CLASS = "".concat("dx-splitter", "-wrapper"); var SPLITTER_INACTIVE_CLASS = "".concat("dx-splitter", "-inactive"); var SPLITTER_BORDER_CLASS = "".concat("dx-splitter", "-border"); var SPLITTER_INITIAL_STATE_CLASS = "".concat("dx-splitter", "-initial"); var SplitterControl = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(SplitterControl, _Widget); function SplitterControl() { return _Widget.apply(this, arguments) || this } var _proto = SplitterControl.prototype; _proto._init = function() { _Widget.prototype._init.call(this); var eventGuid = (new _guid.default).toString(); this.SPLITTER_POINTER_DOWN_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.down, "dxSplitterResizing" + eventGuid); this.SPLITTER_POINTER_MOVE_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.move, "dxSplitterResizing" + eventGuid); this.SPLITTER_POINTER_UP_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.up, "dxSplitterResizing" + eventGuid) }; _proto._initMarkup = function() { _Widget.prototype._initMarkup.call(this); this._initActions(); this._$container = this.option("container"); this._$leftElement = this.option("leftElement"); this._$rightElement = this.option("rightElement"); this.$element().addClass(SPLITTER_WRAPPER_CLASS).addClass(SPLITTER_INITIAL_STATE_CLASS); this._$splitterBorder = (0, _renderer.default)("<div>").addClass(SPLITTER_BORDER_CLASS).appendTo(this.$element()); this._$splitter = (0, _renderer.default)("<div>").addClass("dx-splitter").addClass(SPLITTER_INACTIVE_CLASS).appendTo(this._$splitterBorder) }; _proto._initActions = function() { this._actions = { onApplyPanelSize: this._createActionByOption("onApplyPanelSize"), onActiveStateChanged: this._createActionByOption("onActiveStateChanged") } }; _proto._render = function() { _Widget.prototype._render.call(this); this._detachEventHandlers(); this._attachEventHandlers() }; _proto._clean = function() { this._detachEventHandlers(); _Widget.prototype._clean.call(this) }; _proto._attachEventHandlers = function() { var document = _dom_adapter.default.getDocument(); _events_engine.default.on(this._$splitterBorder, this.SPLITTER_POINTER_DOWN_EVENT_NAME, this._onMouseDownHandler.bind(this)); _events_engine.default.on(document, this.SPLITTER_POINTER_MOVE_EVENT_NAME, this._onMouseMoveHandler.bind(this)); _events_engine.default.on(document, this.SPLITTER_POINTER_UP_EVENT_NAME, this._onMouseUpHandler.bind(this)) }; _proto._detachEventHandlers = function() { var document = _dom_adapter.default.getDocument(); _events_engine.default.off(this._$splitterBorder, this.SPLITTER_POINTER_DOWN_EVENT_NAME); _events_engine.default.off(document, this.SPLITTER_POINTER_MOVE_EVENT_NAME); _events_engine.default.off(document, this.SPLITTER_POINTER_UP_EVENT_NAME) }; _proto._dimensionChanged = function(dimension) { if (!dimension || "height" !== dimension) { this._containerWidth = this._$container.get(0).clientWidth; this._setSplitterPositionLeft({ needUpdatePanels: true, usePercentagePanelsWidth: true }) } }; _proto._onMouseDownHandler = function(e) { e.preventDefault(); this._offsetX = e.pageX - this._$splitterBorder.offset().left <= this._getSplitterBorderWidth() ? e.pageX - this._$splitterBorder.offset().left : 0; this._containerWidth = this._$container.get(0).clientWidth; this.$element().removeClass(SPLITTER_INITIAL_STATE_CLASS); this._toggleActive(true); this._setSplitterPositionLeft({ needUpdatePanels: true }) }; _proto._onMouseMoveHandler = function(e) { if (!this._isSplitterActive) { return } this._setSplitterPositionLeft({ splitterPositionLeft: this._getNewSplitterPositionLeft(e), needUpdatePanels: true }) }; _proto._onMouseUpHandler = function() { if (!this._isSplitterActive) { return } this._leftPanelPercentageWidth = null; this._toggleActive(false); this._setSplitterPositionLeft({ needUpdatePanels: true, usePercentagePanelsWidth: true }) }; _proto._getNewSplitterPositionLeft = function(e) { var newSplitterPositionLeft = e.pageX - this._getContainerLeftOffset() - this._offsetX; newSplitterPositionLeft = Math.max(0 - this._getSplitterOffset(), newSplitterPositionLeft); newSplitterPositionLeft = Math.min(this._containerWidth - this._getSplitterOffset() - this._getSplitterWidth(), newSplitterPositionLeft); return newSplitterPositionLeft }; _proto._getContainerLeftOffset = function() { var offsetLeft = this._$container.offset().left; if (window) { var style = window.getComputedStyle(this._$container.get(0)); var paddingLeft = parseFloat(style.paddingLeft) || 0; var borderLeft = parseFloat(style.borderLeftWidth) || 0; offsetLeft += paddingLeft + borderLeft } return offsetLeft }; _proto._getSplitterOffset = function() { return (this._getSplitterBorderWidth() - this._getSplitterWidth()) / 2 }; _proto._getSplitterWidth = function() { return this._$splitter.get(0).clientWidth }; _proto._getSplitterBorderWidth = function() { return this._$splitterBorder.get(0).clientWidth }; _proto._getLeftPanelWidth = function() { return this._$leftElement.get(0).clientWidth }; _proto.getSplitterBorderElement = function() { return this._$splitterBorder }; _proto._toggleActive = function(isActive) { this.$element().toggleClass(SPLITTER_INACTIVE_CLASS, !isActive); this._$splitter.toggleClass(SPLITTER_INACTIVE_CLASS, !isActive); this._isSplitterActive = isActive; this._actions.onActiveStateChanged({ isActive: isActive }) }; _proto.toggleDisabled = function(isDisabled) { this.$element().toggleClass("dx-state-disabled", isDisabled); this._$splitter.toggleClass("dx-state-disabled", isDisabled) }; _proto.isSplitterMoved = function() { return !this.$element().hasClass(SPLITTER_INITIAL_STATE_CLASS) }; _proto.disableSplitterCalculation = function(value) { this._isSplitterCalculationDisabled = value }; _proto._setSplitterPositionLeft = function() { var _ref = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, _ref$splitterPosition = _ref.splitterPositionLeft, splitterPositionLeft = void 0 === _ref$splitterPosition ? null : _ref$splitterPosition, _ref$needUpdatePanels = _ref.needUpdatePanels, needUpdatePanels = void 0 === _ref$needUpdatePanels ? false : _ref$needUpdatePanels, _ref$usePercentagePan = _ref.usePercentagePanelsWidth, usePercentagePanelsWidth = void 0 === _ref$usePercentagePan ? false : _ref$usePercentagePan; splitterPositionLeft = splitterPositionLeft || this._getLeftPanelWidth() - this._getSplitterOffset(); var leftPanelWidth = splitterPositionLeft + this._getSplitterOffset(); var rightPanelWidth = this._containerWidth - leftPanelWidth; if (!this._isSplitterCalculationDisabled) { this.$element().css("left", splitterPositionLeft) } this._leftPanelPercentageWidth = this._leftPanelPercentageWidth || this._convertToPercentage(leftPanelWidth); var rightPanelPercentageWidth = this._convertToPercentage(this._containerWidth - this._convertToPixels(this._leftPanelPercentageWidth)); if (!needUpdatePanels) { return } this._actions.onApplyPanelSize({ leftPanelWidth: usePercentagePanelsWidth ? "".concat(this._leftPanelPercentageWidth, "%") : leftPanelWidth, rightPanelWidth: usePercentagePanelsWidth ? "".concat(rightPanelPercentageWidth, "%") : rightPanelWidth }) }; _proto._optionChanged = function(args) { switch (args.name) { case "initialLeftPanelWidth": this._leftPanelPercentageWidth = this._convertToPercentage(args.value); this._dimensionChanged(); break; case "leftElement": this.repaint(); break; case "onActiveStateChanged": case "onApplyPanelSize": this._actions[args.name] = this._createActionByOption(args.name); break; default: _Widget.prototype._optionChanged.call(this, args) } }; _proto._convertToPercentage = function(pixelWidth) { return pixelWidth / this._$container.get(0).clientWidth * 100 }; _proto._convertToPixels = function(percentageWidth) { return percentageWidth / 100 * this._$container.get(0).clientWidth }; return SplitterControl }(_ui.default); exports.default = SplitterControl; module.exports = exports.default; module.exports.default = exports.default }, 31609: /*!**********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/switch.js ***! \**********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _editor = _interopRequireDefault(__webpack_require__( /*! ./editor/editor */ 96452)); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); var _emitter = __webpack_require__( /*! ../events/core/emitter.feedback */ 91633); var _position = __webpack_require__( /*! ../core/utils/position */ 37518); var _fx = _interopRequireDefault(__webpack_require__( /*! ../animation/fx */ 87209)); var _message = _interopRequireDefault(__webpack_require__( /*! ../localization/message */ 28109)); var _click = __webpack_require__( /*! ../events/click */ 95429); var _swipeable = _interopRequireDefault(__webpack_require__( /*! ../events/gesture/swipeable */ 66894)); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var Switch = _editor.default.inherit({ _supportedKeys: function() { var isRTL = this.option("rtlEnabled"); var click = function(e) { e.preventDefault(); this._clickAction({ event: e }) }; var move = function(value, e) { e.preventDefault(); e.stopPropagation(); this._saveValueChangeEvent(e); this._animateValue(value) }; return (0, _extend.extend)(this.callBase(), { space: click, enter: click, leftArrow: move.bind(this, isRTL ? true : false), rightArrow: move.bind(this, isRTL ? false : true) }) }, _useTemplates: function() { return false }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { hoverStateEnabled: true, activeStateEnabled: true, switchedOnText: _message.default.format("dxSwitch-switchedOnText"), switchedOffText: _message.default.format("dxSwitch-switchedOffText"), value: false }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }]) }, _feedbackHideTimeout: 0, _animating: false, _initMarkup: function() { this._renderContainers(); this.$element().addClass("dx-switch").append(this._$switchWrapper); this._renderSubmitElement(); this._renderClick(); this.setAria("role", "button"); this._renderSwipeable(); this.callBase(); this._renderSwitchInner(); this._renderLabels(); this._renderValue() }, _getInnerOffset: function(value, offset) { var ratio = (offset - this._offsetDirection() * Number(!value)) / 2; return 100 * ratio + "%" }, _getHandleOffset: function(value, offset) { if (this.option("rtlEnabled")) { value = !value } if (value) { var calcValue = 100 * -offset - 100; return calcValue + "%" } else { return 100 * -offset + "%" } }, _renderSwitchInner: function() { this._$switchInner = (0, _renderer.default)("<div>").addClass("dx-switch-inner").appendTo(this._$switchContainer); this._$handle = (0, _renderer.default)("<div>").addClass("dx-switch-handle").appendTo(this._$switchInner) }, _renderLabels: function() { this._$labelOn = (0, _renderer.default)("<div>").addClass("dx-switch-on").prependTo(this._$switchInner); this._$labelOff = (0, _renderer.default)("<div>").addClass("dx-switch-off").appendTo(this._$switchInner); this._setLabelsText() }, _renderContainers: function() { this._$switchContainer = (0, _renderer.default)("<div>").addClass("dx-switch-container"); this._$switchWrapper = (0, _renderer.default)("<div>").addClass("dx-switch-wrapper").append(this._$switchContainer) }, _renderSwipeable: function() { this._createComponent(this.$element(), _swipeable.default, { elastic: false, immediate: true, onStart: this._swipeStartHandler.bind(this), onUpdated: this._swipeUpdateHandler.bind(this), onEnd: this._swipeEndHandler.bind(this), itemSizeFunc: this._getItemSizeFunc.bind(this) }) }, _getItemSizeFunc: function() { return (0, _size.getOuterWidth)(this._$switchContainer, true) - (0, _position.getBoundingRect)(this._$handle.get(0)).width }, _renderSubmitElement: function() { this._$submitElement = (0, _renderer.default)("<input>").attr("type", "hidden").appendTo(this.$element()) }, _getSubmitElement: function() { return this._$submitElement }, _offsetDirection: function() { return this.option("rtlEnabled") ? -1 : 1 }, _renderPosition: function(state, swipeOffset) { var innerOffset = this._getInnerOffset(state, swipeOffset); var handleOffset = this._getHandleOffset(state, swipeOffset); this._$switchInner.css("transform", " translateX(" + innerOffset + ")"); this._$handle.css("transform", " translateX(" + handleOffset + ")") }, _validateValue: function() { var check = this.option("value"); if ("boolean" !== typeof check) { this._options.silent("value", !!check) } }, _renderClick: function() { var eventName = (0, _index.addNamespace)(_click.name, this.NAME); var $element = this.$element(); this._clickAction = this._createAction(this._clickHandler.bind(this)); _events_engine.default.off($element, eventName); _events_engine.default.on($element, eventName, function(e) { this._clickAction({ event: e }) }.bind(this)) }, _clickHandler: function(args) { var e = args.event; this._saveValueChangeEvent(e); if (this._animating || this._swiping) { return } this._animateValue(!this.option("value")) }, _animateValue: function(value) { var startValue = this.option("value"); var endValue = value; if (startValue === endValue) { return } this._animating = true; var fromInnerOffset = this._getInnerOffset(startValue, 0); var toInnerOffset = this._getInnerOffset(endValue, 0); var fromHandleOffset = this._getHandleOffset(startValue, 0); var toHandleOffset = this._getHandleOffset(endValue, 0); var that = this; var fromInnerConfig = {}; var toInnerConfig = {}; var fromHandleConfig = {}; var toHandlerConfig = {}; fromInnerConfig.transform = " translateX(" + fromInnerOffset + ")"; toInnerConfig.transform = " translateX(" + toInnerOffset + ")"; fromHandleConfig.transform = " translateX(" + fromHandleOffset + ")"; toHandlerConfig.transform = " translateX(" + toHandleOffset + ")"; this.$element().toggleClass("dx-switch-on-value", endValue); _fx.default.animate(this._$handle, { from: fromHandleConfig, to: toHandlerConfig, duration: 100 }); _fx.default.animate(this._$switchInner, { from: fromInnerConfig, to: toInnerConfig, duration: 100, complete: function() { that._animating = false; that.option("value", endValue) } }) }, _swipeStartHandler: function(e) { var state = this.option("value"); var rtlEnabled = this.option("rtlEnabled"); var maxOffOffset = rtlEnabled ? 0 : 1; var maxOnOffset = rtlEnabled ? 1 : 0; e.event.maxLeftOffset = state ? maxOffOffset : maxOnOffset; e.event.maxRightOffset = state ? maxOnOffset : maxOffOffset; this._swiping = true; this._feedbackDeferred = new _deferred.Deferred; (0, _emitter.lock)(this._feedbackDeferred); this._toggleActiveState(this.$element(), this.option("activeStateEnabled")) }, _swipeUpdateHandler: function(e) { this._renderPosition(this.option("value"), e.event.offset) }, _swipeEndHandler: function(e) { var that = this; var offsetDirection = this._offsetDirection(); var toInnerConfig = {}; var toHandleConfig = {}; var innerOffset = this._getInnerOffset(that.option("value"), e.event.targetOffset); var handleOffset = this._getHandleOffset(that.option("value"), e.event.targetOffset); toInnerConfig.transform = " translateX(" + innerOffset + ")"; toHandleConfig.transform = " translateX(" + handleOffset + ")"; _fx.default.animate(this._$handle, { to: toHandleConfig, duration: 100 }); _fx.default.animate(this._$switchInner, { to: toInnerConfig, duration: 100, complete: function() { that._swiping = false; var pos = that.option("value") + offsetDirection * e.event.targetOffset; that._saveValueChangeEvent(e.event); that.option("value", Boolean(pos)); that._feedbackDeferred.resolve(); that._toggleActiveState(that.$element(), false) } }) }, _renderValue: function() { this._validateValue(); var val = this.option("value"); this._renderPosition(val, 0); this.$element().toggleClass("dx-switch-on-value", val); this._getSubmitElement().val(val); this.setAria({ pressed: val, label: val ? this.option("switchedOnText") : this.option("switchedOffText") }) }, _setLabelsText: function() { this._$labelOn && this._$labelOn.text(this.option("switchedOnText")); this._$labelOff && this._$labelOff.text(this.option("switchedOffText")) }, _visibilityChanged: function(visible) { if (visible) { this.repaint() } }, _optionChanged: function(args) { switch (args.name) { case "width": delete this._marginBound; this._refresh(); break; case "switchedOnText": case "switchedOffText": this._setLabelsText(); break; case "value": this._renderValue(); this.callBase(args); break; default: this.callBase(args) } } }); (0, _component_registrator.default)("dxSwitch", Switch); var _default = Switch; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 21807: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/tab_panel.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _support = __webpack_require__( /*! ../core/utils/support */ 60137); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _multi_view = _interopRequireDefault(__webpack_require__( /*! ./multi_view */ 86478)); var _tabs = _interopRequireDefault(__webpack_require__( /*! ./tabs */ 13453)); var _item = _interopRequireDefault(__webpack_require__( /*! ./tab_panel/item */ 31590)); var _icon = __webpack_require__( /*! ../core/utils/icon */ 44899); var _element = __webpack_require__( /*! ../core/element */ 6415); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _bindable_template = __webpack_require__( /*! ../core/templates/bindable_template */ 93280); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var TabPanel = _multi_view.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { itemTitleTemplate: "title", hoverStateEnabled: true, showNavButtons: false, scrollByContent: true, scrollingEnabled: true, onTitleClick: null, onTitleHold: null, onTitleRendered: null, badgeExpr: function(data) { return data ? data.badge : void 0 } }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }, { device: function() { return !_support.touch }, options: { swipeEnabled: false } }, { device: { platform: "generic" }, options: { animationEnabled: false } }]) }, _init: function() { this.callBase(); this.$element().addClass("dx-tabpanel"); this.setAria("role", "tabpanel") }, _initMarkup: function() { this.callBase(); this._createTitleActions(); this._renderLayout() }, _initTemplates: function() { this.callBase(); this._templateManager.addDefaultTemplates({ title: new _bindable_template.BindableTemplate((function($container, data) { if ((0, _type.isPlainObject)(data)) { var $iconElement = (0, _icon.getImageContainer)(data.icon); if ($iconElement) { $container.append($iconElement) } if ((0, _type.isDefined)(data.title) && !(0, _type.isPlainObject)(data.title)) { $container.append(_dom_adapter.default.createTextNode(data.title)) } } else if ((0, _type.isDefined)(data)) { $container.text(String(data)) } $container.wrapInner((0, _renderer.default)("<span>").addClass("dx-tab-text")) }), ["title", "icon"], this.option("integrationOptions.watchMethod")) }) }, _createTitleActions: function() { this._createTitleClickAction(); this._createTitleHoldAction(); this._createTitleRenderedAction() }, _createTitleClickAction: function() { this._titleClickAction = this._createActionByOption("onTitleClick") }, _createTitleHoldAction: function() { this._titleHoldAction = this._createActionByOption("onTitleHold") }, _createTitleRenderedAction: function() { this._titleRenderedAction = this._createActionByOption("onTitleRendered") }, _renderContent: function() { var that = this; this.callBase(); if (this.option("templatesRenderAsynchronously")) { this._resizeEventTimer = setTimeout((function() { that._updateLayout() }), 0) } }, _renderLayout: function() { if (this._tabs) { this._updateLayout(); return } var $element = this.$element(); this._$tabContainer = (0, _renderer.default)("<div>").addClass("dx-tabpanel-tabs").appendTo($element); var $tabs = (0, _renderer.default)("<div>").appendTo(this._$tabContainer); this._tabs = this._createComponent($tabs, _tabs.default, this._tabConfig()); this._$container = (0, _renderer.default)("<div>").addClass("dx-tabpanel-container").appendTo($element); this._$container.append(this._$wrapper); this._updateLayout() }, _updateLayout: function() { if ((0, _window.hasWindow)()) { var tabsHeight = (0, _size.getOuterHeight)(this._$tabContainer); this._$container.css({ marginTop: -tabsHeight, paddingTop: tabsHeight }) } }, _refreshActiveDescendant: function() { if (!this._tabs) { return } var tabs = this._tabs; var tabItems = tabs.itemElements(); var $activeTab = (0, _renderer.default)(tabItems[tabs.option("selectedIndex")]); var id = this.getFocusedItemId(); this.setAria("controls", void 0, (0, _renderer.default)(tabItems)); this.setAria("controls", id, $activeTab) }, _tabConfig: function() { return { selectOnFocus: true, focusStateEnabled: this.option("focusStateEnabled"), hoverStateEnabled: this.option("hoverStateEnabled"), repaintChangesOnly: this.option("repaintChangesOnly"), tabIndex: this.option("tabIndex"), selectedIndex: this.option("selectedIndex"), badgeExpr: this.option("badgeExpr"), onItemClick: this._titleClickAction.bind(this), onItemHold: this._titleHoldAction.bind(this), itemHoldTimeout: this.option("itemHoldTimeout"), onSelectionChanged: function(e) { this.option("selectedIndex", e.component.option("selectedIndex")); this._refreshActiveDescendant() }.bind(this), onItemRendered: this._titleRenderedAction.bind(this), itemTemplate: this._getTemplateByOption("itemTitleTemplate"), items: this.option("items"), noDataText: null, scrollingEnabled: this.option("scrollingEnabled"), scrollByContent: this.option("scrollByContent"), showNavButtons: this.option("showNavButtons"), itemTemplateProperty: "tabTemplate", loopItemFocus: this.option("loop"), selectionRequired: true, onOptionChanged: function(args) { if ("focusedElement" === args.name) { if (args.value) { var $value = (0, _renderer.default)(args.value); var $newItem = this._itemElements().eq($value.index()); this.option("focusedElement", (0, _element.getPublicElement)($newItem)) } else { this.option("focusedElement", args.value) } } }.bind(this), onFocusIn: function(args) { this._focusInHandler(args.event) }.bind(this), onFocusOut: function(args) { if (!this._isFocusOutHandlerExecuting) { this._focusOutHandler(args.event) } }.bind(this) } }, _renderFocusTarget: function() { this._focusTarget().attr("tabIndex", -1) }, _toggleWrapperFocusedClass: function(isFocused) { this._toggleFocusClass(isFocused, this._$wrapper) }, _toggleDisabledFocusedClass: function(isFocused) { this._focusTarget().toggleClass("dx-disabled-focused-tab", isFocused) }, _updateFocusState: function(e, isFocused) { this.callBase(e, isFocused); var isTabsTarget = e.target === this._tabs._focusTarget().get(0); var isMultiViewTarget = e.target === this._focusTarget().get(0); if (isTabsTarget) { this._toggleFocusClass(isFocused, this._focusTarget()) } if (isTabsTarget || isMultiViewTarget) { var isDisabled = this._isDisabled(this.option("focusedElement")); this._toggleWrapperFocusedClass(isFocused && !isDisabled); this._toggleDisabledFocusedClass(isFocused && isDisabled) } if (isMultiViewTarget) { this._toggleFocusClass(isFocused, this._tabs.option("focusedElement")) } }, _focusOutHandler: function(e) { this._isFocusOutHandlerExecuting = true; this.callBase.apply(this, arguments); this._tabs._focusOutHandler(e); this._isFocusOutHandlerExecuting = false }, _setTabsOption: function(name, value) { if (this._tabs) { this._tabs.option(name, value) } }, _visibilityChanged: function(visible) { if (visible) { this._tabs._dimensionChanged(); this._updateLayout() } }, registerKeyHandler: function(key, handler) { this.callBase(key, handler); if (this._tabs) { this._tabs.registerKeyHandler(key, handler) } }, repaint: function() { this.callBase(); this._tabs.repaint() }, _optionChanged: function(args) { var name = args.name; var value = args.value; var fullName = args.fullName; switch (name) { case "dataSource": this.callBase(args); break; case "items": this._setTabsOption(name, this.option(name)); this._updateLayout(); if (!this.option("repaintChangesOnly")) { this._tabs.repaint() } this.callBase(args); break; case "width": this.callBase(args); this._tabs.repaint(); break; case "selectedIndex": case "selectedItem": this._setTabsOption(fullName, value); this.callBase(args); if (true === this.option("focusStateEnabled")) { var selectedIndex = this.option("selectedIndex"); var selectedTabContent = this._itemElements().eq(selectedIndex); this.option("focusedElement", (0, _element.getPublicElement)(selectedTabContent)) } break; case "itemHoldTimeout": case "focusStateEnabled": case "hoverStateEnabled": this._setTabsOption(fullName, value); this.callBase(args); break; case "scrollingEnabled": case "scrollByContent": case "showNavButtons": this._setTabsOption(fullName, value); break; case "focusedElement": var id = value ? (0, _renderer.default)(value).index() : value; var newItem = value ? this._tabs._itemElements().eq(id) : value; this._setTabsOption("focusedElement", (0, _element.getPublicElement)(newItem)); var isDisabled = this._isDisabled(value); this._toggleWrapperFocusedClass(!isDisabled); this._toggleDisabledFocusedClass(isDisabled); this.callBase(args); break; case "itemTitleTemplate": this._setTabsOption("itemTemplate", this._getTemplateByOption("itemTitleTemplate")); break; case "onTitleClick": this._createTitleClickAction(); this._setTabsOption("onItemClick", this._titleClickAction.bind(this)); break; case "onTitleHold": this._createTitleHoldAction(); this._setTabsOption("onItemHold", this._titleHoldAction.bind(this)); break; case "onTitleRendered": this._createTitleRenderedAction(); this._setTabsOption("onItemRendered", this._titleRenderedAction.bind(this)); break; case "loop": this._setTabsOption("loopItemFocus", value); break; case "badgeExpr": this._invalidate(); break; default: this.callBase(args) } }, _clean: function() { clearTimeout(this._resizeEventTimer); this.callBase() } }); TabPanel.ItemClass = _item.default; (0, _component_registrator.default)("dxTabPanel", TabPanel); var _default = TabPanel; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 31590: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/tab_panel/item.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _item = (obj = __webpack_require__( /*! ../collection/item */ 54778), obj && obj.__esModule ? obj : { default: obj }); var obj; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var TabPanelItem = function(_CollectionWidgetItem) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(TabPanelItem, _CollectionWidgetItem); function TabPanelItem() { return _CollectionWidgetItem.apply(this, arguments) || this } var _proto = TabPanelItem.prototype; _proto._renderWatchers = function() { this._startWatcher("badge", _common.noop); return _CollectionWidgetItem.prototype._renderWatchers.call(this) }; return TabPanelItem }(_item.default); exports.default = TabPanelItem; module.exports = exports.default; module.exports.default = exports.default }, 13453: /*!********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/tabs.js ***! \********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _button = _interopRequireDefault(__webpack_require__( /*! ./button */ 63008)); var _utils = __webpack_require__( /*! ./widget/utils.ink_ripple */ 72672); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../events/pointer */ 93786)); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _item = _interopRequireDefault(__webpack_require__( /*! ./tabs/item */ 25411)); var _constants = __webpack_require__( /*! ./tabs/constants */ 98897); var _themes = __webpack_require__( /*! ./themes */ 75811); var _hold = _interopRequireDefault(__webpack_require__( /*! ../events/hold */ 11699)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./scroll_view/ui.scrollable */ 41183)); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ./collection/ui.collection_widget.live_update */ 69010)); var _icon = __webpack_require__( /*! ../core/utils/icon */ 44899); var _bindable_template = __webpack_require__( /*! ../core/templates/bindable_template */ 93280); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _get_boundary_props = __webpack_require__( /*! ../renovation/ui/scroll_view/utils/get_boundary_props */ 70602); var _get_scroll_left_max = __webpack_require__( /*! ../renovation/ui/scroll_view/utils/get_scroll_left_max */ 92721); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var Tabs = _uiCollection_widget.default.inherit({ _activeStateUnit: ".dx-tab", _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { hoverStateEnabled: true, showNavButtons: true, scrollByContent: true, scrollingEnabled: true, selectionMode: "single", activeStateEnabled: true, selectionRequired: false, selectOnFocus: true, loopItemFocus: false, useInkRipple: false, badgeExpr: function(data) { return data ? data.badge : void 0 }, _itemAttributes: { role: "tab" } }) }, _defaultOptionsRules: function() { var themeName = (0, _themes.current)(); return this.callBase().concat([{ device: function() { return "desktop" !== _devices.default.real().deviceType }, options: { showNavButtons: false } }, { device: { deviceType: "desktop" }, options: { scrollByContent: false } }, { device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }, { device: function() { return (0, _themes.isMaterial)(themeName) }, options: { useInkRipple: true, selectOnFocus: false } }]) }, _init: function() { this.callBase(); this.setAria("role", "tablist"); this.$element().addClass("dx-tabs"); this._renderWrapper(); this._renderMultiple(); this._feedbackHideTimeout = 100 }, _initTemplates: function() { this.callBase(); this._templateManager.addDefaultTemplates({ item: new _bindable_template.BindableTemplate(function($container, data) { if ((0, _type.isPlainObject)(data)) { this._prepareDefaultItemTemplate(data, $container) } else { $container.text(String(data)) } var $iconElement = (0, _icon.getImageContainer)(data.icon); $iconElement && $iconElement.prependTo($container); $container.wrapInner((0, _renderer.default)("<span>").addClass("dx-tab-text")) }.bind(this), ["text", "html", "icon"], this.option("integrationOptions.watchMethod")) }) }, _createItemByTemplate: function(itemTemplate, renderArgs) { var _this = this; var itemData = renderArgs.itemData, container = renderArgs.container, index = renderArgs.index; this._deferredTemplates[index] = new _deferred.Deferred; return itemTemplate.render({ model: itemData, container: container, index: index, onRendered: function() { return _this._deferredTemplates[index].resolve() } }) }, _itemClass: function() { return "dx-tab" }, _selectedItemClass: function() { return "dx-tab-selected" }, _itemDataKey: function() { return "dxTabData" }, _initMarkup: function() { this._deferredTemplates = []; this.callBase(); this.option("useInkRipple") && this._renderInkRipple(); this.$element().addClass("dx-overflow-hidden") }, _render: function() { this.callBase(); this._deferRenderScrolling() }, _deferRenderScrolling: function() { var _this2 = this; _deferred.when.apply(this, this._deferredTemplates).done((function() { return _this2._renderScrolling() })) }, _renderScrolling: function() { var removeClasses = ["dx-tabs-stretched", _constants.TABS_EXPANDED_CLASS, "dx-overflow-hidden"]; this.$element().removeClass(removeClasses.join(" ")); if (this.option("scrollingEnabled") && this._isItemsWidthExceeded()) { if (!this._scrollable) { this._renderScrollable(); this._renderNavButtons() } var scrollable = this.getScrollable(); scrollable.update(); if (this.option("rtlEnabled")) { var maxLeftOffset = (0, _get_scroll_left_max.getScrollLeftMax)((0, _renderer.default)(this.getScrollable().container()).get(0)); scrollable.scrollTo({ left: maxLeftOffset }) } this._updateNavButtonsVisibility(); this._scrollToItem(this.option("selectedItem")) } if (!(this.option("scrollingEnabled") && this._isItemsWidthExceeded())) { this._cleanScrolling(); if (this._needStretchItems() && !this._isItemsWidthExceeded()) { this.$element().addClass("dx-tabs-stretched") } this.$element().removeClass("dx-tabs-nav-buttons").addClass(_constants.TABS_EXPANDED_CLASS) } }, _isItemsWidthExceeded: function() { var tabItemsWidth = this._getSummaryItemsWidth(this._getVisibleItems(), true); return tabItemsWidth - 1 > (0, _size.getWidth)(this.$element()) }, _needStretchItems: function() { var $visibleItems = this._getVisibleItems(); var elementWidth = (0, _size.getWidth)(this.$element()); var itemsWidth = []; (0, _iterator.each)($visibleItems, (function(_, item) { itemsWidth.push((0, _size.getOuterWidth)(item, true)) })); var maxTabWidth = Math.max.apply(null, itemsWidth); return maxTabWidth >= elementWidth / $visibleItems.length }, _cleanNavButtons: function() { if (!this._leftButton || !this._rightButton) { return } this._leftButton.$element().remove(); this._rightButton.$element().remove(); this._leftButton = null; this._rightButton = null }, _cleanScrolling: function() { if (!this._scrollable) { return } this._$wrapper.appendTo(this.$element()); this._scrollable.$element().remove(); this._scrollable = null; this._cleanNavButtons() }, _renderInkRipple: function() { this._inkRipple = (0, _utils.render)() }, _getPointerEvent: function() { return _pointer.default.up }, _toggleActiveState: function($element, value, e) { this.callBase.apply(this, arguments); if (!this._inkRipple) { return } var config = { element: $element, event: e }; if (value) { this._inkRipple.showWave(config) } else { this._inkRipple.hideWave(config) } }, _renderMultiple: function() { if ("multiple" === this.option("selectionMode")) { this.option("selectOnFocus", false) } }, _renderWrapper: function() { this._$wrapper = (0, _renderer.default)("<div>").addClass("dx-tabs-wrapper"); this.$element().append(this._$wrapper) }, _itemContainer: function() { return this._$wrapper }, _renderScrollable: function() { var _this3 = this; var $itemContainer = this.$element().wrapInner((0, _renderer.default)("<div>").addClass("dx-tabs-scrollable")).children(); this._scrollable = this._createComponent($itemContainer, _ui.default, { direction: "horizontal", showScrollbar: "never", useKeyboard: false, useNative: false, scrollByContent: this.option("scrollByContent"), onScroll: function() { _this3._updateNavButtonsVisibility() } }); this.$element().append(this._scrollable.$element()) }, _scrollToItem: function(itemData) { if (!this._scrollable) { return } var $item = this._editStrategy.getItemElement(itemData); this._scrollable.scrollToElement($item) }, _renderNavButtons: function() { this.$element().toggleClass("dx-tabs-nav-buttons", this.option("showNavButtons")); if (!this.option("showNavButtons")) { return } var rtlEnabled = this.option("rtlEnabled"); this._leftButton = this._createNavButton(-30, rtlEnabled ? "chevronnext" : "chevronprev"); var $leftButton = this._leftButton.$element(); $leftButton.addClass("dx-tabs-nav-button-left"); this.$element().prepend($leftButton); this._rightButton = this._createNavButton(30, rtlEnabled ? "chevronprev" : "chevronnext"); var $rightButton = this._rightButton.$element(); $rightButton.addClass("dx-tabs-nav-button-right"); this.$element().append($rightButton) }, _updateNavButtonsVisibility: function() { var scrollable = this.getScrollable(); this._leftButton && this._leftButton.option("disabled", (0, _get_boundary_props.isReachedLeft)(scrollable.scrollLeft(), 1)); this._rightButton && this._rightButton.option("disabled", (0, _get_boundary_props.isReachedRight)((0, _renderer.default)(scrollable.container()).get(0), scrollable.scrollLeft(), 1)) }, _updateScrollPosition: function(offset, duration) { this._scrollable.update(); this._scrollable.scrollBy(offset / duration) }, _createNavButton: function(offset, icon) { var that = this; var holdAction = that._createAction((function() { that._holdInterval = setInterval((function() { that._updateScrollPosition(offset, 5) }), 5) })); var holdEventName = (0, _index.addNamespace)(_hold.default.name, "dxNavButton"); var pointerUpEventName = (0, _index.addNamespace)(_pointer.default.up, "dxNavButton"); var pointerOutEventName = (0, _index.addNamespace)(_pointer.default.out, "dxNavButton"); var navButton = this._createComponent((0, _renderer.default)("<div>").addClass("dx-tabs-nav-button"), _button.default, { focusStateEnabled: false, icon: icon, onClick: function() { that._updateScrollPosition(offset, 1) }, integrationOptions: {} }); var $navButton = navButton.$element(); _events_engine.default.on($navButton, holdEventName, { timeout: 300 }, function(e) { holdAction({ event: e }) }.bind(this)); _events_engine.default.on($navButton, pointerUpEventName, (function() { that._clearInterval() })); _events_engine.default.on($navButton, pointerOutEventName, (function() { that._clearInterval() })); return navButton }, _clearInterval: function() { if (this._holdInterval) { clearInterval(this._holdInterval) } }, _updateSelection: function(addedSelection) { this._scrollable && this._scrollable.scrollToElement(this.itemElements().eq(addedSelection[0]), { left: 1, right: 1 }) }, _visibilityChanged: function(visible) { if (visible) { this._dimensionChanged() } }, _dimensionChanged: function() { this._renderScrolling() }, _itemSelectHandler: function(e) { if ("single" === this.option("selectionMode") && this.isItemSelected(e.currentTarget)) { return } this.callBase(e) }, _clean: function() { this._deferredTemplates = []; this._cleanScrolling(); this.callBase() }, _toggleFocusedNextClass: function(index, isNextTabFocused) { this._itemElements().eq(index).toggleClass("dx-focused-next-tab", isNextTabFocused) }, _optionChanged: function(args) { switch (args.name) { case "useInkRipple": case "scrollingEnabled": case "showNavButtons": this._invalidate(); break; case "scrollByContent": this._scrollable && this._scrollable.option(args.name, args.value); break; case "width": this.callBase(args); this._dimensionChanged(); break; case "selectionMode": this._renderMultiple(); this.callBase(args); break; case "badgeExpr": this._invalidate(); break; case "focusedElement": var _this$option = this.option(), selectedIndex = _this$option.selectedIndex; var currentIndex = (0, _renderer.default)(args.value).index(); if (currentIndex !== selectedIndex) { this._toggleFocusedNextClass(selectedIndex, currentIndex === selectedIndex + 1) } this.callBase(args); this._scrollToItem(args.value); break; default: this.callBase(args) } }, _afterItemElementInserted: function() { this.callBase(); this._deferRenderScrolling() }, _afterItemElementDeleted: function($item, deletedActionArgs) { this.callBase($item, deletedActionArgs); this._renderScrolling() }, getScrollable: function() { return this._scrollable } }); Tabs.ItemClass = _item.default; (0, _component_registrator.default)("dxTabs", Tabs); var _default = Tabs; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 98897: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/tabs/constants.js ***! \******************************************************************/ function(__unused_webpack_module, exports) { exports.TABS_EXPANDED_CLASS = void 0; exports.TABS_EXPANDED_CLASS = "dx-tabs-expanded" }, 25411: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/tabs/item.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _item = _interopRequireDefault(__webpack_require__( /*! ../collection/item */ 54778)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var TabsItem = _item.default.inherit({ _renderWatchers: function() { this.callBase(); this._startWatcher("badge", this._renderBadge.bind(this)) }, _renderBadge: function(badge) { this._$element.children(".dx-badge").remove(); if (!badge) { return } var $badge = (0, _renderer.default)("<div>").addClass("dx-tabs-item-badge").addClass("dx-badge").text(badge); this._$element.append($badge) } }); var _default = TabsItem; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 31362: /*!***********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/tag_box.js ***! \***********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _element_data = __webpack_require__( /*! ../core/element_data */ 97906); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _selection_filter = __webpack_require__( /*! ../core/utils/selection_filter */ 49601); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _dom = __webpack_require__( /*! ../core/utils/dom */ 3532); var _element = __webpack_require__( /*! ../core/element */ 6415); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _array = __webpack_require__( /*! ../core/utils/array */ 89386); var _message = _interopRequireDefault(__webpack_require__( /*! ../localization/message */ 28109)); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); var _click = __webpack_require__( /*! ../events/click */ 95429); var _utils = _interopRequireDefault(__webpack_require__( /*! ./text_box/utils.caret */ 21516)); var _utils2 = __webpack_require__( /*! ../data/data_source/utils */ 9234); var _guid = _interopRequireDefault(__webpack_require__( /*! ../core/guid */ 73176)); var _select_box = _interopRequireDefault(__webpack_require__( /*! ./select_box */ 78665)); var _bindable_template = __webpack_require__( /*! ../core/templates/bindable_template */ 93280); var _utils3 = __webpack_require__( /*! ./text_box/utils.scroll */ 51203); var _ui = _interopRequireDefault(__webpack_require__( /*! ./widget/ui.errors */ 96688)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } var TagBox = _select_box.default.inherit({ _supportedKeys: function() { var _this = this; var parent = this.callBase(); var sendToList = function(options) { return _this._list._keyboardHandler(options) }; var rtlEnabled = this.option("rtlEnabled"); return (0, _extend.extend)({}, parent, { backspace: function(e) { if (!this._isCaretAtTheStart()) { return } this._processKeyboardEvent(e); this._isTagRemoved = true; var $tagToDelete = this._$focusedTag || this._tagElements().last(); if (this._$focusedTag) { this._moveTagFocus("prev", true) } if (0 === $tagToDelete.length) { return } this._preserveFocusedTag = true; this._removeTagElement($tagToDelete); delete this._preserveFocusedTag }, upArrow: function(e, opts) { return e.altKey || !_this._list ? parent.upArrow.call(_this, e) : sendToList(opts) }, downArrow: function(e, opts) { return e.altKey || !_this._list ? parent.downArrow.call(_this, e) : sendToList(opts) }, del: function(e) { if (!this._$focusedTag || !this._isCaretAtTheStart()) { return } this._processKeyboardEvent(e); this._isTagRemoved = true; var $tagToDelete = this._$focusedTag; this._moveTagFocus("next", true); this._preserveFocusedTag = true; this._removeTagElement($tagToDelete); delete this._preserveFocusedTag }, enter: function(e, options) { var isListItemFocused = this._list && null !== this._list.option("focusedElement"); var isCustomItem = this.option("acceptCustomValue") && !isListItemFocused; if (isCustomItem) { e.preventDefault(); "" !== this._searchValue() && this._customItemAddedHandler(e); return } if (this.option("opened")) { this._saveValueChangeEvent(e); sendToList(options); e.preventDefault() } }, space: function(e, options) { var isOpened = this.option("opened"); var isInputActive = this._shouldRenderSearchEvent(); if (isOpened && !isInputActive) { this._saveValueChangeEvent(e); sendToList(options); e.preventDefault() } }, leftArrow: function(e) { if (!this._isCaretAtTheStart() || this._isEmpty() || this._isEditable() && rtlEnabled && !this._$focusedTag) { return } e.preventDefault(); var direction = rtlEnabled ? "next" : "prev"; this._moveTagFocus(direction); !this.option("multiline") && this._scrollContainer(direction) }, rightArrow: function(e) { if (!this._isCaretAtTheStart() || this._isEmpty() || this._isEditable() && !rtlEnabled && !this._$focusedTag) { return } e.preventDefault(); var direction = rtlEnabled ? "prev" : "next"; this._moveTagFocus(direction); !this.option("multiline") && this._scrollContainer(direction) } }) }, _processKeyboardEvent: function(e) { e.preventDefault(); e.stopPropagation(); this._saveValueChangeEvent(e) }, _isEmpty: function() { return 0 === this._getValue().length }, _updateTagsContainer: function($element) { this._$tagsContainer = $element.addClass("dx-tag-container") }, _allowSelectItemByTab: function() { return false }, _isCaretAtTheStart: function() { var position = (0, _utils.default)(this._input()); return 0 === position.start && 0 === position.end }, _updateInputAriaActiveDescendant: function(id) { this.setAria("activedescendant", id, this._input()) }, _moveTagFocus: function(direction, clearOnBoundary) { if (!this._$focusedTag) { var tagElements = this._tagElements(); this._$focusedTag = "next" === direction ? tagElements.first() : tagElements.last(); this._toggleFocusClass(true, this._$focusedTag); this._updateInputAriaActiveDescendant(this._$focusedTag.attr("id")); return } var $nextFocusedTag = this._$focusedTag[direction](".".concat("dx-tag")); if ($nextFocusedTag.length > 0) { this._replaceFocusedTag($nextFocusedTag); this._updateInputAriaActiveDescendant($nextFocusedTag.attr("id")) } else if (clearOnBoundary || "next" === direction && this._isEditable()) { this._clearTagFocus(); this._updateInputAriaActiveDescendant() } }, _replaceFocusedTag: function($nextFocusedTag) { this._toggleFocusClass(false, this._$focusedTag); this._$focusedTag = $nextFocusedTag; this._toggleFocusClass(true, this._$focusedTag) }, _clearTagFocus: function() { if (!this._$focusedTag) { return } this._toggleFocusClass(false, this._$focusedTag); this._updateInputAriaActiveDescendant(); delete this._$focusedTag }, _focusClassTarget: function($element) { if ($element && $element.length && $element[0] !== this._focusTarget()[0]) { return $element } return this.callBase() }, _getLabelContainer: function() { return this._$tagsContainer }, _getFieldElement: function() { return this._input() }, _scrollContainer: function(direction) { if (this.option("multiline") || !(0, _window.hasWindow)()) { return } if (!this._$tagsContainer) { return } var scrollPosition = this._getScrollPosition(direction); this._$tagsContainer.scrollLeft(scrollPosition) }, _getScrollPosition: function(direction) { if ("start" === direction || "end" === direction) { return this._getBorderPosition(direction) } return this._$focusedTag ? this._getFocusedTagPosition(direction) : this._getBorderPosition("end") }, _getBorderPosition: function(direction) { var rtlEnabled = this.option("rtlEnabled"); var isScrollLeft = "end" === direction ^ rtlEnabled; var scrollSign = rtlEnabled ? -1 : 1; return isScrollLeft ^ !rtlEnabled ? 0 : scrollSign * (this._$tagsContainer.get(0).scrollWidth - (0, _size.getOuterWidth)(this._$tagsContainer)) }, _getFocusedTagPosition: function(direction) { var rtlEnabled = this.option("rtlEnabled"); var isScrollLeft = "next" === direction ^ rtlEnabled; var _this$_$focusedTag$po = this._$focusedTag.position(), scrollOffset = _this$_$focusedTag$po.left; var scrollLeft = this._$tagsContainer.scrollLeft(); if (isScrollLeft) { scrollOffset += (0, _size.getOuterWidth)(this._$focusedTag, true) - (0, _size.getOuterWidth)(this._$tagsContainer) } if (isScrollLeft ^ scrollOffset < 0) { scrollLeft += scrollOffset } return scrollLeft }, _setNextValue: _common.noop, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { value: [], showDropDownButton: false, maxFilterQueryLength: 1500, tagTemplate: "tag", selectAllText: _message.default.format("dxList-selectAll"), hideSelectedItems: false, selectedItems: [], selectAllMode: "page", onSelectAllValueChanged: null, maxDisplayedTags: void 0, showMultiTagOnly: true, onMultiTagPreparing: null, multiline: true, useSubmitBehavior: true }) }, _init: function() { this.callBase(); this._selectedItems = []; this._initSelectAllValueChangedAction() }, _initActions: function() { this.callBase(); this._initMultiTagPreparingAction() }, _initMultiTagPreparingAction: function() { this._multiTagPreparingAction = this._createActionByOption("onMultiTagPreparing", { beforeExecute: function(e) { this._multiTagPreparingHandler(e.args[0]) }.bind(this), excludeValidators: ["disabled", "readOnly"] }) }, _multiTagPreparingHandler: function(args) { var _this$_getValue = this._getValue(), selectedCount = _this$_getValue.length; if (!this.option("showMultiTagOnly")) { args.text = _message.default.getFormatter("dxTagBox-moreSelected")(selectedCount - this.option("maxDisplayedTags") + 1) } else { args.text = _message.default.getFormatter("dxTagBox-selected")(selectedCount) } }, _initDynamicTemplates: function() { this.callBase(); this._templateManager.addDefaultTemplates({ tag: new _bindable_template.BindableTemplate((function($container, data) { var _data$text; var $tagContent = (0, _renderer.default)("<div>").addClass("dx-tag-content"); (0, _renderer.default)("<span>").text(null !== (_data$text = data.text) && void 0 !== _data$text ? _data$text : data).appendTo($tagContent); (0, _renderer.default)("<div>").addClass("dx-tag-remove-button").appendTo($tagContent); $container.append($tagContent) }), ["text"], this.option("integrationOptions.watchMethod"), { text: this._displayGetter }) }) }, _toggleSubmitElement: function(enabled) { if (enabled) { this._renderSubmitElement(); this._setSubmitValue() } else { this._$submitElement && this._$submitElement.remove(); delete this._$submitElement } }, _renderSubmitElement: function() { if (!this.option("useSubmitBehavior")) { return } this._$submitElement = (0, _renderer.default)("<select>").attr({ multiple: "multiple", "aria-label": "Selected items" }).css("display", "none").appendTo(this.$element()) }, _setSubmitValue: function() { if (!this.option("useSubmitBehavior")) { return } var value = this._getValue(); var $options = []; for (var i = 0, n = value.length; i < n; i++) { var useDisplayText = this._shouldUseDisplayValue(value[i]); $options.push((0, _renderer.default)("<option>").val(useDisplayText ? this._displayGetter(value[i]) : value[i]).attr("selected", "selected")) } this._getSubmitElement().empty().append($options) }, _initMarkup: function() { this._tagElementsCache = (0, _renderer.default)(); var isSingleLineMode = !this.option("multiline"); this.$element().addClass("dx-tagbox").toggleClass("dx-tagbox-only-select", !(this.option("searchEnabled") || this.option("acceptCustomValue"))).toggleClass("dx-tagbox-single-line", isSingleLineMode); this.setAria({ role: "group", roledescription: "tagbox" }, this.$element()); this._initTagTemplate(); this.callBase() }, _getNewLabelId: function(actualId, newId, shouldRemove) { if (!actualId) { return newId } if (shouldRemove) { if (actualId === newId) { return } return actualId.split(" ").filter((function(id) { return id !== newId })).join(" ") } return "".concat(actualId, " ").concat(newId) }, _updateElementAria: function(id, shouldRemove) { var shouldClearLabel = !id; if (shouldClearLabel) { this.setAria("labelledby", void 0, this.$element()); return } var labelId = this.$element().attr("aria-labelledby"); var newLabelId = this._getNewLabelId(labelId, id, shouldRemove); this.setAria("labelledby", newLabelId, this.$element()) }, _render: function() { this.callBase(); this._renderTagRemoveAction(); this._renderSingleLineScroll(); this._scrollContainer("start") }, _initTagTemplate: function() { this._tagTemplate = this._getTemplateByOption("tagTemplate") }, _renderField: function() { var isDefaultFieldTemplate = !(0, _type.isDefined)(this.option("fieldTemplate")); this.$element().toggleClass("dx-tagbox-default-template", isDefaultFieldTemplate).toggleClass("dx-tagbox-custom-template", !isDefaultFieldTemplate); this.callBase() }, _renderTagRemoveAction: function() { var tagRemoveAction = this._createAction(this._removeTagHandler.bind(this)); var eventName = (0, _index.addNamespace)(_click.name, "dxTagBoxTagRemove"); _events_engine.default.off(this._$tagsContainer, eventName); _events_engine.default.on(this._$tagsContainer, eventName, ".".concat("dx-tag-remove-button"), (function(event) { tagRemoveAction({ event: event }) })) }, _renderSingleLineScroll: function() { var mouseWheelEvent = (0, _index.addNamespace)("dxmousewheel", this.NAME); var $element = this.$element(); var isMultiline = this.option("multiline"); _events_engine.default.off($element, mouseWheelEvent); if ("desktop" !== _devices.default.real().deviceType) { this._$tagsContainer && this._$tagsContainer.css("overflowX", isMultiline ? "" : "auto"); return } if (isMultiline) { return } _events_engine.default.on($element, mouseWheelEvent, this._tagContainerMouseWheelHandler.bind(this)) }, _tagContainerMouseWheelHandler: function(e) { var scrollLeft = this._$tagsContainer.scrollLeft(); var delta = -.3 * e.delta; if (!(0, _index.isCommandKeyPressed)(e) && (0, _utils3.allowScroll)(this._$tagsContainer, delta, true)) { this._$tagsContainer.scrollLeft(scrollLeft + delta); return false } }, _renderEvents: function() { var _this2 = this; this.callBase(); var input = this._input(); var namespace = (0, _index.addNamespace)("keydown", this.NAME); _events_engine.default.on(input, namespace, (function(e) { var keyName = (0, _index.normalizeKeyName)(e); if (!_this2._isControlKey(keyName) && _this2._isEditable()) { _this2._clearTagFocus() } })) }, _popupWrapperClass: function() { return this.callBase() + " dx-tagbox-popup-wrapper" }, _renderInput: function() { this.callBase(); this._renderPreventBlurOnInputClick() }, _renderPreventBlurOnInputClick: function() { var _this3 = this; var eventName = (0, _index.addNamespace)("mousedown", "dxTagBox"); _events_engine.default.off(this._inputWrapper(), eventName); _events_engine.default.on(this._inputWrapper(), eventName, (function(e) { if (e.target !== _this3._input()[0] && _this3._isFocused()) { e.preventDefault() } })) }, _renderInputValueImpl: function() { return this._renderMultiSelect() }, _loadInputValue: function() { return (0, _deferred.when)() }, _clearTextValue: function() { this._input().val(""); this._toggleEmptinessEventHandler(); this.option("text", "") }, _focusInHandler: function(e) { if (!this._preventNestedFocusEvent(e)) { this._scrollContainer("end") } this.callBase(e) }, _renderInputValue: function() { this.option("displayValue", this._searchValue()); return this.callBase() }, _restoreInputText: function(saveEditingValue) { if (!saveEditingValue) { this._clearTextValue() } }, _focusOutHandler: function(e) { if (!this._preventNestedFocusEvent(e)) { this._clearTagFocus(); this._scrollContainer("start") } this.callBase(e) }, _getFirstPopupElement: function() { return this.option("showSelectionControls") ? this._list._focusTarget() : this.callBase() }, _initSelectAllValueChangedAction: function() { this._selectAllValueChangeAction = this._createActionByOption("onSelectAllValueChanged") }, _renderList: function() { var _this4 = this; this.callBase(); this._setListDataSourceFilter(); if (this.option("showSelectionControls")) { this._list.registerKeyHandler("tab", (function(e) { return _this4._popupElementTabHandler(e) })); this._list.registerKeyHandler("escape", (function(e) { return _this4._popupElementEscHandler(e) })) } }, _canListHaveFocus: function() { return "useButtons" === this.option("applyValueMode") }, _listConfig: function() { var _this5 = this; var selectionMode = this.option("showSelectionControls") ? "all" : "multiple"; return (0, _extend.extend)(this.callBase(), { selectionMode: selectionMode, selectAllText: this.option("selectAllText"), onSelectAllValueChanged: function(_ref) { var value = _ref.value; _this5._selectAllValueChangeAction({ value: value }) }, selectAllMode: this.option("selectAllMode"), selectedItems: this._selectedItems, onFocusedItemChanged: null }) }, _renderMultiSelect: function() { var _this6 = this; var d = new _deferred.Deferred; this._updateTagsContainer(this._$textEditorInputContainer); this._renderInputSize(); this._renderTags().done((function() { _this6._popup && _this6._popup.refreshPosition(); d.resolve() })).fail(d.reject); return d.promise() }, _listItemClickHandler: function(e) { !this.option("showSelectionControls") && this._clearTextValue(); if ("useButtons" === this.option("applyValueMode")) { return } this.callBase(e); this._saveValueChangeEvent(void 0) }, _shouldClearFilter: function() { var shouldClearFilter = this.callBase(); var showSelectionControls = this.option("showSelectionControls"); return !showSelectionControls && shouldClearFilter }, _renderInputSize: function() { var $input = this._input(); var value = $input.val(); var isEmptyInput = (0, _type.isString)(value) && value; var width = ""; var size = ""; var canTypeText = this.option("searchEnabled") || this.option("acceptCustomValue"); if (isEmptyInput && canTypeText) { var $calculationElement = (0, _dom.createTextElementHiddenCopy)($input, value, { includePaddings: true }); $calculationElement.insertAfter($input); width = (0, _size.getOuterWidth)($calculationElement) + 5; $calculationElement.remove() } else if (!value) { size = 1 } $input.css("width", width); $input.attr("size", size) }, _renderInputSubstitution: function() { this.callBase(); this._updateWidgetHeight() }, _getValue: function() { return this.option("value") || [] }, _multiTagRequired: function() { var values = this._getValue(); var maxDisplayedTags = this.option("maxDisplayedTags"); return (0, _type.isDefined)(maxDisplayedTags) && values.length > maxDisplayedTags }, _renderMultiTag: function($input) { var $tag = (0, _renderer.default)("<div>").addClass("dx-tag").addClass("dx-tagbox-multi-tag"); var args = { multiTagElement: (0, _element.getPublicElement)($tag), selectedItems: this.option("selectedItems") }; this._multiTagPreparingAction(args); if (args.cancel) { return false } $tag.data("dxTagData", args.text); $tag.insertBefore($input); this._tagTemplate.render({ model: args.text, container: (0, _element.getPublicElement)($tag) }); return $tag }, _getFilter: function(creator) { var dataSourceFilter = this._dataController.filter(); var filterExpr = creator.getCombinedFilter(this.option("valueExpr"), dataSourceFilter); var filterQueryLength = encodeURI(JSON.stringify(filterExpr)).length; var maxFilterQueryLength = this.option("maxFilterQueryLength"); if (filterQueryLength <= maxFilterQueryLength) { return filterExpr } _ui.default.log("W1019", maxFilterQueryLength) }, _getFilteredItems: function(values) { var _this$_loadFilteredIt, _this$_list, _this7 = this; null === (_this$_loadFilteredIt = this._loadFilteredItemsPromise) || void 0 === _this$_loadFilteredIt ? void 0 : _this$_loadFilteredIt.reject(); var creator = new _selection_filter.SelectionFilterCreator(values); var listSelectedItems = null === (_this$_list = this._list) || void 0 === _this$_list ? void 0 : _this$_list.option("selectedItems"); var isListItemsLoaded = !!listSelectedItems && this._list._dataController.isLoaded(); var selectedItems = listSelectedItems || this.option("selectedItems"); var clientFilterFunction = creator.getLocalFilter(this._valueGetter); var filteredItems = selectedItems.filter(clientFilterFunction); var selectedItemsAlreadyLoaded = filteredItems.length === values.length; var d = new _deferred.Deferred; var dataController = this._dataController; if ((!this._isDataSourceChanged || isListItemsLoaded) && selectedItemsAlreadyLoaded) { return d.resolve(filteredItems).promise() } else { var _dataController$loadO = dataController.loadOptions(), customQueryParams = _dataController$loadO.customQueryParams, expand = _dataController$loadO.expand, select = _dataController$loadO.select; var filter = this._getFilter(creator); dataController.loadFromStore({ filter: filter, customQueryParams: customQueryParams, expand: expand, select: select }).done((function(data, extra) { _this7._isDataSourceChanged = false; if (_this7._disposed) { d.reject(); return } var _normalizeLoadResult = (0, _utils2.normalizeLoadResult)(data, extra), items = _normalizeLoadResult.data; var mappedItems = dataController.applyMapFunction(items); d.resolve(mappedItems.filter(clientFilterFunction)) })).fail(d.reject); this._loadFilteredItemsPromise = d; return d.promise() } }, _createTagsData: function(values, filteredItems) { var _this8 = this; var items = []; var cache = {}; var isValueExprSpecified = "this" === this._valueGetterExpr(); var filteredValues = {}; filteredItems.forEach((function(filteredItem) { var filteredItemValue = isValueExprSpecified ? JSON.stringify(filteredItem) : _this8._valueGetter(filteredItem); filteredValues[filteredItemValue] = filteredItem })); var loadItemPromises = []; values.forEach((function(value, index) { var currentItem = filteredValues[isValueExprSpecified ? JSON.stringify(value) : value]; if (isValueExprSpecified && !(0, _type.isDefined)(currentItem)) { loadItemPromises.push(_this8._loadItem(value, cache).always((function(item) { var newItem = _this8._createTagData(items, item, value, index); items.splice(index, 0, newItem) }))) } else { var newItem = _this8._createTagData(items, currentItem, value, index); items.splice(index, 0, newItem) } })); var d = new _deferred.Deferred; _deferred.when.apply(this, loadItemPromises).always((function() { d.resolve(items) })); return d.promise() }, _createTagData: function(items, item, value, valueIndex) { if ((0, _type.isDefined)(item)) { this._selectedItems.push(item); return item } else { var selectedItem = this.option("selectedItem"); var customItem = this._valueGetter(selectedItem) === value ? selectedItem : value; return customItem } }, _isGroupedData: function() { return this.option("grouped") && !this._dataController.group() }, _getItemsByValues: function(values) { var resultItems = []; values.forEach(function(value) { var item = this._getItemFromPlain(value); if ((0, _type.isDefined)(item)) { resultItems.push(item) } }.bind(this)); return resultItems }, _getFilteredGroupedItems: function(values) { var _this9 = this; var selectedItems = new _deferred.Deferred; if (this._filteredGroupedItemsLoadPromise) { this._dataController.cancel(this._filteredGroupedItemsLoadPromise.operationId) } if (!this._dataController.items().length) { this._filteredGroupedItemsLoadPromise = this._dataController.load().done((function() { selectedItems.resolve(_this9._getItemsByValues(values)) })).fail((function() { selectedItems.resolve([]) })).always((function() { _this9._filteredGroupedItemsLoadPromise = void 0 })) } else { selectedItems.resolve(this._getItemsByValues(values)) } return selectedItems.promise() }, _loadTagsData: function() { var _this10 = this; var values = this._getValue(); var tagData = new _deferred.Deferred; this._selectedItems = []; var filteredItemsPromise = this._isGroupedData() ? this._getFilteredGroupedItems(values) : this._getFilteredItems(values); filteredItemsPromise.done((function(filteredItems) { var items = _this10._createTagsData(values, filteredItems); items.always((function(data) { tagData.resolve(data) })) })).fail(tagData.reject.bind(this)); return tagData.promise() }, _renderTags: function() { var _this11 = this; var d = new _deferred.Deferred; var isPlainDataUsed = false; if (this._shouldGetItemsFromPlain(this._valuesToUpdate)) { this._selectedItems = this._getItemsFromPlain(this._valuesToUpdate); if (this._selectedItems.length === this._valuesToUpdate.length) { this._renderTagsImpl(this._selectedItems); isPlainDataUsed = true; d.resolve() } } if (!isPlainDataUsed) { this._loadTagsData().done((function(items) { if (_this11._disposed) { d.reject(); return } _this11._renderTagsImpl(items); d.resolve() })).fail(d.reject) } return d.promise() }, _renderTagsImpl: function(items) { this._renderTagsCore(items); this._renderEmptyState(); if (!this._preserveFocusedTag) { this._clearTagFocus() } }, _shouldGetItemsFromPlain: function(values) { return values && this._dataController.isLoaded() && values.length <= this._getPlainItems().length }, _getItemsFromPlain: function(values) { var selectedItems = this._getSelectedItemsFromList(values); var needFilterPlainItems = 0 === selectedItems.length && values.length > 0 || selectedItems.length < values.length; if (needFilterPlainItems) { var plainItems = this._getPlainItems(); selectedItems = this._filterSelectedItems(plainItems, values) } return selectedItems }, _getSelectedItemsFromList: function(values) { var _this$_list2; var listSelectedItems = null === (_this$_list2 = this._list) || void 0 === _this$_list2 ? void 0 : _this$_list2.option("selectedItems"); var selectedItems = []; if (values.length === (null === listSelectedItems || void 0 === listSelectedItems ? void 0 : listSelectedItems.length)) { selectedItems = this._filterSelectedItems(listSelectedItems, values) } return selectedItems }, _filterSelectedItems: function(plainItems, values) { var _this12 = this; var selectedItems = plainItems.filter((function(dataItem) { var currentValue; for (var i = 0; i < values.length; i++) { currentValue = values[i]; if ((0, _type.isObject)(currentValue)) { if (_this12._isValueEquals(dataItem, currentValue)) { return true } } else if (_this12._isValueEquals(_this12._valueGetter(dataItem), currentValue)) { return true } } return false }), this); return selectedItems }, _integrateInput: function() { this._isInputReady.resolve(); this.callBase(); var tagsContainer = this.$element().find(".".concat("dx-texteditor-input-container")); this._updateTagsContainer(tagsContainer); this._renderTagRemoveAction() }, _renderTagsCore: function(items) { var _this$_isInputReady, _this13 = this; null === (_this$_isInputReady = this._isInputReady) || void 0 === _this$_isInputReady ? void 0 : _this$_isInputReady.reject(); this._isInputReady = new _deferred.Deferred; this._renderField(); this.option("selectedItems", this._selectedItems.slice()); this._cleanTags(); if (this._input().length > 0) { this._isInputReady.resolve() }(0, _deferred.when)(this._isInputReady).done((function() { _this13._renderTagsElements(items) })) }, _renderTagsElements: function(items) { var _this14 = this; var $multiTag = this._multiTagRequired() && this._renderMultiTag(this._input()); var showMultiTagOnly = this.option("showMultiTagOnly"); var maxDisplayedTags = this.option("maxDisplayedTags"); items.forEach((function(item, index) { if ($multiTag && showMultiTagOnly || $multiTag && !showMultiTagOnly && index - maxDisplayedTags >= -1) { return false } _this14._renderTag(item, $multiTag || _this14._input()) })); if (this._isFocused()) { this._scrollContainer("end") } this._refreshTagElements() }, _cleanTags: function() { if (this._multiTagRequired()) { this._tagElements().remove() } else { var $tags = this._tagElements(); var values = this._getValue(); (0, _iterator.each)($tags, (function(_, tag) { var $tag = (0, _renderer.default)(tag); var tagData = $tag.data("dxTagData"); if (!(null !== values && void 0 !== values && values.includes(tagData))) { $tag.remove() } })) } this._updateElementAria() }, _renderEmptyState: function() { var isEmpty = !(this._getValue().length || this._selectedItems.length || this._searchValue()); this._toggleEmptiness(isEmpty); this._renderDisplayText() }, _renderDisplayText: function() { this._renderInputSize() }, _refreshTagElements: function() { this._tagElementsCache = this.$element().find(".".concat("dx-tag")) }, _tagElements: function() { return this._tagElementsCache }, _applyTagTemplate: function(item, $tag) { this._tagTemplate.render({ model: item, container: (0, _element.getPublicElement)($tag) }) }, _renderTag: function(item, $input) { var value = this._valueGetter(item); if (!(0, _type.isDefined)(value)) { return } var $tag = this._getTag(value); var displayValue = this._displayGetter(item); var itemModel = this._getItemModel(item, displayValue); if ($tag) { if ((0, _type.isDefined)(displayValue)) { $tag.empty(); this._applyTagTemplate(itemModel, $tag) } $tag.removeClass("dx-tag-custom"); this._updateElementAria($tag.attr("id")) } else { var tagId = "dx-".concat(new _guid.default); $tag = this._createTag(value, $input, tagId); if ((0, _type.isDefined)(item)) { this._applyTagTemplate(itemModel, $tag) } else { $tag.addClass("dx-tag-custom"); this._applyTagTemplate(value, $tag) } this._updateElementAria(tagId) } }, _getItemModel: function(item, displayValue) { if ((0, _type.isObject)(item) && (0, _type.isDefined)(displayValue)) { return item } else { return (0, _common.ensureDefined)(displayValue, "") } }, _getTag: function(value) { var $tags = this._tagElements(); var tagsLength = $tags.length; var result = false; for (var i = 0; i < tagsLength; i++) { var $tag = $tags[i]; var tagData = (0, _element_data.data)($tag, "dxTagData"); if (value === tagData || (0, _common.equalByValue)(value, tagData)) { result = (0, _renderer.default)($tag); break } } return result }, _createTag: function(value, $input, tagId) { return (0, _renderer.default)("<div>").attr("id", tagId).addClass("dx-tag").data("dxTagData", value).insertBefore($input) }, _toggleEmptinessEventHandler: function() { this._toggleEmptiness(!this._getValue().length && !this._searchValue().length) }, _customItemAddedHandler: function(e) { this.callBase(e); this._clearTextValue() }, _removeTagHandler: function(args) { var e = args.event; e.stopPropagation(); this._saveValueChangeEvent(e); var $tag = (0, _renderer.default)(e.target).closest(".".concat("dx-tag")); this._removeTagElement($tag) }, _removeTagElement: function($tag) { if ($tag.hasClass("dx-tagbox-multi-tag")) { if (!this.option("showMultiTagOnly")) { this.option("value", this._getValue().slice(0, this.option("maxDisplayedTags"))) } else { this.reset() } return } var itemValue = $tag.data("dxTagData"); var itemId = $tag.attr("id"); this._removeTagWithUpdate(itemValue); this._updateElementAria(itemId, true); this._refreshTagElements() }, _updateField: _common.noop, _removeTagWithUpdate: function(itemValue) { var value = this._getValue().slice(); this._removeTag(value, itemValue); this.option("value", value); if (0 === value.length) { this._clearTagFocus() } }, _getCurrentValue: function() { return this._lastValue() }, _selectionChangeHandler: function(e) { var _this15 = this; if ("useButtons" === this.option("applyValueMode")) { return } var value = this._getValue().slice(); (0, _iterator.each)(e.removedItems || [], (function(_, removedItem) { _this15._removeTag(value, _this15._valueGetter(removedItem)) })); (0, _iterator.each)(e.addedItems || [], (function(_, addedItem) { _this15._addTag(value, _this15._valueGetter(addedItem)) })); this._updateWidgetHeight(); if (!(0, _common.equalByValue)(this._list.option("selectedItemKeys"), this.option("value"))) { var listSelectionChangeEvent = this._list._getSelectionChangeEvent(); listSelectionChangeEvent && this._saveValueChangeEvent(listSelectionChangeEvent); this.option("value", value) } this._list._saveSelectionChangeEvent(void 0) }, _removeTag: function(value, item) { var index = this._valueIndex(item, value); if (index >= 0) { value.splice(index, 1) } }, _addTag: function(value, item) { var index = this._valueIndex(item); if (index < 0) { value.push(item) } }, _fieldRenderData: function() { return this._selectedItems.slice() }, _completeSelection: function(value) { if (!this.option("showSelectionControls")) { this._setValue(value) } }, _setValue: function(value) { if (null === value) { return } var useButtons = "useButtons" === this.option("applyValueMode"); var valueIndex = this._valueIndex(value); var values = (useButtons ? this._list.option("selectedItemKeys") : this._getValue()).slice(); if (valueIndex >= 0) { values.splice(valueIndex, 1) } else { values.push(value) } if ("useButtons" === this.option("applyValueMode")) { this._list.option("selectedItemKeys", values) } else { this.option("value", values) } }, _isSelectedValue: function(value, cache) { return this._valueIndex(value, null, cache) > -1 }, _valueIndex: function(value, values, cache) { var _this16 = this; var result = -1; if (cache && "object" !== _typeof(value)) { if (!cache.indexByValues) { cache.indexByValues = {}; values = values || this._getValue(); values.forEach((function(value, index) { cache.indexByValues[value] = index })) } if (value in cache.indexByValues) { return cache.indexByValues[value] } } values = values || this._getValue(); (0, _iterator.each)(values, (function(index, selectedValue) { if (_this16._isValueEquals(value, selectedValue)) { result = index; return false } })); return result }, _lastValue: function() { var values = this._getValue(); var lastValue = values[values.length - 1]; return null !== lastValue && void 0 !== lastValue ? lastValue : null }, _shouldRenderSearchEvent: function() { return this.option("searchEnabled") || this.option("acceptCustomValue") }, _searchHandler: function(e) { if (this.option("searchEnabled") && !!e && !this._isTagRemoved) { this.callBase(arguments); this._setListDataSourceFilter() } this._updateWidgetHeight(); delete this._isTagRemoved }, _updateWidgetHeight: function() { var element = this.$element(); var originalHeight = (0, _size.getHeight)(element); this._renderInputSize(); var currentHeight = (0, _size.getHeight)(element); if (this._popup && this.option("opened") && this._isEditable() && currentHeight !== originalHeight) { this._popup.repaint() } }, _refreshSelected: function() { var _this$_list3; (null === (_this$_list3 = this._list) || void 0 === _this$_list3 ? void 0 : _this$_list3.getDataSource()) && this._list.option("selectedItems", this._selectedItems) }, _resetListDataSourceFilter: function() { var dataController = this._dataController; delete this._userFilter; dataController.filter(null); dataController.reload() }, _setListDataSourceFilter: function() { if (!this.option("hideSelectedItems") || !this._list) { return } var dataController = this._dataController; var valueGetterExpr = this._valueGetterExpr(); if ((0, _type.isString)(valueGetterExpr) && "this" !== valueGetterExpr) { var filter = this._dataSourceFilterExpr(); if (void 0 === this._userFilter) { this._userFilter = dataController.filter() || null } this._userFilter && filter.push(this._userFilter); filter.length ? dataController.filter(filter) : dataController.filter(null) } else { dataController.filter(this._dataSourceFilterFunction.bind(this)) } dataController.load() }, _dataSourceFilterExpr: function() { var _this17 = this; var filter = []; this._getValue().forEach((function(value) { return filter.push(["!", [_this17._valueGetterExpr(), value]]) })); return filter }, _dataSourceFilterFunction: function(itemData) { var _this18 = this; var itemValue = this._valueGetter(itemData); var result = true; (0, _iterator.each)(this._getValue(), (function(index, value) { if (_this18._isValueEquals(value, itemValue)) { result = false; return false } })); return result }, _dataSourceChangedHandler: function() { this._isDataSourceChanged = true; this.callBase.apply(this, arguments) }, _applyButtonHandler: function(args) { this._saveValueChangeEvent(args.event); this.option("value", this._getSortedListValues()); this._clearTextValue(); this.callBase(); this._cancelSearchIfNeed() }, _getSortedListValues: function() { var listValues = this._getListValues(); var currentValue = this.option("value") || []; var existedItems = listValues.length ? (0, _array.getIntersection)(currentValue, listValues) : []; var newItems = existedItems.length ? (0, _array.removeDuplicates)(listValues, currentValue) : listValues; return existedItems.concat(newItems) }, _getListValues: function() { var _this19 = this; if (!this._list) { return [] } return this._getPlainItems(this._list.option("selectedItems")).map((function(item) { return _this19._valueGetter(item) })) }, _setListDataSource: function() { var currentValue = this._getValue(); this.callBase(); if (currentValue !== this.option("value")) { this.option("value", currentValue) } this._refreshSelected() }, _renderOpenedState: function() { this.callBase(); if ("useButtons" === this.option("applyValueMode") && !this.option("opened")) { this._refreshSelected() } }, reset: function() { this._restoreInputText(); var defaultValue = this._getDefaultOptions().value; var currentValue = this.option("value"); if (defaultValue && 0 === defaultValue.length && currentValue && defaultValue.length === currentValue.length) { return } this.callBase() }, _clean: function() { this.callBase(); delete this._defaultTagTemplate; delete this._valuesToUpdate; delete this._tagTemplate }, _getSelectedItemsDifference: function(newItems, previousItems) { var _this20 = this; if (!newItems.length) { return { addedItems: [], removedItems: previousItems.slice() } } if (!previousItems.length) { return { addedItems: newItems.slice(), removedItems: [] } } var previousItemsValuesMap = previousItems.reduce((function(map, item) { var value = _this20._valueGetter(item); map[value] = item; return map }), {}); var addedItems = []; newItems.forEach((function(item) { var value = _this20._valueGetter(item); if (!previousItemsValuesMap[value]) { addedItems.push(item) } delete previousItemsValuesMap[value] })); return { addedItems: addedItems, removedItems: Object.values(previousItemsValuesMap) } }, _optionChanged: function(args) { var name = args.name, value = args.value, previousValue = args.previousValue; switch (name) { case "onSelectAllValueChanged": this._initSelectAllValueChangedAction(); break; case "onMultiTagPreparing": this._initMultiTagPreparingAction(); this._renderTags(); break; case "hideSelectedItems": if (value) { this._setListDataSourceFilter() } else { this._resetListDataSourceFilter() } break; case "useSubmitBehavior": this._toggleSubmitElement(value); break; case "displayExpr": this.callBase(args); this._initTemplates(); this._invalidate(); break; case "tagTemplate": this._initTagTemplate(); this._invalidate(); break; case "selectAllText": this._setListOption("selectAllText", this.option("selectAllText")); break; case "readOnly": case "disabled": this.callBase(args); !value && this._refreshEvents(); break; case "value": this._valuesToUpdate = value; this.callBase(args); this._valuesToUpdate = void 0; this._setListDataSourceFilter(); break; case "maxDisplayedTags": case "showMultiTagOnly": this._renderTags(); break; case "selectAllMode": this._setListOption(name, value); break; case "selectedItem": break; case "selectedItems": this._selectionChangedAction(this._getSelectedItemsDifference(value, previousValue)); break; case "multiline": this.$element().toggleClass("dx-tagbox-single-line", !value); this._renderSingleLineScroll(); break; case "maxFilterQueryLength": break; default: this.callBase(args) } }, _getActualSearchValue: function() { return this.callBase() || this._searchValue() }, _popupHidingHandler: function() { this.callBase(); this._clearFilter() } }); (0, _component_registrator.default)("dxTagBox", TagBox); var _default = TagBox; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 51237: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/text_area.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _index = __webpack_require__( /*! ../events/utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../events/pointer */ 93786)); var _emitterGesture = _interopRequireDefault(__webpack_require__( /*! ../events/gesture/emitter.gesture.scroll */ 37334)); var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _utils = __webpack_require__( /*! ./text_box/utils.scroll */ 51203); var _text_box = _interopRequireDefault(__webpack_require__( /*! ./text_box */ 29837)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var TextArea = _text_box.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { spellcheck: true, minHeight: void 0, maxHeight: void 0, autoResizeEnabled: false }) }, _initMarkup: function() { this.$element().addClass("dx-textarea"); this.callBase(); this.setAria("multiline", "true") }, _renderContentImpl: function() { this._updateInputHeight(); this.callBase() }, _renderInput: function() { this.callBase(); this._renderScrollHandler() }, _createInput: function() { var $input = (0, _renderer.default)("<textarea>"); this._applyInputAttributes($input, this.option("inputAttr")); this._updateInputAutoResizeAppearance($input); return $input }, _applyInputAttributes: function($input, customAttributes) { $input.attr(customAttributes).addClass("dx-texteditor-input") }, _renderScrollHandler: function() { this._eventY = 0; var $input = this._input(); var initScrollData = (0, _utils.prepareScrollData)($input, true); _events_engine.default.on($input, (0, _index.addNamespace)(_emitterGesture.default.init, this.NAME), initScrollData, _common.noop); _events_engine.default.on($input, (0, _index.addNamespace)(_pointer.default.down, this.NAME), this._pointerDownHandler.bind(this)); _events_engine.default.on($input, (0, _index.addNamespace)(_pointer.default.move, this.NAME), this._pointerMoveHandler.bind(this)) }, _pointerDownHandler: function(e) { this._eventY = (0, _index.eventData)(e).y }, _pointerMoveHandler: function(e) { var currentEventY = (0, _index.eventData)(e).y; var delta = this._eventY - currentEventY; if ((0, _utils.allowScroll)(this._input(), delta)) { e.isScrollingEvent = true; e.stopPropagation() } this._eventY = currentEventY }, _renderDimensions: function() { var $element = this.$element(); var element = $element.get(0); var width = this._getOptionValue("width", element); var height = this._getOptionValue("height", element); var minHeight = this.option("minHeight"); var maxHeight = this.option("maxHeight"); $element.css({ minHeight: void 0 !== minHeight ? minHeight : "", maxHeight: void 0 !== maxHeight ? maxHeight : "", width: width, height: height }) }, _resetDimensions: function() { this.$element().css({ height: "", minHeight: "", maxHeight: "" }) }, _renderEvents: function() { if (this.option("autoResizeEnabled")) { _events_engine.default.on(this._input(), (0, _index.addNamespace)("input paste", this.NAME), this._updateInputHeight.bind(this)) } this.callBase() }, _refreshEvents: function() { _events_engine.default.off(this._input(), (0, _index.addNamespace)("input paste", this.NAME)); this.callBase() }, _getHeightDifference: function($input) { return (0, _size.getVerticalOffsets)(this._$element.get(0), false) + (0, _size.getVerticalOffsets)(this._$textEditorContainer.get(0), false) + (0, _size.getVerticalOffsets)(this._$textEditorInputContainer.get(0), false) + (0, _size.getElementBoxParams)("height", (0, _window.getWindow)().getComputedStyle($input.get(0))).margin }, _updateInputHeight: function() { if (!(0, _window.hasWindow)()) { return } var $input = this._input(); var height = this.option("height"); var autoHeightResizing = void 0 === height && this.option("autoResizeEnabled"); var shouldCalculateInputHeight = autoHeightResizing || void 0 === height && this.option("minHeight"); if (!shouldCalculateInputHeight) { $input.css("height", ""); return } this._resetDimensions(); this._$element.css("height", (0, _size.getOuterHeight)(this._$element)); $input.css("height", 0); var heightDifference = this._getHeightDifference($input); this._renderDimensions(); var minHeight = this._getBoundaryHeight("minHeight"); var maxHeight = this._getBoundaryHeight("maxHeight"); var inputHeight = $input[0].scrollHeight; if (void 0 !== minHeight) { inputHeight = Math.max(inputHeight, minHeight - heightDifference) } if (void 0 !== maxHeight) { var adjustedMaxHeight = maxHeight - heightDifference; var needScroll = inputHeight > adjustedMaxHeight; inputHeight = Math.min(inputHeight, adjustedMaxHeight); this._updateInputAutoResizeAppearance($input, !needScroll) } $input.css("height", inputHeight); if (autoHeightResizing) { this._$element.css("height", "auto") } }, _getBoundaryHeight: function(optionName) { var boundaryValue = this.option(optionName); if ((0, _type.isDefined)(boundaryValue)) { return "number" === typeof boundaryValue ? boundaryValue : (0, _size.parseHeight)(boundaryValue, this.$element().get(0).parentElement, this._$element.get(0)) } }, _renderInputType: _common.noop, _visibilityChanged: function(visible) { if (visible) { this._updateInputHeight() } }, _updateInputAutoResizeAppearance: function($input, isAutoResizeEnabled) { if ($input) { var autoResizeEnabled = (0, _common.ensureDefined)(isAutoResizeEnabled, this.option("autoResizeEnabled")); $input.toggleClass("dx-texteditor-input-auto-resize", autoResizeEnabled) } }, _dimensionChanged: function() { if (this.option("visible")) { this._updateInputHeight() } }, _optionChanged: function(args) { switch (args.name) { case "autoResizeEnabled": this._updateInputAutoResizeAppearance(this._input(), args.value); this._refreshEvents(); this._updateInputHeight(); break; case "value": case "height": this.callBase(args); this._updateInputHeight(); break; case "minHeight": case "maxHeight": this._renderDimensions(); this._updateInputHeight(); break; case "visible": this.callBase(args); args.value && this._updateInputHeight(); break; default: this.callBase(args) } } }); (0, _component_registrator.default)("dxTextArea", TextArea); var _default = TextArea; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 29837: /*!************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/text_box.js ***! \************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _text_box = (obj = __webpack_require__( /*! ./text_box/text_box */ 98356), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _text_box.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 98356: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/text_box/text_box.js ***! \*********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./ui.text_editor */ 63513)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var ignoreKeys = ["backspace", "tab", "enter", "pageUp", "pageDown", "end", "home", "leftArrow", "rightArrow", "downArrow", "upArrow", "del"]; var TextBox = _ui.default.inherit({ ctor: function(element, options) { if (options) { this._showClearButton = options.showClearButton } this.callBase.apply(this, arguments) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { value: "", mode: "text", maxLength: null }) }, _initMarkup: function() { this.$element().addClass("dx-textbox"); this.callBase(); this.setAria("role", "textbox") }, _renderInputType: function() { this.callBase(); this._renderSearchMode() }, _useTemplates: function() { return false }, _renderProps: function() { this.callBase(); this._toggleMaxLengthProp() }, _toggleMaxLengthProp: function() { var maxLength = this._getMaxLength(); if (maxLength && maxLength > 0) { this._input().attr("maxLength", maxLength) } else { this._input().removeAttr("maxLength") } }, _renderSearchMode: function() { var $element = this._$element; if ("search" === this.option("mode")) { $element.addClass("dx-searchbox"); this._renderSearchIcon(); if (void 0 === this._showClearButton) { this._showClearButton = this.option("showClearButton"); this.option("showClearButton", true) } } else { $element.removeClass("dx-searchbox"); this._$searchIcon && this._$searchIcon.remove(); this.option("showClearButton", void 0 === this._showClearButton ? this.option("showClearButton") : this._showClearButton); delete this._showClearButton } }, _renderSearchIcon: function() { var $searchIcon = (0, _renderer.default)("<div>").addClass("dx-icon").addClass("dx-icon-search"); $searchIcon.prependTo(this._input().parent()); this._$searchIcon = $searchIcon }, _getLabelContainerWidth: function() { if (this._$searchIcon) { var $inputContainer = this._input().parent(); return (0, _size.getWidth)($inputContainer) - this._getLabelBeforeWidth() } return this.callBase() }, _getLabelBeforeWidth: function() { var labelBeforeWidth = this.callBase(); if (this._$searchIcon) { labelBeforeWidth += (0, _size.getOuterWidth)(this._$searchIcon) } return labelBeforeWidth }, _optionChanged: function(args) { switch (args.name) { case "maxLength": this._toggleMaxLengthProp(); break; case "mode": this.callBase(args); this._updateLabelWidth(); break; case "mask": this.callBase(args); this._toggleMaxLengthProp(); break; default: this.callBase(args) } }, _onKeyDownCutOffHandler: function(e) { var actualMaxLength = this._getMaxLength(); if (actualMaxLength && !e.ctrlKey && !this._hasSelection()) { var $input = (0, _renderer.default)(e.target); var key = (0, _index.normalizeKeyName)(e); this._cutOffExtraChar($input); return $input.val().length < actualMaxLength || ignoreKeys.includes(key) || "" !== window.getSelection().toString() } else { return true } }, _onChangeCutOffHandler: function(e) { var $input = (0, _renderer.default)(e.target); if (this.option("maxLength")) { this._cutOffExtraChar($input) } }, _cutOffExtraChar: function($input) { var actualMaxLength = this._getMaxLength(); var textInput = $input.val(); if (actualMaxLength && textInput.length > actualMaxLength) { $input.val(textInput.substr(0, actualMaxLength)) } }, _getMaxLength: function() { var isMaskSpecified = !!this.option("mask"); return isMaskSpecified ? null : this.option("maxLength") } }); (0, _component_registrator.default)("dxTextBox", TextBox); var _default = TextBox; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 11483: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/text_box/texteditor_button_collection/button.js ***! \************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = (obj = __webpack_require__( /*! ../../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var TextEditorButton = function() { function TextEditorButton(name, editor, options) { this.instance = null; this.$container = null; this.$placeMarker = null; this.editor = editor; this.name = name; this.options = options || {} } var _proto = TextEditorButton.prototype; _proto._addPlaceMarker = function($container) { this.$placeMarker = (0, _renderer.default)("<div>").appendTo($container) }; _proto._addToContainer = function($element) { var $placeMarker = this.$placeMarker, $container = this.$container; $placeMarker ? $placeMarker.replaceWith($element) : $element.appendTo($container) }; _proto._attachEvents = function() { throw "Not implemented" }; _proto._create = function() { throw "Not implemented" }; _proto._isRendered = function() { return !!this.instance }; _proto._isVisible = function() { var editor = this.editor, options = this.options; return options.visible || !editor.option("readOnly") }; _proto._isDisabled = function() { throw "Not implemented" }; _proto._shouldRender = function() { return this._isVisible() && !this._isRendered() }; _proto.dispose = function() { var instance = this.instance, $placeMarker = this.$placeMarker; if (instance) { instance.dispose ? instance.dispose() : instance.remove(); this.instance = null } $placeMarker && $placeMarker.remove() }; _proto.render = function() { var $container = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.$container; this.$container = $container; if (this._isVisible()) { var _this$_create = this._create(), instance = _this$_create.instance, $element = _this$_create.$element; this.instance = instance; this._attachEvents(instance, $element) } else { this._addPlaceMarker($container) } }; _proto.update = function() { if (this._shouldRender()) { this.render() } return !!this.instance }; return TextEditorButton }(); exports.default = TextEditorButton; module.exports = exports.default; module.exports.default = exports.default }, 44470: /*!************************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/text_box/texteditor_button_collection/custom.js ***! \************************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _button = _interopRequireDefault(__webpack_require__( /*! ./button */ 11483)); var _button2 = _interopRequireDefault(__webpack_require__( /*! ../../button */ 63008)); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _hover = __webpack_require__( /*! ../../../events/hover */ 24028); var _click = __webpack_require__( /*! ../../../events/click */ 95429); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var CustomButton = function(_TextEditorButton) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(CustomButton, _TextEditorButton); function CustomButton() { return _TextEditorButton.apply(this, arguments) || this } var _proto = CustomButton.prototype; _proto._attachEvents = function(instance, $element) { var editor = this.editor; _events_engine.default.on($element, _hover.start, (function() { editor.$element().addClass("dx-custom-button-hovered") })); _events_engine.default.on($element, _hover.end, (function() { editor.$element().removeClass("dx-custom-button-hovered") })); _events_engine.default.on($element, _click.name, (function(e) { e.stopPropagation() })) }; _proto._create = function() { var editor = this.editor; var $element = (0, _renderer.default)("<div>"); this._addToContainer($element); var instance = editor._createComponent($element, _button2.default, (0, _extend.extend)({}, this.options, { ignoreParentReadOnly: true, disabled: this._isDisabled(), integrationOptions: this._prepareIntegrationOptions(editor) })); return { $element: $element, instance: instance } }; _proto._prepareIntegrationOptions = function(editor) { return (0, _extend.extend)({}, editor.option("integrationOptions"), { skipTemplates: ["content"] }) }; _proto.update = function() { var isUpdated = _TextEditorButton.prototype.update.call(this); if (this.instance) { this.instance.option("disabled", this._isDisabled()) } return isUpdated }; _proto._isVisible = function() { var editor = this.editor; return editor.option("visible") }; _proto._isDisabled = function() { var isDefinedByUser = void 0 !== this.options.disabled; if (isDefinedByUser) { return this.instance ? this.instance.option("disabled") : this.options.disabled } else { return this.editor.option("readOnly") } }; return CustomButton }(_button.default); exports.default = CustomButton; module.exports = exports.default; module.exports.default = exports.default }, 91202: /*!***********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/text_box/texteditor_button_collection/index.js ***! \***********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _custom = _interopRequireDefault(__webpack_require__( /*! ./custom */ 44470)); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../widget/ui.errors */ 96688)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function checkNamesUniqueness(existingNames, newName) { if (-1 !== existingNames.indexOf(newName)) { throw _ui.default.Error("E1055", newName) } existingNames.push(newName) } var TextEditorButtonCollection = function() { function TextEditorButtonCollection(editor, defaultButtonsInfo) { this.buttons = []; this.defaultButtonsInfo = defaultButtonsInfo; this.editor = editor } var _proto = TextEditorButtonCollection.prototype; _proto._compileButtonInfo = function(buttons) { var _this = this; var names = []; return buttons.map((function(button) { var isStringButton = "string" === typeof button; if (!isStringButton) { ! function(buttonInfo) { ! function() { if (!buttonInfo || "object" !== _typeof(buttonInfo) || Array.isArray(buttonInfo)) { throw _ui.default.Error("E1053") } }(); ! function() { if (!("name" in buttonInfo)) { throw _ui.default.Error("E1054") } }(); ! function() { var name = buttonInfo.name; if ("string" !== typeof name) { throw _ui.default.Error("E1055") } }(); ! function() { var location = buttonInfo.location; if ("location" in buttonInfo && "after" !== location && "before" !== location) { buttonInfo.location = "after" } }() }(button) } var isDefaultButton = isStringButton || function(name, predefinedButtonsInfo) { return !!predefinedButtonsInfo.find((function(info) { return info.name === name })) }(button.name, _this.defaultButtonsInfo); if (isDefaultButton) { var defaultButtonInfo = _this.defaultButtonsInfo.find((function(_ref) { var name = _ref.name; return name === button || name === button.name })); if (!defaultButtonInfo) { throw _ui.default.Error("E1056", _this.editor.NAME, button) } checkNamesUniqueness(names, button); return defaultButtonInfo } else { var name = button.name; checkNamesUniqueness(names, name); return (0, _extend.extend)(button, { Ctor: _custom.default }) } })) }; _proto._createButton = function(buttonsInfo) { var Ctor = buttonsInfo.Ctor, options = buttonsInfo.options, name = buttonsInfo.name; var button = new Ctor(name, this.editor, options); this.buttons.push(button); return button }; _proto._renderButtons = function(buttons, $container, targetLocation) { var _this2 = this; var $buttonsContainer = null; var buttonsInfo = buttons ? this._compileButtonInfo(buttons) : this.defaultButtonsInfo; buttonsInfo.forEach((function(buttonsInfo) { var _buttonsInfo$location = buttonsInfo.location, location = void 0 === _buttonsInfo$location ? "after" : _buttonsInfo$location; if (location === targetLocation) { _this2._createButton(buttonsInfo).render(function() { $buttonsContainer = $buttonsContainer || (0, _renderer.default)("<div>").addClass("dx-texteditor-buttons-container"); "before" === targetLocation ? $container.prepend($buttonsContainer) : $container.append($buttonsContainer); return $buttonsContainer }()) } })); return $buttonsContainer }; _proto.clean = function() { this.buttons.forEach((function(button) { return button.dispose() })); this.buttons = [] }; _proto.getButton = function(buttonName) { var button = this.buttons.find((function(_ref2) { var name = _ref2.name; return name === buttonName })); return button && button.instance }; _proto.renderAfterButtons = function(buttons, $container) { return this._renderButtons(buttons, $container, "after") }; _proto.renderBeforeButtons = function(buttons, $container) { return this._renderButtons(buttons, $container, "before") }; _proto.updateButtons = function(names) { this.buttons.forEach((function(button) { if (!names || -1 !== names.indexOf(button.name)) { button.update() } })) }; return TextEditorButtonCollection }(); exports.default = TextEditorButtonCollection; module.exports = exports.default; module.exports.default = exports.default }, 86530: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/text_box/ui.text_editor.base.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _selectors = __webpack_require__( /*! ../widget/selectors */ 31421); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _themes = __webpack_require__( /*! ../themes */ 75811); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _editor = _interopRequireDefault(__webpack_require__( /*! ../editor/editor */ 96452)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _uiText_editor = _interopRequireDefault(__webpack_require__( /*! ./ui.text_editor.clear */ 49714)); var _index2 = _interopRequireDefault(__webpack_require__( /*! ./texteditor_button_collection/index */ 91202)); var _config = _interopRequireDefault(__webpack_require__( /*! ../../core/config */ 80209)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _load_indicator = _interopRequireDefault(__webpack_require__( /*! ../load_indicator */ 2492)); var _uiText_editor2 = __webpack_require__( /*! ./ui.text_editor.label */ 78986); var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _resize_observer = _interopRequireDefault(__webpack_require__( /*! ../../core/resize_observer */ 91784)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var EVENTS_LIST = ["KeyDown", "KeyPress", "KeyUp", "Change", "Cut", "Copy", "Paste", "Input"]; var CONTROL_KEYS = ["tab", "enter", "shift", "control", "alt", "escape", "pageUp", "pageDown", "end", "home", "leftArrow", "upArrow", "rightArrow", "downArrow"]; var TextEditorLabelCreator = _uiText_editor2.TextEditorLabel; function checkButtonsOptionType(buttons) { if ((0, _type.isDefined)(buttons) && !Array.isArray(buttons)) { throw _ui.default.Error("E1053") } } var TextEditorBase = _editor.default.inherit({ ctor: function(_, options) { if (options) { checkButtonsOptionType(options.buttons) } this._buttonCollection = new _index2.default(this, this._getDefaultButtons()); this._$beforeButtonsContainer = null; this._$afterButtonsContainer = null; this._labelContainerElement = null; this.callBase.apply(this, arguments) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { buttons: void 0, value: "", spellcheck: false, showClearButton: false, valueChangeEvent: "change", placeholder: "", inputAttr: {}, onFocusIn: null, onFocusOut: null, onKeyDown: null, onKeyUp: null, onChange: null, onInput: null, onCut: null, onCopy: null, onPaste: null, onEnterKey: null, mode: "text", hoverStateEnabled: true, focusStateEnabled: true, text: void 0, displayValueFormatter: function(value) { return (0, _type.isDefined)(value) && false !== value ? value : "" }, stylingMode: (0, _config.default)().editorStylingMode || "outlined", showValidationMark: true, label: "", labelMode: "static", labelMark: "" }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { var themeName = (0, _themes.current)(); return (0, _themes.isMaterial)(themeName) }, options: { stylingMode: (0, _config.default)().editorStylingMode || "filled", labelMode: "floating" } }]) }, _getDefaultButtons: function() { return [{ name: "clear", Ctor: _uiText_editor.default }] }, _isClearButtonVisible: function() { return this.option("showClearButton") && !this.option("readOnly") }, _input: function() { return this.$element().find(".dx-texteditor-input").first() }, _isFocused: function() { return (0, _selectors.focused)(this._input()) || this.callBase() }, _inputWrapper: function() { return this.$element() }, _buttonsContainer: function() { return this._inputWrapper().find(".dx-texteditor-buttons-container").eq(0) }, _isControlKey: function(key) { return -1 !== CONTROL_KEYS.indexOf(key) }, _renderStylingMode: function() { this.callBase(); this._updateButtonsStyling(this.option("stylingMode")) }, _initMarkup: function() { this.$element().addClass("dx-texteditor"); this._renderInput(); this._renderStylingMode(); this._renderInputType(); this._renderPlaceholder(); this._renderProps(); this.callBase(); this._renderValue(); this._renderLabel() }, _render: function() { this.callBase(); this._refreshValueChangeEvent(); this._renderEvents(); this._renderEnterKeyAction(); this._renderEmptinessEvent() }, _renderInput: function() { this._$buttonsContainer = this._$textEditorContainer = (0, _renderer.default)("<div>").addClass("dx-texteditor-container").appendTo(this.$element()); this._$textEditorInputContainer = (0, _renderer.default)("<div>").addClass("dx-texteditor-input-container").appendTo(this._$textEditorContainer); this._$textEditorInputContainer.append(this._createInput()); this._renderButtonContainers() }, _getInputContainer: function() { return this._$textEditorInputContainer }, _renderPendingIndicator: function() { this.$element().addClass("dx-validation-pending"); var $inputContainer = this._getInputContainer(); var $indicatorElement = (0, _renderer.default)("<div>").addClass("dx-pending-indicator").appendTo($inputContainer); this._pendingIndicator = this._createComponent($indicatorElement, _load_indicator.default) }, _disposePendingIndicator: function() { if (!this._pendingIndicator) { return } this._pendingIndicator.dispose(); this._pendingIndicator.$element().remove(); this._pendingIndicator = null; this.$element().removeClass("dx-validation-pending") }, _renderValidationState: function() { this.callBase(); var isPending = "pending" === this.option("validationStatus"); var $element = this.$element(); if (isPending) { !this._pendingIndicator && this._renderPendingIndicator(); this._showValidMark = false } else { if ("invalid" === this.option("validationStatus")) { this._showValidMark = false } if (!this._showValidMark && true === this.option("showValidationMark")) { this._showValidMark = "valid" === this.option("validationStatus") && !!this._pendingIndicator } this._disposePendingIndicator() } $element.toggleClass("dx-valid", !!this._showValidMark) }, _renderButtonContainers: function() { var buttons = this.option("buttons"); this._$beforeButtonsContainer = this._buttonCollection.renderBeforeButtons(buttons, this._$buttonsContainer); this._$afterButtonsContainer = this._buttonCollection.renderAfterButtons(buttons, this._$buttonsContainer) }, _cleanButtonContainers: function() { var _this$_$beforeButtons, _this$_$afterButtonsC; null === (_this$_$beforeButtons = this._$beforeButtonsContainer) || void 0 === _this$_$beforeButtons ? void 0 : _this$_$beforeButtons.remove(); null === (_this$_$afterButtonsC = this._$afterButtonsContainer) || void 0 === _this$_$afterButtonsC ? void 0 : _this$_$afterButtonsC.remove(); this._buttonCollection.clean() }, _clean: function() { this._buttonCollection.clean(); this._disposePendingIndicator(); this._unobserveLabelContainerResize(); this._$beforeButtonsContainer = null; this._$afterButtonsContainer = null; this._$textEditorContainer = null; this._$buttonsContainer = null; this.callBase() }, _createInput: function() { var $input = (0, _renderer.default)("<input>"); this._applyInputAttributes($input, this.option("inputAttr")); return $input }, _setSubmitElementName: function(name) { var inputAttrName = this.option("inputAttr.name"); return this.callBase(name || inputAttrName || "") }, _applyInputAttributes: function($input, customAttributes) { var inputAttributes = (0, _extend.extend)(this._getDefaultAttributes(), customAttributes); $input.attr(inputAttributes).addClass("dx-texteditor-input").css("minHeight", this.option("height") ? "0" : "") }, _getDefaultAttributes: function() { var defaultAttributes = { autocomplete: "off" }; var _devices$real = _devices.default.real(), ios = _devices$real.ios, mac = _devices$real.mac; if (ios || mac) { defaultAttributes.placeholder = " " } return defaultAttributes }, _updateButtons: function(names) { this._buttonCollection.updateButtons(names) }, _updateButtonsStyling: function(editorStylingMode) { var _this = this; (0, _iterator.each)(this.option("buttons"), (function(_, _ref) { var options = _ref.options, buttonName = _ref.name; if (options && !options.stylingMode && _this.option("visible")) { var buttonInstance = _this.getButton(buttonName); buttonInstance.option && buttonInstance.option("stylingMode", "underlined" === editorStylingMode ? "text" : "contained") } })) }, _renderValue: function() { var renderInputPromise = this._renderInputValue(); return renderInputPromise.promise() }, _renderInputValue: function(value) { var _value; value = null !== (_value = value) && void 0 !== _value ? _value : this.option("value"); var text = this.option("text"); var displayValue = this.option("displayValue"); var displayValueFormatter = this.option("displayValueFormatter"); if (void 0 !== displayValue && null !== value) { text = displayValueFormatter(displayValue) } else if (!(0, _type.isDefined)(text)) { text = displayValueFormatter(value) } this.option("text", text); if (this._input().val() !== ((0, _type.isDefined)(text) ? text : "")) { this._renderDisplayText(text) } else { this._toggleEmptinessEventHandler() } return (new _deferred.Deferred).resolve() }, _renderDisplayText: function(text) { this._input().val(text); this._toggleEmptinessEventHandler() }, _isValueValid: function() { if (this._input().length) { var validity = this._input().get(0).validity; if (validity) { return validity.valid } } return true }, _toggleEmptiness: function(isEmpty) { this.$element().toggleClass("dx-texteditor-empty", isEmpty); this._togglePlaceholder(isEmpty) }, _togglePlaceholder: function(isEmpty) { this.$element().find(".".concat("dx-placeholder")).eq(0).toggleClass("dx-state-invisible", !isEmpty) }, _renderProps: function() { this._toggleReadOnlyState(); this._toggleSpellcheckState(); this._toggleTabIndex() }, _toggleDisabledState: function(value) { this.callBase.apply(this, arguments); var $input = this._input(); $input.prop("disabled", value) }, _toggleTabIndex: function() { var $input = this._input(); var disabled = this.option("disabled"); var focusStateEnabled = this.option("focusStateEnabled"); if (disabled || !focusStateEnabled) { $input.attr("tabIndex", -1) } else { $input.removeAttr("tabIndex") } }, _toggleReadOnlyState: function() { this._input().prop("readOnly", this._readOnlyPropValue()); this.callBase() }, _readOnlyPropValue: function() { return this.option("readOnly") }, _toggleSpellcheckState: function() { this._input().prop("spellcheck", this.option("spellcheck")) }, _unobserveLabelContainerResize: function() { if (this._labelContainerElement) { _resize_observer.default.unobserve(this._labelContainerElement); this._labelContainerElement = null } }, _getLabelContainer: function() { return this._input() }, _getLabelContainerWidth: function() { return (0, _size.getWidth)(this._getLabelContainer()) }, _getLabelBeforeWidth: function() { var buttonsBeforeWidth = this._$beforeButtonsContainer && (0, _size.getWidth)(this._$beforeButtonsContainer); return null !== buttonsBeforeWidth && void 0 !== buttonsBeforeWidth ? buttonsBeforeWidth : 0 }, _updateLabelWidth: function() { this._label.updateBeforeWidth(this._getLabelBeforeWidth()); this._label.updateMaxWidth(this._getLabelContainerWidth()) }, _getFieldElement: function() { return this._getLabelContainer() }, _setFieldAria: function() { var _this$_$placeholder; var labelId = this._label.getId(); var placeholderId = null === (_this$_$placeholder = this._$placeholder) || void 0 === _this$_$placeholder ? void 0 : _this$_$placeholder.attr("id"); var value = [labelId, placeholderId].filter(Boolean).join(" "); var aria = { labelledby: value || void 0 }; this.setAria(aria, this._getFieldElement()) }, _renderLabel: function() { this._unobserveLabelContainerResize(); this._labelContainerElement = (0, _renderer.default)(this._getLabelContainer()).get(0); var _this$option = this.option(), label = _this$option.label, labelMode = _this$option.labelMode, labelMark = _this$option.labelMark; var labelConfig = { $editor: this.$element(), text: label, mark: labelMark, mode: labelMode, containsButtonsBefore: !!this._$beforeButtonsContainer, containerWidth: this._getLabelContainerWidth(), beforeWidth: this._getLabelBeforeWidth() }; this._label = new TextEditorLabelCreator(labelConfig); this._setFieldAria(); if (this._labelContainerElement) { _resize_observer.default.observe(this._labelContainerElement, this._updateLabelWidth.bind(this)) } }, _renderPlaceholder: function() { this._renderPlaceholderMarkup(); this._attachPlaceholderEvents() }, _renderPlaceholderMarkup: function() { if (this._$placeholder) { this._$placeholder.remove(); this._$placeholder = null } var $input = this._input(); var placeholder = this.option("placeholder"); var placeholderAttributes = { id: placeholder ? "dx-".concat(new _guid.default) : void 0, "data-dx_placeholder": placeholder }; var $placeholder = this._$placeholder = (0, _renderer.default)("<div>").attr(placeholderAttributes); $placeholder.insertAfter($input); $placeholder.addClass("dx-placeholder") }, _attachPlaceholderEvents: function() { var _this2 = this; var startEvent = (0, _index.addNamespace)(_pointer.default.up, this.NAME); _events_engine.default.on(this._$placeholder, startEvent, (function() { _events_engine.default.trigger(_this2._input(), "focus") })); this._toggleEmptinessEventHandler() }, _placeholder: function() { return this._$placeholder || (0, _renderer.default)() }, _clearValueHandler: function(e) { var $input = this._input(); e.stopPropagation(); this._saveValueChangeEvent(e); this._clearValue(); !this._isFocused() && _events_engine.default.trigger($input, "focus"); _events_engine.default.trigger($input, "input") }, _clearValue: function() { this.reset() }, _renderEvents: function() { var _this3 = this; var $input = this._input(); (0, _iterator.each)(EVENTS_LIST, (function(_, event) { if (_this3.hasActionSubscription("on" + event)) { var action = _this3._createActionByOption("on" + event, { excludeValidators: ["readOnly"] }); _events_engine.default.on($input, (0, _index.addNamespace)(event.toLowerCase(), _this3.NAME), (function(e) { if (_this3._disposed) { return } action({ event: e }) })) } })) }, _refreshEvents: function() { var _this4 = this; var $input = this._input(); (0, _iterator.each)(EVENTS_LIST, (function(_, event) { _events_engine.default.off($input, (0, _index.addNamespace)(event.toLowerCase(), _this4.NAME)) })); this._renderEvents() }, _keyPressHandler: function() { this.option("text", this._input().val()) }, _keyDownHandler: function(e) { var $input = this._input(); var isCtrlEnter = e.ctrlKey && "enter" === (0, _index.normalizeKeyName)(e); var isNewValue = $input.val() !== this.option("value"); if (isCtrlEnter && isNewValue) { _events_engine.default.trigger($input, "change") } }, _getValueChangeEventOptionName: function() { return "valueChangeEvent" }, _renderValueChangeEvent: function() { var keyPressEvent = (0, _index.addNamespace)(this._renderValueEventName(), "".concat(this.NAME, "TextChange")); var valueChangeEvent = (0, _index.addNamespace)(this.option(this._getValueChangeEventOptionName()), "".concat(this.NAME, "ValueChange")); var keyDownEvent = (0, _index.addNamespace)("keydown", "".concat(this.NAME, "TextChange")); var $input = this._input(); _events_engine.default.on($input, keyPressEvent, this._keyPressHandler.bind(this)); _events_engine.default.on($input, valueChangeEvent, this._valueChangeEventHandler.bind(this)); _events_engine.default.on($input, keyDownEvent, this._keyDownHandler.bind(this)) }, _cleanValueChangeEvent: function() { var valueChangeNamespace = ".".concat(this.NAME, "ValueChange"); var textChangeNamespace = ".".concat(this.NAME, "TextChange"); _events_engine.default.off(this._input(), valueChangeNamespace); _events_engine.default.off(this._input(), textChangeNamespace) }, _refreshValueChangeEvent: function() { this._cleanValueChangeEvent(); this._renderValueChangeEvent() }, _renderValueEventName: function() { return "input change keypress" }, _focusTarget: function() { return this._input() }, _focusEventTarget: function() { return this.element() }, _isInput: function(element) { return element === this._input().get(0) }, _preventNestedFocusEvent: function(event) { if (event.isDefaultPrevented()) { return true } var shouldPrevent = this._isNestedTarget(event.relatedTarget); if ("focusin" === event.type) { shouldPrevent = shouldPrevent && this._isNestedTarget(event.target) && !this._isInput(event.target) } else if (!shouldPrevent) { this._toggleFocusClass(false, this.$element()) } shouldPrevent && event.preventDefault(); return shouldPrevent }, _isNestedTarget: function(target) { return !!this.$element().find(target).length }, _focusClassTarget: function() { return this.$element() }, _focusInHandler: function(event) { this._preventNestedFocusEvent(event); this.callBase.apply(this, arguments) }, _focusOutHandler: function(event) { this._preventNestedFocusEvent(event); this.callBase.apply(this, arguments) }, _toggleFocusClass: function(isFocused, $element) { this.callBase(isFocused, this._focusClassTarget($element)) }, _hasFocusClass: function(element) { return this.callBase((0, _renderer.default)(element || this.$element())) }, _renderEmptinessEvent: function() { var $input = this._input(); _events_engine.default.on($input, "input blur", this._toggleEmptinessEventHandler.bind(this)) }, _toggleEmptinessEventHandler: function() { var text = this._input().val(); var isEmpty = ("" === text || null === text) && this._isValueValid(); this._toggleEmptiness(isEmpty) }, _valueChangeEventHandler: function(e, formattedValue) { if (this.option("readOnly")) { return } this._saveValueChangeEvent(e); this.option("value", arguments.length > 1 ? formattedValue : this._input().val()); this._saveValueChangeEvent(void 0) }, _renderEnterKeyAction: function() { this._enterKeyAction = this._createActionByOption("onEnterKey", { excludeValidators: ["readOnly"] }); _events_engine.default.off(this._input(), "keyup.onEnterKey.dxTextEditor"); _events_engine.default.on(this._input(), "keyup.onEnterKey.dxTextEditor", this._enterKeyHandlerUp.bind(this)) }, _enterKeyHandlerUp: function(e) { if (this._disposed) { return } if ("enter" === (0, _index.normalizeKeyName)(e)) { this._enterKeyAction({ event: e }) } }, _updateValue: function() { this._options.silent("text", null); this._renderValue() }, _dispose: function() { this._enterKeyAction = void 0; this.callBase() }, _getSubmitElement: function() { return this._input() }, _hasActiveElement: function() { return this._input().is(_dom_adapter.default.getActiveElement(this._input()[0])) }, _optionChanged: function(args) { var name = args.name, fullName = args.fullName, value = args.value; var eventName = name.replace("on", ""); if (EVENTS_LIST.includes(eventName)) { this._refreshEvents(); return } switch (name) { case "valueChangeEvent": this._refreshValueChangeEvent(); this._refreshFocusEvent(); this._refreshEvents(); break; case "onValueChanged": this._createValueChangeAction(); break; case "focusStateEnabled": this.callBase(args); this._toggleTabIndex(); break; case "spellcheck": this._toggleSpellcheckState(); break; case "mode": this._renderInputType(); break; case "onEnterKey": this._renderEnterKeyAction(); break; case "placeholder": this._renderPlaceholder(); this._setFieldAria(); break; case "label": this._label.updateText(value); this._setFieldAria(); break; case "labelMark": this._label.updateMark(value); break; case "labelMode": this._label.updateMode(value); this._setFieldAria(); break; case "width": this.callBase(args); this._label.updateMaxWidth(this._getLabelContainerWidth()); break; case "readOnly": case "disabled": this._updateButtons(); this.callBase(args); break; case "showClearButton": this._updateButtons(["clear"]); break; case "text": break; case "value": this._updateValue(); this.callBase(args); break; case "inputAttr": this._applyInputAttributes(this._input(), this.option(name)); break; case "stylingMode": this._renderStylingMode(); this._updateLabelWidth(); break; case "buttons": if (fullName === name) { checkButtonsOptionType(value) } this._cleanButtonContainers(); this._renderButtonContainers(); this._updateButtonsStyling(this.option("stylingMode")); this._updateLabelWidth(); this._label.updateContainsButtonsBefore(!!this._$beforeButtonsContainer); break; case "visible": this.callBase(args); if (value && this.option("buttons")) { this._cleanButtonContainers(); this._renderButtonContainers(); this._updateButtonsStyling(this.option("stylingMode")) } break; case "displayValueFormatter": this._invalidate(); break; case "showValidationMark": break; default: this.callBase(args) } }, _renderInputType: function() { this._setInputType(this.option("mode")) }, _setInputType: function(type) { var input = this._input(); if ("search" === type) { type = "text" } try { input.prop("type", type) } catch (e) { input.prop("type", "text") } }, getButton: function(name) { return this._buttonCollection.getButton(name) }, focus: function() { _events_engine.default.trigger(this._input(), "focus") }, reset: function() { if (this._showValidMark) { this._showValidMark = false; this._renderValidationState() } var defaultOptions = this._getDefaultOptions(); if (this.option("value") === defaultOptions.value) { this._options.silent("text", ""); this._renderValue() } else { this.option("value", defaultOptions.value) } }, on: function(eventName, eventHandler) { var result = this.callBase(eventName, eventHandler); var event = eventName.charAt(0).toUpperCase() + eventName.substr(1); if (EVENTS_LIST.indexOf(event) >= 0) { this._refreshEvents() } return result } }); var _default = TextEditorBase; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 49714: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/text_box/ui.text_editor.clear.js ***! \*********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _button = _interopRequireDefault(__webpack_require__( /*! ./texteditor_button_collection/button */ 11483)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _click = __webpack_require__( /*! ../../events/click */ 95429); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var pointerDown = _pointer.default.down; var ClearButton = function(_TextEditorButton) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ClearButton, _TextEditorButton); function ClearButton() { return _TextEditorButton.apply(this, arguments) || this } var _proto = ClearButton.prototype; _proto._create = function() { var $element = (0, _renderer.default)("<span>").addClass("dx-clear-button-area").append((0, _renderer.default)("<span>").addClass("dx-icon").addClass("dx-icon-clear")); this._addToContainer($element); this.update(true); return { instance: $element, $element: $element } }; _proto._isVisible = function() { var editor = this.editor; return editor._isClearButtonVisible() }; _proto._attachEvents = function(instance, $button) { var editor = this.editor; var editorName = editor.NAME; _events_engine.default.on($button, (0, _index.addNamespace)(pointerDown, editorName), (function(e) { e.preventDefault(); if ("mouse" !== e.pointerType) { editor._clearValueHandler(e) } })); _events_engine.default.on($button, (0, _index.addNamespace)(_click.name, editorName), (function(e) { return editor._clearValueHandler(e) })) }; _proto._legacyRender = function($editor, isVisible) { $editor.toggleClass("dx-show-clear-button", isVisible) }; _proto.update = function() { var rendered = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false; !rendered && _TextEditorButton.prototype.update.call(this); var editor = this.editor, instance = this.instance; var $editor = editor.$element(); var isVisible = this._isVisible(); instance && instance.toggleClass("dx-state-invisible", !isVisible); this._legacyRender($editor, isVisible) }; return ClearButton }(_button.default); exports.default = ClearButton; module.exports = exports.default; module.exports.default = exports.default }, 63513: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/text_box/ui.text_editor.js ***! \***************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _uiText_editor = _interopRequireDefault(__webpack_require__( /*! ./ui.text_editor.mask */ 88839)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } }(0, _component_registrator.default)("dxTextEditor", _uiText_editor.default); var _default = _uiText_editor.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 78986: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/text_box/ui.text_editor.label.js ***! \*********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.TextEditorLabel = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var TextEditorLabel = function() { function TextEditorLabel(_ref) { var $editor = _ref.$editor, text = _ref.text, mode = _ref.mode, mark = _ref.mark, containsButtonsBefore = _ref.containsButtonsBefore, containerWidth = _ref.containerWidth, beforeWidth = _ref.beforeWidth; this._props = { $editor: $editor, text: text, mode: mode, mark: mark, containsButtonsBefore: containsButtonsBefore, containerWidth: containerWidth, beforeWidth: beforeWidth }; this._id = "".concat("dx-texteditor-label", "-").concat(new _guid.default); this._render(); this._toggleMarkupVisibility() } var _proto = TextEditorLabel.prototype; _proto._isVisible = function() { return !!this._props.text && "hidden" !== this._props.mode }; _proto._render = function() { this._$before = (0, _renderer.default)("<div>").addClass("dx-label-before"); this._$labelSpan = (0, _renderer.default)("<span>"); this._$label = (0, _renderer.default)("<div>").addClass("dx-label").append(this._$labelSpan); this._$after = (0, _renderer.default)("<div>").addClass("dx-label-after"); this._$root = (0, _renderer.default)("<div>").addClass("dx-texteditor-label").attr("id", this._id).append(this._$before).append(this._$label).append(this._$after); this._updateMark(); this._updateText(); this._updateBeforeWidth(); this._updateMaxWidth() }; _proto._toggleMarkupVisibility = function() { var visible = this._isVisible(); this._updateEditorBeforeButtonsClass(visible); this._updateEditorLabelClass(visible); visible ? this._$root.appendTo(this._props.$editor) : this._$root.detach() }; _proto._updateEditorLabelClass = function(visible) { this._props.$editor.removeClass("dx-texteditor-with-floating-label").removeClass("dx-texteditor-with-label"); if (visible) { var labelClass = "floating" === this._props.mode ? "dx-texteditor-with-floating-label" : "dx-texteditor-with-label"; this._props.$editor.addClass(labelClass) } }; _proto._updateEditorBeforeButtonsClass = function() { var visible = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._isVisible(); this._props.$editor.removeClass("dx-texteditor-with-before-buttons"); if (visible) { var beforeButtonsClass = this._props.containsButtonsBefore ? "dx-texteditor-with-before-buttons" : ""; this._props.$editor.addClass(beforeButtonsClass) } }; _proto._updateMark = function() { this._$labelSpan.attr("data-mark", this._props.mark) }; _proto._updateText = function() { this._$labelSpan.text(this._props.text) }; _proto._updateBeforeWidth = function() { this._$before.css({ width: this._props.beforeWidth }) }; _proto._updateMaxWidth = function() { this._$label.css({ maxWidth: this._props.containerWidth }) }; _proto.$element = function() { return this._$root }; _proto.isVisible = function() { return this._isVisible() }; _proto.getId = function() { if (this._isVisible()) { return this._id } }; _proto.updateMode = function(mode) { this._props.mode = mode; this._toggleMarkupVisibility() }; _proto.updateText = function(text) { this._props.text = text; this._updateText(); this._toggleMarkupVisibility() }; _proto.updateMark = function(mark) { this._props.mark = mark; this._updateMark() }; _proto.updateContainsButtonsBefore = function(containsButtonsBefore) { this._props.containsButtonsBefore = containsButtonsBefore; this._updateEditorBeforeButtonsClass() }; _proto.updateBeforeWidth = function(beforeWidth) { this._props.beforeWidth = beforeWidth; this._updateBeforeWidth() }; _proto.updateMaxWidth = function(containerWidth) { this._props.containerWidth = containerWidth; this._updateMaxWidth() }; return TextEditorLabel }(); exports.TextEditorLabel = TextEditorLabel }, 88839: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/text_box/ui.text_editor.mask.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _utils = _interopRequireDefault(__webpack_require__( /*! ./utils.caret */ 21516)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _selectors = __webpack_require__( /*! ../widget/selectors */ 31421); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _string = __webpack_require__( /*! ../../core/utils/string */ 68752); var _wheel = __webpack_require__( /*! ../../events/core/wheel */ 765); var _uiText_editorMask = __webpack_require__( /*! ./ui.text_editor.mask.rule */ 20175); var _uiText_editor = _interopRequireDefault(__webpack_require__( /*! ./ui.text_editor.base */ 86530)); var _uiText_editorMask2 = _interopRequireDefault(__webpack_require__( /*! ./ui.text_editor.mask.strategy */ 78013)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var stubCaret = function() { return {} }; var caret = _utils.default; var buildInMaskRules = { 0: /[0-9]/, 9: /[0-9\s]/, "#": /[-+0-9\s]/, L: function(char) { return isLiteralChar(char) }, l: function(char) { return isLiteralChar(char) || isSpaceChar(char) }, C: /\S/, c: /./, A: function(char) { return isLiteralChar(char) || isNumericChar(char) }, a: function(char) { return isLiteralChar(char) || isNumericChar(char) || isSpaceChar(char) } }; function isNumericChar(char) { return /[0-9]/.test(char) } function isLiteralChar(char) { var code = char.charCodeAt(); return 64 < code && code < 91 || 96 < code && code < 123 || code > 127 } function isSpaceChar(char) { return " " === char } var TextEditorMask = _uiText_editor.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { mask: "", maskChar: "_", maskRules: {}, maskInvalidMessage: _message.default.format("validation-mask"), useMaskedValue: false, showMaskMode: "always" }) }, _supportedKeys: function() { var that = this; var keyHandlerMap = { del: that._maskStrategy.getHandler("del"), enter: that._changeHandler }; var result = that.callBase(); (0, _iterator.each)(keyHandlerMap, (function(key, callback) { var parentHandler = result[key]; result[key] = function(e) { that.option("mask") && callback.call(that, e); parentHandler && parentHandler(e) } })); return result }, _getSubmitElement: function() { return !this.option("mask") ? this.callBase() : this._$hiddenElement }, _init: function() { this.callBase(); this._initMaskStrategy() }, _initMaskStrategy: function() { this._maskStrategy = new _uiText_editorMask2.default(this) }, _initMarkup: function() { this._renderHiddenElement(); this.callBase() }, _attachMouseWheelEventHandlers: function() { var hasMouseWheelHandler = this._onMouseWheel !== _common.noop; if (!hasMouseWheelHandler) { return } var input = this._input(); var eventName = (0, _index.addNamespace)(_wheel.name, this.NAME); var mouseWheelAction = this._createAction(function(e) { var event = e.event; if ((0, _selectors.focused)(input) && !(0, _index.isCommandKeyPressed)(event)) { this._onMouseWheel(event); event.preventDefault(); event.stopPropagation() } }.bind(this)); _events_engine.default.off(input, eventName); _events_engine.default.on(input, eventName, (function(e) { mouseWheelAction({ event: e }) })) }, _onMouseWheel: _common.noop, _render: function() { this._renderMask(); this.callBase(); this._attachMouseWheelEventHandlers() }, _renderHiddenElement: function() { if (this.option("mask")) { this._$hiddenElement = (0, _renderer.default)("<input>").attr("type", "hidden").appendTo(this._inputWrapper()) } }, _removeHiddenElement: function() { this._$hiddenElement && this._$hiddenElement.remove() }, _renderMask: function() { this.$element().removeClass("dx-texteditor-masked"); this._maskRulesChain = null; this._maskStrategy.detachEvents(); if (!this.option("mask")) { return } this.$element().addClass("dx-texteditor-masked"); this._maskStrategy.attachEvents(); this._parseMask(); this._renderMaskedValue() }, _suppressCaretChanging: function(callback, args) { caret = stubCaret; try { callback.apply(this, args) } finally { caret = _utils.default } }, _changeHandler: function(e) { var $input = this._input(); var inputValue = $input.val(); if (inputValue === this._changedValue) { return } this._changedValue = inputValue; var changeEvent = (0, _index.createEvent)(e, { type: "change" }); _events_engine.default.trigger($input, changeEvent) }, _parseMask: function() { this._maskRules = (0, _extend.extend)({}, buildInMaskRules, this.option("maskRules")); this._maskRulesChain = this._parseMaskRule(0) }, _parseMaskRule: function(index) { var mask = this.option("mask"); if (index >= mask.length) { return new _uiText_editorMask.EmptyMaskRule } var currentMaskChar = mask[index]; var isEscapedChar = "\\" === currentMaskChar; var result = isEscapedChar ? new _uiText_editorMask.StubMaskRule({ maskChar: mask[index + 1] }) : this._getMaskRule(currentMaskChar); result.next(this._parseMaskRule(index + 1 + isEscapedChar)); return result }, _getMaskRule: function(pattern) { var ruleConfig; (0, _iterator.each)(this._maskRules, (function(rulePattern, allowedChars) { if (rulePattern === pattern) { ruleConfig = { pattern: rulePattern, allowedChars: allowedChars }; return false } })); return (0, _type.isDefined)(ruleConfig) ? new _uiText_editorMask.MaskRule((0, _extend.extend)({ maskChar: this.option("maskChar") }, ruleConfig)) : new _uiText_editorMask.StubMaskRule({ maskChar: pattern }) }, _renderMaskedValue: function() { if (!this._maskRulesChain) { return } var value = this.option("value") || ""; this._maskRulesChain.clear(this._normalizeChainArguments()); var chainArgs = { length: value.length }; chainArgs[this._isMaskedValueMode() ? "text" : "value"] = value; this._handleChain(chainArgs); this._displayMask() }, _replaceSelectedText: function(text, selection, char) { if (void 0 === char) { return text } var textBefore = text.slice(0, selection.start); var textAfter = text.slice(selection.end); var edited = textBefore + char + textAfter; return edited }, _isMaskedValueMode: function() { return this.option("useMaskedValue") }, _displayMask: function(caret) { caret = caret || this._caret(); this._renderValue(); this._caret(caret) }, _isValueEmpty: function() { return (0, _string.isEmpty)(this._value) }, _shouldShowMask: function() { var showMaskMode = this.option("showMaskMode"); if ("onFocus" === showMaskMode) { return (0, _selectors.focused)(this._input()) || !this._isValueEmpty() } return true }, _showMaskPlaceholder: function() { if (this._shouldShowMask()) { var text = this._maskRulesChain.text(); this.option("text", text); if ("onFocus" === this.option("showMaskMode")) { this._renderDisplayText(text) } } }, _renderValue: function() { if (this._maskRulesChain) { this._showMaskPlaceholder(); if (this._$hiddenElement) { var value = this._maskRulesChain.value(); var submitElementValue = !(0, _string.isEmpty)(value) ? this._getPreparedValue() : ""; this._$hiddenElement.val(submitElementValue) } } return this.callBase() }, _getPreparedValue: function() { return this._convertToValue().replace(/\s+$/, "") }, _valueChangeEventHandler: function(e) { if (!this._maskRulesChain) { this.callBase.apply(this, arguments); return } this._saveValueChangeEvent(e); this.option("value", this._getPreparedValue()) }, _isControlKeyFired: function(e) { return this._isControlKey((0, _index.normalizeKeyName)(e)) || (0, _index.isCommandKeyPressed)(e) }, _handleChain: function(args) { var handledCount = this._maskRulesChain.handle(this._normalizeChainArguments(args)); this._value = this._maskRulesChain.value(); this._textValue = this._maskRulesChain.text(); return handledCount }, _normalizeChainArguments: function(args) { args = args || {}; args.index = 0; args.fullText = this._maskRulesChain.text(); return args }, _convertToValue: function(text) { if (this._isMaskedValueMode()) { text = this._replaceMaskCharWithEmpty(text || this._textValue || "") } else { text = text || this._value || "" } return text }, _replaceMaskCharWithEmpty: function(text) { return text.replace(new RegExp(this.option("maskChar"), "g"), " ") }, _maskKeyHandler: function(e, keyHandler) { var _this = this; if (this.option("readOnly")) { return } this.setForwardDirection(); e.preventDefault(); this._handleSelection(); var previousText = this._input().val(); var raiseInputEvent = function() { if (previousText !== _this._input().val()) { _events_engine.default.trigger(_this._input(), "input") } }; var handled = keyHandler(); if (handled) { handled.then(raiseInputEvent) } else { this.setForwardDirection(); this._adjustCaret(); this._displayMask(); this._maskRulesChain.reset(); raiseInputEvent() } }, _handleKey: function(key, direction) { this._direction(direction || "forward"); this._adjustCaret(key); this._handleKeyChain(key); this._moveCaret() }, _handleSelection: function() { if (!this._hasSelection()) { return } var caret = this._caret(); var emptyChars = new Array(caret.end - caret.start + 1).join(" "); this._handleKeyChain(emptyChars) }, _handleKeyChain: function(chars) { var caret = this._caret(); var start = this.isForwardDirection() ? caret.start : caret.start - 1; var end = this.isForwardDirection() ? caret.end : caret.end - 1; var length = start === end ? 1 : end - start; this._handleChain({ text: chars, start: start, length: length }) }, _tryMoveCaretBackward: function() { this.setBackwardDirection(); var currentCaret = this._caret().start; this._adjustCaret(); return !currentCaret || currentCaret !== this._caret().start }, _adjustCaret: function(char) { var caretStart = this._caret().start; var isForwardDirection = this.isForwardDirection(); var caret = this._maskRulesChain.adjustedCaret(caretStart, isForwardDirection, char); this._caret({ start: caret, end: caret }) }, _moveCaret: function() { var currentCaret = this._caret().start; var maskRuleIndex = currentCaret + (this.isForwardDirection() ? 0 : -1); var caret = this._maskRulesChain.isAccepted(maskRuleIndex) ? currentCaret + (this.isForwardDirection() ? 1 : -1) : currentCaret; this._caret({ start: caret, end: caret }) }, _caret: function(position, force) { var $input = this._input(); if (!$input.length) { return } if (!arguments.length) { return caret($input) } caret($input, position, force) }, _hasSelection: function() { var caret = this._caret(); return caret.start !== caret.end }, _direction: function(direction) { if (!arguments.length) { return this._typingDirection } this._typingDirection = direction }, setForwardDirection: function() { this._direction("forward") }, setBackwardDirection: function() { this._direction("backward") }, isForwardDirection: function() { return "forward" === this._direction() }, _clean: function() { this._maskStrategy && this._maskStrategy.clean(); this.callBase() }, _validateMask: function() { if (!this._maskRulesChain) { return } var isValid = (0, _string.isEmpty)(this.option("value")) || this._maskRulesChain.isValid(this._normalizeChainArguments()); this.option({ isValid: isValid, validationError: isValid ? null : { editorSpecific: true, message: this.option("maskInvalidMessage") } }) }, _updateHiddenElement: function() { this._removeHiddenElement(); if (this.option("mask")) { this._input().removeAttr("name"); this._renderHiddenElement() } this._setSubmitElementName(this.option("name")) }, _updateMaskOption: function() { this._updateHiddenElement(); this._renderMask(); this._validateMask() }, _processEmptyMask: function(mask) { if (mask) { return } var value = this.option("value"); this.option({ text: value, isValid: true }); this.validationRequest.fire({ value: value, editor: this }); this._renderValue() }, _optionChanged: function(args) { switch (args.name) { case "mask": this._updateMaskOption(); this._processEmptyMask(args.value); break; case "maskChar": case "maskRules": case "useMaskedValue": this._updateMaskOption(); break; case "value": this._renderMaskedValue(); this._validateMask(); this.callBase(args); this._changedValue = this._input().val(); break; case "maskInvalidMessage": break; case "showMaskMode": this.option("text", ""); this._renderValue(); break; default: this.callBase(args) } } }); var _default = TextEditorMask; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 20175: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/text_box/ui.text_editor.mask.rule.js ***! \*************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.StubMaskRule = exports.MaskRule = exports.EmptyMaskRule = void 0; var _class = (obj = __webpack_require__( /*! ../../core/class */ 38377), obj && obj.__esModule ? obj : { default: obj }); var obj; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var BaseMaskRule = _class.default.inherit({ ctor: function(config) { this._value = " "; (0, _extend.extend)(this, config) }, next: function(rule) { if (!arguments.length) { return this._next } this._next = rule }, text: _common.noop, value: _common.noop, rawValue: _common.noop, handle: _common.noop, _prepareHandlingArgs: function(args, config) { var _config$str, _config$start, _config$length; config = config || {}; var handlingProperty = Object.prototype.hasOwnProperty.call(args, "value") ? "value" : "text"; args[handlingProperty] = null !== (_config$str = config.str) && void 0 !== _config$str ? _config$str : args[handlingProperty]; args.start = null !== (_config$start = config.start) && void 0 !== _config$start ? _config$start : args.start; args.length = null !== (_config$length = config.length) && void 0 !== _config$length ? _config$length : args.length; args.index = args.index + 1; return args }, reset: _common.noop, clear: _common.noop, first: function(index) { index = index || 0; return this.next().first(index + 1) }, isAccepted: function() { return false }, adjustedCaret: function(caret, isForwardDirection, char) { return isForwardDirection ? this._adjustedForward(caret, 0, char) : this._adjustedBackward(caret, 0, char) }, _adjustedForward: _common.noop, _adjustedBackward: _common.noop, isValid: _common.noop }); var EmptyMaskRule = BaseMaskRule.inherit({ next: _common.noop, handle: function() { return 0 }, text: function() { return "" }, value: function() { return "" }, first: function() { return 0 }, rawValue: function() { return "" }, adjustedCaret: function() { return 0 }, isValid: function() { return true } }); exports.EmptyMaskRule = EmptyMaskRule; var MaskRule = BaseMaskRule.inherit({ text: function() { return (" " !== this._value ? this._value : this.maskChar) + this.next().text() }, value: function() { return this._value + this.next().value() }, rawValue: function() { return this._value + this.next().rawValue() }, handle: function(args) { var str = Object.prototype.hasOwnProperty.call(args, "value") ? args.value : args.text; if (!str || !str.length || !args.length) { return 0 } if (args.start) { return this.next().handle(this._prepareHandlingArgs(args, { start: args.start - 1 })) } var char = str[0]; var rest = str.substring(1); this._tryAcceptChar(char, args); return this._accepted() ? this.next().handle(this._prepareHandlingArgs(args, { str: rest, length: args.length - 1 })) + 1 : this.handle(this._prepareHandlingArgs(args, { str: rest, length: args.length - 1 })) }, clear: function(args) { this._tryAcceptChar(" ", args); this.next().clear(this._prepareHandlingArgs(args)) }, reset: function() { this._accepted(false); this.next().reset() }, _tryAcceptChar: function(char, args) { this._accepted(false); if (!this._isAllowed(char, args)) { return } var acceptedChar = " " === char ? this.maskChar : char; args.fullText = args.fullText.substring(0, args.index) + acceptedChar + args.fullText.substring(args.index + 1); this._accepted(true); this._value = char }, _accepted: function(value) { if (!arguments.length) { return !!this._isAccepted } this._isAccepted = !!value }, first: function(index) { return " " === this._value ? index || 0 : this.callBase(index) }, _isAllowed: function(char, args) { if (" " === char) { return true } return this._isValid(char, args) }, _isValid: function(char, args) { var allowedChars = this.allowedChars; if (allowedChars instanceof RegExp) { return allowedChars.test(char) } if ((0, _type.isFunction)(allowedChars)) { return allowedChars(char, args.index, args.fullText) } if (Array.isArray(allowedChars)) { return allowedChars.includes(char) } return allowedChars === char }, isAccepted: function(caret) { return 0 === caret ? this._accepted() : this.next().isAccepted(caret - 1) }, _adjustedForward: function(caret, index, char) { if (index >= caret) { return index } return this.next()._adjustedForward(caret, index + 1, char) || index + 1 }, _adjustedBackward: function(caret, index) { if (index >= caret - 1) { return caret } return this.next()._adjustedBackward(caret, index + 1) || index + 1 }, isValid: function(args) { return this._isValid(this._value, args) && this.next().isValid(this._prepareHandlingArgs(args)) } }); exports.MaskRule = MaskRule; var StubMaskRule = MaskRule.inherit({ value: function() { return this.next().value() }, handle: function(args) { var hasValueProperty = Object.prototype.hasOwnProperty.call(args, "value"); var str = hasValueProperty ? args.value : args.text; if (!str.length || !args.length) { return 0 } if (args.start || hasValueProperty) { return this.next().handle(this._prepareHandlingArgs(args, { start: args.start && args.start - 1 })) } var char = str[0]; var rest = str.substring(1); this._tryAcceptChar(char); var nextArgs = this._isAllowed(char) ? this._prepareHandlingArgs(args, { str: rest, length: args.length - 1 }) : args; return this.next().handle(nextArgs) + 1 }, clear: function(args) { this._accepted(false); this.next().clear(this._prepareHandlingArgs(args)) }, _tryAcceptChar: function(char) { this._accepted(this._isValid(char)) }, _isValid: function(char) { return char === this.maskChar }, first: function(index) { index = index || 0; return this.next().first(index + 1) }, _adjustedForward: function(caret, index, char) { if (index >= caret && char === this.maskChar) { return index } if (caret === index + 1 && this._accepted()) { return caret } return this.next()._adjustedForward(caret, index + 1, char) }, _adjustedBackward: function(caret, index) { if (index >= caret - 1) { return 0 } return this.next()._adjustedBackward(caret, index + 1) }, isValid: function(args) { return this.next().isValid(this._prepareHandlingArgs(args)) } }); exports.StubMaskRule = StubMaskRule }, 78013: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/text_box/ui.text_editor.mask.strategy.js ***! \*****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _browser = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/browser */ 47810)); var _dom = __webpack_require__( /*! ../../core/utils/dom */ 3532); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var DELETE_INPUT_TYPES = ["deleteContentBackward", "deleteSoftLineBackward", "deleteContent", "deleteHardLineBackward"]; var HISTORY_INPUT_TYPES = ["historyUndo", "historyRedo"]; var EVENT_NAMES = ["focusIn", "focusOut", "input", "paste", "cut", "drop", "beforeInput"]; function getEmptyString(length) { return " ".repeat(length) } var MaskStrategy = function() { function MaskStrategy(editor) { this.editor = editor } var _proto = MaskStrategy.prototype; _proto._editorOption = function() { var _this$editor; return (_this$editor = this.editor).option.apply(_this$editor, arguments) }; _proto._editorInput = function() { return this.editor._input() }; _proto._editorCaret = function(newCaret) { if (!newCaret) { return this.editor._caret() } this.editor._caret(newCaret) }; _proto._attachChangeEventHandler = function() { var _this = this; if (!this._editorOption("valueChangeEvent").split(" ").includes("change")) { return } var $input = this._editorInput(); var namespace = (0, _index.addNamespace)("blur beforedeactivate", "dxMask"); _events_engine.default.on($input, namespace, (function(e) { _this.editor._changeHandler(e) })) }; _proto._beforeInputHandler = function() { this._previousText = this._editorOption("text"); this._prevCaret = this._editorCaret() }; _proto._inputHandler = function(event) { var originalEvent = event.originalEvent; if (!originalEvent) { return } var inputType = originalEvent.inputType; if (HISTORY_INPUT_TYPES.includes(inputType)) { this._handleHistoryInputEvent() } else if (DELETE_INPUT_TYPES.includes(inputType)) { this._handleBackwardDeleteInputEvent() } else { var currentCaret = this._editorCaret(); if (!currentCaret.end) { return } this._clearSelectedText(); this._autoFillHandler(originalEvent); this._editorCaret(currentCaret); this._handleInsertTextInputEvent(originalEvent.data) } if (this._editorOption("text") === this._previousText) { event.stopImmediatePropagation() } }; _proto._handleHistoryInputEvent = function() { var caret = this._editorCaret(); this._updateEditorMask({ start: caret.start, length: caret.end - caret.start, text: "" }); this._editorCaret(this._prevCaret) }; _proto._handleBackwardDeleteInputEvent = function() { this._clearSelectedText(); var caret = this._editorCaret(); this.editor.setForwardDirection(); this.editor._adjustCaret(); var adjustedForwardCaret = this._editorCaret(); if (adjustedForwardCaret.start !== caret.start) { this.editor.setBackwardDirection(); this.editor._adjustCaret() } }; _proto._clearSelectedText = function() { var _this$_prevCaret, _this$_prevCaret2; var length = (null === (_this$_prevCaret = this._prevCaret) || void 0 === _this$_prevCaret ? void 0 : _this$_prevCaret.end) - (null === (_this$_prevCaret2 = this._prevCaret) || void 0 === _this$_prevCaret2 ? void 0 : _this$_prevCaret2.start) || 1; var caret = this._editorCaret(); if (!this._isAutoFill()) { this.editor.setBackwardDirection(); this._updateEditorMask({ start: caret.start, length: length, text: getEmptyString(length) }) } }; _proto._handleInsertTextInputEvent = function(data) { var _this$_prevCaret$star, _this$_prevCaret3; var text = null !== data && void 0 !== data ? data : ""; this.editor.setForwardDirection(); var hasValidChars = this._updateEditorMask({ start: null !== (_this$_prevCaret$star = null === (_this$_prevCaret3 = this._prevCaret) || void 0 === _this$_prevCaret3 ? void 0 : _this$_prevCaret3.start) && void 0 !== _this$_prevCaret$star ? _this$_prevCaret$star : 0, length: text.length || 1, text: text }); if (!hasValidChars) { this._editorCaret(this._prevCaret) } }; _proto._updateEditorMask = function(args) { var textLength = args.text.length; var processedCharsCount = this.editor._handleChain(args); this.editor._displayMask(); if (this.editor.isForwardDirection()) { var _this$_editorCaret = this._editorCaret(), start = _this$_editorCaret.start, end = _this$_editorCaret.end; var correction = processedCharsCount - textLength; var hasSkippedStub = processedCharsCount > 1; if (hasSkippedStub && 1 === textLength) { this._editorCaret({ start: start + correction, end: end + correction }) } this.editor._adjustCaret() } return !!processedCharsCount }; _proto._focusInHandler = function() { var _this2 = this; this.editor._showMaskPlaceholder(); this.editor.setForwardDirection(); if (!this.editor._isValueEmpty() && this._editorOption("isValid")) { this.editor._adjustCaret() } else { var caret = this.editor._maskRulesChain.first(); this._caretTimeout = setTimeout((function() { _this2._editorCaret({ start: caret, end: caret }) }), 0) } }; _proto._focusOutHandler = function(event) { this.editor._changeHandler(event); if ("onFocus" === this._editorOption("showMaskMode") && this.editor._isValueEmpty()) { this._editorOption("text", ""); this.editor._renderDisplayText("") } }; _proto._delHandler = function(event) { var editor = this.editor; editor._maskKeyHandler(event, (function() { if (!editor._hasSelection()) { editor._handleKey(" ") } })) }; _proto._cutHandler = function(event) { var caret = this._editorCaret(); var selectedText = this._editorInput().val().substring(caret.start, caret.end); this.editor._maskKeyHandler(event, (function() { return (0, _dom.clipboardText)(event, selectedText) })) }; _proto._dropHandler = function() { var _this3 = this; this._clearDragTimer(); this._dragTimer = setTimeout((function() { var value = _this3.editor._convertToValue(_this3._editorInput().val()); _this3._editorOption("value", value) })) }; _proto._pasteHandler = function(event) { var editor = this.editor; if (this._editorOption("disabled")) { return } var caret = this._editorCaret(); editor._maskKeyHandler(event, (function() { var pastedText = (0, _dom.clipboardText)(event); var restText = editor._maskRulesChain.text().substring(caret.end); var accepted = editor._handleChain({ text: pastedText, start: caret.start, length: pastedText.length }); var newCaret = caret.start + accepted; editor._handleChain({ text: restText, start: newCaret, length: restText.length }); editor._caret({ start: newCaret, end: newCaret }) })) }; _proto._autoFillHandler = function(event) { var _this4 = this; var editor = this.editor; var inputVal = this._editorInput().val(); this._inputHandlerTimer = setTimeout((function() { if (_this4._isAutoFill()) { editor._maskKeyHandler(event, (function() { editor._handleChain({ text: inputVal, start: 0, length: inputVal.length }) })); editor._validateMask() } })) }; _proto._isAutoFill = function() { var $input = this._editorInput(); if (_browser.default.webkit) { var _input$matches; var input = $input.get(0); return null !== (_input$matches = null === input || void 0 === input ? void 0 : input.matches(":-webkit-autofill")) && void 0 !== _input$matches ? _input$matches : false } return false }; _proto._clearDragTimer = function() { clearTimeout(this._dragTimer) }; _proto.getHandler = function(handlerName) { var _this5 = this; return function(args) { var _this6; null === (_this6 = _this5["_".concat(handlerName, "Handler")]) || void 0 === _this6 ? void 0 : _this6.call(_this5, args) } }; _proto.attachEvents = function() { var _this7 = this; var $input = this._editorInput(); EVENT_NAMES.forEach((function(eventName) { var namespace = (0, _index.addNamespace)(eventName.toLowerCase(), "dxMask"); _events_engine.default.on($input, namespace, _this7.getHandler(eventName)) })); this._attachChangeEventHandler() }; _proto.detachEvents = function() { _events_engine.default.off(this._editorInput(), ".".concat("dxMask")) }; _proto.clean = function() { this._clearDragTimer(); clearTimeout(this._caretTimeout); clearTimeout(this._inputHandlerTimer) }; return MaskStrategy }(); exports.default = MaskStrategy; module.exports = exports.default; module.exports.default = exports.default }, 21516: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/text_box/utils.caret.js ***! \************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _devices$real = _devices.default.real(), ios = _devices$real.ios, mac = _devices$real.mac; var isFocusingOnCaretChange = ios || mac; var getCaret = function(input) { var range; try { range = { start: input.selectionStart, end: input.selectionEnd } } catch (e) { range = { start: 0, end: 0 } } return range }; var setCaret = function(input, position) { var body = _dom_adapter.default.getBody(); if (!body.contains(input) && !body.contains(input.getRootNode().host)) { return } try { input.selectionStart = position.start; input.selectionEnd = position.end } catch (e) {} }; var _default = function(input, position) { var force = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false; input = (0, _renderer.default)(input).get(0); if (!(0, _type.isDefined)(position)) { return getCaret(input) } if (!force && isFocusingOnCaretChange && _dom_adapter.default.getActiveElement(input) !== input) { return } setCaret(input, position) }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 51203: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/text_box/utils.scroll.js ***! \*************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.prepareScrollData = exports.allowScroll = void 0; var _renderer = (obj = __webpack_require__( /*! ../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var allowScroll = function(container, delta, shiftKey) { var $container = (0, _renderer.default)(container); var scrollTopPos = shiftKey ? $container.scrollLeft() : $container.scrollTop(); var prop = shiftKey ? "Width" : "Height"; var scrollSize = $container.prop("scroll".concat(prop)); var clientSize = $container.prop("client".concat(prop)); var scrollBottomPos = scrollSize - clientSize - scrollTopPos | 0; if (0 === scrollTopPos && 0 === scrollBottomPos) { return false } var isScrollFromTop = 0 === scrollTopPos && delta >= 0; var isScrollFromBottom = 0 === scrollBottomPos && delta <= 0; var isScrollFromMiddle = scrollTopPos > 0 && scrollBottomPos > 0; if (isScrollFromTop || isScrollFromBottom || isScrollFromMiddle) { return true } }; exports.allowScroll = allowScroll; exports.prepareScrollData = function(container, validateTarget) { var $container = (0, _renderer.default)(container); return { validate: function(e) { if ((0, _index.isDxMouseWheelEvent)(e) && (eventTarget = e.target, validateTarget ? (0, _renderer.default)(eventTarget).is(container) : true)) { if (allowScroll($container, -e.delta, e.shiftKey)) { e._needSkipEvent = true; return true } return false } var eventTarget } } } }, 75811: /*!**********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/themes.js ***! \**********************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.attachCssClasses = attachCssClasses; exports.current = current; exports.default = void 0; exports.detachCssClasses = detachCssClasses; exports.init = init; exports.initialized = initialized; exports.isCompact = isCompact; exports.isDark = isDark; exports.isGeneric = isGeneric; exports.isMaterial = isMaterial; exports.isPendingThemeLoaded = isPendingThemeLoaded; exports.isWebFontLoaded = isWebFontLoaded; exports.ready = themeReady; exports.resetTheme = resetTheme; exports.setDefaultTimeout = setDefaultTimeout; exports.waitForThemeLoad = waitForThemeLoad; exports.waitWebFont = waitWebFont; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../core/dom_adapter */ 73349)); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _html_parser = __webpack_require__( /*! ../core/utils/html_parser */ 61371); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _ready_callbacks = _interopRequireDefault(__webpack_require__( /*! ../core/utils/ready_callbacks */ 24311)); var _view_port = __webpack_require__( /*! ../core/utils/view_port */ 77695); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _themes_callback = __webpack_require__( /*! ./themes_callback */ 89729); var _ui = _interopRequireDefault(__webpack_require__( /*! ./widget/ui.errors */ 96688)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var ready = _ready_callbacks.default.add; var viewPort = _view_port.value; var viewPortChanged = _view_port.changeCallback; var initDeferred = new _deferred.Deferred; var context; var $activeThemeLink; var knownThemes; var currentThemeName; var pendingThemeName; var defaultTimeout = 15e3; function readThemeMarker() { if (!(0, _window.hasWindow)()) { return null } var element = (0, _renderer.default)("<div>", context).addClass("dx-theme-marker").appendTo(context.documentElement); var result; try { result = window.getComputedStyle(element.get(0)).fontFamily; if (!result) { return null } result = result.replace(/["']/g, ""); if ("dx." !== result.substr(0, "dx.".length)) { return null } return result.substr("dx.".length) } finally { element.remove() } } function waitForThemeLoad(themeName) { var waitStartTime; var timerId; var intervalCleared = true; pendingThemeName = themeName; function handleLoaded() { pendingThemeName = null; clearInterval(timerId); intervalCleared = true; _themes_callback.themeReadyCallback.fire(); _themes_callback.themeReadyCallback.empty(); initDeferred.resolve() } if (isPendingThemeLoaded() || !defaultTimeout) { handleLoaded() } else { if (!intervalCleared) { if (pendingThemeName) { pendingThemeName = themeName } return } waitStartTime = Date.now(); intervalCleared = false; timerId = setInterval((function() { var isLoaded = isPendingThemeLoaded(); var isTimeout = !isLoaded && Date.now() - waitStartTime > defaultTimeout; if (isTimeout) { _ui.default.log("W0004", pendingThemeName) } if (isLoaded || isTimeout) { handleLoaded() } }), 10) } } function isPendingThemeLoaded() { if (!pendingThemeName) { return true } var anyThemePending = "any" === pendingThemeName; if ("resolved" === initDeferred.state() && anyThemePending) { return true } var themeMarker = readThemeMarker(); if (themeMarker && anyThemePending) { return true } return themeMarker === pendingThemeName } function resolveFullThemeName(desiredThemeName) { var desiredThemeParts = desiredThemeName ? desiredThemeName.split(".") : []; var result = null; if (knownThemes) { if (desiredThemeName in knownThemes) { return desiredThemeName }(0, _iterator.each)(knownThemes, (function(knownThemeName, themeData) { var knownThemeParts = knownThemeName.split("."); if (desiredThemeParts[0] && knownThemeParts[0] !== desiredThemeParts[0]) { return } if (desiredThemeParts[1] && desiredThemeParts[1] !== knownThemeParts[1]) { return } if (desiredThemeParts[2] && desiredThemeParts[2] !== knownThemeParts[2]) { return } if (!result || themeData.isActive) { result = knownThemeName } if (themeData.isActive) { return false } })) } return result } function init(options) { options = options || {}; ! function(newContext) { try { if (newContext !== context) { knownThemes = null } } catch (x) { knownThemes = null } context = newContext }(options.context || _dom_adapter.default.getDocument()); if (!context) { return }! function() { var $allThemeLinks = (0, _renderer.default)("link[rel=dx-theme]", context); if (!$allThemeLinks.length) { return } knownThemes = {}; $activeThemeLink = (0, _renderer.default)((0, _html_parser.parseHTML)("<link rel=stylesheet>"), context); $allThemeLinks.each((function() { var link = (0, _renderer.default)(this, context); var fullThemeName = link.attr("data-theme"); var url = link.attr("href"); var isActive = "true" === link.attr("data-active"); knownThemes[fullThemeName] = { url: url, isActive: isActive } })); $allThemeLinks.last().after($activeThemeLink); $allThemeLinks.remove() }(); currentThemeName = void 0; current(options) } function current(options) { if (!arguments.length) { currentThemeName = currentThemeName || readThemeMarker(); return currentThemeName } detachCssClasses(viewPort()); options = options || {}; if ("string" === typeof options) { options = { theme: options } } var isAutoInit = options._autoInit; var loadCallback = options.loadCallback; var currentThemeData; currentThemeName = resolveFullThemeName(options.theme || currentThemeName); if (currentThemeName) { currentThemeData = knownThemes[currentThemeName] } if (loadCallback) { _themes_callback.themeReadyCallback.add(loadCallback) } if (currentThemeData) { $activeThemeLink.attr("href", knownThemes[currentThemeName].url); if (_themes_callback.themeReadyCallback.has() || "resolved" !== initDeferred.state() || options._forceTimeout) { waitForThemeLoad(currentThemeName) } } else if (isAutoInit) { if ((0, _window.hasWindow)()) { waitForThemeLoad("any") } _themes_callback.themeReadyCallback.fire(); _themes_callback.themeReadyCallback.empty() } else { throw _ui.default.Error("E0021", currentThemeName) } initDeferred.done((function() { return attachCssClasses((0, _view_port.originalViewPort)(), currentThemeName) })) } var themeClasses; function attachCssClasses(element, themeName) { themeClasses = function(themeName) { themeName = themeName || current(); var result = []; var themeNameParts = themeName && themeName.split("."); if (themeNameParts) { result.push("dx-theme-" + themeNameParts[0], "dx-theme-" + themeNameParts[0] + "-typography"); if (themeNameParts.length > 1) { result.push("dx-color-scheme-" + themeNameParts[1] + (isMaterial(themeName) ? "-" + themeNameParts[2] : "")) } } return result }(themeName).join(" "); (0, _renderer.default)(element).addClass(themeClasses); ! function() { var pixelRatio = (0, _window.hasWindow)() && window.devicePixelRatio; if (!pixelRatio || pixelRatio < 2) { return } var $tester = (0, _renderer.default)("<div>"); $tester.css("border", ".5px solid transparent"); (0, _renderer.default)("body").append($tester); if (1 === (0, _size.getOuterHeight)($tester)) { (0, _renderer.default)(element).addClass("dx-hairlines"); themeClasses += " dx-hairlines" } $tester.remove() }() } function detachCssClasses(element) { (0, _renderer.default)(element).removeClass(themeClasses) } function themeReady(callback) { _themes_callback.themeReadyCallback.add(callback) } function isTheme(themeRegExp, themeName) { if (!themeName) { themeName = currentThemeName || readThemeMarker() } return new RegExp(themeRegExp).test(themeName) } function isMaterial(themeName) { return isTheme("material", themeName) } function isGeneric(themeName) { return isTheme("generic", themeName) } function isDark(themeName) { return isTheme("dark", themeName) } function isCompact(themeName) { return isTheme("compact", themeName) } function isWebFontLoaded(text, fontWeight) { var document = _dom_adapter.default.getDocument(); var testElement = document.createElement("span"); testElement.style.position = "absolute"; testElement.style.top = "-9999px"; testElement.style.left = "-9999px"; testElement.style.visibility = "hidden"; testElement.style.fontFamily = "Arial"; testElement.style.fontSize = "250px"; testElement.style.fontWeight = fontWeight; testElement.innerHTML = text; document.body.appendChild(testElement); var etalonFontWidth = testElement.offsetWidth; testElement.style.fontFamily = "Roboto, RobotoFallback, Arial"; var testedFontWidth = testElement.offsetWidth; testElement.parentNode.removeChild(testElement); return etalonFontWidth !== testedFontWidth } function waitWebFont(text, fontWeight) { return new Promise((function(resolve) { var clear = function() { clearInterval(intervalId); clearTimeout(timeoutId); resolve() }; var intervalId = setInterval((function() { if (isWebFontLoaded(text, fontWeight)) { clear() } }), 15); var timeoutId = setTimeout(clear, 2e3) })) } function autoInit() { init({ _autoInit: true, _forceTimeout: true }); if ((0, _renderer.default)("link[rel=dx-theme]", context).length) { throw _ui.default.Error("E0022") } } if ((0, _window.hasWindow)()) { autoInit() } else { ready(autoInit) } viewPortChanged.add((function(viewPort, prevViewPort) { initDeferred.done((function() { detachCssClasses(prevViewPort); attachCssClasses(viewPort) })) })); _devices.default.changed.add((function() { init({ _autoInit: true }) })); function resetTheme() { $activeThemeLink && $activeThemeLink.attr("href", "about:blank"); currentThemeName = null; pendingThemeName = null; initDeferred = new _deferred.Deferred } function initialized(callback) { initDeferred.done(callback) } function setDefaultTimeout(timeout) { defaultTimeout = timeout } var _default = { setDefaultTimeout: setDefaultTimeout, initialized: initialized, resetTheme: resetTheme, ready: themeReady, waitWebFont: waitWebFont, isWebFontLoaded: isWebFontLoaded, isCompact: isCompact, isDark: isDark, isGeneric: isGeneric, isMaterial: isMaterial, detachCssClasses: detachCssClasses, attachCssClasses: attachCssClasses, current: current, waitForThemeLoad: waitForThemeLoad, isPendingThemeLoaded: isPendingThemeLoaded }; exports.default = _default }, 89729: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/themes_callback.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.themeReadyCallback = void 0; var _callbacks = (obj = __webpack_require__( /*! ../core/utils/callbacks */ 44504), obj && obj.__esModule ? obj : { default: obj }); var obj; var themeReadyCallback = (0, _callbacks.default)(); exports.themeReadyCallback = themeReadyCallback }, 93094: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/tile_view.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../core/devices */ 20530)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _element = __webpack_require__( /*! ../core/element */ 6415); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _support = __webpack_require__( /*! ../core/utils/support */ 60137); var _scroll_view = _interopRequireDefault(__webpack_require__( /*! ./scroll_view */ 4741)); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ./collection/ui.collection_widget.edit */ 11050)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var CONFIGS = { horizontal: { itemMainRatio: "widthRatio", itemCrossRatio: "heightRatio", baseItemMainDimension: "baseItemWidth", baseItemCrossDimension: "baseItemHeight", mainDimension: "width", crossDimension: "height", mainPosition: "left", crossPosition: "top" }, vertical: { itemMainRatio: "heightRatio", itemCrossRatio: "widthRatio", baseItemMainDimension: "baseItemHeight", baseItemCrossDimension: "baseItemWidth", mainDimension: "height", crossDimension: "width", mainPosition: "top", crossPosition: "left" } }; var TileView = _uiCollection_widget.default.inherit({ _activeStateUnit: ".dx-tile", _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { items: null, direction: "horizontal", hoverStateEnabled: true, showScrollbar: "never", height: 500, baseItemWidth: 100, baseItemHeight: 100, itemMargin: 20, activeStateEnabled: true, indicateLoading: true }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }, { device: function() { return _support.nativeScrolling }, options: { showScrollbar: "onScroll" } }]) }, _itemClass: function() { return "dx-tile" }, _itemDataKey: function() { return "dxTileData" }, _itemContainer: function() { return this._$container }, _init: function() { this.callBase(); this.$element().addClass("dx-tileview"); this._initScrollView() }, _dataSourceLoadingChangedHandler: function(isLoading) { var scrollView = this._scrollView; if (!scrollView || !scrollView.startLoading) { return } if (isLoading && this.option("indicateLoading")) { scrollView.startLoading() } else { scrollView.finishLoading() } }, _hideLoadingIfLoadIndicationOff: function() { if (!this.option("indicateLoading")) { this._dataSourceLoadingChangedHandler(false) } }, _initScrollView: function() { var _this$option = this.option(), width = _this$option.width, height = _this$option.height, direction = _this$option.direction, showScrollbar = _this$option.showScrollbar; this._scrollView = this._createComponent(this.$element(), _scroll_view.default, { direction: direction, width: width, height: height, scrollByContent: true, useKeyboard: false, showScrollbar: showScrollbar }); this._$container = (0, _renderer.default)(this._scrollView.content()); this._$container.addClass("dx-tileview-wrapper"); this._scrollView.option("onUpdated", this._renderGeometry.bind(this)) }, _initMarkup: function() { this.callBase(); (0, _common.deferRender)(function() { this._cellsPerDimension = 1; this._renderGeometry(); this._updateScrollView(); this._fireContentReadyAction() }.bind(this)) }, _updateScrollView: function() { this._scrollView.option("direction", this.option("direction")); this._scrollView.update(); this._indicateLoadingIfAlreadyStarted() }, _indicateLoadingIfAlreadyStarted: function() { if (this._isDataSourceLoading()) { this._dataSourceLoadingChangedHandler(true) } }, _renderGeometry: function() { this._config = CONFIGS[this.option("direction")]; var items = this.option("items") || []; var config = this._config; var itemMargin = this.option("itemMargin"); var maxItemCrossRatio = Math.max.apply(Math, (0, _iterator.map)(items || [], (function(item) { return Math.round(item[config.itemCrossRatio] || 1) }))); var crossDimensionValue; if (_window.hasWindow) { crossDimensionValue = ("width" === config.crossDimension ? _size.getWidth : _size.getHeight)(this.$element()) } else { crossDimensionValue = parseInt(this.$element().get(0).style[config.crossDimension]) } this._cellsPerDimension = Math.floor(crossDimensionValue / (this.option(config.baseItemCrossDimension) + itemMargin)); this._cellsPerDimension = Math.max(this._cellsPerDimension, maxItemCrossRatio); this._cells = []; this._cells.push(new Array(this._cellsPerDimension)); this._arrangeItems(items); this._renderContentSize(config, itemMargin) }, _renderContentSize: function(_ref, itemMargin) { var mainDimension = _ref.mainDimension, baseItemMainDimension = _ref.baseItemMainDimension; if ((0, _window.hasWindow)()) { var actualContentSize = this._cells.length * this.option(baseItemMainDimension) + (this._cells.length + 1) * itemMargin; var elementSize = ("width" === mainDimension ? _size.getWidth : _size.getHeight)(this.$element()); ("width" === mainDimension ? _size.setWidth : _size.setHeight)(this._$container, Math.max(actualContentSize, elementSize)) } }, _arrangeItems: function(items) { var config = this._config; var itemMainRatio = config.itemMainRatio; var itemCrossRatio = config.itemCrossRatio; var mainPosition = config.mainPosition; this._itemsPositions = []; (0, _iterator.each)(items, function(index, item) { var currentItem = {}; currentItem[itemMainRatio] = item[itemMainRatio] || 1; currentItem[itemCrossRatio] = item[itemCrossRatio] || 1; currentItem.index = index; currentItem[itemMainRatio] = currentItem[itemMainRatio] <= 0 ? 0 : Math.round(currentItem[config.itemMainRatio]); currentItem[itemCrossRatio] = currentItem[itemCrossRatio] <= 0 ? 0 : Math.round(currentItem[config.itemCrossRatio]); var itemPosition = this._getItemPosition(currentItem); if (-1 === itemPosition[mainPosition]) { itemPosition[mainPosition] = this._cells.push(new Array(this._cellsPerDimension)) - 1 } this._occupyCells(currentItem, itemPosition); this._arrangeItem(currentItem, itemPosition); this._itemsPositions.push(itemPosition) }.bind(this)) }, _getItemPosition: function(item) { var config = this._config; var mainPosition = config.mainPosition; var crossPosition = config.crossPosition; var position = {}; position[mainPosition] = -1; position[crossPosition] = 0; for (var main = 0; main < this._cells.length; main++) { for (var cross = 0; cross < this._cellsPerDimension; cross++) { if (this._itemFit(main, cross, item)) { position[mainPosition] = main; position[crossPosition] = cross; break } } if (position[mainPosition] > -1) { break } } return position }, _itemFit: function(mainPosition, crossPosition, item) { var result = true; var config = this._config; var itemRatioMain = item[config.itemMainRatio]; var itemRatioCross = item[config.itemCrossRatio]; if (crossPosition + itemRatioCross > this._cellsPerDimension) { return false } for (var main = mainPosition; main < mainPosition + itemRatioMain; main++) { for (var cross = crossPosition; cross < crossPosition + itemRatioCross; cross++) { if (this._cells.length - 1 < main) { this._cells.push(new Array(this._cellsPerDimension)) } else if (void 0 !== this._cells[main][cross]) { result = false; break } } } return result }, _occupyCells: function(item, itemPosition) { var config = this._config; var itemPositionMain = itemPosition[config.mainPosition]; var itemPositionCross = itemPosition[config.crossPosition]; var itemRatioMain = item[config.itemMainRatio]; var itemRatioCross = item[config.itemCrossRatio]; for (var main = itemPositionMain; main < itemPositionMain + itemRatioMain; main++) { for (var cross = itemPositionCross; cross < itemPositionCross + itemRatioCross; cross++) { this._cells[main][cross] = item.index } } }, _arrangeItem: function(item, itemPosition) { var config = this._config; var itemPositionMain = itemPosition[config.mainPosition]; var itemPositionCross = itemPosition[config.crossPosition]; var itemRatioMain = item[config.itemMainRatio]; var itemRatioCross = item[config.itemCrossRatio]; var baseItemCross = this.option(config.baseItemCrossDimension); var baseItemMain = this.option(config.baseItemMainDimension); var itemMargin = this.option("itemMargin"); var cssProps = { display: itemRatioMain <= 0 || itemRatioCross <= 0 ? "none" : "" }; var mainDimension = itemRatioMain * baseItemMain + (itemRatioMain - 1) * itemMargin; var crossDimension = itemRatioCross * baseItemCross + (itemRatioCross - 1) * itemMargin; cssProps[config.mainDimension] = mainDimension < 0 ? 0 : mainDimension; cssProps[config.crossDimension] = crossDimension < 0 ? 0 : crossDimension; cssProps[config.mainPosition] = itemPositionMain * baseItemMain + (itemPositionMain + 1) * itemMargin; cssProps[config.crossPosition] = itemPositionCross * baseItemCross + (itemPositionCross + 1) * itemMargin; if (this.option("rtlEnabled")) { var offsetCorrection = (0, _size.getWidth)(this._$container); var baseItemWidth = this.option("baseItemWidth"); var itemPositionX = itemPosition.left; var offsetPosition = itemPositionX * baseItemWidth; var itemBaseOffset = baseItemWidth + itemMargin; var itemWidth = itemBaseOffset * item.widthRatio; var subItemMargins = itemPositionX * itemMargin; cssProps.left = offsetCorrection - (offsetPosition + itemWidth + subItemMargins) } this._itemElements().eq(item.index).css(cssProps) }, _moveFocus: function(location) { var FOCUS_UP = "up"; var FOCUS_DOWN = "down"; var FOCUS_LEFT = this.option("rtlEnabled") ? "right" : "left"; var FOCUS_RIGHT = this.option("rtlEnabled") ? "left" : "right"; var FOCUS_PAGE_UP = "pageup"; var FOCUS_PAGE_DOWN = "pagedown"; var horizontalDirection = "horizontal" === this.option("direction"); var cells = this._cells; var index = (0, _renderer.default)(this.option("focusedElement")).index(); var targetCol = this._itemsPositions[index].left; var targetRow = this._itemsPositions[index].top; var colCount = (horizontalDirection ? cells : cells[0]).length; var rowCount = (horizontalDirection ? cells[0] : cells).length; var getCell = function(col, row) { if (horizontalDirection) { return cells[col][row] } return cells[row][col] }; switch (location) { case FOCUS_PAGE_UP: case FOCUS_UP: while (targetRow > 0 && index === getCell(targetCol, targetRow)) { targetRow-- } if (targetRow < 0) { targetRow = 0 } break; case FOCUS_PAGE_DOWN: case FOCUS_DOWN: while (targetRow < rowCount && index === getCell(targetCol, targetRow)) { targetRow++ } if (targetRow === rowCount) { targetRow = rowCount - 1 } break; case FOCUS_RIGHT: while (targetCol < colCount && index === getCell(targetCol, targetRow)) { targetCol++ } if (targetCol === colCount) { targetCol = colCount - 1 } break; case FOCUS_LEFT: while (targetCol >= 0 && index === getCell(targetCol, targetRow)) { targetCol-- } if (targetCol < 0) { targetCol = 0 } break; default: this.callBase.apply(this, arguments); return } var newTargetIndex = getCell(targetCol, targetRow); if (!(0, _type.isDefined)(newTargetIndex)) { return } var $newTarget = this._itemElements().eq(newTargetIndex); this.option("focusedElement", (0, _element.getPublicElement)($newTarget)); this._scrollToItem($newTarget) }, _scrollToItem: function($itemElement) { if (!$itemElement.length) { return } var config = this._config; var outerMainGetter = "width" === config.mainDimension ? _size.getOuterWidth : _size.getOuterHeight; var itemMargin = this.option("itemMargin"); var itemPosition = $itemElement.position()[config.mainPosition]; var itemDimension = outerMainGetter($itemElement); var itemTail = itemPosition + itemDimension; var scrollPosition = this.scrollPosition(); var clientWidth = outerMainGetter(this.$element()); if (scrollPosition <= itemPosition && itemTail <= scrollPosition + clientWidth) { return } if (scrollPosition > itemPosition) { this._scrollView.scrollTo(itemPosition - itemMargin) } else { this._scrollView.scrollTo(itemPosition + itemDimension - clientWidth + itemMargin) } }, _optionChanged: function(args) { switch (args.name) { case "items": this.callBase(args); this._renderGeometry(); this._updateScrollView(); break; case "showScrollbar": this._initScrollView(); break; case "disabled": this._scrollView.option("disabled", args.value); this.callBase(args); break; case "baseItemWidth": case "baseItemHeight": case "itemMargin": this._renderGeometry(); break; case "width": case "height": this.callBase(args); this._renderGeometry(); this._scrollView.option(args.name, args.value); this._updateScrollView(); break; case "direction": this._renderGeometry(); this._updateScrollView(); break; case "indicateLoading": this._hideLoadingIfLoadIndicationOff(); break; default: this.callBase(args) } }, scrollPosition: function() { return this._scrollView.scrollOffset()[this._config.mainPosition] } }); (0, _component_registrator.default)("dxTileView", TileView); var _default = TileView; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 37748: /*!*********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/toast.js ***! \*********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./toast/ui.toast */ 18517), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 33964: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/toast/hide_toasts.js ***! \*********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = (obj = __webpack_require__( /*! ../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = function(container) { var toasts = (0, _renderer.default)(".".concat("dx-toast")).toArray(); if (!arguments.length) { toasts.forEach((function(toast) { (0, _renderer.default)(toast).dxToast("hide") })); return } var containerElement = (0, _renderer.default)(container).get(0); toasts.map((function(toast) { return (0, _renderer.default)(toast).dxToast("instance") })).filter((function(instance) { var toastContainerElement = (0, _renderer.default)(instance.option("container")).get(0); return containerElement === toastContainerElement && containerElement })).forEach((function(instance) { instance.hide() })) }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 18517: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/toast/ui.toast.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _ready_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/ready_callbacks */ 24311)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../overlay/ui.overlay */ 89799)); var _themes = __webpack_require__( /*! ../themes */ 75811); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var window = (0, _window.getWindow)(); var ready = _ready_callbacks.default.add; var toastTypes = ["info", "warning", "error", "success"]; var TOAST_STACK = []; var POSITION_ALIASES = { top: { my: "top", at: "top", of: null, offset: "0 0" }, bottom: { my: "bottom", at: "bottom", of: null, offset: "0 -20" }, center: { my: "center", at: "center", of: null, offset: "0 0" }, right: { my: "center right", at: "center right", of: null, offset: "0 0" }, left: { my: "center left", at: "center left", of: null, offset: "0 0" } }; var DEFAULT_BOUNDARY_OFFSET = { h: 0, v: 0 }; ready((function() { _events_engine.default.subscribeGlobal(_dom_adapter.default.getDocument(), _pointer.default.down, (function(e) { for (var i = TOAST_STACK.length - 1; i >= 0; i--) { if (!TOAST_STACK[i]._proxiedDocumentDownHandler(e)) { return } } })) })); var Toast = _ui.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { message: "", type: "info", displayTime: 2e3, position: "bottom center", animation: { show: { type: "fade", duration: 400, from: 0, to: 1 }, hide: { type: "fade", duration: 400, from: 1, to: 0 } }, shading: false, height: "auto", hideTopOverlayHandler: null, preventScrollEvents: false, closeOnSwipe: true, closeOnClick: false }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: { platform: "android" }, options: { hideOnOutsideClick: true, width: "auto", animation: { show: { type: "slide", duration: 200, from: { position: { my: "top", at: "bottom", of: window } } }, hide: { type: "slide", duration: 200, to: { position: { my: "top", at: "bottom", of: window } } } } } }, { device: function(_device) { var isPhone = "phone" === _device.deviceType; var isAndroid = "android" === _device.platform; return isPhone && isAndroid }, options: { width: "100vw", position: { at: "bottom center", my: "bottom center", offset: "0 0" } } }, { device: function(_device2) { return "phone" === _device2.deviceType }, options: { width: "100vw" } }, { device: function() { return (0, _themes.isMaterial)() }, options: { minWidth: 344, maxWidth: 568, displayTime: 4e3 } }]) }, _init: function() { this.callBase(); this._posStringToObject() }, _renderContentImpl: function() { this._message = (0, _renderer.default)("<div>").addClass("dx-toast-message").text(this.option("message")).appendTo(this.$content()); this.setAria("role", "alert", this._message); if (toastTypes.includes(this.option("type").toLowerCase())) { this.$content().prepend((0, _renderer.default)("<div>").addClass("dx-toast-icon")) } this.callBase() }, _render: function() { this.callBase(); this.$element().addClass("dx-toast"); this.$wrapper().addClass("dx-toast-wrapper"); this.$content().addClass("dx-toast-" + String(this.option("type")).toLowerCase()); this.$content().addClass("dx-toast-content"); this._toggleCloseEvents("Swipe"); this._toggleCloseEvents("Click") }, _toggleCloseEvents: function(event) { var dxEvent = "dx" + event.toLowerCase(); _events_engine.default.off(this.$content(), dxEvent); this.option("closeOn" + event) && _events_engine.default.on(this.$content(), dxEvent, this.hide.bind(this)) }, _posStringToObject: function() { if (!(0, _type.isString)(this.option("position"))) { return } var verticalPosition = this.option("position").split(" ")[0]; var horizontalPosition = this.option("position").split(" ")[1]; this.option("position", (0, _extend.extend)({ boundaryOffset: DEFAULT_BOUNDARY_OFFSET }, POSITION_ALIASES[verticalPosition])); switch (horizontalPosition) { case "center": case "left": case "right": this.option("position").at += " " + horizontalPosition; this.option("position").my += " " + horizontalPosition } }, _show: function() { return this.callBase.apply(this, arguments).always(function() { clearTimeout(this._hideTimeout); this._hideTimeout = setTimeout(this.hide.bind(this), this.option("displayTime")) }.bind(this)) }, _overlayStack: function() { return TOAST_STACK }, _zIndexInitValue: function() { return this.callBase() + 8e3 }, _dispose: function() { clearTimeout(this._hideTimeout); this.callBase() }, _optionChanged: function(args) { switch (args.name) { case "type": this.$content().removeClass("dx-toast-" + args.previousValue); this.$content().addClass("dx-toast-" + String(args.value).toLowerCase()); break; case "message": if (this._message) { this._message.text(args.value) } break; case "closeOnSwipe": this._toggleCloseEvents("Swipe"); break; case "closeOnClick": this._toggleCloseEvents("Click"); break; case "displayTime": break; default: this.callBase(args) } } }); (0, _component_registrator.default)("dxToast", Toast); var _default = Toast; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 71042: /*!***********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/toolbar.js ***! \***********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _ui = (obj = __webpack_require__( /*! ./toolbar/ui.toolbar */ 70314), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _ui.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 10329: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/toolbar/constants.js ***! \*********************************************************************/ function(__unused_webpack_module, exports) { exports.TOOLBAR_CLASS = void 0; exports.TOOLBAR_CLASS = "dx-toolbar" }, 49150: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/toolbar/internal/ui.toolbar.menu.js ***! \************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../../core/devices */ 20530)); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _ui = _interopRequireDefault(__webpack_require__( /*! ../../widget/ui.widget */ 14390)); var _button = _interopRequireDefault(__webpack_require__( /*! ../../button */ 63008)); var _uiToolbarMenu = _interopRequireDefault(__webpack_require__( /*! ./ui.toolbar.menu.list */ 64017)); var _themes = __webpack_require__( /*! ../../themes */ 75811); var _child_default_template = __webpack_require__( /*! ../../../core/templates/child_default_template */ 91627); var _uiToolbar = __webpack_require__( /*! ../ui.toolbar.utils */ 61939); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); __webpack_require__( /*! ../../popup */ 39114); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var DropDownMenu = function(_Widget) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(DropDownMenu, _Widget); function DropDownMenu() { return _Widget.apply(this, arguments) || this } var _proto = DropDownMenu.prototype; _proto._supportedKeys = function() { var extension = {}; if (!this.option("opened") || !this._list.option("focusedElement")) { extension = this._button._supportedKeys() } return (0, _extend.extend)(_Widget.prototype._supportedKeys.call(this), extension, { tab: function() { this._popup && this._popup.hide() } }) }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), { items: [], onItemClick: null, dataSource: null, itemTemplate: "item", onButtonClick: null, activeStateEnabled: true, hoverStateEnabled: true, opened: false, onItemRendered: null, closeOnClick: true, useInkRipple: false, container: void 0, animation: { show: { type: "fade", from: 0, to: 1 }, hide: { type: "fade", to: 0 } } }) }; _proto._defaultOptionsRules = function() { return _Widget.prototype._defaultOptionsRules.call(this).concat([{ device: function() { return "desktop" === _devices.default.real().deviceType && !_devices.default.isSimulator() }, options: { focusStateEnabled: true } }, { device: function() { return (0, _themes.isMaterial)() }, options: { useInkRipple: true, animation: { show: { type: "pop", duration: 200, from: { scale: 0 }, to: { scale: 1 } }, hide: { type: "pop", duration: 200, from: { scale: 1 }, to: { scale: 0 } } } } }]) }; _proto._init = function() { _Widget.prototype._init.call(this); this.$element().addClass("dx-dropdownmenu"); this._initItemClickAction(); this._initButtonClickAction() }; _proto._initItemClickAction = function() { this._itemClickAction = this._createActionByOption("onItemClick") }; _proto._initButtonClickAction = function() { this._buttonClickAction = this._createActionByOption("onButtonClick") }; _proto._initTemplates = function() { this._templateManager.addDefaultTemplates({ content: new _child_default_template.ChildDefaultTemplate("content") }); _Widget.prototype._initTemplates.call(this) }; _proto._initMarkup = function() { this._renderButton(); _Widget.prototype._initMarkup.call(this) }; _proto._render = function() { _Widget.prototype._render.call(this); this.setAria({ haspopup: true, expanded: this.option("opened") }) }; _proto._renderContentImpl = function() { if (this.option("opened")) { this._renderPopup() } }; _proto._clean = function() { this._cleanFocusState(); this._list && this._list.$element().remove(); this._popup && this._popup.$element().remove(); delete this._list; delete this._popup }; _proto._renderButton = function() { var _this = this; var $button = this.$element().addClass("dx-dropdownmenu-button"); this._button = this._createComponent($button, _button.default, { icon: "overflow", template: "content", useInkRipple: this.option("useInkRipple"), hoverStateEnabled: false, focusStateEnabled: false, onClick: function(e) { _this.option("opened", !_this.option("opened")); _this._buttonClickAction(e) } }) }; _proto._toggleActiveState = function($element, value, e) { this._button._toggleActiveState($element, value, e) }; _proto._toggleMenuVisibility = function(opened) { var state = null !== opened && void 0 !== opened ? opened : !this._popup.option("visible"); if (opened) { this._renderPopup() } this._popup.toggle(state); this.setAria("expanded", state) }; _proto._renderPopup = function() { var _this2 = this; if (this._$popup) { return } this._$popup = (0, _renderer.default)("<div>").appendTo(this.$element()); var _this$option = this.option(), rtlEnabled = _this$option.rtlEnabled, container = _this$option.container, animation = _this$option.animation; this._popup = this._createComponent(this._$popup, "dxPopup", { onInitialized: function(_ref) { var component = _ref.component; component.$wrapper().addClass("dx-dropdownmenu-popup-wrapper").addClass("dx-dropdownmenu-popup") }, deferRendering: false, contentTemplate: function(contentElement) { return _this2._renderList(contentElement) }, _ignoreFunctionValueDeprecation: true, maxHeight: function() { return _this2._getMaxHeight() }, position: { my: "top ".concat(rtlEnabled ? "left" : "right"), at: "bottom ".concat(rtlEnabled ? "left" : "right"), collision: "fit flip", offset: { v: 3 }, of: this.$element() }, animation: animation, onOptionChanged: function(_ref2) { var name = _ref2.name, value = _ref2.value; if ("visible" === name) { _this2.option("opened", value) } }, container: container, autoResizeEnabled: false, height: "auto", width: "auto", hideOnOutsideClick: function(e) { return _this2._closeOutsideDropDownHandler(e) }, hideOnParentScroll: true, shading: false, dragEnabled: false, showTitle: false, fullScreen: false, _fixWrapperPosition: true }) }; _proto._getMaxHeight = function() { var $element = this.$element(); var offsetTop = $element.offset().top; var windowHeight = (0, _size.getOuterHeight)((0, _window.getWindow)()); var maxHeight = Math.max(offsetTop, windowHeight - offsetTop - (0, _size.getOuterHeight)($element)); return Math.min(windowHeight, maxHeight - 3 - 10) }; _proto._closeOutsideDropDownHandler = function(e) { var isOutsideClick = !(0, _renderer.default)(e.target).closest(this.$element()).length; return isOutsideClick }; _proto._renderList = function(contentElement) { var _this3 = this; var $content = (0, _renderer.default)(contentElement); $content.addClass("dx-dropdownmenu-list"); this._list = this._createComponent($content, _uiToolbarMenu.default, { dataSource: this._getListDataSource(), pageLoadMode: "scrollBottom", indicateLoading: false, noDataText: "", itemTemplate: this.option("itemTemplate"), onItemClick: function(e) { if (_this3.option("closeOnClick")) { _this3.option("opened", false) } _this3._itemClickAction(e) }, tabIndex: -1, focusStateEnabled: false, activeStateEnabled: true, onItemRendered: this.option("onItemRendered"), _itemAttributes: { role: "menuitem" } }) }; _proto._itemOptionChanged = function(item, property, value) { var _this$_list; null === (_this$_list = this._list) || void 0 === _this$_list ? void 0 : _this$_list._itemOptionChanged(item, property, value); (0, _uiToolbar.toggleItemFocusableElementTabIndex)(this._list, item) }; _proto._getListDataSource = function() { var _this$option2; return null !== (_this$option2 = this.option("dataSource")) && void 0 !== _this$option2 ? _this$option2 : this.option("items") }; _proto._setListDataSource = function() { var _this$_list2; null === (_this$_list2 = this._list) || void 0 === _this$_list2 ? void 0 : _this$_list2.option("dataSource", this._getListDataSource()); delete this._deferRendering }; _proto._getKeyboardListeners = function() { return _Widget.prototype._getKeyboardListeners.call(this).concat([this._list]) }; _proto._toggleVisibility = function(visible) { _Widget.prototype._toggleVisibility.call(this, visible); this._button.option("visible", visible) }; _proto._optionChanged = function(args) { var _this$_list3, _this$_list4, _this$_list5; var name = args.name, value = args.value; switch (name) { case "items": case "dataSource": if (!this.option("opened")) { this._deferRendering = true } else { this._setListDataSource() } break; case "itemTemplate": null === (_this$_list3 = this._list) || void 0 === _this$_list3 ? void 0 : _this$_list3.option(name, this._getTemplate(value)); break; case "onItemClick": this._initItemClickAction(); break; case "onButtonClick": this._buttonClickAction(); break; case "useInkRipple": this._invalidate(); break; case "focusStateEnabled": null === (_this$_list4 = this._list) || void 0 === _this$_list4 ? void 0 : _this$_list4.option(name, value); _Widget.prototype._optionChanged.call(this, args); break; case "onItemRendered": null === (_this$_list5 = this._list) || void 0 === _this$_list5 ? void 0 : _this$_list5.option(name, value); break; case "opened": if (this._deferRendering) { this._setListDataSource() } this._toggleMenuVisibility(value); this._updateFocusableItemsTabIndex(); break; case "closeOnClick": break; case "container": this._popup && this._popup.option(name, value); break; case "disabled": if (this._list) { this._updateFocusableItemsTabIndex() } break; default: _Widget.prototype._optionChanged.call(this, args) } }; _proto._updateFocusableItemsTabIndex = function() { var _this4 = this; this.option("items").forEach((function(item) { return (0, _uiToolbar.toggleItemFocusableElementTabIndex)(_this4._list, item) })) }; return DropDownMenu }(_ui.default); exports.default = DropDownMenu; module.exports = exports.default; module.exports.default = exports.default }, 64017: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/toolbar/internal/ui.toolbar.menu.list.js ***! \*****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = (obj = __webpack_require__( /*! ../../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _uiList = __webpack_require__( /*! ../../list/ui.list.base */ 31583); function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ToolbarMenuList = function(_ListBase) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ToolbarMenuList, _ListBase); function ToolbarMenuList() { return _ListBase.apply(this, arguments) || this } var _proto = ToolbarMenuList.prototype; _proto._init = function() { _ListBase.prototype._init.call(this); this._activeStateUnit = ".".concat("dx-toolbar-menu-action", ":not(.").concat("dx-toolbar-hidden-button-group", ")") }; _proto._initMarkup = function() { this._renderSections(); _ListBase.prototype._initMarkup.call(this); this._setMenuRole() }; _proto._getSections = function() { return this._itemContainer().children() }; _proto._itemElements = function() { return this._getSections().children(this._itemSelector()) }; _proto._renderSections = function() { var _this = this; var $container = this._itemContainer(); (0, _iterator.each)(["before", "center", "after", "menu"], (function(_, section) { var sectionName = "_$".concat(section, "Section"); if (!_this[sectionName]) { _this[sectionName] = (0, _renderer.default)("<div>").addClass("dx-toolbar-menu-section") } _this[sectionName].appendTo($container) })) }; _proto._renderItems = function() { _ListBase.prototype._renderItems.apply(this, arguments); this._updateSections() }; _proto._setMenuRole = function() { var $menuContainer = this.$element().find(".".concat("dx-scrollview-content")); $menuContainer.attr("role", "menu") }; _proto._updateSections = function() { var $sections = this.$element().find(".".concat("dx-toolbar-menu-section")); $sections.removeClass("dx-toolbar-menu-last-section"); $sections.not(":empty").eq(-1).addClass("dx-toolbar-menu-last-section") }; _proto._renderItem = function(index, item, itemContainer, $after) { var _item$location; var location = null !== (_item$location = item.location) && void 0 !== _item$location ? _item$location : "menu"; var $container = this["_$".concat(location, "Section")]; var itemElement = _ListBase.prototype._renderItem.call(this, index, item, $container, $after); if (this._getItemTemplateName({ itemData: item })) { itemElement.addClass("dx-toolbar-menu-custom") } if ("menu" === location || "dxButton" === item.widget || "dxButtonGroup" === item.widget || item.isAction) { itemElement.addClass("dx-toolbar-menu-action") } if ("dxButton" === item.widget) { itemElement.addClass("dx-toolbar-hidden-button") } if ("dxButtonGroup" === item.widget) { itemElement.addClass("dx-toolbar-hidden-button-group") } itemElement.addClass(item.cssClass); return itemElement }; _proto._getItemTemplateName = function(args) { var template = _ListBase.prototype._getItemTemplateName.call(this, args); var data = args.itemData; var menuTemplate = data && data.menuItemTemplate; return menuTemplate || template }; _proto._dataSourceOptions = function() { return { paginate: false } }; _proto._itemClickHandler = function(e, args, config) { if ((0, _renderer.default)(e.target).closest(".".concat("dx-toolbar-menu-action")).length) { _ListBase.prototype._itemClickHandler.call(this, e, args, config) } }; _proto._clean = function() { this._getSections().empty(); _ListBase.prototype._clean.call(this) }; return ToolbarMenuList }(_uiList.ListBase); exports.default = ToolbarMenuList; module.exports = exports.default; module.exports.default = exports.default }, 69762: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/toolbar/strategy/toolbar.multiline.js ***! \**************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.MultiLineStrategy = void 0; var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var MultiLineStrategy = function() { function MultiLineStrategy(toolbar) { this._toolbar = toolbar } var _proto = MultiLineStrategy.prototype; _proto._initMarkup = function() {}; _proto._updateMenuVisibility = function() {}; _proto._renderMenuItems = function() {}; _proto._renderItem = function() {}; _proto._getMenuItems = function() {}; _proto._getToolbarItems = function() { var _this$_toolbar$option; return null !== (_this$_toolbar$option = this._toolbar.option("items")) && void 0 !== _this$_toolbar$option ? _this$_toolbar$option : [] }; _proto._getItemsWidth = function() { return this._toolbar._getSummaryItemsWidth(this._toolbar.itemElements(), true) }; _proto._arrangeItems = function() { var $label = this._toolbar._$toolbarItemsContainer.find(".".concat("dx-toolbar-label")).eq(0); if (!$label.length) { return } var elementWidth = (0, _size.getWidth)(this._toolbar.$element()); var labelPaddings = (0, _size.getOuterWidth)($label) - (0, _size.getWidth)($label); $label.css("maxWidth", elementWidth - labelPaddings) }; _proto._hideOverflowItems = function() {}; _proto._dimensionChanged = function() {}; _proto._itemOptionChanged = function() {}; _proto._optionChanged = function() {}; return MultiLineStrategy }(); exports.MultiLineStrategy = MultiLineStrategy }, 12086: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/toolbar/strategy/toolbar.singleline.js ***! \***************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.SingleLineStrategy = void 0; var _size = __webpack_require__( /*! ../../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _uiToolbar = _interopRequireDefault(__webpack_require__( /*! ../internal/ui.toolbar.menu */ 49150)); var _data = __webpack_require__( /*! ../../../core/utils/data */ 47617); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var SingleLineStrategy = function() { function SingleLineStrategy(toolbar) { this._toolbar = toolbar } var _proto = SingleLineStrategy.prototype; _proto._initMarkup = function() { var _this = this; (0, _common.deferRender)((function() { _this._renderOverflowMenu(); _this._renderMenuItems() })) }; _proto._renderOverflowMenu = function() { var _this2 = this; if (!this._hasVisibleMenuItems()) { return } this._renderMenuButtonContainer(); var $menu = (0, _renderer.default)("<div>").appendTo(this._overflowMenuContainer()); var itemClickAction = this._toolbar._createActionByOption("onItemClick"); var menuItemTemplate = this._toolbar._getTemplateByOption("menuItemTemplate"); this._menu = this._toolbar._createComponent($menu, _uiToolbar.default, { disabled: this._toolbar.option("disabled"), itemTemplate: function() { return menuItemTemplate }, onItemClick: function(e) { itemClickAction(e) }, container: this._toolbar.option("menuContainer"), onOptionChanged: function(_ref) { var name = _ref.name, value = _ref.value; if ("opened" === name) { _this2._toolbar.option("overflowMenuVisible", value) } if ("items" === name) { _this2._updateMenuVisibility(value) } } }) }; _proto.renderMenuItems = function() { if (!this._menu) { this._renderOverflowMenu() } this._menu && this._menu.option("items", this._getMenuItems()); if (this._menu && !this._menu.option("items").length) { this._menu.option("opened", false) } }; _proto._renderMenuButtonContainer = function() { this._$overflowMenuContainer = (0, _renderer.default)("<div>").appendTo(this._toolbar._$afterSection).addClass("dx-toolbar-button").addClass("dx-toolbar-menu-container") }; _proto._overflowMenuContainer = function() { return this._$overflowMenuContainer }; _proto._updateMenuVisibility = function(menuItems) { var items = null !== menuItems && void 0 !== menuItems ? menuItems : this._getMenuItems(); var isMenuVisible = items.length && this._hasVisibleMenuItems(items); this._toggleMenuVisibility(isMenuVisible) }; _proto._toggleMenuVisibility = function(value) { if (!this._overflowMenuContainer()) { return } this._overflowMenuContainer().toggleClass("dx-state-invisible", !value) }; _proto._renderMenuItems = function() { var _this3 = this; (0, _common.deferRender)((function() { _this3.renderMenuItems() })) }; _proto._dimensionChanged = function() { this.renderMenuItems() }; _proto._getToolbarItems = function() { var _this$_toolbar$option, _this4 = this; return (0, _common.grep)(null !== (_this$_toolbar$option = this._toolbar.option("items")) && void 0 !== _this$_toolbar$option ? _this$_toolbar$option : [], (function(item) { return !_this4._toolbar._isMenuItem(item) })) }; _proto._getMenuItems = function() { var _this$_toolbar$option2, _this$_restoreItems, _this5 = this; var menuItems = (0, _common.grep)(null !== (_this$_toolbar$option2 = this._toolbar.option("items")) && void 0 !== _this$_toolbar$option2 ? _this$_toolbar$option2 : [], (function(item) { return _this5._toolbar._isMenuItem(item) })); var $hiddenItems = this._toolbar._itemContainer().children(".".concat("dx-toolbar-item-auto-hide", ".").concat("dx-toolbar-item-invisible")).not(".".concat("dx-state-invisible")); this._restoreItems = null !== (_this$_restoreItems = this._restoreItems) && void 0 !== _this$_restoreItems ? _this$_restoreItems : []; var overflowItems = [].slice.call($hiddenItems).map((function(item) { var itemData = _this5._toolbar._getItemData(item); var $itemContainer = (0, _renderer.default)(item); var $itemMarkup = $itemContainer.children(); return (0, _extend.extend)({ menuItemTemplate: function() { _this5._restoreItems.push({ container: $itemContainer, item: $itemMarkup }); var $container = (0, _renderer.default)("<div>").addClass("dx-toolbar-item-auto-hide"); return $container.append($itemMarkup) } }, itemData) })); return [].concat(_toConsumableArray(overflowItems), _toConsumableArray(menuItems)) }; _proto._hasVisibleMenuItems = function(items) { var menuItems = null !== items && void 0 !== items ? items : this._toolbar.option("items"); var result = false; var optionGetter = (0, _data.compileGetter)("visible"); var overflowGetter = (0, _data.compileGetter)("locateInMenu"); (0, _iterator.each)(menuItems, (function(index, item) { var itemVisible = optionGetter(item, { functionsAsIs: true }); var itemOverflow = overflowGetter(item, { functionsAsIs: true }); if (false !== itemVisible && ("auto" === itemOverflow || "always" === itemOverflow) || "menu" === item.location) { result = true } })); return result }; _proto._arrangeItems = function() { var _this$_restoreItems2; this._toolbar._$centerSection.css({ margin: "0 auto", float: "none" }); (0, _iterator.each)(null !== (_this$_restoreItems2 = this._restoreItems) && void 0 !== _this$_restoreItems2 ? _this$_restoreItems2 : [], (function(_, obj) { (0, _renderer.default)(obj.container).append(obj.item) })); this._restoreItems = []; var elementWidth = (0, _size.getWidth)(this._toolbar.$element()); this._hideOverflowItems(elementWidth); return elementWidth }; _proto._hideOverflowItems = function(elementWidth) { var _elementWidth; var overflowItems = this._toolbar.$element().find(".".concat("dx-toolbar-item-auto-hide")); if (!overflowItems.length) { return } elementWidth = null !== (_elementWidth = elementWidth) && void 0 !== _elementWidth ? _elementWidth : (0, _size.getWidth)(this._toolbar.$element()); (0, _renderer.default)(overflowItems).removeClass("dx-toolbar-item-invisible"); var itemsWidth = this._getItemsWidth(); while (overflowItems.length && elementWidth < itemsWidth) { var $item = overflowItems.eq(-1); itemsWidth -= (0, _size.getOuterWidth)($item); $item.addClass("dx-toolbar-item-invisible"); overflowItems.splice(-1, 1) } }; _proto._getItemsWidth = function() { return this._toolbar._getSummaryItemsWidth([this._toolbar._$beforeSection, this._toolbar._$centerSection, this._toolbar._$afterSection]) }; _proto._itemOptionChanged = function(item, property, value) { if (this._toolbar._isMenuItem(item)) { if ("disabled" === property || "options.disabled" === property) { var _this$_menu; null === (_this$_menu = this._menu) || void 0 === _this$_menu ? void 0 : _this$_menu._itemOptionChanged(item, property, value); return } } this.renderMenuItems() }; _proto._renderItem = function(item, itemElement) { if ("auto" === item.locateInMenu) { itemElement.addClass("dx-toolbar-item-auto-hide") } }; _proto._optionChanged = function(name, value) { var _this$_menu2, _this$_menu3, _this$_menu4, _this$_menu5, _this$_menu6; switch (name) { case "disabled": null === (_this$_menu2 = this._menu) || void 0 === _this$_menu2 ? void 0 : _this$_menu2.option(name, value); break; case "overflowMenuVisible": null === (_this$_menu3 = this._menu) || void 0 === _this$_menu3 ? void 0 : _this$_menu3.option("opened", value); break; case "onItemClick": null === (_this$_menu4 = this._menu) || void 0 === _this$_menu4 ? void 0 : _this$_menu4.option(name, value); break; case "menuContainer": null === (_this$_menu5 = this._menu) || void 0 === _this$_menu5 ? void 0 : _this$_menu5.option("container", value); break; case "menuItemTemplate": null === (_this$_menu6 = this._menu) || void 0 === _this$_menu6 ? void 0 : _this$_menu6.option("itemTemplate", value) } }; return SingleLineStrategy }(); exports.SingleLineStrategy = SingleLineStrategy }, 997: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/toolbar/ui.toolbar.base.js ***! \***************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _themes = __webpack_require__( /*! ../themes */ 75811); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _position = __webpack_require__( /*! ../../core/utils/position */ 37518); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ../collection/ui.collection_widget.async */ 25970)); var _bindable_template = __webpack_require__( /*! ../../core/templates/bindable_template */ 93280); var _fx = _interopRequireDefault(__webpack_require__( /*! ../../animation/fx */ 87209)); var _constants = __webpack_require__( /*! ./constants */ 10329); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ToolbarBase = function(_AsyncCollectionWidge) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ToolbarBase, _AsyncCollectionWidge); function ToolbarBase() { return _AsyncCollectionWidge.apply(this, arguments) || this } var _proto = ToolbarBase.prototype; _proto._getSynchronizableOptionsForCreateComponent = function() { return _AsyncCollectionWidge.prototype._getSynchronizableOptionsForCreateComponent.call(this).filter((function(item) { return "disabled" !== item })) }; _proto._initTemplates = function() { _AsyncCollectionWidge.prototype._initTemplates.call(this); var template = new _bindable_template.BindableTemplate(function($container, data, rawModel) { if ((0, _type.isPlainObject)(data)) { var text = data.text, html = data.html, widget = data.widget; if (text) { $container.text(text).wrapInner("<div>") } if (html) { $container.html(html) } if ("dxDropDownButton" === widget) { var _data$options; data.options = null !== (_data$options = data.options) && void 0 !== _data$options ? _data$options : {}; if (!(0, _type.isDefined)(data.options.stylingMode)) { data.options.stylingMode = this.option("useFlatButtons") ? "text" : "contained" } } if ("dxButton" === widget) { if (this.option("useFlatButtons")) { var _data$options2, _data$options$styling; data.options = null !== (_data$options2 = data.options) && void 0 !== _data$options2 ? _data$options2 : {}; data.options.stylingMode = null !== (_data$options$styling = data.options.stylingMode) && void 0 !== _data$options$styling ? _data$options$styling : "text" } if (this.option("useDefaultButtons")) { var _data$options3, _data$options$type; data.options = null !== (_data$options3 = data.options) && void 0 !== _data$options3 ? _data$options3 : {}; data.options.type = null !== (_data$options$type = data.options.type) && void 0 !== _data$options$type ? _data$options$type : "default" } } } else { $container.text(String(data)) } this._getTemplate("dx-polymorph-widget").render({ container: $container, model: rawModel, parent: this }) }.bind(this), ["text", "html", "widget", "options"], this.option("integrationOptions.watchMethod")); this._templateManager.addDefaultTemplates({ item: template, menuItem: template }) }; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_AsyncCollectionWidge.prototype._getDefaultOptions.call(this), { renderAs: "topToolbar", grouped: false, useFlatButtons: false, useDefaultButtons: false }) }; _proto._defaultOptionsRules = function() { return _AsyncCollectionWidge.prototype._defaultOptionsRules.call(this).concat([{ device: function() { return (0, _themes.isMaterial)() }, options: { useFlatButtons: true } }]) }; _proto._itemContainer = function() { return this._$toolbarItemsContainer.find([".".concat("dx-toolbar-before"), ".".concat("dx-toolbar-center"), ".".concat("dx-toolbar-after")].join(",")) }; _proto._itemClass = function() { return "dx-toolbar-item" }; _proto._itemDataKey = function() { return "dxToolbarItemDataKey" }; _proto._dimensionChanged = function() { if (this._disposed) { return } this._arrangeItems(); this._applyCompactMode() }; _proto._initMarkup = function() { this._renderToolbar(); this._renderSections(); _AsyncCollectionWidge.prototype._initMarkup.call(this) }; _proto._render = function() { _AsyncCollectionWidge.prototype._render.call(this); this._renderItemsAsync(); this._updateDimensionsInMaterial() }; _proto._postProcessRenderItems = function() { this._arrangeItems() }; _proto._renderToolbar = function() { this.$element().addClass(_constants.TOOLBAR_CLASS); this._$toolbarItemsContainer = (0, _renderer.default)("<div>").addClass("dx-toolbar-items-container").appendTo(this.$element()); this.setAria("role", "toolbar") }; _proto._renderSections = function() { var _this = this; var $container = this._$toolbarItemsContainer; (0, _iterator.each)(["before", "center", "after"], (function(_, section) { var sectionClass = "dx-toolbar-".concat(section); var $section = $container.find(".".concat(sectionClass)); if (!$section.length) { _this["_$".concat(section, "Section")] = (0, _renderer.default)("<div>").addClass(sectionClass).appendTo($container) } })) }; _proto._arrangeItems = function(elementWidth) { var _elementWidth; elementWidth = null !== (_elementWidth = elementWidth) && void 0 !== _elementWidth ? _elementWidth : (0, _size.getWidth)(this.$element()); this._$centerSection.css({ margin: "0 auto", float: "none" }); var beforeRect = (0, _position.getBoundingRect)(this._$beforeSection.get(0)); var afterRect = (0, _position.getBoundingRect)(this._$afterSection.get(0)); this._alignCenterSection(beforeRect, afterRect, elementWidth); var $label = this._$toolbarItemsContainer.find(".".concat("dx-toolbar-label")).eq(0); var $section = $label.parent(); if (!$label.length) { return } var labelOffset = beforeRect.width ? beforeRect.width : $label.position().left; var widthBeforeSection = $section.hasClass("dx-toolbar-before") ? 0 : labelOffset; var widthAfterSection = $section.hasClass("dx-toolbar-after") ? 0 : afterRect.width; var elemsAtSectionWidth = 0; $section.children().not(".".concat("dx-toolbar-label")).each((function() { elemsAtSectionWidth += (0, _size.getOuterWidth)(this) })); var freeSpace = elementWidth - elemsAtSectionWidth; var sectionMaxWidth = Math.max(freeSpace - widthBeforeSection - widthAfterSection, 0); if ($section.hasClass("dx-toolbar-before")) { this._alignSection(this._$beforeSection, sectionMaxWidth) } else { var labelPaddings = (0, _size.getOuterWidth)($label) - (0, _size.getWidth)($label); $label.css("maxWidth", sectionMaxWidth - labelPaddings) } }; _proto._alignCenterSection = function(beforeRect, afterRect, elementWidth) { this._alignSection(this._$centerSection, elementWidth - beforeRect.width - afterRect.width); var isRTL = this.option("rtlEnabled"); var leftRect = isRTL ? afterRect : beforeRect; var rightRect = isRTL ? beforeRect : afterRect; var centerRect = (0, _position.getBoundingRect)(this._$centerSection.get(0)); if (leftRect.right > centerRect.left || centerRect.right > rightRect.left) { this._$centerSection.css({ marginLeft: leftRect.width, marginRight: rightRect.width, float: leftRect.width > rightRect.width ? "none" : "right" }) } }; _proto._alignSection = function($section, maxWidth) { var $labels = $section.find(".".concat("dx-toolbar-label")); var labels = $labels.toArray(); maxWidth -= this._getCurrentLabelsPaddings(labels); var currentWidth = this._getCurrentLabelsWidth(labels); var difference = Math.abs(currentWidth - maxWidth); if (maxWidth < currentWidth) { labels = labels.reverse(); this._alignSectionLabels(labels, difference, false) } else { this._alignSectionLabels(labels, difference, true) } }; _proto._alignSectionLabels = function(labels, difference, expanding) { var getRealLabelWidth = function(label) { return (0, _position.getBoundingRect)(label).width }; for (var i = 0; i < labels.length; i++) { var $label = (0, _renderer.default)(labels[i]); var currentLabelWidth = Math.ceil(getRealLabelWidth(labels[i])); var labelMaxWidth = void 0; if (expanding) { $label.css("maxWidth", "inherit") } var possibleLabelWidth = Math.ceil(expanding ? getRealLabelWidth(labels[i]) : currentLabelWidth); if (possibleLabelWidth < difference) { labelMaxWidth = expanding ? possibleLabelWidth : 0; difference -= possibleLabelWidth } else { labelMaxWidth = expanding ? currentLabelWidth + difference : currentLabelWidth - difference; $label.css("maxWidth", labelMaxWidth); break } $label.css("maxWidth", labelMaxWidth) } }; _proto._applyCompactMode = function() { var $element = this.$element(); $element.removeClass("dx-toolbar-compact"); if (this.option("compactMode") && this._getSummaryItemsWidth(this.itemElements(), true) > (0, _size.getWidth)($element)) { $element.addClass("dx-toolbar-compact") } }; _proto._getCurrentLabelsWidth = function(labels) { var width = 0; labels.forEach((function(label, index) { width += (0, _size.getOuterWidth)(label) })); return width }; _proto._getCurrentLabelsPaddings = function(labels) { var padding = 0; labels.forEach((function(label, index) { padding += (0, _size.getOuterWidth)(label) - (0, _size.getWidth)(label) })); return padding }; _proto._renderItem = function(index, item, itemContainer, $after) { var _item$location, _item$text; var location = null !== (_item$location = item.location) && void 0 !== _item$location ? _item$location : "center"; var container = null !== itemContainer && void 0 !== itemContainer ? itemContainer : this["_$".concat(location, "Section")]; var itemHasText = !!(null !== (_item$text = item.text) && void 0 !== _item$text ? _item$text : item.html); var itemElement = _AsyncCollectionWidge.prototype._renderItem.call(this, index, item, container, $after); itemElement.toggleClass("dx-toolbar-button", !itemHasText).toggleClass("dx-toolbar-label", itemHasText).addClass(item.cssClass); return itemElement }; _proto._renderGroupedItems = function() { var _this2 = this; (0, _iterator.each)(this.option("items"), (function(groupIndex, group) { var _group$location; var groupItems = group.items; var $container = (0, _renderer.default)("<div>").addClass("dx-toolbar-group"); var location = null !== (_group$location = group.location) && void 0 !== _group$location ? _group$location : "center"; if (!groupItems || !groupItems.length) { return }(0, _iterator.each)(groupItems, (function(itemIndex, item) { _this2._renderItem(itemIndex, item, $container, null) })); _this2._$toolbarItemsContainer.find(".dx-toolbar-".concat(location)).append($container) })) }; _proto._renderItems = function(items) { var grouped = this.option("grouped") && items.length && items[0].items; grouped ? this._renderGroupedItems() : _AsyncCollectionWidge.prototype._renderItems.call(this, items) }; _proto._getToolbarItems = function() { var _this$option; return null !== (_this$option = this.option("items")) && void 0 !== _this$option ? _this$option : [] }; _proto._renderContentImpl = function() { var items = this._getToolbarItems(); this.$element().toggleClass("dx-toolbar-mini", 0 === items.length); if (this._renderedItemsCount) { this._renderItems(items.slice(this._renderedItemsCount)) } else { this._renderItems(items) } this._applyCompactMode() }; _proto._renderEmptyMessage = function() {}; _proto._clean = function() { this._$toolbarItemsContainer.children().empty(); this.$element().empty(); delete this._$beforeSection; delete this._$centerSection; delete this._$afterSection }; _proto._visibilityChanged = function(visible) { if (visible) { this._arrangeItems() } }; _proto._isVisible = function() { return (0, _size.getWidth)(this.$element()) > 0 && (0, _size.getHeight)(this.$element()) > 0 }; _proto._getIndexByItem = function(item) { return this._getToolbarItems().indexOf(item) }; _proto._itemOptionChanged = function(item, property, value) { _AsyncCollectionWidge.prototype._itemOptionChanged.apply(this, [item, property, value]); this._arrangeItems() }; _proto._optionChanged = function(_ref) { var name = _ref.name; _ref.value; switch (name) { case "width": _AsyncCollectionWidge.prototype._optionChanged.apply(this, arguments); this._dimensionChanged(); break; case "renderAs": case "useFlatButtons": case "useDefaultButtons": this._invalidate(); break; case "compactMode": this._applyCompactMode(); break; case "grouped": break; default: _AsyncCollectionWidge.prototype._optionChanged.apply(this, arguments) } }; _proto._dispose = function() { _AsyncCollectionWidge.prototype._dispose.call(this); clearTimeout(this._waitParentAnimationTimeout) }; _proto._updateDimensionsInMaterial = function() { var _this3 = this; if ((0, _themes.isMaterial)()) { Promise.all([new Promise((function(resolve) { ! function runCheck() { clearTimeout(_this3._waitParentAnimationTimeout); _this3._waitParentAnimationTimeout = setTimeout((function() { return function() { var readyToResolve = true; _this3.$element().parents().each((function(_, parent) { if (_fx.default.isAnimating((0, _renderer.default)(parent))) { readyToResolve = false; return false } })); if (readyToResolve) { resolve() } return readyToResolve }() || runCheck() }), 15) }() })), function() { var $labels = _this3.$element().find(".".concat("dx-toolbar-label")); var promises = []; $labels.each((function(_, label) { var text = (0, _renderer.default)(label).text(); var fontWeight = (0, _renderer.default)(label).css("fontWeight"); promises.push((0, _themes.waitWebFont)(text, fontWeight)) })); return Promise.all(promises) }()]).then((function() { _this3._dimensionChanged() })) } }; return ToolbarBase }(_uiCollection_widget.default); (0, _component_registrator.default)("dxToolbarBase", ToolbarBase); var _default = ToolbarBase; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 70314: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/toolbar/ui.toolbar.js ***! \**********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _uiToolbar = _interopRequireDefault(__webpack_require__( /*! ./ui.toolbar.base */ 997)); var _uiToolbar2 = __webpack_require__( /*! ./ui.toolbar.utils */ 61939); var _toolbar = __webpack_require__( /*! ./strategy/toolbar.multiline */ 69762); var _toolbar2 = __webpack_require__( /*! ./strategy/toolbar.singleline */ 12086); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var Toolbar = function(_ToolbarBase) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(Toolbar, _ToolbarBase); function Toolbar() { return _ToolbarBase.apply(this, arguments) || this } var _proto = Toolbar.prototype; _proto._getDefaultOptions = function() { return (0, _extend.extend)(_ToolbarBase.prototype._getDefaultOptions.call(this), { menuItemTemplate: "menuItem", menuContainer: void 0, overflowMenuVisible: false, multiline: false }) }; _proto._isMultiline = function() { return this.option("multiline") }; _proto._dimensionChanged = function(dimension) { if ("height" === dimension) { return } _ToolbarBase.prototype._dimensionChanged.call(this); this._layoutStrategy._dimensionChanged() }; _proto._initMarkup = function() { _ToolbarBase.prototype._initMarkup.call(this); this._updateFocusableItemsTabIndex(); this._layoutStrategy._initMarkup() }; _proto._renderToolbar = function() { _ToolbarBase.prototype._renderToolbar.call(this); this._renderLayoutStrategy() }; _proto._itemContainer = function() { if (this._isMultiline()) { return this._$toolbarItemsContainer } return _ToolbarBase.prototype._itemContainer.call(this) }; _proto._renderLayoutStrategy = function() { this.$element().toggleClass("dx-toolbar-multiline", this._isMultiline()); this._layoutStrategy = this._isMultiline() ? new _toolbar.MultiLineStrategy(this) : new _toolbar2.SingleLineStrategy(this) }; _proto._renderSections = function() { if (this._isMultiline()) { return } return _ToolbarBase.prototype._renderSections.call(this) }; _proto._postProcessRenderItems = function() { this._layoutStrategy._hideOverflowItems(); this._layoutStrategy._updateMenuVisibility(); _ToolbarBase.prototype._postProcessRenderItems.call(this); this._layoutStrategy._renderMenuItems() }; _proto._renderItem = function(index, item, itemContainer, $after) { var itemElement = _ToolbarBase.prototype._renderItem.call(this, index, item, itemContainer, $after); this._layoutStrategy._renderItem(item, itemElement); var widget = item.widget, showText = item.showText; if ("dxButton" === widget && "inMenu" === showText) { itemElement.toggleClass("dx-toolbar-text-auto-hide") } return itemElement }; _proto._getItemsWidth = function() { return this._layoutStrategy._getItemsWidth() }; _proto._getMenuItems = function() { return this._layoutStrategy._getMenuItems() }; _proto._getToolbarItems = function() { return this._layoutStrategy._getToolbarItems() }; _proto._arrangeItems = function() { if (this.$element().is(":hidden")) { return } var elementWidth = this._layoutStrategy._arrangeItems(); if (!this._isMultiline()) { _ToolbarBase.prototype._arrangeItems.call(this, elementWidth) } }; _proto._itemOptionChanged = function(item, property, value) { this._layoutStrategy._itemOptionChanged(item, property, value); if (!this._isMenuItem(item)) { _ToolbarBase.prototype._itemOptionChanged.call(this, item, property, value) } if ("disabled" === property || "options.disabled" === property) { (0, _uiToolbar2.toggleItemFocusableElementTabIndex)(this, item) } if ("location" === property) { this.repaint() } }; _proto._updateFocusableItemsTabIndex = function() { var _this = this; this._getToolbarItems().forEach((function(item) { return (0, _uiToolbar2.toggleItemFocusableElementTabIndex)(_this, item) })) }; _proto._isMenuItem = function(itemData) { return "menu" === itemData.location || "always" === itemData.locateInMenu }; _proto._isToolbarItem = function(itemData) { return void 0 === itemData.location || "never" === itemData.locateInMenu }; _proto._optionChanged = function(_ref) { var name = _ref.name, value = _ref.value; this._layoutStrategy._optionChanged(name, value); switch (name) { case "menuContainer": case "menuItemTemplate": case "overflowMenuVisible": break; case "multiline": this._invalidate(); break; case "disabled": _ToolbarBase.prototype._optionChanged.apply(this, arguments); this._updateFocusableItemsTabIndex(); break; default: _ToolbarBase.prototype._optionChanged.apply(this, arguments) } }; _proto.updateDimensions = function() { this._dimensionChanged() }; return Toolbar }(_uiToolbar.default); (0, _component_registrator.default)("dxToolbar", Toolbar); var _default = Toolbar; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 61939: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/toolbar/ui.toolbar.utils.js ***! \****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.toggleItemFocusableElementTabIndex = function(context, item) { var _itemData$options; if (!context) { return } var $item = context._findItemElementByItem(item); if (!$item.length) { return } var itemData = context._getItemData($item); var isItemNotFocusable = !!(null !== (_itemData$options = itemData.options) && void 0 !== _itemData$options && _itemData$options.disabled || itemData.disabled || context.option("disabled")); var widget = itemData.widget; if (widget && -1 !== TOOLBAR_ITEMS.indexOf(widget)) { var $widget = $item.find(widget.toLowerCase().replace("dx", ".dx-")); if ($widget.length) { var _itemInstance$_focusT, _itemData$options2; var itemInstance = function($element) { var itemData = $element.data && $element.data(); var dxComponents = itemData && itemData.dxComponents; var widgetName = dxComponents && dxComponents[0]; return widgetName && itemData[widgetName] }($widget); if (!itemInstance) { return } var $focusTarget = null === (_itemInstance$_focusT = itemInstance._focusTarget) || void 0 === _itemInstance$_focusT ? void 0 : _itemInstance$_focusT.call(itemInstance); if ("dxDropDownButton" === widget) { $focusTarget = $focusTarget && $focusTarget.find(".".concat("dx-buttongroup")) } else { var _$focusTarget; $focusTarget = null !== (_$focusTarget = $focusTarget) && void 0 !== _$focusTarget ? _$focusTarget : (0, _renderer.default)(itemInstance.element()) } var tabIndex = null === (_itemData$options2 = itemData.options) || void 0 === _itemData$options2 ? void 0 : _itemData$options2.tabIndex; if (isItemNotFocusable) { $focusTarget.attr("tabIndex", -1) } else { $focusTarget.attr("tabIndex", null !== tabIndex && void 0 !== tabIndex ? tabIndex : 0) } } } }; var _renderer = (obj = __webpack_require__( /*! ../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var TOOLBAR_ITEMS = ["dxAutocomplete", "dxButton", "dxCheckBox", "dxDateBox", "dxMenu", "dxSelectBox", "dxTabs", "dxTextBox", "dxButtonGroup", "dxDropDownButton"] }, 94920: /*!***********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/tooltip.js ***! \***********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _tooltip = (obj = __webpack_require__( /*! ./tooltip/tooltip */ 4731), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _tooltip.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 4731: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/tooltip/tooltip.js ***! \*******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _guid = _interopRequireDefault(__webpack_require__( /*! ../../core/guid */ 73176)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _ui = _interopRequireDefault(__webpack_require__( /*! ../popover/ui.popover */ 17287)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var Tooltip = _ui.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { toolbarItems: [], showCloseButton: false, enableBodyScroll: true, showTitle: false, title: null, titleTemplate: null, onTitleRendered: null, bottomTemplate: null, preventScrollEvents: false, propagateOutsideClick: true }) }, _render: function() { this.$element().addClass("dx-tooltip"); this.$wrapper().addClass("dx-tooltip-wrapper"); this.callBase() }, _renderContent: function() { this.callBase(); this._contentId = "dx-" + new _guid.default; this.$overlayContent().attr({ id: this._contentId }); this._toggleAriaDescription(true) }, _toggleAriaDescription: function(showing) { var $target = (0, _renderer.default)(this.option("target")); var label = showing ? this._contentId : void 0; if (!(0, _type.isWindow)($target.get(0))) { this.setAria("describedby", label, $target) } } }); (0, _component_registrator.default)("dxTooltip", Tooltip); var _default = Tooltip; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 63898: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/tooltip/ui.tooltip.js ***! \**********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.hide = function() { if (!tooltip) { return (new _deferred.Deferred).resolve() } return tooltip.hide().done(removeTooltip).promise() }; exports.show = function(options) { removeTooltip(); ! function(options) { options = (0, _extend.extend)({ position: "top" }, options); var content = options.content; delete options.content; var $tooltip = (0, _renderer.default)("<div>").html(content).appendTo((0, _view_port.value)()); removeTooltipElement = function() { $tooltip.remove() }; tooltip = new _tooltip.default($tooltip, options) }(options); return tooltip.show() }; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _tooltip = _interopRequireDefault(__webpack_require__( /*! ./tooltip */ 4731)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _view_port = __webpack_require__( /*! ../../core/utils/view_port */ 77695); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var tooltip = null; var removeTooltipElement = null; var removeTooltip = function() { if (!tooltip) { return } removeTooltipElement(); tooltip = null } }, 39661: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/track_bar.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _editor = _interopRequireDefault(__webpack_require__( /*! ./editor/editor */ 96452)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _fx = _interopRequireDefault(__webpack_require__( /*! ../animation/fx */ 87209)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var TrackBar = _editor.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { min: 0, max: 100, value: 0 }) }, _initMarkup: function() { this.$element().addClass("dx-trackbar"); this._renderWrapper(); this._renderContainer(); this._renderRange(); this._renderValue(); this._setRangeStyles(); this.callBase() }, _render: function() { this.callBase(); this._setRangeStyles(this._rangeStylesConfig()) }, _renderWrapper: function() { this._$wrapper = (0, _renderer.default)("<div>").addClass("dx-trackbar-wrapper").appendTo(this.$element()) }, _renderContainer: function() { this._$bar = (0, _renderer.default)("<div>").addClass("dx-trackbar-container").appendTo(this._$wrapper) }, _renderRange: function() { this._$range = (0, _renderer.default)("<div>").addClass("dx-trackbar-range").appendTo(this._$bar) }, _renderValue: function() { var val = this.option("value"); var min = this.option("min"); var max = this.option("max"); if (min > max) { return } if (val < min) { this.option("value", min); this._currentRatio = 0; return } if (val > max) { this.option("value", max); this._currentRatio = 1; return } var ratio = min === max ? 0 : (val - min) / (max - min); !this._needPreventAnimation && this._setRangeStyles({ width: 100 * ratio + "%" }); this.setAria({ valuemin: this.option("min"), valuemax: max, valuenow: val }); this._currentRatio = ratio }, _rangeStylesConfig: function() { return { width: 100 * this._currentRatio + "%" } }, _setRangeStyles: function(options) { _fx.default.stop(this._$range); if (!options) { this._$range.css({ width: 0 }); return } if (this._needPreventAnimation || !(0, _window.hasWindow)()) { return } _fx.default.animate(this._$range, { type: "custom", duration: 100, to: options }) }, _optionChanged: function(args) { switch (args.name) { case "value": this._renderValue(); this.callBase(args); break; case "max": case "min": this._renderValue(); break; default: this.callBase(args) } }, _dispose: function() { _fx.default.stop(this._$range); this.callBase() } }); (0, _component_registrator.default)("dxTrackBar", TrackBar); var _default = TrackBar; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 82655: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/tree_list.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _m_widget = (obj = __webpack_require__( /*! ../__internal/grids/tree_list/m_widget */ 1977), obj && obj.__esModule ? obj : { default: obj }); var obj; __webpack_require__( /*! ./tree_list/ui.tree_list.base */ 65132); var _default = _m_widget.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 65132: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/tree_list/ui.tree_list.base.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _m_widget_base = (obj = __webpack_require__( /*! ../../__internal/grids/tree_list/m_widget_base */ 14126), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _m_widget_base.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 30254: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/tree_view.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _uiTree_view = (obj = __webpack_require__( /*! ./tree_view/ui.tree_view.search */ 76986), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _uiTree_view.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 60903: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/tree_view/ui.tree_view.base.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _click = __webpack_require__( /*! ../../events/click */ 95429); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _element = __webpack_require__( /*! ../../core/element */ 6415); var _check_box = _interopRequireDefault(__webpack_require__( /*! ../check_box */ 18859)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../hierarchical_collection/ui.hierarchical_collection_widget */ 65810)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _double_click = __webpack_require__( /*! ../../events/double_click */ 85272); var _fx = _interopRequireDefault(__webpack_require__( /*! ../../animation/fx */ 87209)); var _ui2 = _interopRequireDefault(__webpack_require__( /*! ../scroll_view/ui.scrollable */ 41183)); var _load_indicator = _interopRequireDefault(__webpack_require__( /*! ../load_indicator */ 2492)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _support = __webpack_require__( /*! ../../core/utils/support */ 60137); var _get_relative_offset = __webpack_require__( /*! ../../renovation/ui/scroll_view/utils/get_relative_offset */ 1515); var _consts = __webpack_require__( /*! ../../renovation/ui/scroll_view/common/consts */ 23842); var _icon = __webpack_require__( /*! ../../core/utils/icon */ 44899); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var NODE_CLASS = "".concat("dx-treeview", "-node"); var NODE_CONTAINER_CLASS = "".concat(NODE_CLASS, "-container"); var NODE_LOAD_INDICATOR_CLASS = "".concat(NODE_CLASS, "-loadindicator"); var OPENED_NODE_CONTAINER_CLASS = "".concat(NODE_CLASS, "-container-opened"); var IS_LEAF = "".concat(NODE_CLASS, "-is-leaf"); var ITEM_CLASS = "".concat("dx-treeview", "-item"); var ITEM_WITH_CHECKBOX_CLASS = "".concat(ITEM_CLASS, "-with-checkbox"); var ITEM_WITH_CUSTOM_EXPANDER_ICON_CLASS = "".concat(ITEM_CLASS, "-with-custom-expander-icon"); var CUSTOM_EXPANDER_ICON_ITEM_CONTAINER_CLASS = "".concat("dx-treeview", "-custom-expander-icon-item-container"); var ITEM_WITHOUT_CHECKBOX_CLASS = "".concat(ITEM_CLASS, "-without-checkbox"); var ITEM_DATA_KEY = "".concat(ITEM_CLASS, "-data"); var TOGGLE_ITEM_VISIBILITY_CLASS = "".concat("dx-treeview", "-toggle-item-visibility"); var CUSTOM_COLLAPSE_ICON_CLASS = "".concat("dx-treeview", "-custom-collapse-icon"); var CUSTOM_EXPAND_ICON_CLASS = "".concat("dx-treeview", "-custom-expand-icon"); var LOAD_INDICATOR_CLASS = "".concat("dx-treeview", "-loadindicator"); var LOAD_INDICATOR_WRAPPER_CLASS = "".concat("dx-treeview", "-loadindicator-wrapper"); var TOGGLE_ITEM_VISIBILITY_OPENED_CLASS = "".concat("dx-treeview", "-toggle-item-visibility-opened"); var SELECT_ALL_ITEM_CLASS = "".concat("dx-treeview", "-select-all-item"); var TreeViewBase = _ui.default.inherit({ _supportedKeys: function(e) { var _this = this; var click = function(e) { var $itemElement = (0, _renderer.default)(_this.option("focusedElement")); if (!$itemElement.length) { return } e.target = $itemElement; e.currentTarget = $itemElement; _this._itemClickHandler(e, $itemElement.children("." + ITEM_CLASS)); var expandEventName = _this._getEventNameByOption(_this.option("expandEvent")); var expandByClick = expandEventName === (0, _index.addNamespace)(_click.name, "dxTreeView_expand"); if (expandByClick) { _this._expandEventHandler(e) } }; var select = function(e) { e.preventDefault(); var $focusedElement = (0, _renderer.default)(_this.option("focusedElement")); var checkboxInstance = _this._getCheckBoxInstance($focusedElement); if (!checkboxInstance.option("disabled")) { var currentState = checkboxInstance.option("value"); _this._updateItemSelection(!currentState, $focusedElement.find("." + ITEM_CLASS).get(0), true) } }; var toggleExpandedNestedItems = function(state, e) { if (!this.option("expandAllEnabled")) { return } e.preventDefault(); var $rootElement = (0, _renderer.default)(this.option("focusedElement")); if (!$rootElement.length) { return } var rootItem = this._getItemData($rootElement.find(".".concat(ITEM_CLASS))); this._toggleExpandedNestedItems([rootItem], state) }; return (0, _extend.extend)(this.callBase(), { enter: this._showCheckboxes() ? select : click, space: this._showCheckboxes() ? select : click, asterisk: toggleExpandedNestedItems.bind(this, true), minus: toggleExpandedNestedItems.bind(this, false) }) }, _toggleExpandedNestedItems: function(items, state) { if (!items) { return } for (var i = 0, len = items.length; i < len; i++) { var item = items[i]; var node = this._dataAdapter.getNodeByItem(item); this._toggleExpandedState(node, state); this._toggleExpandedNestedItems(item.items, state) } }, _getNodeElement: function(node, cache) { var key = this._encodeString(node.internalFields.key); if (cache) { if (!cache.$nodeByKey) { cache.$nodeByKey = {}; this.$element().find(".".concat(NODE_CLASS)).each((function() { var $node = (0, _renderer.default)(this); var key = $node.attr("data-item-id"); cache.$nodeByKey[key] = $node })) } return cache.$nodeByKey[key] || (0, _renderer.default)() } var element = this.$element().get(0).querySelector("[".concat("data-item-id", '="').concat(key, '"]')); return (0, _renderer.default)(element) }, _activeStateUnit: "." + ITEM_CLASS, _widgetClass: function() { return "dx-treeview" }, _getDefaultOptions: function() { var defaultOptions = (0, _extend.extend)(this.callBase(), { animationEnabled: true, dataStructure: "tree", deferRendering: true, expandAllEnabled: false, hasItemsExpr: "hasItems", selectNodesRecursive: true, expandNodesRecursive: true, showCheckBoxesMode: "none", expandIcon: null, collapseIcon: null, selectAllText: _message.default.format("dxList-selectAll"), onItemSelectionChanged: null, onItemExpanded: null, onItemCollapsed: null, scrollDirection: "vertical", useNativeScrolling: true, virtualModeEnabled: false, rootValue: 0, focusStateEnabled: false, selectionMode: "multiple", expandEvent: "dblclick", selectByClick: false, createChildren: null, onSelectAllValueChanged: null }); return (0, _extend.extend)(true, defaultOptions, { integrationOptions: { useDeferUpdateForTemplates: false } }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { return !_support.nativeScrolling }, options: { useNativeScrolling: false } }]) }, _initSelectedItems: _common.noop, _syncSelectionOptions: _common.asyncNoop, _fireSelectionChanged: function() { var selectionChangePromise = this._selectionChangePromise; (0, _deferred.when)(selectionChangePromise).done(function() { this._createActionByOption("onSelectionChanged", { excludeValidators: ["disabled", "readOnly"] })() }.bind(this)) }, _createSelectAllValueChangedAction: function() { this._selectAllValueChangedAction = this._createActionByOption("onSelectAllValueChanged", { excludeValidators: ["disabled", "readOnly"] }) }, _fireSelectAllValueChanged: function(value) { this._selectAllValueChangedAction({ value: value }) }, _checkBoxModeChange: function(value, previousValue) { if ("none" === previousValue || "none" === value) { return } var selectAllExists = this._$selectAllItem && this._$selectAllItem.length; switch (value) { case "selectAll": if (!selectAllExists) { this._createSelectAllValueChangedAction(); this._renderSelectAllItem() } break; case "normal": if (selectAllExists) { this._$selectAllItem.remove(); delete this._$selectAllItem } } }, _removeSelection: function() { var that = this; (0, _iterator.each)(this._dataAdapter.getFullData(), (function(_, node) { if (!that._hasChildren(node)) { return } that._dataAdapter.toggleSelection(node.internalFields.key, false, true) })) }, _optionChanged: function(args) { var name = args.name, value = args.value, previousValue = args.previousValue; switch (name) { case "selectAllText": if (this._$selectAllItem) { this._$selectAllItem.dxCheckBox("instance").option("text", value) } break; case "showCheckBoxesMode": this._checkBoxModeChange(value, previousValue); this._invalidate(); break; case "scrollDirection": this.getScrollable().option("direction", value); break; case "useNativeScrolling": this.getScrollable().option("useNative", value); break; case "items": delete this._$selectAllItem; this.callBase(args); break; case "dataSource": this.callBase(args); this._initDataAdapter(); this._filter = {}; break; case "hasItemsExpr": this._initAccessors(); this.repaint(); break; case "expandEvent": this._initExpandEvent(); break; case "deferRendering": case "dataStructure": case "rootValue": case "createChildren": case "expandNodesRecursive": case "onItemSelectionChanged": case "onItemExpanded": case "onItemCollapsed": case "expandAllEnabled": case "animationEnabled": case "virtualModeEnabled": case "selectByClick": break; case "selectionMode": this._initDataAdapter(); this.callBase(args); break; case "onSelectAllValueChanged": this._createSelectAllValueChangedAction(); break; case "selectNodesRecursive": this._dataAdapter.setOption("recursiveSelection", args.value); this.repaint(); break; case "expandIcon": case "collapseIcon": this.repaint(); break; default: this.callBase(args) } }, _initDataSource: function() { if (this._useCustomChildrenLoader()) { this._loadChildrenByCustomLoader(null).done(function(newItems) { if (newItems && newItems.length) { this.option("items", newItems) } }.bind(this)) } else { this.callBase(); this._isVirtualMode() && this._initVirtualMode() } }, _initVirtualMode: function() { var filter = this._filter; if (!filter.custom) { filter.custom = this._dataSource.filter() } if (!filter.internal) { filter.internal = [this.option("parentIdExpr"), this.option("rootValue")] } }, _useCustomChildrenLoader: function() { return (0, _type.isFunction)(this.option("createChildren")) && this._isDataStructurePlain() }, _loadChildrenByCustomLoader: function(parentNode) { var invocationResult = this.option("createChildren").call(this, parentNode); if (Array.isArray(invocationResult)) { return (new _deferred.Deferred).resolve(invocationResult).promise() } if (invocationResult && (0, _type.isFunction)(invocationResult.then)) { return (0, _deferred.fromPromise)(invocationResult) } return (new _deferred.Deferred).resolve([]).promise() }, _combineFilter: function() { if (!this._filter.custom || !this._filter.custom.length) { return this._filter.internal } return [this._filter.custom, this._filter.internal] }, _dataSourceLoadErrorHandler: function() { this._renderEmptyMessage() }, _init: function() { this._filter = {}; this.callBase(); this._initStoreChangeHandlers() }, _dataSourceChangedHandler: function(newItems) { var items = this.option("items"); if (this._initialized && this._isVirtualMode() && items.length) { return } this.option("items", newItems) }, _removeTreeViewLoadIndicator: function() { if (!this._treeViewLoadIndicator) { return } this._treeViewLoadIndicator.remove(); this._treeViewLoadIndicator = null }, _createTreeViewLoadIndicator: function() { this._treeViewLoadIndicator = (0, _renderer.default)("<div>").addClass(LOAD_INDICATOR_CLASS); this._createComponent(this._treeViewLoadIndicator, _load_indicator.default, {}); return this._treeViewLoadIndicator }, _dataSourceLoadingChangedHandler: function(isLoading) { var resultFilter; if (this._isVirtualMode()) { resultFilter = this._combineFilter(); this._dataSource.filter(resultFilter) } if (isLoading && !this._dataSource.isLoaded()) { this.option("items", []); var $wrapper = (0, _renderer.default)("<div>").addClass(LOAD_INDICATOR_WRAPPER_CLASS); this._createTreeViewLoadIndicator().appendTo($wrapper); this.itemsContainer().append($wrapper); if (this._isVirtualMode() && this._dataSource.filter() !== resultFilter) { this._dataSource.filter([]) } } else { this._removeTreeViewLoadIndicator() } }, _initStoreChangeHandlers: function() { var _this2 = this; if ("plain" !== this.option("dataStructure")) { return } this._dataSource && this._dataSource.store().on("inserted", (function(newItem) { _this2.option().items = _this2.option("items").concat(newItem); _this2._dataAdapter.addItem(newItem); if (!_this2._dataAdapter.isFiltered(newItem)) { return } _this2._updateLevel(_this2._parentIdGetter(newItem)) })).on("removed", (function(removedKey) { var node = _this2._dataAdapter.getNodeByKey(removedKey); if ((0, _type.isDefined)(node)) { _this2.option("items")[_this2._dataAdapter.getIndexByKey(node.internalFields.key)] = 0; _this2._markChildrenItemsToRemove(node); _this2._removeItems(); _this2._dataAdapter.removeItem(removedKey); _this2._updateLevel(_this2._parentIdGetter(node)) } })) }, _markChildrenItemsToRemove: function(node) { var _this3 = this; var keys = node.internalFields.childrenKeys; (0, _iterator.each)(keys, (function(_, key) { _this3.option("items")[_this3._dataAdapter.getIndexByKey(key)] = 0; _this3._markChildrenItemsToRemove(_this3._dataAdapter.getNodeByKey(key)) })) }, _removeItems: function() { var _this4 = this; var items = (0, _extend.extend)(true, [], this.option("items")); var counter = 0; (0, _iterator.each)(items, (function(index, item) { if (!item) { _this4.option("items").splice(index - counter, 1); counter++ } })) }, _updateLevel: function(parentId) { var $container = this._getContainerByParentKey(parentId); this._renderItems($container, this._dataAdapter.getChildrenNodes(parentId)) }, _getOldContainer: function($itemElement) { if ($itemElement.length) { return $itemElement.children(".".concat(NODE_CONTAINER_CLASS)) } var scrollable = this.getScrollable(); if (scrollable) { return (0, _renderer.default)(scrollable.content()).children() } return (0, _renderer.default)() }, _getContainerByParentKey: function(parentId) { var node = this._dataAdapter.getNodeByKey(parentId); var $itemElement = node ? this._getNodeElement(node) : []; this._getOldContainer($itemElement).remove(); var $container = this._renderNodeContainer($itemElement); if (this._isRootLevel(parentId)) { var scrollable = this.getScrollable(); if (!scrollable) { this._renderScrollableContainer() }(0, _renderer.default)(scrollable.content()).append($container) } return $container }, _isRootLevel: function(parentId) { return parentId === this.option("rootValue") }, _getAccessors: function() { var accessors = this.callBase(); accessors.push("hasItems"); return accessors }, _getDataAdapterOptions: function() { var _this$_dataSource, _this$_dataSource$loa, _this$_dataSource$loa2; return { rootValue: this.option("rootValue"), multipleSelection: !this._isSingleSelection(), recursiveSelection: this._isRecursiveSelection(), recursiveExpansion: this.option("expandNodesRecursive"), selectionRequired: this.option("selectionRequired"), dataType: this.option("dataStructure"), sort: this._dataSource && this._dataSource.sort(), langParams: null === (_this$_dataSource = this._dataSource) || void 0 === _this$_dataSource ? void 0 : null === (_this$_dataSource$loa = _this$_dataSource.loadOptions) || void 0 === _this$_dataSource$loa ? void 0 : null === (_this$_dataSource$loa2 = _this$_dataSource$loa.call(_this$_dataSource)) || void 0 === _this$_dataSource$loa2 ? void 0 : _this$_dataSource$loa2.langParams } }, _initMarkup: function() { this._renderScrollableContainer(); this._renderEmptyMessage(this._dataAdapter.getRootNodes()); this.callBase(); this.setAria("role", "tree") }, _renderContentImpl: function() { var $nodeContainer = this._renderNodeContainer(); (0, _renderer.default)(this.getScrollable().content()).append($nodeContainer); if (!this.option("items") || !this.option("items").length) { return } this._renderItems($nodeContainer, this._dataAdapter.getRootNodes()); this._initExpandEvent(); if (this._selectAllEnabled()) { this._createSelectAllValueChangedAction(); this._renderSelectAllItem($nodeContainer) } }, _isVirtualMode: function() { return this.option("virtualModeEnabled") && this._isDataStructurePlain() && !!this.option("dataSource") }, _isDataStructurePlain: function() { return "plain" === this.option("dataStructure") }, _fireContentReadyAction: function() { var dataSource = this.getDataSource(); var skipContentReadyAction = dataSource && !dataSource.isLoaded() || this._skipContentReadyAndItemExpanded; var scrollable = this.getScrollable(); if (scrollable && (0, _window.hasWindow)()) { scrollable.update() } if (!skipContentReadyAction) { this.callBase() } if (scrollable && (0, _window.hasWindow)()) { scrollable.update() } }, _renderScrollableContainer: function() { this._scrollable = this._createComponent((0, _renderer.default)("<div>").appendTo(this.$element()), _ui2.default, { useNative: this.option("useNativeScrolling"), direction: this.option("scrollDirection"), useKeyboard: false }) }, _renderNodeContainer: function($parent) { var $container = (0, _renderer.default)("<ul>").addClass(NODE_CONTAINER_CLASS); this.setAria("role", "group", $container); if ($parent && $parent.length) { var itemData = this._getItemData($parent.children("." + ITEM_CLASS)); if (this._expandedGetter(itemData)) { $container.addClass(OPENED_NODE_CONTAINER_CLASS) } $container.appendTo($parent) } return $container }, _createDOMElement: function($nodeContainer, node) { var _node$internalFields, _node$internalFields$; var $node = (0, _renderer.default)("<li>").addClass(NODE_CLASS).attr("data-item-id", this._encodeString(node.internalFields.key)).prependTo($nodeContainer); var attrs = { role: "treeitem", label: this._displayGetter(node.internalFields.item) || "", level: this._getLevel($nodeContainer) }; var hasChildNodes = !!(null !== node && void 0 !== node && null !== (_node$internalFields = node.internalFields) && void 0 !== _node$internalFields && null !== (_node$internalFields$ = _node$internalFields.childrenKeys) && void 0 !== _node$internalFields$ && _node$internalFields$.length); if (hasChildNodes) { attrs.expanded = node.internalFields.expanded || false } this.setAria(attrs, $node); return $node }, _getLevel: function($nodeContainer) { var parent = $nodeContainer.parent(); return parent.hasClass("dx-scrollable-content") ? 1 : parseInt(parent.attr("aria-level")) + 1 }, _showCheckboxes: function() { return "none" !== this.option("showCheckBoxesMode") }, _hasCustomExpanderIcons: function() { return this.option("expandIcon") || this.option("collapseIcon") }, _selectAllEnabled: function() { return "selectAll" === this.option("showCheckBoxesMode") && !this._isSingleSelection() }, _renderItems: function($nodeContainer, nodes) { var length = nodes.length - 1; for (var i = length; i >= 0; i--) { this._renderItem(i, nodes[i], $nodeContainer) } this._renderedItemsCount += nodes.length }, _renderItem: function(nodeIndex, node, $nodeContainer) { var $node = this._createDOMElement($nodeContainer, node); var nodeData = node.internalFields; var showCheckBox = this._showCheckboxes(); $node.addClass(showCheckBox ? ITEM_WITH_CHECKBOX_CLASS : ITEM_WITHOUT_CHECKBOX_CLASS); $node.toggleClass("dx-state-invisible", false === nodeData.item.visible); if (this._hasCustomExpanderIcons()) { $node.addClass(ITEM_WITH_CUSTOM_EXPANDER_ICON_CLASS); $nodeContainer.addClass(CUSTOM_EXPANDER_ICON_ITEM_CONTAINER_CLASS) } showCheckBox && this._renderCheckBox($node, node); this.setAria("selected", nodeData.selected, $node); this._toggleSelectedClass($node, nodeData.selected); if (nodeData.disabled) { this.setAria("disabled", nodeData.disabled, $node) } this.callBase(this._renderedItemsCount + nodeIndex, nodeData.item, $node); if (false !== nodeData.item.visible) { this._renderChildren($node, node) } }, _setAriaSelectionAttribute: _common.noop, _renderChildren: function($node, node) { var _this5 = this; if (!this._hasChildren(node)) { this._addLeafClass($node); return } if (this._hasCustomExpanderIcons()) { this._renderCustomExpanderIcons($node, node) } else { this._renderDefaultExpanderIcons($node, node) } if (this.option("deferRendering") && !node.internalFields.expanded) { return } this._loadSublevel(node).done((function(childNodes) { _this5._renderSublevel($node, _this5._getActualNode(node), childNodes) })) }, _getActualNode: function(cachedNode) { return this._dataAdapter.getNodeByKey(cachedNode.internalFields.key) }, _hasChildren: function(node) { if (this._isVirtualMode() || this._useCustomChildrenLoader()) { return false !== this._hasItemsGetter(node.internalFields.item) } return this.callBase(node) }, _loadSublevel: function(node) { var _this6 = this; var deferred = new _deferred.Deferred; var childrenNodes = this._getChildNodes(node); if (childrenNodes.length) { deferred.resolve(childrenNodes) } else { this._loadNestedItems(node).done((function(items) { deferred.resolve(_this6._dataAdapter.getNodesByItems(items)) })) } return deferred.promise() }, _renderSublevel: function($node, node, childNodes) { var $nestedNodeContainer = this._renderNodeContainer($node, node); var childNodesByChildrenKeys = childNodes.filter((function(childNode) { return -1 !== node.internalFields.childrenKeys.indexOf(childNode.internalFields.key) })); this._renderItems($nestedNodeContainer, childNodesByChildrenKeys); if (childNodesByChildrenKeys.length && !node.internalFields.selected) { var firstChild = childNodesByChildrenKeys[0]; this._updateParentsState(firstChild, this._getNodeElement(firstChild)) } this._normalizeIconState($node, childNodesByChildrenKeys.length); if (node.internalFields.expanded) { $nestedNodeContainer.addClass(OPENED_NODE_CONTAINER_CLASS) } }, _executeItemRenderAction: function(itemIndex, itemData, itemElement) { var node = this._getNode(itemElement); this._getItemRenderAction()({ itemElement: itemElement, itemIndex: itemIndex, itemData: itemData, node: this._dataAdapter.getPublicNode(node) }) }, _addLeafClass: function($node) { $node.addClass(IS_LEAF) }, _expandEventHandler: function(e) { var $nodeElement = (0, _renderer.default)(e.currentTarget.parentNode); if (!$nodeElement.hasClass(IS_LEAF)) { this._toggleExpandedState(e.currentTarget, void 0, e) } }, _initExpandEvent: function() { var expandedEventName = this._getEventNameByOption(this.option("expandEvent")); var $itemsContainer = this._itemContainer(); var itemSelector = this._itemSelector(); _events_engine.default.off($itemsContainer, ".dxTreeView_expand", itemSelector); _events_engine.default.on($itemsContainer, expandedEventName, itemSelector, this._expandEventHandler.bind(this)) }, _getEventNameByOption: function(name) { var event = "click" === name ? _click.name : _double_click.name; return (0, _index.addNamespace)(event, "dxTreeView_expand") }, _getNode: function(identifier) { if (!(0, _type.isDefined)(identifier)) { return null } if (identifier.internalFields) { return identifier } if ((0, _type.isPrimitive)(identifier)) { return this._dataAdapter.getNodeByKey(identifier) } var itemElement = (0, _renderer.default)(identifier).get(0); if (!itemElement) { return null } if (_dom_adapter.default.isElementNode(itemElement)) { return this._getNodeByElement(itemElement) } return this._dataAdapter.getNodeByItem(itemElement) }, _getNodeByElement: function(itemElement) { var $node = (0, _renderer.default)(itemElement).closest("." + NODE_CLASS); var key = this._decodeString($node.attr("data-item-id")); return this._dataAdapter.getNodeByKey(key) }, _toggleExpandedState: function(itemElement, state, e) { var node = this._getNode(itemElement); if (!node) { return (new _deferred.Deferred).reject().promise() } if (node.internalFields.disabled) { return (new _deferred.Deferred).reject().promise() } var currentState = node.internalFields.expanded; if (currentState === state) { return (new _deferred.Deferred).resolve().promise() } if (this._hasChildren(node)) { var $node = this._getNodeElement(node); if ($node.find(".".concat(NODE_LOAD_INDICATOR_CLASS, ":not(.").concat("dx-state-invisible", ")")).length) { return (new _deferred.Deferred).reject().promise() } if (!currentState && !this._nodeHasRenderedChildren($node)) { this._createLoadIndicator($node) } } if (!(0, _type.isDefined)(state)) { state = !currentState } this._dataAdapter.toggleExpansion(node.internalFields.key, state); return this._updateExpandedItemsUI(node, state, e) }, _nodeHasRenderedChildren: function($node) { var $nodeContainer = $node.children(".".concat(NODE_CONTAINER_CLASS)); return $nodeContainer.not(":empty").length }, _createLoadIndicator: function($node) { this._createComponent((0, _renderer.default)("<div>").addClass(NODE_LOAD_INDICATOR_CLASS), _load_indicator.default, {}).$element().appendTo($node); var $icon = $node.children(".".concat(TOGGLE_ITEM_VISIBILITY_CLASS, ",.").concat(CUSTOM_EXPAND_ICON_CLASS)); $icon.hide() }, _renderExpanderIcon: function($node, node, $icon, iconClass) { $icon.appendTo($node); $icon.addClass(iconClass); if (node.internalFields.disabled) { $icon.addClass("dx-state-disabled") } this._renderToggleItemVisibilityIconClick($icon, node) }, _renderDefaultExpanderIcons: function($node, node) { var $icon = (0, _renderer.default)("<div>").addClass(TOGGLE_ITEM_VISIBILITY_CLASS).appendTo($node); if (node.internalFields.expanded) { $icon.addClass(TOGGLE_ITEM_VISIBILITY_OPENED_CLASS); $node.parent().addClass(OPENED_NODE_CONTAINER_CLASS) } if (node.internalFields.disabled) { $icon.addClass("dx-state-disabled") } this._renderToggleItemVisibilityIconClick($icon, node) }, _renderCustomExpanderIcons: function($node, node) { var _this$option = this.option(), expandIcon = _this$option.expandIcon, collapseIcon = _this$option.collapseIcon; var $expandIcon = (0, _icon.getImageContainer)(null !== expandIcon && void 0 !== expandIcon ? expandIcon : collapseIcon); var $collapseIcon = (0, _icon.getImageContainer)(null !== collapseIcon && void 0 !== collapseIcon ? collapseIcon : expandIcon); this._renderExpanderIcon($node, node, $expandIcon, CUSTOM_EXPAND_ICON_CLASS); this._renderExpanderIcon($node, node, $collapseIcon, CUSTOM_COLLAPSE_ICON_CLASS); var isNodeExpanded = node.internalFields.expanded; if (isNodeExpanded) { $node.parent().addClass(OPENED_NODE_CONTAINER_CLASS) } this._toggleCustomExpanderIcons($expandIcon, $collapseIcon, isNodeExpanded) }, _renderToggleItemVisibilityIconClick: function($icon, node) { var _this7 = this; var eventName = (0, _index.addNamespace)(_click.name, this.NAME); _events_engine.default.off($icon, eventName); _events_engine.default.on($icon, eventName, (function(e) { _this7._toggleExpandedState(node.internalFields.key, void 0, e) })) }, _toggleCustomExpanderIcons: function($expandIcon, $collapseIcon, isNodeExpanded) { $collapseIcon.toggle(isNodeExpanded); $expandIcon.toggle(!isNodeExpanded) }, _updateExpandedItemsUI: function(node, state, e) { var $node = this._getNodeElement(node); var isHiddenNode = !$node.length || state && $node.is(":hidden"); if (this.option("expandNodesRecursive") && isHiddenNode) { var parentNode = this._getNode(node.internalFields.parentKey); if (parentNode) { this._updateExpandedItemsUI(parentNode, state, e) } } if (!this._hasCustomExpanderIcons()) { var $icon = $node.children(".".concat(TOGGLE_ITEM_VISIBILITY_CLASS)); $icon.toggleClass(TOGGLE_ITEM_VISIBILITY_OPENED_CLASS, state) } else if (this._nodeHasRenderedChildren($node)) { var $childExpandIcons = $node.children(".".concat(CUSTOM_EXPAND_ICON_CLASS)); var $childCollapseIcons = $node.children(".".concat(CUSTOM_COLLAPSE_ICON_CLASS)); this._toggleCustomExpanderIcons($childExpandIcons, $childCollapseIcons, state) } var $nodeContainer = $node.children(".".concat(NODE_CONTAINER_CLASS)); var nodeContainerExists = $nodeContainer.length > 0; var completionCallback = new _deferred.Deferred; if (!state || nodeContainerExists && !$nodeContainer.is(":empty")) { this._animateNodeContainer(node, state, e, completionCallback); return completionCallback.promise() } if (0 === node.internalFields.childrenKeys.length && (this._isVirtualMode() || this._useCustomChildrenLoader())) { this._loadNestedItemsWithUpdate(node, state, e, completionCallback); return completionCallback.promise() } this._renderSublevel($node, node, this._getChildNodes(node)); this._fireContentReadyAction(); this._animateNodeContainer(node, state, e, completionCallback); return completionCallback.promise() }, _loadNestedItemsWithUpdate: function(node, state, e, completionCallback) { var _this8 = this; var $node = this._getNodeElement(node); this._loadNestedItems(node).done((function(items) { var actualNodeData = _this8._getActualNode(node); _this8._renderSublevel($node, actualNodeData, _this8._dataAdapter.getNodesByItems(items)); if (!items || !items.length) { completionCallback.resolve(); return } _this8._fireContentReadyAction(); _this8._animateNodeContainer(actualNodeData, state, e, completionCallback) })) }, _loadNestedItems: function(node) { var _this9 = this; if (this._useCustomChildrenLoader()) { var publicNode = this._dataAdapter.getPublicNode(node); return this._loadChildrenByCustomLoader(publicNode).done((function(newItems) { if (!_this9._areNodesExists(newItems)) { _this9._appendItems(newItems) } })) } if (!this._isVirtualMode()) { return (new _deferred.Deferred).resolve([]).promise() } this._filter.internal = [this.option("parentIdExpr"), node.internalFields.key]; this._dataSource.filter(this._combineFilter()); return this._dataSource.load().done((function(newItems) { if (!_this9._areNodesExists(newItems)) { _this9._appendItems(newItems) } })) }, _areNodesExists: function(newItems, items) { var keyOfRootItem = this.keyOf(newItems[0]); var fullData = this._dataAdapter.getFullData(); return !!this._dataAdapter.getNodeByKey(keyOfRootItem, fullData) }, _appendItems: function(newItems) { this.option().items = this.option("items").concat(newItems); this._initDataAdapter() }, _animateNodeContainer: function(node, state, e, completionCallback) { var $node = this._getNodeElement(node); var $nodeContainer = $node.children(".".concat(NODE_CONTAINER_CLASS)); if (node && completionCallback && 0 === $nodeContainer.length) { completionCallback.resolve() } $nodeContainer.addClass(OPENED_NODE_CONTAINER_CLASS); var nodeHeight = (0, _size.getHeight)($nodeContainer); _fx.default.stop($nodeContainer, true); _fx.default.animate($nodeContainer, { type: "custom", duration: this.option("animationEnabled") ? 400 : 0, from: { maxHeight: state ? 0 : nodeHeight }, to: { maxHeight: state ? nodeHeight : 0 }, complete: function() { $nodeContainer.css("maxHeight", "none"); $nodeContainer.toggleClass(OPENED_NODE_CONTAINER_CLASS, state); this.setAria("expanded", state, $node); this.getScrollable().update(); this._fireExpandedStateUpdatedEvent(state, node, e); if (completionCallback) { completionCallback.resolve() } }.bind(this) }) }, _fireExpandedStateUpdatedEvent: function(isExpanded, node, e) { if (!this._hasChildren(node) || this._skipContentReadyAndItemExpanded) { return } var optionName = isExpanded ? "onItemExpanded" : "onItemCollapsed"; if ((0, _type.isDefined)(e)) { this._itemDXEventHandler(e, optionName, { node: this._dataAdapter.getPublicNode(node) }) } else { var target = this._getNodeElement(node); this._itemEventHandler(target, optionName, { event: e, node: this._dataAdapter.getPublicNode(node) }) } }, _normalizeIconState: function($node, hasNewItems) { var $loadIndicator = $node.find(".".concat(NODE_LOAD_INDICATOR_CLASS)); if ($loadIndicator.length) { var _LoadIndicator$getIns; null === (_LoadIndicator$getIns = _load_indicator.default.getInstance($loadIndicator)) || void 0 === _LoadIndicator$getIns ? void 0 : _LoadIndicator$getIns.option("visible", false) } var $toggleItem = $node.children(".".concat(CUSTOM_COLLAPSE_ICON_CLASS, ",.").concat(TOGGLE_ITEM_VISIBILITY_CLASS)); if (hasNewItems) { $toggleItem.show(); return } $toggleItem.removeClass(TOGGLE_ITEM_VISIBILITY_CLASS); $node.addClass(IS_LEAF) }, _emptyMessageContainer: function() { var scrollable = this.getScrollable(); return scrollable ? (0, _renderer.default)(scrollable.content()) : this.callBase() }, _renderContent: function() { var items = this.option("items"); if (items && items.length) { this._contentAlreadyRendered = true } this.callBase() }, _renderSelectAllItem: function($container) { $container = $container || this.$element().find(".".concat(NODE_CONTAINER_CLASS)).first(); this._$selectAllItem = (0, _renderer.default)("<div>").addClass(SELECT_ALL_ITEM_CLASS); var value = this._dataAdapter.isAllSelected(); this._createComponent(this._$selectAllItem, _check_box.default, { value: value, elementAttr: { "aria-label": "Select All" }, text: this.option("selectAllText"), onValueChanged: this._onSelectAllCheckboxValueChanged.bind(this) }); this._toggleSelectedClass(this._$selectAllItem, value); $container.before(this._$selectAllItem) }, _onSelectAllCheckboxValueChanged: function(args) { this._toggleSelectAll(args); this._fireSelectAllValueChanged(args.value) }, _toggleSelectAll: function(args) { this._dataAdapter.toggleSelectAll(args.value); this._updateItemsUI(); this._fireSelectionChanged() }, _renderCheckBox: function($node, node) { var $checkbox = (0, _renderer.default)("<div>").appendTo($node); this._createComponent($checkbox, _check_box.default, { value: node.internalFields.selected, onValueChanged: this._changeCheckboxValue.bind(this), focusStateEnabled: false, elementAttr: { "aria-label": "Check State" }, disabled: this._disabledGetter(node) }) }, _toggleSelectedClass: function($node, value) { $node.toggleClass("dx-state-selected", !!value) }, _toggleNodeDisabledState: function(node, state) { var $node = this._getNodeElement(node); var $item = $node.find("." + ITEM_CLASS).eq(0); this._dataAdapter.toggleNodeDisabledState(node.internalFields.key, state); $item.toggleClass("dx-state-disabled", !!state); if (this._showCheckboxes()) { var checkbox = this._getCheckBoxInstance($node); checkbox.option("disabled", !!state) } }, _itemOptionChanged: function(item, property, value) { var node = this._dataAdapter.getNodeByItem(item); if (property === this.option("disabledExpr")) { this._toggleNodeDisabledState(node, value) } }, _changeCheckboxValue: function(e) { var $node = (0, _renderer.default)(e.element).parent("." + NODE_CLASS); var $item = $node.children("." + ITEM_CLASS); var item = this._getItemData($item); var node = this._getNodeByElement($item); var value = e.value; if (node && node.internalFields.selected === value) { return } this._updateItemSelection(value, item, e.event) }, _isSingleSelection: function() { return "single" === this.option("selectionMode") }, _isRecursiveSelection: function() { return this.option("selectNodesRecursive") && "single" !== this.option("selectionMode") }, _isLastSelectedBranch: function(publicNode, selectedNodesKeys, deep) { var keyIndex = selectedNodesKeys.indexOf(publicNode.key); if (keyIndex >= 0) { selectedNodesKeys.splice(keyIndex, 1) } if (deep) { (0, _iterator.each)(publicNode.children, function(_, childNode) { this._isLastSelectedBranch(childNode, selectedNodesKeys, true) }.bind(this)) } if (publicNode.parent) { this._isLastSelectedBranch(publicNode.parent, selectedNodesKeys) } return 0 === selectedNodesKeys.length }, _isLastRequired: function(node) { var selectionRequired = this.option("selectionRequired"); var isSingleMode = this._isSingleSelection(); var selectedNodesKeys = this.getSelectedNodeKeys(); if (!selectionRequired) { return } if (isSingleMode) { return 1 === selectedNodesKeys.length } else { return this._isLastSelectedBranch(node.internalFields.publicNode, selectedNodesKeys.slice(), true) } }, _updateItemSelection: function(value, itemElement, dxEvent) { var _this10 = this; var node = this._getNode(itemElement); if (!node || false === node.visible) { return false } if (node.internalFields.selected === value) { return true } if (!value && this._isLastRequired(node)) { if (this._showCheckboxes()) { var $node = this._getNodeElement(node); this._getCheckBoxInstance($node).option("value", true) } return false } if (value && this._isSingleSelection()) { var selectedKeys = this.getSelectedNodeKeys(); (0, _iterator.each)(selectedKeys, (function(index, key) { _this10._dataAdapter.toggleSelection(key, false); _this10._updateItemsUI(); _this10._fireItemSelectionChanged(_this10._getNode(key)) })) } this._dataAdapter.toggleSelection(node.internalFields.key, value); var isAllSelected = this._dataAdapter.isAllSelected(); var needFireSelectAllChanged = this._selectAllEnabled() && this._$selectAllItem.dxCheckBox("instance").option("value") !== isAllSelected; this._updateItemsUI(); this._fireItemSelectionChanged(node, dxEvent); this._fireSelectionChanged(); if (needFireSelectAllChanged) { this._fireSelectAllValueChanged(isAllSelected) } return true }, _fireItemSelectionChanged: function(node, dxEvent) { var initiator = dxEvent || this._findItemElementByItem(node.internalFields.item); var handler = dxEvent ? this._itemDXEventHandler : this._itemEventHandler; handler.call(this, initiator, "onItemSelectionChanged", { node: this._dataAdapter.getPublicNode(node), itemData: node.internalFields.item }) }, _getCheckBoxInstance: function($node) { return $node.children(".dx-checkbox").dxCheckBox("instance") }, _updateItemsUI: function() { var _this11 = this; var cache = {}; (0, _iterator.each)(this._dataAdapter.getData(), (function(_, node) { var $node = _this11._getNodeElement(node, cache); var nodeSelection = node.internalFields.selected; if (!$node.length) { return } _this11._toggleSelectedClass($node, nodeSelection); _this11.setAria("selected", nodeSelection, $node); if (_this11._showCheckboxes()) { _this11._getCheckBoxInstance($node).option("value", nodeSelection) } })); if (this._selectAllEnabled()) { var selectAllCheckbox = this._$selectAllItem.dxCheckBox("instance"); selectAllCheckbox.option("onValueChanged", void 0); selectAllCheckbox.option("value", this._dataAdapter.isAllSelected()); selectAllCheckbox.option("onValueChanged", this._onSelectAllCheckboxValueChanged.bind(this)) } }, _updateParentsState: function(node, $node) { if (!$node) { return } var parentNode = this._dataAdapter.getNodeByKey(node.internalFields.parentKey); var $parentNode = (0, _renderer.default)($node.parents("." + NODE_CLASS)[0]); if (this._showCheckboxes()) { var parentValue = parentNode.internalFields.selected; this._getCheckBoxInstance($parentNode).option("value", parentValue); this._toggleSelectedClass($parentNode, parentValue) } if (parentNode.internalFields.parentKey !== this.option("rootValue")) { this._updateParentsState(parentNode, $parentNode) } }, _itemEventHandlerImpl: function(initiator, action, actionArgs) { var $itemElement = (0, _renderer.default)(initiator).closest("." + NODE_CLASS).children("." + ITEM_CLASS); return action((0, _extend.extend)(this._extendActionArgs($itemElement), actionArgs)) }, _itemContextMenuHandler: function(e) { this._createEventHandler("onItemContextMenu", e) }, _itemHoldHandler: function(e) { this._createEventHandler("onItemHold", e) }, _createEventHandler: function(eventName, e) { var node = this._getNodeByElement(e.currentTarget); this._itemDXEventHandler(e, eventName, { node: this._dataAdapter.getPublicNode(node) }) }, _itemClass: function() { return ITEM_CLASS }, _itemDataKey: function() { return ITEM_DATA_KEY }, _attachClickEvent: function() { var clickSelector = "." + this._itemClass(); var pointerDownSelector = "." + NODE_CLASS + ", ." + SELECT_ALL_ITEM_CLASS; var eventName = (0, _index.addNamespace)(_click.name, this.NAME); var pointerDownEvent = (0, _index.addNamespace)(_pointer.default.down, this.NAME); var $itemContainer = this._itemContainer(); var that = this; _events_engine.default.off($itemContainer, eventName, clickSelector); _events_engine.default.off($itemContainer, pointerDownEvent, pointerDownSelector); _events_engine.default.on($itemContainer, eventName, clickSelector, (function(e) { that._itemClickHandler(e, (0, _renderer.default)(this)) })); _events_engine.default.on($itemContainer, pointerDownEvent, pointerDownSelector, (function(e) { that._itemPointerDownHandler(e) })) }, _itemClickHandler: function(e, $item) { var itemData = this._getItemData($item); var node = this._getNodeByElement($item); this._itemDXEventHandler(e, "onItemClick", { node: this._dataAdapter.getPublicNode(node) }); if (this.option("selectByClick") && !e.isDefaultPrevented()) { this._updateItemSelection(!node.internalFields.selected, itemData, e) } }, _updateSelectionToFirstItem: function($items, startIndex) { var itemIndex = startIndex; while (itemIndex >= 0) { var $item = (0, _renderer.default)($items[itemIndex]); this._updateItemSelection(true, $item.find("." + ITEM_CLASS).get(0)); itemIndex-- } }, _updateSelectionToLastItem: function($items, startIndex) { var length = $items.length; var itemIndex = startIndex; while (itemIndex < length) { var $item = (0, _renderer.default)($items[itemIndex]); this._updateItemSelection(true, $item.find("." + ITEM_CLASS).get(0)); itemIndex++ } }, focus: function() { if (this._selectAllEnabled()) { _events_engine.default.trigger(this._$selectAllItem, "focus"); return } this.callBase() }, _focusInHandler: function(e) { var _this12 = this; this._updateFocusState(e, true); var isSelectAllItem = (0, _renderer.default)(e.target).hasClass(SELECT_ALL_ITEM_CLASS); if (isSelectAllItem || this.option("focusedElement")) { clearTimeout(this._setFocusedItemTimeout); var element = isSelectAllItem ? (0, _element.getPublicElement)(this._$selectAllItem) : (0, _renderer.default)(this.option("focusedElement")); this._setFocusedItemTimeout = setTimeout((function() { _this12._setFocusedItem(element) })); return } var $activeItem = this._getActiveItem(); this.option("focusedElement", (0, _element.getPublicElement)($activeItem.closest("." + NODE_CLASS))) }, _itemPointerDownHandler: function(e) { if (!this.option("focusStateEnabled")) { return } var $target = (0, _renderer.default)(e.target).closest("." + NODE_CLASS + ", ." + SELECT_ALL_ITEM_CLASS); if (!$target.length) { return } var itemElement = $target.hasClass("dx-state-disabled") ? null : $target; this.option("focusedElement", (0, _element.getPublicElement)(itemElement)) }, _findNonDisabledNodes: function($nodes) { return $nodes.not((function() { return (0, _renderer.default)(this).children("." + ITEM_CLASS).hasClass("dx-state-disabled") })) }, _moveFocus: function(location, e) { var FOCUS_UP = "up"; var FOCUS_DOWN = "down"; var FOCUS_FIRST = "first"; var FOCUS_LAST = "last"; var FOCUS_LEFT = this.option("rtlEnabled") ? "right" : "left"; var FOCUS_RIGHT = this.option("rtlEnabled") ? "left" : "right"; this.$element().find(".".concat(NODE_CONTAINER_CLASS)).each((function() { _fx.default.stop(this, true) })); var $items = this._nodeElements(); if (!$items || !$items.length) { return } switch (location) { case FOCUS_UP: var $prevItem = this._prevItem($items); this.option("focusedElement", (0, _element.getPublicElement)($prevItem)); var prevItemElement = this._getNodeItemElement($prevItem); this.getScrollable().scrollToElement(prevItemElement); if (e.shiftKey && this._showCheckboxes()) { this._updateItemSelection(true, prevItemElement) } break; case FOCUS_DOWN: var $nextItem = this._nextItem($items); this.option("focusedElement", (0, _element.getPublicElement)($nextItem)); var nextItemElement = this._getNodeItemElement($nextItem); this.getScrollable().scrollToElement(nextItemElement); if (e.shiftKey && this._showCheckboxes()) { this._updateItemSelection(true, nextItemElement) } break; case FOCUS_FIRST: var $firstItem = $items.first(); if (e.shiftKey && this._showCheckboxes()) { this._updateSelectionToFirstItem($items, $items.index(this._prevItem($items))) } this.option("focusedElement", (0, _element.getPublicElement)($firstItem)); this.getScrollable().scrollToElement(this._getNodeItemElement($firstItem)); break; case FOCUS_LAST: var $lastItem = $items.last(); if (e.shiftKey && this._showCheckboxes()) { this._updateSelectionToLastItem($items, $items.index(this._nextItem($items))) } this.option("focusedElement", (0, _element.getPublicElement)($lastItem)); this.getScrollable().scrollToElement(this._getNodeItemElement($lastItem)); break; case FOCUS_RIGHT: this._expandFocusedContainer(); break; case FOCUS_LEFT: this._collapseFocusedContainer(); break; default: this.callBase.apply(this, arguments); return } }, _getNodeItemElement: function($node) { return $node.find("." + ITEM_CLASS).get(0) }, _nodeElements: function() { return this.$element().find("." + NODE_CLASS).not(":hidden") }, _expandFocusedContainer: function() { var $focusedNode = (0, _renderer.default)(this.option("focusedElement")); if (!$focusedNode.length || $focusedNode.hasClass(IS_LEAF)) { return } var $node = $focusedNode.find(".".concat(NODE_CONTAINER_CLASS)).eq(0); if ($node.hasClass(OPENED_NODE_CONTAINER_CLASS)) { var $nextItem = this._nextItem(this._findNonDisabledNodes(this._nodeElements())); this.option("focusedElement", (0, _element.getPublicElement)($nextItem)); this.getScrollable().scrollToElement(this._getNodeItemElement($nextItem)); return } var node = this._getNodeByElement($focusedNode.children("." + ITEM_CLASS)); this._toggleExpandedState(node, true) }, _getClosestNonDisabledNode: function($node) { do { $node = $node.parent().closest("." + NODE_CLASS) } while ($node.children(".dx-treeview-item.dx-state-disabled").length); return $node }, _collapseFocusedContainer: function() { var $focusedNode = (0, _renderer.default)(this.option("focusedElement")); if (!$focusedNode.length) { return } var nodeElement = $focusedNode.find(".".concat(NODE_CONTAINER_CLASS)).eq(0); if (!$focusedNode.hasClass(IS_LEAF) && nodeElement.hasClass(OPENED_NODE_CONTAINER_CLASS)) { var node = this._getNodeByElement($focusedNode.children("." + ITEM_CLASS)); this._toggleExpandedState(node, false) } else { var collapsedNode = this._getClosestNonDisabledNode($focusedNode); collapsedNode.length && this.option("focusedElement", (0, _element.getPublicElement)(collapsedNode)); this.getScrollable().scrollToElement(this._getNodeItemElement(collapsedNode)) } }, _encodeString: function(value) { return (0, _type.isString)(value) ? encodeURI(value) : value }, _decodeString: function(value) { return (0, _type.isString)(value) ? decodeURI(value) : value }, getScrollable: function() { return this._scrollable }, updateDimensions: function() { var _this13 = this; var deferred = new _deferred.Deferred; var scrollable = this.getScrollable(); if (scrollable) { scrollable.update().done((function() { deferred.resolveWith(_this13) })) } else { deferred.resolveWith(this) } return deferred.promise() }, selectItem: function(itemElement) { return this._updateItemSelection(true, itemElement) }, unselectItem: function(itemElement) { return this._updateItemSelection(false, itemElement) }, expandItem: function(itemElement) { return this._toggleExpandedState(itemElement, true) }, collapseItem: function(itemElement) { return this._toggleExpandedState(itemElement, false) }, getNodes: function() { return this._dataAdapter.getTreeNodes() }, getSelectedNodes: function() { var _this14 = this; return this.getSelectedNodeKeys().map((function(key) { var node = _this14._dataAdapter.getNodeByKey(key); return _this14._dataAdapter.getPublicNode(node) })) }, getSelectedNodeKeys: function() { return this._dataAdapter.getSelectedNodesKeys() }, selectAll: function() { if (this._selectAllEnabled()) { this._$selectAllItem.dxCheckBox("instance").option("value", true) } else { this._toggleSelectAll({ value: true }) } }, unselectAll: function() { if (this._selectAllEnabled()) { this._$selectAllItem.dxCheckBox("instance").option("value", false) } else { this._toggleSelectAll({ value: false }) } }, _allItemsExpandedHandler: function() { this._skipContentReadyAndItemExpanded = false; this._fireContentReadyAction() }, expandAll: function() { var _this15 = this; var nodes = this._dataAdapter.getData(); var expandingPromises = []; this._skipContentReadyAndItemExpanded = true; nodes.forEach((function(node) { return expandingPromises.push(_this15._toggleExpandedState(node.internalFields.key, true)) })); Promise.allSettled(expandingPromises).then((function() { var _this15$_allItemsExpa; return null === (_this15$_allItemsExpa = _this15._allItemsExpanded) || void 0 === _this15$_allItemsExpa ? void 0 : _this15$_allItemsExpa.call(_this15) })) }, collapseAll: function() { (0, _iterator.each)(this._dataAdapter.getExpandedNodesKeys(), function(_, key) { this._toggleExpandedState(key, false) }.bind(this)) }, scrollToItem: function(keyOrItemOrElement) { var _this16 = this; var node = this._getNode(keyOrItemOrElement); if (!node) { return (new _deferred.Deferred).reject().promise() } var nodeKeysToExpand = []; var parentNode = node.internalFields.publicNode.parent; while (null != parentNode) { if (!parentNode.expanded) { nodeKeysToExpand.push(parentNode.key) } parentNode = parentNode.parent } var scrollCallback = new _deferred.Deferred; this._expandNodes(nodeKeysToExpand.reverse()).always((function() { var $element = _this16._getNodeElement(node); if ($element && $element.length) { _this16.scrollToElementTopLeft($element.get(0)); scrollCallback.resolve() } else { scrollCallback.reject() } })); return scrollCallback.promise() }, scrollToElementTopLeft: function(targetElement) { var scrollable = this.getScrollable(); var _this$option2 = this.option(), scrollDirection = _this$option2.scrollDirection, rtlEnabled = _this$option2.rtlEnabled; var targetLocation = { top: 0, left: 0 }; var relativeOffset = (0, _get_relative_offset.getRelativeOffset)(_consts.SCROLLABLE_CONTENT_CLASS, targetElement); if (scrollDirection !== _consts.DIRECTION_VERTICAL) { var containerElement = (0, _renderer.default)(scrollable.container()).get(0); targetLocation.left = rtlEnabled ? relativeOffset.left + targetElement.offsetWidth - containerElement.clientWidth : relativeOffset.left } if (scrollDirection !== _consts.DIRECTION_HORIZONTAL) { targetLocation.top = relativeOffset.top } scrollable.scrollTo(targetLocation) }, _expandNodes: function(keysToExpand) { var _this17 = this; if (!keysToExpand || 0 === keysToExpand.length) { return (new _deferred.Deferred).resolve().promise() } var resultCallback = new _deferred.Deferred; var callbacksByNodes = keysToExpand.map((function(key) { return _this17.expandItem(key) })); _deferred.when.apply(_renderer.default, callbacksByNodes).done((function() { return resultCallback.resolve() })).fail((function() { return resultCallback.reject() })); return resultCallback.promise() }, _dispose: function() { this.callBase(); clearTimeout(this._setFocusedItemTimeout); this._allItemsExpandedHandler = null } }); var _default = TreeViewBase; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 76986: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/tree_view/ui.tree_view.search.js ***! \*********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.search_box_mixin */ 2630)); var _text_box = _interopRequireDefault(__webpack_require__( /*! ../text_box */ 29837)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _uiTree_view = _interopRequireDefault(__webpack_require__( /*! ./ui.tree_view.base */ 60903)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } _ui.default.setEditorClass(_text_box.default); var NODE_CONTAINER_CLASS = "".concat("dx-treeview", "-node-container"); var TreeViewSearch = _uiTree_view.default.inherit(_ui.default).inherit({ _addWidgetPrefix: function(className) { return "".concat("dx-treeview", "-").concat(className) }, _optionChanged: function(args) { switch (args.name) { case "searchValue": if (this._showCheckboxes() && this._isRecursiveSelection()) { this._removeSelection() } this._initDataAdapter(); this._updateSearch(); this._repaintContainer(); this.option("focusedElement", null); break; case "searchExpr": this._initDataAdapter(); this.repaint(); break; case "searchMode": this.option("expandNodesRecursive") ? this._updateDataAdapter() : this._initDataAdapter(); this.repaint(); break; default: this.callBase(args) } }, _updateDataAdapter: function() { this._setOptionWithoutOptionChange("expandNodesRecursive", false); this._initDataAdapter(); this._setOptionWithoutOptionChange("expandNodesRecursive", true) }, _getDataAdapterOptions: function() { return (0, _extend.extend)(this.callBase(), { searchValue: this.option("searchValue"), searchMode: this.option("searchMode") || "contains", searchExpr: this.option("searchExpr") }) }, _getNodeContainer: function() { return this.$element().find(".".concat(NODE_CONTAINER_CLASS)).first() }, _updateSearch: function() { if (this._searchEditor) { var editorOptions = this._getSearchEditorOptions(); this._searchEditor.option(editorOptions) } }, _repaintContainer: function() { var $container = this._getNodeContainer(); var rootNodes; if ($container.length) { $container.empty(); rootNodes = this._dataAdapter.getRootNodes(); this._renderEmptyMessage(rootNodes); this._renderItems($container, rootNodes); this._fireContentReadyAction() } }, _focusTarget: function() { return this._itemContainer(this.option("searchEnabled")) }, _cleanItemContainer: function() { this.$element().empty() }, _itemContainer: function(isSearchMode) { if (this._selectAllEnabled()) { return this._getNodeContainer() } if (this._scrollable && isSearchMode) { return (0, _renderer.default)(this._scrollable.content()) } return this.callBase() }, _addWidgetClass: function() { this.$element().addClass(this._widgetClass()) }, _clean: function() { this.callBase(); this._removeSearchBox() } }); (0, _component_registrator.default)("dxTreeView", TreeViewSearch); var _default = TreeViewSearch; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 76299: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/validation/default_adapter.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _class = (obj = __webpack_require__( /*! ../../core/class */ 38377), obj && obj.__esModule ? obj : { default: obj }); var obj; var DefaultAdapter = _class.default.inherit({ ctor: function(editor, validator) { var _this = this; this.editor = editor; this.validator = validator; this.validationRequestsCallbacks = []; var handler = function(args) { _this.validationRequestsCallbacks.forEach((function(item) { return item(args) })) }; editor.validationRequest.add(handler); editor.on("disposing", (function() { editor.validationRequest.remove(handler) })) }, getValue: function() { return this.editor.option("value") }, getCurrentValidationError: function() { return this.editor.option("validationError") }, bypass: function() { return this.editor.option("disabled") }, applyValidationResults: function(params) { this.editor.option({ validationErrors: params.brokenRules, validationStatus: params.status }) }, reset: function() { this.editor.reset() }, focus: function() { this.editor.focus() } }); var _default = DefaultAdapter; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 90964: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/validation_engine.js ***! \*********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _class = _interopRequireDefault(__webpack_require__( /*! ../core/class */ 38377)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _events_strategy = __webpack_require__( /*! ../core/events_strategy */ 80566); var _errors = _interopRequireDefault(__webpack_require__( /*! ../core/errors */ 17381)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _number = _interopRequireDefault(__webpack_require__( /*! ../localization/number */ 18016)); var _message = _interopRequireDefault(__webpack_require__( /*! ../localization/message */ 28109)); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var STATUS_valid = "valid", STATUS_invalid = "invalid", STATUS_pending = "pending"; var BaseRuleValidator = function() { function BaseRuleValidator() { this.NAME = "base" } var _proto = BaseRuleValidator.prototype; _proto.defaultMessage = function(value) { return _message.default.getFormatter("validation-".concat(this.NAME))(value) }; _proto.defaultFormattedMessage = function(value) { return _message.default.getFormatter("validation-".concat(this.NAME, "-formatted"))(value) }; _proto._isValueEmpty = function(value) { return !rulesValidators.required.validate(value, {}) }; _proto.validate = function(value, rule) { var _this = this; var valueArray = Array.isArray(value) ? value : [value]; var result = true; if (valueArray.length) { valueArray.every((function(itemValue) { result = _this._validate(itemValue, rule); return result })) } else { result = this._validate(null, rule) } return result }; return BaseRuleValidator }(); var RequiredRuleValidator = function(_BaseRuleValidator) { _inheritsLoose(RequiredRuleValidator, _BaseRuleValidator); function RequiredRuleValidator() { var _this2; _this2 = _BaseRuleValidator.call(this) || this; _this2.NAME = "required"; return _this2 } var _proto2 = RequiredRuleValidator.prototype; _proto2._validate = function(value, rule) { if (!(0, _type.isDefined)(value)) { return false } if (false === value) { return false } value = String(value); if (rule.trim || !(0, _type.isDefined)(rule.trim)) { value = value.trim() } return "" !== value }; return RequiredRuleValidator }(BaseRuleValidator); var NumericRuleValidator = function(_BaseRuleValidator2) { _inheritsLoose(NumericRuleValidator, _BaseRuleValidator2); function NumericRuleValidator() { var _this3; _this3 = _BaseRuleValidator2.call(this) || this; _this3.NAME = "numeric"; return _this3 } var _proto3 = NumericRuleValidator.prototype; _proto3._validate = function(value, rule) { if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) { return true } if (rule.useCultureSettings && (0, _type.isString)(value)) { return !isNaN(_number.default.parse(value)) } else { return (0, _type.isNumeric)(value) } }; return NumericRuleValidator }(BaseRuleValidator); var RangeRuleValidator = function(_BaseRuleValidator3) { _inheritsLoose(RangeRuleValidator, _BaseRuleValidator3); function RangeRuleValidator() { var _this4; _this4 = _BaseRuleValidator3.call(this) || this; _this4.NAME = "range"; return _this4 } var _proto4 = RangeRuleValidator.prototype; _proto4._validate = function(value, rule) { if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) { return true } var validNumber = rulesValidators.numeric.validate(value, rule); var validValue = (0, _type.isDefined)(value) && "" !== value; var number = validNumber ? parseFloat(value) : validValue && value.valueOf(); var min = rule.min; var max = rule.max; if (!(validNumber || (0, _type.isDate)(value)) && !validValue) { return false } if ((0, _type.isDefined)(min)) { if ((0, _type.isDefined)(max)) { return number >= min && number <= max } return number >= min } else if ((0, _type.isDefined)(max)) { return number <= max } else { throw _errors.default.Error("E0101") } }; return RangeRuleValidator }(BaseRuleValidator); var StringLengthRuleValidator = function(_BaseRuleValidator4) { _inheritsLoose(StringLengthRuleValidator, _BaseRuleValidator4); function StringLengthRuleValidator() { var _this5; _this5 = _BaseRuleValidator4.call(this) || this; _this5.NAME = "stringLength"; return _this5 } var _proto5 = StringLengthRuleValidator.prototype; _proto5._validate = function(value, rule) { var _value; value = String(null !== (_value = value) && void 0 !== _value ? _value : ""); if (rule.trim || !(0, _type.isDefined)(rule.trim)) { value = value.trim() } if (rule.ignoreEmptyValue && this._isValueEmpty(value)) { return true } return rulesValidators.range.validate(value.length, (0, _extend.extend)({}, rule)) }; return StringLengthRuleValidator }(BaseRuleValidator); var CustomRuleValidator = function(_BaseRuleValidator5) { _inheritsLoose(CustomRuleValidator, _BaseRuleValidator5); function CustomRuleValidator() { var _this6; _this6 = _BaseRuleValidator5.call(this) || this; _this6.NAME = "custom"; return _this6 } var _proto6 = CustomRuleValidator.prototype; _proto6.validate = function(value, rule) { if (rule.ignoreEmptyValue && this._isValueEmpty(value)) { return true } var validator = rule.validator; var dataGetter = validator && (0, _type.isFunction)(validator.option) && validator.option("dataGetter"); var extraParams = (0, _type.isFunction)(dataGetter) && dataGetter(); var params = { value: value, validator: validator, rule: rule }; if (extraParams) { (0, _extend.extend)(params, extraParams) } return rule.validationCallback(params) }; return CustomRuleValidator }(BaseRuleValidator); var AsyncRuleValidator = function(_CustomRuleValidator) { _inheritsLoose(AsyncRuleValidator, _CustomRuleValidator); function AsyncRuleValidator() { var _this7; _this7 = _CustomRuleValidator.call(this) || this; _this7.NAME = "async"; return _this7 } var _proto7 = AsyncRuleValidator.prototype; _proto7.validate = function(value, rule) { if (!(0, _type.isDefined)(rule.reevaluate)) { (0, _extend.extend)(rule, { reevaluate: true }) } if (rule.ignoreEmptyValue && this._isValueEmpty(value)) { return true } var validator = rule.validator; var dataGetter = validator && (0, _type.isFunction)(validator.option) && validator.option("dataGetter"); var extraParams = (0, _type.isFunction)(dataGetter) && dataGetter(); var params = { value: value, validator: validator, rule: rule }; if (extraParams) { (0, _extend.extend)(params, extraParams) } var callbackResult = rule.validationCallback(params); if (!(0, _type.isPromise)(callbackResult)) { throw _errors.default.Error("E0103") } return this._getWrappedPromise((0, _deferred.fromPromise)(callbackResult).promise()) }; _proto7._getWrappedPromise = function(promise) { var deferred = new _deferred.Deferred; promise.then((function(res) { deferred.resolve(res) }), (function(err) { var res = { isValid: false }; if ((0, _type.isDefined)(err)) { if ((0, _type.isString)(err)) { res.message = err } else if ((0, _type.isObject)(err) && (0, _type.isDefined)(err.message) && (0, _type.isString)(err.message)) { res.message = err.message } } deferred.resolve(res) })); return deferred.promise() }; return AsyncRuleValidator }(CustomRuleValidator); var CompareRuleValidator = function(_BaseRuleValidator6) { _inheritsLoose(CompareRuleValidator, _BaseRuleValidator6); function CompareRuleValidator() { var _this8; _this8 = _BaseRuleValidator6.call(this) || this; _this8.NAME = "compare"; return _this8 } var _proto8 = CompareRuleValidator.prototype; _proto8._validate = function(value, rule) { if (!rule.comparisonTarget) { throw _errors.default.Error("E0102") } if (rule.ignoreEmptyValue && this._isValueEmpty(value)) { return true }(0, _extend.extend)(rule, { reevaluate: true }); var otherValue = rule.comparisonTarget(); var type = rule.comparisonType || "=="; switch (type) { case "==": return value == otherValue; case "!=": return value != otherValue; case "===": return value === otherValue; case "!==": return value !== otherValue; case ">": return value > otherValue; case ">=": return value >= otherValue; case "<": return value < otherValue; case "<=": return value <= otherValue } }; return CompareRuleValidator }(BaseRuleValidator); var PatternRuleValidator = function(_BaseRuleValidator7) { _inheritsLoose(PatternRuleValidator, _BaseRuleValidator7); function PatternRuleValidator() { var _this9; _this9 = _BaseRuleValidator7.call(this) || this; _this9.NAME = "pattern"; return _this9 } var _proto9 = PatternRuleValidator.prototype; _proto9._validate = function(value, rule) { if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) { return true } var pattern = rule.pattern; if ((0, _type.isString)(pattern)) { pattern = new RegExp(pattern) } return pattern.test(value) }; return PatternRuleValidator }(BaseRuleValidator); var EmailRuleValidator = function(_BaseRuleValidator8) { _inheritsLoose(EmailRuleValidator, _BaseRuleValidator8); function EmailRuleValidator() { var _this10; _this10 = _BaseRuleValidator8.call(this) || this; _this10.NAME = "email"; return _this10 } var _proto10 = EmailRuleValidator.prototype; _proto10._validate = function(value, rule) { if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) { return true } return rulesValidators.pattern.validate(value, (0, _extend.extend)({}, rule, { pattern: /^[\d\w._-]+@[\d\w._-]+\.[\w]+$/i })) }; return EmailRuleValidator }(BaseRuleValidator); var rulesValidators = { required: new RequiredRuleValidator, numeric: new NumericRuleValidator, range: new RangeRuleValidator, stringLength: new StringLengthRuleValidator, custom: new CustomRuleValidator, async: new AsyncRuleValidator, compare: new CompareRuleValidator, pattern: new PatternRuleValidator, email: new EmailRuleValidator }; var GroupConfig = _class.default.inherit({ ctor: function(group) { this.group = group; this.validators = []; this._pendingValidators = []; this._onValidatorStatusChanged = this._onValidatorStatusChanged.bind(this); this._resetValidationInfo(); this._eventsStrategy = new _events_strategy.EventsStrategy(this) }, validate: function() { var _this11 = this; var result = { isValid: true, brokenRules: [], validators: [], status: STATUS_valid, complete: null }; this._unsubscribeFromAllChangeEvents(); this._pendingValidators = []; this._resetValidationInfo(); (0, _iterator.each)(this.validators, (function(_, validator) { var validatorResult = validator.validate(); result.isValid = result.isValid && validatorResult.isValid; if (validatorResult.brokenRules) { result.brokenRules = result.brokenRules.concat(validatorResult.brokenRules) } result.validators.push(validator); if (validatorResult.status === STATUS_pending) { _this11._addPendingValidator(validator) } _this11._subscribeToChangeEvents(validator) })); if (this._pendingValidators.length) { result.status = STATUS_pending } else { result.status = result.isValid ? STATUS_valid : STATUS_invalid; this._unsubscribeFromAllChangeEvents(); this._raiseValidatedEvent(result) } this._updateValidationInfo(result); return (0, _extend.extend)({}, this._validationInfo.result) }, _subscribeToChangeEvents: function(validator) { validator.on("validating", this._onValidatorStatusChanged); validator.on("validated", this._onValidatorStatusChanged) }, _unsubscribeFromChangeEvents: function(validator) { validator.off("validating", this._onValidatorStatusChanged); validator.off("validated", this._onValidatorStatusChanged) }, _unsubscribeFromAllChangeEvents: function() { var _this12 = this; (0, _iterator.each)(this.validators, (function(_, validator) { _this12._unsubscribeFromChangeEvents(validator) })) }, _updateValidationInfo: function(result) { this._validationInfo.result = result; if (result.status !== STATUS_pending) { return } if (!this._validationInfo.deferred) { this._validationInfo.deferred = new _deferred.Deferred; this._validationInfo.result.complete = this._validationInfo.deferred.promise() } }, _addPendingValidator: function(validator) { var foundValidator = (0, _common.grep)(this._pendingValidators, (function(val) { return val === validator }))[0]; if (!foundValidator) { this._pendingValidators.push(validator) } }, _removePendingValidator: function(validator) { var index = this._pendingValidators.indexOf(validator); if (index >= 0) { this._pendingValidators.splice(index, 1) } }, _orderBrokenRules: function(brokenRules) { var orderedRules = []; (0, _iterator.each)(this.validators, (function(_, validator) { var foundRules = (0, _common.grep)(brokenRules, (function(rule) { return rule.validator === validator })); if (foundRules.length) { orderedRules = orderedRules.concat(foundRules) } })); return orderedRules }, _updateBrokenRules: function(result) { if (!this._validationInfo.result) { return } var brokenRules = this._validationInfo.result.brokenRules; var rules = (0, _common.grep)(brokenRules, (function(rule) { return rule.validator !== result.validator })); if (result.brokenRules) { brokenRules = rules.concat(result.brokenRules) } this._validationInfo.result.brokenRules = this._orderBrokenRules(brokenRules) }, _onValidatorStatusChanged: function(result) { if (result.status === STATUS_pending) { this._addPendingValidator(result.validator); return } this._resolveIfComplete(result) }, _resolveIfComplete: function(result) { this._removePendingValidator(result.validator); this._updateBrokenRules(result); if (!this._pendingValidators.length) { this._unsubscribeFromAllChangeEvents(); if (!this._validationInfo.result) { return } this._validationInfo.result.status = 0 === this._validationInfo.result.brokenRules.length ? STATUS_valid : STATUS_invalid; this._validationInfo.result.isValid = this._validationInfo.result.status === STATUS_valid; var res = (0, _extend.extend)({}, this._validationInfo.result, { complete: null }); var deferred = this._validationInfo.deferred; this._validationInfo.deferred = null; this._raiseValidatedEvent(res); deferred && setTimeout((function() { deferred.resolve(res) })) } }, _raiseValidatedEvent: function(result) { this._eventsStrategy.fireEvent("validated", [result]) }, _resetValidationInfo: function() { this._validationInfo = { result: null, deferred: null } }, _synchronizeValidationInfo: function() { if (this._validationInfo.result) { this._validationInfo.result.validators = this.validators } }, removeRegisteredValidator: function(validator) { var index = this.validators.indexOf(validator); if (index > -1) { this.validators.splice(index, 1); this._synchronizeValidationInfo(); this._resolveIfComplete({ validator: validator }) } }, registerValidator: function(validator) { if (!this.validators.includes(validator)) { this.validators.push(validator); this._synchronizeValidationInfo() } }, reset: function() { (0, _iterator.each)(this.validators, (function(_, validator) { validator.reset() })); this._pendingValidators = []; this._resetValidationInfo() }, on: function(eventName, eventHandler) { this._eventsStrategy.on(eventName, eventHandler); return this }, off: function(eventName, eventHandler) { this._eventsStrategy.off(eventName, eventHandler); return this } }); var ValidationEngine = { groups: [], getGroupConfig: function(group) { var result = (0, _common.grep)(this.groups, (function(config) { return config.group === group })); if (result.length) { return result[0] } }, findGroup: function($element, model) { var _$element$data, _$element$data$dxComp; var hasValidationGroup = null === (_$element$data = $element.data()) || void 0 === _$element$data ? void 0 : null === (_$element$data$dxComp = _$element$data.dxComponents) || void 0 === _$element$data$dxComp ? void 0 : _$element$data$dxComp.includes("dxValidationGroup"); var validationGroup = hasValidationGroup && $element.dxValidationGroup("instance"); if (validationGroup) { return validationGroup } var $dxGroup = $element.parents(".dx-validationgroup").first(); if ($dxGroup.length) { return $dxGroup.dxValidationGroup("instance") } return model }, initGroups: function() { this.groups = []; this.addGroup() }, addGroup: function(group) { var config = this.getGroupConfig(group); if (!config) { config = new GroupConfig(group); this.groups.push(config) } return config }, removeGroup: function(group) { var config = this.getGroupConfig(group); var index = this.groups.indexOf(config); if (index > -1) { this.groups.splice(index, 1) } return config }, _setDefaultMessage: function(info) { var rule = info.rule, validator = info.validator, name = info.name; if (!(0, _type.isDefined)(rule.message)) { if (validator.defaultFormattedMessage && (0, _type.isDefined)(name)) { rule.message = validator.defaultFormattedMessage(name) } else { rule.message = validator.defaultMessage() } } }, _addBrokenRule: function(info) { var result = info.result, rule = info.rule; if (!result.brokenRule) { result.brokenRule = rule } if (!result.brokenRules) { result.brokenRules = [] } result.brokenRules.push(rule) }, validate: function(value, rules, name) { var _rules$, _this13 = this; var result = { name: name, value: value, brokenRule: null, brokenRules: null, isValid: true, validationRules: rules, pendingRules: null, status: STATUS_valid, complete: null }; var validator = null === rules || void 0 === rules ? void 0 : null === (_rules$ = rules[0]) || void 0 === _rules$ ? void 0 : _rules$.validator; var asyncRuleItems = []; (0, _iterator.each)(rules || [], (function(_, rule) { var ruleValidator = rulesValidators[rule.type]; var ruleValidationResult; if (ruleValidator) { if ((0, _type.isDefined)(rule.isValid) && rule.value === value && !rule.reevaluate) { if (!rule.isValid) { result.isValid = false; _this13._addBrokenRule({ result: result, rule: rule }); return false } return true } rule.value = value; if ("async" === rule.type) { asyncRuleItems.push({ rule: rule, ruleValidator: ruleValidator }); return true } ruleValidationResult = ruleValidator.validate(value, rule); rule.isValid = ruleValidationResult; if (!ruleValidationResult) { result.isValid = false; _this13._setDefaultMessage({ rule: rule, validator: ruleValidator, name: name }); _this13._addBrokenRule({ result: result, rule: rule }) } if (!rule.isValid) { return false } } else { throw _errors.default.Error("E0100") } })); if (result.isValid && !result.brokenRules && asyncRuleItems.length) { result = this._validateAsyncRules({ value: value, items: asyncRuleItems, result: result, name: name }) } this._synchronizeGroupValidationInfo(validator, result); result.status = result.pendingRules ? STATUS_pending : result.isValid ? STATUS_valid : STATUS_invalid; return result }, _synchronizeGroupValidationInfo: function(validator, result) { var _result$brokenRules; if (!validator) { return } var groupConfig = ValidationEngine.getGroupConfig(validator._validationGroup); groupConfig._updateBrokenRules.call(groupConfig, { validator: validator, brokenRules: null !== (_result$brokenRules = result.brokenRules) && void 0 !== _result$brokenRules ? _result$brokenRules : [] }) }, _validateAsyncRules: function(_ref) { var _this14 = this; var result = _ref.result, value = _ref.value, items = _ref.items, name = _ref.name; var asyncResults = []; (0, _iterator.each)(items, (function(_, item) { var validateResult = item.ruleValidator.validate(value, item.rule); if (!(0, _type.isPromise)(validateResult)) { _this14._updateRuleConfig({ rule: item.rule, ruleResult: _this14._getPatchedRuleResult(validateResult), validator: item.ruleValidator, name: name }) } else { if (!result.pendingRules) { result.pendingRules = [] } result.pendingRules.push(item.rule); var asyncResult = validateResult.then((function(res) { var ruleResult = _this14._getPatchedRuleResult(res); _this14._updateRuleConfig({ rule: item.rule, ruleResult: ruleResult, validator: item.ruleValidator, name: name }); return ruleResult })); asyncResults.push(asyncResult) } })); if (asyncResults.length) { result.complete = Promise.all(asyncResults).then((function(values) { return _this14._getAsyncRulesResult({ result: result, values: values }) })) } return result }, _updateRuleConfig: function(_ref2) { var rule = _ref2.rule, ruleResult = _ref2.ruleResult, validator = _ref2.validator, name = _ref2.name; rule.isValid = ruleResult.isValid; if (!ruleResult.isValid) { if ((0, _type.isDefined)(ruleResult.message) && (0, _type.isString)(ruleResult.message) && ruleResult.message.length) { rule.message = ruleResult.message } else { this._setDefaultMessage({ rule: rule, validator: validator, name: name }) } } }, _getPatchedRuleResult: function(ruleResult) { var result; if ((0, _type.isObject)(ruleResult)) { result = (0, _extend.extend)({}, ruleResult); if (!(0, _type.isDefined)(result.isValid)) { result.isValid = true } } else { result = { isValid: (0, _type.isBoolean)(ruleResult) ? ruleResult : true } } return result }, _getAsyncRulesResult: function(_ref3) { var _this15 = this; var values = _ref3.values, result = _ref3.result; (0, _iterator.each)(values, (function(index, val) { if (false === val.isValid) { result.isValid = val.isValid; var rule = result.pendingRules[index]; _this15._addBrokenRule({ result: result, rule: rule }) } })); result.pendingRules = null; result.complete = null; result.status = result.isValid ? STATUS_valid : STATUS_invalid; return result }, registerValidatorInGroup: function(group, validator) { var groupConfig = ValidationEngine.addGroup(group); groupConfig.registerValidator.call(groupConfig, validator) }, _shouldRemoveGroup: function(group, validatorsInGroup) { var isDefaultGroup = void 0 === group; var isValidationGroupInstance = group && "dxValidationGroup" === group.NAME; return !isDefaultGroup && !isValidationGroupInstance && !validatorsInGroup.length }, removeRegisteredValidator: function(group, validator) { var config = ValidationEngine.getGroupConfig(group); if (config) { config.removeRegisteredValidator.call(config, validator); var validatorsInGroup = config.validators; if (this._shouldRemoveGroup(group, validatorsInGroup)) { this.removeGroup(group) } } }, initValidationOptions: function(options) { var _this16 = this; var initedOptions = {}; if (options) { ["isValid", "validationStatus", "validationError", "validationErrors"].forEach((function(prop) { if (prop in options) { (0, _extend.extend)(initedOptions, _this16.synchronizeValidationOptions({ name: prop, value: options[prop] }, options)) } })) } return initedOptions }, synchronizeValidationOptions: function(_ref4, options) { var name = _ref4.name, value = _ref4.value; switch (name) { case "validationStatus": var isValid = value === STATUS_valid || value === STATUS_pending; return options.isValid !== isValid ? { isValid: isValid } : {}; case "isValid": var validationStatus = options.validationStatus; var newStatus = validationStatus; if (value && validationStatus === STATUS_invalid) { newStatus = STATUS_valid } else if (!value && validationStatus !== STATUS_invalid) { newStatus = STATUS_invalid } return newStatus !== validationStatus ? { validationStatus: newStatus } : {}; case "validationErrors": var validationError = !value || !value.length ? null : value[0]; return options.validationError !== validationError ? { validationError: validationError } : {}; case "validationError": var validationErrors = options.validationErrors; if (!value && validationErrors) { return { validationErrors: null } } else if (value && !validationErrors) { return { validationErrors: [value] } } else if (value && validationErrors && value !== validationErrors[0]) { validationErrors[0] = value; return { validationErrors: validationErrors.slice() } } } return {} }, validateGroup: function(group) { var groupConfig = ValidationEngine.getGroupConfig(group); if (!groupConfig) { throw _errors.default.Error("E0110") } return groupConfig.validate() }, resetGroup: function(group) { var groupConfig = ValidationEngine.getGroupConfig(group); if (!groupConfig) { throw _errors.default.Error("E0110") } return groupConfig.reset() } }; ValidationEngine.initGroups(); var _default = ValidationEngine; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 4401: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/validation_group.js ***! \********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _dom_component = _interopRequireDefault(__webpack_require__( /*! ../core/dom_component */ 13046)); var _validation_summary = _interopRequireDefault(__webpack_require__( /*! ./validation_summary */ 97289)); var _validation_engine = _interopRequireDefault(__webpack_require__( /*! ./validation_engine */ 90964)); var _validator = _interopRequireDefault(__webpack_require__( /*! ./validator */ 39562)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, p) { o.__proto__ = p; return o }; return _setPrototypeOf(o, p) } var ValidationGroup = function(_DOMComponent) { ! function(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass) }(ValidationGroup, _DOMComponent); function ValidationGroup() { return _DOMComponent.apply(this, arguments) || this } var _proto = ValidationGroup.prototype; _proto._getDefaultOptions = function() { return _DOMComponent.prototype._getDefaultOptions.call(this) }; _proto._init = function() { _DOMComponent.prototype._init.call(this); _validation_engine.default.addGroup(this) }; _proto._initMarkup = function() { var $element = this.$element(); $element.addClass("dx-validationgroup"); $element.find(".".concat("dx-validator")).each((function(_, validatorContainer) { _validator.default.getInstance((0, _renderer.default)(validatorContainer))._initGroupRegistration() })); $element.find(".".concat("dx-validationsummary")).each((function(_, summaryContainer) { _validation_summary.default.getInstance((0, _renderer.default)(summaryContainer)).refreshValidationGroup() })); _DOMComponent.prototype._initMarkup.call(this) }; _proto.validate = function() { return _validation_engine.default.validateGroup(this) }; _proto.reset = function() { return _validation_engine.default.resetGroup(this) }; _proto._dispose = function() { _validation_engine.default.removeGroup(this); this.$element().removeClass("dx-validationgroup"); _DOMComponent.prototype._dispose.call(this) }; _proto._useTemplates = function() { return false }; return ValidationGroup }(_dom_component.default); (0, _component_registrator.default)("dxValidationGroup", ValidationGroup); var _default = ValidationGroup; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 8336: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/validation_message.js ***! \**********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../core/renderer */ 68374)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./overlay/ui.overlay */ 89799)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _string = __webpack_require__( /*! ../core/utils/string */ 68752); var _position = __webpack_require__( /*! ../core/utils/position */ 37518); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var ValidationMessage = _ui.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { integrationOptions: {}, templatesRenderAsynchronously: false, shading: false, width: "auto", height: "auto", hideOnOutsideClick: false, animation: null, visible: true, propagateOutsideClick: true, _checkParentVisibility: false, rtlEnabled: false, contentTemplate: this._renderInnerHtml, maxWidth: "100%", container: this.$element(), target: void 0, mode: "auto", validationErrors: void 0, preventScrollEvents: false, positionSide: "top", boundary: void 0, offset: { h: 0, v: 0 }, contentId: void 0 }) }, _init: function() { this.callBase(); this.updateMaxWidth(); this._updatePosition() }, _initMarkup: function() { this.callBase(); this._ensureMessageNotEmpty(); this._updatePositionByTarget(); this._toggleModeClass(); this._updateContentId() }, _updatePositionByTarget: function() { var _this$option = this.option(), target = _this$option.target; this.option("position.of", target) }, _ensureMessageNotEmpty: function() { this._textMarkup = this._getTextMarkup(); var shouldShowMessage = this.option("visible") && this._textMarkup; this._toggleVisibilityClasses(shouldShowMessage) }, _toggleVisibilityClasses: function(visible) { if (visible) { this.$element().addClass("dx-invalid-message"); this.$wrapper().addClass("dx-invalid-message") } else { this.$element().removeClass("dx-invalid-message"); this.$wrapper().removeClass("dx-invalid-message") } }, _updateContentId: function() { var _this$option2 = this.option(), container = _this$option2.container, contentId = _this$option2.contentId; var id = null !== contentId && void 0 !== contentId ? contentId : (0, _renderer.default)(container).attr("aria-describedby"); this.$content().addClass("dx-invalid-message-content").attr("id", id) }, _renderInnerHtml: function(element) { var $element = element && (0, _renderer.default)(element); null === $element || void 0 === $element ? void 0 : $element.html(this._textMarkup) }, _getTextMarkup: function() { var _this$option3; var validationErrors = null !== (_this$option3 = this.option("validationErrors")) && void 0 !== _this$option3 ? _this$option3 : []; var validationErrorMessage = ""; validationErrors.forEach((function(err) { var _err$message; var separator = validationErrorMessage ? "<br />" : ""; validationErrorMessage += separator + (0, _string.encodeHtml)(null !== (_err$message = null === err || void 0 === err ? void 0 : err.message) && void 0 !== _err$message ? _err$message : "") })); return validationErrorMessage }, _toggleModeClass: function() { var mode = this.option("mode"); this.$wrapper().toggleClass("dx-invalid-message-auto", "auto" === mode).toggleClass("dx-invalid-message-always", "always" === mode) }, updateMaxWidth: function() { var target = this.option("target"); var targetWidth = (0, _size.getOuterWidth)(target); var maxWidth = "100%"; if (targetWidth) { maxWidth = Math.max(targetWidth, 100) } this.option({ maxWidth: maxWidth }) }, _getPositionsArray: function(positionSide, rtlSide) { switch (positionSide) { case "top": return ["".concat(rtlSide, " bottom"), "".concat(rtlSide, " top")]; case "left": return ["right", "left"]; case "right": return ["left", "right"]; default: return ["".concat(rtlSide, " top"), "".concat(rtlSide, " bottom")] } }, _updatePosition: function() { var _this$option4 = this.option(), positionSide = _this$option4.positionSide, rtlEnabled = _this$option4.rtlEnabled, componentOffset = _this$option4.offset, boundary = _this$option4.boundary; var rtlSide = (0, _position.getDefaultAlignment)(rtlEnabled); var positions = this._getPositionsArray(positionSide, rtlSide); var offset = _extends({}, componentOffset); this.$element().addClass("dx-invalid-message-".concat(positionSide)); if (rtlEnabled && "left" !== positionSide && "right" !== positionSide) { offset.h = -offset.h } if ("top" === positionSide) { offset.v = -offset.v } if ("left" === positionSide) { offset.h = -offset.h } this.option("position", { offset: offset, boundary: boundary, my: positions[0], at: positions[1], collision: "none flip" }) }, _optionChanged: function(args) { var name = args.name, value = args.value, previousValue = args.previousValue; switch (name) { case "target": this._updatePositionByTarget(); this.updateMaxWidth(); this.callBase(args); break; case "boundary": this.option("position.boundary", value); break; case "mode": this._toggleModeClass(value); break; case "rtlEnabled": case "offset": case "positionSide": this.$element().removeClass("dx-invalid-message-".concat(previousValue)); this._updatePosition(); break; case "container": this._updateContentId(); this.callBase(args); break; case "contentId": this._updateContentId(); break; case "validationErrors": this._ensureMessageNotEmpty(); this._renderInnerHtml(this.$content()); break; default: this.callBase(args) } } }); (0, _component_registrator.default)("dxValidationMessage", ValidationMessage); var _default = ValidationMessage; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 97289: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/validation_summary.js ***! \**********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../events/core/events_engine */ 55994)); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _validation_engine = _interopRequireDefault(__webpack_require__( /*! ./validation_engine */ 90964)); var _uiCollection_widget = _interopRequireDefault(__webpack_require__( /*! ./collection/ui.collection_widget.edit */ 11050)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ValidationSummary = _uiCollection_widget.default.inherit({ _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { focusStateEnabled: false, noDataText: null }) }, _setOptionsByReference: function() { this.callBase(); (0, _extend.extend)(this._optionsByReference, { validationGroup: true }) }, _init: function() { this.callBase(); this._initGroupRegistration() }, _initGroupRegistration: function() { var $element = this.$element(); var group = this.option("validationGroup") || _validation_engine.default.findGroup($element, this._modelByElement($element)); var groupConfig = _validation_engine.default.addGroup(group); this._unsubscribeGroup(); this._groupWasInit = true; this._validationGroup = group; this.groupSubscription = this._groupValidationHandler.bind(this); groupConfig.on("validated", this.groupSubscription) }, _unsubscribeGroup: function() { var groupConfig = _validation_engine.default.getGroupConfig(this._validationGroup); groupConfig && groupConfig.off("validated", this.groupSubscription) }, _getOrderedItems: function(validators, items) { var orderedItems = []; (0, _iterator.each)(validators, (function(_, validator) { var foundItems = (0, _common.grep)(items, (function(item) { if (item.validator === validator) { return true } })); if (foundItems.length) { orderedItems = orderedItems.concat(foundItems) } })); return orderedItems }, _groupValidationHandler: function(params) { var _this = this; var items = this._getOrderedItems(params.validators, (0, _iterator.map)(params.brokenRules, (function(rule) { return { text: rule.message, validator: rule.validator, index: rule.index } }))); this.validators = params.validators; (0, _iterator.each)(this.validators, (function(_, validator) { if (validator._validationSummary !== _this) { var handler = _this._itemValidationHandler.bind(_this); validator.on("validated", handler); validator.on("disposing", (function() { validator.off("validated", handler); validator._validationSummary = null; handler = null })); validator._validationSummary = _this } })); this.option("items", items) }, _itemValidationHandler: function(_ref) { var isValid = _ref.isValid, validator = _ref.validator, brokenRules = _ref.brokenRules; var items = this.option("items"); var itemsChanged = false; var itemIndex = 0; var _loop = function() { var item = items[itemIndex]; if (item.validator === validator) { var foundRule = (0, _common.grep)(brokenRules || [], (function(rule) { return rule.index === item.index }))[0]; if (isValid || !foundRule) { items.splice(itemIndex, 1); itemsChanged = true; return "continue" } if (foundRule.message !== item.text) { item.text = foundRule.message; itemsChanged = true } } itemIndex++ }; while (itemIndex < items.length) { var _ret = _loop(); if ("continue" === _ret) { continue } }(0, _iterator.each)(brokenRules, (function(_, rule) { var foundItem = (0, _common.grep)(items, (function(item) { return item.validator === validator && item.index === rule.index }))[0]; if (!foundItem) { items.push({ text: rule.message, validator: validator, index: rule.index }); itemsChanged = true } })); if (itemsChanged) { items = this._getOrderedItems(this.validators, items); this.option("items", items) } }, _initMarkup: function() { this.$element().addClass("dx-validationsummary"); this.callBase() }, _optionChanged: function(args) { switch (args.name) { case "validationGroup": this._initGroupRegistration(); break; default: this.callBase(args) } }, _itemClass: function() { return "dx-validationsummary-item" }, _itemDataKey: function() { return "dx-validationsummary-item-data" }, _postprocessRenderItem: function(params) { _events_engine.default.on(params.itemElement, "click", (function() { params.itemData.validator && params.itemData.validator.focus && params.itemData.validator.focus() })) }, _dispose: function() { this.callBase(); this._unsubscribeGroup() }, refreshValidationGroup: function() { this._initGroupRegistration() } }); (0, _component_registrator.default)("dxValidationSummary", ValidationSummary); var _default = ValidationSummary; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 39562: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/validator.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _element_data = __webpack_require__( /*! ../core/element_data */ 97906); var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../core/utils/callbacks */ 44504)); var _ui = _interopRequireDefault(__webpack_require__( /*! ./widget/ui.errors */ 96688)); var _dom_component = _interopRequireDefault(__webpack_require__( /*! ../core/dom_component */ 13046)); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _validation_engine = _interopRequireDefault(__webpack_require__( /*! ./validation_engine */ 90964)); var _default_adapter = _interopRequireDefault(__webpack_require__( /*! ./validation/default_adapter */ 76299)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _deferred = __webpack_require__( /*! ../core/utils/deferred */ 62754); var _guid = _interopRequireDefault(__webpack_require__( /*! ../core/guid */ 73176)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var Validator = _dom_component.default.inherit({ _initOptions: function(options) { this.callBase.apply(this, arguments); this.option(_validation_engine.default.initValidationOptions(options)) }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { validationRules: [] }) }, _init: function() { this.callBase(); this._initGroupRegistration(); this.focused = (0, _callbacks.default)(); this._initAdapter(); this._validationInfo = { result: null, deferred: null, skipValidation: false } }, _initGroupRegistration: function() { var group = this._findGroup(); if (!this._groupWasInit) { this.on("disposing", (function(args) { _validation_engine.default.removeRegisteredValidator(args.component._validationGroup, args.component) })) } if (!this._groupWasInit || this._validationGroup !== group) { _validation_engine.default.removeRegisteredValidator(this._validationGroup, this); this._groupWasInit = true; this._validationGroup = group; _validation_engine.default.registerValidatorInGroup(group, this) } }, _setOptionsByReference: function() { this.callBase(); (0, _extend.extend)(this._optionsByReference, { validationGroup: true }) }, _getEditor: function() { var element = this.$element()[0]; return (0, _element_data.data)(element, "dx-validation-target") }, _initAdapter: function() { var _this = this; var dxStandardEditor = this._getEditor(); var adapter = this.option("adapter"); if (!adapter) { if (dxStandardEditor) { adapter = new _default_adapter.default(dxStandardEditor, this); adapter.validationRequestsCallbacks.push((function(args) { if (_this._validationInfo.skipValidation) { return } _this.validate(args) })); this.option("adapter", adapter); return } throw _ui.default.Error("E0120") } var callbacks = adapter.validationRequestsCallbacks; if (callbacks) { callbacks.push((function(args) { _this.validate(args) })) } }, _toggleRTLDirection: function(isRtl) { var _this$option$editor$o, _this$option, _this$option$editor; var rtlEnabled = null !== (_this$option$editor$o = null === (_this$option = this.option("adapter")) || void 0 === _this$option ? void 0 : null === (_this$option$editor = _this$option.editor) || void 0 === _this$option$editor ? void 0 : _this$option$editor.option("rtlEnabled")) && void 0 !== _this$option$editor$o ? _this$option$editor$o : isRtl; this.callBase(rtlEnabled) }, _initMarkup: function() { this.$element().addClass("dx-validator"); this.callBase() }, _render: function() { this.callBase(); this._toggleAccessibilityAttributes() }, _toggleAccessibilityAttributes: function() { var dxStandardEditor = this._getEditor(); if (dxStandardEditor) { var rules = this.option("validationRules") || []; var isRequired = rules.some((function(_ref) { var type = _ref.type; return "required" === type })) || null; if (dxStandardEditor.isInitialized()) { dxStandardEditor.setAria("required", isRequired) } dxStandardEditor.option("_onMarkupRendered", (function() { dxStandardEditor.setAria("required", isRequired) })) } }, _visibilityChanged: function(visible) { if (visible) { this._initGroupRegistration() } }, _optionChanged: function(args) { switch (args.name) { case "validationGroup": this._initGroupRegistration(); return; case "validationRules": this._resetValidationRules(); this._toggleAccessibilityAttributes(); void 0 !== this.option("isValid") && this.validate(); return; case "adapter": this._initAdapter(); break; case "isValid": case "validationStatus": this.option(_validation_engine.default.synchronizeValidationOptions(args, this.option())); break; default: this.callBase(args) } }, _getValidationRules: function() { var _this2 = this; if (!this._validationRules) { this._validationRules = (0, _iterator.map)(this.option("validationRules"), (function(rule, index) { return (0, _extend.extend)({}, rule, { validator: _this2, index: index }) })) } return this._validationRules }, _findGroup: function() { var $element = this.$element(); return this.option("validationGroup") || _validation_engine.default.findGroup($element, this._modelByElement($element)) }, _resetValidationRules: function() { delete this._validationRules }, validate: function(args) { var _this3 = this; var adapter = this.option("adapter"); var name = this.option("name"); var bypass = adapter.bypass && adapter.bypass(); var value = args && void 0 !== args.value ? args.value : adapter.getValue(); var currentError = adapter.getCurrentValidationError && adapter.getCurrentValidationError(); var rules = this._getValidationRules(); var currentResult = this._validationInfo && this._validationInfo.result; if (currentResult && "pending" === currentResult.status && currentResult.value === value) { return (0, _extend.extend)({}, currentResult) } var result; if (bypass) { result = { isValid: true, status: "valid" } } else if (currentError && currentError.editorSpecific) { currentError.validator = this; result = { isValid: false, status: "invalid", brokenRule: currentError, brokenRules: [currentError] } } else { result = _validation_engine.default.validate(value, rules, name) } result.id = (new _guid.default).toString(); this._applyValidationResult(result, adapter); result.complete && result.complete.then((function(res) { if (res.id === _this3._validationInfo.result.id) { _this3._applyValidationResult(res, adapter) } })); return (0, _extend.extend)({}, this._validationInfo.result) }, reset: function() { var adapter = this.option("adapter"); var result = { id: null, isValid: true, brokenRule: null, brokenRules: null, pendingRules: null, status: "valid", complete: null }; this._validationInfo.skipValidation = true; adapter.reset(); this._validationInfo.skipValidation = false; this._resetValidationRules(); this._applyValidationResult(result, adapter) }, _updateValidationResult: function(result) { if (!this._validationInfo.result || this._validationInfo.result.id !== result.id) { var complete = this._validationInfo.deferred && this._validationInfo.result.complete; this._validationInfo.result = (0, _extend.extend)({}, result, { complete: complete }) } else { for (var prop in result) { if ("id" !== prop && "complete" !== prop) { this._validationInfo.result[prop] = result[prop] } } } }, _applyValidationResult: function(result, adapter) { var validatedAction = this._createActionByOption("onValidated", { excludeValidators: ["readOnly"] }); result.validator = this; this._updateValidationResult(result); adapter.applyValidationResults && adapter.applyValidationResults(this._validationInfo.result); this.option({ validationStatus: this._validationInfo.result.status }); if ("pending" === this._validationInfo.result.status) { if (!this._validationInfo.deferred) { this._validationInfo.deferred = new _deferred.Deferred; this._validationInfo.result.complete = this._validationInfo.deferred.promise() } this._eventsStrategy.fireEvent("validating", [this._validationInfo.result]); return } if ("pending" !== this._validationInfo.result.status) { validatedAction(result); if (this._validationInfo.deferred) { this._validationInfo.deferred.resolve(result); this._validationInfo.deferred = null } } }, focus: function() { var adapter = this.option("adapter"); adapter && adapter.focus && adapter.focus() }, _useTemplates: function() { return false } }); (0, _component_registrator.default)("dxValidator", Validator); var _default = Validator; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 31421: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/widget/selectors.js ***! \********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.tabbable = exports.focused = exports.focusable = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var focusableFn = function(element, tabIndex) { if (! function(element) { var $element = (0, _renderer.default)(element); return $element.is(":visible") && "hidden" !== $element.css("visibility") && "hidden" !== $element.parents().css("visibility") }(element)) { return false } var nodeName = element.nodeName.toLowerCase(); var isTabIndexNotNaN = !isNaN(tabIndex); var isDisabled = element.disabled; var isDefaultFocus = /^(input|select|textarea|button|object|iframe)$/.test(nodeName); var isHyperlink = "a" === nodeName; var isFocusable; var isContentEditable = element.isContentEditable; if (isDefaultFocus || isContentEditable) { isFocusable = !isDisabled } else if (isHyperlink) { isFocusable = element.href || isTabIndexNotNaN } else { isFocusable = isTabIndexNotNaN } return isFocusable }; exports.focusable = function(index, element) { return focusableFn(element, (0, _renderer.default)(element).attr("tabIndex")) }; exports.tabbable = function(index, element) { var tabIndex = (0, _renderer.default)(element).attr("tabIndex"); return (isNaN(tabIndex) || tabIndex >= 0) && focusableFn(element, tabIndex) }; exports.focused = function($element) { var element = (0, _renderer.default)($element).get(0); return _dom_adapter.default.getActiveElement(element) === element } }, 92591: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/widget/swatch_container.js ***! \***************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = (obj = __webpack_require__( /*! ../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var _view_port = __webpack_require__( /*! ../../core/utils/view_port */ 77695); var _default = { getSwatchContainer: function(element) { var $element = (0, _renderer.default)(element); var swatchContainer = $element.closest('[class^="'.concat("dx-swatch-", '"], [class*=" ').concat("dx-swatch-", '"]')); var viewport = (0, _view_port.value)(); if (!swatchContainer.length) { return viewport } var swatchClassRegex = new RegExp("(\\s|^)(".concat("dx-swatch-", ".*?)(\\s|$)")); var swatchClass = swatchContainer[0].className.match(swatchClassRegex)[2]; var viewportSwatchContainer = viewport.children("." + swatchClass); if (!viewportSwatchContainer.length) { viewportSwatchContainer = (0, _renderer.default)("<div>").addClass(swatchClass).appendTo(viewport) } return viewportSwatchContainer } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 96688: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/widget/ui.errors.js ***! \********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _error = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/error */ 95640)); var _errors = _interopRequireDefault(__webpack_require__( /*! ../../core/errors */ 17381)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _default = (0, _error.default)(_errors.default.ERROR_MESSAGES, { E1001: "Module '{0}'. Controller '{1}' is already registered", E1002: "Module '{0}'. Controller '{1}' does not inherit from DevExpress.ui.dxDataGrid.Controller", E1003: "Module '{0}'. View '{1}' is already registered", E1004: "Module '{0}'. View '{1}' does not inherit from DevExpress.ui.dxDataGrid.View", E1005: "Public method '{0}' is already registered", E1006: "Public method '{0}.{1}' does not exist", E1007: "State storing cannot be provided due to the restrictions of the browser", E1010: "The template does not contain the TextBox widget", E1011: 'Items cannot be deleted from the List. Implement the "remove" function in the data store', E1012: "Editing type '{0}' with the name '{1}' is unsupported", E1016: "Unexpected type of data source is provided for a lookup column", E1018: "The 'collapseAll' method cannot be called if you use a remote data source", E1019: "Search mode '{0}' is unavailable", E1020: "The type cannot be changed after initialization", E1021: "{0} '{1}' you are trying to remove does not exist", E1022: 'The "markers" option is given an invalid value. Assign an array instead', E1023: 'The "routes" option is given an invalid value. Assign an array instead', E1025: "This layout is too complex to render", E1026: 'The "calculateCustomSummary" function is missing from a field whose "summaryType" option is set to "custom"', E1031: "Unknown subscription in the Scheduler widget: '{0}'", E1032: "Unknown start date in an appointment: '{0}'", E1033: "Unknown step in the date navigator: '{0}'", E1034: "The browser does not implement an API for saving files", E1035: "The editor cannot be created: {0}", E1037: "Invalid structure of grouped data", E1038: "The browser does not support local storages for local web pages", E1039: "A cell's position cannot be calculated", E1040: "The '{0}' key value is not unique within the data array", E1041: "The '{0}' script is referenced after the DevExtreme scripts or not referenced at all", E1042: "{0} requires the key field to be specified", E1043: "Changes cannot be processed due to the incorrectly set key", E1044: "The key field specified by the keyExpr option does not match the key field specified in the data store", E1045: "Editing requires the key field to be specified in the data store", E1046: "The '{0}' key field is not found in data objects", E1047: 'The "{0}" field is not found in the fields array', E1048: 'The "{0}" operation is not found in the filterOperations array', E1049: "Column '{0}': filtering is allowed but the 'dataField' or 'name' option is not specified", E1050: "The validationRules option does not apply to third-party editors defined in the editCellTemplate", E1051: 'HtmlEditor\'s valueType is "{0}", but the {0} converter was not imported.', E1052: '{0} should have the "dataSource" option specified', E1053: 'The "buttons" option accepts an array that contains only objects or string values', E1054: "All text editor buttons must have names", E1055: 'One or several text editor buttons have invalid or non-unique "name" values', E1056: 'The {0} widget does not support buttons of the "{1}" type', E1058: 'The "startDayHour" must be earlier than the "endDayHour"', E1059: "The following column names are not unique: {0}", E1060: "All editable columns must have names", W1001: 'The "key" option cannot be modified after initialization', W1002: "An item with the key '{0}' does not exist", W1003: "A group with the key '{0}' in which you are trying to select items does not exist", W1004: "The item '{0}' you are trying to select in the group '{1}' does not exist", W1005: "Due to column data types being unspecified, data has been loaded twice in order to apply initial filter settings. To resolve this issue, specify data types for all grid columns.", W1006: "The map service returned the following error: '{0}'", W1007: "No item with key {0} was found in the data source, but this key was used as the parent key for item {1}", W1008: "Cannot scroll to the '{0}' date because it does not exist on the current view", W1009: "Searching works only if data is specified using the dataSource option", W1010: "The capability to select all items works with source data of plain structure only", W1011: 'The "keyExpr" option is not applied when dataSource is not an array', W1012: "The '{0}' key field is not found in data objects", W1013: 'The "message" field in the dialog component was renamed to "messageHtml". Change your code correspondingly. In addition, if you used HTML code in the message, make sure that it is secure', W1014: "The Floating Action Button exceeds the recommended speed dial action count. If you need to display more speed dial actions, increase the maxSpeedDialActionCount option value in the global config.", W1015: 'The "cellDuration" should divide the range from the "startDayHour" to the "endDayHour" into even intervals', W1016: "The '{0}' field in the HTML Editor toolbar item configuration was renamed to '{1}'. Please make a corresponding change in your code.", W1017: "The 'key' property is not specified for a lookup data source. Please specify it to prevent requests for the entire dataset when users filter data.", W1018: "Infinite scrolling may not work properly with multiple selection. To use these features together, set 'selection.deferred' to true or set 'selection.selectAllMode' to 'page'.", W1019: "Filter query string exceeds maximum length limit of {0} characters.", W1020: "hideEvent is ignored when the shading property is true", W1021: "The '{0}' is not rendered because none of the DOM elements match the value of the \"container\" property.", W1022: "{0} JSON parsing error: '{1}'", W1023: "Appointments require unique keys. Otherwise, the agenda view may not work correctly." }); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 2630: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/widget/ui.search_box_mixin.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _ui = _interopRequireDefault(__webpack_require__( /*! ../widget/ui.errors */ 96688)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _stubs = __webpack_require__( /*! ../../core/utils/stubs */ 2146); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var EditorClass = (0, _stubs.stubComponent)("TextBox"); var _default = { _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { searchMode: "", searchExpr: null, searchValue: "", searchEnabled: false, searchEditorOptions: {} }) }, _initMarkup: function() { this._renderSearch(); this.callBase() }, _renderSearch: function() { var $element = this.$element(); var searchEnabled = this.option("searchEnabled"); var searchBoxClassName = this._addWidgetPrefix("search"); var rootElementClassName = this._addWidgetPrefix("with-search"); if (!searchEnabled) { $element.removeClass(rootElementClassName); this._removeSearchBox(); return } var editorOptions = this._getSearchEditorOptions(); if (this._searchEditor) { this._searchEditor.option(editorOptions) } else { $element.addClass(rootElementClassName); this._$searchEditorElement = (0, _renderer.default)("<div>").addClass(searchBoxClassName).prependTo($element); this._searchEditor = this._createComponent(this._$searchEditorElement, EditorClass, editorOptions) } }, _removeSearchBox: function() { this._$searchEditorElement && this._$searchEditorElement.remove(); delete this._$searchEditorElement; delete this._searchEditor }, _getSearchEditorOptions: function() { var that = this; var userEditorOptions = that.option("searchEditorOptions"); var searchText = _message.default.format("Search"); return (0, _extend.extend)({ mode: "search", placeholder: searchText, tabIndex: that.option("tabIndex"), value: that.option("searchValue"), valueChangeEvent: "input", inputAttr: { "aria-label": searchText }, onValueChanged: function(e) { var searchTimeout = that.option("searchTimeout"); that._valueChangeDeferred = new _deferred.Deferred; clearTimeout(that._valueChangeTimeout); that._valueChangeDeferred.done(function() { this.option("searchValue", e.value) }.bind(that)); if (e.event && "input" === e.event.type && searchTimeout) { that._valueChangeTimeout = setTimeout((function() { that._valueChangeDeferred.resolve() }), searchTimeout) } else { that._valueChangeDeferred.resolve() } } }, userEditorOptions) }, _getAriaTarget: function() { if (this.option("searchEnabled")) { return this._itemContainer(true) } return this.callBase() }, _focusTarget: function() { if (this.option("searchEnabled")) { return this._itemContainer(true) } return this.callBase() }, _updateFocusState: function(e, isFocused) { if (this.option("searchEnabled")) { this._toggleFocusClass(isFocused, this.$element()) } this.callBase(e, isFocused) }, getOperationBySearchMode: function(searchMode) { return "equals" === searchMode ? "=" : searchMode }, _optionChanged: function(args) { switch (args.name) { case "searchEnabled": case "searchEditorOptions": this._invalidate(); break; case "searchExpr": case "searchMode": case "searchValue": if (!this._dataSource) { _ui.default.log("W1009"); return } if ("searchMode" === args.name) { this._dataSource.searchOperation(this.getOperationBySearchMode(args.value)) } else { this._dataSource[args.name](args.value) } this._dataSource.load(); break; case "searchTimeout": break; default: this.callBase(args) } }, focus: function() { if (!this.option("focusedElement") && this.option("searchEnabled")) { this._searchEditor && this._searchEditor.focus(); return } this.callBase() }, _cleanAria: function() { var $element = this.$element(); this.setAria({ role: null, activedescendant: null }, $element); $element.attr("tabIndex", null) }, _clean: function() { this.callBase(); this._cleanAria() }, _refresh: function() { if (this._valueChangeDeferred) { this._valueChangeDeferred.resolve() } this.callBase() }, setEditorClass: function(value) { EditorClass = value } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 14390: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/widget/ui.widget.js ***! \********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _action = _interopRequireDefault(__webpack_require__( /*! ../../core/action */ 62414)); var _dom_component = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_component */ 13046)); var _short = __webpack_require__( /*! ../../events/short */ 72918); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _selectors = __webpack_require__( /*! ./selectors */ 31421); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _version = __webpack_require__( /*! ../../core/utils/version */ 58020); __webpack_require__( /*! ../../events/click */ 95429); __webpack_require__( /*! ../../events/core/emitter.feedback */ 91633); __webpack_require__( /*! ../../events/hover */ 24028); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } function setAttribute(name, value, target) { name = "role" === name || "id" === name ? name : "aria-".concat(name); value = (0, _type.isDefined)(value) ? value.toString() : null; target.attr(name, value) } var Widget = _dom_component.default.inherit({ _feedbackHideTimeout: 400, _feedbackShowTimeout: 30, _supportedKeys: function() { return {} }, _getDefaultOptions: function() { return (0, _extend2.extend)(this.callBase(), { hoveredElement: null, isActive: false, disabled: false, visible: true, hint: void 0, activeStateEnabled: false, onContentReady: null, hoverStateEnabled: false, focusStateEnabled: false, tabIndex: 0, accessKey: void 0, onFocusIn: null, onFocusOut: null, onKeyboardHandled: null, ignoreParentReadOnly: false, useResizeObserver: true }) }, _defaultOptionsRules: function() { return this.callBase().concat([{ device: function() { var device = _devices.default.real(); var platform = device.platform; var version = device.version; return "ios" === platform && (0, _version.compare)(version, "13.3") <= 0 }, options: { useResizeObserver: false } }]) }, _init: function() { this.callBase(); this._initContentReadyAction() }, _innerWidgetOptionChanged: function(innerWidget, args) { var options = Widget.getOptionsFromContainer(args); innerWidget && innerWidget.option(options); this._options.cache(args.name, options) }, _bindInnerWidgetOptions: function(innerWidget, optionsContainer) { var _this = this; var syncOptions = function() { return _this._options.silent(optionsContainer, (0, _extend2.extend)({}, innerWidget.option())) }; syncOptions(); innerWidget.on("optionChanged", syncOptions) }, _getAriaTarget: function() { return this._focusTarget() }, _initContentReadyAction: function() { this._contentReadyAction = this._createActionByOption("onContentReady", { excludeValidators: ["disabled", "readOnly"] }) }, _initMarkup: function() { var _this$option = this.option(), disabled = _this$option.disabled, visible = _this$option.visible; this.$element().addClass("dx-widget"); this._toggleDisabledState(disabled); this._toggleVisibility(visible); this._renderHint(); this._isFocusable() && this._renderFocusTarget(); this.callBase() }, _render: function() { this.callBase(); this._renderContent(); this._renderFocusState(); this._attachFeedbackEvents(); this._attachHoverEvents(); this._toggleIndependentState() }, _renderHint: function() { var _this$option2 = this.option(), hint = _this$option2.hint; this.$element().attr("title", hint || null) }, _renderContent: function() { var _this2 = this; (0, _common.deferRender)((function() { return !_this2._disposed ? _this2._renderContentImpl() : void 0 })).done((function() { return !_this2._disposed ? _this2._fireContentReadyAction() : void 0 })) }, _renderContentImpl: _common.noop, _fireContentReadyAction: (0, _common.deferRenderer)((function() { return this._contentReadyAction() })), _dispose: function() { this._contentReadyAction = null; this._detachKeyboardEvents(); this.callBase() }, _resetActiveState: function() { this._toggleActiveState(this._eventBindingTarget(), false) }, _clean: function() { this._cleanFocusState(); this._resetActiveState(); this.callBase(); this.$element().empty() }, _toggleVisibility: function(visible) { this.$element().toggleClass("dx-state-invisible", !visible) }, _renderFocusState: function() { this._attachKeyboardEvents(); if (this._isFocusable()) { this._renderFocusTarget(); this._attachFocusEvents(); this._renderAccessKey() } }, _renderAccessKey: function() { var $el = this._focusTarget(); var _this$option3 = this.option(), accessKey = _this$option3.accessKey; $el.attr("accesskey", accessKey) }, _isFocusable: function() { var _this$option4 = this.option(), focusStateEnabled = _this$option4.focusStateEnabled, disabled = _this$option4.disabled; return focusStateEnabled && !disabled }, _eventBindingTarget: function() { return this.$element() }, _focusTarget: function() { return this._getActiveElement() }, _isFocusTarget: function(element) { var focusTargets = (0, _renderer.default)(this._focusTarget()).toArray(); return focusTargets.includes(element) }, _findActiveTarget: function($element) { return $element.find(this._activeStateUnit).not(".dx-state-disabled") }, _getActiveElement: function() { var activeElement = this._eventBindingTarget(); if (this._activeStateUnit) { return this._findActiveTarget(activeElement) } return activeElement }, _renderFocusTarget: function() { var _this$option5 = this.option(), tabIndex = _this$option5.tabIndex; this._focusTarget().attr("tabIndex", tabIndex) }, _keyboardEventBindingTarget: function() { return this._eventBindingTarget() }, _refreshFocusEvent: function() { this._detachFocusEvents(); this._attachFocusEvents() }, _focusEventTarget: function() { return this._focusTarget() }, _focusInHandler: function(event) { var _this3 = this; if (!event.isDefaultPrevented()) { this._createActionByOption("onFocusIn", { beforeExecute: function() { return _this3._updateFocusState(event, true) }, excludeValidators: ["readOnly"] })({ event: event }) } }, _focusOutHandler: function(event) { var _this4 = this; if (!event.isDefaultPrevented()) { this._createActionByOption("onFocusOut", { beforeExecute: function() { return _this4._updateFocusState(event, false) }, excludeValidators: ["readOnly", "disabled"] })({ event: event }) } }, _updateFocusState: function(_ref, isFocused) { var target = _ref.target; if (this._isFocusTarget(target)) { this._toggleFocusClass(isFocused, (0, _renderer.default)(target)) } }, _toggleFocusClass: function(isFocused, $element) { var $focusTarget = $element && $element.length ? $element : this._focusTarget(); $focusTarget.toggleClass("dx-state-focused", isFocused) }, _hasFocusClass: function(element) { var $focusTarget = (0, _renderer.default)(element || this._focusTarget()); return $focusTarget.hasClass("dx-state-focused") }, _isFocused: function() { return this._hasFocusClass() }, _getKeyboardListeners: function() { return [] }, _attachKeyboardEvents: function() { var _this5 = this; this._detachKeyboardEvents(); var _this$option6 = this.option(), focusStateEnabled = _this$option6.focusStateEnabled, onKeyboardHandled = _this$option6.onKeyboardHandled; var hasChildListeners = this._getKeyboardListeners().length; var hasKeyboardEventHandler = !!onKeyboardHandled; var shouldAttach = focusStateEnabled || hasChildListeners || hasKeyboardEventHandler; if (shouldAttach) { this._keyboardListenerId = _short.keyboard.on(this._keyboardEventBindingTarget(), this._focusTarget(), (function(opts) { return _this5._keyboardHandler(opts) })) } }, _keyboardHandler: function(options, onlyChildProcessing) { if (!onlyChildProcessing) { var originalEvent = options.originalEvent, keyName = options.keyName, which = options.which; var keys = this._supportedKeys(originalEvent); var func = keys[keyName] || keys[which]; if (void 0 !== func) { var handler = func.bind(this); var result = handler(originalEvent, options); if (!result) { return false } } } var keyboardListeners = this._getKeyboardListeners(); var _this$option7 = this.option(), onKeyboardHandled = _this$option7.onKeyboardHandled; keyboardListeners.forEach((function(listener) { return listener && listener._keyboardHandler(options) })); onKeyboardHandled && onKeyboardHandled(options); return true }, _refreshFocusState: function() { this._cleanFocusState(); this._renderFocusState() }, _cleanFocusState: function() { var $element = this._focusTarget(); $element.removeAttr("tabIndex"); this._toggleFocusClass(false); this._detachFocusEvents(); this._detachKeyboardEvents() }, _detachKeyboardEvents: function() { _short.keyboard.off(this._keyboardListenerId); this._keyboardListenerId = null }, _attachHoverEvents: function() { var _this6 = this; var _this$option8 = this.option(), hoverStateEnabled = _this$option8.hoverStateEnabled; var selector = this._activeStateUnit; var $el = this._eventBindingTarget(); _short.hover.off($el, { selector: selector, namespace: "UIFeedback" }); if (hoverStateEnabled) { _short.hover.on($el, new _action.default((function(_ref2) { var event = _ref2.event, element = _ref2.element; _this6._hoverStartHandler(event); _this6.option("hoveredElement", (0, _renderer.default)(element)) }), { excludeValidators: ["readOnly"] }), (function(event) { _this6.option("hoveredElement", null); _this6._hoverEndHandler(event) }), { selector: selector, namespace: "UIFeedback" }) } }, _attachFeedbackEvents: function() { var _this7 = this; var _this$option9 = this.option(), activeStateEnabled = _this$option9.activeStateEnabled; var selector = this._activeStateUnit; var $el = this._eventBindingTarget(); _short.active.off($el, { namespace: "UIFeedback", selector: selector }); if (activeStateEnabled) { _short.active.on($el, new _action.default((function(_ref3) { var event = _ref3.event, element = _ref3.element; return _this7._toggleActiveState((0, _renderer.default)(element), true, event) })), new _action.default((function(_ref4) { var event = _ref4.event, element = _ref4.element; return _this7._toggleActiveState((0, _renderer.default)(element), false, event) }), { excludeValidators: ["disabled", "readOnly"] }), { showTimeout: this._feedbackShowTimeout, hideTimeout: this._feedbackHideTimeout, selector: selector, namespace: "UIFeedback" }) } }, _detachFocusEvents: function() { var $el = this._focusEventTarget(); _short.focus.off($el, { namespace: "".concat(this.NAME, "Focus") }) }, _attachFocusEvents: function() { var _this8 = this; var $el = this._focusEventTarget(); _short.focus.on($el, (function(e) { return _this8._focusInHandler(e) }), (function(e) { return _this8._focusOutHandler(e) }), { namespace: "".concat(this.NAME, "Focus"), isFocusable: function(index, el) { return (0, _renderer.default)(el).is(_selectors.focusable) } }) }, _hoverStartHandler: _common.noop, _hoverEndHandler: _common.noop, _toggleActiveState: function($element, value) { this.option("isActive", value); $element.toggleClass("dx-state-active", value) }, _updatedHover: function() { var hoveredElement = this._options.silent("hoveredElement"); this._hover(hoveredElement, hoveredElement) }, _findHoverTarget: function($el) { return $el && $el.closest(this._activeStateUnit || this._eventBindingTarget()) }, _hover: function($el, $previous) { var _this$option10 = this.option(), hoverStateEnabled = _this$option10.hoverStateEnabled, disabled = _this$option10.disabled, isActive = _this$option10.isActive; $previous = this._findHoverTarget($previous); $previous && $previous.toggleClass("dx-state-hover", false); if ($el && hoverStateEnabled && !disabled && !isActive) { var newHoveredElement = this._findHoverTarget($el); newHoveredElement && newHoveredElement.toggleClass("dx-state-hover", true) } }, _toggleDisabledState: function(value) { this.$element().toggleClass("dx-state-disabled", Boolean(value)); this.setAria("disabled", value || void 0) }, _toggleIndependentState: function() { this.$element().toggleClass("dx-state-independent", this.option("ignoreParentReadOnly")) }, _setWidgetOption: function(widgetName, args) { var _this9 = this; if (!this[widgetName]) { return } if ((0, _type.isPlainObject)(args[0])) { (0, _iterator.each)(args[0], (function(option, value) { return _this9._setWidgetOption(widgetName, [option, value]) })); return } var optionName = args[0]; var value = args[1]; if (1 === args.length) { value = this.option(optionName) } var widgetOptionMap = this["".concat(widgetName, "OptionMap")]; this[widgetName].option(widgetOptionMap ? widgetOptionMap(optionName) : optionName, value) }, _optionChanged: function(args) { var name = args.name, value = args.value, previousValue = args.previousValue; switch (name) { case "disabled": this._toggleDisabledState(value); this._updatedHover(); this._refreshFocusState(); break; case "hint": this._renderHint(); break; case "ignoreParentReadOnly": this._toggleIndependentState(); break; case "activeStateEnabled": this._attachFeedbackEvents(); break; case "hoverStateEnabled": this._attachHoverEvents(); this._updatedHover(); break; case "tabIndex": case "focusStateEnabled": this._refreshFocusState(); break; case "onFocusIn": case "onFocusOut": case "useResizeObserver": break; case "accessKey": this._renderAccessKey(); break; case "hoveredElement": this._hover(value, previousValue); break; case "isActive": this._updatedHover(); break; case "visible": this._toggleVisibility(value); if (this._isVisibilityChangeSupported()) { this._checkVisibilityChanged(value ? "shown" : "hiding") } break; case "onKeyboardHandled": this._attachKeyboardEvents(); break; case "onContentReady": this._initContentReadyAction(); break; default: this.callBase(args) } }, _isVisible: function() { var _this$option11 = this.option(), visible = _this$option11.visible; return this.callBase() && visible }, beginUpdate: function() { this._ready(false); this.callBase() }, endUpdate: function() { this.callBase(); if (this._initialized) { this._ready(true) } }, _ready: function(value) { if (0 === arguments.length) { return this._isReady } this._isReady = value }, setAria: function() { if (!(0, _type.isPlainObject)(arguments.length <= 0 ? void 0 : arguments[0])) { setAttribute(arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 1 ? void 0 : arguments[1], (arguments.length <= 2 ? void 0 : arguments[2]) || this._getAriaTarget()) } else { var target = (arguments.length <= 1 ? void 0 : arguments[1]) || this._getAriaTarget(); (0, _iterator.each)(arguments.length <= 0 ? void 0 : arguments[0], (function(name, value) { return setAttribute(name, value, target) })) } }, isReady: function() { return this._ready() }, repaint: function() { this._refresh() }, focus: function() { _short.focus.trigger(this._focusTarget()) }, registerKeyHandler: function(key, handler) { var currentKeys = this._supportedKeys(); this._supportedKeys = function() { return (0, _extend2.extend)(currentKeys, _defineProperty({}, key, handler)) } } }); Widget.getOptionsFromContainer = function(_ref5) { var name = _ref5.name, fullName = _ref5.fullName, value = _ref5.value; var options = {}; if (name === fullName) { options = value } else { var option = fullName.split(".").pop(); options[option] = value } return options }; var _default = Widget; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 72672: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/ui/widget/utils.ink_ripple.js ***! \***************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.hideWave = hideWave; exports.render = exports.initConfig = void 0; exports.showWave = showWave; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _renderer = (obj = __webpack_require__( /*! ../../core/renderer */ 68374), obj && obj.__esModule ? obj : { default: obj }); var obj; var initConfig = function() { var config = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; var useHoldAnimation = config.useHoldAnimation, waveSizeCoefficient = config.waveSizeCoefficient, isCentered = config.isCentered, wavesNumber = config.wavesNumber; return { waveSizeCoefficient: waveSizeCoefficient || 2, isCentered: isCentered || false, wavesNumber: wavesNumber || 1, durations: getDurations(null !== useHoldAnimation && void 0 !== useHoldAnimation ? useHoldAnimation : true) } }; exports.initConfig = initConfig; exports.render = function(args) { var config = initConfig(args); return { showWave: showWave.bind(this, config), hideWave: hideWave.bind(this, config) } }; var getWaves = function(element, wavesNumber) { var inkRipple = function(element) { var result = element.children(".dx-inkripple"); if (0 === result.length) { result = (0, _renderer.default)("<div>").addClass("dx-inkripple").appendTo(element) } return result }((0, _renderer.default)(element)); var result = inkRipple.children(".dx-inkripple-wave").toArray(); for (var i = result.length; i < wavesNumber; i++) { var $currentWave = (0, _renderer.default)("<div>").appendTo(inkRipple).addClass("dx-inkripple-wave"); result.push($currentWave[0]) } return (0, _renderer.default)(result) }; function showWave(args, config) { var $wave = getWaves(config.element, args.wavesNumber).eq(config.wave || 0); args.hidingTimeout && clearTimeout(args.hidingTimeout); hideSelectedWave($wave); $wave.css(function(args, config) { var element = (0, _renderer.default)(config.element); var elementWidth = (0, _size.getOuterWidth)(element); var elementHeight = (0, _size.getOuterHeight)(element); var elementDiagonal = parseInt(Math.sqrt(elementWidth * elementWidth + elementHeight * elementHeight)); var waveSize = Math.min(4e3, parseInt(elementDiagonal * args.waveSizeCoefficient)); var left; var top; if (args.isCentered) { left = (elementWidth - waveSize) / 2; top = (elementHeight - waveSize) / 2 } else { var event = config.event; var position = element.offset(); var x = event.pageX - position.left; var y = event.pageY - position.top; left = x - waveSize / 2; top = y - waveSize / 2 } return { left: left, top: top, height: waveSize, width: waveSize } }(args, config)); args.showingTimeout = setTimeout(showingWaveHandler.bind(this, args, $wave), 0) } function showingWaveHandler(args, $wave) { var durationCss = args.durations.showingScale + "ms"; $wave.addClass("dx-inkripple-showing").css("transitionDuration", durationCss) } function getDurations(useHoldAnimation) { return { showingScale: useHoldAnimation ? 1e3 : 300, hidingScale: 300, hidingOpacity: 300 } } function hideSelectedWave($wave) { $wave.removeClass("dx-inkripple-hiding").css("transitionDuration", "") } function hideWave(args, config) { args.showingTimeout && clearTimeout(args.showingTimeout); var $wave = getWaves(config.element, config.wavesNumber).eq(config.wave || 0); var durations = args.durations; var durationCss = durations.hidingScale + "ms, " + durations.hidingOpacity + "ms"; $wave.addClass("dx-inkripple-hiding").removeClass("dx-inkripple-showing").css("transitionDuration", durationCss); var animationDuration = Math.max(durations.hidingScale, durations.hidingOpacity); args.hidingTimeout = setTimeout(hideSelectedWave.bind(this, $wave), animationDuration) } }, 53805: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/axes/axes_constants.js ***! \************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _default = { logarithmic: "logarithmic", discrete: "discrete", numeric: "numeric", left: "left", right: "right", top: "top", bottom: "bottom", center: "center", horizontal: "horizontal", vertical: "vertical", convertTicksToValues: function(ticks) { return (0, _utils.map)(ticks || [], (function(item) { return item.value })) }, validateOverlappingMode: function(mode) { return "ignore" === mode || "none" === mode ? mode : "hide" }, getTicksCountInRange: function(ticks, valueKey, range) { var i = 1; if (ticks.length > 1) { for (; i < ticks.length; i++) { if (Math.abs(ticks[i].coords[valueKey] - ticks[0].coords[valueKey]) >= range) { break } } } return i }, areLabelsOverlap: function(bBox1, bBox2, spacing, alignment) { var horizontalInverted = bBox1.x > bBox2.x; var verticalInverted = bBox1.y > bBox2.y; var x1 = bBox1.x; var x2 = bBox2.x; var width1 = bBox1.width; var width2 = bBox2.width; if ("left" === alignment) { x1 += width1 / 2; x2 += width2 / 2 } else if ("right" === alignment) { x1 -= width1 / 2; x2 -= width2 / 2 } var hasHorizontalOverlapping = horizontalInverted ? x2 + width2 + spacing > x1 : x1 + width1 + spacing > x2; var hasVerticalOverlapping = verticalInverted ? bBox2.y + bBox2.height > bBox1.y : bBox1.y + bBox1.height > bBox2.y; return hasHorizontalOverlapping && hasVerticalOverlapping } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 32945: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/axes/axes_utils.js ***! \********************************************************************/ function(__unused_webpack_module, exports) { exports.measureLabels = exports.calculateCanvasMargins = void 0; var _max = Math.max; exports.calculateCanvasMargins = function(bBoxes, canvas) { var cLeft = canvas.left; var cTop = canvas.top; var cRight = canvas.width - canvas.right; var cBottom = canvas.height - canvas.bottom; return bBoxes.reduce((function(margins, bBox) { if (!bBox || bBox.isEmpty) { return margins } return { left: _max(margins.left, cLeft - bBox.x), top: _max(margins.top, cTop - bBox.y), right: _max(margins.right, bBox.x + bBox.width - cRight), bottom: _max(margins.bottom, bBox.y + bBox.height - cBottom) } }), { left: 0, right: 0, top: 0, bottom: 0 }) }; exports.measureLabels = function(items) { items.forEach((function(item) { var label = item.getContentContainer(); item.labelBBox = label ? label.getBBox() : { x: 0, y: 0, width: 0, height: 0 } })) } }, 41278: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/axes/base_axis.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Axis = void 0; var _smart_formatter = __webpack_require__( /*! ./smart_formatter */ 41583); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _axes_constants = _interopRequireDefault(__webpack_require__( /*! ./axes_constants */ 53805)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _format_helper = _interopRequireDefault(__webpack_require__( /*! ../../format_helper */ 30343)); var _parse_utils = __webpack_require__( /*! ../components/parse_utils */ 8587); var _tick_generator = __webpack_require__( /*! ./tick_generator */ 45971); var _translator2d = __webpack_require__( /*! ../translators/translator2d */ 87276); var _range = __webpack_require__( /*! ../translators/range */ 21177); var _tick = __webpack_require__( /*! ./tick */ 41013); var _math2 = __webpack_require__( /*! ../../core/utils/math */ 60810); var _errors = _interopRequireDefault(__webpack_require__( /*! ../../core/errors */ 17381)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _xy_axes = _interopRequireDefault(__webpack_require__( /*! ./xy_axes */ 99415)); var polarMethods = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ./polar_axes */ 4331)); var _constant_line = _interopRequireDefault(__webpack_require__( /*! ./constant_line */ 87713)); var _strip = _interopRequireDefault(__webpack_require__( /*! ./strip */ 54978)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _axes_utils = __webpack_require__( /*! ./axes_utils */ 32945); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var convertTicksToValues = _axes_constants.default.convertTicksToValues; var _math = Math; var _abs = _math.abs; var _max = _math.max; var _min = _math.min; var _isArray = Array.isArray; var TOP = _axes_constants.default.top; var BOTTOM = _axes_constants.default.bottom; var LEFT = _axes_constants.default.left; var RIGHT = _axes_constants.default.right; var CENTER = _axes_constants.default.center; var KEEP = "keep"; var SHIFT = "shift"; var RESET = "reset"; var dateIntervals_day = 864e5, dateIntervals_week = 6048e5; function getTickGenerator(options, incidentOccurred, skipTickGeneration, rangeIsEmpty, adjustDivisionFactor, _ref) { var _options$workWeek; var allowNegatives = _ref.allowNegatives, linearThreshold = _ref.linearThreshold; return (0, _tick_generator.tickGenerator)({ axisType: options.type, dataType: options.dataType, logBase: options.logarithmBase, allowNegatives: allowNegatives, linearThreshold: linearThreshold, axisDivisionFactor: adjustDivisionFactor(options.axisDivisionFactor || 50), minorAxisDivisionFactor: adjustDivisionFactor(options.minorAxisDivisionFactor || 15), numberMultipliers: options.numberMultipliers, calculateMinors: options.minorTick.visible || options.minorGrid.visible || options.calculateMinors, allowDecimals: options.allowDecimals, endOnTick: options.endOnTick, incidentOccurred: incidentOccurred, firstDayOfWeek: null === (_options$workWeek = options.workWeek) || void 0 === _options$workWeek ? void 0 : _options$workWeek[0], skipTickGeneration: skipTickGeneration, skipCalculationLimits: options.skipCalculationLimits, generateExtraTick: options.generateExtraTick, minTickInterval: options.minTickInterval, rangeIsEmpty: rangeIsEmpty }) } function createMajorTick(axis, renderer, skippedCategory) { var options = axis.getOptions(); return (0, _tick.tick)(axis, renderer, options.tick, options.grid, skippedCategory, false) } function createMinorTick(axis, renderer) { var options = axis.getOptions(); return (0, _tick.tick)(axis, renderer, options.minorTick, options.minorGrid) } function createBoundaryTick(axis, renderer, isFirst) { var options = axis.getOptions(); return (0, _tick.tick)(axis, renderer, (0, _extend.extend)({}, options.tick, { visible: options.showCustomBoundaryTicks }), options.grid, void 0, false, isFirst ? -1 : 1) } function callAction(elements, action, actionArgument1, actionArgument2) { (elements || []).forEach((function(e) { return e[action](actionArgument1, actionArgument2) })) } function initTickCoords(ticks) { callAction(ticks, "initCoords") } function drawTickMarks(ticks, options) { callAction(ticks, "drawMark", options) } function drawGrids(ticks, drawLine) { callAction(ticks, "drawGrid", drawLine) } function updateTicksPosition(ticks, options, animate) { callAction(ticks, "updateTickPosition", options, animate) } function updateGridsPosition(ticks, animate) { callAction(ticks, "updateGridPosition", animate) } function cleanUpInvalidTicks(ticks) { var i = ticks.length - 1; for (i; i >= 0; i--) { if (!removeInvalidTick(ticks, i)) { break } } for (i = 0; i < ticks.length; i++) { if (removeInvalidTick(ticks, i)) { i-- } else { break } } } function removeInvalidTick(ticks, i) { if (null === ticks[i].coords.x || null === ticks[i].coords.y) { ticks.splice(i, 1); return true } return false } function getOptimalAngle(boxes, labelOpt) { var angle = 180 * _math.asin((boxes[0].height + labelOpt.minSpacing) / (boxes[1].x - boxes[0].x)) / _math.PI; return angle < 45 ? -45 : -90 } function updateLabels(ticks, step, func) { ticks.forEach((function(tick, index) { if (tick.getContentContainer()) { if (index % step !== 0) { tick.removeLabel() } else if (func) { func(tick, index) } } })) } function getZoomBoundValue(optionValue, dataValue) { if (void 0 === optionValue) { return dataValue } else if (null === optionValue) { return } else { return optionValue } } var Axis = function(renderSettings) { this._renderer = renderSettings.renderer; this._incidentOccurred = renderSettings.incidentOccurred; this._eventTrigger = renderSettings.eventTrigger; this._stripsGroup = renderSettings.stripsGroup; this._stripLabelAxesGroup = renderSettings.stripLabelAxesGroup; this._labelsAxesGroup = renderSettings.labelsAxesGroup; this._constantLinesGroup = renderSettings.constantLinesGroup; this._scaleBreaksGroup = renderSettings.scaleBreaksGroup; this._axesContainerGroup = renderSettings.axesContainerGroup; this._gridContainerGroup = renderSettings.gridGroup; this._axisCssPrefix = renderSettings.widgetClass + "-" + (renderSettings.axisClass ? renderSettings.axisClass + "-" : ""); this._setType(renderSettings.axisType, renderSettings.drawingType); this._createAxisGroups(); this._translator = this._createTranslator(); this.isArgumentAxis = renderSettings.isArgumentAxis; this._viewport = {}; this._prevDataInfo = {}; this._firstDrawing = true; this._initRange = {}; this._getTemplate = renderSettings.getTemplate }; exports.Axis = Axis; Axis.prototype = { constructor: Axis, _drawAxis: function() { var options = this._options; if (!options.visible) { return } this._axisElement = this._createAxisElement(); this._updateAxisElementPosition(); this._axisElement.attr({ "stroke-width": options.width, stroke: options.color, "stroke-opacity": options.opacity }).sharp(this._getSharpParam(true), this.getAxisSharpDirection()).append(this._axisLineGroup) }, _createPathElement: function(points, attr, sharpDirection) { return this.sharp(this._renderer.path(points, "line").attr(attr), sharpDirection) }, sharp: function(svgElement) { var sharpDirection = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1; return svgElement.sharp(this._getSharpParam(), sharpDirection) }, customPositionIsAvailable: function() { return false }, getOrthogonalAxis: _common.noop, getCustomPosition: _common.noop, getCustomBoundaryPosition: _common.noop, resolveOverlappingForCustomPositioning: _common.noop, hasNonBoundaryPosition: function() { return false }, customPositionIsBoundaryOrthogonalAxis: function() { return false }, getResolvedBoundaryPosition: function() { return this.getOptions().position }, getAxisSharpDirection: function() { var position = this.getResolvedBoundaryPosition(); return this.hasNonBoundaryPosition() || position !== BOTTOM && position !== RIGHT ? 1 : -1 }, getSharpDirectionByCoords: function(coords) { var canvas = this._getCanvasStartEnd(); var maxCoord = Math.max(canvas.start, canvas.end); return this.getRadius ? 0 : maxCoord !== coords[this._isHorizontal ? "x" : "y"] ? 1 : -1 }, _getGridLineDrawer: function() { var that = this; return function(tick, gridStyle) { var grid = that._getGridPoints(tick.coords); if (grid.points) { return that._createPathElement(grid.points, gridStyle, that.getSharpDirectionByCoords(tick.coords)) } return null } }, _getGridPoints: function(coords) { var isHorizontal = this._isHorizontal; var tickPositionField = isHorizontal ? "x" : "y"; var orthogonalPositions = this._orthogonalPositions; var positionFrom = orthogonalPositions.start; var positionTo = orthogonalPositions.end; var borderOptions = this.borderOptions; var canvasStart = isHorizontal ? LEFT : TOP; var canvasEnd = isHorizontal ? RIGHT : BOTTOM; var axisCanvas = this.getCanvas(); var canvas = { left: axisCanvas.left, right: axisCanvas.width - axisCanvas.right, top: axisCanvas.top, bottom: axisCanvas.height - axisCanvas.bottom }; var firstBorderLinePosition = borderOptions.visible && borderOptions[canvasStart] ? canvas[canvasStart] : void 0; var lastBorderLinePosition = borderOptions.visible && borderOptions[canvasEnd] ? canvas[canvasEnd] : void 0; var minDelta = 4 + firstBorderLinePosition; var maxDelta = lastBorderLinePosition - 4; if (this.areCoordsOutsideAxis(coords) || void 0 === coords[tickPositionField] || coords[tickPositionField] < minDelta || coords[tickPositionField] > maxDelta) { return { points: null } } return { points: isHorizontal ? null !== coords[tickPositionField] ? [coords[tickPositionField], positionFrom, coords[tickPositionField], positionTo] : null : null !== coords[tickPositionField] ? [positionFrom, coords[tickPositionField], positionTo, coords[tickPositionField]] : null } }, _getConstantLinePos: function(parsedValue, canvasStart, canvasEnd) { var value = this._getTranslatedCoord(parsedValue); if (!(0, _type.isDefined)(value) || value < _min(canvasStart, canvasEnd) || value > _max(canvasStart, canvasEnd)) { return } return value }, _getConstantLineGraphicAttributes: function(value) { var positionFrom = this._orthogonalPositions.start; var positionTo = this._orthogonalPositions.end; return { points: this._isHorizontal ? [value, positionFrom, value, positionTo] : [positionFrom, value, positionTo, value] } }, _createConstantLine: function(value, attr) { return this._createPathElement(this._getConstantLineGraphicAttributes(value).points, attr, (coord = value, axisCanvas = this._getCanvasStartEnd(), Math.max(axisCanvas.start, axisCanvas.end) !== coord ? 1 : -1)); var coord, axisCanvas }, _drawConstantLineLabelText: function(text, x, y, _ref2, group) { var font = _ref2.font, cssClass = _ref2.cssClass; return this._renderer.text(text, x, y).css((0, _utils.patchFontOptions)((0, _extend.extend)({}, this._options.label.font, font))).attr({ align: "center", class: cssClass }).append(group) }, _drawConstantLineLabels: function(parsedValue, lineLabelOptions, value, group) { var _text; var text = lineLabelOptions.text; var options = this._options; var labelOptions = options.label; this._checkAlignmentConstantLineLabels(lineLabelOptions); text = null !== (_text = text) && void 0 !== _text ? _text : this.formatLabel(parsedValue, labelOptions); var coords = this._getConstantLineLabelsCoords(value, lineLabelOptions); return this._drawConstantLineLabelText(text, coords.x, coords.y, lineLabelOptions, group) }, _getStripPos: function(startValue, endValue, canvasStart, canvasEnd, range) { var isContinuous = !!(range.minVisible || range.maxVisible); var categories = (range.categories || []).reduce((function(result, cat) { result.push(cat.valueOf()); return result }), []); var start; var end; var swap; var startCategoryIndex; var endCategoryIndex; if (!isContinuous) { if ((0, _type.isDefined)(startValue) && (0, _type.isDefined)(endValue)) { var _parsedStartValue$val, _parsedEndValue$value; var parsedStartValue = this.parser(startValue); var parsedEndValue = this.parser(endValue); startCategoryIndex = categories.indexOf(null !== (_parsedStartValue$val = null === parsedStartValue || void 0 === parsedStartValue ? void 0 : parsedStartValue.valueOf()) && void 0 !== _parsedStartValue$val ? _parsedStartValue$val : void 0); endCategoryIndex = categories.indexOf(null !== (_parsedEndValue$value = null === parsedEndValue || void 0 === parsedEndValue ? void 0 : parsedEndValue.valueOf()) && void 0 !== _parsedEndValue$value ? _parsedEndValue$value : void 0); if (-1 === startCategoryIndex || -1 === endCategoryIndex) { return { from: 0, to: 0, outOfCanvas: true } } if (startCategoryIndex > endCategoryIndex) { swap = endValue; endValue = startValue; startValue = swap } } } if ((0, _type.isDefined)(startValue)) { startValue = this.validateUnit(startValue, "E2105", "strip"); start = this._getTranslatedCoord(startValue, -1) } else { start = canvasStart } if ((0, _type.isDefined)(endValue)) { endValue = this.validateUnit(endValue, "E2105", "strip"); end = this._getTranslatedCoord(endValue, 1) } else { end = canvasEnd } var stripPosition = start < end ? { from: start, to: end } : { from: end, to: start }; var visibleArea = this.getVisibleArea(); if (stripPosition.from <= visibleArea[0] && stripPosition.to <= visibleArea[0] || stripPosition.from >= visibleArea[1] && stripPosition.to >= visibleArea[1]) { stripPosition.outOfCanvas = true } return stripPosition }, _getStripGraphicAttributes: function(fromPoint, toPoint) { var x; var y; var width; var height; var orthogonalPositions = this._orthogonalPositions; var positionFrom = orthogonalPositions.start; var positionTo = orthogonalPositions.end; if (this._isHorizontal) { x = fromPoint; y = _min(positionFrom, positionTo); width = toPoint - fromPoint; height = _abs(positionFrom - positionTo) } else { x = _min(positionFrom, positionTo); y = fromPoint; width = _abs(positionFrom - positionTo); height = _abs(fromPoint - toPoint) } return { x: x, y: y, width: width, height: height } }, _createStrip: function(attrs) { return this._renderer.rect(attrs.x, attrs.y, attrs.width, attrs.height) }, _adjustStripLabels: function() { var that = this; this._strips.forEach((function(strip) { if (strip.label) { strip.label.attr(that._getAdjustedStripLabelCoords(strip)) } })) }, _adjustLabelsCoord: function(offset, maxWidth, checkCanvas) { var _this = this; var getContainerAttrs = function(tick) { return _this._getLabelAdjustedCoord(tick, offset + (tick.labelOffset || 0), maxWidth, checkCanvas) }; this._majorTicks.forEach((function(tick) { if (tick.label) { tick.updateMultilineTextAlignment(); tick.label.attr(getContainerAttrs(tick)) } else { tick.templateContainer && tick.templateContainer.attr(getContainerAttrs(tick)) } })) }, _adjustLabels: function(offset) { var options = this.getOptions(); var positionsAreConsistent = options.position === options.label.position; var maxSize = this._majorTicks.reduce((function(size, tick) { if (!tick.getContentContainer()) { return size } var bBox = tick.labelRotationAngle ? (0, _utils.rotateBBox)(tick.labelBBox, [tick.labelCoords.x, tick.labelCoords.y], -tick.labelRotationAngle) : tick.labelBBox; return { width: _max(size.width || 0, bBox.width), height: _max(size.height || 0, bBox.height), offset: _max(size.offset || 0, tick.labelOffset || 0) } }), {}); var additionalOffset = positionsAreConsistent ? this._isHorizontal ? maxSize.height : maxSize.width : 0; this._adjustLabelsCoord(offset, maxSize.width); return offset + additionalOffset + (additionalOffset && this._options.label.indentFromAxis) + (positionsAreConsistent ? maxSize.offset : 0) }, _getLabelAdjustedCoord: function(tick, offset, maxWidth) { offset = offset || 0; var options = this._options; var templateBox = tick.templateContainer && tick.templateContainer.getBBox(); var box = templateBox || (0, _utils.rotateBBox)(tick.labelBBox, [tick.labelCoords.x, tick.labelCoords.y], -tick.labelRotationAngle || 0); var textAlign = tick.labelAlignment || options.label.alignment; var isDiscrete = "discrete" === this._options.type; var isFlatLabel = tick.labelRotationAngle % 90 === 0; var indentFromAxis = options.label.indentFromAxis; var labelPosition = options.label.position; var axisPosition = this._axisPosition; var labelCoords = tick.labelCoords; var labelX = labelCoords.x; var translateX; var translateY; if (this._isHorizontal) { if (labelPosition === BOTTOM) { translateY = axisPosition + indentFromAxis - box.y + offset } else { translateY = axisPosition - indentFromAxis - (box.y + box.height) - offset } if (textAlign === RIGHT) { translateX = isDiscrete && isFlatLabel ? tick.coords.x - (box.x + box.width) : labelX - box.x - box.width } else if (textAlign === LEFT) { translateX = isDiscrete && isFlatLabel ? labelX - box.x - (tick.coords.x - labelX) : labelX - box.x } else { translateX = labelX - box.x - box.width / 2 } } else { translateY = labelCoords.y - box.y - box.height / 2; if (labelPosition === LEFT) { if (textAlign === LEFT) { translateX = axisPosition - indentFromAxis - maxWidth - box.x } else if (textAlign === CENTER) { translateX = axisPosition - indentFromAxis - maxWidth / 2 - box.x - box.width / 2 } else { translateX = axisPosition - indentFromAxis - box.x - box.width } translateX -= offset } else { if (textAlign === RIGHT) { translateX = axisPosition + indentFromAxis + maxWidth - box.x - box.width } else if (textAlign === CENTER) { translateX = axisPosition + indentFromAxis + maxWidth / 2 - box.x - box.width / 2 } else { translateX = axisPosition + indentFromAxis - box.x } translateX += offset } } return { translateX: translateX, translateY: translateY } }, _createAxisConstantLineGroups: function() { var renderer = this._renderer; var classSelector = this._axisCssPrefix; var constantLinesClass = classSelector + "constant-lines"; var insideGroup = renderer.g().attr({ class: constantLinesClass }); var outsideGroup1 = renderer.g().attr({ class: constantLinesClass }); var outsideGroup2 = renderer.g().attr({ class: constantLinesClass }); return { inside: insideGroup, outside1: outsideGroup1, left: outsideGroup1, top: outsideGroup1, outside2: outsideGroup2, right: outsideGroup2, bottom: outsideGroup2, remove: function() { this.inside.remove(); this.outside1.remove(); this.outside2.remove() }, clear: function() { this.inside.clear(); this.outside1.clear(); this.outside2.clear() } } }, _createAxisGroups: function() { var renderer = this._renderer; var classSelector = this._axisCssPrefix; this._axisGroup = renderer.g().attr({ class: classSelector + "axis" }).enableLinks(); this._axisStripGroup = renderer.g().attr({ class: classSelector + "strips" }); this._axisGridGroup = renderer.g().attr({ class: classSelector + "grid" }); this._axisElementsGroup = renderer.g().attr({ class: classSelector + "elements" }); this._axisLineGroup = renderer.g().attr({ class: classSelector + "line" }).linkOn(this._axisGroup, "axisLine").linkAppend(); this._axisTitleGroup = renderer.g().attr({ class: classSelector + "title" }).append(this._axisGroup); this._axisConstantLineGroups = { above: this._createAxisConstantLineGroups(), under: this._createAxisConstantLineGroups() }; this._axisStripLabelGroup = renderer.g().attr({ class: classSelector + "axis-labels" }) }, _clearAxisGroups: function() { this._axisGroup.remove(); this._axisStripGroup.remove(); this._axisStripLabelGroup.remove(); this._axisConstantLineGroups.above.remove(); this._axisConstantLineGroups.under.remove(); this._axisGridGroup.remove(); this._axisTitleGroup.clear(); if (!this._options.label.template || !this.isRendered()) { this._axisElementsGroup.remove(); this._axisElementsGroup.clear() } this._axisLineGroup && this._axisLineGroup.clear(); this._axisStripGroup && this._axisStripGroup.clear(); this._axisGridGroup && this._axisGridGroup.clear(); this._axisConstantLineGroups.above.clear(); this._axisConstantLineGroups.under.clear(); this._axisStripLabelGroup && this._axisStripLabelGroup.clear() }, _getLabelFormatObject: function(value, labelOptions, range, point, tickInterval, ticks) { range = range || this._getViewportRange(); var formatObject = { value: value, valueText: (0, _smart_formatter.smartFormatter)(value, { labelOptions: labelOptions, ticks: ticks || convertTicksToValues(this._majorTicks), tickInterval: null !== tickInterval && void 0 !== tickInterval ? tickInterval : this._tickInterval, dataType: this._options.dataType, logarithmBase: this._options.logarithmBase, type: this._options.type, showTransition: !this._options.marker.visible, point: point }) || "", min: range.minVisible, max: range.maxVisible }; if (point) { formatObject.point = point } return formatObject }, formatLabel: function(value, labelOptions, range, point, tickInterval, ticks) { var formatObject = this._getLabelFormatObject(value, labelOptions, range, point, tickInterval, ticks); return (0, _type.isFunction)(labelOptions.customizeText) ? labelOptions.customizeText.call(formatObject, formatObject) : formatObject.valueText }, formatHint: function(value, labelOptions, range) { var formatObject = this._getLabelFormatObject(value, labelOptions, range); return (0, _type.isFunction)(labelOptions.customizeHint) ? labelOptions.customizeHint.call(formatObject, formatObject) : void 0 }, formatRange: function(startValue, endValue, interval, argumentFormat) { return (0, _smart_formatter.formatRange)({ startValue: startValue, endValue: endValue, tickInterval: interval, argumentFormat: argumentFormat, axisOptions: this.getOptions() }) }, _setTickOffset: function() { var options = this._options; var discreteAxisDivisionMode = options.discreteAxisDivisionMode; this._tickOffset = +("crossLabels" !== discreteAxisDivisionMode || !discreteAxisDivisionMode) }, aggregatedPointBetweenTicks: function() { return "crossTicks" === this._options.aggregatedPointsPosition }, resetApplyingAnimation: function(isFirstDrawing) { this._resetApplyingAnimation = true; if (isFirstDrawing) { this._firstDrawing = true } }, isFirstDrawing: function() { return this._firstDrawing }, getMargins: function() { var that = this; var _that$_options = that._options, position = _that$_options.position, offset = _that$_options.offset, customPosition = _that$_options.customPosition, placeholderSize = _that$_options.placeholderSize, grid = _that$_options.grid, tick = _that$_options.tick, crosshairMargin = _that$_options.crosshairMargin; var isDefinedCustomPositionOption = (0, _type.isDefined)(customPosition); var boundaryPosition = that.getResolvedBoundaryPosition(); var canvas = that.getCanvas(); var cLeft = canvas.left; var cTop = canvas.top; var cRight = canvas.width - canvas.right; var cBottom = canvas.height - canvas.bottom; var edgeMarginCorrection = _max(grid.visible && grid.width || 0, tick.visible && tick.width || 0); var constantLineAboveSeries = that._axisConstantLineGroups.above; var constantLineUnderSeries = that._axisConstantLineGroups.under; var boxes = [that._axisElementsGroup, constantLineAboveSeries.outside1, constantLineAboveSeries.outside2, constantLineUnderSeries.outside1, constantLineUnderSeries.outside2, that._axisLineGroup].map((function(group) { return group && group.getBBox() })).concat(function(group) { var box = group && group.getBBox(); if (!box || box.isEmpty) { return box } if (that._isHorizontal) { box.x = cLeft; box.width = cRight - cLeft } else { box.y = cTop; box.height = cBottom - cTop } return box }(that._axisTitleGroup)); var margins = (0, _axes_utils.calculateCanvasMargins)(boxes, canvas); margins[position] += crosshairMargin; if (that.hasNonBoundaryPosition() && isDefinedCustomPositionOption) { margins[boundaryPosition] = 0 } if (placeholderSize) { margins[position] = placeholderSize } if (edgeMarginCorrection) { if (that._isHorizontal && canvas.right < edgeMarginCorrection && margins.right < edgeMarginCorrection) { margins.right = edgeMarginCorrection } if (!that._isHorizontal && canvas.bottom < edgeMarginCorrection && margins.bottom < edgeMarginCorrection) { margins.bottom = edgeMarginCorrection } } if (!isDefinedCustomPositionOption && (0, _type.isDefined)(offset)) { var moveByOffset = that.customPositionIsBoundary() && (offset > 0 && (boundaryPosition === LEFT || boundaryPosition === TOP) || offset < 0 && (boundaryPosition === RIGHT || boundaryPosition === BOTTOM)); margins[boundaryPosition] -= moveByOffset ? offset : 0 } return margins }, validateUnit: function(unit, idError, parameters) { unit = this.parser(unit); if (void 0 === unit && idError) { this._incidentOccurred(idError, [parameters]) } return unit }, _setType: function(axisType, drawingType) { var axisTypeMethods; switch (axisType) { case "xyAxes": axisTypeMethods = _xy_axes.default; break; case "polarAxes": axisTypeMethods = polarMethods }(0, _extend.extend)(this, axisTypeMethods[drawingType]) }, _getSharpParam: function() { return true }, _disposeBreaksGroup: _common.noop, dispose: function() { [this._axisElementsGroup, this._axisStripGroup, this._axisGroup].forEach((function(g) { g.dispose() })); this._strips = this._title = null; this._axisStripGroup = this._axisConstantLineGroups = this._axisStripLabelGroup = this._axisBreaksGroup = null; this._axisLineGroup = this._axisElementsGroup = this._axisGridGroup = null; this._axisGroup = this._axisTitleGroup = null; this._axesContainerGroup = this._stripsGroup = this._constantLinesGroup = this._labelsAxesGroup = null; this._renderer = this._options = this._textOptions = this._textFontStyles = null; this._translator = null; this._majorTicks = this._minorTicks = null; this._disposeBreaksGroup(); this._templatesRendered && this._templatesRendered.reject() }, getOptions: function() { return this._options }, setPane: function(pane) { this.pane = pane; this._options.pane = pane }, setTypes: function(type, axisType, typeSelector) { this._options.type = type || this._options.type; this._options[typeSelector] = axisType || this._options[typeSelector]; this._updateTranslator() }, resetTypes: function(typeSelector) { this._options.type = this._initTypes.type; this._options[typeSelector] = this._initTypes[typeSelector] }, getTranslator: function() { return this._translator }, updateOptions: function(options) { var that = this; var labelOpt = options.label; ! function(options) { var _labelOptions$minSpac; var labelOptions = options.label; var position = options.position; var defaultPosition = options.isHorizontal ? BOTTOM : LEFT; var secondaryPosition = options.isHorizontal ? TOP : RIGHT; var labelPosition = labelOptions.position; if (position !== defaultPosition && position !== secondaryPosition) { position = defaultPosition } if (!labelPosition || "outside" === labelPosition) { labelPosition = position } else if ("inside" === labelPosition) { var _TOP$BOTTOM$LEFT$RIGH; labelPosition = (_TOP$BOTTOM$LEFT$RIGH = {}, _defineProperty(_TOP$BOTTOM$LEFT$RIGH, TOP, BOTTOM), _defineProperty(_TOP$BOTTOM$LEFT$RIGH, BOTTOM, TOP), _defineProperty(_TOP$BOTTOM$LEFT$RIGH, LEFT, RIGHT), _defineProperty(_TOP$BOTTOM$LEFT$RIGH, RIGHT, LEFT), _TOP$BOTTOM$LEFT$RIGH)[position] } if (labelPosition !== defaultPosition && labelPosition !== secondaryPosition) { labelPosition = position } if (labelOptions.alignment !== CENTER && !labelOptions.userAlignment) { var _TOP$BOTTOM$LEFT$RIGH2; labelOptions.alignment = (_TOP$BOTTOM$LEFT$RIGH2 = {}, _defineProperty(_TOP$BOTTOM$LEFT$RIGH2, TOP, CENTER), _defineProperty(_TOP$BOTTOM$LEFT$RIGH2, BOTTOM, CENTER), _defineProperty(_TOP$BOTTOM$LEFT$RIGH2, LEFT, RIGHT), _defineProperty(_TOP$BOTTOM$LEFT$RIGH2, RIGHT, LEFT), _TOP$BOTTOM$LEFT$RIGH2)[labelPosition] } options.position = position; labelOptions.position = labelPosition; options.hoverMode = options.hoverMode ? options.hoverMode.toLowerCase() : "none"; labelOptions.minSpacing = null !== (_labelOptions$minSpac = labelOptions.minSpacing) && void 0 !== _labelOptions$minSpac ? _labelOptions$minSpac : 5; options.type && (options.type = options.type.toLowerCase()); options.argumentType && (options.argumentType = options.argumentType.toLowerCase()); options.valueType && (options.valueType = options.valueType.toLowerCase()) }(options); ! function(isValueAxis, options) { if (isValueAxis && "shift" === options.visualRangeUpdateMode) { _errors.default.log("W0016", "valueAxis.visualRangeUpdateMode", "shift", "23.1", "Specify another value") } }(!that.isArgumentAxis, options); that._options = options; options.tick = options.tick || {}; options.minorTick = options.minorTick || {}; options.grid = options.grid || {}; options.minorGrid = options.minorGrid || {}; options.title = options.title || {}; options.marker = options.marker || {}; that._initTypes = { type: options.type, argumentType: options.argumentType, valueType: options.valueType }; that._setTickOffset(); that._isHorizontal = options.isHorizontal; that.pane = options.pane; that.name = options.name; that.priority = options.priority; that._hasLabelFormat = "" !== labelOpt.format && (0, _type.isDefined)(labelOpt.format); that._textOptions = { opacity: labelOpt.opacity, align: "center", class: labelOpt.cssClass }; that._textFontStyles = (0, _utils.patchFontOptions)(labelOpt.font); if (options.type === _axes_constants.default.logarithmic) { if (options.logarithmBaseError) { that._incidentOccurred("E2104"); delete options.logarithmBaseError } } that._updateTranslator(); that._createConstantLines(); that._strips = (options.strips || []).map((function(o) { return (0, _strip.default)(that, o) })); that._majorTicks = that._minorTicks = null; that._firstDrawing = true }, calculateInterval: function(value, prevValue) { var options = this._options; if (!options || options.type !== _axes_constants.default.logarithmic) { return _abs(value - prevValue) } var _Range = new _range.Range(this.getTranslator().getBusinessRange()), allowNegatives = _Range.allowNegatives, linearThreshold = _Range.linearThreshold; return _abs((0, _utils.getLogExt)(value, options.logarithmBase, allowNegatives, linearThreshold) - (0, _utils.getLogExt)(prevValue, options.logarithmBase, allowNegatives, linearThreshold)) }, getCanvasRange: function() { var translator = this._translator; return { startValue: translator.from(translator.translate("canvas_position_start")), endValue: translator.from(translator.translate("canvas_position_end")) } }, _processCanvas: function(canvas) { return canvas }, updateCanvas: function(canvas, canvasRedesign) { if (!canvasRedesign) { var positions = this._orthogonalPositions = { start: !this._isHorizontal ? canvas.left : canvas.top, end: !this._isHorizontal ? canvas.width - canvas.right : canvas.height - canvas.bottom }; positions.center = positions.start + (positions.end - positions.start) / 2 } else { this._orthogonalPositions = null } this._canvas = canvas; this._translator.updateCanvas(this._processCanvas(canvas)); this._initAxisPositions() }, getCanvas: function() { return this._canvas }, getAxisShift: function() { return this._axisShift || 0 }, hideTitle: function() { if (this._options.title.text) { this._incidentOccurred("W2105", [this._isHorizontal ? "horizontal" : "vertical"]); this._axisTitleGroup.clear() } }, getTitle: function() { return this._title }, hideOuterElements: function() { var options = this._options; if ((options.label.visible || this._outsideConstantLines.length) && !this._translator.getBusinessRange().isEmpty()) { this._incidentOccurred("W2106", [this._isHorizontal ? "horizontal" : "vertical"]); this._axisElementsGroup.clear(); callAction(this._outsideConstantLines, "removeLabel") } }, _resolveLogarithmicOptionsForRange: function(range) { var options = this._options; if (options.type === _axes_constants.default.logarithmic) { range.addRange({ allowNegatives: void 0 !== options.allowNegatives ? options.allowNegatives : range.min <= 0 }); if (!isNaN(options.linearThreshold)) { range.linearThreshold = options.linearThreshold } } }, adjustViewport: function(businessRange) { var options = this._options; var isDiscrete = options.type === _axes_constants.default.discrete; var categories = this._seriesData && this._seriesData.categories || []; var wholeRange = this.adjustRange((0, _utils.getVizRangeObject)(options.wholeRange)); var visualRange = this.getViewport() || {}; var result = new _range.Range(businessRange); this._addConstantLinesToRange(result); var minDefined = (0, _type.isDefined)(visualRange.startValue); var maxDefined = (0, _type.isDefined)(visualRange.endValue); if (!isDiscrete) { minDefined = minDefined && (!(0, _type.isDefined)(wholeRange.endValue) || visualRange.startValue < wholeRange.endValue); maxDefined = maxDefined && (!(0, _type.isDefined)(wholeRange.startValue) || visualRange.endValue > wholeRange.startValue) } var minVisible = minDefined ? visualRange.startValue : result.minVisible; var maxVisible = maxDefined ? visualRange.endValue : result.maxVisible; if (!isDiscrete) { var _wholeRange$startValu, _wholeRange$endValue; result.min = null !== (_wholeRange$startValu = wholeRange.startValue) && void 0 !== _wholeRange$startValu ? _wholeRange$startValu : result.min; result.max = null !== (_wholeRange$endValue = wholeRange.endValue) && void 0 !== _wholeRange$endValue ? _wholeRange$endValue : result.max } else { var categoriesInfo = (0, _utils.getCategoriesInfo)(categories, wholeRange.startValue, wholeRange.endValue); categories = categoriesInfo.categories; result.categories = categories } var adjustedVisualRange = (0, _utils.adjustVisualRange)({ axisType: options.type, dataType: options.dataType, base: options.logarithmBase }, { startValue: minDefined ? visualRange.startValue : void 0, endValue: maxDefined ? visualRange.endValue : void 0, length: visualRange.length }, { categories: categories, min: wholeRange.startValue, max: wholeRange.endValue }, { categories: categories, min: minVisible, max: maxVisible }); result.minVisible = adjustedVisualRange.startValue; result.maxVisible = adjustedVisualRange.endValue; !(0, _type.isDefined)(result.min) && (result.min = result.minVisible); !(0, _type.isDefined)(result.max) && (result.max = result.maxVisible); result.addRange({}); this._resolveLogarithmicOptionsForRange(result); return result }, adjustRange: function(range) { range = range || {}; var isDiscrete = this._options.type === _axes_constants.default.discrete; var isLogarithmic = this._options.type === _axes_constants.default.logarithmic; var disabledNegatives = false === this._options.allowNegatives; if (isLogarithmic) { range.startValue = disabledNegatives && range.startValue <= 0 ? null : range.startValue; range.endValue = disabledNegatives && range.endValue <= 0 ? null : range.endValue } if (!isDiscrete && (0, _type.isDefined)(range.startValue) && (0, _type.isDefined)(range.endValue) && range.startValue > range.endValue) { var tmp = range.endValue; range.endValue = range.startValue; range.startValue = tmp } return range }, _getVisualRangeUpdateMode: function(viewport, newRange, oppositeValue) { var value = this._options.visualRangeUpdateMode; var translator = this._translator; var range = this._seriesData; var prevDataInfo = this._prevDataInfo; if (prevDataInfo.isEmpty && !prevDataInfo.containsConstantLine) { return KEEP } if (!this.isArgumentAxis) { var _viewport = this.getViewport(); if (!(0, _type.isDefined)(_viewport.startValue) && !(0, _type.isDefined)(_viewport.endValue) && !(0, _type.isDefined)(_viewport.length)) { return RESET } } if (this.isArgumentAxis) { if (-1 === [SHIFT, KEEP, RESET].indexOf(value)) { if (range.axisType === _axes_constants.default.discrete) { var categories = range.categories; var newCategories = newRange.categories; var visualRange = this.visualRange(); if (categories && newCategories && categories.length && -1 !== newCategories.map((function(c) { return c.valueOf() })).join(",").indexOf(categories.map((function(c) { return c.valueOf() })).join(",")) && (visualRange.startValue.valueOf() !== categories[0].valueOf() || visualRange.endValue.valueOf() !== categories[categories.length - 1].valueOf())) { value = KEEP } else { value = RESET } } else { var minPoint = translator.translate(range.min); var minVisiblePoint = translator.translate(viewport.startValue); var maxPoint = translator.translate(range.max); var maxVisiblePoint = translator.translate(viewport.endValue); if (minPoint === minVisiblePoint && maxPoint === maxVisiblePoint) { value = RESET } else if (minPoint !== minVisiblePoint && maxPoint === maxVisiblePoint) { value = SHIFT } else { value = KEEP } } if (value === KEEP && prevDataInfo.isEmpty && prevDataInfo.containsConstantLine) { value = RESET } } } else if (-1 === [KEEP, RESET].indexOf(value)) { if (oppositeValue === KEEP) { value = KEEP } else { value = RESET } } return value }, _handleBusinessRangeChanged: function(oppositeVisualRangeUpdateMode, axisReinitialized, newRange) { var visualRange = this.visualRange(); if (axisReinitialized || this._translator.getBusinessRange().isEmpty()) { return } var visualRangeUpdateMode = this._lastVisualRangeUpdateMode = this._getVisualRangeUpdateMode(visualRange, newRange, oppositeVisualRangeUpdateMode); if (visualRangeUpdateMode === KEEP) { this._setVisualRange([visualRange.startValue, visualRange.endValue]) } else if (visualRangeUpdateMode === RESET) { this._setVisualRange([null, null]) } else if (visualRangeUpdateMode === SHIFT) { this._setVisualRange({ length: this.getVisualRangeLength() }) } }, getVisualRangeLength: function(range) { var currentBusinessRange = range || this._translator.getBusinessRange(); var type = this._options.type; var length; if (type === _axes_constants.default.logarithmic) { length = (0, _math2.adjust)(this.calculateInterval(currentBusinessRange.maxVisible, currentBusinessRange.minVisible)) } else if (type === _axes_constants.default.discrete) { var categoriesInfo = (0, _utils.getCategoriesInfo)(currentBusinessRange.categories, currentBusinessRange.minVisible, currentBusinessRange.maxVisible); length = categoriesInfo.categories.length } else { length = currentBusinessRange.maxVisible - currentBusinessRange.minVisible } return length }, getVisualRangeCenter: function(range, useMerge) { var translator = this.getTranslator(); var businessRange = translator.getBusinessRange(); var currentBusinessRange = useMerge ? (0, _extend.extend)(true, {}, businessRange, range || {}) : range || businessRange; var _this$_options = this._options, type = _this$_options.type, logarithmBase = _this$_options.logarithmBase; var center; if (!(0, _type.isDefined)(currentBusinessRange.minVisible) || !(0, _type.isDefined)(currentBusinessRange.maxVisible)) { return } if (type === _axes_constants.default.logarithmic) { var allowNegatives = currentBusinessRange.allowNegatives, linearThreshold = currentBusinessRange.linearThreshold, minVisible = currentBusinessRange.minVisible, maxVisible = currentBusinessRange.maxVisible; center = (0, _utils.raiseToExt)((0, _math2.adjust)((0, _utils.getLogExt)(maxVisible, logarithmBase, allowNegatives, linearThreshold) + (0, _utils.getLogExt)(minVisible, logarithmBase, allowNegatives, linearThreshold)) / 2, logarithmBase, allowNegatives, linearThreshold) } else if (type === _axes_constants.default.discrete) { var categoriesInfo = (0, _utils.getCategoriesInfo)(currentBusinessRange.categories, currentBusinessRange.minVisible, currentBusinessRange.maxVisible); var index = Math.ceil(categoriesInfo.categories.length / 2) - 1; center = businessRange.categories.indexOf(categoriesInfo.categories[index]) } else { center = translator.toValue((currentBusinessRange.maxVisible.valueOf() + currentBusinessRange.minVisible.valueOf()) / 2) } return center }, setBusinessRange: function(range, axisReinitialized, oppositeVisualRangeUpdateMode, argCategories) { var _that$_seriesData$min, _that$_seriesData$max; var options = this._options; var isDiscrete = options.type === _axes_constants.default.discrete; this._handleBusinessRangeChanged(oppositeVisualRangeUpdateMode, axisReinitialized, range); this._seriesData = new _range.Range(range); var dataIsEmpty = this._seriesData.isEmpty(); var rangeWithConstantLines = new _range.Range(this._seriesData); this._addConstantLinesToRange(rangeWithConstantLines); this._prevDataInfo = { isEmpty: dataIsEmpty, containsConstantLine: rangeWithConstantLines.containsConstantLine }; this._seriesData.addRange({ categories: options.categories, dataType: options.dataType, axisType: options.type, base: options.logarithmBase, invert: options.inverted }); this._resolveLogarithmicOptionsForRange(this._seriesData); if (!isDiscrete) { if (!(0, _type.isDefined)(this._seriesData.min) && !(0, _type.isDefined)(this._seriesData.max)) { var visualRange = this.getViewport(); visualRange && this._seriesData.addRange({ min: visualRange.startValue, max: visualRange.endValue }) } var synchronizedValue = options.synchronizedValue; if ((0, _type.isDefined)(synchronizedValue)) { this._seriesData.addRange({ min: synchronizedValue, max: synchronizedValue }) } } this._seriesData.minVisible = null !== (_that$_seriesData$min = this._seriesData.minVisible) && void 0 !== _that$_seriesData$min ? _that$_seriesData$min : this._seriesData.min; this._seriesData.maxVisible = null !== (_that$_seriesData$max = this._seriesData.maxVisible) && void 0 !== _that$_seriesData$max ? _that$_seriesData$max : this._seriesData.max; if (!this.isArgumentAxis && options.showZero) { this._seriesData.correctValueZeroLevel() } this._seriesData.sortCategories(this.getCategoriesSorter(argCategories)); this._seriesData.userBreaks = this._seriesData.isEmpty() ? [] : this._getScaleBreaks(options, this._seriesData, this._series, this.isArgumentAxis); this._translator.updateBusinessRange(this._getViewportRange()) }, _addConstantLinesToRange: function(dataRange) { this._outsideConstantLines.concat(this._insideConstantLines || []).forEach((function(cl) { if (cl.options.extendAxis) { var value = cl.getParsedValue(); dataRange.addRange({ containsConstantLine: true, minVisible: value, maxVisible: value, min: !(0, _type.isDefined)(dataRange.min) ? value : dataRange.min, max: !(0, _type.isDefined)(dataRange.max) ? value : dataRange.max }) } })) }, setGroupSeries: function(series) { this._series = series }, getLabelsPosition: function() { var options = this._options; var position = options.position; var labelShift = options.label.indentFromAxis + (this._axisShift || 0) + this._constantLabelOffset; var axisPosition = this._axisPosition; return position === TOP || position === LEFT ? axisPosition - labelShift : axisPosition + labelShift }, getFormattedValue: function(value, options, point) { var labelOptions = this._options.label; return (0, _type.isDefined)(value) ? this.formatLabel(value, (0, _extend.extend)(true, {}, labelOptions, options), void 0, point) : null }, _getBoundaryTicks: function(majors, viewPort) { var length = majors.length; var options = this._options; var customBounds = options.customBoundTicks; var min = viewPort.minVisible; var max = viewPort.maxVisible; var addMinMax = options.showCustomBoundaryTicks ? this._boundaryTicksVisibility : {}; var boundaryTicks = []; if (options.type === _axes_constants.default.discrete) { if (this._tickOffset && 0 !== majors.length) { boundaryTicks = [majors[0], majors[majors.length - 1]] } } else if (customBounds) { if (addMinMax.min && (0, _type.isDefined)(customBounds[0])) { boundaryTicks.push(customBounds[0]) } if (addMinMax.max && (0, _type.isDefined)(customBounds[1])) { boundaryTicks.push(customBounds[1]) } } else { if (addMinMax.min && (0 === length || majors[0] > min)) { boundaryTicks.push(min) } if (addMinMax.max && (0 === length || majors[length - 1] < max)) { boundaryTicks.push(max) } } return boundaryTicks }, setPercentLabelFormat: function() { if (!this._hasLabelFormat) { this._options.label.format = "percent" } }, resetAutoLabelFormat: function() { if (!this._hasLabelFormat) { delete this._options.label.format } }, getMultipleAxesSpacing: function() { return this._options.multipleAxesSpacing || 0 }, getTicksValues: function() { return { majorTicksValues: convertTicksToValues(this._majorTicks), minorTicksValues: convertTicksToValues(this._minorTicks) } }, estimateTickInterval: function(canvas) { this.updateCanvas(canvas); return this._tickInterval !== this._getTicks(this._getViewportRange(), _common.noop, true).tickInterval }, setTicks: function(ticks) { var majors = ticks.majorTicks || []; this._majorTicks = majors.map(createMajorTick(this, this._renderer, this._getSkippedCategory(majors))); this._minorTicks = (ticks.minorTicks || []).map(createMinorTick(this, this._renderer)); this._isSynchronized = true }, _adjustDivisionFactor: function(val) { return val }, _getTicks: function(viewPort, incidentOccurred, skipTickGeneration) { var options = this._options; var customTicks = options.customTicks; var customMinorTicks = options.customMinorTicks; return getTickGenerator(options, incidentOccurred || this._incidentOccurred, skipTickGeneration, this._translator.getBusinessRange().isEmpty(), this._adjustDivisionFactor.bind(this), viewPort)({ min: viewPort.minVisible, max: viewPort.maxVisible, categories: viewPort.categories, isSpacedMargin: viewPort.isSpacedMargin }, this._getScreenDelta(), options.tickInterval, "ignore" === options.label.overlappingBehavior || options.forceUserTickInterval, { majors: customTicks, minors: customMinorTicks }, options.minorTickInterval, options.minorTickCount, this._initialBreaks) }, _createTicksAndLabelFormat: function(range, incidentOccurred) { var options = this._options; var ticks = this._getTicks(range, incidentOccurred, false); if (!range.isEmpty() && options.type === _axes_constants.default.discrete && "datetime" === options.dataType && !this._hasLabelFormat && ticks.ticks.length) { options.label.format = _format_helper.default.getDateFormatByTicks(ticks.ticks) } return ticks }, getAggregationInfo: function(useAllAggregatedPoints, range) { var _visualRange$startVal, _visualRange$endValue, _that$_seriesData; var options = this._options; var marginOptions = this._marginOptions; var businessRange = new _range.Range(this.getTranslator().getBusinessRange()).addRange(range); var visualRange = this.getViewport(); var minVisible = null !== (_visualRange$startVal = null === visualRange || void 0 === visualRange ? void 0 : visualRange.startValue) && void 0 !== _visualRange$startVal ? _visualRange$startVal : businessRange.minVisible; var maxVisible = null !== (_visualRange$endValue = null === visualRange || void 0 === visualRange ? void 0 : visualRange.endValue) && void 0 !== _visualRange$endValue ? _visualRange$endValue : businessRange.maxVisible; var ticks = []; if (options.type === _axes_constants.default.discrete && options.aggregateByCategory) { return { aggregateByCategory: true } } var aggregationInterval = options.aggregationInterval; var aggregationGroupWidth = options.aggregationGroupWidth; if (!aggregationGroupWidth && marginOptions) { if (marginOptions.checkInterval) { aggregationGroupWidth = options.axisDivisionFactor } if (marginOptions.sizePointNormalState) { aggregationGroupWidth = Math.min(marginOptions.sizePointNormalState, options.axisDivisionFactor) } } var minInterval = !options.aggregationGroupWidth && !aggregationInterval && range.interval; var generateTicks = function(options, axisDivisionFactor, viewPort, screenDelta, minTickInterval) { var tickGeneratorOptions = (0, _extend.extend)({}, options, { endOnTick: true, axisDivisionFactor: axisDivisionFactor, skipCalculationLimits: true, generateExtraTick: true, minTickInterval: minTickInterval }); return function(tickInterval, skipTickGeneration, min, max, breaks) { return getTickGenerator(tickGeneratorOptions, _common.noop, skipTickGeneration, viewPort.isEmpty(), (function(v) { return v }), viewPort)({ min: min, max: max, categories: viewPort.categories, isSpacedMargin: viewPort.isSpacedMargin }, screenDelta, tickInterval, (0, _type.isDefined)(tickInterval), void 0, void 0, void 0, breaks) } }(options, aggregationGroupWidth, businessRange, this._getScreenDelta(), minInterval); var tickInterval = generateTicks(aggregationInterval, true, minVisible, maxVisible, null === (_that$_seriesData = this._seriesData) || void 0 === _that$_seriesData ? void 0 : _that$_seriesData.breaks).tickInterval; if (options.type !== _axes_constants.default.discrete) { var min = useAllAggregatedPoints ? businessRange.min : minVisible; var max = useAllAggregatedPoints ? businessRange.max : maxVisible; if ((0, _type.isDefined)(min) && (0, _type.isDefined)(max)) { var add = (0, _utils.getAddFunction)({ base: options.logarithmBase, axisType: options.type, dataType: options.dataType }, false); var start = min; var end = max; if (!useAllAggregatedPoints && (0, _type.isDefined)(tickInterval)) { var maxMinDistance = Math.max(this.calculateInterval(max, min), "datetime" === options.dataType ? _date.default.dateToMilliseconds(tickInterval) : tickInterval); start = add(min, maxMinDistance, -1); end = add(max, maxMinDistance) } start = start < businessRange.min ? businessRange.min : start; end = end > businessRange.max ? businessRange.max : end; var breaks = this._getScaleBreaks(options, { minVisible: start, maxVisible: end }, this._series, this.isArgumentAxis); var filteredBreaks = this._filterBreaks(breaks, { minVisible: start, maxVisible: end }, options.breakStyle); ticks = generateTicks(tickInterval, false, start, end, filteredBreaks).ticks } } this._aggregationInterval = tickInterval; return { interval: tickInterval, ticks: ticks } }, getTickInterval: function() { return this._tickInterval }, getAggregationInterval: function() { return this._aggregationInterval }, createTicks: function(canvas) { var that = this; var renderer = that._renderer; var options = that._options; if (!canvas) { return } that._isSynchronized = false; that.updateCanvas(canvas); var range = that._getViewportRange(); that._initialBreaks = range.breaks = this._seriesData.breaks = that._filterBreaks(this._seriesData.userBreaks, range, options.breakStyle); that._estimatedTickInterval = that._getTicks(that.adjustViewport(this._seriesData), _common.noop, true).tickInterval; var margins = this._calculateValueMargins(); range.addRange({ minVisible: margins.minValue, maxVisible: margins.maxValue, isSpacedMargin: margins.isSpacedMargin }); var ticks = that._createTicksAndLabelFormat(range); var boundaryTicks = that._getBoundaryTicks(ticks.ticks, that._getViewportRange()); if (options.showCustomBoundaryTicks && boundaryTicks.length) { that._boundaryTicks = [boundaryTicks[0]].map(createBoundaryTick(that, renderer, true)); if (boundaryTicks.length > 1) { that._boundaryTicks = that._boundaryTicks.concat([boundaryTicks[1]].map(createBoundaryTick(that, renderer, false))) } } else { that._boundaryTicks = [] } var minors = (ticks.minorTicks || []).filter((function(minor) { return !boundaryTicks.some((function(boundary) { return (0, _utils.valueOf)(boundary) === (0, _utils.valueOf)(minor) })) })); that._tickInterval = ticks.tickInterval; that._minorTickInterval = ticks.minorTickInterval; var oldMajorTicks = that._majorTicks || []; var majorTicksByValues = oldMajorTicks.reduce((function(r, t) { r[t.value.valueOf()] = t; return r }), {}); var sameType = (0, _type.type)(ticks.ticks[0]) === (0, _type.type)(oldMajorTicks[0] && oldMajorTicks[0].value); var skippedCategory = that._getSkippedCategory(ticks.ticks); var majorTicks = ticks.ticks.map((function(v) { var tick = majorTicksByValues[v.valueOf()]; if (tick && sameType) { delete majorTicksByValues[v.valueOf()]; tick.setSkippedCategory(skippedCategory); return tick } else { return createMajorTick(that, renderer, skippedCategory)(v) } })); that._majorTicks = majorTicks; var oldMinorTicks = that._minorTicks || []; that._minorTicks = minors.map((function(v, i) { var minorTick = oldMinorTicks[i]; if (minorTick) { minorTick.updateValue(v); return minorTick } return createMinorTick(that, renderer)(v) })); that._ticksToRemove = Object.keys(majorTicksByValues).map((function(k) { return majorTicksByValues[k] })).concat(oldMinorTicks.slice(that._minorTicks.length, oldMinorTicks.length)); that._ticksToRemove.forEach((function(t) { var _t$label; return null === (_t$label = t.label) || void 0 === _t$label ? void 0 : _t$label.removeTitle() })); if (ticks.breaks) { that._seriesData.breaks = ticks.breaks } that._reinitTranslator(that._getViewportRange()) }, _reinitTranslator: function(range) { var translator = this._translator; if (this._isSynchronized) { return } translator.updateBusinessRange(range) }, _getViewportRange: function() { return this.adjustViewport(this._seriesData) }, setMarginOptions: function(options) { this._marginOptions = options }, getMarginOptions: function() { var _this$_marginOptions; return null !== (_this$_marginOptions = this._marginOptions) && void 0 !== _this$_marginOptions ? _this$_marginOptions : {} }, _calculateRangeInterval: function(interval) { var isDateTime = "datetime" === this._options.dataType; var minArgs = []; var addToArgs = function(value) { (0, _type.isDefined)(value) && minArgs.push(isDateTime ? _date.default.dateToMilliseconds(value) : value) }; addToArgs(this._tickInterval); addToArgs(this._estimatedTickInterval); (0, _type.isDefined)(interval) && minArgs.push(interval); addToArgs(this._aggregationInterval); return this._calculateWorkWeekInterval(_min.apply(this, minArgs)) }, _calculateWorkWeekInterval: function(businessInterval) { var options = this._options; if ("datetime" === options.dataType && options.workdaysOnly && businessInterval) { var workWeek = options.workWeek.length * dateIntervals_day; var weekend = dateIntervals_week - workWeek; if (workWeek !== businessInterval && weekend < businessInterval) { var weekendsCount = Math.ceil(businessInterval / dateIntervals_week); businessInterval -= weekend * weekendsCount } else if (weekend >= businessInterval && businessInterval > dateIntervals_day) { businessInterval = dateIntervals_day } } return businessInterval }, _getConvertIntervalCoefficient: function(intervalInPx, screenDelta) { var ratioOfCanvasRange = this._translator.ratioOfCanvasRange(); return ratioOfCanvasRange / (ratioOfCanvasRange * screenDelta / (intervalInPx + screenDelta)) }, _calculateValueMargins: function(ticks) { this._resetMargins(); var margins = this.getMarginOptions(); var marginSize = (margins.size || 0) / 2; var options = this._options; var dataRange = this._getViewportRange(); var viewPort = this.getViewport(); var screenDelta = this._getScreenDelta(); var isDiscrete = -1 !== (options.type || "").indexOf(_axes_constants.default.discrete); var valueMarginsEnabled = options.valueMarginsEnabled && !isDiscrete && !this.customPositionIsBoundaryOrthogonalAxis(); var translator = this._translator; var minValueMargin = options.minValueMargin; var maxValueMargin = options.maxValueMargin; var minPadding = 0; var maxPadding = 0; var interval = 0; var rangeInterval; if (dataRange.stubData || !screenDelta) { return { startPadding: 0, endPadding: 0 } } if (this.isArgumentAxis && margins.checkInterval) { rangeInterval = this._calculateRangeInterval(dataRange.interval); var pxInterval = translator.getInterval(rangeInterval); if (isFinite(pxInterval)) { interval = Math.ceil(pxInterval / (2 * this._getConvertIntervalCoefficient(pxInterval, screenDelta))) } else { rangeInterval = 0 } } var minPercentPadding; var maxPercentPadding; var maxPaddingValue = .8 * screenDelta / 2; if (valueMarginsEnabled) { if ((0, _type.isDefined)(minValueMargin)) { minPercentPadding = isFinite(minValueMargin) ? minValueMargin : 0 } else if (!this.isArgumentAxis && margins.checkInterval && (0, _utils.valueOf)(dataRange.minVisible) > 0 && (0, _utils.valueOf)(dataRange.minVisible) === (0, _utils.valueOf)(dataRange.min)) { minPadding = 5 } else { minPadding = Math.max(marginSize, interval); minPadding = Math.min(maxPaddingValue, minPadding) } if ((0, _type.isDefined)(maxValueMargin)) { maxPercentPadding = isFinite(maxValueMargin) ? maxValueMargin : 0 } else if (!this.isArgumentAxis && margins.checkInterval && (0, _utils.valueOf)(dataRange.maxVisible) < 0 && (0, _utils.valueOf)(dataRange.maxVisible) === (0, _utils.valueOf)(dataRange.max)) { maxPadding = 5 } else { maxPadding = Math.max(marginSize, interval); maxPadding = Math.min(maxPaddingValue, maxPadding) } } var percentStick = margins.percentStick && !this.isArgumentAxis; if (percentStick) { if (1 === _abs(dataRange.max)) { maxPadding = 0 } if (1 === _abs(dataRange.min)) { minPadding = 0 } } var canvasStartEnd = this._getCanvasStartEnd(); var commonMargin = 1 + (minPercentPadding || 0) + (maxPercentPadding || 0); var screenDeltaWithMargins = (screenDelta - minPadding - maxPadding) / commonMargin || screenDelta; if (void 0 !== minPercentPadding || void 0 !== maxPercentPadding) { if (void 0 !== minPercentPadding) { minPadding = screenDeltaWithMargins * minPercentPadding } if (void 0 !== maxPercentPadding) { maxPadding = screenDeltaWithMargins * maxPercentPadding } } var minValue; var maxValue; if (options.type !== _axes_constants.default.discrete && ticks && ticks.length > 1 && !options.skipViewportExtending && !viewPort.action && false !== options.endOnTick) { var length = ticks.length; var firstTickPosition = translator.translate(ticks[0].value); var lastTickPosition = translator.translate(ticks[length - 1].value); var invertMultiplier = firstTickPosition > lastTickPosition ? -1 : 1; var minTickPadding = _max(invertMultiplier * (canvasStartEnd.start - firstTickPosition), 0); var maxTickPadding = _max(invertMultiplier * (lastTickPosition - canvasStartEnd.end), 0); if (minTickPadding > minPadding || maxTickPadding > maxPadding) { var commonPadding = maxTickPadding + minTickPadding; var coeff = this._getConvertIntervalCoefficient(commonPadding, screenDelta); if (minTickPadding >= minPadding) { minValue = ticks[0].value } if (maxTickPadding >= maxPadding) { maxValue = ticks[length - 1].value } minPadding = _max(minTickPadding, minPadding) / coeff; maxPadding = _max(maxTickPadding, maxPadding) / coeff } } minPercentPadding = void 0 === minPercentPadding ? minPadding / screenDeltaWithMargins : minPercentPadding; maxPercentPadding = void 0 === maxPercentPadding ? maxPadding / screenDeltaWithMargins : maxPercentPadding; if (!isDiscrete) { if (this._translator.isInverted()) { var _minValue, _maxValue; minValue = null !== (_minValue = minValue) && void 0 !== _minValue ? _minValue : translator.from(canvasStartEnd.start + screenDelta * minPercentPadding, -1); maxValue = null !== (_maxValue = maxValue) && void 0 !== _maxValue ? _maxValue : translator.from(canvasStartEnd.end - screenDelta * maxPercentPadding, 1) } else { var _minValue2, _maxValue2; minValue = null !== (_minValue2 = minValue) && void 0 !== _minValue2 ? _minValue2 : translator.from(canvasStartEnd.start - screenDelta * minPercentPadding, -1); maxValue = null !== (_maxValue2 = maxValue) && void 0 !== _maxValue2 ? _maxValue2 : translator.from(canvasStartEnd.end + screenDelta * maxPercentPadding, 1) } } var _that$getCorrectedVal = this.getCorrectedValuesToZero(minValue, maxValue), correctedMin = _that$getCorrectedVal.correctedMin, correctedMax = _that$getCorrectedVal.correctedMax, start = _that$getCorrectedVal.start, end = _that$getCorrectedVal.end; minPadding = null !== start && void 0 !== start ? start : minPadding; maxPadding = null !== end && void 0 !== end ? end : maxPadding; return { startPadding: translator.isInverted() ? maxPadding : minPadding, endPadding: translator.isInverted() ? minPadding : maxPadding, minValue: null !== correctedMin && void 0 !== correctedMin ? correctedMin : minValue, maxValue: null !== correctedMax && void 0 !== correctedMax ? correctedMax : maxValue, interval: rangeInterval, isSpacedMargin: minPadding === maxPadding && 0 !== minPadding } }, getCorrectedValuesToZero: function(minValue, maxValue) { var that = this; var translator = that._translator; var canvasStartEnd = that._getCanvasStartEnd(); var dataRange = that._getViewportRange(); var screenDelta = that._getScreenDelta(); var options = that._options; var start; var end; var correctedMin; var correctedMax; var correctZeroLevel = function(minPoint, maxPoint) { var minExpectedPadding = _abs(canvasStartEnd.start - minPoint); var maxExpectedPadding = _abs(canvasStartEnd.end - maxPoint); var coeff = that._getConvertIntervalCoefficient(minExpectedPadding + maxExpectedPadding, screenDelta); start = minExpectedPadding / coeff; end = maxExpectedPadding / coeff }; if (!that.isArgumentAxis && "datetime" !== options.dataType) { if (minValue * dataRange.min <= 0 && minValue * dataRange.minVisible <= 0) { correctZeroLevel(translator.translate(0), translator.translate(maxValue)); correctedMin = 0 } if (maxValue * dataRange.max <= 0 && maxValue * dataRange.maxVisible <= 0) { correctZeroLevel(translator.translate(minValue), translator.translate(0)); correctedMax = 0 } } return { start: isFinite(start) ? start : null, end: isFinite(end) ? end : null, correctedMin: correctedMin, correctedMax: correctedMax } }, applyMargins: function() { if (this._isSynchronized) { return } var margins = this._calculateValueMargins(this._majorTicks); var canvas = (0, _extend.extend)({}, this._canvas, { startPadding: margins.startPadding, endPadding: margins.endPadding }); this._translator.updateCanvas(this._processCanvas(canvas)); if (isFinite(margins.interval)) { var br = this._translator.getBusinessRange(); br.addRange({ interval: margins.interval }); this._translator.updateBusinessRange(br) } }, _resetMargins: function() { this._reinitTranslator(this._getViewportRange()); if (this._canvas) { this._translator.updateCanvas(this._processCanvas(this._canvas)) } }, _createConstantLines: function() { var _this2 = this; var constantLines = (this._options.constantLines || []).map((function(o) { return (0, _constant_line.default)(_this2, o) })); this._outsideConstantLines = constantLines.filter((function(l) { return "outside" === l.labelPosition })); this._insideConstantLines = constantLines.filter((function(l) { return "inside" === l.labelPosition })) }, draw: function(canvas, borderOptions) { var that = this; var options = this._options; that.borderOptions = borderOptions || { visible: false }; that._resetMargins(); that.createTicks(canvas); that.applyMargins(); that._clearAxisGroups(); initTickCoords(that._majorTicks); initTickCoords(that._minorTicks); initTickCoords(that._boundaryTicks); that._axisGroup.append(that._axesContainerGroup); that._drawAxis(); that._drawTitle(); drawTickMarks(that._majorTicks, options.tick); drawTickMarks(that._minorTicks, options.minorTick); drawTickMarks(that._boundaryTicks, options.tick); var drawGridLine = that._getGridLineDrawer(); drawGrids(that._majorTicks, drawGridLine); drawGrids(that._minorTicks, drawGridLine); callAction(that._majorTicks, "drawLabel", that._getViewportRange(), that._getTemplate(options.label.template)); that._templatesRendered && that._templatesRendered.reject(); that._templatesRendered = new _deferred.Deferred; that._majorTicks.forEach((function(tick) { tick.labelRotationAngle = 0; tick.labelAlignment = void 0; tick.labelOffset = 0 })); callAction(that._outsideConstantLines.concat(that._insideConstantLines), "draw"); callAction(that._strips, "draw"); that._dateMarkers = that._drawDateMarkers() || []; that._stripLabelAxesGroup && that._axisStripLabelGroup.append(that._stripLabelAxesGroup); that._gridContainerGroup && that._axisGridGroup.append(that._gridContainerGroup); that._stripsGroup && that._axisStripGroup.append(that._stripsGroup); that._labelsAxesGroup && that._axisElementsGroup.append(that._labelsAxesGroup); if (that._constantLinesGroup) { that._axisConstantLineGroups.above.inside.append(that._constantLinesGroup.above); that._axisConstantLineGroups.above.outside1.append(that._constantLinesGroup.above); that._axisConstantLineGroups.above.outside2.append(that._constantLinesGroup.above); that._axisConstantLineGroups.under.inside.append(that._constantLinesGroup.under); that._axisConstantLineGroups.under.outside1.append(that._constantLinesGroup.under); that._axisConstantLineGroups.under.outside2.append(that._constantLinesGroup.under) } that._measureTitle(); (0, _axes_utils.measureLabels)(that._majorTicks); !options.label.template && that._applyWordWrap(); (0, _axes_utils.measureLabels)(that._outsideConstantLines); (0, _axes_utils.measureLabels)(that._insideConstantLines); (0, _axes_utils.measureLabels)(that._strips); (0, _axes_utils.measureLabels)(that._dateMarkers); that._adjustConstantLineLabels(that._insideConstantLines); that._adjustStripLabels(); var offset = that._constantLabelOffset = that._adjustConstantLineLabels(that._outsideConstantLines); if (!that._translator.getBusinessRange().isEmpty()) { that._setLabelsPlacement(); offset = that._adjustLabels(offset) } _deferred.when.apply(this, that._majorTicks.map((function(tick) { return tick.getTemplateDeferred() }))).done((function() { that._templatesRendered.resolve() })); offset = that._adjustDateMarkers(offset); that._adjustTitle(offset) }, getTemplatesDef: function() { return this._templatesRendered }, setRenderedState: function(state) { this._drawn = state }, isRendered: function() { return this._drawn }, _applyWordWrap: function() { var convertedTickInterval; var textWidth; var textHeight; var options = this._options; var tickInterval = this._tickInterval; if ((0, _type.isDefined)(tickInterval)) { convertedTickInterval = this.getTranslator().getInterval("datetime" === options.dataType ? _date.default.dateToMilliseconds(tickInterval) : tickInterval) } var displayMode = this._validateDisplayMode(options.label.displayMode); var overlappingMode = this._validateOverlappingMode(options.label.overlappingBehavior, displayMode); var wordWrapMode = options.label.wordWrap || "none"; var overflowMode = options.label.textOverflow || "none"; if (("none" !== wordWrapMode || "none" !== overflowMode) && "rotate" !== displayMode && "rotate" !== overlappingMode && "auto" !== overlappingMode) { var usefulSpace = (0, _type.isDefined)(options.placeholderSize) ? options.placeholderSize - options.label.indentFromAxis : void 0; if (this._isHorizontal) { textWidth = convertedTickInterval; textHeight = usefulSpace } else { textWidth = usefulSpace; textHeight = convertedTickInterval } var correctByWidth = false; var correctByHeight = false; if (textWidth) { if (this._majorTicks.some((function(tick) { return tick.labelBBox.width > textWidth }))) { correctByWidth = true } } if (textHeight) { if (this._majorTicks.some((function(tick) { return tick.labelBBox.height > textHeight }))) { correctByHeight = true } } if (correctByWidth || correctByHeight) { this._majorTicks.forEach((function(tick) { tick.label && tick.label.setMaxSize(textWidth, textHeight, options.label) })); (0, _axes_utils.measureLabels)(this._majorTicks) } } }, _measureTitle: _common.noop, animate: function() { callAction(this._majorTicks, "animateLabels") }, updateSize: function(canvas, animate) { var updateTitle = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : true; var that = this; that.updateCanvas(canvas); if (updateTitle) { that._checkTitleOverflow(); that._measureTitle(); that._updateTitleCoords() } that._reinitTranslator(that._getViewportRange()); that.applyMargins(); var animationEnabled = !that._firstDrawing && animate; var options = that._options; initTickCoords(that._majorTicks); initTickCoords(that._minorTicks); initTickCoords(that._boundaryTicks); if (that._resetApplyingAnimation && !that._firstDrawing) { that._resetStartCoordinates() } cleanUpInvalidTicks(that._majorTicks); cleanUpInvalidTicks(that._minorTicks); cleanUpInvalidTicks(that._boundaryTicks); if (that._axisElement) { that._updateAxisElementPosition() } updateTicksPosition(that._majorTicks, options.tick, animationEnabled); updateTicksPosition(that._minorTicks, options.minorTick, animationEnabled); updateTicksPosition(that._boundaryTicks, options.tick); callAction(that._majorTicks, "updateLabelPosition", animationEnabled); that._outsideConstantLines.concat(that._insideConstantLines || []).forEach((function(l) { return l.updatePosition(animationEnabled) })); callAction(that._strips, "updatePosition", animationEnabled); updateGridsPosition(that._majorTicks, animationEnabled); updateGridsPosition(that._minorTicks, animationEnabled); if (animationEnabled) { callAction(that._ticksToRemove || [], "fadeOutElements") } that.prepareAnimation(); that._ticksToRemove = null; if (!that._translator.getBusinessRange().isEmpty()) { that._firstDrawing = false } that._resetApplyingAnimation = false; that._updateLabelsPosition() }, _updateLabelsPosition: _common.noop, prepareAnimation: function() { var action = "saveCoords"; callAction(this._majorTicks, action); callAction(this._minorTicks, action); callAction(this._insideConstantLines, action); callAction(this._outsideConstantLines, action); callAction(this._strips, action) }, _resetStartCoordinates: function() { var action = "resetCoordinates"; callAction(this._majorTicks, action); callAction(this._minorTicks, action); callAction(this._insideConstantLines, action); callAction(this._outsideConstantLines, action); callAction(this._strips, action) }, applyClipRects: function(elementsClipID, canvasClipID) { this._axisGroup.attr({ "clip-path": canvasClipID }); this._axisStripGroup.attr({ "clip-path": elementsClipID }); this._axisElementsGroup.attr({ "clip-path": canvasClipID }) }, _validateVisualRange: function(optionValue) { var range = (0, _utils.getVizRangeObject)(optionValue); if (void 0 !== range.startValue) { range.startValue = this.validateUnit(range.startValue) } if (void 0 !== range.endValue) { range.endValue = this.validateUnit(range.endValue) } return (0, _utils.convertVisualRangeObject)(range, !_isArray(optionValue)) }, _validateOptions: function(options) { options.wholeRange = this._validateVisualRange(options.wholeRange); options.visualRange = options._customVisualRange = this._validateVisualRange(options._customVisualRange); this._setVisualRange(options._customVisualRange) }, validate: function() { var options = this._options; var dataType = this.isArgumentAxis ? options.argumentType : options.valueType; var parser = dataType ? (0, _parse_utils.getParser)(dataType) : function(unit) { return unit }; this.parser = parser; options.dataType = dataType; this._validateOptions(options) }, resetVisualRange: function(isSilent) { this._seriesData.minVisible = this._seriesData.min; this._seriesData.maxVisible = this._seriesData.max; this.handleZooming([null, null], { start: !!isSilent, end: !!isSilent }) }, _setVisualRange: function(visualRange, allowPartialUpdate) { var range = this.adjustRange((0, _utils.getVizRangeObject)(visualRange)); if (allowPartialUpdate) { (0, _type.isDefined)(range.startValue) && (this._viewport.startValue = range.startValue); (0, _type.isDefined)(range.endValue) && (this._viewport.endValue = range.endValue) } else { this._viewport = range } }, _applyZooming: function(visualRange, allowPartialUpdate) { this._resetVisualRangeOption(); this._setVisualRange(visualRange, allowPartialUpdate); var viewPort = this.getViewport(); this._seriesData.userBreaks = this._getScaleBreaks(this._options, { minVisible: viewPort.startValue, maxVisible: viewPort.endValue }, this._series, this.isArgumentAxis); this._translator.updateBusinessRange(this._getViewportRange()) }, getZoomStartEventArg: function(event, actionType) { return { axis: this, range: this.visualRange(), cancel: false, event: event, actionType: actionType } }, _getZoomEndEventArg: function(previousRange, event, actionType, zoomFactor, shift) { var newRange = this.visualRange(); return { axis: this, previousRange: previousRange, range: newRange, cancel: false, event: event, actionType: actionType, zoomFactor: zoomFactor, shift: shift, rangeStart: newRange.startValue, rangeEnd: newRange.endValue } }, getZoomBounds: function() { var wholeRange = (0, _utils.getVizRangeObject)(this._options.wholeRange); var range = this.getTranslator().getBusinessRange(); var secondPriorityRange = { startValue: getZoomBoundValue(this._initRange.startValue, range.min), endValue: getZoomBoundValue(this._initRange.endValue, range.max) }; return { startValue: getZoomBoundValue(wholeRange.startValue, secondPriorityRange.startValue), endValue: getZoomBoundValue(wholeRange.endValue, secondPriorityRange.endValue) } }, setInitRange: function() { this._initRange = {}; if (0 === Object.keys(this._options.wholeRange || {}).length) { this._initRange = this.getZoomBounds() } }, _resetVisualRangeOption: function() { this._options._customVisualRange = {} }, getTemplatesGroups: function() { var ticks = this._majorTicks; if (ticks) { return this._majorTicks.map((function(tick) { return tick.templateContainer })).filter((function(item) { return (0, _type.isDefined)(item) })) } else { return [] } }, setCustomVisualRange: function(range) { this._options._customVisualRange = range }, visualRange: function() { var that = this; var args = arguments; var visualRange; if (0 === args.length) { var adjustedRange = that._getAdjustedBusinessRange(); var startValue = adjustedRange.minVisible; var endValue = adjustedRange.maxVisible; if (that._options.type === _axes_constants.default.discrete) { var _startValue, _endValue; startValue = null !== (_startValue = startValue) && void 0 !== _startValue ? _startValue : adjustedRange.categories[0]; endValue = null !== (_endValue = endValue) && void 0 !== _endValue ? _endValue : adjustedRange.categories[adjustedRange.categories.length - 1]; return { startValue: startValue, endValue: endValue, categories: (0, _utils.getCategoriesInfo)(adjustedRange.categories, startValue, endValue).categories } } return { startValue: startValue, endValue: endValue } } else if (_isArray(args[0])) { visualRange = args[0] } else if ((0, _type.isPlainObject)(args[0])) { visualRange = (0, _extend.extend)({}, args[0]) } else { visualRange = [args[0], args[1]] } var zoomResults = that.handleZooming(visualRange, args[1]); if (!zoomResults.isPrevented) { that._visualRange(that, zoomResults) } }, handleZooming: function(visualRange, preventEvents, domEvent, action) { preventEvents = preventEvents || {}; if ((0, _type.isDefined)(visualRange)) { visualRange = this._validateVisualRange(visualRange); visualRange.action = action } var zoomStartEvent = this.getZoomStartEventArg(domEvent, action); var previousRange = zoomStartEvent.range; !preventEvents.start && this._eventTrigger("zoomStart", zoomStartEvent); var zoomResults = { isPrevented: zoomStartEvent.cancel, skipEventRising: preventEvents.skipEventRising, range: visualRange || zoomStartEvent.range }; if (!zoomStartEvent.cancel) { (0, _type.isDefined)(visualRange) && this._applyZooming(visualRange, preventEvents.allowPartialUpdate); if (!(0, _type.isDefined)(this._storedZoomEndParams)) { this._storedZoomEndParams = { startRange: previousRange, type: this.getOptions().type } } this._storedZoomEndParams.event = domEvent; this._storedZoomEndParams.action = action; this._storedZoomEndParams.prevent = !!preventEvents.end } return zoomResults }, handleZoomEnd: function() { if ((0, _type.isDefined)(this._storedZoomEndParams) && !this._storedZoomEndParams.prevent) { var previousRange = this._storedZoomEndParams.startRange; var domEvent = this._storedZoomEndParams.event; var action = this._storedZoomEndParams.action; var previousBusinessRange = { minVisible: previousRange.startValue, maxVisible: previousRange.endValue, categories: previousRange.categories }; var typeIsNotChanged = this.getOptions().type === this._storedZoomEndParams.type; var shift = typeIsNotChanged ? (0, _math2.adjust)(this.getVisualRangeCenter() - this.getVisualRangeCenter(previousBusinessRange, false)) : NaN; var zoomFactor = typeIsNotChanged ? +(Math.round(this.getVisualRangeLength(previousBusinessRange) / (this.getVisualRangeLength() || 1) + "e+2") + "e-2") : NaN; var zoomEndEvent = this._getZoomEndEventArg(previousRange, domEvent, action, zoomFactor, shift); zoomEndEvent.cancel = this.checkZoomingLowerLimitOvercome(1 === zoomFactor ? "pan" : "zoom", zoomFactor).stopInteraction; this._eventTrigger("zoomEnd", zoomEndEvent); if (zoomEndEvent.cancel) { this._restorePreviousVisualRange(previousRange) } this._storedZoomEndParams = null } }, _restorePreviousVisualRange: function(previousRange) { this._storedZoomEndParams = null; this._applyZooming(previousRange); this._visualRange(this, previousRange) }, checkZoomingLowerLimitOvercome: function(actionType, zoomFactor, range) { var options = this._options; var translator = this._translator; var minZoom = options.minVisualRangeLength; var correctedRange = range; var visualRange; var isOvercoming = "zoom" === actionType && zoomFactor >= 1; var businessRange = translator.getBusinessRange(); if (range) { visualRange = this.adjustRange((0, _utils.getVizRangeObject)(range)); visualRange = { minVisible: visualRange.startValue, maxVisible: visualRange.endValue, categories: businessRange.categories } } var beforeVisualRangeLength = this.getVisualRangeLength(businessRange); var afterVisualRangeLength = this.getVisualRangeLength(visualRange); if ((0, _type.isDefined)(minZoom) || "discrete" === options.type) { minZoom = translator.convert(minZoom); if (visualRange && minZoom < beforeVisualRangeLength && minZoom >= afterVisualRangeLength) { correctedRange = (0, _utils.getVizRangeObject)(translator.getRangeByMinZoomValue(minZoom, visualRange)); isOvercoming = false } else { isOvercoming &= minZoom > afterVisualRangeLength } } else { var canvasLength = this._translator.canvasLength; var fullRange = { minVisible: businessRange.min, maxVisible: businessRange.max, categories: businessRange.categories }; isOvercoming &= this.getVisualRangeLength(fullRange) / canvasLength >= afterVisualRangeLength } return { stopInteraction: !!isOvercoming, correctedRange: correctedRange } }, isExtremePosition: function(isMax) { var extremeDataValue; var seriesData; if ("discrete" === this._options.type) { seriesData = this._translator.getBusinessRange(); extremeDataValue = isMax ? seriesData.categories[seriesData.categories.length - 1] : seriesData.categories[0] } else { seriesData = this.getZoomBounds(); extremeDataValue = isMax ? seriesData.endValue : seriesData.startValue } var translator = this.getTranslator(); var extremePoint = translator.translate(extremeDataValue); var visualRange = this.visualRange(); var visualRangePoint = isMax ? translator.translate(visualRange.endValue) : translator.translate(visualRange.startValue); return _abs(visualRangePoint - extremePoint) < 5 }, getViewport: function() { return this._viewport }, getFullTicks: function() { var majors = this._majorTicks || []; if (this._options.type === _axes_constants.default.discrete) { return convertTicksToValues(majors) } else { return convertTicksToValues(majors.concat(this._minorTicks, this._boundaryTicks)).sort((function(a, b) { return (0, _utils.valueOf)(a) - (0, _utils.valueOf)(b) })) } }, measureLabels: function(canvas, withIndents) { var that = this; var options = that._options; var widthAxis = options.visible ? options.width : 0; var ticks; var indent = withIndents ? options.label.indentFromAxis + .5 * options.tick.length : 0; var tickInterval; var viewportRange = that._getViewportRange(); if (viewportRange.isEmpty() || !options.label.visible || !that._axisElementsGroup) { return { height: widthAxis, width: widthAxis, x: 0, y: 0 } } if (that._majorTicks) { ticks = convertTicksToValues(that._majorTicks) } else { that.updateCanvas(canvas); ticks = that._createTicksAndLabelFormat(viewportRange, _common.noop); tickInterval = ticks.tickInterval; ticks = ticks.ticks } var maxText = ticks.reduce((function(prevLabel, tick, index) { var label = that.formatLabel(tick, options.label, viewportRange, void 0, tickInterval, ticks); if (prevLabel.length < label.length) { return label } else { return prevLabel } }), that.formatLabel(ticks[0], options.label, viewportRange, void 0, tickInterval, ticks)); var text = that._renderer.text(maxText, 0, 0).css(that._textFontStyles).attr(that._textOptions).append(that._renderer.root); var box = text.getBBox(); text.remove(); return { x: box.x, y: box.y, width: box.width + indent, height: box.height + indent } }, _setLabelsPlacement: function() { if (!this._options.label.visible) { return } var labelOpt = this._options.label; var displayMode = this._validateDisplayMode(labelOpt.displayMode); var overlappingMode = this._validateOverlappingMode(labelOpt.overlappingBehavior, displayMode); var ignoreOverlapping = "none" === overlappingMode || "ignore" === overlappingMode; var behavior = { rotationAngle: labelOpt.rotationAngle, staggeringSpacing: labelOpt.staggeringSpacing }; var notRecastStep; var boxes = this._majorTicks.map((function(tick) { return tick.labelBBox })); var step = this._getStep(boxes); switch (displayMode) { case "rotate": if (ignoreOverlapping) { notRecastStep = true; step = 1 } this._applyLabelMode(displayMode, step, boxes, labelOpt, notRecastStep); break; case "stagger": if (ignoreOverlapping) { step = 2 } this._applyLabelMode(displayMode, _max(step, 2), boxes, labelOpt); break; default: this._applyLabelOverlapping(boxes, overlappingMode, step, behavior) } }, _applyLabelOverlapping: function(boxes, mode, step, behavior) { var labelOpt = this._options.label; var majorTicks = this._majorTicks; if ("none" === mode || "ignore" === mode) { return } if (step > 1 && boxes.some((function(box, index, array) { if (0 === index) { return false } return _axes_constants.default.areLabelsOverlap(box, array[index - 1], labelOpt.minSpacing, labelOpt.alignment) }))) { this._applyLabelMode(mode, step, boxes, behavior) } this._checkBoundedLabelsOverlapping(majorTicks, boxes, mode); this._checkShiftedLabels(majorTicks, boxes, labelOpt.minSpacing, labelOpt.alignment) }, _applyLabelMode: function(mode, step, boxes, behavior, notRecastStep) { var majorTicks = this._majorTicks; var labelOpt = this._options.label; var angle = behavior.rotationAngle; var labelHeight; var alignment; var func; switch (mode) { case "rotate": if (!labelOpt.userAlignment) { alignment = angle < 0 ? RIGHT : LEFT; if (angle % 90 === 0) { alignment = CENTER } } step = notRecastStep ? step : this._getStep(boxes, angle); func = function(tick) { var contentContainer = tick.getContentContainer(); if (!contentContainer) { return } contentContainer.rotate(angle); tick.labelRotationAngle = angle; alignment && (tick.labelAlignment = alignment) }; updateLabels(majorTicks, step, func); break; case "stagger": labelHeight = this._getMaxLabelHeight(boxes, behavior.staggeringSpacing); func = function(tick, index) { if (index / (step - 1) % 2 !== 0) { tick.labelOffset = labelHeight } }; updateLabels(majorTicks, step - 1, func); break; case "auto": case "_auto": if (2 === step) { this._applyLabelMode("stagger", step, boxes, behavior) } else { this._applyLabelMode("rotate", step, boxes, { rotationAngle: getOptimalAngle(boxes, labelOpt) }) } break; default: updateLabels(majorTicks, step) } }, getMarkerTrackers: _common.noop, _drawDateMarkers: _common.noop, _adjustDateMarkers: _common.noop, coordsIn: _common.noop, areCoordsOutsideAxis: _common.noop, _getSkippedCategory: _common.noop, _initAxisPositions: _common.noop, _drawTitle: _common.noop, _updateTitleCoords: _common.noop, _adjustConstantLineLabels: _common.noop, _createTranslator: function() { return new _translator2d.Translator2D({}, {}, {}) }, _updateTranslator: function() { var translator = this._translator; translator.update(translator.getBusinessRange(), this._canvas || {}, this._getTranslatorOptions()) }, _getTranslatorOptions: function() { var _options$workWeek2, _options$breakStyle$w, _options$breakStyle; var options = this._options; return { isHorizontal: this._isHorizontal, shiftZeroValue: !this.isArgumentAxis, interval: options.semiDiscreteInterval, firstDayOfWeek: null === (_options$workWeek2 = options.workWeek) || void 0 === _options$workWeek2 ? void 0 : _options$workWeek2[0], stick: this._getStick(), breaksSize: null !== (_options$breakStyle$w = null === (_options$breakStyle = options.breakStyle) || void 0 === _options$breakStyle ? void 0 : _options$breakStyle.width) && void 0 !== _options$breakStyle$w ? _options$breakStyle$w : 0 } }, getVisibleArea: function() { var canvas = this._getCanvasStartEnd(); return [canvas.start, canvas.end].sort((function(a, b) { return a - b })) }, _getCanvasStartEnd: function() { var isHorizontal = this._isHorizontal; var canvas = this._canvas || {}; var invert = this._translator.getBusinessRange().invert; var coords = isHorizontal ? [canvas.left, canvas.width - canvas.right] : [canvas.height - canvas.bottom, canvas.top]; invert && coords.reverse(); return { start: coords[0], end: coords[1] } }, _getScreenDelta: function() { var canvas = this._getCanvasStartEnd(); var breaks = this._seriesData ? this._seriesData.breaks || [] : []; var breaksLength = breaks.length; var screenDelta = _abs(canvas.start - canvas.end); return screenDelta - (breaksLength ? breaks[breaksLength - 1].cumulativeWidth : 0) }, _getScaleBreaks: function() { return [] }, _filterBreaks: function() { return [] }, _adjustTitle: _common.noop, _checkTitleOverflow: _common.noop, getSpiderTicks: _common.noop, setSpiderTicks: _common.noop, _checkBoundedLabelsOverlapping: _common.noop, _checkShiftedLabels: _common.noop, drawScaleBreaks: _common.noop, _visualRange: _common.noop, _rotateConstantLine: _common.noop, applyVisualRangeSetter: function(visualRangeSetter) { this._visualRange = visualRangeSetter }, getCategoriesSorter: function(argCategories) { var sort; if (this.isArgumentAxis) { sort = argCategories } else { var categoriesSortingMethod = this._options.categoriesSortingMethod; sort = null !== categoriesSortingMethod && void 0 !== categoriesSortingMethod ? categoriesSortingMethod : this._options.categories } return sort }, _getAdjustedBusinessRange: function() { return this.adjustViewport(this._translator.getBusinessRange()) } } }, 87713: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/axes/constant_line.js ***! \***********************************************************************/ function(module, exports, __webpack_require__) { exports.default = function(axis, options) { var labelOptions = options.label || {}; var labelPosition = labelOptions.position || "inside"; var parsedValue; var valueIsParsed = false; var lastStoredCoordinates; axis._checkAlignmentConstantLineLabels(labelOptions); var storedCoord; return { options: options, labelOptions: labelOptions, labelPosition: labelPosition, label: null, line: null, getParsedValue: function() { if (!valueIsParsed) { parsedValue = axis.validateUnit(options.value, "E2105", "constantLine"); valueIsParsed = true; return parsedValue } return parsedValue }, draw: function() { if (!(0, _type.isDefined)(options.value) || axis._translator.getBusinessRange().isEmpty()) { return this } var canvas = axis._getCanvasStartEnd(); var parsedValue = this.getParsedValue(); this.coord = axis._getConstantLinePos(parsedValue, canvas.start, canvas.end); var rootGroup = options.displayBehindSeries ? axis._axisConstantLineGroups.under : axis._axisConstantLineGroups.above; var group = rootGroup[labelPosition]; if (!group) { var side = axis._isHorizontal ? labelOptions.verticalAlignment : labelOptions.horizontalAlignment; group = rootGroup[side] } if (!(0, _type.isDefined)(this.coord)) { return this } var path = axis._createConstantLine(this.coord, { stroke: options.color, "stroke-width": options.width, dashStyle: options.dashStyle }); this.line = path.append(rootGroup.inside); this.label = labelOptions.visible ? axis._drawConstantLineLabels(parsedValue, labelOptions, this.coord, group) : null; this.updatePosition(); return this }, getContentContainer: function() { return this.label }, removeLabel: function() { this.label && this.label.remove() }, updatePosition: function(animate) { var canvas = axis._getCanvasStartEnd(); var coord = axis._getConstantLinePos(this.getParsedValue(), canvas.start, canvas.end); if (!(0, _type.isDefined)(coord)) { return } this.coord = coord; if (animate && storedCoord) { this.label && this.label.attr(axis._getConstantLineLabelsCoords(storedCoord, this.labelOptions)); this.line && this.line.attr(axis._getConstantLineGraphicAttributes(storedCoord)); this.label && this.label.animate(axis._getConstantLineLabelsCoords(this.coord, this.labelOptions)); this.line && this.line.animate(axis._getConstantLineGraphicAttributes(this.coord)) } else { this.label && this.label.attr(axis._getConstantLineLabelsCoords(this.coord, this.labelOptions)); this.line && this.line.attr(axis._getConstantLineGraphicAttributes(this.coord)); axis._rotateConstantLine(this.line, this.coord) } }, saveCoords: function() { lastStoredCoordinates = storedCoord; storedCoord = this.coord }, resetCoordinates: function() { storedCoord = lastStoredCoordinates } } }; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); module.exports = exports.default; module.exports.default = exports.default }, 89530: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/axes/datetime_breaks.js ***! \*************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.generateDateBreaks = function(min, max, workWeek, singleWorkdays, holidays) { var weekendDayIndices = function(workDays) { var indices = (workdays = workDays, days.filter((function(day) { return !workdays.some((function(workDay) { return workDay === day })) }))); var workdays; if (indices.length < 7) { while (getNextDayIndex(indices[indices.length - 1]) === indices[0]) { indices.unshift(indices.pop()) } } return indices }(workWeek); var breaks = function(min, max, weekendDayIndices) { var day = min.getDate(); var breaks = []; var weekends = weekendDayIndices.reduce((function(obj, day) { var currentWeekEnd = obj[1]; if (void 0 === currentWeekEnd.start) { currentWeekEnd = { start: day, end: getNextDayIndex(day) }; obj[0].push(currentWeekEnd); return [obj[0], currentWeekEnd] } else if (currentWeekEnd.end === day) { currentWeekEnd.end = getNextDayIndex(day); return obj } currentWeekEnd = { start: day, end: getNextDayIndex(day) }; obj[0].push(currentWeekEnd); return [obj[0], currentWeekEnd] }), [ [], {} ]); weekends[0].forEach((function(weekend) { var currentDate = new Date(min); currentDate = _date.default.trimTime(currentDate); while (currentDate < max) { day = currentDate.getDay(); var date = currentDate.getDate(); if (dayBetweenWeekend(weekend, day)) { var from = new Date(currentDate); currentDate.setDate(date + getDaysDistance(day, weekend.end)); var to = new Date(currentDate); breaks.push({ from: from, to: to }) } currentDate.setDate(currentDate.getDate() + 1) } })); return breaks }(min, max, weekendDayIndices); breaks.push.apply(breaks, function(min, max, holidays, weekendDayIndices) { var day; var dayInWeekend = function(dayIndex) { return dayIndex === day }; var adjustedMin = _date.default.trimTime(min); var adjustedMax = _date.default.trimTime(max); adjustedMax.setDate(max.getDate() + 1); return holidays.reduce((function(breaks, holiday) { var holidayStart; var holidayEnd; holiday = new Date(holiday); day = holiday.getDay(); if (!weekendDayIndices.some(dayInWeekend) && holiday >= adjustedMin && holiday <= adjustedMax) { holidayStart = _date.default.trimTime(holiday); holidayEnd = new Date(holidayStart); holidayEnd.setDate(holidayStart.getDate() + 1); breaks.push({ from: holidayStart, to: holidayEnd }) } return breaks }), []) }(min, max, holidays || [], weekendDayIndices)); return function(breaks) { return breaks.map((function(b) { return { from: b.from, to: b.to, gapSize: _date.default.convertMillisecondsToDateUnits(b.to - b.from) } })) }(function(breaks, exactWorkDays) { var result = breaks.slice(); var i; var processWorkDay = function(workday) { workday = _date.default.trimTime(new Date(workday)); if (result[i].from <= workday && result[i].to > workday) { var separatedBreak = function(scaleBreak, day) { var result = []; var dayEnd = new Date(day); dayEnd.setDate(day.getDate() + 1); if (day > scaleBreak.from) { result.push({ from: scaleBreak.from, to: day }) } if (dayEnd < scaleBreak.to) { result.push({ from: dayEnd, to: scaleBreak.to }) } return result }(result[i], workday); if (2 === separatedBreak.length) { result.splice(i, 1, separatedBreak[0], separatedBreak[1]) } else if (1 === separatedBreak.length) { result.splice(i, 1, separatedBreak[0]) } else { result.splice(i, 1) } } }; for (i = 0; i < result.length; i++) { exactWorkDays.forEach(processWorkDay) } return result }(breaks, singleWorkdays || [])) }; var _date = (obj = __webpack_require__( /*! ../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var days = [0, 1, 2, 3, 4, 5, 6]; function getNextDayIndex(dayIndex) { return (dayIndex + 1) % 7 } function dayBetweenWeekend(weekend, day) { var start = weekend.start; var end = weekend.end; while (start !== end) { if (start === day) { return true } start = getNextDayIndex(start) } return false } function getDaysDistance(day, end) { var length = 0; while (day !== end) { day = getNextDayIndex(day); length++ } return length } }, 4331: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/axes/polar_axes.js ***! \********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.linearSpider = exports.linear = exports.circularSpider = exports.circular = void 0; var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _axes_constants = _interopRequireDefault(__webpack_require__( /*! ./axes_constants */ 53805)); var _xy_axes = _interopRequireDefault(__webpack_require__( /*! ./xy_axes */ 99415)); var _tick = __webpack_require__( /*! ./tick */ 41013); var _axes_utils = __webpack_require__( /*! ./axes_utils */ 32945); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var PI = Math.PI, abs = Math.abs, atan = Math.atan, round = Math.round; var _min = Math.min; var _max = Math.max; var xyAxesLinear = _xy_axes.default.linear; function getPolarQuarter(angle) { var quarter; angle = (0, _utils.normalizeAngle)(angle); if (angle >= 315 && angle <= 360 || angle < 45 && angle >= 0) { quarter = 1 } else if (angle >= 45 && angle < 135) { quarter = 2 } else if (angle >= 135 && angle < 225) { quarter = 3 } else if (angle >= 225 && angle < 315) { quarter = 4 } return quarter } var circularAxes = { _calculateValueMargins: function(ticks) { var _this$_getViewportRan = this._getViewportRange(), minVisible = _this$_getViewportRan.minVisible, maxVisible = _this$_getViewportRan.maxVisible; if (ticks && ticks.length > 1) { minVisible = minVisible < ticks[0].value ? minVisible : ticks[0].value; maxVisible = minVisible > ticks[ticks.length - 1].value ? maxVisible : ticks[ticks.length - 1].value } return { minValue: minVisible, maxValue: maxVisible } }, applyMargins: function() { var margins = this._calculateValueMargins(this._majorTicks); var br = this._translator.getBusinessRange(); br.addRange({ minVisible: margins.minValue, maxVisible: margins.maxValue, interval: this._calculateRangeInterval(br.interval) }); this._translator.updateBusinessRange(br) }, _getTranslatorOptions: function() { return { isHorizontal: true, conversionValue: true, addSpiderCategory: this._getSpiderCategoryOption(), stick: this._getStick() } }, getCenter: function() { return this._center }, getRadius: function() { return this._radius }, getAngles: function() { var options = this._options; return [options.startAngle, options.endAngle] }, _updateRadius: function(canvas) { var rad = _min(canvas.width - canvas.left - canvas.right, canvas.height - canvas.top - canvas.bottom) / 2; this._radius = rad < 0 ? 0 : rad }, _updateCenter: function(canvas) { this._center = { x: canvas.left + (canvas.width - canvas.right - canvas.left) / 2, y: canvas.top + (canvas.height - canvas.top - canvas.bottom) / 2 } }, _processCanvas: function(canvas) { this._updateRadius(canvas); this._updateCenter(canvas); return { left: 0, right: 0, width: this._getScreenDelta() } }, _createAxisElement: function() { return this._renderer.circle() }, _updateAxisElementPosition: function() { var center = this.getCenter(); this._axisElement.attr({ cx: center.x, cy: center.y, r: this.getRadius() }) }, _boundaryTicksVisibility: { min: true }, _getSpiderCategoryOption: function() { return this._options.firstPointOnStartAngle }, _validateOptions: function(options) { var originValue = options.originValue; var wholeRange = options.wholeRange = {}; var period = options.period; if ((0, _type.isDefined)(originValue)) { originValue = this.validateUnit(originValue) } if (period > 0 && options.argumentType === _axes_constants.default.numeric) { originValue = originValue || 0; wholeRange.endValue = originValue + period; this._viewport = (0, _utils.getVizRangeObject)([originValue, wholeRange.endValue]) } if ((0, _type.isDefined)(originValue)) { wholeRange.startValue = originValue } }, getMargins: function() { var tickOptions = this._options.tick; var tickOuterLength = _max(tickOptions.visible ? tickOptions.length / 2 + tickOptions.shift : 0, 0); var radius = this.getRadius(); var _this$_center = this._center, x = _this$_center.x, y = _this$_center.y; var labelBoxes = this._majorTicks.map((function(t) { return t.label && t.label.getBBox() })).filter((function(b) { return b })); var canvas = (0, _extend.extend)({}, this._canvas, { left: x - radius, top: y - radius, right: this._canvas.width - (x + radius), bottom: this._canvas.height - (y + radius) }); var margins = (0, _axes_utils.calculateCanvasMargins)(labelBoxes, canvas); Object.keys(margins).forEach((function(k) { return margins[k] = margins[k] < tickOuterLength ? tickOuterLength : margins[k] })); return margins }, _updateLabelsPosition: function() { (0, _axes_utils.measureLabels)(this._majorTicks); this._adjustLabelsCoord(0, 0, true); this._checkBoundedLabelsOverlapping(this._majorTicks, this._majorTicks.map((function(t) { return t.labelBBox }))) }, _setVisualRange: _common.noop, applyVisualRangeSetter: _common.noop, _getStick: function() { return this._options.firstPointOnStartAngle || this._options.type !== _axes_constants.default.discrete }, _getTranslatedCoord: function(value, offset) { return this._translator.translate(value, offset) - 90 }, _getCanvasStartEnd: function() { return { start: -90, end: 270 } }, _getStripGraphicAttributes: function(fromAngle, toAngle) { var center = this.getCenter(); var angle = this.getAngles()[0]; var r = this.getRadius(); return { x: center.x, y: center.y, innerRadius: 0, outerRadius: r, startAngle: -toAngle - angle, endAngle: -fromAngle - angle } }, _createStrip: function(coords) { return this._renderer.arc(coords.x, coords.y, coords.innerRadius, coords.outerRadius, coords.startAngle, coords.endAngle) }, _getStripLabelCoords: function(from, to) { var coords = this._getStripGraphicAttributes(from, to); var angle = coords.startAngle + (coords.endAngle - coords.startAngle) / 2; var cosSin = (0, _utils.getCosAndSin)(angle); var halfRad = this.getRadius() / 2; var center = this.getCenter(); var x = round(center.x + halfRad * cosSin.cos); var y = round(center.y - halfRad * cosSin.sin); return { x: x, y: y, align: _axes_constants.default.center } }, _getConstantLineGraphicAttributes: function(value) { var center = this.getCenter(); var r = this.getRadius(); return { points: [center.x, center.y, center.x + r, center.y] } }, _createConstantLine: function(value, attr) { return this._createPathElement(this._getConstantLineGraphicAttributes(value).points, attr) }, _rotateConstantLine: function(line, value) { var _this$getCenter = this.getCenter(), x = _this$getCenter.x, y = _this$getCenter.y; line.rotate(value + this.getAngles()[0], x, y) }, _getConstantLineLabelsCoords: function(value) { var cosSin = (0, _utils.getCosAndSin)(-value - this.getAngles()[0]); var halfRad = this.getRadius() / 2; var center = this.getCenter(); var x = round(center.x + halfRad * cosSin.cos); var y = round(center.y - halfRad * cosSin.sin); return { x: x, y: y } }, _checkAlignmentConstantLineLabels: _common.noop, _adjustDivisionFactor: function(val) { return 180 * val / (this.getRadius() * PI) }, _getScreenDelta: function() { var angles = this.getAngles(); return abs(angles[0] - angles[1]) }, _getTickMarkPoints: function(coords, length, _ref) { var _ref$shift = _ref.shift, shift = void 0 === _ref$shift ? 0 : _ref$shift; var center = this.getCenter(); var radiusWithTicks = this.getRadius() + length * { inside: -1, center: -.5, outside: 0 } [this._options.tickOrientation || "center"]; return [center.x + radiusWithTicks + shift, center.y, center.x + radiusWithTicks + length + shift, center.y] }, _getLabelAdjustedCoord: function(tick, _offset, _maxWidth, checkCanvas) { var labelCoords = tick.labelCoords; var labelY = labelCoords.y; var labelAngle = labelCoords.angle; var cosSin = (0, _utils.getCosAndSin)(labelAngle); var cos = cosSin.cos; var sin = cosSin.sin; var box = tick.labelBBox; var halfWidth = box.width / 2; var halfHeight = box.height / 2; var indentFromAxis = this._options.label.indentFromAxis || 0; var x = labelCoords.x + indentFromAxis * cos; var y = labelY + (labelY - box.y - halfHeight) + indentFromAxis * sin; var shiftX = 0; var shiftY = 0; switch (getPolarQuarter(labelAngle)) { case 1: shiftX = halfWidth; shiftY = halfHeight * sin; break; case 2: shiftX = halfWidth * cos; shiftY = halfHeight; break; case 3: shiftX = -halfWidth; shiftY = halfHeight * sin; break; case 4: shiftX = halfWidth * cos; shiftY = -halfHeight } if (checkCanvas) { var canvas = this._canvas; var boxShiftX = x - labelCoords.x + shiftX; var boxShiftY = y - labelCoords.y + shiftY; if (box.x + boxShiftX < canvas.originalLeft) { shiftX -= box.x + boxShiftX - canvas.originalLeft } if (box.x + box.width + boxShiftX > canvas.width - canvas.originalRight) { shiftX -= box.x + box.width + boxShiftX - (canvas.width - canvas.originalRight) } if (box.y + boxShiftY < canvas.originalTop) { shiftY -= box.y + boxShiftY - canvas.originalTop } if (box.y + box.height + boxShiftY > canvas.height - canvas.originalBottom) { shiftY -= box.y + box.height + boxShiftY - (canvas.height - canvas.originalBottom) } } return { x: x + shiftX, y: y + shiftY } }, _getGridLineDrawer: function() { var that = this; return function(tick, gridStyle) { var center = that.getCenter(); return that._createPathElement(that._getGridPoints().points, gridStyle).rotate(tick.coords.angle, center.x, center.y) } }, _getGridPoints: function() { var r = this.getRadius(); var center = this.getCenter(); return { points: [center.x, center.y, center.x + r, center.y] } }, _getTranslatedValue: function(value, offset) { var startAngle = this.getAngles()[0]; var angle = this._translator.translate(value, -offset); var coords = (0, _utils.convertPolarToXY)(this.getCenter(), startAngle, angle, this.getRadius()); return { x: coords.x, y: coords.y, angle: this.getTranslatedAngle(angle) } }, _getAdjustedStripLabelCoords: function(strip) { var box = strip.labelBBox; return { translateY: strip.label.attr("y") - box.y - box.height / 2 } }, coordsIn: function(x, y) { return (0, _utils.convertXYToPolar)(this.getCenter(), x, y).r > this.getRadius() }, _rotateTick: function(element, coords) { var center = this.getCenter(); element.rotate(coords.angle, center.x, center.y) }, _validateOverlappingMode: function(mode) { return _axes_constants.default.validateOverlappingMode(mode) }, _validateDisplayMode: function() { return "standard" }, _getStep: function(boxes) { var radius = this.getRadius() + (this._options.label.indentFromAxis || 0); var maxLabelBox = boxes.reduce((function(prevValue, box) { var curValue = prevValue; if (prevValue.width < box.width) { curValue.width = box.width } if (prevValue.height < box.height) { curValue.height = box.height } return curValue }), { width: 0, height: 0 }); var angle1 = abs(2 * atan(maxLabelBox.height / (2 * radius - maxLabelBox.width)) * 180 / PI); var angle2 = abs(2 * atan(maxLabelBox.width / (2 * radius - maxLabelBox.height)) * 180 / PI); return _axes_constants.default.getTicksCountInRange(this._majorTicks, "angle", _max(angle1, angle2)) }, _checkBoundedLabelsOverlapping: function(majorTicks, boxes, mode) { var labelOpt = this._options.label; mode = mode || this._validateOverlappingMode(labelOpt.overlappingBehavior); if ("hide" !== mode) { return } var lastVisibleLabelIndex = majorTicks.reduce((function(lastVisibleLabelIndex, tick, index) { return tick.label ? index : lastVisibleLabelIndex }), null); if (!lastVisibleLabelIndex) { return } if (_axes_constants.default.areLabelsOverlap(boxes[0], boxes[lastVisibleLabelIndex], labelOpt.minSpacing, _axes_constants.default.center)) { "first" === labelOpt.hideFirstOrLast ? majorTicks[0].removeLabel() : majorTicks[lastVisibleLabelIndex].removeLabel() } }, shift: function(margins) { this._axisGroup.attr({ translateX: margins.right, translateY: margins.bottom }); this._axisElementsGroup.attr({ translateX: margins.right, translateY: margins.bottom }) }, getTranslatedAngle: function(angle) { var startAngle = this.getAngles()[0]; return angle + startAngle - 90 } }; var circular = circularAxes; exports.circular = circular; var circularSpider = (0, _extend.extend)({}, circularAxes, { _createAxisElement: function() { return this._renderer.path([], "area") }, _updateAxisElementPosition: function() { this._axisElement.attr({ points: (0, _utils.map)(this.getSpiderTicks(), (function(tick) { return { x: tick.coords.x, y: tick.coords.y } })) }) }, _getStick: function() { return true }, _getSpiderCategoryOption: function() { return true }, getSpiderTicks: function() { var ticks = this.getFullTicks(); this._spiderTicks = ticks.map((0, _tick.tick)(this, this.renderer, {}, {}, this._getSkippedCategory(ticks), true)); this._spiderTicks.forEach((function(tick) { tick.initCoords() })); return this._spiderTicks }, _getStripGraphicAttributes: function(fromAngle, toAngle) { var center = this.getCenter(); var spiderTicks = this.getSpiderTicks(); var firstTick; var lastTick; var nextTick; var tick; var points = []; var i = 0; var len = spiderTicks.length; while (i < len) { tick = spiderTicks[i].coords; if (tick.angle >= fromAngle && tick.angle <= toAngle) { if (!firstTick) { firstTick = (spiderTicks[i - 1] || spiderTicks[spiderTicks.length - 1]).coords; points.push((tick.x + firstTick.x) / 2, (tick.y + firstTick.y) / 2) } points.push(tick.x, tick.y); nextTick = (spiderTicks[i + 1] || spiderTicks[0]).coords; lastTick = { x: (tick.x + nextTick.x) / 2, y: (tick.y + nextTick.y) / 2 } } i++ } points.push(lastTick.x, lastTick.y); points.push(center.x, center.y); return { points: points } }, _createStrip: function(_ref2) { var points = _ref2.points; return this._renderer.path(points, "area") }, _getTranslatedCoord: function(value, offset) { return this._translator.translate(value, offset) - 90 }, _setTickOffset: function() { this._tickOffset = false } }); exports.circularSpider = circularSpider; var linear = { _resetMargins: function() { this._reinitTranslator(this._getViewportRange()) }, _getStick: xyAxesLinear._getStick, _getSpiderCategoryOption: _common.noop, _getTranslatorOptions: function() { return { isHorizontal: true, stick: this._getStick() } }, getRadius: circularAxes.getRadius, getCenter: circularAxes.getCenter, getAngles: circularAxes.getAngles, _updateRadius: circularAxes._updateRadius, _updateCenter: circularAxes._updateCenter, _processCanvas: function(canvas) { this._updateRadius(canvas); this._updateCenter(canvas); return { left: 0, right: 0, startPadding: canvas.startPadding, endPadding: canvas.endPadding, width: this.getRadius() } }, _createAxisElement: xyAxesLinear._createAxisElement, _updateAxisElementPosition: function() { var centerCoord = this.getCenter(); this._axisElement.attr({ points: [centerCoord.x, centerCoord.y, centerCoord.x + this.getRadius(), centerCoord.y] }).rotate(this.getAngles()[0] - 90, centerCoord.x, centerCoord.y) }, _getScreenDelta: function() { return this.getRadius() }, _getTickMarkPoints: function(coords, length) { return [coords.x - length / 2, coords.y, coords.x + length / 2, coords.y] }, _getLabelAdjustedCoord: function(tick) { var labelCoords = tick.labelCoords; var labelY = labelCoords.y; var cosSin = (0, _utils.getCosAndSin)(labelCoords.angle); var indentFromAxis = this._options.label.indentFromAxis || 0; var box = tick.labelBBox; var x = labelCoords.x - abs(indentFromAxis * cosSin.sin) + abs(box.width / 2 * cosSin.cos) - box.width / 2; var y = labelY + (labelY - box.y) - abs(box.height / 2 * cosSin.sin) + abs(indentFromAxis * cosSin.cos); return { x: x, y: y } }, _getGridLineDrawer: function() { var that = this; return function(tick, gridStyle) { var grid = that._getGridPoints(tick.coords); return that._renderer.circle(grid.cx, grid.cy, grid.r).attr(gridStyle).sharp() } }, _getGridPoints: function(coords) { var pos = this.getCenter(); var radius = (0, _utils.getDistance)(pos.x, pos.y, coords.x, coords.y); if (radius > this.getRadius()) { return { cx: null, cy: null, r: null } } return { cx: pos.x, cy: pos.y, r: radius } }, _getTranslatedValue: function(value, offset) { var startAngle = this.getAngles()[0]; var xy = (0, _utils.convertPolarToXY)(this.getCenter(), startAngle, 0, this._translator.translate(value, offset)); return { x: xy.x, y: xy.y, angle: startAngle - 90 } }, _getTranslatedCoord: function(value, offset) { return this._translator.translate(value, offset) }, _getCanvasStartEnd: function() { var invert = this.getTranslator().getBusinessRange().invert; var coords = [0, this.getRadius()]; invert && coords.reverse(); return { start: coords[0], end: coords[1] } }, _getStripGraphicAttributes: function(fromPoint, toPoint) { var center = this.getCenter(); return { x: center.x, y: center.y, innerRadius: fromPoint, outerRadius: toPoint } }, _createStrip: function(attrs) { return this._renderer.arc(attrs.x, attrs.y, attrs.innerRadius, attrs.outerRadius, 0, 360) }, _getAdjustedStripLabelCoords: circularAxes._getAdjustedStripLabelCoords, _getStripLabelCoords: function(from, to) { var labelPos = from + (to - from) / 2; var center = this.getCenter(); var y = round(center.y - labelPos); return { x: center.x, y: y, align: _axes_constants.default.center } }, _getConstantLineGraphicAttributes: function(value) { var center = this.getCenter(); return { cx: center.x, cy: center.y, r: value } }, _createConstantLine: function(value, attr) { var attrs = this._getConstantLineGraphicAttributes(value); return this._renderer.circle(attrs.cx, attrs.cy, attrs.r).attr(attr).sharp() }, _getConstantLineLabelsCoords: function(value) { var center = this.getCenter(); var y = round(center.y - value); return { x: center.x, y: y } }, _checkAlignmentConstantLineLabels: _common.noop, _rotateTick: function(element, coords, isGridLine) { !isGridLine && element.rotate(coords.angle + 90, coords.x, coords.y) }, _validateOverlappingMode: circularAxes._validateOverlappingMode, _validateDisplayMode: circularAxes._validateDisplayMode, _getStep: function(boxes) { var quarter = getPolarQuarter(this.getAngles()[0]); var spacing = this._options.label.minSpacing; var func = 2 === quarter || 4 === quarter ? function(box) { return box.width + spacing } : function(box) { return box.height }; var maxLabelLength = boxes.reduce((function(prevValue, box) { return _max(prevValue, func(box)) }), 0); return _axes_constants.default.getTicksCountInRange(this._majorTicks, 2 === quarter || 4 === quarter ? "x" : "y", maxLabelLength) } }; exports.linear = linear; var linearSpider = (0, _extend.extend)({}, linear, { _createPathElement: function(points, attr) { return this._renderer.path(points, "area").attr(attr).sharp() }, setSpiderTicks: function(ticks) { this._spiderTicks = ticks }, _getGridLineDrawer: function() { var that = this; return function(tick, gridStyle) { return that._createPathElement(that._getGridPoints(tick.coords).points, gridStyle) } }, _getGridPoints: function(coords) { var pos = this.getCenter(); var radius = (0, _utils.getDistance)(pos.x, pos.y, coords.x, coords.y); return this._getGridPointsByRadius(radius) }, _getGridPointsByRadius: function(radius) { var pos = this.getCenter(); if (radius > this.getRadius()) { return { points: null } } return { points: (0, _utils.map)(this._spiderTicks, (function(tick) { var cosSin = (0, _utils.getCosAndSin)(tick.coords.angle); return { x: round(pos.x + radius * cosSin.cos), y: round(pos.y + radius * cosSin.sin) } })) } }, _getStripGraphicAttributes: function(fromPoint, toPoint) { var innerPoints = this._getGridPointsByRadius(toPoint).points; var outerPoints = this._getGridPointsByRadius(fromPoint).points; return { points: [outerPoints, innerPoints.reverse()] } }, _createStrip: circularSpider._createStrip, _getConstantLineGraphicAttributes: function(value) { return this._getGridPointsByRadius(value) }, _createConstantLine: function(value, attr) { return this._createPathElement(this._getConstantLineGraphicAttributes(value).points, attr) } }); exports.linearSpider = linearSpider }, 41583: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/axes/smart_formatter.js ***! \*************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.formatRange = function(_ref2) { var startValue = _ref2.startValue, endValue = _ref2.endValue, tickInterval = _ref2.tickInterval, argumentFormat = _ref2.argumentFormat, _ref2$axisOptions = _ref2.axisOptions, dataType = _ref2$axisOptions.dataType, type = _ref2$axisOptions.type, logarithmBase = _ref2$axisOptions.logarithmBase; if ("discrete" === type) { return "" } if ("datetime" === dataType) { return function(startValue, endValue, tickInterval) { var diff = getDatesDifferences(startValue, endValue); var typeFormat = _date.default.getDateFormatByTickInterval(tickInterval); var diffFormatType = _format_helper.default.getDateFormatByDifferences(diff, typeFormat); var diffFormat = createFormat(diffFormatType); var values = []; if (tickInterval in diff) { var rangeFormat = function(diff, interval) { var stop = false; for (var i in diff) { if (stop) { diff[i] = false } else if (i === interval) { stop = true } else { diff[i] = true } } return createFormat(_format_helper.default.getDateFormatByDifferences(diff)) }(getDatesDifferences(startValue, endValue), tickInterval); var value = _format(startValue, rangeFormat); if (value) { values.push(value) } } else { var _rangeFormat = function(diff) { var stop = false; for (var i in diff) { if (true === diff[i] || "hour" === i || stop) { diff[i] = false; stop = true } else if (false === diff[i]) { diff[i] = true } } return createFormat(_format_helper.default.getDateFormatByDifferences(diff)) }(getDatesDifferences(startValue, endValue)); var highValue = _format(startValue, _rangeFormat); if (highValue) { values.push(highValue) } values.push("".concat(_format(startValue, diffFormat), " - ").concat(_format(endValue, diffFormat))) } return values.join(", ") }(startValue, endValue, function(interval) { if ((0, _type.isObject)(interval)) { var dateUnits = Object.keys(interval); var sum = dateUnits.reduce((function(sum, k) { return interval[k] + sum }), 0); if (1 === sum) { var dateUnit = dateUnits.filter((function(k) { return 1 === interval[k] }))[0]; return dateUnit.slice(0, dateUnit.length - 1) } } return interval }(tickInterval)) } var formatOptions = { ticks: [], type: type, dataType: dataType, tickInterval: tickInterval, logarithmBase: logarithmBase, labelOptions: { format: argumentFormat } }; return "".concat(smartFormatter(startValue, formatOptions), " - ").concat(smartFormatter(endValue, formatOptions)) }; exports.smartFormatter = smartFormatter; var _format_helper = _interopRequireDefault(__webpack_require__( /*! ../../format_helper */ 30343)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _utils = __webpack_require__( /*! ../core/utils */ 19157); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _format = _format_helper.default.format; var abs = Math.abs, floor = Math.floor; var formats = ["fixedPoint", "thousands", "millions", "billions", "trillions", "exponential"]; var dateUnitIntervals = ["millisecond", "second", "minute", "hour", "day", "month", "year"]; var INTERVALS_MAP = { week: "day", quarter: "month", shorttime: "hour", longtime: "second" }; function getDatesDifferences(prevDate, curDate, nextDate, tickIntervalFormat) { tickIntervalFormat = INTERVALS_MAP[tickIntervalFormat] || tickIntervalFormat; var tickFormatIndex = dateUnitIntervals.indexOf(tickIntervalFormat); if (nextDate) { var nextDifferences = _date.default.getDatesDifferences(curDate, nextDate); if (nextDifferences[tickIntervalFormat]) { ! function(differences, tickFormatIndex) { for (var i = tickFormatIndex; i < dateUnitIntervals.length - 1; i++) { var dateUnitInterval = dateUnitIntervals[i]; if (i === tickFormatIndex) { setDateUnitInterval(differences, tickFormatIndex + (differences.millisecond ? 2 : 1)); break } else if (differences[dateUnitInterval] && differences.count > 1) { resetDateUnitInterval(differences, i); break } } }(nextDifferences, tickFormatIndex) } return nextDifferences } else { var prevDifferences = _date.default.getDatesDifferences(prevDate, curDate); var patched = function(differences, tickFormatIndex) { var patched = false; for (var i = dateUnitIntervals.length - 1; i >= tickFormatIndex; i--) { var dateUnitInterval = dateUnitIntervals[i]; if (differences[dateUnitInterval]) { if (i - tickFormatIndex > 1) { for (var j = 0; j <= tickFormatIndex; j++) { resetDateUnitInterval(differences, j); patched = true } break } } } return patched }(prevDifferences, tickFormatIndex); if (!patched && 1 === prevDifferences.count) { setDateUnitInterval(prevDifferences, tickFormatIndex) } return prevDifferences } } function resetDateUnitInterval(differences, intervalIndex) { var dateUnitInterval = dateUnitIntervals[intervalIndex]; if (differences[dateUnitInterval]) { differences[dateUnitInterval] = false; differences.count-- } } function setDateUnitInterval(differences, intervalIndex) { var dateUnitInterval = dateUnitIntervals[intervalIndex]; if (false === differences[dateUnitInterval]) { differences[dateUnitInterval] = true; differences.count++ } } function getTransitionTickIndex(ticks, value) { var i; var curDiff; var minDiff; var nearestTickIndex = 0; minDiff = abs(value - ticks[0]); for (i = 1; i < ticks.length; i++) { curDiff = abs(value - ticks[i]); if (curDiff < minDiff) { minDiff = curDiff; nearestTickIndex = i } } return nearestTickIndex } function splitDecimalNumber(value) { return value.toString().split(".") } function createFormat(type) { var formatter; if ((0, _type.isFunction)(type)) { formatter = type; type = null } return { type: type, formatter: formatter } } function getFormatExponential(tick, tickInterval) { var stringTick = abs(tick).toString(); if ((0, _type.isExponential)(tick)) { return Math.max(abs((0, _math.getExponent)(tick) - (0, _math.getExponent)(tickInterval)), abs((0, _math.getPrecision)(tick) - (0, _math.getPrecision)(tickInterval))) } else { return abs((str = stringTick.split(".")[1], str.length - parseInt(str).toString().length) - (0, _math.getExponent)(tickInterval) + 1) } var str } function smartFormatter(tick, options) { var tickInterval = options.tickInterval; var stringTick = abs(tick).toString(); var format = options.labelOptions.format; var ticks = options.ticks; var isLogarithmic = "logarithmic" === options.type; if (1 === ticks.length && 0 === ticks.indexOf(tick) && !(0, _type.isDefined)(tickInterval)) { tickInterval = abs(tick) >= 1 ? 1 : (0, _math.adjust)(1 - abs(tick), tick) } if (Object.is(tick, -0)) { tick = 0 } if (!(0, _type.isDefined)(format) && "discrete" !== options.type && tick && (10 === options.logarithmBase || !isLogarithmic)) { if ("datetime" !== options.dataType && (0, _type.isDefined)(tickInterval)) { if (ticks.length && -1 === ticks.indexOf(tick)) { var indexOfTick = getTransitionTickIndex(ticks, tick); tickInterval = (0, _math.adjust)(abs(tick - ticks[indexOfTick]), tick) } if (isLogarithmic) { return function(tick) { var log10Tick = (0, _utils.getAdjustedLog10)(abs(tick)); var type; if (log10Tick > 0) { type = formats[floor(log10Tick / 3)] || "exponential" } else if (log10Tick < -4) { type = "exponential" } else { return _format((0, _math.adjust)(tick)) } return _format(tick, { type: type, precision: 0 }) }(tick) } else { var separatedTickInterval = splitDecimalNumber(tickInterval); if (separatedTickInterval < 2) { separatedTickInterval = splitDecimalNumber(tick) } if (separatedTickInterval.length > 1 && !(0, _type.isExponential)(tickInterval)) { format = { type: formats[0], precision: separatedTickInterval[1].length } } else if ((0, _type.isExponential)(tickInterval) && (-1 !== stringTick.indexOf(".") || (0, _type.isExponential)(tick))) { format = { type: "exponential", precision: getFormatExponential(tick, tickInterval) } } else { format = function(tick, tickInterval) { var tickIntervalIndex = floor((0, _utils.getAdjustedLog10)(tickInterval)); var tickIndex; var precision = 0; var actualIndex = tickIndex = floor((0, _utils.getAdjustedLog10)(abs(tick))); if (tickIndex - tickIntervalIndex >= 2) { actualIndex = tickIntervalIndex } var indexOfFormat = floor(actualIndex / 3); var offset = 3 * indexOfFormat; if (indexOfFormat < 0) { indexOfFormat = 0 } var typeFormat = formats[indexOfFormat] || formats[formats.length - 1]; if (offset > 0) { var separatedTickInterval = splitDecimalNumber(tickInterval / Math.pow(10, offset)); if (separatedTickInterval[1]) { precision = separatedTickInterval[1].length } } return { precision: precision, type: typeFormat } }(tick, tickInterval) } } } else if ("datetime" === options.dataType) { format = function(tick, _ref) { var showTransition = _ref.showTransition, ticks = _ref.ticks, tickInterval = _ref.tickInterval; var typeFormat = _date.default.getDateFormatByTickInterval(tickInterval); var prevDateIndex; var nextDateIndex; if (showTransition && ticks.length) { var indexOfTick = ticks.map(Number).indexOf(+tick); if (1 === ticks.length && 0 === indexOfTick) { typeFormat = _format_helper.default.getDateFormatByTicks(ticks) } else { if (-1 === indexOfTick) { prevDateIndex = getTransitionTickIndex(ticks, tick) } else { prevDateIndex = 0 === indexOfTick ? ticks.length - 1 : indexOfTick - 1; nextDateIndex = 0 === indexOfTick ? 1 : -1 } var datesDifferences = getDatesDifferences(ticks[prevDateIndex], tick, ticks[nextDateIndex], typeFormat); typeFormat = _format_helper.default.getDateFormatByDifferences(datesDifferences, typeFormat) } } return createFormat(typeFormat) }(tick, options) } } return _format(tick, format) } }, 54978: /*!***************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/axes/strip.js ***! \***************************************************************/ function(module, exports, __webpack_require__) { exports.default = function(axis, options) { var storedCoord; var lastStoredCoordinates; var labelOptions = options.label || {}; return { options: options, label: null, rect: null, _getCoord: function() { var canvas = axis._getCanvasStartEnd(); var range = axis._translator.getBusinessRange(); return axis._getStripPos(options.startValue, options.endValue, canvas.start, canvas.end, range) }, _drawLabel: function(coords) { return axis._renderer.text(labelOptions.text, coords.x, coords.y).css((0, _utils.patchFontOptions)((0, _extend.extend)({}, axis.getOptions().label.font, labelOptions.font))).attr({ align: "center", class: labelOptions.cssClass }).append(axis._axisStripLabelGroup) }, draw: function() { if (axis._translator.getBusinessRange().isEmpty()) { return } if (((0, _type.isDefined)(options.startValue) || (0, _type.isDefined)(options.endValue)) && (0, _type.isDefined)(options.color)) { var stripPos = this._getCoord(); this.labelCoords = labelOptions.text ? axis._getStripLabelCoords(stripPos.from, stripPos.to, labelOptions) : null; if (stripPos.outOfCanvas || !(0, _type.isDefined)(stripPos.to) || !(0, _type.isDefined)(stripPos.from)) { return } this.rect = axis._createStrip(axis._getStripGraphicAttributes(stripPos.from, stripPos.to)).attr({ fill: options.color }).append(axis._axisStripGroup); this.label = labelOptions.text ? this._drawLabel(this.labelCoords) : null } }, getContentContainer: function() { return this.label }, removeLabel: function() {}, updatePosition: function(animate) { var stripPos = this._getCoord(); if (animate && storedCoord) { this.label && this.label.attr(axis._getStripLabelCoords(storedCoord.from, storedCoord.to, options.label)); this.rect && this.rect.attr(axis._getStripGraphicAttributes(storedCoord.from, storedCoord.to)); this.label && this.label.animate(axis._getStripLabelCoords(stripPos.from, stripPos.to, options.label)); this.rect && this.rect.animate(axis._getStripGraphicAttributes(stripPos.from, stripPos.to)) } else { this.label && this.label.attr(axis._getStripLabelCoords(stripPos.from, stripPos.to, options.label)); this.rect && this.rect.attr(axis._getStripGraphicAttributes(stripPos.from, stripPos.to)) } }, saveCoords: function() { lastStoredCoordinates = storedCoord; storedCoord = this._getCoord() }, resetCoordinates: function() { storedCoord = lastStoredCoordinates } } }; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); module.exports = exports.default; module.exports.default = exports.default }, 41013: /*!**************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/axes/tick.js ***! \**************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.tick = function(axis, renderer, tickOptions, gridOptions, skippedCategory, skipLabels, offset) { var tickOffset = offset || axis._tickOffset; var lineGroup = axis._axisLineGroup; var elementsGroup = axis._axisElementsGroup; var tickStyle = getPathStyle(tickOptions); var gridStyle = getPathStyle(gridOptions); var emptyStrRegExp = /^\s+$/; var axisOptions = axis.getOptions(); var labelOptions = axisOptions.label; var labelStyle = axis._textOptions; function getLabelFontStyle(tick) { var fontStyle = axis._textFontStyles; var customizeColor = labelOptions.customizeColor; if (customizeColor && customizeColor.call) { fontStyle = (0, _extend.extend)({}, axis._textFontStyles, { fill: customizeColor.call(tick, tick) }) } return fontStyle } function createLabelHint(tick, range) { var labelHint = axis.formatHint(tick.value, labelOptions, range); if ((0, _type.isDefined)(labelHint) && "" !== labelHint) { tick.getContentContainer().setTitle(labelHint) } } return function(value) { var tick = { value: value, updateValue: function(newValue) { this.value = value = newValue }, initCoords: function() { this.coords = axis._getTranslatedValue(value, tickOffset); this.labelCoords = axis._getTranslatedValue(value) }, saveCoords: function() { this._lastStoredCoordinates = { coords: this._storedCoords, labelCoords: this._storedLabelsCoords }; this._storedCoords = this.coords; this._storedLabelsCoords = this.templateContainer ? this._getTemplateCoords() : this.labelCoords }, resetCoordinates: function() { if (this._lastStoredCoordinates) { this._storedCoords = this._lastStoredCoordinates.coords; this._storedLabelsCoords = this._lastStoredCoordinates.labelCoords } }, drawMark: function(options) { if (!tickOptions.visible || skippedCategory === value) { return } if (axis.areCoordsOutsideAxis(this.coords)) { return } if (this.mark) { this.mark.append(lineGroup); axis.sharp(this.mark, axis.getSharpDirectionByCoords(this.coords)); this.updateTickPosition(options) } else { this.mark = axis._createPathElement([], tickStyle, axis.getSharpDirectionByCoords(this.coords)).append(lineGroup); this.updateTickPosition(options) } }, setSkippedCategory: function(category) { skippedCategory = category }, _updateLine: function(lineElement, settings, storedSettings, animate, isGridLine) { if (!lineElement) { return } if (null === settings.points || null === settings.r) { lineElement.remove(); return } if (animate && storedSettings && null !== storedSettings.points) { settings.opacity = 1; lineElement.attr(storedSettings); lineElement.animate(settings) } else { settings.opacity = animate ? 0 : 1; lineElement.attr(settings); animate && lineElement.animate({ opacity: 1 }, { delay: .5, partitionDuration: .5 }) } this.coords.angle && axis._rotateTick(lineElement, this.coords, isGridLine) }, updateTickPosition: function(options, animate) { this._updateLine(this.mark, { points: axis._getTickMarkPoints(tick.coords, tickOptions.length, options) }, this._storedCoords && { points: axis._getTickMarkPoints(tick._storedCoords, tickOptions.length, options) }, animate, false) }, drawLabel: function(range, template) { var _this = this; if (this.templateContainer && axis.isRendered()) { this.updateLabelPosition(); return } var labelIsVisible = labelOptions.visible && !skipLabels && !axis.getTranslator().getBusinessRange().isEmpty() && !axis.areCoordsOutsideAxis(this.labelCoords); if (!labelIsVisible) { if (this.label) { this.removeLabel() } return } var templateOption = labelOptions.template; var text = axis.formatLabel(value, labelOptions, range); if (this.label) { this.label.attr({ text: text, rotate: 0 }).append(elementsGroup); createLabelHint(this, range); this.updateLabelPosition(); return } if (templateOption) { this.templateContainer = renderer.g().append(elementsGroup); this._templateDef && this._templateDef.reject(); this._templateDef = new _deferred.Deferred; template.render({ model: { valueText: text, value: this.value, labelFontStyle: getLabelFontStyle(this), labelStyle: labelStyle }, container: this.templateContainer.element, onRendered: function() { _this.updateLabelPosition(); _this._templateDef && _this._templateDef.resolve() } }) } else if ((0, _type.isDefined)(text) && "" !== text && !emptyStrRegExp.test(text)) { this.label = renderer.text(text).css(getLabelFontStyle(this)).attr(labelStyle).append(elementsGroup); this.updateLabelPosition(); createLabelHint(this, range) } var containerForData = this.getContentContainer(); containerForData && containerForData.data("chart-data-argument", this.value); this.templateContainer && createLabelHint(this, range) }, getTemplateDeferred: function() { return this._templateDef }, getContentContainer: function() { return this.templateContainer || this.label }, fadeOutElements: function() { var startSettings = { opacity: 1 }; var endSettings = { opacity: 0 }; var animationSettings = { partitionDuration: .5 }; if (this.getContentContainer()) { this._fadeOutLabel() } if (this.grid) { this.grid.append(axis._axisGridGroup).attr(startSettings).animate(endSettings, animationSettings) } if (this.mark) { this.mark.append(axis._axisLineGroup).attr(startSettings).animate(endSettings, animationSettings) } }, _fadeInLabel: function() { var group = axis._renderer.g().attr({ opacity: 0 }).append(axis._axisElementsGroup).animate({ opacity: 1 }, { delay: .5, partitionDuration: .5 }); this.getContentContainer().append(group) }, _fadeOutLabel: function() { var group = axis._renderer.g().attr({ opacity: 1 }).animate({ opacity: 0 }, { partitionDuration: .5 }).append(axis._axisElementsGroup).toBackground(); this.getContentContainer().append(group) }, _getTemplateCoords: function() { return axis._getLabelAdjustedCoord(this, (axis._constantLabelOffset || 0) + (tick.labelOffset || 0)) }, updateLabelPosition: function(animate) { var templateContainer = this.templateContainer; if (!this.getContentContainer()) { return } if (animate && this._storedLabelsCoords) { if (templateContainer) { templateContainer.attr(this._storedLabelsCoords); var lCoords = this._getTemplateCoords(); templateContainer.animate(lCoords) } else { this.label.attr({ x: this._storedLabelsCoords.x, y: this._storedLabelsCoords.y }); this.label.animate({ x: this.labelCoords.x, y: this.labelCoords.y }) } } else { if (templateContainer) { var _lCoords = this._getTemplateCoords(); templateContainer.attr(_lCoords) } else { this.label.attr({ x: this.labelCoords.x, y: this.labelCoords.y }) } if (animate) { this._fadeInLabel() } } }, updateMultilineTextAlignment: function() { if (labelOptions.template || !this.label) { return } this.label.attr({ textsAlignment: this.labelAlignment || axis.getOptions().label.alignment }) }, drawGrid: function(drawLine) { if (gridOptions.visible && skippedCategory !== this.value) { if (this.grid) { this.grid.append(axis._axisGridGroup); axis.sharp(this.grid, axis.getSharpDirectionByCoords(this.coords)); this.updateGridPosition() } else { this.grid = drawLine(this, gridStyle); this.grid && this.grid.append(axis._axisGridGroup) } } }, updateGridPosition: function(animate) { this._updateLine(this.grid, axis._getGridPoints(tick.coords), this._storedCoords && axis._getGridPoints(this._storedCoords), animate, true) }, removeLabel: function() { var contentContainer = this.getContentContainer(); contentContainer && contentContainer.remove(); this._templateDef && this._templateDef.reject(); this._templateDef = this.templateContainer = this.label = null } }; return tick } }; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); function getPathStyle(options) { return { stroke: options.color, "stroke-width": options.width, "stroke-opacity": options.opacity, opacity: 1 } } }, 45971: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/axes/tick_generator.js ***! \************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.tickGenerator = void 0; var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _date = (obj = __webpack_require__( /*! ../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var convertDateUnitToMilliseconds = _date.default.convertDateUnitToMilliseconds; var dateToMilliseconds = _date.default.dateToMilliseconds; var math = Math; var mathAbs = math.abs; var mathFloor = math.floor; var mathCeil = math.ceil; var mathPow = math.pow; var NUMBER_MULTIPLIERS = [1, 2, 2.5, 5]; var LOGARITHMIC_MULTIPLIERS = [1, 2, 3, 5]; var DATETIME_MULTIPLIERS = { millisecond: [1, 2, 5, 10, 25, 50, 100, 250, 500], second: [1, 2, 3, 5, 10, 15, 20, 30], minute: [1, 2, 3, 5, 10, 15, 20, 30], hour: [1, 2, 3, 4, 6, 8, 12], day: [1, 2], week: [1, 2], month: [1, 2, 3, 6] }; var DATETIME_MULTIPLIERS_WITH_BIG_WEEKEND = (0, _extend.extend)({}, DATETIME_MULTIPLIERS, { day: [1] }); var DATETIME_MINOR_MULTIPLIERS = { millisecond: [1, 2, 5, 10, 25, 50, 100, 250, 500], second: [1, 2, 3, 5, 10, 15, 20, 30], minute: [1, 2, 3, 5, 10, 15, 20, 30], hour: [1, 2, 3, 4, 6, 8, 12], day: [1, 2, 3, 7, 14], month: [1, 2, 3, 6] }; var MINOR_DELIMITERS = [2, 4, 5, 8, 10]; var getValue = function(value) { return value }; var getLogValue = function(base, allowNegatives, linearThreshold) { return function(value) { return (0, _utils.getLogExt)(value, base, allowNegatives, linearThreshold) } }; var correctValueByInterval = function(post, round, getValue) { return function(value, interval) { return (0, _math.adjust)(post(round((0, _math.adjust)(getValue(value) / interval)) * interval)) } }; function correctMinValueByEndOnTick(floorFunc, ceilFunc, resolveEndOnTick, endOnTick) { if ((0, _type.isDefined)(endOnTick)) { return endOnTick ? floorFunc : ceilFunc } return function(value, interval, businessViewInfo, forceEndOnTick) { var floorTickValue = floorFunc(value, interval); if (value - floorTickValue === 0 || !(0, _type.isDefined)(businessViewInfo) || resolveEndOnTick(value, floorTickValue, interval, businessViewInfo) || forceEndOnTick) { return floorTickValue } return ceilFunc(value, interval) } } function resolveEndOnTick(curValue, tickValue, interval, businessViewInfo) { var prevTickDataDiff = interval - mathAbs(tickValue - curValue); var intervalCount = math.max(mathCeil(businessViewInfo.businessDelta / interval), 2); var businessRatio = businessViewInfo.screenDelta / (intervalCount * interval); var potentialTickScreenDiff = math.round(businessRatio * prevTickDataDiff); var delimiterFactor = (0, _utils.getLogExt)(businessRatio * interval / businessViewInfo.axisDivisionFactor, 2) + 1; var delimiterMultiplier = (businessViewInfo.isSpacedMargin ? 2 : 1) * delimiterFactor; var screenDelimiter = math.round(3 * delimiterMultiplier); return businessViewInfo.businessDelta > businessViewInfo.interval && potentialTickScreenDiff >= screenDelimiter } function resolveEndOnTickLog(base) { return function(curValue, tickValue, interval, businessViewInfo) { return resolveEndOnTick((0, _utils.getLogExt)(curValue, base), (0, _utils.getLogExt)(tickValue, base), interval, businessViewInfo) } } function resolveEndOnTickDate(curValue, tickValue, interval, businessViewInfo) { return resolveEndOnTick(curValue.valueOf(), tickValue.valueOf(), dateToMilliseconds(interval), businessViewInfo) } function getBusinessDelta(data, breaks) { var spacing = 0; if (breaks) { spacing = breaks.reduce((function(prev, item) { return prev + (item.to - item.from) }), 0) } return mathAbs(data.max - data.min - spacing) } function getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor, addTickCount) { var count = screenDelta / axisDivisionFactor - (addTickCount || 0); count = count < 1 ? 1 : count; return businessDelta / count } function getMultiplierFactor(interval, factorDelta) { return mathPow(10, mathFloor((0, _utils.getLogExt)(interval, 10)) + (factorDelta || 0)) } function calculateTickInterval(businessDelta, screenDelta, tickInterval, forceTickInterval, axisDivisionFactor, multipliers, allowDecimals, addTickCount, _, minTickInterval) { var interval = getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor, addTickCount); var result = 1; var onlyIntegers = false === allowDecimals; if (!forceTickInterval || !tickInterval) { if (interval >= 1 || !onlyIntegers && interval > 0) { result = adjustInterval(interval, multipliers, onlyIntegers) } if (!tickInterval || !forceTickInterval && tickInterval < result) { tickInterval = result } } if (!forceTickInterval && minTickInterval) { minTickInterval = adjustInterval(minTickInterval, multipliers, onlyIntegers); if (minTickInterval > tickInterval) { tickInterval = minTickInterval } } return tickInterval } function adjustInterval(interval, multipliers, onlyIntegers) { var factor = getMultiplierFactor(interval, -1); var result = 1; multipliers = multipliers || NUMBER_MULTIPLIERS; if (interval > 0) { interval /= factor; result = multipliers.concat(10 * multipliers[0]).map((function(m) { return 10 * m })).reduce((function(r, m) { if (.1 === factor && onlyIntegers && 25 === m) { return r } return r < interval ? m : r }), 0); result = (0, _math.adjust)(result * factor, factor) } return result } function calculateMinorTickInterval(businessDelta, screenDelta, tickInterval, axisDivisionFactor) { var interval = getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor); return tickInterval || MINOR_DELIMITERS.reduce((function(r, d) { var cur = businessDelta / d; return cur >= interval ? cur : r }), 0) } function getAdjustIntervalLog(skipCalculationLimits) { return function(interval, multipliers) { var factor = getMultiplierFactor(interval); multipliers = multipliers || LOGARITHMIC_MULTIPLIERS; if (!skipCalculationLimits && factor < 1) { factor = 1 } return multipliers.concat(10 * multipliers[0]).reduce((function(r, m) { return r < interval ? m * factor : r }), 0) } } function numbersReducer(interval, key) { return function(r, m) { if (!r && interval <= convertDateUnitToMilliseconds(key, m)) { r = {}; r[key + "s"] = m } return r } } function yearsReducer(interval, factor) { return function(r, m) { var years = factor * m; if (!r && interval <= convertDateUnitToMilliseconds("year", years) && 2.5 !== years) { r = { years: years } } return r } } function calculateTickIntervalDateTime(businessDelta, screenDelta, tickInterval, forceTickInterval, axisDivisionFactor, multipliers, allowDecimals, addTickCount, gapSize, minTickInterval) { if (!forceTickInterval || !tickInterval) { var result = adjustIntervalDateTime(getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor), multipliers, null, gapSize); if (!tickInterval || !forceTickInterval && dateToMilliseconds(tickInterval) <= dateToMilliseconds(result)) { tickInterval = result } } if (!forceTickInterval && minTickInterval) { minTickInterval = adjustIntervalDateTime(minTickInterval, multipliers, null, gapSize); if (dateToMilliseconds(minTickInterval) > dateToMilliseconds(tickInterval)) { tickInterval = minTickInterval } } return tickInterval } function adjustIntervalDateTime(interval, multipliers, _, gapSize) { var result; multipliers = multipliers || function(gapSize) { if (gapSize && gapSize > 2) { return DATETIME_MULTIPLIERS_WITH_BIG_WEEKEND } else { return DATETIME_MULTIPLIERS } }(gapSize); for (var key in multipliers) { result = multipliers[key].reduce(numbersReducer(interval, key), result); if (result) { break } } if (!result) { for (var factor = 1;; factor *= 10) { result = NUMBER_MULTIPLIERS.reduce(yearsReducer(interval, factor), result); if (result) { break } } } return result } function calculateMinorTickIntervalDateTime(businessDelta, screenDelta, tickInterval, axisDivisionFactor) { return calculateTickIntervalDateTime(businessDelta, screenDelta, tickInterval, true, axisDivisionFactor, DATETIME_MINOR_MULTIPLIERS) } function getTickIntervalByCustomTicks(getValue, postProcess) { return function(ticks) { return ticks ? postProcess(mathAbs((0, _math.adjust)(getValue(ticks[1]) - getValue(ticks[0])))) || void 0 : void 0 } } function addInterval(value, interval, isNegative) { return _date.default.addInterval(value, interval, isNegative) } function addIntervalDate(value, interval, isNegative) { return addInterval(value, interval, isNegative) } function addIntervalWithBreaks(addInterval, breaks, correctValue) { breaks = breaks.filter((function(b) { return !b.gapSize })); return function(value, interval, isNegative) { var breakSize; value = addInterval(value, interval, isNegative); if (!breaks.every((function(item) { if (value >= addInterval(item.from, interval) && addInterval(value, interval) < item.to) { breakSize = item.to - item.from - 2 * (addInterval(item.from, interval) - item.from) } return !breakSize }))) { value = correctValue(addInterval(value, breakSize), interval) } return value } } function calculateTicks(addInterval, correctMinValue, adjustInterval, resolveEndOnTick) { return function(data, tickInterval, endOnTick, gaps, breaks, businessDelta, screenDelta, axisDivisionFactor, generateExtraTick) { var correctTickValue = function(addInterval, breaks) { return function(value) { var gapSize; if (!breaks.every((function(item) { if (value >= item.from && value < item.to) { gapSize = item.gapSize } return !gapSize }))) { value = addInterval(value, gapSize) } return value } }(addInterval, gaps); var min = data.min; var max = data.max; var businessViewInfo = { screenDelta: screenDelta, businessDelta: businessDelta, axisDivisionFactor: axisDivisionFactor, isSpacedMargin: data.isSpacedMargin, interval: tickInterval }; var cur = correctMinValue(min, tickInterval, businessViewInfo); var ticks = []; if (null !== breaks && void 0 !== breaks && breaks.length) { addInterval = addIntervalWithBreaks(addInterval, breaks, correctMinValue) } if (cur > max) { cur = correctMinValue(min, adjustInterval(businessDelta / 2), businessViewInfo); if (cur > max) { endOnTick = true; cur = correctMinValue(min, tickInterval, businessViewInfo, endOnTick) } } cur = correctTickValue(cur); var prev; while (cur < max && cur !== prev || generateExtraTick && cur <= max) { ticks.push(cur); prev = cur; cur = correctTickValue(addInterval(cur, tickInterval)) } if (endOnTick || cur - max === 0 || !(0, _type.isDefined)(endOnTick) && resolveEndOnTick(max, cur, tickInterval, businessViewInfo)) { ticks.push(cur) } return ticks } } function calculateMinorTicks(updateTickInterval, addInterval, correctMinValue, correctTickValue, ceil) { return function(min, max, majorTicks, minorTickInterval, tickInterval, breaks, maxCount) { var factor = tickInterval / minorTickInterval; var lastMajor = majorTicks[majorTicks.length - 1]; var firstMajor = majorTicks[0]; var tickBalance = maxCount - 1; if (null !== breaks && void 0 !== breaks && breaks.length) { addInterval = addIntervalWithBreaks(addInterval, breaks, correctMinValue) } minorTickInterval = updateTickInterval(minorTickInterval, firstMajor, firstMajor, factor); if (0 === minorTickInterval) { return [] } var cur = correctTickValue(correctMinValue(min, tickInterval, min), minorTickInterval); minorTickInterval = updateTickInterval(minorTickInterval, firstMajor, cur, factor); var ticks = []; while (cur < firstMajor && (!tickBalance || tickBalance > 0)) { cur >= min && ticks.push(cur); tickBalance--; cur = addInterval(cur, minorTickInterval) } var middleTicks = majorTicks.reduce((function(r, tick) { tickBalance = maxCount - 1; if (null === r.prevTick) { r.prevTick = tick; return r } minorTickInterval = updateTickInterval(minorTickInterval, tick, r.prevTick, factor); var cur = correctTickValue(r.prevTick, minorTickInterval); while (cur < tick && (!tickBalance || tickBalance > 0)) { cur !== r.prevTick && r.minors.push(cur); tickBalance--; cur = addInterval(cur, minorTickInterval) } r.prevTick = tick; return r }), { prevTick: null, minors: [] }); ticks = ticks.concat(middleTicks.minors); var maxValue = ceil(max, tickInterval, min); minorTickInterval = updateTickInterval(minorTickInterval, maxValue, maxValue, factor); cur = correctTickValue(lastMajor, minorTickInterval); var prev; while (cur < max && cur !== prev) { ticks.push(cur); prev = cur; cur = addInterval(cur, minorTickInterval) } if (lastMajor - max !== 0 && cur - max === 0) { ticks.push(cur) } return ticks } } function filterTicks(ticks, breaks) { if (breaks.length) { var result = breaks.reduce((function(result, b) { var tmpTicks = []; var i; for (i = result[1]; i < ticks.length; i++) { var tickValue = ticks[i]; if (tickValue < b.from) { tmpTicks.push(tickValue) } if (tickValue >= b.to) { break } } return [result[0].concat(tmpTicks), i] }), [ [], 0 ]); return result[0].concat(ticks.slice(result[1])) } return ticks } function generator(options, getBusinessDelta, calculateTickInterval, calculateMinorTickInterval, getMajorTickIntervalByCustomTicks, getMinorTickIntervalByCustomTicks, convertTickInterval, calculateTicks, calculateMinorTicks, processScaleBreaks) { function correctUserTickInterval(tickInterval, businessDelta, limit) { if (tickInterval && businessDelta / convertTickInterval(tickInterval) >= limit + 1) { options.incidentOccurred("W2003"); tickInterval = void 0 } return tickInterval } return function(data, screenDelta, tickInterval, forceTickInterval, customTicks, minorTickInterval, minorTickCount, breaks) { customTicks = customTicks || {}; var businessDelta = getBusinessDelta(data, breaks); var result = function(customTicks) { return { tickInterval: getMajorTickIntervalByCustomTicks(customTicks.majors), ticks: customTicks.majors || [], minorTickInterval: getMinorTickIntervalByCustomTicks(customTicks.minors), minorTicks: customTicks.minors || [] } }(customTicks); if (!isNaN(businessDelta)) { if (0 === businessDelta && !customTicks.majors) { result.ticks = [data.min] } else { result = function(ticks, data, businessDelta, screenDelta, tickInterval, forceTickInterval, customTicks, breaks) { if (customTicks.majors) { ticks.breaks = breaks; return ticks } var gaps = breaks.filter((function(b) { return b.gapSize })); var majorTicks; tickInterval = options.skipCalculationLimits ? tickInterval : correctUserTickInterval(tickInterval, businessDelta, screenDelta); tickInterval = calculateTickInterval(businessDelta, screenDelta, tickInterval, forceTickInterval, options.axisDivisionFactor, options.numberMultipliers, options.allowDecimals, breaks.length, gaps[0] && gaps[0].gapSize.days, options.minTickInterval); if (!options.skipTickGeneration) { majorTicks = calculateTicks(data, tickInterval, options.endOnTick, gaps, breaks, businessDelta, screenDelta, options.axisDivisionFactor, options.generateExtraTick); breaks = processScaleBreaks(breaks, majorTicks, tickInterval); majorTicks = filterTicks(majorTicks, breaks); ticks.breaks = breaks; ticks.ticks = ticks.ticks.concat(majorTicks) } ticks.tickInterval = tickInterval; return ticks }(result, data, businessDelta, screenDelta, tickInterval, forceTickInterval, customTicks, breaks || []); if (!options.skipTickGeneration && businessDelta > 0) { result = function(ticks, data, businessDelta, screenDelta, minorTickInterval, minorTickCount, customTicks) { if (!options.calculateMinors) { return ticks } if (customTicks.minors) { return ticks } var minorBusinessDelta = convertTickInterval(ticks.tickInterval); var minorScreenDelta = screenDelta * minorBusinessDelta / businessDelta; var breaks = ticks.breaks; if (!minorTickInterval && minorTickCount) { minorTickInterval = getMinorTickIntervalByCustomTicks([minorBusinessDelta / (minorTickCount + 1), minorBusinessDelta / (minorTickCount + 1) * 2]) } else { minorTickCount = void 0 } minorTickInterval = correctUserTickInterval(minorTickInterval, minorBusinessDelta, minorScreenDelta); minorTickInterval = calculateMinorTickInterval(minorBusinessDelta, minorScreenDelta, minorTickInterval, options.minorAxisDivisionFactor); ticks.minorTicks = filterTicks(ticks.minorTicks.concat(calculateMinorTicks(data.min, data.max, ticks.ticks, minorTickInterval, ticks.tickInterval, breaks, minorTickCount)), breaks); ticks.minorTickInterval = minorTickInterval; return ticks }(result, data, businessDelta, screenDelta, minorTickInterval, minorTickCount, customTicks) } } } return result } } function getBaseTick(breakValue, _ref, interval, getValue) { var _ref2 = _slicedToArray(_ref, 2), tick = _ref2[0], insideTick = _ref2[1]; if (!(0, _type.isDefined)(tick) || mathAbs(getValue(breakValue) - getValue(tick)) / interval > .25) { if ((0, _type.isDefined)(insideTick) && mathAbs(getValue(insideTick) - getValue(tick)) / interval < 2) { tick = insideTick } else if (!(0, _type.isDefined)(tick)) { tick = breakValue } } return tick } function getScaleBreaksProcessor(convertTickInterval, getValue, addCorrection) { return function(breaks, ticks, tickInterval) { var interval = convertTickInterval(tickInterval); var correction = .5 * interval; return breaks.reduce((function(result, b) { var breakTicks = ticks.filter((function(tick) { return tick <= b.from })); var from = addCorrection(getBaseTick(b.from, [].concat(breakTicks[breakTicks.length - 1], ticks[breakTicks.length]), interval, getValue), correction); breakTicks = ticks.filter((function(tick) { return tick >= b.to })); var to = addCorrection(getBaseTick(b.to, [].concat(breakTicks[0], ticks[ticks.length - breakTicks.length - 1]), interval, getValue), -correction); if (getValue(to) - getValue(from) < interval && !b.gapSize) { return result } if (b.gapSize) { return result.concat([b]) } return result.concat([{ from: from, to: to, cumulativeWidth: b.cumulativeWidth }]) }), []) } } var correctValueByIntervalLog = function(post, getRound, getValue) { return function(value, interval) { return (0, _math.sign)(value) * (0, _math.adjust)(post(getRound(value)((0, _math.adjust)(getValue(value) / interval)) * interval)) } }; function logarithmicGenerator(options) { var base = options.logBase; var raise = function(base, allowNegatives, linearThreshold) { return function(value) { return (0, _utils.raiseToExt)(value, base, allowNegatives, linearThreshold) } }(base, options.allowNegatives, options.linearThreshold); var log = getLogValue(base, options.allowNegatives, options.linearThreshold); var absLog = function(base) { return function(value) { return 0 === value ? 0 : (0, _utils.getLog)(mathAbs(value), base) } }(base); var absRaise = function(base) { return function(value) { return (0, _utils.raiseTo)(value, base) } }(base); var floor = correctValueByIntervalLog(absRaise, (function(value) { return value < 0 ? mathCeil : mathFloor }), absLog); var ceil = correctValueByIntervalLog(absRaise, (function(value) { return value < 0 ? mathFloor : mathCeil }), absLog); var ceilNumber = correctValueByInterval(getValue, mathCeil, getValue); return generator(options, function(base, allowNegatives, linearThreshold) { var getLog = getLogValue(base, allowNegatives, linearThreshold); return function(data, breaks) { var spacing = 0; if (breaks) { spacing = breaks.reduce((function(prev, item) { return prev + mathAbs(getLog(item.to / item.from)) }), 0) } return mathCeil(mathAbs(getLog(data.max) - getLog(data.min)) - spacing) } }(base, options.allowNegatives, options.linearThreshold), (skipCalculationLimits = options.skipCalculationLimits, function(businessDelta, screenDelta, tickInterval, forceTickInterval, axisDivisionFactor, multipliers, allowDecimals, _, __, minTickInterval) { var interval = getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor); var result = 0; var adjustInterval = getAdjustIntervalLog(skipCalculationLimits); if (!forceTickInterval || !tickInterval) { if (interval > 0) { result = adjustInterval(interval, multipliers) } if (!tickInterval || !forceTickInterval && tickInterval < result) { tickInterval = result } } if (!forceTickInterval && minTickInterval) { minTickInterval = adjustInterval(minTickInterval, multipliers); if (minTickInterval > tickInterval) { tickInterval = minTickInterval } } return tickInterval }), calculateMinorTickInterval, getTickIntervalByCustomTicks(log, getValue), getTickIntervalByCustomTicks(getValue, getValue), getValue, calculateTicks(function(log, raise) { return function(value, interval, isNegative) { return raise(addInterval(log(value), interval, isNegative)) } }(log, raise), correctMinValueByEndOnTick(floor, ceil, resolveEndOnTickLog(base), options.endOnTick), getAdjustIntervalLog(options.skipCalculationLimits), resolveEndOnTickLog(base)), calculateMinorTicks((function(_, tick, prevTick, factor) { return Math.max(Math.abs(tick), Math.abs(prevTick)) / factor }), addInterval, floor, ceilNumber, ceil), getScaleBreaksProcessor(getValue, log, (function(value, correction) { return raise(log(value) + correction) }))); var skipCalculationLimits } exports.tickGenerator = function(options) { var result; if (options.rangeIsEmpty) { result = function(options) { return function(data, screenDelta, tickInterval, forceTickInterval) { var count = mathFloor(screenDelta / options.axisDivisionFactor); count = count < 1 ? 1 : count; var interval = screenDelta / count; return { ticks: interval > 0 ? Array.apply(null, new Array(count + 1)).map((function(_, i) { return interval * i })) : [], tickInterval: interval } } }(options) } else if ("discrete" === options.axisType) { result = function(options) { return function(data, screenDelta, tickInterval, forceTickInterval) { var categories = (0, _utils.getCategoriesInfo)(data.categories, data.min, data.max).categories; return { ticks: categories, tickInterval: mathCeil(categories.length * options.axisDivisionFactor / screenDelta) } } }(options) } else if ("logarithmic" === options.axisType) { result = logarithmicGenerator(options) } else if ("datetime" === options.dataType) { result = function(options) { function floor(value, interval) { var floorNumber = correctValueByInterval(getValue, mathFloor, getValue); var intervalObject = (0, _type.isString)(interval) ? _date.default.getDateIntervalByString(interval.toLowerCase()) : interval; var divider = dateToMilliseconds(interval); if (intervalObject.days % 7 === 0 || interval.quarters) { intervalObject = adjustIntervalDateTime(divider) } var correctDateWithUnitBeginning = function(v) { return _date.default.correctDateWithUnitBeginning(v, intervalObject, null, options.firstDayOfWeek) }; var floorAtStartDate = function(v) { return new Date(mathFloor((v.getTime() - 6e4 * v.getTimezoneOffset()) / divider) * divider + 6e4 * v.getTimezoneOffset()) }; value = correctDateWithUnitBeginning(value); if ("years" in intervalObject) { value.setFullYear(floorNumber(value.getFullYear(), intervalObject.years)) } else if ("quarters" in intervalObject) { value = correctDateWithUnitBeginning(floorAtStartDate(value)) } else if ("months" in intervalObject) { value.setMonth(floorNumber(value.getMonth(), intervalObject.months)) } else if ("weeks" in intervalObject || "days" in intervalObject) { value = correctDateWithUnitBeginning(floorAtStartDate(value)) } else if ("hours" in intervalObject) { value.setHours(floorNumber(value.getHours(), intervalObject.hours)) } else if ("minutes" in intervalObject) { value.setMinutes(floorNumber(value.getMinutes(), intervalObject.minutes)) } else if ("seconds" in intervalObject) { value.setSeconds(floorNumber(value.getSeconds(), intervalObject.seconds)) } else if ("milliseconds" in intervalObject) { value = floorAtStartDate(value) } return value } var calculateTickIntervalByCustomTicks = getTickIntervalByCustomTicks(getValue, _date.default.convertMillisecondsToDateUnits); return generator(options, getBusinessDelta, calculateTickIntervalDateTime, calculateMinorTickIntervalDateTime, calculateTickIntervalByCustomTicks, calculateTickIntervalByCustomTicks, dateToMilliseconds, calculateTicks(addIntervalDate, correctMinValueByEndOnTick(floor, (function(value, interval) { var newValue = floor(value, interval); while (value - newValue > 0) { newValue = addIntervalDate(newValue, interval) } return newValue }), resolveEndOnTickDate, options.endOnTick), adjustIntervalDateTime, resolveEndOnTickDate), calculateMinorTicks(getValue, addIntervalDate, floor, addIntervalDate, getValue), getScaleBreaksProcessor(dateToMilliseconds, getValue, (function(value, correction) { return new Date(value.getTime() + correction) }))) }(options) } else { result = function(options) { var floor = correctValueByInterval(getValue, mathFloor, getValue); var ceil = correctValueByInterval(getValue, mathCeil, getValue); var calculateTickIntervalByCustomTicks = getTickIntervalByCustomTicks(getValue, getValue); return generator(options, getBusinessDelta, calculateTickInterval, calculateMinorTickInterval, calculateTickIntervalByCustomTicks, calculateTickIntervalByCustomTicks, getValue, calculateTicks(addInterval, correctMinValueByEndOnTick(floor, ceil, resolveEndOnTick, options.endOnTick), adjustInterval, resolveEndOnTick), calculateMinorTicks(getValue, addInterval, floor, addInterval, getValue), getScaleBreaksProcessor(getValue, getValue, (function(value, correction) { return value + correction }))) }(options) } return result } }, 99415: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/axes/xy_axes.js ***! \*****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _range = __webpack_require__( /*! ../translators/range */ 21177); var _format_helper = _interopRequireDefault(__webpack_require__( /*! ../../format_helper */ 30343)); var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _datetime_breaks = __webpack_require__( /*! ./datetime_breaks */ 89530); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _axes_constants = _interopRequireDefault(__webpack_require__( /*! ./axes_constants */ 53805)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var getNextDateUnit = _date.default.getNextDateUnit; var correctDateWithUnitBeginning = _date.default.correctDateWithUnitBeginning; var _math = Math; var _max = _math.max; var TOP = _axes_constants.default.top; var BOTTOM = _axes_constants.default.bottom; var LEFT = _axes_constants.default.left; var RIGHT = _axes_constants.default.right; var CENTER = _axes_constants.default.center; var TICKS_CORRECTIONS = { left: -1, top: -1, right: 0, bottom: 0, center: -.5 }; function sortingBreaks(breaks) { return breaks.sort((function(a, b) { return a.from - b.from })) } function getMarkerFormat(curDate, prevDate, tickInterval, markerInterval) { var format = markerInterval; var datesDifferences = prevDate && _date.default.getDatesDifferences(prevDate, curDate); if (prevDate && "year" !== tickInterval) { ! function(datesDifferences, tickInterval) { var dateUnitInterval; var i; if ("week" === tickInterval) { tickInterval = "day" } if ("quarter" === tickInterval) { tickInterval = "month" } if (datesDifferences[tickInterval]) { for (i = 0; i < _date.default.dateUnitIntervals.length; i++) { dateUnitInterval = _date.default.dateUnitIntervals[i]; if (datesDifferences[dateUnitInterval]) { datesDifferences[dateUnitInterval] = false; datesDifferences.count-- } if (dateUnitInterval === tickInterval) { break } } } }(datesDifferences, tickInterval); format = _format_helper.default.getDateFormatByDifferences(datesDifferences) } return format } function getMaxSide(act, boxes) { return boxes.reduce((function(prevValue, box) { return _max(prevValue, act(box)) }), 0) } function getConstantLineLabelMarginForVerticalAlignment(constantLines, alignment, labelHeight) { return constantLines.some((function(options) { return options.label.verticalAlignment === alignment })) && labelHeight || 0 } function getLeftMargin(bBox) { return _math.abs(bBox.x) || 0 } function getRightMargin(bBox) { return _math.abs(bBox.width - _math.abs(bBox.x)) || 0 } var _default = { linear: { _getStep: function(boxes, rotationAngle) { var spacing = this._options.label.minSpacing; var func = this._isHorizontal ? function(box) { return box.width + spacing } : function(box) { return box.height }; var maxLabelLength = getMaxSide(func, boxes); if (rotationAngle) { maxLabelLength = function(bBox, rotationAngle) { rotationAngle = _math.abs(rotationAngle); rotationAngle = rotationAngle % 180 >= 90 ? 90 - rotationAngle % 90 : rotationAngle % 90; var a = rotationAngle * (_math.PI / 180); if (a >= _math.atan(bBox.height / bBox.width)) { return bBox.height / _math.abs(_math.sin(a)) } else { return bBox.width } }({ width: maxLabelLength, height: this._getMaxLabelHeight(boxes, 0) }, rotationAngle) } return _axes_constants.default.getTicksCountInRange(this._majorTicks, this._isHorizontal ? "x" : "y", maxLabelLength) }, _getMaxLabelHeight: function(boxes, spacing) { return getMaxSide((function(box) { return box.height }), boxes) + spacing }, _validateOverlappingMode: function(mode, displayMode) { if (this._isHorizontal && ("rotate" === displayMode || "stagger" === displayMode) || !this._isHorizontal) { return _axes_constants.default.validateOverlappingMode(mode) } return mode }, _validateDisplayMode: function(mode) { return this._isHorizontal ? mode : "standard" }, getMarkerTrackers: function() { return this._markerTrackers }, _getSharpParam: function(opposite) { return this._isHorizontal ^ opposite ? "h" : "v" }, _createAxisElement: function() { return this._renderer.path([], "line") }, _updateAxisElementPosition: function() { var axisCoord = this._axisPosition; var canvas = this._getCanvasStartEnd(); this._axisElement.attr({ points: this._isHorizontal ? [canvas.start, axisCoord, canvas.end, axisCoord] : [axisCoord, canvas.start, axisCoord, canvas.end] }) }, _getTranslatedCoord: function(value, offset) { return this._translator.translate(value, offset) }, _initAxisPositions: function() { if (this.customPositionIsAvailable()) { this._customBoundaryPosition = this.getCustomBoundaryPosition() } if (!this.customPositionIsAvailable() || this.customPositionIsBoundary()) { this._axisPosition = this.getPredefinedPosition(this.getResolvedBoundaryPosition()) } else { this._axisPosition = this.getCustomPosition() } }, _getTickMarkPoints: function(coords, length, tickOptions) { var isHorizontal = this._isHorizontal; var tickOrientation = this._options.tickOrientation; var labelPosition = this._options.label.position; var tickStartCoord; if ((0, _type.isDefined)(tickOrientation)) { tickStartCoord = TICKS_CORRECTIONS[tickOrientation] * length } else { var shift = tickOptions.shift || 0; if (!isHorizontal && labelPosition === LEFT || isHorizontal && labelPosition !== BOTTOM) { shift = -shift } tickStartCoord = shift + this.getTickStartPositionShift(length) } return [coords.x + (isHorizontal ? 0 : tickStartCoord), coords.y + (isHorizontal ? tickStartCoord : 0), coords.x + (isHorizontal ? 0 : tickStartCoord + length), coords.y + (isHorizontal ? tickStartCoord + length : 0)] }, getTickStartPositionShift: function(length) { var width = this._options.width; var position = this.getResolvedBoundaryPosition(); return length % 2 === 1 ? width % 2 === 0 && (position === LEFT || position === TOP) || width % 2 === 1 && (position === RIGHT || position === BOTTOM) && !this.hasNonBoundaryPosition() ? Math.floor(-length / 2) : -Math.floor(length / 2) : -length / 2 + (width % 2 === 0 ? 0 : position === BOTTOM || position === RIGHT ? -1 : 1) }, _getTitleCoords: function() { var horizontal = this._isHorizontal; var x = this._axisPosition; var y = this._axisPosition; var align = this._options.title.alignment; var canvas = this._getCanvasStartEnd(); var fromStartToEnd = horizontal || this._options.position === LEFT; var canvasStart = fromStartToEnd ? canvas.start : canvas.end; var canvasEnd = fromStartToEnd ? canvas.end : canvas.start; var coord = align === LEFT ? canvasStart : align === RIGHT ? canvasEnd : canvas.start + (canvas.end - canvas.start) / 2; if (horizontal) { x = coord } else { y = coord } return { x: x, y: y } }, _drawTitleText: function(group, coords) { var options = this._options; var titleOptions = options.title; var attrs = { opacity: titleOptions.opacity, align: titleOptions.alignment, class: titleOptions.cssClass }; if (!titleOptions.text || !group) { return } coords = coords || this._getTitleCoords(); if (!this._isHorizontal) { attrs.rotate = options.position === LEFT ? 270 : 90 } var text = this._renderer.text(titleOptions.text, coords.x, coords.y).css((0, _utils.patchFontOptions)(titleOptions.font)).attr(attrs).append(group); this._checkTitleOverflow(text); return text }, _updateTitleCoords: function() { this._title && this._title.element.attr(this._getTitleCoords()) }, _drawTitle: function() { var title = this._drawTitleText(this._axisTitleGroup); if (title) { this._title = { element: title } } }, _measureTitle: function() { if (this._title) { if (this._title.bBox && !this._title.originalSize) { this._title.originalSize = this._title.bBox } this._title.bBox = this._title.element.getBBox() } }, _drawDateMarker: function(date, options, range) { var markerOptions = this._options.marker; var invert = this._translator.getBusinessRange().invert; var textIndent = markerOptions.width + markerOptions.textLeftIndent; var pathElement; if (null === options.x) { return } if (!options.withoutStick) { pathElement = this._renderer.path([options.x, options.y, options.x, options.y + markerOptions.separatorHeight], "line").attr({ "stroke-width": markerOptions.width, stroke: markerOptions.color, "stroke-opacity": markerOptions.opacity, sharp: "h" }).append(this._axisElementsGroup) } var text = String(this.formatLabel(date, options.labelOptions, range)); return { date: date, x: options.x, y: options.y, cropped: options.withoutStick, label: this._renderer.text(text, options.x, options.y).css((0, _utils.patchFontOptions)(markerOptions.label.font)).append(this._axisElementsGroup), line: pathElement, getContentContainer: function() { return this.label }, getEnd: function() { return this.x + (invert ? -1 : 1) * (textIndent + this.labelBBox.width) }, setTitle: function() { this.title = text }, hideLabel: function() { this.label.dispose(); this.label = null; this.title = text }, hide: function() { if (pathElement) { pathElement.dispose(); pathElement = null } this.label.dispose(); this.label = null; this.hidden = true } } }, _drawDateMarkers: function() { var that = this; var options = that._options; var translator = that._translator; var viewport = that._getViewportRange(); var minBound = viewport.minVisible; var dateMarkers = []; var dateMarker; function draw(markerDate, format, withoutStick) { return that._drawDateMarker(markerDate, { x: translator.translate(markerDate), y: markersAreaTop, labelOptions: that._getLabelFormatOptions(format), withoutStick: withoutStick }, viewport) } if (viewport.isEmpty() || !options.marker.visible || "datetime" !== options.argumentType || "discrete" === options.type || that._majorTicks.length <= 1) { return [] } var markersAreaTop = that._axisPosition + options.marker.topIndent; var tickInterval = _date.default.getDateUnitInterval(this._tickInterval); var markerInterval = function(tickInterval) { var markerInterval = getNextDateUnit(tickInterval); if ("quarter" === markerInterval) { markerInterval = getNextDateUnit(markerInterval) } return markerInterval }(tickInterval); var markerDates = function(min, max, markerInterval) { var origMin = min; var dates; min = correctDateWithUnitBeginning(min, markerInterval); max = correctDateWithUnitBeginning(max, markerInterval); dates = _date.default.getSequenceByInterval(min, max, markerInterval); if (dates.length && origMin > dates[0]) { dates = dates.slice(1) } return dates }(minBound, viewport.maxVisible, markerInterval); if (markerDates.length > 1 || 1 === markerDates.length && minBound < markerDates[0]) { dateMarkers = markerDates.reduce((function(markers, curDate, i, dates) { var marker = draw(curDate, getMarkerFormat(curDate, dates[i - 1] || minBound < curDate && minBound, tickInterval, markerInterval)); marker && markers.push(marker); return markers }), []); if (minBound < markerDates[0]) { dateMarker = draw(minBound, getMarkerFormat(minBound, markerDates[0], tickInterval, markerInterval), true); dateMarker && dateMarkers.unshift(dateMarker) } } return dateMarkers }, _adjustDateMarkers: function(offset) { offset = offset || 0; var that = this; var markerOptions = this._options.marker; var textIndent = markerOptions.width + markerOptions.textLeftIndent; var invert = this._translator.getBusinessRange().invert; var canvas = that._getCanvasStartEnd(); var dateMarkers = this._dateMarkers; if (!dateMarkers.length) { return offset } if (dateMarkers[0].cropped) { if (!this._checkMarkersPosition(invert, dateMarkers[1], dateMarkers[0])) { dateMarkers[0].hideLabel() } } var prevDateMarker; dateMarkers.forEach((function(marker, i, markers) { if (marker.cropped) { return } if (invert ? marker.getEnd() < canvas.end : marker.getEnd() > canvas.end) { marker.hideLabel() } else if (that._checkMarkersPosition(invert, marker, prevDateMarker)) { prevDateMarker = marker } else { marker.hide() } })); this._dateMarkers.forEach((function(marker) { if (marker.label) { var labelBBox = marker.labelBBox; var dy = marker.y + markerOptions.textTopIndent - labelBBox.y; marker.label.attr({ translateX: invert ? marker.x - textIndent - labelBBox.x - labelBBox.width : marker.x + textIndent - labelBBox.x, translateY: dy + offset }) } if (marker.line) { marker.line.attr({ translateY: offset }) } })); that._initializeMarkersTrackers(offset); return offset + markerOptions.topIndent + markerOptions.separatorHeight }, _checkMarkersPosition: function(invert, dateMarker, prevDateMarker) { if (void 0 === prevDateMarker) { return true } return invert ? dateMarker.x < prevDateMarker.getEnd() : dateMarker.x > prevDateMarker.getEnd() }, _initializeMarkersTrackers: function(offset) { var separatorHeight = this._options.marker.separatorHeight; var renderer = this._renderer; var businessRange = this._translator.getBusinessRange(); var canvas = this._getCanvasStartEnd(); var group = this._axisElementsGroup; this._markerTrackers = this._dateMarkers.filter((function(marker) { return !marker.hidden })).map((function(marker, i, markers) { var nextMarker = markers[i + 1] || { x: canvas.end, date: businessRange.max }; var x = marker.x; var y = marker.y + offset; var markerTracker = renderer.path([x, y, x, y + separatorHeight, nextMarker.x, y + separatorHeight, nextMarker.x, y, x, y], "area").attr({ "stroke-width": 1, stroke: "grey", fill: "grey", opacity: 1e-4 }).append(group); markerTracker.data("range", { startValue: marker.date, endValue: nextMarker.date }); if (marker.title) { markerTracker.setTitle(marker.title) } return markerTracker })) }, _getLabelFormatOptions: function(formatString) { var markerLabelOptions = this._markerLabelOptions; if (!markerLabelOptions) { this._markerLabelOptions = markerLabelOptions = (0, _extend.extend)(true, {}, this._options.marker.label) } if (!(0, _type.isDefined)(this._options.marker.label.format)) { markerLabelOptions.format = formatString } return markerLabelOptions }, _adjustConstantLineLabels: function(constantLines) { var that = this; var axisPosition = that._options.position; var canvas = that.getCanvas(); var canvasLeft = canvas.left; var canvasRight = canvas.width - canvas.right; var canvasTop = canvas.top; var canvasBottom = canvas.height - canvas.bottom; var verticalCenter = canvasTop + (canvasBottom - canvasTop) / 2; var horizontalCenter = canvasLeft + (canvasRight - canvasLeft) / 2; var maxLabel = 0; constantLines.forEach((function(item) { var isHorizontal = that._isHorizontal; var linesOptions = item.options; var paddingTopBottom = linesOptions.paddingTopBottom; var paddingLeftRight = linesOptions.paddingLeftRight; var labelOptions = linesOptions.label; var labelVerticalAlignment = labelOptions.verticalAlignment; var labelHorizontalAlignment = labelOptions.horizontalAlignment; var labelIsInside = "inside" === labelOptions.position; var label = item.label; var box = item.labelBBox; var translateX; var translateY; if (null === label || box.isEmpty) { return } if (isHorizontal) { if (labelIsInside) { if (labelHorizontalAlignment === LEFT) { translateX = item.coord - paddingLeftRight - box.x - box.width } else { translateX = item.coord + paddingLeftRight - box.x } switch (labelVerticalAlignment) { case CENTER: translateY = verticalCenter - box.y - box.height / 2; break; case BOTTOM: translateY = canvasBottom - paddingTopBottom - box.y - box.height; break; default: translateY = canvasTop + paddingTopBottom - box.y } } else { if (axisPosition === labelVerticalAlignment) { maxLabel = _max(maxLabel, box.height + paddingTopBottom) } translateX = item.coord - box.x - box.width / 2; if (labelVerticalAlignment === BOTTOM) { translateY = canvasBottom + paddingTopBottom - box.y } else { translateY = canvasTop - paddingTopBottom - box.y - box.height } } } else if (labelIsInside) { if (labelVerticalAlignment === BOTTOM) { translateY = item.coord + paddingTopBottom - box.y } else { translateY = item.coord - paddingTopBottom - box.y - box.height } switch (labelHorizontalAlignment) { case CENTER: translateX = horizontalCenter - box.x - box.width / 2; break; case RIGHT: translateX = canvasRight - paddingLeftRight - box.x - box.width; break; default: translateX = canvasLeft + paddingLeftRight - box.x } } else { if (axisPosition === labelHorizontalAlignment) { maxLabel = _max(maxLabel, box.width + paddingLeftRight) } translateY = item.coord - box.y - box.height / 2; if (labelHorizontalAlignment === RIGHT) { translateX = canvasRight + paddingLeftRight - box.x } else { translateX = canvasLeft - paddingLeftRight - box.x - box.width } } label.attr({ translateX: translateX, translateY: translateY }) })); return maxLabel }, _drawConstantLinesForEstimating: function(constantLines) { var that = this; var renderer = this._renderer; var group = renderer.g(); constantLines.forEach((function(options) { that._drawConstantLineLabelText(options.label.text, 0, 0, options.label, group).attr({ align: "center" }) })); return group.append(renderer.root) }, _estimateLabelHeight: function(bBox, labelOptions) { var height = bBox.height; var drawingType = labelOptions.drawingType; if ("stagger" === this._validateDisplayMode(drawingType) || "stagger" === this._validateOverlappingMode(labelOptions.overlappingBehavior, drawingType)) { height = 2 * height + labelOptions.staggeringSpacing } if ("rotate" === this._validateDisplayMode(drawingType) || "rotate" === this._validateOverlappingMode(labelOptions.overlappingBehavior, drawingType)) { var sinCos = (0, _utils.getCosAndSin)(labelOptions.rotationAngle); height = height * sinCos.cos + bBox.width * sinCos.sin } return height && (height + labelOptions.indentFromAxis || 0) || 0 }, estimateMargins: function(canvas) { this.updateCanvas(canvas); var range = this._getViewportRange(); var ticksData = this._createTicksAndLabelFormat(range); var ticks = ticksData.ticks; var tickInterval = ticksData.tickInterval; var options = this._options; var constantLineOptions = this._outsideConstantLines.filter((function(l) { return l.labelOptions.visible })).map((function(l) { return l.options })); var rootElement = this._renderer.root; var labelIsVisible = options.label.visible && !range.isEmpty() && ticks.length; var labelValue = labelIsVisible && this.formatLabel(ticks[ticks.length - 1], options.label, void 0, void 0, tickInterval, ticks); var labelElement = labelIsVisible && this._renderer.text(labelValue, 0, 0).css(this._textFontStyles).attr(this._textOptions).append(rootElement); var titleElement = this._drawTitleText(rootElement, { x: 0, y: 0 }); var constantLinesLabelsElement = this._drawConstantLinesForEstimating(constantLineOptions); var labelBox = !options.label.template && labelElement && labelElement.getBBox() || { x: 0, y: 0, width: 0, height: 0 }; var titleBox = titleElement && titleElement.getBBox() || { x: 0, y: 0, width: 0, height: 0 }; var constantLinesBox = constantLinesLabelsElement.getBBox(); var titleHeight = titleBox.height ? titleBox.height + options.title.margin : 0; var labelHeight = this._estimateLabelHeight(labelBox, options.label); var constantLinesHeight = constantLinesBox.height ? constantLinesBox.height + (constantLines = constantLineOptions, constantLines.reduce((function(padding, options) { return _max(padding, options.paddingTopBottom) }), 0)) : 0; var constantLines; var height = labelHeight + titleHeight; var margins = { left: _max(getLeftMargin(labelBox), getLeftMargin(constantLinesBox)), right: _max(getRightMargin(labelBox), getRightMargin(constantLinesBox)), top: ("top" === options.position ? height : 0) + getConstantLineLabelMarginForVerticalAlignment(constantLineOptions, "top", constantLinesHeight), bottom: ("top" !== options.position ? height : 0) + getConstantLineLabelMarginForVerticalAlignment(constantLineOptions, "bottom", constantLinesHeight) }; labelElement && labelElement.remove(); titleElement && titleElement.remove(); constantLinesLabelsElement && constantLinesLabelsElement.remove(); return margins }, _checkAlignmentConstantLineLabels: function(labelOptions) { var position = labelOptions.position; var verticalAlignment = (labelOptions.verticalAlignment || "").toLowerCase(); var horizontalAlignment = (labelOptions.horizontalAlignment || "").toLowerCase(); if (this._isHorizontal) { if ("outside" === position) { verticalAlignment = verticalAlignment === BOTTOM ? BOTTOM : TOP; horizontalAlignment = CENTER } else { verticalAlignment = verticalAlignment === CENTER ? CENTER : verticalAlignment === BOTTOM ? BOTTOM : TOP; horizontalAlignment = horizontalAlignment === LEFT ? LEFT : RIGHT } } else if ("outside" === position) { verticalAlignment = CENTER; horizontalAlignment = horizontalAlignment === LEFT ? LEFT : RIGHT } else { verticalAlignment = verticalAlignment === BOTTOM ? BOTTOM : TOP; horizontalAlignment = horizontalAlignment === RIGHT ? RIGHT : horizontalAlignment === CENTER ? CENTER : LEFT } labelOptions.verticalAlignment = verticalAlignment; labelOptions.horizontalAlignment = horizontalAlignment }, _getConstantLineLabelsCoords: function(value, lineLabelOptions) { var x = value; var y = value; if (this._isHorizontal) { y = this._orthogonalPositions["top" === lineLabelOptions.verticalAlignment ? "start" : "end"] } else { x = this._orthogonalPositions["right" === lineLabelOptions.horizontalAlignment ? "end" : "start"] } return { x: x, y: y } }, _getAdjustedStripLabelCoords: function(strip) { var stripOptions = strip.options; var paddingTopBottom = stripOptions.paddingTopBottom; var paddingLeftRight = stripOptions.paddingLeftRight; var horizontalAlignment = stripOptions.label.horizontalAlignment; var verticalAlignment = stripOptions.label.verticalAlignment; var box = strip.labelBBox; var labelHeight = box.height; var labelWidth = box.width; var labelCoords = strip.labelCoords; var y = labelCoords.y - box.y; var x = labelCoords.x - box.x; if (verticalAlignment === TOP) { y += paddingTopBottom } else if (verticalAlignment === CENTER) { y -= labelHeight / 2 } else if (verticalAlignment === BOTTOM) { y -= paddingTopBottom + labelHeight } if (horizontalAlignment === LEFT) { x += paddingLeftRight } else if (horizontalAlignment === CENTER) { x -= labelWidth / 2 } else if (horizontalAlignment === RIGHT) { x -= paddingLeftRight + labelWidth } return { translateX: x, translateY: y } }, _adjustTitle: function(offset) { offset = offset || 0; if (!this._title) { return } var options = this._options; var position = options.position; var margin = options.title.margin; var title = this._title; var boxTitle = title.bBox; var x = boxTitle.x; var y = boxTitle.y; var width = boxTitle.width; var height = boxTitle.height; var axisPosition = this._axisPosition; var loCoord = axisPosition - margin - offset; var hiCoord = axisPosition + margin + offset; var params = {}; if (this._isHorizontal) { if (position === TOP) { params.translateY = loCoord - (y + height) } else { params.translateY = hiCoord - y } } else if (position === LEFT) { params.translateX = loCoord - (x + width) } else { params.translateX = hiCoord - x } title.element.attr(params) }, _checkTitleOverflow: function(titleElement) { if (!this._title && !titleElement) { return } var canvasLength = this._getScreenDelta(); var title = titleElement ? { bBox: titleElement.getBBox(), element: titleElement } : this._title; var titleOptions = this._options.title; var boxTitle = title.bBox; if ((this._isHorizontal ? boxTitle.width : boxTitle.height) > canvasLength) { title.element.setMaxSize(canvasLength, void 0, { wordWrap: titleOptions.wordWrap || "none", textOverflow: titleOptions.textOverflow || "ellipsis" }); this._wrapped = titleOptions.wordWrap && "none" !== titleOptions.wordWrap } else { var moreThanOriginalSize = title.originalSize && canvasLength > (this._isHorizontal ? title.originalSize.width : title.originalSize.height); !this._wrapped && moreThanOriginalSize && title.element.restoreText() } }, coordsIn: function(x, y) { var canvas = this.getCanvas(); var isHorizontal = this._options.isHorizontal; var position = this._options.position; var coord = isHorizontal ? y : x; if (isHorizontal && (x < canvas.left || x > canvas.width - canvas.right) || !isHorizontal && (y < canvas.top || y > canvas.height - canvas.bottom)) { return false } if (isHorizontal && position === _axes_constants.default.top || !isHorizontal && position === _axes_constants.default.left) { return coord < canvas[position] } return coord > canvas[isHorizontal ? "height" : "width"] - canvas[position] }, _boundaryTicksVisibility: { min: true, max: true }, adjust: function() { var seriesData = this._seriesData; var viewport = this._series.filter((function(s) { return s.isVisible() })).reduce((function(range, s) { var seriesRange = s.getViewport(); range.min = (0, _type.isDefined)(seriesRange.min) ? range.min < seriesRange.min ? range.min : seriesRange.min : range.min; range.max = (0, _type.isDefined)(seriesRange.max) ? range.max > seriesRange.max ? range.max : seriesRange.max : range.max; if (s.showZero) { range = new _range.Range(range); range.correctValueZeroLevel() } return range }), {}); if ((0, _type.isDefined)(viewport.min) && (0, _type.isDefined)(viewport.max)) { seriesData.minVisible = viewport.min; seriesData.maxVisible = viewport.max } seriesData.userBreaks = this._getScaleBreaks(this._options, { minVisible: seriesData.minVisible, maxVisible: seriesData.maxVisible }, this._series, this.isArgumentAxis); this._translator.updateBusinessRange(this._getViewportRange()) }, hasWrap: function() { return this._wrapped }, getAxisPosition: function() { return this._axisPosition }, _getStick: function() { return !this._options.valueMarginsEnabled }, _getStripLabelCoords: function(from, to, stripLabelOptions) { var orthogonalPositions = this._orthogonalPositions; var isHorizontal = this._isHorizontal; var horizontalAlignment = stripLabelOptions.horizontalAlignment; var verticalAlignment = stripLabelOptions.verticalAlignment; var x; var y; if (isHorizontal) { if (horizontalAlignment === CENTER) { x = from + (to - from) / 2 } else if (horizontalAlignment === LEFT) { x = from } else if (horizontalAlignment === RIGHT) { x = to } y = orthogonalPositions[function(alignment) { var position = "start"; if ("center" === alignment) { position = "center" } if ("bottom" === alignment) { position = "end" } return position }(verticalAlignment)] } else { x = orthogonalPositions[function(alignment) { var position = "start"; if ("center" === alignment) { position = "center" } if ("right" === alignment) { position = "end" } return position }(horizontalAlignment)]; if (verticalAlignment === TOP) { y = from } else if (verticalAlignment === CENTER) { y = to + (from - to) / 2 } else if (verticalAlignment === BOTTOM) { y = to } } return { x: x, y: y } }, _getTranslatedValue: function(value, offset) { var pos1 = this._translator.translate(value, offset, "semidiscrete" === this._options.type && this._options.tickInterval); var pos2 = this._axisPosition; var isHorizontal = this._isHorizontal; return { x: isHorizontal ? pos1 : pos2, y: isHorizontal ? pos2 : pos1 } }, areCoordsOutsideAxis: function(coords) { var coord = this._isHorizontal ? coords.x : coords.y; var visibleArea = this.getVisibleArea(); if (coord < visibleArea[0] || coord > visibleArea[1]) { return true } return false }, _getSkippedCategory: function(ticks) { var skippedCategory; if (this._options.type === _axes_constants.default.discrete && this._tickOffset && 0 !== ticks.length) { skippedCategory = ticks[ticks.length - 1] } return skippedCategory }, _filterBreaks: function(breaks, viewport, breakStyle) { var minVisible = viewport.minVisible; var maxVisible = viewport.maxVisible; var breakSize = breakStyle ? breakStyle.width : 0; return breaks.reduce((function(result, currentBreak) { var from = currentBreak.from; var to = currentBreak.to; var lastResult = result[result.length - 1]; var newBreak; if (!(0, _type.isDefined)(from) || !(0, _type.isDefined)(to)) { return result } if (from > to) { to = [from, from = to][0] } if (result.length && from < lastResult.to) { if (to > lastResult.to) { lastResult.to = to > maxVisible ? maxVisible : to; if (lastResult.gapSize) { lastResult.gapSize = void 0; lastResult.cumulativeWidth += breakSize } } } else if (from >= minVisible && from < maxVisible || to <= maxVisible && to > minVisible) { from = from >= minVisible ? from : minVisible; to = to <= maxVisible ? to : maxVisible; if (to - from < maxVisible - minVisible) { var _lastResult$cumulativ; newBreak = { from: from, to: to, cumulativeWidth: (null !== (_lastResult$cumulativ = null === lastResult || void 0 === lastResult ? void 0 : lastResult.cumulativeWidth) && void 0 !== _lastResult$cumulativ ? _lastResult$cumulativ : 0) + breakSize }; if (currentBreak.gapSize) { var _lastResult$cumulativ2; newBreak.gapSize = _date.default.convertMillisecondsToDateUnits(to - from); newBreak.cumulativeWidth = null !== (_lastResult$cumulativ2 = null === lastResult || void 0 === lastResult ? void 0 : lastResult.cumulativeWidth) && void 0 !== _lastResult$cumulativ2 ? _lastResult$cumulativ2 : 0 } result.push(newBreak) } } return result }), []) }, _getScaleBreaks: function(axisOptions, viewport, series, isArgumentAxis) { var that = this; var breaks = (axisOptions.breaks || []).map((function(b) { return { from: that.parser(b.startValue), to: that.parser(b.endValue) } })); if ("discrete" !== axisOptions.type && "datetime" === axisOptions.dataType && axisOptions.workdaysOnly) { breaks = breaks.concat((0, _datetime_breaks.generateDateBreaks)(viewport.minVisible, viewport.maxVisible, axisOptions.workWeek, axisOptions.singleWorkdays, axisOptions.holidays)) } if (!isArgumentAxis && "discrete" !== axisOptions.type && "datetime" !== axisOptions.dataType && axisOptions.autoBreaksEnabled && 0 !== axisOptions.maxAutoBreakCount) { breaks = breaks.concat(function(_ref, series, _ref2) { var logarithmBase = _ref.logarithmBase, type = _ref.type, maxAutoBreakCount = _ref.maxAutoBreakCount; var minVisible = _ref2.minVisible, maxVisible = _ref2.maxVisible; var breaks = []; var getRange = "logarithmic" === type ? function(min, max) { return (0, _utils.getLog)(max / min, logarithmBase) } : function(min, max) { return max - min }; var visibleRange = getRange(minVisible, maxVisible); var points = series.reduce((function(result, s) { var points = s.getPointsInViewPort(); result[0] = result[0].concat(points[0]); result[1] = result[1].concat(points[1]); return result }), [ [], [] ]); var sortedAllPoints = points[0].concat(points[1]).sort((function(a, b) { return b - a })); var edgePoints = points[1].filter((function(p) { return points[0].indexOf(p) < 0 })); var minDiff = .3 * visibleRange; var ranges = function(points, edgePoints, getRange) { var i; var length; var maxRange = null; var ranges = []; var curValue; var prevValue; var curRange; for (i = 1, length = points.length; i < length; i++) { curValue = points[i]; prevValue = points[i - 1]; curRange = getRange(curValue, prevValue); if (edgePoints.indexOf(curValue) >= 0) { if (!maxRange || curRange > maxRange.length) { maxRange = { start: curValue, end: prevValue, length: curRange } } } else { if (maxRange && curRange < maxRange.length) { ranges.push(maxRange) } else { ranges.push({ start: curValue, end: prevValue, length: curRange }) } maxRange = null } } if (maxRange) { ranges.push(maxRange) } return ranges }(sortedAllPoints, edgePoints, getRange).sort((function(a, b) { return b.length - a.length })); var epsilon = _math.min.apply(null, ranges.map((function(r) { return r.length }))) / 1e3; var _maxAutoBreakCount = (0, _type.isDefined)(maxAutoBreakCount) ? _math.min(maxAutoBreakCount, ranges.length) : ranges.length; for (var i = 0; i < _maxAutoBreakCount; i++) { if (ranges[i].length >= minDiff) { if (visibleRange <= ranges[i].length) { break } visibleRange -= ranges[i].length; if (visibleRange > epsilon || visibleRange < -epsilon) { breaks.push({ from: ranges[i].start, to: ranges[i].end }); minDiff = .3 * visibleRange } } else { break } } sortingBreaks(breaks); return breaks }(axisOptions, series, viewport)) } return sortingBreaks(breaks) }, _drawBreak: function(translatedEnd, positionFrom, positionTo, width, options, group) { var breakStart = translatedEnd - (!this._translator.isInverted() ? width + 1 : 0); var attr = { "stroke-width": 1, stroke: options.borderColor, sharp: !options.isWaved ? options.isHorizontal ? "h" : "v" : void 0 }; var spaceAttr = { stroke: options.color, "stroke-width": width }; var getPoints = this._isHorizontal ? rotateLine : function(p) { return p }; var drawer = getLineDrawer(this._renderer, group, getPoints, positionFrom, breakStart, positionTo, options.isWaved); drawer(width / 2, spaceAttr); drawer(0, attr); drawer(width, attr) }, _createBreakClipRect: function(from, to) { var canvas = this._canvas; var clipWidth = to - from; var clipRect; if (this._isHorizontal) { clipRect = this._renderer.clipRect(canvas.left, from, canvas.width, clipWidth) } else { clipRect = this._renderer.clipRect(from, canvas.top, clipWidth, canvas.height) } this._breaksElements = this._breaksElements || []; this._breaksElements.push(clipRect); return clipRect.id }, _createBreaksGroup: function(clipFrom, clipTo) { var group = this._renderer.g().attr({ class: this._axisCssPrefix + "breaks", "clip-path": this._createBreakClipRect(clipFrom, clipTo) }).append(this._scaleBreaksGroup); this._breaksElements = this._breaksElements || []; this._breaksElements.push(group); return group }, _disposeBreaksGroup: function() { (this._breaksElements || []).forEach((function(clipRect) { clipRect.dispose() })); this._breaksElements = null }, drawScaleBreaks: function(customCanvas) { var that = this; var options = that._options; var breakStyle = options.breakStyle; var position = options.position; var positionFrom; var positionTo; var breaks = that._translator.getBusinessRange().breaks || []; var additionGroup; var additionBreakFrom; var additionBreakTo; that._disposeBreaksGroup(); if (!(breaks && breaks.length)) { return } var breakOptions = { color: that._options.containerColor, borderColor: breakStyle.color, isHorizontal: that._isHorizontal, isWaved: "straight" !== breakStyle.line.toLowerCase() }; if (customCanvas) { positionFrom = customCanvas.start; positionTo = customCanvas.end } else { positionFrom = that._orthogonalPositions.start - (options.visible && !that._axisShift && (position === LEFT || position === TOP) ? 3 : 0); positionTo = that._orthogonalPositions.end + (options.visible && (position === RIGHT || position === BOTTOM) ? 3 : 0) } var mainGroup = that._createBreaksGroup(positionFrom, positionTo); if (that._axisShift && options.visible) { additionBreakFrom = that._axisPosition - that._axisShift - 3; additionBreakTo = additionBreakFrom + 6; additionGroup = that._createBreaksGroup(additionBreakFrom, additionBreakTo) } breaks.forEach((function(br) { if (!br.gapSize) { var breakCoord = that._getTranslatedCoord(br.to); that._drawBreak(breakCoord, positionFrom, positionTo, breakStyle.width, breakOptions, mainGroup); if (that._axisShift && options.visible) { that._drawBreak(breakCoord, additionBreakFrom, additionBreakTo, breakStyle.width, breakOptions, additionGroup) } } })) }, _getSpiderCategoryOption: _common.noop, shift: function(margins) { var options = this._options; var isHorizontal = options.isHorizontal; var axesSpacing = this.getMultipleAxesSpacing(); var constantLinesGroups = this._axisConstantLineGroups; function shiftGroup(side, group) { var attr = { translateX: 0, translateY: 0 }; var shift = margins[side] ? margins[side] + axesSpacing : 0; attr[isHorizontal ? "translateY" : "translateX"] = (side === LEFT || side === TOP ? -1 : 1) * shift; (group[side] || group).attr(attr); return shift } this._axisShift = shiftGroup(options.position, this._axisGroup); shiftGroup(options.position, this._axisElementsGroup); (isHorizontal ? [TOP, BOTTOM] : [LEFT, RIGHT]).forEach((function(side) { shiftGroup(side, constantLinesGroups.above); shiftGroup(side, constantLinesGroups.under) })) }, getCustomPosition: function(position) { var orthogonalAxis = this.getOrthogonalAxis(); var resolvedPosition = null !== position && void 0 !== position ? position : this.getResolvedPositionOption(); var offset = this.getOptions().offset; var orthogonalTranslator = orthogonalAxis.getTranslator(); var orthogonalAxisType = orthogonalAxis.getOptions().type; var validPosition = orthogonalAxis.validateUnit(resolvedPosition); var currentPosition; if ("discrete" === orthogonalAxisType && (!orthogonalTranslator._categories || orthogonalTranslator._categories.indexOf(validPosition) < 0)) { validPosition = void 0 } if (this.positionIsBoundary(resolvedPosition)) { currentPosition = this.getPredefinedPosition(resolvedPosition) } else if (!(0, _type.isDefined)(validPosition)) { currentPosition = this.getPredefinedPosition(this.getOptions().position) } else { currentPosition = orthogonalTranslator.to(validPosition, -1) } if (isFinite(currentPosition) && isFinite(offset)) { currentPosition += offset } return currentPosition }, getCustomBoundaryPosition: function(position) { var _that$getOptions = this.getOptions(), customPosition = _that$getOptions.customPosition, offset = _that$getOptions.offset; var resolvedPosition = null !== position && void 0 !== position ? position : this.getResolvedPositionOption(); var orthogonalAxis = this.getOrthogonalAxis(); var orthogonalTranslator = orthogonalAxis.getTranslator(); var visibleArea = orthogonalTranslator.getCanvasVisibleArea(); if (!(0, _type.isDefined)(orthogonalAxis._orthogonalPositions) || 0 === orthogonalTranslator.canvasLength) { return } var currentPosition = this.getCustomPosition(resolvedPosition); if (!(0, _type.isDefined)(currentPosition)) { return this.getResolvedBoundaryPosition() } else if ((0, _type.isDefined)(customPosition)) { if (currentPosition <= visibleArea.min) { return this._isHorizontal ? TOP : LEFT } else if (currentPosition >= visibleArea.max) { return this._isHorizontal ? BOTTOM : RIGHT } } else if ((0, _type.isDefined)(offset)) { if (currentPosition <= this._orthogonalPositions.start) { return this._isHorizontal ? TOP : LEFT } else if (currentPosition >= this._orthogonalPositions.end) { return this._isHorizontal ? BOTTOM : RIGHT } } return currentPosition }, getResolvedPositionOption: function() { var _options$customPositi; var options = this.getOptions(); return null !== (_options$customPositi = options.customPosition) && void 0 !== _options$customPositi ? _options$customPositi : options.position }, customPositionIsAvailable: function() { var options = this.getOptions(); return (0, _type.isDefined)(this.getOrthogonalAxis()) && ((0, _type.isDefined)(options.customPosition) || isFinite(options.offset)) }, hasNonBoundaryPosition: function() { return this.customPositionIsAvailable() && !this.customPositionIsBoundary() }, getResolvedBoundaryPosition: function() { return this.customPositionIsBoundary() ? this._customBoundaryPosition : this.getOptions().position }, customPositionEqualsToPredefined: function() { return this.customPositionIsBoundary() && this._customBoundaryPosition === this.getOptions().position }, customPositionIsBoundary: function() { return this.positionIsBoundary(this._customBoundaryPosition) }, positionIsBoundary: function(position) { return [TOP, LEFT, BOTTOM, RIGHT].indexOf(position) >= 0 }, getPredefinedPosition: function(position) { var _this$_orthogonalPosi; return null === (_this$_orthogonalPosi = this._orthogonalPositions) || void 0 === _this$_orthogonalPosi ? void 0 : _this$_orthogonalPosi[position === TOP || position === LEFT ? "start" : "end"] }, resolveOverlappingForCustomPositioning: function(oppositeAxes) { var that = this; if (!that.hasNonBoundaryPosition() && !that.customPositionIsBoundary() && !oppositeAxes.some((function(a) { return a.hasNonBoundaryPosition() }))) { return } var overlappingObj = { axes: [], ticks: [] }; oppositeAxes.filter((function(orthogonalAxis) { return orthogonalAxis.pane === that.pane })).forEach((function(orthogonalAxis) { for (var i = 0; i < that._majorTicks.length; i++) { var tick = that._majorTicks[i]; var label = tick.label; if (label) { if (overlappingObj.axes.indexOf(orthogonalAxis) < 0 && that._detectElementsOverlapping(label, orthogonalAxis._axisElement)) { overlappingObj.axes.push(orthogonalAxis); that._shiftThroughOrthogonalAxisOverlappedTick(label, orthogonalAxis) } for (var j = 0; j < orthogonalAxis._majorTicks.length; j++) { var oppositeTick = orthogonalAxis._majorTicks[j]; var oppositeLabel = oppositeTick.label; if (oppositeLabel && that._detectElementsOverlapping(label, oppositeLabel)) { overlappingObj.ticks.push(tick); that._shiftThroughAxisOverlappedTick(tick); i = that._majorTicks.length; break } } } if (tick.mark && overlappingObj.ticks.indexOf(tick) < 0) { if (that._isHorizontal && tick.mark.attr("translateY")) { tick.mark.attr({ translateY: 0 }) } else if (!that._isHorizontal && tick.mark.attr("translateX")) { tick.mark.attr({ translateX: 0 }) } } } })) }, _shiftThroughOrthogonalAxisOverlappedTick: function(label, orthogonalAxis) { var labelBBox = label.getBBox(); var orthogonalAxisPosition = orthogonalAxis.getAxisPosition(); var orthogonalAxisLabelOptions = orthogonalAxis.getOptions().label; var orthogonalAxisLabelPosition = orthogonalAxisLabelOptions.position; var orthogonalAxisLabelIndent = orthogonalAxisLabelOptions.indentFromAxis / 2; var translateCoordName = this._isHorizontal ? "translateX" : "translateY"; var defaultOrthogonalAxisLabelPosition = this._isHorizontal ? LEFT : TOP; var translate = label.attr(translateCoordName); var labelCoord = (this._isHorizontal ? labelBBox.x : labelBBox.y) + translate; var labelSize = this._isHorizontal ? labelBBox.width : labelBBox.height; var outsidePart = orthogonalAxisPosition - labelCoord; var insidePart = labelCoord + labelSize - orthogonalAxisPosition; var attr = {}; attr[translateCoordName] = translate; if (outsidePart > 0 && insidePart > 0) { if (insidePart - outsidePart > 1) { attr[translateCoordName] += outsidePart + orthogonalAxisLabelIndent } else if (outsidePart - insidePart > 1) { attr[translateCoordName] -= insidePart + orthogonalAxisLabelIndent } else { attr[translateCoordName] += orthogonalAxisLabelPosition === defaultOrthogonalAxisLabelPosition ? outsidePart + orthogonalAxisLabelIndent : -(insidePart + orthogonalAxisLabelIndent) } label.attr(attr) } }, _shiftThroughAxisOverlappedTick: function(tick) { var _tick$mark; var label = tick.label; if (!label) { return } var labelBBox = label.getBBox(); var tickMarkBBox = null === (_tick$mark = tick.mark) || void 0 === _tick$mark ? void 0 : _tick$mark.getBBox(); var axisPosition = this.getAxisPosition(); var labelOptions = this.getOptions().label; var labelIndent = labelOptions.indentFromAxis; var labelPosition = labelOptions.position; var defaultLabelPosition = this._isHorizontal ? TOP : LEFT; var translateCoordName = this._isHorizontal ? "translateY" : "translateX"; var translate = label.attr(translateCoordName); var labelCoord = (this._isHorizontal ? labelBBox.y : labelBBox.x) + translate; var labelSize = this._isHorizontal ? labelBBox.height : labelBBox.width; var attr = {}; attr[translateCoordName] = translate + (labelPosition === defaultLabelPosition ? axisPosition - labelCoord + labelIndent : -(labelCoord - axisPosition + labelSize + labelIndent)); label.attr(attr); if (tick.mark) { var markerSize = this._isHorizontal ? tickMarkBBox.height : tickMarkBBox.width; var dir = labelPosition === defaultLabelPosition ? 1 : -1; attr[translateCoordName] = dir * (markerSize - 1); tick.mark.attr(attr) } }, _detectElementsOverlapping: function(element1, element2) { if (!element1 || !element2) { return false } var bBox1 = element1.getBBox(); var x1 = bBox1.x + element1.attr("translateX"); var y1 = bBox1.y + element1.attr("translateY"); var bBox2 = element2.getBBox(); var x2 = bBox2.x + element2.attr("translateX"); var y2 = bBox2.y + element2.attr("translateY"); return (x2 >= x1 && x2 <= x1 + bBox1.width || x1 >= x2 && x1 <= x2 + bBox2.width) && (y2 >= y1 && y2 <= y1 + bBox1.height || y1 >= y2 && y1 <= y2 + bBox2.height) } } }; exports.default = _default; function getLineDrawer(renderer, root, rotatePoints, positionFrom, breakStart, positionTo, isWaved) { var elementType = isWaved ? "bezier" : "line"; var group = renderer.g().append(root); return function(offset, attr) { renderer.path(rotatePoints(function(positionFrom, breakStart, positionTo, offset, isWaved) { if (!isWaved) { return [positionFrom, breakStart + offset, positionTo, breakStart + offset] } breakStart += offset; var currentPosition; var topPoint = breakStart + 0; var centerPoint = breakStart + 2; var bottomPoint = breakStart + 4; var points = [ [positionFrom, centerPoint] ]; for (currentPosition = positionFrom; currentPosition < positionTo + 24; currentPosition += 24) { points.push([currentPosition + 6, topPoint, currentPosition + 6, topPoint, currentPosition + 12, centerPoint, currentPosition + 18, bottomPoint, currentPosition + 18, bottomPoint, currentPosition + 24, centerPoint]) } return [].concat.apply([], points) }(positionFrom, breakStart, positionTo, offset, isWaved)), elementType).attr(attr).append(group) } } function rotateLine(lineCoords) { var points = []; var i; for (i = 0; i < lineCoords.length; i += 2) { points.push(lineCoords[i + 1]); points.push(lineCoords[i]) } return points } module.exports = exports.default; module.exports.default = exports.default }, 45888: /*!**************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/bar_gauge.js ***! \**************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _bar_gauge = __webpack_require__( /*! ./gauges/bar_gauge */ 44898); var _default = _bar_gauge.dxBarGauge; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 88950: /*!***********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/bullet.js ***! \***********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _bullet = (obj = __webpack_require__( /*! ./sparklines/bullet */ 59989), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _bullet.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 99511: /*!**********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/chart.js ***! \**********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _size = __webpack_require__( /*! ../core/utils/size */ 58664); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _extend2 = __webpack_require__( /*! ../core/utils/extend */ 13306); var _window = __webpack_require__( /*! ../core/utils/window */ 58201); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _utils = __webpack_require__( /*! ./utils */ 34434); var _utils2 = __webpack_require__( /*! ./core/utils */ 19157); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _math = __webpack_require__( /*! ../core/utils/math */ 60810); var _base_chart = __webpack_require__( /*! ./chart_components/base_chart */ 33224); var _multi_axes_synchronizer = _interopRequireDefault(__webpack_require__( /*! ./chart_components/multi_axes_synchronizer */ 42597)); var _advanced_chart = __webpack_require__( /*! ./chart_components/advanced_chart */ 42602); var _scroll_bar = __webpack_require__( /*! ./chart_components/scroll_bar */ 97882); var _crosshair = __webpack_require__( /*! ./chart_components/crosshair */ 97574); var _range_data_calculator = _interopRequireDefault(__webpack_require__( /*! ./series/helpers/range_data_calculator */ 63407)); var _layout_manager = __webpack_require__( /*! ./chart_components/layout_manager */ 21495); var _range = __webpack_require__( /*! ./translators/range */ 21177); var _shutter_zoom = _interopRequireDefault(__webpack_require__( /*! ./chart_components/shutter_zoom */ 70714)); var _zoom_and_pan = _interopRequireDefault(__webpack_require__( /*! ./chart_components/zoom_and_pan */ 59345)); var _annotations = __webpack_require__( /*! ./core/annotations */ 77129); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var DEFAULT_PANES = [{ name: "default", border: {} }]; var _isArray = Array.isArray; function changeVisibilityAxisGrids(axis, gridVisibility, minorGridVisibility) { var gridOpt = axis.getOptions().grid; var minorGridOpt = axis.getOptions().minorGrid; gridOpt.visible = gridVisibility; minorGridOpt && (minorGridOpt.visible = minorGridVisibility) } function compareAxes(a, b) { return a.priority - b.priority } function doesPaneExist(panes, paneName) { var found = false; (0, _iterator.each)(panes, (function(_, pane) { if (pane.name === paneName) { found = true; return false } })); return found } function accumulate(field, src1, src2, auxSpacing) { var val1 = src1[field] || 0; var val2 = src2[field] || 0; return val1 + val2 + (val1 && val2 ? auxSpacing : 0) } function pickMax(field, src1, src2) { return pickMaxValue(src1[field], src2[field]) } function pickMaxValue(val1, val2) { return Math.max(val1 || 0, val2 || 0) } function getAxisMargins(axis) { return axis.getMargins() } function getHorizontalAxesMargins(axes, getMarginsFunc) { return axes.reduce((function(margins, axis) { var _axis$getOrthogonalAx; var axisMargins = getMarginsFunc(axis); var paneMargins = margins.panes[axis.pane] = margins.panes[axis.pane] || {}; var spacing = axis.getMultipleAxesSpacing(); paneMargins.top = accumulate("top", paneMargins, axisMargins, spacing); paneMargins.bottom = accumulate("bottom", paneMargins, axisMargins, spacing); paneMargins.left = pickMax("left", paneMargins, axisMargins); paneMargins.right = pickMax("right", paneMargins, axisMargins); margins.top = pickMax("top", paneMargins, margins); margins.bottom = pickMax("bottom", paneMargins, margins); margins.left = pickMax("left", paneMargins, margins); margins.right = pickMax("right", paneMargins, margins); var orthogonalAxis = null === (_axis$getOrthogonalAx = axis.getOrthogonalAxis) || void 0 === _axis$getOrthogonalAx ? void 0 : _axis$getOrthogonalAx.call(axis); if (orthogonalAxis && orthogonalAxis.customPositionIsAvailable() && (!axis.customPositionIsBoundaryOrthogonalAxis() || !orthogonalAxis.customPositionEqualsToPredefined())) { margins[orthogonalAxis.getResolvedBoundaryPosition()] = 0 } return margins }), { panes: {} }) } function getVerticalAxesMargins(axes) { return axes.reduce((function(margins, axis) { var axisMargins = axis.getMargins(); var paneMargins = margins.panes[axis.pane] = margins.panes[axis.pane] || {}; var spacing = axis.getMultipleAxesSpacing(); paneMargins.top = pickMax("top", paneMargins, axisMargins); paneMargins.bottom = pickMax("bottom", paneMargins, axisMargins); paneMargins.left = accumulate("left", paneMargins, axisMargins, spacing); paneMargins.right = accumulate("right", paneMargins, axisMargins, spacing); margins.top = pickMax("top", paneMargins, margins); margins.bottom = pickMax("bottom", paneMargins, margins); margins.left = pickMax("left", paneMargins, margins); margins.right = pickMax("right", paneMargins, margins); return margins }), { panes: {} }) } function performActionOnAxes(axes, action, actionArgument1, actionArgument2, actionArgument3) { axes.forEach((function(axis) { axis[action](actionArgument1 && actionArgument1[axis.pane], actionArgument2 && actionArgument2[axis.pane] || actionArgument2, actionArgument3) })) } function shrinkCanvases(isRotated, canvases, sizes, verticalMargins, horizontalMargins) { function getMargin(side, margins, pane) { var m = -1 === (isRotated ? ["left", "right"] : ["top", "bottom"]).indexOf(side) ? margins : margins.panes[pane] || {}; return m[side] } function getMaxMargin(side, margins1, margins2, pane) { return pickMaxValue(getMargin(side, margins1, pane), getMargin(side, margins2, pane)) } var getOriginalField = function(field) { return "original".concat(field[0].toUpperCase()).concat(field.slice(1)) }; function shrink(canvases, paneNames, sizeField, startMargin, endMargin, oppositeMargins) { paneNames = paneNames.sort((function(p1, p2) { return canvases[p2][startMargin] - canvases[p1][startMargin] })); paneNames.forEach((function(pane) { var canvas = canvases[pane]; oppositeMargins.forEach((function(margin) { canvas[margin] = canvas[getOriginalField(margin)] + getMaxMargin(margin, verticalMargins, horizontalMargins, pane) })) })); var firstPane = canvases[paneNames[0]]; var emptySpace = paneNames.reduce((function(space, paneName) { space -= getMaxMargin(startMargin, verticalMargins, horizontalMargins, paneName) + getMaxMargin(endMargin, verticalMargins, horizontalMargins, paneName); return space }), firstPane[sizeField] - firstPane[getOriginalField(endMargin)] - canvases[paneNames[paneNames.length - 1]][getOriginalField(startMargin)]) - _utils2.PANE_PADDING * (paneNames.length - 1); emptySpace -= Object.keys(sizes).reduce((function(prev, key) { return prev + (!(0, _utils2.isRelativeHeightPane)(sizes[key]) ? sizes[key].height : 0) }), 0); paneNames.reduce((function(offset, pane) { var canvas = canvases[pane]; var paneSize = sizes[pane]; offset -= getMaxMargin(endMargin, verticalMargins, horizontalMargins, pane); canvas[endMargin] = firstPane[sizeField] - offset; offset -= !(0, _utils2.isRelativeHeightPane)(paneSize) ? paneSize.height : Math.floor(emptySpace * paneSize.height); canvas[startMargin] = offset; offset -= getMaxMargin(startMargin, verticalMargins, horizontalMargins, pane) + _utils2.PANE_PADDING; return offset }), firstPane[sizeField] - firstPane[getOriginalField(endMargin)] - (emptySpace < 0 ? emptySpace : 0)) } var paneNames = Object.keys(canvases); if (!isRotated) { shrink(canvases, paneNames, "height", "top", "bottom", ["left", "right"]) } else { shrink(canvases, paneNames, "width", "left", "right", ["top", "bottom"]) } return canvases } function drawAxesWithTicks(axes, condition, canvases, panesBorderOptions) { if (condition) { performActionOnAxes(axes, "createTicks", canvases); _multi_axes_synchronizer.default.synchronize(axes) } performActionOnAxes(axes, "draw", !condition && canvases, panesBorderOptions) } function shiftAxis(side1, side2) { var shifts = {}; return function(axis) { if (!axis.customPositionIsAvailable() || axis.customPositionEqualsToPredefined()) { var shift = shifts[axis.pane] = shifts[axis.pane] || { top: 0, left: 0, bottom: 0, right: 0 }; var spacing = axis.getMultipleAxesSpacing(); var margins = axis.getMargins(); axis.shift(shift); shift[side1] = accumulate(side1, shift, margins, spacing); shift[side2] = accumulate(side2, shift, margins, spacing) } else { axis.shift({ top: 0, left: 0, bottom: 0, right: 0 }) } } } function getCommonSize(side, margins) { var size = 0; var pane; var paneMargins; for (pane in margins.panes) { paneMargins = margins.panes[pane]; size += "height" === side ? paneMargins.top + paneMargins.bottom : paneMargins.left + paneMargins.right } return size } function checkUsedSpace(sizeShortage, side, axes, getMarginFunc) { var size = 0; if (sizeShortage[side] > 0) { size = getCommonSize(side, getMarginFunc(axes, getAxisMargins)); performActionOnAxes(axes, "hideTitle"); sizeShortage[side] -= size - getCommonSize(side, getMarginFunc(axes, getAxisMargins)) } if (sizeShortage[side] > 0) { performActionOnAxes(axes, "hideOuterElements") } } var isOverlay = function(currentPoint, overlayPoint, pointRadius) { var pointHitsLeftBorder = overlayPoint.x - pointRadius <= currentPoint.x; var pointHitsRightBorder = overlayPoint.x + pointRadius >= currentPoint.x; var pointHitsTopBorder = overlayPoint.y - pointRadius <= currentPoint.y; var pointHitsBottomBorder = overlayPoint.y + pointRadius >= currentPoint.y; var isPointOverlappedHorizontally = pointHitsLeftBorder && pointHitsRightBorder; var isPointOverlappedVertically = pointHitsTopBorder && pointHitsBottomBorder; return isPointOverlappedHorizontally && isPointOverlappedVertically }; var isPointOverlapped = function(currentPoint, points, skipSamePointsComparing) { var radiusPoint = currentPoint.getOptions().size / 2; for (var i = 0; i < points.length; i++) { if (!skipSamePointsComparing) { var isXCoordinateSame = points[i].x === currentPoint.x; var isYCoordinateSame = points[i].y === currentPoint.y; if (isXCoordinateSame && isYCoordinateSame) { continue } } if (isOverlay(currentPoint, points[i], radiusPoint)) { return true } } return false }; var dxChart = _advanced_chart.AdvancedChart.inherit({ _themeSection: "chart", _fontFields: ["crosshair.label.font"], _initCore: function() { this.paneAxis = {}; this.callBase() }, _init: function() { this._containerInitialHeight = (0, _window.hasWindow)() ? (0, _size.getHeight)(this._$element) : 0; this.callBase() }, _correctAxes: function() { this._correctValueAxes(true) }, _setDeprecatedOptions: function() { this.callBase(); (0, _extend2.extend)(this._deprecatedOptions, { "argumentAxis.aggregateByCategory": { since: "23.1", message: "Use the aggregation.enabled property" } }) }, _getExtraOptions: _common.noop, _createPanes: function() { var panes = this.option("panes"); var panesNameCounter = 0; var defaultPane; if (!panes || _isArray(panes) && !panes.length) { panes = DEFAULT_PANES } this.callBase(); defaultPane = this.option("defaultPane"); panes = (0, _extend2.extend)(true, [], _isArray(panes) ? panes : [panes]); (0, _iterator.each)(panes, (function(_, pane) { pane.name = !(0, _type.isDefined)(pane.name) ? "default" + panesNameCounter++ : pane.name })); if ((0, _type.isDefined)(defaultPane)) { if (!doesPaneExist(panes, defaultPane)) { this._incidentOccurred("W2101", [defaultPane]); defaultPane = panes[panes.length - 1].name } } else { defaultPane = panes[panes.length - 1].name } this.defaultPane = defaultPane; panes = this._isRotated() ? panes.reverse() : panes; return panes }, _getAxisRenderingOptions: function() { return { axisType: "xyAxes", drawingType: "linear" } }, _prepareAxisOptions: function(typeSelector, userOptions, rotated) { return { isHorizontal: "argumentAxis" === typeSelector !== rotated, containerColor: this._themeManager.getOptions("containerBackgroundColor") } }, _checkPaneName: function(seriesTheme) { var paneList = (0, _utils2.map)(this.panes, (function(pane) { return pane.name })); seriesTheme.pane = seriesTheme.pane || this.defaultPane; return paneList.includes(seriesTheme.pane) }, _initCustomPositioningAxes: function() { var that = this; var argumentAxis = that.getArgumentAxis(); var valueAxisName = argumentAxis.getOptions().customPositionAxis; var valueAxis = that._valueAxes.filter((function(v) { return v.pane === argumentAxis.pane && (!valueAxisName || valueAxisName === v.name) }))[0]; that._valueAxes.forEach((function(v) { if (argumentAxis !== v.getOrthogonalAxis()) { v.getOrthogonalAxis = function() { return argumentAxis }; v.customPositionIsBoundaryOrthogonalAxis = function() { return argumentAxis.customPositionIsBoundary() } } })); if ((0, _type.isDefined)(valueAxis) && valueAxis !== argumentAxis.getOrthogonalAxis()) { argumentAxis.getOrthogonalAxis = function() { return valueAxis }; argumentAxis.customPositionIsBoundaryOrthogonalAxis = function() { return that._valueAxes.some((function(v) { return v.customPositionIsBoundary() })) } } else if ((0, _type.isDefined)(argumentAxis.getOrthogonalAxis()) && !(0, _type.isDefined)(valueAxis)) { argumentAxis.getOrthogonalAxis = _common.noop } }, _getAllAxes: function() { return this._argumentAxes.concat(this._valueAxes) }, _resetAxesAnimation: function(isFirstDrawing, isHorizontal) { var axes = (0, _type.isDefined)(isHorizontal) ? isHorizontal ^ this._isRotated() ? this._argumentAxes : this._valueAxes : this._getAllAxes(); axes.forEach((function(a) { a.resetApplyingAnimation(isFirstDrawing) })) }, _axesBoundaryPositioning: function() { var allAxes = this._getAllAxes(); var boundaryStateChanged = false; allAxes.forEach((function(a) { if (!a.customPositionIsAvailable()) { return false } var prevBoundaryState = a.customPositionIsBoundary(); a._customBoundaryPosition = a.getCustomBoundaryPosition(); boundaryStateChanged |= prevBoundaryState !== a.customPositionIsBoundary() })); return boundaryStateChanged }, _getCrosshairMargins: function() { var crosshairOptions = this._getCrosshairOptions() || {}; var crosshairEnabled = crosshairOptions.enabled; var margins = (0, _crosshair.getMargins)(); var horizontalLabel = (0, _extend2.extend)(true, {}, crosshairOptions.label, crosshairOptions.horizontalLine.label); var verticalLabel = (0, _extend2.extend)(true, {}, crosshairOptions.label, crosshairOptions.verticalLine.label); return { x: crosshairEnabled && crosshairOptions.horizontalLine.visible && horizontalLabel.visible ? margins.x : 0, y: crosshairEnabled && crosshairOptions.verticalLine.visible && verticalLabel.visible ? margins.y : 0 } }, _getValueAxis: function(paneName, axisName) { var valueAxes = this._valueAxes; var valueAxisOptions = this.option("valueAxis") || {}; var valueAxesOptions = _isArray(valueAxisOptions) ? valueAxisOptions : [valueAxisOptions]; var rotated = this._isRotated(); var crosshairMargins = this._getCrosshairMargins(); var axisOptions; var axis; axisName = axisName || function(axes, paneName, defaultPane) { var result; for (var i = 0; i < axes.length; i++) { if (axes[i].pane === paneName || void 0 === axes[i].pane && paneName === defaultPane) { result = axes[i].name; break } } if (!result) { result = axes[0].name } return result }(valueAxes, paneName, this.defaultPane); axis = function findAxis(paneName, axisName, axes) { var axis; var i; for (i = 0; i < axes.length; i++) { axis = axes[i]; if (axis.name === axisName && axis.pane === paneName) { return axis } } if (paneName) { return findAxis(void 0, axisName, axes) } }(paneName, axisName, valueAxes); if (!axis) { axisOptions = function(valueAxes, valueAxesOptions, axisName) { var result; var axInd; for (axInd = 0; axInd < valueAxesOptions.length; axInd++) { if (valueAxesOptions[axInd].name === axisName) { result = valueAxesOptions[axInd]; result.priority = axInd; break } } if (!result) { for (axInd = 0; axInd < valueAxes.length; axInd++) { if (valueAxes[axInd].name === axisName) { result = valueAxes[axInd].getOptions(); result.priority = valueAxes[axInd].priority; break } } } return result }(valueAxes, valueAxesOptions, axisName); if (!axisOptions) { this._incidentOccurred("W2102", [axisName]); axisOptions = { name: axisName, priority: valueAxes.length } } axis = this._createAxis(false, this._populateAxesOptions("valueAxis", axisOptions, { pane: paneName, name: axisName, optionPath: _isArray(valueAxisOptions) ? "valueAxis[".concat(axisOptions.priority, "]") : "valueAxis", crosshairMargin: rotated ? crosshairMargins.y : crosshairMargins.x }, rotated)); axis.applyVisualRangeSetter(this._getVisualRangeSetter()); valueAxes.push(axis) } axis.setPane(paneName); return axis }, _correctValueAxes: function(needHideGrids) { var that = this; var synchronizeMultiAxes = that._themeManager.getOptions("synchronizeMultiAxes"); var valueAxes = that._valueAxes; var paneWithAxis = {}; that.series.forEach((function(series) { var axis = series.getValueAxis(); paneWithAxis[axis.pane] = true })); that.panes.forEach((function(pane) { var paneName = pane.name; if (!paneWithAxis[paneName]) { that._getValueAxis(paneName) } if (needHideGrids && synchronizeMultiAxes) { ! function(axesForPane) { var axisShown = false; var hiddenStubAxis = []; var minorGridVisibility = axesForPane.some((function(axis) { var minorGridOptions = axis.getOptions().minorGrid; return minorGridOptions && minorGridOptions.visible })); var gridVisibility = axesForPane.some((function(axis) { var gridOptions = axis.getOptions().grid; return gridOptions && gridOptions.visible })); if (axesForPane.length > 1) { axesForPane.forEach((function(axis) { var gridOpt = axis.getOptions().grid; if (axisShown) { changeVisibilityAxisGrids(axis, false, false) } else if (gridOpt && gridOpt.visible) { if (axis.getTranslator().getBusinessRange().isEmpty()) { changeVisibilityAxisGrids(axis, false, false); hiddenStubAxis.push(axis) } else { axisShown = true; changeVisibilityAxisGrids(axis, gridVisibility, minorGridVisibility) } } })); !axisShown && hiddenStubAxis.length && changeVisibilityAxisGrids(hiddenStubAxis[0], gridVisibility, minorGridVisibility) } }(valueAxes.filter((function(axis) { return axis.pane === paneName }))) } })); that._valueAxes = valueAxes.filter((function(axis) { if (!axis.pane) { axis.setPane(that.defaultPane) } var paneExists = doesPaneExist(that.panes, axis.pane); if (!paneExists) { axis.dispose(); axis = null } return paneExists })).sort(compareAxes); var defaultAxis = this.getValueAxis(); that._valueAxes.forEach((function(axis) { var optionPath = axis.getOptions().optionPath; if (optionPath) { var axesWithSamePath = that._valueAxes.filter((function(a) { return a.getOptions().optionPath === optionPath })); if (axesWithSamePath.length > 1) { if (axesWithSamePath.some((function(a) { return a === defaultAxis }))) { axesWithSamePath.forEach((function(a) { if (a !== defaultAxis) { a.getOptions().optionPath = null } })) } else { axesWithSamePath.forEach((function(a, i) { if (0 !== i) { a.getOptions().optionPath = null } })) } } } })) }, _getSeriesForPane: function(paneName) { var paneSeries = []; (0, _iterator.each)(this.series, (function(_, oneSeries) { if (oneSeries.pane === paneName) { paneSeries.push(oneSeries) } })); return paneSeries }, _createPanesBorderOptions: function() { var commonBorderOptions = this._themeManager.getOptions("commonPaneSettings").border; var panesBorderOptions = {}; this.panes.forEach((function(pane) { return panesBorderOptions[pane.name] = (0, _extend2.extend)(true, {}, commonBorderOptions, pane.border) })); return panesBorderOptions }, _createScrollBar: function() { var scrollBarOptions = this._themeManager.getOptions("scrollBar") || {}; var scrollBarGroup = this._scrollBarGroup; if (scrollBarOptions.visible) { scrollBarOptions.rotated = this._isRotated(); this._scrollBar = (this._scrollBar || new _scroll_bar.ScrollBar(this._renderer, scrollBarGroup)).update(scrollBarOptions) } else { scrollBarGroup.linkRemove(); this._scrollBar && this._scrollBar.dispose(); this._scrollBar = null } }, _executeAppendAfterSeries: function(append) { append() }, _prepareToRender: function(drawOptions) { var panesBorderOptions = this._createPanesBorderOptions(); this._createPanesBackground(); this._appendAxesGroups(); this._adjustViewport(); return panesBorderOptions }, _adjustViewport: function() { var adjustOnZoom = this._themeManager.getOptions("adjustOnZoom"); if (!adjustOnZoom) { return } this._valueAxes.forEach((function(axis) { return axis.adjust() })) }, _recreateSizeDependentObjects: function(isCanvasChanged) { var that = this; var series = that._getVisibleSeries(); var useAggregation = series.some((function(s) { return s.useAggregation() })); var zoomChanged = that._isZooming(); if (!useAggregation) { return } that._argumentAxes.forEach((function(axis) { axis.updateCanvas(that._canvas, true) })); series.forEach((function(series) { if (series.useAggregation() && (isCanvasChanged || zoomChanged || !series._useAllAggregatedPoints)) { series.createPoints() } })); that._processSeriesFamilies() }, _isZooming: function() { var argumentAxis = this.getArgumentAxis(); if (!argumentAxis || !argumentAxis.getTranslator()) { return false } var businessRange = argumentAxis.getTranslator().getBusinessRange(); var zoomRange = argumentAxis.getViewport(); var min = zoomRange ? zoomRange.min : 0; var max = zoomRange ? zoomRange.max : 0; if ("logarithmic" === businessRange.axisType) { min = (0, _utils2.getLog)(min, businessRange.base); max = (0, _utils2.getLog)(max, businessRange.base) } var viewportDistance = "discrete" === businessRange.axisType ? (0, _utils2.getCategoriesInfo)(businessRange.categories, min, max).categories.length : Math.abs(max - min); var precision = (0, _math.getPrecision)(viewportDistance); precision = precision > 1 ? Math.pow(10, precision - 2) : 1; var zoomChanged = Math.round((this._zoomLength - viewportDistance) * precision) / precision !== 0; this._zoomLength = viewportDistance; return zoomChanged }, _handleSeriesDataUpdated: function() { var that = this; var viewport = new _range.Range; that.series.forEach((function(s) { viewport.addRange(s.getArgumentRange()) })); that._argumentAxes.forEach((function(axis) { axis.updateCanvas(that._canvas, true); axis.setBusinessRange(viewport, that._axesReinitialized) })); that.callBase() }, _isLegendInside: function() { return this._legend && "inside" === this._legend.getPosition() }, _isRotated: function() { return this._themeManager.getOptions("rotated") }, _getLayoutTargets: function() { return this.panes }, _applyClipRects: function(panesBorderOptions) { this._drawPanesBorders(panesBorderOptions); this._createClipRectsForPanes(); this._applyClipRectsForAxes(); this._fillPanesBackground() }, _updateLegendPosition: function(drawOptions, legendHasInsidePosition) { if (drawOptions.drawLegend && this._legend && legendHasInsidePosition) { var panes = this.panes; var newCanvas = (0, _extend2.extend)({}, panes[0].canvas); var layoutManager = new _layout_manager.LayoutManager; newCanvas.right = panes[panes.length - 1].canvas.right; newCanvas.bottom = panes[panes.length - 1].canvas.bottom; layoutManager.layoutInsideLegend(this._legend, newCanvas) } }, _allowLegendInsidePosition: function() { return true }, _applyExtraSettings: function(series) { var paneIndex = this._getPaneIndex(series.pane); var panesClipRects = this._panesClipRects; var wideClipRect = panesClipRects.wide[paneIndex]; series.setClippingParams(panesClipRects.base[paneIndex].id, wideClipRect && wideClipRect.id, this._getPaneBorderVisibility(paneIndex)) }, _updatePanesCanvases: function(drawOptions) { if (!drawOptions.recreateCanvas) { return }(0, _utils2.updatePanesCanvases)(this.panes, this._canvas, this._isRotated()) }, _normalizePanesHeight: function() { (0, _utils2.normalizePanesHeight)(this.panes) }, _renderScaleBreaks: function() { this._valueAxes.concat(this._argumentAxes).forEach((function(axis) { axis.drawScaleBreaks() })) }, _getArgFilter: function() { return _range_data_calculator.default.getViewPortFilter(this.getArgumentAxis().visualRange() || {}) }, _hidePointsForSingleSeriesIfNeeded: function(series) { var seriesPoints = series.getPoints(); var overlappedPointsCount = 0; for (var i = 0; i < seriesPoints.length; i++) { var currentPoint = seriesPoints[i]; var overlappingPoints = seriesPoints.slice(i + 1); overlappedPointsCount += isPointOverlapped(currentPoint, overlappingPoints); if (overlappedPointsCount > seriesPoints.length / 2) { series.autoHidePointMarkers = true; break } } }, _applyAutoHidePointMarkers: function(filteredSeries) { var overlappingPoints = []; for (var i = filteredSeries.length - 1; i >= 0; i--) { var currentSeries = filteredSeries[i]; if (!currentSeries.autoHidePointMarkersEnabled()) { continue } currentSeries.autoHidePointMarkers = false; this._hidePointsForSingleSeriesIfNeeded(currentSeries); if (!currentSeries.autoHidePointMarkers) { var seriesPoints = currentSeries.getPoints(); var overlappingPointsCount = seriesPoints.reduce((function(pointsCount, currentPoint) { return pointsCount + isPointOverlapped(currentPoint, overlappingPoints, true) }), 0); if (overlappingPointsCount < seriesPoints.length) { overlappingPoints = overlappingPoints.concat(seriesPoints) } else { currentSeries.autoHidePointMarkers = true } } } }, _applyPointMarkersAutoHiding: function() { var that = this; var allSeries = that.series; if (!that._themeManager.getOptions("autoHidePointMarkers")) { allSeries.forEach((function(s) { return s.autoHidePointMarkers = false })); return } that.panes.forEach((function(_ref) { var borderCoords = _ref.borderCoords, name = _ref.name; var series = allSeries.filter((function(s) { return s.pane === name && s.usePointsToDefineAutoHiding() })); series.forEach((function(singleSeries) { singleSeries.prepareCoordinatesForPoints() })); var argAxis = that.getArgumentAxis(); var markersInfo = function(allSeries, filteredSeries, argAxis) { var series = []; var overloadedSeries = {}; var argVisualRange = argAxis.visualRange(); var argTranslator = argAxis.getTranslator(); var argViewPortFilter = _range_data_calculator.default.getViewPortFilter(argVisualRange || {}); filteredSeries.forEach((function(s) { var valAxis = s.getValueAxis(); var valVisualRange = valAxis.getCanvasRange(); var valTranslator = valAxis.getTranslator(); var seriesIndex = allSeries.indexOf(s); var valViewPortFilter = _range_data_calculator.default.getViewPortFilter(valVisualRange || {}); overloadedSeries[seriesIndex] = {}; filteredSeries.forEach((function(sr) { return overloadedSeries[seriesIndex][allSeries.indexOf(sr)] = 0 })); var seriesPoints = []; s.getPoints().filter((function(p) { return p.getOptions().visible && argViewPortFilter(p.argument) && (valViewPortFilter(p.getMinValue(true)) || valViewPortFilter(p.getMaxValue(true))) })).forEach((function(p) { var tp = { seriesIndex: seriesIndex, argument: p.argument, value: p.getMaxValue(true), size: p.bubbleSize || p.getOptions().size }; if (p.getMinValue(true) !== p.getMaxValue(true)) { var mp = (0, _extend2.extend)({}, tp); mp.value = p.getMinValue(true); mp.x = argTranslator.to(mp.argument, 1); mp.y = valTranslator.to(mp.value, 1); seriesPoints.push(mp) } tp.x = argTranslator.to(tp.argument, 1); tp.y = valTranslator.to(tp.value, 1); seriesPoints.push(tp) })); overloadedSeries[seriesIndex].pointsCount = seriesPoints.length; overloadedSeries[seriesIndex].total = 0; overloadedSeries[seriesIndex].continuousSeries = 0; series.push({ name: s.name, index: seriesIndex, points: seriesPoints }) })); return { series: series, overloadedSeries: overloadedSeries } }(allSeries, series, argAxis); ! function(canvas, markersInfo, series) { var area = canvas.width * canvas.height; var seriesPoints = markersInfo.series; var _loop = function(i) { var currentSeries = series.filter((function(s) { return s.name === seriesPoints[i].name }))[0]; var points = seriesPoints[i].points; var pointSize = points.length ? points[0].size : 0; var pointsArea = pointSize * pointSize * points.length; if (currentSeries.autoHidePointMarkersEnabled() && pointsArea >= area / seriesPoints.length) { var index = seriesPoints[i].index; currentSeries.autoHidePointMarkers = true; seriesPoints.splice(i, 1); series.splice(series.indexOf(currentSeries), 1); delete markersInfo.overloadedSeries[index] } }; for (var i = seriesPoints.length - 1; i >= 0; i--) { _loop(i) } }(borderCoords, markersInfo, series); if (markersInfo.series.length) { var argVisualRange = argAxis.visualRange(); var argAxisIsDiscrete = "discrete" === argAxis.getOptions().type; var sortingCallback = argAxisIsDiscrete ? function(p1, p2) { return argVisualRange.categories.indexOf(p1.argument) - argVisualRange.categories.indexOf(p2.argument) } : function(p1, p2) { return p1.argument - p2.argument }; var points = []; markersInfo.series.forEach((function(s) { return points = points.concat(s.points) })); points.sort(sortingCallback); ! function(points, overloadedSeries) { var isContinuousSeries = false; for (var i = 0; i < points.length - 1; i++) { var curPoint = points[i]; var size = curPoint.size; if ((0, _type.isDefined)(curPoint.x) && (0, _type.isDefined)(curPoint.y)) { for (var j = i + 1; j < points.length; j++) { var nextPoint = points[j]; var next_x = null === nextPoint || void 0 === nextPoint ? void 0 : nextPoint.x; var next_y = null === nextPoint || void 0 === nextPoint ? void 0 : nextPoint.y; if (!(0, _type.isDefined)(next_x) || Math.abs(curPoint.x - next_x) >= size) { isContinuousSeries &= j !== i + 1; break } else { var distance = (0, _type.isDefined)(next_x) && (0, _type.isDefined)(next_y) && Math.sqrt(Math.pow(curPoint.x - next_x, 2) + Math.pow(curPoint.y - next_y, 2)); if (distance && distance < size) { overloadedSeries[curPoint.seriesIndex][nextPoint.seriesIndex]++; overloadedSeries[curPoint.seriesIndex].total++; if (!isContinuousSeries) { overloadedSeries[curPoint.seriesIndex].continuousSeries++; isContinuousSeries = true } } } } } } }(points, markersInfo.overloadedSeries); that._applyAutoHidePointMarkers(series) } })) }, _renderAxes: function(drawOptions, panesBorderOptions) { function calculateTitlesWidth(axes) { return axes.map((function(axis) { if (!axis.getTitle) { return 0 } var title = axis.getTitle(); return title ? title.bBox.width : 0 })) } var that = this; var rotated = that._isRotated(); var synchronizeMultiAxes = that._themeManager.getOptions("synchronizeMultiAxes"); var scrollBar = that._scrollBar ? [that._scrollBar] : []; var extendedArgAxes = that._isArgumentAxisBeforeScrollBar() ? that._argumentAxes.concat(scrollBar) : scrollBar.concat(that._argumentAxes); var verticalAxes = rotated ? that._argumentAxes : that._valueAxes; var verticalElements = rotated ? extendedArgAxes : that._valueAxes; var horizontalAxes = rotated ? that._valueAxes : that._argumentAxes; var horizontalElements = rotated ? that._valueAxes : extendedArgAxes; var allAxes = verticalAxes.concat(horizontalAxes); var allElements = allAxes.concat(scrollBar); var verticalAxesFirstDrawing = verticalAxes.some((function(v) { return v.isFirstDrawing() })); that._normalizePanesHeight(); that._updatePanesCanvases(drawOptions); var panesCanvases = that.panes.reduce((function(canvases, pane) { canvases[pane.name] = (0, _extend2.extend)({}, pane.canvas); return canvases }), {}); var paneSizes = that.panes.reduce((function(sizes, pane) { sizes[pane.name] = { height: pane.height, unit: pane.unit }; return sizes }), {}); var cleanPanesCanvases = (0, _extend2.extend)(true, {}, panesCanvases); that._initCustomPositioningAxes(); var needCustomAdjustAxes = that._axesBoundaryPositioning(); if (!drawOptions.adjustAxes && !needCustomAdjustAxes) { drawAxesWithTicks(verticalAxes, !rotated && synchronizeMultiAxes, panesCanvases, panesBorderOptions); drawAxesWithTicks(horizontalAxes, rotated && synchronizeMultiAxes, panesCanvases, panesBorderOptions); performActionOnAxes(allAxes, "prepareAnimation"); that._renderScaleBreaks(); horizontalAxes.forEach((function(a) { return a.resolveOverlappingForCustomPositioning(verticalAxes) })); verticalAxes.forEach((function(a) { return a.resolveOverlappingForCustomPositioning(horizontalAxes) })); return false } if (needCustomAdjustAxes) { allAxes.forEach((function(a) { return a.customPositionIsAvailable() && a.shift({ top: 0, left: 0, bottom: 0, right: 0 }) })) } if (that._scrollBar) { that._scrollBar.setPane(that.panes) } var vAxesMargins = { panes: {} }; var hAxesMargins = getHorizontalAxesMargins(horizontalElements, (function(axis) { return axis.estimateMargins(panesCanvases[axis.pane]) })); panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins); var drawAxesAndSetCanvases = function(isHorizontal) { var axes = isHorizontal ? horizontalAxes : verticalAxes; var condition = (isHorizontal ? rotated : !rotated) && synchronizeMultiAxes; drawAxesWithTicks(axes, condition, panesCanvases, panesBorderOptions); if (isHorizontal) { hAxesMargins = getHorizontalAxesMargins(horizontalElements, getAxisMargins) } else { vAxesMargins = getVerticalAxesMargins(verticalElements) } panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins) }; drawAxesAndSetCanvases(false); drawAxesAndSetCanvases(true); if (!that._changesApplying && that._estimateTickIntervals(verticalAxes, panesCanvases)) { drawAxesAndSetCanvases(false) } var oldTitlesWidth = calculateTitlesWidth(verticalAxes); var visibleSeries = that._getVisibleSeries(); var pointsToAnimation = that._getPointsToAnimation(visibleSeries); var axesIsAnimated = function(drawOptions, pointsToAnimation) { var pointsCount = pointsToAnimation.reduce((function(sum, count) { return sum + count }), 0) / pointsToAnimation.length; return drawOptions.animate && pointsCount <= drawOptions.animationPointsLimit }(drawOptions, pointsToAnimation); performActionOnAxes(allElements, "updateSize", panesCanvases, axesIsAnimated); horizontalElements.forEach(shiftAxis("top", "bottom")); verticalElements.forEach(shiftAxis("left", "right")); that._renderScaleBreaks(); that.panes.forEach((function(pane) { (0, _extend2.extend)(pane.canvas, panesCanvases[pane.name]) })); that._valueAxes.forEach((function(axis) { axis.setInitRange() })); verticalAxes.forEach((function(axis, i) { var _axis$hasWrap; if (null !== (_axis$hasWrap = axis.hasWrap) && void 0 !== _axis$hasWrap && _axis$hasWrap.call(axis)) { var title = axis.getTitle(); var newTitleWidth = title ? title.bBox.width : 0; var offset = newTitleWidth - oldTitlesWidth[i]; if ("right" === axis.getOptions().position) { vAxesMargins.right += offset } else { vAxesMargins.left += offset; that.panes.forEach((function(_ref2) { var name = _ref2.name; return vAxesMargins.panes[name].left += offset })) } panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins); performActionOnAxes(allElements, "updateSize", panesCanvases, false, false); oldTitlesWidth = calculateTitlesWidth(verticalAxes) } })); if (verticalAxes.some((function(v) { return v.customPositionIsAvailable() && v.getCustomPosition() !== v._axisPosition }))) { axesIsAnimated && that._resetAxesAnimation(verticalAxesFirstDrawing, false); performActionOnAxes(verticalAxes, "updateSize", panesCanvases, axesIsAnimated) } horizontalAxes.forEach((function(a) { return a.resolveOverlappingForCustomPositioning(verticalAxes) })); verticalAxes.forEach((function(a) { return a.resolveOverlappingForCustomPositioning(horizontalAxes) })); return cleanPanesCanvases }, _getExtraTemplatesItems: function() { var allAxes = (this._argumentAxes || []).concat(this._valueAxes || []); var elements = this._collectTemplatesFromItems(allAxes); return { items: elements.items, groups: elements.groups, launchRequest: function() { allAxes.forEach((function(a) { a.setRenderedState(true) })) }, doneRequest: function() { allAxes.forEach((function(a) { a.setRenderedState(false) })) } } }, _estimateTickIntervals: function(axes, canvases) { return axes.some((function(axis) { return axis.estimateTickInterval(canvases[axis.pane]) })) }, checkForMoreSpaceForPanesCanvas: function() { var rotated = this._isRotated(); var panesAreCustomSized = this.panes.filter((function(p) { return p.unit })).length === this.panes.length; var needSpace = false; if (panesAreCustomSized) { var needHorizontalSpace = 0; var needVerticalSpace = 0; if (rotated) { var argAxisRightMargin = this.getArgumentAxis().getMargins().right; var rightPanesIndent = Math.min.apply(Math, this.panes.map((function(p) { return p.canvas.right }))); needHorizontalSpace = this._canvas.right + argAxisRightMargin - rightPanesIndent } else { var argAxisBottomMargin = this.getArgumentAxis().getMargins().bottom; var bottomPanesIndent = Math.min.apply(Math, this.panes.map((function(p) { return p.canvas.bottom }))); needVerticalSpace = this._canvas.bottom + argAxisBottomMargin - bottomPanesIndent } needSpace = needHorizontalSpace > 0 || needVerticalSpace > 0 ? { width: needHorizontalSpace, height: needVerticalSpace } : false; if (0 !== needVerticalSpace) { var realSize = this.getSize(); var customSize = this.option("size"); var container = this._$element[0]; var containerHasStyledHeight = !!parseInt(container.style.height) || 0 !== this._containerInitialHeight; if (!rotated && !(customSize && customSize.height) && !containerHasStyledHeight) { this._forceResize(realSize.width, realSize.height + needVerticalSpace); needSpace = false } } } else { needSpace = this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(), rotated, (function(pane) { return { width: rotated && !!pane.unit, height: !rotated && !!pane.unit } })) } return needSpace }, _forceResize: function(width, height) { this._renderer.resize(width, height); this._updateSize(); this._setContentSize(); this._preserveOriginalCanvas(); this._updateCanvasClipRect(this._canvas) }, _shrinkAxes: function(sizeShortage, panesCanvases) { if (!sizeShortage || !panesCanvases) { return } this._renderer.stopAllAnimations(true); var rotated = this._isRotated(); var scrollBar = this._scrollBar ? [this._scrollBar] : []; var extendedArgAxes = this._isArgumentAxisBeforeScrollBar() ? this._argumentAxes.concat(scrollBar) : scrollBar.concat(this._argumentAxes); var verticalAxes = rotated ? extendedArgAxes : this._valueAxes; var horizontalAxes = rotated ? this._valueAxes : extendedArgAxes; var allAxes = verticalAxes.concat(horizontalAxes); if (sizeShortage.width || sizeShortage.height) { checkUsedSpace(sizeShortage, "height", horizontalAxes, getHorizontalAxesMargins); checkUsedSpace(sizeShortage, "width", verticalAxes, getVerticalAxesMargins); performActionOnAxes(allAxes, "updateSize", panesCanvases); var paneSizes = this.panes.reduce((function(sizes, pane) { sizes[pane.name] = { height: pane.height, unit: pane.unit }; return sizes }), {}); panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, getVerticalAxesMargins(verticalAxes), getHorizontalAxesMargins(horizontalAxes, getAxisMargins)); performActionOnAxes(allAxes, "updateSize", panesCanvases); horizontalAxes.forEach(shiftAxis("top", "bottom")); verticalAxes.forEach(shiftAxis("left", "right")); this.panes.forEach((function(pane) { return (0, _extend2.extend)(pane.canvas, panesCanvases[pane.name]) })) } }, _isArgumentAxisBeforeScrollBar: function() { var argumentAxis = this.getArgumentAxis(); if (this._scrollBar) { var _argumentAxis$getOpti; var argAxisPosition = argumentAxis.getResolvedBoundaryPosition(); var argAxisLabelPosition = null === (_argumentAxis$getOpti = argumentAxis.getOptions().label) || void 0 === _argumentAxis$getOpti ? void 0 : _argumentAxis$getOpti.position; var scrollBarPosition = this._scrollBar.getOptions().position; return argumentAxis.hasNonBoundaryPosition() || scrollBarPosition === argAxisPosition && argAxisLabelPosition !== scrollBarPosition } return false }, _getPanesParameters: function() { var panes = this.panes; var i; var params = []; for (i = 0; i < panes.length; i++) { if (this._getPaneBorderVisibility(i)) { params.push({ coords: panes[i].borderCoords, clipRect: this._panesClipRects.fixed[i] }) } } return params }, _createCrosshairCursor: function() { var options = this._themeManager.getOptions("crosshair") || {}; var argumentAxis = this.getArgumentAxis(); var axes = !this._isRotated() ? [ [argumentAxis], this._valueAxes ] : [this._valueAxes, [argumentAxis]]; var parameters = { canvas: this._getCommonCanvas(), panes: this._getPanesParameters(), axes: axes }; if (!options || !options.enabled) { return } if (!this._crosshair) { this._crosshair = new _crosshair.Crosshair(this._renderer, options, parameters, this._crosshairCursorGroup) } else { this._crosshair.update(options, parameters) } this._crosshair.render() }, _getCommonCanvas: function() { var i; var canvas; var commonCanvas; var panes = this.panes; for (i = 0; i < panes.length; i++) { canvas = panes[i].canvas; if (!commonCanvas) { commonCanvas = (0, _extend2.extend)({}, canvas) } else { commonCanvas.right = canvas.right; commonCanvas.bottom = canvas.bottom } } return commonCanvas }, _createPanesBackground: function() { var defaultBackgroundColor = this._themeManager.getOptions("commonPaneSettings").backgroundColor; var backgroundColor; var renderer = this._renderer; var rect; var i; var rects = []; this._panesBackgroundGroup.clear(); for (i = 0; i < this.panes.length; i++) { backgroundColor = this.panes[i].backgroundColor || defaultBackgroundColor; if (!backgroundColor || "none" === backgroundColor) { rects.push(null); continue } rect = renderer.rect(0, 0, 0, 0).attr({ fill: (0, _utils2.extractColor)(backgroundColor), "stroke-width": 0 }).append(this._panesBackgroundGroup); rects.push(rect) } this.panesBackground = rects }, _fillPanesBackground: function() { var that = this; var bc; (0, _iterator.each)(that.panes, (function(i, pane) { bc = pane.borderCoords; if (null !== that.panesBackground[i]) { that.panesBackground[i].attr({ x: bc.left, y: bc.top, width: bc.width, height: bc.height }) } })) }, _calcPaneBorderCoords: function(pane) { var canvas = pane.canvas; var bc = pane.borderCoords = pane.borderCoords || {}; bc.left = canvas.left; bc.top = canvas.top; bc.right = canvas.width - canvas.right; bc.bottom = canvas.height - canvas.bottom; bc.width = Math.max(bc.right - bc.left, 0); bc.height = Math.max(bc.bottom - bc.top, 0) }, _drawPanesBorders: function(panesBorderOptions) { var that = this; var rotated = that._isRotated(); that._panesBorderGroup.linkRemove().clear(); (0, _iterator.each)(that.panes, (function(i, pane) { var borderOptions = panesBorderOptions[pane.name]; var attr = { fill: "none", stroke: borderOptions.color, "stroke-opacity": borderOptions.opacity, "stroke-width": borderOptions.width, dashStyle: borderOptions.dashStyle, "stroke-linecap": "square" }; that._calcPaneBorderCoords(pane, rotated); if (!borderOptions.visible) { return } var bc = pane.borderCoords; var segmentRectParams = (0, _utils.prepareSegmentRectPoints)(bc.left, bc.top, bc.width, bc.height, borderOptions); that._renderer.path(segmentRectParams.points, segmentRectParams.pathType).attr(attr).append(that._panesBorderGroup) })); that._panesBorderGroup.linkAppend() }, _createClipRect: function(clipArray, index, left, top, width, height) { var clipRect = clipArray[index]; if (!clipRect) { clipRect = this._renderer.clipRect(left, top, width, height); clipArray[index] = clipRect } else { clipRect.attr({ x: left, y: top, width: width, height: height }) } }, _createClipRectsForPanes: function() { var that = this; var canvas = that._canvas; (0, _iterator.each)(that.panes, (function(i, pane) { var needWideClipRect = false; var bc = pane.borderCoords; var left = bc.left; var top = bc.top; var width = bc.width; var height = bc.height; var panesClipRects = that._panesClipRects; that._createClipRect(panesClipRects.fixed, i, left, top, width, height); that._createClipRect(panesClipRects.base, i, left, top, width, height); (0, _iterator.each)(that.series, (function(_, series) { if (series.pane === pane.name && (series.isFinancialSeries() || series.areErrorBarsVisible())) { needWideClipRect = true } })); if (needWideClipRect) { if (that._isRotated()) { top = 0; height = canvas.height } else { left = 0; width = canvas.width } that._createClipRect(panesClipRects.wide, i, left, top, width, height) } else { panesClipRects.wide[i] = null } })) }, _applyClipRectsForAxes: function() { var axes = this._getAllAxes(); var chartCanvasClipRectID = this._getCanvasClipRectID(); for (var i = 0; i < axes.length; i++) { var elementsClipRectID = this._getElementsClipRectID(axes[i].pane); axes[i].applyClipRects(elementsClipRectID, chartCanvasClipRectID) } }, _getPaneBorderVisibility: function(paneIndex) { var commonPaneBorderVisible = this._themeManager.getOptions("commonPaneSettings").border.visible; var pane = this.panes[paneIndex] || {}; var paneBorder = pane.border || {}; return "visible" in paneBorder ? paneBorder.visible : commonPaneBorderVisible }, _getCanvasForPane: function(paneName) { var panes = this.panes; var panesNumber = panes.length; var i; for (i = 0; i < panesNumber; i++) { if (panes[i].name === paneName) { return panes[i].canvas } } }, _getTrackerSettings: function() { var themeManager = this._themeManager; return (0, _extend2.extend)(this.callBase(), { chart: this, rotated: this._isRotated(), crosshair: this._getCrosshairOptions().enabled ? this._crosshair : null, stickyHovering: themeManager.getOptions("stickyHovering") }) }, _resolveLabelOverlappingStack: function() { var that = this; var isRotated = that._isRotated(); var shiftDirection = isRotated ? function(box, length) { return { x: box.x - length, y: box.y } } : function(box, length) { return { x: box.x, y: box.y - length } }; (0, _iterator.each)(that._getStackPoints(), (function(_, stacks) { (0, _iterator.each)(stacks, (function(_, points) { var isInverted = points[0].series.getValueAxis().getOptions().inverted; _base_chart.overlapping.resolveLabelOverlappingInOneDirection(points, that._getCommonCanvas(), isRotated, isInverted, shiftDirection, (function(a, b) { var coordPosition = isRotated ? 1 : 0; var figureCenter1 = a.labels[0].getFigureCenter()[coordPosition]; var figureCenter12 = b.labels[0].getFigureCenter()[coordPosition]; if (figureCenter1 - figureCenter12 === 0) { return (a.value() - b.value()) * (a.labels[0].getPoint().series.getValueAxis().getTranslator().isInverted() ? -1 : 1) } return 0 })) })) })) }, _getStackPoints: function() { var stackPoints = {}; var visibleSeries = this._getVisibleSeries(); (0, _iterator.each)(visibleSeries, (function(_, singleSeries) { var points = singleSeries.getPoints(); var stackName = singleSeries.getStackName() || null; (0, _iterator.each)(points, (function(_, point) { var argument = point.argument; if (!stackPoints[argument]) { stackPoints[argument] = {} } if (!stackPoints[argument][stackName]) { stackPoints[argument][stackName] = [] } stackPoints[argument][stackName].push(point) })) })); return stackPoints }, _getCrosshairOptions: function() { return this._getOption("crosshair") }, zoomArgument: function(min, max) { if (!this._initialized || !(0, _type.isDefined)(min) && !(0, _type.isDefined)(max)) { return } this.getArgumentAxis().visualRange([min, max]) }, resetVisualRange: function() { var that = this; var axes = that._argumentAxes; var nonVirtualArgumentAxis = that.getArgumentAxis(); axes.forEach((function(axis) { axis.resetVisualRange(nonVirtualArgumentAxis !== axis); that._applyCustomVisualRangeOption(axis) })); that.callBase() }, getVisibleArgumentBounds: function() { var translator = this._argumentAxes[0].getTranslator(); var range = translator.getBusinessRange(); var isDiscrete = "discrete" === range.axisType; var categories = range.categories; return { minVisible: isDiscrete ? range.minVisible || categories[0] : range.minVisible, maxVisible: isDiscrete ? range.maxVisible || categories[categories.length - 1] : range.maxVisible } }, _change_FULL_RENDER: function() { this.callBase(); if (this._changes.has("VISUAL_RANGE")) { this._raiseZoomEndHandlers() } }, _getAxesForScaling: function() { return [this.getArgumentAxis()].concat(this._valueAxes) }, _applyVisualRangeByVirtualAxes: function(axis, range) { if (axis.isArgumentAxis) { if (axis !== this.getArgumentAxis()) { return true } this._argumentAxes.filter((function(a) { return a !== axis })).forEach((function(a) { return a.visualRange(range, { start: true, end: true }) })) } return false }, _raiseZoomEndHandlers: function() { this._argumentAxes.forEach((function(axis) { return axis.handleZoomEnd() })); this.callBase() }, _setOptionsByReference: function() { this.callBase(); (0, _extend2.extend)(this._optionsByReference, { "argumentAxis.visualRange": true }) }, option: function() { var option = this.callBase.apply(this, arguments); var valueAxis = this._options.silent("valueAxis"); if ("array" === (0, _type.type)(valueAxis)) { for (var i = 0; i < valueAxis.length; i++) { var optionPath = "valueAxis[".concat(i, "].visualRange"); this._optionsByReference[optionPath] = true } } return option }, _notifyVisualRange: function() { var argAxis = this._argumentAxes[0]; var argumentVisualRange = (0, _utils2.convertVisualRangeObject)(argAxis.visualRange(), !_isArray(this.option("argumentAxis.visualRange"))); if (!argAxis.skipEventRising || !(0, _utils2.rangesAreEqual)(argumentVisualRange, this.option("argumentAxis.visualRange"))) { this.option("argumentAxis.visualRange", argumentVisualRange) } else { argAxis.skipEventRising = null } this.callBase() } }); dxChart.addPlugin(_shutter_zoom.default); dxChart.addPlugin(_zoom_and_pan.default); dxChart.addPlugin(_annotations.plugins.core); dxChart.addPlugin(_annotations.plugins.chart); (0, _component_registrator.default)("dxChart", dxChart); var _default = dxChart; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 42602: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/chart_components/advanced_chart.js ***! \************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.AdvancedChart = void 0; var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _range = __webpack_require__( /*! ../translators/range */ 21177); var _base_axis = __webpack_require__( /*! ../axes/base_axis */ 41278); var _series_family = __webpack_require__( /*! ../core/series_family */ 1939); var _base_chart = __webpack_require__( /*! ./base_chart */ 33224); var _range_data_calculator = (obj = __webpack_require__( /*! ../series/helpers/range_data_calculator */ 63407), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _utils = __webpack_require__( /*! ../core/utils */ 19157); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var _isArray = Array.isArray; function prepareAxis(axisOptions) { return _isArray(axisOptions) ? 0 === axisOptions.length ? [{}] : axisOptions : [axisOptions] } function setAxisVisualRangeByOption(arg, axis, isDirectOption, index) { var options; var visualRange; if (isDirectOption) { visualRange = arg.value; options = { skipEventRising: true }; var wrappedVisualRange = wrapVisualRange(arg.fullName, visualRange); if (wrappedVisualRange) { options = { allowPartialUpdate: true }; visualRange = wrappedVisualRange } } else { visualRange = ((0, _type.isDefined)(index) ? arg.value[index] : arg.value).visualRange } axis.visualRange(visualRange, options) } function wrapVisualRange(fullName, value) { var pathElements = fullName.split("."); var destElem = pathElements[pathElements.length - 1]; if ("endValue" === destElem || "startValue" === destElem) { return _defineProperty({}, destElem, value) } } var AdvancedChart = _base_chart.BaseChart.inherit({ _fontFields: ["commonAxisSettings.label.font", "commonAxisSettings.title.font"], _partialOptionChangesMap: { visualRange: "VISUAL_RANGE", _customVisualRange: "VISUAL_RANGE", strips: "REFRESH_AXES", constantLines: "REFRESH_AXES" }, _partialOptionChangesPath: { argumentAxis: ["strips", "constantLines", "visualRange", "_customVisualRange"], valueAxis: ["strips", "constantLines", "visualRange", "_customVisualRange"] }, _initCore: function() { this._panesClipRects = {}; this.callBase() }, _disposeCore: function() { var disposeObjectsInArray = this._disposeObjectsInArray; var panesClipRects = this._panesClipRects; this.callBase(); disposeObjectsInArray.call(panesClipRects, "fixed"); disposeObjectsInArray.call(panesClipRects, "base"); disposeObjectsInArray.call(panesClipRects, "wide"); this._panesClipRects = null; this._labelsAxesGroup.linkOff(); this._labelsAxesGroup.dispose(); this._labelsAxesGroup = null }, _dispose: function() { var disposeObjectsInArray = this._disposeObjectsInArray; this.callBase(); this.panes = null; if (this._legend) { this._legend.dispose(); this._legend = null } disposeObjectsInArray.call(this, "panesBackground"); disposeObjectsInArray.call(this, "seriesFamilies"); this._disposeAxes() }, _createPanes: function() { this._cleanPanesClipRects("fixed"); this._cleanPanesClipRects("base"); this._cleanPanesClipRects("wide") }, _cleanPanesClipRects: function(clipArrayName) { var clipArray = this._panesClipRects[clipArrayName]; (clipArray || []).forEach((function(clipRect) { return clipRect && clipRect.dispose() })); this._panesClipRects[clipArrayName] = [] }, _getElementsClipRectID: function(paneName) { var clipShape = this._panesClipRects.fixed[this._getPaneIndex(paneName)]; return clipShape && clipShape.id }, _getPaneIndex: function(paneName) { var paneIndex; var name = paneName || "default"; (0, _iterator.each)(this.panes, (function(index, pane) { if (pane.name === name) { paneIndex = index; return false } })); return paneIndex }, _updateSize: function() { this.callBase(); (0, _utils.setCanvasValues)(this._canvas) }, _reinitAxes: function() { this.panes = this._createPanes(); this._populateAxes(); this._axesReinitialized = true }, _populateAxes: function() { var that = this; var panes = that.panes; var rotated = that._isRotated(); var argumentAxesOptions = prepareAxis(that.option("argumentAxis") || {})[0]; var valueAxisOption = that.option("valueAxis"); var valueAxesOptions = prepareAxis(valueAxisOption || {}); var argumentAxesPopulatedOptions; var valueAxesPopulatedOptions = []; var axisNames = []; var valueAxesCounter = 0; var paneWithNonVirtualAxis; var crosshairMargins = that._getCrosshairMargins(); if (rotated) { paneWithNonVirtualAxis = "right" === argumentAxesOptions.position ? panes[panes.length - 1].name : panes[0].name } else { paneWithNonVirtualAxis = "top" === argumentAxesOptions.position ? panes[0].name : panes[panes.length - 1].name } argumentAxesPopulatedOptions = (0, _utils.map)(panes, (function(pane) { var virtual = pane.name !== paneWithNonVirtualAxis; return that._populateAxesOptions("argumentAxis", argumentAxesOptions, { pane: pane.name, name: null, optionPath: "argumentAxis", crosshairMargin: rotated ? crosshairMargins.x : crosshairMargins.y }, rotated, virtual) })); (0, _iterator.each)(valueAxesOptions, (function(priority, axisOptions) { var _axisOptions$panes; var axisPanes = []; var name = axisOptions.name; if (name && axisNames.includes(name)) { that._incidentOccurred("E2102"); return } name && axisNames.push(name); if (axisOptions.pane) { axisPanes.push(axisOptions.pane) } if (null !== (_axisOptions$panes = axisOptions.panes) && void 0 !== _axisOptions$panes && _axisOptions$panes.length) { axisPanes = axisPanes.concat(axisOptions.panes.slice(0)) } axisPanes = (0, _utils.unique)(axisPanes); if (!axisPanes.length) { axisPanes.push(void 0) }(0, _iterator.each)(axisPanes, (function(_, pane) { var optionPath = _isArray(valueAxisOption) ? "valueAxis[".concat(priority, "]") : "valueAxis"; valueAxesPopulatedOptions.push(that._populateAxesOptions("valueAxis", axisOptions, { name: name || "defaultAxisName" + valueAxesCounter++, pane: pane, priority: priority, optionPath: optionPath, crosshairMargin: rotated ? crosshairMargins.y : crosshairMargins.x }, rotated)) })) })); that._redesignAxes(argumentAxesPopulatedOptions, true, paneWithNonVirtualAxis); that._redesignAxes(valueAxesPopulatedOptions, false) }, _redesignAxes: function(options, isArgumentAxes, paneWithNonVirtualAxis) { var that = this; var axesBasis = []; var axes = isArgumentAxes ? that._argumentAxes : that._valueAxes; (0, _iterator.each)(options, (function(_, opt) { var curAxes = axes && axes.filter((function(a) { return a.name === opt.name && (!(0, _type.isDefined)(opt.pane) && that.panes.some((function(p) { return p.name === a.pane })) || a.pane === opt.pane) })); if (curAxes && curAxes.length > 0) { (0, _iterator.each)(curAxes, (function(_, axis) { var axisTypes = function(groupsData, axis, isArgumentAxes) { if (isArgumentAxes) { return { argumentAxisType: groupsData.argumentAxisType, argumentType: groupsData.argumentType } } var _groupsData$groups$fi = groupsData.groups.filter((function(g) { return g.valueAxis === axis }))[0], valueAxisType = _groupsData$groups$fi.valueAxisType, valueType = _groupsData$groups$fi.valueType; return { valueAxisType: valueAxisType, valueType: valueType } }(that._groupsData, axis, isArgumentAxes); axis.updateOptions(opt); if (isArgumentAxes) { axis.setTypes(axisTypes.argumentAxisType, axisTypes.argumentType, "argumentType") } else { axis.setTypes(axisTypes.valueAxisType, axisTypes.valueType, "valueType") } axis.validate(); axesBasis.push({ axis: axis }) })) } else { axesBasis.push({ options: opt }) } })); if (axes) { (0, _iterator.reverseEach)(axes, (function(index, axis) { if (!axesBasis.some((function(basis) { return basis.axis && basis.axis === axis }))) { that._disposeAxis(index, isArgumentAxes) } })) } else if (isArgumentAxes) { axes = that._argumentAxes = [] } else { axes = that._valueAxes = [] }(0, _iterator.each)(axesBasis, (function(_, basis) { var axis = basis.axis; if (basis.axis && isArgumentAxes) { basis.axis.isVirtual = basis.axis.pane !== paneWithNonVirtualAxis } else if (basis.options) { axis = that._createAxis(isArgumentAxes, basis.options, isArgumentAxes ? basis.options.pane !== paneWithNonVirtualAxis : void 0); axes.push(axis) } axis.applyVisualRangeSetter(that._getVisualRangeSetter()) })) }, _disposeAxis: function(index, isArgumentAxis) { var axes = isArgumentAxis ? this._argumentAxes : this._valueAxes; var axis = axes[index]; if (!axis) { return } axis.dispose(); axes.splice(index, 1) }, _disposeAxes: function() { var disposeObjectsInArray = this._disposeObjectsInArray; disposeObjectsInArray.call(this, "_argumentAxes"); disposeObjectsInArray.call(this, "_valueAxes") }, _appendAdditionalSeriesGroups: function() { this._crosshairCursorGroup.linkAppend(); this._scrollBar && this._scrollBarGroup.linkAppend() }, _getLegendTargets: function() { var _this = this; return (this.series || []).map((function(s) { var item = _this._getLegendOptions(s); item.legendData.series = s; if (!s.getOptions().showInLegend) { item.legendData.visible = false } return item })) }, _legendItemTextField: "name", _seriesPopulatedHandlerCore: function() { this._processSeriesFamilies(); this._processValueAxisFormat() }, _renderTrackers: function() { var i; for (i = 0; i < this.series.length; ++i) { this.series[i].drawTrackers() } }, _specialProcessSeries: function() { this._processSeriesFamilies() }, _processSeriesFamilies: function() { var _that$seriesFamilies; var that = this; var types = []; var families = []; var paneSeries; var themeManager = that._themeManager; var negativesAsZeroes = themeManager.getOptions("negativesAsZeroes"); var negativesAsZeros = themeManager.getOptions("negativesAsZeros"); var familyOptions = { minBubbleSize: themeManager.getOptions("minBubbleSize"), maxBubbleSize: themeManager.getOptions("maxBubbleSize"), barGroupPadding: themeManager.getOptions("barGroupPadding"), barGroupWidth: themeManager.getOptions("barGroupWidth"), negativesAsZeroes: (0, _type.isDefined)(negativesAsZeroes) ? negativesAsZeroes : negativesAsZeros }; if (null !== (_that$seriesFamilies = that.seriesFamilies) && void 0 !== _that$seriesFamilies && _that$seriesFamilies.length) { (0, _iterator.each)(that.seriesFamilies, (function(_, family) { family.updateOptions(familyOptions); family.adjustSeriesValues() })); return }(0, _iterator.each)(that.series, (function(_, item) { if (!types.includes(item.type)) { types.push(item.type) } })); (0, _iterator.each)(that._getLayoutTargets(), (function(_, pane) { paneSeries = that._getSeriesForPane(pane.name); (0, _iterator.each)(types, (function(_, type) { var family = new _series_family.SeriesFamily({ type: type, pane: pane.name, minBubbleSize: familyOptions.minBubbleSize, maxBubbleSize: familyOptions.maxBubbleSize, barGroupPadding: familyOptions.barGroupPadding, barGroupWidth: familyOptions.barGroupWidth, negativesAsZeroes: familyOptions.negativesAsZeroes, rotated: that._isRotated() }); family.add(paneSeries); family.adjustSeriesValues(); families.push(family) })) })); that.seriesFamilies = families }, _updateSeriesDimensions: function() { var i; var seriesFamilies = this.seriesFamilies || []; for (i = 0; i < seriesFamilies.length; i++) { var family = seriesFamilies[i]; family.updateSeriesValues(); family.adjustSeriesDimensions() } }, _getLegendCallBack: function(series) { return this._legend && this._legend.getActionCallback(series) }, _appendAxesGroups: function() { this._stripsGroup.linkAppend(); this._gridGroup.linkAppend(); this._axesGroup.linkAppend(); this._labelsAxesGroup.linkAppend(); this._constantLinesGroup.linkAppend(); this._stripLabelAxesGroup.linkAppend(); this._scaleBreaksGroup.linkAppend() }, _populateMarginOptions: function() { var that = this; var bubbleSize = (size = that.getSize(), panesCount = that.panes.length, maxSize = that._themeManager.getOptions("maxBubbleSize"), rotated = that._isRotated(), width = rotated ? size.width / panesCount : size.width, height = rotated ? size.height : size.height / panesCount, Math.min(width, height) * maxSize); var size, panesCount, maxSize, rotated, width, height; var argumentMarginOptions = {}; that._valueAxes.forEach((function(valueAxis) { var groupSeries = that.series.filter((function(series) { return series.getValueAxis() === valueAxis })); var marginOptions = {}; groupSeries.forEach((function(series) { if (series.isVisible()) { var seriesMarginOptions = function(opt, bubbleSize) { if (opt.processBubbleSize) { opt.size = bubbleSize } return opt }(series.getMarginOptions(), bubbleSize); marginOptions = (0, _utils.mergeMarginOptions)(marginOptions, seriesMarginOptions); argumentMarginOptions = (0, _utils.mergeMarginOptions)(argumentMarginOptions, seriesMarginOptions) } })); valueAxis.setMarginOptions(marginOptions) })); that._argumentAxes.forEach((function(a) { return a.setMarginOptions(argumentMarginOptions) })) }, _populateBusinessRange: function(updatedAxis, keepRange) { var that = this; var rotated = that._isRotated(); var series = that._getVisibleSeries(); var argRanges = {}; var commonArgRange = new _range.Range({ rotated: !!rotated }); var getPaneName = function(axis) { return axis.pane || "default" }; that.panes.forEach((function(p) { return argRanges[p.name] = new _range.Range({ rotated: !!rotated }) })); that._valueAxes.forEach((function(valueAxis) { var groupRange = new _range.Range({ rotated: !!rotated, pane: valueAxis.pane, axis: valueAxis.name }); var groupSeries = series.filter((function(series) { return series.getValueAxis() === valueAxis })); groupSeries.forEach((function(series) { var seriesRange = series.getRangeData(); groupRange.addRange(seriesRange.val); argRanges[getPaneName(valueAxis)].addRange(seriesRange.arg) })); if (!updatedAxis || updatedAxis && groupSeries.length && valueAxis === updatedAxis) { valueAxis.setGroupSeries(groupSeries); valueAxis.setBusinessRange(groupRange, that._axesReinitialized || keepRange, that._argumentAxes[0]._lastVisualRangeUpdateMode) } })); if (!updatedAxis || updatedAxis && series.length) { Object.keys(argRanges).forEach((function(p) { return commonArgRange.addRange(argRanges[p]) })); var commonInterval = commonArgRange.interval; that._argumentAxes.forEach((function(a) { var _argRanges$getPaneNam; var currentInterval = null !== (_argRanges$getPaneNam = argRanges[getPaneName(a)].interval) && void 0 !== _argRanges$getPaneNam ? _argRanges$getPaneNam : commonInterval; a.setBusinessRange(new _range.Range(_extends({}, commonArgRange, { interval: currentInterval })), that._axesReinitialized, void 0, that._groupsData.categories) })) } that._populateMarginOptions() }, getArgumentAxis: function() { return (this._argumentAxes || []).filter((function(a) { return !a.isVirtual }))[0] }, getValueAxis: function(name) { var _this2 = this; return (this._valueAxes || []).filter((0, _type.isDefined)(name) ? function(a) { return a.name === name } : function(a) { return a.pane === _this2.defaultPane })[0] }, _getGroupsData: function() { var that = this; var groups = []; that._valueAxes.forEach((function(axis) { groups.push({ series: that.series.filter((function(series) { return series.getValueAxis() === axis })), valueAxis: axis, valueOptions: axis.getOptions() }) })); return { groups: groups, argumentAxes: that._argumentAxes, argumentOptions: that._argumentAxes[0].getOptions() } }, _groupSeries: function() { this._correctValueAxes(false); this._groupsData = this._getGroupsData() }, _processValueAxisFormat: function() { var axesWithFullStackedFormat = []; this.series.forEach((function(series) { var axis = series.getValueAxis(); if (series.isFullStackedSeries()) { axis.setPercentLabelFormat(); axesWithFullStackedFormat.push(axis) } })); this._valueAxes.forEach((function(axis) { if (-1 === axesWithFullStackedFormat.indexOf(axis)) { axis.resetAutoLabelFormat() } })) }, _populateAxesOptions: function(typeSelector, userOptions, axisOptions, rotated, virtual) { var preparedUserOptions = this._prepareStripsAndConstantLines(typeSelector, userOptions, rotated); var options = (0, _extend2.extend)(true, {}, preparedUserOptions, axisOptions, this._prepareAxisOptions(typeSelector, preparedUserOptions, rotated)); if (virtual) { options.visible = options.tick.visible = options.minorTick.visible = options.label.visible = false; options.title = {} } return options }, _getValFilter: function(series) { return _range_data_calculator.default.getViewPortFilter(series.getValueAxis().visualRange() || {}) }, _createAxis: function(isArgumentAxes, options, virtual) { var that = this; var typeSelector = isArgumentAxes ? "argumentAxis" : "valueAxis"; var renderingSettings = (0, _extend2.extend)({ renderer: that._renderer, incidentOccurred: that._incidentOccurred, eventTrigger: that._eventTrigger, axisClass: isArgumentAxes ? "arg" : "val", widgetClass: "dxc", stripsGroup: that._stripsGroup, stripLabelAxesGroup: that._stripLabelAxesGroup, constantLinesGroup: that._constantLinesGroup, scaleBreaksGroup: that._scaleBreaksGroup, axesContainerGroup: that._axesGroup, labelsAxesGroup: that._labelsAxesGroup, gridGroup: that._gridGroup, isArgumentAxis: isArgumentAxes, getTemplate: function(template) { return that._getTemplate(template) } }, that._getAxisRenderingOptions(typeSelector)); var axis = new _base_axis.Axis(renderingSettings); axis.updateOptions(options); axis.isVirtual = virtual; return axis }, _applyVisualRangeByVirtualAxes: function(axis, range) { return false }, _applyCustomVisualRangeOption: function(axis, range) { if (axis.getOptions().optionPath) { this._parseVisualRangeOption("".concat(axis.getOptions().optionPath, ".visualRange"), range) } }, _getVisualRangeSetter: function() { var chart = this; return function(axis, _ref2) { var skipEventRising = _ref2.skipEventRising, range = _ref2.range; chart._applyCustomVisualRangeOption(axis, range); axis.setCustomVisualRange(range); axis.skipEventRising = skipEventRising; if (!chart._applyVisualRangeByVirtualAxes(axis, range)) { if (chart._applyingChanges) { chart._change_VISUAL_RANGE() } else { chart._requestChange(["VISUAL_RANGE"]) } } } }, _getTrackerSettings: function() { return (0, _extend2.extend)(this.callBase(), { argumentAxis: this.getArgumentAxis() }) }, _prepareStripsAndConstantLines: function(typeSelector, userOptions, rotated) { userOptions = this._themeManager.getOptions(typeSelector, userOptions, rotated); if (userOptions.strips) { (0, _iterator.each)(userOptions.strips, (function(i) { userOptions.strips[i] = (0, _extend2.extend)(true, {}, userOptions.stripStyle, userOptions.strips[i]) })) } if (userOptions.constantLines) { (0, _iterator.each)(userOptions.constantLines, (function(i, line) { userOptions.constantLines[i] = (0, _extend2.extend)(true, {}, userOptions.constantLineStyle, line) })) } return userOptions }, refresh: function() { this._disposeAxes(); this.callBase() }, _layoutAxes: function(drawAxes) { drawAxes(); var needSpace = this.checkForMoreSpaceForPanesCanvas(); if (needSpace) { var rect = this._rect.slice(); var size = this._layout.backward(rect, rect, [needSpace.width, needSpace.height]); needSpace.width = Math.max(0, size[0]); needSpace.height = Math.max(0, size[1]); this._canvas = this._createCanvasFromRect(rect); drawAxes(needSpace) } }, checkForMoreSpaceForPanesCanvas: function() { return this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(), this._isRotated()) }, _parseVisualRangeOption: function(fullName, value) { var that = this; var name = fullName.split(/[.[]/)[0]; var index = fullName.match(/\d+/g); index = (0, _type.isDefined)(index) ? parseInt(index[0]) : index; if (fullName.indexOf("visualRange") > 0) { if ("object" !== (0, _type.type)(value)) { value = wrapVisualRange(fullName, value) || value } that._setCustomVisualRange(name, index, value) } else if (("object" === (0, _type.type)(value) || _isArray(value)) && name.indexOf("Axis") > 0 && JSON.stringify(value).indexOf("visualRange") > 0) { if ((0, _type.isDefined)(value.visualRange)) { that._setCustomVisualRange(name, index, value.visualRange) } else if (_isArray(value)) { value.forEach((function(a, i) { return (0, _type.isDefined)(a.visualRange) && that._setCustomVisualRange(name, i, a.visualRange) })) } } }, _setCustomVisualRange: function(axesName, index, value) { var options = this._options.silent(axesName); if (!options) { return } if (!(0, _type.isDefined)(index)) { options._customVisualRange = value } else { options[index]._customVisualRange = value } this._axesReinitialized = true }, _raiseZoomEndHandlers: function() { this._valueAxes.forEach((function(axis) { return axis.handleZoomEnd() })) }, _setOptionsByReference: function() { this.callBase(); (0, _extend2.extend)(this._optionsByReference, { "valueAxis.visualRange": true }) }, _notifyOptionChanged: function(option, value, previousValue) { this.callBase.apply(this, arguments); if (!this._optionChangedLocker) { this._parseVisualRangeOption(option, value) } }, _notifyVisualRange: function() { var that = this; that._valueAxes.forEach((function(axis) { var axisPath = axis.getOptions().optionPath; if (axisPath) { var path = "".concat(axisPath, ".visualRange"); var visualRange = (0, _utils.convertVisualRangeObject)(axis.visualRange(), !_isArray(that.option(path))); if (!axis.skipEventRising || !(0, _utils.rangesAreEqual)(visualRange, that.option(path))) { if (!that.option(axisPath) && "valueAxis" !== axisPath) { that.option(axisPath, { name: axis.name, visualRange: visualRange }) } else { that.option(path, visualRange) } } else { axis.skipEventRising = null } } })) }, _notify: function() { this.callBase(); this._axesReinitialized = false; if (true !== this.option("disableTwoWayBinding")) { this.skipOptionsRollBack = true; this._notifyVisualRange(); this.skipOptionsRollBack = false } }, _getAxesForScaling: function() { return this._valueAxes }, _getAxesByOptionPath: function(arg, isDirectOption, optionName) { var sourceAxes = this._getAxesForScaling(); var axes = []; if (isDirectOption) { var axisPath; if (arg.fullName) { axisPath = arg.fullName.slice(0, arg.fullName.indexOf(".")) } axes = sourceAxes.filter((function(a) { return a.getOptions().optionPath === axisPath })) } else if ("object" === (0, _type.type)(arg.value)) { axes = sourceAxes.filter((function(a) { return a.getOptions().optionPath === arg.name })) } else if (_isArray(arg.value)) { arg.value.forEach((function(v, index) { var axis = sourceAxes.filter((function(a) { return a.getOptions().optionPath === "".concat(arg.name, "[").concat(index, "]") }))[0]; (0, _type.isDefined)(v[optionName]) && (0, _type.isDefined)(axis) && (axes[index] = axis) })) } return axes }, _optionChanged: function(arg) { if (!this._optionChangedLocker) { var axes; var isDirectOption = arg.fullName.indexOf("visualRange") > 0 ? true : this.getPartialChangeOptionsName(arg).indexOf("visualRange") > -1 ? false : void 0; if ((0, _type.isDefined)(isDirectOption)) { axes = this._getAxesByOptionPath(arg, isDirectOption, "visualRange"); if (axes) { if (axes.length > 1 || _isArray(arg.value)) { axes.forEach((function(a, index) { return setAxisVisualRangeByOption(arg, a, isDirectOption, index) })) } else if (1 === axes.length) { setAxisVisualRangeByOption(arg, axes[0], isDirectOption) } } } } this.callBase(arg) }, _change_VISUAL_RANGE: function() { this._recreateSizeDependentObjects(false); if (!this._changes.has("FULL_RENDER")) { var resizePanesOnZoom = this.option("resizePanesOnZoom"); this._doRender({ force: true, drawTitle: false, drawLegend: false, adjustAxes: null !== resizePanesOnZoom && void 0 !== resizePanesOnZoom ? resizePanesOnZoom : this.option("adjustAxesOnZoom") || false, animate: false }); this._raiseZoomEndHandlers() } }, resetVisualRange: function() { var that = this; that._valueAxes.forEach((function(axis) { axis.resetVisualRange(false); that._applyCustomVisualRangeOption(axis) })); that._requestChange(["VISUAL_RANGE"]) }, _getCrosshairMargins: function() { return { x: 0, y: 0 } }, _legendDataField: "series", _adjustSeriesLabels: _common.noop, _correctValueAxes: _common.noop }); exports.AdvancedChart = AdvancedChart }, 33224: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/chart_components/base_chart.js ***! \********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.overlapping = exports.BaseChart = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _base_widget = _interopRequireDefault(__webpack_require__( /*! ../core/base_widget */ 59063)); var _legend = __webpack_require__( /*! ../components/legend */ 16342); var _data_validator = __webpack_require__( /*! ../components/data_validator */ 45865); var _base_series = __webpack_require__( /*! ../series/base_series */ 54932); var _chart_theme_manager = __webpack_require__( /*! ../components/chart_theme_manager */ 99327); var _layout_manager = __webpack_require__( /*! ./layout_manager */ 21495); var trackerModule = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ./tracker */ 19957)); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _export = __webpack_require__( /*! ../core/export */ 82454); var _title = __webpack_require__( /*! ../core/title */ 17384); var _data_source = __webpack_require__( /*! ../core/data_source */ 1539); var _tooltip = __webpack_require__( /*! ../core/tooltip */ 14371); var _loading_indicator = __webpack_require__( /*! ../core/loading_indicator */ 64758); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _isArray = Array.isArray; var ACTIONS_BY_PRIORITY = ["_reinit", "_updateDataSource", "_dataInit", "_forceRender", "_resize"]; function checkHeightRollingStock(rollingStocks, stubCanvas) { var canvasSize = stubCanvas.end - stubCanvas.start; var size = 0; rollingStocks.forEach((function(rollingStock) { size += rollingStock.getBoundingRect().width })); while (canvasSize < size) { size -= findAndKillSmallValue(rollingStocks) } } function findAndKillSmallValue(rollingStocks) { var smallestObject = rollingStocks.reduce((function(prev, rollingStock, index) { if (!rollingStock) { return prev } var value = rollingStock.value(); return value < prev.value ? { value: value, rollingStock: rollingStock, index: index } : prev }), { rollingStock: void 0, value: 1 / 0, index: void 0 }); smallestObject.rollingStock.getLabels()[0].draw(false); var width = smallestObject.rollingStock.getBoundingRect().width; rollingStocks[smallestObject.index] = null; return width } function checkStackOverlap(rollingStocks) { var i; var j; var iLength; var jLength; var overlap = false; for (i = 0, iLength = rollingStocks.length - 1; i < iLength; i++) { for (j = i + 1, jLength = rollingStocks.length; j < jLength; j++) { if (i !== j && checkStacksOverlapping(rollingStocks[i], rollingStocks[j], true)) { overlap = true; break } } if (overlap) { break } } return overlap } function checkStacksOverlapping(firstRolling, secondRolling, inTwoSides) { if (!firstRolling || !secondRolling) { return } var firstRect = firstRolling.getBoundingRect(); var secondRect = secondRolling.getBoundingRect(); var oppositeOverlapping = inTwoSides ? firstRect.oppositeStart <= secondRect.oppositeStart && firstRect.oppositeEnd > secondRect.oppositeStart || secondRect.oppositeStart <= firstRect.oppositeStart && secondRect.oppositeEnd > firstRect.oppositeStart : true; return firstRect.end > secondRect.start && oppositeOverlapping } function sortRollingStocksByValue(rollingStocks) { var positiveRollingStocks = []; var negativeRollingStocks = []; rollingStocks.forEach((function(stock) { if (stock.value() > 0) { positiveRollingStocks.push(stock) } else { negativeRollingStocks.unshift(stock) } })); return positiveRollingStocks.concat(negativeRollingStocks) } function prepareOverlapStacks(rollingStocks) { var i; var currentRollingStock; var root; for (i = 0; i < rollingStocks.length - 1; i++) { currentRollingStock = root || rollingStocks[i]; if (checkStacksOverlapping(currentRollingStock, rollingStocks[i + 1])) { currentRollingStock.toChain(rollingStocks[i + 1]); rollingStocks[i + 1] = null; root = currentRollingStock } else { root = rollingStocks[i + 1] || currentRollingStock } } } function moveRollingStock(rollingStocks, canvas) { var i; var j; var currentRollingStock; var nextRollingStock; var currentBBox; var nextBBox; for (i = 0; i < rollingStocks.length; i++) { currentRollingStock = rollingStocks[i]; if (rollingStocksIsOut(currentRollingStock, canvas)) { currentBBox = currentRollingStock.getBoundingRect(); for (j = i + 1; j < rollingStocks.length; j++) { nextRollingStock = rollingStocks[j]; if (!nextRollingStock) { continue } nextBBox = nextRollingStock.getBoundingRect(); if (nextBBox.end > currentBBox.start - (currentBBox.end - canvas.end)) { nextRollingStock.toChain(currentRollingStock); rollingStocks[i] = currentRollingStock = null; break } } } currentRollingStock && currentRollingStock.setRollingStockInCanvas(canvas) } } function rollingStocksIsOut(rollingStock, canvas) { return rollingStock && rollingStock.getBoundingRect().end > canvas.end } function RollingStock(label, isRotated, shiftFunction) { var bBox = label.getBoundingRect(); var x = bBox.x; var y = bBox.y; var endX = bBox.x + bBox.width; var endY = bBox.y + bBox.height; this.labels = [label]; this.shiftFunction = shiftFunction; this._bBox = { start: isRotated ? x : y, width: isRotated ? bBox.width : bBox.height, end: isRotated ? endX : endY, oppositeStart: isRotated ? y : x, oppositeEnd: isRotated ? endY : endX }; this._initialPosition = isRotated ? bBox.x : bBox.y; return this } RollingStock.prototype = { toChain: function(nextRollingStock) { var nextRollingStockBBox = nextRollingStock.getBoundingRect(); nextRollingStock.shift(nextRollingStockBBox.start - this._bBox.end); this._changeBoxWidth(nextRollingStockBBox.width); this.labels = this.labels.concat(nextRollingStock.labels) }, getBoundingRect: function() { return this._bBox }, shift: function(shiftLength) { var shiftFunction = this.shiftFunction; (0, _iterator.each)(this.labels, (function(index, label) { var bBox = label.getBoundingRect(); var coords = shiftFunction(bBox, shiftLength); if (!label.hideInsideLabel(coords)) { label.shift(coords.x, coords.y) } })); this._bBox.end -= shiftLength; this._bBox.start -= shiftLength }, setRollingStockInCanvas: function(canvas) { if (this._bBox.end > canvas.end) { this.shift(this._bBox.end - canvas.end) } }, getLabels: function() { return this.labels }, value: function() { return this.labels[0].getData().value }, getInitialPosition: function() { return this._initialPosition }, _changeBoxWidth: function(width) { this._bBox.end += width; this._bBox.width += width } }; var overlapping = { resolveLabelOverlappingInOneDirection: function(points, canvas, isRotated, isInverted, shiftFunction) { var customSorting = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : function() { return 0 }; var rollingStocks = []; var stubCanvas = { start: isRotated ? canvas.left : canvas.top, end: isRotated ? canvas.width - canvas.right : canvas.height - canvas.bottom }; var hasStackedSeries = false; var sortRollingStocks; points.forEach((function(p) { if (!p) { return } hasStackedSeries = hasStackedSeries || p.series.isStackedSeries() || p.series.isFullStackedSeries(); p.getLabels().forEach((function(l) { l.isVisible() && rollingStocks.push(new RollingStock(l, isRotated, shiftFunction)) })) })); if (hasStackedSeries) { !isRotated ^ isInverted && rollingStocks.reverse(); sortRollingStocks = !isInverted ? sortRollingStocksByValue(rollingStocks) : rollingStocks } else { var rollingStocksTmp = rollingStocks.slice(); sortRollingStocks = rollingStocks.sort((function(a, b) { return customSorting(a, b) || a.getInitialPosition() - b.getInitialPosition() || rollingStocksTmp.indexOf(a) - rollingStocksTmp.indexOf(b) })) } if (!checkStackOverlap(sortRollingStocks)) { return false } checkHeightRollingStock(sortRollingStocks, stubCanvas); prepareOverlapStacks(sortRollingStocks); sortRollingStocks.reverse(); moveRollingStock(sortRollingStocks, stubCanvas); return true } }; exports.overlapping = overlapping; var BaseChart = _base_widget.default.inherit({ _eventsMap: { onSeriesClick: { name: "seriesClick" }, onPointClick: { name: "pointClick" }, onArgumentAxisClick: { name: "argumentAxisClick" }, onLegendClick: { name: "legendClick" }, onSeriesSelectionChanged: { name: "seriesSelectionChanged" }, onPointSelectionChanged: { name: "pointSelectionChanged" }, onSeriesHoverChanged: { name: "seriesHoverChanged" }, onPointHoverChanged: { name: "pointHoverChanged" }, onDone: { name: "done", actionSettings: { excludeValidators: ["disabled"] } }, onZoomStart: { name: "zoomStart" }, onZoomEnd: { name: "zoomEnd" } }, _fontFields: ["legend.font", "legend.title.font", "legend.title.subtitle.font", "commonSeriesSettings.label.font"], _rootClassPrefix: "dxc", _rootClass: "dxc-chart", _initialChanges: ["INIT"], _themeDependentChanges: ["REFRESH_SERIES_REINIT"], _getThemeManagerOptions: function() { var themeOptions = this.callBase.apply(this, arguments); themeOptions.options = this.option(); return themeOptions }, _createThemeManager: function() { var chartOption = this.option(); var themeManager = new _chart_theme_manager.ThemeManager(this._getThemeManagerOptions()); themeManager.setTheme(chartOption.theme, chartOption.rtlEnabled); return themeManager }, _initCore: function() { this._canvasClipRect = this._renderer.clipRect(); this._createHtmlStructure(); this._createLegend(); this._createTracker(); this._needHandleRenderComplete = true; this.layoutManager = new _layout_manager.LayoutManager; this._createScrollBar(); _events_engine.default.on(this._$element, "contextmenu", (function(event) { if ((0, _index.isTouchEvent)(event) || (0, _index.isPointerEvent)(event)) { event.preventDefault() } })); _events_engine.default.on(this._$element, "MSHoldVisual", (function(event) { event.preventDefault() })) }, _getLayoutItems: _common.noop, _layoutManagerOptions: function() { return this._themeManager.getOptions("adaptiveLayout") }, _reinit: function() { (0, _utils.setCanvasValues)(this._canvas); this._reinitAxes(); this._requestChange(["DATA_SOURCE", "DATA_INIT", "CORRECT_AXIS", "FULL_RENDER"]) }, _correctAxes: _common.noop, _createHtmlStructure: function() { var that = this; var renderer = that._renderer; var root = renderer.root; var createConstantLinesGroup = function() { return renderer.g().attr({ class: "dxc-constant-lines-group" }).linkOn(root, "constant-lines") }; that._constantLinesGroup = { dispose: function() { this.under.dispose(); this.above.dispose() }, linkOff: function() { this.under.linkOff(); this.above.linkOff() }, clear: function() { this.under.linkRemove().clear(); this.above.linkRemove().clear() }, linkAppend: function() { this.under.linkAppend(); this.above.linkAppend() } }; that._labelsAxesGroup = renderer.g().attr({ class: "dxc-elements-axes-group" }); var appendLabelsAxesGroup = function() { that._labelsAxesGroup.linkOn(root, "elements") }; that._backgroundRect = renderer.rect().attr({ fill: "gray", opacity: 1e-4 }).append(root); that._panesBackgroundGroup = renderer.g().attr({ class: "dxc-background" }).append(root); that._stripsGroup = renderer.g().attr({ class: "dxc-strips-group" }).linkOn(root, "strips"); that._gridGroup = renderer.g().attr({ class: "dxc-grids-group" }).linkOn(root, "grids"); that._panesBorderGroup = renderer.g().attr({ class: "dxc-border" }).linkOn(root, "border"); that._axesGroup = renderer.g().attr({ class: "dxc-axes-group" }).linkOn(root, "axes"); that._executeAppendBeforeSeries(appendLabelsAxesGroup); that._stripLabelAxesGroup = renderer.g().attr({ class: "dxc-strips-labels-group" }).linkOn(root, "strips-labels"); that._constantLinesGroup.under = createConstantLinesGroup(); that._seriesGroup = renderer.g().attr({ class: "dxc-series-group" }).linkOn(root, "series"); that._executeAppendAfterSeries(appendLabelsAxesGroup); that._constantLinesGroup.above = createConstantLinesGroup(); that._scaleBreaksGroup = renderer.g().attr({ class: "dxc-scale-breaks" }).linkOn(root, "scale-breaks"); that._labelsGroup = renderer.g().attr({ class: "dxc-labels-group" }).linkOn(root, "labels"); that._crosshairCursorGroup = renderer.g().attr({ class: "dxc-crosshair-cursor" }).linkOn(root, "crosshair"); that._legendGroup = renderer.g().attr({ class: "dxc-legend", "clip-path": that._getCanvasClipRectID() }).linkOn(root, "legend").linkAppend(root).enableLinks(); that._scrollBarGroup = renderer.g().attr({ class: "dxc-scroll-bar" }).linkOn(root, "scroll-bar") }, _executeAppendBeforeSeries: function() {}, _executeAppendAfterSeries: function() {}, _disposeObjectsInArray: function(propName, fieldNames) { (0, _iterator.each)(this[propName] || [], (function(_, item) { if (fieldNames && item) { (0, _iterator.each)(fieldNames, (function(_, field) { item[field] && item[field].dispose() })) } else { item && item.dispose() } })); this[propName] = null }, _disposeCore: function() { var that = this; var disposeObject = function(propName) { if (that[propName]) { that[propName].dispose(); that[propName] = null } }; var unlinkGroup = function(name) { that[name].linkOff() }; var disposeObjectsInArray = this._disposeObjectsInArray; that._renderer.stopAllAnimations(); disposeObjectsInArray.call(that, "series"); disposeObject("_tracker"); disposeObject("_crosshair"); that.layoutManager = that._userOptions = that._canvas = that._groupsData = null; unlinkGroup("_stripsGroup"); unlinkGroup("_gridGroup"); unlinkGroup("_axesGroup"); unlinkGroup("_constantLinesGroup"); unlinkGroup("_stripLabelAxesGroup"); unlinkGroup("_panesBorderGroup"); unlinkGroup("_seriesGroup"); unlinkGroup("_labelsGroup"); unlinkGroup("_crosshairCursorGroup"); unlinkGroup("_legendGroup"); unlinkGroup("_scrollBarGroup"); unlinkGroup("_scaleBreaksGroup"); disposeObject("_canvasClipRect"); disposeObject("_panesBackgroundGroup"); disposeObject("_backgroundRect"); disposeObject("_stripsGroup"); disposeObject("_gridGroup"); disposeObject("_axesGroup"); disposeObject("_constantLinesGroup"); disposeObject("_stripLabelAxesGroup"); disposeObject("_panesBorderGroup"); disposeObject("_seriesGroup"); disposeObject("_labelsGroup"); disposeObject("_crosshairCursorGroup"); disposeObject("_legendGroup"); disposeObject("_scrollBarGroup"); disposeObject("_scaleBreaksGroup") }, _getAnimationOptions: function() { return this._themeManager.getOptions("animation") }, _getDefaultSize: function() { return { width: 400, height: 400 } }, _getOption: function(name) { return this._themeManager.getOptions(name) }, _applySize: function(rect) { this._rect = rect.slice(); if (!this._changes.has("FULL_RENDER")) { this._processRefreshData("_resize") } }, _resize: function() { this._doRender(this.__renderOptions || { animate: false, isResize: true }) }, _trackerType: "ChartTracker", _createTracker: function() { this._tracker = new trackerModule[this._trackerType]({ seriesGroup: this._seriesGroup, renderer: this._renderer, tooltip: this._tooltip, legend: this._legend, eventTrigger: this._eventTrigger }) }, _getTrackerSettings: function() { return (0, _extend.extend)({ chart: this }, this._getSelectionModes()) }, _getSelectionModes: function() { var themeManager = this._themeManager; return { seriesSelectionMode: themeManager.getOptions("seriesSelectionMode"), pointSelectionMode: themeManager.getOptions("pointSelectionMode") } }, _updateTracker: function(trackerCanvases) { this._tracker.update(this._getTrackerSettings()); this._tracker.setCanvases({ left: 0, right: this._canvas.width, top: 0, bottom: this._canvas.height }, trackerCanvases) }, _createCanvasFromRect: function(rect) { var currentCanvas = this._canvas; return (0, _utils.setCanvasValues)({ left: rect[0], top: rect[1], right: currentCanvas.width - rect[2], bottom: currentCanvas.height - rect[3], width: currentCanvas.width, height: currentCanvas.height }) }, _doRender: function(_options) { if (0 === this._canvas.width && 0 === this._canvas.height) { return } this._resetIsReady(); var drawOptions = this._prepareDrawOptions(_options); var recreateCanvas = drawOptions.recreateCanvas; this._preserveOriginalCanvas(); if (recreateCanvas) { this.__currentCanvas = this._canvas } else { this._canvas = this.__currentCanvas } recreateCanvas && this._updateCanvasClipRect(this._canvas); this._canvas = this._createCanvasFromRect(this._rect); this._renderer.stopAllAnimations(true); this._cleanGroups(); var startTime = new Date; this._renderElements(drawOptions); this._lastRenderingTime = new Date - startTime }, _preserveOriginalCanvas: function() { this.__originalCanvas = this._canvas; this._canvas = (0, _extend.extend)({}, this._canvas) }, _layoutAxes: _common.noop, _renderElements: function(drawOptions) { var that = this; var preparedOptions = that._prepareToRender(drawOptions); var isRotated = that._isRotated(); var isLegendInside = that._isLegendInside(); var trackerCanvases = []; (0, _extend.extend)({}, that._canvas); var argBusinessRange; var zoomMinArg; var zoomMaxArg; that._renderer.lock(); if (drawOptions.drawLegend && that._legend) { that._legendGroup.linkAppend() } that.layoutManager.setOptions(that._layoutManagerOptions()); var layoutTargets = that._getLayoutTargets(); this._layoutAxes((function(needSpace) { var axisDrawOptions = needSpace ? (0, _extend.extend)({}, drawOptions, { animate: false, recreateCanvas: true }) : drawOptions; var canvas = that._renderAxes(axisDrawOptions, preparedOptions); that._shrinkAxes(needSpace, canvas) })); that._applyClipRects(preparedOptions); that._appendSeriesGroups(); that._createCrosshairCursor(); layoutTargets.forEach((function(_ref) { var canvas = _ref.canvas; trackerCanvases.push({ left: canvas.left, right: canvas.width - canvas.right, top: canvas.top, bottom: canvas.height - canvas.bottom }) })); if (that._scrollBar) { argBusinessRange = that._argumentAxes[0].getTranslator().getBusinessRange(); if ("discrete" === argBusinessRange.axisType && argBusinessRange.categories && argBusinessRange.categories.length <= 1 || "discrete" !== argBusinessRange.axisType && argBusinessRange.min === argBusinessRange.max) { zoomMinArg = zoomMaxArg = void 0 } else { zoomMinArg = argBusinessRange.minVisible; zoomMaxArg = argBusinessRange.maxVisible } that._scrollBar.init(argBusinessRange, !that._argumentAxes[0].getOptions().valueMarginsEnabled).setPosition(zoomMinArg, zoomMaxArg) } that._updateTracker(trackerCanvases); that._updateLegendPosition(drawOptions, isLegendInside); that._applyPointMarkersAutoHiding(); that._renderSeries(drawOptions, isRotated, isLegendInside); that._renderGraphicObjects(); that._renderer.unlock() }, _updateLegendPosition: _common.noop, _createCrosshairCursor: _common.noop, _appendSeriesGroups: function() { this._seriesGroup.linkAppend(); this._labelsGroup.linkAppend(); this._appendAdditionalSeriesGroups() }, _renderSeries: function(drawOptions, isRotated, isLegendInside) { this._calculateSeriesLayout(drawOptions, isRotated); this._renderSeriesElements(drawOptions, isLegendInside) }, _calculateSeriesLayout: function(drawOptions, isRotated) { drawOptions.hideLayoutLabels = this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(), isRotated) && !this._themeManager.getOptions("adaptiveLayout").keepLabels; this._updateSeriesDimensions(drawOptions) }, _getArgFilter: function() { return function() { return true } }, _getValFilter: function(series) { return function() { return true } }, _getPointsToAnimation: function(series) { var _this = this; var argViewPortFilter = this._getArgFilter(); return series.map((function(s) { var valViewPortFilter = _this._getValFilter(s); return s.getPoints().filter((function(p) { return p.getOptions().visible && argViewPortFilter(p.argument) && (valViewPortFilter(p.getMinValue(true)) || valViewPortFilter(p.getMaxValue(true))) })).length })) }, _renderSeriesElements: function(drawOptions, isLegendInside) { var that = this; var series = that.series; var resolveLabelOverlapping = that._themeManager.getOptions("resolveLabelOverlapping"); var pointsToAnimation = that._getPointsToAnimation(series); series.forEach((function(singleSeries, index) { that._applyExtraSettings(singleSeries, drawOptions); var animationEnabled = drawOptions.animate && pointsToAnimation[index] <= drawOptions.animationPointsLimit && that._renderer.animationEnabled(); singleSeries.draw(animationEnabled, drawOptions.hideLayoutLabels, that._getLegendCallBack(singleSeries)) })); if ("none" === resolveLabelOverlapping) { that._adjustSeriesLabels(false) } else { that._locateLabels(resolveLabelOverlapping) } that._renderTrackers(isLegendInside); that._tracker.repairTooltip(); that._renderExtraElements(); that._clearCanvas(); that._seriesElementsDrawn = true }, _changesApplied: function() { if (this._seriesElementsDrawn) { this._seriesElementsDrawn = false; this._drawn(); this._renderCompleteHandler() } }, _locateLabels: function(resolveLabelOverlapping) { this._resolveLabelOverlapping(resolveLabelOverlapping) }, _renderExtraElements: function() {}, _clearCanvas: function() { this._canvas = this.__originalCanvas }, _resolveLabelOverlapping: function(resolveLabelOverlapping) { var func; switch (resolveLabelOverlapping) { case "stack": func = this._resolveLabelOverlappingStack; break; case "hide": func = this._resolveLabelOverlappingHide; break; case "shift": func = this._resolveLabelOverlappingShift } return (0, _type.isFunction)(func) && func.call(this) }, _getVisibleSeries: function() { return (0, _common.grep)(this.getAllSeries(), (function(series) { return series.isVisible() })) }, _resolveLabelOverlappingHide: function() { var labels = []; var currentLabel; var nextLabel; var currentLabelRect; var nextLabelRect; var i; var j; var points; var series = this._getVisibleSeries(); for (i = 0; i < series.length; i++) { points = series[i].getVisiblePoints(); for (j = 0; j < points.length; j++) { labels.push.apply(labels, points[j].getLabels()) } } for (i = 0; i < labels.length; i++) { currentLabel = labels[i]; if (!currentLabel.isVisible()) { continue } currentLabelRect = currentLabel.getBoundingRect(); for (j = i + 1; j < labels.length; j++) { nextLabel = labels[j]; nextLabelRect = nextLabel.getBoundingRect(); if (firstRect = currentLabelRect, secondRect = nextLabelRect, (firstRect.x <= secondRect.x && secondRect.x <= firstRect.x + firstRect.width || firstRect.x >= secondRect.x && firstRect.x <= secondRect.x + secondRect.width) && (firstRect.y <= secondRect.y && secondRect.y <= firstRect.y + firstRect.height || firstRect.y >= secondRect.y && firstRect.y <= secondRect.y + secondRect.height)) { nextLabel.draw(false) } } } var firstRect, secondRect }, _cleanGroups: function() { this._stripsGroup.linkRemove().clear(); this._gridGroup.linkRemove().clear(); this._axesGroup.linkRemove().clear(); this._constantLinesGroup.clear(); this._stripLabelAxesGroup.linkRemove().clear(); this._labelsGroup.linkRemove().clear(); this._crosshairCursorGroup.linkRemove().clear(); this._scaleBreaksGroup.linkRemove().clear() }, _allowLegendInsidePosition: function() { return false }, _createLegend: function() { var legendSettings = (legendDataField = this._legendDataField, formatObjectFields = (name = legendDataField, { nameField: name + "Name", colorField: name + "Color", indexField: name + "Index" }), { getFormatObject: function(data) { var res = {}; res[formatObjectFields.indexField] = data.id; res[formatObjectFields.colorField] = data.states.normal.fill; res[formatObjectFields.nameField] = data.text; return res }, textField: formatObjectFields.nameField }); var legendDataField, formatObjectFields, name; this._legend = new _legend.Legend({ renderer: this._renderer, widget: this, group: this._legendGroup, backgroundClass: "dxc-border", itemGroupClass: "dxc-item", titleGroupClass: "dxc-title", textField: legendSettings.textField, getFormatObject: legendSettings.getFormatObject, allowInsidePosition: this._allowLegendInsidePosition() }); this._updateLegend(); this._layout.add(this._legend) }, _updateLegend: function() { var themeManager = this._themeManager; var legendOptions = themeManager.getOptions("legend"); var legendData = this._getLegendData(); legendOptions.containerBackgroundColor = themeManager.getOptions("containerBackgroundColor"); legendOptions._incidentOccurred = this._incidentOccurred; this._legend.update(legendData, legendOptions, themeManager.theme("legend").title); this._change(["LAYOUT"]) }, _prepareDrawOptions: function(drawOptions) { var animationOptions = this._getAnimationOptions(); var options = (0, _extend.extend)({}, { force: false, adjustAxes: true, drawLegend: true, drawTitle: true, animate: animationOptions.enabled, animationPointsLimit: animationOptions.maxPointCountSupported }, drawOptions, this.__renderOptions); if (!(0, _type.isDefined)(options.recreateCanvas)) { options.recreateCanvas = options.adjustAxes && options.drawLegend && options.drawTitle } return options }, _processRefreshData: function(newRefreshAction) { var currentRefreshActionPosition = ACTIONS_BY_PRIORITY.indexOf(this._currentRefreshData); var newRefreshActionPosition = ACTIONS_BY_PRIORITY.indexOf(newRefreshAction); if (!this._currentRefreshData || currentRefreshActionPosition >= 0 && newRefreshActionPosition < currentRefreshActionPosition) { this._currentRefreshData = newRefreshAction } this._requestChange(["REFRESH"]) }, _getLegendData: function() { return (0, _utils.map)(this._getLegendTargets(), (function(item) { var legendData = item.legendData; var style = item.getLegendStyles; var opacity = style.normal.opacity; if (!item.visible) { if (!(0, _type.isDefined)(opacity) || opacity > .3) { opacity = .3 } legendData.textOpacity = .3 } var opacityStyle = { opacity: opacity }; legendData.states = { hover: (0, _extend.extend)({}, style.hover, opacityStyle), selection: (0, _extend.extend)({}, style.selection, opacityStyle), normal: (0, _extend.extend)({}, style.normal, opacityStyle) }; return legendData })) }, _getLegendOptions: function(item) { return { legendData: { text: item[this._legendItemTextField], id: item.index, visible: true }, getLegendStyles: item.getLegendStyles(), visible: item.isVisible() } }, _disposeSeries: function(seriesIndex) { var _that$series; if (this.series) { if ((0, _type.isDefined)(seriesIndex)) { this.series[seriesIndex].dispose(); this.series.splice(seriesIndex, 1) } else { (0, _iterator.each)(this.series, (function(_, s) { return s.dispose() })); this.series.length = 0 } } if (!(null !== (_that$series = this.series) && void 0 !== _that$series && _that$series.length)) { this.series = [] } }, _disposeSeriesFamilies: function() { (0, _iterator.each)(this.seriesFamilies || [], (function(_, family) { family.dispose() })); this.seriesFamilies = null; this._needHandleRenderComplete = true }, _optionChanged: function(arg) { this._themeManager.resetOptions(arg.name); this.callBase.apply(this, arguments) }, _applyChanges: function() { var that = this; that._themeManager.update(that._options.silent()); that.callBase.apply(that, arguments) }, _optionChangesMap: { animation: "ANIMATION", dataSource: "DATA_SOURCE", palette: "PALETTE", paletteExtensionMode: "PALETTE", legend: "FORCE_DATA_INIT", seriesTemplate: "FORCE_DATA_INIT", export: "FORCE_RENDER", valueAxis: "AXES_AND_PANES", argumentAxis: "AXES_AND_PANES", commonAxisSettings: "AXES_AND_PANES", panes: "AXES_AND_PANES", commonPaneSettings: "AXES_AND_PANES", defaultPane: "AXES_AND_PANES", containerBackgroundColor: "AXES_AND_PANES", rotated: "ROTATED", autoHidePointMarkers: "REFRESH_SERIES_REINIT", customizePoint: "REFRESH_SERIES_REINIT", customizeLabel: "REFRESH_SERIES_REINIT", scrollBar: "SCROLL_BAR" }, _optionChangesOrder: ["ROTATED", "PALETTE", "REFRESH_SERIES_REINIT", "USE_SPIDER_WEB", "AXES_AND_PANES", "INIT", "REINIT", "DATA_SOURCE", "REFRESH_SERIES_DATA_INIT", "DATA_INIT", "FORCE_DATA_INIT", "REFRESH_AXES", "CORRECT_AXIS"], _customChangesOrder: ["ANIMATION", "REFRESH_SERIES_FAMILIES", "FORCE_FIRST_DRAWING", "FORCE_DRAWING", "FORCE_RENDER", "VISUAL_RANGE", "SCROLL_BAR", "REINIT", "REFRESH", "FULL_RENDER"], _change_ANIMATION: function() { this._renderer.updateAnimationOptions(this._getAnimationOptions()) }, _change_DATA_SOURCE: function() { this._needHandleRenderComplete = true; this._updateDataSource() }, _change_PALETTE: function() { this._themeManager.updatePalette(); this._refreshSeries("DATA_INIT") }, _change_REFRESH_SERIES_DATA_INIT: function() { this._refreshSeries("DATA_INIT") }, _change_DATA_INIT: function() { if ((!this.series || this.needToPopulateSeries) && !this._changes.has("FORCE_DATA_INIT")) { this._dataInit() } }, _change_FORCE_DATA_INIT: function() { this._dataInit() }, _change_REFRESH_SERIES_FAMILIES: function() { this._processSeriesFamilies(); this._populateBusinessRange(); this._processRefreshData("_forceRender") }, _change_FORCE_RENDER: function() { this._processRefreshData("_forceRender") }, _change_AXES_AND_PANES: function() { this._refreshSeries("INIT") }, _change_ROTATED: function() { this._createScrollBar(); this._refreshSeries("INIT") }, _change_REFRESH_SERIES_REINIT: function() { this._refreshSeries("INIT") }, _change_REFRESH_AXES: function() { (0, _utils.setCanvasValues)(this._canvas); this._reinitAxes(); this._requestChange(["CORRECT_AXIS", "FULL_RENDER"]) }, _change_SCROLL_BAR: function() { this._createScrollBar(); this._processRefreshData("_forceRender") }, _change_REINIT: function() { this._processRefreshData("_reinit") }, _change_FORCE_DRAWING: function() { this._resetComponentsAnimation() }, _change_FORCE_FIRST_DRAWING: function() { this._resetComponentsAnimation(true) }, _resetComponentsAnimation: function(isFirstDrawing) { this.series.forEach((function(s) { s.resetApplyingAnimation(isFirstDrawing) })); this._resetAxesAnimation(isFirstDrawing) }, _resetAxesAnimation: _common.noop, _refreshSeries: function(actionName) { this.needToPopulateSeries = true; this._requestChange([actionName]) }, _change_CORRECT_AXIS: function() { this._correctAxes() }, _doRefresh: function() { var methodName = this._currentRefreshData; if (methodName) { this._currentRefreshData = null; this._renderer.stopAllAnimations(true); this[methodName]() } }, _updateCanvasClipRect: function(canvas) { var width = Math.max(canvas.width - canvas.left - canvas.right, 0); var height = Math.max(canvas.height - canvas.top - canvas.bottom, 0); this._canvasClipRect.attr({ x: canvas.left, y: canvas.top, width: width, height: height }); this._backgroundRect.attr({ x: canvas.left, y: canvas.top, width: width, height: height }) }, _getCanvasClipRectID: function() { return this._canvasClipRect.id }, _dataSourceChangedHandler: function() { if (this._changes.has("INIT")) { this._requestChange(["DATA_INIT"]) } else { this._requestChange(["FORCE_DATA_INIT"]) } }, _dataInit: function() { this._dataSpecificInit(true) }, _processSingleSeries: function(singleSeries) { singleSeries.createPoints(false) }, _handleSeriesDataUpdated: function() { var _this2 = this; if (this._getVisibleSeries().some((function(s) { return s.useAggregation() }))) { this._populateMarginOptions() } this.series.forEach((function(s) { return _this2._processSingleSeries(s) }), this) }, _dataSpecificInit: function(needRedraw) { if (!this.series || this.needToPopulateSeries) { this.series = this._populateSeries() } this._repopulateSeries(); this._seriesPopulatedHandlerCore(); this._populateBusinessRange(); this._tracker.updateSeries(this.series, this._changes.has("INIT")); this._updateLegend(); if (needRedraw) { this._requestChange(["FULL_RENDER"]) } }, _forceRender: function() { this._doRender({ force: true }) }, _repopulateSeries: function() { var themeManager = this._themeManager; var data = this._dataSourceItems(); var dataValidatorOptions = themeManager.getOptions("dataPrepareSettings"); var seriesTemplate = themeManager.getOptions("seriesTemplate"); if (seriesTemplate) { this._populateSeries(data) } this._groupSeries(); var parsedData = (0, _data_validator.validateData)(data, this._groupsData, this._incidentOccurred, dataValidatorOptions); themeManager.resetPalette(); this.series.forEach((function(singleSeries) { singleSeries.updateData(parsedData[singleSeries.getArgumentField()]) })); this._handleSeriesDataUpdated() }, _renderCompleteHandler: function() { var allSeriesInited = true; if (this._needHandleRenderComplete) { (0, _iterator.each)(this.series, (function(_, s) { allSeriesInited = allSeriesInited && s.canRenderCompleteHandle() })); if (allSeriesInited) { this._needHandleRenderComplete = false; this._eventTrigger("done", { target: this }) } } }, _dataIsReady: function() { return (0, _type.isDefined)(this.option("dataSource")) && this._dataIsLoaded() }, _populateSeriesOptions: function(data) { var that = this; var themeManager = that._themeManager; var seriesTemplate = themeManager.getOptions("seriesTemplate"); var seriesOptions = seriesTemplate ? (0, _utils.processSeriesTemplate)(seriesTemplate, data || []) : that.option("series"); var allSeriesOptions = _isArray(seriesOptions) ? seriesOptions : seriesOptions ? [seriesOptions] : []; var extraOptions = that._getExtraOptions(); var particularSeriesOptions; var seriesTheme; var seriesThemes = []; var seriesVisibilityChanged = function(target) { that._specialProcessSeries(); that._populateBusinessRange(target && target.getValueAxis(), true); that._renderer.stopAllAnimations(true); that._updateLegend(); that._requestChange(["FULL_RENDER"]) }; for (var i = 0; i < allSeriesOptions.length; i++) { particularSeriesOptions = (0, _extend.extend)(true, {}, allSeriesOptions[i], extraOptions); if (!(0, _type.isDefined)(particularSeriesOptions.name) || "" === particularSeriesOptions.name) { particularSeriesOptions.name = "Series " + (i + 1).toString() } particularSeriesOptions.rotated = that._isRotated(); particularSeriesOptions.customizePoint = themeManager.getOptions("customizePoint"); particularSeriesOptions.customizeLabel = themeManager.getOptions("customizeLabel"); particularSeriesOptions.visibilityChanged = seriesVisibilityChanged; particularSeriesOptions.incidentOccurred = that._incidentOccurred; seriesTheme = themeManager.getOptions("series", particularSeriesOptions, allSeriesOptions.length); if (that._checkPaneName(seriesTheme)) { seriesThemes.push(seriesTheme) } } return seriesThemes }, _populateSeries: function(data) { var _that$series2; var that = this; var seriesBasis = []; var incidentOccurred = that._incidentOccurred; var seriesThemes = that._populateSeriesOptions(data); var particularSeries; var disposeSeriesFamilies = false; that.needToPopulateSeries = false; (0, _iterator.each)(seriesThemes, (function(_, theme) { var curSeries = that.series && that.series.filter((function(s) { return s.name === theme.name && -1 === seriesBasis.map((function(sb) { return sb.series })).indexOf(s) }))[0]; if (curSeries && curSeries.type === theme.type) { seriesBasis.push({ series: curSeries, options: theme }) } else { seriesBasis.push({ options: theme }); disposeSeriesFamilies = true } })); 0 !== (null === (_that$series2 = that.series) || void 0 === _that$series2 ? void 0 : _that$series2.length) && that._tracker.clearHover(); (0, _iterator.reverseEach)(that.series, (function(index, series) { if (!seriesBasis.some((function(s) { return series === s.series }))) { that._disposeSeries(index); disposeSeriesFamilies = true } })); !disposeSeriesFamilies && (disposeSeriesFamilies = seriesBasis.some((function(sb) { return sb.series.name !== seriesThemes[sb.series.index].name }))); that.series = []; disposeSeriesFamilies && that._disposeSeriesFamilies(); that._themeManager.resetPalette(); var eventPipe = function(data) { that.series.forEach((function(currentSeries) { currentSeries.notify(data) })) }; (0, _iterator.each)(seriesBasis, (function(_, basis) { var _that$_argumentAxes$f, _that$_argumentAxes; var seriesTheme = basis.options; var argumentAxis = null !== (_that$_argumentAxes$f = null === (_that$_argumentAxes = that._argumentAxes) || void 0 === _that$_argumentAxes ? void 0 : _that$_argumentAxes.filter((function(a) { return a.pane === seriesTheme.pane }))[0]) && void 0 !== _that$_argumentAxes$f ? _that$_argumentAxes$f : that.getArgumentAxis(); var renderSettings = { commonSeriesModes: that._getSelectionModes(), argumentAxis: argumentAxis, valueAxis: that._getValueAxis(seriesTheme.pane, seriesTheme.axis) }; if (basis.series) { particularSeries = basis.series; particularSeries.updateOptions(seriesTheme, renderSettings) } else { particularSeries = new _base_series.Series((0, _extend.extend)({ renderer: that._renderer, seriesGroup: that._seriesGroup, labelsGroup: that._labelsGroup, eventTrigger: that._eventTrigger, eventPipe: eventPipe, incidentOccurred: incidentOccurred }, renderSettings), seriesTheme) } if (!particularSeries.isUpdated) { incidentOccurred("E2101", [seriesTheme.type]) } else { particularSeries.index = that.series.length; that.series.push(particularSeries) } })); return that.series }, getStackedPoints: function(point) { var stackName = point.series.getStackName(); return this._getVisibleSeries().reduce((function(stackPoints, series) { if (!(0, _type.isDefined)(series.getStackName()) || !(0, _type.isDefined)(stackName) || stackName === series.getStackName()) { stackPoints = stackPoints.concat(series.getPointsByArg(point.argument)) } return stackPoints }), []) }, getAllSeries: function() { return (this.series || []).slice() }, getSeriesByName: function(name) { var found = null; (0, _iterator.each)(this.series, (function(i, singleSeries) { if (singleSeries.name === name) { found = singleSeries; return false } })); return found }, getSeriesByPos: function(pos) { return (this.series || [])[pos] }, clearSelection: function() { this._tracker.clearSelection() }, hideTooltip: function() { this._tracker._hideTooltip() }, clearHover: function() { this._tracker.clearHover() }, render: function(renderOptions) { var that = this; that.__renderOptions = renderOptions; that.__forceRender = renderOptions && renderOptions.force; that.callBase.apply(that, arguments); that.__renderOptions = that.__forceRender = null; return that }, refresh: function() { this._disposeSeries(); this._disposeSeriesFamilies(); this._requestChange(["CONTAINER_SIZE", "REFRESH_SERIES_REINIT"]) }, _getMinSize: function() { var adaptiveLayout = this._layoutManagerOptions(); return [adaptiveLayout.width, adaptiveLayout.height] }, _change_REFRESH: function() { if (!this._changes.has("INIT")) { this._doRefresh() } else { this._currentRefreshData = null } }, _change_FULL_RENDER: function() { this._forceRender() }, _change_INIT: function() { this._reinit() }, _stopCurrentHandling: function() { this._tracker.stopCurrentHandling() } }); exports.BaseChart = BaseChart; ["series", "commonSeriesSettings", "dataPrepareSettings", "seriesSelectionMode", "pointSelectionMode", "synchronizeMultiAxes", "resolveLabelsOverlapping"].forEach((function(name) { BaseChart.prototype._optionChangesMap[name] = "REFRESH_SERIES_DATA_INIT" })); ["adaptiveLayout", "crosshair", "resolveLabelOverlapping", "adjustOnZoom", "stickyHovering"].forEach((function(name) { BaseChart.prototype._optionChangesMap[name] = "FORCE_RENDER" })); ["minBubbleSize", "maxBubbleSize", "barGroupPadding", "barGroupWidth", "negativesAsZeroes", "negativesAsZeros"].forEach((function(name) { BaseChart.prototype._optionChangesMap[name] = "REFRESH_SERIES_FAMILIES" })); BaseChart.addPlugin(_export.plugin); BaseChart.addPlugin(_title.plugin); BaseChart.addPlugin(_data_source.plugin); BaseChart.addPlugin(_tooltip.plugin); BaseChart.addPlugin(_loading_indicator.plugin); var _change_TITLE = BaseChart.prototype._change_TITLE; BaseChart.prototype._change_TITLE = function() { _change_TITLE.apply(this, arguments); this._change(["FORCE_RENDER"]) } }, 97574: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/chart_components/crosshair.js ***! \*******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Crosshair = Crosshair; exports.getMargins = function() { return { x: 8, y: 4 } }; var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var math = Math; var mathAbs = math.abs; var mathMin = math.min; var mathMax = math.max; var mathFloor = math.floor; function getRectangleBBox(bBox) { return { x: bBox.x - 8, y: bBox.y - 4, width: bBox.width + 16, height: bBox.height + 8 } } function getLabelCheckerPosition(x, y, isHorizontal, canvas) { var params = isHorizontal ? ["x", "width", "y", "height", y, 0] : ["y", "height", "x", "width", x, 1]; return function(bBox, position, coord) { var labelCoord = { x: coord.x, y: coord.y }; var rectangleBBox = getRectangleBBox(bBox); var delta = isHorizontal ? coord.y - bBox.y - bBox.height / 2 : coord.y - bBox.y; labelCoord.y = isHorizontal || !isHorizontal && "bottom" === position ? coord.y + delta : coord.y; if (rectangleBBox[params[0]] < 0) { labelCoord[params[0]] -= rectangleBBox[params[0]] } else if (rectangleBBox[params[0]] + rectangleBBox[params[1]] + delta * params[5] > canvas[params[1]]) { labelCoord[params[0]] -= rectangleBBox[params[0]] + rectangleBBox[params[1]] + delta * params[5] - canvas[params[1]] } if (params[4] - rectangleBBox[params[3]] / 2 < 0) { labelCoord[params[2]] -= params[4] - rectangleBBox[params[3]] / 2 } else if (params[4] + rectangleBBox[params[3]] / 2 > canvas[params[3]]) { labelCoord[params[2]] -= params[4] + rectangleBBox[params[3]] / 2 - canvas[params[3]] } return labelCoord } } function Crosshair(renderer, options, params, group) { this._renderer = renderer; this._crosshairGroup = group; this._options = {}; this.update(options, params) } Crosshair.prototype = { constructor: Crosshair, update: function(options, params) { var canvas = params.canvas; this._canvas = { top: canvas.top, bottom: canvas.height - canvas.bottom, left: canvas.left, right: canvas.width - canvas.right, width: canvas.width, height: canvas.height }; this._axes = params.axes; this._panes = params.panes; this._prepareOptions(options, "horizontal"); this._prepareOptions(options, "vertical") }, dispose: function() { this._renderer = this._crosshairGroup = this._options = this._axes = this._canvas = this._horizontalGroup = this._verticalGroup = this._horizontal = this._vertical = this._circle = this._panes = null }, _prepareOptions: function(options, direction) { var lineOptions = options[direction + "Line"]; this._options[direction] = { visible: lineOptions.visible, line: { stroke: lineOptions.color || options.color, "stroke-width": lineOptions.width || options.width, dashStyle: lineOptions.dashStyle || options.dashStyle, opacity: lineOptions.opacity || options.opacity, "stroke-linecap": "butt" }, label: (0, _extend.extend)(true, {}, options.label, lineOptions.label) } }, _createLines: function(options, sharpParam, group) { var lines = []; var canvas = this._canvas; var points = [canvas.left, canvas.top, canvas.left, canvas.top]; for (var i = 0; i < 2; i++) { lines.push(this._renderer.path(points, "line").attr(options).sharp(sharpParam).append(group)) } return lines }, render: function() { var renderer = this._renderer; var options = this._options; var verticalOptions = options.vertical; var horizontalOptions = options.horizontal; var extraOptions = horizontalOptions.visible ? horizontalOptions.line : verticalOptions.line; var circleOptions = { stroke: extraOptions.stroke, "stroke-width": extraOptions["stroke-width"], dashStyle: extraOptions.dashStyle, opacity: extraOptions.opacity }; var canvas = this._canvas; this._horizontal = {}; this._vertical = {}; this._circle = renderer.circle(canvas.left, canvas.top, 0).attr(circleOptions).append(this._crosshairGroup); this._horizontalGroup = renderer.g().append(this._crosshairGroup); this._verticalGroup = renderer.g().append(this._crosshairGroup); if (verticalOptions.visible) { this._vertical.lines = this._createLines(verticalOptions.line, "h", this._verticalGroup); this._vertical.labels = this._createLabels(this._axes[0], verticalOptions, false, this._verticalGroup) } if (horizontalOptions.visible) { this._horizontal.lines = this._createLines(horizontalOptions.line, "v", this._horizontalGroup); this._horizontal.labels = this._createLabels(this._axes[1], horizontalOptions, true, this._horizontalGroup) } this.hide() }, _createLabels: function(axes, options, isHorizontal, group) { var canvas = this._canvas; var renderer = this._renderer; var x; var y; var text; var labels = []; var background; var currentLabelPos; var labelOptions = options.label; if (labelOptions.visible) { axes.forEach((function(axis) { var position = axis.getOptions().position; if (axis.getTranslator().getBusinessRange().isEmpty()) { return } currentLabelPos = axis.getLabelsPosition(); if (isHorizontal) { y = canvas.top; x = currentLabelPos } else { x = canvas.left; y = currentLabelPos } var align = "top" === position || "bottom" === position ? "center" : "right" === position ? "left" : "right"; background = renderer.rect(0, 0, 0, 0).attr({ fill: labelOptions.backgroundColor || options.line.stroke }).append(group); text = renderer.text("0", 0, 0).css((0, _utils.patchFontOptions)(options.label.font)).attr({ align: align, class: labelOptions.cssClass }).append(group); labels.push({ text: text, background: background, axis: axis, options: labelOptions, pos: { coord: currentLabelPos, side: position }, startXY: { x: x, y: y } }) })) } return labels }, _updateText: function(value, axisName, labels, point, func) { var that = this; labels.forEach((function(label) { var axis = label.axis; var coord = label.startXY; var textElement = label.text; var backgroundElement = label.background; var text = ""; if (!axis.name || axis.name === axisName) { text = axis.getFormattedValue(value, label.options, point) } if (text) { textElement.attr({ text: text, x: coord.x, y: coord.y }); textElement.attr(func(textElement.getBBox(), label.pos.side, coord)); that._updateLinesCanvas(label); backgroundElement.attr(getRectangleBBox(textElement.getBBox())) } else { textElement.attr({ text: "" }); backgroundElement.attr({ x: 0, y: 0, width: 0, height: 0 }) } })) }, hide: function() { this._crosshairGroup.attr({ visibility: "hidden" }) }, _updateLinesCanvas: function(label) { var position = label.pos.side; var labelCoord = label.pos.coord; var coords = this._linesCanvas; var canvas = this._canvas; coords[position] = coords[position] !== canvas[position] && mathAbs(coords[position] - canvas[position]) < mathAbs(labelCoord - canvas[position]) ? coords[position] : labelCoord }, _updateLines: function(lines, x, y, r, isHorizontal) { var coords = this._linesCanvas; var canvas = this._canvas; var points = isHorizontal ? [ [mathMin(x - r, coords.left), canvas.top, x - r, canvas.top], [x + r, canvas.top, mathMax(coords.right, x + r), canvas.top] ] : [ [canvas.left, mathMin(coords.top, y - r), canvas.left, y - r], [canvas.left, y + r, canvas.left, mathMax(coords.bottom, y + r)] ]; for (var i = 0; i < 2; i++) { lines[i].attr({ points: points[i] }).sharp(isHorizontal ? "v" : "h", isHorizontal ? y === canvas.bottom ? -1 : 1 : x === canvas.right ? -1 : 1) } }, _resetLinesCanvas: function() { var canvas = this._canvas; this._linesCanvas = { left: canvas.left, right: canvas.right, top: canvas.top, bottom: canvas.bottom } }, _getClipRectForPane: function(x, y) { var panes = this._panes; var i; var coords; for (i = 0; i < panes.length; i++) { coords = panes[i].coords; if (coords.left <= x && coords.right >= x && coords.top <= y && coords.bottom >= y) { return panes[i].clipRect } } return { id: null } }, show: function(data) { var point = data.point; var pointData = point.getCrosshairData(data.x, data.y); var r = point.getPointRadius(); var horizontal = this._horizontal; var vertical = this._vertical; var rad = !r ? 0 : r + 3; var canvas = this._canvas; var x = mathFloor(pointData.x); var y = mathFloor(pointData.y); if (x >= canvas.left && x <= canvas.right && y >= canvas.top && y <= canvas.bottom) { this._crosshairGroup.attr({ visibility: "visible" }); this._resetLinesCanvas(); this._circle.attr({ cx: x, cy: y, r: rad, "clip-path": this._getClipRectForPane(x, y).id }); if (horizontal.lines) { this._updateText(pointData.yValue, pointData.axis, horizontal.labels, point, getLabelCheckerPosition(x, y, true, canvas)); this._updateLines(horizontal.lines, x, y, rad, true); this._horizontalGroup.attr({ translateY: y - canvas.top }) } if (vertical.lines) { this._updateText(pointData.xValue, pointData.axis, vertical.labels, point, getLabelCheckerPosition(x, y, false, canvas)); this._updateLines(vertical.lines, x, y, rad, false); this._verticalGroup.attr({ translateX: x - canvas.left }) } } else { this.hide() } } } }, 21495: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/chart_components/layout_manager.js ***! \************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.LayoutManager = LayoutManager; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _consts = (obj = __webpack_require__( /*! ../components/consts */ 32410), obj && obj.__esModule ? obj : { default: obj }); var obj; var _layout_element = __webpack_require__( /*! ../core/layout_element */ 73711); var floor = Math.floor, sqrt = Math.sqrt; var _min = Math.min; var _max = Math.max; var RADIAL_LABEL_INDENT = _consts.default.radialLabelIndent; function getNearestCoord(firstCoord, secondCoord, pointCenterCoord) { var nearestCoord; if (pointCenterCoord < firstCoord) { nearestCoord = firstCoord } else if (secondCoord < pointCenterCoord) { nearestCoord = secondCoord } else { nearestCoord = pointCenterCoord } return nearestCoord } function getLabelLayout(point) { if (point._label.isVisible() && "inside" !== point._label.getLayoutOptions().position) { return point._label.getBoundingRect() } } function getPieRadius(series, paneCenterX, paneCenterY, accessibleRadius, minR) { series.some((function(singleSeries) { return singleSeries.getVisiblePoints().reduce((function(radiusIsFound, point) { var labelBBox = getLabelLayout(point); if (labelBBox) { var xCoords = getNearestCoord(labelBBox.x, labelBBox.x + labelBBox.width, paneCenterX); var yCoords = getNearestCoord(labelBBox.y, labelBBox.y + labelBBox.height, paneCenterY); accessibleRadius = _min(_max(function(x, y, paneCenterX, paneCenterY) { return sqrt((x - paneCenterX) * (x - paneCenterX) + (y - paneCenterY) * (y - paneCenterY)) }(xCoords, yCoords, paneCenterX, paneCenterY) - RADIAL_LABEL_INDENT, minR), accessibleRadius); radiusIsFound = true } return radiusIsFound }), false) })); return accessibleRadius } function getSizeLabels(series) { return series.reduce((function(res, singleSeries) { var maxWidth = singleSeries.getVisiblePoints().reduce((function(width, point) { var labelBBox = getLabelLayout(point); if (labelBBox && labelBBox.width > width) { width = labelBBox.width } return width }), 0); var rWidth = maxWidth; if (maxWidth) { res.outerLabelsCount++; if (res.outerLabelsCount > 1) { maxWidth += _consts.default.pieLabelSpacing } rWidth += _consts.default.pieLabelSpacing } res.sizes.push(maxWidth); res.rSizes.push(rWidth); res.common += maxWidth; return res }), { sizes: [], rSizes: [], common: 0, outerLabelsCount: 0 }) } function correctLabelRadius(labelSizes, radius, series, canvas, averageWidthLabels, centerX) { var curRadius; var i; var runningWidth = 0; var sizes = labelSizes.sizes; var rSizes = labelSizes.rSizes; for (i = 0; i < series.length; i++) { if (0 === sizes[i]) { curRadius && (curRadius += rSizes[i - 1]); continue } curRadius = floor(curRadius ? curRadius + rSizes[i - 1] : radius); series[i].correctLabelRadius(curRadius); runningWidth += averageWidthLabels || sizes[i]; rSizes[i] = averageWidthLabels || rSizes[i]; series[i].setVisibleArea({ left: floor(centerX - radius - runningWidth), right: floor(canvas.width - (centerX + radius + runningWidth)), top: canvas.top, bottom: canvas.bottom, width: canvas.width, height: canvas.height }) } } function getInnerRadius(_ref) { var type = _ref.type, innerRadius = _ref.innerRadius; return "pie" === type ? 0 : (0, _type.isNumeric)(innerRadius) ? Number(innerRadius) : .5 } function LayoutManager() {} function getAverageLabelWidth(centerX, radius, canvas, sizeLabels) { return (centerX - radius - RADIAL_LABEL_INDENT - canvas.left) / sizeLabels.outerLabelsCount } function correctAvailableRadius(availableRadius, canvas, series, minR, paneCenterX, paneCenterY) { var sizeLabels = getSizeLabels(series); var averageWidthLabels; var fullRadiusWithLabels = function(centerX, canvas, sizeLabels) { return centerX - canvas.left - (sizeLabels.outerLabelsCount > 0 ? sizeLabels.common + RADIAL_LABEL_INDENT : 0) }(paneCenterX, canvas, sizeLabels); if (fullRadiusWithLabels < minR) { availableRadius = minR; averageWidthLabels = getAverageLabelWidth(paneCenterX, availableRadius, canvas, sizeLabels) } else { availableRadius = _min(getPieRadius(series, paneCenterX, paneCenterY, availableRadius, minR), fullRadiusWithLabels) } correctLabelRadius(sizeLabels, availableRadius + RADIAL_LABEL_INDENT, series, canvas, averageWidthLabels, paneCenterX); return availableRadius } function toLayoutElementCoords(canvas) { return new _layout_element.WrapperLayoutElement(null, { x: canvas.left, y: canvas.top, width: canvas.width - canvas.left - canvas.right, height: canvas.height - canvas.top - canvas.bottom }) } LayoutManager.prototype = { constructor: LayoutManager, setOptions: function(options) { this._options = options }, applyPieChartSeriesLayout: function(canvas, series, hideLayoutLabels) { var paneSpaceHeight = canvas.height - canvas.top - canvas.bottom; var paneSpaceWidth = canvas.width - canvas.left - canvas.right; var paneCenterX = paneSpaceWidth / 2 + canvas.left; var paneCenterY = paneSpaceHeight / 2 + canvas.top; var piePercentage = this._options.piePercentage; var availableRadius; var minR; if ((0, _type.isNumeric)(piePercentage)) { availableRadius = minR = piePercentage * _min(canvas.height, canvas.width) / 2 } else { availableRadius = _min(paneSpaceWidth, paneSpaceHeight) / 2; minR = this._options.minPiePercentage * availableRadius } if (!hideLayoutLabels) { availableRadius = correctAvailableRadius(availableRadius, canvas, series, minR, paneCenterX, paneCenterY) } return { centerX: floor(paneCenterX), centerY: floor(paneCenterY), radiusInner: floor(availableRadius * getInnerRadius(series[0])), radiusOuter: floor(availableRadius) } }, applyEqualPieChartLayout: function(series, layout) { var radius = layout.radius; return { centerX: floor(layout.x), centerY: floor(layout.y), radiusInner: floor(radius * getInnerRadius(series[0])), radiusOuter: floor(radius) } }, correctPieLabelRadius: function(series, layout, canvas) { var sizeLabels = getSizeLabels(series); var averageWidthLabels; var radius = layout.radiusOuter + RADIAL_LABEL_INDENT; var availableLabelWidth = layout.centerX - canvas.left - radius; if (sizeLabels.common + RADIAL_LABEL_INDENT > availableLabelWidth) { averageWidthLabels = getAverageLabelWidth(layout.centerX, layout.radiusOuter, canvas, sizeLabels) } correctLabelRadius(sizeLabels, radius, series, canvas, averageWidthLabels, layout.centerX) }, needMoreSpaceForPanesCanvas: function(panes, rotated, fixedSizeCallback) { var options = this._options; var width = options.width; var height = options.height; var piePercentage = options.piePercentage; var percentageIsValid = (0, _type.isNumeric)(piePercentage); var needHorizontalSpace = 0; var needVerticalSpace = 0; panes.forEach((function(pane) { var paneCanvas = pane.canvas; var minSize = percentageIsValid ? _min(paneCanvas.width, paneCanvas.height) * piePercentage : void 0; var paneSized = fixedSizeCallback ? fixedSizeCallback(pane) : { width: false, height: false }; var needPaneHorizontalSpace = !paneSized.width ? (percentageIsValid ? minSize : width) - (paneCanvas.width - paneCanvas.left - paneCanvas.right) : 0; var needPaneVerticalSpace = !paneSized.height ? (percentageIsValid ? minSize : height) - (paneCanvas.height - paneCanvas.top - paneCanvas.bottom) : 0; if (rotated) { needHorizontalSpace += needPaneHorizontalSpace > 0 ? needPaneHorizontalSpace : 0; needVerticalSpace = _max(needPaneVerticalSpace > 0 ? needPaneVerticalSpace : 0, needVerticalSpace) } else { needHorizontalSpace = _max(needPaneHorizontalSpace > 0 ? needPaneHorizontalSpace : 0, needHorizontalSpace); needVerticalSpace += needPaneVerticalSpace > 0 ? needPaneVerticalSpace : 0 } })); return needHorizontalSpace > 0 || needVerticalSpace > 0 ? { width: needHorizontalSpace, height: needVerticalSpace } : false }, layoutInsideLegend: function(legend, canvas) { var layoutOptions = legend.getLayoutOptions(); if (!layoutOptions) { return } var position = layoutOptions.position; var cutSide = layoutOptions.cutSide; var my = { horizontal: position.horizontal, vertical: position.vertical }; canvas[layoutOptions.cutLayoutSide] += "horizontal" === layoutOptions.cutSide ? layoutOptions.width : layoutOptions.height; my[cutSide] = { left: "right", right: "left", top: "bottom", bottom: "top", center: "center" } [my[cutSide]]; legend.position({ of: toLayoutElementCoords(canvas), my: my, at: position }) } } }, 42597: /*!*********************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/chart_components/multi_axes_synchronizer.js ***! \*********************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; __webpack_require__( /*! ../../core/utils/console */ 30869); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _math2 = __webpack_require__( /*! ../../core/utils/math */ 60810); var _math = Math; var _floor = _math.floor; var _max = _math.max; var _abs = _math.abs; function convertAxisInfo(axisInfo, converter) { if (!axisInfo.isLogarithmic) { return } var base = axisInfo.logarithmicBase; var tickValues = axisInfo.tickValues; axisInfo.minValue = converter.transform(axisInfo.minValue, base); axisInfo.oldMinValue = converter.transform(axisInfo.oldMinValue, base); axisInfo.maxValue = converter.transform(axisInfo.maxValue, base); axisInfo.oldMaxValue = converter.transform(axisInfo.oldMaxValue, base); axisInfo.tickInterval = _math.round(axisInfo.tickInterval); if (axisInfo.tickInterval < 1) { axisInfo.tickInterval = 1 } var ticks = converter.getTicks(axisInfo.tickInterval, tickValues, base); ticks.tickInterval = axisInfo.tickInterval; axisInfo.tickValues = ticks } function populateAxesInfo(axes) { return axes.reduce((function(result, axis) { var ticksValues = axis.getTicksValues(); var majorTicks = ticksValues.majorTicksValues; var options = axis.getOptions(); var businessRange = axis.getTranslator().getBusinessRange(); var visibleArea = axis.getVisibleArea(); var axisInfo; var tickInterval = axis._tickInterval; var synchronizedValue = options.synchronizedValue; var action = axis.getViewport().action; if (majorTicks && majorTicks.length > 0 && (0, _type.isNumeric)(majorTicks[0]) && "discrete" !== options.type && !businessRange.isEmpty() && !(businessRange.breaks && businessRange.breaks.length) && "zoom" !== action && "pan" !== action) { axis.applyMargins(); var startValue = axis.getTranslator().from(visibleArea[0]); var endValue = axis.getTranslator().from(visibleArea[1]); var minValue = startValue < endValue ? startValue : endValue; var maxValue = startValue < endValue ? endValue : startValue; if (minValue === maxValue && (0, _type.isDefined)(synchronizedValue)) { tickInterval = _abs(majorTicks[0] - synchronizedValue) || 1; minValue = majorTicks[0] - tickInterval; maxValue = majorTicks[0] + tickInterval } axisInfo = { axis: axis, isLogarithmic: "logarithmic" === options.type, logarithmicBase: businessRange.base, tickValues: majorTicks, minorValues: ticksValues.minorTicksValues, minorTickInterval: axis._minorTickInterval, minValue: minValue, oldMinValue: minValue, maxValue: maxValue, oldMaxValue: maxValue, inverted: businessRange.invert, tickInterval: tickInterval, synchronizedValue: synchronizedValue }; convertAxisInfo(axisInfo, (br = axis.getTranslator().getBusinessRange(), { transform: function(v, b) { return (0, _math2.adjust)((0, _utils.getLogExt)(v, b, br.allowNegatives, br.linearThreshold)) }, getTicks: function(interval, tickValues, base) { var ticks = []; var tick = this.transform(tickValues[0], base); while (ticks.length < tickValues.length) { ticks.push(tick); tick = (0, _math2.adjust)(tick + interval) } return ticks } })); result.push(axisInfo) } var br; return result }), []) } function getAxisRange(axisInfo) { return axisInfo.maxValue - axisInfo.minValue || 1 } function getMainAxisInfo(axesInfo) { for (var i = 0; i < axesInfo.length; i++) { if (!axesInfo[i].stubData) { return axesInfo[i] } } return null } var multiAxesSynchronizer = { synchronize: function(valueAxes) { (0, _iterator.each)(function(valueAxes) { var result = {}; valueAxes.forEach((function(axis) { var pane = axis.pane; if (!result[pane]) { result[pane] = [] } result[pane].push(axis) })); return result }(valueAxes), (function(_, axes) { var axesInfo; var paddings; if (axes.length > 1) { axesInfo = populateAxesInfo(axes); if (axesInfo.length < 2 || !getMainAxisInfo(axesInfo)) { return }! function(axesInfo) { var maxTicksCount = axesInfo.reduce((function(max, axisInfo) { return _max(max, axisInfo.tickValues.length) }), 0); axesInfo.forEach((function(axisInfo) { var ticksMultiplier; var ticksCount; var additionalStartTicksCount = 0; var synchronizedValue = axisInfo.synchronizedValue; var tickValues = axisInfo.tickValues; var tickInterval = axisInfo.tickInterval; if ((0, _type.isDefined)(synchronizedValue)) { axisInfo.baseTickValue = axisInfo.invertedBaseTickValue = synchronizedValue; axisInfo.tickValues = [axisInfo.baseTickValue] } else { if (tickValues.length > 1 && tickInterval) { ticksMultiplier = _floor((maxTicksCount + 1) / tickValues.length); ticksCount = ticksMultiplier > 1 ? _floor((maxTicksCount + 1) / ticksMultiplier) : maxTicksCount; additionalStartTicksCount = _floor((ticksCount - tickValues.length) / 2); while (additionalStartTicksCount > 0 && 0 !== tickValues[0]) { tickValues.unshift((0, _math2.adjust)(tickValues[0] - tickInterval)); additionalStartTicksCount-- } while (tickValues.length < ticksCount) { tickValues.push((0, _math2.adjust)(tickValues[tickValues.length - 1] + tickInterval)) } axisInfo.tickInterval = tickInterval / ticksMultiplier } axisInfo.baseTickValue = tickValues[0]; axisInfo.invertedBaseTickValue = tickValues[tickValues.length - 1] } })) }(axesInfo); ! function(axesInfo) { var mainAxisInfo = getMainAxisInfo(axesInfo); var mainAxisInfoTickInterval = mainAxisInfo.tickInterval; axesInfo.forEach((function(axisInfo) { var scale; var move; var mainAxisBaseValueOffset; var valueFromAxisInfo; if (axisInfo !== mainAxisInfo) { if (mainAxisInfoTickInterval && axisInfo.tickInterval) { if (axisInfo.stubData && (0, _type.isDefined)(axisInfo.synchronizedValue)) { axisInfo.oldMinValue = axisInfo.minValue = axisInfo.baseTickValue - (mainAxisInfo.baseTickValue - mainAxisInfo.minValue) / mainAxisInfoTickInterval * axisInfo.tickInterval; axisInfo.oldMaxValue = axisInfo.maxValue = axisInfo.baseTickValue - (mainAxisInfo.baseTickValue - mainAxisInfo.maxValue) / mainAxisInfoTickInterval * axisInfo.tickInterval } scale = mainAxisInfoTickInterval / getAxisRange(mainAxisInfo) / axisInfo.tickInterval * getAxisRange(axisInfo); axisInfo.maxValue = axisInfo.minValue + getAxisRange(axisInfo) / scale } if (mainAxisInfo.inverted && !axisInfo.inverted || !mainAxisInfo.inverted && axisInfo.inverted) { mainAxisBaseValueOffset = mainAxisInfo.maxValue - mainAxisInfo.invertedBaseTickValue } else { mainAxisBaseValueOffset = mainAxisInfo.baseTickValue - mainAxisInfo.minValue } valueFromAxisInfo = getAxisRange(axisInfo); move = (mainAxisBaseValueOffset / getAxisRange(mainAxisInfo) - (axisInfo.baseTickValue - axisInfo.minValue) / valueFromAxisInfo) * valueFromAxisInfo; axisInfo.minValue -= move; axisInfo.maxValue -= move } })) }(axesInfo); paddings = function(axesInfo) { var minPadding; var maxPadding; var startPadding = 0; var endPadding = 0; axesInfo.forEach((function(axisInfo) { var inverted = axisInfo.inverted; minPadding = axisInfo.minValue > axisInfo.oldMinValue ? (axisInfo.minValue - axisInfo.oldMinValue) / getAxisRange(axisInfo) : 0; maxPadding = axisInfo.maxValue < axisInfo.oldMaxValue ? (axisInfo.oldMaxValue - axisInfo.maxValue) / getAxisRange(axisInfo) : 0; startPadding = _max(startPadding, inverted ? maxPadding : minPadding); endPadding = _max(endPadding, inverted ? minPadding : maxPadding) })); return { start: startPadding, end: endPadding } }(axesInfo); paddings = function(axesInfo, paddings) { return axesInfo.reduce((function(prev, info) { var inverted = info.inverted; var _info$axis$getCorrect = info.axis.getCorrectedValuesToZero(info.minValue, info.maxValue), start = _info$axis$getCorrect.start, end = _info$axis$getCorrect.end; if ((0, _type.isDefined)(start) || (0, _type.isDefined)(end)) { return inverted ? { start: prev.start, end: Math.min(prev.end, end) } : { start: Math.min(prev.start, start), end: prev.end } } return prev }), paddings) }(axesInfo, paddings); ! function(axesInfo, paddings) { axesInfo.forEach((function(info) { var range = getAxisRange(info); var inverted = info.inverted; info.minValue = (0, _math2.adjust)(info.minValue - paddings[inverted ? "end" : "start"] * range); info.maxValue = (0, _math2.adjust)(info.maxValue + paddings[inverted ? "start" : "end"] * range) })) }(axesInfo, paddings); ! function(axesInfo) { var invalidAxisInfo = []; var correctValue; axesInfo.forEach((function(info) { if (info.oldMaxValue - info.oldMinValue === 0) { invalidAxisInfo.push(info) } else if (!(0, _type.isDefined)(correctValue) && !(0, _type.isDefined)(info.synchronizedValue)) { correctValue = _abs((info.maxValue - info.minValue) / (info.tickValues[_floor(info.tickValues.length / 2)] - info.minValue || info.maxValue)) } })); if (!(0, _type.isDefined)(correctValue)) { return } invalidAxisInfo.forEach((function(info) { var firstTick = info.tickValues[0]; var correctedTick = firstTick * correctValue; if (firstTick > 0) { info.maxValue = correctedTick; info.minValue = 0 } else if (firstTick < 0) { info.minValue = correctedTick; info.maxValue = 0 } })) }(axesInfo); ! function(axesInfo) { var hasSynchronizedValue = false; axesInfo.forEach((function(info) { hasSynchronizedValue = hasSynchronizedValue || (0, _type.isDefined)(info.synchronizedValue) })); axesInfo.forEach((function(info) { var tickInterval = info.tickInterval; var tickValues = info.tickValues; var maxValue = info.maxValue; var minValue = info.minValue; var tick; if (hasSynchronizedValue && tickInterval) { while ((tick = (0, _math2.adjust)(tickValues[0] - tickInterval)) >= minValue) { tickValues.unshift(tick) } tick = tickValues[tickValues.length - 1]; while ((tick = (0, _math2.adjust)(tick + tickInterval)) <= maxValue) { tickValues.push(tick) } } while (tickValues[0] + tickInterval / 10 < minValue) { tickValues.shift() } while (tickValues[tickValues.length - 1] - tickInterval / 10 > maxValue) { tickValues.pop() } })) }(axesInfo); ! function(axesInfo) { axesInfo.forEach((function(axisInfo) { if (!axisInfo.minorTickInterval) { return } var ticks = []; var interval = axisInfo.minorTickInterval; var tickCount = axisInfo.tickInterval / interval - 1; for (var i = 1; i < axisInfo.tickValues.length; i++) { var tick = axisInfo.tickValues[i - 1]; for (var j = 0; j < tickCount; j++) { tick += interval; ticks.push(tick) } } axisInfo.minorValues = ticks })) }(axesInfo); axesInfo.forEach((function(info) { convertAxisInfo(info, (br = info.axis.getTranslator().getBusinessRange(), { transform: function(v, b) { return (0, _math2.adjust)((0, _utils.raiseToExt)(v, b, br.allowNegatives, br.linearThreshold)) }, getTicks: function(interval, tickValues, base) { var ticks = []; var tick; for (var i = 0; i < tickValues.length; i += 1) { tick = this.transform(tickValues[i], base); ticks.push(tick) } return ticks } })); var br })); ! function(axesInfo) { axesInfo.forEach((function(info) { var axis = info.axis; var range = axis.getTranslator().getBusinessRange(); if (range.min === range.minVisible) { range.min = info.minValue } if (range.max === range.maxVisible) { range.max = info.maxValue } range.minVisible = info.minValue; range.maxVisible = info.maxValue; if (range.min > range.minVisible) { range.min = range.minVisible } if (range.max < range.maxVisible) { range.max = range.maxVisible } axis.getTranslator().updateBusinessRange(range); axis.setTicks({ majorTicks: info.tickValues, minorTicks: info.minorValues }) })) }(axesInfo) } })) } }; var _default = multiAxesSynchronizer; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 97882: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/chart_components/scroll_bar.js ***! \********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.ScrollBar = void 0; var _events_engine = (obj = __webpack_require__( /*! ../../events/core/events_engine */ 55994), obj && obj.__esModule ? obj : { default: obj }); var obj; var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _translator2d = __webpack_require__( /*! ../translators/translator2d */ 87276); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _drag = __webpack_require__( /*! ../../events/drag */ 23174); var _min = Math.min; var _max = Math.max; var ScrollBar = function(renderer, group) { this._translator = new _translator2d.Translator2D({}, {}, {}); this._scroll = renderer.rect().append(group); this._addEvents() }; exports.ScrollBar = ScrollBar; function _getXCoord(canvas, pos, offset, width) { var x = 0; if ("right" === pos) { x = canvas.width - canvas.right + offset } else if ("left" === pos) { x = canvas.left - offset - width } return x } function _getYCoord(canvas, pos, offset, width) { var y = 0; if ("top" === pos) { y = canvas.top - offset } else if ("bottom" === pos) { y = canvas.height - canvas.bottom + width + offset } return y } ScrollBar.prototype = { _addEvents: function() { var _this = this; var scrollElement = this._scroll.element; _events_engine.default.on(scrollElement, _drag.start, (function(e) { (0, _index.fireEvent)({ type: "dxc-scroll-start", originalEvent: e, target: scrollElement }) })); _events_engine.default.on(scrollElement, _drag.move, (function(e) { var dX = -e.offset.x * _this._scale; var dY = -e.offset.y * _this._scale; var lx = _this._offset - (_this._layoutOptions.vertical ? dY : dX) / _this._scale; _this._applyPosition(lx, lx + _this._translator.canvasLength / _this._scale); (0, _index.fireEvent)({ type: "dxc-scroll-move", originalEvent: e, target: scrollElement, offset: { x: dX, y: dY } }) })); _events_engine.default.on(scrollElement, _drag.end, (function(e) { (0, _index.fireEvent)({ type: "dxc-scroll-end", originalEvent: e, target: scrollElement, offset: { x: -e.offset.x * _this._scale, y: -e.offset.y * _this._scale } }) })) }, update: function(options) { var position = options.position; var isVertical = options.rotated; var defaultPosition = isVertical ? "right" : "top"; var secondaryPosition = isVertical ? "left" : "bottom"; if (position !== defaultPosition && position !== secondaryPosition) { position = defaultPosition } this._scroll.attr({ rotate: !options.rotated ? -90 : 0, rotateX: 0, rotateY: 0, fill: options.color, width: options.width, opacity: options.opacity }); this._layoutOptions = { width: options.width, offset: options.offset, vertical: isVertical, position: position }; return this }, init: function(range, stick) { var isDiscrete = "discrete" === range.axisType; this._translateWithOffset = isDiscrete && !stick ? 1 : 0; this._translator.update((0, _extend.extend)({}, range, { minVisible: null, maxVisible: null, visibleCategories: null }, isDiscrete && { min: null, max: null } || {}), this._canvas, { isHorizontal: !this._layoutOptions.vertical, stick: stick }); return this }, getOptions: function() { return this._layoutOptions }, setPane: function(panes) { var position = this._layoutOptions.position; var pane; if ("left" === position || "top" === position) { pane = panes[0] } else { pane = panes[panes.length - 1] } this.pane = pane.name; return this }, updateSize: function(canvas) { this._canvas = (0, _extend.extend)({}, canvas); var options = this._layoutOptions; var pos = options.position; var offset = options.offset; var width = options.width; this._scroll.attr({ translateX: _getXCoord(canvas, pos, offset, width), translateY: _getYCoord(canvas, pos, offset, width) }) }, getMultipleAxesSpacing: function() { return 0 }, estimateMargins: function() { return this.getMargins() }, getMargins: function() { var options = this._layoutOptions; var margins = { left: 0, top: 0, right: 0, bottom: 0 }; margins[options.position] = options.width + options.offset; return margins }, shift: function(margins) { var _that$_scroll$attr, _that$_scroll$attr2; var options = this._layoutOptions; var side = options.position; var isVertical = options.vertical; var attr = { translateX: null !== (_that$_scroll$attr = this._scroll.attr("translateX")) && void 0 !== _that$_scroll$attr ? _that$_scroll$attr : 0, translateY: null !== (_that$_scroll$attr2 = this._scroll.attr("translateY")) && void 0 !== _that$_scroll$attr2 ? _that$_scroll$attr2 : 0 }; var shift = margins[side]; attr[isVertical ? "translateX" : "translateY"] += ("left" === side || "top" === side ? -1 : 1) * shift; this._scroll.attr(attr) }, hideTitle: _common.noop, hideOuterElements: _common.noop, setPosition: function(min, max) { var translator = this._translator; var minPoint = (0, _type.isDefined)(min) ? translator.translate(min, -this._translateWithOffset) : translator.translate("canvas_position_start"); var maxPoint = (0, _type.isDefined)(max) ? translator.translate(max, this._translateWithOffset) : translator.translate("canvas_position_end"); this._offset = _min(minPoint, maxPoint); this._scale = translator.getScale(min, max); this._applyPosition(_min(minPoint, maxPoint), _max(minPoint, maxPoint)) }, customPositionIsAvailable: function() { return false }, dispose: function() { this._scroll.dispose(); this._scroll = this._translator = null }, _applyPosition: function(x1, x2) { var visibleArea = this._translator.getCanvasVisibleArea(); x1 = _max(x1, visibleArea.min); x1 = _min(x1, visibleArea.max); x2 = _min(x2, visibleArea.max); x2 = _max(x2, visibleArea.min); var height = Math.abs(x2 - x1); this._scroll.attr({ y: x1, height: height < 2 ? 2 : height }) } } }, 70714: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/chart_components/shutter_zoom.js ***! \**********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _drag = __webpack_require__( /*! ../../events/drag */ 23174); var DRAG_START_EVENT_NAME = _drag.start + ".shutter-zoom"; var DRAG_UPDATE_EVENT_NAME = _drag.move + ".shutter-zoom"; var DRAG_END_EVENT_NAME = _drag.end + ".shutter-zoom"; function getPointerCoord(rootOffset, canvas, rotated, e) { var coord = Math.floor(rotated ? e.pageY - rootOffset.top : e.pageX - rootOffset.left); var min = rotated ? canvas.y1 : canvas.x1; var max = rotated ? canvas.y2 : canvas.x2; if (coord < min) { coord = min } else if (coord > max) { coord = max } return coord } function shutterZoom(options) { var chart = options.chart; var renderer = options.renderer; var rotated = options.rotated; var rect = renderer.rect(0, 0, 0, 0).attr(options.shutterOptions); var shutter = { rect: rect, root: renderer.root, rotated: rotated, triggerStart: function() { chart._eventTrigger("zoomStart") }, triggerEnd: function() { var tr = chart._argumentAxes[0].getTranslator(); var rangeStart = Math.min(this.startCoord, this.curCoord); var rangeEnd = Math.max(this.startCoord, this.curCoord); chart._eventTrigger("zoomEnd", { rangeStart: tr.from(rangeStart), rangeEnd: tr.from(rangeEnd) }) }, dispose: function() { renderer.root.off(".shutter-zoom"); rect.dispose() }, getRootOffset: function() { return renderer.getRootOffset() }, getCanvas: function() { var canvas = chart._canvas; var panes = chart.panes; var firstPane = panes[0].canvas; var lastPane = panes[panes.length - 1].canvas; return { x1: firstPane.left, y1: firstPane.top, x2: canvas.width - lastPane.right, y2: canvas.height - lastPane.bottom, width: canvas.width - firstPane.left - lastPane.right, height: canvas.height - firstPane.top - lastPane.bottom } } }; renderer.root.off(".shutter-zoom").on(DRAG_START_EVENT_NAME, { direction: rotated ? "vertical" : "horizontal", immediate: true }, (ctx = shutter, function(e) { var offset = ctx.getRootOffset(); var canvas = ctx.getCanvas(); if (! function(rootOffset, canvas, e) { var x = e.pageX - rootOffset.left; var y = e.pageY - rootOffset.top; return x >= canvas.x1 && x <= canvas.x2 && y >= canvas.y1 && y <= canvas.y2 }(offset, canvas, e)) { e.cancel = true; return } ctx.rootOffset = offset; ctx.canvas = canvas; ctx.startCoord = getPointerCoord(offset, canvas, ctx.rotated, e); ctx.triggerStart(); ctx.rect.attr({ x: canvas.x1, y: canvas.y1, width: canvas.width, height: canvas.height }).append(ctx.root) })).on(DRAG_UPDATE_EVENT_NAME, function(ctx) { return function(e) { var curCoord = getPointerCoord(ctx.rootOffset, ctx.canvas, ctx.rotated, e); var attr = {}; ctx.curCoord = curCoord; attr[ctx.rotated ? "y" : "x"] = Math.min(ctx.startCoord, curCoord); attr[ctx.rotated ? "height" : "width"] = Math.abs(ctx.startCoord - curCoord); ctx.rect.attr(attr) } }(shutter)).on(DRAG_END_EVENT_NAME, function(ctx) { return function(e) { ctx.triggerEnd(); ctx.rect.remove() } }(shutter)); var ctx; return shutter } var _default = { name: "shutter_zoom", init: function() { var options = this.option("shutterZoom") || {}; if (!options.enabled) { return } this._shutterZoom = shutterZoom({ chart: this, renderer: this._renderer, rotated: this.option("rotated"), shutterOptions: options }) }, dispose: function() { this._shutterZoom && this._shutterZoom.dispose() } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 19957: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/chart_components/tracker.js ***! \*****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.PieTracker = exports.ChartTracker = void 0; var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _click = __webpack_require__( /*! ../../events/click */ 95429); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _consts = _interopRequireDefault(__webpack_require__( /*! ../components/consts */ 32410)); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _errors = _interopRequireDefault(__webpack_require__( /*! ../../core/errors */ 17381)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _floor = Math.floor; var eventsConsts = _consts.default.events; var statesConsts = _consts.default.states; var HOVER_STATE = statesConsts.hoverMark; var NORMAL_STATE = statesConsts.normalMark; var EVENT_NS = "dxChartTracker"; var POINTER_ACTION = (0, _index.addNamespace)([_pointer.default.down, _pointer.default.move], EVENT_NS); var LEGEND_HOVER_MODES = ["includepoints", "excludepoints", "none"]; function getData(event, dataKey, tryCheckParent) { var target = event.target; if ("tspan" === target.tagName) { return target.parentNode[dataKey] } var data = target[dataKey]; if (tryCheckParent && !(0, _type.isDefined)(data)) { return function getParentData(node) { if (node.parentNode) { if ((0, _type.isDefined)(node.parentNode[dataKey])) { return node.parentNode[dataKey] } else { return getParentData(node.parentNode) } } return }(target) } return data } function eventCanceled(_ref, target, clickTarget) { var event = _ref.event, cancel = _ref.cancel; var deprecatedCancel = event.cancel; var eventCanceled = cancel || deprecatedCancel; if (deprecatedCancel) { _errors.default.log("W0003", "".concat(clickTarget, "Click handler argument"), "event.cancel", "22.1", "Use the 'cancel' field instead") } return eventCanceled || !target.getOptions() } function correctHoverMode(target) { var mode = target.getOptions().hoverMode; return "none" === mode ? mode : "allargumentpoints" } var baseTrackerPrototype = { ctor: function(options) { var that = this; var data = { tracker: that }; that._renderer = options.renderer; that._legend = options.legend; that._tooltip = options.tooltip; that._eventTrigger = options.eventTrigger; that._seriesGroup = options.seriesGroup; options.seriesGroup.off(".dxChartTracker").on((0, _index.addNamespace)(eventsConsts.showPointTooltip, EVENT_NS), data, that._showPointTooltip).on((0, _index.addNamespace)(eventsConsts.hidePointTooltip, EVENT_NS), data, that._hidePointTooltip); that._renderer.root.off(".dxChartTracker").on(POINTER_ACTION, data, that._pointerHandler).on((0, _index.addNamespace)(_pointer.default.up, EVENT_NS), (function() { return clearTimeout(that._holdTimer) })).on((0, _index.addNamespace)(_click.name, EVENT_NS), data, that._clickHandler) }, update: function(options) { this._chart = options.chart }, updateSeries: function(series, resetDecorations) { var that = this; var noHoveredSeries = !(null !== series && void 0 !== series && series.some((function(s) { return s === that.hoveredSeries })) || that._hoveredPoint && that._hoveredPoint.series); if (that._storedSeries !== series) { that._storedSeries = series || [] } if (noHoveredSeries) { that._clean(); that._renderer.initDefsElements() } if (resetDecorations) { that.clearSelection(); if (!noHoveredSeries) { that._hideTooltip(that.pointAtShownTooltip); that.clearHover() } } }, setCanvases: function(mainCanvas, paneCanvases) { this._mainCanvas = mainCanvas; this._canvases = paneCanvases }, repairTooltip: function() { var point = this.pointAtShownTooltip; if (!point || !point.series || !point.isVisible()) { this._hideTooltip(point, true) } else { this._showTooltip(point) } }, _setHoveredPoint: function(point) { if (point === this._hoveredPoint) { return } this._releaseHoveredPoint(); point.hover(); this._hoveredPoint = point }, _releaseHoveredPoint: function(isPointerOut) { if (this._hoveredPoint && this._hoveredPoint.getOptions()) { this._hoveredPoint.clearHover(); this._hoveredPoint = null; if (this._tooltip.isEnabled()) { this._hideTooltip(this._hoveredPoint, false, isPointerOut) } } }, _setHoveredSeries: function(series, mode) { this._releaseHoveredSeries(); this._releaseHoveredPoint(); series.hover(mode); this.hoveredSeries = series }, _releaseHoveredSeries: function() { if (this.hoveredSeries) { this.hoveredSeries.clearHover(); this.hoveredSeries = null } }, clearSelection: function() { this._storedSeries.forEach((function(series) { if (series) { series.clearSelection(); series.getPoints().forEach((function(point) { return point.clearSelection() })) } })) }, _clean: function() { this.hoveredPoint = this.hoveredSeries = this._hoveredArgumentPoints = null; this._hideTooltip(this.pointAtShownTooltip) }, clearHover: function(isPointerOut) { this._resetHoveredArgument(); this._releaseHoveredSeries(); this._releaseHoveredPoint(isPointerOut) }, _hideTooltip: function(point, silent, isPointerOut) { if (!this._tooltip || point && this.pointAtShownTooltip !== point) { return } if (!silent && this.pointAtShownTooltip) { this.pointAtShownTooltip = null } this._tooltip.hide(!!isPointerOut) }, _showTooltip: function(point) { var that = this; var tooltipFormatObject; var eventData = { target: point }; if (null !== point && void 0 !== point && point.getOptions()) { tooltipFormatObject = point.getTooltipFormatObject(that._tooltip, that._tooltip.isShared() && that._chart.getStackedPoints(point)); if (!(0, _type.isDefined)(tooltipFormatObject.valueText) && !tooltipFormatObject.points || !point.isVisible()) { return } var coords = point.getTooltipParams(that._tooltip.getLocation()); var rootOffset = that._renderer.getRootOffset(); coords.x += rootOffset.left; coords.y += rootOffset.top; var callback = function(result) { result && (that.pointAtShownTooltip = point) }; callback(that._tooltip.show(tooltipFormatObject, coords, eventData, void 0, callback)) } }, _showPointTooltip: function(event, point) { var that = event.data.tracker; var pointWithTooltip = that.pointAtShownTooltip; if (pointWithTooltip && pointWithTooltip !== point) { that._hideTooltip(pointWithTooltip) } that._showTooltip(point) }, _hidePointTooltip: function(event, point) { event.data.tracker._hideTooltip(point, false, true) }, _enableOutHandler: function() { if (this._outHandler) { return } var that = this; var handler = function(e) { var rootOffset = that._renderer.getRootOffset(); var x = _floor(e.pageX - rootOffset.left); var y = _floor(e.pageY - rootOffset.top); if (!(0, _utils.pointInCanvas)(that._mainCanvas, x, y) && !that._isCursorOnTooltip(e)) { that._pointerOut(); that._disableOutHandler() } }; _events_engine.default.on(_dom_adapter.default.getDocument(), POINTER_ACTION, handler); this._outHandler = handler }, _isCursorOnTooltip: function(e) { return this._tooltip.isEnabled() && this._tooltip.isCursorOnTooltip(e.pageX, e.pageY) }, _disableOutHandler: function() { this._outHandler && _events_engine.default.off(_dom_adapter.default.getDocument(), POINTER_ACTION, this._outHandler); this._outHandler = null }, stopCurrentHandling: function() { this._pointerOut(true) }, _pointerOut: function(force) { this.clearHover(true); (force || this._tooltip.isEnabled()) && this._hideTooltip(this.pointAtShownTooltip, false, true) }, _triggerLegendClick: function(eventArgs, elementClick) { var eventTrigger = this._eventTrigger; eventTrigger("legendClick", eventArgs, (function() { !eventCanceled(eventArgs, eventArgs.target, "legend") && eventTrigger(elementClick, eventArgs) })) }, _hoverLegendItem: function(x, y) { var item = this._legend.getItemByCoord(x, y); var series; var legendHoverMode = function(mode) { if (LEGEND_HOVER_MODES.indexOf(mode) > -1) { return mode } else { return "includepoints" } }(this._legend.getOptions().hoverMode); if (item) { series = this._storedSeries[item.id]; if (!series.isHovered() || series.lastHoverMode !== legendHoverMode) { this._setHoveredSeries(series, legendHoverMode) } this._tooltip.isEnabled() && this._hideTooltip(this.pointAtShownTooltip) } else { this.clearHover() } }, _hoverArgument: function(argument, argumentIndex) { var hoverMode = this._getArgumentHoverMode(); if ((0, _type.isDefined)(argument)) { this._releaseHoveredPoint(); this._hoveredArgument = argument; this._argumentIndex = argumentIndex; this._notifySeries({ action: "pointHover", notifyLegend: this._notifyLegendOnHoverArgument, target: { argument: argument, fullState: HOVER_STATE, argumentIndex: argumentIndex, getOptions: function() { return { hoverMode: hoverMode } } } }) } }, _resetHoveredArgument: function() { var hoverMode; if ((0, _type.isDefined)(this._hoveredArgument)) { hoverMode = this._getArgumentHoverMode(); this._notifySeries({ action: "clearPointHover", notifyLegend: this._notifyLegendOnHoverArgument, target: { fullState: NORMAL_STATE, argumentIndex: this._argumentIndex, argument: this._hoveredArgument, getOptions: function() { return { hoverMode: hoverMode } } } }); this._hoveredArgument = null } }, _notifySeries: function(data) { this._storedSeries.forEach((function(series) { series.notify(data) })) }, _pointerHandler: function(e) { var _series; var that = e.data.tracker; var rootOffset = that._renderer.getRootOffset(); var x = _floor(e.pageX - rootOffset.left); var y = _floor(e.pageY - rootOffset.top); var canvas = that._getCanvas(x, y); var series = getData(e, "chart-data-series"); var point = getData(e, "chart-data-point") || (null === (_series = series) || void 0 === _series ? void 0 : _series.getPointByCoord(x, y)); that._isHolding = false; clearTimeout(that._holdTimer); if (e.type === _pointer.default.down) { that._holdTimer = setTimeout((function() { return that._isHolding = true }), 300) } if (point && !point.getMarkerVisibility()) { point = void 0 } that._enableOutHandler(); if (that._legend.coordsIn(x, y)) { that._hoverLegendItem(x, y); return } if (that.hoveredSeries && that.hoveredSeries !== that._stuckSeries) { that._releaseHoveredSeries() } if (that._hoverArgumentAxis(x, y, e)) { return } if (that._isPointerOut(canvas, point)) { that._pointerOut() } if (!canvas && !point) { return } if (series && !point) { point = series.getNeighborPoint(x, y); if (!that._stickyHovering && point && !point.coordsIn(x, y)) { point = null } if (series !== that.hoveredSeries) { that._setTimeout((function() { that._setHoveredSeries(series); that._setStuckSeries(e, series, x, y); that._pointerComplete(point, x, y) }), series); return } } else if (point) { if (e.type !== _pointer.default.move && "touch" !== e.pointerType) { return } if (that.hoveredSeries) { that._setTimeout((function() { return that._pointerOnPoint(point, x, y, e) }), point) } else { that._pointerOnPoint(point, x, y, e) } return } else if (that._setStuckSeries(e, void 0, x, y) && that._stickyHovering) { var _point; series = that._stuckSeries; point = series.getNeighborPoint(x, y); that._releaseHoveredSeries(); (null === (_point = point) || void 0 === _point ? void 0 : _point.getMarkerVisibility()) && that._setHoveredPoint(point) } else if (!that._stickyHovering) { that._pointerOut() } that._pointerComplete(point, x, y) }, _pointerOnPoint: function(point, x, y) { this._resetHoveredArgument(); this._setHoveredPoint(point); this._pointerComplete(point, x, y) }, _pointerComplete: function(point) { this.pointAtShownTooltip !== point && this._tooltip.isEnabled() && this._showTooltip(point) }, _clickHandler: function(e) { var _point2; var that = e.data.tracker; if (that._isHolding) { return } var rootOffset = that._renderer.getRootOffset(); var x = _floor(e.pageX - rootOffset.left); var y = _floor(e.pageY - rootOffset.top); var point = getData(e, "chart-data-point"); var series = that._stuckSeries || getData(e, "chart-data-series") || (null === (_point2 = point) || void 0 === _point2 ? void 0 : _point2.series); var axis = that._argumentAxis; if (that._legend.coordsIn(x, y)) { var item = that._legend.getItemByCoord(x, y); if (item) { that._legendClick(item, e) } } else if (null !== axis && void 0 !== axis && axis.coordsIn(x, y)) { var argument = getData(e, "chart-data-argument", true); if ((0, _type.isDefined)(argument)) { that._eventTrigger("argumentAxisClick", { argument: argument, event: e }) } } else if (series) { var _point3; point = point || series.getPointByCoord(x, y); if (null !== (_point3 = point) && void 0 !== _point3 && _point3.getMarkerVisibility()) { that._pointClick(point, e) } else { getData(e, "chart-data-series") && that._eventTrigger("seriesClick", { target: series, event: e }) } } }, dispose: function() { this._disableOutHandler(); this._renderer.root.off(".dxChartTracker"); this._seriesGroup.off(".dxChartTracker") } }; var ChartTracker = function(options) { this.ctor(options) }; exports.ChartTracker = ChartTracker; (0, _extend.extend)(ChartTracker.prototype, baseTrackerPrototype, { _pointClick: function(point, event) { var eventTrigger = this._eventTrigger; var series = point.series; var eventArgs = { target: point, event: event }; eventTrigger("pointClick", eventArgs, (function() { !eventCanceled(eventArgs, series, "point") && eventTrigger("seriesClick", { target: series, event: event }) })) }, update: function(options) { baseTrackerPrototype.update.call(this, options); this._argumentAxis = options.argumentAxis || {}; this._axisHoverEnabled = this._argumentAxis && "allargumentpoints" === (0, _utils.normalizeEnum)(this._argumentAxis.getOptions().hoverMode); this._rotated = options.rotated; this._crosshair = options.crosshair; this._stickyHovering = options.stickyHovering }, _getCanvas: function(x, y) { var canvases = this._canvases || []; for (var i = 0; i < canvases.length; i++) { var c = canvases[i]; if ((0, _utils.pointInCanvas)(c, x, y)) { return c } } return null }, _isPointerOut: function(canvas) { return !canvas && this._stuckSeries }, _hideCrosshair: function() { var _this$_crosshair; null === (_this$_crosshair = this._crosshair) || void 0 === _this$_crosshair ? void 0 : _this$_crosshair.hide() }, _moveCrosshair: function(point, x, y) { if (this._crosshair && null !== point && void 0 !== point && point.isVisible()) { this._crosshair.show({ point: point, x: x, y: y }) } }, _clean: function() { baseTrackerPrototype._clean.call(this); this._resetTimer(); this._stuckSeries = null }, _getSeriesForShared: function(x, y) { var _point4; var points = []; var point = null; var distance = 1 / 0; if (this._tooltip.isShared() && !this.hoveredSeries) { (0, _iterator.each)(this._storedSeries, (function(_, series) { var point = series.getNeighborPoint(x, y); point && points.push(point) })); (0, _iterator.each)(points, (function(_, p) { var coords = p.getCrosshairData(x, y); var d = (0, _utils.getDistance)(x, y, coords.x, coords.y); if (d < distance) { point = p; distance = d } })) } return null === (_point4 = point) || void 0 === _point4 ? void 0 : _point4.series }, _setTimeout: function(callback, keeper) { var that = this; if (that._timeoutKeeper !== keeper) { that._resetTimer(); that._hoverTimeout = setTimeout((function() { callback(); that._timeoutKeeper = null }), 100); that._timeoutKeeper = keeper } }, _resetTimer: function() { clearTimeout(this._hoverTimeout); this._timeoutKeeper = this._hoverTimeout = null }, _stopEvent: function(e) { if (!(0, _type.isDefined)(e.cancelable) || e.cancelable) { e.preventDefault(); e.stopPropagation() } }, _setStuckSeries: function(e, series, x, y) { if ("mouse" !== e.pointerType) { this._stuckSeries = null } else { this._stuckSeries = series || this._stuckSeries || this._getSeriesForShared(x, y) } return !!this._stuckSeries }, _pointerOut: function() { var that = this; that._stuckSeries = null; that._hideCrosshair(); that._resetTimer(); baseTrackerPrototype._pointerOut.apply(that, arguments) }, _hoverArgumentAxis: function(x, y, e) { this._resetHoveredArgument(); if (this._axisHoverEnabled && this._argumentAxis.coordsIn(x, y)) { this._hoverArgument(getData(e, "chart-data-argument", true)); return true } }, _pointerComplete: function(point, x, y) { this.hoveredSeries && this.hoveredSeries.updateHover(x, y); this._resetTimer(); this._moveCrosshair(point, x, y); baseTrackerPrototype._pointerComplete.call(this, point) }, _legendClick: function(item, e) { var series = this._storedSeries[item.id]; this._triggerLegendClick({ target: series, event: e }, "seriesClick") }, _hoverLegendItem: function(x, y) { this._stuckSeries = null; this._hideCrosshair(); baseTrackerPrototype._hoverLegendItem.call(this, x, y) }, _pointerOnPoint: function(point, x, y, e) { this._setStuckSeries(e, point.series, x, y); this._releaseHoveredSeries(); baseTrackerPrototype._pointerOnPoint.call(this, point, x, y, e) }, _notifyLegendOnHoverArgument: false, _getArgumentHoverMode: function() { return correctHoverMode(this._argumentAxis) }, dispose: function() { this._resetTimer(); baseTrackerPrototype.dispose.call(this) } }); var PieTracker = function(options) { this.ctor(options) }; exports.PieTracker = PieTracker; (0, _extend.extend)(PieTracker.prototype, baseTrackerPrototype, { _isPointerOut: function(_, point) { return !point }, _legendClick: function(item, e) { var points = []; this._storedSeries.forEach((function(s) { return points.push.apply(points, s.getPointsByKeys(item.argument, item.argumentIndex)) })); this._eventTrigger("legendClick", { target: item.argument, points: points, event: e }) }, _pointClick: function(point, e) { this._eventTrigger("pointClick", { target: point, event: e }) }, _hoverLegendItem: function(x, y) { var item = this._legend.getItemByCoord(x, y); if (item && this._hoveredArgument !== item.argument) { this._resetHoveredArgument(); this._hoverArgument(item.argument, item.argumentIndex) } else if (!item) { this.clearHover() } }, _getArgumentHoverMode: function() { return correctHoverMode(this._legend) }, _hoverArgumentAxis: _common.noop, _setStuckSeries: _common.noop, _getCanvas: _common.noop, _notifyLegendOnHoverArgument: true }) }, 59345: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/chart_components/zoom_and_pan.js ***! \**********************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _wheel = __webpack_require__( /*! ../../events/core/wheel */ 765); var transformEvents = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ../../events/transform */ 91093)); var _drag = __webpack_require__( /*! ../../events/drag */ 23174); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var EVENTS_NS = ".zoomAndPanNS"; var DRAG_START_EVENT_NAME = _drag.start + EVENTS_NS; var DRAG_EVENT_NAME = _drag.move + EVENTS_NS; var DRAG_END_EVENT_NAME = _drag.end + EVENTS_NS; var PINCH_START_EVENT_NAME = transformEvents.pinchstart + EVENTS_NS; var PINCH_EVENT_NAME = transformEvents.pinch + EVENTS_NS; var PINCH_END_EVENT_NAME = transformEvents.pinchend + EVENTS_NS; var _min = Math.min; var _max = Math.max; var _abs = Math.abs; function canvasToRect(canvas) { return { x: canvas.left, y: canvas.top, width: canvas.width - canvas.left - canvas.right, height: canvas.height - canvas.top - canvas.bottom } } function checkCoords(rect, coords) { var x = coords.x; var y = coords.y; return x >= rect.x && x <= rect.width + rect.x && y >= rect.y && y <= rect.height + rect.y } function getFilteredAxes(axes) { return axes.filter((function(a) { return !a.getTranslator().getBusinessRange().isEmpty() })) } function isAxisAvailablePanning(axes) { return axes.some((function(axis) { return !axis.isExtremePosition(false) || !axis.isExtremePosition(true) })) } function axisZoom(axis, onlyAxisToNotify, getRange, getParameters, actionField, scale, e) { var silent = onlyAxisToNotify && axis !== onlyAxisToNotify; var range = getRange(axis); var _axis$checkZoomingLow = axis.checkZoomingLowerLimitOvercome(actionField, scale, range), stopInteraction = _axis$checkZoomingLow.stopInteraction, correctedRange = _axis$checkZoomingLow.correctedRange; var result = axis.handleZooming(stopInteraction ? null : correctedRange, getParameters(silent), e, actionField); stopInteraction && axis.handleZoomEnd(); return { stopInteraction: stopInteraction, result: result } } function zoomAxes(e, axes, getRange, zoom, params, onlyAxisToNotify) { axes = function(axes, onlyAxisToNotify) { if (onlyAxisToNotify) { axes = axes.sort((function(a, b) { if (a === onlyAxisToNotify) { return -1 } if (b === onlyAxisToNotify) { return 1 } return 0 })) } return axes }(axes, onlyAxisToNotify); var zoomStarted = false; var getParameters = function(silent) { return { start: !!silent, end: !!silent } }; getFilteredAxes(axes).some((function(axis) { var translator = axis.getTranslator(); var scale = translator.getMinScale(zoom); var _axisZoom = axisZoom(axis, onlyAxisToNotify, getRange(_extends({ scale: scale, translator: translator, axis: axis }, params)), getParameters, "zoom", scale, e), stopInteraction = _axisZoom.stopInteraction, result = _axisZoom.result; zoomStarted = !stopInteraction; return onlyAxisToNotify && result.isPrevented })); return zoomStarted } function cancelEvent(e) { if (e.originalEvent) { cancelEvent(e.originalEvent) } if (false !== e.cancelable) { e.cancel = true } } var _default = { name: "zoom_and_pan", init: function() { var chart = this; var renderer = this._renderer; function getAxesCopy(zoomAndPan, actionField) { var axes = []; var options = zoomAndPan.options; var actionData = zoomAndPan.actionData; if (options.argumentAxis[actionField]) { axes.push(chart.getArgumentAxis()) } if (options.valueAxis[actionField]) { axes = axes.concat(actionData.valueAxes) } return axes } function startAxesViewportChanging(zoomAndPan, actionField, e) { var axes = getAxesCopy(zoomAndPan, actionField); getFilteredAxes(axes).some((function(axis) { return axis.handleZooming(null, { end: true }, e, actionField).isPrevented })) && cancelEvent(e) } function axesViewportChanging(zoomAndPan, actionField, e, offsetCalc, centerCalc) { function zoomAxes(axes, criteria, coordField, e, actionData) { var zoom = { zoomed: false }; criteria && getFilteredAxes(axes).forEach((function(axis) { var options = axis.getOptions(); var viewport = axis.visualRange(); var scale = axis.getTranslator().getEventScale(e); var translate = -offsetCalc(e, actionData, coordField, scale); zoom = (0, _extend.extend)(true, zoom, axis.getTranslator().zoom(translate, scale, axis.getZoomBounds())); var range = axis.adjustRange((0, _utils.getVizRangeObject)([zoom.min, zoom.max])); var _axis$checkZoomingLow2 = axis.checkZoomingLowerLimitOvercome(actionField, scale, range), stopInteraction = _axis$checkZoomingLow2.stopInteraction, correctedRange = _axis$checkZoomingLow2.correctedRange; if (!(0, _type.isDefined)(viewport) || viewport.startValue.valueOf() !== correctedRange.startValue.valueOf() || viewport.endValue.valueOf() !== correctedRange.endValue.valueOf()) { axis.handleZooming(stopInteraction ? null : correctedRange, { start: true, end: true }, e, actionField); if (!stopInteraction) { zoom.zoomed = true; zoom.deltaTranslate = translate - zoom.translate } } else if ("touch" === e.pointerType && "discrete" === options.type) { var isMinPosition = axis.isExtremePosition(false); var isMaxPosition = axis.isExtremePosition(true); var zoomInEnabled = scale > 1 && !stopInteraction; var zoomOutEnabled = scale < 1 && (!isMinPosition || !isMaxPosition); var panningEnabled = 1 === scale && !(isMinPosition && (translate < 0 && !options.inverted || translate > 0 && options.inverted) || isMaxPosition && (translate > 0 && !options.inverted || translate < 0 && options.inverted)); zoom.enabled = zoomInEnabled || zoomOutEnabled || panningEnabled } })); return zoom } function storeOffset(e, actionData, zoom, coordField) { if (zoom.zoomed) { actionData.offset[coordField] = (e.offset ? e.offset[coordField] : actionData.offset[coordField]) + zoom.deltaTranslate } } function storeCenter(center, actionData, zoom, coordField) { if (zoom.zoomed) { actionData.center[coordField] = center[coordField] + zoom.deltaTranslate } } var rotated = chart.option("rotated"); var actionData = zoomAndPan.actionData; var options = zoomAndPan.options; var argZoom = {}; var valZoom = {}; if (!actionData.fallback) { argZoom = zoomAxes(chart._argumentAxes, options.argumentAxis[actionField], rotated ? "y" : "x", e, actionData); valZoom = zoomAxes(actionData.valueAxes, options.valueAxis[actionField], rotated ? "x" : "y", e, actionData); chart._requestChange(["VISUAL_RANGE"]); storeOffset(e, actionData, argZoom, rotated ? "y" : "x"); storeOffset(e, actionData, valZoom, rotated ? "x" : "y") } var center = centerCalc(e); storeCenter(center, actionData, argZoom, rotated ? "y" : "x"); storeCenter(center, actionData, valZoom, rotated ? "x" : "y"); if (!argZoom.zoomed && !valZoom.zoomed) { actionData.center = center } return argZoom.zoomed || valZoom.zoomed || actionData.fallback || argZoom.enabled || valZoom.enabled } function finishAxesViewportChanging(zoomAndPan, actionField, e, offsetCalc) { function zoomAxes(axes, coordField, actionData, onlyAxisToNotify) { var zoomStarted = false; var scale = e.scale || 1; var getRange = function(axis) { var zoom = axis.getTranslator().zoom(-offsetCalc(e, actionData, coordField, scale), scale, axis.getZoomBounds()); return { startValue: zoom.min, endValue: zoom.max } }; var getParameters = function(silent) { return { start: true, end: silent } }; getFilteredAxes(axes).forEach((function(axis) { zoomStarted = !axisZoom(axis, onlyAxisToNotify, getRange, getParameters, actionField, scale, e).stopInteraction })); return zoomStarted } var rotated = chart.option("rotated"); var actionData = zoomAndPan.actionData; var options = zoomAndPan.options; var zoomStarted = true; if (actionData.fallback) { zoomStarted &= options.argumentAxis[actionField] && zoomAxes(chart._argumentAxes, rotated ? "y" : "x", actionData, chart.getArgumentAxis()); zoomStarted |= options.valueAxis[actionField] && zoomAxes(actionData.valueAxes, rotated ? "x" : "y", actionData) } else { var axes = getAxesCopy(zoomAndPan, actionField); getFilteredAxes(axes).forEach((function(axis) { axis.handleZooming(null, { start: true }, e, actionField) })); zoomStarted = axes.length } zoomStarted && chart._requestChange(["VISUAL_RANGE"]) } function prepareActionData(coords, action) { var axes = chart._argumentAxes.filter((function(axis) { return checkCoords(canvasToRect(axis.getCanvas()), coords) })); return { fallback: chart._lastRenderingTime > 300, cancel: !axes.length || !(0, _type.isDefined)(action), action: action, curAxisRect: axes.length && canvasToRect(axes[0].getCanvas()), valueAxes: axes.length && chart._valueAxes.filter((function(axis) { return checkCoords(canvasToRect(axis.getCanvas()), coords) })), offset: { x: 0, y: 0 }, center: coords, startCenter: coords } } function getPointerCoord(rect, e) { var rootOffset = renderer.getRootOffset(); return { x: _min(_max(e.pageX - rootOffset.left, rect.x), rect.width + rect.x), y: _min(_max(e.pageY - rootOffset.top, rect.y), rect.height + rect.y) } } function calcCenterForPinch(e) { var rootOffset = renderer.getRootOffset(); var x1 = e.pointers[0].pageX; var x2 = e.pointers[1].pageX; var y1 = e.pointers[0].pageY; var y2 = e.pointers[1].pageY; return { x: _min(x1, x2) + _abs(x2 - x1) / 2 - rootOffset.left, y: _min(y1, y2) + _abs(y2 - y1) / 2 - rootOffset.top } } function calcCenterForDrag(e) { var rootOffset = renderer.getRootOffset(); return { x: e.pageX - rootOffset.left, y: e.pageY - rootOffset.top } } function calcOffsetForDrag(e, actionData, coordField) { return e.offset[coordField] - actionData.offset[coordField] } function preventDefaults(e) { if (false !== e.cancelable) { e.preventDefault(); e.stopPropagation() } chart._stopCurrentHandling() } var zoomAndPan = { dragStartHandler: function(e) { var options = zoomAndPan.options; var isTouch = "touch" === e.pointerType; var wantPan = options.argumentAxis.pan || options.valueAxis.pan; var wantZoom = options.argumentAxis.zoom || options.valueAxis.zoom; var panKeyPressed = (0, _type.isDefined)(options.panKey) && e[(0, _utils.normalizeEnum)(options.panKey) + "Key"]; var dragToZoom = options.dragToZoom; var action; e._cancelPreventDefault = true; if (isTouch) { if (options.allowTouchGestures && wantPan) { var cancelPanning = !zoomAndPan.panningVisualRangeEnabled() || zoomAndPan.skipEvent; action = cancelPanning ? null : "pan" } } else if (dragToZoom && wantPan && panKeyPressed || !dragToZoom && wantPan) { action = "pan" } else if (dragToZoom && wantZoom) { action = "zoom" } var actionData = prepareActionData(calcCenterForDrag(e), action); if (actionData.cancel) { zoomAndPan.skipEvent = false; if (false !== e.cancelable) { e.cancel = true } return } zoomAndPan.actionData = actionData; if ("zoom" === action) { actionData.startCoords = getPointerCoord(actionData.curAxisRect, e); actionData.rect = renderer.rect(0, 0, 0, 0).attr(options.dragBoxStyle).append(renderer.root) } else { startAxesViewportChanging(zoomAndPan, "pan", e) } }, dragHandler: function(e) { var rotated = chart.option("rotated"); var options = zoomAndPan.options; var actionData = zoomAndPan.actionData; var isTouch = "touch" === e.pointerType; e._cancelPreventDefault = true; if (!actionData || isTouch && !zoomAndPan.panningVisualRangeEnabled()) { return } if ("zoom" === actionData.action) { preventDefaults(e); var curCanvas = actionData.curAxisRect; var startCoords = actionData.startCoords; var curCoords = getPointerCoord(curCanvas, e); var zoomArg = options.argumentAxis.zoom; var zoomVal = options.valueAxis.zoom; var rect = { x: _min(startCoords.x, curCoords.x), y: _min(startCoords.y, curCoords.y), width: _abs(startCoords.x - curCoords.x), height: _abs(startCoords.y - curCoords.y) }; if (!zoomArg || !zoomVal) { if (!zoomArg && !rotated || !zoomVal && rotated) { rect.x = curCanvas.x; rect.width = curCanvas.width } else { rect.y = curCanvas.y; rect.height = curCanvas.height } } actionData.rect.attr(rect) } else if ("pan" === actionData.action) { axesViewportChanging(zoomAndPan, "pan", e, calcOffsetForDrag, (function(e) { return e.offset })); var deltaOffsetY = Math.abs(e.offset.y - actionData.offset.y); var deltaOffsetX = Math.abs(e.offset.x - actionData.offset.x); if (isTouch && (deltaOffsetY > 5 && deltaOffsetY > Math.abs(actionData.offset.x) || deltaOffsetX > 5 && deltaOffsetX > Math.abs(actionData.offset.y))) { return } preventDefaults(e) } }, dragEndHandler: function(e) { var rotated = chart.option("rotated"); var options = zoomAndPan.options; var actionData = zoomAndPan.actionData; var isTouch = "touch" === e.pointerType; var getRange = function(_ref) { var translator = _ref.translator, startCoord = _ref.startCoord, curCoord = _ref.curCoord; return function() { return [translator.from(startCoord), translator.from(curCoord)] } }; var getCoords = function(curCoords, startCoords, field) { return { curCoord: curCoords[field], startCoord: startCoords[field] } }; var needToZoom = function(axisOption, coords) { return axisOption.zoom && _abs(coords.curCoord - coords.startCoord) > 5 }; var panIsEmpty = actionData && "pan" === actionData.action && !actionData.fallback && 0 === actionData.offset.x && 0 === actionData.offset.y; if (!actionData || isTouch && !zoomAndPan.panningVisualRangeEnabled() || panIsEmpty) { return }!isTouch && preventDefaults(e); if ("zoom" === actionData.action) { var curCoords = getPointerCoord(actionData.curAxisRect, e); var argumentCoords = getCoords(curCoords, actionData.startCoords, rotated ? "y" : "x"); var valueCoords = getCoords(curCoords, actionData.startCoords, rotated ? "x" : "y"); var argumentAxesZoomed = needToZoom(options.argumentAxis, argumentCoords) && zoomAxes(e, chart._argumentAxes, getRange, true, argumentCoords, chart.getArgumentAxis()); var valueAxesZoomed = needToZoom(options.valueAxis, valueCoords) && zoomAxes(e, actionData.valueAxes, getRange, true, valueCoords); if (valueAxesZoomed || argumentAxesZoomed) { chart._requestChange(["VISUAL_RANGE"]) } actionData.rect.dispose() } else if ("pan" === actionData.action) { finishAxesViewportChanging(zoomAndPan, "pan", e, calcOffsetForDrag) } zoomAndPan.actionData = null }, pinchStartHandler: function(e) { var actionData = prepareActionData(calcCenterForPinch(e), "zoom"); if (actionData.cancel) { cancelEvent(e); return } zoomAndPan.actionData = actionData; startAxesViewportChanging(zoomAndPan, "zoom", e) }, pinchHandler: function(e) { if (!zoomAndPan.actionData) { return } axesViewportChanging(zoomAndPan, "zoom", e, (function(e, actionData, coordField, scale) { return calcCenterForPinch(e)[coordField] - actionData.center[coordField] + (actionData.center[coordField] - actionData.center[coordField] * scale) }), calcCenterForPinch); preventDefaults(e) }, pinchEndHandler: function(e) { if (!zoomAndPan.actionData) { return } finishAxesViewportChanging(zoomAndPan, "zoom", e, (function(e, actionData, coordField, scale) { return actionData.center[coordField] - actionData.startCenter[coordField] + (actionData.startCenter[coordField] - actionData.startCenter[coordField] * scale) })); zoomAndPan.actionData = null }, mouseWheelHandler: function(e) { var options = zoomAndPan.options; var rotated = chart.option("rotated"); var getRange = function(_ref2) { var translator = _ref2.translator, coord = _ref2.coord, scale = _ref2.scale, axis = _ref2.axis; return function() { var zoom = translator.zoom(-(coord - coord * scale), scale, axis.getZoomBounds()); return { startValue: zoom.min, endValue: zoom.max } } }; var coords = calcCenterForDrag(e); var axesZoomed = false; var targetAxes; if (options.valueAxis.zoom) { targetAxes = chart._valueAxes.filter((function(axis) { return checkCoords(canvasToRect(axis.getCanvas()), coords) })); if (0 === targetAxes.length) { var targetCanvas = chart._valueAxes.reduce((function(r, axis) { if (!r && axis.coordsIn(coords.x, coords.y)) { r = axis.getCanvas() } return r }), null); if (targetCanvas) { targetAxes = chart._valueAxes.filter((function(axis) { return checkCoords(canvasToRect(axis.getCanvas()), { x: targetCanvas.left, y: targetCanvas.top }) })) } } axesZoomed |= zoomAxes(e, targetAxes, getRange, e.delta > 0, { coord: rotated ? coords.x : coords.y }) } if (options.argumentAxis.zoom) { var canZoom = chart._argumentAxes.some((function(axis) { if (checkCoords(canvasToRect(axis.getCanvas()), coords) || axis.coordsIn(coords.x, coords.y)) { return true } return false })); axesZoomed |= canZoom && zoomAxes(e, chart._argumentAxes, getRange, e.delta > 0, { coord: rotated ? coords.y : coords.x }, chart.getArgumentAxis()) } if (axesZoomed) { chart._requestChange(["VISUAL_RANGE"]); if (targetAxes && isAxisAvailablePanning(targetAxes) || !targetAxes && zoomAndPan.panningVisualRangeEnabled()) { preventDefaults(e) } } }, cleanup: function() { renderer.root.off(EVENTS_NS); zoomAndPan.actionData && zoomAndPan.actionData.rect && zoomAndPan.actionData.rect.dispose(); zoomAndPan.actionData = null; renderer.root.css({ "touch-action": "", "-ms-touch-action": "" }) }, setup: function(options) { zoomAndPan.cleanup(); if (!options.argumentAxis.pan) { renderer.root.on("dxc-scroll-start.zoomAndPanNS", cancelEvent) } if (options.argumentAxis.none && options.valueAxis.none) { return } zoomAndPan.options = options; if ((options.argumentAxis.zoom || options.valueAxis.zoom) && options.allowMouseWheel) { renderer.root.on(_wheel.name + EVENTS_NS, zoomAndPan.mouseWheelHandler) } if ((options.argumentAxis.zoom || options.valueAxis.zoom) && options.allowTouchGestures) { renderer.root.on(PINCH_START_EVENT_NAME, { passive: false }, zoomAndPan.pinchStartHandler).on(PINCH_EVENT_NAME, { passive: false }, zoomAndPan.pinchHandler).on(PINCH_END_EVENT_NAME, zoomAndPan.pinchEndHandler) } renderer.root.on(DRAG_START_EVENT_NAME, { immediate: true, passive: false }, zoomAndPan.dragStartHandler).on(DRAG_EVENT_NAME, { immediate: true, passive: false }, zoomAndPan.dragHandler).on(DRAG_END_EVENT_NAME, zoomAndPan.dragEndHandler); renderer.root.on("dxc-scroll-start.zoomAndPanNS", (function(e) { zoomAndPan.actionData = { valueAxes: [], offset: { x: 0, y: 0 }, center: { x: 0, y: 0 } }; preventDefaults(e); startAxesViewportChanging(zoomAndPan, "pan", e) })).on("dxc-scroll-move.zoomAndPanNS", (function(e) { preventDefaults(e); axesViewportChanging(zoomAndPan, "pan", e, calcOffsetForDrag, (function(e) { return e.offset })) })).on("dxc-scroll-end.zoomAndPanNS", (function(e) { preventDefaults(e); finishAxesViewportChanging(zoomAndPan, "pan", e, calcOffsetForDrag); zoomAndPan.actionData = null })) }, panningVisualRangeEnabled: function() { return isAxisAvailablePanning(chart._valueAxes) || isAxisAvailablePanning(chart._argumentAxes) } }; this._zoomAndPan = zoomAndPan }, members: { _setupZoomAndPan: function() { this._zoomAndPan.setup(this._themeManager.getOptions("zoomAndPan")) } }, dispose: function() { this._zoomAndPan.cleanup() }, customize: function(constructor) { constructor.addChange({ code: "ZOOM_AND_PAN", handler: function() { this._setupZoomAndPan() }, isThemeDependent: true, isOptionChange: true, option: "zoomAndPan" }) } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 39847: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/circular_gauge.js ***! \*******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _circular_gauge = (obj = __webpack_require__( /*! ./gauges/circular_gauge */ 31500), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _circular_gauge.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 99327: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/components/chart_theme_manager.js ***! \***********************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.ThemeManager = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _base_theme_manager = __webpack_require__( /*! ../core/base_theme_manager */ 43637); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var ThemeManager = _base_theme_manager.BaseThemeManager.inherit((processAxisOptions = function(axisOptions) { if (!axisOptions) { return {} } axisOptions = (0, _extend.extend)(true, {}, axisOptions); axisOptions.title = (options = axisOptions.title, (0, _type.isString)(options) ? { text: options } : options); var options; if ("logarithmic" === axisOptions.type && axisOptions.logarithmBase <= 0 || axisOptions.logarithmBase && !(0, _type.isNumeric)(axisOptions.logarithmBase)) { axisOptions.logarithmBase = void 0; axisOptions.logarithmBaseError = true } if (axisOptions.label) { if (axisOptions.label.alignment) { axisOptions.label.userAlignment = true } } return axisOptions }, applyParticularAxisOptions = function(name, userOptions, rotated) { var theme = this._theme; var position = !(rotated ^ "valueAxis" === name) ? "horizontalAxis" : "verticalAxis"; var processedUserOptions = processAxisOptions(userOptions); var commonAxisSettings = processAxisOptions(this._userOptions.commonAxisSettings); var mergeOptions = (0, _extend.extend)(true, {}, theme.commonAxisSettings, theme[position], theme[name], commonAxisSettings, processedUserOptions); mergeOptions.workWeek = processedUserOptions.workWeek || theme[name].workWeek; mergeOptions.forceUserTickInterval |= (0, _type.isDefined)(processedUserOptions.tickInterval) && !(0, _type.isDefined)(processedUserOptions.axisDivisionFactor); return mergeOptions }, mergeOptions = function(name, userOptions) { userOptions = userOptions || this._userOptions[name]; var theme = this._theme[name]; var result = this._mergedSettings[name]; if (result) { return result } if ((0, _type.isPlainObject)(theme) && (0, _type.isPlainObject)(userOptions)) { result = (0, _extend.extend)(true, {}, theme, userOptions) } else { result = (0, _type.isDefined)(userOptions) ? userOptions : theme } this._mergedSettings[name] = result; return result }, applyParticularTheme = { base: mergeOptions, argumentAxis: applyParticularAxisOptions, valueAxisRangeSelector: function() { return mergeOptions.call(this, "valueAxis") }, valueAxis: applyParticularAxisOptions, series: function(name, userOptions, seriesCount) { var that = this; var theme = that._theme; var userCommonSettings = that._userOptions.commonSeriesSettings || {}; var themeCommonSettings = theme.commonSeriesSettings; var widgetType = that._themeSection.split(".").slice(-1)[0]; var type = (0, _utils.normalizeEnum)(userOptions.type || userCommonSettings.type || themeCommonSettings.type || "pie" === widgetType && theme.type); var palette = that.palette; var isBar = ~type.indexOf("bar"); var isLine = ~type.indexOf("line"); var isArea = ~type.indexOf("area"); var isBubble = "bubble" === type; var mainSeriesColor; var resolveLabelsOverlapping = that.getOptions("resolveLabelsOverlapping"); var containerBackgroundColor = that.getOptions("containerBackgroundColor"); var seriesTemplate = applyParticularTheme.seriesTemplate.call(this); var seriesVisibility; if (isBar || isBubble) { userOptions = (0, _extend.extend)(true, {}, userCommonSettings, userCommonSettings[type], userOptions); seriesVisibility = userOptions.visible; userCommonSettings = { type: {} }; (0, _extend.extend)(true, userOptions, userOptions.point); userOptions.visible = seriesVisibility } var settings = (0, _extend.extend)(true, { aggregation: {} }, themeCommonSettings, themeCommonSettings[type], userCommonSettings, userCommonSettings[type], userOptions); settings.aggregation.enabled = "chart" === widgetType && !!settings.aggregation.enabled; settings.type = type; settings.widgetType = widgetType; settings.containerBackgroundColor = containerBackgroundColor; if ("pie" !== widgetType) { mainSeriesColor = (0, _utils.extractColor)(settings.color, true) || palette.getNextColor(seriesCount) } else { mainSeriesColor = function(argument, index, count) { var cat = "".concat(argument, "-").concat(index); if (!that._multiPieColors[cat]) { that._multiPieColors[cat] = palette.getNextColor(count) } return that._multiPieColors[cat] } } settings.mainSeriesColor = mainSeriesColor; settings.resolveLabelsOverlapping = resolveLabelsOverlapping; if (settings.label && (isLine || isArea && "rangearea" !== type || "scatter" === type)) { settings.label.position = "outside" } if (seriesTemplate) { settings.nameField = seriesTemplate.nameField } return settings }, animation: function(name) { var userOptions = this._userOptions[name]; userOptions = (0, _type.isPlainObject)(userOptions) ? userOptions : (0, _type.isDefined)(userOptions) ? { enabled: !!userOptions } : {}; return mergeOptions.call(this, name, userOptions) }, seriesTemplate: function() { var value = mergeOptions.call(this, "seriesTemplate"); if (value) { value.nameField = value.nameField || "series" } return value }, zoomAndPan: function() { function parseOption(option) { option = (0, _utils.normalizeEnum)(option); var pan = "pan" === option || "both" === option; var zoom = "zoom" === option || "both" === option; return { pan: pan, zoom: zoom, none: !pan && !zoom } } var options = mergeOptions.call(this, "zoomAndPan"); return { valueAxis: parseOption(options.valueAxis), argumentAxis: parseOption(options.argumentAxis), dragToZoom: !!options.dragToZoom, dragBoxStyle: { class: "dxc-shutter", fill: options.dragBoxStyle.color, opacity: options.dragBoxStyle.opacity }, panKey: options.panKey, allowMouseWheel: !!options.allowMouseWheel, allowTouchGestures: !!options.allowTouchGestures } } }, { _themeSection: "chart", ctor: function(params) { var that = this; that.callBase.apply(that, arguments); var options = params.options || {}; that._userOptions = options; that._mergeAxisTitleOptions = []; that._multiPieColors = {}; that._callback = _common.noop }, dispose: function() { var that = this; that.palette && that.palette.dispose(); that.palette = that._userOptions = that._mergedSettings = that._multiPieColors = null; return that.callBase.apply(that, arguments) }, resetPalette: function() { this.palette.reset(); this._multiPieColors = {} }, getOptions: function(name) { return (applyParticularTheme[name] || applyParticularTheme.base).apply(this, arguments) }, refresh: function() { this._mergedSettings = {}; return this.callBase.apply(this, arguments) }, _initializeTheme: function() { var that = this; that.callBase.apply(that, arguments); that.updatePalette() }, resetOptions: function(name) { this._mergedSettings[name] = null }, update: function(options) { this._userOptions = options }, updatePalette: function() { this.palette = this.createPalette(this.getOptions("palette"), { useHighlight: true, extensionMode: this.getOptions("paletteExtensionMode") }) } })); var processAxisOptions, applyParticularAxisOptions, mergeOptions, applyParticularTheme; exports.ThemeManager = ThemeManager }, 32410: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/components/consts.js ***! \**********************************************************************/ function(module, exports) { exports.default = void 0; exports.default = { events: { mouseover: "mouseover", mouseout: "mouseout", mousemove: "mousemove", touchstart: "touchstart", touchmove: "touchmove", touchend: "touchend", mousedown: "mousedown", mouseup: "mouseup", click: "click", selectSeries: "selectseries", deselectSeries: "deselectseries", selectPoint: "selectpoint", deselectPoint: "deselectpoint", showPointTooltip: "showpointtooltip", hidePointTooltip: "hidepointtooltip" }, states: { hover: "hover", normal: "normal", selection: "selection", normalMark: 0, hoverMark: 1, selectedMark: 2, applyHover: "applyHover", applySelected: "applySelected", resetItem: "resetItem" }, radialLabelIndent: 30, pieLabelSpacing: 10, pieSeriesSpacing: 4 }; module.exports = exports.default; module.exports.default = exports.default }, 45865: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/components/data_validator.js ***! \******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.validateData = function(data, groupsData, incidentOccurred, options) { data = function(source, incidentOccurred) { var data = []; var sourceIsDefined = (0, _type.isDefined)(source); var hasError = sourceIsDefined && !_isArray(source); var i; var ii; var k; var item; if (sourceIsDefined && !hasError) { for (i = 0, ii = source.length, k = 0; i < ii; ++i) { item = source[i]; if ((0, _type.isObject)(item)) { data[k++] = item } else if (item) { hasError = true } } } if (hasError) { incidentOccurred("E2001") } return data }(data, incidentOccurred); groupsData.argumentType = groupsData.argumentAxisType = null; groups = groupsData.groups, void groups.forEach((function(group) { group.valueType = group.valueAxisType = null; group.series.forEach((function(series) { series.updateDataType({}) })); group.valueAxis && group.valueAxis.resetTypes("valueType") })); var groups; axes = groupsData.argumentAxes, void(axes && axes.forEach((function(axis) { axis.resetTypes("argumentType") }))); var axes; ! function(data, groupsData, checkTypeForAllData) { var groupsWithUndefinedValueType = []; var groupsWithUndefinedArgumentType = []; var argumentTypeGroup = groupsData.argumentOptions && axisTypeParser(groupsData.argumentOptions.argumentType); var groupsIndexes; groupsData.groups.forEach((function(group) { if (!group.series.length) { return } var valueTypeGroup = group.valueOptions && axisTypeParser(group.valueOptions.valueType); group.valueType = valueTypeGroup; groupsData.argumentType = argumentTypeGroup; !valueTypeGroup && groupsWithUndefinedValueType.push(group); !argumentTypeGroup && groupsWithUndefinedArgumentType.push(group) })); if (groupsWithUndefinedValueType.length || groupsWithUndefinedArgumentType.length) { groupsIndexes = groupsWithUndefinedValueType.map((function(_, index) { return index })); data.some((function(cell) { var defineArg; groupsWithUndefinedValueType.forEach((function(group, groupIndex) { if (function(group, cell) { group.series.forEach((function(series) { series.getValueFields().forEach((function(field) { group.valueType = getType(cell[field], group.valueType) })) })); return group.valueType }(group, cell) && groupsIndexes.indexOf(groupIndex) >= 0) { groupsIndexes.splice(groupIndex, 1) } })); if (!defineArg) { groupsWithUndefinedArgumentType.forEach((function(group) { defineArg = function(series, cell, groupsData) { series.forEach((function(currentSeries) { groupsData.argumentType = getType(cell[currentSeries.getArgumentField()], groupsData.argumentType) })); return groupsData.argumentType }(group.series, cell, groupsData) })) } if (!checkTypeForAllData && defineArg && 0 === groupsIndexes.length) { return true } })) } }(data, groupsData, options.checkTypeForAllData); ! function(groupsData, incidentOccurred) { var argumentOptions = groupsData.argumentOptions || {}; var userArgumentCategories = argumentOptions && argumentOptions.categories || []; var argumentAxisType = correctAxisType(groupsData.argumentType, argumentOptions.type, !!userArgumentCategories.length, incidentOccurred); groupsData.groups.forEach((function(group) { var valueOptions = group.valueOptions || {}; var valueCategories = valueOptions.categories || []; var valueAxisType = correctAxisType(group.valueType, valueOptions.type, !!valueCategories.length, incidentOccurred); group.series.forEach((function(series) { var optionsSeries = {}; optionsSeries.argumentAxisType = argumentAxisType; optionsSeries.valueAxisType = valueAxisType; groupsData.argumentAxisType = groupsData.argumentAxisType || optionsSeries.argumentAxisType; group.valueAxisType = group.valueAxisType || optionsSeries.valueAxisType; optionsSeries.argumentType = groupsData.argumentType; optionsSeries.valueType = group.valueType; optionsSeries.showZero = valueOptions.showZero; series.updateDataType(optionsSeries) })); group.valueAxisType = group.valueAxisType || valueAxisType; if (group.valueAxis) { group.valueAxis.setTypes(group.valueAxisType, group.valueType, "valueType"); group.valueAxis.validate() } })); groupsData.argumentAxisType = groupsData.argumentAxisType || argumentAxisType; if (groupsData.argumentAxes) { groupsData.argumentAxes.forEach((function(axis) { axis.setTypes(groupsData.argumentAxisType, groupsData.argumentType, "argumentType"); axis.validate() })) } }(groupsData, incidentOccurred); if (options.convertToAxisDataType) { data = function(data, parsers) { var parsedData = []; var i; var ii = data.length; parsedData.length = ii; for (i = 0; i < ii; ++i) { parsedData[i] = getParsedCell(data[i], parsers) } return parsedData }(data, function(groupsData, incidentOccurred) { var argumentParser = createParserUnit(groupsData.argumentType, groupsData.argumentAxisType, incidentOccurred); var sizeParser; var valueParser; var categoryParsers = [argumentParser]; var cache = {}; var list = []; groupsData.groups.forEach((function(group, groupIndex) { group.series.forEach((function(series) { valueParser = createParserUnit(group.valueType, group.valueAxisType, incidentOccurred); sizeParser = createParserUnit("numeric", "continuous", incidentOccurred); cache[series.getArgumentField()] = argumentParser; series.getValueFields().forEach((function(field) { categoryParsers[groupIndex + 1] = valueParser; cache[field] = valueParser })); if (series.getSizeField()) { cache[series.getSizeField()] = sizeParser } })) })); for (var field in cache) { list.push([field, cache[field]]) } list.length && function(groupsData, parsers) { var argumentCategories = groupsData.argumentOptions && groupsData.argumentOptions.categories; groupsData.groups.forEach((function(valueGroup, i) { var categories = valueGroup.valueOptions && valueGroup.valueOptions.categories; if (categories) { valueGroup.valueOptions.categories = parseCategories(categories, parsers[i + 1]) } })); if (argumentCategories) { groupsData.argumentOptions.categories = parseCategories(argumentCategories, parsers[0]) } }(groupsData, categoryParsers); return list }(groupsData, incidentOccurred)) }! function(data, groupsData) { var firstSeries = groupsData.groups[0] && groupsData.groups[0].series[0]; var isPie = firstSeries && ("pie" === firstSeries.type || "doughnut" === firstSeries.type || "donut" === firstSeries.type); if (!isPie) { return } groupsData.groups.forEach((function(group) { group.series.forEach((function(series) { ! function(originalData, argumentField, valueField, smallValuesGrouping) { smallValuesGrouping = smallValuesGrouping || {}; var mode = smallValuesGrouping.mode; var others = {}; if (!mode || "none" === mode) { return } others[argumentField] = String(smallValuesGrouping.groupName || "others"); others[valueField] = 0; var data = sortValues(originalData.slice(), false, (function(a) { return a[valueField] })); ! function(data, others, valueField, index) { if (index >= 0) { data.slice(index).forEach((function(cell) { if ((0, _type.isDefined)(cell[valueField])) { others[valueField] += cell[valueField]; cell[valueField] = void 0 } })) } }(data, others, valueField, "smallValueThreshold" === mode ? function(data, valueField, threshold) { var i; var ii = data.length; var value; for (i = 0; i < ii; ++i) { value = data[i][valueField]; if ((0, _type.isDefined)(value) && threshold > value) { break } } return i }(data, valueField, smallValuesGrouping.threshold) : smallValuesGrouping.topCount); others[valueField] && originalData.push(others) }(data, series.getArgumentField(), series.getValueFields()[0], series.getOptions().smallValuesGrouping) })) })) }(data, groupsData); var dataByArgumentFields = function(data, groupsData, options, uniqueArgumentFields) { var dataByArguments = {}; var isDiscrete = "discrete" === groupsData.argumentAxisType; var userCategories = isDiscrete && groupsData.argumentOptions && groupsData.argumentOptions.categories; var sortFunction = function(data) { return data }; var sortingMethodOption = options.sortingMethod; var reSortCategories; if (!userCategories && (0, _type.isFunction)(sortingMethodOption)) { data = function(data, callback) { return data.slice().sort(callback) }(data, sortingMethodOption) } if (isDiscrete) { groupsData.categories = function(data, uniqueArgumentFields, userCategories) { var categories = userCategories ? userCategories.slice() : []; uniqueArgumentFields.forEach((function(field) { data.forEach((function(item) { var dataItem = item[field]; (0, _type.isDefined)(dataItem) && function(collection, item) { return -1 === collection.map((function(collectionItem) { return collectionItem.valueOf() })).indexOf(item.valueOf()) }(categories, dataItem) && categories.push(dataItem) })) })); return categories }(data, uniqueArgumentFields, userCategories) } if (userCategories || !(0, _type.isFunction)(sortingMethodOption) && "string" === groupsData.argumentType && !options._skipArgumentSorting) { sortFunction = function(categories) { var hash = {}; categories.forEach((function(value, i) { hash[value] = i })); return function(data, argumentField) { return sortValues(data.slice(), true, (function(a) { return hash[a[argumentField]] })) } }(groupsData.categories) } else if (true === sortingMethodOption && "string" !== groupsData.argumentType) { sortFunction = sortByArgument; reSortCategories = isDiscrete } uniqueArgumentFields.forEach((function(field) { dataByArguments[field] = sortFunction(data, field) })); if (reSortCategories) { groupsData.categories = groupsData.categories.sort(sort) } return dataByArguments }(data, groupsData, options, function(groupsData) { var uniqueArgumentFields = []; var hash = {}; groupsData.groups.forEach((function(group) { group.series.forEach((function(series) { ! function(item, collection, itemsHash) { if (!itemsHash[item]) { collection.push(item); itemsHash[item] = true } }(series.getArgumentField(), uniqueArgumentFields, hash) })) })); return uniqueArgumentFields }(groupsData)); return dataByArgumentFields }; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _parse_utils = __webpack_require__( /*! ./parse_utils */ 8587); var axisTypeParser = (0, _utils.enumParser)(["string", "numeric", "datetime"]); var _isArray = Array.isArray; function sortValues(data, asc, selector) { var func = asc ? function(a, b) { return a - b } : function(a, b) { return b - a }; data.sort((function(a, b) { var valA = selector(a); var valB = selector(b); var aa = (0, _type.isDefined)(valA) ? 1 : 0; var bb = (0, _type.isDefined)(valB) ? 1 : 0; return aa && bb ? func(valA, valB) : func(aa, bb) })); return data } function parseCategories(categories, parser) { var newArray = []; categories.forEach((function(category) { var parsedCategory = parser(category); void 0 !== parsedCategory && newArray.push(parsedCategory) })); return newArray } function eigen(x) { return x } function getType(unit, type) { var result = type; if ("string" === type || (0, _type.isString)(unit)) { result = "string" } else if ("datetime" === type || (0, _type.isDate)(unit)) { result = "datetime" } else if ((0, _type.isNumeric)(unit)) { result = "numeric" } return result } function correctAxisType(type, axisType, hasCategories, incidentOccurred) { if ("string" === type && ("continuous" === axisType || "logarithmic" === axisType || "semidiscrete" === axisType)) { incidentOccurred("E2002") } return "logarithmic" === axisType ? "logarithmic" : hasCategories || "discrete" === axisType || "string" === type ? "discrete" : "semidiscrete" === axisType ? "semidiscrete" : "continuous" } function createParserUnit(type, axisType, incidentOccurred) { var parser = type ? (0, _parse_utils.getParser)(type) : eigen; var filterInfinity = "discrete" !== axisType ? function(x) { return isFinite(x) || void 0 === x ? x : null } : eigen; return function(unit, field) { var parseUnit = filterInfinity(parser(unit)); if (void 0 === parseUnit) { ! function(unit, field, incidentOccurred) { if (unit) { incidentOccurred(!(0, _type.isNumeric)(unit) && !(0, _type.isDate)(unit) && !(0, _type.isString)(unit) ? "E2003" : "E2004", [field]) } }(unit, field, incidentOccurred) } return parseUnit } } function getParsedCell(cell, parsers) { var i; var ii = parsers.length; var obj = (0, _extend.extend)({}, cell); var field; var value; for (i = 0; i < ii; ++i) { field = parsers[i][0]; value = cell[field]; obj[field] = parsers[i][1](value, field) } return obj } function sort(a, b) { var result = a - b; if (isNaN(result)) { if (!(0, _type.isDefined)(a)) { return 1 } if (!(0, _type.isDefined)(b)) { return -1 } return 0 } return result } function sortByArgument(data, argumentField) { return data.slice().sort((function(a, b) { return sort(a[argumentField], b[argumentField]) })) } }, 16342: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/components/legend.js ***! \**********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.plugin = exports.Legend = void 0; var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _layout_element = __webpack_require__( /*! ../core/layout_element */ 73711); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _title = __webpack_require__( /*! ../core/title */ 17384); var _object = __webpack_require__( /*! ../../core/utils/object */ 48013); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _renderer = __webpack_require__( /*! ../core/renderers/renderer */ 56453); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _Number = Number; var _math = Math; var _round = _math.round; var _max = _math.max; var _min = _math.min; var _ceil = _math.ceil; var _isDefined = _type.isDefined; var _isFunction = _type.isFunction; var _enumParser = _utils.enumParser; var _normalizeEnum = _utils.normalizeEnum; var _extend = _extend2.extend; var CENTER = "center"; var RIGHT = "right"; var LEFT = "left"; var TOP = "top"; var BOTTOM = "bottom"; var parseHorizontalAlignment = _enumParser([LEFT, CENTER, RIGHT]); var parseVerticalAlignment = _enumParser([TOP, BOTTOM]); var parseOrientation = _enumParser(["vertical", "horizontal"]); var parseItemTextPosition = _enumParser([LEFT, RIGHT, TOP, BOTTOM]); var parsePosition = _enumParser(["outside", "inside"]); var parseItemsAlignment = _enumParser([LEFT, CENTER, RIGHT]); function getState(state, color, stateName) { if (!state) { return } var colorFromAction = state.fill; return (0, _extend2.extend)({}, { state: stateName, fill: "none" === colorFromAction ? color : colorFromAction, opacity: state.opacity, filter: state.filter, hatching: _extend({}, state.hatching, { step: 5, width: 2 }) }) } function getAttributes(item, state, size) { var attrs = (0, _renderer.processHatchingAttrs)(item, state); if (attrs.fill && 0 === attrs.fill.indexOf("DevExpress")) { attrs.fill = (0, _renderer.getFuncIri)(attrs.fill) } attrs.opacity = attrs.opacity >= 0 ? attrs.opacity : 1; return (0, _extend2.extend)({}, attrs, { size: size }) } function applyMarkerState(id, idToIndexMap, items, stateName) { var item = idToIndexMap && items[idToIndexMap[id]]; if (item) { item.renderMarker(item.states[stateName]) } } function parseOptions(options, textField, allowInsidePosition) { if (!options) { return null }! function(options) { var margin = options.margin; if (margin >= 0) { margin = _Number(options.margin); margin = { top: margin, bottom: margin, left: margin, right: margin } } else { margin = { top: margin.top >= 0 ? _Number(margin.top) : 10, bottom: margin.bottom >= 0 ? _Number(margin.bottom) : 10, left: margin.left >= 0 ? _Number(margin.left) : 10, right: margin.right >= 0 ? _Number(margin.right) : 10 } } options.margin = margin }(options); options.horizontalAlignment = parseHorizontalAlignment(options.horizontalAlignment, RIGHT); options.verticalAlignment = parseVerticalAlignment(options.verticalAlignment, options.horizontalAlignment === CENTER ? BOTTOM : TOP); options.orientation = parseOrientation(options.orientation, options.horizontalAlignment === CENTER ? "horizontal" : "vertical"); options.itemTextPosition = parseItemTextPosition(options.itemTextPosition, "horizontal" === options.orientation ? BOTTOM : RIGHT); options.position = allowInsidePosition ? parsePosition(options.position, "outside") : "outside"; options.itemsAlignment = parseItemsAlignment(options.itemsAlignment, null); options.hoverMode = _normalizeEnum(options.hoverMode); options.customizeText = _isFunction(options.customizeText) ? options.customizeText : function() { return this[textField] }; options.customizeHint = _isFunction(options.customizeHint) ? options.customizeHint : _common.noop; options._incidentOccurred = options._incidentOccurred || _common.noop; return options } function createSquareMarker(renderer, size) { return renderer.rect(0, 0, size, size) } function createCircleMarker(renderer, size) { return renderer.circle(size / 2, size / 2, size / 2) } function inRect(rect, x, y) { return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom } function checkLinesSize(lines, layoutOptions, countItems, margins) { var position = { x: 0, y: 0 }; var maxMeasureLength = 0; var maxAltMeasureLength = 0; var margin = 0; if ("y" === layoutOptions.direction) { margin = margins.top + margins.bottom } else { margin = margins.left + margins.right } lines.forEach((function(line, i) { var firstItem = line[0]; var lineLength = line.length; line.forEach((function(item, index) { var offset = item.offset || layoutOptions.spacing; position[layoutOptions.direction] += item[layoutOptions.measure] + (index !== lineLength - 1 ? offset : 0); maxMeasureLength = _max(maxMeasureLength, position[layoutOptions.direction]) })); position[layoutOptions.direction] = 0; position[layoutOptions.altDirection] += firstItem[layoutOptions.altMeasure] + firstItem.altOffset || layoutOptions.altSpacing; maxAltMeasureLength = _max(maxAltMeasureLength, position[layoutOptions.altDirection]) })); if (maxMeasureLength + margin > layoutOptions.length) { layoutOptions.countItem = function(layoutOptions, countItems) { layoutOptions.altCountItem++; return _ceil(countItems / layoutOptions.altCountItem) }(layoutOptions, countItems); return true } } function getLineLength(line, layoutOptions) { return line.reduce((function(lineLength, item) { var offset = item.offset || layoutOptions.spacing; return lineLength + item[layoutOptions.measure] + offset }), 0) } function getPos(layoutOptions) { switch (layoutOptions.itemTextPosition) { case BOTTOM: return { horizontal: CENTER, vertical: TOP }; case TOP: return { horizontal: CENTER, vertical: BOTTOM }; case LEFT: return { horizontal: RIGHT, vertical: CENTER }; case RIGHT: return { horizontal: LEFT, vertical: CENTER } } } function setMaxInLine(line, measure) { var maxLineSize = line.reduce((function(maxLineSize, item) { var itemMeasure = item ? item[measure] : maxLineSize; return _max(maxLineSize, itemMeasure) }), 0); line.forEach((function(item) { if (item) { item[measure] = maxLineSize } })) } function transpose(array) { var width = array.length; var height = array[0].length; var i; var j; var transposeArray = []; for (i = 0; i < height; i++) { transposeArray[i] = []; for (j = 0; j < width; j++) { transposeArray[i][j] = array[j][i] } } return transposeArray } var getMarkerCreator = function(type) { return function(type) { return "circle" === _normalizeEnum(type) }(type) ? createCircleMarker : createSquareMarker }; function getTitleHorizontalAlignment(options) { if (options.horizontalAlignment === CENTER) { return CENTER } else if (options.itemTextPosition === RIGHT) { return LEFT } else if (options.itemTextPosition === LEFT) { return RIGHT } else { return CENTER } } var Legend = function(settings) { this._renderer = settings.renderer; this._legendGroup = settings.group; this._backgroundClass = settings.backgroundClass; this._itemGroupClass = settings.itemGroupClass; this._textField = settings.textField; this._getCustomizeObject = settings.getFormatObject; this._titleGroupClass = settings.titleGroupClass; this._allowInsidePosition = settings.allowInsidePosition; this._widget = settings.widget; this._updated = false }; exports.Legend = Legend; var _Legend = Legend; var legendPrototype = _Legend.prototype = (0, _object.clone)(_layout_element.LayoutElement.prototype); (0, _extend2.extend)(legendPrototype, { constructor: _Legend, getOptions: function() { return this._options }, update: function() { var data = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []; var options = arguments.length > 1 ? arguments[1] : void 0; var themeManagerTitleOptions = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; var that = this; options = that._options = parseOptions(options, that._textField, that._allowInsidePosition) || {}; var initMarkerSize = options.markerSize; this._updated = true; this._data = data.map((function(dataItem) { dataItem.size = _Number(dataItem.size > 0 ? dataItem.size : initMarkerSize); dataItem.marker = getAttributes(dataItem, dataItem.states.normal); Object.defineProperty(dataItem.marker, "size", { get: function() { return dataItem.size }, set: function(value) { dataItem.size = value } }); Object.defineProperty(dataItem.marker, "opacity", { get: function() { return dataItem.states.normal.opacity }, set: function(value) { dataItem.states.normal.opacity = dataItem.states.hover.opacity = dataItem.states.selection.opacity = value } }); return dataItem })); if (options.customizeItems) { that._data = options.customizeItems(data.slice()) || data } that._boundingRect = { width: 0, height: 0, x: 0, y: 0 }; if (that.isVisible() && !that._title) { that._title = new _title.Title({ renderer: that._renderer, cssClass: that._titleGroupClass, root: that._legendGroup }) } if (that._title) { var titleOptions = options.title; themeManagerTitleOptions.horizontalAlignment = getTitleHorizontalAlignment(options); that._title.update(themeManagerTitleOptions, titleOptions) } this.erase(); return that }, isVisible: function() { return this._options && this._options.visible }, draw: function(width, height) { var items = this._getItemData(); this.erase(); if (!(this.isVisible() && items && items.length)) { return this } this._insideLegendGroup = this._renderer.g().enableLinks().append(this._legendGroup); this._title.changeLink(this._insideLegendGroup); this._createBackground(); if (this._title.hasText()) { var horizontalPadding = this._background ? 2 * this._options.paddingLeftRight : 0; this._title.draw(width - horizontalPadding, height) } this._markersGroup = this._renderer.g().attr({ class: this._itemGroupClass }).append(this._insideLegendGroup); this._createItems(items); this._updateElementsPosition(width, height); return this }, _measureElements: function() { var options = this._options; var maxBBoxHeight = 0; this._items.forEach((function(item) { var labelBBox = item.label.getBBox(); var markerBBox = item.marker.getBBox(); item.markerBBox = markerBBox; item.markerSize = Math.max(markerBBox.width, markerBBox.height); var bBox = function(options, markerBBox, labelBBox) { var width; var height; switch (options.itemTextPosition) { case LEFT: case RIGHT: width = markerBBox.width + 7 + labelBBox.width; height = _max(markerBBox.height, labelBBox.height); break; case TOP: case BOTTOM: width = _max(markerBBox.width, labelBBox.width); height = markerBBox.height + 4 + labelBBox.height } return { width: width, height: height } }(options, markerBBox, labelBBox); item.labelBBox = labelBBox; item.bBox = bBox; maxBBoxHeight = _max(maxBBoxHeight, bBox.height) })); if (options.equalRowHeight) { this._items.forEach((function(item) { return item.bBox.height = maxBBoxHeight })) } }, _updateElementsPosition: function(width, height) { var options = this._options; this._size = { width: width, height: height }; this._measureElements(); this._locateElements(options); this._finalUpdate(options); var size = this.getLayoutOptions(); if (size.width > width || size.height > height) { this.freeSpace() } }, _createItems: function(items) { var that = this; var options = that._options; var renderer = that._renderer; var createMarker = getMarkerCreator(options.markerShape); that._markersId = {}; var templateFunction = !options.markerTemplate ? function(dataItem, group) { var attrs = dataItem.marker; createMarker(renderer, attrs.size).attr({ fill: attrs.fill, opacity: attrs.opacity, filter: attrs.filter }).append({ element: group }) } : options.markerTemplate; var template = that._widget._getTemplate(templateFunction); var markersGroup = that._markersGroup; markersGroup.css((0, _utils.patchFontOptions)(options.font)); that._deferredItems = []; that._templatesGroups = []; that._items = (items || []).map((function(dataItem, i) { var stateOfDataItem = dataItem.states; var normalState = stateOfDataItem.normal; var normalStateFill = normalState.fill; dataItem.size = dataItem.marker.size; var states = { normal: (0, _extend2.extend)(normalState, { fill: normalStateFill || options.markerColor || options.defaultColor, state: "normal" }), hover: getState(stateOfDataItem.hover, normalStateFill, "hovered"), selection: getState(stateOfDataItem.selection, normalStateFill, "selected") }; dataItem.states = states; var itemGroup = renderer.g().append(markersGroup); var markerGroup = renderer.g().attr({ class: "dxl-marker" }).append(itemGroup); that._deferredItems[i] = new _deferred.Deferred; that._templatesGroups.push(markerGroup); var item = { label: that._createLabel(dataItem, itemGroup), marker: markerGroup, renderer: renderer, group: itemGroup, tracker: { id: dataItem.id, argument: dataItem.argument, argumentIndex: dataItem.argumentIndex }, states: states, itemTextPosition: options.itemTextPosition, markerOffset: 0, bBoxes: [], renderMarker: function(state) { dataItem.marker = getAttributes(item, state, dataItem.size); markerGroup.clear(); template.render({ model: dataItem, container: markerGroup.element, onRendered: that._deferredItems[i].resolve }) } }; item.renderMarker(states.normal); that._createHint(dataItem, itemGroup); if (void 0 !== dataItem.id) { that._markersId[dataItem.id] = i } return item })) }, getTemplatesGroups: function() { return this._templatesGroups || [] }, getTemplatesDef: function() { return this._deferredItems || [] }, _getItemData: function() { var items = this._data || []; var options = this._options || {}; if (options.inverted) { items = items.slice().reverse() } return items.filter((function(i) { return i.visible })) }, _finalUpdate: function(options) { this._adjustBackgroundSettings(options); this._setBoundingRect(options.margin) }, erase: function() { var insideLegendGroup = this._insideLegendGroup; insideLegendGroup && insideLegendGroup.dispose(); this._insideLegendGroup = this._markersGroup = this._x1 = this._x2 = this._y2 = this._y2 = null; return this }, _locateElements: function(locationOptions) { this._moveInInitialValues(); this._locateRowsColumns(locationOptions) }, _moveInInitialValues: function() { this._title.hasText() && this._title.move([0, 0]); this._legendGroup && this._legendGroup.move(0, 0); this._background && this._background.attr({ x: 0, y: 0, width: 0, height: 0 }) }, applySelected: function(id) { applyMarkerState(id, this._markersId, this._items, "selection"); return this }, applyHover: function(id) { applyMarkerState(id, this._markersId, this._items, "hover"); return this }, resetItem: function(id) { applyMarkerState(id, this._markersId, this._items, "normal"); return this }, _createLabel: function(data, group) { var labelFormatObject = this._getCustomizeObject(data); var options = this._options; var align = function(position) { switch (position) { case TOP: case BOTTOM: return CENTER; case LEFT: return RIGHT; case RIGHT: return LEFT } }(options.itemTextPosition); var text = options.customizeText.call(labelFormatObject, labelFormatObject); var fontStyle = _isDefined(data.textOpacity) ? { color: options.font.color, opacity: data.textOpacity } : {}; return this._renderer.text(text, 0, 0).css((0, _utils.patchFontOptions)(fontStyle)).attr({ align: align, class: options.cssClass }).append(group) }, _createHint: function(data, group) { var labelFormatObject = this._getCustomizeObject(data); var text = this._options.customizeHint.call(labelFormatObject, labelFormatObject); if (_isDefined(text) && "" !== text) { group.setTitle(text) } }, _createBackground: function() { var isInside = "inside" === this._options.position; var color = this._options.backgroundColor; var fill = color || (isInside ? this._options.containerBackgroundColor : "none"); if (this._options.border.visible || (isInside || color) && "none" !== color) { this._background = this._renderer.rect(0, 0, 0, 0).attr({ fill: fill, class: this._backgroundClass }).append(this._insideLegendGroup) } }, _locateRowsColumns: function(options) { var iteration = 0; var layoutOptions = this._getItemsLayoutOptions(); var countItems = this._items.length; var lines; do { lines = []; this._createLines(lines, layoutOptions); this._alignLines(lines, layoutOptions); iteration++ } while (checkLinesSize(lines, layoutOptions, countItems, options.margin) && iteration < countItems); this._applyItemPosition(lines, layoutOptions) }, _createLines: function(lines, layoutOptions) { this._items.forEach((function(item, i) { var tableLine = function(lines, layoutOptions, itemIndex) { var tableLine = {}; if (itemIndex % layoutOptions.countItem === 0) { if (layoutOptions.markerOffset) { lines.push([], []) } else { lines.push([]) } } if (layoutOptions.markerOffset) { tableLine.firstLine = lines[lines.length - 1]; tableLine.secondLine = lines[lines.length - 2] } else { tableLine.firstLine = tableLine.secondLine = lines[lines.length - 1] } return tableLine }(lines, layoutOptions, i); var labelBox = { width: item.labelBBox.width, height: item.labelBBox.height, element: item.label, bBox: item.labelBBox, pos: getPos(layoutOptions), itemIndex: i }; var markerBox = { width: item.markerBBox.width, height: item.markerBBox.height, element: item.marker, pos: { horizontal: CENTER, vertical: CENTER }, bBox: { width: item.markerBBox.width, height: item.markerBBox.height, x: item.markerBBox.x, y: item.markerBBox.y }, itemIndex: i }; var firstItem; var secondItem; var offsetDirection = layoutOptions.markerOffset ? "altOffset" : "offset"; if (layoutOptions.inverseLabelPosition) { firstItem = labelBox; secondItem = markerBox } else { firstItem = markerBox; secondItem = labelBox } firstItem[offsetDirection] = layoutOptions.labelOffset; tableLine.secondLine.push(firstItem); tableLine.firstLine.push(secondItem) })) }, _alignLines: function(lines, layoutOptions) { var i; var measure = layoutOptions.altMeasure; lines.forEach((function(line) { return setMaxInLine(line, measure) })); measure = layoutOptions.measure; if (layoutOptions.itemsAlignment) { if (layoutOptions.markerOffset) { for (i = 0; i < lines.length;) { transpose([lines[i++], lines[i++]]).forEach(processLine) } } } else { transpose(lines).forEach(processLine) } function processLine(line) { setMaxInLine(line, measure) } }, _applyItemPosition: function(lines, layoutOptions) { var that = this; var position = { x: 0, y: 0 }; var maxLineLength = function(lines, layoutOptions) { return lines.reduce((function(maxLineLength, line) { return _max(maxLineLength, getLineLength(line, layoutOptions)) }), 0) }(lines, layoutOptions); lines.forEach((function(line) { var firstItem = line[0]; var altOffset = firstItem.altOffset || layoutOptions.altSpacing; position[layoutOptions.direction] = function(line, layoutOptions, maxLineLength) { var lineLength = getLineLength(line, layoutOptions); var initPosition; switch (layoutOptions.itemsAlignment) { case RIGHT: initPosition = maxLineLength - lineLength; break; case CENTER: initPosition = (maxLineLength - lineLength) / 2; break; default: initPosition = 0 } return initPosition }(line, layoutOptions, maxLineLength); line.forEach((function(item) { var offset = item.offset || layoutOptions.spacing; var wrap = new _layout_element.WrapperLayoutElement(item.element, item.bBox); var itemBBoxOptions = { x: position.x, y: position.y, width: item.width, height: item.height }; var itemBBox = new _layout_element.WrapperLayoutElement(null, itemBBoxOptions); var itemLegend = that._items[item.itemIndex]; wrap.position({ of: itemBBox, my: item.pos, at: item.pos }); itemLegend.bBoxes.push(itemBBox); position[layoutOptions.direction] += item[layoutOptions.measure] + offset })); position[layoutOptions.altDirection] += firstItem[layoutOptions.altMeasure] + altOffset })); this._items.forEach((function(item) { var itemBBox = function(markerBBox, labelBBox) { var bBox = {}; bBox.left = _min(markerBBox.x, labelBBox.x); bBox.top = _min(markerBBox.y, labelBBox.y); bBox.right = _max(markerBBox.x + markerBBox.width, labelBBox.x + labelBBox.width); bBox.bottom = _max(markerBBox.y + markerBBox.height, labelBBox.y + labelBBox.height); return bBox }(item.bBoxes[0].getLayoutOptions(), item.bBoxes[1].getLayoutOptions()); var horizontal = that._options.columnItemSpacing / 2; var vertical = that._options.rowItemSpacing / 2; item.tracker.left = itemBBox.left - horizontal; item.tracker.right = itemBBox.right + horizontal; item.tracker.top = itemBBox.top - vertical; item.tracker.bottom = itemBBox.bottom + vertical })) }, _getItemsLayoutOptions: function() { var options = this._options; var orientation = options.orientation; var layoutOptions = { itemsAlignment: options.itemsAlignment, orientation: options.orientation }; var width = this._size.width - (this._background ? 2 * options.paddingLeftRight : 0); var height = this._size.height - (this._background ? 2 * options.paddingTopBottom : 0); if ("horizontal" === orientation) { layoutOptions.length = width; layoutOptions.spacing = options.columnItemSpacing; layoutOptions.direction = "x"; layoutOptions.measure = "width"; layoutOptions.altMeasure = "height"; layoutOptions.altDirection = "y"; layoutOptions.altSpacing = options.rowItemSpacing; layoutOptions.countItem = options.columnCount; layoutOptions.altCountItem = options.rowCount; layoutOptions.marginTextLabel = 4; layoutOptions.labelOffset = 7; if (options.itemTextPosition === BOTTOM || options.itemTextPosition === TOP) { layoutOptions.labelOffset = 4; layoutOptions.markerOffset = true } } else { layoutOptions.length = height; layoutOptions.spacing = options.rowItemSpacing; layoutOptions.direction = "y"; layoutOptions.measure = "height"; layoutOptions.altMeasure = "width"; layoutOptions.altDirection = "x"; layoutOptions.altSpacing = options.columnItemSpacing; layoutOptions.countItem = options.rowCount; layoutOptions.altCountItem = options.columnCount; layoutOptions.marginTextLabel = 7; layoutOptions.labelOffset = 4; if (options.itemTextPosition === RIGHT || options.itemTextPosition === LEFT) { layoutOptions.labelOffset = 7; layoutOptions.markerOffset = true } } if (!layoutOptions.countItem) { if (layoutOptions.altCountItem) { layoutOptions.countItem = _ceil(this._items.length / layoutOptions.altCountItem) } else { layoutOptions.countItem = this._items.length } } if (options.itemTextPosition === TOP || options.itemTextPosition === LEFT) { layoutOptions.inverseLabelPosition = true } layoutOptions.itemTextPosition = options.itemTextPosition; layoutOptions.altCountItem = layoutOptions.altCountItem || _ceil(this._items.length / layoutOptions.countItem); return layoutOptions }, _adjustBackgroundSettings: function(locationOptions) { if (!this._background) { return } var border = locationOptions.border; var legendBox = this._calculateTotalBox(); var backgroundSettings = { x: _round(legendBox.x - locationOptions.paddingLeftRight), y: _round(legendBox.y - locationOptions.paddingTopBottom), width: _round(legendBox.width) + 2 * locationOptions.paddingLeftRight, height: _round(legendBox.height), opacity: locationOptions.backgroundOpacity }; if (border.visible && border.width && border.color && "none" !== border.color) { backgroundSettings["stroke-width"] = border.width; backgroundSettings.stroke = border.color; backgroundSettings["stroke-opacity"] = border.opacity; backgroundSettings.dashStyle = border.dashStyle; backgroundSettings.rx = border.cornerRadius || 0; backgroundSettings.ry = border.cornerRadius || 0 } this._background.attr(backgroundSettings) }, _setBoundingRect: function(margin) { if (!this._insideLegendGroup) { return } var box = this._calculateTotalBox(); box.height += margin.top + margin.bottom; box.widthWithoutMargins = box.width; box.width += margin.left + margin.right; box.x -= margin.left; box.y -= margin.top; this._boundingRect = box }, _calculateTotalBox: function() { var markerBox = this._markersGroup.getBBox(); var titleBox = this._title.getCorrectedLayoutOptions(); var box = this._insideLegendGroup.getBBox(); var verticalPadding = this._background ? 2 * this._options.paddingTopBottom : 0; box.height = markerBox.height + titleBox.height + verticalPadding; titleBox.width > box.width && (box.width = titleBox.width); return box }, getActionCallback: function(point) { var that = this; if (that._options.visible) { return function(act) { that[act](point.index) } } else { return _common.noop } }, getLayoutOptions: function() { var options = this._options; var boundingRect = this._insideLegendGroup ? this._boundingRect : { width: 0, height: 0, x: 0, y: 0 }; if (options) { boundingRect.verticalAlignment = options.verticalAlignment; boundingRect.horizontalAlignment = options.horizontalAlignment; if ("horizontal" === options.orientation) { boundingRect.cutLayoutSide = options.verticalAlignment; boundingRect.cutSide = "vertical" } else if (options.horizontalAlignment === CENTER) { boundingRect.cutLayoutSide = options.verticalAlignment; boundingRect.cutSide = "vertical" } else { boundingRect.cutLayoutSide = options.horizontalAlignment; boundingRect.cutSide = "horizontal" } boundingRect.position = { horizontal: options.horizontalAlignment, vertical: options.verticalAlignment }; return boundingRect } return null }, shift: function(x, y) { var box = {}; if (this._insideLegendGroup) { this._insideLegendGroup.attr({ translateX: x - this._boundingRect.x, translateY: y - this._boundingRect.y }) } this._title && this._shiftTitle(this._boundingRect.widthWithoutMargins); this._markersGroup && this._shiftMarkers(); if (this._insideLegendGroup) { box = this._legendGroup.getBBox() } this._x1 = box.x; this._y1 = box.y; this._x2 = box.x + box.width; this._y2 = box.y + box.height; return this }, _shiftTitle: function(boxWidth) { var title = this._title; var titleBox = title.getCorrectedLayoutOptions(); if (!titleBox || !title.hasText()) { return } var width = boxWidth - (this._background ? 2 * this._options.paddingLeftRight : 0); var titleOptions = title.getOptions(); var titleY = titleBox.y + titleOptions.margin.top; var titleX = 0; if (titleOptions.verticalAlignment === BOTTOM && this._markersGroup) { titleY += this._markersGroup.getBBox().height } if (titleOptions.horizontalAlignment === RIGHT) { titleX = width - titleBox.width } else if (titleOptions.horizontalAlignment === CENTER) { titleX = (width - titleBox.width) / 2 } title.shift(titleX, titleY) }, _shiftMarkers: function() { var titleBox = this._title.getLayoutOptions(); var markerBox = this._markersGroup.getBBox(); var titleOptions = this._title.getOptions() || {}; var center = 0; var y = 0; if (titleBox.width > markerBox.width && this._options.horizontalAlignment === CENTER) { center = titleBox.width / 2 - markerBox.width / 2 } if (titleOptions.verticalAlignment === TOP) { y = titleBox.height } if (0 !== center || 0 !== y) { this._markersGroup.attr({ translateX: center, translateY: y }); this._items.forEach((function(item) { item.tracker.left += center; item.tracker.right += center; item.tracker.top += y; item.tracker.bottom += y })) } }, getPosition: function() { return this._options.position }, coordsIn: function(x, y) { return x >= this._x1 && x <= this._x2 && y >= this._y1 && y <= this._y2 }, getItemByCoord: function(x, y) { var items = this._items; var legendGroup = this._insideLegendGroup; x -= legendGroup.attr("translateX"); y -= legendGroup.attr("translateY"); for (var i = 0; i < items.length; i++) { if (inRect(items[i].tracker, x, y)) { return items[i].tracker } } return null }, dispose: function() { this._title && this._title.dispose(); this._legendGroup = this._insideLegendGroup = this._title = this._renderer = this._options = this._data = this._items = null; return this }, layoutOptions: function() { if (!this.isVisible()) { return null } var pos = this.getLayoutOptions(); return { horizontalAlignment: this._options.horizontalAlignment, verticalAlignment: this._options.verticalAlignment, side: pos.cutSide, priority: 1, position: this.getPosition() } }, measure: function(size) { if (this._updated || !this._insideLegendGroup) { this.draw(size[0], size[1]); this._updated = false } else { this._items.forEach((function(item) { item.bBoxes = [] })); this._updateElementsPosition(size[0], size[1]) } var rect = this.getLayoutOptions(); return [rect.width, rect.height] }, move: function(rect) { this.shift(rect[0], rect[1]) }, freeSpace: function() { this._options._incidentOccurred("W2104"); this.erase() } }); var plugin = { name: "legend", init: function() { var group = this._renderer.g().attr({ class: this._rootClassPrefix + "-legend" }).enableLinks().append(this._renderer.root); this._legend = new Legend({ renderer: this._renderer, group: group, widget: this, itemGroupClass: this._rootClassPrefix + "-item", titleGroupClass: this._rootClassPrefix + "-title", textField: "text", getFormatObject: function(data) { return { item: data.item, text: data.text } } }); this._layout.add(this._legend) }, extenders: { _applyTilesAppearance: function() { var that = this; this._items.forEach((function(item) { that._applyLegendItemStyle(item.id, item.getState()) })) }, _buildNodes: function() { this._createLegendItems() } }, members: { _applyLegendItemStyle: function(id, state) { var legend = this._legend; switch (state) { case "hover": legend.applyHover(id); break; case "selection": legend.applySelected(id); break; default: legend.resetItem(id) } }, _createLegendItems: function() { if (this._legend.update(this._getLegendData(), this._getOption("legend"), this._themeManager.theme("legend").title)) { this._requestChange(["LAYOUT"]) } } }, dispose: function() { this._legend.dispose() }, customize: function(constructor) { constructor.prototype._proxyData.push((function(x, y) { if (this._legend.coordsIn(x, y)) { var item = this._legend.getItemByCoord(x, y); if (item) { return { id: item.id, type: "legend" } } } })); constructor.addChange({ code: "LEGEND", handler: function() { this._createLegendItems() }, isThemeDependent: true, option: "legend", isOptionChange: true }) } }; exports.plugin = plugin }, 8587: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/components/parse_utils.js ***! \***************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.correctValueType = correctValueType; exports.getParser = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _date_serialization = (obj = __webpack_require__( /*! ../../core/utils/date_serialization */ 69434), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var parsers = { string: function(val) { return (0, _type.isDefined)(val) ? "" + val : val }, numeric: function(val) { if (!(0, _type.isDefined)(val)) { return val } var parsedVal = Number(val); if (isNaN(parsedVal)) { parsedVal = void 0 } return parsedVal }, datetime: function(val) { if (!(0, _type.isDefined)(val)) { return val } var parsedVal; var numVal = Number(val); if (!isNaN(numVal)) { parsedVal = new Date(numVal) } else { parsedVal = _date_serialization.default.deserializeDate(val) } if (isNaN(Number(parsedVal))) { parsedVal = void 0 } return parsedVal } }; function correctValueType(type) { return "numeric" === type || "datetime" === type || "string" === type ? type : "" } exports.getParser = function(valueType) { return parsers[correctValueType(valueType)] || _common.noop } }, 88997: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/components/tracker.js ***! \***********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Tracker = Tracker; var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _click = __webpack_require__( /*! ../../events/click */ 95429); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var downPointerEventName = _pointer.default.down; var movePointerEventName = _pointer.default.move; function Tracker(parameters) { this._initHandlers(parameters) } Tracker.prototype = { constructor: Tracker, _initHandlers: function(parameters) { var document = _dom_adapter.default.getDocument(); parameters.getCoords = function(e) { var data = (0, _index.eventData)(e); var offset = parameters.widget._renderer.getRootOffset(); return [data.x - offset.left, data.y - offset.top] }; parameters.root.on(_click.name, clickHandler); parameters.root.on(downPointerEventName, downHandler); _events_engine.default.on(document, downPointerEventName, downHandler); _events_engine.default.on(document, movePointerEventName, moveHandler); this._disposeHandlers = function() { parameters.root.off(_click.name, clickHandler); parameters.root.off(downPointerEventName, downHandler); _events_engine.default.off(document, downPointerEventName, downHandler); _events_engine.default.off(document, movePointerEventName, moveHandler) }; function clickHandler(e) { ! function(e, params) { var id = params.getData(e); if (id >= 0) { params.click({ node: params.getNode(id), coords: params.getCoords(e), event: e }) } }(e, parameters) } var isRootDown = false; function downHandler(e) { if (isRootDown) { isRootDown = false } else { if (void 0 !== parameters.getData(e)) { isRootDown = true } moveHandler(e) } } function moveHandler(e) { ! function(e, params) { var id = params.getData(e); if (id >= 0) { params.getNode(id).setHover() } else { params.widget.clearHover() } }(e, parameters); parameters.widget._getOption("tooltip").enabled && function(e, params) { var id = params.getData(e, true); var coords; if (id >= 0) { coords = (0, _index.eventData)(e); params.getNode(id).showTooltip([coords.x, coords.y]) } else { params.widget.hideTooltip() } }(e, parameters) } }, dispose: function() { this._disposeHandlers() } } }, 77129: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/annotations.js ***! \*********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.plugins = exports.createAnnotations = void 0; var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _tooltip = __webpack_require__( /*! ../core/tooltip */ 14371); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _utils = __webpack_require__( /*! ./utils */ 19157); var _plaque = __webpack_require__( /*! ./plaque */ 64509); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _drag = __webpack_require__( /*! ../../events/drag */ 23174); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var getDocument = _dom_adapter.default.getDocument; var POINTER_ACTION = (0, _index.addNamespace)([_pointer.default.down, _pointer.default.move], "annotations"); var POINTER_UP_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.up, "annotations"); var DRAG_START_EVENT_NAME = _drag.start + ".annotations"; var DRAG_EVENT_NAME = _drag.move + ".annotations"; var DRAG_END_EVENT_NAME = _drag.end + ".annotations"; function coreAnnotation(options, contentTemplate) { return { draw: function(widget, group) { var _this = this; var annotationGroup = widget._renderer.g().append(group).css((0, _utils.patchFontOptions)(options.font)); if (this.plaque) { this.plaque.clear() } this.plaque = new _plaque.Plaque((0, _extend.extend)(true, {}, options, { cornerRadius: (options.border || {}).cornerRadius }), widget, annotationGroup, contentTemplate, widget._isAnnotationBounded(options)); this.plaque.draw(widget._getAnnotationCoords(this)); if (options.allowDragging) { annotationGroup.on(DRAG_START_EVENT_NAME, { immediate: true }, (function(e) { _this._dragOffsetX = _this.plaque.x - e.pageX; _this._dragOffsetY = _this.plaque.y - e.pageY })).on(DRAG_EVENT_NAME, (function(e) { _this.plaque.move(e.pageX + _this._dragOffsetX, e.pageY + _this._dragOffsetY) })).on(DRAG_END_EVENT_NAME, (function(e) { _this.offsetX = (_this.offsetX || 0) + e.offset.x; _this.offsetY = (_this.offsetY || 0) + e.offset.y })) } }, hitTest: function(x, y) { return this.plaque.hitTest(x, y) }, showTooltip: function(tooltip, _ref) { var x = _ref.x, y = _ref.y; var that = this; var options = that.options; if (tooltip.annotation !== that) { tooltip.setTemplate(options.tooltipTemplate); var callback = function(result) { result && (tooltip.annotation = that) }; callback(tooltip.show(options, { x: x, y: y }, { target: options }, options.customizeTooltip, callback)) } else if (!tooltip.isCursorOnTooltip(x, y)) { tooltip.move(x, y) } } } } function getTemplateFunction(options, widget) { var template; if ("text" === options.type) { template = function(item, groupElement) { var text = widget._renderer.text(item.text).attr({ class: item.cssClass }).append({ element: groupElement }); if (item.width > 0 || item.height > 0) { text.setMaxSize(item.width, item.height, { wordWrap: item.wordWrap, textOverflow: item.textOverflow }) } } } else if ("image" === options.type) { template = function(item, groupElement) { var _ref2 = item.image || {}, width = _ref2.width, height = _ref2.height, url = _ref2.url, location = _ref2.location; var outerWidth = item.width, outerHeight = item.height; var imageWidth = outerWidth > 0 ? Math.min(width, outerWidth) : width; var imageHeight = outerHeight > 0 ? Math.min(height, outerHeight) : height; widget._renderer.image(0, 0, imageWidth, imageHeight, url, location || "center").append({ element: groupElement }) } } else if ("custom" === options.type) { template = options.template } return template } function getImageObject(image) { return "string" === typeof image ? { url: image } : image } var createAnnotations = function(widget, items) { var commonAnnotationSettings = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; var customizeAnnotation = arguments.length > 3 ? arguments[3] : void 0; var pullOptions = arguments.length > 4 ? arguments[4] : void 0; var commonImageOptions = getImageObject(commonAnnotationSettings.image); return items.reduce((function(arr, item) { var currentImageOptions = getImageObject(item.image); var customizedItem = (0, _type.isFunction)(customizeAnnotation) ? customizeAnnotation(item) : {}; if (customizedItem) { customizedItem.image = getImageObject(customizedItem.image) } var options = (0, _extend.extend)(true, {}, commonAnnotationSettings, item, { image: commonImageOptions }, { image: currentImageOptions }, customizedItem); var templateFunction = getTemplateFunction(options, widget); var annotation = templateFunction && (0, _extend.extend)(true, pullOptions(options), coreAnnotation(options, widget._getTemplate(templateFunction))); annotation && arr.push(annotation); return arr }), []) }; exports.createAnnotations = createAnnotations; var chartPlugin = { name: "annotations_chart", init: function() {}, dispose: function() {}, members: { _getAnnotationCoords: function(annotation) { var _axis, _axis2; var coords = { offsetX: annotation.offsetX, offsetY: annotation.offsetY }; var argCoordName = this._options.silent("rotated") ? "y" : "x"; var valCoordName = this._options.silent("rotated") ? "x" : "y"; var argAxis = this.getArgumentAxis(); var argument = argAxis.validateUnit(annotation.argument); var axis = this.getValueAxis(annotation.axis); var series; var pane = null === (_axis = axis) || void 0 === _axis ? void 0 : _axis.pane; if (annotation.series) { var _series; series = this.series.filter((function(s) { return s.name === annotation.series }))[0]; axis = null === (_series = series) || void 0 === _series ? void 0 : _series.getValueAxis(); (0, _type.isDefined)(axis) && (pane = axis.pane) } if ((0, _type.isDefined)(argument)) { if (series) { var center = series.getPointCenterByArg(argument); center && (coords[argCoordName] = center[argCoordName]) } else { coords[argCoordName] = argAxis.getTranslator().translate(argument) }!(0, _type.isDefined)(pane) && (pane = argAxis.pane) } var value = null === (_axis2 = axis) || void 0 === _axis2 ? void 0 : _axis2.validateUnit(annotation.value); if ((0, _type.isDefined)(value)) { var _axis3; coords[valCoordName] = null === (_axis3 = axis) || void 0 === _axis3 ? void 0 : _axis3.getTranslator().translate(value); !(0, _type.isDefined)(pane) && (0, _type.isDefined)(axis) && (pane = axis.pane) } coords.canvas = this._getCanvasForPane(pane); if ((0, _type.isDefined)(coords[argCoordName]) && !(0, _type.isDefined)(value)) { var _series2; if (!(0, _type.isDefined)(axis) && !(0, _type.isDefined)(series)) { coords[valCoordName] = argAxis.getAxisPosition() } else if ((0, _type.isDefined)(axis) && !(0, _type.isDefined)(series)) { coords[valCoordName] = this._argumentAxes.filter((function(a) { return a.pane === axis.pane }))[0].getAxisPosition() } else if (null !== (_series2 = series) && void 0 !== _series2 && _series2.checkSeriesViewportCoord(argAxis, coords[argCoordName])) { coords[valCoordName] = series.getSeriesPairCoord(coords[argCoordName], true) } } if (!(0, _type.isDefined)(argument) && (0, _type.isDefined)(coords[valCoordName])) { if ((0, _type.isDefined)(axis) && !(0, _type.isDefined)(series)) { coords[argCoordName] = axis.getAxisPosition() } else if ((0, _type.isDefined)(series)) { if (series.checkSeriesViewportCoord(axis, coords[valCoordName])) { coords[argCoordName] = series.getSeriesPairCoord(coords[valCoordName], false) } } } return coords }, _annotationsPointerEventHandler: function(event) { if (this._disposed) { return } var originalEvent = event.originalEvent || {}; var touch = originalEvent.touches && originalEvent.touches[0] || {}; var rootOffset = this._renderer.getRootOffset(); var coords = { x: touch.pageX || originalEvent.pageX || event.pageX, y: touch.pageY || originalEvent.pageY || event.pageY }; var annotation = this._annotations.items.filter((function(a) { return a.hitTest(coords.x - rootOffset.left, coords.y - rootOffset.top) }))[0]; if (!annotation || !annotation.options.tooltipEnabled) { this._annotations.hideTooltip(); return } this._clear(); if (annotation.options.allowDragging && event.type === _pointer.default.down) { this._annotations._hideToolTipForDrag = true } if (!this._annotations._hideToolTipForDrag) { annotation.showTooltip(this._annotations.tooltip, coords); event.stopPropagation() } }, _isAnnotationBounded: function(options) { return (0, _type.isDefined)(options.value) || (0, _type.isDefined)(options.argument) }, _pullOptions: function(options) { return { type: options.type, name: options.name, x: options.x, y: options.y, value: options.value, argument: options.argument, axis: options.axis, series: options.series, options: options, offsetX: options.offsetX, offsetY: options.offsetY } }, _forceAnnotationRender: function() { this._change(["FORCE_RENDER"]) }, _clear: function() { this.hideTooltip(); this.clearHover() } } }; var polarChartPlugin = { name: "annotations_polar_chart", init: function() {}, dispose: function() {}, members: { _getAnnotationCoords: function(annotation) { var coords = { offsetX: annotation.offsetX, offsetY: annotation.offsetY, canvas: this._calcCanvas() }; var argAxis = this.getArgumentAxis(); var argument = argAxis.validateUnit(annotation.argument); var value = this.getValueAxis().validateUnit(annotation.value); var radius = annotation.radius; var angle = annotation.angle; var pointCoords; var series; if (annotation.series) { series = this.series.filter((function(s) { return s.name === annotation.series }))[0] }(0, _extend.extend)(true, coords, this.getXYFromPolar(angle, radius, argument, value)); if ((0, _type.isDefined)(series)) { if ((0, _type.isDefined)(coords.angle) && !(0, _type.isDefined)(value) && !(0, _type.isDefined)(radius)) { if (!(0, _type.isDefined)(argument)) { argument = argAxis.getTranslator().from(isFinite(angle) ? this.getActualAngle(angle) : coords.angle) } pointCoords = series.getSeriesPairCoord({ argument: argument, angle: -coords.angle }, true) } else if ((0, _type.isDefined)(coords.radius) && !(0, _type.isDefined)(argument) && !(0, _type.isDefined)(angle)) { pointCoords = series.getSeriesPairCoord({ radius: coords.radius }, false) } if ((0, _type.isDefined)(pointCoords)) { coords.x = pointCoords.x; coords.y = pointCoords.y } } if (annotation.series && !(0, _type.isDefined)(pointCoords)) { coords.x = coords.y = void 0 } return coords }, _annotationsPointerEventHandler: chartPlugin.members._annotationsPointerEventHandler, _isAnnotationBounded: chartPlugin.members._isAnnotationBounded, _pullOptions: function(options) { var polarOptions = (0, _extend.extend)({}, { radius: options.radius, angle: options.angle }, chartPlugin.members._pullOptions(options)); delete polarOptions.axis; return polarOptions }, _forceAnnotationRender: chartPlugin.members._forceAnnotationRender, _clear: chartPlugin.members._clear } }; var vectorMapPlugin = { name: "annotations_vector_map", init: function() {}, dispose: function() { this._annotations._offTracker(); this._annotations._offTracker = null }, members: { _getAnnotationCoords: function(annotation) { var coords = { offsetX: annotation.offsetX, offsetY: annotation.offsetY }; coords.canvas = this._projection.getCanvas(); if (annotation.coordinates) { var data = this._projection.toScreenPoint(annotation.coordinates); coords.x = data[0]; coords.y = data[1] } return coords }, _annotationsPointerEventHandler: chartPlugin.members._annotationsPointerEventHandler, _isAnnotationBounded: function(options) { return (0, _type.isDefined)(options.coordinates) }, _pullOptions: function(options) { var vectorMapOptions = (0, _extend.extend)({}, { coordinates: options.coordinates }, chartPlugin.members._pullOptions(options)); delete vectorMapOptions.axis; delete vectorMapOptions.series; delete vectorMapOptions.argument; delete vectorMapOptions.value; return vectorMapOptions }, _forceAnnotationRender: function() { this._change(["EXTRA_ELEMENTS"]) }, _getAnnotationStyles: function() { return { "text-anchor": "start" } }, _clear: function() {} }, extenders: { _prepareExtraElements: function() { var that = this; var renderElements = function() { that._renderExtraElements() }; that._annotations._offTracker = that._tracker.on({ move: renderElements, zoom: renderElements, end: renderElements }) } } }; var pieChartPlugin = { name: "annotations_pie_chart", init: function() {}, dispose: function() {}, members: { _getAnnotationCoords: function(annotation) { var series; var coords = { offsetX: annotation.offsetX, offsetY: annotation.offsetY, canvas: this._canvas }; if (annotation.argument) { if (annotation.series) { series = this.getSeriesByName(annotation.series) } else { series = this.series[0] } var argument = series.getPointsByArg(annotation.argument)[0]; var _argument$getAnnotati = argument.getAnnotationCoords(annotation.location), x = _argument$getAnnotati.x, y = _argument$getAnnotati.y; coords.x = x; coords.y = y } return coords }, _isAnnotationBounded: function(options) { return options.argument }, _annotationsPointerEventHandler: chartPlugin.members._annotationsPointerEventHandler, _pullOptions: function(options) { var pieChartOptions = (0, _extend.extend)({}, { location: options.location }, chartPlugin.members._pullOptions(options)); delete pieChartOptions.axis; return pieChartOptions }, _clear: chartPlugin.members._clear, _forceAnnotationRender: chartPlugin.members._forceAnnotationRender } }; var corePlugin = { name: "annotations_core", init: function() { this._annotations = { items: [], _hideToolTipForDrag: false, tooltip: new _tooltip.Tooltip({ cssClass: "".concat(this._rootClassPrefix, "-annotation-tooltip"), eventTrigger: this._eventTrigger, widgetRoot: this.element(), widget: this }), hideTooltip: function() { this.tooltip.annotation = null; this.tooltip.hide() }, clearItems: function() { this.items.forEach((function(i) { return i.plaque.clear() })); this.items = [] } }; this._annotations.tooltip.setRendererOptions(this._getRendererOptions()) }, dispose: function() { this._annotationsGroup.linkRemove().linkOff(); _events_engine.default.off(getDocument(), ".annotations"); this._annotationsGroup.off(".annotations"); this._annotations.tooltip && this._annotations.tooltip.dispose() }, extenders: { _createHtmlStructure: function() { var _this2 = this; this._annotationsGroup = this._renderer.g().attr({ class: "".concat(this._rootClassPrefix, "-annotations") }).css(this._getAnnotationStyles()).linkOn(this._renderer.root, "annotations").linkAppend(); _events_engine.default.on(getDocument(), POINTER_ACTION, (function(e) { if (_this2._disposed) { return } if (!_this2._annotations.tooltip.isCursorOnTooltip(e.pageX, e.pageY)) { _this2._annotations.hideTooltip() } })); _events_engine.default.on(getDocument(), POINTER_UP_EVENT_NAME, (function(event) { _this2._annotations._hideToolTipForDrag = false; _this2._annotationsPointerEventHandler(event) })); this._annotationsGroup.on(POINTER_ACTION, this._annotationsPointerEventHandler.bind(this)) }, _renderExtraElements: function() { var _this3 = this; this._annotationsGroup.clear(); this._annotations.items.forEach((function(item) { return item.draw(_this3, _this3._annotationsGroup) })) }, _stopCurrentHandling: function() { this._annotations.hideTooltip() } }, members: { _buildAnnotations: function() { this._annotations.clearItems(); var items = this._getOption("annotations", true); if (!(null !== items && void 0 !== items && items.length)) { return } this._annotations.items = createAnnotations(this, items, this._getOption("commonAnnotationSettings"), this._getOption("customizeAnnotation", true), this._pullOptions) }, _setAnnotationTooltipOptions: function() { var tooltipOptions = (0, _extend.extend)({}, this._getOption("tooltip")); tooltipOptions.contentTemplate = tooltipOptions.customizeTooltip = void 0; this._annotations.tooltip.update(tooltipOptions) }, _getAnnotationCoords: function() { return {} }, _pullOptions: function() { return {} }, _getAnnotationStyles: function() { return {} } }, customize: function(constructor) { constructor.addChange({ code: "ANNOTATIONITEMS", handler: function() { this._requestChange(["ANNOTATIONS"]) }, isOptionChange: true, option: "annotations" }); constructor.addChange({ code: "ANNOTATIONSSETTINGS", handler: function() { this._requestChange(["ANNOTATIONS"]) }, isOptionChange: true, option: "commonAnnotationSettings" }); constructor.addChange({ code: "ANNOTATIONS", handler: function() { this._buildAnnotations(); this._setAnnotationTooltipOptions(); this._forceAnnotationRender() }, isThemeDependent: true, isOptionChange: true }) }, fontFields: ["commonAnnotationSettings.font"] }; var plugins = { core: corePlugin, chart: chartPlugin, polarChart: polarChartPlugin, vectorMap: vectorMapPlugin, pieChart: pieChartPlugin }; exports.plugins = plugins }, 43637: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/base_theme_manager.js ***! \****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.BaseThemeManager = void 0; var _class = (obj = __webpack_require__( /*! ../../core/class */ 38377), obj && obj.__esModule ? obj : { default: obj }); var obj; var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _palette = __webpack_require__( /*! ../palette */ 23696); var _utils = __webpack_require__( /*! ./utils */ 19157); var _themes = __webpack_require__( /*! ../themes */ 86231); var _getTheme = _themes.getTheme; var _addCacheItem = _themes.addCacheItem; var _removeCacheItem = _themes.removeCacheItem; var _extend = _extend2.extend; var _each = _iterator.each; function getThemePart(theme, path) { var _theme = theme; path && _each(path.split("."), (function(_, pathItem) { return _theme = _theme[pathItem] })); return _theme } var BaseThemeManager = _class.default.inherit({ ctor: function(options) { this._themeSection = options.themeSection; this._fontFields = options.fontFields || []; _addCacheItem(this) }, dispose: function() { _removeCacheItem(this); this._callback = this._theme = this._font = null; return this }, setCallback: function(callback) { this._callback = callback; return this }, setTheme: function(theme, rtl) { this._current = theme; this._rtl = rtl; return this.refresh() }, refresh: function() { var current = this._current || {}; var theme = _getTheme(current.name || current); this._themeName = theme.name; this._defaultPalette = theme.defaultPalette; this._font = _extend({}, theme.font, current.font); this._themeSection && _each(this._themeSection.split("."), (function(_, path) { theme = _extend(true, {}, theme[path]) })); this._theme = _extend(true, {}, theme, (0, _type.isString)(current) ? {} : current); this._initializeTheme(); if ((0, _utils.parseScalar)(this._rtl, this._theme.rtlEnabled)) { _extend(true, this._theme, this._theme._rtl) } this._callback(); return this }, theme: function(path) { return getThemePart(this._theme, path) }, themeName: function() { return this._themeName }, createPalette: function(palette, options) { return (0, _palette.createPalette)(palette, options, this._defaultPalette) }, createDiscretePalette: function(palette, count) { return (0, _palette.getDiscretePalette)(palette, count, this._defaultPalette) }, createGradientPalette: function(palette) { return (0, _palette.getGradientPalette)(palette, this._defaultPalette) }, getAccentColor: function(palette) { return (0, _palette.getAccentColor)(palette, this._defaultPalette) }, _initializeTheme: function() { var that = this; _each(that._fontFields || [], (function(_, path) { that._initializeFont(getThemePart(that._theme, path)) })) }, _initializeFont: function(font) { _extend(font, this._font, _extend({}, font)) } }); exports.BaseThemeManager = BaseThemeManager }, 59063: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/base_widget.js ***! \*********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _type2 = __webpack_require__( /*! ../../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _base_theme_manager = __webpack_require__( /*! ../core/base_theme_manager */ 43637); var _dom_component = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_component */ 13046)); var _helpers = __webpack_require__( /*! ./helpers */ 3603); var _utils = __webpack_require__( /*! ./utils */ 19157); var _errors_warnings = _interopRequireDefault(__webpack_require__( /*! ./errors_warnings */ 80726)); var _renderer2 = __webpack_require__( /*! ./renderers/renderer */ 56453); var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _layout = _interopRequireDefault(__webpack_require__( /*! ./layout */ 94551)); var _devices = _interopRequireDefault(__webpack_require__( /*! ../../core/devices */ 20530)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _charts = __webpack_require__( /*! ../../common/charts */ 29932); var _base_widget = __webpack_require__( /*! ./base_widget.utils */ 98469); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } var _floor = Math.floor; var _log = _errors_warnings.default.log; var _option = _dom_component.default.prototype.option; function getTrue() { return true } function getFalse() { return false } function defaultOnIncidentOccurred(e) { if (!e.component._eventsStrategy.hasEvent("incidentOccurred")) { _log.apply(null, [e.target.id].concat(e.target.args || [])) } } function pickPositiveValue(values) { return values.reduce((function(result, value) { return value > 0 && !result ? value : result }), 0) } function callForEach(functions) { functions.forEach((function(c) { return c() })) } function floorCanvasDimensions(canvas) { return _extends({}, canvas, { height: _floor(canvas.height), width: _floor(canvas.width) }) } var isServerSide = !(0, _window.hasWindow)(); var baseWidget = isServerSide ? function() { var emptyComponentConfig = { _initTemplates: function() {}, ctor: function(element, options) { this.callBase(element, options); var sizedElement = _dom_adapter.default.createElement("div"); var width = options && (0, _type2.isNumeric)(options.width) ? options.width + "px" : "100%"; var height = options && (0, _type2.isNumeric)(options.height) ? options.height + "px" : this._getDefaultSize().height + "px"; _dom_adapter.default.setStyle(sizedElement, "width", width); _dom_adapter.default.setStyle(sizedElement, "height", height); _dom_adapter.default.setClass(sizedElement, "dx-sized-element"); _dom_adapter.default.insertElement(element, sizedElement) } }; var EmptyComponent = _dom_component.default.inherit(emptyComponentConfig); var originalInherit = EmptyComponent.inherit; EmptyComponent.inherit = function(config) { for (var field in config) { if ((0, _type2.isFunction)(config[field]) && "_" !== field.substr(0, 1) && "option" !== field || "_dispose" === field || "_optionChanged" === field) { config[field] = _common.noop } } return originalInherit.call(this, config) }; return EmptyComponent }() : _dom_component.default.inherit({ _eventsMap: { onIncidentOccurred: { name: "incidentOccurred", actionSettings: { excludeValidators: ["disabled"] } }, onDrawn: { name: "drawn", actionSettings: { excludeValidators: ["disabled"] } } }, _getDefaultOptions: function() { return (0, _extend.extend)(this.callBase(), { onIncidentOccurred: defaultOnIncidentOccurred }) }, _useLinks: true, _init: function() { var that = this; that._$element.children(".dx-sized-element").remove(); that._graphicObjects = {}; that.callBase.apply(that, arguments); that._changesLocker = 0; that._optionChangedLocker = 0; that._asyncFirstDrawing = true; that._changes = (0, _helpers.changes)(); that._suspendChanges(); that._themeManager = that._createThemeManager(); that._themeManager.setCallback((function() { that._requestChange(that._themeDependentChanges) })); that._renderElementAttributes(); that._initRenderer(); var linkTarget = that._useLinks && that._renderer.root; linkTarget && linkTarget.enableLinks().virtualLink("core").virtualLink("peripheral"); that._renderVisibilityChange(); that._attachVisibilityChangeHandlers(); that._toggleParentsScrollSubscription(this._isVisible()); that._initEventTrigger(); that._incidentOccurred = (0, _base_widget.createIncidentOccurred)(that.NAME, that._eventTrigger); that._layout = new _layout.default; linkTarget && linkTarget.linkAfter("core"); that._initPlugins(); that._initCore(); linkTarget && linkTarget.linkAfter(); that._change(that._initialChanges) }, _createThemeManager: function() { return new _base_theme_manager.BaseThemeManager(this._getThemeManagerOptions()) }, _getThemeManagerOptions: function() { return { themeSection: this._themeSection, fontFields: this._fontFields } }, _initialChanges: ["LAYOUT", "RESIZE_HANDLER", "THEME", "DISABLED"], _initPlugins: function() { var that = this; (0, _iterator.each)(that._plugins, (function(_, plugin) { plugin.init.call(that) })) }, _disposePlugins: function() { var that = this; (0, _iterator.each)(that._plugins.slice().reverse(), (function(_, plugin) { plugin.dispose.call(that) })) }, _change: function(codes) { this._changes.add(codes) }, _suspendChanges: function() { ++this._changesLocker }, _resumeChanges: function() { if (0 === --this._changesLocker && this._changes.count() > 0 && !this._applyingChanges) { this._renderer.lock(); this._applyingChanges = true; this._applyChanges(); this._changes.reset(); this._applyingChanges = false; this._changesApplied(); this._renderer.unlock(); if (this._optionsQueue) { this._applyQueuedOptions() } this.resolveItemsDeferred(this._legend ? [this._legend] : []); this._optionChangedLocker++; this._notify(); this._optionChangedLocker-- } }, resolveItemsDeferred: function(items) { this._resolveDeferred(this._getTemplatesItems(items)) }, _collectTemplatesFromItems: function(items) { return items.reduce((function(prev, i) { return { items: prev.items.concat(i.getTemplatesDef()), groups: prev.groups.concat(i.getTemplatesGroups()) } }), { items: [], groups: [] }) }, _getTemplatesItems: function(items) { var elements = this._collectTemplatesFromItems(items); var extraItems = this._getExtraTemplatesItems(); return { items: extraItems.items.concat(elements.items), groups: extraItems.groups.concat(elements.groups), launchRequest: [extraItems.launchRequest], doneRequest: [extraItems.doneRequest] } }, _getExtraTemplatesItems: function() { return { items: [], groups: [], launchRequest: function() {}, doneRequest: function() {} } }, _resolveDeferred: function(_ref) { var items = _ref.items, launchRequest = _ref.launchRequest, doneRequest = _ref.doneRequest, groups = _ref.groups; var that = this; that._setGroupsVisibility(groups, "hidden"); if (that._changesApplying) { that._changesApplying = false; callForEach(doneRequest); return } var syncRendering = true; _deferred.when.apply(that, items).done((function() { if (syncRendering) { that._setGroupsVisibility(groups, "visible"); return } callForEach(launchRequest); that._changesApplying = true; var changes = ["LAYOUT", "FULL_RENDER"]; if (that._asyncFirstDrawing) { changes.push("FORCE_FIRST_DRAWING"); that._asyncFirstDrawing = false } else { changes.push("FORCE_DRAWING") } that._requestChange(changes); that._setGroupsVisibility(groups, "visible") })); syncRendering = false }, _setGroupsVisibility: function(groups, visibility) { groups.forEach((function(g) { return g.attr({ visibility: visibility }) })) }, _applyQueuedOptions: function() { var queue = this._optionsQueue; this._optionsQueue = null; this.beginUpdate(); (0, _iterator.each)(queue, (function(_, action) { action() })); this.endUpdate() }, _requestChange: function(codes) { this._suspendChanges(); this._change(codes); this._resumeChanges() }, _applyChanges: function() { var changes = this._changes; var order = this._totalChangesOrder; var i; var ii = order.length; for (i = 0; i < ii; ++i) { if (changes.has(order[i])) { this["_change_" + order[i]]() } } }, _optionChangesOrder: ["EVENTS", "THEME", "RENDERER", "RESIZE_HANDLER"], _layoutChangesOrder: ["ELEMENT_ATTR", "CONTAINER_SIZE", "LAYOUT"], _customChangesOrder: ["DISABLED"], _change_EVENTS: function() { this._eventTrigger.applyChanges() }, _change_THEME: function() { this._setThemeAndRtl() }, _change_RENDERER: function() { this._setRendererOptions() }, _change_RESIZE_HANDLER: function() { this._setupResizeHandler() }, _change_ELEMENT_ATTR: function() { this._renderElementAttributes(); this._change(["CONTAINER_SIZE"]) }, _change_CONTAINER_SIZE: function() { this._updateSize() }, _change_LAYOUT: function() { this._setContentSize() }, _change_DISABLED: function() { var renderer = this._renderer; var root = renderer.root; if (this.option("disabled")) { this._initDisabledState = root.attr("pointer-events"); root.attr({ "pointer-events": "none", filter: renderer.getGrayScaleFilter().id }) } else if ("none" === root.attr("pointer-events")) { root.attr({ "pointer-events": (0, _type2.isDefined)(this._initDisabledState) ? this._initDisabledState : null, filter: null }) } }, _themeDependentChanges: ["RENDERER"], _initRenderer: function() { var rawCanvas = this._calculateRawCanvas(); this._canvas = floorCanvasDimensions(rawCanvas); this._renderer = new _renderer2.Renderer({ cssClass: this._rootClassPrefix + " " + this._rootClass, pathModified: this.option("pathModified"), container: this._$element[0] }); this._renderer.resize(this._canvas.width, this._canvas.height) }, _disposeRenderer: function() { this._renderer.dispose() }, _disposeGraphicObjects: function() { for (var id in this._graphicObjects) { this._graphicObjects[id].dispose() } this._graphicObjects = null }, _getAnimationOptions: _common.noop, render: function() { this._requestChange(["CONTAINER_SIZE"]); var visible = this._isVisible(); this._toggleParentsScrollSubscription(visible); !visible && this._stopCurrentHandling() }, _toggleParentsScrollSubscription: function(subscribe) { var $parents = (0, _renderer.default)(this._renderer.root.element).parents(); if ("generic" === _devices.default.real().platform) { $parents = $parents.add((0, _window.getWindow)()) } this._proxiedTargetParentsScrollHandler = this._proxiedTargetParentsScrollHandler || function() { this._stopCurrentHandling() }.bind(this); _events_engine.default.off((0, _renderer.default)().add(this._$prevRootParents), "scroll.viz_widgets", this._proxiedTargetParentsScrollHandler); if (subscribe) { _events_engine.default.on($parents, "scroll.viz_widgets", this._proxiedTargetParentsScrollHandler); this._$prevRootParents = $parents } }, _stopCurrentHandling: _common.noop, _dispose: function() { var that = this; if (this._disposed) { return } that.callBase.apply(that, arguments); that._toggleParentsScrollSubscription(false); that._removeResizeHandler(); that._layout.dispose(); that._eventTrigger.dispose(); that._disposeCore(); that._disposePlugins(); that._disposeGraphicObjects(); that._disposeRenderer(); that._themeManager.dispose(); that._themeManager = that._renderer = that._eventTrigger = null }, _initEventTrigger: function() { var that = this; that._eventTrigger = (0, _base_widget.createEventTrigger)(that._eventsMap, (function(name, actionSettings) { return that._createActionByOption(name, actionSettings) })) }, _calculateRawCanvas: function() { var that = this; var size = that.option("size") || {}; var margin = that.option("margin") || {}; var defaultCanvas = that._getDefaultSize() || {}; var getSizeOfSide = function(size, side, getter) { if ((value = size[side], (0, _type2.isDefined)(value) && value > 0) || !(0, _window.hasWindow)()) { return 0 } var value; var elementSize = getter(that._$element); return elementSize <= 1 ? 0 : elementSize }; var elementWidth = getSizeOfSide(size, "width", (function(x) { return (0, _size.getWidth)(x) })); var elementHeight = getSizeOfSide(size, "height", (function(x) { return (0, _size.getHeight)(x) })); var canvas = { width: size.width <= 0 ? 0 : pickPositiveValue([size.width, elementWidth, defaultCanvas.width]), height: size.height <= 0 ? 0 : pickPositiveValue([size.height, elementHeight, defaultCanvas.height]), left: pickPositiveValue([margin.left, defaultCanvas.left]), top: pickPositiveValue([margin.top, defaultCanvas.top]), right: pickPositiveValue([margin.right, defaultCanvas.right]), bottom: pickPositiveValue([margin.bottom, defaultCanvas.bottom]) }; if (canvas.width - canvas.left - canvas.right <= 0 || canvas.height - canvas.top - canvas.bottom <= 0) { canvas = { width: 0, height: 0 } } return canvas }, _updateSize: function() { var rawCanvas = this._calculateRawCanvas(); if ((canvas1 = this._canvas, canvas2 = rawCanvas, !(Math.abs(canvas1.width - canvas2.width) < 1 && Math.abs(canvas1.height - canvas2.height) < 1 && canvas1.left === canvas2.left && canvas1.top === canvas2.top && canvas1.right === canvas2.right && canvas1.bottom === canvas2.bottom)) || this.__forceRender) { this._canvas = floorCanvasDimensions(rawCanvas); this._recreateSizeDependentObjects(true); this._renderer.resize(this._canvas.width, this._canvas.height); this._change(["LAYOUT"]) } var canvas1, canvas2 }, _recreateSizeDependentObjects: _common.noop, _getMinSize: function() { return [0, 0] }, _getAlignmentRect: _common.noop, _setContentSize: function() { var canvas = this._canvas; var layout = this._layout; var rect = canvas.width > 0 && canvas.height > 0 ? [canvas.left, canvas.top, canvas.width - canvas.right, canvas.height - canvas.bottom] : [0, 0, 0, 0]; rect = layout.forward(rect, this._getMinSize()); var nextRect = this._applySize(rect) || rect; layout.backward(nextRect, this._getAlignmentRect() || nextRect) }, _getOption: function(name, isScalar) { var theme = this._themeManager.theme(name); var option = this.option(name); return isScalar ? void 0 !== option ? option : theme : (0, _extend.extend)(true, {}, theme, option) }, _setupResizeHandler: function() { var that = this; var redrawOnResize = (0, _utils.parseScalar)(that._getOption("redrawOnResize", true), true); if (that._disposeResizeHandler) { that._removeResizeHandler() } that._disposeResizeHandler = (0, _base_widget.createResizeHandler)(that._$element[0], redrawOnResize, (function() { return that._requestChange(["CONTAINER_SIZE"]) })) }, _removeResizeHandler: function() { if (this._disposeResizeHandler) { this._disposeResizeHandler(); this._disposeResizeHandler = null } }, _onBeginUpdate: _common.noop, beginUpdate: function() { var that = this; if (that._initialized && that._isUpdateAllowed()) { that._onBeginUpdate(); that._suspendChanges() } that.callBase.apply(that, arguments); return that }, endUpdate: function() { this.callBase(); this._isUpdateAllowed() && this._resumeChanges(); return this }, option: function(name) { var that = this; if (that._initialized && that._applyingChanges && (arguments.length > 1 || (0, _type2.isObject)(name))) { that._optionsQueue = that._optionsQueue || []; that._optionsQueue.push(that._getActionForUpdating(arguments)) } else { return _option.apply(that, arguments) } }, _getActionForUpdating: function(args) { var that = this; return function() { _option.apply(that, args) } }, _clean: _common.noop, _render: _common.noop, _optionChanged: function(arg) { var that = this; if (that._optionChangedLocker) { return } var partialChanges = that.getPartialChangeOptionsName(arg); var changes = []; if (partialChanges.length > 0) { partialChanges.forEach((function(pc) { return changes.push(that._partialOptionChangesMap[pc]) })) } else { changes.push(that._optionChangesMap[arg.name]) } changes = changes.filter((function(c) { return !!c })); if (that._eventTrigger.change(arg.name)) { that._change(["EVENTS"]) } else if (changes.length > 0) { that._change(changes) } else { that.callBase.apply(that, arguments) } }, _notify: _common.noop, _changesApplied: _common.noop, _optionChangesMap: { size: "CONTAINER_SIZE", margin: "CONTAINER_SIZE", redrawOnResize: "RESIZE_HANDLER", theme: "THEME", rtlEnabled: "THEME", encodeHtml: "THEME", elementAttr: "ELEMENT_ATTR", disabled: "DISABLED" }, _partialOptionChangesMap: {}, _partialOptionChangesPath: {}, getPartialChangeOptionsName: function(changedOption) { var that = this; var fullName = changedOption.fullName; var sections = fullName.split(/[.]/); var name = changedOption.name; var value = changedOption.value; var options = this._partialOptionChangesPath[name]; var partialChangeOptionsName = []; if (options) { if (true === options) { partialChangeOptionsName.push(name) } else { options.forEach((function(op) { fullName.indexOf(op) >= 0 && partialChangeOptionsName.push(op) })); if (1 === sections.length) { if ("object" === (0, _type2.type)(value)) { that._addOptionsNameForPartialUpdate(value, options, partialChangeOptionsName) } else if ("array" === (0, _type2.type)(value)) { if (value.length > 0 && value.every((function(item) { return that._checkOptionsForPartialUpdate(item, options) }))) { value.forEach((function(item) { return that._addOptionsNameForPartialUpdate(item, options, partialChangeOptionsName) })) } } } } } return partialChangeOptionsName.filter((function(value, index, self) { return self.indexOf(value) === index })) }, _checkOptionsForPartialUpdate: function(optionObject, options) { return !Object.keys(optionObject).some((function(key) { return -1 === options.indexOf(key) })) }, _addOptionsNameForPartialUpdate: function(optionObject, options, partialChangeOptionsName) { var optionKeys = Object.keys(optionObject); if (this._checkOptionsForPartialUpdate(optionObject, options)) { optionKeys.forEach((function(key) { return options.indexOf(key) > -1 && partialChangeOptionsName.push(key) })) } }, _visibilityChanged: function() { this.render() }, _setThemeAndRtl: function() { this._themeManager.setTheme(this.option("theme"), this.option("rtlEnabled")) }, _getRendererOptions: function() { return { rtl: this.option("rtlEnabled"), encodeHtml: this.option("encodeHtml"), animation: this._getAnimationOptions() } }, _setRendererOptions: function() { this._renderer.setOptions(this._getRendererOptions()) }, svg: function() { return this._renderer.svg() }, getSize: function() { var canvas = this._canvas || {}; return { width: canvas.width, height: canvas.height } }, isReady: getFalse, _dataIsReady: getTrue, _resetIsReady: function() { this.isReady = getFalse }, _renderGraphicObjects: function() { var renderer = this._renderer; var graphics = (0, _charts.getGraphicObjects)(); for (var id in graphics) { if (!this._graphicObjects[id]) { var _graphics$id = graphics[id], _type = _graphics$id.type, colors = _graphics$id.colors, rotationAngle = _graphics$id.rotationAngle, template = _graphics$id.template, width = _graphics$id.width, height = _graphics$id.height; switch (_type) { case "linear": this._graphicObjects[id] = renderer.linearGradient(colors, id, rotationAngle); break; case "radial": this._graphicObjects[id] = renderer.radialGradient(colors, id); break; case "pattern": this._graphicObjects[id] = renderer.customPattern(id, this._getTemplate(template), width, height) } } } }, _drawn: function() { var that = this; that.isReady = getFalse; if (that._dataIsReady()) { that._renderer.onEndAnimation((function() { that.isReady = getTrue })) } that._eventTrigger("drawn", {}) } }); var _default = baseWidget; exports.default = _default; (0, _helpers.replaceInherit)(baseWidget); module.exports = exports.default; module.exports.default = exports.default }, 98469: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/base_widget.utils.js ***! \***************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.createEventTrigger = function(eventsMap, callbackGetter) { var triggers = {}; (0, _iterator.each)(eventsMap, (function(name, info) { if (info.name) { createEvent(name) } })); var changes; triggerEvent.change = function(name) { var eventInfo = eventsMap[name]; if (eventInfo) { (changes = changes || {})[name] = eventInfo } return !!eventInfo }; triggerEvent.applyChanges = function() { if (changes) { (0, _iterator.each)(changes, (function(name, eventInfo) { createEvent(eventInfo.newName || name) })); changes = null } }; triggerEvent.dispose = function() { eventsMap = callbackGetter = triggers = null }; return triggerEvent; function createEvent(name) { var eventInfo = eventsMap[name]; triggers[eventInfo.name] = callbackGetter(name, eventInfo.actionSettings) } function triggerEvent(name, arg, complete) { triggers[name](arg); complete && complete() } }; exports.createIncidentOccurred = void 0; exports.createResizeHandler = function(contentElement, redrawOnResize, resize) { var disposeHandler; var resizeManager = (resizeCallback = resize, function(observe, unsubscribe) { var _createDeferredHandle = function(callback, unsubscribe) { var timeout; var handler = function() { clearTimeout(timeout); timeout = setTimeout(callback, 100) }; return { handler: handler, dispose: function() { clearTimeout(timeout); unsubscribe(handler) } } }(resizeCallback, unsubscribe), handler = _createDeferredHandle.handler, dispose = _createDeferredHandle.dispose; observe(handler); return dispose }); var resizeCallback; if ("windowonly" === (0, _utils.normalizeEnum)(redrawOnResize)) { disposeHandler = resizeManager((function(handler) { return _resize_callbacks.default.add(handler) }), (function(handler) { return _resize_callbacks.default.remove(handler) })) } else if (true === redrawOnResize) { disposeHandler = resizeManager((function(handler) { return _resize_observer.default.observe(contentElement, handler) }), (function() { return _resize_observer.default.unobserve(contentElement) })) } return disposeHandler }; var _version = __webpack_require__( /*! ../../core/version */ 36739); var _string = __webpack_require__( /*! ../../core/utils/string */ 68752); var _errors_warnings = _interopRequireDefault(__webpack_require__( /*! ./errors_warnings */ 80726)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _resize_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/resize_callbacks */ 55814)); var _resize_observer = _interopRequireDefault(__webpack_require__( /*! ../../core/resize_observer */ 91784)); var _utils = __webpack_require__( /*! ./utils */ 19157); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ERROR_MESSAGES = _errors_warnings.default.ERROR_MESSAGES; exports.createIncidentOccurred = function(widgetName, eventTrigger) { return function(id, args) { eventTrigger("incidentOccurred", { target: { id: id, type: "E" === id[0] ? "error" : "warning", args: args, text: _string.format.apply(null, [ERROR_MESSAGES[id]].concat(args || [])), widget: widgetName, version: _version.version } }) } } }, 56672: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/center_template.js ***! \*************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.plugins = void 0; var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var pieChartPlugin = { name: "center_template_pie_chart", init: _common.noop, dispose: function() { this._centerTemplateGroup.linkOff().dispose() }, extenders: { _createHtmlStructure: function() { var patchedFontOptions = (0, _utils.patchFontOptions)(this._themeManager._font); this._centerTemplateGroup = this._renderer.g().attr({ class: "dxc-hole-template" }).linkOn(this._renderer.root, "center-template").css(patchedFontOptions).linkAppend() }, _renderExtraElements: function() { this._requestChange(["CENTER_TEMPLATE"]) } }, members: { _renderCenterTemplate: function() { var template = this.option("centerTemplate"); var centerTemplateGroup = this._centerTemplateGroup.clear(); if (!template) { return } centerTemplateGroup.attr({ visibility: "hidden" }); var center = this._getCenter(); this._getTemplate(template).render({ model: this, container: centerTemplateGroup.element, onRendered: function() { var group = centerTemplateGroup; var bBox = group.getBBox(); var bBoxCenterX = bBox.x + bBox.width / 2; var bBoxCenterY = bBox.y + bBox.height / 2; group.move(center.x - bBoxCenterX, center.y - bBoxCenterY); group.attr({ visibility: "visible" }) } }) } }, customize: function(constructor) { constructor.addChange({ code: "CENTER_TEMPLATE", handler: function() { this._renderCenterTemplate() }, option: "centerTemplate" }) } }; var gaugePlugin = { name: "center_template_gauge", init: _common.noop, dispose: pieChartPlugin.dispose, extenders: { _initCore: function() { this._createCenterTemplateGroup() }, _renderContent: function() { var patchedFontOptions = (0, _utils.patchFontOptions)(this._themeManager._font); this._centerTemplateGroup.css(patchedFontOptions); this._requestChange(["CENTER_TEMPLATE"]) }, _updateExtraElements: function() { this._requestChange(["CENTER_TEMPLATE"]) } }, members: { _renderCenterTemplate: pieChartPlugin.members._renderCenterTemplate, _createCenterTemplateGroup: function() { this._centerTemplateGroup = this._renderer.g().attr({ class: "dxg-hole-template" }).linkOn(this._renderer.root, "center-template").linkAppend() } }, customize: pieChartPlugin.customize }; var plugins = { pieChart: pieChartPlugin, gauge: gaugePlugin }; exports.plugins = plugins }, 1539: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/data_source.js ***! \*********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.plugin = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _data_helper = (obj = __webpack_require__( /*! ../../data_helper */ 53305), obj && obj.__esModule ? obj : { default: obj }); var obj; var postCtor = _data_helper.default.postCtor; var name; var members = { _dataSourceLoadErrorHandler: function() { this._dataSourceChangedHandler() }, _dataSourceOptions: function() { return { paginate: false } }, _updateDataSource: function() { this._refreshDataSource(); if (!this.option("dataSource")) { this._dataSourceChangedHandler() } }, _dataIsLoaded: function() { return !this._dataSource || this._dataSource.isLoaded() }, _dataSourceItems: function() { return this._dataSource && this._dataSource.items() } }; for (name in _data_helper.default) { if ("postCtor" === name) { continue } members[name] = _data_helper.default[name] } var plugin = { name: "data_source", init: function() { postCtor.call(this) }, dispose: _common.noop, members: members }; exports.plugin = plugin }, 80726: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/errors_warnings.js ***! \*************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _error = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/error */ 95640)); var _errors = _interopRequireDefault(__webpack_require__( /*! ../../core/errors */ 17381)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _default = (0, _error.default)(_errors.default.ERROR_MESSAGES, { E2001: "Invalid data source", E2002: "Axis type and data type are incompatible", E2003: 'The "{0}" data source field contains data of unsupported type', E2004: 'The "{0}" data source field is inconsistent', E2005: 'The value field "{0}" is absent in the data source or all its values are negative', E2006: "A cycle is detected in provided data", E2007: 'The value field "{0}" is absent in the data source', E2008: 'The value field "{0}" must be a string', E2009: 'The value field "{0}" must be a positive numeric value', E2101: "Unknown series type: {0}", E2102: "Ambiguity occurred between two value axes with the same name", E2103: 'The "{0}" option is given an invalid value. Assign a function instead', E2104: "Invalid logarithm base", E2105: 'Invalid value of a "{0}"', E2202: "Invalid {0} scale value", E2203: "The range you are trying to set is invalid", W2002: "The {0} series cannot be drawn because the {1} data field is missing", W2003: "Tick interval is too small", W2101: 'The "{0}" pane does not exist; the last pane is used by default', W2102: 'A value axis with the "{0}" name was created automatically', W2103: "The chart title was hidden due to the container size", W2104: "The legend was hidden due to the container size", W2105: 'The title of the "{0}" axis was hidden due to the container size', W2106: 'The labels of the "{0}" axis were hidden due to the container size', W2107: "The export menu was hidden due to the container size", W2108: "The browser does not support exporting images to {0} format.", W2301: "Invalid value range" }); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 82454: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/export.js ***! \****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.plugin = exports.getMarkup = exports.exportWidgets = exports.exportFromMarkup = exports.combineMarkups = exports.ExportMenu = void 0; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _utils = __webpack_require__( /*! ./utils */ 19157); var _svg = __webpack_require__( /*! ../../core/utils/svg */ 19155); var _exporter = __webpack_require__( /*! ../../exporter */ 78292); var _message = _interopRequireDefault(__webpack_require__( /*! ../../localization/message */ 28109)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _themes = __webpack_require__( /*! ../themes */ 86231); var _hover = __webpack_require__( /*! ../../events/hover */ 24028); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _console = __webpack_require__( /*! ../../core/utils/console */ 30869); var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var pointerActions = [_pointer.default.down, _pointer.default.move].join(" "); var ICON_COORDS = [ [9, 12, 26, 12, 26, 14, 9, 14], [9, 17, 26, 17, 26, 19, 9, 19], [9, 22, 26, 22, 26, 24, 9, 24] ]; var ALLOWED_IMAGE_FORMATS = ["PNG", "JPEG", "GIF"]; var ALLOWED_EXTRA_FORMATS = ["PDF", "SVG"]; var GET_COLOR_REGEX = /data-backgroundcolor="([^"]*)"/; function getValidFormats() { var imageFormats = _exporter.image.testFormats(ALLOWED_IMAGE_FORMATS); return { unsupported: imageFormats.unsupported, supported: imageFormats.supported.concat(ALLOWED_EXTRA_FORMATS) } } function validateFormat(format, incidentOccurred, validFormats) { validFormats = validFormats || getValidFormats(); format = String(format).toUpperCase(); if (-1 !== validFormats.supported.indexOf(format)) { return format } if (-1 !== validFormats.unsupported.indexOf(format)) { incidentOccurred && incidentOccurred("W2108", [format]) } } function getCreatorFunc(format) { if ("SVG" === format) { return _exporter.svg.getData } else if ("PDF" === format) { return _exporter.pdf.getData } else { return _exporter.image.getData } } function _print(imageSrc, options) { var document = (0, _window.getWindow)().document; var iFrame = document.createElement("iframe"); iFrame.onload = function(imageSrc, options) { return function() { var _this = this; var window = this.contentWindow; var img = window.document.createElement("img"); window.document.body.appendChild(img); var widthRatio = function(iFrameBody) { iFrameBody.style.width = "21cm"; var width = (0, _size.getWidth)(iFrameBody); iFrameBody.style.width = ""; return width }(window.document.body) / options.width; if (widthRatio < 1) { window.document.body.style.transform = "scale(".concat(widthRatio, ")"); window.document.body.style["transform-origin"] = "0 0" } var removeFrame = function() { _this.parentElement.removeChild(_this) }; img.addEventListener("load", (function() { window.focus(); window.print() })); img.addEventListener("error", removeFrame); window.addEventListener("afterprint", (function() { setTimeout(removeFrame, 0) })); img.src = imageSrc } }(imageSrc, options); iFrame.style.position = "fixed"; iFrame.style.width = "0"; iFrame.style.height = "0"; iFrame.style.right = "0"; iFrame.style.bottom = "0"; document.body.appendChild(iFrame) } function createMenuItem(renderer, options, settings) { var itemData = {}; var type = settings.type; var format = settings.format; var attr = function(options, type, itemIndex) { var x = -85; var y = 40 + 30 * itemIndex; var attr = { rect: { width: 118, height: 30, x: -84, y: y }, text: { x: x + (options.rtl ? 105 : 15), y: y + 30 - 8 } }; if ("printing" === type) { attr.separator = { stroke: options.button.default.borderColor, "stroke-width": 1, cursor: "pointer", sharp: "v", d: "M -85 " + (y + 30 - 1) + " L 35 " + (y + 30 - 1) } } return attr }(options, type, settings.itemIndex); var fontStyle = (0, _utils.patchFontOptions)(options.font); fontStyle["pointer-events"] = "none"; var menuItem = renderer.g().attr({ class: "dx-export-menu-list-item" }); itemData["export-element-type"] = type; if (format) { itemData["export-element-format"] = format } var rect = renderer.rect(); rect.attr(attr.rect).css({ cursor: "pointer", "pointer-events": "all" }).data(itemData); rect.on(_hover.start + ".export", (function() { return rect.attr({ fill: options.button.hover.backgroundColor }) })).on(_hover.end + ".export", (function() { return rect.attr({ fill: null }) })); rect.append(menuItem); var text = renderer.text(settings.text).css(fontStyle).attr(attr.text).append(menuItem); if ("printing" === type) { renderer.path(null, "line").attr(attr.separator).append(menuItem) } return { g: menuItem, rect: rect, resetState: function() { return rect.attr({ fill: null }) }, fixPosition: function() { var textBBox = text.getBBox(); text.move(attr.text.x - textBBox.x - (options.rtl ? textBBox.width : 0)) } } } var exportFromMarkup = function(markup, options) { options.format = validateFormat(options.format) || "PNG"; options.fileName = options.fileName || "file"; options.exportingAction = options.onExporting; options.exportedAction = options.onExported; options.fileSavingAction = options.onFileSaving; options.margin = (0, _type.isDefined)(options.margin) ? options.margin : 10; options.backgroundColor = (0, _type.isDefined)(options.backgroundColor) ? options.backgroundColor : function(markup) { var parsedMarkup = GET_COLOR_REGEX.exec(markup); return null === parsedMarkup || void 0 === parsedMarkup ? void 0 : parsedMarkup[1] }(markup) || (0, _themes.getTheme)().backgroundColor; (0, _exporter.export)(markup, options, getCreatorFunc(options.format)) }; exports.exportFromMarkup = exportFromMarkup; exports.getMarkup = function(widgets) { return combineMarkups(widgets).markup }; exports.exportWidgets = function(widgets, options) { options = options || {}; var markupInfo = combineMarkups(widgets, { gridLayout: options.gridLayout, verticalAlignment: options.verticalAlignment, horizontalAlignment: options.horizontalAlignment }); options.width = markupInfo.width; options.height = markupInfo.height; exportFromMarkup(markupInfo.markup, options) }; var combineMarkups = function(widgets) { var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; if (!Array.isArray(widgets)) { widgets = [ [widgets] ] } else if (!Array.isArray(widgets[0])) { widgets = widgets.map((function(item) { return [item] })) } var compactView = !options.gridLayout; var exportItems = widgets.reduce((function(r, row, rowIndex) { var rowInfo = row.reduce((function(r, item, colIndex) { var size = item.getSize(); var backgroundColor = item.option("backgroundColor") || (0, _themes.getTheme)(item.option("theme")).backgroundColor; backgroundColor && -1 === r.backgroundColors.indexOf(backgroundColor) && r.backgroundColors.push(backgroundColor); r.hOffset = r.width; r.width += size.width; r.height = Math.max(r.height, size.height); r.itemWidth = Math.max(r.itemWidth, size.width); r.items.push({ markup: item.svg(), width: size.width, height: size.height, c: colIndex, r: rowIndex, hOffset: r.hOffset }); return r }), { items: [], height: 0, itemWidth: 0, hOffset: 0, width: 0, backgroundColors: r.backgroundColors }); r.rowOffsets.push(r.totalHeight); r.rowHeights.push(rowInfo.height); r.totalHeight += rowInfo.height; r.items = r.items.concat(rowInfo.items); r.itemWidth = Math.max(r.itemWidth, rowInfo.itemWidth); r.maxItemLen = Math.max(r.maxItemLen, rowInfo.items.length); r.totalWidth = compactView ? Math.max(r.totalWidth, rowInfo.width) : r.maxItemLen * r.itemWidth; return r }), { items: [], rowOffsets: [], rowHeights: [], itemWidth: 0, totalHeight: 0, maxItemLen: 0, totalWidth: 0, backgroundColors: [] }); var backgroundColor = 'data-backgroundcolor="'.concat(1 === exportItems.backgroundColors.length ? exportItems.backgroundColors[0] : "", '" '); var getVOffset = function(item) { var align = options.verticalAlignment; var dy = exportItems.rowHeights[item.r] - item.height; return exportItems.rowOffsets[item.r] + ("bottom" === align ? dy : "center" === align ? dy / 2 : 0) }; var getHOffset = function(item) { if (compactView) { return item.hOffset } var align = options.horizontalAlignment; var colWidth = exportItems.itemWidth; var dx = colWidth - item.width; return item.c * colWidth + ("right" === align ? dx : "center" === align ? dx / 2 : 0) }; var totalHeight = exportItems.totalHeight; var totalWidth = exportItems.totalWidth; return { markup: "<svg " + backgroundColor + 'height="' + totalHeight + '" width="' + totalWidth + '" version="1.1" xmlns="http://www.w3.org/2000/svg">' + exportItems.items.map((function(item) { return '<g transform="translate('.concat(getHOffset(item), ",").concat(getVOffset(item), ')">').concat(item.markup, "</g>") })).join("") + "</svg>", width: totalWidth, height: totalHeight } }; exports.combineMarkups = combineMarkups; var ExportMenu = function(params) { var renderer = this._renderer = params.renderer; this._incidentOccurred = params.incidentOccurred; this._exportTo = params.exportTo; this._print = params.print; this._shadow = renderer.shadowFilter("-50%", "-50%", "200%", "200%", 2, 6, 3); this._shadow.attr({ opacity: .8 }); this._group = renderer.g().attr(_defineProperty({ class: "dx-export-menu" }, _svg.HIDDEN_FOR_EXPORT, true)).linkOn(renderer.root, { name: "export-menu", after: "peripheral" }); this._buttonGroup = renderer.g().attr({ class: "dx-export-menu-button" }).append(this._group); this._listGroup = renderer.g().attr({ class: "dx-export-menu-list" }).append(this._group); this._overlay = renderer.rect(-85, 39, 120, 0); this._overlay.attr({ "stroke-width": 1, cursor: "pointer", rx: 4, ry: 4, filter: this._shadow.id }); this._overlay.data({ "export-element-type": "list" }); this.validFormats = getValidFormats(); this._subscribeEvents() }; exports.ExportMenu = ExportMenu; (0, _extend.extend)(ExportMenu.prototype, { getLayoutOptions: function() { if (this._hiddenDueToLayout) { return { width: 0, height: 0, cutSide: "vertical", cutLayoutSide: "top" } } var bBox = this._buttonGroup.getBBox(); bBox.cutSide = "vertical"; bBox.cutLayoutSide = "top"; bBox.height += 10; bBox.position = { vertical: "top", horizontal: "right" }; bBox.verticalAlignment = "top"; bBox.horizontalAlignment = "right"; return bBox }, shift: function(_, y) { this._group.attr({ translateY: this._group.attr("translateY") + y }) }, draw: function(width, height, canvas) { this._group.move(width - 35 - 2 - 3 + canvas.left, Math.floor(height / 2 - 17.5)); var layoutOptions = this.getLayoutOptions(); if (layoutOptions.width > width || layoutOptions.height > height) { this.freeSpace() } return this }, show: function() { this._group.linkAppend() }, hide: function() { this._group.linkRemove() }, setOptions: function(options) { var _this2 = this; this._options = options; if (options.formats) { options.formats = options.formats.reduce((function(r, format) { format = validateFormat(format, _this2._incidentOccurred, _this2.validFormats); format && r.push(format); return r }), []) } else { options.formats = this.validFormats.supported.slice() } options.printingEnabled = void 0 === options.printingEnabled ? true : options.printingEnabled; if (options.enabled && (options.formats.length || options.printingEnabled)) { this.show(); this._updateButton(); this._updateList(); this._hideList() } else { this.hide() } }, dispose: function() { this._unsubscribeEvents(); this._group.linkRemove().linkOff(); this._group.dispose(); this._shadow.dispose() }, layoutOptions: function() { return this._options.enabled && { horizontalAlignment: "right", verticalAlignment: "top", weak: true } }, measure: function() { this._fillSpace(); var margin = this._options.button.margin; return [35 + margin.left + margin.right, 35 + margin.top + margin.bottom] }, move: function(rect) { var margin = this._options.button.margin; this._group.attr({ translateX: Math.round(rect[0]) + margin.left, translateY: Math.round(rect[1]) + margin.top }) }, _fillSpace: function() { this._hiddenDueToLayout = false; this.show() }, freeSpace: function() { this._incidentOccurred("W2107"); this._hiddenDueToLayout = true; this.hide() }, _hideList: function() { this._listGroup.remove(); this._listShown = false; this._setButtonState("default"); this._menuItems.forEach((function(item) { return item.resetState() })) }, _showList: function() { this._listGroup.append(this._group); this._listShown = true; this._menuItems.forEach((function(item) { return item.fixPosition() })) }, _setButtonState: function(state) { var style = this._options.button[state]; this._button.attr({ stroke: style.borderColor, fill: style.backgroundColor }); this._icon.attr({ fill: style.color }) }, _subscribeEvents: function() { var _this3 = this; this._renderer.root.on(_pointer.default.up + ".export", (function(e) { var elementType = e.target["export-element-type"]; if (!elementType) { if (_this3._button) { _this3._hideList() } return } if ("button" === elementType) { if (_this3._listShown) { _this3._setButtonState("default"); _this3._hideList() } else { _this3._setButtonState("focus"); _this3._showList() } } else if ("printing" === elementType) { _this3._print(); _this3._hideList() } else if ("exporting" === elementType) { _this3._exportTo(e.target["export-element-format"]); _this3._hideList() } })); this._listGroup.on(pointerActions, (function(e) { return e.stopPropagation() })); this._buttonGroup.on(_pointer.default.enter, (function() { return _this3._setButtonState("hover") })); this._buttonGroup.on(_pointer.default.leave, (function() { return _this3._setButtonState(_this3._listShown ? "focus" : "default") })); this._buttonGroup.on(_pointer.default.down + ".export", (function() { return _this3._setButtonState("active") })) }, _unsubscribeEvents: function() { this._renderer.root.off(".export"); this._listGroup.off(); this._buttonGroup.off() }, _updateButton: function() { var renderer = this._renderer; var options = this._options; var exportData = { "export-element-type": "button" }; if (!this._button) { this._button = renderer.rect(0, 0, 35, 35).append(this._buttonGroup); this._button.attr({ rx: 4, ry: 4, fill: options.button.default.backgroundColor, stroke: options.button.default.borderColor, "stroke-width": 1, cursor: "pointer" }); this._button.data(exportData); this._icon = renderer.path(ICON_COORDS).append(this._buttonGroup); this._icon.attr({ fill: options.button.default.color, cursor: "pointer" }); this._icon.data(exportData); this._buttonGroup.setTitle(_message.default.format("vizExport-titleMenuText")) } }, _updateList: function() { var options = this._options; var buttonDefault = options.button.default; var listGroup = this._listGroup; var items = function(renderer, options) { var items = []; if (options.printingEnabled) { items.push(createMenuItem(renderer, options, { type: "printing", text: _message.default.format("vizExport-printingButtonText"), itemIndex: items.length })) } items = options.formats.reduce((function(r, format) { r.push(createMenuItem(renderer, options, { type: "exporting", text: _message.default.getFormatter("vizExport-exportButtonText")(format), format: format, itemIndex: r.length })); return r }), items); return items }(this._renderer, options); this._shadow.attr({ color: options.shadowColor }); this._overlay.attr({ height: 30 * items.length + 2, fill: buttonDefault.backgroundColor, stroke: buttonDefault.borderColor }); listGroup.clear(); this._overlay.append(listGroup); items.forEach((function(item) { return item.g.append(listGroup) })); this._menuItems = items } }); function getExportOptions(widget, exportOptions, fileName, format) { if (format || exportOptions.format) { format = validateFormat(format || exportOptions.format, widget._incidentOccurred) } var _widget$getSize = widget.getSize(), width = _widget$getSize.width, height = _widget$getSize.height; return { format: format || "PNG", fileName: fileName || exportOptions.fileName || "file", backgroundColor: exportOptions.backgroundColor, width: width, height: height, margin: exportOptions.margin, svgToCanvas: exportOptions.svgToCanvas, exportingAction: widget._createActionByOption("onExporting", { excludeValidators: ["disabled"] }), exportedAction: widget._createActionByOption("onExported", { excludeValidators: ["disabled"] }), fileSavingAction: widget._createActionByOption("onFileSaving", { excludeValidators: ["disabled"] }) } } var plugin = { name: "export", init: function() { var _this4 = this; this._exportMenu = new ExportMenu({ renderer: this._renderer, incidentOccurred: this._incidentOccurred, print: function() { return _this4.print() }, exportTo: function(format) { return _this4.exportTo(void 0, format) } }); this._layout.add(this._exportMenu) }, dispose: function() { this._exportMenu.dispose() }, members: { _getExportMenuOptions: function() { return (0, _extend.extend)({}, this._getOption("export"), { rtl: this._getOption("rtlEnabled", true) }) }, _disablePointerEvents: function() { var pointerEventsValue = this._renderer.root.attr("pointer-events"); this._renderer.root.attr({ "pointer-events": "none" }); return pointerEventsValue }, exportTo: function(fileName, format) { var _this5 = this; var menu = this._exportMenu; var options = getExportOptions(this, this._getOption("export") || {}, fileName, format); menu && menu.hide(); var pointerEventsValue = this._disablePointerEvents(); var promise = (0, _exporter.export)(this._renderer.root.element, options, getCreatorFunc(options.format)).fail(_console.logger.error).always((function() { _this5._renderer.root.attr({ "pointer-events": pointerEventsValue }) })); menu && menu.show(); return promise }, print: function() { var _this6 = this; var menu = this._exportMenu; var options = getExportOptions(this, this._getOption("export") || {}); options.exportingAction = null; options.exportedAction = null; options.margin = 0; options.format = "PNG"; options.useBase64 = true; options.fileSavingAction = function(eventArgs) { _print("data:image/png;base64,".concat(eventArgs.data), { width: options.width, __test: options.__test }); eventArgs.cancel = true }; var pointerEventsValue = this._disablePointerEvents(); menu && menu.hide(); var promise = (0, _exporter.export)(this._renderer.root.element, options, getCreatorFunc(options.format)).fail(_console.logger.error).always((function() { _this6._renderer.root.attr({ "pointer-events": pointerEventsValue }) })); menu && menu.show(); return promise } }, customize: function(constructor) { var proto = constructor.prototype; constructor.addChange({ code: "EXPORT", handler: function() { this._exportMenu.setOptions(this._getExportMenuOptions()); this._change(["LAYOUT"]) }, isThemeDependent: true, isOptionChange: true, option: "export" }); proto._optionChangesMap.onExporting = "EXPORT"; proto._optionChangesMap.onExported = "EXPORT"; proto._optionChangesMap.onFileSaving = "EXPORT" }, fontFields: ["export.font"] }; exports.plugin = plugin }, 3603: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/helpers.js ***! \*****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.changes = function() { return new Flags }; exports.expand = expand; exports.replaceInherit = void 0; var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var isServerSide = !(0, _window.hasWindow)(); function Flags() { this.reset() } Flags.prototype = { constructor: Flags, add: function(codes) { var i; var ii = codes.length; var flags = this._flags; for (i = 0; i < ii; ++i) { flags[codes[i]] = 1 } }, has: function(code) { return this._flags[code] > 0 }, count: function() { return Object.keys(this._flags).length }, reset: function() { this._flags = {} } }; function combineMaps(baseMap, thisMap) { return baseMap !== thisMap ? (0, _extend2.extend)({}, baseMap, thisMap) : (0, _extend2.extend)({}, baseMap) } function combineLists(baseList, thisList) { return baseList !== thisList ? baseList.concat(thisList) : baseList.slice() } function buildTotalChanges(proto) { proto._totalChangesOrder = proto._optionChangesOrder.concat(proto._layoutChangesOrder, proto._customChangesOrder) } function addChange(settings) { var proto = this.prototype; var code = settings.code; proto["_change_" + code] = settings.handler; if (settings.isThemeDependent) { proto._themeDependentChanges.push(code) } if (settings.option) { proto._optionChangesMap[settings.option] = code }(settings.isOptionChange ? proto._optionChangesOrder : proto._customChangesOrder).push(code); buildTotalChanges(proto) } function createChainExecutor() { var executeChain = function executeChain() { var i; var ii = executeChain._chain.length; var result; for (i = 0; i < ii; ++i) { result = executeChain._chain[i].apply(this, arguments) } return result }; executeChain._chain = []; executeChain.add = function(item) { executeChain._chain.push(item) }; executeChain.copy = function(executor) { executeChain._chain = executor._chain.slice() }; return executeChain } function expand(target, name, expander) { var current = target[name]; if (!current) { current = expander } else if (!current.add) { current = createChainExecutor(); current.add(target[name]); current.add(expander) } else { if (false === Object.prototype.hasOwnProperty.call(target, name)) { current = createChainExecutor(); current.copy(target[name]) } current.add(expander) } target[name] = current } function addPlugin(plugin) { var proto = this.prototype; proto._plugins.push(plugin); plugin.fontFields && proto._fontFields.push.apply(proto._fontFields, plugin.fontFields); if (plugin.members) { (0, _extend2.extend)(this.prototype, plugin.members) } if (plugin.customize) { plugin.customize(this) } if (plugin.extenders) { Object.keys(plugin.extenders).forEach((function(key) { var func = plugin.extenders[key]; expand(proto, key, func) }), this) } } var replaceInherit = isServerSide ? function(widget) { var _inherit = widget.inherit; widget.inherit = function() { var result = _inherit.apply(this, arguments); var proto = result.prototype; ["_plugins", "_eventsMap", "_initialChanges", "_themeDependentChanges", "_optionChangesMap", "_optionChangesOrder", "_layoutChangesOrder", "_customChangesOrder", "_totalChangesOrder"].forEach((function(key) { proto[key] = {} })); result.addPlugin = _common.noop; return result }; widget.addChange = _common.noop; widget.addPlugin = _common.noop } : function(widget) { var _inherit = widget.inherit; widget.inherit = function() { var proto = this.prototype; var plugins = proto._plugins; var fontFields = proto._fontFields; var eventsMap = proto._eventsMap; var initialChanges = proto._initialChanges; var themeDependentChanges = proto._themeDependentChanges; var optionChangesMap = proto._optionChangesMap; var partialOptionChangesMap = proto._partialOptionChangesMap; var partialOptionChangesPath = proto._partialOptionChangesPath; var optionChangesOrder = proto._optionChangesOrder; var layoutChangesOrder = proto._layoutChangesOrder; var customChangesOrder = proto._customChangesOrder; var result = _inherit.apply(this, arguments); proto = result.prototype; proto._plugins = combineLists(plugins, proto._plugins); proto._fontFields = combineLists(fontFields, proto._fontFields); proto._eventsMap = combineMaps(eventsMap, proto._eventsMap); proto._initialChanges = combineLists(initialChanges, proto._initialChanges); proto._themeDependentChanges = combineLists(themeDependentChanges, proto._themeDependentChanges); proto._optionChangesMap = combineMaps(optionChangesMap, proto._optionChangesMap); proto._partialOptionChangesMap = combineMaps(partialOptionChangesMap, proto._partialOptionChangesMap); proto._partialOptionChangesPath = combineMaps(partialOptionChangesPath, proto._partialOptionChangesPath); proto._optionChangesOrder = combineLists(optionChangesOrder, proto._optionChangesOrder); proto._layoutChangesOrder = combineLists(layoutChangesOrder, proto._layoutChangesOrder); proto._customChangesOrder = combineLists(customChangesOrder, proto._customChangesOrder); buildTotalChanges(proto); result.addPlugin = addPlugin; return result }; widget.prototype._plugins = []; widget.prototype._fontFields = []; widget.addChange = addChange; widget.addPlugin = addPlugin }; exports.replaceInherit = replaceInherit }, 94551: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/layout.js ***! \****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _utils = __webpack_require__( /*! ./utils */ 19157); var _min = Math.min; var _max = Math.max; var _round = Math.round; var horizontalAlignmentMap = { left: 0, center: 1, right: 2 }; var verticalAlignmentMap = { top: 0, center: 1, bottom: 2 }; var sideMap = { horizontal: 0, vertical: 1 }; var slicersMap = {}; slicersMap[0] = function(a, b, size) { return [a, _min(b, a + size)] }; slicersMap[1] = function(a, b, size) { return [_max(a, (a + b - size) / 2), _min(b, (a + b + size) / 2)] }; slicersMap[2] = function(a, b, size) { return [_max(a, b - size), b] }; function pickValue(value, map, defaultValue) { var val = (0, _utils.normalizeEnum)(value); return val in map ? map[val] : defaultValue } function getShrink(alignment, size) { return (alignment > 0 ? -1 : 1) * size } function processForward(item, rect, minSize) { var side = item.side; var size = item.element.measure([rect[2] - rect[0], rect[3] - rect[1]]); var minSide = "indside" === item.position ? 0 : minSize[side]; var isValid = size[side] < rect[2 + side] - rect[side] - minSide; if (isValid) { if ("inside" !== item.position) { rect[item.primary + side] += getShrink(item.primary, size[side]) } item.size = size } return isValid } function processRectBackward(item, rect, alignmentRect) { var primarySide = item.side; var secondarySide = (side = primarySide, 1 - side); var side; var itemRect = []; var secondary = (alignment = item.secondary, a = alignmentRect[secondarySide], b = alignmentRect[2 + secondarySide], size = item.size[secondarySide], slicersMap[alignment](a, b, size)); var alignment, a, b, size; itemRect[primarySide] = _round(itemRect[2 + primarySide] = rect[item.primary + primarySide] + ("inside" === item.position ? getShrink(item.primary, item.size[primarySide]) : 0)); itemRect[item.primary + primarySide] = _round(rect[item.primary + primarySide] - getShrink(item.primary, item.size[primarySide])); if ("inside" !== item.position) { rect[item.primary + primarySide] = itemRect[item.primary + primarySide] } itemRect[secondarySide] = _round(secondary[0]); itemRect[2 + secondarySide] = _round(secondary[1]); return itemRect } function processBackward(item, rect, alignmentRect, fitRect, size, targetRect) { var itemRect = processRectBackward(item, rect, alignmentRect); var itemFitRect = processRectBackward(item, fitRect, fitRect); if (size[item.side] > 0) { size[item.side] -= item.size[item.side]; targetRect[item.primary + item.side] = itemRect[item.primary + item.side]; item.element.freeSpace() } else { item.element.move(itemRect, itemFitRect) } } function Layout() { this._targets = [] } Layout.prototype = { constructor: Layout, dispose: function() { this._targets = null }, add: function(target) { this._targets.push(target) }, forward: function(targetRect, minSize) { var rect = targetRect.slice(); var targets = function(targets) { var i; var ii = targets.length; var collection = []; var layout; for (i = 0; i < ii; ++i) { layout = targets[i].layoutOptions(); if (layout) { layout = (options = layout, side = void 0, alignment = void 0, primary = void 0, side = pickValue(options.side, sideMap, 1), alignment = [pickValue(options.horizontalAlignment, horizontalAlignmentMap, 1), pickValue(options.verticalAlignment, verticalAlignmentMap, 0)], { side: side, primary: (primary = alignment[side], primary < 2 ? 0 : 2), secondary: alignment[1 - side], weak: options.weak, priority: options.priority || 0, header: options.header, position: options.position }); layout.element = targets[i]; collection.push(layout) } } var options, side, alignment, primary; collection.sort((function(a, b) { return b.side - a.side || a.priority - b.priority })); collection = function(collection) { var weakItem = collection.filter((function(item) { return true === item.weak }))[0]; var headerItem; if (weakItem) { headerItem = collection.filter((function(item) { return weakItem.primary === item.primary && item.side === weakItem.side && item !== weakItem }))[0] } if (weakItem && headerItem) { return [makeHeader(headerItem, weakItem)].concat(collection.filter((function(item) { return !(item === headerItem || item === weakItem) }))) } return collection }(collection); return collection }(this._targets); var i; var ii = targets.length; var cache = []; for (i = 0; i < ii; ++i) { if (processForward(targets[i], rect, minSize)) { cache.push(targets[i]) } else { targets[i].element.freeSpace() } } this._cache = cache.reverse(); return rect }, backward: function(targetRect, alignmentRect) { var size = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [0, 0]; var backwardRect = targetRect.slice(); var fitRect = targetRect.slice(); var targets = this._cache; var targetSide = 0; var target; var i; var ii = targets.length; for (i = 0; i < ii; ++i) { target = targets[i]; if (target.side !== targetSide) { backwardRect = targetRect.slice() } processBackward(target, backwardRect, alignmentRect, fitRect, size, targetRect); targetSide = target.side } return size } }; function processBackwardHeaderRect(element, rect) { var rectCopy = rect.slice(); var itemRect = processRectBackward(element, rectCopy, rectCopy); itemRect[element.side] = rect[element.side]; itemRect[2 + element.side] = rect[2 + element.side]; return itemRect } function makeHeader(header, weakElement) { var side = header.side; var primary = header.primary; var secondary = header.secondary; return { side: side, primary: primary, secondary: secondary, priority: 0, element: { measure: function(targetSize) { var result = targetSize.slice(); var weakSize = weakElement.element.measure(targetSize.slice()); targetSize[primary] -= weakSize[primary]; var headerSize = header.element.measure(targetSize.slice()); result[side] = weakSize[side] = headerSize[side] = Math.max(headerSize[side], weakSize[side]); weakElement.size = weakSize; header.size = headerSize; return result }, move: function(rect, fitRect) { if (fitRect[2] - fitRect[0] < header.size[0] + weakElement.size[0] - 2) { this.freeSpace(); return } var weakRect = processBackwardHeaderRect(weakElement, fitRect); fitRect[2 + weakElement.primary] = weakRect[weakElement.primary]; var headerFitReact = processBackwardHeaderRect(header, fitRect); if (fitRect[2 + weakElement.primary] < rect[2 + weakElement.primary] && header.size[header.primary] > rect[2 + header.primary] - rect[header.primary]) { rect[2 + weakElement.primary] = fitRect[2 + weakElement.primary] } var headerRect = processBackwardHeaderRect(header, rect); if (headerRect[2 + weakElement.primary] > fitRect[2 + weakElement.primary]) { rect[2 + weakElement.primary] = fitRect[2 + weakElement.primary]; headerRect = processBackwardHeaderRect(header, rect) } weakElement.element.move(weakRect); header.element.move(headerRect, headerFitReact) }, freeSpace: function() { header.element.freeSpace(); weakElement.element.freeSpace() } } } } var _default = Layout; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 73711: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/layout_element.js ***! \************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.LayoutElement = LayoutElement; exports.WrapperLayoutElement = WrapperLayoutElement; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _object = __webpack_require__( /*! ../../core/utils/object */ 48013); var _round = Math.round; var defaultOffset = { horizontal: 0, vertical: 0 }; var alignFactors = { center: .5, right: 1, bottom: 1, left: 0, top: 0 }; function LayoutElement(options) { this._options = options } LayoutElement.prototype = { constructor: LayoutElement, position: function(options) { var ofBBox = options.of.getLayoutOptions(); var myBBox = this.getLayoutOptions(); var at = options.at; var my = options.my; var offset = options.offset || defaultOffset; var shiftX = -alignFactors[my.horizontal] * myBBox.width + ofBBox.x + alignFactors[at.horizontal] * ofBBox.width + parseInt(offset.horizontal); var shiftY = -alignFactors[my.vertical] * myBBox.height + ofBBox.y + alignFactors[at.vertical] * ofBBox.height + parseInt(offset.vertical); this.shift(_round(shiftX), _round(shiftY)) }, getLayoutOptions: _common.noop }; function WrapperLayoutElement(renderElement, bBox) { this._renderElement = renderElement; this._cacheBBox = bBox } var wrapperLayoutElementPrototype = WrapperLayoutElement.prototype = (0, _object.clone)(LayoutElement.prototype); wrapperLayoutElementPrototype.constructor = WrapperLayoutElement; wrapperLayoutElementPrototype.getLayoutOptions = function() { return this._cacheBBox || this._renderElement.getBBox() }; wrapperLayoutElementPrototype.shift = function(shiftX, shiftY) { var bBox = this.getLayoutOptions(); this._renderElement.move(_round(shiftX - bBox.x), _round(shiftY - bBox.y)) } }, 64758: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/loading_indicator.js ***! \***************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.plugin = exports.LoadingIndicator = void 0; var _utils = __webpack_require__( /*! ./utils */ 19157); var LoadingIndicator = function(parameters) { var renderer = parameters.renderer; this._group = renderer.g().attr({ class: "dx-loading-indicator" }).linkOn(renderer.root, { name: "loading-indicator", after: "peripheral" }); this._rect = renderer.rect().attr({ opacity: 0 }).append(this._group); this._text = renderer.text().attr({ align: "center" }).append(this._group); this._createStates(parameters.eventTrigger, this._group, renderer.root, parameters.notify) }; exports.LoadingIndicator = LoadingIndicator; LoadingIndicator.prototype = { constructor: LoadingIndicator, _createStates: function(eventTrigger, group, root, notify) { this._states = [{ opacity: 0, start: function() { notify(false) }, complete: function() { group.linkRemove(); root.css({ "pointer-events": "" }); eventTrigger("loadingIndicatorReady") } }, { opacity: .85, start: function() { group.linkAppend(); root.css({ "pointer-events": "none" }); notify(true) }, complete: function() { eventTrigger("loadingIndicatorReady") } }]; this._state = 0 }, setSize: function(size) { var width = size.width; var height = size.height; this._rect.attr({ width: width, height: height }); this._text.attr({ x: width / 2, y: height / 2 }) }, setOptions: function(options) { this._rect.attr({ fill: options.backgroundColor }); this._text.css((0, _utils.patchFontOptions)(options.font)).attr({ text: options.text, class: options.cssClass }); this[options.show ? "show" : "hide"]() }, dispose: function() { this._group.linkRemove().linkOff(); this._group = this._rect = this._text = this._states = null }, _transit: function(stateId) { var state; if (this._state !== stateId) { this._state = stateId; this._isHiding = false; state = this._states[stateId]; this._rect.stopAnimation().animate({ opacity: state.opacity }, { complete: state.complete, easing: "linear", duration: 400, unstoppable: true }); this._noHiding = true; state.start(); this._noHiding = false } }, show: function() { this._transit(1) }, hide: function() { this._transit(0) }, scheduleHiding: function() { if (!this._noHiding) { this._isHiding = true } }, fulfillHiding: function() { if (this._isHiding) { this.hide() } } }; var plugin = { name: "loading_indicator", init: function() { var that = this; that._loadingIndicator = new LoadingIndicator({ eventTrigger: that._eventTrigger, renderer: that._renderer, notify: function(state) { that._skipLoadingIndicatorOptions = true; that.option("loadingIndicator", { show: state }); that._skipLoadingIndicatorOptions = false; if (state) { that._stopCurrentHandling() } } }); that._scheduleLoadingIndicatorHiding() }, dispose: function() { this._loadingIndicator.dispose(); this._loadingIndicator = null }, members: { _scheduleLoadingIndicatorHiding: function() { this._loadingIndicator.scheduleHiding() }, _fulfillLoadingIndicatorHiding: function() { this._loadingIndicator.fulfillHiding() }, showLoadingIndicator: function() { this._loadingIndicator.show() }, hideLoadingIndicator: function() { this._loadingIndicator.hide() }, _onBeginUpdate: function() { if (!this._optionChangedLocker) { this._scheduleLoadingIndicatorHiding() } } }, extenders: { _dataSourceLoadingChangedHandler: function(isLoading) { if (isLoading && (this._options.silent("loadingIndicator") || {}).enabled) { this._loadingIndicator.show() } }, _setContentSize: function() { this._loadingIndicator.setSize(this._canvas) }, endUpdate: function() { if (this._initialized && this._dataIsReady()) { this._fulfillLoadingIndicatorHiding() } } }, customize: function(constructor) { var proto = constructor.prototype; if (proto._dataSourceChangedHandler) { var _dataSourceChangedHandler = proto._dataSourceChangedHandler; proto._dataSourceChangedHandler = function() { this._scheduleLoadingIndicatorHiding(); _dataSourceChangedHandler.apply(this, arguments) } } constructor.addChange({ code: "LOADING_INDICATOR", handler: function() { if (!this._skipLoadingIndicatorOptions) { this._loadingIndicator.setOptions(this._getOption("loadingIndicator")) } this._scheduleLoadingIndicatorHiding() }, isThemeDependent: true, option: "loadingIndicator", isOptionChange: true }); proto._eventsMap.onLoadingIndicatorReady = { name: "loadingIndicatorReady" }; var _drawn = proto._drawn; proto._drawn = function() { _drawn.apply(this, arguments); if (this._dataIsReady()) { this._fulfillLoadingIndicatorHiding() } } }, fontFields: ["loadingIndicator.font"] }; exports.plugin = plugin }, 64509: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/plaque.js ***! \****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Plaque = void 0; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _excluded = ["x", "y", "canvas", "offsetX", "offsetY", "offset"]; function _extends() { _extends = Object.assign ? Object.assign.bind() : function(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target }; return _extends.apply(this, arguments) } function _objectWithoutProperties(source, excluded) { if (null == source) { return {} } var target = function(source, excluded) { if (null == source) { return {} } var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) { continue } target[key] = source[key] } return target }(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) { continue } if (!Object.prototype.propertyIsEnumerable.call(source, key)) { continue } target[key] = source[key] } } return target } var math = Math; var round = math.round; var max = math.max; var min = math.min; var sin = math.sin; var cos = math.cos; var asin = math.asin; var PI = math.PI; var buildPath = function() { for (var _len = arguments.length, points = new Array(_len), _key = 0; _key < _len; _key++) { points[_key] = arguments[_key] } return points.join("") }; function getArc(cornerRadius, xDirection, yDirection) { return "a ".concat(cornerRadius, " ").concat(cornerRadius, " 0 0 1 ").concat(xDirection * cornerRadius, " ").concat(yDirection * cornerRadius) } function getAbsoluteArc(cornerRadius, x, y) { return "A ".concat(cornerRadius, " ").concat(cornerRadius, " 0 0 1 ").concat(x, " ").concat(y) } function rotateX(x, y, angle, x0, y0) { return (x - x0) * round(cos(angle)) + (y - y0) * round(sin(angle)) + x0 } function rotateY(x, y, angle, x0, y0) { return -(x - x0) * round(sin(angle)) + (y - y0) * round(cos(angle)) + y0 } function rotateSize(options, angle) { if (angle % 90 === 0 && angle % 180 !== 0) { return { width: options.height, height: options.width } } return options } function getCloudAngle(_ref, x, y, anchorX, anchorY) { var width = _ref.width, height = _ref.height; var halfWidth = width / 2; var halfHeight = height / 2; var xr = Math.ceil(x + halfWidth); var xl = Math.floor(x - halfWidth); var yt = Math.floor(y - halfHeight); var yb = Math.ceil(y + halfHeight); if (anchorX < xl && anchorY < yt || anchorX >= xl && anchorX <= xr && anchorY < yt) { return 270 } if (anchorX > xr && anchorY > yb || anchorX >= xl && anchorX <= xr && anchorY > yb) { return 90 } else if (anchorX < xl && anchorY > yb || anchorX < xl && anchorY >= yt && anchorY <= yb) { return 180 } return 0 } function getCloudPoints(_ref2, x, y, anchorX, anchorY, _ref3, bounded) { var width = _ref2.width, height = _ref2.height; var arrowWidth = _ref3.arrowWidth, _ref3$cornerRadius = _ref3.cornerRadius, cornerRadius = void 0 === _ref3$cornerRadius ? 0 : _ref3$cornerRadius; var halfArrowWidth = arrowWidth / 2; var halfWidth = width / 2; var halfHeight = height / 2; var xr = Math.ceil(x + halfWidth); var xl = Math.floor(x - halfWidth); var yt = Math.floor(y - halfHeight); var yb = Math.ceil(y + halfHeight); var leftTopCorner = [xl, yt]; var rightTopCorner = [xr, yt]; var rightBottomCorner = [xr, yb]; var leftBottomCorner = [xl, yb]; var arrowX = anchorX <= xl ? xl : xr <= anchorX ? xr : anchorX; var arrowY = anchorY <= yt ? yt : yb <= anchorY ? yb : anchorY; var arrowBaseBottom = min(arrowY + halfArrowWidth, yb); var arrowBaseTop = max(arrowY - halfArrowWidth, yt); var arrowBaseLeft = max(arrowX - halfArrowWidth, xl); cornerRadius = Math.min(width / 2, height / 2, cornerRadius); var points; leftTopCorner[1] += cornerRadius; rightTopCorner[0] -= cornerRadius; rightBottomCorner[1] -= cornerRadius; leftBottomCorner[0] += cornerRadius; if (!bounded || xl <= anchorX && anchorX <= xr && yt <= anchorY && anchorY <= yb) { points = buildPath(leftTopCorner, getArc(cornerRadius, 1, -1), "L", rightTopCorner, getArc(cornerRadius, 1, 1), "L", rightBottomCorner, getArc(cornerRadius, -1, 1), "L", leftBottomCorner, getArc(cornerRadius, -1, -1)) } else if (anchorX > xr && anchorY < yt) { var arrowAngle = arrowWidth / cornerRadius || 0; var angle = PI / 4 + arrowAngle / 2; var endAngle = PI / 4 - arrowAngle / 2; var arrowEndPointX = rightTopCorner[0] + cos(endAngle) * cornerRadius; var arrowEndPointY = rightTopCorner[1] + (1 - sin(endAngle)) * cornerRadius; var arrowArc = buildPath("L", rightTopCorner, getArc(cornerRadius, cos(angle), 1 - sin(angle)), "L", [anchorX, anchorY, arrowEndPointX, arrowEndPointY], getAbsoluteArc(cornerRadius, rightTopCorner[0] + cornerRadius, rightTopCorner[1] + cornerRadius)); if (Math.abs(angle) > PI / 2) { arrowArc = buildPath("L", [arrowBaseLeft, yt, anchorX, anchorY, xr, arrowBaseBottom]) } points = buildPath(leftTopCorner, getArc(cornerRadius, 1, -1), arrowArc, "L", rightBottomCorner, getArc(cornerRadius, -1, 1), "L", leftBottomCorner, getArc(cornerRadius, -1, -1)) } else if (anchorX > xr && anchorY >= yt && anchorY <= yb) { var _arrowArc; if (arrowBaseTop >= rightTopCorner[1] + cornerRadius && arrowBaseBottom <= rightBottomCorner[1]) { _arrowArc = buildPath(getArc(cornerRadius, 1, 1), "L", [xr, arrowBaseTop, anchorX, anchorY, xr, arrowBaseBottom], "L", rightBottomCorner, getArc(cornerRadius, -1, 1)) } else if (arrowBaseTop < rightTopCorner[1] + cornerRadius && arrowBaseBottom >= rightTopCorner[1] + cornerRadius && arrowBaseBottom <= rightBottomCorner[1]) { var arrowWidthRest = rightTopCorner[1] + cornerRadius - arrowBaseTop; var _angle = arrowWidthRest / cornerRadius; var arrowBaseTopX = rightTopCorner[0] + cos(_angle) * cornerRadius; var arrowBaseTopY = rightTopCorner[1] + (1 - sin(_angle)) * cornerRadius; _arrowArc = buildPath(getArc(cornerRadius, cos(_angle), 1 - sin(_angle)), "L", [arrowBaseTopX, arrowBaseTopY, anchorX, anchorY, xr, arrowBaseBottom], "L", rightBottomCorner, getArc(cornerRadius, -1, 1)) } else if (arrowBaseTop < rightTopCorner[1] + cornerRadius && arrowBaseBottom < rightTopCorner[1] + cornerRadius) { var _arrowWidthRest = rightTopCorner[1] + cornerRadius - arrowBaseTop; var _arrowAngle = _arrowWidthRest / cornerRadius; var _angle2 = _arrowAngle; var _arrowBaseTopX = rightTopCorner[0] + cos(_angle2) * cornerRadius; var _arrowBaseTopY = rightTopCorner[1] + (1 - sin(_angle2)) * cornerRadius; var bottomAngle = Math.sin((rightTopCorner[1] + cornerRadius - arrowBaseBottom) / cornerRadius); var arrowBaseBottomX = rightTopCorner[0] + cornerRadius * cos(bottomAngle); var arrowBaseBottomY = rightTopCorner[1] + cornerRadius * (1 - sin(bottomAngle)); _arrowArc = buildPath(getArc(cornerRadius, cos(_angle2), 1 - sin(_angle2)), "L", [_arrowBaseTopX, _arrowBaseTopY, anchorX, anchorY, arrowBaseBottomX, arrowBaseBottomY], getAbsoluteArc(cornerRadius, rightTopCorner[0] + cornerRadius, rightTopCorner[1] + cornerRadius), "L", rightBottomCorner, getArc(cornerRadius, -1, 1)) } else if (arrowBaseTop <= rightTopCorner[1] + cornerRadius && arrowBaseBottom >= rightBottomCorner[1]) { var topAngle = asin((rightTopCorner[1] + cornerRadius - arrowBaseTop) / cornerRadius); var _arrowBaseTopX2 = rightTopCorner[0] + cornerRadius * cos(topAngle); var _arrowBaseTopY2 = rightTopCorner[1] + cornerRadius * (1 - sin(topAngle)); var _bottomAngle = asin((arrowBaseBottom - rightBottomCorner[1]) / cornerRadius); var _arrowBaseBottomX = rightBottomCorner[0] + cornerRadius * (cos(_bottomAngle) - 1); var _arrowBaseBottomY = rightBottomCorner[1] + cornerRadius * sin(_bottomAngle); _arrowArc = buildPath(getArc(cornerRadius, cos(topAngle), 1 - sin(topAngle)), "L", [_arrowBaseTopX2, _arrowBaseTopY2, anchorX, anchorY, _arrowBaseBottomX, _arrowBaseBottomY], getAbsoluteArc(cornerRadius, rightBottomCorner[0] - cornerRadius, rightBottomCorner[1] + cornerRadius)) } else if (arrowBaseTop > rightTopCorner[1] + cornerRadius && arrowBaseTop <= rightBottomCorner[1] && arrowBaseBottom > rightBottomCorner[1]) { var _bottomAngle2 = asin((arrowBaseBottom - rightBottomCorner[1]) / cornerRadius); var _arrowBaseBottomX2 = rightBottomCorner[0] + cornerRadius * (cos(_bottomAngle2) - 1); var _arrowBaseBottomY2 = rightBottomCorner[1] + cornerRadius * sin(_bottomAngle2); _arrowArc = buildPath(getArc(cornerRadius, 1, 1), "L", [xr, arrowBaseTop, anchorX, anchorY, _arrowBaseBottomX2, _arrowBaseBottomY2], getAbsoluteArc(cornerRadius, rightBottomCorner[0] - cornerRadius, rightBottomCorner[1] + cornerRadius)) } else if (arrowBaseTop > rightTopCorner[1] + cornerRadius && arrowBaseBottom > rightBottomCorner[1]) { var _bottomAngle3 = asin((arrowBaseBottom - rightBottomCorner[1]) / cornerRadius); var _arrowBaseBottomX3 = rightBottomCorner[0] + cornerRadius * (cos(_bottomAngle3) - 1); var _arrowBaseBottomY3 = rightBottomCorner[1] + cornerRadius * sin(_bottomAngle3); var _topAngle = asin((arrowBaseTop - rightBottomCorner[1]) / cornerRadius); var _arrowBaseTopX3 = rightBottomCorner[0] + cornerRadius * (cos(_topAngle) - 1); var _arrowBaseTopY3 = rightBottomCorner[1] + cornerRadius * sin(_topAngle); _arrowArc = buildPath(getArc(cornerRadius, 1, 1), "L", rightBottomCorner, getArc(cornerRadius, cos(_topAngle) - 1, sin(_topAngle)), "L", [_arrowBaseTopX3, _arrowBaseTopY3, anchorX, anchorY, _arrowBaseBottomX3, _arrowBaseBottomY3], getAbsoluteArc(cornerRadius, rightBottomCorner[0] - cornerRadius, rightBottomCorner[1] + cornerRadius)) } points = buildPath(leftTopCorner, getArc(cornerRadius, 1, -1), "L", rightTopCorner, _arrowArc, "L", leftBottomCorner, getArc(cornerRadius, -1, -1)) } return buildPath("M", points, "Z") } var Plaque = function() { function Plaque(options, widget, root, contentTemplate) { var bounded = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : true; var measureContent = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : function(_, g) { return g.getBBox() }; var moveContentGroup = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : function(_, g, x, y) { return g.move(x, y) }; this.widget = widget; this.options = options; this.root = root; this.contentTemplate = contentTemplate; this.bonded = bounded; this.measureContent = measureContent; this.moveContentGroup = moveContentGroup } var _proto = Plaque.prototype; _proto.draw = function(_ref4) { var _this = this; var anchorX = _ref4.x, anchorY = _ref4.y, _ref4$canvas = _ref4.canvas, canvas = void 0 === _ref4$canvas ? {} : _ref4$canvas, offsetX = _ref4.offsetX, offsetY = _ref4.offsetY, _ref4$offset = _ref4.offset, offset = void 0 === _ref4$offset ? 0 : _ref4$offset, restProps = _objectWithoutProperties(_ref4, _excluded); var options = this.options; var x = options.x, y = options.y; var bounds_xl = canvas.left, bounds_xr = canvas.width - canvas.right, bounds_width = canvas.width - canvas.right - canvas.left, bounds_yt = canvas.top, bounds_yb = canvas.height - canvas.bottom, bounds_height = canvas.height - canvas.bottom - canvas.top; if (!((0, _type.isDefined)(anchorX) && (0, _type.isDefined)(anchorY)) && !((0, _type.isDefined)(x) && (0, _type.isDefined)(y))) { return false } if ((0, _type.isDefined)(anchorX) && (anchorX < bounds_xl || bounds_xr < anchorX || anchorY < bounds_yt || bounds_yb < anchorY)) { return false } if (!this._root) { this._draw() } var shadowSettings = (0, _extend.extend)({ x: "-50%", y: "-50%", width: "200%", height: "200%" }, options.shadow); var contentWidth = options.width > 0 ? options.width : null; var contentHeight = options.height > 0 ? options.height : null; var onRender = function() { var _this$_root; var bBox = _this._contentBBox = _this.measureContent(_this.widget, _this._contentGroup); var size = _this._size = { width: max(contentWidth, bBox.width) + 2 * options.paddingLeftRight, height: max(contentHeight, bBox.height) + 2 * options.paddingTopBottom, offset: offset }; var xOff = shadowSettings.offsetX; var yOff = shadowSettings.offsetY; var blur = 2 * shadowSettings.blur + 1; var lm = max(blur - xOff, 0); var rm = max(blur + xOff, 0); var tm = max(blur - yOff, 0); var bm = max(blur + yOff, 0); _this.margins = { lm: lm, rm: rm, tm: tm, bm: bm }; if (!(0, _type.isDefined)(x)) { if ((0, _type.isDefined)(offsetX)) { x = anchorX + offsetX } else if (bounds_width < size.width) { x = round(bounds_xl + bounds_width / 2) } else { x = min(max(anchorX, Math.ceil(bounds_xl + size.width / 2 + lm)), Math.floor(bounds_xr - size.width / 2 - rm)) } } else { x += offsetX || 0; if (!(0, _type.isDefined)(anchorX)) { anchorX = x } } if (!(0, _type.isDefined)(y)) { if ((0, _type.isDefined)(offsetY)) { y = anchorY + offsetY } else { var y_top = anchorY - options.arrowLength - size.height / 2 - offset; var y_bottom = anchorY + options.arrowLength + size.height / 2 + offset; if (bounds_height < size.height + options.arrowLength) { y = round(bounds_yt + size.height / 2) } else if (y_top - size.height / 2 - tm < bounds_yt) { if (y_bottom + size.height / 2 + bm < bounds_yb) { y = y_bottom; anchorY += offset } else { y = round(bounds_yt + size.height / 2) } } else { y = y_top; anchorY -= offset } } } else { y += offsetY || 0; if (!(0, _type.isDefined)(anchorY)) { anchorY = y + size.height / 2 } } _this.anchorX = anchorX; _this.anchorY = anchorY; _this.move(x, y); null === (_this$_root = _this._root) || void 0 === _this$_root ? void 0 : _this$_root.append(_this.root) }; if (this.contentTemplate.render) { this.contentTemplate.render({ model: options, container: this._contentGroup.element, onRendered: onRender }) } else { return this.contentTemplate(_extends({ group: this._contentGroup, onRender: onRender }, restProps)) } return true }; _proto._draw = function() { var renderer = this.widget._renderer; var options = this.options; var shadowSettings = (0, _extend.extend)({ x: "-50%", y: "-50%", width: "200%", height: "200%" }, options.shadow); var shadow = this._shadow = renderer.shadowFilter().attr(shadowSettings); var cloudSettings = { opacity: options.opacity, "stroke-width": 0, fill: options.color }; var borderOptions = options.border || {}; if (borderOptions.visible) { (0, _extend.extend)(cloudSettings, { "stroke-width": borderOptions.width, stroke: borderOptions.color, "stroke-opacity": borderOptions.opacity, dashStyle: borderOptions.dashStyle }) } var group = this._root = renderer.g().append(this.root); if (options.type) { group.attr({ class: "dxc-".concat(options.type, "-annotation") }) } var cloudGroup = renderer.g().attr({ filter: shadow.id }).append(group); this._cloud = renderer.path([], "area").attr(cloudSettings).sharp().append(cloudGroup); this._contentGroup = renderer.g().append(group) }; _proto.getBBox = function() { var size = this._size || {}; var margins = this.margins || {}; var rotationAngle = getCloudAngle(size, this.x, this.y, this.anchorX, this.anchorY); return { x: Math.floor(this.x - size.width / 2 - margins.lm), y: Math.floor(this.y - size.height / 2 - margins.tm - (270 === rotationAngle ? this.options.arrowLength : 0)), width: size.width + margins.lm + margins.rm, height: size.height + margins.tm + margins.bm + (90 === rotationAngle || 270 === rotationAngle ? this.options.arrowLength : 0) } }; _proto.clear = function() { if (this._root) { this._root.remove(); this._shadow.remove(); this._root = null } return this }; _proto.customizeCloud = function(attr) { if (this._cloud) { this._cloud.attr(attr) } }; _proto.moveRoot = function(x, y) { if (this._root) { this._root.move(x, y) } }; _proto.move = function(x, y) { x = round(x); y = round(y); this.x = x; this.y = y; var rotationAngle = getCloudAngle(this._size, x, y, this.anchorX, this.anchorY); var radRotationAngle = rotationAngle * PI / 180; this._cloud.attr({ d: getCloudPoints(rotateSize(this._size, rotationAngle), x, y, rotateX(this.anchorX, this.anchorY, radRotationAngle, x, y), rotateY(this.anchorX, this.anchorY, radRotationAngle, x, y), this.options, this.bonded) }).rotate(rotationAngle, x, y); this.moveContentGroup(this.widget, this._contentGroup, x - this._contentBBox.x - this._contentBBox.width / 2, y - this._contentBBox.y - this._contentBBox.height / 2) }; _proto.hitTest = function(x, y) { var _ref5 = this._size || {}, width = _ref5.width, height = _ref5.height; return Math.abs(x - this.x) <= width / 2 && Math.abs(y - this.y) <= height / 2 }; return Plaque }(); exports.Plaque = Plaque }, 91577: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/renderers/animation.js ***! \*****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.AnimationController = AnimationController; exports.easingFunctions = exports.animationSvgStep = void 0; var _frame = __webpack_require__( /*! ../../../animation/frame */ 90057); var noop = function() {}; var easingFunctions = { easeOutCubic: function(pos, start, end) { return 1 === pos ? end : (1 - Math.pow(1 - pos, 3)) * (end - start) + +start }, linear: function(pos, start, end) { return 1 === pos ? end : pos * (end - start) + +start } }; exports.easingFunctions = easingFunctions; var animationSvgStep = { segments: function(elem, params, progress, easing, currentParams) { var from = params.from; var to = params.to; var curSeg; var seg; var i; var j; var segments = []; for (i = 0; i < from.length; i++) { curSeg = from[i]; seg = [curSeg[0]]; if (curSeg.length > 1) { for (j = 1; j < curSeg.length; j++) { seg.push(easing(progress, curSeg[j], to[i][j])) } } segments.push(seg) } currentParams.segments = params.end && 1 === progress ? params.end : segments; elem.attr({ segments: segments }) }, arc: function(elem, params, progress, easing) { var from = params.from; var to = params.to; var current = {}; for (var i in from) { current[i] = easing(progress, from[i], to[i]) } elem.attr(current) }, transform: function(elem, params, progress, easing, currentParams) { var from = params.from; var to = params.to; var current = {}; for (var i in from) { current[i] = currentParams[i] = easing(progress, from[i], to[i]) } elem.attr(current) }, base: function(elem, params, progress, easing, currentParams, attributeName) { var obj = {}; obj[attributeName] = currentParams[attributeName] = easing(progress, params.from, params.to); elem.attr(obj) }, _: noop, complete: function(element, currentSettings) { element.attr(currentSettings) } }; exports.animationSvgStep = animationSvgStep; function step(now) { var animateStep = this._animateStep; var attrName; this._progress = this._calcProgress(now); for (attrName in this.params) { var anim = animateStep[attrName] || animateStep.base; anim(this.element, this.params[attrName], this._progress, this._easing, this._currentParams, attrName) } this.options.step && this.options.step(this._easing(this._progress, 0, 1), this._progress); if (1 === this._progress) { return this.stop() } return true } function delayTick(now) { if (now - this._startTime >= this.delay) { this.tick = step } return true } function start(now) { this._startTime = now; this.tick = this.delay ? delayTick : step; return true } function Animation(element, params, options) { this._progress = 0; this.element = element; this.params = params; this.options = options; this.duration = options.partitionDuration ? options.duration * options.partitionDuration : options.duration; this.delay = options.delay && options.duration * options.delay || 0; this._animateStep = options.animateStep || animationSvgStep; this._easing = easingFunctions[options.easing] || easingFunctions.easeOutCubic; this._currentParams = {}; this.tick = start } Animation.prototype = { _calcProgress: function(now) { return Math.min(1, (now - this.delay - this._startTime) / this.duration) }, stop: function(disableComplete) { var options = this.options; var animateStep = this._animateStep; this.stop = this.tick = noop; animateStep.complete && animateStep.complete(this.element, this._currentParams); options.complete && !disableComplete && options.complete() } }; function AnimationController(element) { this._animationCount = 0; this._timerId = null; this._animations = {}; this.element = element } AnimationController.prototype = { _loop: function() { var that = this; var animations = that._animations; var activeAnimation = 0; var now = (new Date).getTime(); var an; var endAnimation = that._endAnimation; for (an in animations) { if (!animations[an].tick(now)) { delete animations[an] } activeAnimation++ } if (0 === activeAnimation) { that.stop(); that._endAnimationTimer = endAnimation && setTimeout((function() { if (0 === that._animationCount) { endAnimation(); that._endAnimation = null } })); return } that._timerId = _frame.requestAnimationFrame.call(null, (function() { that._loop() }), that.element) }, addAnimation: function(animation) { var that = this; that._animations[that._animationCount++] = animation; clearTimeout(that._endAnimationTimer); if (!that._timerId) { clearTimeout(that._startDelay); that._startDelay = setTimeout((function() { that._timerId = 1; that._loop() }), 0) } }, animateElement: function(elem, params, options) { if (elem && params && options) { elem.animation && elem.animation.stop(); this.addAnimation(elem.animation = new Animation(elem, params, options)) } }, onEndAnimation: function(endAnimation) { this._animationCount ? this._endAnimation = endAnimation : endAnimation() }, dispose: function() { this.stop(); this.element = null }, stop: function() { this._animations = {}; this._animationCount = 0; (0, _frame.cancelAnimationFrame)(this._timerId); clearTimeout(this._startDelay); clearTimeout(this._endAnimationTimer); this._timerId = null }, lock: function() { var an; var animations = this._animations; var unstoppable; var hasUnstoppableInAnimations; for (an in animations) { unstoppable = animations[an].options.unstoppable; hasUnstoppableInAnimations = hasUnstoppableInAnimations || unstoppable; if (!unstoppable) { animations[an].stop(true); delete animations[an] } }!hasUnstoppableInAnimations && this.stop() } } }, 56453: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/renderers/renderer.js ***! \****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.RectSvgElement = exports.PathSvgElement = exports.ArcSvgElement = void 0; exports.Renderer = Renderer; exports.TextSvgElement = exports.SvgElement = void 0; exports.getFuncIri = getFuncIri; exports.processHatchingAttrs = processHatchingAttrs; exports.refreshPaths = void 0; var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../../core/renderer */ 68374)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../../core/dom_adapter */ 73349)); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); var _call_once = _interopRequireDefault(__webpack_require__( /*! ../../../core/utils/call_once */ 39618)); var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../../events/core/events_engine */ 55994)); var _svg = __webpack_require__( /*! ../../../core/utils/svg */ 19155); var _animation = __webpack_require__( /*! ./animation */ 91577); var _utils = __webpack_require__( /*! ../utils */ 19157); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var window = (0, _window.getWindow)(); var max = Math.max, round = Math.round; var pxAddingExceptions = { "column-count": true, "fill-opacity": true, "flex-grow": true, "flex-shrink": true, "font-weight": true, "line-height": true, opacity: true, order: true, orphans: true, widows: true, "z-index": true, zoom: true }; var NONE = "none"; var objectCreate = function() { if (!Object.create) { return function(proto) { var F = function() {}; F.prototype = proto; return new F } } else { return function(proto) { return Object.create(proto) } } }(); var DEFAULTS = { scaleX: 1, scaleY: 1, "pointer-events": null }; var getBackup = (0, _call_once.default)((function() { var backupContainer = _dom_adapter.default.createElement("div"); backupContainer.style.left = "-9999px"; backupContainer.style.position = "absolute"; return { backupContainer: backupContainer, backupCounter: 0 } })); function isObjectArgument(value) { return value && "string" !== typeof value } function createElement(tagName) { return _dom_adapter.default.createElementNS("http://www.w3.org/2000/svg", tagName) } function getFuncIri(id, pathModified) { return null !== id ? "url(" + (pathModified ? window.location.href.split("#")[0] : "") + "#" + id + ")" : id } function extend(target, source) { var key; for (key in source) { target[key] = source[key] } return target } var preserveAspectRatioMap = { full: NONE, lefttop: "xMinYMin", leftcenter: "xMinYMid", leftbottom: "xMinYMax", centertop: "xMidYMin", center: "xMidYMid", centerbottom: "xMidYMax", righttop: "xMaxYMin", rightcenter: "xMaxYMid", rightbottom: "xMaxYMax" }; function processHatchingAttrs(element, attrs) { if (attrs.hatching && "none" !== (0, _utils.normalizeEnum)(attrs.hatching.direction)) { attrs = extend({}, attrs); attrs.fill = element._hatching = element.renderer.lockDefsElements({ color: attrs.fill, hatching: attrs.hatching }, element._hatching, "pattern"); delete attrs.filter } else if (element._hatching) { element.renderer.releaseDefsElements(element._hatching); element._hatching = null; delete attrs.filter } else if (attrs.filter) { attrs = extend({}, attrs); attrs.filter = element._filter = element.renderer.lockDefsElements({}, element._filter, "filter") } else if (element._filter) { element.renderer.releaseDefsElements(element._filter); element._filter = null } delete attrs.hatching; return attrs } var buildArcPath = function(x, y, innerR, outerR, startAngleCos, startAngleSin, endAngleCos, endAngleSin, isCircle, longFlag) { return ["M", (x + outerR * startAngleCos).toFixed(5), (y - outerR * startAngleSin).toFixed(5), "A", outerR.toFixed(5), outerR.toFixed(5), 0, longFlag, 0, (x + outerR * endAngleCos).toFixed(5), (y - outerR * endAngleSin).toFixed(5), isCircle ? "M" : "L", (x + innerR * endAngleCos).toFixed(5), (y - innerR * endAngleSin).toFixed(5), "A", innerR.toFixed(5), innerR.toFixed(5), 0, longFlag, 1, (x + innerR * startAngleCos).toFixed(5), (y - innerR * startAngleSin).toFixed(5), "Z"].join(" ") }; function buildPathSegments(points, type) { var list = [ ["M", 0, 0] ]; switch (type) { case "line": list = buildLineSegments(points); break; case "area": list = buildLineSegments(points, true); break; case "bezier": list = buildCurveSegments(points); break; case "bezierarea": list = buildCurveSegments(points, true) } return list } function buildLineSegments(points, close) { return buildSegments(points, buildSimpleLineSegment, close) } function buildCurveSegments(points, close) { return buildSegments(points, buildSimpleCurveSegment, close) } function buildSegments(points, buildSimpleSegment, close) { var _points$; var i; var ii; var list = []; if (null !== (_points$ = points[0]) && void 0 !== _points$ && _points$.length) { for (i = 0, ii = points.length; i < ii; ++i) { buildSimpleSegment(points[i], close, list) } } else { buildSimpleSegment(points, close, list) } return list } function buildSimpleLineSegment(points, close, list) { var i = 0; var k0 = list.length; var k = k0; var ii = (points || []).length; if (ii) { if (void 0 !== points[0].x) { for (; i < ii;) { list[k++] = ["L", points[i].x, points[i++].y] } } else { for (; i < ii;) { list[k++] = ["L", points[i++], points[i++]] } } list[k0][0] = "M" } else { list[k] = ["M", 0, 0] } close && list.push(["Z"]); return list } function buildSimpleCurveSegment(points, close, list) { var i; var k = list.length; var ii = (points || []).length; if (ii) { if (void 0 !== points[0].x) { list[k++] = ["M", points[0].x, points[0].y]; for (i = 1; i < ii;) { list[k++] = ["C", points[i].x, points[i++].y, points[i].x, points[i++].y, points[i].x, points[i++].y] } } else { list[k++] = ["M", points[0], points[1]]; for (i = 2; i < ii;) { list[k++] = ["C", points[i++], points[i++], points[i++], points[i++], points[i++], points[i++]] } } } else { list[k] = ["M", 0, 0] } close && list.push(["Z"]); return list } function prepareConstSegment(constSeg, type) { var x = constSeg[constSeg.length - 2]; var y = constSeg[constSeg.length - 1]; switch (type) { case "line": case "area": constSeg[0] = "L"; break; case "bezier": case "bezierarea": constSeg[0] = "C"; constSeg[1] = constSeg[3] = constSeg[5] = x; constSeg[2] = constSeg[4] = constSeg[6] = y } } function makeEqualLineSegments(short, long, type) { var constSeg = short[short.length - 1].slice(); var i = short.length; prepareConstSegment(constSeg, type); for (; i < long.length; i++) { short[i] = constSeg.slice(0) } } function makeEqualAreaSegments(short, long, type) { var i; var head; var shortLength = short.length; var longLength = long.length; var constsSeg1; var constsSeg2; if ((shortLength - 1) % 2 === 0 && (longLength - 1) % 2 === 0) { i = (shortLength - 1) / 2 - 1; head = short.slice(0, i + 1); constsSeg1 = head[head.length - 1].slice(0); constsSeg2 = short.slice(i + 1)[0].slice(0); prepareConstSegment(constsSeg1, type); prepareConstSegment(constsSeg2, type); for (var j = i; j < (longLength - 1) / 2 - 1; j++) { short.splice(j + 1, 0, constsSeg1); short.splice(j + 3, 0, constsSeg2) } } } function baseCss(that, styles) { var elemStyles = that._styles; var key; var value; styles = styles || {}; for (key in styles) { value = styles[key]; if ((0, _type.isDefined)(value)) { value += "number" === typeof value && !pxAddingExceptions[key] ? "px" : ""; elemStyles[key] = "" !== value ? value : null } } for (key in elemStyles) { value = elemStyles[key]; if (value) { that.element.style[key] = value } else if (null === value) { that.element.style[key] = "" } } return that } function fixFuncIri(wrapper, attribute) { var element = wrapper.element; var id = wrapper.attr(attribute); if (id && -1 !== id.indexOf("DevExpress")) { element.removeAttribute(attribute); element.setAttribute(attribute, getFuncIri(id, wrapper.renderer.pathModified)) } } function baseAttr(that, attrs) { attrs = attrs || {}; var settings = that._settings; var attributes = {}; var key; var value; var elem = that.element; var renderer = that.renderer; var rtl = renderer.rtl; var hasTransformations; var recalculateDashStyle; var sw; var i; if (!isObjectArgument(attrs)) { if (attrs in settings) { return settings[attrs] } if (attrs in DEFAULTS) { return DEFAULTS[attrs] } return 0 } extend(attributes, attrs); for (key in attributes) { value = attributes[key]; if (void 0 === value) { continue } settings[key] = value; if ("align" === key) { key = "text-anchor"; value = { left: rtl ? "end" : "start", center: "middle", right: rtl ? "start" : "end" } [value] || null } else if ("dashStyle" === key) { recalculateDashStyle = true; continue } else if ("stroke-width" === key) { recalculateDashStyle = true } else if (value && ("fill" === key || "clip-path" === key || "filter" === key) && 0 === value.indexOf("DevExpress")) { that._addFixIRICallback(); value = getFuncIri(value, renderer.pathModified) } else if (/^(translate(X|Y)|rotate[XY]?|scale(X|Y)|sharp|sharpDirection)$/i.test(key)) { hasTransformations = true; continue } else if (/^(x|y|d)$/i.test(key)) { hasTransformations = true } if (null === value) { elem.removeAttribute(key) } else { elem.setAttribute(key, value) } } if (recalculateDashStyle && "dashStyle" in settings) { value = settings.dashStyle; sw = ("_originalSW" in that ? that._originalSW : settings["stroke-width"]) || 1; key = "stroke-dasharray"; value = null === value ? "" : (0, _utils.normalizeEnum)(value); if ("" === value || "solid" === value || value === NONE) { that.element.removeAttribute(key) } else { value = value.replace(/longdash/g, "8,3,").replace(/dash/g, "4,3,").replace(/dot/g, "1,3,").replace(/,$/, "").split(","); i = value.length; while (i--) { value[i] = parseInt(value[i]) * sw } that.element.setAttribute(key, value.join(",")) } } if (hasTransformations) { that._applyTransformation() } return that } function createTspans(items, element, fieldName) { var i; var ii; var item; for (i = 0, ii = items.length; i < ii; ++i) { item = items[i]; item[fieldName] = createElement("tspan"); item[fieldName].appendChild(_dom_adapter.default.createTextNode(item.value)); item.style && baseCss({ element: item[fieldName], _styles: {} }, item.style); item.className && item[fieldName].setAttribute("class", item.className); element.appendChild(item[fieldName]) } } function restoreText() { if (this._hasEllipsis) { this.attr({ text: this._settings.text }) } } function cloneAndRemoveAttrs(node) { var clone; if (node) { clone = node.cloneNode(); clone.removeAttribute("y"); clone.removeAttribute("x") } return clone || node } function detachTitleElements(element) { var titleElements = _dom_adapter.default.querySelectorAll(element, "title"); for (var i = 0; i < titleElements.length; i++) { element.removeChild(titleElements[i]) } return titleElements } function detachAndStoreTitleElements(element) { var titleElements = detachTitleElements(element); return function() { for (var i = 0; i < titleElements.length; i++) { element.appendChild(titleElements[i]) } } } function getIndexForEllipsis(text, maxWidth, startBox, endBox) { var k; var kk; if (startBox <= maxWidth && endBox > maxWidth) { for (k = 1, kk = text.value.length; k <= kk; ++k) { if (startBox + text.tspan.getSubStringLength(0, k) > maxWidth) { return k - 1 } } } } function getTextWidth(text) { return text.value.length ? text.tspan.getSubStringLength(0, text.value.length) : 0 } function getEllipsisString(ellipsisMaxWidth, _ref) { var hideOverflowEllipsis = _ref.hideOverflowEllipsis; return hideOverflowEllipsis && 0 === ellipsisMaxWidth ? "" : "..." } function setEllipsis(text, ellipsisMaxWidth, options) { var ellipsis = getEllipsisString(ellipsisMaxWidth, options); if (text.value.length && text.tspan.parentNode) { for (var i = text.value.length - 1; i >= 1; i--) { if (text.startBox + text.tspan.getSubStringLength(0, i) < ellipsisMaxWidth) { setNewText(text, i, ellipsis); break } else if (1 === i) { setNewText(text, 0, ellipsis) } } } } function setMaxHeight(lines, ellipsisMaxWidth, options, maxHeight, lineHeight) { var textOverflow = options.textOverflow; if (!isFinite(maxHeight) || 0 === Number(maxHeight) || "none" === textOverflow) { return lines } var result = lines.reduce((function(_ref2, l, index, arr) { var _ref3 = _slicedToArray(_ref2, 2), lines = _ref3[0], commonHeight = _ref3[1]; var height = function(line, lineHeight) { return line.parts.reduce((function(height, text) { return max(height, getItemLineHeight(text, lineHeight)) }), 0) }(l, lineHeight); commonHeight += height; if (commonHeight < maxHeight) { lines.push(l) } else { l.parts.forEach((function(item) { removeTextSpan(item) })); if ("ellipsis" === textOverflow) { var prevLine = arr[index - 1]; if (prevLine) { var text = prevLine.parts[prevLine.parts.length - 1]; if (!text.hasEllipsis) { if (0 === ellipsisMaxWidth || text.endBox < ellipsisMaxWidth) { setNewText(text, text.value.length, getEllipsisString(ellipsisMaxWidth, options)) } else { setEllipsis(text, ellipsisMaxWidth, options) } } } } } return [lines, commonHeight] }), [ [], 0 ]); if ("hide" === textOverflow && result[1] > maxHeight) { result[0].forEach((function(l) { l.parts.forEach((function(item) { removeTextSpan(item) })) })); return [] } return result[0] } function applyOverflowRules(element, texts, maxWidth, ellipsisMaxWidth, options) { if (!texts) { var textValue = element.textContent; var text = { value: textValue, height: 0, line: 0 }; element.textContent = ""; createTspans([text], element, "tspan"); texts = [text] } return texts.reduce((function(_ref4, text) { var _ref5 = _slicedToArray(_ref4, 5), lines = _ref5[0], startBox = _ref5[1], endBox = _ref5[2], stop = _ref5[3], lineNumber = _ref5[4]; var line = lines[lines.length - 1]; if (stop) { return [lines, startBox, endBox, stop] } if (!line || text.line !== lineNumber) { text.startBox = startBox = 0; lines.push({ commonLength: text.value.length, parts: [text] }) } else { text.startBox = startBox; if (startBox > ellipsisMaxWidth && "none" === options.wordWrap && "ellipsis" === options.textOverflow) { removeTextSpan(text); return [lines, startBox, endBox, stop, lineNumber] } line.parts.push(text); line.commonLength += text.value.length } text.endBox = endBox = startBox + getTextWidth(text); startBox = endBox; if ((0, _type.isDefined)(maxWidth) && endBox > maxWidth) { var wordWrapLines = function wordWrap(text, maxWidth, ellipsisMaxWidth, options, lastStepBreakIndex) { var wholeText = text.value; var breakIndex; if ("none" !== options.wordWrap) { breakIndex = "normal" === options.wordWrap ? function(text, maxWidth) { var initialIndices = text.startBox > 0 ? [0] : []; var spaceIndices = text.value.split("").reduce((function(indices, char, index) { if (" " === char) { indices.push(index) } return indices }), initialIndices); var spaceIndex = 0; while (void 0 !== spaceIndices[spaceIndex + 1] && text.startBox + text.tspan.getSubStringLength(0, spaceIndices[spaceIndex + 1]) < maxWidth) { spaceIndex++ } return spaceIndices[spaceIndex] }(text, maxWidth) : function(text, maxWidth) { for (var i = 0; i < text.value.length - 1; i++) { if (text.startBox + text.tspan.getSubStringLength(0, i + 1) > maxWidth) { return i } } }(text, maxWidth) } var restLines = []; var restText; if (isFinite(breakIndex) && !(0 === lastStepBreakIndex && 0 === breakIndex)) { setNewText(text, breakIndex, ""); var newTextOffset = " " === wholeText[breakIndex] ? 1 : 0; var restString = wholeText.slice(breakIndex + newTextOffset); if (restString.length) { var restTspan = cloneAndRemoveAttrs(text.tspan); restTspan.textContent = restString; text.tspan.parentNode.appendChild(restTspan); restText = extend(extend({}, text), { value: restString, startBox: 0, height: 0, tspan: restTspan, stroke: cloneAndRemoveAttrs(text.stroke), endBox: restTspan.getSubStringLength(0, restString.length) }); restText.stroke && (restText.stroke.textContent = restString); if (restText.endBox > maxWidth) { restLines = wordWrap(restText, maxWidth, ellipsisMaxWidth, options, breakIndex); if (!restLines.length) { return [] } } } } if (text.value.length) { if ("ellipsis" === options.textOverflow && text.tspan.getSubStringLength(0, text.value.length) > maxWidth) { setEllipsis(text, ellipsisMaxWidth, options) } if ("hide" === options.textOverflow && text.tspan.getSubStringLength(0, text.value.length) > maxWidth) { return [] } } else { text.tspan.parentNode.removeChild(text.tspan) } var parts = []; if (restText) { parts.push(restText) } return [{ commonLength: wholeText.length, parts: parts }].concat(restLines) }(text, maxWidth, ellipsisMaxWidth, options); if (!wordWrapLines.length) { lines = []; stop = true } else { lines = lines.concat(wordWrapLines.filter((function(l) { return l.parts.length > 0 }))) } } return [lines, startBox, endBox, stop, text.line] }), [ [], 0, 0, false, 0 ])[0] } function setNewText(text, index) { var insertString = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "..."; var newText = text.value.substr(0, index) + insertString; text.value = text.tspan.textContent = newText; text.stroke && (text.stroke.textContent = newText); if ("..." === insertString) { text.hasEllipsis = true } } function removeTextSpan(text) { text.tspan.parentNode && text.tspan.parentNode.removeChild(text.tspan); text.stroke && text.stroke.parentNode && text.stroke.parentNode.removeChild(text.stroke) } function setTextNodeAttribute(item, name, value) { item.tspan.setAttribute(name, value); item.stroke && item.stroke.setAttribute(name, value) } function getItemLineHeight(item, defaultValue) { return item.inherits ? maxLengthFontSize(item.height, defaultValue) : item.height || defaultValue } function locateTextNodes(wrapper) { if (!wrapper._texts) { return } var items = wrapper._texts; var x = wrapper._settings.x; var lineHeight = wrapper._getLineHeight(); var i; var ii; var item = items[0]; setTextNodeAttribute(item, "x", x); setTextNodeAttribute(item, "y", wrapper._settings.y); for (i = 1, ii = items.length; i < ii; ++i) { item = items[i]; if (parseFloat(item.height) >= 0) { setTextNodeAttribute(item, "x", x); var height = getItemLineHeight(item, lineHeight); setTextNodeAttribute(item, "dy", height) } } } function maxLengthFontSize(fontSize1, fontSize2) { var parsedHeight1 = parseFloat(fontSize1); var parsedHeight2 = parseFloat(fontSize2); var height1 = parsedHeight1 || 12; var height2 = parsedHeight2 || 12; return height1 > height2 ? !isNaN(parsedHeight1) ? fontSize1 : height1 : !isNaN(parsedHeight2) ? fontSize2 : height2 } function baseAnimate(that, params, options, complete) { options = options || {}; var key; var value; var renderer = that.renderer; var settings = that._settings; var animationParams = {}; var defaults = { translateX: 0, translateY: 0, scaleX: 1, scaleY: 1, rotate: 0, rotateX: 0, rotateY: 0 }; if (complete) { options.complete = complete } if (renderer.animationEnabled()) { for (key in params) { value = params[key]; if (/^(translate(X|Y)|rotate[XY]?|scale(X|Y))$/i.test(key)) { animationParams.transform = animationParams.transform || { from: {}, to: {} }; animationParams.transform.from[key] = key in settings ? Number(settings[key].toFixed(3)) : defaults[key]; animationParams.transform.to[key] = value } else if ("arc" === key || "segments" === key) { animationParams[key] = value } else { animationParams[key] = { from: key in settings ? settings[key] : parseFloat(that.element.getAttribute(key) || 0), to: value } } } renderer.animateElement(that, animationParams, extend(extend({}, renderer._animation), options)) } else { options.step && options.step.call(that, 1, 1); options.complete && options.complete.call(that); that.attr(params) } return that } function buildLink(target, parameters) { var obj = { is: false, name: parameters.name || parameters, after: parameters.after }; if (target) { obj.to = target } else { obj.virtual = true } return obj } var SvgElement = function(renderer, tagName, type) { this.renderer = renderer; this.element = createElement(tagName); this._settings = {}; this._styles = {}; if ("path" === tagName) { this.type = type || "line" } }; exports.SvgElement = SvgElement; function removeFuncIriCallback(callback) { fixFuncIriCallbacks.remove(callback) } SvgElement.prototype = { constructor: SvgElement, _getJQElement: function() { return this._$element || (this._$element = (0, _renderer.default)(this.element)) }, _addFixIRICallback: function() { var that = this; var fn = function() { fixFuncIri(that, "fill"); fixFuncIri(that, "clip-path"); fixFuncIri(that, "filter") }; that.element._fixFuncIri = fn; fn.renderer = that.renderer; fixFuncIriCallbacks.add(fn); that._addFixIRICallback = function() {} }, _clearChildrenFuncIri: function() { ! function clearChildren(element) { var i; for (i = 0; i < element.childNodes.length; i++) { removeFuncIriCallback(element.childNodes[i]._fixFuncIri); clearChildren(element.childNodes[i]) } }(this.element) }, dispose: function() { removeFuncIriCallback(this.element._fixFuncIri); this._clearChildrenFuncIri(); this._getJQElement().remove(); return this }, append: function(parent) { (parent || this.renderer.root).element.appendChild(this.element); return this }, remove: function() { var element = this.element; element.parentNode && element.parentNode.removeChild(element); return this }, enableLinks: function() { this._links = []; return this }, virtualLink: function(parameters) { linkItem({ _link: buildLink(null, parameters) }, this); return this }, linkAfter: function(name) { this._linkAfter = name; return this }, linkOn: function(target, parameters) { this._link = buildLink(target, parameters); linkItem(this, target); return this }, linkOff: function() { ! function(target) { var i; var items = target._link.to._links; for (i = 0; items[i] !== target; ++i) {} items.splice(i, 1); updateIndexes(items, i) }(this); this._link = null; return this }, linkAppend: function() { var link = this._link; var items = link.to._links; var i; var next; for (i = link.i + 1; (next = items[i]) && !next._link.is; ++i) {} this._insert(link.to, next); link.is = true; return this }, _insert: function(parent, next) { parent.element.insertBefore(this.element, next ? next.element : null) }, linkRemove: function() { this.remove(); this._link.is = false; return this }, clear: function() { this._clearChildrenFuncIri(); this._getJQElement().empty(); return this }, toBackground: function() { var elem = this.element; var parent = elem.parentNode; parent && parent.insertBefore(elem, parent.firstChild); return this }, toForeground: function() { var elem = this.element; var parent = elem.parentNode; parent && parent.appendChild(elem); return this }, attr: function(attrs) { return baseAttr(this, attrs) }, smartAttr: function(attrs) { return this.attr(processHatchingAttrs(this, attrs)) }, css: function(styles) { return baseCss(this, styles) }, animate: function(params, options, complete) { return baseAnimate(this, params, options, complete) }, sharp: function(pos, sharpDirection) { return this.attr({ sharp: pos || true, sharpDirection: sharpDirection }) }, _applyTransformation: function() { var tr = this._settings; var rotateX; var rotateY; var transformations = []; var sharpMode = tr.sharp; var trDirection = tr.sharpDirection || 1; var strokeOdd = tr["stroke-width"] % 2; var correctionX = strokeOdd && ("h" === sharpMode || true === sharpMode) ? .5 * trDirection : 0; var correctionY = strokeOdd && ("v" === sharpMode || true === sharpMode) ? .5 * trDirection : 0; transformations.push("translate(" + ((tr.translateX || 0) + correctionX) + "," + ((tr.translateY || 0) + correctionY) + ")"); if (tr.rotate) { if ("rotateX" in tr) { rotateX = tr.rotateX } else { rotateX = tr.x } if ("rotateY" in tr) { rotateY = tr.rotateY } else { rotateY = tr.y } transformations.push("rotate(" + tr.rotate + "," + (rotateX || 0) + "," + (rotateY || 0) + ")") } var scaleXDefined = (0, _type.isDefined)(tr.scaleX); var scaleYDefined = (0, _type.isDefined)(tr.scaleY); if (scaleXDefined || scaleYDefined) { transformations.push("scale(" + (scaleXDefined ? tr.scaleX : 1) + "," + (scaleYDefined ? tr.scaleY : 1) + ")") } if (transformations.length) { this.element.setAttribute("transform", transformations.join(" ")) } }, move: function(x, y, animate, animOptions) { var obj = {}; (0, _type.isDefined)(x) && (obj.translateX = x); (0, _type.isDefined)(y) && (obj.translateY = y); if (!animate) { this.attr(obj) } else { this.animate(obj, animOptions) } return this }, rotate: function(angle, x, y, animate, animOptions) { var obj = { rotate: angle || 0 }; (0, _type.isDefined)(x) && (obj.rotateX = x); (0, _type.isDefined)(y) && (obj.rotateY = y); if (!animate) { this.attr(obj) } else { this.animate(obj, animOptions) } return this }, _getElementBBox: function() { var elem = this.element; var bBox; try { bBox = elem.getBBox && elem.getBBox() } catch (e) {} return bBox || { x: 0, y: 0, width: elem.offsetWidth || 0, height: elem.offsetHeight || 0 } }, getBBox: function() { var transformation = this._settings; var bBox = this._getElementBBox(); if (transformation.rotate) { bBox = (0, _utils.rotateBBox)(bBox, [("rotateX" in transformation ? transformation.rotateX : transformation.x) || 0, ("rotateY" in transformation ? transformation.rotateY : transformation.y) || 0], -transformation.rotate) } else { bBox = (0, _utils.normalizeBBox)(bBox) } return bBox }, markup: function() { return (0, _svg.getSvgMarkup)(this.element) }, getOffset: function() { return this._getJQElement().offset() }, stopAnimation: function(disableComplete) { var animation = this.animation; animation && animation.stop(disableComplete); return this }, setTitle: function(text) { var titleElem = createElement("title"); titleElem.textContent = text || ""; this.element.appendChild(titleElem) }, removeTitle: function() { detachTitleElements(this.element) }, data: function(obj, val) { var elem = this.element; var key; if (void 0 !== val) { elem[obj] = val } else { for (key in obj) { elem[key] = obj[key] } } return this }, on: function() { var args = [this._getJQElement()]; args.push.apply(args, arguments); _events_engine.default.on.apply(_events_engine.default, args); return this }, off: function() { var args = [this._getJQElement()]; args.push.apply(args, arguments); _events_engine.default.off.apply(_events_engine.default, args); return this }, trigger: function() { var args = [this._getJQElement()]; args.push.apply(args, arguments); _events_engine.default.trigger.apply(_events_engine.default, args); return this } }; var PathSvgElement = function(renderer, type) { SvgElement.call(this, renderer, "path", type) }; exports.PathSvgElement = PathSvgElement; PathSvgElement.prototype = objectCreate(SvgElement.prototype); extend(PathSvgElement.prototype, { constructor: PathSvgElement, attr: function(attrs) { var segments; if (isObjectArgument(attrs)) { attrs = extend({}, attrs); segments = attrs.segments; if ("points" in attrs) { segments = buildPathSegments(attrs.points, this.type); delete attrs.points } if (segments) { attrs.d = function(segments) { var d = []; var k = 0; var i; var ii = segments.length; var segment; var j; var jj; for (i = 0; i < ii; ++i) { segment = segments[i]; for (j = 0, jj = segment.length; j < jj; ++j) { d[k++] = segment[j] } } return d.join(" ") }(segments); this.segments = segments; delete attrs.segments } } return baseAttr(this, attrs) }, animate: function(params, options, complete) { var curSegments = this.segments || []; var newSegments; var endSegments; if (this.renderer.animationEnabled() && "points" in params) { newSegments = buildPathSegments(params.points, this.type); endSegments = function(oldSegments, newSegments, type) { var oldLength = oldSegments.length; var newLength = newSegments.length; var i; var originalNewSegments; var makeEqualSegments = -1 !== type.indexOf("area") ? makeEqualAreaSegments : makeEqualLineSegments; if (0 === oldLength) { for (i = 0; i < newLength; i++) { oldSegments.push(newSegments[i].slice(0)) } } else if (oldLength < newLength) { makeEqualSegments(oldSegments, newSegments, type) } else if (oldLength > newLength) { originalNewSegments = newSegments.slice(0); makeEqualSegments(newSegments, oldSegments, type) } return originalNewSegments }(curSegments, newSegments, this.type); params.segments = { from: curSegments, to: newSegments, end: endSegments }; delete params.points } return baseAnimate(this, params, options, complete) } }); var ArcSvgElement = function(renderer) { SvgElement.call(this, renderer, "path", "arc") }; exports.ArcSvgElement = ArcSvgElement; ArcSvgElement.prototype = objectCreate(SvgElement.prototype); extend(ArcSvgElement.prototype, { constructor: ArcSvgElement, attr: function(attrs) { var settings = this._settings; var x; var y; var innerRadius; var outerRadius; var startAngle; var endAngle; if (isObjectArgument(attrs)) { attrs = extend({}, attrs); if ("x" in attrs || "y" in attrs || "innerRadius" in attrs || "outerRadius" in attrs || "startAngle" in attrs || "endAngle" in attrs) { settings.x = x = "x" in attrs ? attrs.x : settings.x; delete attrs.x; settings.y = y = "y" in attrs ? attrs.y : settings.y; delete attrs.y; settings.innerRadius = innerRadius = "innerRadius" in attrs ? attrs.innerRadius : settings.innerRadius; delete attrs.innerRadius; settings.outerRadius = outerRadius = "outerRadius" in attrs ? attrs.outerRadius : settings.outerRadius; delete attrs.outerRadius; settings.startAngle = startAngle = "startAngle" in attrs ? attrs.startAngle : settings.startAngle; delete attrs.startAngle; settings.endAngle = endAngle = "endAngle" in attrs ? attrs.endAngle : settings.endAngle; delete attrs.endAngle; attrs.d = buildArcPath.apply(null, (0, _utils.normalizeArcParams)(x, y, innerRadius, outerRadius, startAngle, endAngle)) } } return baseAttr(this, attrs) }, animate: function(params, options, complete) { var settings = this._settings; var arcParams = { from: {}, to: {} }; if (this.renderer.animationEnabled() && ("x" in params || "y" in params || "innerRadius" in params || "outerRadius" in params || "startAngle" in params || "endAngle" in params)) { arcParams.from.x = settings.x || 0; arcParams.from.y = settings.y || 0; arcParams.from.innerRadius = settings.innerRadius || 0; arcParams.from.outerRadius = settings.outerRadius || 0; arcParams.from.startAngle = settings.startAngle || 0; arcParams.from.endAngle = settings.endAngle || 0; arcParams.to.x = "x" in params ? params.x : settings.x; delete params.x; arcParams.to.y = "y" in params ? params.y : settings.y; delete params.y; arcParams.to.innerRadius = "innerRadius" in params ? params.innerRadius : settings.innerRadius; delete params.innerRadius; arcParams.to.outerRadius = "outerRadius" in params ? params.outerRadius : settings.outerRadius; delete params.outerRadius; arcParams.to.startAngle = "startAngle" in params ? params.startAngle : settings.startAngle; delete params.startAngle; arcParams.to.endAngle = "endAngle" in params ? params.endAngle : settings.endAngle; delete params.endAngle; params.arc = arcParams } return baseAnimate(this, params, options, complete) } }); var RectSvgElement = function(renderer) { SvgElement.call(this, renderer, "rect") }; exports.RectSvgElement = RectSvgElement; RectSvgElement.prototype = objectCreate(SvgElement.prototype); extend(RectSvgElement.prototype, { constructor: RectSvgElement, attr: function(attrs) { var x; var y; var width; var height; var sw; var maxSW; var newSW; if (isObjectArgument(attrs)) { attrs = extend({}, attrs); if (void 0 !== attrs.x || void 0 !== attrs.y || void 0 !== attrs.width || void 0 !== attrs.height || void 0 !== attrs["stroke-width"]) { void 0 !== attrs.x ? x = this._originalX = attrs.x : x = this._originalX || 0; void 0 !== attrs.y ? y = this._originalY = attrs.y : y = this._originalY || 0; void 0 !== attrs.width ? width = this._originalWidth = attrs.width : width = this._originalWidth || 0; void 0 !== attrs.height ? height = this._originalHeight = attrs.height : height = this._originalHeight || 0; void 0 !== attrs["stroke-width"] ? sw = this._originalSW = attrs["stroke-width"] : sw = this._originalSW; maxSW = ~~((width < height ? width : height) / 2); newSW = (sw || 0) < maxSW ? sw || 0 : maxSW; attrs.x = x + newSW / 2; attrs.y = y + newSW / 2; attrs.width = width - newSW; attrs.height = height - newSW; ((sw || 0) !== newSW || !(0 === newSW && void 0 === sw)) && (attrs["stroke-width"] = newSW) } if ("sharp" in attrs) { delete attrs.sharp } } return baseAttr(this, attrs) } }); var TextSvgElement = function(renderer) { SvgElement.call(this, renderer, "text"); this.css({ "white-space": "pre" }) }; exports.TextSvgElement = TextSvgElement; TextSvgElement.prototype = objectCreate(SvgElement.prototype); extend(TextSvgElement.prototype, { constructor: TextSvgElement, attr: function(attrs) { var isResetRequired; if (!isObjectArgument(attrs)) { return baseAttr(this, attrs) } attrs = extend({}, attrs); var settings = this._settings; var wasStroked = (0, _type.isDefined)(settings.stroke) && (0, _type.isDefined)(settings["stroke-width"]); if (void 0 !== attrs.text) { settings.text = attrs.text; delete attrs.text; isResetRequired = true } if (void 0 !== attrs.stroke) { settings.stroke = attrs.stroke; delete attrs.stroke } if (void 0 !== attrs["stroke-width"]) { settings["stroke-width"] = attrs["stroke-width"]; delete attrs["stroke-width"] } if (void 0 !== attrs["stroke-opacity"]) { settings["stroke-opacity"] = attrs["stroke-opacity"]; delete attrs["stroke-opacity"] } if (void 0 !== attrs.textsAlignment) { ! function(wrapper, alignment) { if (!wrapper._texts || "center" === alignment) { return } var items = wrapper._texts; var direction = "left" === alignment ? -1 : 1; var maxTextWidth = Math.max.apply(Math, items.map((function(t) { return getTextWidth(t) }))); for (var i = 0; i < items.length; i++) { var item = items[i]; var textWidth = getTextWidth(item); if (0 !== maxTextWidth && maxTextWidth !== textWidth) { setTextNodeAttribute(item, "dx", direction * round((maxTextWidth - textWidth) / 2 * 10) / 10) } } }(this, attrs.textsAlignment); delete attrs.textsAlignment } var isStroked = (0, _type.isDefined)(settings.stroke) && (0, _type.isDefined)(settings["stroke-width"]); baseAttr(this, attrs); isResetRequired = isResetRequired || isStroked !== wasStroked && settings.text; if (isResetRequired) { ! function(wrapper, text, isStroked) { var items; var parsedHtml; wrapper._texts = null; wrapper.clear(); if (null === text) { return } text = "" + text; if (!wrapper.renderer.encodeHtml && (/<[a-z][\s\S]*>/i.test(text) || -1 !== text.indexOf("&"))) { parsedHtml = (html = text, findStyleAndClassAttrs = /(style|class)\s*=\s*(["'])(?:(?!\2).)*\2\s?/gi, html.replace(/(?:(<[a-z0-9]+\s*))([\s\S]*?)(>|\/>)/gi, (function(allTagAttrs, p1, p2, p3) { p2 = (p2 && p2.match(findStyleAndClassAttrs) || []).map((function(str) { return str })).join(" "); return p1 + p2 + p3 }))); items = function(text) { var items = []; var div = _dom_adapter.default.createElement("div"); div.innerHTML = text.replace(/\r/g, "").replace(/\n/g, "<br/>").replace(/style=/g, "data-style="); div.querySelectorAll("[data-style]").forEach((function(element) { element.style = element.getAttribute("data-style"); element.removeAttribute("data-style") })); ! function orderHtmlTree(list, line, node, parentStyle, parentClassName) { var style; var realStyle; var i; var ii; var nodes; if (void 0 !== node.wholeText) { list.push({ value: node.wholeText, style: parentStyle, className: parentClassName, line: line, height: parentStyle["font-size"] || 0 }) } else if ("BR" === node.tagName) { ++line } else if (_dom_adapter.default.isElementNode(node)) { extend(style = {}, parentStyle); switch (node.tagName) { case "B": case "STRONG": style["font-weight"] = "bold"; break; case "I": case "EM": style["font-style"] = "italic"; break; case "U": style["text-decoration"] = "underline" } realStyle = node.style; realStyle.color && (style.fill = realStyle.color); realStyle.fontSize && (style["font-size"] = realStyle.fontSize); realStyle.fontStyle && (style["font-style"] = realStyle.fontStyle); realStyle.fontWeight && (style["font-weight"] = realStyle.fontWeight); realStyle.textDecoration && (style["text-decoration"] = realStyle.textDecoration); for (i = 0, nodes = node.childNodes, ii = nodes.length; i < ii; ++i) { line = orderHtmlTree(list, line, nodes[i], style, node.className || parentClassName) } } return line }(items, 0, div, {}, ""); ! function(items) { var i; var ii; var currentItem = items[0]; var item; for (i = 1, ii = items.length; i < ii; ++i) { item = items[i]; if (item.line === currentItem.line) { currentItem.height = maxLengthFontSize(currentItem.height, item.height); currentItem.inherits = currentItem.inherits || 0 === parseFloat(item.height); item.height = NaN } else { currentItem = item } } }(items); return items }(parsedHtml) } else if (/\n/g.test(text)) { items = function(text) { var texts = text.replace(/\r/g, "").split(/\n/g); var i = 0; var items = []; for (; i < texts.length; i++) { items.push({ value: texts[i].trim(), height: 0, line: i }) } return items }(text) } else if (isStroked) { items = [{ value: text.trim(), height: 0 }] } var html, findStyleAndClassAttrs; if (items) { if (items.length) { wrapper._texts = items; if (isStroked) { createTspans(items, wrapper.element, "stroke") } createTspans(items, wrapper.element, "tspan") } } else { wrapper.element.appendChild(_dom_adapter.default.createTextNode(text)) } }(this, settings.text, isStroked); this._hasEllipsis = false } if (isResetRequired || void 0 !== attrs.x || void 0 !== attrs.y) { locateTextNodes(this) } if (isStroked) { ! function(wrapper) { if (!wrapper._texts) { return } var items = wrapper._texts; var stroke = wrapper._settings.stroke; var strokeWidth = wrapper._settings["stroke-width"]; var strokeOpacity = wrapper._settings["stroke-opacity"] || 1; var tspan; var i; var ii; for (i = 0, ii = items.length; i < ii; ++i) { tspan = items[i].stroke; tspan.setAttribute("stroke", stroke); tspan.setAttribute("stroke-width", strokeWidth); tspan.setAttribute("stroke-opacity", strokeOpacity); tspan.setAttribute("stroke-linejoin", "round") } }(this) } return this }, css: function(styles) { styles = styles || {}; baseCss(this, styles); if ("font-size" in styles) { locateTextNodes(this) } return this }, applyEllipsis: function(maxWidth) { var lines; var hasEllipsis = false; var i; var ii; var lineParts; var j; var jj; var text; restoreText.call(this); var ellipsis = this.renderer.text("...").attr(this._styles).append(this.renderer.root); var ellipsisWidth = ellipsis.getBBox().width; if (this._getElementBBox().width > maxWidth) { if (maxWidth - ellipsisWidth < 0) { maxWidth = 0 } else { maxWidth -= ellipsisWidth } lines = function(element, texts, maxWidth) { var lines = []; var i; var ii; var text; var startBox; var endBox; if (texts) { for (i = 0, ii = texts.length; i < ii; ++i) { text = texts[i]; if (!lines[text.line]) { text.startBox = startBox = 0; lines.push({ commonLength: text.value.length, parts: [text] }) } else { text.startBox = startBox; lines[text.line].parts.push(text); lines[text.line].commonLength += text.value.length } endBox = startBox + text.tspan.getSubStringLength(0, text.value.length); text.endIndex = getIndexForEllipsis(text, maxWidth, startBox, endBox); startBox = endBox } } else { text = { value: element.textContent, tspan: element }; text.startBox = startBox = 0; endBox = startBox + getTextWidth(text); text.endIndex = getIndexForEllipsis(text, maxWidth, startBox, endBox); lines = [{ commonLength: element.textContent.length, parts: [text] }] } return lines }(this.element, this._texts, maxWidth); for (i = 0, ii = lines.length; i < ii; ++i) { lineParts = lines[i].parts; if (1 === lines[i].commonLength) { continue } for (j = 0, jj = lineParts.length; j < jj; ++j) { text = lineParts[j]; if ((0, _type.isDefined)(text.endIndex)) { setNewText(text, text.endIndex); hasEllipsis = true } else if (text.startBox > maxWidth) { removeTextSpan(text) } } } } ellipsis.remove(); this._hasEllipsis = hasEllipsis; return hasEllipsis }, setMaxSize: function(maxWidth, maxHeight) { var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; var that = this; var lines = []; var textChanged = false; var textIsEmpty = false; var ellipsisMaxWidth = maxWidth; restoreText.call(that); var restoreTitleElement = detachAndStoreTitleElements(this.element); var ellipsis = that.renderer.text("...").attr(that._styles).append(that.renderer.root); var ellipsisWidth = ellipsis.getBBox().width; var _that$_getElementBBox = that._getElementBBox(), width = _that$_getElementBBox.width, height = _that$_getElementBBox.height; if ((width || height) && (width > maxWidth || maxHeight && height > maxHeight)) { if (maxWidth - ellipsisWidth < 0) { ellipsisMaxWidth = 0 } else { ellipsisMaxWidth -= ellipsisWidth } lines = applyOverflowRules(that.element, that._texts, maxWidth, ellipsisMaxWidth, options); lines = setMaxHeight(lines, ellipsisMaxWidth, options, maxHeight, parseFloat(this._getLineHeight())); this._texts = lines.reduce((function(texts, line) { return texts.concat(line.parts) }), []).filter((function(t) { return "" !== t.value })).map((function(t) { t.stroke && t.tspan.parentNode.appendChild(t.stroke); return t })).map((function(t) { t.tspan.parentNode.appendChild(t.tspan); return t })); !this._texts.length && (this._texts = null); textChanged = true; if (this._texts) { locateTextNodes(this) } else { this.element.textContent = ""; textIsEmpty = true } } ellipsis.remove(); that._hasEllipsis = textChanged; restoreTitleElement(); return { rowCount: lines.length, textChanged: textChanged, textIsEmpty: textIsEmpty } }, restoreText: restoreText, _getLineHeight: function() { return !isNaN(parseFloat(this._styles["font-size"])) ? this._styles["font-size"] : 12 } }); function updateIndexes(items, k) { var i; var item; for (i = k; item = items[i]; ++i) { item._link.i = i } } function linkItem(target, container) { var items = container._links; var key = target._link.after = target._link.after || container._linkAfter; var i; var item; if (key) { for (i = 0; (item = items[i]) && item._link.name !== key; ++i) {} if (item) { for (++i; (item = items[i]) && item._link.after === key; ++i) {} } } else { i = items.length } items.splice(i, 0, target); updateIndexes(items, i) } function Renderer(options) { this.root = this._createElement("svg", { xmlns: "http://www.w3.org/2000/svg", version: "1.1", fill: NONE, stroke: NONE, "stroke-width": 0 }).attr({ class: options.cssClass }).css({ "line-height": "normal", "-ms-user-select": NONE, "-moz-user-select": NONE, "-webkit-user-select": NONE, "-webkit-tap-highlight-color": "rgba(0, 0, 0, 0)", display: "block", overflow: "hidden" }); this._init(); this.pathModified = !!options.pathModified; this._$container = (0, _renderer.default)(options.container); this.root.append({ element: options.container }); this._locker = 0; this._backed = false } Renderer.prototype = { constructor: Renderer, _init: function() { this._defs = this._createElement("defs").append(this.root); this._animationController = new _animation.AnimationController(this.root.element); this._animation = { enabled: true, duration: 1e3, easing: "easeOutCubic" } }, setOptions: function(options) { this.rtl = !!options.rtl; this.encodeHtml = !!options.encodeHtml; this.updateAnimationOptions(options.animation || {}); this.root.attr({ direction: this.rtl ? "rtl" : "ltr" }); return this }, _createElement: function(tagName, attr, type) { var elem = new SvgElement(this, tagName, type); attr && elem.attr(attr); return elem }, lock: function() { if (0 === this._locker) { this._backed = !this._$container.is(":visible"); if (this._backed) { ! function(root) { if (0 === getBackup().backupCounter) { _dom_adapter.default.getBody().appendChild(getBackup().backupContainer) }++getBackup().backupCounter; root.append({ element: getBackup().backupContainer }) }(this.root) } }++this._locker; return this }, unlock: function() { --this._locker; if (0 === this._locker) { if (this._backed) { ! function(root, container) { root.append({ element: container }); --getBackup().backupCounter; if (0 === getBackup().backupCounter) { _dom_adapter.default.getBody().removeChild(getBackup().backupContainer) } }(this.root, this._$container[0]) } this._backed = false } return this }, resize: function(width, height) { if (width >= 0 && height >= 0) { this.root.attr({ width: width, height: height }) } return this }, dispose: function() { var key; this.root.dispose(); this._defs.dispose(); this._animationController.dispose(); fixFuncIriCallbacks.removeByRenderer(this); for (key in this) { this[key] = null } return this }, animationEnabled: function() { return !!this._animation.enabled }, updateAnimationOptions: function(newOptions) { extend(this._animation, newOptions); return this }, stopAllAnimations: function(lock) { this._animationController[lock ? "lock" : "stop"](); return this }, animateElement: function(element, params, options) { this._animationController.animateElement(element, params, options); return this }, svg: function() { return this.root.markup() }, getRootOffset: function() { return this.root.getOffset() }, onEndAnimation: function(endAnimation) { this._animationController.onEndAnimation(endAnimation) }, rect: function(x, y, width, height) { var elem = new RectSvgElement(this); return elem.attr({ x: x || 0, y: y || 0, width: width || 0, height: height || 0 }) }, simpleRect: function() { return this._createElement("rect") }, circle: function(x, y, r) { return this._createElement("circle", { cx: x || 0, cy: y || 0, r: r || 0 }) }, g: function() { return this._createElement("g") }, image: function(x, y, w, h, href, location) { var image = this._createElement("image", { x: x || 0, y: y || 0, width: w || 0, height: h || 0, preserveAspectRatio: preserveAspectRatioMap[(0, _utils.normalizeEnum)(location)] || NONE }); image.element.setAttributeNS("http://www.w3.org/1999/xlink", "href", href || ""); return image }, path: function(points, type) { var elem = new PathSvgElement(this, type); return elem.attr({ points: points || [] }) }, arc: function(x, y, innerRadius, outerRadius, startAngle, endAngle) { var elem = new ArcSvgElement(this); return elem.attr({ x: x || 0, y: y || 0, innerRadius: innerRadius || 0, outerRadius: outerRadius || 0, startAngle: startAngle || 0, endAngle: endAngle || 0 }) }, text: function(_text, x, y) { var elem = new TextSvgElement(this); return elem.attr({ text: _text, x: x || 0, y: y || 0 }) }, linearGradient: function(stops) { var id = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : (0, _utils.getNextDefsSvgId)(); var rotationAngle = arguments.length > 2 ? arguments[2] : void 0; var gradient = this._createElement("linearGradient", { id: id, gradientTransform: "rotate(".concat(rotationAngle || 0, ")") }).append(this._defs); gradient.id = id; this._createGradientStops(stops, gradient); return gradient }, radialGradient: function(stops, id) { var gradient = this._createElement("radialGradient", { id: id }).append(this._defs); this._createGradientStops(stops, gradient); return gradient }, _createGradientStops: function(stops, group) { var _this = this; stops.forEach((function(stop) { var _stop$stopColor; _this._createElement("stop", { offset: stop.offset, "stop-color": null !== (_stop$stopColor = stop["stop-color"]) && void 0 !== _stop$stopColor ? _stop$stopColor : stop.color, "stop-opacity": stop.opacity }).append(group) })) }, pattern: function(color, hatching, _id) { hatching = hatching || {}; var step = hatching.step || 6; var stepTo2 = step / 2; var stepBy15 = 1.5 * step; var id = _id || (0, _utils.getNextDefsSvgId)(); var d = "right" === (0, _utils.normalizeEnum)(hatching.direction) ? "M " + stepTo2 + " " + -stepTo2 + " L " + -stepTo2 + " " + stepTo2 + " M 0 " + step + " L " + step + " 0 M " + stepBy15 + " " + stepTo2 + " L " + stepTo2 + " " + stepBy15 : "M 0 0 L " + step + " " + step + " M " + -stepTo2 + " " + stepTo2 + " L " + stepTo2 + " " + stepBy15 + " M " + stepTo2 + " " + -stepTo2 + " L " + stepBy15 + " " + stepTo2; var pattern = this._createElement("pattern", { id: id, width: step, height: step, patternUnits: "userSpaceOnUse" }).append(this._defs); pattern.id = id; this.rect(0, 0, step, step).attr({ fill: color, opacity: hatching.opacity }).append(pattern); new PathSvgElement(this).attr({ d: d, "stroke-width": hatching.width || 1, stroke: color }).append(pattern); return pattern }, customPattern: function(id, template, width, height) { var option = { id: id, width: width, height: height, patternContentUnits: "userSpaceOnUse", patternUnits: this._getPatternUnits(width, height) }; var pattern = this._createElement("pattern", option).append(this._defs); template.render({ container: pattern.element }); return pattern }, _getPatternUnits: function(width, height) { if (Number(width) && Number(height)) { return "userSpaceOnUse" } }, _getPointsWithYOffset: function(points, offset) { return points.map((function(point, index) { if (index % 2 !== 0) { return point + offset } return point })) }, clipShape: function(method, methodArgs) { var id = (0, _utils.getNextDefsSvgId)(); var clipPath = this._createElement("clipPath", { id: id }).append(this._defs); var shape = method.apply(this, methodArgs).append(clipPath); shape.id = id; shape.remove = function() { throw "Not implemented" }; shape.dispose = function() { clipPath.dispose(); clipPath = null; return this }; return shape }, clipRect: function(x, y, width, height) { return this.clipShape(this.rect, arguments) }, clipCircle: function(x, y, radius) { return this.clipShape(this.circle, arguments) }, shadowFilter: function(x, y, width, height, offsetX, offsetY, blur, color, opacity) { var id = (0, _utils.getNextDefsSvgId)(); var filter = this._createElement("filter", { id: id, x: x || 0, y: y || 0, width: width || 0, height: height || 0 }).append(this._defs); var gaussianBlur = this._createElement("feGaussianBlur", { in: "SourceGraphic", result: "gaussianBlurResult", stdDeviation: blur || 0 }).append(filter); var offset = this._createElement("feOffset", { in: "gaussianBlurResult", result: "offsetResult", dx: offsetX || 0, dy: offsetY || 0 }).append(filter); var flood = this._createElement("feFlood", { result: "floodResult", "flood-color": color || "", "flood-opacity": opacity }).append(filter); var composite = this._createElement("feComposite", { in: "floodResult", in2: "offsetResult", operator: "in", result: "compositeResult" }).append(filter); var finalComposite = this._createElement("feComposite", { in: "SourceGraphic", in2: "compositeResult", operator: "over" }).append(filter); filter.id = id; filter.gaussianBlur = gaussianBlur; filter.offset = offset; filter.flood = flood; filter.composite = composite; filter.finalComposite = finalComposite; filter.attr = function(attrs) { var filterAttrs = {}; var offsetAttrs = {}; var floodAttrs = {}; "x" in attrs && (filterAttrs.x = attrs.x); "y" in attrs && (filterAttrs.y = attrs.y); "width" in attrs && (filterAttrs.width = attrs.width); "height" in attrs && (filterAttrs.height = attrs.height); baseAttr(this, filterAttrs); "blur" in attrs && this.gaussianBlur.attr({ stdDeviation: attrs.blur }); "offsetX" in attrs && (offsetAttrs.dx = attrs.offsetX); "offsetY" in attrs && (offsetAttrs.dy = attrs.offsetY); this.offset.attr(offsetAttrs); "color" in attrs && (floodAttrs["flood-color"] = attrs.color); "opacity" in attrs && (floodAttrs["flood-opacity"] = attrs.opacity); this.flood.attr(floodAttrs); return this }; return filter }, brightFilter: function(type, slope) { var id = (0, _utils.getNextDefsSvgId)(); var filter = this._createElement("filter", { id: id }).append(this._defs); var componentTransferElement = this._createElement("feComponentTransfer").append(filter); var attrs = { type: type, slope: slope }; filter.id = id; this._createElement("feFuncR", attrs).append(componentTransferElement); this._createElement("feFuncG", attrs).append(componentTransferElement); this._createElement("feFuncB", attrs).append(componentTransferElement); return filter }, getGrayScaleFilter: function() { if (this._grayScaleFilter) { return this._grayScaleFilter } var id = (0, _utils.getNextDefsSvgId)(); var filter = this._createElement("filter", { id: id }).append(this._defs); this._createElement("feColorMatrix").attr({ type: "matrix", values: "0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 0.6 0" }).append(filter); filter.id = id; this._grayScaleFilter = filter; return filter }, lightenFilter: function(id) { var filter = this._createElement("filter", { id: id }).append(this._defs); this._createElement("feColorMatrix", { type: "matrix", values: "".concat(1.3, " 0 0 0 0 0 ").concat(1.3, " 0 0 0 0 0 ").concat(1.3, " 0 0 0 0 0 1 0") }).append(filter); filter.id = id; return filter }, initDefsElements: function() { var storage = this._defsElementsStorage = this._defsElementsStorage || { byHash: {}, baseId: (0, _utils.getNextDefsSvgId)() }; var byHash = storage.byHash; var name; for (name in byHash) { byHash[name].pattern.dispose() } storage.byHash = {}; storage.refToHash = {}; storage.nextId = 0 }, drawPattern: function(_ref6, storageId, nextId) { var color = _ref6.color, hatching = _ref6.hatching; return this.pattern(color, hatching, "".concat(storageId, "-hatching-").concat(nextId++)) }, drawFilter: function(_, storageId, nextId) { return this.lightenFilter("".concat(storageId, "-lightening-").concat(nextId++)) }, lockDefsElements: function(attrs, ref, type) { var storage = this._defsElementsStorage; var storageItem; var hash = "pattern" === type ? (_ref7 = attrs, color = _ref7.color, hatching = _ref7.hatching, "@" + color + "::" + hatching.step + ":" + hatching.width + ":" + hatching.opacity + ":" + hatching.direction) : "@filter::lightening"; var _ref7, color, hatching; var method = "pattern" === type ? this.drawPattern : this.drawFilter; var pattern; if (storage.refToHash[ref] !== hash) { if (ref) { this.releaseDefsElements(ref) } storageItem = storage.byHash[hash]; if (!storageItem) { pattern = method.call(this, attrs, storage.baseId, storage.nextId++); storageItem = storage.byHash[hash] = { pattern: pattern, count: 0 }; storage.refToHash[pattern.id] = hash }++storageItem.count; ref = storageItem.pattern.id } return ref }, releaseDefsElements: function(ref) { var storage = this._defsElementsStorage; var hash = storage.refToHash[ref]; var storageItem = storage.byHash[hash]; if (storageItem && 0 === --storageItem.count) { storageItem.pattern.dispose(); delete storage.byHash[hash]; delete storage.refToHash[ref] } } }; var fixFuncIriCallbacks = (callbacks = [], { add: function(fn) { callbacks.push(fn) }, remove: function(fn) { callbacks = callbacks.filter((function(el) { return el !== fn })) }, removeByRenderer: function(renderer) { callbacks = callbacks.filter((function(el) { return el.renderer !== renderer })) }, fire: function() { callbacks.forEach((function(fn) { fn() })) } }); var callbacks; exports.refreshPaths = function() { fixFuncIriCallbacks.fire() } }, 1939: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/series_family.js ***! \***********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.SeriesFamily = SeriesFamily; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _utils = __webpack_require__( /*! ./utils */ 19157); var _date = (obj = __webpack_require__( /*! ../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var round = Math.round, abs = Math.abs, pow = Math.pow, sqrt = Math.sqrt; var _min = Math.min; function correctStackCoordinates(series, currentStacks, arg, stack, parameters, barsArea, seriesStackIndexCallback) { series.forEach((function(series) { var stackIndex = seriesStackIndexCallback(currentStacks.indexOf(stack), currentStacks.length); var points = series.getPointsByArg(arg, true); var barPadding = function(barPadding) { return barPadding < 0 || barPadding > 1 ? void 0 : barPadding }(series.getOptions().barPadding); var barWidth = series.getOptions().barWidth; var offset = getOffset(stackIndex, parameters); var width = parameters.width; var extraParameters; if (-1 === stackIndex) { return } if ((0, _type.isDefined)(barPadding) || (0, _type.isDefined)(barWidth)) { extraParameters = calculateParams(barsArea, currentStacks.length, 1 - barPadding, barWidth); width = extraParameters.width; if (!series.getBarOverlapGroup()) { offset = getOffset(stackIndex, extraParameters) } }! function(points, width, offset) { (0, _iterator.each)(points, (function(_, point) { point.correctCoordinates({ width: width, offset: offset }) })) }(points, width, offset) })) } function getStackName(series) { return series.getStackName() || series.getBarOverlapGroup() } function adjustBarSeriesDimensionsCore(series, options, seriesStackIndexCallback) { var _series$, _series$2; var commonStacks = []; var allArguments = []; var seriesInStacks = {}; var barGroupWidth = options.barGroupWidth; var argumentAxis = null === (_series$ = series[0]) || void 0 === _series$ ? void 0 : _series$.getArgumentAxis(); var interval; if (null !== (_series$2 = series[0]) && void 0 !== _series$2 && _series$2.useAggregation()) { var _series$3; var isDateArgAxis = "datetime" === (null === (_series$3 = series[0]) || void 0 === _series$3 ? void 0 : _series$3.argumentType); var tickInterval = argumentAxis.getTickInterval(); var aggregationInterval = argumentAxis.getAggregationInterval(); tickInterval = isDateArgAxis ? _date.default.dateToMilliseconds(tickInterval) : tickInterval; aggregationInterval = isDateArgAxis ? _date.default.dateToMilliseconds(aggregationInterval) : aggregationInterval; interval = aggregationInterval < tickInterval ? aggregationInterval : tickInterval } interval = null === argumentAxis || void 0 === argumentAxis ? void 0 : argumentAxis.getTranslator().getInterval(interval); var barsArea = barGroupWidth ? interval > barGroupWidth ? barGroupWidth : interval : interval * (1 - (barGroupPadding = options.barGroupPadding, barGroupPadding < 0 || barGroupPadding > 1 ? .3 : barGroupPadding)); var barGroupPadding; series.forEach((function(s, i) { var stackName = getStackName(s) || i.toString(); var argument; for (argument in s.pointsByArgument) { if (-1 === allArguments.indexOf(argument.valueOf())) { allArguments.push(argument.valueOf()) } } if (-1 === commonStacks.indexOf(stackName)) { commonStacks.push(stackName); seriesInStacks[stackName] = [] } seriesInStacks[stackName].push(s) })); allArguments.forEach((function(arg) { var currentStacks = commonStacks.reduce((function(stacks, stack) { if (function(series, arg) { return series.some((function(s) { return !s.getOptions().ignoreEmptyPoints || s.getPointsByArg(arg, true).some((function(point) { return point.hasValue() })) })) }(seriesInStacks[stack], arg)) { stacks.push(stack) } return stacks }), []); var parameters = calculateParams(barsArea, currentStacks.length); commonStacks.forEach((function(stack) { correctStackCoordinates(seriesInStacks[stack], currentStacks, arg, stack, parameters, barsArea, seriesStackIndexCallback) })) })) } function calculateParams(barsArea, count, percentWidth, fixedBarWidth) { var spacing; var width; if (fixedBarWidth) { width = _min(fixedBarWidth, barsArea / count); spacing = count > 1 ? round((barsArea - round(width) * count) / (count - 1)) : 0 } else if ((0, _type.isDefined)(percentWidth)) { width = barsArea * percentWidth / count; spacing = count > 1 ? round((barsArea - barsArea * percentWidth) / (count - 1)) : 0 } else { spacing = round(barsArea / count * .2); width = (barsArea - spacing * (count - 1)) / count } return { width: width > 1 ? round(width) : 1, spacing: spacing, middleIndex: count / 2, rawWidth: width } } function getOffset(stackIndex, parameters) { var width = parameters.rawWidth < 1 ? parameters.rawWidth : parameters.width; return (stackIndex - parameters.middleIndex + .5) * width - (parameters.middleIndex - stackIndex - .5) * parameters.spacing } function getVisibleSeries(that) { return that.series.filter((function(s) { return s.isVisible() })) } function getAbsStackSumByArg(stackKeepers, stackName, argument) { var positiveStackValue = (stackKeepers.positive[stackName] || {})[argument] || 0; var negativeStackValue = -(stackKeepers.negative[stackName] || {})[argument] || 0; return positiveStackValue + negativeStackValue } function getSeriesStackIndexCallback(inverted) { if (!inverted) { return function(index) { return index } } else { return function(index, stackCount) { return stackCount - index - 1 } } } function isInverted(series) { return series[0] && series[0].getArgumentAxis().getTranslator().isInverted() } function adjustBarSeriesDimensions() { var series = getVisibleSeries(this); adjustBarSeriesDimensionsCore(series, this._options, getSeriesStackIndexCallback(isInverted(series))) } function adjustStackedSeriesValues() { var negativesAsZeroes = this._options.negativesAsZeroes; var series = getVisibleSeries(this); var stackKeepers = { positive: {}, negative: {} }; var holesStack = { left: {}, right: {} }; var lastSeriesInPositiveStack = {}; var lastSeriesInNegativeStack = {}; series.forEach((function(singleSeries) { var stackName = getStackName(singleSeries); var hole = false; var stack = function(series) { var points = series.getPoints(); var value; for (var i = 0; i < points.length; i++) { var point = points[i]; value = point.initialValue && point.initialValue.valueOf(); if (abs(value) > 0) { break } } return (0, _math.sign)(value) }(singleSeries) < 0 ? lastSeriesInNegativeStack : lastSeriesInPositiveStack; singleSeries._prevSeries = stack[stackName]; stack[stackName] = singleSeries; singleSeries.holes = (0, _extend.extend)(true, {}, holesStack); singleSeries.getPoints().forEach((function(point, index, points) { var value = point.initialValue && point.initialValue.valueOf(); var argument = point.argument.valueOf(); var stacks = value >= 0 ? stackKeepers.positive : stackKeepers.negative; var isNotBarSeries = "bar" !== singleSeries.type; if (negativesAsZeroes && value < 0) { stacks = stackKeepers.positive; value = 0; point.resetValue() } stacks[stackName] = stacks[stackName] || {}; var currentStack = stacks[stackName]; if (currentStack[argument]) { if (isNotBarSeries) { point.correctValue(currentStack[argument]) } currentStack[argument] += value } else { currentStack[argument] = value; if (isNotBarSeries) { point.resetCorrection() } } if (!point.hasValue()) { var prevPoint = points[index - 1]; if (!hole && prevPoint && prevPoint.hasValue()) { argument = prevPoint.argument.valueOf(); prevPoint._skipSetRightHole = true; holesStack.right[argument] = (holesStack.right[argument] || 0) + (prevPoint.value.valueOf() - (isFinite(prevPoint.minValue) ? prevPoint.minValue.valueOf() : 0)) } hole = true } else if (hole) { hole = false; holesStack.left[argument] = (holesStack.left[argument] || 0) + (point.value.valueOf() - (isFinite(point.minValue) ? point.minValue.valueOf() : 0)); point._skipSetLeftHole = true } })) })); series.forEach((function(singleSeries) { var holes = singleSeries.holes; singleSeries.getPoints().forEach((function(point) { var argument = point.argument.valueOf(); point.resetHoles(); !point._skipSetLeftHole && point.setHole(holes.left[argument] || holesStack.left[argument] && 0, "left"); !point._skipSetRightHole && point.setHole(holes.right[argument] || holesStack.right[argument] && 0, "right"); point._skipSetLeftHole = null; point._skipSetRightHole = null })) })); this._stackKeepers = stackKeepers; series.forEach((function(singleSeries) { singleSeries.getPoints().forEach((function(point) { var argument = point.argument.valueOf(); var stackName = getStackName(singleSeries); var absTotal = getAbsStackSumByArg(stackKeepers, stackName, argument); var total = function(stackKeepers, stackName, argument) { var positiveStackValue = (stackKeepers.positive[stackName] || {})[argument] || 0; var negativeStackValue = (stackKeepers.negative[stackName] || {})[argument] || 0; return positiveStackValue + negativeStackValue }(stackKeepers, stackName, argument); point.setPercentValue(absTotal, total, holesStack.left[argument], holesStack.right[argument]) })) })) } function updateStackedSeriesValues() { var that = this; var series = getVisibleSeries(that); var stack = that._stackKeepers; var stackKeepers = { positive: {}, negative: {} }; (0, _iterator.each)(series, (function(_, singleSeries) { var minBarSize = singleSeries.getOptions().minBarSize; var valueAxisTranslator = singleSeries.getValueAxis().getTranslator(); var minShownBusinessValue = minBarSize && valueAxisTranslator.getMinBarSize(minBarSize); var stackName = singleSeries.getStackName(); (0, _iterator.each)(singleSeries.getPoints(), (function(index, point) { if (!point.hasValue()) { return } var value = point.initialValue && point.initialValue.valueOf(); var argument = point.argument.valueOf(); if (that.fullStacked) { value = value / getAbsStackSumByArg(stack, stackName, argument) || 0 } var updateValue = valueAxisTranslator.checkMinBarSize(value, minShownBusinessValue, point.value); var valueType = function(value) { return value >= 0 ? "positive" : "negative" }(updateValue); var currentStack = stackKeepers[valueType][stackName] = stackKeepers[valueType][stackName] || {}; if (currentStack[argument]) { point.minValue = currentStack[argument]; currentStack[argument] += updateValue } else { currentStack[argument] = updateValue } point.value = currentStack[argument] })) })); if (that.fullStacked) { ! function(series, stackKeepers) { (0, _iterator.each)(series, (function(_, singleSeries) { var stackName = singleSeries.getStackName ? singleSeries.getStackName() : "default"; (0, _iterator.each)(singleSeries.getPoints(), (function(index, point) { var stackSum = getAbsStackSumByArg(stackKeepers, stackName, point.argument.valueOf()); if (0 !== stackSum) { point.value = point.value / stackSum; if ((0, _type.isNumeric)(point.minValue)) { point.minValue = point.minValue / stackSum } } })) })) }(series, stackKeepers) } } function updateRangeSeriesValues() { var series = getVisibleSeries(this); (0, _iterator.each)(series, (function(_, singleSeries) { var minBarSize = singleSeries.getOptions().minBarSize; var valueAxisTranslator = singleSeries.getValueAxis().getTranslator(); var minShownBusinessValue = minBarSize && valueAxisTranslator.getMinBarSize(minBarSize); if (minShownBusinessValue) { (0, _iterator.each)(singleSeries.getPoints(), (function(_, point) { if (!point.hasValue()) { return } if (point.value.valueOf() - point.minValue.valueOf() < minShownBusinessValue) { point.value = point.value.valueOf() + minShownBusinessValue / 2; point.minValue = point.minValue.valueOf() - minShownBusinessValue / 2 } })) } })) } function updateBarSeriesValues() { (0, _iterator.each)(this.series, (function(_, singleSeries) { var minBarSize = singleSeries.getOptions().minBarSize; var valueAxisTranslator = singleSeries.getValueAxis().getTranslator(); var minShownBusinessValue = minBarSize && valueAxisTranslator.getMinBarSize(minBarSize); if (minShownBusinessValue) { (0, _iterator.each)(singleSeries.getPoints(), (function(index, point) { if (point.hasValue()) { point.value = valueAxisTranslator.checkMinBarSize(point.initialValue, minShownBusinessValue) } })) } })) } function adjustCandlestickSeriesDimensions() { var series = getVisibleSeries(this); adjustBarSeriesDimensionsCore(series, { barGroupPadding: .3 }, getSeriesStackIndexCallback(isInverted(series))) } function adjustBubbleSeriesDimensions() { var series = getVisibleSeries(this); if (!series.length) { return } var options = this._options; var visibleAreaX = series[0].getArgumentAxis().getVisibleArea(); var visibleAreaY = series[0].getValueAxis().getVisibleArea(); var min = _min(visibleAreaX[1] - visibleAreaX[0], visibleAreaY[1] - visibleAreaY[0]); var minBubbleArea = pow(options.minBubbleSize, 2); var maxBubbleArea = pow(min * options.maxBubbleSize, 2); var equalBubbleSize = (min * options.maxBubbleSize + options.minBubbleSize) / 2; var minPointSize = 1 / 0; var maxPointSize = -1 / 0; var pointSize; var bubbleArea; var sizeProportion; (0, _iterator.each)(series, (function(_, seriesItem) { (0, _iterator.each)(seriesItem.getPoints(), (function(_, point) { maxPointSize = maxPointSize > point.size ? maxPointSize : point.size; minPointSize = minPointSize < point.size ? minPointSize : point.size })) })); var sizeDispersion = maxPointSize - minPointSize; var areaDispersion = abs(maxBubbleArea - minBubbleArea); (0, _iterator.each)(series, (function(_, seriesItem) { (0, _iterator.each)(seriesItem.getPoints(), (function(_, point) { if (maxPointSize === minPointSize) { pointSize = round(equalBubbleSize) } else { sizeProportion = abs(point.size - minPointSize) / sizeDispersion; bubbleArea = areaDispersion * sizeProportion + minBubbleArea; pointSize = round(sqrt(bubbleArea)) } point.correctCoordinates(pointSize) })) })) } function SeriesFamily(options) { this.type = (0, _utils.normalizeEnum)(options.type); this.pane = options.pane; this.series = []; this.updateOptions(options); switch (this.type) { case "bar": this.adjustSeriesDimensions = adjustBarSeriesDimensions; this.updateSeriesValues = updateBarSeriesValues; this.adjustSeriesValues = adjustStackedSeriesValues; break; case "rangebar": this.adjustSeriesDimensions = adjustBarSeriesDimensions; this.updateSeriesValues = updateRangeSeriesValues; break; case "fullstackedbar": this.fullStacked = true; this.adjustSeriesDimensions = adjustBarSeriesDimensions; this.adjustSeriesValues = adjustStackedSeriesValues; this.updateSeriesValues = updateStackedSeriesValues; break; case "stackedbar": this.adjustSeriesDimensions = adjustBarSeriesDimensions; this.adjustSeriesValues = adjustStackedSeriesValues; this.updateSeriesValues = updateStackedSeriesValues; break; case "fullstackedarea": case "fullstackedline": case "fullstackedspline": case "fullstackedsplinearea": this.fullStacked = true; this.adjustSeriesValues = adjustStackedSeriesValues; break; case "stackedarea": case "stackedsplinearea": case "stackedline": case "stackedspline": this.adjustSeriesValues = adjustStackedSeriesValues; break; case "candlestick": case "stock": this.adjustSeriesDimensions = adjustCandlestickSeriesDimensions; break; case "bubble": this.adjustSeriesDimensions = adjustBubbleSeriesDimensions } } SeriesFamily.prototype = { constructor: SeriesFamily, adjustSeriesDimensions: _common.noop, adjustSeriesValues: _common.noop, updateSeriesValues: _common.noop, updateOptions: function(options) { this._options = options }, dispose: function() { this.series = null }, add: function(series) { var type = this.type; this.series = (0, _utils.map)(series, (function(singleSeries) { return singleSeries.type === type ? singleSeries : null })) } } }, 39726: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.carmine.js ***! \********************************************************************************/ function(module, exports) { exports.default = void 0; var _default = [{ theme: { name: "generic.carmine", defaultPalette: "Carmine", backgroundColor: "#fff", primaryTitleColor: "#333", secondaryTitleColor: "#8899a8", gridColor: "#dee1e3", axisColor: "#707070", export: { backgroundColor: "#fff", font: { color: "#333" }, button: { default: { color: "#333", borderColor: "#b1b7bd", backgroundColor: "#fff" }, hover: { color: "#333", borderColor: "#b1b7bd", backgroundColor: "#faf2f0" }, focus: { color: "#333", borderColor: "#6d7781", backgroundColor: "#faf2f0" }, active: { color: "#333", borderColor: "#6d7781", backgroundColor: "#f5e7e4" } } }, legend: { font: { color: "#707070" } }, tooltip: { color: "#fff", border: { color: "#dee1e3" }, font: { color: "#333" } }, "chart:common": { commonSeriesSettings: { label: { border: { color: "#dee1e3" } } } }, "chart:common:annotation": { font: { color: "#333" }, border: { color: "#dee1e3" }, color: "#fff" }, chart: { commonPaneSettings: { border: { color: "#dee1e3" } }, commonAxisSettings: { breakStyle: { color: "#c1c5c7" } } }, rangeSelector: { scale: { breakStyle: { color: "#c1c5c7" }, tick: { opacity: .12 } }, selectedRangeColor: "#f05b41", sliderMarker: { color: "#f05b41" }, sliderHandle: { color: "#f05b41", opacity: .5 } }, sparkline: { pointColor: "#fff", minColor: "#f0ad4e", maxColor: "#f74d61" }, treeMap: { group: { color: "#dee1e3", label: { font: { color: "#8899a8" } } } }, bullet: { color: "#f05b41" }, gauge: { valueIndicators: { rangebar: { color: "#f05b41" }, textcloud: { color: "#f05b41" } } } }, baseThemeName: "generic.light" }, { theme: { name: "generic.carmine.compact" }, baseThemeName: "generic.carmine" }]; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 14870: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.contrast.js ***! \*********************************************************************************/ function(module, exports) { exports.default = void 0; var WHITE = "#ffffff"; var BLACK = "#000000"; var _default = [{ theme: { name: "generic.contrast", defaultPalette: "Bright", font: { color: WHITE }, backgroundColor: BLACK, primaryTitleColor: WHITE, secondaryTitleColor: WHITE, gridColor: WHITE, axisColor: WHITE, export: { backgroundColor: BLACK, font: { color: WHITE }, button: { default: { color: WHITE, borderColor: WHITE, backgroundColor: BLACK }, hover: { color: WHITE, borderColor: WHITE, backgroundColor: "#cf00d7" }, focus: { color: WHITE, borderColor: "#cf00d7", backgroundColor: BLACK }, active: { color: BLACK, borderColor: WHITE, backgroundColor: WHITE } }, borderColor: WHITE, menuButtonColor: BLACK, activeBackgroundColor: WHITE, activeColor: BLACK, selectedBorderColor: "#cf00da", selectedColor: "#cf00da", shadowColor: "none" }, tooltip: { border: { color: WHITE }, font: { color: WHITE }, color: BLACK }, "chart:common": { commonSeriesSettings: { valueErrorBar: { color: WHITE }, hoverStyle: { hatching: { opacity: .5 } }, selectionStyle: { hatching: { opacity: .35 } }, label: { font: { color: WHITE }, border: { color: WHITE } } } }, "chart:common:axis": { constantLineStyle: { color: WHITE } }, "chart:common:annotation": { font: { color: WHITE }, border: { color: WHITE }, color: BLACK }, chart: { commonSeriesSettings: {}, crosshair: { color: "#cf00d7" }, commonPaneSettings: { backgroundColor: BLACK, border: { color: WHITE } }, scrollBar: { color: WHITE }, commonAxisSettings: { breakStyle: { color: "#cf00d7" } }, zoomAndPan: { dragBoxStyle: { color: WHITE, opacity: .7 } } }, pie: { commonSeriesSettings: { pie: { hoverStyle: { hatching: { opacity: .5 } }, selectionStyle: { hatching: { opacity: .35 } } }, doughnut: { hoverStyle: { hatching: { opacity: .5 } }, selectionStyle: { hatching: { opacity: .35 } } }, donut: { hoverStyle: { hatching: { opacity: .5 } }, selectionStyle: { hatching: { opacity: .35 } } } } }, gauge: { rangeContainer: { backgroundColor: WHITE }, valueIndicators: { _default: { color: WHITE }, rangebar: { color: WHITE, backgroundColor: BLACK }, twocolorneedle: { secondColor: WHITE }, trianglemarker: { color: WHITE }, textcloud: { color: WHITE, text: { font: { color: BLACK } } } } }, barGauge: { backgroundColor: "#3c3c3c" }, rangeSelector: { scale: { tick: { color: WHITE, opacity: .4 }, minorTick: { color: WHITE, opacity: .12 }, breakStyle: { color: "#cf00d7" } }, selectedRangeColor: "#cf00da", sliderMarker: { color: "#cf00da" }, sliderHandle: { color: "#cf00da", opacity: 1 }, shutter: { opacity: .75 }, background: { color: BLACK } }, map: { background: { borderColor: WHITE }, layer: { label: { stroke: BLACK, font: { color: WHITE } } }, "layer:area": { borderColor: BLACK, color: "#686868", hoveredBorderColor: WHITE, selectedBorderColor: WHITE, label: { font: { opacity: 1 } } }, "layer:line": { color: "#267cff", hoveredColor: "#f613ff", selectedColor: WHITE }, "layer:marker:dot": { borderColor: BLACK, color: "#f8ca00", backColor: BLACK, backOpacity: .32 }, "layer:marker:bubble": { color: "#f8ca00", hoveredBorderColor: WHITE, selectedBorderColor: WHITE }, "layer:marker:pie": { hoveredBorderColor: WHITE, selectedBorderColor: WHITE }, controlBar: { borderColor: WHITE, color: BLACK, opacity: .3 } }, treeMap: { tile: { color: "#70c92f" }, group: { color: "#797979", label: { font: { color: WHITE } } } }, sparkline: { pointColor: BLACK }, bullet: {}, polar: { commonSeriesSettings: {} }, funnel: { label: { connector: { opacity: 1 } } }, sankey: { label: { font: { color: WHITE }, shadow: { opacity: 0 } }, node: { border: { visible: true, width: 1, color: WHITE } }, link: { opacity: .5, border: { visible: true, width: 1, color: WHITE }, hoverStyle: { opacity: .9 } } } }, baseThemeName: "generic.light" }, { theme: { name: "generic.contrast.compact" }, baseThemeName: "generic.contrast" }]; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 17374: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.dark.js ***! \*****************************************************************************/ function(module, exports) { exports.default = void 0; var WHITE = "#ffffff"; var _default = [{ theme: { name: "generic.dark", font: { color: "#808080" }, backgroundColor: "#2a2a2a", primaryTitleColor: "#dedede", secondaryTitleColor: "#a3a3a3", gridColor: "#555555", axisColor: "#a3a3a3", export: { backgroundColor: "#2a2a2a", font: { color: "#dbdbdb" }, button: { default: { color: "#dedede", borderColor: "#4d4d4d", backgroundColor: "#2e2e2e" }, hover: { color: "#dedede", borderColor: "#6c6c6c", backgroundColor: "#444" }, focus: { color: "#dedede", borderColor: "#8d8d8d", backgroundColor: "#444444" }, active: { color: "#dedede", borderColor: "#8d8d8d", backgroundColor: "#555555" } }, shadowColor: "#292929" }, tooltip: { color: "#2b2b2b", border: { color: "#494949" }, font: { color: "#929292" } }, "chart:common": { commonSeriesSettings: { label: { border: { color: "#494949" } }, valueErrorBar: { color: WHITE } } }, "chart:common:axis": { constantLineStyle: { color: WHITE } }, "chart:common:annotation": { font: { color: "#929292" }, border: { color: "#494949" }, color: "#2b2b2b", shadow: { opacity: .008, offsetY: 4, blur: 8 } }, chart: { commonPaneSettings: { border: { color: "#494949" } }, commonAxisSettings: { breakStyle: { color: "#818181" } }, zoomAndPan: { dragBoxStyle: { color: WHITE } } }, gauge: { rangeContainer: { backgroundColor: "#b5b5b5" }, valueIndicators: { _default: { color: "#b5b5b5" }, rangebar: { color: "#84788b" }, twocolorneedle: { secondColor: "#ba544d" }, trianglemarker: { color: "#b7918f" }, textcloud: { color: "#ba544d" } } }, barGauge: { backgroundColor: "#3c3c3c" }, rangeSelector: { scale: { tick: { color: WHITE, opacity: .32 }, minorTick: { color: WHITE, opacity: .1 }, breakStyle: { color: "#818181" } }, selectedRangeColor: "#b5b5b5", sliderMarker: { color: "#b5b5b5", font: { color: "#303030" } }, sliderHandle: { color: WHITE, opacity: .2 }, shutter: { color: "#2b2b2b", opacity: .9 } }, map: { background: { borderColor: "#3f3f3f" }, layer: { label: { stroke: "#000000", font: { color: WHITE } } }, "layer:area": { borderColor: "#303030", color: "#686868", hoveredBorderColor: WHITE, selectedBorderColor: WHITE }, "layer:line": { color: "#c77244", hoveredColor: "#ff5d04", selectedColor: "#ff784f" }, "layer:marker:bubble": { hoveredBorderColor: WHITE, selectedBorderColor: WHITE }, "layer:marker:pie": { hoveredBorderColor: WHITE, selectedBorderColor: WHITE }, legend: { border: { color: "#3f3f3f" }, font: { color: WHITE } }, controlBar: { borderColor: "#c7c7c7", color: "#303030" } }, treeMap: { group: { color: "#4c4c4c", label: { font: { color: "#a3a3a3" } } } }, sparkline: { lineColor: "#c7c7c7", firstLastColor: "#c7c7c7", barPositiveColor: "#b8b8b8", barNegativeColor: "#8e8e8e", winColor: "#b8b8b8", lossColor: "#8e8e8e", pointColor: "#303030" }, bullet: { targetColor: "#8e8e8e" }, funnel: { item: { border: { color: "#2a2a2a" } } }, sankey: { label: { font: { color: WHITE }, shadow: { opacity: 0 } }, node: { border: { color: "#2a2a2a" } }, link: { color: "#888888", border: { color: "#2a2a2a" }, hoverStyle: { color: "#bbbbbb" } } } }, baseThemeName: "generic.light" }, { theme: { name: "generic.dark.compact" }, baseThemeName: "generic.dark" }]; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 83313: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.darkmoon.js ***! \*********************************************************************************/ function(module, exports) { exports.default = void 0; var _default = [{ theme: { name: "generic.darkmoon", defaultPalette: "Dark Moon", backgroundColor: "#465672", primaryTitleColor: "#fff", secondaryTitleColor: "#919bac", gridColor: "#596980", axisColor: "#c7ccd4", export: { backgroundColor: "#465672", font: { color: "#fff" }, button: { default: { color: "#fff", borderColor: "#7a889e", backgroundColor: "#465672" }, hover: { color: "#fff", borderColor: "#9da8b8", backgroundColor: "#596e92" }, focus: { color: "#fff", borderColor: "#c4cad4", backgroundColor: "#596e92" }, active: { color: "#fff", borderColor: "#c4cad4", backgroundColor: "#6b80a4" } } }, legend: { font: { color: "#c7ccd4" } }, tooltip: { color: "#62789e", border: { color: "#596980" }, font: { color: "#fff" } }, "chart:common": { commonSeriesSettings: { label: { border: { color: "#596980" } } } }, "chart:common:annotation": { font: { color: "#fff" }, border: { color: "#596980" }, color: "#62789e" }, chart: { commonPaneSettings: { border: { color: "#596980" } }, commonAxisSettings: { breakStyle: { color: "#73869e" } } }, gauge: { valueIndicators: { rangebar: { color: "#3debd3" }, textcloud: { color: "#3debd3", text: { font: { color: "#465672" } } } } }, barGauge: { backgroundColor: "#526280" }, funnel: { item: { border: { color: "#465672" } } }, sparkline: { pointColor: "#465672", minColor: "#f0ad4e", maxColor: "#f9517e" }, treeMap: { group: { color: "#596980", label: { font: { color: "#fff" } } } }, map: { background: { borderColor: "#596980" }, "layer:area": { color: "#97a3b6", borderColor: "#465672" } }, rangeSelector: { shutter: { color: "#465672" }, scale: { breakStyle: { color: "#73869e" }, tick: { opacity: .2 } }, selectedRangeColor: "#3debd3", sliderMarker: { color: "#3debd3", font: { color: "#000" } }, sliderHandle: { color: "#3debd3", opacity: .5 } }, bullet: { color: "#3debd3" }, sankey: { link: { border: { color: "#465672" } }, node: { border: { color: "#465672" } } } }, baseThemeName: "generic.dark" }, { theme: { name: "generic.darkmoon.compact" }, baseThemeName: "generic.darkmoon" }]; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 25257: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.darkviolet.js ***! \***********************************************************************************/ function(module, exports) { exports.default = void 0; var _default = [{ theme: { name: "generic.darkviolet", defaultPalette: "Dark Violet", backgroundColor: "#17171f", primaryTitleColor: "#f5f6f7", secondaryTitleColor: "#fff", gridColor: "#343840", axisColor: "#b2b2b6", export: { backgroundColor: "#17171f", font: { color: "#f5f6f7" }, button: { default: { color: "#f5f6f7", borderColor: "#414152", backgroundColor: "#17171f" }, hover: { color: "#f5f6f7", borderColor: "#5c5c74", backgroundColor: "#2d2d3c" }, focus: { color: "#f5f6f7", borderColor: "#7c7c97", backgroundColor: "#2d2d3c" }, active: { color: "#f5f6f7", borderColor: "#7c7c97", backgroundColor: "#3c3c51" } } }, legend: { font: { color: "#b2b2b6" } }, tooltip: { color: "#17171f", border: { color: "#414152" }, font: { color: "#f5f6f7" } }, "chart:common": { commonSeriesSettings: { label: { border: { color: "#343840" } } } }, "chart:common:annotation": { font: { color: "#f5f6f7" }, border: { color: "#414152" }, color: "#17171f" }, chart: { commonPaneSettings: { border: { color: "#343840" } }, commonAxisSettings: { breakStyle: { color: "#575e6b" } } }, funnel: { item: { border: { color: "#17171f" } } }, sparkline: { pointColor: "#17171f", minColor: "#f0ad4e", maxColor: "#d9534f" }, treeMap: { group: { color: "#343840", label: { font: { color: "#fff" } } } }, rangeSelector: { shutter: { color: "#17171f" }, scale: { breakStyle: { color: "#575e6b" }, tick: { opacity: .2 } }, selectedRangeColor: "#9c63ff", sliderMarker: { color: "#9c63ff", font: { color: "#fff" } }, sliderHandle: { color: "#9c63ff", opacity: .5 } }, bullet: { color: "#9c63ff" }, gauge: { valueIndicators: { rangebar: { color: "#9c63ff" }, textcloud: { color: "#9c63ff" } } }, sankey: { link: { border: { color: "#17171f" } }, node: { border: { color: "#17171f" } } } }, baseThemeName: "generic.dark" }, { theme: { name: "generic.darkviolet.compact" }, baseThemeName: "generic.darkviolet" }]; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 84253: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.greenmist.js ***! \**********************************************************************************/ function(module, exports) { exports.default = void 0; var _default = [{ theme: { name: "generic.greenmist", defaultPalette: "Green Mist", backgroundColor: "#f5f5f5", primaryTitleColor: "#28484f", secondaryTitleColor: "#7eb2be", gridColor: "#dedede", axisColor: "#657c80", export: { backgroundColor: "#f5f5f5", font: { color: "#28484f" }, button: { default: { color: "#28484f", borderColor: "#a2b4b8", backgroundColor: "#f5f5f5" }, hover: { color: "#28484f", borderColor: "#7f989e", backgroundColor: "rgba(222, 222, 222, 0.4)" }, focus: { color: "#28484f", borderColor: "#5f777c", backgroundColor: "rgba(222, 222, 222, 0.4)" }, active: { color: "#28484f", borderColor: "#5f777c", backgroundColor: "rgba(222, 222, 222, 0.8)" } } }, legend: { font: { color: "#657c80" } }, tooltip: { color: "#fff", border: { color: "#dedede" }, font: { color: "#28484f" } }, "chart:common": { commonSeriesSettings: { label: { border: { color: "#dedede" } } } }, "chart:common:annotation": { color: "#fff", border: { color: "#dedede" }, font: { color: "#28484f" } }, chart: { commonPaneSettings: { border: { color: "#dedede" } }, commonAxisSettings: { breakStyle: { color: "#c1c1c1" } } }, funnel: { item: { border: { color: "#f5f5f5" } } }, sparkline: { pointColor: "#f5f5f5", minColor: "#ffc852", maxColor: "#f74a5e" }, treeMap: { group: { color: "#dedede", label: { font: { color: "#7eb2be" } } } }, rangeSelector: { shutter: { color: "#f5f5f5" }, scale: { breakStyle: { color: "#c1c1c1" }, tick: { opacity: .12 } }, selectedRangeColor: "#3cbab2", sliderMarker: { color: "#3cbab2" }, sliderHandle: { color: "#3cbab2", opacity: .5 } }, bullet: { color: "#3cbab2" }, gauge: { valueIndicators: { rangebar: { color: "#3cbab2" }, textcloud: { color: "#3cbab2" } } } }, baseThemeName: "generic.light" }, { theme: { name: "generic.greenmist.compact" }, baseThemeName: "generic.greenmist" }]; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 8839: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.light.js ***! \******************************************************************************/ function(module, exports) { exports.default = void 0; var WHITE = "#ffffff"; var BLACK = "#000000"; var RED = "#ff0000"; var NONE = "none"; var SOLID = "solid"; var TOP = "top"; var RIGHT = "right"; var LEFT = "left"; var CENTER = "center"; var _default = [{ theme: { name: "generic.light", isDefault: true, font: { color: "#767676", family: "'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana, sans-serif", weight: 400, size: 12, cursor: "default" }, redrawOnResize: true, backgroundColor: WHITE, primaryTitleColor: "#232323", secondaryTitleColor: "#767676", gridColor: "#d3d3d3", axisColor: "#767676", title: { backgroundColor: WHITE, font: { size: 28, family: "'Segoe UI Light', 'Helvetica Neue Light', 'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana, sans-serif", weight: 200 }, subtitle: { font: { size: 16 }, offset: 0, wordWrap: "normal", textOverflow: "ellipsis" }, wordWrap: "normal", textOverflow: "ellipsis" }, loadingIndicator: { text: "Loading..." }, export: { backgroundColor: WHITE, margin: 10, font: { size: 14, color: "#232323", weight: 400 }, button: { margin: { top: 8, left: 10, right: 10, bottom: 8 }, default: { color: "#333", borderColor: "#ddd", backgroundColor: WHITE }, hover: { color: "#333", borderColor: "#bebebe", backgroundColor: "#e6e6e6" }, focus: { color: BLACK, borderColor: "#9d9d9d", backgroundColor: "#e6e6e6" }, active: { color: "#333", borderColor: "#9d9d9d", backgroundColor: "#d4d4d4" } }, shadowColor: "#d3d3d3" }, tooltip: { enabled: false, border: { width: 1, color: "#d3d3d3", dashStyle: SOLID, visible: true }, font: { color: "#232323" }, color: WHITE, arrowLength: 10, paddingLeftRight: 18, paddingTopBottom: 15, textAlignment: "center", shared: false, location: CENTER, shadow: { opacity: .4, offsetX: 0, offsetY: 4, blur: 2, color: BLACK }, interactive: false }, legend: { hoverMode: "includePoints", verticalAlignment: TOP, horizontalAlignment: RIGHT, position: "outside", visible: true, margin: 10, markerSize: 12, border: { visible: false, width: 1, cornerRadius: 0, dashStyle: SOLID }, paddingLeftRight: 20, paddingTopBottom: 15, columnCount: 0, rowCount: 0, columnItemSpacing: 20, rowItemSpacing: 8, title: { backgroundColor: WHITE, margin: { left: 0, bottom: 9, right: 0, top: 0 }, font: { size: 18, weight: 200 }, subtitle: { offset: 0, font: { size: 14 }, wordWrap: "none", textOverflow: "ellipsis" }, wordWrap: "none", textOverflow: "ellipsis" } }, "chart:common": { animation: { enabled: true, duration: 1e3, easing: "easeOutCubic", maxPointCountSupported: 300 }, commonSeriesSettings: { border: { visible: false, width: 2 }, showInLegend: true, visible: true, hoverMode: "nearestPoint", selectionMode: "includePoints", hoverStyle: { hatching: { direction: RIGHT, width: 2, step: 6, opacity: .75 }, highlight: true, border: { visible: false, width: 3 } }, selectionStyle: { hatching: { direction: RIGHT, width: 2, step: 6, opacity: .5 }, highlight: true, border: { visible: false, width: 3 } }, valueErrorBar: { displayMode: "auto", value: 1, color: BLACK, lineWidth: 2, edgeLength: 8 }, label: { visible: false, alignment: CENTER, rotationAngle: 0, horizontalOffset: 0, verticalOffset: 0, radialOffset: 0, showForZeroValues: true, customizeText: void 0, maxLabelCount: void 0, position: "outside", font: { color: WHITE }, border: { visible: false, width: 1, color: "#d3d3d3", dashStyle: SOLID }, connector: { visible: false, width: 1 } } }, seriesSelectionMode: "single", pointSelectionMode: "single", equalRowHeight: true, dataPrepareSettings: { checkTypeForAllData: false, convertToAxisDataType: true, sortingMethod: true }, title: { margin: 10 }, adaptiveLayout: { width: 80, height: 80, keepLabels: true }, _rtl: { legend: { itemTextPosition: LEFT } }, resolveLabelOverlapping: NONE }, "chart:common:axis": { visible: true, valueMarginsEnabled: true, placeholderSize: null, logarithmBase: 10, discreteAxisDivisionMode: "betweenLabels", aggregatedPointsPosition: "betweenTicks", width: 1, label: { visible: true }, grid: { visible: false, width: 1 }, minorGrid: { visible: false, width: 1, opacity: .3 }, tick: { visible: true, width: 1, length: 7, shift: 3 }, minorTick: { visible: false, width: 1, opacity: .3, length: 7, shift: 3 }, stripStyle: { paddingLeftRight: 10, paddingTopBottom: 5 }, constantLineStyle: { width: 1, color: BLACK, dashStyle: SOLID, label: { visible: true, position: "inside" } }, marker: { label: {} } }, "chart:common:annotation": { font: { color: "#333333" }, tooltipEnabled: true, border: { width: 1, color: "#dddddd", dashStyle: SOLID, visible: true }, color: WHITE, opacity: .9, arrowLength: 14, arrowWidth: 14, paddingLeftRight: 10, paddingTopBottom: 10, shadow: { opacity: .15, offsetX: 0, offsetY: 1, blur: 4, color: BLACK }, image: { width: 30, height: 30 }, wordWrap: "normal", textOverflow: "ellipsis", allowDragging: false }, chart: { commonSeriesSettings: { type: "line", stack: "default", aggregation: { enabled: void 0 }, point: { visible: true, symbol: "circle", size: 12, border: { visible: false, width: 1 }, hoverMode: "onlyPoint", selectionMode: "onlyPoint", hoverStyle: { border: { visible: true, width: 4 } }, selectionStyle: { border: { visible: true, width: 4 } } }, scatter: {}, line: { width: 2, dashStyle: SOLID, hoverStyle: { width: 3, hatching: { direction: NONE }, highlight: false }, selectionStyle: { width: 3 } }, stackedline: { width: 2, dashStyle: SOLID, hoverStyle: { width: 3, hatching: { direction: NONE }, highlight: false }, selectionStyle: { width: 3 } }, stackedspline: { width: 2, dashStyle: SOLID, hoverStyle: { width: 3, hatching: { direction: NONE }, highlight: false }, selectionStyle: { width: 3 } }, fullstackedline: { width: 2, dashStyle: SOLID, hoverStyle: { width: 3, hatching: { direction: NONE }, highlight: false }, selectionStyle: { width: 3 } }, fullstackedspline: { width: 2, dashStyle: SOLID, hoverStyle: { width: 3, hatching: { direction: NONE }, highlight: false }, selectionStyle: { width: 3 } }, stepline: { width: 2, dashStyle: SOLID, hoverStyle: { width: 3, hatching: { direction: NONE }, highlight: false }, selectionStyle: { width: 3 } }, area: { point: { visible: false }, opacity: .5 }, stackedarea: { point: { visible: false }, opacity: .5 }, fullstackedarea: { point: { visible: false }, opacity: .5 }, fullstackedsplinearea: { point: { visible: false }, opacity: .5 }, steparea: { border: { visible: true, width: 2 }, point: { visible: false }, hoverStyle: { border: { visible: true, width: 3 } }, selectionStyle: { border: { visible: true, width: 3 } }, opacity: .5 }, spline: { width: 2, hoverStyle: { width: 3, hatching: { direction: NONE }, highlight: false }, selectionStyle: { width: 3 } }, splinearea: { point: { visible: false }, opacity: .5 }, stackedsplinearea: { point: { visible: false }, opacity: .5 }, bar: { cornerRadius: 0, point: { hoverStyle: { border: { visible: false } }, selectionStyle: { border: { visible: false } } } }, stackedbar: { cornerRadius: 0, point: { hoverStyle: { border: { visible: false } }, selectionStyle: { border: { visible: false } } }, label: { position: "inside" } }, fullstackedbar: { cornerRadius: 0, point: { hoverStyle: { border: { visible: false } }, selectionStyle: { border: { visible: false } } }, label: { position: "inside" } }, rangebar: { cornerRadius: 0, point: { hoverStyle: { border: { visible: false } }, selectionStyle: { border: { visible: false } } } }, rangearea: { point: { visible: false }, opacity: .5 }, rangesplinearea: { point: { visible: false }, opacity: .5 }, bubble: { opacity: .5, point: { hoverStyle: { border: { visible: false } }, selectionStyle: { border: { visible: false } } } }, candlestick: { width: 1, reduction: { color: RED }, hoverStyle: { width: 3, hatching: { direction: NONE }, highlight: false }, selectionStyle: { width: 3, highlight: false }, point: { border: { visible: true } } }, stock: { width: 1, reduction: { color: RED }, hoverStyle: { width: 3, hatching: { direction: NONE }, highlight: false }, selectionStyle: { width: 3, highlight: false }, point: { border: { visible: true } } } }, crosshair: { enabled: false, color: "#f05b41", width: 1, dashStyle: SOLID, label: { visible: false, font: { color: WHITE, size: 12 } }, verticalLine: { visible: true }, horizontalLine: { visible: true } }, commonAxisSettings: { multipleAxesSpacing: 5, forceUserTickInterval: false, breakStyle: { width: 5, color: "#ababab", line: "waved" }, label: { displayMode: "standard", overlappingBehavior: "hide", indentFromAxis: 10, wordWrap: "normal", textOverflow: "none" }, title: { font: { size: 16 }, margin: 6, alignment: CENTER }, constantLineStyle: { paddingLeftRight: 10, paddingTopBottom: 10 } }, horizontalAxis: { position: "bottom", axisDivisionFactor: 70, label: { rotationAngle: 90, staggeringSpacing: 5, alignment: CENTER }, stripStyle: { label: { horizontalAlignment: CENTER, verticalAlignment: TOP } }, constantLineStyle: { label: { horizontalAlignment: RIGHT, verticalAlignment: TOP } }, constantLines: [] }, verticalAxis: { position: LEFT, axisDivisionFactor: 40, label: { alignment: RIGHT }, stripStyle: { label: { horizontalAlignment: LEFT, verticalAlignment: CENTER } }, constantLineStyle: { label: { horizontalAlignment: LEFT, verticalAlignment: TOP } }, constantLines: [] }, argumentAxis: { endOnTick: false, aggregateByCategory: true, workWeek: [1, 2, 3, 4, 5] }, valueAxis: { grid: { visible: true }, autoBreaksEnabled: false, maxAutoBreakCount: 4 }, commonPaneSettings: { backgroundColor: NONE, border: { color: "#d3d3d3", width: 1, visible: false, top: true, bottom: true, left: true, right: true, dashStyle: SOLID } }, scrollBar: { visible: false, offset: 5, color: "gray", width: 10 }, adjustOnZoom: true, autoHidePointMarkers: true, rotated: false, synchronizeMultiAxes: true, stickyHovering: true, barGroupPadding: .3, minBubbleSize: 12, maxBubbleSize: .2, zoomAndPan: { dragBoxStyle: { color: "#2a2a2a", opacity: .2 }, panKey: "shift", allowMouseWheel: true, allowTouchGestures: true } }, pie: { innerRadius: .5, minDiameter: .5, type: "pie", dataPrepareSettings: { _skipArgumentSorting: true }, commonSeriesSettings: { pie: { border: { visible: false, width: 2, color: WHITE }, hoverStyle: { hatching: { direction: RIGHT, width: 4, step: 10, opacity: .75 }, highlight: true, border: { visible: false, width: 2 } }, selectionStyle: { hatching: { direction: RIGHT, width: 4, step: 10, opacity: .5 }, highlight: true, border: { visible: false, width: 2 } } }, doughnut: { border: { visible: false, width: 2, color: WHITE }, hoverStyle: { hatching: { direction: RIGHT, width: 4, step: 10, opacity: .75 }, highlight: true, border: { visible: false, width: 2 } }, selectionStyle: { hatching: { direction: RIGHT, width: 4, step: 10, opacity: .5 }, highlight: true, border: { visible: false, width: 2 } } }, donut: { border: { visible: false, width: 2, color: WHITE }, hoverStyle: { hatching: { direction: RIGHT, width: 4, step: 10, opacity: .75 }, highlight: true, border: { visible: false, width: 2 } }, selectionStyle: { hatching: { direction: RIGHT, width: 4, step: 10, opacity: .5 }, highlight: true, border: { visible: false, width: 2 } } }, label: { textOverflow: "ellipsis", wordWrap: "normal" } }, legend: { hoverMode: "allArgumentPoints", backgroundColor: NONE }, adaptiveLayout: { keepLabels: false } }, gauge: { scale: { tick: { visible: true, length: 5, width: 2, opacity: 1 }, minorTick: { visible: false, length: 3, width: 1, opacity: 1 }, label: { visible: true, alignment: CENTER, hideFirstOrLast: "last", overlappingBehavior: "hide" }, position: TOP, endOnTick: false }, rangeContainer: { offset: 0, width: 5, backgroundColor: "#808080" }, valueIndicators: { _default: { color: "#c2c2c2" }, rangebar: { space: 2, size: 10, color: "#cbc5cf", backgroundColor: NONE, text: { indent: 0, font: { size: 14, color: null } } }, twocolorneedle: { secondColor: "#e18e92" }, trianglemarker: { space: 2, length: 14, width: 13, color: "#8798a5" }, textcloud: { arrowLength: 5, horizontalOffset: 6, verticalOffset: 3, color: "#679ec5", text: { font: { color: WHITE, size: 18 } } } }, indicator: { hasPositiveMeaning: true, layout: { horizontalAlignment: CENTER, verticalAlignment: "bottom" }, text: { font: { size: 18 } } }, _circular: { scale: { scaleDivisionFactor: 17, orientation: "outside", label: { indentFromTick: 10 } }, rangeContainer: { orientation: "outside" }, valueIndicatorType: "rectangleneedle", subvalueIndicatorType: "trianglemarker", valueIndicators: { _type: "rectangleneedle", _default: { offset: 20, indentFromCenter: 0, width: 2, spindleSize: 14, spindleGapSize: 10, beginAdaptingAtRadius: 50 }, triangleneedle: { width: 4 }, twocolorneedle: { space: 2, secondFraction: .4 }, rangebar: { offset: 30 }, trianglemarker: { offset: 6 }, textcloud: { offset: -6 } } }, _linear: { scale: { scaleDivisionFactor: 25, horizontalOrientation: RIGHT, verticalOrientation: "bottom", label: { indentFromTick: -10 } }, rangeContainer: { horizontalOrientation: RIGHT, verticalOrientation: "bottom" }, valueIndicatorType: "rangebar", subvalueIndicatorType: "trianglemarker", valueIndicators: { _type: "rectangle", _default: { offset: 2.5, length: 15, width: 15 }, rectangle: { width: 10 }, rangebar: { offset: 10, horizontalOrientation: RIGHT, verticalOrientation: "bottom" }, trianglemarker: { offset: 10, horizontalOrientation: LEFT, verticalOrientation: TOP }, textcloud: { offset: -1, horizontalOrientation: LEFT, verticalOrientation: TOP } } } }, barGauge: { backgroundColor: "#e0e0e0", relativeInnerRadius: .3, barSpacing: 4, resolveLabelOverlapping: "hide", label: { indent: 20, connectorWidth: 2, font: { size: 16 } }, legend: { visible: false }, indicator: { hasPositiveMeaning: true, layout: { horizontalAlignment: CENTER, verticalAlignment: "bottom" }, text: { font: { size: 18 } } } }, rangeSelector: { scale: { valueMarginsEnabled: true, width: 1, color: BLACK, opacity: .1, showCustomBoundaryTicks: true, aggregateByCategory: true, label: { overlappingBehavior: "hide", alignment: CENTER, visible: true, topIndent: 7, font: { size: 11 } }, tick: { width: 1, color: BLACK, opacity: .17, visible: true, length: 12 }, minorTick: { width: 1, color: BLACK, opacity: .05, visible: true, length: 12 }, marker: { width: 1, color: "#000000", opacity: .1, visible: true, separatorHeight: 33, topIndent: 10, textLeftIndent: 7, textTopIndent: 11, label: {} }, logarithmBase: 10, workWeek: [1, 2, 3, 4, 5], breakStyle: { width: 5, color: "#ababab", line: "waved" }, endOnTick: false }, selectedRangeColor: "#606060", sliderMarker: { visible: true, paddingTopBottom: 2, paddingLeftRight: 4, color: "#606060", invalidRangeColor: RED, font: { color: WHITE, size: 11 } }, sliderHandle: { width: 1, color: BLACK, opacity: .2 }, shutter: { opacity: .75 }, background: { color: "#c0bae1", visible: true, image: { location: "full" } }, behavior: { snapToTicks: true, animationEnabled: true, moveSelectedRangeByClick: true, manualRangeSelectionEnabled: true, allowSlidersSwap: true, valueChangeMode: "onHandleRelease" }, redrawOnResize: true, chart: { barGroupPadding: .3, minBubbleSize: 12, maxBubbleSize: .2, topIndent: .1, bottomIndent: 0, valueAxis: { inverted: false, logarithmBase: 10 }, commonSeriesSettings: { type: "area", aggregation: { enabled: void 0 }, point: { visible: false }, scatter: { point: { visible: true } } } } }, map: { title: { margin: 10 }, background: { borderWidth: 1, borderColor: "#cacaca" }, layer: { label: { enabled: false, stroke: WHITE, "stroke-width": 1, "stroke-opacity": .7, font: { color: "#2b2b2b", size: 12 } } }, "layer:area": { borderWidth: 1, borderColor: WHITE, color: "#d2d2d2", hoveredBorderColor: "#303030", selectedBorderWidth: 2, selectedBorderColor: "#303030", label: { "stroke-width": 2, font: { size: 16 } } }, "layer:line": { borderWidth: 2, color: "#ba8365", hoveredColor: "#a94813", selectedBorderWidth: 3, selectedColor: "#e55100", label: { "stroke-width": 2, font: { size: 16 } } }, "layer:marker": { label: { enabled: true, "stroke-width": 1, font: { size: 12 } } }, "layer:marker:dot": { borderWidth: 2, borderColor: WHITE, size: 8, selectedStep: 2, backStep: 18, backColor: WHITE, backOpacity: .32, shadow: true }, "layer:marker:bubble": { minSize: 20, maxSize: 50, hoveredBorderWidth: 1, hoveredBorderColor: "#303030", selectedBorderWidth: 2, selectedBorderColor: "#303030" }, "layer:marker:pie": { size: 50, hoveredBorderWidth: 1, hoveredBorderColor: "#303030", selectedBorderWidth: 2, selectedBorderColor: "#303030" }, "layer:marker:image": { size: 20 }, legend: { verticalAlignment: "bottom", horizontalAlignment: RIGHT, position: "inside", backgroundOpacity: .65, border: { visible: true }, paddingLeftRight: 16, paddingTopBottom: 12 }, controlBar: { borderColor: "#5d5d5d", borderWidth: 3, color: WHITE, margin: 20, opacity: .3 }, _rtl: { legend: { itemTextPosition: LEFT } } }, treeMap: { tile: { border: { width: 1, opacity: .2, color: "#000000" }, color: "#5f8b95", hoverStyle: { hatching: { opacity: .75, step: 6, width: 2, direction: "right" }, border: {} }, selectionStyle: { hatching: { opacity: .5, step: 6, width: 2, direction: "right" }, border: { opacity: 1 } }, label: { visible: true, paddingLeftRight: 5, paddingTopBottom: 4, font: { color: "#ffffff", weight: 600 }, shadow: { opacity: .6, offsetX: 0, offsetY: 1, blur: 2, color: "#000000" }, wordWrap: "normal", textOverflow: "ellipsis" } }, group: { padding: 4, border: { width: 1 }, color: "#eeeeee", hoverStyle: { hatching: { opacity: 0, step: 6, width: 2, direction: "right" }, border: {} }, selectionStyle: { hatching: { opacity: 0, step: 6, width: 2, direction: "right" }, border: {} }, label: { visible: true, paddingLeftRight: 5, paddingTopBottom: 4, font: { color: "#767676", weight: 600 }, textOverflow: "ellipsis" } }, title: { subtitle: {} }, tooltip: {}, loadingIndicator: {} }, sparkline: { lineColor: "#666666", lineWidth: 2, areaOpacity: .2, minColor: "#e8c267", maxColor: "#e55253", barPositiveColor: "#a9a9a9", barNegativeColor: "#d7d7d7", winColor: "#a9a9a9", lossColor: "#d7d7d7", firstLastColor: "#666666", pointSymbol: "circle", pointColor: WHITE, pointSize: 4, type: "line", argumentField: "arg", valueField: "val", winlossThreshold: 0, showFirstLast: true, showMinMax: false, tooltip: { enabled: true } }, bullet: { color: "#e8c267", targetColor: "#666666", targetWidth: 4, showTarget: true, showZeroLevel: true, tooltip: { enabled: true } }, polar: { commonSeriesSettings: { type: "scatter", closed: true, point: { visible: true, symbol: "circle", size: 12, border: { visible: false, width: 1 }, hoverMode: "onlyPoint", selectionMode: "onlyPoint", hoverStyle: { border: { visible: true, width: 4 }, size: 12 }, selectionStyle: { border: { visible: true, width: 4 }, size: 12 } }, scatter: {}, line: { width: 2, dashStyle: SOLID, hoverStyle: { width: 3, hatching: { direction: NONE } }, selectionStyle: { width: 3 } }, area: { point: { visible: false }, opacity: .5 }, stackedline: { width: 2 }, bar: { opacity: .8 }, stackedbar: { opacity: .8 } }, adaptiveLayout: { width: 80, height: 80, keepLabels: true }, barGroupPadding: .3, commonAxisSettings: { visible: true, forceUserTickInterval: false, label: { overlappingBehavior: "hide", indentFromAxis: 5 }, grid: { visible: true }, minorGrid: { visible: true }, tick: { visible: true }, title: { font: { size: 16 }, margin: 10 } }, argumentAxis: { startAngle: 0, firstPointOnStartAngle: false, period: void 0 }, valueAxis: { endOnTick: false, tick: { visible: false } }, horizontalAxis: { position: TOP, axisDivisionFactor: 50, label: { alignment: CENTER } }, verticalAxis: { position: TOP, axisDivisionFactor: 30, label: { alignment: RIGHT } } }, funnel: { sortData: true, valueField: "val", colorField: "color", argumentField: "arg", hoverEnabled: true, selectionMode: "single", item: { border: { visible: false, width: 2, color: WHITE }, hoverStyle: { hatching: { opacity: .75, step: 6, width: 2, direction: RIGHT }, border: {} }, selectionStyle: { hatching: { opacity: .5, step: 6, width: 2, direction: RIGHT }, border: {} } }, title: { margin: 10 }, adaptiveLayout: { width: 80, height: 80, keepLabels: true }, legend: { visible: false }, _rtl: { legend: { itemTextPosition: LEFT } }, tooltip: { customizeTooltip: function(info) { return { text: info.item.argument + " " + info.valueText } } }, inverted: false, algorithm: "dynamicSlope", neckWidth: 0, neckHeight: 0, resolveLabelOverlapping: "shift", label: { textOverflow: "ellipsis", wordWrap: "normal", visible: true, horizontalAlignment: RIGHT, horizontalOffset: 0, verticalOffset: 0, showForZeroValues: false, customizeText: function(info) { return info.item.argument + " " + info.valueText }, position: "columns", font: { color: WHITE }, border: { visible: false, width: 1, color: "#d3d3d3", dashStyle: SOLID }, connector: { visible: true, width: 1, opacity: .5 } } }, sankey: { sourceField: "source", targetField: "target", weightField: "weight", hoverEnabled: true, alignment: CENTER, adaptiveLayout: { width: 80, height: 80, keepLabels: true }, label: { visible: true, horizontalOffset: 8, verticalOffset: 0, overlappingBehavior: "ellipsis", useNodeColors: false, font: { color: BLACK, weight: 500 }, border: { visible: false, width: 2, color: WHITE }, customizeText: function(info) { return info.title }, shadow: { opacity: .2, offsetX: 0, offsetY: 1, blur: 1, color: WHITE } }, title: { margin: 10, font: { size: 28, weight: 200 }, subtitle: { font: { size: 16 } } }, tooltip: { enabled: true }, node: { padding: 30, width: 8, opacity: 1, border: { color: WHITE, width: 1, visible: false }, hoverStyle: { hatching: { opacity: .75, step: 6, width: 2, direction: RIGHT }, border: {} } }, link: { color: "#888888", colorMode: "none", opacity: .3, border: { color: WHITE, width: 1, visible: false }, hoverStyle: { opacity: .5, hatching: { opacity: .75, step: 6, width: 2, direction: RIGHT }, border: {} } } } }, baseThemeName: void 0 }, { theme: { name: "generic.light.compact" }, baseThemeName: "generic.light" }]; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 60350: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/themes/generic.softblue.js ***! \*********************************************************************************/ function(module, exports) { exports.default = void 0; var _default = [{ theme: { name: "generic.softblue", defaultPalette: "Soft Blue", backgroundColor: "#fff", primaryTitleColor: "#333", secondaryTitleColor: "#99a1a8", gridColor: "#e8eaeb", axisColor: "#707070", export: { backgroundColor: "#fff", font: { color: "#333" }, button: { default: { color: "#333", borderColor: "#c9d0d4", backgroundColor: "#fff" }, hover: { color: "#333", borderColor: "#a7b2b9", backgroundColor: "#e6e6e6" }, focus: { color: "#333", borderColor: "#82929b", backgroundColor: "#e6e6e6" }, active: { color: "#333", borderColor: "#82929b", backgroundColor: "#d4d4d4" } } }, legend: { font: { color: "#707070" } }, tooltip: { color: "#fff", border: { color: "#e8eaeb" }, font: { color: "#333" } }, "chart:common": { commonSeriesSettings: { label: { border: { color: "#e8eaeb" } } } }, "chart:common:annotation": { color: "#fff", border: { color: "#e8eaeb" }, font: { color: "#333" } }, chart: { commonPaneSettings: { border: { color: "#e8eaeb" } }, commonAxisSettings: { breakStyle: { color: "#cfd2d3" } } }, rangeSelector: { scale: { breakStyle: { color: "#cfd2d3" }, tick: { opacity: .12 } }, selectedRangeColor: "#7ab8eb", sliderMarker: { color: "#7ab8eb" }, sliderHandle: { color: "#7ab8eb", opacity: .5 } }, sparkline: { pointColor: "#fff", minColor: "#f0ad4e", maxColor: "#d9534f" }, treeMap: { group: { color: "#e8eaeb", label: { font: { color: "#99a1a8" } } } }, bullet: { color: "#7ab8eb" }, gauge: { valueIndicators: { rangebar: { color: "#7ab8eb" }, textcloud: { color: "#7ab8eb" } } } }, baseThemeName: "generic.light" }, { theme: { name: "generic.softblue.compact" }, baseThemeName: "generic.softblue" }]; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 11239: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/themes/material.js ***! \*************************************************************************/ function(module, exports) { exports.default = void 0; var FONT_FAMILY = "'Roboto', 'RobotoFallback', 'Helvetica', 'Arial', sans-serif"; var WHITE = "#ffffff"; var themes = [{ theme: { name: "material", defaultPalette: "Material", font: { family: FONT_FAMILY }, title: { margin: { top: 20, bottom: 20, left: 0, right: 0 }, font: { size: 20, family: FONT_FAMILY, weight: 500 }, horizontalAlignment: "left", subtitle: { font: { size: 14 }, horizontalAlignment: "left" } }, tooltip: { shadow: { opacity: 0 }, border: { visible: false }, paddingLeftRight: 8, paddingTopBottom: 6, arrowLength: 0, location: "edge", color: "#616161", font: { color: WHITE }, cornerRadius: 4 }, chart: { commonAxisSettings: { minorTick: { opacity: .5 }, label: { font: { size: 11 } } }, commonAnnotationSettings: { font: { color: WHITE }, border: { color: "#616161" }, color: "#616161", arrowLength: 14, arrowWidth: 0, shadow: { opacity: .08, offsetY: 4, blur: 8 }, cornerRadius: 4 } }, pie: { title: { horizontalAlignment: "center", subtitle: { horizontalAlignment: "center" } } }, polar: { commonAxisSettings: { minorTick: { opacity: .5 } }, title: { horizontalAlignment: "center", subtitle: { horizontalAlignment: "center" } } }, funnel: { title: { horizontalAlignment: "center", subtitle: { horizontalAlignment: "center" } } }, gauge: { title: { horizontalAlignment: "center", subtitle: { horizontalAlignment: "center" } } }, barGauge: { title: { horizontalAlignment: "center", subtitle: { horizontalAlignment: "center" } } }, rangeSelector: { sliderHandle: { opacity: .5 } }, treeMap: { group: { label: { font: { weight: 500 } } } } }, baseThemeName: "generic.light" }, { theme: { name: "material.light", gridColor: "#e0e0e0", axisColor: "rgba(0,0,0,0.54)", primaryTitleColor: "rgba(0,0,0,0.87)", legend: { font: { color: "rgba(0,0,0,0.54)" } }, chart: { scrollBar: { color: "#bfbfbf", opacity: .7 } }, gauge: { rangeContainer: { backgroundColor: "rgba(0,0,0,0.2)" } }, barGauge: { backgroundColor: "#efefef" } }, baseThemeName: "material" }, { theme: { name: "material.dark", gridColor: "#515159", backgroundColor: "#363640", axisColor: "rgba(255,255,255,0.54)", font: { color: "rgba(255,255,255,0.54)" }, primaryTitleColor: "rgba(255,255,255,0.87)", secondaryTitleColor: "rgba(255,255,255,0.87)", tooltip: { color: "#000" }, export: { backgroundColor: "#363640", font: { color: "#dbdbdb" }, button: { default: { color: "#dedede", borderColor: "#4d4d4d", backgroundColor: "#363640" }, hover: { color: "#dedede", borderColor: "#6c6c6c", backgroundColor: "#3f3f4b" }, focus: { color: "#dedede", borderColor: "#8d8d8d", backgroundColor: "#494956" }, active: { color: "#dedede", borderColor: "#8d8d8d", backgroundColor: "#494956" } }, shadowColor: "#292929" }, "chart:common": { commonSeriesSettings: { label: { border: { color: "#494949" } }, valueErrorBar: { color: WHITE } } }, "chart:common:axis": { constantLineStyle: { color: WHITE } }, "chart:common:annotation": { border: { color: "#000" }, color: "#000" }, chart: { commonPaneSettings: { border: { color: "#494949" } }, commonAxisSettings: { breakStyle: { color: "#818181" } }, zoomAndPan: { dragBoxStyle: { color: WHITE } } }, gauge: { rangeContainer: { backgroundColor: "#b5b5b5" }, valueIndicators: { _default: { color: "#b5b5b5" }, rangebar: { color: "#84788b" }, twocolorneedle: { secondColor: "#ba544d" }, trianglemarker: { color: "#b7918f" }, textcloud: { color: "#ba544d" } } }, barGauge: { backgroundColor: "#3c3c3c" }, rangeSelector: { scale: { tick: { color: WHITE, opacity: .32 }, minorTick: { color: WHITE, opacity: .1 }, breakStyle: { color: "#818181" } }, selectedRangeColor: "#b5b5b5", sliderMarker: { color: "#b5b5b5", font: { color: "#363640" } }, sliderHandle: { color: WHITE, opacity: .2 }, shutter: { color: WHITE, opacity: .1 } }, map: { background: { borderColor: "#3f3f3f" }, layer: { label: { stroke: "#000000", font: { color: WHITE } } }, "layer:area": { borderColor: "#363640", color: "#686868", hoveredBorderColor: WHITE, selectedBorderColor: WHITE }, "layer:line": { color: "#c77244", hoveredColor: "#ff5d04", selectedColor: "#ff784f" }, "layer:marker:bubble": { hoveredBorderColor: WHITE, selectedBorderColor: WHITE }, "layer:marker:pie": { hoveredBorderColor: WHITE, selectedBorderColor: WHITE }, legend: { border: { color: "#3f3f3f" }, font: { color: WHITE } }, controlBar: { borderColor: "#c7c7c7", color: "#363640" } }, treeMap: { group: { color: "#4c4c4c", label: { font: { color: "#a3a3a3" } } } }, sparkline: { lineColor: "#c7c7c7", firstLastColor: "#c7c7c7", barPositiveColor: "#b8b8b8", barNegativeColor: "#8e8e8e", winColor: "#b8b8b8", lossColor: "#8e8e8e", pointColor: "#363640" }, bullet: { targetColor: "#8e8e8e" }, funnel: { item: { border: { color: "#363640" } } }, sankey: { label: { font: { color: WHITE } } } }, baseThemeName: "material" }]; function getMaterialColorScheme(accentName, themeName, accentColor) { return { theme: { name: "material." + accentName + "." + themeName, rangeSelector: { selectedRangeColor: accentColor, sliderMarker: { color: accentColor }, sliderHandle: { color: accentColor } }, map: { "layer:marker:dot": { color: accentColor }, "layer:marker:bubble": { color: accentColor }, legend: { markerColor: accentColor } }, bullet: { color: accentColor }, gauge: { valueIndicators: { rangebar: { color: accentColor }, textcloud: { color: accentColor } } } }, baseThemeName: "material." + themeName } } var materialAccents = { blue: "#03a9f4", lime: "#cddc39", orange: "#ff5722", purple: "#9c27b0", teal: "#009688" }; for (var accent in materialAccents) { if (Object.prototype.hasOwnProperty.call(materialAccents, accent)) { var color = materialAccents[accent]; themes.push(getMaterialColorScheme(accent, "light", color), getMaterialColorScheme(accent, "dark", color), { theme: { name: "material.".concat(accent, ".light.compact") }, baseThemeName: "material.".concat(accent, ".light") }, { theme: { name: "material.".concat(accent, ".dark.compact") }, baseThemeName: "material.".concat(accent, ".dark") }) } } var _default = themes; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 17384: /*!***************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/title.js ***! \***************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.plugin = exports.Title = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _utils = __webpack_require__( /*! ./utils */ 19157); var _layout_element = __webpack_require__( /*! ./layout_element */ 73711); var _Number = Number; var parseHorizontalAlignment = (0, _utils.enumParser)(["left", "center", "right"]); var parseVerticalAlignment = (0, _utils.enumParser)(["top", "bottom"]); function hasText(text) { return !!(text && String(text).length > 0) } function processTitleLength(elem, text, width, options, placeholderSize) { if (elem.attr({ text: text }).setMaxSize(width, placeholderSize, options).textChanged) { elem.setTitle(text) } } function pickMarginValue(value) { return value >= 0 ? _Number(value) : 10 } var Title = function(params) { this._params = params; this._group = params.renderer.g().attr({ class: params.cssClass }).linkOn(params.root || params.renderer.root, "title"); this._hasText = false }; exports.Title = Title; (0, _extend.extend)(Title.prototype, _layout_element.LayoutElement.prototype, { dispose: function() { this._group.linkRemove(); this._group.linkOff(); if (this._titleElement) { this._clipRect.dispose(); this._titleElement = this._subtitleElement = this._clipRect = null } this._params = this._group = this._options = null }, _updateOptions: function(options) { this._options = options; this._options.horizontalAlignment = parseHorizontalAlignment(options.horizontalAlignment, "center"); this._options.verticalAlignment = parseVerticalAlignment(options.verticalAlignment, "top"); this._options.margin = function(margin) { var result; if (margin >= 0) { result = { left: _Number(margin), top: _Number(margin), right: _Number(margin), bottom: _Number(margin) } } else { margin = margin || {}; result = { left: pickMarginValue(margin.left), top: pickMarginValue(margin.top), right: pickMarginValue(margin.right), bottom: pickMarginValue(margin.bottom) } } return result }(options.margin) }, _updateStructure: function() { var renderer = this._params.renderer; var group = this._group; var options = this._options; var align = options.horizontalAlignment; if (!this._titleElement) { this._titleElement = renderer.text().append(group); this._subtitleElement = renderer.text(); this._clipRect = renderer.clipRect(); group.attr({ "clip-path": this._clipRect.id }) } this._titleElement.attr({ align: align, class: options.cssClass }); this._subtitleElement.attr({ align: align, class: options.subtitle.cssClass }); group.linkAppend(); hasText(options.subtitle.text) ? this._subtitleElement.append(group) : this._subtitleElement.remove() }, _updateTexts: function() { var options = this._options; var subtitleOptions = options.subtitle; var titleElement = this._titleElement; var subtitleElement = this._subtitleElement; var titleBox; titleElement.attr({ text: "A", y: 0 }).css((0, _utils.patchFontOptions)(options.font)); titleBox = titleElement.getBBox(); this._baseLineCorrection = titleBox.height + titleBox.y; titleElement.attr({ text: options.text }); titleBox = titleElement.getBBox(); var y = -titleBox.y; titleElement.attr({ y: y }); if (hasText(subtitleOptions.text)) { subtitleElement.attr({ text: subtitleOptions.text, y: 0 }).css((0, _utils.patchFontOptions)(subtitleOptions.font)) } }, _shiftSubtitle: function() { var titleBox = this._titleElement.getBBox(); var element = this._subtitleElement; var offset = this._options.subtitle.offset; element.move(0, titleBox.y + titleBox.height - element.getBBox().y - offset) }, _updateBoundingRectAlignment: function() { var boundingRect = this._boundingRect; var options = this._options; boundingRect.verticalAlignment = options.verticalAlignment; boundingRect.horizontalAlignment = options.horizontalAlignment; boundingRect.cutLayoutSide = options.verticalAlignment; boundingRect.cutSide = "vertical"; boundingRect.position = { horizontal: options.horizontalAlignment, vertical: options.verticalAlignment } }, hasText: function() { return this._hasText }, update: function(themeOptions, userOptions) { var options = (0, _extend.extend)(true, {}, themeOptions, function(options) { var newOptions = (0, _type.isString)(options) ? { text: options } : options || {}; newOptions.subtitle = (0, _type.isString)(newOptions.subtitle) ? { text: newOptions.subtitle } : newOptions.subtitle || {}; return newOptions }(userOptions)); var _hasText = hasText(options.text); var isLayoutChanged = _hasText || _hasText !== this._hasText; this._baseLineCorrection = 0; this._updateOptions(options); this._boundingRect = {}; if (_hasText) { this._updateStructure(); this._updateTexts() } else { this._group.linkRemove() } this._updateBoundingRect(); this._updateBoundingRectAlignment(); this._hasText = _hasText; return isLayoutChanged }, draw: function(width, height) { if (this._hasText) { this._group.linkAppend(); this._correctTitleLength(width); if (this._group.getBBox().height > height) { this.freeSpace() } } return this }, _correctTitleLength: function(width) { var options = this._options; var margin = options.margin; var maxWidth = width - margin.left - margin.right; var placeholderSize = options.placeholderSize; processTitleLength(this._titleElement, options.text, maxWidth, options, placeholderSize); if (this._subtitleElement) { if (_Number(placeholderSize) > 0) { placeholderSize -= this._titleElement.getBBox().height } processTitleLength(this._subtitleElement, options.subtitle.text, maxWidth, options.subtitle, placeholderSize); this._shiftSubtitle() } this._updateBoundingRect(); var _this$getCorrectedLay = this.getCorrectedLayoutOptions(), x = _this$getCorrectedLay.x, y = _this$getCorrectedLay.y, height = _this$getCorrectedLay.height; this._clipRect.attr({ x: x, y: y, width: width, height: height }) }, getLayoutOptions: function() { return this._boundingRect || null }, shift: function(x, y) { var box = this.getLayoutOptions(); this._group.move(x - box.x, y - box.y); return this }, _updateBoundingRect: function() { var options = this._options; var margin = options.margin; var boundingRect = this._boundingRect; var box = this._hasText ? this._group.getBBox() : { width: 0, height: 0, x: 0, y: 0, isEmpty: true }; if (!box.isEmpty) { box.height += margin.top + margin.bottom - this._baseLineCorrection; box.width += margin.left + margin.right; box.x -= margin.left; box.y += this._baseLineCorrection - margin.top } if (options.placeholderSize > 0) { box.height = options.placeholderSize } boundingRect.height = box.height; boundingRect.width = box.width; boundingRect.x = box.x; boundingRect.y = box.y }, getCorrectedLayoutOptions: function() { var srcBox = this.getLayoutOptions(); var correction = this._baseLineCorrection; return (0, _extend.extend)({}, srcBox, { y: srcBox.y - correction, height: srcBox.height + correction }) }, layoutOptions: function() { if (!this._hasText) { return null } return { horizontalAlignment: this._boundingRect.horizontalAlignment, verticalAlignment: this._boundingRect.verticalAlignment, priority: 0 } }, measure: function(size) { this.draw(size[0], size[1]); return [this._boundingRect.width, this._boundingRect.height] }, move: function(rect, fitRect) { var boundingRect = this._boundingRect; if (function(rect, boundingRect) { return rect[2] - rect[0] < boundingRect.width || rect[3] - rect[1] < boundingRect.height }(rect, boundingRect)) { this.shift(fitRect[0], fitRect[1]) } else { this.shift(Math.round(rect[0]), Math.round(rect[1])) } }, freeSpace: function() { this._params.incidentOccurred("W2103"); this._group.linkRemove(); this._boundingRect.width = this._boundingRect.height = 0 }, getOptions: function() { return this._options }, changeLink: function(root) { this._group.linkRemove(); this._group.linkOn(root, "title") } }); var plugin = { name: "title", init: function() { this._title = new Title({ renderer: this._renderer, cssClass: this._rootClassPrefix + "-title", incidentOccurred: this._incidentOccurred }); this._layout.add(this._title) }, dispose: function() { this._title.dispose(); this._title = null }, customize: function(constructor) { constructor.addChange({ code: "TITLE", handler: function() { if (this._title.update(this._themeManager.theme("title"), this.option("title"))) { this._change(["LAYOUT"]) } }, isThemeDependent: true, option: "title", isOptionChange: true }) }, fontFields: ["title.font", "title.subtitle.font"] }; exports.plugin = plugin }, 14371: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/tooltip.js ***! \*****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.plugin = exports.Tooltip = void 0; var _size = __webpack_require__( /*! ../../core/utils/size */ 58664); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _dom = __webpack_require__( /*! ../../core/utils/dom */ 3532); var _inflector = __webpack_require__( /*! ../../core/utils/inflector */ 78008); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _renderer2 = __webpack_require__( /*! ./renderers/renderer */ 56453); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _utils = __webpack_require__( /*! ./utils */ 19157); var _format_helper = _interopRequireDefault(__webpack_require__( /*! ../../format_helper */ 30343)); var _plaque = __webpack_require__( /*! ./plaque */ 64509); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var format = _format_helper.default.format; var mathCeil = Math.ceil; var mathMax = Math.max; var mathMin = Math.min; var window = (0, _window.getWindow)(); function hideElement($element) { $element.css({ left: "-9999px" }).detach() } function createTextHtml() { return (0, _renderer.default)("<div>").css({ position: "relative", display: "inline-block", padding: 0, margin: 0, border: "0px solid transparent" }) } var Tooltip = function(params) { this._eventTrigger = params.eventTrigger; this._widgetRoot = params.widgetRoot; this._widget = params.widget; this._textHtmlContainers = []; this._wrapper = (0, _renderer.default)("<div>").css({ position: "absolute", overflow: "hidden", pointerEvents: "none" }).addClass(params.cssClass); var renderer = this._renderer = new _renderer2.Renderer({ pathModified: params.pathModified, container: this._wrapper[0] }); var root = renderer.root; root.attr({ "pointer-events": "none" }); this._text = renderer.text(void 0, 0, 0); this._textGroupHtml = (0, _renderer.default)("<div>").css({ position: "absolute", padding: 0, margin: 0, border: "0px solid transparent" }).appendTo(this._wrapper); this._textHtml = createTextHtml().appendTo(this._textGroupHtml) }; exports.Tooltip = Tooltip; Tooltip.prototype = { constructor: Tooltip, dispose: function() { this._wrapper.remove(); this._renderer.dispose(); this._options = this._widgetRoot = null }, _getContainer: function() { var options = this._options; var container = (0, _renderer.default)(this._widgetRoot).closest(options.container); if (0 === container.length) { container = (0, _renderer.default)(options.container) } return (container.length ? container : (0, _renderer.default)("body")).get(0) }, setTemplate: function(contentTemplate) { this._template = contentTemplate ? this._widget._getTemplate(contentTemplate) : null }, setOptions: function(options) { var _this = this; options = options || {}; var that = this; that._options = options; that._textFontStyles = (0, _utils.patchFontOptions)(options.font); that._textFontStyles.color = that._textFontStyles.fill; that._wrapper.css({ zIndex: options.zIndex }); that._customizeTooltip = options.customizeTooltip; var textGroupHtml = that._textGroupHtml; if (this.plaque) { this.plaque.clear() } this.setTemplate(options.contentTemplate); var pointerEvents = options.interactive ? "auto" : "none"; if (options.interactive) { this._renderer.root.css({ "-ms-user-select": "auto", "-moz-user-select": "auto", "-webkit-user-select": "auto" }) } this.plaque = new _plaque.Plaque({ opacity: that._options.opacity, color: that._options.color, border: that._options.border, paddingLeftRight: that._options.paddingLeftRight, paddingTopBottom: that._options.paddingTopBottom, arrowLength: that._options.arrowLength, arrowWidth: 20, shadow: that._options.shadow, cornerRadius: that._options.cornerRadius }, that, that._renderer.root, (function(_ref) { var group = _ref.group, onRender = _ref.onRender, eventData = _ref.eventData, isMoving = _ref.isMoving, _ref$templateCallback = _ref.templateCallback, templateCallback = void 0 === _ref$templateCallback ? function() {} : _ref$templateCallback; var state = that._state; if (!isMoving) { var template = that._template; var useTemplate = template && !state.formatObject.skipTemplate; if (state.html || useTemplate) { textGroupHtml.css({ color: state.textColor, width: 3e3, pointerEvents: pointerEvents }); if (useTemplate) { var htmlContainers = that._textHtmlContainers; var containerToTemplateRender = createTextHtml().appendTo(that._textGroupHtml); htmlContainers.push(containerToTemplateRender); template.render({ model: state.formatObject, container: containerToTemplateRender, onRendered: function() { elements = htmlContainers.splice(0, htmlContainers.length - 1), void elements.forEach((function(el) { return el.remove() })); var elements; that._textHtml = (0, _dom.replaceWith)(that._textHtml, containerToTemplateRender); state.html = that._textHtml.html(); if (0 === (0, _size.getWidth)(that._textHtml) && 0 === (0, _size.getHeight)(that._textHtml)) { _this.plaque.clear(); templateCallback(false); return } onRender(); that._riseEvents(eventData); that._moveWrapper(); that.plaque.customizeCloud({ fill: state.color, stroke: state.borderColor, "pointer-events": pointerEvents }); templateCallback(true); that._textHtmlContainers = [] } }); return } else { that._text.attr({ text: "" }); that._textHtml.html(state.html) } } else { that._text.css({ fill: state.textColor }).attr({ text: state.text, class: options.cssClass, "pointer-events": pointerEvents }).append(group.attr({ align: options.textAlignment })) } that._riseEvents(eventData); that.plaque.customizeCloud({ fill: state.color, stroke: state.borderColor, "pointer-events": pointerEvents }) } onRender(); that._moveWrapper(); return true }), true, (function(tooltip, g) { var state = tooltip._state; if (state.html) { var bBox = window.getComputedStyle(that._textHtml.get(0)); bBox = { x: 0, y: 0, width: mathCeil(parseFloat(bBox.width)), height: mathCeil(parseFloat(bBox.height)) }; return bBox } return g.getBBox() }), (function(tooltip, g, x, y) { var state = tooltip._state; if (state.html) { that._textGroupHtml.css({ left: x, top: y }) } else { g.move(x, y) } })); return that }, _riseEvents: function(eventData) { this._eventData && this._eventTrigger("tooltipHidden", this._eventData); this._eventData = eventData; this._eventTrigger("tooltipShown", this._eventData) }, setRendererOptions: function(options) { this._renderer.setOptions(options); this._textGroupHtml.css({ direction: options.rtl ? "rtl" : "ltr" }); return this }, update: function(options) { this.setOptions(options); hideElement(this._wrapper); var normalizedCSS = {}; for (var name in this._textFontStyles) { normalizedCSS[(0, _inflector.camelize)(name)] = this._textFontStyles[name] } this._textGroupHtml.css(normalizedCSS); this._text.css(this._textFontStyles); this._eventData = null; return this }, _prepare: function(formatObject, state) { var customizeTooltip = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : this._customizeTooltip; var options = this._options; var customize = {}; if ((0, _type.isFunction)(customizeTooltip)) { customize = customizeTooltip.call(formatObject, formatObject); customize = (0, _type.isPlainObject)(customize) ? customize : {}; if ("text" in customize) { state.text = (0, _type.isDefined)(customize.text) ? String(customize.text) : "" } if ("html" in customize) { state.html = (0, _type.isDefined)(customize.html) ? String(customize.html) : "" } } if (!("text" in state) && !("html" in state)) { state.text = formatObject.valueText || formatObject.description || "" } state.color = customize.color || options.color; state.borderColor = customize.borderColor || (options.border || {}).color; state.textColor = customize.fontColor || (this._textFontStyles || {}).color; return !!state.text || !!state.html || !!this._template }, show: function(formatObject, params, eventData, customizeTooltip, templateCallback) { if (this._options.forceEvents) { eventData.x = params.x; eventData.y = params.y - params.offset; this._riseEvents(eventData); return true } var state = { formatObject: formatObject, eventData: eventData, templateCallback: templateCallback }; if (!this._prepare(formatObject, state, customizeTooltip)) { return false } this._state = state; this._wrapper.appendTo(this._getContainer()); this._clear(); var parameters = (0, _extend.extend)({}, this._options, { canvas: this._getCanvas() }, state, { x: params.x, y: params.y, offset: params.offset }); return this.plaque.clear().draw(parameters) }, isCursorOnTooltip: function(x, y) { if (this._options.interactive) { var box = this.plaque.getBBox(); return x > box.x && x < box.x + box.width && y > box.y && y < box.y + box.height } return false }, hide: function(isPointerOut) { hideElement(this._wrapper); if (this._eventData) { this._eventTrigger("tooltipHidden", this._options.forceEvents ? (0, _extend.extend)({ isPointerOut: isPointerOut }, this._eventData) : this._eventData); this._clear(); this._eventData = null } }, _clear: function() { this._textHtml.empty() }, move: function(x, y, offset) { this.plaque.draw({ x: x, y: y, offset: offset, canvas: this._getCanvas(), isMoving: true }) }, _moveWrapper: function() { var plaqueBBox = this.plaque.getBBox(); this._renderer.resize(plaqueBBox.width, plaqueBBox.height); var offset = this._wrapper.css({ left: 0, top: 0 }).offset(); var left = plaqueBBox.x; var top = plaqueBBox.y; this._wrapper.css({ left: left - offset.left, top: top - offset.top }); this.plaque.moveRoot(-left, -top); if (this._state.html) { this._textHtml.css({ left: -left, top: -top }); this._textGroupHtml.css({ width: mathCeil((0, _size.getWidth)(this._textHtml)) }) } }, formatValue: function(value, _specialFormat) { var options = _specialFormat ? function(options, specialFormat) { var result = options; switch (specialFormat) { case "argument": result = { format: options.argumentFormat }; break; case "percent": result = { format: { type: "percent", precision: options.format && options.format.percentPrecision } } } return result }(this._options, _specialFormat) : this._options; return format(value, options.format) }, getOptions: function() { return this._options }, getLocation: function() { return (0, _utils.normalizeEnum)(this._options.location) }, isEnabled: function() { return !!this._options.enabled || !!this._options.forceEvents }, isShared: function() { return !!this._options.shared }, _getCanvas: function() { var container = this._getContainer(); var containerBox = container.getBoundingClientRect(); var html = _dom_adapter.default.getDocumentElement(); var document = _dom_adapter.default.getDocument(); var left = window.pageXOffset || html.scrollLeft || 0; var top = window.pageYOffset || html.scrollTop || 0; var box = { left: left, top: top, width: mathMax(html.clientWidth, document.body.clientWidth) + left, height: mathMax(document.body.scrollHeight, html.scrollHeight, document.body.offsetHeight, html.offsetHeight, document.body.clientHeight, html.clientHeight), right: 0, bottom: 0 }; if (container !== _dom_adapter.default.getBody()) { left = mathMax(box.left, box.left + containerBox.left); top = mathMax(box.top, box.top + containerBox.top); box.width = mathMin(containerBox.width, box.width) + left + box.left; box.height = mathMin(containerBox.height, box.height) + top + box.top; box.left = left; box.top = top } return box } }; var plugin = { name: "tooltip", init: function() { this._initTooltip() }, dispose: function() { this._disposeTooltip() }, members: { _initTooltip: function() { this._tooltip = new Tooltip({ cssClass: this._rootClassPrefix + "-tooltip", eventTrigger: this._eventTrigger, pathModified: this.option("pathModified"), widgetRoot: this.element(), widget: this }) }, _disposeTooltip: function() { this._tooltip.dispose(); this._tooltip = null }, _setTooltipRendererOptions: function() { this._tooltip.setRendererOptions(this._getRendererOptions()) }, _setTooltipOptions: function() { this._tooltip.update(this._getOption("tooltip")) } }, extenders: { _stopCurrentHandling: function() { this._tooltip && this._tooltip.hide() } }, customize: function(constructor) { var proto = constructor.prototype; proto._eventsMap.onTooltipShown = { name: "tooltipShown" }; proto._eventsMap.onTooltipHidden = { name: "tooltipHidden" }; constructor.addChange({ code: "TOOLTIP_RENDERER", handler: function() { this._setTooltipRendererOptions() }, isThemeDependent: true, isOptionChange: true }); constructor.addChange({ code: "TOOLTIP", handler: function() { this._setTooltipOptions() }, isThemeDependent: true, isOptionChange: true, option: "tooltip" }) }, fontFields: ["tooltip.font"] }; exports.plugin = plugin }, 19157: /*!***************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/core/utils.js ***! \***************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.PANE_PADDING = void 0; exports.adjustVisualRange = function(options, visualRange, wholeRange, dataRange) { var minDefined = (0, _type.isDefined)(visualRange.startValue); var maxDefined = (0, _type.isDefined)(visualRange.endValue); var nonDiscrete = "discrete" !== options.axisType; dataRange = dataRange || wholeRange; var add = getAddFunction(options, false); var min = minDefined ? visualRange.startValue : dataRange.min; var max = maxDefined ? visualRange.endValue : dataRange.max; var rangeLength = visualRange.length; var categories = dataRange.categories; if (nonDiscrete && !(0, _type.isDefined)(min) && !(0, _type.isDefined)(max)) { return { startValue: min, endValue: max } } if ((0, _type.isDefined)(rangeLength)) { if (nonDiscrete) { if ("datetime" === options.dataType && !(0, _type.isNumeric)(rangeLength)) { rangeLength = dateToMilliseconds(rangeLength) } if (maxDefined && !minDefined || !maxDefined && !minDefined) { (0, _type.isDefined)(wholeRange.max) && (max = max > wholeRange.max ? wholeRange.max : max); min = add(max, rangeLength, -1) } else if (minDefined && !maxDefined) { (0, _type.isDefined)(wholeRange.min) && (min = min < wholeRange.min ? wholeRange.min : min); max = add(min, rangeLength) } } else { rangeLength = parseInt(rangeLength); if (!isNaN(rangeLength) && isFinite(rangeLength)) { rangeLength--; if (!maxDefined && !minDefined) { max = categories[categories.length - 1]; min = categories[categories.length - 1 - rangeLength] } else if (minDefined && !maxDefined) { var categoriesInfo = getCategoriesInfo(categories, min, void 0); max = categoriesInfo.categories[rangeLength] } else if (!minDefined && maxDefined) { var _categoriesInfo = getCategoriesInfo(categories, void 0, max); min = _categoriesInfo.categories[_categoriesInfo.categories.length - 1 - rangeLength] } } } } if (nonDiscrete) { if ((0, _type.isDefined)(wholeRange.max) && max > wholeRange.max) { max = wholeRange.max } if ((0, _type.isDefined)(wholeRange.min) && min < wholeRange.min) { min = wholeRange.min } } return { startValue: min, endValue: max } }; exports.convertAngleToRendererSpace = void 0; exports.convertPolarToXY = function(centerCoords, startAngle, angle, radius) { var normalizedRadius = radius > 0 ? radius : 0; angle = (0, _type.isDefined)(angle) ? angle + startAngle - 90 : 0; var cosSin = getCosAndSin(angle); return { x: _round(centerCoords.x + normalizedRadius * cosSin.cos), y: _round(centerCoords.y + normalizedRadius * cosSin.sin) } }; exports.convertVisualRangeObject = function(visualRange, convertToVisualRange) { if (convertToVisualRange) { return visualRange } return [visualRange.startValue, visualRange.endValue] }; exports.enumParser = exports.degreesToRadians = exports.decreaseGaps = exports.convertXYToPolar = void 0; exports.extractColor = function(color, isBase) { if ((0, _type.isString)(color) || !color) { return color } else if (isBase) { return color.base } else { return color.fillId || color.base } }; exports.getAddFunction = getAddFunction; exports.getLog = exports.getDistance = exports.getDecimalOrder = exports.getCosAndSin = exports.getCategoriesInfo = exports.getAppropriateFormat = exports.getAdjustedLog10 = void 0; exports.getLogExt = getLogExt; exports.getVerticallyShiftedAngularCoords = exports.getPower = exports.getNextDefsSvgId = void 0; exports.getVizRangeObject = function(value) { if (Array.isArray(value)) { return { startValue: value[0], endValue: value[1] } } else { return value || {} } }; exports.isRelativeHeightPane = isRelativeHeightPane; exports.map = map; exports.mergeMarginOptions = function(opt1, opt2) { return { checkInterval: opt1.checkInterval || opt2.checkInterval, size: _max(opt1.size || 0, opt2.size || 0), percentStick: opt1.percentStick || opt2.percentStick, sizePointNormalState: _max(opt1.sizePointNormalState || 0, opt2.sizePointNormalState || 0) } }; exports.normalizeAngle = void 0; exports.normalizeArcParams = function(x, y, innerRadius, outerRadius, startAngle, endAngle) { var isCircle; var noArc = true; var angleDiff = roundValue(endAngle, 3) - roundValue(startAngle, 3); if (angleDiff) { if (abs(angleDiff) % 360 === 0) { startAngle = 0; endAngle = 360; isCircle = true; endAngle -= .01 } if (startAngle > 360) { startAngle %= 360 } if (endAngle > 360) { endAngle %= 360 } if (startAngle > endAngle) { startAngle -= 360 } noArc = false } startAngle *= PI_DIV_180; endAngle *= PI_DIV_180; return [x, y, Math.min(outerRadius, innerRadius), Math.max(outerRadius, innerRadius), Math.cos(startAngle), Math.sin(startAngle), Math.cos(endAngle), Math.sin(endAngle), isCircle, floor(abs(endAngle - startAngle) / PI) % 2 ? "1" : "0", noArc] }; exports.normalizeBBox = normalizeBBox; exports.normalizeEnum = normalizeEnum; exports.normalizePanesHeight = function(panes) { panes.forEach((function(pane) { var height = pane.height; var unit = 0; var parsedHeight = parseFloat(height) || void 0; if ((0, _type.isString)(height) && height.indexOf("px") > -1 || (0, _type.isNumeric)(height) && height > 1) { parsedHeight = _round(parsedHeight); unit = 1 } if (!unit && parsedHeight) { if ((0, _type.isString)(height) && height.indexOf("%") > -1) { parsedHeight /= 100; unit = 2 } else if (parsedHeight < 0) { parsedHeight = parsedHeight < -1 ? 1 : abs(parsedHeight) } } pane.height = parsedHeight; pane.unit = unit })); var relativeHeightPanes = panes.filter(isRelativeHeightPane); var weightSum = relativeHeightPanes.reduce((function(prev, next) { return prev + (next.height || 0) }), 0); var weightHeightCount = relativeHeightPanes.length; var emptyHeightPanes = relativeHeightPanes.filter((function(pane) { return !pane.height })); var emptyHeightCount = emptyHeightPanes.length; if (weightSum < 1 && emptyHeightCount) { emptyHeightPanes.forEach((function(pane) { return pane.height = (1 - weightSum) / emptyHeightCount })) } else if (weightSum > 1 || weightSum < 1 && !emptyHeightCount || 1 === weightSum && emptyHeightCount) { if (emptyHeightCount) { var weightForEmpty = weightSum / weightHeightCount; var emptyWeightSum = emptyHeightCount * weightForEmpty; relativeHeightPanes.filter((function(pane) { return pane.height })).forEach((function(pane) { return pane.height *= (weightSum - emptyWeightSum) / weightSum })); emptyHeightPanes.forEach((function(pane) { return pane.height = weightForEmpty })) } relativeHeightPanes.forEach((function(pane) { return pane.height *= 1 / weightSum })) } }; exports.patchFontOptions = exports.parseScalar = void 0; exports.pointInCanvas = function(canvas, x, y) { return x >= canvas.left && x <= canvas.right && y >= canvas.top && y <= canvas.bottom }; exports.raiseTo = exports.processSeriesTemplate = void 0; exports.raiseToExt = raiseToExt; exports.rangesAreEqual = function(range, rangeFromOptions) { if (Array.isArray(rangeFromOptions)) { return range.length === rangeFromOptions.length && range.every((function(item, i) { return valueOf(item) === valueOf(rangeFromOptions[i]) })) } else { return valueOf(range.startValue) === valueOf(rangeFromOptions.startValue) && valueOf(range.endValue) === valueOf(rangeFromOptions.endValue) } }; exports.rotateBBox = function(bBox, center, angle) { var cos = _Number(_cos(angle * PI_DIV_180).toFixed(3)); var sin = _Number(_sin(angle * PI_DIV_180).toFixed(3)); var w2 = bBox.width / 2; var h2 = bBox.height / 2; var centerX = bBox.x + w2; var centerY = bBox.y + h2; var w2_ = abs(w2 * cos) + abs(h2 * sin); var h2_ = abs(w2 * sin) + abs(h2 * cos); var centerX_ = center[0] + (centerX - center[0]) * cos + (centerY - center[1]) * sin; var centerY_ = center[1] - (centerX - center[0]) * sin + (centerY - center[1]) * cos; return normalizeBBox({ x: centerX_ - w2_, y: centerY_ - h2_, width: 2 * w2_, height: 2 * h2_ }) }; exports.roundValue = void 0; exports.setCanvasValues = setCanvasValues; exports.unique = void 0; exports.updatePanesCanvases = function(panes, canvas, rotated) { var distributedSpace = 0; var paneSpace = rotated ? canvas.width - canvas.left - canvas.right : canvas.height - canvas.top - canvas.bottom; var totalCustomSpace = panes.reduce((function(prev, cur) { return prev + (!isRelativeHeightPane(cur) ? cur.height : 0) }), 0); var usefulSpace = paneSpace - 10 * (panes.length - 1) - totalCustomSpace; var startName = rotated ? "left" : "top"; var endName = rotated ? "right" : "bottom"; panes.forEach((function(pane) { var calcLength = !isRelativeHeightPane(pane) ? pane.height : _round(pane.height * usefulSpace); pane.canvas = pane.canvas || {}; (0, _extend.extend)(pane.canvas, canvas); pane.canvas[startName] = canvas[startName] + distributedSpace; pane.canvas[endName] = canvas[endName] + (paneSpace - calcLength - distributedSpace); distributedSpace = distributedSpace + calcLength + 10; setCanvasValues(pane.canvas) })) }; exports.valueOf = valueOf; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _color = _interopRequireDefault(__webpack_require__( /*! ../../color */ 52752)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var PI = Math.PI, LN10 = Math.LN10, abs = Math.abs, log = Math.log, floor = Math.floor, ceil = Math.ceil, pow = Math.pow, sqrt = Math.sqrt, atan2 = Math.atan2; var _min = Math.min; var _max = Math.max; var _cos = Math.cos; var _sin = Math.sin; var _round = Math.round; var dateToMilliseconds = _date.default.dateToMilliseconds; var PI_DIV_180 = PI / 180; var _isNaN = isNaN; var _Number = Number; var numDefsSvgElements = 1; exports.PANE_PADDING = 10; var getLog = function(value, base) { if (!value) { return NaN } return log(value) / log(base) }; exports.getLog = getLog; exports.getAdjustedLog10 = function(value) { return (0, _math.adjust)(getLog(value, 10)) }; var raiseTo = function(power, base) { return pow(base, power) }; exports.raiseTo = raiseTo; var normalizeAngle = function(angle) { return (angle % 360 + 360) % 360 }; exports.normalizeAngle = normalizeAngle; exports.convertAngleToRendererSpace = function(angle) { return 90 - angle }; var degreesToRadians = function(value) { return PI * value / 180 }; exports.degreesToRadians = degreesToRadians; var getCosAndSin = function(angle) { var angleInRadians = degreesToRadians(angle); return { cos: _cos(angleInRadians), sin: _sin(angleInRadians) } }; exports.getCosAndSin = getCosAndSin; var getDistance = function(x1, y1, x2, y2) { var diffX = x2 - x1; var diffY = y2 - y1; return sqrt(diffY * diffY + diffX * diffX) }; exports.getDistance = getDistance; var getDecimalOrder = function(number) { var n = abs(number); var cn; if (!_isNaN(n)) { if (n > 0) { n = log(n) / LN10; cn = ceil(n); return cn - n < 1e-14 ? cn : floor(n) } return 0 } return NaN }; exports.getDecimalOrder = getDecimalOrder; exports.getAppropriateFormat = function(start, end, count) { var order = _max(getDecimalOrder(start), getDecimalOrder(end)); var precision = -getDecimalOrder(abs(end - start) / count); var format; if (!_isNaN(order) && !_isNaN(precision)) { if (abs(order) <= 4) { format = "fixedPoint"; precision < 0 && (precision = 0); precision > 4 && (precision = 4) } else { format = "exponential"; precision += order - 1; precision > 3 && (precision = 3) } return { type: format, precision: precision } } return null }; var roundValue = function(value, precision) { if (precision > 20) { precision = 20 } if ((0, _type.isNumeric)(value)) { if ((0, _type.isExponential)(value)) { return _Number(value.toExponential(precision)) } else { return _Number(value.toFixed(precision)) } } }; exports.roundValue = roundValue; exports.getPower = function(value) { return value.toExponential().split("e")[1] }; function map(array, callback) { var i = 0; var len = array.length; var result = []; var value; while (i < len) { value = callback(array[i], i); if (null !== value) { result.push(value) } i++ } return result } function selectByKeys(object, keys) { return map(keys, (function(key) { return object[key] ? object[key] : null })) } function decreaseFields(object, keys, eachDecrease, decrease) { var dec = decrease; (0, _iterator.each)(keys, (function(_, key) { if (object[key]) { object[key] -= eachDecrease; dec -= eachDecrease } })); return dec } function normalizeEnum(value) { return String(value).toLowerCase() } function setCanvasValues(canvas) { if (canvas) { canvas.originalTop = canvas.top; canvas.originalBottom = canvas.bottom; canvas.originalLeft = canvas.left; canvas.originalRight = canvas.right } return canvas } function normalizeBBoxField(value) { return -1e10 < value && value < 1e10 ? value : 0 } function normalizeBBox(bBox) { var xl = normalizeBBoxField(floor(bBox.x)); var yt = normalizeBBoxField(floor(bBox.y)); var xr = normalizeBBoxField(ceil(bBox.width + bBox.x)); var yb = normalizeBBoxField(ceil(bBox.height + bBox.y)); var result = { x: xl, y: yt, width: xr - xl, height: yb - yt }; result.isEmpty = !result.x && !result.y && !result.width && !result.height; return result } exports.decreaseGaps = function(object, keys, decrease) { var arrayGaps; do { arrayGaps = selectByKeys(object, keys); arrayGaps.push(ceil(decrease / arrayGaps.length)); decrease = decreaseFields(object, keys, _min.apply(null, arrayGaps), decrease) } while (decrease > 0 && arrayGaps.length > 1); return decrease }; exports.parseScalar = function(value, defaultValue) { return void 0 !== value ? value : defaultValue }; exports.enumParser = function(values) { var stored = {}; var i; var ii; for (i = 0, ii = values.length; i < ii; ++i) { stored[normalizeEnum(values[i])] = 1 } return function(value, defaultValue) { var _value = normalizeEnum(value); return stored[_value] ? _value : defaultValue } }; exports.patchFontOptions = function(options) { var fontOptions = {}; (0, _iterator.each)(options || {}, (function(key, value) { if (/^(cursor)$/i.test(key)) {} else if ("opacity" === key) { value = null } else if ("color" === key) { key = "fill"; if ("opacity" in options) { var color = new _color.default(value); value = "rgba(".concat(color.r, ",").concat(color.g, ",").concat(color.b, ",").concat(options.opacity, ")") } } else { key = "font-" + key } fontOptions[key] = value })); return fontOptions }; exports.convertXYToPolar = function(centerCoords, x, y) { var radius = getDistance(centerCoords.x, centerCoords.y, x, y); var angle = atan2(y - centerCoords.y, x - centerCoords.x); return { phi: _round(normalizeAngle(180 * angle / PI)), r: _round(radius) } }; exports.processSeriesTemplate = function(seriesTemplate, items) { var customizeSeries = (0, _type.isFunction)(seriesTemplate.customizeSeries) ? seriesTemplate.customizeSeries : _common.noop; var nameField = seriesTemplate.nameField; var generatedSeries = {}; var seriesOrder = []; var series; var i = 0; var length; var data; items = items || []; for (length = items.length; i < length; i++) { data = items[i]; if (nameField in data) { series = generatedSeries[data[nameField]]; if (!series) { series = generatedSeries[data[nameField]] = { name: data[nameField], nameFieldValue: data[nameField] }; seriesOrder.push(series.name) } } } return map(seriesOrder, (function(orderedName) { var group = generatedSeries[orderedName]; return (0, _extend.extend)(group, customizeSeries.call(null, group.name)) })) }; var getCategoriesInfo = function(categories, startValue, endValue) { if (0 === categories.length) { return { categories: [] } } startValue = (0, _type.isDefined)(startValue) ? startValue : categories[0]; endValue = (0, _type.isDefined)(endValue) ? endValue : categories[categories.length - 1]; var categoriesValue = map(categories, (function(category) { return null === category || void 0 === category ? void 0 : category.valueOf() })); var indexStartValue = categoriesValue.indexOf(startValue.valueOf()); var indexEndValue = categoriesValue.indexOf(endValue.valueOf()); var swapBuf; var inverted = false; indexStartValue < 0 && (indexStartValue = 0); indexEndValue < 0 && (indexEndValue = categories.length - 1); if (indexEndValue < indexStartValue) { swapBuf = indexEndValue; indexEndValue = indexStartValue; indexStartValue = swapBuf; inverted = true } var visibleCategories = categories.slice(indexStartValue, indexEndValue + 1); var lastIdx = visibleCategories.length - 1; return { categories: visibleCategories, start: visibleCategories[inverted ? lastIdx : 0], end: visibleCategories[inverted ? 0 : lastIdx], inverted: inverted } }; exports.getCategoriesInfo = getCategoriesInfo; function isRelativeHeightPane(pane) { return !(pane.unit % 2) } exports.unique = function(array) { var values = {}; return map(array, (function(item) { var result = !values[item] ? item : null; values[item] = true; return result })) }; exports.getVerticallyShiftedAngularCoords = function(bBox, dy, center) { var isPositive = bBox.x + bBox.width / 2 >= center.x; var horizontalOffset1 = (isPositive ? bBox.x : bBox.x + bBox.width) - center.x; var verticalOffset1 = bBox.y - center.y; var verticalOffset2 = verticalOffset1 + dy; var horizontalOffset2 = _round(sqrt(horizontalOffset1 * horizontalOffset1 + verticalOffset1 * verticalOffset1 - verticalOffset2 * verticalOffset2)); var dx = (isPositive ? +horizontalOffset2 : -horizontalOffset2) || horizontalOffset1; return { x: center.x + (isPositive ? dx : dx - bBox.width), y: bBox.y + dy } }; function getAddFunction(range, correctZeroLevel) { if ("datetime" === range.dataType) { return function(rangeValue, marginValue) { var sign = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1; return new Date(rangeValue.getTime() + sign * marginValue) } } if ("logarithmic" === range.axisType) { return function(rangeValue, marginValue) { var sign = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1; var log = getLogExt(rangeValue, range.base) + sign * marginValue; return raiseToExt(log, range.base) } } return function(rangeValue, marginValue) { var sign = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1; var newValue = rangeValue + sign * marginValue; return correctZeroLevel && newValue * rangeValue <= 0 ? 0 : newValue } } function getLogExt(value, base) { var allowNegatives = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false; var linearThreshold = arguments.length > 3 ? arguments[3] : void 0; if (!allowNegatives) { return getLog(value, base) } if (0 === value) { return 0 } var transformValue = getLog(abs(value), base) - (linearThreshold - 1); if (transformValue < 0) { return 0 } return (0, _math.adjust)((0, _math.sign)(value) * transformValue, Number(pow(base, linearThreshold - 1).toFixed(abs(linearThreshold)))) } function raiseToExt(value, base) { var allowNegatives = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false; var linearThreshold = arguments.length > 3 ? arguments[3] : void 0; if (!allowNegatives) { return raiseTo(value, base) } if (0 === value) { return 0 } var transformValue = raiseTo(abs(value) + (linearThreshold - 1), base); if (transformValue < 0) { return 0 } return (0, _math.adjust)((0, _math.sign)(value) * transformValue, Number(pow(base, linearThreshold).toFixed(abs(linearThreshold)))) } function valueOf(value) { return value && value.valueOf() } exports.getNextDefsSvgId = function() { return "DevExpress_".concat(numDefsSvgElements++) } }, 5259: /*!***********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/export.js ***! \***********************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { var _export = __webpack_require__( /*! ./core/export */ 82454); Object.keys(_export).forEach((function(key) { if ("default" === key || "__esModule" === key) { return } if (key in exports && exports[key] === _export[key]) { return } Object.defineProperty(exports, key, { enumerable: true, get: function() { return _export[key] } }) })) }, 30187: /*!***********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/funnel.js ***! \***********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _funnel = (obj = __webpack_require__( /*! ./funnel/funnel */ 44697), obj && obj.__esModule ? obj : { default: obj }); var obj; var _label = __webpack_require__( /*! ./funnel/label */ 47250); var _export = __webpack_require__( /*! ./core/export */ 82454); var _title = __webpack_require__( /*! ./core/title */ 17384); var _legend = __webpack_require__( /*! ./components/legend */ 16342); var _tracker = __webpack_require__( /*! ./funnel/tracker */ 76686); var _tooltip = __webpack_require__( /*! ./funnel/tooltip */ 32037); var _loading_indicator = __webpack_require__( /*! ./core/loading_indicator */ 64758); _funnel.default.addPlugin(_label.plugin); _funnel.default.addPlugin(_export.plugin); _funnel.default.addPlugin(_title.plugin); _funnel.default.addPlugin(_legend.plugin); _funnel.default.addPlugin(_tracker.plugin); _funnel.default.addPlugin(_tooltip.plugin); _funnel.default.addPlugin(_loading_indicator.plugin); var _default = _funnel.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 44697: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/funnel/funnel.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _tiling = __webpack_require__( /*! ./tiling */ 68074); var _tiling2 = _interopRequireDefault(__webpack_require__( /*! ./tiling.funnel */ 89482)); var _tiling3 = _interopRequireDefault(__webpack_require__( /*! ./tiling.pyramid */ 2356)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _base_widget = _interopRequireDefault(__webpack_require__( /*! ../core/base_widget */ 59063)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _item = _interopRequireDefault(__webpack_require__( /*! ./item */ 65700)); var _data_source = __webpack_require__( /*! ../core/data_source */ 1539); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } }(0, _tiling.addAlgorithm)("dynamicslope", _tiling2.default, true); (0, _tiling.addAlgorithm)("dynamicheight", _tiling3.default); function getLegendItemState(itemState) { return { fill: itemState.fill, hatching: itemState.hatching } } var dxFunnel = _base_widget.default.inherit({ _rootClass: "dxf-funnel", _rootClassPrefix: "dxf", _proxyData: [], _optionChangesMap: { dataSource: "DATA_SOURCE", neckWidth: "NODES_CREATE", neckHeight: "NODES_CREATE", inverted: "NODES_CREATE", algorithm: "NODES_CREATE", item: "NODES_CREATE", valueField: "NODES_CREATE", argumentField: "NODES_CREATE", colorField: "NODES_CREATE", palette: "NODES_CREATE", paletteExtensionMode: "NODES_CREATE", sortData: "NODES_CREATE" }, _themeDependentChanges: ["NODES_CREATE"], _getDefaultSize: function() { return { width: 400, height: 400 } }, _themeSection: "funnel", _fontFields: ["legend.title.font", "legend.title.subtitle.font", "legend.font"], _optionChangesOrder: ["DATA_SOURCE"], _initialChanges: ["DATA_SOURCE"], _initCore: function() { this._group = this._renderer.g().append(this._renderer.root); this._items = [] }, _eventsMap: { onHoverChanged: { name: "hoverChanged" }, onSelectionChanged: { name: "selectionChanged" } }, _disposeCore: _common.noop, _applySize: function(rect) { this._rect = rect.slice(); this._change(["TILING"]); return this._rect }, _getAlignmentRect: function() { return this._rect }, _change_TILING: function() { var that = this; var items = that._items; var rect = that._rect; var convertCoord = function(coord, index) { var offset = index % 2; return rect[0 + offset] + (rect[2 + offset] - rect[0 + offset]) * coord }; this._group.clear(); items.forEach((function(item, index) { var coords = item.figure.map(convertCoord); var element = that._renderer.path([], "area").attr({ points: coords }).append(that._group); item.coords = coords; item.element = element })); this._requestChange(["TILES"]) }, _customChangesOrder: ["NODES_CREATE", "LAYOUT", "TILING", "TILES", "DRAWN"], _dataSourceChangedHandler: function() { this._requestChange(["NODES_CREATE"]) }, _change_DRAWN: function() { this._drawn() }, _change_DATA_SOURCE: function() { this._change(["DRAWN"]); this._updateDataSource() }, _change_NODES_CREATE: function() { this._buildNodes() }, _change_TILES: function() { this._applyTilesAppearance() }, _suspend: function() { if (!this._applyingChanges) { this._suspendChanges() } }, _resume: function() { if (!this._applyingChanges) { this._resumeChanges() } }, _applyTilesAppearance: function() { this._items.forEach((function(item) { var state = item.getState(); item.element.smartAttr(item.states[state]) })) }, _hitTestTargets: function(x, y) { var that = this; var data; this._proxyData.some((function(callback) { data = callback.call(that, x, y); if (data) { return true } })); return data }, clearHover: function() { this._suspend(); this._items.forEach((function(item) { item.isHovered() && item.hover(false) })); this._resume() }, clearSelection: function() { this._suspend(); this._items.forEach((function(item) { item.isSelected() && item.select(false) })); this._resume() }, _getData: function() { var data = this._dataSourceItems() || []; var valueField = this._getOption("valueField", true); var argumentField = this._getOption("argumentField", true); var colorField = this._getOption("colorField", true); var processedData = data.reduce((function(d, item) { var value = Number(item[valueField]); if (value >= 0) { d[0].push({ value: value, color: item[colorField], argument: item[argumentField], dataItem: item }); d[1] += value } return d }), [ [], 0 ]); var items = processedData[0]; if (data.length > 0 && 0 === items.length) { this._incidentOccurred("E2005", valueField) } if (!processedData[1]) { return [] } if (this._getOption("sortData", true)) { items.sort((function(a, b) { return b.value - a.value })) } return items }, _buildNodes: function() { var that = this; var data = that._getData(); var algorithm = (0, _tiling.getAlgorithm)(that._getOption("algorithm", true)); var percents = algorithm.normalizeValues(data); var itemOptions = that._getOption("item"); var figures = algorithm.getFigures(percents, that._getOption("neckWidth", true), that._getOption("neckHeight", true)); var palette = that._themeManager.createPalette(that._getOption("palette", true), { useHighlight: true, extensionMode: that._getOption("paletteExtensionMode", true), count: figures.length }); that._items = figures.map((function(figure, index) { var curData = data[index]; var node = new _item.default(that, { figure: figure, data: curData, percent: percents[index], id: index, color: curData.color || palette.getNextColor(), itemOptions: itemOptions }); return node })); if (that._getOption("inverted", true)) { that._items.forEach((function(item) { item.figure = (figure = item.figure, figure.map((function(coord, index) { return index % 2 ? 1 - coord : coord }))); var figure })) } that._renderer.initDefsElements(); that._change(["TILING", "DRAWN"]) }, _showTooltip: _common.noop, hideTooltip: _common.noop, getAllItems: function() { return this._items.slice() }, _getLegendData: function() { return this._items.map((function(item) { var states = item.states; return { id: item.id, visible: true, text: item.argument, item: item, states: { normal: getLegendItemState(states.normal), hover: getLegendItemState(states.hover), selection: getLegendItemState(states.selection) } } })) }, _getMinSize: function() { var adaptiveLayout = this._getOption("adaptiveLayout"); return [adaptiveLayout.width, adaptiveLayout.height] } }); (0, _component_registrator.default)("dxFunnel", dxFunnel); var _default = dxFunnel; exports.default = _default; dxFunnel.addPlugin(_data_source.plugin); module.exports = exports.default; module.exports.default = exports.default }, 65700: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/funnel/item.js ***! \****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var states = ["normal", "hover", "selection", "selection"]; function parseStyles(color, style, baseStyle) { var border = style.border; var baseBorder = baseStyle.border; var borderVisible = (0, _type.isDefined)(border.visible) ? border.visible : baseBorder.visible; var borderWidth = (0, _type.isDefined)(border.width) ? border.width : baseBorder.width; return { fill: color, hatching: style.hatching, stroke: border.color || baseBorder.color, "stroke-width": borderVisible ? borderWidth : 0 } } function Item(widget, options) { var data = options.data; this.code = 0; this.widget = widget; this.figure = options.figure; this.argument = data.argument; this.value = data.value; this.data = data.dataItem; this.percent = options.percent; this.id = options.id; this.color = options.color; this.states = { normal: parseStyles(options.color, options.itemOptions, options.itemOptions), hover: parseStyles(options.color, options.itemOptions.hoverStyle, options.itemOptions), selection: parseStyles(options.color, options.itemOptions.selectionStyle, options.itemOptions) } } Item.prototype = { getState: function() { return states[this.code] }, getNormalStyle: function() { return this.states.normal }, setHover: function() { this.hover(true) }, hover: function(state) { if (!this.widget._getOption("hoverEnabled", true) || state === this.isHovered()) { return } this.widget._suspend(); state && this.widget.clearHover(); this.setState(1, state); this.widget._eventTrigger("hoverChanged", { item: this }); this.widget._resume() }, setState: function(code, state) { if (state) { this.code |= code } else { this.code &= ~code } this.widget._applyTilesAppearance() }, select: function(state) { var mode = this.widget._getOption("selectionMode", true); if ("none" === mode || state === this.isSelected()) { return } this.widget._suspend(); if (state && "multiple" !== mode) { this.widget.clearSelection() } this.setState(2, state); this.widget._eventTrigger("selectionChanged", { item: this }); this.widget._resume() }, showTooltip: function(coords) { this.widget._showTooltip(this.id, coords) }, getColor: function() { return this.color }, isHovered: function() { return !!(1 & this.code) }, isSelected: function() { return !!(2 & this.code) } }; var _default = Item; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 47250: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/funnel/label.js ***! \*****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.plugin = void 0; var _label = __webpack_require__( /*! ../series/points/label */ 28318); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || _unsupportedIterableToArray(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _toConsumableArray(arr) { return function(arr) { if (Array.isArray(arr)) { return _arrayLikeToArray(arr) } }(arr) || function(iter) { if ("undefined" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) { return Array.from(iter) } }(arr) || _unsupportedIterableToArray(arr) || function() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _unsupportedIterableToArray(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } function isOutsidePosition(pos) { pos = (0, _utils.normalizeEnum)(pos); return "outside" === pos || "inside" !== pos } function correctYForInverted(y, bBox, inverted) { return inverted ? y - bBox.height : y } function getOutsideRightLabelPosition(coords, bBox, options, inverted) { return { x: coords[2] + options.horizontalOffset + 5, y: correctYForInverted(coords[3] + options.verticalOffset, bBox, inverted) } } function getOutsideLeftLabelPosition(coords, bBox, options, inverted) { return { x: coords[0] - bBox.width - options.horizontalOffset - 5, y: correctYForInverted(coords[1] + options.verticalOffset, bBox, inverted) } } function getInsideLabelPosition(coords, bBox, options) { var width = coords[2] - coords[0]; var height = coords[7] - coords[1]; return { x: coords[0] + width / 2 + options.horizontalOffset - bBox.width / 2, y: coords[1] + options.verticalOffset + height / 2 - bBox.height / 2 } } var plugin = { name: "lables", init: _common.noop, dispose: _common.noop, extenders: { _initCore: function() { this._labelsGroup = this._renderer.g().attr({ class: this._rootClassPrefix + "-labels" }).append(this._renderer.root); this._labels = [] }, _applySize: function() { var options = this._getOption("label"); var adaptiveLayout = this._getOption("adaptiveLayout"); var rect = this._rect; var labelWidth = 0; var width = rect[2] - rect[0]; this._labelRect = rect.slice(); if (!this._labels.length || !isOutsidePosition(options.position)) { if ((0, _utils.normalizeEnum)("none" !== this._getOption("resolveLabelOverlapping", true))) { this._labels.forEach((function(l) { return !l.isVisible() && l.draw(true) })) } return } var groupWidth = this._labels.map((function(label) { label.resetEllipsis(); return label.getBoundingRect().width })).reduce((function(max, width) { return Math.max(max, width) }), 0); labelWidth = groupWidth + options.horizontalOffset + function(pos) { pos = (0, _utils.normalizeEnum)(pos); if ("outside" === pos) { return 5 } else if ("inside" === pos) { return 0 } return 20 }(options.position); if (!adaptiveLayout.keepLabels && width - labelWidth < adaptiveLayout.width) { this._labels.forEach((function(label) { label.draw(false) })); return } else { if (width - labelWidth < adaptiveLayout.width) { labelWidth = width - adaptiveLayout.width; labelWidth = labelWidth > 0 ? labelWidth : 0 } this._labels.forEach((function(label) { label.draw(true) })) } if ("left" === options.horizontalAlignment) { rect[0] += labelWidth } else { rect[2] -= labelWidth } }, _buildNodes: function() { this._createLabels() }, _change_TILING: function() { var that = this; var options = that._getOption("label"); var getCoords = getInsideLabelPosition; var inverted = that._getOption("inverted", true); var textAlignment; if (isOutsidePosition(options.position)) { if ("outside" === (0, _utils.normalizeEnum)(options.position)) { getCoords = "left" === options.horizontalAlignment ? getOutsideLeftLabelPosition : getOutsideRightLabelPosition } else { textAlignment = this._defaultLabelTextAlignment(); getCoords = "left" === options.horizontalAlignment ? function(labelRect, rect, textAlignment) { return function(coords, bBox, options, inverted) { return { x: "left" === textAlignment ? labelRect[0] : rect[0] - bBox.width - options.horizontalOffset - 20, y: correctYForInverted(coords[3] + options.verticalOffset, bBox, inverted) } } }(this._labelRect, this._rect, textAlignment) : function(labelRect, rect, textAlignment) { return function(coords, bBox, options, inverted) { return { x: "left" === textAlignment ? rect[2] + options.horizontalOffset + 20 : labelRect[2] - bBox.width, y: correctYForInverted(coords[3] + options.verticalOffset, bBox, inverted) } } }(this._labelRect, this._rect, textAlignment) } } that._labels.forEach((function(label, index) { var item = that._items[index]; var borderWidth = item.getNormalStyle()["stroke-width"]; var halfBorderWidth = inverted ? borderWidth / 2 : -borderWidth / 2; var coords = halfBorderWidth ? item.coords.map((function(coord, index) { if (1 === index || 3 === index) { return coord - halfBorderWidth } else if (2 === index) { return coord - borderWidth } else if (0 === index) { return coord + borderWidth } return coord })) : item.coords; if (!options.showForZeroValues && 0 === item.value) { label.draw(false); return } if (isOutsidePosition(options.position)) { that._correctLabelWidth(label, item.coords, options) } var bBox = label.getBoundingRect(); var pos = function(pos, bBox, rect) { if (pos.x < rect[0]) { pos.x = rect[0] } if (pos.x + bBox.width > rect[2]) { pos.x = rect[2] - bBox.width } if (pos.y < rect[1]) { pos.y = rect[1] } if (pos.y + bBox.height > rect[3]) { pos.y = rect[3] - bBox.height } return pos }(getCoords(coords, bBox, options, inverted), bBox, that._labelRect); label.setFigureToDrawConnector(coords); label.shift(pos.x, pos.y) })); that._resolveLabelOverlapping() } }, members: { _resolveLabelOverlapping: function() { var that = this; var resolveLabelOverlapping = (0, _utils.normalizeEnum)(that._getOption("resolveLabelOverlapping", true)); var labels = this._getOption("inverted", true) ? that._labels.slice().reverse() : that._labels; if ("hide" === resolveLabelOverlapping) { labels.reduce((function(height, label) { if (label.getBoundingRect().y < height) { label.hide() } else { height = label.getBoundingRect().y + label.getBoundingRect().height } return height }), 0) } else if ("shift" === resolveLabelOverlapping) { var maxHeight = this._labelRect[3]; labels.filter((function(label) { return label.isVisible() })).reduce((function(_ref, label, index, labels) { var _ref2 = _slicedToArray(_ref, 2), height = _ref2[0], emptySpace = _ref2[1]; var bBox = label.getBoundingRect(); var y = bBox.y; if (bBox.y < height) { label.shift(bBox.x, height); y = height } if (y - height > 0) { emptySpace += y - height } if (y + bBox.height > maxHeight) { if (emptySpace && emptySpace > y + bBox.height - maxHeight) { ! function(labels, requiredSpace, startPoint) { labels.reduce((function(requiredSpace, label, index, labels) { var prevLabel = labels[index + 1]; if (requiredSpace > 0) { var bBox = label.getBoundingRect(); var point = prevLabel ? prevLabel.getBoundingRect().y + prevLabel.getBoundingRect().height : startPoint; var emptySpace = bBox.y - point; var shift = Math.min(emptySpace, requiredSpace); labels.slice(0, index + 1).forEach((function(label) { var bBox = label.getBoundingRect(); label.shift(bBox.x, bBox.y - shift) })); requiredSpace -= shift } return requiredSpace }), requiredSpace) }(labels.slice(0, index).reverse(), y + bBox.height - maxHeight, that._labelRect[1]); emptySpace -= y + bBox.height - maxHeight; label.shift(bBox.x, y - (y + bBox.height - maxHeight)); height = y - (y + bBox.height - maxHeight) + bBox.height } else { label.hide() } } else { height = y + bBox.height } return [height, emptySpace] }), [this._labelRect[1], 0]) } }, _defaultLabelTextAlignment: function() { return this._getOption("rtlEnabled", true) ? "right" : "left" }, _correctLabelWidth: function(label, item, options) { var isLeftPos = "left" === options.horizontalAlignment; var minX = isLeftPos ? this._labelRect[0] : item[2]; var maxX = isLeftPos ? item[0] : this._labelRect[2]; var maxWidth = maxX - minX; if (label.getBoundingRect().width > maxWidth) { label.fit(maxWidth) } }, _createLabels: function() { var that = this; var labelOptions = that._getOption("label"); var connectorStrategy = function(options, inverted) { var isLeftPos = "left" === options.horizontalAlignment; var connectorIndent = isLeftPos ? 4 : -4; var verticalCorrection = inverted ? -1 : 0; function getFigureCenter(figure) { return isLeftPos ? [figure[0] + 1, figure[1] + verticalCorrection] : [figure[2] - 1, figure[3] + verticalCorrection] } return { isLabelInside: function() { return !isOutsidePosition(options.position) }, getFigureCenter: getFigureCenter, prepareLabelPoints: function(bBox) { var x = bBox.x + connectorIndent; var y = bBox.y; var x1 = x + bBox.width; return _toConsumableArray(Array(bBox.height + 1)).map((function(_, i) { return [x, y + i] })).concat(_toConsumableArray(Array(bBox.height + 1)).map((function(_, i) { return [x1, y + i] }))) }, isHorizontal: function() { return true }, findFigurePoint: function(figure) { return getFigureCenter(figure) }, adjustPoints: function(points) { return points.map(Math.round) } } }(labelOptions, that._getOption("inverted", true)); this._labelsGroup.clear(); if (!labelOptions.visible) { return } this._labels = that._items.map((function(item) { var label = new _label.Label({ renderer: that._renderer, labelsGroup: that._labelsGroup, strategy: connectorStrategy }); label.setOptions(function(labelOptions, defaultColor, defaultTextAlignment) { var opt = labelOptions || {}; var labelFont = (0, _extend.extend)({}, opt.font) || {}; var labelBorder = opt.border || {}; var labelConnector = opt.connector || {}; var backgroundAttr = { fill: opt.backgroundColor || defaultColor, "stroke-width": labelBorder.visible ? labelBorder.width || 0 : 0, stroke: labelBorder.visible && labelBorder.width ? labelBorder.color : "none", dashStyle: labelBorder.dashStyle }; var connectorAttr = { stroke: labelConnector.visible && labelConnector.width ? labelConnector.color || defaultColor : "none", "stroke-width": labelConnector.visible ? labelConnector.width || 0 : 0, opacity: labelConnector.opacity }; labelFont.color = "none" === opt.backgroundColor && "#ffffff" === (0, _utils.normalizeEnum)(labelFont.color) && "inside" !== opt.position ? defaultColor : labelFont.color; return { format: opt.format, textAlignment: opt.textAlignment || (isOutsidePosition(opt.position) ? defaultTextAlignment : "center"), customizeText: opt.customizeText, attributes: { font: labelFont }, visible: 0 !== labelFont.size ? opt.visible : false, showForZeroValues: opt.showForZeroValues, horizontalOffset: opt.horizontalOffset, verticalOffset: opt.verticalOffset, background: backgroundAttr, connector: connectorAttr, wordWrap: labelOptions.wordWrap, textOverflow: labelOptions.textOverflow } }(labelOptions, item.color, that._defaultLabelTextAlignment())); label.setData({ item: item, value: item.value, percent: item.percent }); label.draw(true); return label })); if (this._labels.length && isOutsidePosition(labelOptions.position)) { this._requestChange(["LAYOUT"]) } } }, customize: function(constructor) { constructor.prototype._proxyData.push((function(x, y) { var that = this; var data; that._labels.forEach((function(label, index) { var rect = label.getBoundingRect(); if (x >= rect.x && x <= rect.x + rect.width && y >= rect.y && y <= rect.y + rect.height) { var pos = isOutsidePosition(that._getOption("label").position) ? "outside" : "inside"; data = { id: index, type: pos + "-label" }; return true } })); return data })); ["label", "resolveLabelOverlapping"].forEach((function(optionName) { constructor.addChange({ code: optionName.toUpperCase(), handler: function() { this._createLabels(); this._requestChange(["LAYOUT"]) }, isThemeDependent: true, isOptionChange: true, option: optionName }) })) }, fontFields: ["label.font"] }; exports.plugin = plugin }, 89482: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/funnel/tiling.funnel.js ***! \*************************************************************************/ function(module, exports) { exports.default = void 0; var _default = { getFigures: function(data) { var height = 1 / data.length; return data.map((function(value, index, array) { var nextValue = array[index + 1] ? array[index + 1] : array[index]; return [.5 - value / 2, height * index, .5 + value / 2, height * index, .5 + nextValue / 2, height * (index + 1), .5 - nextValue / 2, height * (index + 1)] })) }, normalizeValues: function(items) { var max = items.reduce((function(max, item) { return Math.max(item.value, max) }), items[0] && items[0].value || 0); return items.map((function(item) { return item.value / max })) } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 68074: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/funnel/tiling.js ***! \******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.addAlgorithm = function(name, callback, setDefault) { algorithms[name] = callback; if (setDefault) { defaultAlgorithm = algorithms[name] } }; exports.getAlgorithm = function(name) { return algorithms[(0, _utils.normalizeEnum)(name)] || defaultAlgorithm }; var _utils = __webpack_require__( /*! ../core/utils */ 19157); var algorithms = {}; var defaultAlgorithm }, 2356: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/funnel/tiling.pyramid.js ***! \**************************************************************************/ function(module, exports) { exports.default = void 0; var _default = { getFigures: function(data, neckWidth, neckHeight) { var height = 0; var y = 0; var x = 0; var offsetX = 0; var halfNeckWidth = neckWidth / 2; var offsetFromCorner = .5 - halfNeckWidth; var funnelHeight = 1 - neckHeight; var neckLeftCorner = .5 - halfNeckWidth; var neckRightCorner = .5 + halfNeckWidth; return data.map((function(value) { x = offsetX; y = height; height += value; offsetX = offsetFromCorner * height / funnelHeight; if (y <= funnelHeight && height <= funnelHeight) { return [x, y, 1 - x, y, 1 - offsetX, height, 0 + offsetX, height] } else if (y <= funnelHeight && height > funnelHeight) { return [x, y, 1 - x, y, neckRightCorner, funnelHeight, neckRightCorner, height, neckLeftCorner, height, neckLeftCorner, funnelHeight] } else { return [neckLeftCorner, y, neckRightCorner, y, neckRightCorner, height, neckLeftCorner, height] } })) }, normalizeValues: function(items) { var sum = items.reduce((function(sum, item) { return sum + item.value }), 0); return items.map((function(item) { return item.value / sum })) } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 32037: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/funnel/tooltip.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.plugin = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _tooltip = __webpack_require__( /*! ../core/tooltip */ 14371); function getCoords(coords, figureCoords, renderer) { var offset = renderer.getRootOffset(); return coords || figureCoords && [(figureCoords[0] + figureCoords[2]) / 2 + offset.left, (figureCoords[1] + figureCoords[5]) / 2 + offset.top] || [-1e3, -1e3] } var plugin = { name: "funnel-tooltip", init: _common.noop, dispose: _common.noop, extenders: { _buildNodes: function() { this.hideTooltip() }, _change_TILING: function() { if (this._tooltipIndex >= 0) { this._moveTooltip(this._items[this._tooltipIndex]) } } }, members: { hideTooltip: function() { if (this._tooltipIndex >= 0) { this._tooltipIndex = -1; this._tooltip.hide() } }, _moveTooltip: function(item, coords) { var xy = getCoords(coords, item.coords, this._renderer); this._tooltip.move(xy[0], xy[1], 0) }, _showTooltip: function(index, coords) { var that = this; var tooltip = that._tooltip; var item = that._items[index]; if (that._tooltipIndex === index) { that._moveTooltip(item, coords); return } var callback = function(result) { if (void 0 === result) { return } if (!result) { tooltip.hide() } that._tooltipIndex = result ? index : -1 }; var xy = getCoords(coords, item.coords, this._renderer); callback(tooltip.show({ value: item.value, valueText: tooltip.formatValue(item.value), percentText: tooltip.formatValue(item.percent, "percent"), percent: item.percent, item: item }, { x: xy[0], y: xy[1], offset: 0 }, { item: item }, void 0, callback)) } }, customize: function(constructor) { constructor.addPlugin(_tooltip.plugin) } }; exports.plugin = plugin }, 76686: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/funnel/tracker.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.plugin = void 0; var _funnel = (obj = __webpack_require__( /*! ./funnel */ 44697), obj && obj.__esModule ? obj : { default: obj }); var obj; var _tracker = __webpack_require__( /*! ../components/tracker */ 88997); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var dataKeyModifier = 0; var proto = _funnel.default.prototype; proto._eventsMap.onItemClick = { name: "itemClick" }; proto._eventsMap.onLegendClick = { name: "legendClick" }; var plugin = { name: "tracker", init: function() { var that = this; var dataKey = "__funnel_data_" + dataKeyModifier++; var getProxyData = function(e) { var rootOffset = that._renderer.getRootOffset(); var x = Math.floor(e.pageX - rootOffset.left); var y = Math.floor(e.pageY - rootOffset.top); return that._hitTestTargets(x, y) }; that._tracker = new _tracker.Tracker({ widget: that, root: that._renderer.root, getData: function(e, tooltipData) { var target = e.target; var data = target[dataKey]; if ((0, _type.isDefined)(data)) { return data } var proxyData = getProxyData(e); if (tooltipData && proxyData && "inside-label" !== proxyData.type) { return } return proxyData && proxyData.id }, getNode: function(index) { return that._items[index] }, click: function(e) { var proxyData = getProxyData(e.event); var dataType = proxyData && proxyData.type; var event = "legend" === dataType ? "legendClick" : "itemClick"; that._eventTrigger(event, { item: e.node, event: e.event }) } }); this._dataKey = dataKey }, dispose: function() { this._tracker.dispose() }, extenders: { _change_TILING: function() { var dataKey = this._dataKey; this._items.forEach((function(item, index) { item.element.data(dataKey, index) })) } } }; exports.plugin = plugin }, 44898: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/gauges/bar_gauge.js ***! \*********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.dxBarGauge = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _object = __webpack_require__( /*! ../../core/utils/object */ 48013); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _base_chart = __webpack_require__( /*! ../chart_components/base_chart */ 33224); var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _base_gauge = __webpack_require__( /*! ./base_gauge */ 18029); var _circular_gauge = _interopRequireDefault(__webpack_require__( /*! ./circular_gauge */ 31500)); var _legend = __webpack_require__( /*! ../components/legend */ 16342); var _center_template = __webpack_require__( /*! ../core/center_template */ 56672); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var PI_DIV_180 = Math.PI / 180; var _abs = Math.abs; var _round = Math.round; var _floor = Math.floor; var _min = Math.min; var _max = Math.max; var _getSampleText = _base_gauge.getSampleText; var _formatValue = _base_gauge.formatValue; var _compareArrays = _base_gauge.compareArrays; var _isArray = Array.isArray; var _convertAngleToRendererSpace = _utils.convertAngleToRendererSpace; var _getCosAndSin = _utils.getCosAndSin; var _patchFontOptions = _utils.patchFontOptions; var _Number = Number; var _isFinite = isFinite; var _noop = _common.noop; var _extend = _extend2.extend; var BarWrapper; var dxBarGauge = _base_gauge.BaseGauge.inherit({ _rootClass: "dxbg-bar-gauge", _themeSection: "barGauge", _fontFields: ["label.font", "legend.font", "legend.title.font", "legend.title.subtitle.font"], _initCore: function() { var that = this; that.callBase.apply(that, arguments); that._barsGroup = that._renderer.g().attr({ class: "dxbg-bars" }).linkOn(that._renderer.root, "bars"); that._values = []; that._context = { renderer: that._renderer, translator: that._translator, tracker: that._tracker, group: that._barsGroup }; that._animateStep = function(pos) { var bars = that._bars; var i; var ii; for (i = 0, ii = bars.length; i < ii; ++i) { bars[i].animate(pos) } }; that._animateComplete = function() { that._bars.forEach((function(bar) { return bar.endAnimation() })); that._checkOverlap() } }, _disposeCore: function() { var that = this; that._barsGroup.linkOff(); that._barsGroup = that._values = that._context = that._animateStep = that._animateComplete = null; that.callBase.apply(that, arguments) }, _setupDomainCore: function() { var startValue = this.option("startValue"); var endValue = this.option("endValue"); _isFinite(startValue) || (startValue = 0); _isFinite(endValue) || (endValue = 100); this._translator.setDomain(startValue, endValue); this._baseValue = this._translator.adjust(this.option("baseValue")); _isFinite(this._baseValue) || (this._baseValue = startValue < endValue ? startValue : endValue) }, _getDefaultSize: function() { return { width: 300, height: 300 } }, _setupCodomain: _circular_gauge.default.prototype._setupCodomain, _getApproximateScreenRange: function() { var sides = this._area.sides; var width = this._canvas.width / (sides.right - sides.left); var height = this._canvas.height / (sides.down - sides.up); var r = width < height ? width : height; return -this._translator.getCodomainRange() * r * PI_DIV_180 }, _setupAnimationSettings: function() { var that = this; that.callBase.apply(that, arguments); if (that._animationSettings) { that._animationSettings.step = that._animateStep; that._animationSettings.complete = that._animateComplete } }, _cleanContent: function() { this._barsGroup.linkRemove(); this._animationSettings && this._barsGroup.stopAnimation(); this._barsGroup.clear() }, _renderContent: function() { var labelOptions = this.option("label"); var text; var bBox; var context = this._context; this._barsGroup.linkAppend(); context.textEnabled = void 0 === labelOptions || labelOptions && (!("visible" in labelOptions) || labelOptions.visible); if (context.textEnabled) { context.textColor = labelOptions && labelOptions.font && labelOptions.font.color || null; labelOptions = _extend(true, {}, this._themeManager.theme().label, labelOptions); context.formatOptions = { format: void 0 !== labelOptions.format ? labelOptions.format : this._defaultFormatOptions, customizeText: labelOptions.customizeText }; context.textOptions = { align: "center" }; context.fontStyles = _patchFontOptions(_extend({}, this._themeManager.theme().label.font, labelOptions.font, { color: null })); this._textIndent = labelOptions.indent > 0 ? _Number(labelOptions.indent) : 0; context.lineWidth = labelOptions.connectorWidth > 0 ? _Number(labelOptions.connectorWidth) : 0; context.lineColor = labelOptions.connectorColor || null; text = this._renderer.text(_getSampleText(this._translator, context.formatOptions), 0, 0).attr(context.textOptions).css(context.fontStyles).append(this._barsGroup); bBox = text.getBBox(); text.remove(); context.textY = bBox.y; context.textWidth = bBox.width; context.textHeight = bBox.height } _circular_gauge.default.prototype._applyMainLayout.call(this); this._renderBars() }, _measureMainElements: function() { var result = { maxRadius: this._area.radius }; if (this._context.textEnabled) { result.horizontalMargin = this._context.textWidth; result.verticalMargin = this._context.textHeight; result.inverseHorizontalMargin = this._context.textWidth / 2; result.inverseVerticalMargin = this._context.textHeight / 2 } return result }, _renderBars: function() { var options = _extend({}, this._themeManager.theme(), this.option()); var radius; var area = this._area; var relativeInnerRadius = options.relativeInnerRadius > 0 && options.relativeInnerRadius < 1 ? _Number(options.relativeInnerRadius) : .1; radius = area.radius; if (this._context.textEnabled) { this._textIndent = _round(_min(this._textIndent, radius / 2)); radius -= this._textIndent } this._outerRadius = _floor(radius); this._innerRadius = _floor(radius * relativeInnerRadius); this._barSpacing = options.barSpacing > 0 ? _Number(options.barSpacing) : 0; _extend(this._context, { backgroundColor: options.backgroundColor, x: area.x, y: area.y, startAngle: area.startCoord, endAngle: area.endCoord, baseAngle: this._translator.translate(this._baseValue) }); this._arrangeBars() }, _arrangeBars: function() { var radius = this._outerRadius - this._innerRadius; var context = this._context; var i; var count = this._bars.length; this._beginValueChanging(); context.barSize = count > 0 ? _max((radius - (count - 1) * this._barSpacing) / count, 1) : 0; var spacing = count > 1 ? _max(_min((radius - count * context.barSize) / (count - 1), this._barSpacing), 0) : 0; var _count = _min(_floor((radius + spacing) / context.barSize), count); this._setBarsCount(count); radius = this._outerRadius; context.textRadius = radius; context.textIndent = this._textIndent; this._palette.reset(); var unitOffset = context.barSize + spacing; var colors = this._palette.generateColors(_count); for (i = 0; i < _count; ++i, radius -= unitOffset) { this._bars[i].arrange({ radius: radius, color: colors[i] }) } for (var _i = _count; _i < count; _i++) { this._bars[_i].hide() } if (this._animationSettings && !this._noAnimation) { this._animateBars() } else { this._updateBars() } this._endValueChanging() }, _setBarsCount: function() { if (this._bars.length > 0) { if (this._dummyBackground) { this._dummyBackground.dispose(); this._dummyBackground = null } } else { if (!this._dummyBackground) { this._dummyBackground = this._renderer.arc().attr({ "stroke-linejoin": "round" }) } this._dummyBackground.attr({ x: this._context.x, y: this._context.y, outerRadius: this._outerRadius, innerRadius: this._innerRadius, startAngle: this._context.endAngle, endAngle: this._context.startAngle, fill: this._context.backgroundColor }).append(this._barsGroup) } }, _getCenter: function() { return { x: this._context.x, y: this._context.y } }, _updateBars: function() { this._bars.forEach((function(bar) { return bar.applyValue() })); this._checkOverlap() }, _checkOverlap: function() { var that = this; var overlapStrategy = (0, _utils.normalizeEnum)(that._getOption("resolveLabelOverlapping", true)); function shiftFunction(box, length) { return (0, _utils.getVerticallyShiftedAngularCoords)(box, -length, that._context) } if ("none" === overlapStrategy) { return } if ("shift" === overlapStrategy) { var newBars = that._dividePoints(); _base_chart.overlapping.resolveLabelOverlappingInOneDirection(newBars.left, that._canvas, false, false, shiftFunction); _base_chart.overlapping.resolveLabelOverlappingInOneDirection(newBars.right, that._canvas, false, false, shiftFunction); that._clearLabelsCrossTitle(); that._drawConnector() } else { that._clearOverlappingLabels() } }, _drawConnector: function() { var that = this; var bars = that._bars; var _that$_getOption = that._getOption("label"), connectorWidth = _that$_getOption.connectorWidth; bars.forEach((function(bar) { if (!bar._isLabelShifted) { return } var x = bar._bar.attr("x"); var y = bar._bar.attr("y"); var innerRadius = bar._bar.attr("innerRadius"); var outerRadius = bar._bar.attr("outerRadius"); var startAngle = bar._bar.attr("startAngle"); var endAngle = bar._bar.attr("endAngle"); var coordStart = getStartCoordsArc.apply(null, (0, _utils.normalizeArcParams)(x, y, innerRadius, outerRadius, startAngle, endAngle)); var _getCosAndSin2 = _getCosAndSin(bar._angle), cos = _getCosAndSin2.cos, sin = _getCosAndSin2.sin; var xStart = coordStart.x - sin * connectorWidth / 2 - cos; var yStart = coordStart.y - cos * connectorWidth / 2 + sin; var box = bar._text.getBBox(); var lastCoords = bar._text._lastCoords; var indentFromLabel = that._context.textWidth / 2; var originalXLabelCoord = box.x + box.width / 2 + lastCoords.x; var originalPoints = [xStart, yStart, originalXLabelCoord, box.y + lastCoords.y]; if (bar._angle > 90) { originalPoints[2] += indentFromLabel } else { originalPoints[2] -= indentFromLabel } if (bar._angle <= 180 && bar._angle > 0) { originalPoints[3] += box.height } if (connectorWidth % 2) { var xDeviation = -sin / 2; var yDeviation = -cos / 2; if (bar._angle > 180) { originalPoints[0] -= xDeviation; originalPoints[1] -= yDeviation } else if (bar._angle > 0 && bar._angle <= 90) { originalPoints[0] += xDeviation; originalPoints[1] += yDeviation } } var points = originalPoints.map((function(coordinate) { return (0, _math.roundFloatPart)(coordinate, 4) })); bar._line.attr({ points: points }); bar._line.rotate(0); bar._isLabelShifted = false })) }, _dividePoints: function() { var bars = this._bars; return bars.reduce((function(stackBars, bar) { var angle = (0, _utils.normalizeAngle)(bar._angle); var isRightSide = angle <= 90 || angle >= 270; bar._text._lastCoords = { x: 0, y: 0 }; var barToExtend = isRightSide ? stackBars.right : stackBars.left; barToExtend.push({ series: { isStackedSeries: function() { return false }, isFullStackedSeries: function() { return false } }, getLabels: function() { return [{ isVisible: function() { return true }, getBoundingRect: function() { var _bar$_text$getBBox = bar._text.getBBox(), height = _bar$_text$getBBox.height, width = _bar$_text$getBBox.width, x = _bar$_text$getBBox.x, y = _bar$_text$getBBox.y; var lastCoords = bar._text._lastCoords; return { x: x + lastCoords.x, y: y + lastCoords.y, width: width, height: height } }, shift: function(x, y) { var box = bar._text.getBBox(); bar._text._lastCoords = { x: x - box.x, y: y - box.y }; bar._text.attr({ translateX: x - box.x, translateY: y - box.y }); bar._isLabelShifted = true }, draw: function() { return bar.hideLabel() }, getData: function() { return { value: bar.getValue() } }, hideInsideLabel: function() { return false } }] } }); return stackBars }), { left: [], right: [] }) }, _clearOverlappingLabels: function() { var bars = this._bars; var currentIndex = 0; var nextIndex = 1; var sortedBars = bars.concat().sort((function(a, b) { return a.getValue() - b.getValue() })); while (currentIndex < sortedBars.length && nextIndex < sortedBars.length) { var current = sortedBars[currentIndex]; var next = sortedBars[nextIndex]; if (current.checkIntersect(next)) { next.hideLabel(); nextIndex++ } else { currentIndex = nextIndex; nextIndex = currentIndex + 1 } } }, _clearLabelsCrossTitle: function() { var bars = this._bars; var titleCoords = this._title.getLayoutOptions() || { x: 0, y: 0, height: 0, width: 0 }; var minY = titleCoords.y + titleCoords.height; bars.forEach((function(bar) { var box = bar._text.getBBox(); var lastCoords = bar._text._lastCoords; if (minY > box.y + lastCoords.y) { bar.hideLabel() } })) }, _animateBars: function() { var i; var ii = this._bars.length; if (ii > 0) { for (i = 0; i < ii; ++i) { this._bars[i].beginAnimation() } this._barsGroup.animate({ _: 0 }, this._animationSettings) } }, _buildNodes: function() { var that = this; var options = that._options.silent(); that._palette = that._themeManager.createPalette(options.palette, { useHighlight: true, extensionMode: options.paletteExtensionMode }); that._palette.reset(); that._bars = that._bars || []; that._animationSettings && that._barsGroup.stopAnimation(); var barValues = that._values.filter(_isFinite); var count = barValues.length; if (that._bars.length > count) { var ii = that._bars.length; for (var i = count; i < ii; ++i) { that._bars[i].dispose() } that._bars.splice(count, ii - count) } else if (that._bars.length < count) { for (var _i2 = that._bars.length; _i2 < count; ++_i2) { that._bars.push(new BarWrapper(_i2, that._context)) } } that._bars.forEach((function(bar, index) { bar.update({ color: that._palette.getNextColor(count), value: barValues[index] }) })) }, _updateValues: function(values) { var list = _isArray(values) && values || _isFinite(values) && [values] || []; var i; var ii = list.length; var value; this._values.length = ii; for (i = 0; i < ii; ++i) { value = list[i]; this._values[i] = _Number(_isFinite(value) ? value : this._values[i]) } if (!this._resizing) { if (!_compareArrays(this._values, this.option("values"))) { this.option("values", this._values.slice()) } } this._change(["NODES"]) }, values: function(arg) { if (void 0 !== arg) { this._updateValues(arg); return this } else { return this._values.slice(0) } }, _optionChangesMap: { backgroundColor: "MOSTLY_TOTAL", relativeInnerRadius: "MOSTLY_TOTAL", barSpacing: "MOSTLY_TOTAL", label: "MOSTLY_TOTAL", resolveLabelOverlapping: "MOSTLY_TOTAL", palette: "MOSTLY_TOTAL", paletteExtensionMode: "MOSTLY_TOTAL", values: "VALUES" }, _change_VALUES: function() { this._updateValues(this.option("values")) }, _factory: (0, _object.clone)(_base_gauge.BaseGauge.prototype._factory), _optionChangesOrder: ["VALUES", "NODES"], _initialChanges: ["VALUES"], _change_NODES: function() { this._buildNodes() }, _change_MOSTLY_TOTAL: function() { this._change(["NODES"]); this.callBase() }, _proxyData: [], _getLegendData: function() { var formatOptions = {}; var options = this._options.silent(); var labelFormatOptions = (options.label || {}).format; var legendFormatOptions = (options.legend || {}).itemTextFormat; if (legendFormatOptions) { formatOptions.format = legendFormatOptions } else { formatOptions.format = labelFormatOptions || this._defaultFormatOptions } return (this._bars || []).map((function(b) { return { id: b.index, item: { value: b.getValue(), color: b.getColor(), index: b.index }, text: _formatValue(b.getValue(), formatOptions), visible: true, states: { normal: { fill: b.getColor() } } } })) } }); exports.dxBarGauge = dxBarGauge; BarWrapper = function(index, context) { this._context = context; this._tracker = context.renderer.arc().attr({ "stroke-linejoin": "round" }); this.index = index }; _extend(BarWrapper.prototype, { dispose: function() { this._background.dispose(); this._bar.dispose(); if (this._context.textEnabled) { this._line.dispose(); this._text.dispose() } this._context.tracker.detach(this._tracker); this._context = this._settings = this._background = this._bar = this._line = this._text = this._tracker = null; return this }, arrange: function(options) { var context = this._context; this._visible = true; context.tracker.attach(this._tracker, this, { index: this.index }); this._background = context.renderer.arc().attr({ "stroke-linejoin": "round", fill: context.backgroundColor }).append(context.group); this._settings = this._settings || { x: context.x, y: context.y, startAngle: context.baseAngle, endAngle: context.baseAngle }; this._bar = context.renderer.arc().attr(_extend({ "stroke-linejoin": "round" }, this._settings)).append(context.group); if (context.textEnabled) { this._line = context.renderer.path([], "line").attr({ "stroke-width": context.lineWidth }).append(context.group); this._text = context.renderer.text().css(context.fontStyles).attr(context.textOptions).append(context.group) } this._angle = isFinite(this._angle) ? this._angle : context.baseAngle; this._settings.outerRadius = options.radius; this._settings.innerRadius = options.radius - context.barSize; this._settings.x = context.x; this._settings.y = context.y; this._background.attr(_extend({}, this._settings, { startAngle: context.endAngle, endAngle: context.startAngle, fill: this._context.backgroundColor })); this._bar.attr({ x: context.x, y: context.y, outerRadius: this._settings.outerRadius, innerRadius: this._settings.innerRadius, fill: this._color }); this._tracker.attr(this._settings); if (context.textEnabled) { this._line.attr({ points: [context.x, context.y - this._settings.innerRadius, context.x, context.y - context.textRadius - context.textIndent], stroke: context.lineColor || this._color }).sharp(); this._text.css({ fill: context.textColor || this._color }) } return this }, getTooltipParameters: function() { var cosSin = _getCosAndSin((this._angle + this._context.baseAngle) / 2); return { x: _round(this._context.x + (this._settings.outerRadius + this._settings.innerRadius) / 2 * cosSin.cos), y: _round(this._context.y - (this._settings.outerRadius + this._settings.innerRadius) / 2 * cosSin.sin), offset: 0, color: this._color, value: this._value } }, setAngle: function(angle) { var context = this._context; var settings = this._settings; var cosSin; this._angle = angle; setAngles(settings, context.baseAngle, angle); this._bar.attr(settings); this._tracker.attr(settings); if (context.textEnabled) { cosSin = _getCosAndSin(angle); var indent = context.textIndent; var radius = context.textRadius + indent; var x = context.x + radius * cosSin.cos; var y = context.y - radius * cosSin.sin; var halfWidth = .5 * context.textWidth; var textHeight = context.textHeight; var textY = context.textY; if (_abs(x - context.x) > indent) { x += x < context.x ? -halfWidth : halfWidth } if (_abs(y - context.y) <= indent) { y -= textY + .5 * textHeight } else { y -= y < context.y ? textY + textHeight : textY } var text = _formatValue(this._value, context.formatOptions, { index: this.index }); var visibility = "" === text ? "hidden" : null; this._text.attr({ text: text, x: x, y: y, visibility: visibility }); this._line.attr({ visibility: visibility }); this._line.rotate(_convertAngleToRendererSpace(angle), context.x, context.y) } return this }, hideLabel: function() { this._text.attr({ visibility: "hidden" }); this._line.attr({ visibility: "hidden" }) }, checkIntersect: function(anotherBar) { var coords = this.calculateLabelCoords(); var anotherCoords = anotherBar.calculateLabelCoords(); if (!coords || !anotherCoords) { return false } var width = Math.max(0, Math.min(coords.bottomRight.x, anotherCoords.bottomRight.x) - Math.max(coords.topLeft.x, anotherCoords.topLeft.x)); var height = Math.max(0, Math.min(coords.bottomRight.y, anotherCoords.bottomRight.y) - Math.max(coords.topLeft.y, anotherCoords.topLeft.y)); return width * height !== 0 }, calculateLabelCoords: function() { if (!this._text) { return } var box = this._text.getBBox(); return { topLeft: { x: box.x, y: box.y }, bottomRight: { x: box.x + box.width, y: box.y + box.height } } }, _processValue: function(value) { return this._context.translator.translate(this._context.translator.adjust(value)) }, applyValue: function() { if (!this._visible) { return this } return this.setAngle(this._processValue(this.getValue())) }, update: function(_ref) { var color = _ref.color, value = _ref.value; this._color = color; this._value = value }, hide: function() { this._visible = false }, getColor: function() { return this._color }, getValue: function() { return this._value }, beginAnimation: function() { if (!this._visible) { return this } var angle = this._processValue(this.getValue()); if (!compareFloats(this._angle, angle)) { this._start = this._angle; this._delta = angle - this._angle; this._tracker.attr({ visibility: "hidden" }); if (this._context.textEnabled) { this._line.attr({ visibility: "hidden" }); this._text.attr({ visibility: "hidden" }) } } else { this.animate = _noop; this.setAngle(this._angle) } }, animate: function(pos) { if (!this._visible) { return this } this._angle = this._start + this._delta * pos; setAngles(this._settings, this._context.baseAngle, this._angle); this._bar.attr(this._settings) }, endAnimation: function() { if (void 0 !== this._delta) { if (compareFloats(this._angle, this._start + this._delta)) { this._tracker.attr({ visibility: null }); this.setAngle(this._angle) } } else { delete this.animate } delete this._start; delete this._delta } }); function setAngles(target, angle1, angle2) { target.startAngle = angle1 < angle2 ? angle1 : angle2; target.endAngle = angle1 < angle2 ? angle2 : angle1 } function compareFloats(value1, value2) { return _abs(value1 - value2) < 1e-4 } function getStartCoordsArc(x, y, innerR, outerR, startAngleCos, startAngleSin) { return { x: (x + outerR * startAngleCos).toFixed(5), y: (y - outerR * startAngleSin).toFixed(5) } }(0, _component_registrator.default)("dxBarGauge", dxBarGauge); dxBarGauge.addPlugin(_legend.plugin); dxBarGauge.addPlugin(_center_template.plugins.gauge) }, 18029: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/gauges/base_gauge.js ***! \**********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.BaseGauge = void 0; exports.compareArrays = function(array1, array2) { return array1 && array2 && array1.length === array2.length && function(array1, array2) { var i; var ii = array1.length; var array1ValueIsNaN; var array2ValueIsNaN; for (i = 0; i < ii; ++i) { array1ValueIsNaN = array1[i] !== array1[i]; array2ValueIsNaN = array2[i] !== array2[i]; if (array1ValueIsNaN && array2ValueIsNaN) { continue } if (array1[i] !== array2[i]) { return false } } return true }(array1, array2) }; exports.getSampleText = exports.formatValue = void 0; var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _translator1d = __webpack_require__( /*! ../translators/translator1d */ 17953); var _base_widget = _interopRequireDefault(__webpack_require__( /*! ../core/base_widget */ 59063)); var _theme_manager = _interopRequireDefault(__webpack_require__( /*! ./theme_manager */ 41802)); var _tracker = _interopRequireDefault(__webpack_require__( /*! ./tracker */ 57298)); var _format_helper = _interopRequireDefault(__webpack_require__( /*! ../../format_helper */ 30343)); var _export = __webpack_require__( /*! ../core/export */ 82454); var _title = __webpack_require__( /*! ../core/title */ 17384); var _tooltip = __webpack_require__( /*! ../core/tooltip */ 14371); var _loading_indicator = __webpack_require__( /*! ../core/loading_indicator */ 64758); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _Number = Number; var _extend = _extend2.extend; var _format = _format_helper.default.format; var BaseGauge = _base_widget.default.inherit({ _rootClassPrefix: "dxg", _themeSection: "gauge", _createThemeManager: function() { return new _theme_manager.default.ThemeManager(this._getThemeManagerOptions()) }, _initCore: function() { var root = this._renderer.root; this._valueChangingLocker = 0; this._translator = this._factory.createTranslator(); this._tracker = this._factory.createTracker({ renderer: this._renderer, container: root }); this._setTrackerCallbacks() }, _beginValueChanging: function() { this._resetIsReady(); this._onBeginUpdate(); ++this._valueChangingLocker }, _endValueChanging: function() { if (0 === --this._valueChangingLocker) { this._drawn() } }, _setTrackerCallbacks: function() { var renderer = this._renderer; var tooltip = this._tooltip; this._tracker.setCallbacks({ "tooltip-show": function(target, info, callback) { var tooltipParameters = target.getTooltipParameters(); var offset = renderer.getRootOffset(); var formatObject = _extend({ value: tooltipParameters.value, valueText: tooltip.formatValue(tooltipParameters.value), color: tooltipParameters.color }, info); return tooltip.show(formatObject, { x: tooltipParameters.x + offset.left, y: tooltipParameters.y + offset.top, offset: tooltipParameters.offset }, { target: info }, void 0, callback) }, "tooltip-hide": function() { return tooltip.hide() } }) }, _dispose: function() { this._cleanCore(); this.callBase.apply(this, arguments) }, _disposeCore: function() { this._themeManager.dispose(); this._tracker.dispose(); this._translator = this._tracker = null }, _cleanCore: function() { this._tracker.deactivate(); this._cleanContent() }, _renderCore: function() { if (!this._isValidDomain) { return } this._renderContent(); this._renderGraphicObjects(); this._tracker.setTooltipState(this._tooltip.isEnabled()); this._tracker.activate(); this._noAnimation = false }, _applyChanges: function() { this.callBase.apply(this, arguments); this._resizing = this._noAnimation = false }, _setContentSize: function() { var that = this; that._resizing = that._noAnimation = 2 === that._changes.count(); that.callBase.apply(that, arguments) }, _applySize: function(rect) { this._innerRect = { left: rect[0], top: rect[1], right: rect[2], bottom: rect[3] }; var layoutCache = this._layout._cache; this._cleanCore(); this._renderCore(); this._layout._cache = this._layout._cache || layoutCache; return [rect[0], this._innerRect.top, rect[2], this._innerRect.bottom] }, _initialChanges: ["DOMAIN"], _themeDependentChanges: ["DOMAIN"], _optionChangesMap: { subtitle: "MOSTLY_TOTAL", indicator: "MOSTLY_TOTAL", geometry: "MOSTLY_TOTAL", animation: "MOSTLY_TOTAL", startValue: "DOMAIN", endValue: "DOMAIN" }, _optionChangesOrder: ["DOMAIN", "MOSTLY_TOTAL"], _change_DOMAIN: function() { this._setupDomain() }, _change_MOSTLY_TOTAL: function() { this._applyMostlyTotalChange() }, _updateExtraElements: _common.noop, _setupDomain: function() { this._setupDomainCore(); this._isValidDomain = isFinite(1 / (this._translator.getDomain()[1] - this._translator.getDomain()[0])); if (!this._isValidDomain) { this._incidentOccurred("W2301") } this._change(["MOSTLY_TOTAL"]) }, _applyMostlyTotalChange: function() { this._setupCodomain(); this._setupAnimationSettings(); this._setupDefaultFormat(); this._change(["LAYOUT"]) }, _setupAnimationSettings: function() { var option = this.option("animation"); this._animationSettings = null; if (void 0 === option || option) { option = _extend({ enabled: true, duration: 1e3, easing: "easeOutCubic" }, option); if (option.enabled && option.duration > 0) { this._animationSettings = { duration: _Number(option.duration), easing: option.easing } } } this._containerBackgroundColor = this.option("containerBackgroundColor") || this._themeManager.theme().containerBackgroundColor }, _setupDefaultFormat: function() { var domain = this._translator.getDomain(); this._defaultFormatOptions = (0, _utils.getAppropriateFormat)(domain[0], domain[1], this._getApproximateScreenRange()) }, _setupDomainCore: null, _calculateSize: null, _cleanContent: null, _renderContent: null, _setupCodomain: null, _getApproximateScreenRange: null, _factory: { createTranslator: function() { return new _translator1d.Translator1D }, createTracker: function(parameters) { return new _tracker.default(parameters) } } }); exports.BaseGauge = BaseGauge; var formatValue = function(value, options, extra) { if (Object.is(value, -0)) { value = 0 } options = options || {}; var text = _format(value, options.format); var formatObject; if ("function" === typeof options.customizeText) { formatObject = _extend({ value: value, valueText: text }, extra); return String(options.customizeText.call(formatObject, formatObject)) } return text }; exports.formatValue = formatValue; exports.getSampleText = function(translator, options) { var text1 = formatValue(translator.getDomainStart(), options); var text2 = formatValue(translator.getDomainEnd(), options); return text1.length >= text2.length ? text1 : text2 }; BaseGauge.addPlugin(_export.plugin); BaseGauge.addPlugin(_title.plugin); BaseGauge.addPlugin(_tooltip.plugin); BaseGauge.addPlugin(_loading_indicator.plugin); var _setTooltipOptions = BaseGauge.prototype._setTooltipOptions; BaseGauge.prototype._setTooltipOptions = function() { _setTooltipOptions.apply(this, arguments); this._tracker && this._tracker.setTooltipState(this._tooltip.isEnabled()) } }, 3446: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/gauges/base_indicators.js ***! \***************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.BaseTextCloudMarker = exports.BaseRangeBar = exports.BaseIndicator = exports.BaseElement = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _base_gauge = __webpack_require__( /*! ./base_gauge */ 18029); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _class = (obj = __webpack_require__( /*! ../../core/class */ 38377), obj && obj.__esModule ? obj : { default: obj }); var obj; var _isFinite = isFinite; var _Number = Number; var _round = Math.round; var _formatValue = _base_gauge.formatValue; var _getSampleText = _base_gauge.getSampleText; var BaseElement = _class.default.inherit({ ctor: function(parameters) { var that = this; (0, _iterator.each)(parameters, (function(name, value) { that["_" + name] = value })); that._init() }, dispose: function() { var that = this; that._dispose(); (0, _iterator.each)(that, (function(name) { that[name] = null })); return that }, getOffset: function() { return _Number(this._options.offset) || 0 } }); exports.BaseElement = BaseElement; var BaseIndicator = BaseElement.inherit({ _init: function() { this._rootElement = this._createRoot().linkOn(this._owner, { name: "value-indicator", after: "core" }); this._trackerElement = this._createTracker() }, _dispose: function() { this._rootElement.linkOff() }, _setupAnimation: function() { var that = this; if (that._options.animation) { that._animation = { step: function(pos) { that._actualValue = that._animation.start + that._animation.delta * pos; that._actualPosition = that._translator.translate(that._actualValue); that._move() }, duration: that._options.animation.duration > 0 ? _Number(that._options.animation.duration) : 0, easing: that._options.animation.easing } } }, _runAnimation: function(value) { var animation = this._animation; animation.start = this._actualValue; animation.delta = value - this._actualValue; this._rootElement.animate({ _: 0 }, { step: animation.step, duration: animation.duration, easing: animation.easing }) }, _createRoot: function() { return this._renderer.g().attr({ class: this._className }) }, _createTracker: function() { return this._renderer.path([], "area") }, _getTrackerSettings: _common.noop, clean: function() { this._animation && this._rootElement.stopAnimation(); this._rootElement.linkRemove().clear(); this._clear(); this._tracker.detach(this._trackerElement); this._options = this.enabled = this._animation = null; return this }, render: function(options) { this.type = options.type; this._options = options; this._actualValue = this._currentValue = this._translator.adjust(this._options.currentValue); this.enabled = this._isEnabled(); if (this.enabled) { this._setupAnimation(); this._rootElement.attr({ fill: (0, _utils.extractColor)(this._options.color) }).linkAppend(); this._tracker.attach(this._trackerElement, this, this._trackerInfo) } return this }, resize: function(layout) { this._rootElement.clear(); this._clear(); this.visible = this._isVisible(layout); if (this.visible) { (0, _extend.extend)(this._options, layout); this._actualPosition = this._translator.translate(this._actualValue); this._render(); this._trackerElement.attr(this._getTrackerSettings()); this._move() } return this }, value: function(arg, _noAnimation) { var val; var rootElement = this._rootElement; var visibility = null; if (void 0 === arg) { return this._currentValue } if (null === arg) { visibility = "hidden"; this._currentValue = arg } else { val = this._translator.adjust(arg); if (this._currentValue !== val && _isFinite(val)) { this._currentValue = val; if (this.visible) { if (this._animation && !_noAnimation) { this._runAnimation(val) } else { this._actualValue = val; this._actualPosition = this._translator.translate(val); this._move() } } } } rootElement.attr({ visibility: visibility }); return this }, _isEnabled: null, _isVisible: null, _render: null, _clear: null, _move: null }); exports.BaseIndicator = BaseIndicator; var COEFFICIENTS_MAP = {}; COEFFICIENTS_MAP["right-bottom"] = COEFFICIENTS_MAP.rb = [0, -1, -1, 0, 0, 1, 1, 0]; COEFFICIENTS_MAP["bottom-right"] = COEFFICIENTS_MAP.br = [-1, 0, 0, -1, 1, 0, 0, 1]; COEFFICIENTS_MAP["left-bottom"] = COEFFICIENTS_MAP.lb = [0, -1, 1, 0, 0, 1, -1, 0]; COEFFICIENTS_MAP["bottom-left"] = COEFFICIENTS_MAP.bl = [1, 0, 0, -1, -1, 0, 0, 1]; COEFFICIENTS_MAP["left-top"] = COEFFICIENTS_MAP.lt = [0, 1, 1, 0, 0, -1, -1, 0]; COEFFICIENTS_MAP["top-left"] = COEFFICIENTS_MAP.tl = [1, 0, 0, 1, -1, 0, 0, -1]; COEFFICIENTS_MAP["right-top"] = COEFFICIENTS_MAP.rt = [0, 1, -1, 0, 0, -1, 1, 0]; COEFFICIENTS_MAP["top-right"] = COEFFICIENTS_MAP.tr = [-1, 0, 0, 1, 1, 0, 0, -1]; var BaseTextCloudMarker = BaseIndicator.inherit({ _move: function() { var options = this._options; var textCloudOptions = this._getTextCloudOptions(); var text = _formatValue(this._actualValue, options.text); this._text.attr({ text: text }); var bBox = this._text.getBBox(); var x = textCloudOptions.x; var y = textCloudOptions.y; var cloudWidth = (bBox.width || text.length * this._textUnitWidth) + 2 * options.horizontalOffset; var cloudHeight = (bBox.height || this._textHeight) + 2 * options.verticalOffset; var info = function(options) { var x = options.x; var y = options.y; var type = COEFFICIENTS_MAP[options.type]; var cloudWidth = options.cloudWidth; var cloudHeight = options.cloudHeight; var tailWidth; var tailHeight; var cx = x; var cy = y; tailWidth = tailHeight = options.tailLength; if (1 & type[0]) { tailHeight = Math.min(tailHeight, cloudHeight / 3) } else { tailWidth = Math.min(tailWidth, cloudWidth / 3) } return { cx: _round(cx + type[0] * tailWidth + (type[0] + type[2]) * cloudWidth / 2), cy: _round(cy + type[1] * tailHeight + (type[1] + type[3]) * cloudHeight / 2), points: [_round(x), _round(y), _round(x += type[0] * (cloudWidth + tailWidth)), _round(y += type[1] * (cloudHeight + tailHeight)), _round(x += type[2] * cloudWidth), _round(y += type[3] * cloudHeight), _round(x += type[4] * cloudWidth), _round(y += type[5] * cloudHeight), _round(x += type[6] * (cloudWidth - tailWidth)), _round(y += type[7] * (cloudHeight - tailHeight))] } }({ x: x, y: y, cloudWidth: cloudWidth, cloudHeight: cloudHeight, tailLength: options.arrowLength, type: this._correctCloudType(textCloudOptions.type, { x: x, y: y }, { width: cloudWidth, height: cloudHeight }) }); this._text.attr({ x: info.cx, y: info.cy + this._textVerticalOffset }); this._cloud.attr({ points: info.points }); this._trackerElement && this._trackerElement.attr({ points: info.points }) }, _measureText: function() { var root; var text; var bBox; var sampleText; if (!this._textVerticalOffset) { root = this._createRoot().append(this._owner); sampleText = _getSampleText(this._translator, this._options.text); text = this._renderer.text(sampleText, 0, 0).attr({ align: "center" }).css((0, _utils.patchFontOptions)(this._options.text.font)).append(root); bBox = text.getBBox(); root.remove(); this._textVerticalOffset = -bBox.y - bBox.height / 2; this._textWidth = bBox.width; this._textHeight = bBox.height; this._textUnitWidth = this._textWidth / sampleText.length; this._textFullWidth = this._textWidth + 2 * this._options.horizontalOffset; this._textFullHeight = this._textHeight + 2 * this._options.verticalOffset } }, _render: function() { this._measureText(); this._cloud = this._cloud || this._renderer.path([], "area").append(this._rootElement); this._text = this._text || this._renderer.text().append(this._rootElement); this._text.attr({ align: "center" }).css((0, _utils.patchFontOptions)(this._options.text.font)) }, _clear: function() { delete this._cloud; delete this._text }, getTooltipParameters: function() { var position = this._getTextCloudOptions(); return { x: position.x, y: position.y, value: this._currentValue, color: this._options.color } }, _correctCloudType: function(type) { return type } }); exports.BaseTextCloudMarker = BaseTextCloudMarker; var BaseRangeBar = BaseIndicator.inherit({ _measureText: function() { var root; var text; var bBox; this._hasText = this._isTextVisible(); if (this._hasText && !this._textVerticalOffset) { root = this._createRoot().append(this._owner); text = this._renderer.text(_getSampleText(this._translator, this._options.text), 0, 0).attr({ class: "dxg-text", align: "center" }).css((0, _utils.patchFontOptions)(this._options.text.font)).append(root); bBox = text.getBBox(); root.remove(); this._textVerticalOffset = -bBox.y - bBox.height / 2; this._textWidth = bBox.width; this._textHeight = bBox.height } }, _move: function() { this._updateBarItemsPositions(); if (this._hasText) { this._text.attr({ text: _formatValue(this._actualValue, this._options.text) }); this._updateTextPosition(); this._updateLinePosition() } }, _updateBarItems: function() { var options = this._options; var spaceColor; var translator = this._translator; this._setBarSides(); this._startPosition = translator.translate(translator.getDomainStart()); this._endPosition = translator.translate(translator.getDomainEnd()); this._basePosition = translator.translate(options.baseValue); this._space = this._getSpace(); var backgroundColor = options.backgroundColor || "none"; if ("none" !== backgroundColor && this._space > 0) { spaceColor = options.containerBackgroundColor || "none" } else { this._space = 0; spaceColor = "none" } this._backItem1.attr({ fill: backgroundColor }); this._backItem2.attr({ fill: backgroundColor }); this._spaceItem1.attr({ fill: spaceColor }); this._spaceItem2.attr({ fill: spaceColor }) }, _getSpace: function() { return 0 }, _updateTextItems: function() { if (this._hasText) { this._line = this._line || this._renderer.path([], "line").attr({ class: "dxg-main-bar", "stroke-linecap": "square" }).append(this._rootElement); this._text = this._text || this._renderer.text("", 0, 0).attr({ class: "dxg-text" }).append(this._rootElement); this._text.attr({ align: this._getTextAlign() }).css(this._getFontOptions()); this._setTextItemsSides() } else { if (this._line) { this._line.remove(); delete this._line } if (this._text) { this._text.remove(); delete this._text } } }, _isTextVisible: function() { return false }, _getTextAlign: function() { return "center" }, _getFontOptions: function() { var options = this._options; var font = options.text.font; if (!font || !font.color) { font = (0, _extend.extend)({}, font, { color: options.color }) } return (0, _utils.patchFontOptions)(font) }, _updateBarItemsPositions: function() { var positions = this._getPositions(); this._backItem1.attr(this._buildItemSettings(positions.start, positions.back1)); this._backItem2.attr(this._buildItemSettings(positions.back2, positions.end)); this._spaceItem1.attr(this._buildItemSettings(positions.back1, positions.main1)); this._spaceItem2.attr(this._buildItemSettings(positions.main2, positions.back2)); this._mainItem.attr(this._buildItemSettings(positions.main1, positions.main2)); this._trackerElement && this._trackerElement.attr(this._buildItemSettings(positions.main1, positions.main2)) }, _render: function() { this._measureText(); if (!this._backItem1) { this._backItem1 = this._createBarItem(); this._backItem1.attr({ class: "dxg-back-bar" }) } if (!this._backItem2) { this._backItem2 = this._createBarItem(); this._backItem2.attr({ class: "dxg-back-bar" }) } if (!this._spaceItem1) { this._spaceItem1 = this._createBarItem(); this._spaceItem1.attr({ class: "dxg-space-bar" }) } if (!this._spaceItem2) { this._spaceItem2 = this._createBarItem(); this._spaceItem2.attr({ class: "dxg-space-bar" }) } if (!this._mainItem) { this._mainItem = this._createBarItem(); this._mainItem.attr({ class: "dxg-main-bar" }) } this._updateBarItems(); this._updateTextItems() }, _clear: function() { delete this._backItem1; delete this._backItem2; delete this._spaceItem1; delete this._spaceItem2; delete this._mainItem; delete this._hasText; delete this._line; delete this._text }, getTooltipParameters: function() { var position = this._getTooltipPosition(); return { x: position.x, y: position.y, value: this._currentValue, color: this._options.color, offset: 0 } } }); exports.BaseRangeBar = BaseRangeBar }, 84165: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/gauges/base_range_container.js ***! \********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _base_indicators = __webpack_require__( /*! ./base_indicators */ 3446); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _Number = Number; var _isArray = Array.isArray; var _isFinite = isFinite; var BaseRangeContainer = _base_indicators.BaseElement.inherit({ _init: function() { this._root = this._renderer.g().attr({ class: "dxg-range-container" }).linkOn(this._container, "range-container") }, _dispose: function() { this._root.linkOff() }, clean: function() { this._root.linkRemove().clear(); this._options = this.enabled = null; return this }, _getRanges: function() { var options = this._options; var translator = this._translator; var totalStart = translator.getDomain()[0]; var totalEnd = translator.getDomain()[1]; var totalDelta = totalEnd - totalStart; var isValidSegment = totalDelta >= 0 ? isValidSegmentAsc : isValidSegmentDesc; var subtractSegment = totalDelta >= 0 ? subtractSegmentAsc : subtractSegmentDesc; var list; var ranges = []; var backgroundRanges = [{ start: totalStart, end: totalEnd }]; var backgroundColor = (0, _utils.extractColor)(options.backgroundColor) || "none"; var width = options.width || {}; var startWidth = _Number(width > 0 ? width : width.start); var endWidth = _Number(width > 0 ? width : width.end); var deltaWidth = endWidth - startWidth; if (void 0 !== options.ranges && !_isArray(options.ranges)) { return null } if (!(startWidth >= 0 && endWidth >= 0 && startWidth + endWidth > 0)) { return null } list = (_isArray(options.ranges) ? options.ranges : []).reduce((function(result, rangeOptions, i) { rangeOptions = rangeOptions || {}; var start = translator.adjust(rangeOptions.startValue); var end = translator.adjust(rangeOptions.endValue); if (_isFinite(start) && _isFinite(end) && isValidSegment(start, end, rangeOptions)) { result.push({ start: start, end: end, color: (0, _utils.extractColor)(rangeOptions.color), classIndex: i }) } return result }), []); var palette = this._themeManager.createPalette(options.palette, { type: "indicatingSet", extensionMode: options.paletteExtensionMode, keepLastColorInEnd: true, count: list.length }); (0, _iterator.each)(list, (function(_, item) { var paletteColor = palette.getNextColor(); item.color = (0, _type.isString)(item.color) && item.color || paletteColor || "none"; item.className = "dxg-range dxg-range-" + item.classIndex; delete item.classIndex })); (0, _iterator.each)(list, (function(_, item) { var i; var ii; var sub; var subs; var range; var newRanges = []; var newBackgroundRanges = []; for (i = 0, ii = ranges.length; i < ii; ++i) { range = ranges[i]; subs = subtractSegment(range.start, range.end, item.start, item.end); (sub = subs[0]) && (sub.color = range.color) && (sub.className = range.className) && newRanges.push(sub); (sub = subs[1]) && (sub.color = range.color) && (sub.className = range.className) && newRanges.push(sub) } newRanges.push(item); ranges = newRanges; for (i = 0, ii = backgroundRanges.length; i < ii; ++i) { range = backgroundRanges[i]; subs = subtractSegment(range.start, range.end, item.start, item.end); (sub = subs[0]) && newBackgroundRanges.push(sub); (sub = subs[1]) && newBackgroundRanges.push(sub) } backgroundRanges = newBackgroundRanges })); (0, _iterator.each)(backgroundRanges, (function(_, range) { range.color = backgroundColor; range.className = "dxg-range dxg-background-range"; ranges.push(range) })); (0, _iterator.each)(ranges, (function(_, range) { range.startWidth = (range.start - totalStart) / totalDelta * deltaWidth + startWidth; range.endWidth = (range.end - totalStart) / totalDelta * deltaWidth + startWidth })); return ranges }, render: function(options) { this._options = options; this._processOptions(); this._ranges = this._getRanges(); if (this._ranges) { this.enabled = true; this._root.linkAppend() } return this }, resize: function(layout) { var that = this; that._root.clear(); if (that._isVisible(layout)) { (0, _iterator.each)(that._ranges, (function(_, range) { that._createRange(range, layout).attr({ fill: range.color, class: range.className }).append(that._root) })) } return that }, _processOptions: null, _isVisible: null, _createRange: null, getColorForValue: function(value) { var color = null; (0, _iterator.each)(this._ranges, (function(_, range) { if (range.start <= value && value <= range.end || range.start >= value && value >= range.end) { color = range.color; return false } })); return color } }); function subtractSegmentAsc(segmentStart, segmentEnd, otherStart, otherEnd) { var result; if (otherStart > segmentStart && otherEnd < segmentEnd) { result = [{ start: segmentStart, end: otherStart }, { start: otherEnd, end: segmentEnd }] } else if (otherStart >= segmentEnd || otherEnd <= segmentStart) { result = [{ start: segmentStart, end: segmentEnd }] } else if (otherStart <= segmentStart && otherEnd >= segmentEnd) { result = [] } else if (otherStart > segmentStart) { result = [{ start: segmentStart, end: otherStart }] } else if (otherEnd < segmentEnd) { result = [{ start: otherEnd, end: segmentEnd }] } return result } function subtractSegmentDesc(segmentStart, segmentEnd, otherStart, otherEnd) { var result; if (otherStart < segmentStart && otherEnd > segmentEnd) { result = [{ start: segmentStart, end: otherStart }, { start: otherEnd, end: segmentEnd }] } else if (otherStart <= segmentEnd || otherEnd >= segmentStart) { result = [{ start: segmentStart, end: segmentEnd }] } else if (otherStart >= segmentStart && otherEnd <= segmentEnd) { result = [] } else if (otherStart < segmentStart) { result = [{ start: segmentStart, end: otherStart }] } else if (otherEnd > segmentEnd) { result = [{ start: otherEnd, end: segmentEnd }] } return result } function areEqualValues(start, end, _ref) { var startValue = _ref.startValue, endValue = _ref.endValue; return endValue === startValue && startValue === start && end === start } function isValidSegmentAsc(start, end, options) { return end - start > 0 || areEqualValues(start, end, options) } function isValidSegmentDesc(start, end, options) { return start - end > 0 || areEqualValues(start, end, options) } var _default = BaseRangeContainer; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 31500: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/gauges/circular_gauge.js ***! \**************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _object = __webpack_require__( /*! ../../core/utils/object */ 48013); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _base_gauge = __webpack_require__( /*! ./base_gauge */ 18029); var _common = __webpack_require__( /*! ./common */ 88917); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _center_template = __webpack_require__( /*! ../core/center_template */ 56672); var circularIndicators = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ./circular_indicators */ 16030)); var _circular_range_container = _interopRequireDefault(__webpack_require__( /*! ./circular_range_container */ 27172)); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _isFinite = isFinite; var _normalizeAngle = _utils.normalizeAngle; var _getCosAndSin = _utils.getCosAndSin; var _abs = Math.abs; var _max = Math.max; var _min = Math.min; var _round = Math.round; var _each = _iterator.each; var PI = Math.PI; var dxCircularGauge = _common.dxGauge.inherit({ _rootClass: "dxg-circular-gauge", _factoryMethods: { rangeContainer: "createCircularRangeContainer", indicator: "createCircularIndicator" }, _gridSpacingFactor: 17, _scaleTypes: { type: "polarAxes", drawingType: "circular" }, _getThemeManagerOptions: function() { var options = this.callBase.apply(this, arguments); options.subTheme = "_circular"; return options }, _updateScaleTickIndent: function(scaleOptions) { var indentFromTick = scaleOptions.label.indentFromTick; var length = scaleOptions.tick.visible ? scaleOptions.tick.length : 0; var textParams = this._scale.measureLabels((0, _extend.extend)({}, this._canvas)); var scaleOrientation = scaleOptions.orientation; var tickCorrection = length; var indentFromAxis = indentFromTick; if (indentFromTick >= 0) { if ("outside" === scaleOrientation) { indentFromAxis += tickCorrection } else if ("center" === scaleOrientation) { indentFromAxis += tickCorrection / 2 } } else { var labelCorrection = _max(textParams.width, textParams.height); indentFromAxis -= labelCorrection; if ("inside" === scaleOrientation) { indentFromAxis -= tickCorrection } else if ("center" === scaleOrientation) { indentFromAxis -= tickCorrection / 2 } } scaleOptions.label.indentFromAxis = indentFromAxis; this._scale.updateOptions(scaleOptions) }, _setupCodomain: function() { var geometry = this.option("geometry") || {}; var startAngle = geometry.startAngle; var endAngle = geometry.endAngle; var sides; startAngle = _isFinite(startAngle) ? _normalizeAngle(startAngle) : 225; endAngle = _isFinite(endAngle) ? _normalizeAngle(endAngle) : -45; if (_abs(startAngle - endAngle) < 1) { endAngle -= 360; sides = { left: -1, up: -1, right: 1, down: 1 } } else { startAngle < endAngle && (endAngle -= 360); sides = function(startAngle, endAngle) { var startCosSin = _getCosAndSin(startAngle); var endCosSin = _getCosAndSin(endAngle); var startCos = startCosSin.cos; var startSin = startCosSin.sin; var endCos = endCosSin.cos; var endSin = endCosSin.sin; return { left: startSin <= 0 && endSin >= 0 || startSin <= 0 && endSin <= 0 && startCos <= endCos || startSin >= 0 && endSin >= 0 && startCos >= endCos ? -1 : _min(startCos, endCos, 0), right: startSin >= 0 && endSin <= 0 || startSin >= 0 && endSin >= 0 && startCos >= endCos || startSin <= 0 && endSin <= 0 && startCos <= endCos ? 1 : _max(startCos, endCos, 0), up: startCos <= 0 && endCos >= 0 || startCos <= 0 && endCos <= 0 && startSin >= endSin || startCos >= 0 && endCos >= 0 && startSin <= endSin ? -1 : -_max(startSin, endSin, 0), down: startCos >= 0 && endCos <= 0 || startCos >= 0 && endCos >= 0 && startSin <= endSin || startCos <= 0 && endCos <= 0 && startSin >= endSin ? 1 : -_min(startSin, endSin, 0) } }(startAngle, endAngle) } this._area = { x: 0, y: 0, radius: 100, startCoord: startAngle, endCoord: endAngle, sides: sides }; this._translator.setCodomain(startAngle, endAngle) }, _getCenter: function() { return this._getElementLayout() }, _shiftScale: function(layout) { var scale = this._scale; var canvas = scale.getCanvas(); canvas.width = canvas.height = 2 * layout.radius; scale.draw(canvas); var centerCoords = scale.getCenter(); scale.shift({ right: layout.x - centerCoords.x, bottom: layout.y - centerCoords.y }) }, _getScaleLayoutValue: function() { return this._area.radius }, _getTicksOrientation: function(scaleOptions) { return scaleOptions.orientation }, _getTicksCoefficients: function(options) { var coefs = { inner: 0, outer: 1 }; if ("inside" === options.orientation) { coefs.inner = 1; coefs.outer = 0 } else if ("center" === options.orientation) { coefs.inner = coefs.outer = .5 } return coefs }, _correctScaleIndents: function(result, indentFromTick, textParams) { if (indentFromTick >= 0) { result.horizontalOffset = indentFromTick + textParams.width; result.verticalOffset = indentFromTick + textParams.height } else { result.horizontalOffset = result.verticalOffset = 0; result.min -= -indentFromTick + _max(textParams.width, textParams.height) } result.inverseHorizontalOffset = textParams.width / 2; result.inverseVerticalOffset = textParams.height / 2 }, _measureMainElements: function(elements, scaleMeasurement) { var radius = this._area.radius; var maxRadius = 0; var minRadius = 1 / 0; var maxHorizontalOffset = 0; var maxVerticalOffset = 0; var maxInverseHorizontalOffset = 0; var maxInverseVerticalOffset = 0; var scale = this._scale; _each(elements.concat(scale), (function(_, element) { var bounds = element.measure ? element.measure({ radius: radius - element.getOffset() }) : scaleMeasurement; bounds.min > 0 && (minRadius = _min(minRadius, bounds.min)); bounds.max > 0 && (maxRadius = _max(maxRadius, bounds.max)); bounds.horizontalOffset > 0 && (maxHorizontalOffset = _max(maxHorizontalOffset, bounds.max + bounds.horizontalOffset)); bounds.verticalOffset > 0 && (maxVerticalOffset = _max(maxVerticalOffset, bounds.max + bounds.verticalOffset)); bounds.inverseHorizontalOffset > 0 && (maxInverseHorizontalOffset = _max(maxInverseHorizontalOffset, bounds.inverseHorizontalOffset)); bounds.inverseVerticalOffset > 0 && (maxInverseVerticalOffset = _max(maxInverseVerticalOffset, bounds.inverseVerticalOffset)) })); maxHorizontalOffset = _max(maxHorizontalOffset - maxRadius, 0); maxVerticalOffset = _max(maxVerticalOffset - maxRadius, 0); return { minRadius: minRadius, maxRadius: maxRadius, horizontalMargin: maxHorizontalOffset, verticalMargin: maxVerticalOffset, inverseHorizontalMargin: maxInverseHorizontalOffset, inverseVerticalMargin: maxInverseVerticalOffset } }, _applyMainLayout: function(elements, scaleMeasurement) { var measurements = this._measureMainElements(elements, scaleMeasurement); var area = this._area; var sides = area.sides; var margins = { left: (sides.left < -.1 ? measurements.horizontalMargin : measurements.inverseHorizontalMargin) || 0, right: (sides.right > .1 ? measurements.horizontalMargin : measurements.inverseHorizontalMargin) || 0, top: (sides.up < -.1 ? measurements.verticalMargin : measurements.inverseVerticalMargin) || 0, bottom: (sides.down > .1 ? measurements.verticalMargin : measurements.inverseVerticalMargin) || 0 }; var rect = function(srcRect, aspectRatio, margins) { var rect = (0, _extend.extend)({}, srcRect); var selfAspectRatio; var width = 0; var height = 0; margins = margins || {}; if (aspectRatio > 0) { rect.left += margins.left || 0; rect.right -= margins.right || 0; rect.top += margins.top || 0; rect.bottom -= margins.bottom || 0; if (getWidth(rect) > 0 && getHeight(rect) > 0) { selfAspectRatio = getHeight(rect) / getWidth(rect); if (selfAspectRatio > 1) { aspectRatio < selfAspectRatio ? width = getWidth(rect) : height = getHeight(rect) } else { aspectRatio > selfAspectRatio ? height = getHeight(rect) : width = getWidth(rect) } width > 0 || (width = height / aspectRatio); height > 0 || (height = width * aspectRatio); width = (getWidth(rect) - width) / 2; height = (getHeight(rect) - height) / 2; rect.left += width; rect.right -= width; rect.top += height; rect.bottom -= height } else { rect.left = rect.right = (rect.left + rect.right) / 2; rect.top = rect.bottom = (rect.top + rect.bottom) / 2 } } return rect }(this._innerRect, (sides.down - sides.up) / (sides.right - sides.left), margins); var radius = _min(getWidth(rect) / (sides.right - sides.left), getHeight(rect) / (sides.down - sides.up)); radius = radius - measurements.maxRadius + area.radius; var x = rect.left - getWidth(rect) * sides.left / (sides.right - sides.left); var y = rect.top - getHeight(rect) * sides.up / (sides.down - sides.up); area.x = _round(x); area.y = _round(y); area.radius = radius; rect.left -= margins.left; rect.right += margins.right; rect.top -= margins.top; rect.bottom += margins.bottom; this._innerRect = rect }, _getElementLayout: function() { var offset = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0; return { x: this._area.x, y: this._area.y, radius: _round(this._area.radius - offset) } }, _getApproximateScreenRange: function() { var area = this._area; var r = _min(this._canvas.width / (area.sides.right - area.sides.left), this._canvas.height / (area.sides.down - area.sides.up)); r > area.totalRadius && (r = area.totalRadius); r *= .8; return -this._translator.getCodomainRange() * r * PI / 180 }, _getDefaultSize: function() { return { width: 300, height: 300 } }, _factory: (0, _object.clone)(_base_gauge.BaseGauge.prototype._factory) }); function getWidth(rect) { return rect.right - rect.left } function getHeight(rect) { return rect.bottom - rect.top } var indicators = dxCircularGauge.prototype._factory.indicators = {}; dxCircularGauge.prototype._factory.createIndicator = (0, _common.createIndicatorCreator)(indicators); indicators._default = circularIndicators._default; indicators.rectangleneedle = circularIndicators.rectangleneedle; indicators.triangleneedle = circularIndicators.triangleneedle; indicators.twocolorneedle = circularIndicators.twocolorneedle; indicators.trianglemarker = circularIndicators.trianglemarker; indicators.textcloud = circularIndicators.textcloud; indicators.rangebar = circularIndicators.rangebar; dxCircularGauge.prototype._factory.RangeContainer = _circular_range_container.default; (0, _component_registrator.default)("dxCircularGauge", dxCircularGauge); dxCircularGauge.addPlugin(_center_template.plugins.gauge); var _default = dxCircularGauge; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 16030: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/gauges/circular_indicators.js ***! \*******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.twocolorneedle = exports.triangleneedle = exports.trianglemarker = exports.textcloud = exports.rectangleneedle = exports.rangebar = exports._default = void 0; var _base_indicators = __webpack_require__( /*! ./base_indicators */ 3446); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _Number = Number; var _getCosAndSin = _utils.getCosAndSin; var _convertAngleToRendererSpace = _utils.convertAngleToRendererSpace; function correctRadius(layout, size) { if (layout && layout.radius - size <= 0) { layout.radius = size + 1 } return layout } var SimpleIndicator = _base_indicators.BaseIndicator.inherit({ _move: function() { var options = this._options; var angle = _convertAngleToRendererSpace(this._actualPosition); this._rootElement.rotate(angle, options.x, options.y); this._trackerElement && this._trackerElement.rotate(angle, options.x, options.y) }, _isEnabled: function() { return this._options.width > 0 }, _isVisible: function(layout) { return layout.radius - _Number(this._options.indentFromCenter) > 0 }, _getTrackerSettings: function() { var options = this._options; var radius = this._getRadius(); var indentFromCenter = this._getIndentFromCenter(); var x = options.x; var y = options.y - (radius + indentFromCenter) / 2; var width = options.width / 2; var length = (radius - indentFromCenter) / 2; width > 10 || (width = 10); length > 10 || (length = 10); return { points: [x - width, y - length, x - width, y + length, x + width, y + length, x + width, y - length] } }, _render: function() { this._renderPointer() }, _clearPointer: function() { delete this._element }, _clear: function() { this._clearPointer() }, _getIndentFromCenter: function(radius) { return Number(this._options.indentFromCenter) || 0 }, _getRadius: function() { return 0 }, measure: function(layout) { var result = { max: layout.radius }; if (this._options.indentFromCenter < 0) { result.inverseHorizontalOffset = result.inverseVerticalOffset = -_Number(this._options.indentFromCenter) } return result }, getTooltipParameters: function() { var options = this._options; var cosSin = _getCosAndSin(this._actualPosition); var r = (this._getRadius() + this._getIndentFromCenter()) / 2; return { x: options.x + cosSin.cos * r, y: options.y - cosSin.sin * r, value: this._currentValue, color: options.color, offset: options.width / 2 } } }); var NeedleIndicator = SimpleIndicator.inherit({ _isVisible: function(layout) { var indentFromCenter = this._adjustOffset(Number(this._options.indentFromCenter), layout.radius); var offset = this._adjustOffset(Number(this._options.offset), layout.radius); return layout.radius - indentFromCenter - offset > 0 }, getOffset: function() { return 0 }, _adjustOffset: function(value, radius) { var minRadius = Number(this._options.beginAdaptingAtRadius); var diff = radius / minRadius; if (diff < 1) { value = Math.floor(value * diff) } return value || 0 }, _getIndentFromCenter: function(radius) { return this._adjustOffset(Number(this._options.indentFromCenter), this._options.radius) }, _getRadius: function() { var options = this._options; return options.radius - this._adjustOffset(Number(options.offset), options.radius) }, _renderSpindle: function() { var options = this._options; var radius = options.radius; var spindleSize = 2 * this._adjustOffset(_Number(options.spindleSize) / 2, radius); var gapSize = 2 * this._adjustOffset(_Number(options.spindleGapSize) / 2, radius) || 0; if (gapSize > 0) { gapSize = gapSize <= spindleSize ? gapSize : spindleSize } if (spindleSize > 0) { this._spindleOuter = this._spindleOuter || this._renderer.circle().append(this._rootElement); this._spindleInner = this._spindleInner || this._renderer.circle().append(this._rootElement); this._spindleOuter.attr({ class: "dxg-spindle-border", cx: options.x, cy: options.y, r: spindleSize / 2 }); this._spindleInner.attr({ class: "dxg-spindle-hole", cx: options.x, cy: options.y, r: gapSize / 2, fill: options.containerBackgroundColor }) } }, _render: function() { this.callBase(); this._renderSpindle() }, _clear: function() { this.callBase(); delete this._spindleOuter; delete this._spindleInner } }); var rectangleNeedle = NeedleIndicator.inherit({ _renderPointer: function() { var options = this._options; var y2 = options.y - this._getRadius(); var y1 = options.y - this._getIndentFromCenter(); var x1 = options.x - options.width / 2; var x2 = x1 + _Number(options.width); this._element = this._element || this._renderer.path([], "area").append(this._rootElement); this._element.attr({ points: [x1, y1, x1, y2, x2, y2, x2, y1] }) } }); exports.rectangleneedle = exports._default = rectangleNeedle; var triangleNeedle = NeedleIndicator.inherit({ _renderPointer: function() { var options = this._options; var y2 = options.y - this._getRadius(); var y1 = options.y - this._getIndentFromCenter(); var x1 = options.x - options.width / 2; var x2 = options.x + options.width / 2; this._element = this._element || this._renderer.path([], "area").append(this._rootElement); this._element.attr({ points: [x1, y1, options.x, y2, x2, y1] }) } }); exports.triangleneedle = triangleNeedle; var twoColorNeedle = NeedleIndicator.inherit({ _renderPointer: function() { var options = this._options; var x1 = options.x - options.width / 2; var x2 = options.x + options.width / 2; var y4 = options.y - this._getRadius(); var y1 = options.y - this._getIndentFromCenter(); var fraction = _Number(options.secondFraction) || 0; var y2; var y3; if (fraction >= 1) { y2 = y3 = y1 } else if (fraction <= 0) { y2 = y3 = y4 } else { y3 = y4 + (y1 - y4) * fraction; y2 = y3 + _Number(options.space) } this._firstElement = this._firstElement || this._renderer.path([], "area").append(this._rootElement); this._spaceElement = this._spaceElement || this._renderer.path([], "area").append(this._rootElement); this._secondElement = this._secondElement || this._renderer.path([], "area").append(this._rootElement); this._firstElement.attr({ points: [x1, y1, x1, y2, x2, y2, x2, y1] }); this._spaceElement.attr({ points: [x1, y2, x1, y3, x2, y3, x2, y2], class: "dxg-hole", fill: options.containerBackgroundColor }); this._secondElement.attr({ points: [x1, y3, x1, y4, x2, y4, x2, y3], class: "dxg-part", fill: options.secondColor }) }, _clearPointer: function() { delete this._firstElement; delete this._secondElement; delete this._spaceElement } }); exports.twocolorneedle = twoColorNeedle; var triangleMarker = SimpleIndicator.inherit({ _isEnabled: function() { return this._options.length > 0 && this._options.width > 0 }, _isVisible: function(layout) { return true }, resize: function(layout) { return this.callBase(correctRadius(layout, 0)) }, _render: function() { var options = this._options; var x = options.x; var y1 = options.y - options.radius; var dx = options.width / 2 || 0; var y2 = y1 - _Number(options.length); this._element = this._element || this._renderer.path([], "area").append(this._rootElement); var settings = { points: [x, y1, x - dx, y2, x + dx, y2], stroke: "none", "stroke-width": 0, "stroke-linecap": "square" }; if (options.space > 0) { settings["stroke-width"] = Math.min(options.space, options.width / 4) || 0; settings.stroke = settings["stroke-width"] > 0 ? options.containerBackgroundColor || "none" : "none" } this._element.attr(settings).sharp() }, _clear: function() { delete this._element }, _getTrackerSettings: function() { var options = this._options; var x = options.x; var y = options.y - options.radius - options.length / 2; var width = options.width / 2; var length = options.length / 2; width > 10 || (width = 10); length > 10 || (length = 10); return { points: [x - width, y - length, x - width, y + length, x + width, y + length, x + width, y - length] } }, measure: function(layout) { return { min: layout.radius, max: layout.radius + _Number(this._options.length) } }, getTooltipParameters: function() { var options = this._options; var cosSin = _getCosAndSin(this._actualPosition); var r = options.radius + options.length / 2; var parameters = this.callBase(); parameters.x = options.x + cosSin.cos * r; parameters.y = options.y - cosSin.sin * r; parameters.offset = options.length / 2; return parameters } }); exports.trianglemarker = triangleMarker; var textCloud = _base_indicators.BaseTextCloudMarker.inherit({ _isEnabled: function() { return true }, _isVisible: function(layout) { return true }, resize: function(layout) { return this.callBase(correctRadius(layout, 0)) }, _getTextCloudOptions: function() { var cosSin = _getCosAndSin(this._actualPosition); var nAngle = (0, _utils.normalizeAngle)(this._actualPosition); return { x: this._options.x + cosSin.cos * this._options.radius, y: this._options.y - cosSin.sin * this._options.radius, type: nAngle > 270 ? "left-top" : nAngle > 180 ? "top-right" : nAngle > 90 ? "right-bottom" : "bottom-left" } }, measure: function(layout) { var arrowLength = _Number(this._options.arrowLength) || 0; this._measureText(); var verticalOffset = this._textFullHeight + arrowLength; var horizontalOffset = this._textFullWidth + arrowLength; return { min: layout.radius, max: layout.radius, horizontalOffset: horizontalOffset, verticalOffset: verticalOffset, inverseHorizontalOffset: horizontalOffset, inverseVerticalOffset: verticalOffset } } }); exports.textcloud = textCloud; var rangeBar = _base_indicators.BaseRangeBar.inherit({ _isEnabled: function() { return this._options.size > 0 }, _isVisible: function(layout) { return true }, resize: function(layout) { return this.callBase(correctRadius(layout, _Number(this._options.size))) }, _createBarItem: function() { return this._renderer.arc().attr({ "stroke-linejoin": "round" }).append(this._rootElement) }, _createTracker: function() { return this._renderer.arc().attr({ "stroke-linejoin": "round" }) }, _setBarSides: function() { this._maxSide = this._options.radius; this._minSide = this._maxSide - _Number(this._options.size) }, _getSpace: function() { var options = this._options; return options.space > 0 ? 180 * options.space / options.radius / Math.PI : 0 }, _isTextVisible: function() { var options = this._options.text || {}; return options.indent > 0 }, _setTextItemsSides: function() { var options = this._options; var indent = _Number(options.text.indent); this._lineFrom = options.y - options.radius; this._lineTo = this._lineFrom - indent; this._textRadius = options.radius + indent }, _getPositions: function() { var basePosition = this._basePosition; var actualPosition = this._actualPosition; var mainPosition1; var mainPosition2; if (basePosition >= actualPosition) { mainPosition1 = basePosition; mainPosition2 = actualPosition } else { mainPosition1 = actualPosition; mainPosition2 = basePosition } return { start: this._startPosition, end: this._endPosition, main1: mainPosition1, main2: mainPosition2, back1: Math.min(mainPosition1 + this._space, this._startPosition), back2: Math.max(mainPosition2 - this._space, this._endPosition) } }, _buildItemSettings: function(from, to) { return { x: this._options.x, y: this._options.y, innerRadius: this._minSide, outerRadius: this._maxSide, startAngle: to, endAngle: from } }, _updateTextPosition: function() { var cosSin = _getCosAndSin(this._actualPosition); var x = this._options.x + this._textRadius * cosSin.cos; var y = this._options.y - this._textRadius * cosSin.sin; x += cosSin.cos * this._textWidth * .6; y -= cosSin.sin * this._textHeight * .6; this._text.attr({ x: x, y: y + this._textVerticalOffset }) }, _updateLinePosition: function() { var x = this._options.x; var x1; var x2; if (this._basePosition > this._actualPosition) { x1 = x - 2; x2 = x } else if (this._basePosition < this._actualPosition) { x1 = x; x2 = x + 2 } else { x1 = x - 1; x2 = x + 1 } this._line.attr({ points: [x1, this._lineFrom, x1, this._lineTo, x2, this._lineTo, x2, this._lineFrom] }).rotate(_convertAngleToRendererSpace(this._actualPosition), x, this._options.y).sharp() }, _getTooltipPosition: function() { var cosSin = _getCosAndSin((this._basePosition + this._actualPosition) / 2); var r = (this._minSide + this._maxSide) / 2; return { x: this._options.x + cosSin.cos * r, y: this._options.y - cosSin.sin * r } }, measure: function(layout) { var result = { min: layout.radius - _Number(this._options.size), max: layout.radius }; this._measureText(); if (this._hasText) { result.max += _Number(this._options.text.indent); result.horizontalOffset = this._textWidth; result.verticalOffset = this._textHeight } return result } }); exports.rangebar = rangeBar }, 27172: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/gauges/circular_range_container.js ***! \************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _base_range_container = (obj = __webpack_require__( /*! ./base_range_container */ 84165), obj && obj.__esModule ? obj : { default: obj }); var obj; var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _Number = Number; var _max = Math.max; var CircularRangeContainer = _base_range_container.default.inherit({ _processOptions: function() { this._inner = this._outer = 0; switch ((0, _utils.normalizeEnum)(this._options.orientation)) { case "inside": this._inner = 1; break; case "center": this._inner = this._outer = .5; break; default: this._outer = 1 } }, _isVisible: function(layout) { var width = this._options.width; width = _Number(width) || _max(_Number(width.start), _Number(width.end)); return layout.radius - this._inner * width > 0 }, _createRange: function(range, layout) { var width = (range.startWidth + range.endWidth) / 2; return this._renderer.arc(layout.x, layout.y, layout.radius - this._inner * width, layout.radius + this._outer * width, this._translator.translate(range.end), this._translator.translate(range.start)).attr({ "stroke-linejoin": "round" }) }, measure: function(layout) { var width = this._options.width; width = _Number(width) || _max(_Number(width.start), _Number(width.end)); return { min: layout.radius - this._inner * width, max: layout.radius + this._outer * width } } }); var _default = CircularRangeContainer; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 88917: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/gauges/common.js ***! \******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.createIndicatorCreator = function(indicators) { return function(parameters, type, _strict) { var indicatorType = indicators[(0, _utils.normalizeEnum)(type)] || !_strict && indicators._default; return indicatorType ? new indicatorType(parameters) : null } }; exports.dxGauge = void 0; var _base_gauge = __webpack_require__( /*! ./base_gauge */ 18029); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _base_axis = __webpack_require__( /*! ../axes/base_axis */ 41278); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _isArray = Array.isArray; var _isFinite = isFinite; var _Number = Number; var _min = Math.min; var _max = Math.max; var _extend = _extend2.extend; var DEFAULT_NUMBER_MULTIPLIERS = [1, 2, 5]; function processValue(value, fallbackValue) { if (null === value) { return value } return _isFinite(value) ? _Number(value) : fallbackValue } function parseArrayOfNumbers(arg) { return _isArray(arg) ? arg : (0, _type.isNumeric)(arg) ? [arg] : null } var dxGauge = _base_gauge.BaseGauge.inherit({ _initCore: function() { var that = this; var renderer = that._renderer; that._setupValue(that.option("value")); that.__subvalues = parseArrayOfNumbers(that.option("subvalues")); that._setupSubvalues(that.__subvalues); selectMode(that); that.callBase.apply(that, arguments); that._rangeContainer = new that._factory.RangeContainer({ renderer: renderer, container: renderer.root, translator: that._translator, themeManager: that._themeManager }); that._initScale(); that._subvalueIndicatorContainer = that._renderer.g().attr({ class: "dxg-subvalue-indicators" }).linkOn(that._renderer.root, "valueIndicator").enableLinks() }, _fontFields: ["scale.label.font", "valueIndicators.rangebar.text.font", "valueIndicators.textcloud.text.font", "indicator.text.font"], _initScale: function() { this._scaleGroup = this._renderer.g().attr({ class: "dxg-scale" }).linkOn(this._renderer.root, "scale"); this._labelsAxesGroup = this._renderer.g().attr({ class: "dxg-scale-elements" }).linkOn(this._renderer.root, "scale-elements"); this._scale = new _base_axis.Axis({ incidentOccurred: this._incidentOccurred, renderer: this._renderer, axesContainerGroup: this._scaleGroup, labelsAxesGroup: this._labelsAxesGroup, axisType: this._scaleTypes.type, drawingType: this._scaleTypes.drawingType, widgetClass: "dxg", getTemplate: function() {} }) }, _disposeCore: function() { var that = this; that.callBase.apply(that, arguments); that._scale.dispose(); that._scaleGroup.linkOff(); that._labelsAxesGroup.linkOff(); that._rangeContainer.dispose(); that._disposeValueIndicators(); that._subvalueIndicatorContainer.linkOff(); that._scale = that._scaleGroup = that._labelsAxesGroup = that._rangeContainer = null }, _disposeValueIndicators: function() { this._valueIndicator && this._valueIndicator.dispose(); this._subvalueIndicatorsSet && this._subvalueIndicatorsSet.dispose(); this._valueIndicator = this._subvalueIndicatorsSet = null }, _setupDomainCore: function() { var scaleOption = this.option("scale") || {}; var startValue = this.option("startValue"); var endValue = this.option("endValue"); startValue = (0, _type.isNumeric)(startValue) ? _Number(startValue) : (0, _type.isNumeric)(scaleOption.startValue) ? _Number(scaleOption.startValue) : 0; endValue = (0, _type.isNumeric)(endValue) ? _Number(endValue) : (0, _type.isNumeric)(scaleOption.endValue) ? _Number(scaleOption.endValue) : 100; this._baseValue = startValue < endValue ? startValue : endValue; this._translator.setDomain(startValue, endValue) }, _cleanContent: function() { this._rangeContainer.clean(); this._cleanValueIndicators() }, _measureScale: function(scaleOptions) { var majorTick = scaleOptions.tick; var majorTickEnabled = majorTick.visible && majorTick.length > 0 && majorTick.width > 0; var minorTick = scaleOptions.minorTick; var minorTickEnabled = minorTick.visible && minorTick.length > 0 && minorTick.width > 0; var label = scaleOptions.label; var indentFromTick = Number(label.indentFromTick); if (!majorTickEnabled && !minorTickEnabled && !label.visible) { return {} } var textParams = this._scale.measureLabels((0, _extend2.extend)({}, this._canvas)); var layoutValue = this._getScaleLayoutValue(); var result = { min: layoutValue, max: layoutValue }; var coefs = this._getTicksCoefficients(scaleOptions); var innerCoef = coefs.inner; var outerCoef = coefs.outer; if (majorTickEnabled) { result.min = _min(result.min, layoutValue - innerCoef * majorTick.length); result.max = _max(result.max, layoutValue + outerCoef * majorTick.length) } if (minorTickEnabled) { result.min = _min(result.min, layoutValue - innerCoef * minorTick.length); result.max = _max(result.max, layoutValue + outerCoef * minorTick.length) } label.visible && this._correctScaleIndents(result, indentFromTick, textParams); return result }, _renderContent: function() { var that = this; var scaleOptions = that._prepareScaleSettings(); that._rangeContainer.render(_extend(that._getOption("rangeContainer"), { vertical: that._area.vertical })); that._renderScale(scaleOptions); that._subvalueIndicatorContainer.linkAppend(); var elements = (0, _utils.map)([that._rangeContainer].concat(that._prepareValueIndicators()), (function(element) { return element && element.enabled ? element : null })); that._applyMainLayout(elements, that._measureScale(scaleOptions)); elements.forEach((function(element) { return element.resize(that._getElementLayout(element.getOffset())) })); that._shiftScale(that._getElementLayout(0), scaleOptions); that._beginValueChanging(); that._updateActiveElements(); that._endValueChanging() }, _prepareScaleSettings: function() { var that = this; var userOptions = that.option("scale"); var scaleOptions = (0, _extend2.extend)(true, {}, that._themeManager.theme("scale"), userOptions); scaleOptions.label.indentFromAxis = 0; scaleOptions.isHorizontal = !that._area.vertical; scaleOptions.forceUserTickInterval |= (0, _type.isDefined)(userOptions) && (0, _type.isDefined)(userOptions.tickInterval) && !(0, _type.isDefined)(userOptions.scaleDivisionFactor); scaleOptions.axisDivisionFactor = scaleOptions.scaleDivisionFactor || that._gridSpacingFactor; scaleOptions.minorAxisDivisionFactor = scaleOptions.minorScaleDivisionFactor || 5; scaleOptions.numberMultipliers = DEFAULT_NUMBER_MULTIPLIERS; scaleOptions.tickOrientation = that._getTicksOrientation(scaleOptions); if (scaleOptions.label.useRangeColors) { scaleOptions.label.customizeColor = function() { return that._rangeContainer.getColorForValue(this.value) } } return scaleOptions }, _renderScale: function(scaleOptions) { var bounds = this._translator.getDomain(); var startValue = bounds[0]; var endValue = bounds[1]; var angles = this._translator.getCodomain(); var invert = !!(startValue > endValue ^ scaleOptions.inverted); var min = _min(startValue, endValue); var max = _max(startValue, endValue); scaleOptions.min = min; scaleOptions.max = max; scaleOptions.startAngle = 90 - angles[0]; scaleOptions.endAngle = 90 - angles[1]; scaleOptions.skipViewportExtending = true; scaleOptions.inverted = invert; this._scale.updateOptions(scaleOptions); this._scale.setBusinessRange({ axisType: "continuous", dataType: "numeric", min: min, max: max, invert: invert }); this._updateScaleTickIndent(scaleOptions); this._scaleGroup.linkAppend(); this._labelsAxesGroup.linkAppend(); this._scale.draw((0, _extend2.extend)({}, this._canvas)) }, _updateIndicatorSettings: function(settings) { settings.currentValue = settings.baseValue = _isFinite(this._translator.translate(settings.baseValue)) ? _Number(settings.baseValue) : this._baseValue; settings.vertical = this._area.vertical; if (settings.text && !settings.text.format) { settings.text.format = this._defaultFormatOptions } }, _prepareIndicatorSettings: function(options, defaultTypeField) { var theme = this._themeManager.theme("valueIndicators"); var type = (0, _utils.normalizeEnum)(options.type || this._themeManager.theme(defaultTypeField)); var settings = _extend(true, {}, theme._default, theme[type], options); settings.type = type; settings.animation = this._animationSettings; settings.containerBackgroundColor = this._containerBackgroundColor; this._updateIndicatorSettings(settings); return settings }, _cleanValueIndicators: function() { this._valueIndicator && this._valueIndicator.clean(); this._subvalueIndicatorsSet && this._subvalueIndicatorsSet.clean() }, _prepareValueIndicators: function() { this._prepareValueIndicator(); null !== this.__subvalues && this._prepareSubvalueIndicators(); return [this._valueIndicator, this._subvalueIndicatorsSet] }, _updateActiveElements: function() { this._updateValueIndicator(); this._updateSubvalueIndicators() }, _prepareValueIndicator: function() { var target = this._valueIndicator; var settings = this._prepareIndicatorSettings(this.option("valueIndicator") || {}, "valueIndicatorType"); if (target && target.type !== settings.type) { target.dispose(); target = null } if (!target) { target = this._valueIndicator = this._createIndicator(settings.type, this._renderer.root, "dxg-value-indicator", "value-indicator") } target.render(settings) }, _createSubvalueIndicatorsSet: function() { var that = this; var root = that._subvalueIndicatorContainer; return new ValueIndicatorsSet({ createIndicator: function(type, i) { return that._createIndicator(type, root, "dxg-subvalue-indicator", "subvalue-indicator", i) }, createPalette: function(palette) { return that._themeManager.createPalette(palette) } }) }, _prepareSubvalueIndicators: function() { var target = this._subvalueIndicatorsSet; var settings = this._prepareIndicatorSettings(this.option("subvalueIndicator") || {}, "subvalueIndicatorType"); if (!target) { target = this._subvalueIndicatorsSet = this._createSubvalueIndicatorsSet() } var isRecreate = settings.type !== target.type; target.type = settings.type; var dummy = this._createIndicator(settings.type, this._renderer.root); if (dummy) { dummy.dispose(); target.render(settings, isRecreate) } }, _setupValue: function(value) { this.__value = processValue(value, this.__value) }, _setupSubvalues: function(subvalues) { var vals = void 0 === subvalues ? this.__subvalues : parseArrayOfNumbers(subvalues); var i; var ii; var list; if (null === vals) { return } for (i = 0, ii = vals.length, list = []; i < ii; ++i) { list.push(processValue(vals[i], this.__subvalues[i])) } this.__subvalues = list }, _updateValueIndicator: function() { this._valueIndicator && this._valueIndicator.value(this.__value, this._noAnimation) }, _updateSubvalueIndicators: function() { this._subvalueIndicatorsSet && this._subvalueIndicatorsSet.values(this.__subvalues, this._noAnimation) }, value: function(arg) { if (void 0 !== arg) { this._changeValue(arg); return this } return this.__value }, subvalues: function(arg) { if (void 0 !== arg) { this._changeSubvalues(arg); return this } return null !== this.__subvalues ? this.__subvalues.slice() : void 0 }, _changeValue: function(value) { this._setupValue(value); this._beginValueChanging(); this._updateValueIndicator(); this._updateExtraElements(); if (this.__value !== this.option("value")) { this.option("value", this.__value) } this._endValueChanging() }, _changeSubvalues: function(subvalues) { if (null !== this.__subvalues) { this._setupSubvalues(subvalues); this._beginValueChanging(); this._updateSubvalueIndicators(); this._updateExtraElements(); this._endValueChanging() } else { this.__subvalues = parseArrayOfNumbers(subvalues); this._setContentSize(); this._renderContent() } if (!(0, _base_gauge.compareArrays)(this.__subvalues, this.option("subvalues"))) { this.option("subvalues", this.__subvalues) } }, _optionChangesMap: { scale: "DOMAIN", rangeContainer: "MOSTLY_TOTAL", valueIndicator: "MOSTLY_TOTAL", subvalueIndicator: "MOSTLY_TOTAL", containerBackgroundColor: "MOSTLY_TOTAL", value: "VALUE", subvalues: "SUBVALUES", valueIndicators: "MOSTLY_TOTAL" }, _customChangesOrder: ["VALUE", "SUBVALUES"], _change_VALUE: function() { this._changeValue(this.option("value")) }, _change_SUBVALUES: function() { this._changeSubvalues(this.option("subvalues")) }, _applyMainLayout: null, _getElementLayout: null, _createIndicator: function(type, owner, className, trackerType, trackerIndex, _strict) { var indicator = this._factory.createIndicator({ renderer: this._renderer, translator: this._translator, owner: owner, tracker: this._tracker, className: className }, type, _strict); if (indicator) { indicator.type = type; indicator._trackerInfo = { type: trackerType, index: trackerIndex } } return indicator }, _getApproximateScreenRange: null }); exports.dxGauge = dxGauge; function valueGetter(arg) { return arg ? arg.value : null } function setupValues(that, fieldName, optionItems) { var currentValues = that[fieldName]; var newValues = _isArray(optionItems) ? (0, _utils.map)(optionItems, valueGetter) : []; var i = 0; var ii = newValues.length; var list = []; for (; i < ii; ++i) { list.push(processValue(newValues[i], currentValues[i])) } that[fieldName] = list } function selectMode(gauge) { if (void 0 === gauge.option("value") && void 0 === gauge.option("subvalues")) { if (void 0 !== gauge.option("valueIndicators")) { ! function(that) { that.value = that.subvalues = _common.noop; that._setupValue = that._setupSubvalues = that._updateValueIndicator = that._updateSubvalueIndicators = null }(gauge); ! function(that) { that._indicatorValues = []; setupValues(that, "_indicatorValues", that.option("valueIndicators")); that._valueIndicators = []; var _applyMostlyTotalChange = that._applyMostlyTotalChange; that._applyMostlyTotalChange = function() { setupValues(this, "_indicatorValues", this.option("valueIndicators")); _applyMostlyTotalChange.call(this) }; that._updateActiveElements = updateActiveElements_hardMode; that._prepareValueIndicators = prepareValueIndicators_hardMode; that._disposeValueIndicators = disposeValueIndicators_hardMode; that._cleanValueIndicators = cleanValueIndicators_hardMode; that.indicatorValue = indicatorValue_hardMode }(gauge) } } } function updateActiveElements_hardMode() { var that = this; that._valueIndicators.forEach((function(valueIndicator) { valueIndicator.value(that._indicatorValues[valueIndicator.index], that._noAnimation) })) } function prepareValueIndicators_hardMode() { var that = this; var valueIndicators = that._valueIndicators || []; var userOptions = that.option("valueIndicators"); var optionList = []; var i = 0; var ii; for (ii = _isArray(userOptions) ? userOptions.length : 0; i < ii; ++i) { optionList.push(userOptions[i]) } for (ii = valueIndicators.length; i < ii; ++i) { optionList.push(null) } var newValueIndicators = []; optionList.forEach((function(userSettings, i) { var valueIndicator = valueIndicators[i]; if (!userSettings) { valueIndicator && valueIndicator.dispose(); return } var settings = that._prepareIndicatorSettings(userSettings, "valueIndicatorType"); if (valueIndicator && valueIndicator.type !== settings.type) { valueIndicator.dispose(); valueIndicator = null } if (!valueIndicator) { valueIndicator = that._createIndicator(settings.type, that._renderer.root, "dxg-value-indicator", "value-indicator", i, true) } if (valueIndicator) { valueIndicator.index = i; valueIndicator.render(settings); newValueIndicators.push(valueIndicator) } })); that._valueIndicators = newValueIndicators; return that._valueIndicators } function disposeValueIndicators_hardMode() { this._valueIndicators.forEach((function(valueIndicator) { return valueIndicator.dispose() })); this._valueIndicators = null } function cleanValueIndicators_hardMode() { this._valueIndicators.forEach((function(valueIndicator) { return valueIndicator.clean() })) } function indicatorValue_hardMode(index, value) { return function(that, pointers, values, index, value) { if (void 0 !== value) { if (void 0 !== values[index]) { values[index] = processValue(value, values[index]); pointers[index] && pointers[index].value(values[index]) } return that } else { return values[index] } }(this, this._valueIndicators, this._indicatorValues, index, value) } function ValueIndicatorsSet(parameters) { this._parameters = parameters; this._indicators = [] } ValueIndicatorsSet.prototype = { constructor: ValueIndicatorsSet, dispose: function() { this._indicators.forEach((function(indicator) { return indicator.dispose() })); this._parameters = this._options = this._indicators = this._colorPalette = this._palette = null; return this }, clean: function() { this._sample && this._sample.clean().dispose(); this._indicators.forEach((function(indicator) { return indicator.clean() })); this._sample = this._options = this._palette = null; return this }, render: function(options, isRecreate) { var that = this; that._options = options; that._sample = that._parameters.createIndicator(that.type); that._sample.render(options); that.enabled = that._sample.enabled; that._palette = (0, _type.isDefined)(options.palette) ? that._parameters.createPalette(options.palette) : null; if (that.enabled) { that._generatePalette(that._indicators.length); that._indicators = (0, _utils.map)(that._indicators, (function(indicator, i) { if (isRecreate) { indicator.dispose(); indicator = that._parameters.createIndicator(that.type, i) } indicator.render(that._getIndicatorOptions(i)); return indicator })) } return that }, getOffset: function() { return this._sample.getOffset() }, resize: function(layout) { this._layout = layout; this._indicators.forEach((function(indicator) { return indicator.resize(layout) })); return this }, measure: function(layout) { return this._sample.measure(layout) }, _getIndicatorOptions: function(index) { var result = this._options; if (this._colorPalette) { result = _extend({}, result, { color: this._colorPalette[index] }) } return result }, _generatePalette: function(count) { var colors = null; if (this._palette) { this._palette.reset(); colors = this._palette.generateColors(count, { repeat: true }) } this._colorPalette = colors }, _adjustIndicatorsCount: function(count) { var indicators = this._indicators; var i; var ii; var indicator; var indicatorsLen = indicators.length; if (indicatorsLen > count) { for (i = count, ii = indicatorsLen; i < ii; ++i) { indicators[i].clean().dispose() } this._indicators = indicators.slice(0, count); this._generatePalette(indicators.length) } else if (indicatorsLen < count) { this._generatePalette(count); for (i = indicatorsLen, ii = count; i < ii; ++i) { indicator = this._parameters.createIndicator(this.type, i); indicator.render(this._getIndicatorOptions(i)).resize(this._layout); indicators.push(indicator) } } }, values: function(arg, _noAnimation) { if (!this.enabled) { return } if (void 0 !== arg) { if (!_isArray(arg)) { arg = _isFinite(arg) ? [Number(arg)] : null } if (arg) { this._adjustIndicatorsCount(arg.length); this._indicators.forEach((function(indicator, i) { return indicator.value(arg[i], _noAnimation) })) } return this } return (0, _utils.map)(this._indicators, (function(indicator) { return indicator.value() })) } } }, 62987: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/gauges/linear_gauge.js ***! \************************************************************************/ function(module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.default = void 0; var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _object = __webpack_require__( /*! ../../core/utils/object */ 48013); var _base_gauge = __webpack_require__( /*! ./base_gauge */ 18029); var _common = __webpack_require__( /*! ./common */ 88917); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var linearIndicators = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ./linear_indicators */ 79615)); var _linear_range_container = _interopRequireDefault(__webpack_require__( /*! ./linear_range_container */ 74425)); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _max = Math.max; var _min = Math.min; var _round = Math.round; var dxLinearGauge = _common.dxGauge.inherit({ _rootClass: "dxg-linear-gauge", _factoryMethods: { rangeContainer: "createLinearRangeContainer", indicator: "createLinearIndicator" }, _gridSpacingFactor: 25, _scaleTypes: { type: "xyAxes", drawingType: "linear" }, _getTicksOrientation: function(scaleOptions) { return scaleOptions.isHorizontal ? scaleOptions.verticalOrientation : scaleOptions.horizontalOrientation }, _getThemeManagerOptions: function() { var options = this.callBase.apply(this, arguments); options.subTheme = "_linear"; return options }, _getInvertedState: function() { return !this._area.vertical && this.option("rtlEnabled") }, _prepareScaleSettings: function() { var scaleOptions = this.callBase(); scaleOptions.inverted = this._getInvertedState(); return scaleOptions }, _updateScaleTickIndent: function(scaleOptions) { var indentFromTick = scaleOptions.label.indentFromTick; var length = scaleOptions.tick.length; var textParams = this._scale.measureLabels((0, _extend.extend)({}, this._canvas)); var verticalTextCorrection = scaleOptions.isHorizontal ? textParams.height + textParams.y : 0; var isIndentPositive = indentFromTick > 0; var orientation; var textCorrection; var tickCorrection; if (scaleOptions.isHorizontal) { orientation = isIndentPositive ? { center: .5, top: 0, bottom: 1 } : { center: .5, top: 1, bottom: 0 }; tickCorrection = length * orientation[scaleOptions.verticalOrientation]; textCorrection = textParams.y } else { orientation = isIndentPositive ? { center: .5, left: 0, right: 1 } : { center: .5, left: 1, right: 0 }; tickCorrection = length * orientation[scaleOptions.horizontalOrientation]; textCorrection = -textParams.width } scaleOptions.label.indentFromAxis = -indentFromTick + (isIndentPositive ? -tickCorrection + textCorrection : tickCorrection - verticalTextCorrection); this._scale.updateOptions(scaleOptions) }, _shiftScale: function(layout, scaleOptions) { var canvas = (0, _extend.extend)({}, this._canvas); var isHorizontal = scaleOptions.isHorizontal; var scale = this._scale; canvas[isHorizontal ? "left" : "top"] = this._area[isHorizontal ? "startCoord" : "endCoord"]; canvas[isHorizontal ? "right" : "bottom"] = canvas[isHorizontal ? "width" : "height"] - this._area[isHorizontal ? "endCoord" : "startCoord"]; scale.draw(canvas); scale.shift({ left: -layout.x, top: -layout.y }) }, _setupCodomain: function() { var geometry = this.option("geometry") || {}; var vertical = "vertical" === (0, _utils.normalizeEnum)(geometry.orientation); this._area = { vertical: vertical, x: 0, y: 0, startCoord: -100, endCoord: 100 }; this._rangeContainer.vertical = vertical; this._translator.setInverted(this._getInvertedState()); this._translator.setCodomain(-100, 100) }, _getScaleLayoutValue: function() { return this._area[this._area.vertical ? "x" : "y"] }, _getTicksCoefficients: function(options) { var coefs = { inner: 0, outer: 1 }; if (this._area.vertical) { if ("left" === options.horizontalOrientation) { coefs.inner = 1; coefs.outer = 0 } else if ("center" === options.horizontalOrientation) { coefs.inner = coefs.outer = .5 } } else if ("top" === options.verticalOrientation) { coefs.inner = 1; coefs.outer = 0 } else if ("center" === options.verticalOrientation) { coefs.inner = coefs.outer = .5 } return coefs }, _correctScaleIndents: function(result, indentFromTick, textParams) { var vertical = this._area.vertical; if (indentFromTick >= 0) { result.max += indentFromTick + textParams[vertical ? "width" : "height"] } else { result.min -= -indentFromTick + textParams[vertical ? "width" : "height"] } result.indent = textParams[vertical ? "height" : "width"] / 2 }, _measureMainElements: function(elements, scaleMeasurement) { var x = this._area.x; var y = this._area.y; var minBound = 1e3; var maxBound = 0; var indent = 0; var scale = this._scale; (0, _iterator.each)(elements.concat(scale), (function(_, element) { var bounds = element.measure ? element.measure({ x: x + element.getOffset(), y: y + element.getOffset() }) : scaleMeasurement; void 0 !== bounds.max && (maxBound = _max(maxBound, bounds.max)); void 0 !== bounds.min && (minBound = _min(minBound, bounds.min)); bounds.indent > 0 && (indent = _max(indent, bounds.indent)) })); return { minBound: minBound, maxBound: maxBound, indent: indent } }, _applyMainLayout: function(elements, scaleMeasurement) { var measurements = this._measureMainElements(elements, scaleMeasurement); var area = this._area; var rect; var offset; if (area.vertical) { rect = selectRectBySizes(this._innerRect, { width: measurements.maxBound - measurements.minBound }); offset = (rect.left + rect.right) / 2 - (measurements.minBound + measurements.maxBound) / 2; area.startCoord = rect.bottom - measurements.indent; area.endCoord = rect.top + measurements.indent; area.x = _round(area.x + offset) } else { rect = selectRectBySizes(this._innerRect, { height: measurements.maxBound - measurements.minBound }); offset = (rect.top + rect.bottom) / 2 - (measurements.minBound + measurements.maxBound) / 2; area.startCoord = rect.left + measurements.indent; area.endCoord = rect.right - measurements.indent; area.y = _round(area.y + offset) } this._translator.setCodomain(area.startCoord, area.endCoord); this._innerRect = rect }, _getElementLayout: function(offset) { return { x: _round(this._area.x + offset), y: _round(this._area.y + offset) } }, _getApproximateScreenRange: function() { var area = this._area; var s = area.vertical ? this._canvas.height : this._canvas.width; s > area.totalSize && (s = area.totalSize); s *= .8; return s }, _getDefaultSize: function() { var geometry = this.option("geometry") || {}; if ("vertical" === geometry.orientation) { return { width: 100, height: 300 } } else { return { width: 300, height: 100 } } }, _factory: (0, _object.clone)(_base_gauge.BaseGauge.prototype._factory) }); function selectRectBySizes(srcRect, sizes, margins) { var rect = (0, _extend.extend)({}, srcRect); var step; margins = margins || {}; if (sizes) { rect.left += margins.left || 0; rect.right -= margins.right || 0; rect.top += margins.top || 0; rect.bottom -= margins.bottom || 0; if (sizes.width > 0) { step = (rect.right - rect.left - sizes.width) / 2; if (step > 0) { rect.left += step; rect.right -= step } } if (sizes.height > 0) { step = (rect.bottom - rect.top - sizes.height) / 2; if (step > 0) { rect.top += step; rect.bottom -= step } } } return rect } var indicators = dxLinearGauge.prototype._factory.indicators = {}; dxLinearGauge.prototype._factory.createIndicator = (0, _common.createIndicatorCreator)(indicators); indicators._default = linearIndicators._default; indicators.rectangle = linearIndicators.rectangle; indicators.rhombus = linearIndicators.rhombus; indicators.circle = linearIndicators.circle; indicators.trianglemarker = linearIndicators.trianglemarker; indicators.textcloud = linearIndicators.textcloud; indicators.rangebar = linearIndicators.rangebar; dxLinearGauge.prototype._factory.RangeContainer = _linear_range_container.default; (0, _component_registrator.default)("dxLinearGauge", dxLinearGauge); var _default = dxLinearGauge; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 79615: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/gauges/linear_indicators.js ***! \*****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.trianglemarker = exports.textcloud = exports.rhombus = exports.rectangle = exports.rangebar = exports.circle = exports._default = void 0; var _base_indicators = __webpack_require__( /*! ./base_indicators */ 3446); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _Number = Number; var SimpleIndicator = _base_indicators.BaseIndicator.inherit({ _move: function() { var delta = this._actualPosition - this._zeroPosition; this._rootElement.move(this.vertical ? 0 : delta, this.vertical ? delta : 0); this._trackerElement && this._trackerElement.move(this.vertical ? 0 : delta, this.vertical ? delta : 0) }, _isEnabled: function() { this.vertical = this._options.vertical; return this._options.length > 0 && this._options.width > 0 }, _isVisible: function() { return true }, _getTrackerSettings: function() { var options = this._options; var x1; var x2; var y1; var y2; var width = options.width / 2; var length = options.length / 2; var p = this._zeroPosition; width > 10 || (width = 10); length > 10 || (length = 10); if (this.vertical) { x1 = options.x - length; x2 = options.x + length; y1 = p + width; y2 = p - width } else { x1 = p - width; x2 = p + width; y1 = options.y + length; y2 = options.y - length } return { points: [x1, y1, x1, y2, x2, y2, x2, y1] } }, _render: function() { this._zeroPosition = this._translator.getCodomainStart() }, _clear: function() { delete this._element }, measure: function(layout) { var p = this.vertical ? layout.x : layout.y; return { min: p - this._options.length / 2, max: p + this._options.length / 2 } }, getTooltipParameters: function() { var options = this._options; var p = this._actualPosition; var parameters = { x: p, y: p, value: this._currentValue, color: options.color, offset: options.width / 2 }; this.vertical ? parameters.x = options.x : parameters.y = options.y; return parameters } }); var rectangle = SimpleIndicator.inherit({ _render: function() { var options = this._options; var x1; var x2; var y1; var y2; this.callBase(); var p = this._zeroPosition; if (this.vertical) { x1 = options.x - options.length / 2; x2 = options.x + options.length / 2; y1 = p + options.width / 2; y2 = p - options.width / 2 } else { x1 = p - options.width / 2; x2 = p + options.width / 2; y1 = options.y + options.length / 2; y2 = options.y - options.length / 2 } this._element = this._element || this._renderer.path([], "area").append(this._rootElement); this._element.attr({ points: [x1, y1, x1, y2, x2, y2, x2, y1] }) } }); exports.rectangle = rectangle; var rhombus = SimpleIndicator.inherit({ _render: function() { var options = this._options; var x; var y; var dx; var dy; this.callBase(); if (this.vertical) { x = options.x; y = this._zeroPosition; dx = options.length / 2 || 0; dy = options.width / 2 || 0 } else { x = this._zeroPosition; y = options.y; dx = options.width / 2 || 0; dy = options.length / 2 || 0 } this._element = this._element || this._renderer.path([], "area").append(this._rootElement); this._element.attr({ points: [x - dx, y, x, y - dy, x + dx, y, x, y + dy] }) } }); exports.rhombus = rhombus; var circle = SimpleIndicator.inherit({ _render: function() { var options = this._options; var x; var y; this.callBase(); if (this.vertical) { x = options.x; y = this._zeroPosition } else { x = this._zeroPosition; y = options.y } var r = options.length / 2 || 0; this._element = this._element || this._renderer.circle().append(this._rootElement); this._element.attr({ cx: x, cy: y, r: r }) } }); exports.circle = circle; var triangleMarker = SimpleIndicator.inherit({ _isEnabled: function() { this.vertical = this._options.vertical; this._inverted = this.vertical ? "right" === (0, _utils.normalizeEnum)(this._options.horizontalOrientation) : "bottom" === (0, _utils.normalizeEnum)(this._options.verticalOrientation); return this._options.length > 0 && this._options.width > 0 }, _isVisible: function() { return true }, _render: function() { var options = this._options; var x1; var x2; var y1; var y2; var settings = { stroke: "none", "stroke-width": 0, "stroke-linecap": "square" }; this.callBase(); if (this.vertical) { x1 = options.x; y1 = this._zeroPosition; x2 = x1 + _Number(this._inverted ? options.length : -options.length); settings.points = [x1, y1, x2, y1 - options.width / 2, x2, y1 + options.width / 2] } else { y1 = options.y; x1 = this._zeroPosition; y2 = y1 + _Number(this._inverted ? options.length : -options.length); settings.points = [x1, y1, x1 - options.width / 2, y2, x1 + options.width / 2, y2] } if (options.space > 0) { settings["stroke-width"] = Math.min(options.space, options.width / 4) || 0; settings.stroke = settings["stroke-width"] > 0 ? options.containerBackgroundColor || "none" : "none" } this._element = this._element || this._renderer.path([], "area").append(this._rootElement); this._element.attr(settings).sharp() }, _getTrackerSettings: function() { var options = this._options; var width = options.width / 2; var length = _Number(options.length); var x1; var x2; var y1; var y2; var result; width > 10 || (width = 10); length > 20 || (length = 20); if (this.vertical) { x1 = options.x; x2 = x1 + (this._inverted ? length : -length); y1 = this._zeroPosition + width; y2 = this._zeroPosition - width; result = [x1, y1, x2, y1, x2, y2, x1, y2] } else { y1 = options.y; y2 = y1 + (this._inverted ? length : -length); x1 = this._zeroPosition - width; x2 = this._zeroPosition + width; result = [x1, y1, x1, y2, x2, y2, x2, y1] } return { points: result } }, measure: function(layout) { var length = _Number(this._options.length); var minBound; var maxBound; if (this.vertical) { minBound = maxBound = layout.x; if (this._inverted) { maxBound = minBound + length } else { minBound = maxBound - length } } else { minBound = maxBound = layout.y; if (this._inverted) { maxBound = minBound + length } else { minBound = maxBound - length } } return { min: minBound, max: maxBound } }, getTooltipParameters: function() { var options = this._options; var s = (this._inverted ? options.length : -options.length) / 2; var parameters = this.callBase(); this.vertical ? parameters.x += s : parameters.y += s; parameters.offset = options.length / 2; return parameters } }); exports.trianglemarker = triangleMarker; var textCloud = _base_indicators.BaseTextCloudMarker.inherit({ _isEnabled: function() { this.vertical = this._options.vertical; this._inverted = this.vertical ? "right" === (0, _utils.normalizeEnum)(this._options.horizontalOrientation) : "bottom" === (0, _utils.normalizeEnum)(this._options.verticalOrientation); return true }, _isVisible: function() { return true }, _getTextCloudOptions: function() { var x = this._actualPosition; var y = this._actualPosition; var type; if (this.vertical) { x = this._options.x; type = this._inverted ? "top-left" : "top-right" } else { y = this._options.y; type = this._inverted ? "right-top" : "right-bottom" } return { x: x, y: y, type: type } }, measure: function(layout) { var minBound; var maxBound; var arrowLength = _Number(this._options.arrowLength) || 0; this._measureText(); if (this.vertical) { if (this._inverted) { minBound = layout.x; maxBound = layout.x + arrowLength + this._textFullWidth } else { minBound = layout.x - arrowLength - this._textFullWidth; maxBound = layout.x } } else if (this._inverted) { minBound = layout.y; maxBound = layout.y + arrowLength + this._textFullHeight } else { minBound = layout.y - arrowLength - this._textFullHeight; maxBound = layout.y } return { min: minBound, max: maxBound, indent: 0 } }, _correctCloudType: function(type, _ref, _ref2) { var x = _ref.x, y = _ref.y; var width = _ref2.width, height = _ref2.height; if ("right-top" === type || "right-bottom" === type) { if (x - width < this._translator.getCodomainStart()) { type = "left-".concat(type.split("-")[1]) } } else if ("top-left" === type || "top-right" === type) { if (y + height > this._translator.getCodomainStart()) { type = "bottom-".concat(type.split("-")[1]) } } return type } }); exports.textcloud = textCloud; var rangeBar = _base_indicators.BaseRangeBar.inherit({ _isEnabled: function() { this.vertical = this._options.vertical; this._inverted = this.vertical ? "right" === (0, _utils.normalizeEnum)(this._options.horizontalOrientation) : "bottom" === (0, _utils.normalizeEnum)(this._options.verticalOrientation); return this._options.size > 0 }, _isVisible: function() { return true }, _createBarItem: function() { return this._renderer.path([], "area").append(this._rootElement) }, _createTracker: function() { return this._renderer.path([], "area") }, _setBarSides: function() { var options = this._options; var size = _Number(options.size); var minSide; var maxSide; if (this.vertical) { if (this._inverted) { minSide = options.x; maxSide = options.x + size } else { minSide = options.x - size; maxSide = options.x } } else if (this._inverted) { minSide = options.y; maxSide = options.y + size } else { minSide = options.y - size; maxSide = options.y } this._minSide = minSide; this._maxSide = maxSide; this._minBound = minSide; this._maxBound = maxSide }, _getSpace: function() { var options = this._options; return options.space > 0 ? _Number(options.space) : 0 }, _isTextVisible: function() { var textOptions = this._options.text || {}; return textOptions.indent > 0 || textOptions.indent < 0 }, _getTextAlign: function() { return this.vertical ? this._options.text.indent > 0 ? "left" : "right" : "center" }, _setTextItemsSides: function() { var indent = _Number(this._options.text.indent); if (indent > 0) { this._lineStart = this._maxSide; this._lineEnd = this._maxSide + indent; this._textPosition = this._lineEnd + (this.vertical ? 2 : this._textHeight / 2); this._maxBound = this._textPosition + (this.vertical ? this._textWidth : this._textHeight / 2) } else if (indent < 0) { this._lineStart = this._minSide; this._lineEnd = this._minSide + indent; this._textPosition = this._lineEnd - (this.vertical ? 2 : this._textHeight / 2); this._minBound = this._textPosition - (this.vertical ? this._textWidth : this._textHeight / 2) } }, _getPositions: function() { var startPosition = this._startPosition; var endPosition = this._endPosition; var space = this._space; var basePosition = this._basePosition; var actualPosition = this._actualPosition; var mainPosition1; var mainPosition2; var backPosition1; var backPosition2; if (startPosition < endPosition) { if (basePosition < actualPosition) { mainPosition1 = basePosition; mainPosition2 = actualPosition } else { mainPosition1 = actualPosition; mainPosition2 = basePosition } backPosition1 = mainPosition1 - space; backPosition2 = mainPosition2 + space } else { if (basePosition > actualPosition) { mainPosition1 = basePosition; mainPosition2 = actualPosition } else { mainPosition1 = actualPosition; mainPosition2 = basePosition } backPosition1 = mainPosition1 + space; backPosition2 = mainPosition2 - space } return { start: startPosition, end: endPosition, main1: mainPosition1, main2: mainPosition2, back1: backPosition1, back2: backPosition2 } }, _buildItemSettings: function(from, to) { var side1 = this._minSide; var side2 = this._maxSide; var points = this.vertical ? [side1, from, side1, to, side2, to, side2, from] : [from, side1, from, side2, to, side2, to, side1]; return { points: points } }, _updateTextPosition: function() { this._text.attr(this.vertical ? { x: this._textPosition, y: this._actualPosition + this._textVerticalOffset } : { x: this._actualPosition, y: this._textPosition + this._textVerticalOffset }) }, _updateLinePosition: function() { var actualPosition = this._actualPosition; var side1; var side2; var points; if (this.vertical) { if (this._basePosition >= actualPosition) { side1 = actualPosition; side2 = actualPosition + 2 } else { side1 = actualPosition - 2; side2 = actualPosition } points = [this._lineStart, side1, this._lineStart, side2, this._lineEnd, side2, this._lineEnd, side1] } else { if (this._basePosition <= actualPosition) { side1 = actualPosition - 2; side2 = actualPosition } else { side1 = actualPosition; side2 = actualPosition + 2 } points = [side1, this._lineStart, side1, this._lineEnd, side2, this._lineEnd, side2, this._lineStart] } this._line.attr({ points: points }).sharp() }, _getTooltipPosition: function() { var crossCenter = (this._minSide + this._maxSide) / 2; var alongCenter = (this._basePosition + this._actualPosition) / 2; return this.vertical ? { x: crossCenter, y: alongCenter } : { x: alongCenter, y: crossCenter } }, measure: function(layout) { var size = _Number(this._options.size); var textIndent = _Number(this._options.text.indent); var minBound; var maxBound; var indent; this._measureText(); if (this.vertical) { minBound = maxBound = layout.x; if (this._inverted) { maxBound += size } else { minBound -= size } if (this._hasText) { indent = this._textHeight / 2; if (textIndent > 0) { maxBound += textIndent + this._textWidth } if (textIndent < 0) { minBound += textIndent - this._textWidth } } } else { minBound = maxBound = layout.y; if (this._inverted) { maxBound += size } else { minBound -= size } if (this._hasText) { indent = this._textWidth / 2; if (textIndent > 0) { maxBound += textIndent + this._textHeight } if (textIndent < 0) { minBound += textIndent - this._textHeight } } } return { min: minBound, max: maxBound, indent: indent } } }); exports.rangebar = exports._default = rangeBar }, 74425: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/gauges/linear_range_container.js ***! \**********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _base_range_container = (obj = __webpack_require__( /*! ./base_range_container */ 84165), obj && obj.__esModule ? obj : { default: obj }); var obj; var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _Number = Number; var _max = Math.max; var LinearRangeContainer = _base_range_container.default.inherit({ _processOptions: function() { this.vertical = this._options.vertical; this._inner = this._outer = 0; if (this.vertical) { switch ((0, _utils.normalizeEnum)(this._options.horizontalOrientation)) { case "left": this._inner = 1; break; case "center": this._inner = this._outer = .5; break; default: this._outer = 1 } } else { switch ((0, _utils.normalizeEnum)(this._options.verticalOrientation)) { case "top": this._inner = 1; break; case "center": this._inner = this._outer = .5; break; default: this._outer = 1 } } }, _isVisible: function() { return true }, _createRange: function(range, layout) { var inner = this._inner; var outer = this._outer; var startPosition = this._translator.translate(range.start); var endPosition = this._translator.translate(range.end); var points; var x = layout.x; var y = layout.y; var startWidth = range.startWidth; var endWidth = range.endWidth; if (this.vertical) { points = [x - startWidth * inner, startPosition, x - endWidth * inner, endPosition, x + endWidth * outer, endPosition, x + startWidth * outer, startPosition] } else { points = [startPosition, y + startWidth * outer, startPosition, y - startWidth * inner, endPosition, y - endWidth * inner, endPosition, y + endWidth * outer] } return this._renderer.path(points, "area") }, measure: function(layout) { var result = {}; var width; result.min = result.max = layout[this.vertical ? "x" : "y"]; width = this._options.width; width = _Number(width) || _max(_Number(width.start), _Number(width.end)); result.min -= this._inner * width; result.max += this._outer * width; return result } }); var _default = LinearRangeContainer; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 41802: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/gauges/theme_manager.js ***! \*************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _base_theme_manager = __webpack_require__( /*! ../core/base_theme_manager */ 43637); var _extend = _extend2.extend; var ThemeManager = _base_theme_manager.BaseThemeManager.inherit({ ctor: function(options) { this.callBase.apply(this, arguments); this._subTheme = options.subTheme }, _initializeTheme: function() { var that = this; var subTheme; if (that._subTheme) { subTheme = _extend(true, {}, that._theme[that._subTheme], that._theme); _extend(true, that._theme, subTheme) } that.callBase.apply(that, arguments) } }); var _default = { ThemeManager: ThemeManager }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 57298: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/gauges/tracker.js ***! \*******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _class = _interopRequireDefault(__webpack_require__( /*! ../../core/class */ 38377)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _wheel = __webpack_require__( /*! ../../events/core/wheel */ 765); var _ready_callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/ready_callbacks */ 24311)); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var EVENT_NS = "gauge-tooltip"; var ready = _ready_callbacks.default.add; var Tracker = _class.default.inherit({ ctor: function(parameters) { var that = this; that._element = parameters.renderer.g().attr({ class: "dxg-tracker", stroke: "none", "stroke-width": 0, fill: "#000000", opacity: 1e-4 }).linkOn(parameters.container, { name: "tracker", after: "peripheral" }); that._showTooltipCallback = function() { var target = that._tooltipEvent.target; var data_target = target["gauge-data-target"]; var data_info = target["gauge-data-info"]; that._targetEvent = null; if (that._tooltipTarget !== target) { var callback = function(result) { result && (that._tooltipTarget = target) }; callback(that._callbacks["tooltip-show"](data_target, data_info, callback)) } }; that._hideTooltipCallback = function() { that._hideTooltipTimeout = null; that._targetEvent = null; if (that._tooltipTarget) { that._callbacks["tooltip-hide"](); that._tooltipTarget = null } }; that._dispose = function() { clearTimeout(that._hideTooltipTimeout); that._showTooltipCallback = that._hideTooltipCallback = that._dispose = null } }, dispose: function() { this._dispose(); this.deactivate(); this._element.off("." + EVENT_NS); this._element.linkOff(); this._element = this._context = this._callbacks = null; return this }, activate: function() { this._element.linkAppend(); return this }, deactivate: function() { this._element.linkRemove().clear(); return this }, attach: function(element, target, info) { element.data({ "gauge-data-target": target, "gauge-data-info": info }).append(this._element); return this }, detach: function(element) { element.remove(); return this }, setTooltipState: function(state) { this._element.off("." + EVENT_NS); if (state) { var data = { tracker: this }; this._element.on((0, _index.addNamespace)([_pointer.default.move], EVENT_NS), data, handleTooltipMouseOver).on((0, _index.addNamespace)([_pointer.default.out], EVENT_NS), data, handleTooltipMouseOut).on((0, _index.addNamespace)([_pointer.default.down], EVENT_NS), data, handleTooltipTouchStart).on((0, _index.addNamespace)([_pointer.default.up], EVENT_NS), data, handleTooltipTouchEnd).on((0, _index.addNamespace)([_wheel.name], EVENT_NS), data, handleTooltipMouseWheel) } return this }, setCallbacks: function(callbacks) { this._callbacks = callbacks; return this }, _showTooltip: function(event) { clearTimeout(this._hideTooltipTimeout); this._hideTooltipTimeout = null; if (this._tooltipTarget === event.target) { return } this._tooltipEvent = event; this._showTooltipCallback() }, _hideTooltip: function(delay) { clearTimeout(this._hideTooltipTimeout); if (delay) { this._hideTooltipTimeout = setTimeout(this._hideTooltipCallback, delay) } else { this._hideTooltipCallback() } } }); var active_touch_tooltip_tracker = null; function handleTooltipMouseOver(event) { var tracker = event.data.tracker; tracker._x = event.pageX; tracker._y = event.pageY; tracker._showTooltip(event) } function handleTooltipMouseOut(event) { event.data.tracker._hideTooltip(100) } function handleTooltipMouseWheel(event) { event.data.tracker._hideTooltip() } function handleTooltipTouchStart(event) { var tracker = active_touch_tooltip_tracker = event.data.tracker; tracker._touch = true; handleTooltipMouseOver(event) } function handleTooltipTouchEnd() { active_touch_tooltip_tracker._touch = false } function handleDocumentTooltipTouchStart(event) { var tracker = active_touch_tooltip_tracker; if (tracker && !tracker._touch) { tracker._hideTooltip(100); active_touch_tooltip_tracker = null } } ready((function() { _events_engine.default.subscribeGlobal(_dom_adapter.default.getDocument(), (0, _index.addNamespace)([_pointer.default.down], EVENT_NS), handleDocumentTooltipTouchStart) })); var _default = Tracker; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 99630: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/linear_gauge.js ***! \*****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _linear_gauge = (obj = __webpack_require__( /*! ./gauges/linear_gauge */ 62987), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _linear_gauge.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 23696: /*!************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/palette.js ***! \************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.createPalette = createPalette; exports.currentPalette = currentPalette; exports.generateColors = function(palette, count) { var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : { keepLastColorInEnd: false }; options.type = options.baseColorSet; options.extensionMode = options.paletteExtensionMode; return createPalette(palette, options).generateColors(count) }; exports.getAccentColor = function(palette, themeDefault) { palette = getPalette(palette, { themeDefault: themeDefault }); return palette.accentColor || palette[0] }; exports.getDiscretePalette = function(source, size, themeDefaultPalette) { var palette = size > 0 ? function(source, count) { var colorCount = count - 1; var sourceCount = source.length - 1; var colors = []; var gradient = []; var i; function addColor(pos) { var k = sourceCount * pos; var kl = _floor(k); var kr = _ceil(k); gradient.push(colors[kl].blend(colors[kr], k - kl).toHex()) } for (i = 0; i <= sourceCount; ++i) { colors.push(new _color.default(source[i])) } if (colorCount > 0) { for (i = 0; i <= colorCount; ++i) { addColor(i / colorCount) } } else { addColor(.5) } return gradient }(getPalette(source, { type: "gradientSet", themeDefault: themeDefaultPalette }), size) : []; return { getColor: function(index) { return palette[index] || null } } }; exports.getGradientPalette = function(source, themeDefaultPalette) { var palette = getPalette(source, { type: "gradientSet", themeDefault: themeDefaultPalette }); var color1 = new _color.default(palette[0]); var color2 = new _color.default(palette[1]); return { getColor: function(ratio) { return 0 <= ratio && ratio <= 1 ? color1.blend(color2, ratio).toHex() : null } } }; exports.getPalette = getPalette; exports.registerPalette = function(name, palette) { var item = {}; var paletteName; if (_isArray(palette)) { item.simpleSet = palette.slice(0) } else if (palette) { item.simpleSet = _isArray(palette.simpleSet) ? palette.simpleSet.slice(0) : void 0; item.indicatingSet = _isArray(palette.indicatingSet) ? palette.indicatingSet.slice(0) : void 0; item.gradientSet = _isArray(palette.gradientSet) ? palette.gradientSet.slice(0) : void 0; item.accentColor = palette.accentColor } if (!item.accentColor) { item.accentColor = item.simpleSet && item.simpleSet[0] } if (item.simpleSet || item.indicatingSet || item.gradientSet) { paletteName = (0, _utils.normalizeEnum)(name); (0, _extend.extend)(palettes[paletteName] = palettes[paletteName] || {}, item) } }; var _utils = __webpack_require__( /*! ./core/utils */ 19157); var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _color = (obj = __webpack_require__( /*! ../color */ 52752), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _palettes; function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var _floor = Math.floor; var _ceil = Math.ceil; var _isArray = Array.isArray; var palettes = (_palettes = {}, _defineProperty(_palettes, "material", { simpleSet: ["#1db2f5", "#f5564a", "#97c95c", "#ffc720", "#eb3573", "#a63db8"], indicatingSet: ["#97c95c", "#ffc720", "#f5564a"], gradientSet: ["#1db2f5", "#97c95c"], accentColor: "#1db2f5" }), _defineProperty(_palettes, "office", { simpleSet: ["#5f8b95", "#ba4d51", "#af8a53", "#955f71", "#859666", "#7e688c"], indicatingSet: ["#a3b97c", "#e1b676", "#ec7f83"], gradientSet: ["#5f8b95", "#ba4d51"], accentColor: "#ba4d51" }), _defineProperty(_palettes, "harmony light", { simpleSet: ["#fcb65e", "#679ec5", "#ad79ce", "#7abd5c", "#e18e92", "#b6d623", "#b7abea", "#85dbd5"], indicatingSet: ["#b6d623", "#fcb65e", "#e18e92"], gradientSet: ["#7abd5c", "#fcb65e"], accentColor: "#679ec5" }), _defineProperty(_palettes, "soft pastel", { simpleSet: ["#60a69f", "#78b6d9", "#6682bb", "#a37182", "#eeba69", "#90ba58", "#456c68", "#7565a4"], indicatingSet: ["#90ba58", "#eeba69", "#a37182"], gradientSet: ["#78b6d9", "#eeba69"], accentColor: "#60a69f" }), _defineProperty(_palettes, "pastel", { simpleSet: ["#bb7862", "#70b3a1", "#bb626a", "#057d85", "#ab394b", "#dac599", "#153459", "#b1d2c6"], indicatingSet: ["#70b3a1", "#dac599", "#bb626a"], gradientSet: ["#bb7862", "#70b3a1"], accentColor: "#bb7862" }), _defineProperty(_palettes, "bright", { simpleSet: ["#70c92f", "#f8ca00", "#bd1550", "#e97f02", "#9d419c", "#7e4452", "#9ab57e", "#36a3a6"], indicatingSet: ["#70c92f", "#f8ca00", "#bd1550"], gradientSet: ["#e97f02", "#f8ca00"], accentColor: "#e97f02" }), _defineProperty(_palettes, "soft", { simpleSet: ["#cbc87b", "#9ab57e", "#e55253", "#7e4452", "#e8c267", "#565077", "#6babac", "#ad6082"], indicatingSet: ["#9ab57e", "#e8c267", "#e55253"], gradientSet: ["#9ab57e", "#e8c267"], accentColor: "#565077" }), _defineProperty(_palettes, "ocean", { simpleSet: ["#75c099", "#acc371", "#378a8a", "#5fa26a", "#064970", "#38c5d2", "#00a7c6", "#6f84bb"], indicatingSet: ["#c8e394", "#7bc59d", "#397c8b"], gradientSet: ["#acc371", "#38c5d2"], accentColor: "#378a8a" }), _defineProperty(_palettes, "vintage", { simpleSet: ["#dea484", "#efc59c", "#cb715e", "#eb9692", "#a85c4c", "#f2c0b5", "#c96374", "#dd956c"], indicatingSet: ["#ffe5c6", "#f4bb9d", "#e57660"], gradientSet: ["#efc59c", "#cb715e"], accentColor: "#cb715e" }), _defineProperty(_palettes, "violet", { simpleSet: ["#d1a1d1", "#eeacc5", "#7b5685", "#7e7cad", "#a13d73", "#5b41ab", "#e287e2", "#689cc1"], indicatingSet: ["#d8e2f6", "#d0b2da", "#d56a8a"], gradientSet: ["#eeacc5", "#7b5685"], accentColor: "#7b5685" }), _defineProperty(_palettes, "carmine", { simpleSet: ["#fb7764", "#73d47f", "#fed85e", "#d47683", "#dde392", "#757ab2"], indicatingSet: ["#5cb85c", "#f0ad4e", "#d9534f"], gradientSet: ["#fb7764", "#73d47f"], accentColor: "#f05b41" }), _defineProperty(_palettes, "dark moon", { simpleSet: ["#4ddac1", "#f4c99a", "#80dd9b", "#f998b3", "#4aaaa0", "#a5aef1"], indicatingSet: ["#59d8a4", "#f0ad4e", "#f9517e"], gradientSet: ["#4ddac1", "#f4c99a"], accentColor: "#3debd3" }), _defineProperty(_palettes, "soft blue", { simpleSet: ["#7ab8eb", "#97da97", "#facb86", "#e78683", "#839bda", "#4db7be"], indicatingSet: ["#5cb85c", "#f0ad4e", "#d9534f"], gradientSet: ["#7ab8eb", "#97da97"], accentColor: "#7ab8eb" }), _defineProperty(_palettes, "dark violet", { simpleSet: ["#9c63ff", "#64c064", "#eead51", "#d2504b", "#4b6bbf", "#2da7b0"], indicatingSet: ["#5cb85c", "#f0ad4e", "#d9534f"], gradientSet: ["#9c63ff", "#64c064"], accentColor: "#9c63ff" }), _defineProperty(_palettes, "green mist", { simpleSet: ["#3cbab2", "#8ed962", "#5b9d95", "#efcc7c", "#f1929f", "#4d8dab"], indicatingSet: ["#72d63c", "#ffc852", "#f74a5e"], gradientSet: ["#3cbab2", "#8ed962"], accentColor: "#3cbab2" }), _palettes); var currentPaletteName; function currentPalette(name) { if (void 0 === name) { return currentPaletteName || "material" } else { name = (0, _utils.normalizeEnum)(name); currentPaletteName = name in palettes ? name : void 0 } } function getPalette(palette, parameters) { parameters = parameters || {}; palette = palette || (void 0 === currentPaletteName ? parameters.themeDefault : currentPalette()); var result; var type = parameters.type; if (_isArray(palette)) { return palette.slice(0) } else { if ((0, _type.isString)(palette)) { result = palettes[(0, _utils.normalizeEnum)(palette)] } if (!result) { result = palettes[currentPalette()] } } return type ? result[type].slice(0) : result } function RingBuf(buf) { var ind = 0; this.next = function() { var res = buf[ind++]; if (ind === buf.length) { this.reset() } return res }; this.reset = function() { ind = 0 } } function getAlternateColorsStrategy(palette, parameters) { var stepHighlight = parameters.useHighlight ? 50 : 0; var paletteSteps = new RingBuf([0, stepHighlight, -stepHighlight]); var currentPalette = []; function _reset() { var step = paletteSteps.next(); currentPalette = step ? function(originalPalette, step) { var palette = []; var i; var ii = originalPalette.length; for (i = 0; i < ii; ++i) { palette.push(getNewColor(originalPalette[i], step)) } return palette }(palette, step) : palette.slice(0) } return { getColor: function(index) { var color = currentPalette[index % palette.length]; if (index % palette.length === palette.length - 1) { _reset() } return color }, generateColors: function(count) { var colors = []; count = count || parameters.count; for (var i = 0; i < count; i++) { colors.push(this.getColor(i)) } return colors }, reset: function() { paletteSteps.reset(); _reset() } } } function getExtrapolateColorsStrategy(palette, parameters) { return { getColor: function(index, count) { var paletteCount = palette.length; var cycles = _floor((count - 1) / paletteCount + 1); var color = palette[index % paletteCount]; if (cycles > 1) { return function(color, cycleIndex, cycleCount) { var hsl = new _color.default(color).hsl; var l = hsl.l / 100; var diapason = cycleCount - 1 / cycleCount; var minL = l - .5 * diapason; var maxL = l + .5 * diapason; var cycleMiddle = (cycleCount - 1) / 2; var cycleDiff = cycleIndex - cycleMiddle; if (minL < Math.min(.5, .9 * l)) { minL = Math.min(.5, .9 * l) } if (maxL > Math.max(.8, l + .15 * (1 - l))) { maxL = Math.max(.8, l + .15 * (1 - l)) } if (cycleDiff < 0) { l -= (minL - l) * cycleDiff / cycleMiddle } else { l += cycleDiff / cycleMiddle * (maxL - l) } hsl.l = 100 * l; return _color.default.prototype.fromHSL(hsl).toHex() }(color, _floor(index / paletteCount), cycles) } return color }, generateColors: function(count) { var colors = []; count = count || parameters.count; for (var i = 0; i < count; i++) { colors.push(this.getColor(i, count)) } return colors }, reset: function() {} } } function getColorMixer(palette, parameters) { var paletteCount = palette.length; var extendedPalette = []; function distributeColors(count, colorsCount, startIndex, distribution) { var groupSize = Math.floor(count / colorsCount); var extraItems = count - colorsCount * groupSize; var i = startIndex; var middleIndex; var size; while (i < startIndex + count) { size = groupSize; if (extraItems > 0) { size += 1; extraItems-- } middleIndex = size > 2 ? Math.floor(size / 2) : 0; distribution.push(i + middleIndex); i += size } return distribution.sort((function(a, b) { return a - b })) } function getColorAndDistance(arr, startIndex, count) { startIndex = (count + startIndex) % count; var distance = 0; for (var i = startIndex; i < 2 * count; i += 1) { var index = (count + i) % count; if (arr[index]) { return [arr[index], distance] } distance++ } } function extendPalette(count) { if (count <= paletteCount) { return palette } var result = []; var colorInGroups = paletteCount - 2; var currentColorIndex = 0; var cleanColorIndices = []; if (parameters.keepLastColorInEnd) { cleanColorIndices = distributeColors(count - 2, colorInGroups, 1, [0, count - 1]) } else { cleanColorIndices = distributeColors(count - 1, paletteCount - 1, 1, [0]) } for (var i = 0; i < count; i++) { if (cleanColorIndices.indexOf(i) > -1) { result[i] = palette[currentColorIndex++] } } result = function(paletteWithEmptyColors, paletteLength) { for (var i = 0; i < paletteLength; i++) { var color = paletteWithEmptyColors[i]; if (!color) { var color1 = paletteWithEmptyColors[i - 1]; if (!color1) { continue } else { var c2 = getColorAndDistance(paletteWithEmptyColors, i, paletteLength); var color2 = new _color.default(c2[0]); color1 = new _color.default(color1); for (var j = 0; j < c2[1]; j++, i++) { paletteWithEmptyColors[i] = color1.blend(color2, (j + 1) / (c2[1] + 1)).toHex() } } } } return paletteWithEmptyColors }(result, count); return result } return { getColor: function(index, count) { count = count || parameters.count || paletteCount; if (extendedPalette.length !== count) { extendedPalette = extendPalette(count) } return extendedPalette[index % count] }, generateColors: function(count, repeat) { count = count || parameters.count || paletteCount; if (repeat && count > paletteCount) { var colors = extendPalette(paletteCount); for (var i = 0; i < count - paletteCount; i++) { colors.push(colors[i]) } return colors } else { return paletteCount > 0 ? extendPalette(count).slice(0, count) : [] } }, reset: function() {} } } function createPalette(palette, parameters, themeDefaultPalette) { var paletteObj = { dispose: function() { this._extensionStrategy = null }, getNextColor: function(count) { return this._extensionStrategy.getColor(this._currentColor++, count) }, generateColors: function(count, parameters) { return this._extensionStrategy.generateColors(count, (parameters || {}).repeat) }, reset: function() { this._currentColor = 0; this._extensionStrategy.reset(); return this } }; parameters = parameters || {}; var extensionMode = (parameters.extensionMode || "").toLowerCase(); var colors = getPalette(palette, { type: parameters.type || "simpleSet", themeDefault: themeDefaultPalette }); if ("alternate" === extensionMode) { paletteObj._extensionStrategy = getAlternateColorsStrategy(colors, parameters) } else if ("extrapolate" === extensionMode) { paletteObj._extensionStrategy = getExtrapolateColorsStrategy(colors, parameters) } else { paletteObj._extensionStrategy = getColorMixer(colors, parameters) } paletteObj.reset(); return paletteObj } function getNewColor(currentColor, step) { var newColor = new _color.default(currentColor).alter(step); var lightness = (color = newColor, .3 * color.r + .59 * color.g + .11 * color.b); var color; if (lightness > 200 || lightness < 55) { newColor = new _color.default(currentColor).alter(-step / 2) } return newColor.toHex() } }, 72111: /*!**************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/pie_chart.js ***! \**************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _consts = _interopRequireDefault(__webpack_require__( /*! ./components/consts */ 32410)); var _utils = __webpack_require__( /*! ./core/utils */ 19157); var _extend2 = __webpack_require__( /*! ../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _range = __webpack_require__( /*! ./translators/range */ 21177); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../core/component_registrator */ 99393)); var _base_chart = __webpack_require__( /*! ./chart_components/base_chart */ 33224); var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _translator1d = __webpack_require__( /*! ./translators/translator1d */ 17953); var _annotations = __webpack_require__( /*! ./core/annotations */ 77129); var _center_template = __webpack_require__( /*! ./core/center_template */ 56672); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var states = _consts.default.states; var seriesSpacing = _consts.default.pieSeriesSpacing; var NORMAL_STATE = states.normalMark; var HOVER_STATE = states.hoverMark; var SELECTED_STATE = states.selectedMark; var LEGEND_ACTIONS = [states.resetItem, states.applyHover, states.applySelected, states.applySelected]; function correctPercentValue(value) { if ((0, _type.isNumeric)(value)) { if (value > 1) { value = 1 } else if (value < 0) { value = 0 } } else { value = void 0 } return value } var pieSizeEqualizer = function() { function removeFromList(list, item) { return list.filter((function(li) { return li !== item })) } var pies = []; var timers = {}; return { queue: function(pie) { var group = pie.getSizeGroup(); pies = (list = pies, item = pie, removeFromList(list, item).concat(item)); var list, item; clearTimeout(timers[group]); timers[group] = setTimeout((function() { ! function(group, allPies) { var pies = allPies.filter((function(p) { return p._isVisible() && p.getSizeGroup() === group })); var minRadius = Math.min.apply(null, pies.map((function(p) { return p.getSizeGroupLayout().radius }))); var minPie = pies.filter((function(p) { return p.getSizeGroupLayout().radius === minRadius })); pies.forEach((function(p) { return p.render({ force: true, sizeGroupLayout: minPie.length ? minPie[0].getSizeGroupLayout() : {} }) })) }(group, pies) })) }, remove: function(pie) { pies = removeFromList(pies, pie); if (!pies.length) { timers = {} } } } }(); var dxPieChart = _base_chart.BaseChart.inherit({ _themeSection: "pie", _layoutManagerOptions: function() { return (0, _extend2.extend)(true, {}, this.callBase(), { piePercentage: correctPercentValue(this._themeManager.getOptions("diameter")), minPiePercentage: correctPercentValue(this._themeManager.getOptions("minDiameter")) }) }, _optionChangesMap: { diameter: "REINIT", minDiameter: "REINIT", sizeGroup: "REINIT" }, _disposeCore: function() { pieSizeEqualizer.remove(this); this.callBase() }, _groupSeries: function() { var series = this.series; this._groupsData = { groups: [{ series: series, valueOptions: { valueType: "numeric" } }], argumentOptions: series[0] && series[0].getOptions() } }, getArgumentAxis: function() { return null }, _getValueAxis: function() { var translator = (new _translator1d.Translator1D).setCodomain(360, 0); return { getTranslator: function() { return translator }, setBusinessRange: function(range) { translator.setDomain(range.min, range.max) } } }, _populateBusinessRange: function() { this.series.map((function(series) { var range = new _range.Range; range.addRange(series.getRangeData().val); series.getValueAxis().setBusinessRange(range); return range })) }, _specialProcessSeries: function() { (0, _iterator.each)(this.series, (function(_, singleSeries) { singleSeries.arrangePoints() })) }, _checkPaneName: function() { return true }, _processSingleSeries: function(singleSeries) { this.callBase(singleSeries); singleSeries.arrangePoints() }, _handleSeriesDataUpdated: function() { var maxPointCount = 0; this.series.forEach((function(s) { maxPointCount = Math.max(s.getPointsCount(), maxPointCount) })); this.series.forEach((function(s) { s.setMaxPointsCount(maxPointCount) })); this.callBase() }, _getLegendOptions: function(item) { var legendItem = this.callBase(item); var legendData = legendItem.legendData; legendData.argument = item.argument; legendData.argumentIndex = item.argumentIndex; legendData.points = [item]; return legendItem }, _getLegendTargets: function() { var that = this; var itemsByArgument = {}; (that.series || []).forEach((function(series) { series.getPoints().forEach((function(point) { var argument = point.argument.valueOf(); var index = series.getPointsByArg(argument).indexOf(point); var key = argument.valueOf().toString() + index; itemsByArgument[key] = itemsByArgument[key] || []; var argumentCount = itemsByArgument[key].push(point); point.index = itemsByArgument[key][argumentCount - 2] ? itemsByArgument[key][argumentCount - 2].index : Object.keys(itemsByArgument).length - 1; point.argumentIndex = index })) })); var items = []; (0, _iterator.each)(itemsByArgument, (function(_, points) { points.forEach((function(point, index) { if (0 === index) { items.push(that._getLegendOptions(point)); return } var item = items[items.length - 1]; item.legendData.points.push(point); if (!item.visible) { item.visible = point.isVisible() } })) })); return items }, _getLayoutTargets: function() { return [{ canvas: this._canvas }] }, _getLayoutSeries: function(series, drawOptions) { var layout; var canvas = this._canvas; var drawnLabels = false; layout = this.layoutManager.applyPieChartSeriesLayout(canvas, series, true); series.forEach((function(singleSeries) { singleSeries.correctPosition(layout, canvas); drawnLabels = singleSeries.drawLabelsWOPoints() || drawnLabels })); if (drawnLabels) { layout = this.layoutManager.applyPieChartSeriesLayout(canvas, series, drawOptions.hideLayoutLabels) } series.forEach((function(singleSeries) { singleSeries.hideLabels() })); this._sizeGroupLayout = { x: layout.centerX, y: layout.centerY, radius: layout.radiusOuter, drawOptions: drawOptions }; return layout }, _getLayoutSeriesForEqualPies: function(series, sizeGroupLayout) { var canvas = this._canvas; var layout = this.layoutManager.applyEqualPieChartLayout(series, sizeGroupLayout); series.forEach((function(s) { s.correctPosition(layout, canvas); s.drawLabelsWOPoints() })); this.layoutManager.correctPieLabelRadius(series, layout, canvas); return layout }, _updateSeriesDimensions: function(drawOptions) { var visibleSeries = this._getVisibleSeries(); var lengthVisibleSeries = visibleSeries.length; var innerRad; var delta; var layout; var sizeGroupLayout = drawOptions.sizeGroupLayout; if (lengthVisibleSeries) { layout = sizeGroupLayout ? this._getLayoutSeriesForEqualPies(visibleSeries, sizeGroupLayout) : this._getLayoutSeries(visibleSeries, drawOptions); delta = (layout.radiusOuter - layout.radiusInner - seriesSpacing * (lengthVisibleSeries - 1)) / lengthVisibleSeries; innerRad = layout.radiusInner; this._setGeometry(layout); visibleSeries.forEach((function(singleSeries) { singleSeries.correctRadius({ radiusInner: innerRad, radiusOuter: innerRad + delta }); innerRad += delta + seriesSpacing })) } }, _renderSeries: function(drawOptions, isRotated, isLegendInside) { this._calculateSeriesLayout(drawOptions, isRotated); if (!drawOptions.sizeGroupLayout && this.getSizeGroup()) { pieSizeEqualizer.queue(this); this._clearCanvas(); return } this._renderSeriesElements(drawOptions, isLegendInside) }, _getCenter: function() { return this._center }, getInnerRadius: function() { return this._innerRadius }, _getLegendCallBack: function() { var that = this; var legend = this._legend; var items = this._getLegendTargets().map((function(i) { return i.legendData })); return function(target) { items.forEach((function(data) { var points = []; var callback = legend.getActionCallback({ index: data.id }); that.series.forEach((function(series) { var seriesPoints = series.getPointsByKeys(data.argument, data.argumentIndex); points.push.apply(points, seriesPoints) })); if (target && target.argument === data.argument && target.argumentIndex === data.argumentIndex) { points.push(target) } callback(function(points) { var state = NORMAL_STATE; points.forEach((function(point) { var _point$series; var seriesOptions = null === (_point$series = point.series) || void 0 === _point$series ? void 0 : _point$series.getOptions(); var pointState = point.fullState; if ("none" === (null === seriesOptions || void 0 === seriesOptions ? void 0 : seriesOptions.hoverMode)) { pointState &= ~HOVER_STATE } if ("none" === (null === seriesOptions || void 0 === seriesOptions ? void 0 : seriesOptions.selectionMode)) { pointState &= ~SELECTED_STATE } state |= pointState })); return LEGEND_ACTIONS[state] }(points)) })) } }, _locateLabels: function(resolveLabelOverlapping) { var iterationCount = 0; var labelsWereOverlapped; var wordWrapApplied; do { wordWrapApplied = this._adjustSeriesLabels("shift" === resolveLabelOverlapping); labelsWereOverlapped = this._resolveLabelOverlapping(resolveLabelOverlapping) } while ((labelsWereOverlapped || wordWrapApplied) && ++iterationCount < 5) }, _adjustSeriesLabels: function(moveLabelsFromCenter) { return this.series.reduce((function(r, s) { return s.adjustLabels(moveLabelsFromCenter) || r }), false) }, _applyExtraSettings: _common.noop, _resolveLabelOverlappingShift: function() { var that = this; var inverseDirection = "anticlockwise" === that.option("segmentsDirection"); var seriesByPosition = that.series.reduce((function(r, s) { (r[s.getOptions().label.position] || r.outside).push(s); return r }), { inside: [], columns: [], outside: [] }); var labelsOverlapped = false; if (seriesByPosition.inside.length > 0) { labelsOverlapped = resolve(seriesByPosition.inside.reduce((function(r, singleSeries) { return singleSeries.getVisiblePoints().reduce((function(r, point) { r.left.push(point); return r }), r) }), { left: [], right: [] }), shiftInColumnFunction) || labelsOverlapped } labelsOverlapped = seriesByPosition.columns.reduce((function(r, singleSeries) { return resolve(dividePoints(singleSeries), shiftInColumnFunction) || r }), labelsOverlapped); if (seriesByPosition.outside.length > 0) { labelsOverlapped = resolve(seriesByPosition.outside.reduce((function(r, singleSeries) { return dividePoints(singleSeries, r) }), null), (function(box, length) { return (0, _utils.getVerticallyShiftedAngularCoords)(box, -length, that._center) })) || labelsOverlapped } return labelsOverlapped; function dividePoints(series, points) { return series.getVisiblePoints().reduce((function(r, point) { var angle = (0, _utils.normalizeAngle)(point.middleAngle); (angle <= 90 || angle >= 270 ? r.right : r.left).push(point); return r }), points || { left: [], right: [] }) } function resolve(points, shiftCallback) { var overlapped; if (inverseDirection) { points.left.reverse(); points.right.reverse() } overlapped = _base_chart.overlapping.resolveLabelOverlappingInOneDirection(points.left, that._canvas, false, false, shiftCallback); return _base_chart.overlapping.resolveLabelOverlappingInOneDirection(points.right, that._canvas, false, false, shiftCallback) || overlapped } function shiftInColumnFunction(box, length) { return { x: box.x, y: box.y - length } } }, _setGeometry: function(_ref) { var x = _ref.centerX, y = _ref.centerY, radiusInner = _ref.radiusInner; this._center = { x: x, y: y }; this._innerRadius = radiusInner }, _disposeSeries: function(seriesIndex) { this.callBase.apply(this, arguments); this._abstractSeries = null }, _legendDataField: "point", _legendItemTextField: "argument", _applyPointMarkersAutoHiding: _common.noop, _renderTrackers: _common.noop, _trackerType: "PieTracker", _createScrollBar: _common.noop, _updateAxesLayout: _common.noop, _applyClipRects: _common.noop, _appendAdditionalSeriesGroups: _common.noop, _prepareToRender: _common.noop, _isLegendInside: _common.noop, _renderAxes: _common.noop, _shrinkAxes: _common.noop, _isRotated: _common.noop, _seriesPopulatedHandlerCore: _common.noop, _reinitAxes: _common.noop, _correctAxes: _common.noop, _getExtraOptions: function() { return { startAngle: this.option("startAngle"), innerRadius: this.option("innerRadius"), segmentsDirection: this.option("segmentsDirection"), type: this.option("type") } }, getSizeGroup: function() { return this._themeManager.getOptions("sizeGroup") }, getSizeGroupLayout: function() { return this._sizeGroupLayout || {} } }); (0, _iterator.each)(["startAngle", "innerRadius", "segmentsDirection", "type"], (function(_, name) { dxPieChart.prototype._optionChangesMap[name] = "REFRESH_SERIES_DATA_INIT" })); dxPieChart.addPlugin(_center_template.plugins.pieChart); dxPieChart.addPlugin(_annotations.plugins.core); dxPieChart.addPlugin(_annotations.plugins.pieChart); (0, _component_registrator.default)("dxPieChart", dxPieChart); var _default = dxPieChart; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 80919: /*!****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/polar_chart.js ***! \****************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _common = __webpack_require__( /*! ../core/utils/common */ 20576); var _component_registrator = (obj = __webpack_require__( /*! ../core/component_registrator */ 99393), obj && obj.__esModule ? obj : { default: obj }); var obj; var _extend = __webpack_require__( /*! ../core/utils/extend */ 13306); var _utils = __webpack_require__( /*! ./core/utils */ 19157); var _advanced_chart = __webpack_require__( /*! ./chart_components/advanced_chart */ 42602); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _annotations = __webpack_require__( /*! ./core/annotations */ 77129); var dxPolarChart = _advanced_chart.AdvancedChart.inherit({ _themeSection: "polar", _createPanes: function() { this.callBase(); return [{ name: "default" }] }, _checkPaneName: function() { return true }, _getAxisRenderingOptions: function(typeSelector) { var isArgumentAxis = "argumentAxis" === typeSelector; var type = isArgumentAxis ? "circular" : "linear"; var useSpiderWeb = this.option("useSpiderWeb"); if (useSpiderWeb) { type += "Spider" } return { axisType: "polarAxes", drawingType: type } }, _executeAppendBeforeSeries: function(append) { append() }, _prepareAxisOptions: function(typeSelector, axisOptions) { var isArgumentAxis = "argumentAxis" === typeSelector; var themeManager = this._themeManager; var axisUserOptions = this.option("argumentAxis"); var argumentAxisOptions = themeManager.getOptions("argumentAxis", axisUserOptions) || {}; var startAngle = isFinite(argumentAxisOptions.startAngle) ? (0, _utils.normalizeAngle)(argumentAxisOptions.startAngle) : 0; return { type: this.option("useSpiderWeb") && isArgumentAxis ? "discrete" : axisOptions.type, isHorizontal: true, showCustomBoundaryTicks: isArgumentAxis, startAngle: startAngle, endAngle: startAngle + 360 } }, _optionChangesMap: { useSpiderWeb: "USE_SPIDER_WEB" }, _change_USE_SPIDER_WEB: function() { this._disposeAxes(); this._requestChange(["AXES_AND_PANES"]) }, _getExtraOptions: function() { return { spiderWidget: this.option("useSpiderWeb") } }, _prepareToRender: function() { this._appendAxesGroups(); return {} }, _calcCanvas: function() { var canvas = (0, _extend.extend)({}, this._canvas); var argumentAxis = this.getArgumentAxis(); var margins = argumentAxis.getMargins(); Object.keys(margins).forEach((function(margin) { return canvas[margin] = canvas["original".concat(margin[0].toUpperCase()).concat(margin.slice(1))] + margins[margin] })); return canvas }, _renderAxes: function(drawOptions) { var valueAxis = this._getValueAxis(); var argumentAxis = this.getArgumentAxis(); argumentAxis.draw(this._canvas); valueAxis.setSpiderTicks(argumentAxis.getSpiderTicks()); var canvas = this._calcCanvas(); argumentAxis.updateSize(canvas); valueAxis.draw(canvas); return canvas }, _getValueAxis: function() { return this._valueAxes[0] }, _shrinkAxes: function(sizeStorage) { var valueAxis = this._getValueAxis(); var argumentAxis = this.getArgumentAxis(); if (sizeStorage && (sizeStorage.width || sizeStorage.height)) { argumentAxis.hideOuterElements(); var canvas = this._calcCanvas(); argumentAxis.updateSize(canvas); valueAxis.updateSize(canvas) } }, checkForMoreSpaceForPanesCanvas: function() { return this.layoutManager.needMoreSpaceForPanesCanvas([{ canvas: this.getArgumentAxis().getCanvas() }], this._isRotated()) }, _getLayoutTargets: function() { return [{ canvas: this._canvas }] }, _getSeriesForPane: function() { return this.series }, _applyClipRects: function() { var canvasClipRectID = this._getCanvasClipRectID(); this._createClipPathForPane(); this.getArgumentAxis().applyClipRects(this._getElementsClipRectID(), canvasClipRectID); this._getValueAxis().applyClipRects(this._getElementsClipRectID(), canvasClipRectID) }, _createClipPathForPane: function() { var valueAxis = this._getValueAxis(); var center = valueAxis.getCenter(); var radius = valueAxis.getRadius(); var panesClipRects = this._panesClipRects; center = { x: Math.round(center.x), y: Math.round(center.y) }; this._createClipCircle(panesClipRects.fixed, center.x, center.y, radius); this._createClipCircle(panesClipRects.base, center.x, center.y, radius); if (this.series.some((function(s) { return s.areErrorBarsVisible() }))) { this._createClipCircle(panesClipRects.wide, center.x, center.y, radius) } else { panesClipRects.wide[0] = null } }, _createClipCircle: function(clipArray, left, top, radius) { var clipCircle = clipArray[0]; if (!clipCircle) { clipCircle = this._renderer.clipCircle(left, top, radius); clipArray[0] = clipCircle } else { clipCircle.attr({ cx: left, cy: top, r: radius }) } }, _applyExtraSettings: function(series) { var wideClipRect = this._panesClipRects.wide[0]; series.setClippingParams(this._panesClipRects.base[0].id, wideClipRect && wideClipRect.id, false, false) }, getActualAngle: function(angle) { return this.getArgumentAxis().getOptions().inverted ? 360 - angle : angle }, getXYFromPolar: function(angle, radius, argument, value) { var layoutInfo = { angle: void 0, radius: void 0, x: void 0, y: void 0 }; if (!(0, _type.isDefined)(angle) && !(0, _type.isDefined)(radius) && !(0, _type.isDefined)(argument) && !(0, _type.isDefined)(value)) { return layoutInfo } var argAxis = this.getArgumentAxis(); var startAngle = argAxis.getAngles()[0]; var argAngle; var translatedRadius; if ((0, _type.isDefined)(argument)) { argAngle = argAxis.getTranslator().translate(argument) } else if (isFinite(angle)) { argAngle = this.getActualAngle(angle) } else if (!(0, _type.isDefined)(angle)) { argAngle = 0 } if ((0, _type.isDefined)(value)) { translatedRadius = this.getValueAxis().getTranslator().translate(value) } else if (isFinite(radius)) { translatedRadius = radius } else if (!(0, _type.isDefined)(radius)) { translatedRadius = argAxis.getRadius() } if ((0, _type.isDefined)(argAngle) && (0, _type.isDefined)(translatedRadius)) { var coords = (0, _utils.convertPolarToXY)(argAxis.getCenter(), startAngle, argAngle, translatedRadius); (0, _extend.extend)(layoutInfo, coords, { angle: argAxis.getTranslatedAngle(argAngle), radius: translatedRadius }) } return layoutInfo }, _applyPointMarkersAutoHiding: _common.noop, _createScrollBar: _common.noop, _isRotated: _common.noop, _getCrosshairOptions: _common.noop, _isLegendInside: _common.noop }); dxPolarChart.addPlugin(_annotations.plugins.core); dxPolarChart.addPlugin(_annotations.plugins.polarChart); (0, _component_registrator.default)("dxPolarChart", dxPolarChart); var _default = dxPolarChart; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 82879: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/range_selector.js ***! \*******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _range_selector = (obj = __webpack_require__( /*! ./range_selector/range_selector */ 91009), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _range_selector.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 11378: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/range_selector/common.js ***! \**************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.utils = exports.formatValue = exports.consts = exports.HEIGHT_COMPACT_MODE = void 0; var _smart_formatter = __webpack_require__( /*! ../axes/smart_formatter */ 41583); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); exports.HEIGHT_COMPACT_MODE = 24; exports.utils = { trackerSettings: { fill: "grey", stroke: "grey", opacity: 1e-4 }, animationSettings: { duration: 250 } }; var consts = { emptySliderMarkerText: ". . .", pointerSize: 4 }; exports.consts = consts; exports.formatValue = function(value, formatOptions, tickIntervalsInfo, valueType, type, logarithmBase) { var formatObject = { value: value, valueText: (0, _smart_formatter.smartFormatter)(value, { labelOptions: formatOptions, ticks: tickIntervalsInfo ? tickIntervalsInfo.ticks : [], tickInterval: tickIntervalsInfo ? tickIntervalsInfo.tickInterval : void 0, dataType: valueType, type: type, logarithmBase: logarithmBase }) }; return String((0, _type.isFunction)(formatOptions.customizeText) ? formatOptions.customizeText.call(formatObject, formatObject) : formatObject.valueText) } }, 91009: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/range_selector/range_selector.js ***! \**********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _type2 = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _range = __webpack_require__( /*! ../translators/range */ 21177); var _base_axis = __webpack_require__( /*! ../axes/base_axis */ 41278); var _parse_utils = __webpack_require__( /*! ../components/parse_utils */ 8587); var _format_helper = _interopRequireDefault(__webpack_require__( /*! ../../format_helper */ 30343)); var _common = __webpack_require__( /*! ./common */ 11378); var _sliders_controller = __webpack_require__( /*! ./sliders_controller */ 56481); var _tracker = __webpack_require__( /*! ./tracker */ 43695); var _range_view = __webpack_require__( /*! ./range_view */ 25104); var _series_data_source = __webpack_require__( /*! ./series_data_source */ 79302); var _tick_generator = __webpack_require__( /*! ../axes/tick_generator */ 45971); var _axes_constants = _interopRequireDefault(__webpack_require__( /*! ../axes/axes_constants */ 53805)); var _base_widget = _interopRequireDefault(__webpack_require__( /*! ../core/base_widget */ 59063)); var _export = __webpack_require__( /*! ../core/export */ 82454); var _title = __webpack_require__( /*! ../core/title */ 17384); var _loading_indicator = __webpack_require__( /*! ../core/loading_indicator */ 64758); var _data_source = __webpack_require__( /*! ../core/data_source */ 1539); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _max = Math.max; var _ceil = Math.ceil; var _floor = Math.floor; var VALUE = "value"; function calculateMarkerHeight(renderer, value, sliderMarkerOptions) { var formattedText = void 0 === value ? _common.consts.emptySliderMarkerText : (0, _common.formatValue)(value, sliderMarkerOptions); var textBBox = getTextBBox(renderer, formattedText, sliderMarkerOptions.font); return _ceil(textBBox.height) + 2 * sliderMarkerOptions.paddingTopBottom + _common.consts.pointerSize } function calculateScaleLabelHalfWidth(renderer, value, scaleOptions, tickIntervalsInfo) { var formattedText = (0, _common.formatValue)(value, scaleOptions.label, tickIntervalsInfo, scaleOptions.valueType, scaleOptions.type, scaleOptions.logarithmBase); var textBBox = getTextBBox(renderer, formattedText, scaleOptions.label.font); return _ceil(textBBox.width / 2) } function calculateValueType(firstValue, secondValue) { var typeFirstValue = (0, _type2.type)(firstValue); var typeSecondValue = (0, _type2.type)(secondValue); var validType = function(type) { return typeFirstValue === type || typeSecondValue === type }; return validType("date") ? "datetime" : validType("number") ? "numeric" : validType("string") ? "string" : "" } function showScaleMarkers(scaleOptions) { return "datetime" === scaleOptions.valueType && scaleOptions.marker.visible } function checkLogarithmicOptions(options, defaultLogarithmBase, incidentOccurred) { if (!options) { return } var logarithmBase = options.logarithmBase; if ("logarithmic" === options.type && logarithmBase <= 0 || logarithmBase && !(0, _type2.isNumeric)(logarithmBase)) { options.logarithmBase = defaultLogarithmBase; incidentOccurred("E2104") } else if ("logarithmic" !== options.type) { options.logarithmBase = void 0 } } function calculateScaleAreaHeight(renderer, scaleOptions, visibleMarkers, tickIntervalsInfo) { var labelScaleOptions = scaleOptions.label; var markerScaleOptions = scaleOptions.marker; var placeholderHeight = scaleOptions.placeholderHeight; var ticks = "semidiscrete" === scaleOptions.type ? scaleOptions.customTicks : tickIntervalsInfo.ticks; var text = (0, _common.formatValue)(ticks[0], labelScaleOptions); if (placeholderHeight) { return placeholderHeight } else { return (labelScaleOptions.visible ? labelScaleOptions.topIndent + getTextBBox(renderer, text, labelScaleOptions.font).height : 0) + (visibleMarkers ? markerScaleOptions.topIndent + markerScaleOptions.separatorHeight : 0) } } function getNextTickInterval(tickInterval, minorTickInterval, isDateType) { if (!tickInterval) { tickInterval = minorTickInterval } else if (isDateType) { tickInterval = _date.default.getNextDateUnit(tickInterval) } else { tickInterval += minorTickInterval } return tickInterval } function updateTickIntervals(scaleOptions, screenDelta, incidentOccurred, range) { var result; var min = (0, _type2.isDefined)(range.minVisible) ? range.minVisible : range.min; var max = (0, _type2.isDefined)(range.maxVisible) ? range.maxVisible : range.max; var categoriesInfo = scaleOptions._categoriesInfo; var ticksInfo; var length; var bounds = {}; if ("semidiscrete" === scaleOptions.type) { result = function(scaleOptions, min, max, screenDelta) { var minorTickInterval = scaleOptions.minorTickInterval; var tickInterval = scaleOptions.tickInterval; var interval; var isDateType = "datetime" === scaleOptions.valueType; var gridSpacingFactor = scaleOptions.axisDivisionFactor || {}; var tickCountByInterval; var tickCountByScreen; if (!tickInterval) { do { interval = getNextTickInterval(tickInterval, minorTickInterval, isDateType); if (tickInterval !== interval) { tickInterval = interval } else { break } if (isDateType) { interval = _date.default.dateToMilliseconds(tickInterval) } tickCountByInterval = _ceil((max - min) / interval); tickCountByScreen = _floor(screenDelta / (gridSpacingFactor[tickInterval] || 50)) || 1 } while (interval && tickCountByInterval > tickCountByScreen) } return { tickInterval: tickInterval, minorTickInterval: minorTickInterval, bounds: { minVisible: min, maxVisible: max }, ticks: [] } }(scaleOptions, min, max, screenDelta) } else { ticksInfo = (0, _tick_generator.tickGenerator)({ axisType: scaleOptions.type, dataType: scaleOptions.valueType, logBase: scaleOptions.logarithmBase, allowNegatives: true, linearThreshold: Math.abs(scaleOptions.linearThreshold || 0), axisDivisionFactor: scaleOptions.axisDivisionFactor, minorAxisDivisionFactor: scaleOptions.minorAxisDivisionFactor, calculateMinors: true, allowDecimals: scaleOptions.allowDecimals, endOnTick: scaleOptions.endOnTick, incidentOccurred: incidentOccurred, rangeIsEmpty: range.isEmpty() })({ min: min, max: max, categories: (0, _type2.isDefined)(categoriesInfo) ? categoriesInfo.categories : [] }, screenDelta, scaleOptions.tickInterval, scaleOptions.forceUserTickInterval, void 0, scaleOptions.minorTickInterval, scaleOptions.minorTickCount); length = ticksInfo.ticks.length; bounds.minVisible = ticksInfo.ticks[0] < min ? ticksInfo.ticks[0] : min; bounds.maxVisible = ticksInfo.ticks[length - 1] > max ? ticksInfo.ticks[length - 1] : max; result = { tickInterval: ticksInfo.tickInterval, minorTickInterval: 0 === scaleOptions.minorTickInterval ? 0 : ticksInfo.minorTickInterval, bounds: bounds, ticks: ticksInfo.ticks } } return result } function getFirstDayOfWeek(options) { var _options$workWeek; return null === (_options$workWeek = options.workWeek) || void 0 === _options$workWeek ? void 0 : _options$workWeek[0] } function getTextBBox(renderer, text, fontOptions) { var textElement = renderer.text(text, -1e3, -1e3).css((0, _utils.patchFontOptions)(fontOptions)).append(renderer.root); var textBBox = textElement.getBBox(); textElement.remove(); return textBBox } function updateScaleOptions(scaleOptions, seriesDataSource, translatorRange, tickIntervalsInfo, checkDateMarkerVisibility) { var bounds; var isEmptyInterval; var categoriesInfo = scaleOptions._categoriesInfo; var intervals; var isDateTime = "datetime" === scaleOptions.valueType; if (seriesDataSource && !seriesDataSource.isEmpty() && !translatorRange.isEmpty()) { bounds = tickIntervalsInfo.bounds; translatorRange.addRange(bounds); scaleOptions.startValue = translatorRange.invert ? bounds.maxVisible : bounds.minVisible; scaleOptions.endValue = translatorRange.invert ? bounds.minVisible : bounds.maxVisible } scaleOptions.marker.visible = checkDateMarkerVisibility(isDateTime && -1 === scaleOptions.type.indexOf("discrete"), scaleOptions.marker.visible, scaleOptions.startValue, scaleOptions.endValue, tickIntervalsInfo.tickInterval); if (categoriesInfo) { scaleOptions.startValue = categoriesInfo.start; scaleOptions.endValue = categoriesInfo.end } if (-1 === scaleOptions.type.indexOf("discrete")) { isEmptyInterval = (0, _type2.isDate)(scaleOptions.startValue) && (0, _type2.isDate)(scaleOptions.endValue) && scaleOptions.startValue.getTime() === scaleOptions.endValue.getTime() || scaleOptions.startValue === scaleOptions.endValue } scaleOptions.isEmpty = (start = scaleOptions.startValue, end = scaleOptions.endValue, !(0, _type2.isDefined)(start) || !(0, _type2.isDefined)(end)) || isEmptyInterval; var start, end; if (scaleOptions.isEmpty) { scaleOptions.startValue = scaleOptions.endValue = void 0 } else { scaleOptions.minorTickInterval = tickIntervalsInfo.minorTickInterval; scaleOptions.tickInterval = tickIntervalsInfo.tickInterval; if (isDateTime && (!(0, _type2.isDefined)(scaleOptions.label.format) || "semidiscrete" === scaleOptions.type && scaleOptions.minorTickInterval !== scaleOptions.tickInterval)) { if ("discrete" === scaleOptions.type) { scaleOptions.label.format = _format_helper.default.getDateFormatByTicks(tickIntervalsInfo.ticks) } else if (!scaleOptions.marker.visible) { scaleOptions.label.format = _format_helper.default.getDateFormatByTickInterval(scaleOptions.startValue, scaleOptions.endValue, scaleOptions.tickInterval) } else { scaleOptions.label.format = _date.default.getDateFormatByTickInterval(scaleOptions.tickInterval) } } } if ("semidiscrete" === scaleOptions.type) { intervals = function(options) { var min = options.startValue; var max = options.endValue; var isDate = "datetime" === options.valueType; var firstDayOfWeek = getFirstDayOfWeek(options); var tickInterval = options.tickInterval; var res = { intervals: [] }; if (!(0, _type2.isDefined)(min) || !(0, _type2.isDefined)(max)) { return res } res.intervals = _date.default.getSequenceByInterval(min, max, options.minorTickInterval); if (tickInterval !== options.minorTickInterval) { res.altIntervals = res.intervals; min = correctValueByInterval(min, isDate, tickInterval, firstDayOfWeek); max = correctValueByInterval(max, isDate, tickInterval, firstDayOfWeek); res.intervals = _date.default.getSequenceByInterval(min, max, tickInterval); res.intervals[0] = res.altIntervals[0] } return res }(scaleOptions); scaleOptions.customMinorTicks = intervals.altIntervals; scaleOptions.customTicks = intervals.intervals; scaleOptions.customBoundTicks = [scaleOptions.customTicks[0]] } } function correctValueByInterval(value, isDate, interval, firstDayOfWeek) { if ((0, _type2.isDefined)(value)) { value = isDate ? _date.default.correctDateWithUnitBeginning(new Date(value), interval, null, firstDayOfWeek) : (0, _math.adjust)(_floor((0, _math.adjust)(value / interval)) * interval) } return value } function getPrecisionForSlider(startValue, endValue, screenDelta) { var d = Math.abs(endValue - startValue) / screenDelta; var tail = d - _floor(d); return tail > 0 ? _ceil(Math.abs((0, _math.adjust)((0, _utils.getLog)(tail, 10)))) : 0 } var dxRangeSelector = _base_widget.default.inherit({ _toggleParentsScrollSubscription: function() {}, _eventsMap: { onValueChanged: { name: "valueChanged" } }, _rootClassPrefix: "dxrs", _rootClass: "dxrs-range-selector", _dataIsReady: function() { return this._dataIsLoaded() }, _initialChanges: ["DATA_SOURCE", "VALUE"], _themeDependentChanges: ["MOSTLY_TOTAL"], _themeSection: "rangeSelector", _fontFields: ["scale.label.font", "sliderMarker.font"], _setDeprecatedOptions: function() { this.callBase(); (0, _extend.extend)(this._deprecatedOptions, { "behavior.callValueChanged": { since: "23.1", message: 'Use the "behavior.valueChangeMode" property instead' }, "scale.aggregateByCategory": { since: "23.1", message: "Use the aggregation.enabled property" } }) }, _initCore: function() { var that = this; var renderer = that._renderer; var root = renderer.root; root.css({ "touch-action": "pan-y" }); that._clipRect = renderer.clipRect(); var rangeViewGroup = renderer.g().attr({ class: "dxrs-view" }).append(root); var slidersGroup = renderer.g().attr({ class: "dxrs-slidersContainer", "clip-path": that._clipRect.id }).append(root); var scaleGroup = renderer.g().attr({ class: "dxrs-scale", "clip-path": that._clipRect.id }).append(root); var labelsAxesGroup = renderer.g().attr({ class: "dxrs-scale-elements", "clip-path": that._clipRect.id }).append(root); var scaleBreaksGroup = renderer.g().attr({ class: "dxrs-scale-breaks" }).append(root); var trackersGroup = renderer.g().attr({ class: "dxrs-trackers" }).append(root); that._axis = new AxisWrapper({ renderer: renderer, root: scaleGroup, scaleBreaksGroup: scaleBreaksGroup, labelsAxesGroup: labelsAxesGroup, updateSelectedRange: function(range, e) { that.setValue((0, _utils.convertVisualRangeObject)(range), e) }, incidentOccurred: that._incidentOccurred }); that._rangeView = new _range_view.RangeView({ renderer: renderer, root: rangeViewGroup, translator: that._axis.getTranslator() }); that._slidersController = new _sliders_controller.SlidersController({ renderer: renderer, root: slidersGroup, trackersGroup: trackersGroup, updateSelectedRange: function(range, lastSelectedRange, e) { if (!that._rangeOption) { that.option(VALUE, (0, _utils.convertVisualRangeObject)(range, (0, _type2.isPlainObject)(that._options.silent(VALUE)))) } that._eventTrigger("valueChanged", { value: (0, _utils.convertVisualRangeObject)(range), previousValue: (0, _utils.convertVisualRangeObject)(lastSelectedRange), event: e }) }, axis: that._axis, translator: that._axis.getTranslator() }); that._tracker = new _tracker.Tracker({ renderer: renderer, controller: that._slidersController }) }, _getDefaultSize: function() { return { width: 400, height: 160 } }, _disposeCore: function() { this._axis.dispose(); this._slidersController.dispose(); this._tracker.dispose() }, _applySize: function(rect) { this._clientRect = rect.slice(); this._change(["MOSTLY_TOTAL"]) }, _optionChangesMap: { scale: "SCALE", value: "VALUE", dataSource: "DATA_SOURCE" }, _optionChangesOrder: ["SCALE", "DATA_SOURCE"], _change_SCALE: function() { this._change(["MOSTLY_TOTAL"]) }, _setValueByDataSource: function() { var options = this._options.silent(); var axis = this._axis; if (options.dataSource) { var selectedRangeUpdateMode = this.option("selectedRangeUpdateMode"); var value = this.getValue(); var valueIsReady = (0, _type2.isDefined)(value[0]) && (0, _type2.isDefined)(value[1]); if ((0, _type2.isDefined)(selectedRangeUpdateMode)) { selectedRangeUpdateMode = (0, _utils.normalizeEnum)(selectedRangeUpdateMode); this.__skipAnimation = true } else if (valueIsReady && !this._dataSourceIsAsync) { selectedRangeUpdateMode = "reset" } if ("auto" === selectedRangeUpdateMode && valueIsReady) { var rangesInfo = axis.allScaleSelected(value); if (rangesInfo.startValue && rangesInfo.endValue) { selectedRangeUpdateMode = "reset" } else if (rangesInfo.endValue) { selectedRangeUpdateMode = "shift" } else { selectedRangeUpdateMode = "keep" } } if ("reset" === selectedRangeUpdateMode) { options[VALUE] = null } else if ("shift" === selectedRangeUpdateMode && valueIsReady) { var _value = this.getValue(); this.__skipAnimation = true; options[VALUE] = { length: axis.getVisualRangeLength({ minVisible: _value[0], maxVisible: _value[1] }) } } else if ("keep" === selectedRangeUpdateMode) { this.__skipAnimation = true } } this._dataSourceIsAsync = void 0 }, _change_DATA_SOURCE: function() { if (this._options.silent("dataSource")) { this._updateDataSource() } }, _customChangesOrder: ["MOSTLY_TOTAL", "VALUE", "SLIDER_SELECTION"], _change_MOSTLY_TOTAL: function() { this._applyMostlyTotalChange() }, _change_SLIDER_SELECTION: function() { var value = this._options.silent(VALUE); this._slidersController.setSelectedRange(value && (0, _utils.getVizRangeObject)(value)) }, _change_VALUE: function() { var option = this._rangeOption; this._dataSourceIsAsync = !this._dataIsReady(); if (option) { this._options.silent(VALUE, option); this.setValue(option) } }, _validateRange: function(start, end) { var _this = this; var ensureValueInvalid = function(value) { return (0, _type2.isDefined)(value) && !_this._axis.getTranslator().isValid(value) }; if (this._dataIsReady() && (ensureValueInvalid(start) || ensureValueInvalid(end))) { this._incidentOccurred("E2203") } }, _applyChanges: function() { var that = this; var value = that._options.silent(VALUE); if (that._changes.has("VALUE") && value) { that._rangeOption = value } that.callBase.apply(that, arguments); that._rangeOption = null; that.__isResizing = that.__skipAnimation = false }, _applyMostlyTotalChange: function() { var renderer = this._renderer; var rect = this._clientRect; var currentAnimationEnabled; var canvas = { left: rect[0], top: rect[1], width: rect[2] - rect[0], height: rect[3] - rect[1] }; if (this.__isResizing || this.__skipAnimation) { currentAnimationEnabled = renderer.animationEnabled(); renderer.updateAnimationOptions({ enabled: false }) } this._clipRect.attr({ x: rect[0], y: rect[1], width: rect[2] - rect[0], height: rect[3] - rect[1] }); this._axis.getTranslator().update(new _range.Range, canvas, { isHorizontal: true }); this._updateContent({ left: rect[0], top: rect[1], width: rect[2] - rect[0], height: rect[3] - rect[1] }); if (this.__isResizing || this.__skipAnimation) { renderer.updateAnimationOptions({ enabled: currentAnimationEnabled }) } this._drawn() }, _dataSourceChangedHandler: function() { this._setValueByDataSource(); this._requestChange(["MOSTLY_TOTAL"]) }, _completeSeriesDataSourceCreation: function(scaleOptions, seriesDataSource) { var rect = this._clientRect; var canvas = { left: rect[0], top: rect[1], width: rect[2] - rect[0], height: rect[3] - rect[1] }; this._axis.updateOptions((0, _extend.extend)({}, scaleOptions, { isHorizontal: true, label: {} })); seriesDataSource.isShowChart() && this._axis.setMarginOptions(seriesDataSource.getMarginOptions(canvas)); this._axis.updateCanvas(canvas); seriesDataSource.createPoints() }, _updateContent: function(canvas) { var chartOptions = this.option("chart"); var seriesDataSource = this._createSeriesDataSource(chartOptions); var isCompactMode = !(seriesDataSource && seriesDataSource.isShowChart() || this.option("background.image.url")); var scaleOptions = function(scaleOption, calculatedValueType, incidentOccurred, containerColor) { var parsedValue = 0; var valueType = (0, _parse_utils.correctValueType)((0, _utils.normalizeEnum)(scaleOption.valueType)); var validateStartEndValues = function(field, parser) { var messageToIncidentOccurred = "startValue" === field ? "start" : "end"; if ((0, _type2.isDefined)(scaleOption[field])) { parsedValue = parser(scaleOption[field]); if ((0, _type2.isDefined)(parsedValue)) { scaleOption[field] = parsedValue } else { scaleOption[field] = void 0; incidentOccurred("E2202", [messageToIncidentOccurred]) } } }; valueType = calculatedValueType || valueType; if (!valueType) { valueType = calculateValueType(scaleOption.startValue, scaleOption.endValue) || "numeric" } if ("string" === valueType || scaleOption.categories) { scaleOption.type = "discrete"; valueType = "string" } scaleOption.containerColor = containerColor; scaleOption.valueType = valueType; scaleOption.dataType = valueType; var parser = (0, _parse_utils.getParser)(valueType); validateStartEndValues("startValue", parser); validateStartEndValues("endValue", parser); checkLogarithmicOptions(scaleOption, 10, incidentOccurred); if (!scaleOption.type) { scaleOption.type = "continuous" } scaleOption.parser = parser; if ("semidiscrete" === scaleOption.type) { scaleOption.minorTick.visible = false; scaleOption.minorTickInterval = scaleOption.minRange; scaleOption.marker.visible = false; scaleOption.maxRange = void 0 } scaleOption.forceUserTickInterval |= (0, _type2.isDefined)(scaleOption.tickInterval) && !(0, _type2.isDefined)(scaleOption.axisDivisionFactor); scaleOption.axisDivisionFactor = (0, _type2.isDefined)(scaleOption.axisDivisionFactor) ? scaleOption.axisDivisionFactor : 30; scaleOption.minorAxisDivisionFactor = (0, _type2.isDefined)(scaleOption.minorAxisDivisionFactor) ? scaleOption.minorAxisDivisionFactor : 15; return scaleOption }(this._getOption("scale"), seriesDataSource && seriesDataSource.getCalculatedValueType(), this._incidentOccurred, this._getOption("containerBackgroundColor", true)); seriesDataSource && this._completeSeriesDataSourceCreation(scaleOptions, seriesDataSource); var argTranslatorRange = function(seriesDataSource, scaleOptions) { var minValue; var maxValue; var inverted = false; var startValue = scaleOptions.startValue; var endValue = scaleOptions.endValue; var categories; var categoriesInfo; var translatorRange = seriesDataSource ? seriesDataSource.getBoundRange().arg : new _range.Range; var rangeForCategories; var isDate = "datetime" === scaleOptions.valueType; var firstDayOfWeek = getFirstDayOfWeek(scaleOptions); var minRange = scaleOptions.minRange; if ("discrete" === scaleOptions.type) { rangeForCategories = new _range.Range({ minVisible: startValue, maxVisible: endValue }); rangeForCategories.addRange(translatorRange); translatorRange = rangeForCategories; categories = seriesDataSource ? seriesDataSource.argCategories : scaleOptions.categories || startValue && endValue && [startValue, endValue]; categories = categories || []; scaleOptions._categoriesInfo = categoriesInfo = (0, _utils.getCategoriesInfo)(categories, startValue, endValue) } if ("semidiscrete" === scaleOptions.type) { startValue = scaleOptions.startValue = correctValueByInterval(scaleOptions.startValue, isDate, minRange, firstDayOfWeek); endValue = scaleOptions.endValue = correctValueByInterval(scaleOptions.endValue, isDate, minRange, firstDayOfWeek); translatorRange.minVisible = correctValueByInterval(translatorRange.minVisible, isDate, minRange, firstDayOfWeek); translatorRange.maxVisible = correctValueByInterval(translatorRange.maxVisible, isDate, minRange, firstDayOfWeek); translatorRange.min = correctValueByInterval(translatorRange.min, isDate, minRange, firstDayOfWeek); translatorRange.max = correctValueByInterval(translatorRange.max, isDate, minRange, firstDayOfWeek) } if ((0, _type2.isDefined)(startValue) && (0, _type2.isDefined)(endValue)) { inverted = categoriesInfo ? categoriesInfo.inverted : startValue > endValue; minValue = categoriesInfo ? categoriesInfo.start : inverted ? endValue : startValue; maxValue = categoriesInfo ? categoriesInfo.end : inverted ? startValue : endValue } else if ((0, _type2.isDefined)(startValue) || (0, _type2.isDefined)(endValue)) { minValue = startValue; maxValue = endValue } else if (categoriesInfo) { minValue = categoriesInfo.start; maxValue = categoriesInfo.end } translatorRange.addRange({ invert: inverted, min: minValue, max: maxValue, minVisible: minValue, maxVisible: maxValue, dataType: scaleOptions.valueType }); translatorRange.addRange({ categories: !seriesDataSource ? categories : void 0, base: scaleOptions.logarithmBase, axisType: scaleOptions.type, dataType: scaleOptions.valueType }); seriesDataSource && translatorRange.sortCategories(categories); return translatorRange }(seriesDataSource, scaleOptions); var tickIntervalsInfo = updateTickIntervals(scaleOptions, canvas.width, this._incidentOccurred, argTranslatorRange); var chartThemeManager = seriesDataSource && seriesDataSource.isShowChart() && seriesDataSource.getThemeManager(); if (chartThemeManager) { checkLogarithmicOptions(chartOptions && chartOptions.valueAxis, chartThemeManager.getOptions("valueAxis").logarithmBase, this._incidentOccurred) } updateScaleOptions(scaleOptions, seriesDataSource, argTranslatorRange, tickIntervalsInfo, (screenDelta = canvas.width, function(isDateScale, isMarkerVisible, min, max, tickInterval) { if (isMarkerVisible && isDateScale) { if (!(0, _type2.isDefined)(tickInterval) || tickInterval.years || tickInterval.months >= 6 || screenDelta / 50 < _ceil((max - min) / _date.default.dateToMilliseconds("year")) + 1) { isMarkerVisible = false } } return isMarkerVisible })); var screenDelta; ! function(translatorRange, scaleOptions) { var intervalX = scaleOptions.minorTickInterval || scaleOptions.tickInterval; if ("datetime" === scaleOptions.valueType) { intervalX = _date.default.dateToMilliseconds(intervalX) } translatorRange.addRange({ interval: intervalX }) }(argTranslatorRange, scaleOptions); var sliderMarkerOptions = this._prepareSliderMarkersOptions(scaleOptions, canvas.width, tickIntervalsInfo, argTranslatorRange); var indents = function(renderer, scale, sliderMarkerOptions, indentOptions, tickIntervalsInfo) { var leftMarkerHeight; var leftScaleLabelWidth = 0; var rightScaleLabelWidth = 0; var rightMarkerHeight; var placeholderWidthLeft; var placeholderWidthRight; var placeholderHeight; var ticks = "semidiscrete" === scale.type ? scale.customTicks : tickIntervalsInfo.ticks; var startTickValue; var endTickValue; indentOptions = indentOptions || {}; placeholderWidthLeft = indentOptions.left; placeholderWidthRight = indentOptions.right; placeholderHeight = sliderMarkerOptions.placeholderHeight; if (sliderMarkerOptions.visible) { leftMarkerHeight = calculateMarkerHeight(renderer, scale.startValue, sliderMarkerOptions); rightMarkerHeight = calculateMarkerHeight(renderer, scale.endValue, sliderMarkerOptions); if (void 0 === placeholderHeight) { placeholderHeight = _max(leftMarkerHeight, rightMarkerHeight) } } if (scale.label.visible) { startTickValue = (0, _type2.isDefined)(scale.startValue) ? ticks[0] : void 0; endTickValue = (0, _type2.isDefined)(scale.endValue) ? ticks[ticks.length - 1] : void 0; leftScaleLabelWidth = calculateScaleLabelHalfWidth(renderer, startTickValue, scale, tickIntervalsInfo); rightScaleLabelWidth = calculateScaleLabelHalfWidth(renderer, endTickValue, scale, tickIntervalsInfo) } placeholderWidthLeft = void 0 !== placeholderWidthLeft ? placeholderWidthLeft : leftScaleLabelWidth; placeholderWidthRight = (void 0 !== placeholderWidthRight ? placeholderWidthRight : rightScaleLabelWidth) || 1; return { left: placeholderWidthLeft, right: placeholderWidthRight, top: placeholderHeight || 0, bottom: 0 } }(this._renderer, scaleOptions, sliderMarkerOptions, this.option("indent"), tickIntervalsInfo); var rangeContainerCanvas = { left: canvas.left + indents.left, top: canvas.top + indents.top, width: canvas.left + indents.left + _max(canvas.width - indents.left - indents.right, 1), height: _max(!isCompactMode ? canvas.height - indents.top - indents.bottom - calculateScaleAreaHeight(this._renderer, scaleOptions, showScaleMarkers(scaleOptions), tickIntervalsInfo) : _common.HEIGHT_COMPACT_MODE, 0), right: 0, bottom: 0 }; this._axis.update(scaleOptions, isCompactMode, rangeContainerCanvas, argTranslatorRange, seriesDataSource); scaleOptions.minorTickInterval = scaleOptions.isEmpty ? 0 : scaleOptions.minorTickInterval; this._updateElements(scaleOptions, sliderMarkerOptions, isCompactMode, rangeContainerCanvas, seriesDataSource); if (chartThemeManager) { chartThemeManager.dispose() } }, _updateElements: function(scaleOptions, sliderMarkerOptions, isCompactMode, canvas, seriesDataSource) { var behavior = this._getOption("behavior"); var shutterOptions = this._getOption("shutter"); var isNotSemiDiscrete = "semidiscrete" !== scaleOptions.type; shutterOptions.color = shutterOptions.color || this._getOption("containerBackgroundColor", true); this._rangeView.update(this.option("background"), this._themeManager.theme("background"), canvas, isCompactMode, behavior.animationEnabled && this._renderer.animationEnabled(), seriesDataSource); this._isUpdating = true; this._slidersController.update([canvas.top, canvas.top + canvas.height], behavior, isCompactMode, this._getOption("sliderHandle"), sliderMarkerOptions, shutterOptions, { minRange: isNotSemiDiscrete ? this.option("scale.minRange") : void 0, maxRange: isNotSemiDiscrete ? this.option("scale.maxRange") : void 0 }, this._axis.getFullTicks(), this._getOption("selectedRangeColor", true)); this._requestChange(["SLIDER_SELECTION"]); this._isUpdating = false; this._tracker.update(!this._axis.getTranslator().getBusinessRange().isEmpty(), behavior) }, _createSeriesDataSource: function(chartOptions) { var seriesDataSource; var dataSource = this._dataSourceItems(); var scaleOptions = this._getOption("scale"); var valueType = scaleOptions.valueType || calculateValueType(scaleOptions.startValue, scaleOptions.endValue); var valueAxis = new _base_axis.Axis({ renderer: this._renderer, axisType: "xyAxes", drawingType: "linear" }); valueAxis.updateOptions({ isHorizontal: false, label: {}, categoriesSortingMethod: this._getOption("chart").valueAxis.categoriesSortingMethod }); if (dataSource || chartOptions && chartOptions.series) { chartOptions = (0, _extend.extend)({}, chartOptions, { theme: this.option("theme") }); seriesDataSource = new _series_data_source.SeriesDataSource({ renderer: this._renderer, dataSource: dataSource, valueType: (0, _utils.normalizeEnum)(valueType), axisType: scaleOptions.type, chart: chartOptions, dataSourceField: this.option("dataSourceField"), incidentOccurred: this._incidentOccurred, categories: scaleOptions.categories, argumentAxis: this._axis, valueAxis: valueAxis }) } return seriesDataSource }, _prepareSliderMarkersOptions: function(scaleOptions, screenDelta, tickIntervalsInfo, argRange) { var minorTickInterval = tickIntervalsInfo.minorTickInterval; var tickInterval = tickIntervalsInfo.tickInterval; var interval = tickInterval; var endValue = scaleOptions.endValue; var startValue = scaleOptions.startValue; var sliderMarkerOptions = this._getOption("sliderMarker"); var doNotSnap = !this._getOption("behavior").snapToTicks; var isTypeDiscrete = "discrete" === scaleOptions.type; var isValueTypeDatetime = "datetime" === scaleOptions.valueType; sliderMarkerOptions.borderColor = this._getOption("containerBackgroundColor", true); if (!sliderMarkerOptions.format && !argRange.isEmpty()) { if (doNotSnap && (0, _type2.isNumeric)(scaleOptions.startValue)) { sliderMarkerOptions.format = { type: "fixedPoint", precision: getPrecisionForSlider(startValue, endValue, screenDelta) } } if (isValueTypeDatetime && !isTypeDiscrete) { if ((0, _type2.isDefined)(minorTickInterval) && 0 !== minorTickInterval) { interval = function(tickInterval, minorTickInterval, withCorrection) { var interval = _date.default.getDateUnitInterval(minorTickInterval); var majorUnit = _date.default.getDateUnitInterval(tickInterval); var idx = _date.default.dateUnitIntervals.indexOf(interval); if (withCorrection && interval === majorUnit && idx > 0) { interval = _date.default.dateUnitIntervals[idx - 1] } return interval }(tickInterval, minorTickInterval, doNotSnap) } if (!scaleOptions.marker.visible) { if ((0, _type2.isDefined)(startValue) && (0, _type2.isDefined)(endValue)) { sliderMarkerOptions.format = _format_helper.default.getDateFormatByTickInterval(startValue, endValue, interval) } } else { sliderMarkerOptions.format = _date.default.getDateFormatByTickInterval(interval) } } if (isValueTypeDatetime && isTypeDiscrete && tickIntervalsInfo.ticks.length) { sliderMarkerOptions.format = _format_helper.default.getDateFormatByTicks(tickIntervalsInfo.ticks) } } return sliderMarkerOptions }, getValue: function() { return (0, _utils.convertVisualRangeObject)(this._slidersController.getSelectedRange()) }, setValue: function(value, e) { var visualRange = (0, _utils.getVizRangeObject)(value); if (!this._isUpdating && value) { this._validateRange(visualRange.startValue, visualRange.endValue); !(0, _utils.rangesAreEqual)(visualRange, this._slidersController.getSelectedRange()) && this._slidersController.setSelectedRange(visualRange, e) } }, _setContentSize: function() { this.__isResizing = 2 === this._changes.count(); this.callBase.apply(this, arguments) } }); (0, _iterator.each)(["selectedRangeColor", "containerBackgroundColor", "sliderMarker", "sliderHandle", "shutter", "background", "behavior", "chart", "indent"], (function(_, name) { dxRangeSelector.prototype._optionChangesMap[name] = "MOSTLY_TOTAL" })); function getSharpDirection() { return 1 } function getTickStartPositionShift(length) { return length % 2 === 1 ? -_floor(length / 2) : -length / 2 } function checkShiftedLabels(majorTicks, boxes, minSpacing, alignment) { function checkLabelsOverlapping(nearestLabelsIndexes) { if (2 === nearestLabelsIndexes.length && _axes_constants.default.areLabelsOverlap(boxes[nearestLabelsIndexes[0]], boxes[nearestLabelsIndexes[1]], minSpacing, alignment)) { majorTicks[nearestLabelsIndexes[0]].removeLabel() } } function getTwoVisibleLabels(startIndex) { var labels = []; for (var i = startIndex; labels.length < 2 && i < majorTicks.length; i++) { majorTicks[i].label && labels.push(i) } return labels } if (majorTicks.length < 3) { return } checkLabelsOverlapping(getTwoVisibleLabels(0)); checkLabelsOverlapping(getTwoVisibleLabels(majorTicks.length - 2).reverse()) } function AxisWrapper(params) { this._axis = new _base_axis.Axis({ renderer: params.renderer, axesContainerGroup: params.root, scaleBreaksGroup: params.scaleBreaksGroup, labelsAxesGroup: params.labelsAxesGroup, incidentOccurred: params.incidentOccurred, axisType: "xyAxes", drawingType: "linear", widgetClass: "dxrs", axisClass: "range-selector", isArgumentAxis: true, getTemplate: function() {} }); this._updateSelectedRangeCallback = params.updateSelectedRange; this._axis.getAxisSharpDirection = this._axis.getSharpDirectionByCoords = getSharpDirection; this._axis.getTickStartPositionShift = getTickStartPositionShift; this._axis._checkShiftedLabels = checkShiftedLabels } AxisWrapper.prototype = { constructor: AxisWrapper, update: function(options, isCompactMode, canvas, businessRange, seriesDataSource) { var axis = this._axis; axis.updateOptions(function(scaleOptions, isCompactMode, height, axisPosition) { scaleOptions.marker.label.font = scaleOptions.label.font; scaleOptions.color = scaleOptions.marker.color = scaleOptions.tick.color; scaleOptions.opacity = scaleOptions.marker.opacity = scaleOptions.tick.opacity; scaleOptions.width = scaleOptions.marker.width = scaleOptions.tick.width; scaleOptions.placeholderSize = (scaleOptions.placeholderHeight || 0) + axisPosition; scaleOptions.argumentType = scaleOptions.valueType; scaleOptions.visible = isCompactMode; scaleOptions.isHorizontal = true; scaleOptions.calculateMinors = true; scaleOptions.semiDiscreteInterval = scaleOptions.minRange; if (!isCompactMode) { scaleOptions.minorTick.length = scaleOptions.tick.length = height } scaleOptions.label.indentFromAxis = scaleOptions.label.topIndent + axisPosition; return scaleOptions }(options, isCompactMode, canvas.height, canvas.height / 2 - _ceil(options.width / 2))); axis.validate(); axis.setBusinessRange(businessRange, true); if (void 0 !== seriesDataSource && seriesDataSource.isShowChart()) { axis.setMarginOptions(seriesDataSource.getMarginOptions(canvas)) } axis.draw(canvas); axis.shift({ left: 0, bottom: -canvas.height / 2 + canvas.top }); if (axis.getMarkerTrackers()) { ! function(scaleOptions, markerTrackers, setSelectedRange) { (0, _iterator.each)(markerTrackers, (function(_, value) { value.on("dxpointerdown", onPointerDown) })); function onPointerDown(e) { var range = e.target.range; var minRange = scaleOptions.minRange ? _date.default.addInterval(range.startValue, scaleOptions.minRange) : void 0; var maxRange = scaleOptions.maxRange ? _date.default.addInterval(range.startValue, scaleOptions.maxRange) : void 0; if (!(minRange && minRange > range.endValue || maxRange && maxRange < range.endValue)) { setSelectedRange(range, e) } } }(options, axis.getMarkerTrackers(), this._updateSelectedRangeCallback) } axis.drawScaleBreaks({ start: canvas.top, end: canvas.top + canvas.height }) }, visualRange: function() {}, getViewport: function() { return {} }, allScaleSelected: function(value) { var _this$_axis$visualRan = this._axis.visualRange(), startValue = _this$_axis$visualRan.startValue, endValue = _this$_axis$visualRan.endValue; return { startValue: value[0].valueOf() === startValue.valueOf(), endValue: value[1].valueOf() === endValue.valueOf() } }, getOptions: function() { return this._axis.getOptions() || {} } }; (0, _iterator.each)(_base_axis.Axis.prototype, (function(field) { if ("constructor" !== field && "_" !== field[0] && (0, _type2.isFunction)(_base_axis.Axis.prototype[field]) && !(field in AxisWrapper.prototype)) { AxisWrapper.prototype[field] = function() { var axis = this._axis; return axis[field].apply(axis, arguments) } } })); (0, _component_registrator.default)("dxRangeSelector", dxRangeSelector); var _default = dxRangeSelector; exports.default = _default; dxRangeSelector.addPlugin(_export.plugin); dxRangeSelector.addPlugin(_title.plugin); dxRangeSelector.addPlugin(_loading_indicator.plugin); dxRangeSelector.addPlugin(_data_source.plugin); module.exports = exports.default; module.exports.default = exports.default }, 25104: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/range_selector/range_view.js ***! \******************************************************************************/ function(__unused_webpack_module, exports) { exports.RangeView = RangeView; function merge(a, b) { return void 0 !== a ? a : b } function RangeView(params) { this._params = params; this._clipRect = params.renderer.clipRect(); params.root.attr({ "clip-path": this._clipRect.id }) } RangeView.prototype = { constructor: RangeView, update: function(backgroundOption, backgroundTheme, canvas, isCompactMode, isAnimationEnabled, seriesDataSource) { var renderer = this._params.renderer; var root = this._params.root; var canvasWidth = canvas.width - canvas.left; var seriesGroup; backgroundOption = backgroundOption || {}; root.clear(); this._clipRect.attr({ x: canvas.left, y: canvas.top, width: canvasWidth, height: canvas.height }); if (!isCompactMode) { if (merge(backgroundOption.visible, backgroundTheme.visible)) { if (backgroundOption.color) { renderer.rect(canvas.left, canvas.top, canvasWidth + 1, canvas.height).attr({ fill: merge(backgroundOption.color, backgroundTheme.color), class: "dx-range-selector-background" }).append(root) } if (backgroundOption.image && backgroundOption.image.url) { renderer.image(canvas.left, canvas.top, canvasWidth + 1, canvas.height, backgroundOption.image.url, merge(backgroundOption.image.location, backgroundTheme.image.location)).append(root) } } if (seriesDataSource && seriesDataSource.isShowChart()) { seriesGroup = renderer.g().attr({ class: "dxrs-series-group" }).append(root); ! function(root, seriesDataSource, canvas, isAnimationEnabled) { var seriesList = seriesDataSource.getSeries(); if (!seriesList.length) { return } var valueAxis = seriesList[0].getValueAxis(); valueAxis.updateCanvas({ top: canvas.top, bottom: 0, height: canvas.height + canvas.top }); seriesDataSource.adjustSeriesDimensions(); var valueRange = seriesDataSource.getBoundRange().val; valueRange.sortCategories(valueAxis.getCategoriesSorter()); valueAxis.setBusinessRange(valueRange); seriesList.forEach((function(series) { series._extGroups.seriesGroup = series._extGroups.labelsGroup = root; series.draw(isAnimationEnabled) })) }(seriesGroup, seriesDataSource, canvas, isAnimationEnabled) } } } } }, 79302: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/range_selector/series_data_source.js ***! \**************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.SeriesDataSource = void 0; var _base_series = __webpack_require__( /*! ../series/base_series */ 54932); var _series_family = __webpack_require__( /*! ../core/series_family */ 1939); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _range = __webpack_require__( /*! ../translators/range */ 21177); var _data_validator = __webpack_require__( /*! ../components/data_validator */ 45865); var _chart_theme_manager = __webpack_require__( /*! ../components/chart_theme_manager */ 99327); var SeriesDataSource = function(options) { var themeManager = this._themeManager = (chartOptions = options.chart, new _chart_theme_manager.ThemeManager({ options: chartOptions, themeSection: "rangeSelector.chart", fontFields: ["commonSeriesSettings.label.font"] })); var chartOptions; themeManager.setTheme(options.chart.theme); var topIndent = themeManager.getOptions("topIndent"); var bottomIndent = themeManager.getOptions("bottomIndent"); this._indent = { top: topIndent >= 0 && topIndent < 1 ? topIndent : 0, bottom: bottomIndent >= 0 && bottomIndent < 1 ? bottomIndent : 0 }; this._valueAxis = themeManager.getOptions("valueAxisRangeSelector") || {}; this._hideChart = false; this._series = this._calculateSeries(options); this._seriesFamilies = [] }; exports.SeriesDataSource = SeriesDataSource; SeriesDataSource.prototype = { constructor: SeriesDataSource, _calculateSeries: function(options) { var series = []; var particularSeriesOptions; var seriesTheme; var data = options.dataSource || []; var parsedData; var chartThemeManager = this._themeManager; var seriesTemplate = chartThemeManager.getOptions("seriesTemplate"); var allSeriesOptions = seriesTemplate ? (0, _utils.processSeriesTemplate)(seriesTemplate, data) : options.chart.series; var dataSourceField; var valueAxis = this._valueAxis; var i; var newSeries; var groupsData; if (options.dataSource && !allSeriesOptions) { dataSourceField = options.dataSourceField || "arg"; allSeriesOptions = { argumentField: dataSourceField, valueField: dataSourceField }; this._hideChart = true } allSeriesOptions = Array.isArray(allSeriesOptions) ? allSeriesOptions : allSeriesOptions ? [allSeriesOptions] : []; for (i = 0; i < allSeriesOptions.length; i++) { particularSeriesOptions = (0, _extend.extend)(true, {}, allSeriesOptions[i]); particularSeriesOptions.rotated = false; seriesTheme = chartThemeManager.getOptions("series", particularSeriesOptions, allSeriesOptions.length); seriesTheme.argumentField = seriesTheme.argumentField || options.dataSourceField; if (!seriesTheme.name) { seriesTheme.name = "Series " + (i + 1).toString() } if (data && data.length > 0) { newSeries = new _base_series.Series({ renderer: options.renderer, argumentAxis: options.argumentAxis, valueAxis: options.valueAxis, incidentOccurred: options.incidentOccurred }, seriesTheme); series.push(newSeries) } } if (series.length) { groupsData = { groups: [{ series: series, valueAxis: options.valueAxis, valueOptions: { type: valueAxis.type, valueType: dataSourceField ? options.valueType : valueAxis.valueType } }], argumentOptions: { categories: options.categories, argumentType: options.valueType, type: options.axisType } }; parsedData = (0, _data_validator.validateData)(data, groupsData, options.incidentOccurred, chartThemeManager.getOptions("dataPrepareSettings")); this.argCategories = groupsData.categories; for (i = 0; i < series.length; i++) { series[i].updateData(parsedData[series[i].getArgumentField()]) } } return series }, createPoints: function() { if (0 === this._series.length) { return } var series = this._series; var viewport = new _range.Range; var axis = series[0].getArgumentAxis(); var themeManager = this._themeManager; var negativesAsZeroes = themeManager.getOptions("negativesAsZeroes"); var negativesAsZeros = themeManager.getOptions("negativesAsZeros"); series.forEach((function(s) { viewport.addRange(s.getArgumentRange()) })); axis.getTranslator().updateBusinessRange(viewport); series.forEach((function(s) { s.createPoints() })); this._seriesFamilies = function(series, minBubbleSize, maxBubbleSize, barOptions, negativesAsZeroes) { var families = []; var types = []; (0, _iterator.each)(series, (function(i, item) { if (!types.includes(item.type)) { types.push(item.type) } })); (0, _iterator.each)(types, (function(_, type) { var family = new _series_family.SeriesFamily({ type: type, minBubbleSize: minBubbleSize, maxBubbleSize: maxBubbleSize, barGroupPadding: barOptions.barGroupPadding, barGroupWidth: barOptions.barGroupWidth, negativesAsZeroes: negativesAsZeroes }); family.add(series); family.adjustSeriesValues(); families.push(family) })); return families }(series, themeManager.getOptions("minBubbleSize"), themeManager.getOptions("maxBubbleSize"), { barGroupPadding: themeManager.getOptions("barGroupPadding"), barGroupWidth: themeManager.getOptions("barGroupWidth") }, (0, _type.isDefined)(negativesAsZeroes) ? negativesAsZeroes : negativesAsZeros) }, adjustSeriesDimensions: function() { (0, _iterator.each)(this._seriesFamilies, (function(_, family) { family.adjustSeriesDimensions() })) }, getBoundRange: function() { var rangeData; var valueAxis = this._valueAxis; var valRange = new _range.Range({ min: valueAxis.min, minVisible: valueAxis.min, max: valueAxis.max, maxVisible: valueAxis.max, axisType: valueAxis.type, base: valueAxis.logarithmBase }); var argRange = new _range.Range({}); var rangeYSize; var rangeVisibleSizeY; var minIndent; var maxIndent; (0, _iterator.each)(this._series, (function(_, series) { rangeData = series.getRangeData(); valRange.addRange(rangeData.val); argRange.addRange(rangeData.arg) })); if (!valRange.isEmpty() && !argRange.isEmpty()) { minIndent = valueAxis.inverted ? this._indent.top : this._indent.bottom; maxIndent = valueAxis.inverted ? this._indent.bottom : this._indent.top; rangeYSize = valRange.max - valRange.min; rangeVisibleSizeY = ((0, _type.isNumeric)(valRange.maxVisible) ? valRange.maxVisible : valRange.max) - ((0, _type.isNumeric)(valRange.minVisible) ? valRange.minVisible : valRange.min); if ((0, _type.isDate)(valRange.min)) { valRange.min = new Date(valRange.min.valueOf() - rangeYSize * minIndent) } else { valRange.min -= rangeYSize * minIndent } if ((0, _type.isDate)(valRange.max)) { valRange.max = new Date(valRange.max.valueOf() + rangeYSize * maxIndent) } else { valRange.max += rangeYSize * maxIndent } if ((0, _type.isNumeric)(rangeVisibleSizeY)) { valRange.maxVisible = valRange.maxVisible ? valRange.maxVisible + rangeVisibleSizeY * maxIndent : void 0; valRange.minVisible = valRange.minVisible ? valRange.minVisible - rangeVisibleSizeY * minIndent : void 0 } valRange.invert = valueAxis.inverted } return { arg: argRange, val: valRange } }, getMarginOptions: function(canvas) { var bubbleSize = Math.min(canvas.width, canvas.height) * this._themeManager.getOptions("maxBubbleSize"); return this._series.reduce((function(marginOptions, series) { var seriesOptions = series.getMarginOptions(); if (true === seriesOptions.processBubbleSize) { seriesOptions.size = bubbleSize } return (0, _utils.mergeMarginOptions)(marginOptions, seriesOptions) }), {}) }, getSeries: function() { return this._series }, isEmpty: function() { return 0 === this.getSeries().length }, isShowChart: function() { return !this._hideChart }, getCalculatedValueType: function() { var series = this._series[0]; return null === series || void 0 === series ? void 0 : series.argumentType }, getThemeManager: function() { return this._themeManager } } }, 48942: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/range_selector/slider.js ***! \**************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _common = __webpack_require__( /*! ./common */ 11378); var _slider_marker = (obj = __webpack_require__( /*! ./slider_marker */ 79090), obj && obj.__esModule ? obj : { default: obj }); var obj; var _support = __webpack_require__( /*! ../../core/utils/support */ 60137); var animationSettings = _common.utils.animationSettings; function Slider(params, index) { this._translator = params.translator; this._sliderGroup = params.renderer.g().attr({ class: "slider" }).append(params.root); this._line = params.renderer.path(null, "line").append(this._sliderGroup); this._marker = new _slider_marker.default(params.renderer, this._sliderGroup, 1 === index); this._tracker = params.renderer.rect().attr({ class: "slider-tracker", fill: "#000000", opacity: 1e-4 }).css({ cursor: "w-resize" }).append(params.trackersGroup) } Slider.prototype = { constructor: Slider, cancelAnimation: function() { this._sliderGroup.stopAnimation(); this._tracker.stopAnimation() }, applyPosition: function(isAnimated) { var slider = this._sliderGroup; var tracker = this._tracker; var attrs = { translateX: this._position }; this._marker.setPosition(this._position); if (isAnimated) { slider.animate(attrs, animationSettings); tracker.animate(attrs, animationSettings) } else { slider.attr(attrs); tracker.attr(attrs) } }, _setValid: function(isValid) { this._marker.setValid(isValid); this._line.attr({ stroke: this._colors[Number(isValid)] }) }, _setText: function(text) { this._marker.setText(text) }, update: function(verticalRange, sliderHandleOptions, sliderMarkerOptions) { this._formatOptions = { format: sliderMarkerOptions.format, customizeText: sliderMarkerOptions.customizeText }; this._marker.applyOptions(sliderMarkerOptions, this._translator.getScreenRange()); this._colors = [sliderMarkerOptions.invalidRangeColor, sliderHandleOptions.color]; this._sliderGroup.attr({ translateY: verticalRange[0] }); this._line.attr({ "stroke-width": sliderHandleOptions.width, stroke: sliderHandleOptions.color, "stroke-opacity": sliderHandleOptions.opacity, sharp: "h", points: [0, 0, 0, verticalRange[1] - verticalRange[0]] }); var trackerWidth = (sliderHandleWidth = sliderHandleOptions.width, _support.touchEvents || _support.pointerEvents ? 20 : 8 < sliderHandleWidth ? sliderHandleWidth : 8); var sliderHandleWidth; this._tracker.attr({ x: -trackerWidth / 2, y: 0, width: trackerWidth, height: verticalRange[1] - verticalRange[0], translateY: verticalRange[0] }) }, toForeground: function() { this._sliderGroup.toForeground() }, getSliderTracker: function() { return this._tracker }, getPosition: function() { return this._position }, setDisplayValue: function(value) { this._value = value; this._setText((0, _common.formatValue)(value, this._formatOptions)) }, setOverlapped: function(isOverlapped) { this._marker.setOverlapped(isOverlapped) }, getValue: function() { return this._value }, on: function(event, handler) { this._tracker.on(event, handler); this._marker.getTracker().on(event, handler) }, getCloudBorder: function() { return this._marker.getBorderPosition() }, dispose: function() { this._marker.dispose() } }; var _default = Slider; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 79090: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/range_selector/slider_marker.js ***! \*********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _common = __webpack_require__( /*! ./common */ 11378); var POINTER_SIZE = _common.consts.pointerSize; function SliderMarker(renderer, root, isLeftPointer) { this._isLeftPointer = isLeftPointer; this._isOverlapped = false; this._group = renderer.g().attr({ class: "slider-marker" }).append(root); this._area = renderer.path(null, "area").append(this._group); this._label = renderer.text().attr({ align: "left" }).append(this._group); this._tracker = renderer.rect().attr({ class: "slider-marker-tracker", fill: "#000000", opacity: 1e-4 }).css({ cursor: "pointer" }).append(this._group); this._border = renderer.rect(0, 0, 1, 0) } SliderMarker.prototype = { constructor: SliderMarker, _getRectSize: function(textSize) { return { width: Math.round(2 * this._paddingLeftRight + textSize.width), height: Math.round(2 * this._paddingTopBottom + textSize.height) } }, _getTextSize: function() { var textSize = this._label.getBBox(); if (!this._textHeight && isFinite(textSize.height)) { this._textHeight = textSize.height } return { width: textSize.width, height: this._textHeight, y: textSize.y } }, _getAreaPointsInfo: function(textSize) { var rectSize = this._getRectSize(textSize); var rectWidth = rectSize.width; var rectHeight = rectSize.height; var rectLeftBorder = -rectWidth; var rectRightBorder = 0; var pointerRightPoint = POINTER_SIZE; var pointerCenterPoint = 0; var pointerLeftPoint = -POINTER_SIZE; var position = this._position; var isLeft = this._isLeftPointer; var correctCloudBorders = function() { rectLeftBorder++; rectRightBorder++; pointerRightPoint++; pointerCenterPoint++; pointerLeftPoint++ }; var checkPointerBorders = function() { if (pointerRightPoint > rectRightBorder) { pointerRightPoint = rectRightBorder } else if (pointerLeftPoint < rectLeftBorder) { pointerLeftPoint = rectLeftBorder } isLeft && correctCloudBorders() }; var borderPosition = position; if (isLeft) { if (position > this._range[1] - rectWidth) { rectRightBorder = -position + this._range[1]; rectLeftBorder = rectRightBorder - rectWidth; checkPointerBorders(); borderPosition += rectLeftBorder } else { rectLeftBorder = pointerLeftPoint = 0; rectRightBorder = rectWidth } } else if (position - this._range[0] < rectWidth) { rectLeftBorder = -(position - this._range[0]); rectRightBorder = rectLeftBorder + rectWidth; checkPointerBorders(); borderPosition += rectRightBorder } else { pointerRightPoint = 0; correctCloudBorders() } this._borderPosition = borderPosition; return { offset: rectLeftBorder, isCut: (!isLeft || pointerCenterPoint !== pointerLeftPoint) && (isLeft || pointerCenterPoint !== pointerRightPoint), points: [rectLeftBorder, 0, rectRightBorder, 0, rectRightBorder, rectHeight, pointerRightPoint, rectHeight, pointerCenterPoint, rectHeight + POINTER_SIZE, pointerLeftPoint, rectHeight, rectLeftBorder, rectHeight] } }, _update: function() { var that = this; var textSize; clearTimeout(that._timeout); that._label.attr({ text: that._text || "" }); var currentTextSize = that._getTextSize(); var rectSize = that._getRectSize(currentTextSize); textSize = that._textSize || currentTextSize; textSize = that._textSize = currentTextSize.width > textSize.width || currentTextSize.height > textSize.height ? currentTextSize : textSize; that._timeout = setTimeout((function() { updateSliderMarker(currentTextSize, rectSize); that._textSize = currentTextSize }), 75); function updateSliderMarker(size, rectSize) { rectSize = rectSize || that._getRectSize(size); that._group.attr({ translateY: -(rectSize.height + POINTER_SIZE) }); var pointsData = that._getAreaPointsInfo(size); var points = pointsData.points; var offset = pointsData.offset; that._area.attr({ points: points }); that._border.attr({ x: that._isLeftPointer ? points[0] - 1 : points[2], height: pointsData.isCut ? rectSize.height : rectSize.height + POINTER_SIZE }); that._tracker.attr({ translateX: offset, width: rectSize.width, height: rectSize.height + POINTER_SIZE }); that._label.attr({ translateX: that._paddingLeftRight + offset, translateY: rectSize.height / 2 - (size.y + size.height / 2) }) } updateSliderMarker(textSize) }, setText: function(value) { this._text = value }, setPosition: function(position) { this._position = position; this._update() }, applyOptions: function(options, screenRange) { this._range = screenRange; this._paddingLeftRight = options.paddingLeftRight; this._paddingTopBottom = options.paddingTopBottom; this._textHeight = null; this._colors = [options.invalidRangeColor, options.color]; this._area.attr({ fill: options.color }); this._border.attr({ fill: options.borderColor }); this._label.css((0, _utils.patchFontOptions)(options.font)); this._update() }, getTracker: function() { return this._tracker }, setValid: function(isValid) { this._area.attr({ fill: this._colors[Number(isValid)] }) }, setColor: function(color) { this._area.attr({ fill: color }) }, dispose: function() { clearTimeout(this._timeout) }, setOverlapped: function(isOverlapped) { if (this._isOverlapped !== isOverlapped) { if (isOverlapped) { this._border.append(this._group) } else { this._isOverlapped && this._border.remove() } this._isOverlapped = isOverlapped } }, getBorderPosition: function() { return this._borderPosition } }; var _default = SliderMarker; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 56481: /*!**************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/range_selector/sliders_controller.js ***! \**************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.SlidersController = SlidersController; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _common2 = __webpack_require__( /*! ./common */ 11378); var _slider = (obj = __webpack_require__( /*! ./slider */ 48942), obj && obj.__esModule ? obj : { default: obj }); var obj; var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var animationSettings = _common2.utils.animationSettings; var emptySliderMarkerText = _common2.consts.emptySliderMarkerText; function buildRectPoints(left, top, right, bottom) { return [left, top, right, top, right, bottom, left, bottom] } function isLess(a, b) { return a < b } function isGreater(a, b) { return a > b } function selectClosestValue(target, values) { var start = 0; var end = values ? values.length - 1 : 0; var middle; var val = target; while (end - start > 1) { middle = start + end >> 1; val = values[middle]; if (val === target) { return target } else if (target < val) { end = middle } else { start = middle } } if (values) { val = values[target - values[start] <= values[end] - target ? start : end] } return val } function dummyProcessSelectionChanged() { this._lastSelectedRange = this.getSelectedRange(); delete this._processSelectionChanged } function SlidersController(params) { var sliderParams = { renderer: params.renderer, root: params.root, trackersGroup: params.trackersGroup, translator: params.translator }; this._params = params; this._areaTracker = params.renderer.path(null, "area").attr({ class: "area-tracker", fill: "#000000", opacity: 1e-4 }).append(params.trackersGroup); this._selectedAreaTracker = params.renderer.path(null, "area").attr({ class: "selected-area-tracker", fill: "#000000", opacity: 1e-4 }).append(params.trackersGroup); this._shutter = params.renderer.path(null, "area").append(params.root); this._sliders = [new _slider.default(sliderParams, 0), new _slider.default(sliderParams, 1)]; this._processSelectionChanged = dummyProcessSelectionChanged } SlidersController.prototype = { constructor: SlidersController, dispose: function() { this._sliders[0].dispose(); this._sliders[1].dispose() }, getTrackerTargets: function() { return { area: this._areaTracker, selectedArea: this._selectedAreaTracker, sliders: this._sliders } }, _processSelectionChanged: function(e) { var selectedRange = this.getSelectedRange(); if (!(0, _utils.rangesAreEqual)(selectedRange, this._lastSelectedRange)) { this._params.updateSelectedRange(selectedRange, this._lastSelectedRange, e); this._lastSelectedRange = selectedRange } }, update: function(verticalRange, behavior, isCompactMode, sliderHandleOptions, sliderMarkerOptions, shutterOptions, rangeBounds, fullTicks, selectedRangeColor) { var screenRange = this._params.translator.getScreenRange(); this._verticalRange = verticalRange; this._minRange = rangeBounds.minRange; this._maxRange = rangeBounds.maxRange; this._animationEnabled = behavior.animationEnabled && this._params.renderer.animationEnabled(); this._allowSlidersSwap = behavior.allowSlidersSwap; this._sliders[0].update(verticalRange, sliderHandleOptions, sliderMarkerOptions); this._sliders[1].update(verticalRange, sliderHandleOptions, sliderMarkerOptions); this._sliders[0]._position = this._sliders[1]._position = screenRange[0]; this._values = !this._params.translator.isValueProlonged && behavior.snapToTicks ? fullTicks : null; this._areaTracker.attr({ points: buildRectPoints(screenRange[0], verticalRange[0], screenRange[1], verticalRange[1]) }); this._isCompactMode = isCompactMode; this._shutterOffset = sliderHandleOptions.width / 2; this._updateSelectedView(shutterOptions, selectedRangeColor); this._isOnMoving = "onhandlemove" === (0, _utils.normalizeEnum)(behavior.valueChangeMode) || "onmoving" === (0, _utils.normalizeEnum)(behavior.callValueChanged); this._updateSelectedRange(); this._applyTotalPosition(false) }, _updateSelectedView: function(shutterOptions, selectedRangeColor) { var settings = { fill: null, "fill-opacity": null, stroke: null, "stroke-width": null }; if (this._isCompactMode) { settings.stroke = selectedRangeColor; settings["stroke-width"] = 3; settings.sharp = "v" } else { settings.fill = shutterOptions.color; settings["fill-opacity"] = shutterOptions.opacity } this._shutter.attr(settings) }, _updateSelectedRange: function() { var sliders = this._sliders; sliders[0].cancelAnimation(); sliders[1].cancelAnimation(); this._shutter.stopAnimation(); if (this._params.translator.getBusinessRange().isEmpty()) { sliders[0]._setText(emptySliderMarkerText); sliders[1]._setText(emptySliderMarkerText); sliders[0]._value = sliders[1]._value = void 0; sliders[0]._position = this._params.translator.getScreenRange()[0]; sliders[1]._position = this._params.translator.getScreenRange()[1]; this._applyTotalPosition(false); ! function(controller) { controller.setSelectedRange = _common.noop; if (controller._processSelectionChanged === dummyProcessSelectionChanged) { controller._processSelectionChanged() } }(this) } else { controller = this, void delete controller.setSelectedRange } var controller }, _applyTotalPosition: function(isAnimated) { var sliders = this._sliders; isAnimated = this._animationEnabled && isAnimated; sliders[0].applyPosition(isAnimated); sliders[1].applyPosition(isAnimated); var areOverlapped = sliders[0].getCloudBorder() > sliders[1].getCloudBorder(); sliders[0].setOverlapped(areOverlapped); sliders[1].setOverlapped(areOverlapped); this._applyAreaTrackersPosition(); this._applySelectedRangePosition(isAnimated) }, _applyAreaTrackersPosition: function() { var position1 = this._sliders[0].getPosition(); var position2 = this._sliders[1].getPosition(); this._selectedAreaTracker.attr({ points: buildRectPoints(position1, this._verticalRange[0], position2, this._verticalRange[1]) }).css({ cursor: Math.abs(this._params.translator.getScreenRange()[1] - this._params.translator.getScreenRange()[0] - position2 + position1) < .001 ? "default" : "pointer" }) }, _applySelectedRangePosition: function(isAnimated) { var verticalRange = this._verticalRange; var pos1 = this._sliders[0].getPosition(); var pos2 = this._sliders[1].getPosition(); var screenRange; var points; if (this._isCompactMode) { points = [pos1 + Math.ceil(this._shutterOffset), (verticalRange[0] + verticalRange[1]) / 2, pos2 - Math.floor(this._shutterOffset), (verticalRange[0] + verticalRange[1]) / 2] } else { screenRange = this._params.axis.getVisibleArea(); points = [buildRectPoints(screenRange[0], verticalRange[0], Math.max(pos1 - Math.floor(this._shutterOffset), screenRange[0]), verticalRange[1]), buildRectPoints(screenRange[1], verticalRange[0], Math.min(pos2 + Math.ceil(this._shutterOffset), screenRange[1]), verticalRange[1])] } if (isAnimated) { this._shutter.animate({ points: points }, animationSettings) } else { this._shutter.attr({ points: points }) } }, getSelectedRange: function() { return { startValue: this._sliders[0].getValue(), endValue: this._sliders[1].getValue() } }, setSelectedRange: function(visualRange, e) { visualRange = visualRange || {}; var translator = this._params.translator; var businessRange = translator.getBusinessRange(); var compare = "discrete" === businessRange.axisType ? function(a, b) { return a < b } : function(a, b) { return a <= b }; var _adjustVisualRange = (0, _utils.adjustVisualRange)({ dataType: businessRange.dataType, axisType: businessRange.axisType, base: businessRange.base }, { startValue: translator.isValid(visualRange.startValue) ? translator.getCorrectValue(visualRange.startValue, 1) : void 0, endValue: translator.isValid(visualRange.endValue) ? translator.getCorrectValue(visualRange.endValue, -1) : void 0, length: visualRange.length }, { min: businessRange.minVisible, max: businessRange.maxVisible, categories: businessRange.categories }), startValue = _adjustVisualRange.startValue, endValue = _adjustVisualRange.endValue; startValue = (0, _type.isNumeric)(startValue) ? (0, _math.adjust)(startValue) : startValue; endValue = (0, _type.isNumeric)(endValue) ? (0, _math.adjust)(endValue) : endValue; var values = compare(translator.to(startValue, -1), translator.to(endValue, 1)) ? [startValue, endValue] : [endValue, startValue]; this._sliders[0].setDisplayValue(values[0]); this._sliders[1].setDisplayValue(values[1]); this._sliders[0]._position = translator.to(values[0], -1); this._sliders[1]._position = translator.to(values[1], 1); this._applyTotalPosition(true); this._processSelectionChanged(e) }, beginSelectedAreaMoving: function(initialPosition) { var that = this; var sliders = that._sliders; var offset = (sliders[0].getPosition() + sliders[1].getPosition()) / 2 - initialPosition; var currentPosition = initialPosition; move.complete = function(e) { that._dockSelectedArea(e) }; return move; function move(position, e) { if (position !== currentPosition && position > currentPosition === position > (sliders[0].getPosition() + sliders[1].getPosition()) / 2 - offset) { that._moveSelectedArea(position + offset, false, e) } currentPosition = position } }, _dockSelectedArea: function(e) { var translator = this._params.translator; var sliders = this._sliders; sliders[0]._position = translator.to(sliders[0].getValue(), -1); sliders[1]._position = translator.to(sliders[1].getValue(), 1); this._applyTotalPosition(true); this._processSelectionChanged(e) }, moveSelectedArea: function(screenPosition, e) { this._moveSelectedArea(screenPosition, true, e); this._dockSelectedArea(e) }, _moveSelectedArea: function(screenPosition, isAnimated, e) { var translator = this._params.translator; var sliders = this._sliders; var interval = sliders[1].getPosition() - sliders[0].getPosition(); var startPosition = screenPosition - interval / 2; var endPosition = screenPosition + interval / 2; if (startPosition < translator.getScreenRange()[0]) { startPosition = translator.getScreenRange()[0]; endPosition = startPosition + interval } if (endPosition > translator.getScreenRange()[1]) { endPosition = translator.getScreenRange()[1]; startPosition = endPosition - interval } var startValue = selectClosestValue(translator.from(startPosition, -1), this._values); sliders[0].setDisplayValue(startValue); sliders[1].setDisplayValue(selectClosestValue(translator.from(translator.to(startValue, -1) + interval, 1), this._values)); sliders[0]._position = startPosition; sliders[1]._position = endPosition; this._applyTotalPosition(isAnimated); if (this._isOnMoving) { this._processSelectionChanged(e) } }, placeSliderAndBeginMoving: function(firstPosition, secondPosition, e) { var translator = this._params.translator; var sliders = this._sliders; var index = firstPosition < secondPosition ? 0 : 1; var dir = index > 0 ? 1 : -1; var compare = index > 0 ? isGreater : isLess; var antiCompare = index > 0 ? isLess : isGreater; var thresholdPosition; var positions = []; var values = []; values[index] = translator.from(firstPosition, dir); values[1 - index] = translator.from(secondPosition, -dir); positions[1 - index] = secondPosition; if (translator.isValueProlonged) { if (compare(firstPosition, translator.to(values[index], dir))) { values[index] = translator.from(firstPosition, -dir) } if (compare(secondPosition, translator.to(values[index], -dir))) { values[1 - index] = values[index] } } if (this._minRange) { thresholdPosition = translator.to(translator.add(selectClosestValue(values[index], this._values), this._minRange, -dir), -dir); if (compare(secondPosition, thresholdPosition)) { values[1 - index] = translator.add(values[index], this._minRange, -dir) } thresholdPosition = translator.to(translator.add(translator.getRange()[1 - index], this._minRange, dir), -dir); if (antiCompare(firstPosition, thresholdPosition)) { values[1 - index] = translator.getRange()[1 - index]; values[index] = translator.add(values[1 - index], this._minRange, dir); positions[1 - index] = firstPosition } } values[0] = selectClosestValue(values[0], this._values); values[1] = selectClosestValue(values[1], this._values); positions[index] = translator.to(values[index], dir); sliders[0].setDisplayValue(values[0]); sliders[1].setDisplayValue(values[1]); sliders[0]._position = positions[0]; sliders[1]._position = positions[1]; this._applyTotalPosition(true); if (this._isOnMoving) { this._processSelectionChanged(e) } var handler = this.beginSliderMoving(1 - index, secondPosition); sliders[1 - index]._sliderGroup.stopAnimation(); this._shutter.stopAnimation(); handler(secondPosition); return handler }, beginSliderMoving: function(initialIndex, initialPosition) { var that = this; var translator = that._params.translator; var sliders = that._sliders; var minPosition = translator.getScreenRange()[0]; var maxPosition = translator.getScreenRange()[1]; var index = initialIndex; var staticPosition = sliders[1 - index].getPosition(); var currentPosition = initialPosition; var dir = index > 0 ? 1 : -1; var compareMin = index > 0 ? isLess : isGreater; var compareMax = index > 0 ? isGreater : isLess; var moveOffset = sliders[index].getPosition() - initialPosition; var swapOffset = compareMin(sliders[index].getPosition(), initialPosition) ? -moveOffset : moveOffset; move.complete = function(e) { sliders[index]._setValid(true); that._dockSelectedArea(e) }; return move; function move(position, e) { var isValid; var temp; var pos; var slider; var value; if (position !== currentPosition) { if (compareMin(position + swapOffset, staticPosition)) { isValid = that._allowSlidersSwap; if (isValid && !translator.isValueProlonged && that._minRange) { isValid = translator.isValid(translator.add(sliders[1 - index].getValue(), that._minRange, -dir)) } if (isValid) { that._changeMovingSlider(index); index = 1 - index; dir = -dir; temp = compareMin; compareMin = compareMax; compareMax = temp; moveOffset = -dir * Math.abs(moveOffset); swapOffset = -moveOffset } } if (compareMax(position + moveOffset, staticPosition)) { slider = sliders[index]; value = sliders[1 - index].getValue(); pos = Math.max(Math.min(position + moveOffset, maxPosition), minPosition); isValid = translator.isValueProlonged ? !compareMin(pos, translator.to(value, dir)) : true; var invalidStateValue; if (isValid && that._minRange) { isValid = !compareMin(pos, translator.to(translator.add(value, that._minRange, dir), dir)); if (!isValid) { invalidStateValue = translator.add(value, that._minRange, dir) } } if (isValid && that._maxRange) { isValid = !compareMax(pos, translator.to(translator.add(value, that._maxRange, dir), dir)); if (!isValid) { invalidStateValue = translator.add(value, that._maxRange, dir) } } slider._setValid(isValid); slider.setDisplayValue(isValid ? selectClosestValue(translator.from(pos, dir), that._values) : (0, _type.isDefined)(invalidStateValue) ? invalidStateValue : slider.getValue()); slider._position = pos; that._applyTotalPosition(false); slider.toForeground(); if (that._isOnMoving) { that._processSelectionChanged(e) } } } currentPosition = position } }, _changeMovingSlider: function(index) { var translator = this._params.translator; var sliders = this._sliders; var position = sliders[1 - index].getPosition(); var dir = index > 0 ? 1 : -1; var newValue; sliders[index].setDisplayValue(selectClosestValue(translator.from(position, dir), this._values)); newValue = translator.from(position, -dir); if (translator.isValueProlonged) { newValue = translator.from(position, dir) } else if (this._minRange) { newValue = translator.add(newValue, this._minRange, -dir) } sliders[1 - index].setDisplayValue(selectClosestValue(newValue, this._values)); sliders[index]._setValid(true); sliders[index]._marker._update(); sliders[0]._position = sliders[1]._position = position }, foregroundSlider: function(index) { this._sliders[index].toForeground() } } }, 43695: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/range_selector/tracker.js ***! \***************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Tracker = Tracker; var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _support = __webpack_require__( /*! ../../core/utils/support */ 60137); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var window = (0, _window.getWindow)(); function isLeftButtonPressed(event) { var e = event || window.event; var originalEvent = e.originalEvent; var touches = e.touches; var pointerType = originalEvent ? originalEvent.pointerType : false; var eventTouches = originalEvent ? originalEvent.touches : false; var isMSPointerLeftClick = originalEvent && void 0 !== pointerType && (pointerType === (originalEvent.MSPOINTER_TYPE_TOUCH || "touch") || pointerType === (originalEvent.MSPOINTER_TYPE_MOUSE || "mouse") && 1 === originalEvent.buttons); var isTouches = touches && touches.length > 0 || eventTouches && eventTouches.length > 0; return 1 === e.which || isMSPointerLeftClick || isTouches } function isMultiTouches(event) { var originalEvent = event.originalEvent; var touches = event.touches; var eventTouches = originalEvent && originalEvent.touches; return touches && touches.length > 1 || eventTouches && eventTouches.length > 1 || null } function preventDefault(e) { if (!isMultiTouches(e)) { e.preventDefault() } } function stopPropagationAndPreventDefault(e) { if (!isMultiTouches(e)) { e.stopPropagation(); e.preventDefault() } } function isTouchEventArgs(e) { return e && e.type && 0 === e.type.indexOf("touch") } function getEventPageX(event) { var originalEvent = event.originalEvent; var result = 0; if (event.pageX) { result = event.pageX } else if (originalEvent && originalEvent.pageX) { result = originalEvent.pageX } if (originalEvent && originalEvent.touches) { if (originalEvent.touches.length > 0) { result = originalEvent.touches[0].pageX } else if (originalEvent.changedTouches.length > 0) { result = originalEvent.changedTouches[0].pageX } } return result } function initializeAreaEvents(controller, area, state, getRootOffsetLeft) { var _docEvents; var isTouchEvent; var isActive = false; var initialPosition; var movingHandler = null; var docEvents = (_docEvents = {}, _defineProperty(_docEvents, _pointer.default.move, (function(e) { var position; var offset; if (isTouchEvent !== isTouchEventArgs(e)) { return } if (!isLeftButtonPressed(e)) { cancel(e) } if (isActive) { position = getEventPageX(e); offset = getRootOffsetLeft(); if (movingHandler) { movingHandler(position - offset, e) } else if (state.manualRangeSelectionEnabled && Math.abs(initialPosition - position) >= 10) { movingHandler = controller.placeSliderAndBeginMoving(initialPosition - offset, position - offset, e) } } })), _defineProperty(_docEvents, _pointer.default.up, (function(e) { var position; if (isActive) { position = getEventPageX(e); if (!movingHandler && state.moveSelectedRangeByClick && Math.abs(initialPosition - position) < 10) { controller.moveSelectedArea(position - getRootOffsetLeft(), e) } cancel(e) } })), _docEvents); function cancel(e) { if (isActive) { isActive = false; if (movingHandler) { movingHandler.complete(e); movingHandler = null } } } area.on(_pointer.default.down, (function(e) { if (!state.enabled || !isLeftButtonPressed(e) || isActive) { return } isActive = true; isTouchEvent = isTouchEventArgs(e); initialPosition = getEventPageX(e) })); return docEvents } function initializeSelectedAreaEvents(controller, area, state, getRootOffsetLeft) { var _docEvents2; var isTouchEvent; var isActive = false; var movingHandler = null; var docEvents = (_docEvents2 = {}, _defineProperty(_docEvents2, _pointer.default.move, (function(e) { if (isTouchEvent !== isTouchEventArgs(e)) { return } if (!isLeftButtonPressed(e)) { cancel(e) } if (isActive) { preventDefault(e); movingHandler(getEventPageX(e) - getRootOffsetLeft(), e) } })), _defineProperty(_docEvents2, _pointer.default.up, cancel), _docEvents2); function cancel(e) { if (isActive) { isActive = false; movingHandler.complete(e); movingHandler = null } } area.on(_pointer.default.down, (function(e) { if (!state.enabled || !isLeftButtonPressed(e) || isActive) { return } isActive = true; isTouchEvent = isTouchEventArgs(e); movingHandler = controller.beginSelectedAreaMoving(getEventPageX(e) - getRootOffsetLeft()); stopPropagationAndPreventDefault(e) })); return docEvents } function initializeSliderEvents(controller, sliders, state, getRootOffsetLeft) { var _docEvents3; var isTouchEvent; var isActive = false; var movingHandler = null; var docEvents = (_docEvents3 = {}, _defineProperty(_docEvents3, _pointer.default.move, (function(e) { if (isTouchEvent !== isTouchEventArgs(e)) { return } if (!isLeftButtonPressed(e)) { cancel(e) } if (isActive) { preventDefault(e); movingHandler(getEventPageX(e) - getRootOffsetLeft(), e) } })), _defineProperty(_docEvents3, _pointer.default.up, cancel), _docEvents3); (0, _iterator.each)(sliders, (function(i, slider) { var _slider$on; slider.on((_slider$on = {}, _defineProperty(_slider$on, _pointer.default.down, (function(e) { if (!state.enabled || !isLeftButtonPressed(e) || isActive) { return } isActive = true; isTouchEvent = isTouchEventArgs(e); movingHandler = controller.beginSliderMoving(i, getEventPageX(e) - getRootOffsetLeft()); stopPropagationAndPreventDefault(e) })), _defineProperty(_slider$on, _pointer.default.move, (function() { if (!movingHandler) { controller.foregroundSlider(i) } })), _slider$on)) })); function cancel(e) { if (isActive) { isActive = false; movingHandler.complete(e); movingHandler = null } } return docEvents } function Tracker(params) { var state = this._state = {}; var targets = params.controller.getTrackerTargets(); if (_support.pointerEvents) { params.renderer.root.css({ msTouchAction: "pinch-zoom" }) } this._docEvents = [initializeSelectedAreaEvents(params.controller, targets.selectedArea, state, getRootOffsetLeft), initializeAreaEvents(params.controller, targets.area, state, getRootOffsetLeft), initializeSliderEvents(params.controller, targets.sliders, state, getRootOffsetLeft)]; (0, _iterator.each)(this._docEvents, (function(_, events) { _events_engine.default.on(_dom_adapter.default.getDocument(), events) })); function getRootOffsetLeft() { return params.renderer.getRootOffset().left } } Tracker.prototype = { constructor: Tracker, dispose: function() { (0, _iterator.each)(this._docEvents, (function(_, events) { _events_engine.default.off(_dom_adapter.default.getDocument(), events) })) }, update: function(enabled, behavior) { var state = this._state; state.enabled = enabled; state.moveSelectedRangeByClick = behavior.moveSelectedRangeByClick; state.manualRangeSelectionEnabled = behavior.manualRangeSelectionEnabled } } }, 34377: /*!***********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/sankey.js ***! \***********************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _sankey = (obj = __webpack_require__( /*! ./sankey/sankey */ 66422), obj && obj.__esModule ? obj : { default: obj }); var obj; var _tooltip = __webpack_require__( /*! ./sankey/tooltip */ 38516); var _export = __webpack_require__( /*! ./core/export */ 82454); var _title = __webpack_require__( /*! ./core/title */ 17384); var _tracker = __webpack_require__( /*! ./sankey/tracker */ 29823); var _tooltip2 = __webpack_require__( /*! ./core/tooltip */ 14371); var _loading_indicator = __webpack_require__( /*! ./core/loading_indicator */ 64758); _sankey.default.addPlugin(_export.plugin); _sankey.default.addPlugin(_title.plugin); _sankey.default.addPlugin(_tracker.plugin); _sankey.default.addPlugin(_loading_indicator.plugin); _sankey.default.addPlugin(_tooltip2.plugin); (0, _tooltip.setTooltipCustomOptions)(_sankey.default); var _default = _sankey.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 74878: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/sankey/constants.js ***! \*********************************************************************/ function(__unused_webpack_module, exports) { exports.COLOR_MODE_TARGET = exports.COLOR_MODE_SOURCE = exports.COLOR_MODE_NONE = exports.COLOR_MODE_GRADIENT = void 0; exports.COLOR_MODE_GRADIENT = "gradient"; exports.COLOR_MODE_SOURCE = "source"; exports.COLOR_MODE_TARGET = "target"; exports.COLOR_MODE_NONE = "none" }, 86547: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/sankey/data_validator.js ***! \**************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _graph = (obj = __webpack_require__( /*! ./graph */ 65538), obj && obj.__esModule ? obj : { default: obj }); var obj; var validator = { validate: function(data, incidentOccurred) { var result = null; if (this._hasCycle(data)) { result = "E2006"; incidentOccurred("E2006") } return result }, _hasCycle: function(data) { return _graph.default.struct.hasCycle(data) } }; var _default = validator; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 65538: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/sankey/graph.js ***! \*****************************************************************/ function(module, exports) { exports.default = void 0; var routines = { maxOfArray: function(arr, callback) { var m = 0; var callback_function = function(v) { return v }; if (callback) { callback_function = callback } for (var i = 0; i < arr.length; i++) { if (callback_function(arr[i]) > m) { m = callback_function(arr[i]) } } return m } }; var getVertices = function(links) { var vert = []; links.forEach((function(link) { if (-1 === vert.indexOf(link[0])) { vert.push(link[0]) } if (-1 === vert.indexOf(link[1])) { vert.push(link[1]) } })); return vert }; var getAdjacentVertices = function(links, vertex) { var avert = []; links.forEach((function(link) { if (link[0] === vertex && -1 === avert.indexOf(link[1])) { avert.push(link[1]) } })); return avert }; var getReverseAdjacentVertices = function(links, vertex) { var avert = []; links.forEach((function(link) { if (link[1] === vertex && -1 === avert.indexOf(link[0])) { avert.push(link[0]) } })); return avert }; var struct = { _hasCycle: false, _sortedList: [], hasCycle: function(links) { var _this = this; this._hasCycle = false; this._sortedList = []; var vertices = {}; var allVertices = getVertices(links); allVertices.forEach((function(vertex) { vertices[vertex] = { color: "white" } })); allVertices.forEach((function(vertex) { if ("white" === vertices[vertex].color) { _this._depthFirstSearch(links, vertices, vertex) } })); this._sortedList.reverse(); return this._hasCycle }, _depthFirstSearch: function(links, vertices, vertex) { vertices[vertex].color = "gray"; var averts = getAdjacentVertices(links, vertex); for (var a = 0; a < averts.length; a++) { if ("white" === vertices[averts[a]].color) { this._depthFirstSearch(links, vertices, averts[a]) } else if ("gray" === vertices[averts[a]].color) { this._hasCycle = true } } this._sortedList.push({ name: vertex, lp: null, incoming: getReverseAdjacentVertices(links, vertex), outgoing: getAdjacentVertices(links, vertex) }); vertices[vertex].color = "black" }, computeLongestPaths: function(links) { var sortedVertices = this._sortedList; sortedVertices.forEach((function(vertex) { var averts = getReverseAdjacentVertices(links, vertex.name); if (0 === averts.length) { vertex.lp = 0 } else { var maxLP = []; averts.forEach((function(adjacentVertex) { maxLP.push(sortedVertices.filter((function(sv) { return sv.name === adjacentVertex }))[0].lp) })); vertex.lp = routines.maxOfArray(maxLP) + 1 } })); return this._sortedList } }; var _default = { struct: struct, routines: routines, getVertices: getVertices, getAdjacentVertices: getAdjacentVertices, getReverseAdjacentVertices: getReverseAdjacentVertices }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 68856: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/sankey/layout.js ***! \******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.layout = void 0; var _graph = _interopRequireDefault(__webpack_require__( /*! ./graph */ 65538)); var _data_validator = _interopRequireDefault(__webpack_require__( /*! ./data_validator */ 86547)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var layout = { _weightPerPixel: null, _getCascadeIdx: function(nodeTitle, cascadesConfig) { var nodeInfo = cascadesConfig.filter((function(c) { return c.name === nodeTitle }))[0]; if (nodeInfo.outgoing.length > 0) { return nodeInfo.lp } else { return _graph.default.routines.maxOfArray(cascadesConfig.map((function(c) { return c.lp }))) } }, _getInWeightForNode: function(nodeTitle, links) { var w = 0; links.forEach((function(link) { if (link[1] === nodeTitle) { w += link[2] } })); return w }, _getOutWeightForNode: function(nodeTitle, links) { var w = 0; links.forEach((function(link) { if (link[0] === nodeTitle) { w += link[2] } })); return w }, _computeCascades: function(links) { var _this = this; var cascadesConfig = _graph.default.struct.computeLongestPaths(links); var maxCascade = _graph.default.routines.maxOfArray(cascadesConfig.map((function(c) { return c.lp }))); var cascades = []; for (var i = 0; i < maxCascade + 1; i++) { cascades.push({}) } links.forEach((function(link) { var cascade = cascades[_this._getCascadeIdx(link[0], cascadesConfig)]; if (!cascade[link[0]]) { cascade[link[0]] = { nodeTitle: link[0] } } cascade = cascades[_this._getCascadeIdx(link[1], cascadesConfig)]; if (!cascade[link[1]]) { cascade[link[1]] = { nodeTitle: link[1] } } })); cascades.forEach((function(cascade) { Object.keys(cascade).forEach((function(nodeTitle) { var node = cascade[nodeTitle]; node.inWeight = _this._getInWeightForNode(node.nodeTitle, links); node.outWeight = _this._getOutWeightForNode(node.nodeTitle, links); node.maxWeight = Math.max(node.inWeight, node.outWeight) })) })); return cascades }, _getWeightForCascade: function(cascades, cascadeIdx) { var wMax = 0; var cascade = cascades[cascadeIdx]; Object.keys(cascade).forEach((function(nodeTitle) { wMax += Math.max(cascade[nodeTitle].inWeight, cascade[nodeTitle].outWeight) })); return wMax }, _getMaxWeightThroughCascades: function(cascades) { var max = []; cascades.forEach((function(cascade) { var mW = 0; Object.keys(cascade).forEach((function(nodeTitle) { var node = cascade[nodeTitle]; mW += Math.max(node.inWeight, node.outWeight) })); max.push(mW) })); return _graph.default.routines.maxOfArray(max) }, _computeNodes: function(cascades, options) { var _this2 = this; var rects = []; var maxWeight = this._getMaxWeightThroughCascades(cascades); var maxNodeNum = _graph.default.routines.maxOfArray(cascades.map((function(nodesInCascade) { return Object.keys(nodesInCascade).length }))); var nodePadding = options.nodePadding; var heightAvailable = options.height - nodePadding * (maxNodeNum - 1); if (heightAvailable < 0) { nodePadding = 0; heightAvailable = options.height - nodePadding * (maxNodeNum - 1) } this._weightPerPixel = maxWeight / heightAvailable; var cascadeIdx = 0; cascades.forEach((function(cascade) { var cascadeRects = []; var y = 0; var nodesInCascade = Object.keys(cascade).length; var cascadeHeight = _this2._getWeightForCascade(cascades, cascadeIdx) / _this2._weightPerPixel + nodePadding * (nodesInCascade - 1); var cascadeAlign; if (Array.isArray(options.nodeAlign)) { cascadeAlign = cascadeIdx < options.nodeAlign.length ? options.nodeAlign[cascadeIdx] : "center" } else { cascadeAlign = options.nodeAlign } if ("bottom" === cascadeAlign) { y = options.height - cascadeHeight } else if ("center" === cascadeAlign) { y = .5 * (options.height - cascadeHeight) } y = Math.round(y); Object.keys(cascade).forEach((function(nodeTitle) { cascade[nodeTitle].sort = _this2._sort && Object.prototype.hasOwnProperty.call(_this2._sort, nodeTitle) ? _this2._sort[nodeTitle] : 1 })); Object.keys(cascade).sort((function(a, b) { return cascade[a].sort - cascade[b].sort })).forEach((function(nodeTitle) { var node = cascade[nodeTitle]; var height = Math.floor(heightAvailable * node.maxWeight / maxWeight); var x = Math.round(cascadeIdx * options.width / (cascades.length - 1)) - (0 === cascadeIdx ? 0 : options.nodeWidth); var rect = {}; rect._name = nodeTitle; rect.width = options.nodeWidth; rect.height = height; rect.x = x + options.x; rect.y = y + options.y; y += height + nodePadding; cascadeRects.push(rect) })); cascadeIdx++; rects.push(cascadeRects) })); return rects }, _findRectByName: function(rects, name) { for (var c = 0; c < rects.length; c++) { for (var r = 0; r < rects[c].length; r++) { if (name === rects[c][r]._name) { return rects[c][r] } } } return null }, _findIndexByName: function(rects, nodeTitle) { var index = 0; for (var c = 0; c < rects.length; c++) { for (var r = 0; r < rects[c].length; r++) { if (nodeTitle === rects[c][r]._name) { return index } index++ } } return null }, _computeLinks: function(links, rects, cascades) { var _this3 = this; var yOffsets = {}; var paths = []; var result = []; cascades.forEach((function(cascade) { Object.keys(cascade).forEach((function(nodeTitle) { yOffsets[nodeTitle] = { in: 0, out: 0 } })) })); rects.forEach((function(rectsOfCascade) { rectsOfCascade.forEach((function(nodeRect) { var nodeTitle = nodeRect._name; var rectFrom = _this3._findRectByName(rects, nodeTitle); var linksFromNode = links.filter((function(link) { return link[0] === nodeTitle })); linksFromNode.forEach((function(link) { link.sort = _this3._findIndexByName(rects, link[1]) })); linksFromNode.sort((function(a, b) { return a.sort - b.sort })).forEach((function(link) { var rectTo = _this3._findRectByName(rects, link[1]); var height = Math.round(link[2] / _this3._weightPerPixel); var yOffsetFrom = yOffsets[link[0]].out; var yOffsetTo = yOffsets[link[1]].in; var heightFrom = yOffsets[link[0]].out + height > rectFrom.height ? rectFrom.height - yOffsets[link[0]].out : height; var heightTo = yOffsets[link[1]].in + height > rectTo.height ? rectTo.height - yOffsets[link[1]].in : height; paths.push({ from: { x: rectFrom.x, y: rectFrom.y + yOffsetFrom, width: rectFrom.width, height: heightFrom, node: rectFrom, weight: link[2] }, to: { x: rectTo.x, y: rectTo.y + yOffsetTo, width: rectTo.width, height: heightTo, node: rectTo } }); yOffsets[link[0]].out += height; yOffsets[link[1]].in += height })) })) })); paths.forEach((function(link) { var path = { d: _this3._spline(link.from, link.to), _boundingRect: { x: link.from.x + link.from.width, y: Math.min(link.from.y, link.to.y), width: link.to.x - (link.from.x + link.from.width), height: Math.max(link.from.x + link.from.height, link.to.y + link.to.height) - Math.min(link.from.y, link.to.y) }, _weight: link.from.weight, _from: link.from.node, _to: link.to.node }; result.push(path) })); this._fitAllNodesHeight(rects, paths); return result }, _fitNodeHeight: function(nodeName, nodeRects, paths) { var targetRect = this._findRectByName(nodeRects, nodeName); var heightOfLinksSummaryIn = 0; var heightOfLinksSummaryOut = 0; paths.forEach((function(path) { if (path.from.node._name === nodeName) { heightOfLinksSummaryOut += path.from.height } if (path.to.node._name === nodeName) { heightOfLinksSummaryIn += path.to.height } })); targetRect.height = Math.max(heightOfLinksSummaryIn, heightOfLinksSummaryOut) }, _fitAllNodesHeight: function(nodeRects, paths) { for (var c = 0; c < nodeRects.length; c++) { for (var r = 0; r < nodeRects[c].length; r++) { this._fitNodeHeight(nodeRects[c][r]._name, nodeRects, paths) } } }, _spline: function(rectLeft, rectRight) { var p_UpLeft = { x: rectLeft.x + rectLeft.width, y: rectLeft.y }; var p_DownLeft = { x: rectLeft.x + rectLeft.width, y: rectLeft.y + rectLeft.height }; var p_UpRight = { x: rectRight.x, y: rectRight.y }; var p_DownRight = { x: rectRight.x, y: rectRight.y + rectRight.height }; var curve_width = .3 * (p_UpRight.x - p_UpLeft.x); var result = "M ".concat(p_UpLeft.x, " ").concat(p_UpLeft.y, " C ").concat(p_UpLeft.x + curve_width, " ").concat(p_UpLeft.y, " ").concat(p_UpRight.x - curve_width, " ").concat(p_UpRight.y, " ").concat(p_UpRight.x, " ").concat(p_UpRight.y, " L ").concat(p_DownRight.x, " ").concat(p_DownRight.y, " C ").concat(p_DownRight.x - curve_width, " ").concat(p_DownRight.y, " ").concat(p_DownLeft.x + curve_width, " ").concat(p_DownLeft.y, " ").concat(p_DownLeft.x, " ").concat(p_DownLeft.y, " Z"); return result }, computeLayout: function(linksData, sortData, options, incidentOccurred) { this._sort = sortData; var result = {}; var validateResult = _data_validator.default.validate(linksData, incidentOccurred); if (!validateResult) { result.cascades = this._computeCascades(linksData); result.nodes = this._computeNodes(result.cascades, { width: options.availableRect.width, height: options.availableRect.height, x: options.availableRect.x, y: options.availableRect.y, nodePadding: options.nodePadding, nodeWidth: options.nodeWidth, nodeAlign: options.nodeAlign }); result.links = this._computeLinks(linksData, result.nodes, result.cascades) } else { result.error = validateResult } return result }, overlap: function(box1, box2) { return !(box2.x > box1.x + box1.width || box2.x + box2.width < box1.x || box2.y >= box1.y + box1.height || box2.y + box2.height <= box1.y) } }; exports.layout = layout }, 18170: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/sankey/link_item.js ***! \*********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _constants = __webpack_require__( /*! ./constants */ 74878); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var states = ["normal", "adjacentNodeHover", "hover"]; function compileAttrs(color, itemOptions, itemBaseOptions, gradient) { var border = itemOptions.border; var baseBorder = itemBaseOptions.border; var borderVisible = (0, _type.isDefined)(border.visible) ? border.visible : baseBorder.visible; var borderWidth = (0, _type.isDefined)(border.width) ? border.width : baseBorder.width; var borderOpacity = (0, _type.isDefined)(border.opacity) ? border.opacity : (0, _type.isDefined)(baseBorder.opacity) ? baseBorder.opacity : 1; var opacity = (0, _type.isDefined)(itemOptions.opacity) ? itemOptions.opacity : (0, _type.isDefined)(itemBaseOptions.opacity) ? itemBaseOptions.opacity : 1; var fill = itemOptions.color || color; if (itemBaseOptions.colorMode === _constants.COLOR_MODE_TARGET || itemBaseOptions.colorMode === _constants.COLOR_MODE_SOURCE) { fill = color } else if (itemBaseOptions.colorMode === _constants.COLOR_MODE_GRADIENT && gradient && (0, _type.isDefined)(gradient.id)) { fill = gradient.id } return { fill: fill, "stroke-width": borderVisible ? borderWidth : 0, stroke: itemOptions.border.color || itemBaseOptions.border.color, "stroke-opacity": borderOpacity, opacity: opacity, hatching: itemOptions.hatching } } function Link(widget, params) { var widgetOffset = widget._renderer.getRootOffset(); this.code = 0; this.widget = widget; this.color = params.color; this.connection = params.connection; this.d = params.d; this.options = params.options; this.boundingRect = params.boundingRect, this.coords = { x: params.boundingRect.x + params.boundingRect.width / 2 + widgetOffset.left, y: params.boundingRect.y + params.boundingRect.height / 2 + widgetOffset.top }; this.states = { normal: compileAttrs(this.color, this.options, this.options, params.gradient), adjacentNodeHover: compileAttrs(this.color, { opacity: 0, border: {} }, this.options, params.gradient), hover: compileAttrs(this.color, { opacity: 0, border: {} }, this.options, params.gradient) }; this.overlayStates = { normal: compileAttrs(this.color, { opacity: 0, border: {} }, this.options), adjacentNodeHover: compileAttrs(this.color, this.options.hoverStyle, this.options), hover: compileAttrs(this.color, this.options.hoverStyle, this.options) } } Link.prototype = { getState: function() { return states[this.code] }, isHovered: function() { return 2 === this.code }, isAdjacentNodeHovered: function() { return 1 === this.code }, setState: function(code, state) { if (state) { this.code = code } else { this.code = 0; this.hideTooltip() } this.widget._applyLinksAppearance() }, setHover: function() { this.hover(true) }, hover: function(state) { if (!this.widget._getOption("hoverEnabled", true) || state === this.isHovered()) { return } this.widget._suspend(); state && this.widget.clearHover(); this.setState(2, state); this.widget._eventTrigger("linkHoverChanged", { target: this }); this.widget._resume() }, adjacentNodeHover: function(state) { if (!this.widget._getOption("hoverEnabled", true) || state === this.isAdjacentNodeHovered()) { return } this.widget._suspend(); this.setState(1, state); this.widget._resume() }, setAdjacentNodeHover: function() { this.adjacentNodeHover(true) }, showTooltip: function(coords) { this.widget._getOption("hoverEnabled", true) && this.widget._tooltip && this.widget._tooltip.show({ type: "link", info: { source: this.connection.source, target: this.connection.target, weight: this.connection.weight } }, "undefined" !== typeof coords ? { x: coords[0], y: coords[1] } : this.coords) }, hideTooltip: function() { this.widget._tooltip && this.widget._tooltip.hide() } }; var _default = Link; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 47248: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/sankey/node_item.js ***! \*********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var states = ["normal", "hover"]; function _compileAttrs(color, itemOptions, itemBaseOptions) { var border = itemOptions.border; var baseBorder = itemBaseOptions.border; var borderVisible = (0, _type.isDefined)(border.visible) ? border.visible : baseBorder.visible; var borderWidth = (0, _type.isDefined)(border.width) ? border.width : baseBorder.width; var borderOpacity = (0, _type.isDefined)(border.opacity) ? border.opacity : (0, _type.isDefined)(baseBorder.opacity) ? baseBorder.opacity : 1; var opacity = (0, _type.isDefined)(itemOptions.opacity) ? itemOptions.opacity : (0, _type.isDefined)(itemBaseOptions.opacity) ? itemBaseOptions.opacity : 1; return { fill: itemOptions.color || color, "stroke-width": borderVisible ? borderWidth : 0, stroke: itemOptions.border.color || itemBaseOptions.border.color, "stroke-opacity": borderOpacity, opacity: opacity, hatching: itemOptions.hatching } } function Node(widget, params) { var widgetOffset = widget._renderer.getRootOffset(); this.code = 0; this.widget = widget; this.color = params.color; this.options = params.options; this.rect = params.rect; this.label = this.title = params.rect._name; this.coords = { x: params.rect.x + params.rect.width / 2 + widgetOffset.left, y: params.rect.y + params.rect.height / 2 + widgetOffset.top }; this.id = params.id; this.linksIn = params.linksIn; this.linksOut = params.linksOut; this.states = { normal: _compileAttrs(this.color, this.options, this.options), hover: _compileAttrs(this.color, this.options.hoverStyle, this.options) } } Node.prototype = { compileAttrs: function() { return _compileAttrs(this.color, this.options) }, getState: function() { return states[this.code] }, isHovered: function() { return !!(1 & this.code) }, setState: function(code, state) { var _this = this; if (state) { this.code |= code } else { this.code &= ~code } if (state) { this.linksIn.concat(this.linksOut).forEach((function(adjacentLink) { _this.widget._links[adjacentLink.index].setAdjacentNodeHover(true) })) } else { this.widget._links.forEach((function(link) { link.isAdjacentNodeHovered() && link.adjacentNodeHover(false) })); this.hideTooltip() } this.widget._applyNodesAppearance(); this.widget._applyLinksAppearance() }, hover: function(state) { if (!this.widget._getOption("hoverEnabled", true) || state === this.isHovered()) { return } this.widget._suspend(); state && this.widget.clearHover(); this.setState(1, state); this.widget._eventTrigger("nodeHoverChanged", { target: this }); this.widget._resume() }, setHover: function() { this.hover(true) }, showTooltip: function(coords) { this.widget._getOption("hoverEnabled", true) && this.widget._tooltip && this.widget._tooltip.show({ type: "node", info: { label: this.label, title: this.label, weightIn: this.linksIn.reduce((function(previousValue, currentValue) { return previousValue + currentValue.weight }), 0), weightOut: this.linksOut.reduce((function(previousValue, currentValue) { return previousValue + currentValue.weight }), 0) } }, "undefined" !== typeof coords ? { x: coords[0], y: coords[1] } : this.coords) }, hideTooltip: function() { this.widget._tooltip && this.widget._tooltip.hide() }, getLabelAttributes: function(labelSettings, filter) { return function(labelOptions, filter, node) { var _patchFontOptions = _utils.patchFontOptions; if (labelOptions.useNodeColors) { labelOptions.font.color = node.color } var borderVisible = (0, _type.isDefined)(labelOptions.border.visible) ? labelOptions.border.visible : false; var borderWidth = (0, _type.isDefined)(labelOptions.border.width) ? labelOptions.border.width : 0; var borderColor = (0, _type.isDefined)(labelOptions.border.color) ? labelOptions.border.color : labelOptions.font.color; var borderOpacity = (0, _type.isDefined)(labelOptions.border.opacity) ? labelOptions.border.opacity : 1; var attr = { filter: filter }; if (borderVisible && borderWidth) { attr.stroke = borderColor; attr["stroke-width"] = borderVisible ? borderWidth : 0; attr["stroke-opacity"] = borderOpacity } return { attr: attr, css: _patchFontOptions(labelOptions.font) } }(labelSettings, filter, this) } }; var _default = Node; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 66422: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/sankey/sankey.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _constants = __webpack_require__( /*! ./constants */ 74878); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _node_item = _interopRequireDefault(__webpack_require__( /*! ./node_item */ 47248)); var _link_item = _interopRequireDefault(__webpack_require__( /*! ./link_item */ 18170)); var _layout = __webpack_require__( /*! ./layout */ 68856); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _base_widget = _interopRequireDefault(__webpack_require__( /*! ../core/base_widget */ 59063)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _data_source = __webpack_require__( /*! ../core/data_source */ 1539); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function getConnectedLinks(layout, nodeName, linkType) { var result = []; var attrName = "in" === linkType ? "_to" : "_from"; var invertedAttrName = "in" === linkType ? "_from" : "_to"; layout.links.map((function(link) { return link[attrName]._name === nodeName })).forEach((function(connected, idx) { connected && result.push({ index: idx, weight: layout.links[idx]._weight, node: layout.links[idx][invertedAttrName]._name }) })); return result } var dxSankey = _base_widget.default.inherit({ _rootClass: "dxs-sankey", _rootClassPrefix: "dxs", _proxyData: [], _optionChangesMap: { dataSource: "DATA_SOURCE", sortData: "DATA_SOURCE", alignment: "DATA_SOURCE", node: "BUILD_LAYOUT", link: "BUILD_LAYOUT", palette: "BUILD_LAYOUT", paletteExtensionMode: "BUILD_LAYOUT" }, _themeDependentChanges: ["BUILD_LAYOUT"], _getDefaultSize: function() { return { width: 400, height: 400 } }, _themeSection: "sankey", _fontFields: ["label.font"], _optionChangesOrder: ["DATA_SOURCE"], _initialChanges: ["DATA_SOURCE"], _initCore: function() { this._groupLinks = this._renderer.g().append(this._renderer.root); this._groupNodes = this._renderer.g().append(this._renderer.root); this._groupLabels = this._renderer.g().attr({ class: this._rootClassPrefix + "-labels" }).append(this._renderer.root); this._drawLabels = true; this._nodes = []; this._links = []; this._gradients = [] }, _disposeCore: _common.noop, _applySize: function(rect) { this._rect = rect.slice(); var adaptiveLayout = this._getOption("adaptiveLayout"); if (adaptiveLayout.keepLabels || this._rect[2] - this._rect[0] > adaptiveLayout.width) { this._drawLabels = true } else { this._drawLabels = false } this._change(["BUILD_LAYOUT"]); return this._rect }, _eventsMap: { onNodeHoverChanged: { name: "nodeHoverChanged" }, onLinkHoverChanged: { name: "linkHoverChanged" } }, _customChangesOrder: ["BUILD_LAYOUT", "NODES_DRAW", "LINKS_DRAW", "LABELS", "DRAWN"], _dataSourceChangedHandler: function() { this._requestChange(["BUILD_LAYOUT"]) }, _change_DRAWN: function() { this._drawn() }, _change_DATA_SOURCE: function() { this._change(["DRAWN"]); this._updateDataSource() }, _change_LABELS: function() { this._applyLabelsAppearance() }, _change_BUILD_LAYOUT: function() { this._groupNodes.clear(); this._groupLinks.clear(); this._groupLabels.clear(); this._buildLayout() }, _change_NODES_DRAW: function() { var that = this; var nodes = that._nodes; nodes.forEach((function(node, index) { var element = that._renderer.rect().attr(node.rect).append(that._groupNodes); node.element = element })); this._applyNodesAppearance() }, _change_LINKS_DRAW: function() { var that = this; var links = that._links; links.forEach((function(link, index) { var group = that._renderer.g().attr({ class: "link", "data-link-idx": index }).append(that._groupLinks); link.overlayElement = that._renderer.path([], "area").attr({ d: link.d }).append(group); link.element = that._renderer.path([], "area").attr({ d: link.d }).append(group) })); this._applyLinksAppearance() }, _suspend: function() { if (!this._applyingChanges) { this._suspendChanges() } }, _resume: function() { if (!this._applyingChanges) { this._resumeChanges() } }, _showTooltip: _common.noop, hideTooltip: _common.noop, clearHover: function() { this._suspend(); this._nodes.forEach((function(node) { node.isHovered() && node.hover(false) })); this._links.forEach((function(link) { link.isHovered() && link.hover(false); link.isAdjacentNodeHovered() && link.adjacentNodeHover(false) })); this._resume() }, _applyNodesAppearance: function() { this._nodes.forEach((function(node) { var state = node.getState(); node.element.smartAttr(node.states[state]) })) }, _applyLinksAppearance: function() { this._links.forEach((function(link) { var state = link.getState(); link.element.smartAttr(link.states[state]); link.overlayElement.smartAttr(link.overlayStates[state]) })) }, _hitTestTargets: function(x, y) { var that = this; var data; this._proxyData.some((function(callback) { data = callback.call(that, x, y); if (data) { return true } })); return data }, _getData: function() { var that = this; var data = that._dataSourceItems() || []; var sourceField = that._getOption("sourceField", true); var targetField = that._getOption("targetField", true); var weightField = that._getOption("weightField", true); var processedData = []; data.forEach((function(item) { var hasItemOwnProperty = Object.prototype.hasOwnProperty.bind(item); if (!hasItemOwnProperty(sourceField)) { that._incidentOccurred("E2007", sourceField) } else if (!hasItemOwnProperty(targetField)) { that._incidentOccurred("E2007", targetField) } else if (!hasItemOwnProperty(weightField)) { that._incidentOccurred("E2007", weightField) } else if (!(0, _type.isString)(item[sourceField])) { that._incidentOccurred("E2008", sourceField) } else if (!(0, _type.isString)(item[targetField])) { that._incidentOccurred("E2008", targetField) } else if (!(0, _type.isNumeric)(item[weightField]) || item[weightField] <= 0) { that._incidentOccurred("E2009", weightField) } else { processedData.push([item[sourceField], item[targetField], item[weightField]]) } })); return processedData }, _buildLayout: function() { var _this = this; var that = this; var data = that._getData(); var availableRect = this._rect; var nodeOptions = that._getOption("node"); var sortData = that._getOption("sortData"); var layoutBuilder = that._getOption("layoutBuilder", true) || _layout.layout; var rect = { x: availableRect[0], y: availableRect[1], width: availableRect[2] - availableRect[0], height: availableRect[3] - availableRect[1] }; var layout = layoutBuilder.computeLayout(data, sortData, { availableRect: rect, nodePadding: nodeOptions.padding, nodeWidth: nodeOptions.width, nodeAlign: that._getOption("alignment", true) }, that._incidentOccurred); that._layoutMap = layout; if (!Object.prototype.hasOwnProperty.call(layout, "error")) { var nodeColors = {}; var nodeIdx = 0; var linkOptions = that._getOption("link"); var totalNodesNum = layout.nodes.map((function(item) { return item.length })).reduce((function(previousValue, currentValue) { return previousValue + currentValue }), 0); var palette = that._themeManager.createPalette(that._getOption("palette", true), { useHighlight: true, extensionMode: that._getOption("paletteExtensionMode", true), count: totalNodesNum }); that._nodes = []; that._links = []; that._gradients.forEach((function(gradient) { gradient.dispose() })); that._gradients = []; that._shadowFilter && that._shadowFilter.dispose(); layout.nodes.forEach((function(cascadeNodes) { cascadeNodes.forEach((function(node) { var color = nodeOptions.color || palette.getNextColor(); var nodeItem = new _node_item.default(that, { id: nodeIdx, color: color, rect: node, options: nodeOptions, linksIn: getConnectedLinks(layout, node._name, "in"), linksOut: getConnectedLinks(layout, node._name, "out") }); that._nodes.push(nodeItem); nodeIdx++; nodeColors[node._name] = color })) })); layout.links.forEach((function(link) { var gradient = null; if (linkOptions.colorMode === _constants.COLOR_MODE_GRADIENT) { gradient = that._renderer.linearGradient([{ offset: "0%", "stop-color": nodeColors[link._from._name] }, { offset: "100%", "stop-color": nodeColors[link._to._name] }]); _this._gradients.push(gradient) } var color = linkOptions.color; if (linkOptions.colorMode === _constants.COLOR_MODE_SOURCE) { color = nodeColors[link._from._name] } else if (linkOptions.colorMode === _constants.COLOR_MODE_TARGET) { color = nodeColors[link._to._name] } var linkItem = new _link_item.default(that, { d: link.d, boundingRect: link._boundingRect, color: color, options: linkOptions, connection: { source: link._from._name, target: link._to._name, weight: link._weight }, gradient: gradient }); that._links.push(linkItem) })); that._renderer.initDefsElements(); that._change(["NODES_DRAW", "LINKS_DRAW", "LABELS"]) } that._change(["DRAWN"]) }, _applyLabelsAppearance: function() { var that = this; var labelOptions = that._getOption("label"); var availableWidth = that._rect[2] - that._rect[0]; var nodeOptions = that._getOption("node"); that._shadowFilter = that._renderer.shadowFilter("-50%", "-50%", "200%", "200%").attr(labelOptions.shadow); that._groupLabels.clear(); if (that._drawLabels && labelOptions.visible) { var availableLabelWidth = (availableWidth - (nodeOptions.width + labelOptions.horizontalOffset) - that._layoutMap.cascades.length * nodeOptions.width) / (that._layoutMap.cascades.length - 1) - labelOptions.horizontalOffset; that._nodes.forEach((function(node) { that._createLabel(node, labelOptions, that._shadowFilter.id); ! function(node, labelOptions, availableLabelWidth, rect) { if (node._label.getBBox().width > availableLabelWidth) { node.labelText.applyEllipsis(availableLabelWidth) } var bBox = node._label.getBBox(); var verticalOffset = labelOptions.verticalOffset; var horizontalOffset = labelOptions.horizontalOffset; var labelOffsetY = Math.round(node.rect.y + node.rect.height / 2 - bBox.y - bBox.height / 2) + verticalOffset; var labelOffsetX = node.rect.x + horizontalOffset + node.rect.width - bBox.x; if (labelOffsetX + bBox.width >= rect[2] - rect[0]) { labelOffsetX = node.rect.x - horizontalOffset - bBox.x - bBox.width } if (labelOffsetY >= rect[3]) { labelOffsetY = rect[3] } if (labelOffsetY - bBox.height < rect[1]) { labelOffsetY = node.rect.y - bBox.y + verticalOffset } node.labelText.attr({ translateX: labelOffsetX, translateY: labelOffsetY }) }(node, labelOptions, availableLabelWidth, that._rect) })); if ("none" !== labelOptions.overlappingBehavior) { that._nodes.forEach((function(thisNode) { var thisBox = thisNode._label.getBBox(); that._nodes.forEach((function(otherNode) { var otherBox = otherNode._label.getBBox(); if (thisNode.id !== otherNode.id && _layout.layout.overlap(thisBox, otherBox)) { if ("ellipsis" === labelOptions.overlappingBehavior) { thisNode.labelText.applyEllipsis(otherBox.x - thisBox.x) } else if ("hide" === labelOptions.overlappingBehavior) { thisNode.labelText.remove() } } })) })) } } }, _createLabel: function(node, labelOptions, filter) { var textData = labelOptions.customizeText(node); var settings = node.getLabelAttributes(labelOptions, filter); if (textData) { node._label = this._renderer.g().append(this._groupLabels); node.labelText = this._renderer.text(textData).attr(settings.attr).css(settings.css); node.labelText.append(node._label) } }, _getMinSize: function() { var adaptiveLayout = this._getOption("adaptiveLayout"); return [adaptiveLayout.width, adaptiveLayout.height] }, getAllNodes: function() { return this._nodes.slice() }, getAllLinks: function() { return this._links.slice() } }); (0, _component_registrator.default)("dxSankey", dxSankey); var _default = dxSankey; exports.default = _default; dxSankey.addPlugin(_data_source.plugin); module.exports = exports.default; module.exports.default = exports.default }, 38516: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/sankey/tooltip.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.setTooltipCustomOptions = function(sankey) { sankey.prototype._setTooltipOptions = function() { var tooltip = this._tooltip; var options = tooltip && this._getOption("tooltip"); var linkTemplate; var nodeTemplate; if (options.linkTooltipTemplate) { linkTemplate = this._getTemplate(options.linkTooltipTemplate) } if (options.nodeTooltipTemplate) { nodeTemplate = this._getTemplate(options.nodeTooltipTemplate) } tooltip && tooltip.update((0, _extend2.extend)({}, options, { customizeTooltip: function(args) { if (!(linkTemplate && "link" === args.type || nodeTemplate && "node" === args.type)) { args.skipTemplate = true } var formatter = function(value) { return tooltip.formatValue(value) }; if ("node" === args.type) { return generateCustomCallback(options.customizeNodeTooltip, function(formatter) { return function(info) { return { html: "<strong>".concat(info.label, "</strong><br/>Incoming weight: ").concat(formatter(info.weightIn), "<br/>Outgoing weight: ").concat(formatter(info.weightOut)) } } }(formatter))(args.info) } else if ("link" === args.type) { return generateCustomCallback(options.customizeLinkTooltip, function(formatter) { return function(info) { return { html: "<strong>".concat(info.source, " > ").concat(info.target, "</strong><br/>Weight: ").concat(formatter(info.weight)) } } }(formatter))(args.info) } return {} }, contentTemplate: function(arg, div) { var templateArgs = { model: arg.info, container: div }; if (linkTemplate && "link" === arg.type) { return linkTemplate.render(templateArgs) } if (nodeTemplate && "node" === arg.type) { return nodeTemplate.render(templateArgs) } }, enabled: options.enabled })) }; sankey.prototype.hideTooltip = function() { this._tooltip && this._tooltip.hide() } }; var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var generateCustomCallback = function(customCallback, defaultCallback) { return function(objectInfo) { var res = (0, _type.isFunction)(customCallback) ? customCallback.call(objectInfo, objectInfo) : {}; var hasOwnProperty = Object.prototype.hasOwnProperty.bind(res); if (!hasOwnProperty("html") && !hasOwnProperty("text")) { res = (0, _extend2.extend)(res, defaultCallback.call(objectInfo, objectInfo)) } return res } } }, 29823: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/sankey/tracker.js ***! \*******************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.plugin = void 0; var _sankey = (obj = __webpack_require__( /*! ./sankey */ 66422), obj && obj.__esModule ? obj : { default: obj }); var obj; var _tracker = __webpack_require__( /*! ../components/tracker */ 88997); var proto = _sankey.default.prototype; var dataKeyModifier = 0; proto._eventsMap.onNodeClick = { name: "nodeClick" }; proto._eventsMap.onLinkClick = { name: "linkClick" }; var plugin = { name: "tracker", init: function() { var that = this; var dataKey = "__sankey_data_" + dataKeyModifier++; that._tracker = new _tracker.Tracker({ widget: that, root: that._renderer.root, getData: function(e) { var target = e.target; return target[dataKey] }, getNode: function(index) { if (index < that._nodes.length) { return that._nodes[index] } else { return that._links[index - that._nodes.length] } }, click: function(e) { var eventName = this.getData(e.event) < that._nodes.length ? "nodeClick" : "linkClick"; that._eventTrigger(eventName, { target: e.node, event: e.event }) } }); this._dataKey = dataKey }, dispose: function() { this._tracker.dispose() }, extenders: { _change_LINKS_DRAW: function() { var dataKey = this._dataKey; this._nodes.concat(this._links).forEach((function(item, index) { item.element.data(dataKey, index) })) } } }; exports.plugin = plugin }, 90048: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/area_series.js ***! \***********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.polar = exports.chart = void 0; var _object = __webpack_require__( /*! ../../core/utils/object */ 48013); var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _scatter_series = __webpack_require__( /*! ./scatter_series */ 21667); var _line_series = __webpack_require__( /*! ./line_series */ 7222); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var chartLineSeries = _line_series.chart.line; var polarLineSeries = _line_series.polar.line; var _extend = _extend2.extend; var calculateBezierPoints = _line_series.chart.spline._calculateBezierPoints; var chart = {}; exports.chart = chart; var polar = {}; exports.polar = polar; var baseAreaMethods = { _createBorderElement: chartLineSeries._createMainElement, _createLegendState: function(styleOptions, defaultColor) { return { fill: (0, _utils.extractColor)(styleOptions.color) || defaultColor, opacity: styleOptions.opacity, hatching: styleOptions.hatching, filter: styleOptions.highlight } }, _getColorId: function(options) { var _options$color; return null === (_options$color = options.color) || void 0 === _options$color ? void 0 : _options$color.fillId }, getValueRangeInitialValue: function() { if ("logarithmic" !== this.valueAxisType && "datetime" !== this.valueType && false !== this.showZero) { return 0 } else { return _scatter_series.chart.getValueRangeInitialValue.call(this) } }, _getDefaultSegment: function(segment) { var defaultSegment = chartLineSeries._getDefaultSegment(segment); defaultSegment.area = defaultSegment.line.concat(defaultSegment.line.slice().reverse()); return defaultSegment }, _updateElement: function(element, segment, animate, complete) { var lineParams = { points: segment.line }; var areaParams = { points: segment.area }; var borderElement = element.line; if (animate) { borderElement && borderElement.animate(lineParams); element.area.animate(areaParams, {}, complete) } else { borderElement && borderElement.attr(lineParams); element.area.attr(areaParams) } }, _removeElement: function(element) { element.line && element.line.remove(); element.area.remove() }, _drawElement: function(segment) { return { line: this._bordersGroup && this._createBorderElement(segment.line, { "stroke-width": this._styles.normal.border["stroke-width"] }).append(this._bordersGroup), area: this._createMainElement(segment.area).append(this._elementsGroup) } }, _applyStyle: function(style) { this._elementsGroup && this._elementsGroup.smartAttr(style.elements); this._bordersGroup && this._bordersGroup.attr(style.border); (this._graphics || []).forEach((function(graphic) { graphic.line && graphic.line.attr({ "stroke-width": style.border["stroke-width"] }).sharp() })) }, _parseStyle: function(options, defaultColor, defaultBorderColor) { var _options$highlight; var borderOptions = options.border || {}; var borderStyle = chartLineSeries._parseLineOptions(borderOptions, defaultBorderColor); borderStyle.stroke = borderOptions.visible && borderStyle["stroke-width"] ? borderStyle.stroke : "none"; borderStyle["stroke-width"] = borderStyle["stroke-width"] || 1; return { border: borderStyle, elements: { stroke: "none", fill: (0, _utils.extractColor)(options.color) || defaultColor, hatching: options.hatching, opacity: options.opacity, filter: null !== (_options$highlight = options.highlight) && void 0 !== _options$highlight ? _options$highlight : null } } }, _areBordersVisible: function() { var options = this._options; return options.border.visible || options.hoverStyle.border.visible || options.selectionStyle.border.visible }, _createMainElement: function(points, settings) { return this._renderer.path(points, "area").attr(settings) }, _getTrackerSettings: function(segment) { return { "stroke-width": segment.singlePointSegment ? this._defaultTrackerWidth : 0 } }, _getMainPointsFromSegment: function(segment) { return segment.area } }; var areaSeries = chart.area = _extend({}, chartLineSeries, baseAreaMethods, { _prepareSegment: function(points, rotated) { var processedPoints = this._processSinglePointsAreaSegment(points, rotated); var areaPoints = function(points) { return (0, _utils.map)(points, (function(pt) { return pt.getCoords() })).concat((0, _utils.map)(points.slice().reverse(), (function(pt) { return pt.getCoords(true) }))) }(processedPoints); var argAxis = this.getArgumentAxis(); if (argAxis.getAxisPosition) { var argAxisPosition = argAxis.getAxisPosition(); var axisOptions = argAxis.getOptions(); var edgeOffset = (!rotated ? -1 : 1) * Math.round(axisOptions.width / 2); if (axisOptions.visible) { areaPoints.forEach((function(p, i) { if (p) { var index = 1 === points.length ? 0 : i < points.length ? i : areaPoints.length - 1 - i; rotated && p.x === points[index].defaultX && p.x === argAxisPosition - argAxis.getAxisShift() && (p.x += edgeOffset); !rotated && p.y === points[index].defaultY && p.y === argAxisPosition - argAxis.getAxisShift() && (p.y += edgeOffset) } })) } } return { line: processedPoints, area: areaPoints, singlePointSegment: processedPoints !== points } }, _processSinglePointsAreaSegment: function(points, rotated) { if (points && 1 === points.length) { var p = points[0]; var p1 = (0, _object.clone)(p); p1[rotated ? "y" : "x"] += 1; p1.argument = null; return [p, p1] } return points } }); polar.area = _extend({}, polarLineSeries, baseAreaMethods, { _prepareSegment: function(points, rotated, lastSegment) { lastSegment && polarLineSeries._closeSegment.call(this, points); return areaSeries._prepareSegment.call(this, points) }, _processSinglePointsAreaSegment: function(points) { return _line_series.polar.line._prepareSegment.call(this, points).line } }); chart.steparea = _extend({}, areaSeries, { _prepareSegment: function(points, rotated) { var stepLineSeries = _line_series.chart.stepline; points = areaSeries._processSinglePointsAreaSegment(points, rotated); return areaSeries._prepareSegment.call(this, stepLineSeries._calculateStepLinePoints.call(this, points), rotated) }, getSeriesPairCoord: _line_series.chart.stepline.getSeriesPairCoord }); chart.splinearea = _extend({}, areaSeries, { _areaPointsToSplineAreaPoints: function(areaPoints) { var previousMiddlePoint = areaPoints[areaPoints.length / 2 - 1]; var middlePoint = areaPoints[areaPoints.length / 2]; areaPoints.splice(areaPoints.length / 2, 0, { x: previousMiddlePoint.x, y: previousMiddlePoint.y }, { x: middlePoint.x, y: middlePoint.y }) }, _prepareSegment: function(points, rotated) { var processedPoints = areaSeries._processSinglePointsAreaSegment(points, rotated); var areaSegment = areaSeries._prepareSegment.call(this, calculateBezierPoints(processedPoints, rotated)); this._areaPointsToSplineAreaPoints(areaSegment.area); areaSegment.singlePointSegment = processedPoints !== points; return areaSegment }, _getDefaultSegment: function(segment) { var areaDefaultSegment = areaSeries._getDefaultSegment(segment); this._areaPointsToSplineAreaPoints(areaDefaultSegment.area); return areaDefaultSegment }, _createMainElement: function(points, settings) { return this._renderer.path(points, "bezierarea").attr(settings) }, _createBorderElement: _line_series.chart.spline._createMainElement, getSeriesPairCoord: _line_series.chart.spline.getSeriesPairCoord, _getNearestPoints: _line_series.chart.spline._getNearestPoints, _getBezierPoints: _line_series.chart.spline._getBezierPoints, obtainCubicBezierTCoef: _line_series.chart.spline.obtainCubicBezierTCoef }) }, 58821: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/bar_series.js ***! \**********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.polar = exports.chart = void 0; var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var scatterSeries = function(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj }(__webpack_require__( /*! ./scatter_series */ 21667)); var _area_series = __webpack_require__( /*! ./area_series */ 90048); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } var areaSeries = _area_series.chart.area; var chartSeries = scatterSeries.chart; var polarSeries = scatterSeries.polar; var _extend = _extend2.extend; var _each = _iterator.each; var chart = {}; exports.chart = chart; var polar = {}; exports.polar = polar; var baseBarSeriesMethods = { _createLegendState: function(styleOptions, defaultColor) { return { fill: (0, _utils.extractColor)(styleOptions.color) || defaultColor, hatching: styleOptions.hatching, filter: styleOptions.highlight } }, _getColorId: areaSeries._getColorId, _parsePointStyle: function(style, defaultColor, defaultBorderColor) { var color = (0, _utils.extractColor)(style.color) || defaultColor; var base = chartSeries._parsePointStyle.call(this, style, color, defaultBorderColor); base.fill = color; base.hatching = style.hatching; base.filter = style.highlight; base.dashStyle = style.border && style.border.dashStyle || "solid"; delete base.r; return base }, _applyMarkerClipRect: function(settings) { settings["clip-path"] = null }, _setGroupsSettings: function(animationEnabled, firstDrawing) { var that = this; var settings = {}; chartSeries._setGroupsSettings.apply(that, arguments); if (animationEnabled && firstDrawing) { settings = this._getAffineCoordOptions() } else if (!animationEnabled) { settings = { scaleX: 1, scaleY: 1, translateX: 0, translateY: 0 } } that._markersGroup.attr(settings) }, _drawPoint: function(options) { options.hasAnimation = options.hasAnimation && !options.firstDrawing; options.firstDrawing = false; chartSeries._drawPoint.call(this, options) }, _getMainColor: function() { return this._options.mainSeriesColor }, _createPointStyles: function(pointOptions) { var _pointOptions$color; var mainColor = (0, _utils.extractColor)(pointOptions.color, true) || this._getMainColor(); var colorId = null === (_pointOptions$color = pointOptions.color) || void 0 === _pointOptions$color ? void 0 : _pointOptions$color.fillId; var hoverStyle = pointOptions.hoverStyle || {}; var selectionStyle = pointOptions.selectionStyle || {}; if (colorId) { this._turnOffHatching(hoverStyle, selectionStyle) } return { labelColor: mainColor, normal: this._parsePointStyle(pointOptions, mainColor, mainColor), hover: this._parsePointStyle(hoverStyle, colorId || mainColor, mainColor), selection: this._parsePointStyle(selectionStyle, colorId || mainColor, mainColor) } }, _updatePointsVisibility: function() { var visibility = this._options.visible; (0, _iterator.each)(this._points, (function(_, point) { point._options.visible = visibility })) }, _getOptionsForPoint: function() { return this._options }, _animate: function(firstDrawing) { var that = this; that._animatePoints(firstDrawing, (function() { that._animateComplete() }), (function(drawnPoints, complete) { var lastPointIndex = drawnPoints.length - 1; _each(drawnPoints || [], (function(i, point) { point.animate(i === lastPointIndex ? complete : void 0, point.getMarkerCoords()) })) })) }, getValueRangeInitialValue: areaSeries.getValueRangeInitialValue, _patchMarginOptions: function(options) { var _this$getArgumentAxis; options.checkInterval = !this.useAggregation() || (null === (_this$getArgumentAxis = this.getArgumentAxis()) || void 0 === _this$getArgumentAxis ? void 0 : _this$getArgumentAxis.aggregatedPointBetweenTicks()); return options }, _defaultAggregator: "sum", _defineDrawingState: function() {}, usePointsToDefineAutoHiding: function() { return false } }; chart.bar = _extend({}, chartSeries, baseBarSeriesMethods, { _getAffineCoordOptions: function() { var rotated = this._options.rotated; var direction = rotated ? "X" : "Y"; var settings = { scaleX: rotated ? .001 : 1, scaleY: rotated ? 1 : .001 }; settings["translate" + direction] = this.getValueAxis().getTranslator().translate("canvas_position_default"); return settings }, _animatePoints: function(firstDrawing, complete, animateFunc) { this._markersGroup.animate({ scaleX: 1, scaleY: 1, translateY: 0, translateX: 0 }, void 0, complete); if (!firstDrawing) { animateFunc(this._drawnPoints, complete) } }, checkSeriesViewportCoord: function(axis, coord) { if (!chartSeries.checkSeriesViewportCoord.call(this)) { return false } if (axis.isArgumentAxis) { return true } var translator = axis.getTranslator(); var range = this.getViewport(); var min = translator.translate(range.categories ? range.categories[0] : range.min); var max = translator.translate(range.categories ? range.categories[range.categories.length - 1] : range.max); var rotated = this.getOptions().rotated; var inverted = axis.getOptions().inverted; return rotated && !inverted || !rotated && inverted ? coord >= min && coord <= max : coord >= max && coord <= min }, getSeriesPairCoord: function(coord, isArgument) { var oppositeCoord = null; var rotated = this._options.rotated; var isOpposite = !isArgument && !rotated || isArgument && rotated; var coordName = isOpposite ? "vy" : "vx"; var oppositeCoordName = isOpposite ? "vx" : "vy"; var points = this.getPoints(); for (var i = 0; i < points.length; i++) { var p = points[i]; var tmpCoord = void 0; if (isArgument) { tmpCoord = p.getCenterCoord()[coordName[1]] === coord ? p[oppositeCoordName] : void 0 } else { tmpCoord = p[coordName] === coord ? p[oppositeCoordName] : void 0 } if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) { oppositeCoord = tmpCoord; break } } return oppositeCoord } }); polar.bar = _extend({}, polarSeries, baseBarSeriesMethods, { _animatePoints: function(firstDrawing, complete, animateFunc) { animateFunc(this._drawnPoints, complete) }, _setGroupsSettings: chartSeries._setGroupsSettings, _drawPoint: function(point, groups, animationEnabled) { chartSeries._drawPoint.call(this, point, groups, animationEnabled) }, _parsePointStyle: function(style) { var base = baseBarSeriesMethods._parsePointStyle.apply(this, arguments); base.opacity = style.opacity; return base }, _createGroups: chartSeries._createGroups, _setMarkerGroupSettings: function() { var markersSettings = this._createPointStyles(this._getMarkerGroupOptions()).normal; markersSettings.class = "dxc-markers"; this._applyMarkerClipRect(markersSettings); var groupSettings = _extend({}, markersSettings); delete groupSettings.opacity; this._markersGroup.attr(groupSettings) }, getSeriesPairCoord: function(params, isArgument) { var coords = null; var paramName = isArgument ? "argument" : "radius"; var points = this.getVisiblePoints(); var argAxis = this.getArgumentAxis(); var startAngle = argAxis.getAngles()[0]; for (var i = 0; i < points.length; i++) { var p = points[i]; var tmpPoint = (0, _type.isDefined)(p[paramName]) && (0, _type.isDefined)(params[paramName]) && p[paramName].valueOf() === params[paramName].valueOf() ? (0, _utils.convertPolarToXY)(argAxis.getCenter(), startAngle, -argAxis.getTranslatedAngle(p.angle), p.radius) : void 0; if ((0, _type.isDefined)(tmpPoint)) { coords = tmpPoint; break } } return coords }, _createLegendState: areaSeries._createLegendState }) }, 54932: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/base_series.js ***! \***********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } exports.Series = Series; exports.mixins = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _base_point = __webpack_require__( /*! ./points/base_point */ 54497); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _consts = _interopRequireDefault(__webpack_require__( /*! ../components/consts */ 32410)); var _range_data_calculator = _interopRequireDefault(__webpack_require__( /*! ./helpers/range_data_calculator */ 63407)); var scatterSeries = _interopRequireWildcard(__webpack_require__( /*! ./scatter_series */ 21667)); var lineSeries = _interopRequireWildcard(__webpack_require__( /*! ./line_series */ 7222)); var areaSeries = _interopRequireWildcard(__webpack_require__( /*! ./area_series */ 90048)); var barSeries = _interopRequireWildcard(__webpack_require__( /*! ./bar_series */ 58821)); var _range_series = __webpack_require__( /*! ./range_series */ 57402); var _bubble_series = __webpack_require__( /*! ./bubble_series */ 64216); var pieSeries = _interopRequireWildcard(__webpack_require__( /*! ./pie_series */ 80610)); var financialSeries = _interopRequireWildcard(__webpack_require__( /*! ./financial_series */ 29788)); var stackedSeries = _interopRequireWildcard(__webpack_require__( /*! ./stacked_series */ 92057)); function _getRequireWildcardCache(nodeInterop) { if ("function" !== typeof WeakMap) { return null } var cacheBabelInterop = new WeakMap; var cacheNodeInterop = new WeakMap; return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if (null === obj || "object" !== _typeof(obj) && "function" !== typeof obj) { return { default: obj } } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if ("default" !== key && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj.default = obj; if (cache) { cache.set(obj, newObj) } return newObj } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var seriesNS = {}; var states = _consts.default.states; var SELECTED_STATE = states.selectedMark; var HOVER_STATE = states.hoverMark; var HOVER = states.hover; var NORMAL = states.normal; var SELECTION = states.selection; var APPLY_SELECTED = states.applySelected; var APPLY_HOVER = states.applyHover; var RESET_ITEM = states.resetItem; function triggerEvent(element, event, point) { element && element.trigger(event, point) } seriesNS.mixins = { chart: {}, pie: {}, polar: {} }; seriesNS.mixins.chart.scatter = scatterSeries.chart; seriesNS.mixins.polar.scatter = scatterSeries.polar; (0, _extend2.extend)(seriesNS.mixins.pie, pieSeries); (0, _extend2.extend)(seriesNS.mixins.chart, lineSeries.chart, areaSeries.chart, barSeries.chart, _range_series.chart, _bubble_series.chart, financialSeries, stackedSeries.chart); (0, _extend2.extend)(seriesNS.mixins.polar, lineSeries.polar, areaSeries.polar, barSeries.polar, stackedSeries.polar); function includePointsMode(mode) { mode = (0, _utils.normalizeEnum)(mode); return "includepoints" === mode || "allseriespoints" === mode } function mergePointOptionsCore(base, extra) { var options = (0, _extend2.extend)({}, base, extra); options.border = (0, _extend2.extend)({}, base && base.border, extra && extra.border); return options } function Series(settings, options) { this.fullState = 0; this._extGroups = settings; this._renderer = settings.renderer; this._group = settings.renderer.g().attr({ class: "dxc-series" }); this._eventTrigger = settings.eventTrigger; this._eventPipe = settings.eventPipe; this._incidentOccurred = settings.incidentOccurred; this._legendCallback = _common.noop; this.updateOptions(options, settings) } function getData(pointData) { return pointData.data } function getValueChecker(axisType, axis) { if (!axis || "logarithmic" !== axisType || false !== axis.getOptions().allowNegatives) { return function() { return true } } else { return function(value) { return value > 0 } } } Series.prototype = { constructor: Series, _createLegendState: _common.noop, getLegendStyles: function() { return this._styles.legendStyles }, _createStyles: function(options) { var mainSeriesColor = options.mainSeriesColor; var colorId = this._getColorId(options); var hoverStyle = options.hoverStyle || {}; var selectionStyle = options.selectionStyle || {}; if (colorId) { this._turnOffHatching(hoverStyle, selectionStyle) } this._styles = { labelColor: mainSeriesColor, normal: this._parseStyle(options, mainSeriesColor, mainSeriesColor), hover: this._parseStyle(hoverStyle, colorId || mainSeriesColor, mainSeriesColor), selection: this._parseStyle(selectionStyle, colorId || mainSeriesColor, mainSeriesColor), legendStyles: { normal: this._createLegendState(options, colorId || mainSeriesColor), hover: this._createLegendState(hoverStyle, colorId || mainSeriesColor), selection: this._createLegendState(selectionStyle, colorId || mainSeriesColor) } } }, setClippingParams: function(baseId, wideId, forceClipping) { var clipLabels = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : true; this._paneClipRectID = baseId; this._widePaneClipRectID = wideId; this._forceClipping = forceClipping; this._clipLabels = clipLabels }, applyClip: function() { this._group.attr({ "clip-path": this._paneClipRectID }) }, resetClip: function() { this._group.attr({ "clip-path": null }) }, getTagField: function() { return this._options.tagField || "tag" }, getValueFields: _common.noop, getSizeField: _common.noop, getArgumentField: _common.noop, getPoints: function() { return this._points }, getPointsInViewPort: function() { return _range_data_calculator.default.getPointsInViewPort(this) }, _createPoint: function(data, index, oldPoint) { data.index = index; var pointsByArgument = this.pointsByArgument; var options = this._getCreatingPointOptions(data); var arg = data.argument.valueOf(); var point = oldPoint; if (point) { point.update(data, options) } else { point = new _base_point.Point(this, data, options); if (this.isSelected() && includePointsMode(this.lastSelectionMode)) { point.setView(SELECTION) } } var pointByArgument = pointsByArgument[arg]; if (pointByArgument) { pointByArgument.push(point) } else { pointsByArgument[arg] = [point] } if (point.hasValue()) { this.customizePoint(point, data) } return point }, getRangeData: function() { return this._visible ? this._getRangeData() : { arg: {}, val: {} } }, getArgumentRange: function() { return this._visible ? _range_data_calculator.default.getArgumentRange(this) : { arg: {}, val: {} } }, getViewport: function() { return _range_data_calculator.default.getViewport(this) }, _deleteGroup: function(groupName) { var group = this[groupName]; if (group) { group.dispose(); this[groupName] = null } }, updateOptions: function(newOptions, settings) { var widgetType = newOptions.widgetType; var oldType = this.type; var newType = newOptions.type; this.type = newType && (0, _utils.normalizeEnum)(newType.toString()); if (!this._checkType(widgetType) || this._checkPolarBarType(widgetType, newOptions)) { this.dispose(); this.isUpdated = false; return } if (oldType !== this.type) { this._firstDrawing = true; this._resetType(oldType, widgetType); this._setType(this.type, widgetType) } else { this._defineDrawingState() } this._options = newOptions; this._pointOptions = null; this.name = newOptions.name; this.pane = newOptions.pane; this.tag = newOptions.tag; if (settings) { this._seriesModes = settings.commonSeriesModes || this._seriesModes; this._valueAxis = settings.valueAxis || this._valueAxis; this.axis = this._valueAxis && this._valueAxis.name; this._argumentAxis = settings.argumentAxis || this._argumentAxis } this._createStyles(newOptions); this._stackName = null; this._updateOptions(newOptions); this._visible = newOptions.visible; this.isUpdated = true; this.stack = newOptions.stack; this.barOverlapGroup = newOptions.barOverlapGroup; this._createGroups(); this._processEmptyValue = newOptions.ignoreEmptyPoints ? function(x) { return null === x ? void 0 : x } : function(x) { return x } }, _defineDrawingState: function() { this._firstDrawing = true }, _disposePoints: function(points) { (0, _iterator.each)(points || [], (function(_, p) { p.dispose() })) }, updateDataType: function(settings) { this.argumentType = settings.argumentType; this.valueType = settings.valueType; this.argumentAxisType = settings.argumentAxisType; this.valueAxisType = settings.valueAxisType; this.showZero = settings.showZero; this._argumentChecker = getValueChecker(settings.argumentAxisType, this.getArgumentAxis()); this._valueChecker = getValueChecker(settings.valueAxisType, this.getValueAxis()); return this }, _argumentChecker: function() { return true }, _valueChecker: function() { return true }, getOptions: function() { return this._options }, _getOldPoint: function(data, oldPointsByArgument, index) { var arg = data.argument && data.argument.valueOf(); var point = (oldPointsByArgument[arg] || [])[0]; if (point) { oldPointsByArgument[arg].splice(0, 1) } return point }, updateData: function(data) { var options = this._options; var nameField = options.nameField; data = data || []; if (data.length) { this._canRenderCompleteHandle = true } var dataSelector = this._getPointDataSelector(); var itemsWithoutArgument = 0; this._data = data.reduce((function(data, dataItem, index) { var pointDataItem = dataSelector(dataItem); if ((0, _type.isDefined)(pointDataItem.argument)) { if (!nameField || dataItem[nameField] === options.nameFieldValue) { pointDataItem.index = index; data.push(pointDataItem) } } else { itemsWithoutArgument++ } return data }), []); if (itemsWithoutArgument && itemsWithoutArgument === data.length) { this._incidentOccurred("W2002", [this.name, this.getArgumentField()]) } this._endUpdateData() }, _getData: function() { var data = this._data || []; if (this.useAggregation()) { var argumentRange = "discrete" !== this.argumentAxisType ? this.getArgumentRange() : {}; var aggregationInfo = this.getArgumentAxis().getAggregationInfo(this._useAllAggregatedPoints, argumentRange); data = this._resample(aggregationInfo, data) } return data }, useAggregation: function() { var aggregation = this.getOptions().aggregation; return aggregation && aggregation.enabled }, autoHidePointMarkersEnabled: _common.noop, usePointsToDefineAutoHiding: _common.noop, createPoints: function(useAllAggregatedPoints) { this._normalizeUsingAllAggregatedPoints(useAllAggregatedPoints); this._createPoints() }, _normalizeUsingAllAggregatedPoints: function(useAllAggregatedPoints) { this._useAllAggregatedPoints = this.useAggregation() && ("discrete" === this.argumentAxisType || (this._data || []).length > 1 && !!useAllAggregatedPoints) }, _createPoints: function() { var that = this; var oldPointsByArgument = that.pointsByArgument || {}; var data = that._getData(); that.pointsByArgument = {}; that._calculateErrorBars(data); var skippedFields = {}; var points = data.reduce((function(points, pointDataItem) { if (that._checkData(pointDataItem, skippedFields)) { var pointIndex = points.length; var oldPoint = that._getOldPoint(pointDataItem, oldPointsByArgument, pointIndex); var point = that._createPoint(pointDataItem, pointIndex, oldPoint); points.push(point) } return points }), []); for (var field in skippedFields) { if (skippedFields[field] === data.length) { that._incidentOccurred("W2002", [that.name, field]) } } Object.keys(oldPointsByArgument).forEach((function(key) { return that._disposePoints(oldPointsByArgument[key]) })); that._points = points }, _removeOldSegments: function() { var that = this; var startIndex = that._segments.length; (0, _iterator.each)(that._graphics.splice(startIndex, that._graphics.length) || [], (function(_, elem) { that._removeElement(elem) })); if (that._trackers) { (0, _iterator.each)(that._trackers.splice(startIndex, that._trackers.length) || [], (function(_, elem) { elem.remove() })) } }, _prepareSegmentsPosition: function() { var points = this._points || []; var isCloseSegment = points[0] && points[0].hasValue() && this._options.closed; var segments = points.reduce((function(segments, p) { var segment = segments.at(-1); if (!p.translated) { p.setDefaultCoords() } if (p.hasValue() && p.hasCoords()) { segment.push(p) } else if (!p.hasValue() && segment.length) { segments.push([]) } return segments }), [ [] ]); this._drawSegments(segments, isCloseSegment, false) }, _drawElements: function(animationEnabled, firstDrawing) { var that = this; var points = that._points || []; var isCloseSegment = points[0] && points[0].hasValue() && that._options.closed; var groupForPoint = { markers: that._markersGroup, errorBars: that._errorBarGroup }; that._drawnPoints = []; that._graphics = that._graphics || []; that._segments = []; var segments = points.reduce((function(segments, p) { var segment = segments.at(-1); if (p.hasValue() && p.hasCoords()) { that._drawPoint({ point: p, groups: groupForPoint, hasAnimation: animationEnabled, firstDrawing: firstDrawing }); segment.push(p) } else if (!p.hasValue()) { segment.length && segments.push([]) } else { p.setInvisibility() } return segments }), [ [] ]); that._drawSegments(segments, isCloseSegment, animationEnabled); that._firstDrawing = !points.length; that._removeOldSegments(); animationEnabled && that._animate(firstDrawing) }, _drawSegments: function(segments, closeSegment, animationEnabled) { var _this = this; segments.forEach((function(segment, index) { if (segment.length) { var lastSegment = closeSegment && index === segments.length - 1; _this._drawSegment(segment, animationEnabled, index, lastSegment) } })) }, draw: function(animationEnabled, hideLayoutLabels, legendCallback) { var firstDrawing = this._firstDrawing; this._legendCallback = legendCallback || this._legendCallback; if (!this._visible) { this._group.remove(); return } this._appendInGroup(); if (!this._isAllPointsTranslated) { this.prepareCoordinatesForPoints() } this._setGroupsSettings(animationEnabled, firstDrawing); !firstDrawing && !this._resetApplyingAnimation && this._prepareSegmentsPosition(); this._drawElements(animationEnabled, firstDrawing); hideLayoutLabels && this.hideLabels(); if (this.isSelected()) { this._changeStyle(this.lastSelectionMode, void 0, true) } else if (this.isHovered()) { this._changeStyle(this.lastHoverMode, void 0, true) } else { this._applyStyle(this._styles.normal) } this._isAllPointsTranslated = false; this._resetApplyingAnimation = false }, _translatePoints: function() { var _this$_points; var points = null !== (_this$_points = this._points) && void 0 !== _this$_points ? _this$_points : []; points.forEach((function(p) { p.translate() })) }, prepareCoordinatesForPoints: function() { this._applyVisibleArea(); this._translatePoints(); this._isAllPointsTranslated = true }, _setLabelGroupSettings: function(animationEnabled) { var settings = { class: "dxc-labels", "pointer-events": "none" }; this._clipLabels && this._applyElementsClipRect(settings); this._applyClearingSettings(settings); animationEnabled && (settings.opacity = .001); this._labelsGroup.attr(settings).append(this._extGroups.labelsGroup) }, _checkType: function(widgetType) { return !!seriesNS.mixins[widgetType][this.type] }, _checkPolarBarType: function(widgetType, options) { return "polar" === widgetType && options.spiderWidget && -1 !== this.type.indexOf("bar") }, _resetType: function(seriesType, widgetType) { var methodName; var methods; if (seriesType) { methods = seriesNS.mixins[widgetType][seriesType]; for (methodName in methods) { delete this[methodName] } } }, _setType: function(seriesType, widgetType) { var methodName; var methods = seriesNS.mixins[widgetType][seriesType]; for (methodName in methods) { this[methodName] = methods[methodName] } }, _setPointsView: function(view, target) { this.getPoints().forEach((function(point) { if (target !== point) { point.setView(view) } })) }, _resetPointsView: function(view, target) { this.getPoints().forEach((function(point) { if (target !== point) { point.resetView(view) } })) }, _resetNearestPoint: function() { this._nearestPoint && null !== this._nearestPoint.series && this._nearestPoint.resetView(HOVER); this._nearestPoint = null }, _setSelectedState: function(mode) { this.lastSelectionMode = (0, _utils.normalizeEnum)(mode || this._options.selectionMode); this.fullState = this.fullState | SELECTED_STATE; this._resetNearestPoint(); this._changeStyle(this.lastSelectionMode); if ("none" !== this.lastSelectionMode && this.isHovered() && includePointsMode(this.lastHoverMode)) { this._resetPointsView(HOVER) } }, _releaseSelectedState: function() { this.fullState = this.fullState & ~SELECTED_STATE; this._changeStyle(this.lastSelectionMode, SELECTION); if ("none" !== this.lastSelectionMode && this.isHovered() && includePointsMode(this.lastHoverMode)) { this._setPointsView(HOVER) } }, isFullStackedSeries: function() { return 0 === this.type.indexOf("fullstacked") }, isStackedSeries: function() { return 0 === this.type.indexOf("stacked") }, resetApplyingAnimation: function(isFirstDrawing) { this._resetApplyingAnimation = true; if (isFirstDrawing) { this._firstDrawing = true } }, isFinancialSeries: function() { return "stock" === this.type || "candlestick" === this.type }, _canChangeView: function() { return !this.isSelected() && "none" !== (0, _utils.normalizeEnum)(this._options.hoverMode) }, _changeStyle: function(mode, resetView, skipPoints) { var state = this.fullState; var styles = [NORMAL, HOVER, SELECTION, SELECTION]; if ("none" === this.lastHoverMode) { state &= ~HOVER_STATE } if ("none" === this.lastSelectionMode) { state &= ~SELECTED_STATE } if (includePointsMode(mode) && !skipPoints) { if (!resetView) { this._setPointsView(styles[state]) } else { this._resetPointsView(resetView) } } this._legendCallback([RESET_ITEM, APPLY_HOVER, APPLY_SELECTED, APPLY_SELECTED][state]); this._applyStyle(this._styles[styles[state]]) }, updateHover: function(x, y) { var currentNearestPoint = this._nearestPoint; var point = this.isHovered() && "nearestpoint" === this.lastHoverMode && this.getNeighborPoint(x, y); if (point !== currentNearestPoint && !(this.isSelected() && "none" !== this.lastSelectionMode)) { this._resetNearestPoint(); if (point) { point.setView(HOVER); this._nearestPoint = point } } }, _getMainAxisName: function() { return this._options.rotated ? "X" : "Y" }, areLabelsVisible: function() { return !(0, _type.isDefined)(this._options.maxLabelCount) || this._points.length <= this._options.maxLabelCount }, getLabelVisibility: function() { return this.areLabelsVisible() && this._options.label && this._options.label.visible }, customizePoint: function(point, pointData) { var options = this._options; var customizePoint = options.customizePoint; var customizeObject; var pointOptions; var customLabelOptions; var customOptions; var customizeLabel = options.customizeLabel; var useLabelCustomOptions; var usePointCustomOptions; if (customizeLabel && customizeLabel.call) { customizeObject = (0, _extend2.extend)({ seriesName: this.name }, pointData); customizeObject.series = this; customLabelOptions = customizeLabel.call(customizeObject, customizeObject); useLabelCustomOptions = customLabelOptions && !(0, _type.isEmptyObject)(customLabelOptions); customLabelOptions = useLabelCustomOptions ? (0, _extend2.extend)(true, {}, options.label, customLabelOptions) : null } if (customizePoint && customizePoint.call) { customizeObject = customizeObject || (0, _extend2.extend)({ seriesName: this.name }, pointData); customizeObject.series = this; customOptions = customizePoint.call(customizeObject, customizeObject); usePointCustomOptions = customOptions && !(0, _type.isEmptyObject)(customOptions) } if (useLabelCustomOptions || usePointCustomOptions) { pointOptions = this._parsePointOptions(this._preparePointOptions(customOptions), customLabelOptions || options.label, pointData, point); pointOptions.styles.useLabelCustomOptions = useLabelCustomOptions; pointOptions.styles.usePointCustomOptions = usePointCustomOptions; point.updateOptions(pointOptions) } }, show: function() { if (!this._visible) { this._changeVisibility(true) } }, hide: function() { if (this._visible) { this._changeVisibility(false) } }, _changeVisibility: function(visibility) { this._visible = this._options.visible = visibility; this._updatePointsVisibility(); this.hidePointTooltip(); this._options.visibilityChanged(this) }, _updatePointsVisibility: _common.noop, hideLabels: function() { (0, _iterator.each)(this._points, (function(_, point) { point._label.draw(false) })) }, _turnOffHatching: function(hoverStyle, selectionStyle) { if (hoverStyle.hatching) { hoverStyle.hatching.direction = "none" } if (selectionStyle.hatching) { selectionStyle.hatching.direction = "none" } }, _parsePointOptions: function(pointOptions, labelOptions, data, point) { var options = this._options; var styles = this._createPointStyles(pointOptions, data, point); var parsedOptions = (0, _extend2.extend)({}, pointOptions, { type: options.type, rotated: options.rotated, styles: styles, widgetType: options.widgetType, visibilityChanged: options.visibilityChanged }); parsedOptions.label = function(labelOptions, defaultColor) { var opt = labelOptions || {}; var labelFont = (0, _extend2.extend)({}, opt.font) || {}; var labelBorder = opt.border || {}; var labelConnector = opt.connector || {}; var backgroundAttr = { fill: opt.backgroundColor || defaultColor, "stroke-width": labelBorder.visible ? labelBorder.width || 0 : 0, stroke: labelBorder.visible && labelBorder.width ? labelBorder.color : "none", dashStyle: labelBorder.dashStyle }; var connectorAttr = { stroke: labelConnector.visible && labelConnector.width ? labelConnector.color || defaultColor : "none", "stroke-width": labelConnector.visible ? labelConnector.width || 0 : 0 }; labelFont.color = "none" === opt.backgroundColor && "#ffffff" === (0, _utils.normalizeEnum)(labelFont.color) && "inside" !== opt.position ? defaultColor : labelFont.color; return { alignment: opt.alignment, format: opt.format, argumentFormat: opt.argumentFormat, customizeText: (0, _type.isFunction)(opt.customizeText) ? opt.customizeText : void 0, attributes: { font: labelFont }, visible: 0 !== labelFont.size ? opt.visible : false, showForZeroValues: opt.showForZeroValues, horizontalOffset: opt.horizontalOffset, verticalOffset: opt.verticalOffset, radialOffset: opt.radialOffset, background: backgroundAttr, position: opt.position, connector: connectorAttr, rotationAngle: opt.rotationAngle, wordWrap: opt.wordWrap, textOverflow: opt.textOverflow, cssClass: opt.cssClass, displayFormat: opt.displayFormat } }(labelOptions, styles.labelColor); if (this.areErrorBarsVisible()) { parsedOptions.errorBars = options.valueErrorBar } return parsedOptions }, _preparePointOptions: function(customOptions) { var pointOptions = this._getOptionsForPoint(); return customOptions ? function(base, extra) { var options = mergePointOptionsCore(base, extra); options.image = (0, _extend2.extend)(true, {}, base.image, extra.image); options.selectionStyle = mergePointOptionsCore(base.selectionStyle, extra.selectionStyle); options.hoverStyle = mergePointOptionsCore(base.hoverStyle, extra.hoverStyle); return options }(pointOptions, customOptions) : pointOptions }, _getMarkerGroupOptions: function() { return (0, _extend2.extend)(false, {}, this._getOptionsForPoint(), { hoverStyle: {}, selectionStyle: {} }) }, _getAggregationMethod: function(isDiscrete, aggregateByCategory) { var options = this.getOptions().aggregation; var method = (0, _utils.normalizeEnum)(options.method); var customAggregator = "custom" === method && options.calculate; var aggregator; if (isDiscrete && !aggregateByCategory) { aggregator = function(_ref) { var data = _ref.data; return data[0] } } else { aggregator = this._aggregators[method] || this._aggregators[this._defaultAggregator] } return customAggregator || aggregator }, _resample: function(_ref2, data) { var interval = _ref2.interval, ticks = _ref2.ticks, aggregateByCategory = _ref2.aggregateByCategory; var that = this; var isDiscrete = "discrete" === that.argumentAxisType || "discrete" === that.valueAxisType; var dataIndex = 0; var dataSelector = this._getPointDataSelector(); var options = that.getOptions(); var addAggregatedData = function(target, data, aggregationInfo) { if (!data) { return } var processData = function(d) { var pointData = d && dataSelector(d, options); if (pointData && that._checkData(pointData)) { pointData.aggregationInfo = aggregationInfo; target.push(pointData) } }; if (Array.isArray(data)) { data.forEach(processData) } else { processData(data) } }; var aggregationMethod = this._getAggregationMethod(isDiscrete, aggregateByCategory); if (isDiscrete) { if (aggregateByCategory) { var categories = this.getArgumentAxis().getTranslator().getBusinessRange().categories; var groups = categories.reduce((function(g, category) { g[category.valueOf()] = []; return g }), {}); data.forEach((function(dataItem) { groups[dataItem.argument.valueOf()].push(dataItem) })); return categories.reduce((function(result, c) { addAggregatedData(result, aggregationMethod({ aggregationInterval: null, intervalStart: c, intervalEnd: c, data: groups[c.valueOf()].map(getData) }, that)); return result }), []) } else { return data.reduce((function(result, dataItem, index, data) { result[1].push(dataItem); if (index === data.length - 1 || (index + 1) % interval === 0) { var dataInInterval = result[1]; var aggregationInfo = { aggregationInterval: interval, data: dataInInterval.map(getData) }; addAggregatedData(result[0], aggregationMethod(aggregationInfo, that)); result[1] = [] } return result }), [ [], [] ])[0] } } var aggregatedData = []; if (1 === ticks.length) { var aggregationInfo = { intervalStart: ticks[0], intervalEnd: ticks[0], aggregationInterval: null, data: data.map(getData) }; addAggregatedData(aggregatedData, aggregationMethod(aggregationInfo, that), aggregationInfo) } else { for (var i = 1; i < ticks.length; i++) { var intervalEnd = ticks[i]; var intervalStart = ticks[i - 1]; var dataInInterval = []; while (data[dataIndex] && data[dataIndex].argument < intervalEnd) { if (data[dataIndex].argument >= intervalStart) { dataInInterval.push(data[dataIndex]) } dataIndex++ } var _aggregationInfo = { intervalStart: intervalStart, intervalEnd: intervalEnd, aggregationInterval: interval, data: dataInInterval.map(getData) }; addAggregatedData(aggregatedData, aggregationMethod(_aggregationInfo, that), _aggregationInfo) } } that._endUpdateData(); return aggregatedData }, canRenderCompleteHandle: function() { var result = this._canRenderCompleteHandle; delete this._canRenderCompleteHandle; return !!result }, isHovered: function() { return !!(1 & this.fullState) }, isSelected: function() { return !!(2 & this.fullState) }, isVisible: function() { return this._visible }, getAllPoints: function() { this._createAllAggregatedPoints(); return (this._points || []).slice() }, getPointByPos: function(pos) { this._createAllAggregatedPoints(); return (this._points || [])[pos] }, getVisiblePoints: function() { return (this._drawnPoints || []).slice() }, selectPoint: function(point) { if (!point.isSelected()) { ! function(point, legendCallback) { point.fullState |= SELECTED_STATE; point.applyView(legendCallback) }(point, this._legendCallback); this._eventPipe({ action: "pointSelect", target: point }); this._eventTrigger("pointSelectionChanged", { target: point }) } }, deselectPoint: function(point) { if (point.isSelected()) { ! function(point, legendCallback) { point.fullState &= ~SELECTED_STATE; point.applyView(legendCallback) }(point, this._legendCallback); this._eventPipe({ action: "pointDeselect", target: point }); this._eventTrigger("pointSelectionChanged", { target: point }) } }, hover: function(mode) { var eventTrigger = this._eventTrigger; if (this.isHovered()) { return } this.lastHoverMode = (0, _utils.normalizeEnum)(mode || this._options.hoverMode); this.fullState = this.fullState | HOVER_STATE; this._changeStyle(this.lastHoverMode, void 0, this.isSelected() && "none" !== this.lastSelectionMode); eventTrigger("seriesHoverChanged", { target: this }) }, clearHover: function() { var eventTrigger = this._eventTrigger; if (!this.isHovered()) { return } this._resetNearestPoint(); this.fullState = this.fullState & ~HOVER_STATE; this._changeStyle(this.lastHoverMode, HOVER, this.isSelected() && "none" !== this.lastSelectionMode); eventTrigger("seriesHoverChanged", { target: this }) }, hoverPoint: function(point) { if (!point.isHovered()) { point.clearHover(); ! function(point, legendCallback) { point.fullState |= HOVER_STATE; point.applyView(legendCallback) }(point, this._legendCallback); this._canChangeView() && this._applyStyle(this._styles.hover); this._eventPipe({ action: "pointHover", target: point }); this._eventTrigger("pointHoverChanged", { target: point }) } }, clearPointHover: function() { var that = this; that.getPoints().some((function(currentPoint) { if (currentPoint.isHovered()) { ! function(point, legendCallback) { point.fullState &= ~HOVER_STATE; point.applyView(legendCallback); point.releaseHoverState() }(currentPoint, that._legendCallback); that._canChangeView() && that._applyStyle(that._styles.normal); that._eventPipe({ action: "clearPointHover", target: currentPoint }); that._eventTrigger("pointHoverChanged", { target: currentPoint }); return true } return false })) }, showPointTooltip: function(point) { triggerEvent(this._extGroups.seriesGroup, "showpointtooltip", point) }, hidePointTooltip: function(point) { triggerEvent(this._extGroups.seriesGroup, "hidepointtooltip", point) }, select: function() { if (!this.isSelected()) { this._setSelectedState(this._options.selectionMode); this._eventPipe({ action: "seriesSelect", target: this }); this._group.toForeground(); this._eventTrigger("seriesSelectionChanged", { target: this }) } }, clearSelection: function() { if (this.isSelected()) { this._releaseSelectedState(); this._eventTrigger("seriesSelectionChanged", { target: this }) } }, getPointsByArg: function(arg, skipPointsCreation) { var argValue = arg.valueOf(); var points = this.pointsByArgument[argValue]; if (!points && !skipPointsCreation && this._createAllAggregatedPoints()) { points = this.pointsByArgument[argValue] } return points || [] }, _createAllAggregatedPoints: function() { if (this.useAggregation() && !this._useAllAggregatedPoints) { this.createPoints(true); return true } return false }, getPointsByKeys: function(arg) { return this.getPointsByArg(arg) }, notify: function(data) { var that = this; var action = data.action; var seriesModes = that._seriesModes; var target = data.target; var targetOptions = target.getOptions(); var pointHoverMode = (0, _utils.normalizeEnum)(targetOptions.hoverMode); var selectionModeOfPoint = (0, _utils.normalizeEnum)(targetOptions.selectionMode); if ("pointHover" === action) { that._hoverPointHandler(target, pointHoverMode, data.notifyLegend) } else if ("clearPointHover" === action) { that._clearPointHoverHandler(target, pointHoverMode, data.notifyLegend) } else if ("seriesSelect" === action) { target !== that && "single" === seriesModes.seriesSelectionMode && that.clearSelection() } else if ("pointSelect" === action) { if ("single" === seriesModes.pointSelectionMode) { that.getPoints().some((function(currentPoint) { if (currentPoint !== target && currentPoint.isSelected()) { that.deselectPoint(currentPoint); return true } return false })) } that._selectPointHandler(target, selectionModeOfPoint) } else if ("pointDeselect" === action) { that._deselectPointHandler(target, selectionModeOfPoint) } }, _selectPointHandler: function(target, mode) { if ("allseriespoints" === mode) { target.series === this && this._setPointsView(SELECTION, target) } else if ("allargumentpoints" === mode) { this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) { currentPoint !== target && currentPoint.setView(SELECTION) })) } }, _deselectPointHandler: function(target, mode) { if ("allseriespoints" === mode) { target.series === this && this._resetPointsView(SELECTION, target) } else if ("allargumentpoints" === mode) { this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) { currentPoint !== target && currentPoint.resetView(SELECTION) })) } }, _hoverPointHandler: function(target, mode, notifyLegend) { if (target.series !== this && "allargumentpoints" === mode) { this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) { currentPoint.setView(HOVER) })); notifyLegend && this._legendCallback(target) } else if ("allseriespoints" === mode && target.series === this) { this._setPointsView(HOVER, target) } }, _clearPointHoverHandler: function(target, mode, notifyLegend) { if ("allargumentpoints" === mode) { target.series !== this && this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) { currentPoint.resetView(HOVER) })); notifyLegend && this._legendCallback(target) } else if ("allseriespoints" === mode && target.series === this) { this._resetPointsView(HOVER, target) } }, _deletePoints: function() { this._disposePoints(this._points); this._points = this._drawnPoints = null }, _deleteTrackers: function() { (0, _iterator.each)(this._trackers || [], (function(_, tracker) { tracker.remove() })); this._trackersGroup && this._trackersGroup.dispose(); this._trackers = this._trackersGroup = null }, dispose: function() { this._deletePoints(); this._group.dispose(); this._labelsGroup && this._labelsGroup.dispose(); this._errorBarGroup && this._errorBarGroup.dispose(); this._deleteTrackers(); this._group = this._extGroups = this._markersGroup = this._elementsGroup = this._bordersGroup = this._labelsGroup = this._errorBarGroup = this._graphics = this._rangeData = this._renderer = this._styles = this._options = this._pointOptions = this._drawnPoints = this.pointsByArgument = this._segments = this._prevSeries = null }, correctPosition: _common.noop, drawTrackers: _common.noop, getNeighborPoint: _common.noop, areErrorBarsVisible: _common.noop, _getColorId: _common.noop, getMarginOptions: function() { return this._patchMarginOptions({ percentStick: this.isFullStackedSeries() }) }, getColor: function() { return this.getLegendStyles().normal.fill }, getOpacity: function() { return this._options.opacity }, getStackName: function() { return this._stackName }, getBarOverlapGroup: function() { return this._options.barOverlapGroup }, getPointByCoord: function(x, y) { var point = this.getNeighborPoint(x, y); return null !== point && void 0 !== point && point.coordsIn(x, y) ? point : null }, getValueAxis: function() { return this._valueAxis }, getArgumentAxis: function() { return this._argumentAxis }, getMarkersGroup: function() { return this._markersGroup }, getRenderer: function() { return this._renderer }, removePointElements: function() { if (this._markersGroup) { (0, _iterator.each)(this._points, (function(_, p) { return p.deleteMarker() })); this._markersGroup.dispose(); this._markersGroup = null } }, removeGraphicElements: function() { var that = this; if (that._elementsGroup) { that._elementsGroup.dispose(); that._elementsGroup = null }(0, _iterator.each)(that._graphics || [], (function(_, elem) { that._removeElement(elem) })); that._graphics = null }, removeBordersGroup: function() { if (this._bordersGroup) { this._bordersGroup.dispose(); this._bordersGroup = null } } }; var mixins = seriesNS.mixins; exports.mixins = mixins }, 64216: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/bubble_series.js ***! \*************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.chart = void 0; var _line_series = __webpack_require__( /*! ./line_series */ 7222); var _scatter_series = __webpack_require__( /*! ./scatter_series */ 21667); var _area_series = __webpack_require__( /*! ./area_series */ 90048); var _bar_series = __webpack_require__( /*! ./bar_series */ 58821); var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var lineSeries = _line_series.chart.line; var areaSeries = _area_series.chart.area; var chartBarSeries = _bar_series.chart.bar; var polarBarSeries = _bar_series.polar.bar; var _extend = _extend2.extend; var _each = _iterator.each; var _noop = _common.noop; var chart = {}; exports.chart = chart; chart.bubble = _extend({}, _scatter_series.chart, { _calculateErrorBars: _noop, _getMainColor: chartBarSeries._getMainColor, _createPointStyles: chartBarSeries._createPointStyles, _updatePointsVisibility: chartBarSeries._updatePointsVisibility, _getOptionsForPoint: chartBarSeries._getOptionsForPoint, _applyMarkerClipRect: lineSeries._applyElementsClipRect, _parsePointStyle: polarBarSeries._parsePointStyle, _createLegendState: areaSeries._createLegendState, _getColorId: areaSeries._getColorId, _setMarkerGroupSettings: polarBarSeries._setMarkerGroupSettings, areErrorBarsVisible: _noop, _createErrorBarGroup: _noop, _checkData: function(data, skippedFields) { return _scatter_series.chart._checkData.call(this, data, skippedFields, { value: this.getValueFields()[0], size: this.getSizeField() }) }, _getPointDataSelector: function(data, options) { var sizeField = this.getSizeField(); var baseGetter = _scatter_series.chart._getPointDataSelector.call(this); return function(data) { var pointData = baseGetter(data); pointData.size = data[sizeField]; return pointData } }, _aggregators: { avg: function(_ref, series) { var _ref2; var data = _ref.data, intervalStart = _ref.intervalStart, intervalEnd = _ref.intervalEnd; if (!data.length) { return } var valueField = series.getValueFields()[0]; var sizeField = series.getSizeField(); var aggregate = data.reduce((function(result, item) { result[0] += item[valueField]; result[1] += item[sizeField]; result[2]++; return result }), [0, 0, 0]); return _ref2 = {}, _defineProperty(_ref2, valueField, aggregate[0] / aggregate[2]), _defineProperty(_ref2, sizeField, aggregate[1] / aggregate[2]), _defineProperty(_ref2, series.getArgumentField(), series._getIntervalCenter(intervalStart, intervalEnd)), _ref2 } }, getValueFields: function() { return [this._options.valueField || "val"] }, getSizeField: function() { return this._options.sizeField || "size" }, _animate: function() { var that = this; var lastPointIndex = that._drawnPoints.length - 1; var labelsGroup = that._labelsGroup; var labelAnimFunc = function() { labelsGroup && labelsGroup.animate({ opacity: 1 }, { duration: that._defaultDuration }) }; _each(that._drawnPoints || [], (function(i, p) { p.animate(i === lastPointIndex ? labelAnimFunc : void 0, { r: p.bubbleSize, translateX: p.x, translateY: p.y }) })) }, _patchMarginOptions: function(options) { options.processBubbleSize = true; return options } }) }, 29788: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/financial_series.js ***! \****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.stock = exports.candlestick = void 0; var _scatter_series = __webpack_require__( /*! ./scatter_series */ 21667); var _bar_series = __webpack_require__( /*! ./bar_series */ 58821); var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var barSeries = _bar_series.chart.bar; var stock = (0, _extend2.extend)({}, _scatter_series.chart, { _animate: _common.noop, _applyMarkerClipRect: function(settings) { settings["clip-path"] = this._forceClipping ? this._paneClipRectID : this._widePaneClipRectID }, _updatePointsVisibility: barSeries._updatePointsVisibility, _getOptionsForPoint: barSeries._getOptionsForPoint, _createErrorBarGroup: _common.noop, areErrorBarsVisible: _common.noop, _createGroups: _scatter_series.chart._createGroups, _setMarkerGroupSettings: function() { var markersGroup = this._markersGroup; var styles = this._createPointStyles(this._getMarkerGroupOptions()); var defaultStyle = (0, _extend2.extend)(styles.normal, { class: "default-markers" }); var defaultPositiveStyle = (0, _extend2.extend)(styles.positive.normal, { class: "default-positive-markers" }); var reductionStyle = (0, _extend2.extend)(styles.reduction.normal, { class: "reduction-markers" }); var reductionPositiveStyle = (0, _extend2.extend)(styles.reductionPositive.normal, { class: "reduction-positive-markers" }); var markerSettings = { class: "dxc-markers" }; this._applyMarkerClipRect(markerSettings); markersGroup.attr(markerSettings); this._createGroup("defaultMarkersGroup", markersGroup, markersGroup, defaultStyle); this._createGroup("reductionMarkersGroup", markersGroup, markersGroup, reductionStyle); this._createGroup("defaultPositiveMarkersGroup", markersGroup, markersGroup, defaultPositiveStyle); this._createGroup("reductionPositiveMarkersGroup", markersGroup, markersGroup, reductionPositiveStyle) }, _setGroupsSettings: function() { _scatter_series.chart._setGroupsSettings.call(this, false) }, _getCreatingPointOptions: function() { var defaultPointOptions; var creatingPointOptions = this._predefinedPointOptions; if (!creatingPointOptions) { defaultPointOptions = this._getPointOptions(); this._predefinedPointOptions = creatingPointOptions = (0, _extend2.extend)(true, { styles: {} }, defaultPointOptions); creatingPointOptions.styles.normal = creatingPointOptions.styles.positive.normal = creatingPointOptions.styles.reduction.normal = creatingPointOptions.styles.reductionPositive.normal = { "stroke-width": defaultPointOptions.styles && defaultPointOptions.styles.normal && defaultPointOptions.styles.normal["stroke-width"] } } return creatingPointOptions }, _checkData: function(data, skippedFields) { var valueFields = this.getValueFields(); return _scatter_series.chart._checkData.call(this, data, skippedFields, { openValue: valueFields[0], highValue: valueFields[1], lowValue: valueFields[2], closeValue: valueFields[3] }) && data.highValue === data.highValue && data.lowValue === data.lowValue }, _getPointDataSelector: function(data, options) { var _this = this; var that = this; var level; var valueFields = that.getValueFields(); var argumentField = that.getArgumentField(); var openValueField = valueFields[0]; var highValueField = valueFields[1]; var lowValueField = valueFields[2]; var closeValueField = valueFields[3]; that.level = that._options.reduction.level; switch ((0, _utils.normalizeEnum)(that.level)) { case "open": level = openValueField; break; case "high": level = highValueField; break; case "low": level = lowValueField; break; default: level = closeValueField; that.level = "close" } var prevLevelValue; return function(data) { var reductionValue = data[level]; var isReduction = false; if ((0, _type.isDefined)(reductionValue)) { if ((0, _type.isDefined)(prevLevelValue)) { isReduction = reductionValue < prevLevelValue } prevLevelValue = reductionValue } return { argument: data[argumentField], highValue: _this._processEmptyValue(data[highValueField]), lowValue: _this._processEmptyValue(data[lowValueField]), closeValue: _this._processEmptyValue(data[closeValueField]), openValue: _this._processEmptyValue(data[openValueField]), reductionValue: reductionValue, tag: data[that.getTagField()], isReduction: isReduction, data: data } } }, _parsePointStyle: function(style, defaultColor, innerColor) { var color = (0, _utils.extractColor)(style.color, true); return { stroke: color || defaultColor, "stroke-width": style.width, fill: color || innerColor } }, _getDefaultStyle: function(options) { var mainPointColor = (0, _utils.extractColor)(options.color, true) || this._options.mainSeriesColor; return { normal: this._parsePointStyle(options, mainPointColor, mainPointColor), hover: this._parsePointStyle(options.hoverStyle, mainPointColor, mainPointColor), selection: this._parsePointStyle(options.selectionStyle, mainPointColor, mainPointColor) } }, _getReductionStyle: function(options) { var reductionColor = options.reduction.color; return { normal: this._parsePointStyle({ color: reductionColor, width: options.width, hatching: options.hatching }, reductionColor, reductionColor), hover: this._parsePointStyle(options.hoverStyle, reductionColor, reductionColor), selection: this._parsePointStyle(options.selectionStyle, reductionColor, reductionColor) } }, _createPointStyles: function(pointOptions) { var innerColor = this._options.innerColor; var styles = this._getDefaultStyle(pointOptions); var positiveStyle = (0, _extend2.extend)(true, {}, styles); var reductionStyle = this._getReductionStyle(pointOptions); var reductionPositiveStyle = (0, _extend2.extend)(true, {}, reductionStyle); positiveStyle.normal.fill = positiveStyle.hover.fill = positiveStyle.selection.fill = innerColor; reductionPositiveStyle.normal.fill = reductionPositiveStyle.hover.fill = reductionPositiveStyle.selection.fill = innerColor; styles.positive = positiveStyle; styles.reduction = reductionStyle; styles.reductionPositive = reductionPositiveStyle; styles.labelColor = innerColor; return styles }, _endUpdateData: function() { delete this._predefinedPointOptions }, _defaultAggregator: "ohlc", _aggregators: { ohlc: function(_ref, series) { var intervalStart = _ref.intervalStart, intervalEnd = _ref.intervalEnd, data = _ref.data; if (!data.length) { return } var result = {}; var valueFields = series.getValueFields(); var highValueField = valueFields[1]; var lowValueField = valueFields[2]; result[highValueField] = -1 / 0; result[lowValueField] = 1 / 0; result = data.reduce((function(result, item) { if (null !== item[highValueField]) { result[highValueField] = Math.max(result[highValueField], item[highValueField]) } if (null !== item[lowValueField]) { result[lowValueField] = Math.min(result[lowValueField], item[lowValueField]) } return result }), result); result[valueFields[0]] = data[0][valueFields[0]]; result[valueFields[3]] = data[data.length - 1][valueFields[3]]; if (!isFinite(result[highValueField])) { result[highValueField] = null } if (!isFinite(result[lowValueField])) { result[lowValueField] = null } result[series.getArgumentField()] = series._getIntervalCenter(intervalStart, intervalEnd); return result } }, getValueFields: function() { var options = this._options; return [options.openValueField || "open", options.highValueField || "high", options.lowValueField || "low", options.closeValueField || "close"] }, getArgumentField: function() { return this._options.argumentField || "date" }, _patchMarginOptions: function(options) { var pointOptions = this._getCreatingPointOptions(); var styles = pointOptions.styles; var border = [styles.normal, styles.hover, styles.selection].reduce((function(max, style) { return Math.max(max, style["stroke-width"]) }), 0); options.size = 10 + border; options.sizePointNormalState = 10; return options }, getSeriesPairCoord: function(coord, isArgument) { var oppositeCoord = null; var points = this.getVisiblePoints(); for (var i = 0; i < points.length; i++) { var p = points[i]; var tmpCoord = void 0; if (isArgument) { tmpCoord = p.vx === coord ? (p.openY + p.closeY) / 2 : void 0 } else { var coords = [Math.min(p.lowY, p.highY), Math.max(p.lowY, p.highY)]; tmpCoord = coord >= coords[0] && coord <= coords[1] ? p.vx : void 0 } if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) { oppositeCoord = tmpCoord; break } } return oppositeCoord }, usePointsToDefineAutoHiding: function() { return false } }); exports.stock = stock; var candlestick = (0, _extend2.extend)({}, stock, { _parsePointStyle: function(style, defaultColor, innerColor) { var color = (0, _utils.extractColor)(style.color, true) || innerColor; var base = stock._parsePointStyle.call(this, style, defaultColor, color); base.fill = color; base.hatching = style.hatching; return base } }); exports.candlestick = candlestick }, 10656: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/helpers/display_format_parser.js ***! \*****************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.processDisplayFormat = function(displayFormat, pointInfo) { var actualText = displayFormat; var continueProcess = true; while (continueProcess) { var startBracketIndex = actualText.indexOf("{"); var endBracketIndex = actualText.indexOf("}"); if (startBracketIndex >= 0 && endBracketIndex > 0) { var placeHolder = actualText.substring(startBracketIndex + 1, endBracketIndex); var value = getValueByPlaceHolder(placeHolder, pointInfo); actualText = actualText.substr(0, startBracketIndex) + value + actualText.substr(endBracketIndex + 1) } else { continueProcess = false } } return actualText }; var _localization = __webpack_require__( /*! ../../../localization */ 94484); function getValueByPlaceHolder(placeHolder, pointInfo) { var customFormat = ""; var customFormatIndex = placeHolder.indexOf(":"); if (customFormatIndex > 0) { customFormat = placeHolder.substr(customFormatIndex + 1); placeHolder = placeHolder.substr(0, customFormatIndex) } return function(value, format) { if (format) { if (value instanceof Date) { return (0, _localization.formatDate)(value, format) } if ("number" === typeof value) { return (0, _localization.formatNumber)(value, format) } } return value }(pointInfo[placeHolder], customFormat) } }, 63407: /*!*****************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/helpers/range_data_calculator.js ***! \*****************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _utils = __webpack_require__( /*! ../../core/utils */ 19157); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var abs = Math.abs, floor = Math.floor, ceil = Math.ceil, min = Math.min; function continuousRangeCalculator(range, minValue, maxValue) { range.min = range.min < minValue ? range.min : minValue; range.max = range.max > maxValue ? range.max : maxValue } function createGetLogFunction(axisType, axis) { if ("logarithmic" !== axisType) { return null } var base = axis.getOptions().logarithmBase; return function(value) { var log = (0, _utils.getLog)(abs(value), base); var round = log < 0 ? floor : ceil; return round(log) } } function getRangeCalculator(axisType, axis, getLog) { var rangeCalculator = continuousRangeCalculator; if ("discrete" === axisType) { rangeCalculator = function(range, minValue, maxValue) { if (minValue !== maxValue) { range.categories.push(maxValue) } range.categories.push(minValue) } } else if (axis) { rangeCalculator = function(range, value) { var interval = axis.calculateInterval(value, range.prevValue); var minInterval = range.interval; range.interval = (minInterval < interval ? minInterval : interval) || minInterval; range.prevValue = value; continuousRangeCalculator(range, value, value) } } if (getLog) { return function(range, minValue, maxValue) { var minArgs = []; rangeCalculator(range, minValue, maxValue); 0 !== minValue && minArgs.push(getLog(minValue)); 0 !== maxValue && minArgs.push(getLog(maxValue)); var linearThreshold = min.apply(null, minArgs); range.linearThreshold = range.linearThreshold < linearThreshold ? range.linearThreshold : linearThreshold } } return rangeCalculator } function getInitialRange(axisType, dataType, firstValue) { var range = { axisType: axisType, dataType: dataType }; if ("discrete" === axisType) { range.categories = [] } else { range.min = (0, _type.isObject)(firstValue) ? firstValue.min : firstValue; range.max = (0, _type.isObject)(firstValue) ? firstValue.max : firstValue } return range } function processCategories(range) { if (range.categories) { range.categories = (0, _utils.unique)(range.categories) } return range } function calculateRangeBetweenPoints(rangeCalculator, range, point, prevPoint, bound) { var value = function(point, extraPoint, x, range) { if (extraPoint && (0, _type.isDefined)(extraPoint.value)) { var y1 = point.value; var y2 = extraPoint.value; var x1 = point.argument; var x2 = extraPoint.argument; var r = (x - x1) * (y2 - y1) / (x2 - x1) + y1.valueOf(); return "datetime" === range.dataType ? new Date(r) : r } else { return point.value } }(point, prevPoint, bound, range); rangeCalculator(range, value, value) } function isLineSeries(series) { return series.type.toLowerCase().indexOf("line") >= 0 || series.type.toLowerCase().indexOf("area") >= 0 } function getViewportReducer(series) { var rangeCalculator = getRangeCalculator(series.valueAxisType); var argumentAxis = series.getArgumentAxis(); var viewport = argumentAxis && series.getArgumentAxis().visualRange() || {}; var calculatePointBetweenPoints = isLineSeries(series) ? calculateRangeBetweenPoints : _common.noop; if (argumentAxis && argumentAxis.getMarginOptions().checkInterval) { var range = series.getArgumentAxis().getTranslator().getBusinessRange(); var add = (0, _utils.getAddFunction)(range, false); var interval = range.interval; if (isFinite(interval) && (0, _type.isDefined)(viewport.startValue) && (0, _type.isDefined)(viewport.endValue)) { viewport.startValue = add(viewport.startValue, interval, -1); viewport.endValue = add(viewport.endValue, interval) } } var viewportFilter = getViewPortFilter(viewport); return function(range, point, index, points) { var argument = point.argument; if (!point.hasValue()) { return range } if (viewportFilter(argument)) { if (!range.startCalc) { range.startCalc = true; calculatePointBetweenPoints(rangeCalculator, range, point, points[index - 1], viewport.startValue) } rangeCalculator(range, point.getMinValue(), point.getMaxValue()) } else if (!viewport.categories && (0, _type.isDefined)(viewport.startValue) && argument > viewport.startValue) { if (!range.startCalc) { calculatePointBetweenPoints(rangeCalculator, range, point, points[index - 1], viewport.startValue) } range.endCalc = true; calculatePointBetweenPoints(rangeCalculator, range, point, points[index - 1], viewport.endValue) } return range } } function getViewPortFilter(viewport) { if (viewport.categories) { var dictionary = viewport.categories.reduce((function(result, category) { result[category.valueOf()] = true; return result }), {}); return function(argument) { return (0, _type.isDefined)(argument) && dictionary[argument.valueOf()] } } if (!(0, _type.isDefined)(viewport.startValue) && !(0, _type.isDefined)(viewport.endValue)) { return function() { return true } } if (!(0, _type.isDefined)(viewport.endValue)) { return function(argument) { return argument >= viewport.startValue } } if (!(0, _type.isDefined)(viewport.startValue)) { return function(argument) { return argument <= viewport.endValue } } return function(argument) { return argument >= viewport.startValue && argument <= viewport.endValue } } var _default = { getViewPortFilter: getViewPortFilter, getArgumentRange: function(series) { var data = series._data || []; var range = {}; if (data.length) { if ("discrete" === series.argumentAxisType) { range = { categories: data.map((function(item) { return item.argument })) } } else { var interval; if (data.length > 1) { var i1 = series.getArgumentAxis().calculateInterval(data[0].argument, data[1].argument); var i2 = series.getArgumentAxis().calculateInterval(data[data.length - 1].argument, data[data.length - 2].argument); interval = min(i1, i2) } range = { min: data[0].argument, max: data[data.length - 1].argument, interval: interval } } } return processCategories(range) }, getRangeData: function(series) { var points = series.getPoints(); var useAggregation = series.useAggregation(); var argumentAxis = series.getArgumentAxis(); var argumentCalculator = getRangeCalculator(series.argumentAxisType, points.length > 1 && argumentAxis, createGetLogFunction(series.argumentAxisType, argumentAxis)); var valueRangeCalculator = getRangeCalculator(series.valueAxisType, null, createGetLogFunction(series.valueAxisType, series.getValueAxis())); var viewportReducer = getViewportReducer(series); var range = points.reduce((function(range, point, index, points) { var argument = point.argument; if (!point.isArgumentCorrect()) { return range } argumentCalculator(range.arg, argument, argument); if (point.hasValue()) { valueRangeCalculator(range.val, point.getMinValue(), point.getMaxValue()); viewportReducer(range.viewport, point, index, points) } return range }), { arg: getInitialRange(series.argumentAxisType, series.argumentType, null !== argumentAxis && void 0 !== argumentAxis && argumentAxis.aggregatedPointBetweenTicks() ? void 0 : series.getArgumentRangeInitialValue()), val: getInitialRange(series.valueAxisType, series.valueType, points.length ? series.getValueRangeInitialValue() : void 0), viewport: getInitialRange(series.valueAxisType, series.valueType, points.length ? series.getValueRangeInitialValue() : void 0) }); if (useAggregation) { var argumentRange = this.getArgumentRange(series); if ("discrete" === series.argumentAxisType) { range.arg = argumentRange } else { var viewport = argumentAxis.getViewport(); if ((0, _type.isDefined)(viewport.startValue) || (0, _type.isDefined)(viewport.length)) { argumentCalculator(range.arg, argumentRange.min, argumentRange.min) } if ((0, _type.isDefined)(viewport.endValue) || (0, _type.isDefined)(viewport.length) && (0, _type.isDefined)(viewport.startValue)) { argumentCalculator(range.arg, argumentRange.max, argumentRange.max) } } } processCategories(range.arg); processCategories(range.val); return range }, getViewport: function(series) { var points = series.getPoints(); var range; var reducer = getViewportReducer(series); range = getInitialRange(series.valueAxisType, series.valueType, points.length ? series.getValueRangeInitialValue() : void 0); points.some((function(point, index) { reducer(range, point, index, points); return range.endCalc })); return range }, getPointsInViewPort: function(series) { var argumentViewPortFilter = getViewPortFilter(series.getArgumentAxis().visualRange() || {}); var valueViewPort = series.getValueAxis().visualRange() || {}; var valueViewPortFilter = getViewPortFilter(valueViewPort); var points = series.getPoints(); var addValue = function(values, point, isEdge) { var minValue = point.getMinValue(); var maxValue = point.getMaxValue(); var isMinValueInViewPort = valueViewPortFilter(minValue); var isMaxValueInViewPort = valueViewPortFilter(maxValue); if (isMinValueInViewPort) { values.push(minValue) } if (maxValue !== minValue && isMaxValueInViewPort) { values.push(maxValue) } if (isEdge && !isMinValueInViewPort && !isMaxValueInViewPort) { if (!values.length) { values.push(valueViewPort.startValue) } else { values.push(valueViewPort.endValue) } } }; var addEdgePoints = isLineSeries(series) ? function(result, points, index) { var point = points[index]; var prevPoint = points[index - 1]; var nextPoint = points[index + 1]; if (nextPoint && argumentViewPortFilter(nextPoint.argument)) { addValue(result[1], point, true) } if (prevPoint && argumentViewPortFilter(prevPoint.argument)) { addValue(result[1], point, true) } } : _common.noop; return points.reduce((function(result, point, index) { if (argumentViewPortFilter(point.argument)) { addValue(result[0], point) } else { addEdgePoints(result, points, index) } return result }), [ [], [] ]) } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 7222: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/line_series.js ***! \***********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.polar = exports.chart = void 0; var _scatter_series = __webpack_require__( /*! ./scatter_series */ 21667); var _object = __webpack_require__( /*! ../../core/utils/object */ 48013); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var round = Math.round, sqrt = Math.sqrt, pow = Math.pow, min = Math.min, max = Math.max, abs = Math.abs; var chart = {}; exports.chart = chart; var polar = {}; exports.polar = polar; function clonePoint(point, newX, newY, newAngle) { var p = (0, _object.clone)(point); p.x = newX; p.y = newY; p.angle = newAngle; return p } function getTangentPoint(point, prevPoint, centerPoint, tan, nextStepAngle) { var correctAngle = point.angle + nextStepAngle; var cosSin = (0, _utils.getCosAndSin)(correctAngle); var x = centerPoint.x + (point.radius + tan * nextStepAngle) * cosSin.cos; var y = centerPoint.y - (point.radius + tan * nextStepAngle) * cosSin.sin; return clonePoint(prevPoint, x, y, correctAngle) } var lineMethods = { autoHidePointMarkersEnabled: function() { return true }, _applyGroupSettings: function(style, settings, group) { settings = (0, _extend.extend)(settings, style); this._applyElementsClipRect(settings); group.attr(settings) }, _setGroupsSettings: function(animationEnabled) { var style = this._styles.normal; this._applyGroupSettings(style.elements, { class: "dxc-elements" }, this._elementsGroup); this._bordersGroup && this._applyGroupSettings(style.border, { class: "dxc-borders" }, this._bordersGroup); _scatter_series.chart._setGroupsSettings.call(this, animationEnabled); animationEnabled && this._markersGroup && this._markersGroup.attr({ opacity: .001 }) }, _createGroups: function() { this._createGroup("_elementsGroup", this, this._group); this._areBordersVisible() && this._createGroup("_bordersGroup", this, this._group); _scatter_series.chart._createGroups.call(this) }, _areBordersVisible: function() { return false }, _getDefaultSegment: function(segment) { return { line: (0, _utils.map)(segment.line || [], (function(pt) { return pt.getDefaultCoords() })) } }, _prepareSegment: function(points) { return { line: points } }, _parseLineOptions: function(options, defaultColor) { return { stroke: (0, _utils.extractColor)(options.color, true) || defaultColor, "stroke-width": options.width, dashStyle: options.dashStyle || "solid" } }, _parseStyle: function(options, defaultColor) { return { elements: this._parseLineOptions(options, defaultColor) } }, _applyStyle: function(style) { this._elementsGroup && this._elementsGroup.attr(style.elements); (0, _iterator.each)(this._graphics || [], (function(_, graphic) { graphic.line && graphic.line.attr({ "stroke-width": style.elements["stroke-width"] }).sharp() })) }, _drawElement: function(segment, group) { return { line: this._createMainElement(segment.line, { "stroke-width": this._styles.normal.elements["stroke-width"] }).append(group) } }, _removeElement: function(element) { element.line.remove() }, _updateElement: function(element, segment, animate, animationComplete) { var params = { points: segment.line }; var lineElement = element.line; animate ? lineElement.animate(params, {}, animationComplete) : lineElement.attr(params) }, _animateComplete: function() { _scatter_series.chart._animateComplete.call(this); this._markersGroup && this._markersGroup.animate({ opacity: 1 }, { duration: this._defaultDuration }) }, _animate: function() { var that = this; var lastIndex = that._graphics.length - 1; (0, _iterator.each)(that._graphics || [], (function(i, elem) { var complete; if (i === lastIndex) { complete = function() { that._animateComplete() } } that._updateElement(elem, that._segments[i], true, complete) })) }, _drawPoint: function(options) { _scatter_series.chart._drawPoint.call(this, { point: options.point, groups: options.groups }) }, _createMainElement: function(points, settings) { return this._renderer.path(points, "line").attr(settings) }, _sortPoints: function(points, rotated) { return rotated ? points.sort((function(p1, p2) { return p2.y - p1.y })) : points.sort((function(p1, p2) { return p1.x - p2.x })) }, _drawSegment: function(points, animationEnabled, segmentCount, lastSegment) { var rotated = this._options.rotated; var segment = this._prepareSegment(points, rotated, lastSegment); this._segments.push(segment); if (!this._graphics[segmentCount]) { this._graphics[segmentCount] = this._drawElement(animationEnabled ? this._getDefaultSegment(segment) : segment, this._elementsGroup) } else if (!animationEnabled) { this._updateElement(this._graphics[segmentCount], segment) } }, _getTrackerSettings: function() { var defaultTrackerWidth = this._defaultTrackerWidth; var strokeWidthFromElements = this._styles.normal.elements["stroke-width"]; return { "stroke-width": strokeWidthFromElements > defaultTrackerWidth ? strokeWidthFromElements : defaultTrackerWidth, fill: "none" } }, _getMainPointsFromSegment: function(segment) { return segment.line }, _drawTrackerElement: function(segment) { return this._createMainElement(this._getMainPointsFromSegment(segment), this._getTrackerSettings(segment)) }, _updateTrackerElement: function(segment, element) { var settings = this._getTrackerSettings(segment); settings.points = this._getMainPointsFromSegment(segment); element.attr(settings) }, checkSeriesViewportCoord: function(axis, coord) { if (!_scatter_series.chart.checkSeriesViewportCoord.call(this)) { return false } var range = axis.isArgumentAxis ? this.getArgumentRange() : this.getViewport(); var min = axis.getTranslator().translate(range.categories ? range.categories[0] : range.min); var max = axis.getTranslator().translate(range.categories ? range.categories[range.categories.length - 1] : range.max); var rotated = this.getOptions().rotated; var inverted = axis.getOptions().inverted; return axis.isArgumentAxis && (!rotated && !inverted || rotated && inverted) || !axis.isArgumentAxis && (rotated && !inverted || !rotated && inverted) ? coord >= min && coord <= max : coord >= max && coord <= min } }; var lineSeries = chart.line = (0, _extend.extend)({}, _scatter_series.chart, lineMethods, { getPointCenterByArg: function(arg) { var value = this.getArgumentAxis().getTranslator().translate(arg); return { x: value, y: value } }, getSeriesPairCoord: function(coord, isArgument) { var oppositeCoord = null; var nearestPoints = this._getNearestPointsByCoord(coord, isArgument); var needValueCoord = isArgument && !this._options.rotated || !isArgument && this._options.rotated; for (var i = 0; i < nearestPoints.length; i++) { var p = nearestPoints[i]; var k = (p[1].vy - p[0].vy) / (p[1].vx - p[0].vx); var b = p[0].vy - p[0].vx * k; var tmpCoord = void 0; if (p[1].vx - p[0].vx === 0) { tmpCoord = needValueCoord ? p[0].vy : p[0].vx } else { tmpCoord = needValueCoord ? k * coord + b : (coord - b) / k } if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) { oppositeCoord = tmpCoord; break } } return oppositeCoord } }); chart.stepline = (0, _extend.extend)({}, lineSeries, { _calculateStepLinePoints: function(points) { var segment = []; var coordName = this._options.rotated ? "x" : "y"; (0, _iterator.each)(points, (function(i, pt) { var point; if (!i) { segment.push(pt); return } var step = segment[segment.length - 1][coordName]; if (step !== pt[coordName]) { point = (0, _object.clone)(pt); point[coordName] = step; segment.push(point) } segment.push(pt) })); return segment }, _prepareSegment: function(points) { return lineSeries._prepareSegment(this._calculateStepLinePoints(points)) }, getSeriesPairCoord: function(coord, isArgument) { var oppositeCoord; var rotated = this._options.rotated; var isOpposite = !isArgument && !rotated || isArgument && rotated; var coordName = !isOpposite ? "vx" : "vy"; var oppositeCoordName = !isOpposite ? "vy" : "vx"; var nearestPoints = this._getNearestPointsByCoord(coord, isArgument); for (var i = 0; i < nearestPoints.length; i++) { var p = nearestPoints[i]; var tmpCoord = void 0; if (isArgument) { tmpCoord = coord !== p[1][coordName] ? p[0][oppositeCoordName] : p[1][oppositeCoordName] } else { tmpCoord = coord === p[0][coordName] ? p[0][oppositeCoordName] : p[1][oppositeCoordName] } if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) { oppositeCoord = tmpCoord; break } } return oppositeCoord } }); chart.spline = (0, _extend.extend)({}, lineSeries, { _calculateBezierPoints: function(src, rotated) { var bezierPoints = []; var pointsCopy = src; var checkExtremum = function(otherPointCoord, pointCoord, controlCoord) { return otherPointCoord > pointCoord && controlCoord > otherPointCoord || otherPointCoord < pointCoord && controlCoord < otherPointCoord ? otherPointCoord : controlCoord }; if (1 !== pointsCopy.length) { pointsCopy.forEach((function(curPoint, i) { var leftControlX; var leftControlY; var rightControlX; var rightControlY; var prevPoint = pointsCopy[i - 1]; var nextPoint = pointsCopy[i + 1]; var x1; var x2; var y1; var y2; var a; var b; var c; var xc; var yc; var shift; if (!i || i === pointsCopy.length - 1) { bezierPoints.push(curPoint, curPoint); return } var xCur = curPoint.x; var yCur = curPoint.y; x1 = prevPoint.x; x2 = nextPoint.x; y1 = prevPoint.y; y2 = nextPoint.y; var curIsExtremum = !!(!rotated && (yCur <= prevPoint.y && yCur <= nextPoint.y || yCur >= prevPoint.y && yCur >= nextPoint.y) || rotated && (xCur <= prevPoint.x && xCur <= nextPoint.x || xCur >= prevPoint.x && xCur >= nextPoint.x)); if (curIsExtremum) { if (!rotated) { rightControlY = leftControlY = yCur; rightControlX = (xCur + nextPoint.x) / 2; leftControlX = (xCur + prevPoint.x) / 2 } else { rightControlX = leftControlX = xCur; rightControlY = (yCur + nextPoint.y) / 2; leftControlY = (yCur + prevPoint.y) / 2 } } else { a = y2 - y1; b = x1 - x2; c = y1 * x2 - x1 * y2; if (!rotated) { if (!b) { bezierPoints.push(curPoint, curPoint, curPoint); return } xc = xCur; yc = -1 * (a * xc + c) / b; shift = yc - yCur; y1 -= shift; y2 -= shift } else { if (!a) { bezierPoints.push(curPoint, curPoint, curPoint); return } yc = yCur; xc = -1 * (b * yc + c) / a; shift = xc - xCur; x1 -= shift; x2 -= shift } rightControlX = (xCur + .5 * x2) / 1.5; rightControlY = (yCur + .5 * y2) / 1.5; leftControlX = (xCur + .5 * x1) / 1.5; leftControlY = (yCur + .5 * y1) / 1.5 } if (!rotated) { leftControlY = checkExtremum(prevPoint.y, yCur, leftControlY); rightControlY = checkExtremum(nextPoint.y, yCur, rightControlY) } else { leftControlX = checkExtremum(prevPoint.x, xCur, leftControlX); rightControlX = checkExtremum(nextPoint.x, xCur, rightControlX) } var leftPoint = clonePoint(curPoint, leftControlX, leftControlY); var rightPoint = clonePoint(curPoint, rightControlX, rightControlY); bezierPoints.push(leftPoint, curPoint, rightPoint) })) } else { bezierPoints.push(pointsCopy[0]) } return bezierPoints }, _prepareSegment: function(points, rotated) { return lineSeries._prepareSegment(this._calculateBezierPoints(points, rotated)) }, _createMainElement: function(points, settings) { return this._renderer.path(points, "bezier").attr(settings) }, getSeriesPairCoord: function(coord, isArgument) { var oppositeCoord = null; var isOpposite = !isArgument && !this._options.rotated || isArgument && this._options.rotated; var coordName = !isOpposite ? "vx" : "vy"; var bezierCoordName = !isOpposite ? "x" : "y"; var oppositeCoordName = !isOpposite ? "vy" : "vx"; var bezierOppositeCoordName = !isOpposite ? "y" : "x"; var axis = !isArgument ? this.getArgumentAxis() : this.getValueAxis(); var visibleArea = axis.getVisibleArea(); var nearestPoints = this._getNearestPointsByCoord(coord, isArgument); var _loop = function() { var p = nearestPoints[i]; if (1 === p.length) { visibleArea[0] <= p[0][oppositeCoordName] && visibleArea[1] >= p[0][oppositeCoordName] && (oppositeCoord = p[0][oppositeCoordName]) } else { var ts = function(p, p0, p1, p2, p3) { var d = p0 - p; var c = 3 * p1 - 3 * p0; var b = 3 * p2 - 6 * p1 + 3 * p0; var a = p3 - 3 * p2 + 3 * p1 - p0; return (0, _math.solveCubicEquation)(a, b, c, d) }(coord, p[0][coordName], p[1][bezierCoordName], p[2][bezierCoordName], p[3][coordName]); ts.forEach((function(t) { if (t >= 0 && t <= 1) { var tmpCoord = Math.pow(1 - t, 3) * p[0][oppositeCoordName] + 3 * Math.pow(1 - t, 2) * t * p[1][bezierOppositeCoordName] + 3 * (1 - t) * t * t * p[2][bezierOppositeCoordName] + t * t * t * p[3][oppositeCoordName]; if (visibleArea[0] <= tmpCoord && visibleArea[1] >= tmpCoord) { oppositeCoord = tmpCoord } } })) } if (null !== oppositeCoord) { return "break" } }; for (var i = 0; i < nearestPoints.length; i++) { var _ret = _loop(); if ("break" === _ret) { break } } return oppositeCoord }, _getNearestPoints: function(point, nextPoint, bezierPoints) { var index = bezierPoints.indexOf(point); return [point, bezierPoints[index + 1], bezierPoints[index + 2], nextPoint] }, _getBezierPoints: function() { return this._segments.length > 0 ? this._segments.reduce((function(a, seg) { return a.concat(seg.line) }), []) : [] } }); polar.line = (0, _extend.extend)({}, _scatter_series.polar, lineMethods, { _sortPoints: function(points) { return points }, _prepareSegment: function(points, rotated, lastSegment) { var preparedPoints = []; var centerPoint = this.getValueAxis().getCenter(); var i; lastSegment && this._closeSegment(points); if ("discrete" !== this.argumentAxisType && "discrete" !== this.valueAxisType) { for (i = 1; i < points.length; i++) { preparedPoints = preparedPoints.concat(this._getTangentPoints(points[i], points[i - 1], centerPoint, i === points.length - 1)) } if (!preparedPoints.length) { preparedPoints = points } } else { return lineSeries._prepareSegment.call(this, points) } return { line: preparedPoints } }, _getRemainingAngle: function(angle) { var normAngle = (0, _utils.normalizeAngle)(angle); return angle >= 0 ? 360 - normAngle : -normAngle }, _closeSegment: function(points) { var point; if (this._segments.length) { point = this._segments[0].line[0] } else { point = clonePoint(points[0], points[0].x, points[0].y, points[0].angle) } point = this._modifyReflectedPoint(point, points[points.length - 1]); if (point) { points.push(point) } }, _modifyReflectedPoint: function(point, lastPoint) { if (lastPoint.angle === point.angle) { return } if ((0, _utils.normalizeAngle)(round(lastPoint.angle)) === (0, _utils.normalizeAngle)(round(point.angle))) { point.angle = lastPoint.angle } else { var differenceAngle = lastPoint.angle - point.angle; point.angle = lastPoint.angle + this._getRemainingAngle(differenceAngle) } return point }, _getTangentPoints: function(point, prevPoint, centerPoint, isLastSegment) { var tangentPoints = []; var betweenAngle = Math.round(prevPoint.angle - point.angle); var tan = (prevPoint.radius - point.radius) / betweenAngle; var i; if (0 === betweenAngle) { tangentPoints = [prevPoint, point] } else if (betweenAngle > 0) { var angle = isLastSegment ? betweenAngle : betweenAngle - 1; for (i = angle; i >= 0; i--) { tangentPoints.push(getTangentPoint(point, prevPoint, centerPoint, tan, i)) } } else { var _angle = isLastSegment ? betweenAngle : betweenAngle + 1; for (i = 0; i >= _angle; i--) { tangentPoints.push(getTangentPoint(point, prevPoint, centerPoint, tan, betweenAngle - i)) } } return tangentPoints }, getSeriesPairCoord: function(params, isArgument) { var argAxis = this.getArgumentAxis(); var paramName = isArgument ? "angle" : "radius"; var coordParam = params[paramName]; var centerPoint = argAxis.getCenter(); var isInsideInterval = function(prevPoint, point, _ref) { var x = _ref.x, y = _ref.y; return (p1 = { x: x, y: y }, p2 = centerPoint, sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2))) <= argAxis.getRadius() && min(prevPoint.x, point.x) <= x && max(prevPoint.x, point.x) >= x && min(prevPoint.y, point.y) <= y && max(prevPoint.y, point.y) >= y; var p1, p2 }; var coords; var neighborPoints = this.getNeighborPoints(coordParam, paramName); if (1 === neighborPoints.length) { coords = neighborPoints[0] } else if (neighborPoints.length > 1) { var prevPoint = neighborPoints[0]; var point = neighborPoints[1]; if ("discrete" !== this.argumentAxisType && "discrete" !== this.valueAxisType) { var tan; var stepAngle; if (isArgument) { tan = (prevPoint.radius - point.radius) / (prevPoint.angle - point.angle); stepAngle = coordParam - point.angle } else { tan = (prevPoint.radius - point.radius) / (prevPoint.angle - point.angle); stepAngle = (coordParam - point.radius) / tan } coords = getTangentPoint(point, prevPoint, centerPoint, tan, stepAngle) } else if (isArgument) { var cosSin = (0, _utils.getCosAndSin)(-coordParam); var k1 = (point.y - prevPoint.y) / (point.x - prevPoint.x); var b1 = prevPoint.y - prevPoint.x * k1; var k2 = cosSin.sin / cosSin.cos; var b2 = centerPoint.y - k2 * centerPoint.x; var x = (b2 - b1) / (k1 - k2); var y = k1 * x + b1; if (isInsideInterval(prevPoint, point, { x: x, y: y })) { var quarter = abs((0, _math.trunc)((360 + coordParam) / 90) % 4); if (0 === quarter && x >= centerPoint.x && y <= centerPoint.y || 1 === quarter && x <= centerPoint.x && y <= centerPoint.y || 2 === quarter && x <= centerPoint.x && y >= centerPoint.y || 3 === quarter && x >= centerPoint.x && y >= centerPoint.y) { coords = { x: x, y: y } } } } else { var k = (point.y - prevPoint.y) / (point.x - prevPoint.x); var y0 = prevPoint.y - prevPoint.x * k; var a = 1 + k * k; var b = -2 * centerPoint.x + 2 * k * y0 - 2 * k * centerPoint.y; var c = -pow(coordParam, 2) + pow(y0 - centerPoint.y, 2) + pow(centerPoint.x, 2); var d = b * b - 4 * a * c; if (d >= 0) { var x1 = (-b - sqrt(d)) / (2 * a); var x2 = (-b + sqrt(d)) / (2 * a); var y1 = k * x1 + y0; var y2 = k * x2 + y0; coords = isInsideInterval(prevPoint, point, { x: x1, y: y1 }) ? { x: x1, y: y1 } : isInsideInterval(prevPoint, point, { x: x2, y: y2 }) ? { x: x2, y: y2 } : void 0 } } } return coords }, getNeighborPoints: function(param, paramName) { var points = this.getPoints(); var neighborPoints = []; if (this.getOptions().closed) { points = (0, _extend.extend)(true, [], points); var lastPoint = points[points.length - 1]; var firstPointCopy = clonePoint(points[0], points[0].x, points[0].y, points[0].angle); var lastPointCopy = clonePoint(lastPoint, lastPoint.x, lastPoint.y, lastPoint.angle); var rearwardRefPoint = this._modifyReflectedPoint(firstPointCopy, lastPoint); var forwardRefPoint = this._modifyReflectedPoint(lastPointCopy, points[0]); if (forwardRefPoint) { points.unshift(forwardRefPoint) } if (rearwardRefPoint) { points.push(rearwardRefPoint) } } for (var i = 1; i < points.length; i++) { if (points[i - 1][paramName] === param) { neighborPoints.push(points[i - 1]) } else if (points[i][paramName] === param) { neighborPoints.push(points[i]) } else if (points[i][paramName] > param && points[i - 1][paramName] < param || points[i - 1][paramName] > param && points[i][paramName] < param) { neighborPoints.push(points[i - 1]); neighborPoints.push(points[i]) } if (neighborPoints.length > 0) { break } } return neighborPoints } }) }, 80610: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/pie_series.js ***! \**********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.pie = exports.doughnut = exports.donut = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _scatter_series = __webpack_require__( /*! ./scatter_series */ 21667); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _bar_series = __webpack_require__( /*! ./bar_series */ 58821); var chartScatterSeries = _scatter_series.chart; var barSeries = _bar_series.chart.bar; var _extend = _extend2.extend; var _each = _iterator.each; var _noop = _common.noop; var _map = _utils.map; var _isFinite = isFinite; var _max = Math.max; var pie = _extend({}, barSeries, { _setGroupsSettings: function() { chartScatterSeries._setGroupsSettings.apply(this, arguments); this._labelsGroup.attr({ "pointer-events": null }) }, _createErrorBarGroup: _noop, _drawPoint: function(options) { var point = options.point; var legendCallback = this._legendCallback; chartScatterSeries._drawPoint.call(this, options); !point.isVisible() && point.setInvisibility(); point.isSelected() && legendCallback() }, _getOldPoint: function(data, oldPointsByArgument, index) { var point = (this._points || [])[index]; if (point) { oldPointsByArgument[point.argument.valueOf()] = oldPointsByArgument[point.argument.valueOf()].filter((function(p) { return p !== point })) } return point }, adjustLabels: function(moveLabelsFromCenter) { return (this._points || []).reduce((function(r, p) { if (p._label.isVisible()) { p.setLabelTrackerData(); r = p.applyWordWrap(moveLabelsFromCenter) || r; p.updateLabelCoord(moveLabelsFromCenter); return r } }), false) }, _applyElementsClipRect: _noop, getColor: _noop, areErrorBarsVisible: _noop, drawLabelsWOPoints: function() { if ("inside" === this._options.label.position) { return false } this._labelsGroup.append(this._extGroups.labelsGroup); (this._points || []).forEach((function(point) { point.drawLabel() })); return true }, getPointsCount: function() { var _this = this; return this._data.filter((function(d) { return _this._checkData(d) })).length }, setMaxPointsCount: function(count) { this._pointsCount = count }, _getCreatingPointOptions: function(data, dataIndex) { return this._getPointOptions(data, dataIndex) }, _updateOptions: function(options) { this.labelSpace = 0; this.innerRadius = "pie" === this.type ? 0 : options.innerRadius }, _checkData: function(data, skippedFields) { var base = barSeries._checkData.call(this, data, skippedFields, { value: this.getValueFields()[0] }); return this._options.paintNullPoints ? base : base && null !== data.value }, _createGroups: chartScatterSeries._createGroups, _setMarkerGroupSettings: function() { this._markersGroup.attr({ class: "dxc-markers" }) }, _getMainColor: function(data, point) { var pointsByArg = this.getPointsByArg(data.argument); var argumentIndex = point ? pointsByArg.indexOf(point) : pointsByArg.length; return this._options.mainSeriesColor(data.argument, argumentIndex, this._pointsCount) }, _getPointOptions: function(data) { return this._parsePointOptions(this._preparePointOptions(), this._options.label, data) }, _getRangeData: function() { return this._rangeData }, _createPointStyles: function(pointOptions, data, point) { var _pointOptions$color; var mainColor = (0, _utils.extractColor)(pointOptions.color, true) || this._getMainColor(data, point); var colorId = null === (_pointOptions$color = pointOptions.color) || void 0 === _pointOptions$color ? void 0 : _pointOptions$color.fillId; var hoverStyle = pointOptions.hoverStyle || {}; var selectionStyle = pointOptions.selectionStyle || {}; if (colorId) { this._turnOffHatching(hoverStyle, selectionStyle) } return { labelColor: mainColor, normal: this._parsePointStyle(pointOptions, mainColor, mainColor), hover: this._parsePointStyle(hoverStyle, colorId || mainColor, mainColor), selection: this._parsePointStyle(selectionStyle, colorId || mainColor, mainColor), legendStyles: { normal: this._createLegendState(pointOptions, mainColor), hover: this._createLegendState(hoverStyle, colorId || mainColor), selection: this._createLegendState(selectionStyle, colorId || mainColor) } } }, _getArrangeMinShownValue: function(points, total) { var minSegmentSize = this._options.minSegmentSize; var totalMinSegmentSize = 0; var totalNotMinValues = 0; total = total || points.length; _each(points, (function(_, point) { if (point.isVisible()) { if (point.normalInitialValue < minSegmentSize * total / 360) { totalMinSegmentSize += minSegmentSize } else { totalNotMinValues += point.normalInitialValue } } })); return totalMinSegmentSize < 360 ? minSegmentSize * totalNotMinValues / (360 - totalMinSegmentSize) : 0 }, _applyArrangeCorrection: function(points, minShownValue, total) { var options = this._options; var isClockWise = "anticlockwise" !== options.segmentsDirection; var shiftedAngle = _isFinite(options.startAngle) ? (0, _utils.normalizeAngle)(options.startAngle) : 0; var minSegmentSize = options.minSegmentSize; var percent; var correction = 0; var zeroTotalCorrection = 0; if (0 === total) { total = points.filter((function(el) { return el.isVisible() })).length; zeroTotalCorrection = 1 } _each(isClockWise ? points : points.concat([]).reverse(), (function(_, point) { var val = point.isVisible() ? zeroTotalCorrection || point.normalInitialValue : 0; var updatedZeroValue; if (minSegmentSize && point.isVisible() && val < minShownValue) { updatedZeroValue = minShownValue } percent = val / total; point.correctValue(correction, percent, zeroTotalCorrection + (updatedZeroValue || 0)); point.shiftedAngle = shiftedAngle; correction += updatedZeroValue || val })); this._rangeData = { val: { min: 0, max: correction } } }, _removePoint: function(point) { var points = this.getPointsByArg(point.argument); points.splice(points.indexOf(point), 1); point.dispose() }, arrangePoints: function() { var that = this; var originalPoints = that._points || []; var minSegmentSize = that._options.minSegmentSize; var minShownValue; var isAllPointsNegative = true; var i = 0; var len = originalPoints.length; while (i < len && isAllPointsNegative) { isAllPointsNegative = originalPoints[i].value <= 0; i++ } var points = that._points = _map(originalPoints, (function(point) { if (null === point.value || !isAllPointsNegative && point.value < 0) { that._removePoint(point); return null } else { return point } })); var maxValue = points.reduce((function(max, p) { return _max(max, Math.abs(p.initialValue)) }), 0); points.forEach((function(p) { p.normalInitialValue = p.initialValue / (0 !== maxValue ? maxValue : 1) })); var total = points.reduce((function(total, point) { return total + (point.isVisible() ? point.normalInitialValue : 0) }), 0); if (minSegmentSize) { minShownValue = this._getArrangeMinShownValue(points, total) } that._applyArrangeCorrection(points, minShownValue, total) }, correctPosition: function(correction, canvas) { _each(this._points, (function(_, point) { point.correctPosition(correction) })); this.setVisibleArea(canvas) }, correctRadius: function(correction) { this._points.forEach((function(point) { point.correctRadius(correction) })) }, correctLabelRadius: function(labelRadius) { this._points.forEach((function(point) { point.correctLabelRadius(labelRadius) })) }, setVisibleArea: function(canvas) { this._visibleArea = { minX: canvas.left, maxX: canvas.width - canvas.right, minY: canvas.top, maxY: canvas.height - canvas.bottom } }, _applyVisibleArea: _noop, _animate: function(firstDrawing) { var that = this; var points = that._points; var pointsCount = points && points.length; var completeFunc = function() { that._animateComplete() }; var animatePoint; if (firstDrawing) { animatePoint = function(p, i) { p.animate(i === pointsCount - 1 ? completeFunc : void 0, .7, (1 - .7) * i / (pointsCount - 1)) } } else { animatePoint = function(p, i) { p.animate(i === pointsCount - 1 ? completeFunc : void 0) } } points.forEach(animatePoint) }, getVisiblePoints: function() { return _map(this._points, (function(p) { return p.isVisible() ? p : null })) }, getPointsByKeys: function(arg, argumentIndex) { var pointsByArg = this.getPointsByArg(arg); return pointsByArg[argumentIndex] && [pointsByArg[argumentIndex]] || [] } }); exports.pie = pie; var doughnut = pie; exports.doughnut = doughnut; var donut = pie; exports.donut = donut }, 27428: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/points/bar_point.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend2 = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _symbol_point = (obj = __webpack_require__( /*! ./symbol_point */ 24894), obj && obj.__esModule ? obj : { default: obj }); var obj; var _extend = _extend2.extend; var _math = Math; var _floor = _math.floor; var _abs = _math.abs; function getLabelOrientation(point) { var initialValue = point.initialValue; var invert = point._getValTranslator().getBusinessRange().invert; var isDiscreteValue = "discrete" === point.series.valueAxisType; var isFullStacked = point.series.isFullStackedSeries(); var notAxisInverted = !isDiscreteValue && (initialValue >= 0 && !invert || initialValue < 0 && invert) || isDiscreteValue && !invert || isFullStacked; return notAxisInverted ? "top" : "bottom" } var _default = _extend({}, _symbol_point.default, { correctCoordinates: function(correctOptions) { var correction = _floor(correctOptions.offset - correctOptions.width / 2); if (this._options.rotated) { this.height = correctOptions.width; this.yCorrection = correction; this.xCorrection = null } else { this.width = correctOptions.width; this.xCorrection = correction; this.yCorrection = null } }, _calculateVisibility: function(x, y, width, height) { var _this$_getVisibleArea = this._getVisibleArea(), minX = _this$_getVisibleArea.minX, maxX = _this$_getVisibleArea.maxX, minY = _this$_getVisibleArea.minY, maxY = _this$_getVisibleArea.maxY; this.inVisibleArea = minX < x + width && maxX > x && minY < y + height && maxY > y }, _getGraphicBBox: function(location) { var bBox = { x: this.x, y: this.y, width: this.width, height: this.height }; if (location) { var isTop = "top" === location; if (!this._options.rotated) { bBox.y = isTop ? bBox.y : bBox.y + bBox.height; bBox.height = 0 } else { bBox.x = isTop ? bBox.x + bBox.width : bBox.x; bBox.width = 0 } } return bBox }, _getLabelConnector: function(location) { return this._getGraphicBBox(location) }, _getLabelPosition: function() { var position = getLabelOrientation(this); if (this._options.rotated) { position = "top" === position ? "right" : "left" } return position }, _getLabelCoords: function(label) { var coords; if (0 === this.initialValue && this.series.isFullStackedSeries()) { if (!this._options.rotated) { coords = this._getLabelCoordOfPosition(label, "top") } else { coords = this._getLabelCoordOfPosition(label, "right") } } else if ("inside" === label.getLayoutOptions().position) { coords = this._getLabelCoordOfPosition(label, "inside") } else { coords = _symbol_point.default._getLabelCoords.call(this, label) } return coords }, _drawLabel: function() { this._label.pointPosition = "inside" !== this._label.getLayoutOptions().position && getLabelOrientation(this); _symbol_point.default._drawLabel.call(this) }, hideInsideLabel: function(label, coord) { var graphicBBox = this._getGraphicBBox(); var labelBBox = label.getBoundingRect(); if (this._options.resolveLabelsOverlapping) { if ((coord.y <= graphicBBox.y && coord.y + labelBBox.height >= graphicBBox.y + graphicBBox.height || coord.x <= graphicBBox.x && coord.x + labelBBox.width >= graphicBBox.x + graphicBBox.width) && !(coord.y > graphicBBox.y + graphicBBox.height || coord.y + labelBBox.height < graphicBBox.y || coord.x > graphicBBox.x + graphicBBox.width || coord.x + labelBBox.width < graphicBBox.x)) { label.draw(false); return true } } return false }, _showForZeroValues: function() { return this._options.label.showForZeroValues || this.initialValue }, _drawMarker: function(renderer, group, animationEnabled) { var style = this._getStyle(); var r = this._options.cornerRadius; var rotated = this._options.rotated; var _that$getMarkerCoords = this.getMarkerCoords(), x = _that$getMarkerCoords.x, y = _that$getMarkerCoords.y, width = _that$getMarkerCoords.width, height = _that$getMarkerCoords.height; if (animationEnabled) { if (rotated) { width = 0; x = this.defaultX } else { height = 0; y = this.defaultY } } this.graphic = renderer.rect(x, y, width, height).attr({ rx: r, ry: r }).smartAttr(style).data({ "chart-data-point": this }).append(group) }, _getSettingsForTracker: function() { var y = this.y; var height = this.height; var x = this.x; var width = this.width; if (this._options.rotated) { if (1 === width) { width = 9; x -= 4 } } else if (1 === height) { height = 9; y -= 4 } return { x: x, y: y, width: width, height: height } }, getGraphicSettings: function() { var graphic = this.graphic; return { x: graphic.attr("x"), y: graphic.attr("y"), height: graphic.attr("height"), width: graphic.attr("width") } }, _getEdgeTooltipParams: function() { var isPositive = this.value >= 0; var xCoord; var yCoord; var invertedBusinessRange = this._getValTranslator().getBusinessRange().invert; var x = this.x, y = this.y, width = this.width, height = this.height; if (this._options.rotated) { yCoord = y + height / 2; if (invertedBusinessRange) { xCoord = isPositive ? x : x + width } else { xCoord = isPositive ? x + width : x } } else { xCoord = x + width / 2; if (invertedBusinessRange) { yCoord = isPositive ? y + height : y } else { yCoord = isPositive ? y : y + height } } return { x: xCoord, y: yCoord, offset: 0 } }, getTooltipParams: function(location) { if ("edge" === location) { return this._getEdgeTooltipParams() } var center = this.getCenterCoord(); center.offset = 0; return center }, getCenterCoord: function() { var width = this.width, height = this.height, x = this.x, y = this.y; return { x: x + width / 2, y: y + height / 2 } }, _truncateCoord: function(coord, bounds) { if (null === coord) { return coord } if (coord < bounds[0]) { return bounds[0] } if (coord > bounds[1]) { return bounds[1] } return coord }, _getErrorBarBaseEdgeLength: function() { return this._options.rotated ? this.height : this.width }, _translateErrorBars: function(argVisibleArea) { _symbol_point.default._translateErrorBars.call(this); if (this._errorBarPos < argVisibleArea[0] || this._errorBarPos > argVisibleArea[1]) { this._errorBarPos = void 0 } }, _translate: function() { var rotated = this._options.rotated; var valAxis = rotated ? "x" : "y"; var argAxis = rotated ? "y" : "x"; var valIntervalName = rotated ? "width" : "height"; var argIntervalName = rotated ? "height" : "width"; var argTranslator = this._getArgTranslator(); var valTranslator = this._getValTranslator(); var argVisibleArea = this.series.getArgumentAxis().getVisibleArea(); var valVisibleArea = this.series.getValueAxis().getVisibleArea(); var arg = argTranslator.translate(this.argument); var val = valTranslator.translate(this.value, 1); var minVal = valTranslator.translate(this.minValue, -1); this[argAxis] = arg = null === arg ? arg : arg + (this[argAxis + "Correction"] || 0); this["v" + valAxis] = val; this["v" + argAxis] = arg + this[argIntervalName] / 2; val = this._truncateCoord(val, valVisibleArea); minVal = this._truncateCoord(minVal, valVisibleArea); this[valIntervalName] = _abs(val - minVal); val = val < minVal ? val : minVal; this._calculateVisibility(rotated ? val : arg, rotated ? arg : val, this.width, this.height); this[valAxis] = null === val ? val : val + (this[valAxis + "Correction"] || 0); this["min" + valAxis.toUpperCase()] = null === minVal ? minVal : minVal + (this[valAxis + "Correction"] || 0); this["default" + valAxis.toUpperCase()] = valTranslator.translate("canvas_position_default"); this._translateErrorBars(argVisibleArea); if (this.inVisibleArea && null !== this[argAxis]) { if (this[argAxis] < argVisibleArea[0]) { this[argIntervalName] = this[argIntervalName] - (argVisibleArea[0] - this[argAxis]); this[argAxis] = argVisibleArea[0] } if (this[argAxis] + this[argIntervalName] > argVisibleArea[1]) { this[argIntervalName] = argVisibleArea[1] - this[argAxis] } } }, _updateMarker: function(animationEnabled, style) { this.graphic.smartAttr(_extend({}, style, !animationEnabled ? this.getMarkerCoords() : {})) }, getMarkerCoords: function() { var x = this.x; var y = this.y; var width = this.width; var height = this.height; var argAxis = this.series.getArgumentAxis(); var rotated = this._options.rotated; if (argAxis.getAxisPosition) { var axisOptions = argAxis.getOptions(); var edgeOffset = Math.round(axisOptions.width / 2); var argAxisPosition = argAxis.getAxisPosition(); if (axisOptions.visible) { if (!rotated) { height -= this.minY === this.defaultY && this.minY === argAxisPosition - argAxis.getAxisShift() ? edgeOffset : 0; height < 0 && (height = 0) } else { var isStartFromAxis = this.minX === this.defaultX && this.minX === argAxisPosition - argAxis.getAxisShift(); x += isStartFromAxis ? edgeOffset : 0; width -= isStartFromAxis ? edgeOffset : 0; width < 0 && (width = 0) } } } return { x: x, y: y, width: width, height: height } }, coordsIn: function(x, y) { return x >= this.x && x <= this.x + this.width && y >= this.y && y <= this.y + this.height } }); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 54497: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/points/base_point.js ***! \*****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Point = Point; var _consts = _interopRequireDefault(__webpack_require__( /*! ../../components/consts */ 32410)); var _symbol_point = _interopRequireDefault(__webpack_require__( /*! ./symbol_point */ 24894)); var _bar_point = _interopRequireDefault(__webpack_require__( /*! ./bar_point */ 27428)); var _bubble_point = _interopRequireDefault(__webpack_require__( /*! ./bubble_point */ 37440)); var _pie_point = _interopRequireDefault(__webpack_require__( /*! ./pie_point */ 85912)); var _range_symbol_point = _interopRequireDefault(__webpack_require__( /*! ./range_symbol_point */ 97319)); var _range_bar_point = _interopRequireDefault(__webpack_require__( /*! ./range_bar_point */ 73206)); var _candlestick_point = _interopRequireDefault(__webpack_require__( /*! ./candlestick_point */ 69297)); var _stock_point = _interopRequireDefault(__webpack_require__( /*! ./stock_point */ 71678)); var _polar_point = __webpack_require__( /*! ./polar_point */ 38234); var _utils = __webpack_require__( /*! ../../core/utils */ 19157); var _extend2 = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var mixins = {}; var _extend = _extend2.extend; var statesConsts = _consts.default.states; var SELECTED_STATE = statesConsts.selectedMark; var HOVER_STATE = statesConsts.hoverMark; var NORMAL_STATE = statesConsts.normalMark; var HOVER = statesConsts.hover; var NORMAL = statesConsts.normal; var SELECTION = statesConsts.selection; var pointTypes = { chart: { scatter: "symbolPoint", line: "symbolPoint", spline: "symbolPoint", stepline: "symbolPoint", stackedline: "symbolPoint", fullstackedline: "symbolPoint", stackedspline: "symbolPoint", fullstackedspline: "symbolPoint", stackedsplinearea: "symbolPoint", fullstackedsplinearea: "symbolPoint", area: "symbolPoint", splinearea: "symbolPoint", steparea: "symbolPoint", stackedarea: "symbolPoint", fullstackedarea: "symbolPoint", rangearea: "rangeSymbolPoint", bar: "barPoint", stackedbar: "barPoint", fullstackedbar: "barPoint", rangebar: "rangeBarPoint", bubble: "bubblePoint", stock: "stockPoint", candlestick: "candlestickPoint" }, pie: { pie: "piePoint", doughnut: "piePoint", donut: "piePoint" }, polar: { scatter: "polarSymbolPoint", line: "polarSymbolPoint", area: "polarSymbolPoint", bar: "polarBarPoint", stackedbar: "polarBarPoint" } }; function isNoneMode(mode) { return "none" === (0, _utils.normalizeEnum)(mode) } function Point(series, dataItem, options) { this.fullState = NORMAL_STATE; this.series = series; this.update(dataItem, options); this._viewCounters = { hover: 0, selection: 0 }; this._emptySettings = { fill: null, stroke: null, dashStyle: null, filter: null } } mixins.symbolPoint = _symbol_point.default; mixins.barPoint = _bar_point.default; mixins.bubblePoint = _bubble_point.default; mixins.piePoint = _pie_point.default; mixins.rangeSymbolPoint = _range_symbol_point.default; mixins.rangeBarPoint = _range_bar_point.default; mixins.candlestickPoint = _candlestick_point.default; mixins.stockPoint = _stock_point.default; mixins.polarSymbolPoint = _polar_point.polarSymbolPoint; mixins.polarBarPoint = _polar_point.polarBarPoint; Point.prototype = { constructor: Point, getColor: function() { if (!this.hasValue() && !this._styles.usePointCustomOptions) { this.series.customizePoint(this, this._dataItem) } return this._styles.normal.fill || this.series.getColor() }, _getStyle: function() { return this._styles[this._currentStyle || "normal"] }, update: function(dataItem, options) { this.updateOptions(options); this.updateData(dataItem) }, updateData: function(dataItem) { var argumentWasChanged = this.argument !== dataItem.argument; this.argument = this.initialArgument = this.originalArgument = dataItem.argument; this.tag = dataItem.tag; this.index = dataItem.index; this._dataItem = dataItem; this.data = dataItem.data; this.lowError = dataItem.lowError; this.highError = dataItem.highError; this.aggregationInfo = dataItem.aggregationInfo; this._updateData(dataItem, argumentWasChanged); !this.hasValue() && this.setInvisibility(); this._fillStyle(); this._updateLabelData() }, deleteMarker: function() { if (this.graphic) { this.graphic.dispose() } this.graphic = null }, draw: function(renderer, groups, animationEnabled, firstDrawing) { if (this._needDeletingOnDraw || this.series.autoHidePointMarkers && !this.isSelected()) { this.deleteMarker(); this._needDeletingOnDraw = false } if (this._needClearingOnDraw) { this.clearMarker(); this._needClearingOnDraw = false } if (!this._hasGraphic()) { this.getMarkerVisibility() && !this.series.autoHidePointMarkers && this._drawMarker(renderer, groups.markers, animationEnabled, firstDrawing) } else { this._updateMarker(animationEnabled, this._getStyle(), groups.markers) } this._drawLabel(); this._drawErrorBar(renderer, groups.errorBars, animationEnabled); return this }, _getViewStyle: function() { var state = NORMAL_STATE; var fullState = this.fullState; var styles = [NORMAL, HOVER, SELECTION, SELECTION]; if (this._viewCounters.hover) { state |= HOVER_STATE } if (this._viewCounters.selection) { state |= SELECTED_STATE } if (isNoneMode(this.getOptions().selectionMode)) { fullState &= ~SELECTED_STATE } if (isNoneMode(this.getOptions().hoverMode)) { fullState &= ~HOVER_STATE } state |= fullState; return styles[state] }, applyView: function(legendCallback) { var style = this._getViewStyle(); this._currentStyle = style; if (!this.graphic && this.getMarkerVisibility() && this.series.autoHidePointMarkers && (style === SELECTION || style === HOVER)) { this._drawMarker(this.series.getRenderer(), this.series.getMarkersGroup()) } if (this.graphic) { if (this.series.autoHidePointMarkers && style !== SELECTION && style !== HOVER) { this.deleteMarker() } else { if ("normal" === style) { this.clearMarker() } else { this.graphic.toForeground() } this._updateMarker(true, this._styles[style], void 0, legendCallback) } } }, setView: function(style) { this._viewCounters[style]++; this.applyView() }, resetView: function(style) { var viewCounters = this._viewCounters; --viewCounters[style]; if (viewCounters[style] < 0) { viewCounters[style] = 0 } this.applyView() }, releaseHoverState: function() { if (this.graphic && !this.isSelected()) { this.graphic.toBackground() } }, select: function() { this.series.selectPoint(this) }, clearSelection: function() { this.series.deselectPoint(this) }, hover: function() { this.series.hoverPoint(this) }, clearHover: function() { this.series.clearPointHover() }, showTooltip: function() { this.series.showPointTooltip(this) }, hideTooltip: function() { this.series.hidePointTooltip(this) }, _checkLabelsChanging: function(oldType, newType) { var isNewRange = ~newType.indexOf("range"); var isOldRange = ~oldType.indexOf("range"); return isOldRange && !isNewRange || !isOldRange && isNewRange }, updateOptions: function(newOptions) { if (!newOptions) { return } var oldOptions = this._options; var widgetType = newOptions.widgetType; var oldType = oldOptions && oldOptions.type; var newType = newOptions.type; var newPointTypeMixin = pointTypes[widgetType][newType]; if (oldType !== newType) { this._needDeletingOnDraw = true; this._needClearingOnDraw = false; if (oldType) { this._checkLabelsChanging(oldType, newType) && this.deleteLabel(); this._resetType(mixins[pointTypes[oldType]]) } this._setType(mixins[newPointTypeMixin]) } else { this._needDeletingOnDraw = this._checkSymbol(oldOptions, newOptions); this._needClearingOnDraw = this._checkCustomize(oldOptions, newOptions) } this._options = newOptions; this._fillStyle(); this._updateLabelOptions(newPointTypeMixin) }, translate: function() { if (this.hasValue()) { this._translate(); this.translated = true } }, _checkCustomize: function(oldOptions, newOptions) { return oldOptions.styles.usePointCustomOptions && !newOptions.styles.usePointCustomOptions }, _getCustomLabelVisibility: function() { return this._styles.useLabelCustomOptions ? !!this._options.label.visible : null }, getBoundingRect: function() { return this._getGraphicBBox() }, _resetType: function(methods) { for (var methodName in methods) { delete this[methodName] } }, _setType: function(methods) { for (var methodName in methods) { this[methodName] = methods[methodName] } }, isInVisibleArea: function() { return this.inVisibleArea }, isSelected: function() { return !!(this.fullState & SELECTED_STATE) }, isHovered: function() { return !!(this.fullState & HOVER_STATE) }, getOptions: function() { return this._options }, animate: function(complete, settings, partitionDuration) { if (!this.graphic) { complete && complete(); return } this.graphic.animate(settings, { partitionDuration: partitionDuration }, complete) }, getCoords: function(min) { if (!min) { return { x: this.x, y: this.y } } if (!this._options.rotated) { return { x: this.x, y: this.minY + (this.y - this.minY ? 0 : 1) } } return { x: this.minX - (this.x - this.minX ? 0 : 1), y: this.y } }, getDefaultCoords: function() { return !this._options.rotated ? { x: this.x, y: this.defaultY } : { x: this.defaultX, y: this.y } }, setDefaultCoords: function() { var coords = this.getDefaultCoords(); this.x = coords.x; this.y = coords.y }, _getVisibleArea: function() { return this.series.getVisibleArea() }, _getArgTranslator: function() { return this.series.getArgumentAxis().getTranslator() }, _getValTranslator: function() { return this.series.getValueAxis().getTranslator() }, isArgumentCorrect: function() { return this.series._argumentChecker(this.argument) }, isValueCorrect: function() { var valueChecker = this.series._valueChecker; return valueChecker(this.getMinValue()) && valueChecker(this.getMaxValue()) }, hasValue: function() { return null !== this.value && null !== this.minValue && this.isArgumentCorrect() && this.isValueCorrect() }, hasCoords: _common.noop, correctPosition: _common.noop, correctRadius: _common.noop, correctLabelRadius: _common.noop, getCrosshairData: _common.noop, getPointRadius: _common.noop, _populatePointShape: _common.noop, _checkSymbol: _common.noop, getMarkerCoords: _common.noop, hide: _common.noop, show: _common.noop, hideMarker: _common.noop, setInvisibility: _common.noop, clearVisibility: _common.noop, isVisible: _common.noop, resetCorrection: _common.noop, correctValue: _common.noop, resetValue: _common.noop, setPercentValue: _common.noop, correctCoordinates: _common.noop, coordsIn: _common.noop, getTooltipParams: _common.noop, applyWordWrap: _common.noop, setLabelTrackerData: _common.noop, updateLabelCoord: _common.noop, drawLabel: _common.noop, correctLabelPosition: _common.noop, getMinValue: _common.noop, getMaxValue: _common.noop, _drawErrorBar: _common.noop, getMarkerVisibility: _common.noop, dispose: function() { this.deleteMarker(); this.deleteLabel(); this._errorBar && this._errorBar.dispose(); this._options = this._styles = this.series = this._errorBar = null }, getTooltipFormatObject: function(tooltip, stackPoints) { var tooltipFormatObject = this._getFormatObject(tooltip); var sharedTooltipValuesArray = []; var tooltipStackPointsFormatObject = []; if (stackPoints) { stackPoints.forEach((function(point) { if (!point.isVisible()) { return } var formatObject = point._getFormatObject(tooltip); tooltipStackPointsFormatObject.push(formatObject); sharedTooltipValuesArray.push(formatObject.seriesName + ": " + formatObject.valueText) })); _extend(tooltipFormatObject, { points: tooltipStackPointsFormatObject, valueText: sharedTooltipValuesArray.join("\n"), stackName: this.series.getStackName() || null }) } var aggregationInfo = this.aggregationInfo; if (aggregationInfo) { var axis = this.series.getArgumentAxis(); var rangeText = axis.formatRange(aggregationInfo.intervalStart, aggregationInfo.intervalEnd, aggregationInfo.aggregationInterval, tooltip.getOptions().argumentFormat); if (rangeText) { tooltipFormatObject.valueText += "\n".concat(rangeText) } } return tooltipFormatObject }, setHole: function(holeValue, position) { var minValue = isFinite(this.minValue) ? this.minValue : 0; if ((0, _type.isDefined)(holeValue)) { if ("left" === position) { this.leftHole = this.value - holeValue; this.minLeftHole = minValue - holeValue } else { this.rightHole = this.value - holeValue; this.minRightHole = minValue - holeValue } } }, resetHoles: function() { this.leftHole = null; this.minLeftHole = null; this.rightHole = null; this.minRightHole = null }, getLabel: function() { return this._label }, getLabels: function() { return [this._label] }, getCenterCoord: function() { return { x: this.x, y: this.y } } } }, 37440: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/points/bubble_point.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend2 = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _symbol_point = (obj = __webpack_require__( /*! ./symbol_point */ 24894), obj && obj.__esModule ? obj : { default: obj }); var obj; var _extend = _extend2.extend; var _default = _extend({}, _symbol_point.default, { correctCoordinates: function(diameter) { this.bubbleSize = diameter / 2 }, _drawMarker: function(renderer, group, animationEnabled) { var attr = _extend({ translateX: this.x, translateY: this.y }, this._getStyle()); this.graphic = renderer.circle(0, 0, animationEnabled ? 0 : this.bubbleSize).smartAttr(attr).data({ "chart-data-point": this }).append(group) }, getTooltipParams: function(location) { var graphic = this.graphic; if (!graphic) { return } var height = graphic.getBBox().height; return { x: this.x, y: this.y, offset: height < 20 || "edge" === location ? height / 2 : 0 } }, _getLabelFormatObject: function() { var formatObject = _symbol_point.default._getLabelFormatObject.call(this); formatObject.size = this.initialSize; return formatObject }, _updateData: function(data) { _symbol_point.default._updateData.call(this, data); this.size = this.initialSize = data.size }, _getGraphicBBox: function() { return this._getSymbolBBox(this.x, this.y, this.bubbleSize) }, _updateMarker: function(animationEnabled, style) { if (!animationEnabled) { style = _extend({ r: this.bubbleSize, translateX: this.x, translateY: this.y }, style) } this.graphic.smartAttr(style) }, _getFormatObject: function(tooltip) { var formatObject = _symbol_point.default._getFormatObject.call(this, tooltip); formatObject.sizeText = tooltip.formatValue(this.initialSize); return formatObject }, _storeTrackerR: function() { return this.bubbleSize }, _getLabelCoords: function(label) { var coords; if ("inside" === label.getLayoutOptions().position) { coords = this._getLabelCoordOfPosition(label, "inside") } else { coords = _symbol_point.default._getLabelCoords.call(this, label) } return coords } }); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 69297: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/points/candlestick_point.js ***! \************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend2 = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _symbol_point = _interopRequireDefault(__webpack_require__( /*! ./symbol_point */ 24894)); var _bar_point = _interopRequireDefault(__webpack_require__( /*! ./bar_point */ 27428)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _math = Math; var _abs = _math.abs; var _min = _math.min; var _max = _math.max; var _round = _math.round; var _default = (0, _extend2.extend)({}, _bar_point.default, { _calculateVisibility: _symbol_point.default._calculateVisibility, _getContinuousPoints: function(openCoord, closeCoord) { var x = this.x; var createPoint = this._options.rotated ? function(x, y) { return [y, x] } : function(x, y) { return [x, y] }; var width = this.width; var highCoord = this.highY; var max = _abs(highCoord - openCoord) < _abs(highCoord - closeCoord) ? openCoord : closeCoord; var min = max === closeCoord ? openCoord : closeCoord; var points; if (min === max) { points = [].concat(createPoint(x, this.highY)).concat(createPoint(x, this.lowY)).concat(createPoint(x, this.closeY)).concat(createPoint(x - width / 2, this.closeY)).concat(createPoint(x + width / 2, this.closeY)).concat(createPoint(x, this.closeY)) } else { points = [].concat(createPoint(x, this.highY)).concat(createPoint(x, max)).concat(createPoint(x + width / 2, max)).concat(createPoint(x + width / 2, min)).concat(createPoint(x, min)).concat(createPoint(x, this.lowY)).concat(createPoint(x, min)).concat(createPoint(x - width / 2, min)).concat(createPoint(x - width / 2, max)).concat(createPoint(x, max)) } return points }, _getCrockPoints: function(y) { var x = this.x; var createPoint = this._options.rotated ? function(x, y) { return [y, x] } : function(x, y) { return [x, y] }; return [].concat(createPoint(x, this.highY)).concat(createPoint(x, this.lowY)).concat(createPoint(x, y)).concat(createPoint(x - this.width / 2, y)).concat(createPoint(x + this.width / 2, y)).concat(createPoint(x, y)) }, _getPoints: function() { var points; var closeCoord = this.closeY; var openCoord = this.openY; if (null !== closeCoord && null !== openCoord) { points = this._getContinuousPoints(openCoord, closeCoord) } else if (openCoord === closeCoord) { points = [this.x, this.highY, this.x, this.lowY] } else { points = this._getCrockPoints(null !== openCoord ? openCoord : closeCoord) } return points }, getColor: function() { return this._isReduction ? this._options.reduction.color : this._styles.normal.stroke || this.series.getColor() }, _drawMarkerInGroup: function(group, attributes, renderer) { this.graphic = renderer.path(this._getPoints(), "area").attr({ "stroke-linecap": "square" }).attr(attributes).data({ "chart-data-point": this }).sharp().append(group) }, _fillStyle: function() { var styles = this._options.styles; if (this._isReduction && this._isPositive) { this._styles = styles.reductionPositive } else if (this._isReduction) { this._styles = styles.reduction } else if (this._isPositive) { this._styles = styles.positive } else { this._styles = styles } }, _getMinTrackerWidth: function() { return 2 + 2 * this._styles.normal["stroke-width"] }, correctCoordinates: function(correctOptions) { var minWidth = this._getMinTrackerWidth(); var width = correctOptions.width; width = width < minWidth ? minWidth : width > 10 ? 10 : width; this.width = width + width % 2; this.xCorrection = correctOptions.offset }, _getMarkerGroup: function(group) { var markerGroup; if (this._isReduction && this._isPositive) { markerGroup = group.reductionPositiveMarkersGroup } else if (this._isReduction) { markerGroup = group.reductionMarkersGroup } else if (this._isPositive) { markerGroup = group.defaultPositiveMarkersGroup } else { markerGroup = group.defaultMarkersGroup } return markerGroup }, _drawMarker: function(renderer, group) { this._drawMarkerInGroup(this._getMarkerGroup(group), this._getStyle(), renderer) }, _getSettingsForTracker: function() { var highY = this.highY; var lowY = this.lowY; var rotated = this._options.rotated; var x; var y; var width; var height; if (highY === lowY) { highY = rotated ? highY + 2 : highY - 2; lowY = rotated ? lowY - 2 : lowY + 2 } if (rotated) { x = _min(lowY, highY); y = this.x - this.width / 2; width = _abs(lowY - highY); height = this.width } else { x = this.x - this.width / 2; y = _min(lowY, highY); width = this.width; height = _abs(lowY - highY) } return { x: x, y: y, width: width, height: height } }, _getGraphicBBox: function(location) { var rotated = this._options.rotated; var x = this.x; var width = this.width; var lowY = this.lowY; var highY = this.highY; if (location) { var valVisibleArea = this.series.getValueAxis().getVisibleArea(); highY = this._truncateCoord(highY, valVisibleArea); lowY = this._truncateCoord(lowY, valVisibleArea) } var bBox = { x: !rotated ? x - _round(width / 2) : lowY, y: !rotated ? highY : x - _round(width / 2), width: !rotated ? width : highY - lowY, height: !rotated ? lowY - highY : width }; if (location) { var isTop = "top" === location; if (!this._options.rotated) { bBox.y = isTop ? bBox.y : bBox.y + bBox.height; bBox.height = 0 } else { bBox.x = isTop ? bBox.x + bBox.width : bBox.x; bBox.width = 0 } } return bBox }, getTooltipParams: function(location) { if (this.graphic) { var minValue = _min(this.lowY, this.highY); var maxValue = _max(this.lowY, this.highY); var visibleArea = this._getVisibleArea(); var rotated = this._options.rotated; var minVisible = rotated ? visibleArea.minX : visibleArea.minY; var maxVisible = rotated ? visibleArea.maxX : visibleArea.maxY; var min = _max(minVisible, minValue); var max = _min(maxVisible, maxValue); var centerCoord = this.getCenterCoord(); if ("edge" === location) { centerCoord[rotated ? "x" : "y"] = rotated ? max : min } centerCoord.offset = 0; return centerCoord } }, getCenterCoord: function() { if (this.graphic) { var x; var y; var minValue = _min(this.lowY, this.highY); var maxValue = _max(this.lowY, this.highY); var visibleArea = this._getVisibleArea(); var rotated = this._options.rotated; var minVisible = rotated ? visibleArea.minX : visibleArea.minY; var maxVisible = rotated ? visibleArea.maxX : visibleArea.maxY; var min = _max(minVisible, minValue); var max = _min(maxVisible, maxValue); var center = min + (max - min) / 2; if (rotated) { y = this.x; x = center } else { x = this.x; y = center } return { x: x, y: y } } }, hasValue: function() { return null !== this.highValue && null !== this.lowValue }, hasCoords: function() { return null !== this.x && null !== this.lowY && null !== this.highY }, _translate: function() { var rotated = this._options.rotated; var valTranslator = this._getValTranslator(); var x = this._getArgTranslator().translate(this.argument); this.vx = this.vy = this.x = null === x ? x : x + (this.xCorrection || 0); this.openY = null !== this.openValue ? valTranslator.translate(this.openValue) : null; this.highY = valTranslator.translate(this.highValue); this.lowY = valTranslator.translate(this.lowValue); this.closeY = null !== this.closeValue ? valTranslator.translate(this.closeValue) : null; var centerValue = _min(this.lowY, this.highY) + _abs(this.lowY - this.highY) / 2; this._calculateVisibility(!rotated ? this.x : centerValue, !rotated ? centerValue : this.x) }, getCrosshairData: function(x, y) { var rotated = this._options.rotated; var origY = rotated ? x : y; var yValue; var argument = this.argument; var coords; var coord = "low"; if (_abs(this.lowY - origY) < _abs(this.closeY - origY)) { yValue = this.lowY } else { yValue = this.closeY; coord = "close" } if (_abs(yValue - origY) >= _abs(this.openY - origY)) { yValue = this.openY; coord = "open" } if (_abs(yValue - origY) >= _abs(this.highY - origY)) { yValue = this.highY; coord = "high" } if (rotated) { coords = { y: this.vy, x: yValue, xValue: this[coord + "Value"], yValue: argument } } else { coords = { x: this.vx, y: yValue, xValue: argument, yValue: this[coord + "Value"] } } coords.axis = this.series.axis; return coords }, _updateData: function(data) { var label = this._label; var reductionColor = this._options.reduction.color; this.value = this.initialValue = data.reductionValue; this.originalValue = data.value; this.lowValue = this.originalLowValue = data.lowValue; this.highValue = this.originalHighValue = data.highValue; this.openValue = this.originalOpenValue = data.openValue; this.closeValue = this.originalCloseValue = data.closeValue; this._isPositive = data.openValue < data.closeValue; this._isReduction = data.isReduction; if (this._isReduction) { label.setColor(reductionColor) } }, _updateMarker: function(animationEnabled, style, group) { var graphic = this.graphic; graphic.attr({ points: this._getPoints() }).smartAttr(style).sharp(); group && graphic.append(this._getMarkerGroup(group)) }, _getLabelFormatObject: function() { return { openValue: this.openValue, highValue: this.highValue, lowValue: this.lowValue, closeValue: this.closeValue, reductionValue: this.initialValue, argument: this.initialArgument, value: this.initialValue, seriesName: this.series.name, originalOpenValue: this.originalOpenValue, originalCloseValue: this.originalCloseValue, originalLowValue: this.originalLowValue, originalHighValue: this.originalHighValue, originalArgument: this.originalArgument, point: this } }, _getFormatObject: function(tooltip) { var highValue = tooltip.formatValue(this.highValue); var openValue = tooltip.formatValue(this.openValue); var closeValue = tooltip.formatValue(this.closeValue); var lowValue = tooltip.formatValue(this.lowValue); var symbolMethods = _symbol_point.default; var formatObject = symbolMethods._getFormatObject.call(this, tooltip); return (0, _extend2.extend)({}, formatObject, { valueText: "h: " + highValue + ("" !== openValue ? " o: " + openValue : "") + ("" !== closeValue ? " c: " + closeValue : "") + " l: " + lowValue, highValueText: highValue, openValueText: openValue, closeValueText: closeValue, lowValueText: lowValue }) }, getMaxValue: function() { return this.highValue }, getMinValue: function() { return this.lowValue } }); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 28318: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/points/label.js ***! \************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Label = Label; var _format_helper = (obj = __webpack_require__( /*! ../../../format_helper */ 30343), obj && obj.__esModule ? obj : { default: obj }); var obj; var _utils = __webpack_require__( /*! ../../core/utils */ 19157); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _extend = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _display_format_parser = __webpack_require__( /*! ../helpers/display_format_parser */ 10656); var _format = _format_helper.default.format; var _math = Math; var _round = _math.round; var _floor = _math.floor; var _abs = _math.abs; function getClosestCoord(point, coords) { var closestDistance = 1 / 0; var closestCoord; (0, _iterator.each)(coords, (function(_, coord) { var x = point[0] - coord[0]; var y = point[1] - coord[1]; var distance = x * x + y * y; if (distance < closestDistance) { closestDistance = distance; closestCoord = coord } })); return [_floor(closestCoord[0]), _floor(closestCoord[1])] } function getCrossCoord(rect, coord, indexOffset) { return (coord - rect[0 + indexOffset]) / (rect[2 + indexOffset] - rect[0 + indexOffset]) * (rect[3 - indexOffset] - rect[1 - indexOffset]) + rect[1 - indexOffset] } var barPointStrategy = { isLabelInside: function(labelPoint, figure) { var xc = labelPoint.x + labelPoint.width / 2; var yc = labelPoint.y + labelPoint.height / 2; return figure.x <= xc && xc <= figure.x + figure.width && figure.y <= yc && yc <= figure.y + figure.height }, prepareLabelPoints: function(bBox, rotatedBBox, isHorizontal, angle, figureCenter) { var x1 = rotatedBBox.x; var xc = x1 + rotatedBBox.width / 2; var x2 = x1 + rotatedBBox.width - 1; var y1 = rotatedBBox.y; var yc = y1 + rotatedBBox.height / 2; var y2 = y1 + rotatedBBox.height - 1; var labelPoints; var isRectangular = _abs(angle) % 90 === 0; if (figureCenter[0] > x1 && figureCenter[0] < x2) { if (isRectangular) { labelPoints = [ [figureCenter[0], _abs(figureCenter[1] - y1) < _abs(figureCenter[1] - y2) ? y1 : y2] ] } else { labelPoints = [ [figureCenter[0], getCrossCoord([x1, y1, x2, y2], figureCenter[0], 0)] ] } } else if (figureCenter[1] > y1 && figureCenter[1] < y2) { if (isRectangular) { labelPoints = [ [_abs(figureCenter[0] - x1) < _abs(figureCenter[0] - x2) ? x1 : x2, figureCenter[1]] ] } else { labelPoints = [ [getCrossCoord([x1, y1, x2, y2], figureCenter[1], 1), figureCenter[1]] ] } } else if (isRectangular) { labelPoints = [ [x1, y1], [isHorizontal ? x1 : xc, isHorizontal ? yc : y1], [x2, y1], [x1, y2], [isHorizontal ? x2 : xc, isHorizontal ? yc : y2], [x2, y2] ] } else { labelPoints = [ [xc, yc] ] } return labelPoints }, isHorizontal: function(bBox, figure) { return bBox.x > figure.x + figure.width || bBox.x + bBox.width < figure.x }, getFigureCenter: function(figure) { return [_floor(figure.x + figure.width / 2), _floor(figure.y + figure.height / 2)] }, findFigurePoint: function(figure, labelPoint) { var figureCenter = barPointStrategy.getFigureCenter(figure); var point = getClosestCoord(labelPoint, [ [figure.x, figureCenter[1]], [figureCenter[0], figure.y + figure.height], [figure.x + figure.width, figureCenter[1]], [figureCenter[0], figure.y] ]); return point }, adjustPoints: function(points) { var lineIsVertical = _abs(points[1] - points[3]) <= 1; var lineIsHorizontal = _abs(points[0] - points[2]) <= 1; if (lineIsHorizontal) { points[0] = points[2] } if (lineIsVertical) { points[1] = points[3] } return points } }; var symbolPointStrategy = { isLabelInside: function() { return false }, prepareLabelPoints: barPointStrategy.prepareLabelPoints, isHorizontal: function(bBox, figure) { return bBox.x > figure.x + figure.r || bBox.x + bBox.width < figure.x - figure.r }, getFigureCenter: function(figure) { return [figure.x, figure.y] }, findFigurePoint: function(figure, labelPoint) { var angle = Math.atan2(figure.y - labelPoint[1], labelPoint[0] - figure.x); return [_round(figure.x + figure.r * Math.cos(angle)), _round(figure.y - figure.r * Math.sin(angle))] }, adjustPoints: barPointStrategy.adjustPoints }; var piePointStrategy = { isLabelInside: function(_0, _1, isOutside) { return !isOutside }, prepareLabelPoints: function(bBox, rotatedBBox, isHorizontal, angle) { var xl = bBox.x; var xr = xl + bBox.width; var xc = xl + _round(bBox.width / 2); var yt = bBox.y; var yb = yt + bBox.height; var yc = yt + _round(bBox.height / 2); var points = [ [ [xl, yt], [xr, yt] ], [ [xr, yt], [xr, yb] ], [ [xr, yb], [xl, yb] ], [ [xl, yb], [xl, yt] ] ]; var cosSin = (0, _utils.getCosAndSin)(angle); if (0 === angle) { points = isHorizontal ? [ [xl, yc], [xr, yc] ] : [ [xc, yt], [xc, yb] ] } else { points = points.map((function(pair) { return pair.map((function(point) { return [_round((point[0] - xc) * cosSin.cos + (point[1] - yc) * cosSin.sin + xc), _round(-(point[0] - xc) * cosSin.sin + (point[1] - yc) * cosSin.cos + yc)] })) })).reduce((function(r, pair) { var point1x = pair[0][0]; var point1y = pair[0][1]; var point2x = pair[1][0]; var point2y = pair[1][1]; if (isHorizontal) { if (point1y >= yc && yc >= point2y || point1y <= yc && yc <= point2y) { r.push([(yc - point1y) * (point2x - point1x) / (point2y - point1y) + point1x, yc]) } } else if (point1x >= xc && xc >= point2x || point1x <= xc && xc <= point2x) { r.push([xc, (xc - point1x) * (point2y - point1y) / (point2x - point1x) + point1y]) } return r }), []) } return points }, isHorizontal: function(bBox, figure) { return bBox.x > figure.x || figure.x > bBox.x + bBox.width }, getFigureCenter: symbolPointStrategy.getFigureCenter, findFigurePoint: function(figure, labelPoint, isHorizontal) { if (!isHorizontal) { return [figure.x, figure.y] } var labelX = labelPoint[0]; var x = _round(figure.x + (figure.y - labelPoint[1]) / Math.tan((0, _utils.degreesToRadians)(figure.angle))); var points = [figure.x, figure.y, x, labelPoint[1]]; if (!(figure.x <= x && x <= labelX) && !(labelX <= x && x <= figure.x)) { if (_abs(figure.x - labelX) < 12) { points = [figure.x, figure.y] } else if (figure.x <= labelX) { points[2] = figure.x + 12 } else { points[2] = figure.x - 12 } } return points }, adjustPoints: function(points) { return points } }; function selectStrategy(figure) { return void 0 !== figure.angle && piePointStrategy || void 0 !== figure.r && symbolPointStrategy || barPointStrategy } function disposeItem(obj, field) { obj[field] && obj[field].dispose(); obj[field] = null } function checkBackground(background) { return background && (background.fill && "none" !== background.fill || background["stroke-width"] > 0 && background.stroke && "none" !== background.stroke) } function checkConnector(connector) { return connector && connector["stroke-width"] > 0 && connector.stroke && "none" !== connector.stroke } function Label(renderSettings) { this._renderer = renderSettings.renderer; this._container = renderSettings.labelsGroup; this._point = renderSettings.point; this._strategy = renderSettings.strategy; this._rowCount = 1 } Label.prototype = { constructor: Label, setColor: function(color) { this._color = color }, setOptions: function(options) { this._options = options }, setData: function(data) { this._data = data }, setDataField: function(fieldName, fieldValue) { this._data = this._data || {}; this._data[fieldName] = fieldValue }, getData: function() { return this._data }, setFigureToDrawConnector: function(figure) { this._figure = figure }, dispose: function() { disposeItem(this, "_group"); this._data = this._options = this._textContent = this._visible = this._insideGroup = this._text = this._background = this._connector = this._figure = null }, _setVisibility: function(value, state) { this._group && this._group.attr({ visibility: value }); this._visible = state }, isVisible: function() { return this._visible }, hide: function(holdInvisible) { this._holdVisibility = !!holdInvisible; this._hide() }, _hide: function() { this._setVisibility("hidden", false) }, show: function(holdVisible) { var correctPosition = !this._drawn; if (this._point.hasValue()) { this._holdVisibility = !!holdVisible; this._show(); correctPosition && this._point.correctLabelPosition(this) } }, _show: function() { var renderer = this._renderer; var container = this._container; var options = this._options || {}; var text = this._textContent = function(data, options) { var format = options.format; data.valueText = _format(data.value, format); data.argumentText = _format(data.argument, options.argumentFormat); if (void 0 !== data.percent) { data.percentText = _format(data.percent, { type: "percent", precision: format && format.percentPrecision }) } if (void 0 !== data.total) { data.totalText = _format(data.total, format) } if (void 0 !== data.openValue) { data.openValueText = _format(data.openValue, format) } if (void 0 !== data.closeValue) { data.closeValueText = _format(data.closeValue, format) } if (void 0 !== data.lowValue) { data.lowValueText = _format(data.lowValue, format) } if (void 0 !== data.highValue) { data.highValueText = _format(data.highValue, format) } if (void 0 !== data.reductionValue) { data.reductionValueText = _format(data.reductionValue, format) } return options.customizeText ? options.customizeText.call(data, data) : options.displayFormat ? (0, _display_format_parser.processDisplayFormat)(options.displayFormat, data) : data.valueText }(this._data, options) || null; if (text) { if (!this._group) { this._group = renderer.g().append(container); this._insideGroup = renderer.g().append(this._group); this._text = renderer.text("", 0, 0).append(this._insideGroup) } this._text.css(options.attributes ? (0, _utils.patchFontOptions)(options.attributes.font) : {}); if (checkBackground(options.background)) { this._background = this._background || renderer.rect().append(this._insideGroup).toBackground(); this._background.attr(options.background); this._color && this._background.attr({ fill: this._color }) } else { disposeItem(this, "_background") } if (checkConnector(options.connector)) { this._connector = this._connector || renderer.path([], "line").sharp().append(this._group).toBackground(); this._connector.attr(options.connector); this._color && this._connector.attr({ stroke: this._color }) } else { disposeItem(this, "_connector") } this._text.attr({ text: text, align: options.textAlignment, class: options.cssClass }); this._updateBackground(this._text.getBBox()); this._setVisibility("visible", true); this._drawn = true } else { this._hide() } }, _getLabelVisibility: function(isVisible) { return this._holdVisibility ? this.isVisible() : isVisible }, draw: function(isVisible) { if (this._getLabelVisibility(isVisible)) { this._show(); this._point && this._point.correctLabelPosition(this) } else { this._drawn = false; this._hide() } return this }, _updateBackground: function(bBox) { if (this._background) { bBox.x -= 8; bBox.y -= 4; bBox.width += 16; bBox.height += 8; this._background.attr(bBox) } this._bBoxWithoutRotation = (0, _extend.extend)({}, bBox); var rotationAngle = this._options.rotationAngle || 0; this._insideGroup.rotate(rotationAngle, bBox.x + bBox.width / 2, bBox.y + bBox.height / 2); bBox = (0, _utils.rotateBBox)(bBox, [bBox.x + bBox.width / 2, bBox.y + bBox.height / 2], -rotationAngle); this._bBox = bBox }, getFigureCenter: function() { var figure = this._figure; var strategy = this._strategy || selectStrategy(figure); return strategy.getFigureCenter(figure) }, _getConnectorPoints: function() { var figure = this._figure; var options = this._options; var strategy = this._strategy || selectStrategy(figure); var bBox = this._shiftBBox(this._bBoxWithoutRotation); var rotatedBBox = this.getBoundingRect(); var labelPoint; var points = []; var isHorizontal; if (!strategy.isLabelInside(bBox, figure, "inside" !== options.position)) { isHorizontal = strategy.isHorizontal(bBox, figure); var figureCenter = this.getFigureCenter(); points = strategy.prepareLabelPoints(bBox, rotatedBBox, isHorizontal, -options.rotationAngle || 0, figureCenter); labelPoint = getClosestCoord(figureCenter, points); points = strategy.findFigurePoint(figure, labelPoint, isHorizontal); points = points.concat(labelPoint) } return strategy.adjustPoints(points) }, fit: function(maxWidth) { var padding = this._background ? 16 : 0; var rowCountChanged = false; if (this._text) { var result = this._text.setMaxSize(maxWidth - padding, void 0, this._options); var rowCount = result.rowCount; if (0 === rowCount) { rowCount = 1 } if (rowCount !== this._rowCount) { rowCountChanged = true; this._rowCount = rowCount } result.textIsEmpty && disposeItem(this, "_background") } this._updateBackground(this._text.getBBox()); return rowCountChanged }, resetEllipsis: function() { this._text && this._text.restoreText(); this._updateBackground(this._text.getBBox()) }, setTrackerData: function(point) { this._text.data({ "chart-data-point": point }); this._background && this._background.data({ "chart-data-point": point }) }, hideInsideLabel: function(coords) { return this._point.hideInsideLabel(this, coords) }, getPoint: function() { return this._point }, shift: function(x, y) { if (this._textContent) { this._insideGroup.attr({ translateX: this._x = _round(x - this._bBox.x), translateY: this._y = _round(y - this._bBox.y) }); if (this._connector) { this._connector.attr({ points: this._getConnectorPoints() }) } } return this }, getBoundingRect: function() { return this._shiftBBox(this._bBox) }, _shiftBBox: function(bBox) { return this._textContent ? { x: bBox.x + this._x, y: bBox.y + this._y, width: bBox.width, height: bBox.height } : {} }, getLayoutOptions: function() { var options = this._options; return { alignment: options.alignment, background: checkBackground(options.background), horizontalOffset: options.horizontalOffset, verticalOffset: options.verticalOffset, radialOffset: options.radialOffset, position: options.position, connectorOffset: (checkConnector(options.connector) ? 12 : 0) + (checkBackground(options.background) ? 8 : 0) } } } }, 85912: /*!****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/points/pie_point.js ***! \****************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend2 = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _symbol_point = _interopRequireDefault(__webpack_require__( /*! ./symbol_point */ 24894)); var _utils = __webpack_require__( /*! ../../core/utils */ 19157); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _consts = _interopRequireDefault(__webpack_require__( /*! ../../components/consts */ 32410)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _extend = _extend2.extend; var _round = Math.round; var _sqrt = Math.sqrt; var _acos = Math.acos; var DEG = 180 / Math.PI; var _abs = Math.abs; var RADIAL_LABEL_INDENT = _consts.default.radialLabelIndent; var _default = _extend({}, _symbol_point.default, { _updateData: function(data, argumentChanged) { _symbol_point.default._updateData.call(this, data); if (argumentChanged || !(0, _type.isDefined)(this._visible)) { this._visible = true } this.minValue = this.initialMinValue = this.originalMinValue = (0, _type.isDefined)(data.minValue) ? data.minValue : 0 }, animate: function(complete, duration, delay) { this.graphic.animate({ x: this.centerX, y: this.centerY, outerRadius: this.radiusOuter, innerRadius: this.radiusInner, startAngle: this.toAngle, endAngle: this.fromAngle }, { delay: delay, partitionDuration: duration }, complete) }, correctPosition: function(correction) { this.correctRadius(correction); this.correctLabelRadius(correction.radiusOuter + RADIAL_LABEL_INDENT); this.centerX = correction.centerX; this.centerY = correction.centerY }, correctRadius: function(correction) { this.radiusInner = correction.radiusInner; this.radiusOuter = correction.radiusOuter }, correctLabelRadius: function(radiusLabels) { this.radiusLabels = radiusLabels }, correctValue: function(correction, percent, base) { this.value = (base || this.normalInitialValue) + correction; this.minValue = correction; this.percent = percent; this._label.setDataField("percent", percent) }, _updateLabelData: function() { this._label.setData(this._getLabelFormatObject()) }, _getShiftLabelCoords: function() { var bBox = this._label.getBoundingRect(); var coord = this._getLabelCoords(this._label); var visibleArea = this._getVisibleArea(); if (this._isLabelDrawingWithoutPoints) { return this._checkLabelPosition(coord, bBox, visibleArea) } else { return this._getLabelExtraCoord(coord, this._checkVerticalLabelPosition(coord, bBox, visibleArea), bBox) } }, _getLabelPosition: function(options) { return options.position }, getAnnotationCoords: function(location) { return this._getElementCoords("edge" !== location ? "inside" : "outside", this.radiusOuter, 0) }, _getElementCoords: function(position, elementRadius, radialOffset) { var bBox = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : { x: 0, y: 0, width: 0, height: 0 }; var that = this; var angleFunctions = (0, _utils.getCosAndSin)(that.middleAngle); var radiusInner = that.radiusInner; var radiusOuter = that.radiusOuter; var columnsPosition = "columns" === position; var rad; var x; if ("inside" === position) { rad = radiusInner + (radiusOuter - radiusInner) / 2 + radialOffset; x = that.centerX + rad * angleFunctions.cos - bBox.width / 2 } else { rad = elementRadius + radialOffset; if (angleFunctions.cos > .1 || columnsPosition && angleFunctions.cos >= 0) { x = that.centerX + rad * angleFunctions.cos } else if (angleFunctions.cos < -.1 || columnsPosition && angleFunctions.cos < 0) { x = that.centerX + rad * angleFunctions.cos - bBox.width } else { x = that.centerX + rad * angleFunctions.cos - bBox.width / 2 } } return { x: x, y: _round(that.centerY - rad * angleFunctions.sin - bBox.height / 2) } }, _getLabelCoords: function(label) { var bBox = label.getBoundingRect(); var options = label.getLayoutOptions(); var position = this._getLabelPosition(options); return this._getElementCoords(position, this.radiusLabels, options.radialOffset, bBox) }, _correctLabelCoord: function(coord, moveLabelsFromCenter) { var label = this._label; var bBox = label.getBoundingRect(); var labelWidth = bBox.width; var options = label.getLayoutOptions(); var visibleArea = this._getVisibleArea(); var rightBorderX = visibleArea.maxX - labelWidth; var leftBorderX = visibleArea.minX; var angleOfPoint = (0, _utils.normalizeAngle)(this.middleAngle); var centerX = this.centerX; var connectorOffset = options.connectorOffset; var x = coord.x; if ("columns" === options.position) { if (angleOfPoint <= 90 || angleOfPoint >= 270) { x = rightBorderX } else { x = leftBorderX } coord.x = x } else if ("inside" !== options.position && moveLabelsFromCenter) { if (angleOfPoint <= 90 || angleOfPoint >= 270) { if (x - connectorOffset < centerX) { x = centerX + connectorOffset } } else if (x + labelWidth + connectorOffset > centerX) { x = centerX - labelWidth - connectorOffset } coord.x = x } return coord }, drawLabel: function() { this.translate(); this._isLabelDrawingWithoutPoints = true; this._drawLabel(); this._isLabelDrawingWithoutPoints = false }, updateLabelCoord: function(moveLabelsFromCenter) { var bBox = this._label.getBoundingRect(); var coord = this._correctLabelCoord(bBox, moveLabelsFromCenter); coord = this._checkHorizontalLabelPosition(coord, bBox, this._getVisibleArea()); this._label.shift(_round(coord.x), _round(bBox.y)) }, _checkVerticalLabelPosition: function(coord, box, visibleArea) { var x = coord.x; var y = coord.y; if (coord.y + box.height > visibleArea.maxY) { y = visibleArea.maxY - box.height } else if (coord.y < visibleArea.minY) { y = visibleArea.minY } return { x: x, y: y } }, _getLabelExtraCoord: function(coord, shiftCoord, box) { return coord.y !== shiftCoord.y ? (0, _utils.getVerticallyShiftedAngularCoords)({ x: coord.x, y: coord.y, width: box.width, height: box.height }, shiftCoord.y - coord.y, { x: this.centerX, y: this.centerY }) : coord }, _checkHorizontalLabelPosition: function(coord, box, visibleArea) { var x = coord.x; var y = coord.y; if (coord.x + box.width > visibleArea.maxX) { x = visibleArea.maxX - box.width } else if (coord.x < visibleArea.minX) { x = visibleArea.minX } return { x: x, y: y } }, applyWordWrap: function(moveLabelsFromCenter) { var label = this._label; var box = label.getBoundingRect(); var visibleArea = this._getVisibleArea(); var position = label.getLayoutOptions().position; var width = box.width; var rowCountChanged = false; if ("columns" === position && this.series.index > 0) { width = visibleArea.maxX - this.centerX - this.radiusLabels } else if ("inside" === position) { if (width > visibleArea.maxX - visibleArea.minX) { width = visibleArea.maxX - visibleArea.minX } } else if (moveLabelsFromCenter && box.x < this.centerX && box.width + box.x > this.centerX) { width = Math.floor((visibleArea.maxX - visibleArea.minX) / 2) } else if (box.x + width > visibleArea.maxX) { width = visibleArea.maxX - box.x } else if (box.x < visibleArea.minX) { width = box.x + width - visibleArea.minX } if (width < box.width) { rowCountChanged = label.fit(width) } return rowCountChanged }, setLabelTrackerData: function() { this._label.setTrackerData(this) }, _checkLabelPosition: function(coord, bBox, visibleArea) { coord = this._checkHorizontalLabelPosition(coord, bBox, visibleArea); return this._checkVerticalLabelPosition(coord, bBox, visibleArea) }, _getLabelConnector: function() { var rad = this.radiusOuter; var seriesStyle = this._options.styles.normal; var strokeWidthBy2 = seriesStyle["stroke-width"] / 2; var borderWidth = this.series.getOptions().containerBackgroundColor === seriesStyle.stroke ? _round(strokeWidthBy2) : _round(-strokeWidthBy2); var angleFunctions = (0, _utils.getCosAndSin)(_round(this.middleAngle)); return { x: _round(this.centerX + (rad - borderWidth) * angleFunctions.cos), y: _round(this.centerY - (rad - borderWidth) * angleFunctions.sin), angle: this.middleAngle } }, _drawMarker: function(renderer, group, animationEnabled, firstDrawing) { var radiusOuter = this.radiusOuter; var radiusInner = this.radiusInner; var fromAngle = this.fromAngle; var toAngle = this.toAngle; if (animationEnabled) { radiusInner = radiusOuter = 0; if (!firstDrawing) { fromAngle = toAngle = this.shiftedAngle } } this.graphic = renderer.arc(this.centerX, this.centerY, radiusInner, radiusOuter, toAngle, fromAngle).attr({ "stroke-linejoin": "round" }).smartAttr(this._getStyle()).data({ "chart-data-point": this }).sharp().append(group) }, getTooltipParams: function() { var angleFunctions = (0, _utils.getCosAndSin)(this.middleAngle); var radiusInner = this.radiusInner; var radiusOuter = this.radiusOuter; return { x: this.centerX + (radiusInner + (radiusOuter - radiusInner) / 2) * angleFunctions.cos, y: this.centerY - (radiusInner + (radiusOuter - radiusInner) / 2) * angleFunctions.sin, offset: 0 } }, _translate: function() { var angle = this.shiftedAngle || 0; var value = this.value; var minValue = this.minValue; var translator = this._getValTranslator(); this.fromAngle = translator.translate(minValue) + angle; this.toAngle = translator.translate(value) + angle; this.middleAngle = translator.translate((value - minValue) / 2 + minValue) + angle; if (!this.isVisible()) { this.middleAngle = this.toAngle = this.fromAngle = this.fromAngle || angle } }, getMarkerVisibility: function() { return true }, _updateMarker: function(animationEnabled, style, _, callback) { if (!animationEnabled) { style = _extend({ x: this.centerX, y: this.centerY, outerRadius: this.radiusOuter, innerRadius: this.radiusInner, startAngle: this.toAngle, endAngle: this.fromAngle }, style) } this.graphic.smartAttr(style).sharp(); callback && callback() }, getLegendStyles: function() { return this._styles.legendStyles }, isInVisibleArea: function() { return true }, hide: function() { if (this._visible) { this._visible = false; this.hideTooltip(); this._options.visibilityChanged() } }, show: function() { if (!this._visible) { this._visible = true; this._options.visibilityChanged() } }, setInvisibility: function() { this._label.draw(false) }, isVisible: function() { return this._visible }, _getFormatObject: function(tooltip) { var formatObject = _symbol_point.default._getFormatObject.call(this, tooltip); var percent = this.percent; formatObject.percent = percent; formatObject.percentText = tooltip.formatValue(percent, "percent"); return formatObject }, getColor: function() { return this._styles.normal.fill }, coordsIn: function(x, y) { var lx = x - this.centerX; var ly = y - this.centerY; var r = _sqrt(lx * lx + ly * ly); var fromAngle = this.fromAngle % 360; var toAngle = this.toAngle % 360; var angle; if (r < this.radiusInner || r > this.radiusOuter || 0 === r) { return false } angle = _acos(lx / r) * DEG * (ly > 0 ? -1 : 1); if (angle < 0) { angle += 360 } if (fromAngle === toAngle && _abs(this.toAngle - this.fromAngle) > 1e-4) { return true } else { return fromAngle >= toAngle ? angle <= fromAngle && angle >= toAngle : !(angle >= fromAngle && angle <= toAngle) } } }); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 38234: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/points/polar_point.js ***! \******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.polarSymbolPoint = exports.polarBarPoint = void 0; var _extend2 = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _symbol_point = _interopRequireDefault(__webpack_require__( /*! ./symbol_point */ 24894)); var _bar_point = _interopRequireDefault(__webpack_require__( /*! ./bar_point */ 27428)); var _pie_point = _interopRequireDefault(__webpack_require__( /*! ./pie_point */ 85912)); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _utils = __webpack_require__( /*! ../../core/utils */ 19157); var _consts = _interopRequireDefault(__webpack_require__( /*! ../../components/consts */ 32410)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _extend = _extend2.extend; var _math = Math; var _max = _math.max; var RADIAL_LABEL_INDENT = _consts.default.radialLabelIndent; var polarSymbolPoint = _extend({}, _symbol_point.default, { _getLabelCoords: _pie_point.default._getLabelCoords, _getElementCoords: _pie_point.default._getElementCoords, _moveLabelOnCanvas: function(coord, visibleArea, labelBBox) { var x = coord.x; var y = coord.y; if (visibleArea.minX > x) { x = visibleArea.minX } if (visibleArea.maxX < x + labelBBox.width) { x = visibleArea.maxX - labelBBox.width } if (visibleArea.minY > y) { y = visibleArea.minY } if (visibleArea.maxY < y + labelBBox.height) { y = visibleArea.maxY - labelBBox.height } return { x: x, y: y } }, _getLabelPosition: function() { return "outside" }, _getCoords: function(argument, value) { var axis = this.series.getValueAxis(); var startAngle = axis.getAngles()[0]; var angle = this._getArgTranslator().translate(argument); var radius = this._getValTranslator().translate(value); var coords = (0, _utils.convertPolarToXY)(axis.getCenter(), axis.getAngles()[0], angle, radius); coords.angle = angle + startAngle - 90, coords.radius = radius; return coords }, _translate: function() { var center = this.series.getValueAxis().getCenter(); var coord = this._getCoords(this.argument, this.value); var translator = this._getValTranslator(); var maxRadius = translator.isInverted() ? translator.translate("canvas_position_start") : translator.translate("canvas_position_end"); var normalizedRadius = (0, _type.isDefined)(coord.radius) && coord.radius >= 0 ? coord.radius : null; this.vx = (0, _utils.normalizeAngle)(coord.angle); this.vy = this.radiusOuter = this.radiusLabels = normalizedRadius; this.radiusLabels += RADIAL_LABEL_INDENT; this.radius = normalizedRadius; this.middleAngle = -coord.angle; this.angle = -coord.angle; this.x = coord.x; this.y = coord.y; this.defaultX = this.centerX = center.x; this.defaultY = this.centerY = center.y; this._translateErrorBars(); this.inVisibleArea = this._checkRadiusForVisibleArea(normalizedRadius, maxRadius) }, _checkRadiusForVisibleArea: function(radius, maxRadius) { return (0, _type.isDefined)(radius) && radius <= maxRadius }, _translateErrorBars: function() { var errorBars = this._options.errorBars; var translator = this._getValTranslator(); if (!errorBars) { return }(0, _type.isDefined)(this.lowError) && (this._lowErrorCoord = this.centerY - translator.translate(this.lowError)); (0, _type.isDefined)(this.highError) && (this._highErrorCoord = this.centerY - translator.translate(this.highError)); this._errorBarPos = this.centerX; this._baseErrorBarPos = "stdDeviation" === errorBars.type ? this._lowErrorCoord + (this._highErrorCoord - this._lowErrorCoord) / 2 : this.centerY - this.radius }, _getTranslates: function(animationEnabled) { return animationEnabled ? this.getDefaultCoords() : { x: this.x, y: this.y } }, getDefaultCoords: function() { var cosSin = (0, _utils.getCosAndSin)(-this.angle); var radius = this._getValTranslator().translate("canvas_position_default"); var x = this.defaultX + radius * cosSin.cos; var y = this.defaultY + radius * cosSin.sin; return { x: x, y: y } }, _addLabelAlignmentAndOffset: function(label, coord) { return coord }, _checkLabelPosition: function(label, coord) { var visibleArea = this._getVisibleArea(); var graphicBBox = this._getGraphicBBox(); if (this._isPointInVisibleArea(visibleArea, graphicBBox)) { coord = this._moveLabelOnCanvas(coord, visibleArea, label.getBoundingRect()) } return coord }, _getErrorBarSettings: function(errorBarOptions, animationEnabled) { var settings = _symbol_point.default._getErrorBarSettings.call(this, errorBarOptions, animationEnabled); settings.rotate = 90 - this.angle; settings.rotateX = this.centerX; settings.rotateY = this.centerY; return settings }, getCoords: function(min) { return min ? this.getDefaultCoords() : { x: this.x, y: this.y } } }); exports.polarSymbolPoint = polarSymbolPoint; var polarBarPoint = _extend({}, _bar_point.default, { _translateErrorBars: polarSymbolPoint._translateErrorBars, _getErrorBarSettings: polarSymbolPoint._getErrorBarSettings, _moveLabelOnCanvas: polarSymbolPoint._moveLabelOnCanvas, _getLabelCoords: _pie_point.default._getLabelCoords, _getElementCoords: _pie_point.default._getElementCoords, _getLabelConnector: _pie_point.default._getLabelConnector, getTooltipParams: _pie_point.default.getTooltipParams, _getLabelPosition: _pie_point.default._getLabelPosition, _getCoords: polarSymbolPoint._getCoords, _translate: function() { var translator = this._getValTranslator(); var businessRange = translator.getBusinessRange(); var maxRadius = translator.isInverted() ? translator.translate("canvas_position_start") : translator.translate("canvas_position_end"); this.radiusInner = translator.translate(this.minValue); polarSymbolPoint._translate.call(this); if (null === this.radiusInner) { this.radiusInner = this.radius = maxRadius } else if (null === this.radius) { this.radius = this.value >= businessRange.minVisible ? maxRadius : 0 } else if (this.radius > maxRadius) { this.radius = maxRadius } this.radiusOuter = this.radiusLabels = _max(this.radiusInner, this.radius); this.radiusLabels += RADIAL_LABEL_INDENT; this.radiusInner = this.defaultRadius = _math.min(this.radiusInner, this.radius); this.middleAngle = this.angle = -(0, _utils.normalizeAngle)(this.middleAngleCorrection - this.angle) }, _checkRadiusForVisibleArea: function(radius) { return (0, _type.isDefined)(radius) || this._getValTranslator().translate(this.minValue) > 0 }, _getErrorBarBaseEdgeLength: function() { var coord = this.getMarkerCoords(); return _math.PI * coord.outerRadius * _math.abs(coord.startAngle - coord.endAngle) / 180 }, getMarkerCoords: function() { return { x: this.centerX, y: this.centerY, outerRadius: this.radiusOuter, innerRadius: this.defaultRadius, startAngle: this.middleAngle - this.interval / 2, endAngle: this.middleAngle + this.interval / 2 } }, _drawMarker: function(renderer, group, animationEnabled) { var styles = this._getStyle(); var coords = this.getMarkerCoords(); var innerRadius = coords.innerRadius; var outerRadius = coords.outerRadius; var start = this._getCoords(this.argument, "canvas_position_default"); var x = coords.x; var y = coords.y; if (animationEnabled) { innerRadius = 0; outerRadius = 0; x = start.x; y = start.y } this.graphic = renderer.arc(x, y, innerRadius, outerRadius, coords.startAngle, coords.endAngle).attr(styles).data({ "chart-data-point": this }).append(group) }, _checkLabelPosition: function(label, coord) { var visibleArea = this._getVisibleArea(); var angleFunctions = (0, _utils.getCosAndSin)(this.middleAngle); var x = this.centerX + this.defaultRadius * angleFunctions.cos; var y = this.centerY - this.defaultRadius * angleFunctions.sin; if (x > visibleArea.minX && x < visibleArea.maxX && y > visibleArea.minY && y < visibleArea.maxY) { coord = this._moveLabelOnCanvas(coord, visibleArea, label.getBoundingRect()) } return coord }, _addLabelAlignmentAndOffset: function(label, coord) { return coord }, correctCoordinates: function(correctOptions) { this.middleAngleCorrection = correctOptions.offset; this.interval = correctOptions.width }, coordsIn: function(x, y) { var val = (0, _utils.convertXYToPolar)(this.series.getValueAxis().getCenter(), x, y); var coords = this.getMarkerCoords(); var isBetweenAngles = coords.startAngle < coords.endAngle ? -val.phi >= coords.startAngle && -val.phi <= coords.endAngle : -val.phi <= coords.startAngle && -val.phi >= coords.endAngle; return val.r >= coords.innerRadius && val.r <= coords.outerRadius && isBetweenAngles } }); exports.polarBarPoint = polarBarPoint }, 73206: /*!**********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/points/range_bar_point.js ***! \**********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _extend2 = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _bar_point = _interopRequireDefault(__webpack_require__( /*! ./bar_point */ 27428)); var _range_symbol_point = _interopRequireDefault(__webpack_require__( /*! ./range_symbol_point */ 97319)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _extend = _extend2.extend; var _default = _extend({}, _bar_point.default, { deleteLabel: _range_symbol_point.default.deleteLabel, _getFormatObject: _range_symbol_point.default._getFormatObject, clearVisibility: function() { var graphic = this.graphic; if (graphic && graphic.attr("visibility")) { graphic.attr({ visibility: null }) } }, setInvisibility: function() { var graphic = this.graphic; if (graphic && "hidden" !== graphic.attr("visibility")) { graphic.attr({ visibility: "hidden" }) } this._topLabel.draw(false); this._bottomLabel.draw(false) }, getTooltipParams: function(location) { var edgeLocation = "edge" === location; var x; var y; if (this._options.rotated) { x = edgeLocation ? this.x + this.width : this.x + this.width / 2; y = this.y + this.height / 2 } else { x = this.x + this.width / 2; y = edgeLocation ? this.y : this.y + this.height / 2 } return { x: x, y: y, offset: 0 } }, _translate: function() { var barMethods = _bar_point.default; barMethods._translate.call(this); if (this._options.rotated) { this.width = this.width || 1 } else { this.height = this.height || 1 } }, hasCoords: _range_symbol_point.default.hasCoords, _updateData: _range_symbol_point.default._updateData, _getLabelPosition: _range_symbol_point.default._getLabelPosition, _getLabelMinFormatObject: _range_symbol_point.default._getLabelMinFormatObject, _updateLabelData: _range_symbol_point.default._updateLabelData, _updateLabelOptions: _range_symbol_point.default._updateLabelOptions, getCrosshairData: _range_symbol_point.default.getCrosshairData, _createLabel: _range_symbol_point.default._createLabel, _checkOverlay: _range_symbol_point.default._checkOverlay, _checkLabelsOverlay: _range_symbol_point.default._checkLabelsOverlay, _getOverlayCorrections: _range_symbol_point.default._getOverlayCorrections, _drawLabel: _range_symbol_point.default._drawLabel, _getLabelCoords: _range_symbol_point.default._getLabelCoords, getLabel: _range_symbol_point.default.getLabel, getLabels: _range_symbol_point.default.getLabels, getBoundingRect: _common.noop, getMinValue: _range_symbol_point.default.getMinValue, getMaxValue: _range_symbol_point.default.getMaxValue }); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 97319: /*!*************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/points/range_symbol_point.js ***! \*************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _extend2 = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _label = __webpack_require__( /*! ./label */ 28318); var _symbol_point = (obj = __webpack_require__( /*! ./symbol_point */ 24894), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _extend = _extend2.extend; var _math = Math; var _abs = _math.abs; var _min = _math.min; var _max = _math.max; var _round = _math.round; var _default = _extend({}, _symbol_point.default, { deleteLabel: function() { this._topLabel.dispose(); this._topLabel = null; this._bottomLabel.dispose(); this._bottomLabel = null }, hideMarker: function(type) { var graphic = this.graphic; var marker = graphic && graphic[type + "Marker"]; var label = this["_" + type + "Label"]; if (marker && "hidden" !== marker.attr("visibility")) { marker.attr({ visibility: "hidden" }) } label.draw(false) }, setInvisibility: function() { this.hideMarker("top"); this.hideMarker("bottom") }, clearVisibility: function() { var graphic = this.graphic; var topMarker = graphic && graphic.topMarker; var bottomMarker = graphic && graphic.bottomMarker; if (topMarker && topMarker.attr("visibility")) { topMarker.attr({ visibility: null }) } if (bottomMarker && bottomMarker.attr("visibility")) { bottomMarker.attr({ visibility: null }) } }, clearMarker: function() { var graphic = this.graphic; var topMarker = graphic && graphic.topMarker; var bottomMarker = graphic && graphic.bottomMarker; var emptySettings = this._emptySettings; topMarker && topMarker.attr(emptySettings); bottomMarker && bottomMarker.attr(emptySettings) }, _getLabelPosition: function(markerType) { var position; var labelsInside = "inside" === this._options.label.position; if (!this._options.rotated) { position = "top" === markerType ^ labelsInside ? "top" : "bottom" } else { position = "top" === markerType ^ labelsInside ? "right" : "left" } return position }, _getLabelMinFormatObject: function() { return { index: 0, argument: this.initialArgument, value: this.initialMinValue, seriesName: this.series.name, originalValue: this.originalMinValue, originalArgument: this.originalArgument, point: this } }, _updateLabelData: function() { var maxFormatObject = this._getLabelFormatObject(); maxFormatObject.index = 1; this._topLabel.setData(maxFormatObject); this._bottomLabel.setData(this._getLabelMinFormatObject()) }, _updateLabelOptions: function() { var options = this._options.label; (!this._topLabel || !this._bottomLabel) && this._createLabel(); this._topLabel.setOptions(options); this._bottomLabel.setOptions(options) }, _createLabel: function() { var options = { renderer: this.series._renderer, labelsGroup: this.series._labelsGroup, point: this }; this._topLabel = new _label.Label(options); this._bottomLabel = new _label.Label(options) }, _getGraphicBBox: function(location) { var options = this._options; var images = this._getImage(options.image); var image = "top" === location ? this._checkImage(images.top) : this._checkImage(images.bottom); var bBox; var coord = this._getPositionFromLocation(location); if (options.visible) { bBox = image ? this._getImageBBox(coord.x, coord.y) : this._getSymbolBBox(coord.x, coord.y, options.styles.normal.r) } else { bBox = { x: coord.x, y: coord.y, width: 0, height: 0 } } return bBox }, _getPositionFromLocation: function(location) { var x; var y; var isTop = "top" === location; if (!this._options.rotated) { x = this.x; y = isTop ? _min(this.y, this.minY) : _max(this.y, this.minY) } else { x = isTop ? _max(this.x, this.minX) : _min(this.x, this.minX); y = this.y } return { x: x, y: y } }, _checkOverlay: function(bottomCoord, topCoord, topValue) { return bottomCoord < topCoord + topValue }, _getOverlayCorrections: function(topCoords, bottomCoords) { var rotated = this._options.rotated; var coordSelector = !rotated ? "y" : "x"; var valueSelector = !rotated ? "height" : "width"; var visibleArea = this.series.getValueAxis().getVisibleArea(); var minBound = visibleArea[0]; var maxBound = visibleArea[1]; var delta = _round((topCoords[coordSelector] + topCoords[valueSelector] - bottomCoords[coordSelector]) / 2); var coord1 = topCoords[coordSelector] - delta; var coord2 = bottomCoords[coordSelector] + delta; if (coord1 < minBound) { delta = minBound - coord1; coord1 += delta; coord2 += delta } else if (coord2 + bottomCoords[valueSelector] > maxBound) { delta = maxBound - coord2 - bottomCoords[valueSelector]; coord1 += delta; coord2 += delta } return { coord1: coord1, coord2: coord2 } }, _checkLabelsOverlay: function(topLocation) { var topCoords = this._topLabel.getBoundingRect(); var bottomCoords = this._bottomLabel.getBoundingRect(); var corrections = {}; if (!this._options.rotated) { if ("top" === topLocation) { if (this._checkOverlay(bottomCoords.y, topCoords.y, topCoords.height)) { corrections = this._getOverlayCorrections(topCoords, bottomCoords); this._topLabel.shift(topCoords.x, corrections.coord1); this._bottomLabel.shift(bottomCoords.x, corrections.coord2) } } else if (this._checkOverlay(topCoords.y, bottomCoords.y, bottomCoords.height)) { corrections = this._getOverlayCorrections(bottomCoords, topCoords); this._topLabel.shift(topCoords.x, corrections.coord2); this._bottomLabel.shift(bottomCoords.x, corrections.coord1) } } else if ("top" === topLocation) { if (this._checkOverlay(topCoords.x, bottomCoords.x, bottomCoords.width)) { corrections = this._getOverlayCorrections(bottomCoords, topCoords); this._topLabel.shift(corrections.coord2, topCoords.y); this._bottomLabel.shift(corrections.coord1, bottomCoords.y) } } else if (this._checkOverlay(bottomCoords.x, topCoords.x, topCoords.width)) { corrections = this._getOverlayCorrections(topCoords, bottomCoords); this._topLabel.shift(corrections.coord1, topCoords.y); this._bottomLabel.shift(corrections.coord2, bottomCoords.y) } }, _drawLabel: function() { var labels = []; var notInverted = this._options.rotated ? this.x >= this.minX : this.y < this.minY; var customVisibility = this._getCustomLabelVisibility(); var topLabel = this._topLabel; var bottomLabel = this._bottomLabel; topLabel.pointPosition = notInverted ? "top" : "bottom"; bottomLabel.pointPosition = notInverted ? "bottom" : "top"; if ((this.series.getLabelVisibility() || customVisibility) && this.hasValue() && false !== customVisibility) { false !== this.visibleTopMarker && labels.push(topLabel); false !== this.visibleBottomMarker && labels.push(bottomLabel); (0, _iterator.each)(labels, (function(_, label) { label.draw(true) })); this._checkLabelsOverlay(this._topLabel.pointPosition) } else { topLabel.draw(false); bottomLabel.draw(false) } }, _getImage: function(imageOption) { var image = {}; if ((0, _type.isDefined)(imageOption)) { if ("string" === typeof imageOption) { image.top = image.bottom = imageOption } else { image.top = { url: "string" === typeof imageOption.url ? imageOption.url : imageOption.url && imageOption.url.rangeMaxPoint, width: "number" === typeof imageOption.width ? imageOption.width : imageOption.width && imageOption.width.rangeMaxPoint, height: "number" === typeof imageOption.height ? imageOption.height : imageOption.height && imageOption.height.rangeMaxPoint }; image.bottom = { url: "string" === typeof imageOption.url ? imageOption.url : imageOption.url && imageOption.url.rangeMinPoint, width: "number" === typeof imageOption.width ? imageOption.width : imageOption.width && imageOption.width.rangeMinPoint, height: "number" === typeof imageOption.height ? imageOption.height : imageOption.height && imageOption.height.rangeMinPoint } } } return image }, _checkSymbol: function(oldOptions, newOptions) { var oldSymbol = oldOptions.symbol; var newSymbol = newOptions.symbol; var symbolChanged = "circle" === oldSymbol && "circle" !== newSymbol || "circle" !== oldSymbol && "circle" === newSymbol; var oldImages = this._getImage(oldOptions.image); var newImages = this._getImage(newOptions.image); var topImageChanged = this._checkImage(oldImages.top) !== this._checkImage(newImages.top); var bottomImageChanged = this._checkImage(oldImages.bottom) !== this._checkImage(newImages.bottom); return symbolChanged || topImageChanged || bottomImageChanged }, _getSettingsForTwoMarkers: function(style) { var options = this._options; var settings = {}; var x = options.rotated ? _min(this.x, this.minX) : this.x; var y = options.rotated ? this.y : _min(this.y, this.minY); var radius = style.r; var points = this._populatePointShape(options.symbol, radius); settings.top = _extend({ translateX: x + this.width, translateY: y, r: radius }, style); settings.bottom = _extend({ translateX: x, translateY: y + this.height, r: radius }, style); if (points) { settings.top.points = settings.bottom.points = points } return settings }, _hasGraphic: function() { return this.graphic && this.graphic.topMarker && this.graphic.bottomMarker }, _drawOneMarker: function(renderer, markerType, imageSettings, settings) { var graphic = this.graphic; if (graphic[markerType]) { this._updateOneMarker(markerType, settings) } else { graphic[markerType] = this._createMarker(renderer, graphic, imageSettings, settings) } }, _drawMarker: function(renderer, group, animationEnabled, firstDrawing, style) { var settings = this._getSettingsForTwoMarkers(style || this._getStyle()); var image = this._getImage(this._options.image); if (this._checkImage(image.top)) { settings.top = this._getImageSettings(settings.top, image.top) } if (this._checkImage(image.bottom)) { settings.bottom = this._getImageSettings(settings.bottom, image.bottom) } this.graphic = this.graphic || renderer.g().append(group); this.visibleTopMarker && this._drawOneMarker(renderer, "topMarker", image.top, settings.top); this.visibleBottomMarker && this._drawOneMarker(renderer, "bottomMarker", image.bottom, settings.bottom) }, _getSettingsForTracker: function(radius) { var rotated = this._options.rotated; return { translateX: rotated ? _min(this.x, this.minX) - radius : this.x - radius, translateY: rotated ? this.y - radius : _min(this.y, this.minY) - radius, width: this.width + 2 * radius, height: this.height + 2 * radius } }, isInVisibleArea: function() { var rotated = this._options.rotated; var argument = !rotated ? this.x : this.y; var maxValue = !rotated ? _max(this.minY, this.y) : _max(this.minX, this.x); var minValue = !rotated ? _min(this.minY, this.y) : _min(this.minX, this.x); var tmp; var visibleTopMarker; var visibleBottomMarker; var visibleRangeArea = true; var visibleArgArea = this.series.getArgumentAxis().getVisibleArea(); var visibleValArea = this.series.getValueAxis().getVisibleArea(); var notVisibleByArg = visibleArgArea[1] < argument || visibleArgArea[0] > argument; var notVisibleByVal = visibleValArea[0] > minValue && visibleValArea[0] > maxValue || visibleValArea[1] < minValue && visibleValArea[1] < maxValue; if (notVisibleByArg || notVisibleByVal) { visibleTopMarker = visibleBottomMarker = visibleRangeArea = false } else { visibleTopMarker = visibleValArea[0] <= minValue && visibleValArea[1] > minValue; visibleBottomMarker = visibleValArea[0] < maxValue && visibleValArea[1] >= maxValue; if (rotated) { tmp = visibleTopMarker; visibleTopMarker = visibleBottomMarker; visibleBottomMarker = tmp } } this.visibleTopMarker = visibleTopMarker; this.visibleBottomMarker = visibleBottomMarker; return visibleRangeArea }, getTooltipParams: function() { var x; var y; var rotated = this._options.rotated; var minValue = !rotated ? _min(this.y, this.minY) : _min(this.x, this.minX); var side = !rotated ? "height" : "width"; var visibleArea = this._getVisibleArea(); var minVisible = rotated ? visibleArea.minX : visibleArea.minY; var maxVisible = rotated ? visibleArea.maxX : visibleArea.maxY; var min = _max(minVisible, minValue); var max = _min(maxVisible, minValue + this[side]); if (!rotated) { x = this.x; y = min + (max - min) / 2 } else { y = this.y; x = min + (max - min) / 2 } return { x: x, y: y, offset: 0 } }, _translate: function() { var rotated = this._options.rotated; _symbol_point.default._translate.call(this); this.height = rotated ? 0 : _abs(this.minY - this.y); this.width = rotated ? _abs(this.x - this.minX) : 0 }, hasCoords: function() { return _symbol_point.default.hasCoords.call(this) && !(null === this.minX || null === this.minY) }, _updateData: function(data) { _symbol_point.default._updateData.call(this, data); this.minValue = this.initialMinValue = this.originalMinValue = data.minValue }, _getImageSettings: function(settings, image) { return { href: image.url || image.toString(), width: image.width || 20, height: image.height || 20, translateX: settings.translateX, translateY: settings.translateY } }, getCrosshairData: function(x, y) { var rotated = this._options.rotated; var minX = this.minX; var minY = this.minY; var vx = this.vx; var vy = this.vy; var value = this.value; var minValue = this.minValue; var argument = this.argument; var coords = { axis: this.series.axis, x: vx, y: vy, yValue: value, xValue: argument }; if (rotated) { coords.yValue = argument; if (_abs(vx - x) < _abs(minX - x)) { coords.xValue = value } else { coords.x = minX; coords.xValue = minValue } } else if (_abs(vy - y) >= _abs(minY - y)) { coords.y = minY; coords.yValue = minValue } return coords }, _updateOneMarker: function(markerType, settings) { this.graphic && this.graphic[markerType] && this.graphic[markerType].attr(settings) }, _updateMarker: function(animationEnabled, style) { this._drawMarker(void 0, void 0, false, false, style) }, _getFormatObject: function(tooltip) { var initialMinValue = this.initialMinValue; var initialValue = this.initialValue; var initialArgument = this.initialArgument; var minValue = tooltip.formatValue(initialMinValue); var value = tooltip.formatValue(initialValue); return { argument: initialArgument, argumentText: tooltip.formatValue(initialArgument, "argument"), valueText: minValue + " - " + value, rangeValue1Text: minValue, rangeValue2Text: value, rangeValue1: initialMinValue, rangeValue2: initialValue, seriesName: this.series.name, point: this, originalMinValue: this.originalMinValue, originalValue: this.originalValue, originalArgument: this.originalArgument } }, getLabel: function() { return [this._topLabel, this._bottomLabel] }, getLabels: function() { return [this._topLabel, this._bottomLabel] }, getBoundingRect: _common.noop, coordsIn: function(x, y) { var trackerRadius = this._storeTrackerR(); var xCond = x >= this.x - trackerRadius && x <= this.x + trackerRadius; var yCond = y >= this.y - trackerRadius && y <= this.y + trackerRadius; if (this._options.rotated) { return yCond && (xCond || x >= this.minX - trackerRadius && x <= this.minX + trackerRadius) } else { return xCond && (yCond || y >= this.minY - trackerRadius && y <= this.minY + trackerRadius) } }, getMaxValue: function() { if ("discrete" !== this.series.valueAxisType) { return this.minValue > this.value ? this.minValue : this.value } return this.value }, getMinValue: function() { if ("discrete" !== this.series.valueAxisType) { return this.minValue < this.value ? this.minValue : this.value } return this.minValue } }); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 71678: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/points/stock_point.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend2 = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _candlestick_point = (obj = __webpack_require__( /*! ./candlestick_point */ 69297), obj && obj.__esModule ? obj : { default: obj }); var obj; var _extend = _extend2.extend; var _isNumeric = _type.isNumeric; var _default = _extend({}, _candlestick_point.default, { _getPoints: function() { var createPoint = this._options.rotated ? function(x, y) { return [y, x] } : function(x, y) { return [x, y] }; var openYExist = _isNumeric(this.openY); var closeYExist = _isNumeric(this.closeY); var x = this.x; var width = this.width; var points = [].concat(createPoint(x, this.highY)); openYExist && (points = points.concat(createPoint(x, this.openY))); openYExist && (points = points.concat(createPoint(x - width / 2, this.openY))); openYExist && (points = points.concat(createPoint(x, this.openY))); closeYExist && (points = points.concat(createPoint(x, this.closeY))); closeYExist && (points = points.concat(createPoint(x + width / 2, this.closeY))); closeYExist && (points = points.concat(createPoint(x, this.closeY))); points = points.concat(createPoint(x, this.lowY)); return points }, _drawMarkerInGroup: function(group, attributes, renderer) { this.graphic = renderer.path(this._getPoints(), "line").attr({ "stroke-linecap": "square" }).attr(attributes).data({ "chart-data-point": this }).sharp().append(group) }, _getMinTrackerWidth: function() { var width = 2 + this._styles.normal["stroke-width"]; return width + width % 2 } }); exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 24894: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/points/symbol_point.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend2 = __webpack_require__( /*! ../../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../../core/utils/iterator */ 95479); var _common = __webpack_require__( /*! ../../../core/utils/common */ 20576); var _window = __webpack_require__( /*! ../../../core/utils/window */ 58201); var _label = __webpack_require__( /*! ./label */ 28318); var _type = __webpack_require__( /*! ../../../core/utils/type */ 35922); var _utils = __webpack_require__( /*! ../../core/utils */ 19157); var window = (0, _window.getWindow)(); var _extend = _extend2.extend; var _math = Math; var _round = _math.round; var _floor = _math.floor; var _ceil = _math.ceil; var _default = { deleteLabel: function() { this._label.dispose(); this._label = null }, _hasGraphic: function() { return this.graphic }, clearVisibility: function() { var graphic = this.graphic; if (graphic && graphic.attr("visibility")) { graphic.attr({ visibility: null }) } }, isVisible: function() { return this.inVisibleArea && this.series.isVisible() }, setInvisibility: function() { var graphic = this.graphic; if (graphic && "hidden" !== graphic.attr("visibility")) { graphic.attr({ visibility: "hidden" }) } this._errorBar && this._errorBar.attr({ visibility: "hidden" }); this._label.draw(false) }, clearMarker: function() { var graphic = this.graphic; graphic && graphic.attr(this._emptySettings) }, _createLabel: function() { this._label = new _label.Label({ renderer: this.series._renderer, labelsGroup: this.series._labelsGroup, point: this }) }, _calculateVisibility: function(x, y) { var _this$_getVisibleArea = this._getVisibleArea(), minX = _this$_getVisibleArea.minX, maxX = _this$_getVisibleArea.maxX, minY = _this$_getVisibleArea.minY, maxY = _this$_getVisibleArea.maxY; this.inVisibleArea = minX <= x && maxX >= x && minY <= y && maxY >= y }, _updateLabelData: function() { this._label.setData(this._getLabelFormatObject()) }, _updateLabelOptions: function() { !this._label && this._createLabel(); this._label.setOptions(this._options.label) }, _checkImage: function(image) { return (0, _type.isDefined)(image) && ("string" === typeof image || (0, _type.isDefined)(image.url)) }, _fillStyle: function() { this._styles = this._options.styles }, _checkSymbol: function(oldOptions, newOptions) { var oldSymbol = oldOptions.symbol; var newSymbol = newOptions.symbol; var symbolChanged = "circle" === oldSymbol && "circle" !== newSymbol || "circle" !== oldSymbol && "circle" === newSymbol; var imageChanged = this._checkImage(oldOptions.image) !== this._checkImage(newOptions.image); return !!(symbolChanged || imageChanged) }, _populatePointShape: function(symbol, radius) { switch (symbol) { case "square": return function(radius) { return [-radius, -radius, radius, -radius, radius, radius, -radius, radius, -radius, -radius] }(radius); case "polygon": return function(radius) { var r = _ceil(radius); return [-r, 0, 0, -r, r, 0, 0, r, -r, 0] }(radius); case "triangle": case "triangleDown": return function(radius) { return [-radius, -radius, radius, -radius, 0, radius, -radius, -radius] }(radius); case "triangleUp": return function(radius) { return [-radius, radius, radius, radius, 0, -radius, -radius, radius] }(radius); case "cross": return function(radius) { var r = _ceil(radius); var floorHalfRadius = _floor(r / 2); var ceilHalfRadius = _ceil(r / 2); return [-r, -floorHalfRadius, -floorHalfRadius, -r, 0, -ceilHalfRadius, floorHalfRadius, -r, r, -floorHalfRadius, ceilHalfRadius, 0, r, floorHalfRadius, floorHalfRadius, r, 0, ceilHalfRadius, -floorHalfRadius, r, -r, floorHalfRadius, -ceilHalfRadius, 0] }(radius) } }, hasCoords: function() { return null !== this.x && null !== this.y }, correctValue: function(correction) { var axis = this.series.getValueAxis(); if (this.hasValue()) { this.value = this.properValue = axis.validateUnit(this.initialValue.valueOf() + correction.valueOf()); this.minValue = axis.validateUnit(correction) } }, resetCorrection: function() { this.value = this.properValue = this.initialValue; this.minValue = "canvas_position_default" }, resetValue: function() { if (this.hasValue()) { this.value = this.properValue = this.initialValue = 0; this.minValue = 0; this._label.setDataField("value", this.value) } }, _getTranslates: function(animationEnabled) { var translateX = this.x; var translateY = this.y; if (animationEnabled) { if (this._options.rotated) { translateX = this.defaultX } else { translateY = this.defaultY } } return { x: translateX, y: translateY } }, _createImageMarker: function(renderer, settings, options) { var width = options.width || 20; var height = options.height || 20; return renderer.image(-_round(.5 * width), -_round(.5 * height), width, height, options.url ? options.url.toString() : options.toString(), "center").attr({ translateX: settings.translateX, translateY: settings.translateY, visibility: settings.visibility }) }, _createSymbolMarker: function(renderer, pointSettings) { var marker; var symbol = this._options.symbol; if ("circle" === symbol) { delete pointSettings.points; marker = renderer.circle().attr(pointSettings) } else if ("square" === symbol || "polygon" === symbol || "triangle" === symbol || "triangleDown" === symbol || "triangleUp" === symbol || "cross" === symbol) { marker = renderer.path([], "area").attr(pointSettings).sharp() } return marker }, _createMarker: function(renderer, group, image, settings) { var marker = this._checkImage(image) ? this._createImageMarker(renderer, settings, image) : this._createSymbolMarker(renderer, settings); if (marker) { marker.data({ "chart-data-point": this }).append(group) } return marker }, _getSymbolBBox: function(x, y, r) { return { x: x - r, y: y - r, width: 2 * r, height: 2 * r } }, _getImageBBox: function(x, y) { var image = this._options.image; var width = image.width || 20; var height = image.height || 20; return { x: x - _round(width / 2), y: y - _round(height / 2), width: width, height: height } }, _getGraphicBBox: function() { var options = this._options; var x = this.x; var y = this.y; var bBox; if (options.visible) { bBox = this._checkImage(options.image) ? this._getImageBBox(x, y) : this._getSymbolBBox(x, y, options.styles.normal.r) } else { bBox = { x: x, y: y, width: 0, height: 0 } } return bBox }, hideInsideLabel: _common.noop, _getShiftLabelCoords: function(label) { var coord = this._addLabelAlignmentAndOffset(label, this._getLabelCoords(label)); return this._checkLabelPosition(label, coord) }, _drawLabel: function() { var customVisibility = this._getCustomLabelVisibility(); var label = this._label; var isVisible = this._showForZeroValues() && this.hasValue() && false !== customVisibility && (this.series.getLabelVisibility() || customVisibility); label.draw(!!isVisible) }, correctLabelPosition: function(label) { var coord = this._getShiftLabelCoords(label); if (!this.hideInsideLabel(label, coord)) { label.setFigureToDrawConnector(this._getLabelConnector(label.pointPosition)); label.shift(_round(coord.x), _round(coord.y)) } }, _showForZeroValues: function() { return true }, _getLabelConnector: function(pointPosition) { var bBox = this._getGraphicBBox(pointPosition); var w2 = bBox.width / 2; var h2 = bBox.height / 2; return { x: bBox.x + w2, y: bBox.y + h2, r: this._options.visible ? Math.max(w2, h2) : 0 } }, _getPositionFromLocation: function() { return { x: this.x, y: this.y } }, _isPointInVisibleArea: function(visibleArea, graphicBBox) { return visibleArea.minX <= graphicBBox.x + graphicBBox.width && visibleArea.maxX >= graphicBBox.x && visibleArea.minY <= graphicBBox.y + graphicBBox.height && visibleArea.maxY >= graphicBBox.y }, _checkLabelPosition: function(label, coord) { var visibleArea = this._getVisibleArea(); var labelBBox = label.getBoundingRect(); var graphicBBox = this._getGraphicBBox(label.pointPosition); var fullGraphicBBox = this._getGraphicBBox(); var isInside = "inside" === label.getLayoutOptions().position; if (this._isPointInVisibleArea(visibleArea, fullGraphicBBox)) { if (!this._options.rotated) { if (visibleArea.minX > coord.x) { coord.x = visibleArea.minX } if (visibleArea.maxX < coord.x + labelBBox.width) { coord.x = visibleArea.maxX - labelBBox.width } if (visibleArea.minY > coord.y) { coord.y = isInside ? visibleArea.minY : graphicBBox.y + graphicBBox.height + 10 } if (visibleArea.maxY < coord.y + labelBBox.height) { coord.y = isInside ? visibleArea.maxY - labelBBox.height : graphicBBox.y - labelBBox.height - 10 } } else { if (visibleArea.minX > coord.x) { coord.x = isInside ? visibleArea.minX : graphicBBox.x + graphicBBox.width + 10 } if (visibleArea.maxX < coord.x + labelBBox.width) { coord.x = isInside ? visibleArea.maxX - labelBBox.width : graphicBBox.x - 10 - labelBBox.width } if (visibleArea.minY > coord.y) { coord.y = visibleArea.minY } if (visibleArea.maxY < coord.y + labelBBox.height) { coord.y = visibleArea.maxY - labelBBox.height } } } return coord }, _addLabelAlignmentAndOffset: function(label, coord) { var labelBBox = label.getBoundingRect(); var labelOptions = label.getLayoutOptions(); if (!this._options.rotated) { if ("left" === labelOptions.alignment) { coord.x += labelBBox.width / 2 } else if ("right" === labelOptions.alignment) { coord.x -= labelBBox.width / 2 } } coord.x += labelOptions.horizontalOffset; coord.y += labelOptions.verticalOffset; return coord }, _getLabelCoords: function(label) { return this._getLabelCoordOfPosition(label, this._getLabelPosition(label.pointPosition)) }, _getLabelCoordOfPosition: function(label, position) { var labelBBox = label.getBoundingRect(); var graphicBBox = this._getGraphicBBox(label.pointPosition); var centerY = graphicBBox.height / 2 - labelBBox.height / 2; var centerX = graphicBBox.width / 2 - labelBBox.width / 2; var x = graphicBBox.x; var y = graphicBBox.y; switch (position) { case "left": x -= labelBBox.width + 10; y += centerY; break; case "right": x += graphicBBox.width + 10; y += centerY; break; case "top": x += centerX; y -= labelBBox.height + 10; break; case "bottom": x += centerX; y += graphicBBox.height + 10; break; case "inside": x += centerX; y += centerY } return { x: x, y: y } }, _drawMarker: function(renderer, group, animationEnabled) { var options = this._options; var translates = this._getTranslates(animationEnabled); var style = this._getStyle(); this.graphic = this._createMarker(renderer, group, options.image, _extend({ translateX: translates.x, translateY: translates.y, points: this._populatePointShape(options.symbol, style.r) }, style)) }, _getErrorBarSettings: function() { return { visibility: "visible" } }, _getErrorBarBaseEdgeLength: function() { return 2 * this.getPointRadius() }, _drawErrorBar: function(renderer, group) { if (!this._options.errorBars) { return } var options = this._options; var errorBarOptions = options.errorBars; var points = []; var settings; var pos = this._errorBarPos; var high = this._highErrorCoord; var low = this._lowErrorCoord; var displayMode = (0, _utils.normalizeEnum)(errorBarOptions.displayMode); var isHighDisplayMode = "high" === displayMode; var isLowDisplayMode = "low" === displayMode; var highErrorOnly = (isHighDisplayMode || !(0, _type.isDefined)(low)) && (0, _type.isDefined)(high) && !isLowDisplayMode; var lowErrorOnly = (isLowDisplayMode || !(0, _type.isDefined)(high)) && (0, _type.isDefined)(low) && !isHighDisplayMode; var edgeLength = errorBarOptions.edgeLength; if (edgeLength <= 1 && edgeLength > 0) { edgeLength = this._getErrorBarBaseEdgeLength() * errorBarOptions.edgeLength } edgeLength = _floor(parseInt(edgeLength) / 2); highErrorOnly && (low = this._baseErrorBarPos); lowErrorOnly && (high = this._baseErrorBarPos); if ("none" !== displayMode && (0, _type.isDefined)(high) && (0, _type.isDefined)(low) && (0, _type.isDefined)(pos)) { !lowErrorOnly && points.push([pos - edgeLength, high, pos + edgeLength, high]); points.push([pos, high, pos, low]); !highErrorOnly && points.push([pos + edgeLength, low, pos - edgeLength, low]); options.rotated && (0, _iterator.each)(points, (function(_, p) { p.reverse() })); settings = this._getErrorBarSettings(errorBarOptions); if (!this._errorBar) { this._errorBar = renderer.path(points, "line").attr(settings).append(group) } else { settings.points = points; this._errorBar.attr(settings) } } else { this._errorBar && this._errorBar.attr({ visibility: "hidden" }) } }, getTooltipParams: function() { var graphic = this.graphic; return { x: this.x, y: this.y, offset: graphic ? graphic.getBBox().height / 2 : 0 } }, setPercentValue: function(absTotal, total, leftHoleTotal, rightHoleTotal) { var valuePercent = this.value / absTotal || 0; var minValuePercent = this.minValue / absTotal || 0; var percent = valuePercent - minValuePercent; this._label.setDataField("percent", percent); this._label.setDataField("total", total); if (this.series.isFullStackedSeries() && this.hasValue()) { if (this.leftHole) { this.leftHole /= absTotal - leftHoleTotal; this.minLeftHole /= absTotal - leftHoleTotal } if (this.rightHole) { this.rightHole /= absTotal - rightHoleTotal; this.minRightHole /= absTotal - rightHoleTotal } this.value = this.properValue = valuePercent; this.minValue = !minValuePercent ? this.minValue : minValuePercent } }, _storeTrackerR: function() { var navigator = window.navigator; var r = this._options.styles.normal.r; var minTrackerSize = (0, _window.hasProperty)("ontouchstart") || navigator.msPointerEnabled && navigator.msMaxTouchPoints || navigator.pointerEnabled && navigator.maxTouchPoints ? 20 : 6; this._options.trackerR = r < minTrackerSize ? minTrackerSize : r; return this._options.trackerR }, _translateErrorBars: function() { var options = this._options; var rotated = options.rotated; var errorBars = options.errorBars; var translator = this._getValTranslator(); if (!errorBars) { return }(0, _type.isDefined)(this.lowError) && (this._lowErrorCoord = translator.translate(this.lowError)); (0, _type.isDefined)(this.highError) && (this._highErrorCoord = translator.translate(this.highError)); this._errorBarPos = _floor(rotated ? this.vy : this.vx); this._baseErrorBarPos = "stdDeviation" === errorBars.type ? this._lowErrorCoord + (this._highErrorCoord - this._lowErrorCoord) / 2 : rotated ? this.vx : this.vy }, _translate: function() { var valTranslator = this._getValTranslator(); var argTranslator = this._getArgTranslator(); if (this._options.rotated) { this.vx = this.x = valTranslator.translate(this.value); this.vy = this.y = argTranslator.translate(this.argument); this.minX = valTranslator.translate(this.minValue); this.defaultX = valTranslator.translate("canvas_position_default") } else { this.vy = this.y = valTranslator.translate(this.value); this.vx = this.x = argTranslator.translate(this.argument); this.minY = valTranslator.translate(this.minValue); this.defaultY = valTranslator.translate("canvas_position_default") } this._translateErrorBars(); this._calculateVisibility(this.x, this.y) }, _updateData: function(data) { this.value = this.properValue = this.initialValue = this.originalValue = data.value; this.minValue = this.initialMinValue = this.originalMinValue = (0, _type.isDefined)(data.minValue) ? data.minValue : "canvas_position_default" }, _getImageSettings: function(image) { return { href: image.url || image.toString(), width: image.width || 20, height: image.height || 20 } }, getCrosshairData: function() { var r = this._options.rotated; var value = this.properValue; var argument = this.argument; return { x: this.vx, y: this.vy, xValue: r ? value : argument, yValue: r ? argument : value, axis: this.series.axis } }, getPointRadius: function() { var style = this._getStyle(); var options = this._options; var r = style.r; var extraSpace; var symbol = options.symbol; var isSquare = "square" === symbol; var isTriangle = "triangle" === symbol || "triangleDown" === symbol || "triangleUp" === symbol; if (options.visible && !options.image && r) { extraSpace = style["stroke-width"] / 2; return (isSquare || isTriangle ? 1.4 * r : r) + extraSpace } return 0 }, _updateMarker: function(animationEnabled, style) { var options = this._options; var settings; var image = options.image; var visibility = !this.isVisible() ? { visibility: "hidden" } : {}; if (this._checkImage(image)) { settings = _extend({}, { visibility: style.visibility }, visibility, this._getImageSettings(image)) } else { settings = _extend({}, style, visibility, { points: this._populatePointShape(options.symbol, style.r) }) } if (!animationEnabled) { settings.translateX = this.x; settings.translateY = this.y } this.graphic.attr(settings).sharp() }, _getLabelFormatObject: function() { return { argument: this.initialArgument, value: this.initialValue, originalArgument: this.originalArgument, originalValue: this.originalValue, seriesName: this.series.name, lowErrorValue: this.lowError, highErrorValue: this.highError, point: this } }, _getLabelPosition: function() { var rotated = this._options.rotated; if (this.initialValue > 0) { return rotated ? "right" : "top" } else { return rotated ? "left" : "bottom" } }, _getFormatObject: function(tooltip) { var labelFormatObject = this._label.getData(); return _extend({}, labelFormatObject, { argumentText: tooltip.formatValue(this.initialArgument, "argument"), valueText: tooltip.formatValue(this.initialValue) }, (0, _type.isDefined)(labelFormatObject.percent) ? { percentText: tooltip.formatValue(labelFormatObject.percent, "percent") } : {}, (0, _type.isDefined)(labelFormatObject.total) ? { totalText: tooltip.formatValue(labelFormatObject.total) } : {}) }, getMarkerVisibility: function() { return this._options.visible }, coordsIn: function(x, y) { var trackerRadius = this._storeTrackerR(); return x >= this.x - trackerRadius && x <= this.x + trackerRadius && y >= this.y - trackerRadius && y <= this.y + trackerRadius }, getMinValue: function(noErrorBar) { var errorBarOptions = this._options.errorBars; if (errorBarOptions && !noErrorBar) { var displayMode = errorBarOptions.displayMode; var lowValue = "high" !== displayMode && (0, _type.isDefined)(this.lowError) ? this.lowError : this.value; var highValue = "low" !== displayMode && (0, _type.isDefined)(this.highError) ? this.highError : this.value; return lowValue < highValue ? lowValue : highValue } else { return this.value } }, getMaxValue: function(noErrorBar) { var errorBarOptions = this._options.errorBars; if (errorBarOptions && !noErrorBar) { var displayMode = errorBarOptions.displayMode; var lowValue = "high" !== displayMode && (0, _type.isDefined)(this.lowError) ? this.lowError : this.value; var highValue = "low" !== displayMode && (0, _type.isDefined)(this.highError) ? this.highError : this.value; return lowValue > highValue ? lowValue : highValue } else { return this.value } } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 57402: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/range_series.js ***! \************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.chart = void 0; var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _scatter_series = __webpack_require__( /*! ./scatter_series */ 21667); var _bar_series = __webpack_require__( /*! ./bar_series */ 58821); var _area_series = __webpack_require__( /*! ./area_series */ 90048); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var _extend = _extend2.extend; var barSeries = _bar_series.chart.bar; var areaSeries = _area_series.chart.area; var chart = {}; exports.chart = chart; var baseRangeSeries = { areErrorBarsVisible: _common.noop, _createErrorBarGroup: _common.noop, _checkData: function(data, skippedFields) { var valueFields = this.getValueFields(); return _scatter_series.chart._checkData.call(this, data, skippedFields, { minValue: valueFields[0], value: valueFields[1] }) && data.minValue === data.minValue }, getValueRangeInitialValue: _scatter_series.chart.getValueRangeInitialValue, _getPointDataSelector: function(data) { var _this = this; var valueFields = this.getValueFields(); var val1Field = valueFields[0]; var val2Field = valueFields[1]; var tagField = this.getTagField(); var argumentField = this.getArgumentField(); return function(data) { return { tag: data[tagField], minValue: _this._processEmptyValue(data[val1Field]), value: _this._processEmptyValue(data[val2Field]), argument: data[argumentField], data: data } } }, _defaultAggregator: "range", _aggregators: { range: function(_ref, series) { var _data$reduce; var intervalStart = _ref.intervalStart, intervalEnd = _ref.intervalEnd, data = _ref.data; if (!data.length) { return } var valueFields = series.getValueFields(); var val1Field = valueFields[0]; var val2Field = valueFields[1]; var result = data.reduce((function(result, item) { var val1 = item[val1Field]; var val2 = item[val2Field]; if (!(0, _type.isDefined)(val1) || !(0, _type.isDefined)(val2)) { return result } result[val1Field] = Math.min(result[val1Field], Math.min(val1, val2)); result[val2Field] = Math.max(result[val2Field], Math.max(val1, val2)); return result }), (_data$reduce = {}, _defineProperty(_data$reduce, val1Field, 1 / 0), _defineProperty(_data$reduce, val2Field, -1 / 0), _defineProperty(_data$reduce, series.getArgumentField(), series._getIntervalCenter(intervalStart, intervalEnd)), _data$reduce)); if (!isFinite(result[val1Field]) || !isFinite(result[val2Field])) { if (data.filter((function(i) { return null === i[val1Field] && null === i[val2Field] })).length === data.length) { result[val1Field] = result[val2Field] = null } else { return } } return result } }, getValueFields: function() { return [this._options.rangeValue1Field || "val1", this._options.rangeValue2Field || "val2"] }, getSeriesPairCoord: function(coord, isArgument) { var oppositeCoord = null; var rotated = this._options.rotated; var isOpposite = !isArgument && !rotated || isArgument && rotated; var coordName = isOpposite ? "vy" : "vx"; var minCoordName = rotated ? "minX" : "minY"; var oppositeCoordName = isOpposite ? "vx" : "vy"; var points = this.getPoints(); for (var i = 0; i < points.length; i++) { var p = points[i]; var tmpCoord = void 0; if (isArgument) { tmpCoord = p.getCenterCoord()[coordName[1]] === coord ? p[oppositeCoordName] : void 0 } else { var coords = [Math.min(p[coordName], p[minCoordName]), Math.max(p[coordName], p[minCoordName])]; tmpCoord = coord >= coords[0] && coord <= coords[1] ? p[oppositeCoordName] : void 0 } if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) { oppositeCoord = tmpCoord; break } } return oppositeCoord } }; chart.rangebar = _extend({}, barSeries, baseRangeSeries); chart.rangearea = _extend({}, areaSeries, { _drawPoint: function(options) { var point = options.point; if (point.isInVisibleArea()) { point.clearVisibility(); point.draw(this._renderer, options.groups); this._drawnPoints.push(point); if (!point.visibleTopMarker) { point.hideMarker("top") } if (!point.visibleBottomMarker) { point.hideMarker("bottom") } } else { point.setInvisibility() } }, _prepareSegment: function(points, rotated) { var processedPoints = this._processSinglePointsAreaSegment(points, rotated); var processedMinPointsCoords = (0, _utils.map)(processedPoints, (function(pt) { return pt.getCoords(true) })); return { line: processedPoints, bottomLine: processedMinPointsCoords, area: (0, _utils.map)(processedPoints, (function(pt) { return pt.getCoords() })).concat(processedMinPointsCoords.slice().reverse()), singlePointSegment: processedPoints !== points } }, _getDefaultSegment: function(segment) { var defaultSegment = areaSeries._getDefaultSegment.call(this, segment); defaultSegment.bottomLine = defaultSegment.line; return defaultSegment }, _removeElement: function(element) { areaSeries._removeElement.call(this, element); element.bottomLine && element.bottomLine.remove() }, _drawElement: function(segment, group) { var drawnElement = areaSeries._drawElement.call(this, segment, group); drawnElement.bottomLine = this._bordersGroup && this._createBorderElement(segment.bottomLine, { "stroke-width": this._styles.normal.border["stroke-width"] }).append(this._bordersGroup); return drawnElement }, _applyStyle: function(style) { var elementsGroup = this._elementsGroup; var bordersGroup = this._bordersGroup; elementsGroup && elementsGroup.smartAttr(style.elements); bordersGroup && bordersGroup.attr(style.border); (this._graphics || []).forEach((function(graphic) { graphic.line && graphic.line.attr({ "stroke-width": style.border["stroke-width"] }); graphic.bottomLine && graphic.bottomLine.attr({ "stroke-width": style.border["stroke-width"] }) })) }, _updateElement: function(element, segment, animate, complete) { var bottomLineParams = { points: segment.bottomLine }; var bottomBorderElement = element.bottomLine; areaSeries._updateElement.apply(this, arguments); if (bottomBorderElement) { animate ? bottomBorderElement.animate(bottomLineParams) : bottomBorderElement.attr(bottomLineParams) } } }, baseRangeSeries) }, 21667: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/scatter_series.js ***! \**************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.polar = exports.chart = void 0; var _extend3 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _range_data_calculator = (obj = __webpack_require__( /*! ./helpers/range_data_calculator */ 63407), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); function _typeof(obj) { return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }, _typeof(obj) } function _defineProperty(obj, key, value) { key = function(arg) { var key = function(input, hint) { if ("object" !== _typeof(input) || null === input) { return input } var prim = input[Symbol.toPrimitive]; if (void 0 !== prim) { var res = prim.call(input, hint || "default"); if ("object" !== _typeof(res)) { return res } throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === hint ? String : Number)(input) }(arg, "string"); return "symbol" === _typeof(key) ? key : String(key) }(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }) } else { obj[key] = value } return obj } var math = Math; var _abs = math.abs; var _sqrt = math.sqrt; var _max = math.max; var VARIANCE = "variance"; var STANDARD_DEVIATION = "stddeviation"; var STANDARD_ERROR = "stderror"; var PERCENT = "percent"; var FIXED = "fixed"; var chart = {}; exports.chart = chart; var polar = {}; exports.polar = polar; function sum(array) { var result = 0; (0, _iterator.each)(array, (function(_, value) { result += value })); return result } function variance(array, expectedValue) { return sum((0, _utils.map)(array, (function(value) { return (value - expectedValue) * (value - expectedValue) }))) / array.length } function getMinMaxAggregator(compare) { return function(_ref, series) { var intervalStart = _ref.intervalStart, intervalEnd = _ref.intervalEnd, data = _ref.data; var valueField = series.getValueFields()[0]; var targetData = data[0]; targetData = data.reduce((function(result, item) { var value = item[valueField]; if (null === result[valueField]) { result = item } if (null !== value && compare(value, result[valueField])) { return item } return result }), targetData); return (0, _extend3.extend)({}, targetData, _defineProperty({}, series.getArgumentField(), series._getIntervalCenter(intervalStart, intervalEnd))) } } var baseScatterMethods = { _defaultDuration: 400, _defaultTrackerWidth: 12, _applyStyle: _common.noop, _updateOptions: _common.noop, _parseStyle: _common.noop, _prepareSegment: _common.noop, _drawSegment: _common.noop, _appendInGroup: function() { this._group.append(this._extGroups.seriesGroup) }, _createLegendState: function(styleOptions, defaultColor) { return { fill: (0, _utils.extractColor)(styleOptions.color, true) || defaultColor, hatching: styleOptions.hatching ? (0, _extend3.extend)({}, styleOptions.hatching, { direction: "right" }) : void 0 } }, _getColorId: _common.noop, _applyElementsClipRect: function(settings) { settings["clip-path"] = this._paneClipRectID }, _applyMarkerClipRect: function(settings) { settings["clip-path"] = this._forceClipping ? this._paneClipRectID : null }, _createGroup: function(groupName, parent, target, settings) { var group = parent[groupName] = parent[groupName] || this._renderer.g(); target && group.append(target); settings && group.attr(settings) }, _applyClearingSettings: function(settings) { settings.opacity = null; settings.scale = null; if (this._options.rotated) { settings.translateX = null } else { settings.translateY = null } }, _createGroups: function() { this._createGroup("_markersGroup", this, this._group); this._createGroup("_labelsGroup", this) }, _setMarkerGroupSettings: function() { var settings = this._createPointStyles(this._getMarkerGroupOptions()).normal; settings.class = "dxc-markers"; settings.opacity = 1; this._applyMarkerClipRect(settings); this._markersGroup.attr(settings) }, getVisibleArea: function() { return this._visibleArea }, areErrorBarsVisible: function() { var errorBarOptions = this._options.valueErrorBar; return errorBarOptions && this._errorBarsEnabled() && "none" !== errorBarOptions.displayMode && ((type = (0, _utils.normalizeEnum)(errorBarOptions.type), [FIXED, PERCENT, VARIANCE, STANDARD_DEVIATION, STANDARD_ERROR].includes(type)) || (0, _type.isDefined)(errorBarOptions.lowValueField) || (0, _type.isDefined)(errorBarOptions.highValueField)); var type }, groupPointsByCoords: function(rotated) { var cat = []; (0, _iterator.each)(this.getVisiblePoints(), (function(_, p) { var pointCoord = parseInt(rotated ? p.vy : p.vx); if (!cat[pointCoord]) { cat[pointCoord] = p } else { Array.isArray(cat[pointCoord]) ? cat[pointCoord].push(p) : cat[pointCoord] = [cat[pointCoord], p] } })); return cat }, _createErrorBarGroup: function(animationEnabled) { var errorBarOptions = this._options.valueErrorBar; var settings; if (this.areErrorBarsVisible()) { settings = { class: "dxc-error-bars", stroke: errorBarOptions.color, "stroke-width": errorBarOptions.lineWidth, opacity: animationEnabled ? .001 : errorBarOptions.opacity || 1, "stroke-linecap": "square", sharp: true, "clip-path": this._forceClipping ? this._paneClipRectID : this._widePaneClipRectID }; this._createGroup("_errorBarGroup", this, this._group, settings) } }, _setGroupsSettings: function(animationEnabled) { this._setMarkerGroupSettings(); this._setLabelGroupSettings(animationEnabled); this._createErrorBarGroup(animationEnabled) }, _getCreatingPointOptions: function() { var defaultPointOptions; var creatingPointOptions = this._predefinedPointOptions; var normalStyle; if (!creatingPointOptions) { defaultPointOptions = this._getPointOptions(); this._predefinedPointOptions = creatingPointOptions = (0, _extend3.extend)(true, { styles: {} }, defaultPointOptions); normalStyle = defaultPointOptions.styles && defaultPointOptions.styles.normal || {}; creatingPointOptions.styles = creatingPointOptions.styles || {}; creatingPointOptions.styles.normal = { "stroke-width": normalStyle["stroke-width"], r: normalStyle.r, opacity: normalStyle.opacity } } return creatingPointOptions }, _getPointOptions: function() { return this._parsePointOptions(this._preparePointOptions(), this._options.label) }, _getOptionsForPoint: function() { return this._options.point }, _parsePointStyle: function(style, defaultColor, defaultBorderColor, defaultSize) { var border = style.border || {}; var sizeValue = void 0 !== style.size ? style.size : defaultSize; return { fill: (0, _utils.extractColor)(style.color, true) || defaultColor, stroke: border.color || defaultBorderColor, "stroke-width": border.visible ? border.width : 0, r: sizeValue / 2 + (border.visible && 0 !== sizeValue ? ~~(border.width / 2) || 0 : 0) } }, _createPointStyles: function(pointOptions) { var mainPointColor = (0, _utils.extractColor)(pointOptions.color, true) || this._options.mainSeriesColor; var containerColor = this._options.containerBackgroundColor; var normalStyle = this._parsePointStyle(pointOptions, mainPointColor, mainPointColor); normalStyle.visibility = pointOptions.visible ? "visible" : "hidden"; return { labelColor: mainPointColor, normal: normalStyle, hover: this._parsePointStyle(pointOptions.hoverStyle, containerColor, mainPointColor, pointOptions.size), selection: this._parsePointStyle(pointOptions.selectionStyle, containerColor, mainPointColor, pointOptions.size) } }, _checkData: function(data, skippedFields, fieldsToCheck) { fieldsToCheck = fieldsToCheck || { value: this.getValueFields()[0] }; fieldsToCheck.argument = this.getArgumentField(); return function(data, fieldsToCheck, skippedFields) { var allFieldsIsValid = true; for (var field in fieldsToCheck) { var isArgument = "argument" === field; if (isArgument || "size" === field ? !(0, _type.isDefined)(data[field]) : void 0 === data[field]) { var selector = fieldsToCheck[field]; if (!isArgument) { skippedFields[selector] = (skippedFields[selector] || 0) + 1 } allFieldsIsValid = false } } return allFieldsIsValid }(data, fieldsToCheck, skippedFields || {}) && data.value === data.value }, getArgumentRangeInitialValue: function() { var points = this.getPoints(); if (this.useAggregation() && points.length) { var _points$0$aggregation, _points$aggregationIn; return { min: null === (_points$0$aggregation = points[0].aggregationInfo) || void 0 === _points$0$aggregation ? void 0 : _points$0$aggregation.intervalStart, max: null === (_points$aggregationIn = points[points.length - 1].aggregationInfo) || void 0 === _points$aggregationIn ? void 0 : _points$aggregationIn.intervalEnd } } return }, getValueRangeInitialValue: function() { return }, _getRangeData: function() { return _range_data_calculator.default.getRangeData(this) }, _getPointDataSelector: function() { var _this = this; var valueField = this.getValueFields()[0]; var argumentField = this.getArgumentField(); var tagField = this.getTagField(); var areErrorBarsVisible = this.areErrorBarsVisible(); var lowValueField; var highValueField; if (areErrorBarsVisible) { var errorBarOptions = this._options.valueErrorBar; lowValueField = errorBarOptions.lowValueField || "lowError"; highValueField = errorBarOptions.highValueField || "highError" } return function(data) { var pointData = { value: _this._processEmptyValue(data[valueField]), argument: data[argumentField], tag: data[tagField], data: data }; if (areErrorBarsVisible) { pointData.lowError = data[lowValueField]; pointData.highError = data[highValueField] } return pointData } }, _errorBarsEnabled: function() { return "discrete" !== this.valueAxisType && "logarithmic" !== this.valueAxisType && "datetime" !== this.valueType }, _drawPoint: function(options) { var point = options.point; if (point.isInVisibleArea()) { point.clearVisibility(); point.draw(this._renderer, options.groups, options.hasAnimation, options.firstDrawing); this._drawnPoints.push(point) } else { point.setInvisibility() } }, _animateComplete: function() { var animationSettings = { duration: this._defaultDuration }; this._labelsGroup && this._labelsGroup.animate({ opacity: 1 }, animationSettings); this._errorBarGroup && this._errorBarGroup.animate({ opacity: this._options.valueErrorBar.opacity || 1 }, animationSettings) }, _animate: function() { var that = this; var lastPointIndex = that._drawnPoints.length - 1; (0, _iterator.each)(that._drawnPoints || [], (function(i, p) { p.animate(i === lastPointIndex ? function() { that._animateComplete() } : void 0, { translateX: p.x, translateY: p.y }) })) }, _getIntervalCenter: function(intervalStart, intervalEnd) { var argAxis = this.getArgumentAxis(); var axisOptions = argAxis.getOptions(); if (argAxis.aggregatedPointBetweenTicks()) { return intervalStart } return "discrete" !== axisOptions.type ? argAxis.getVisualRangeCenter({ minVisible: intervalStart, maxVisible: intervalEnd }, true) : intervalStart }, _defaultAggregator: "avg", _aggregators: { avg: function(_ref2, series) { var _calculateAvgErrorBar; var data = _ref2.data, intervalStart = _ref2.intervalStart, intervalEnd = _ref2.intervalEnd; if (!data.length) { return } var valueField = series.getValueFields()[0]; var aggregationResult = data.reduce((function(result, item) { var value = item[valueField]; if ((0, _type.isDefined)(value)) { result[0] += value; result[1]++ } else if (null === value) { result[2]++ } return result }), [0, 0, 0]); return function(result, data, series) { var errorBarsOptions = series.getOptions().valueErrorBar; var valueField = series.getValueFields()[0]; var lowValueField = errorBarsOptions.lowValueField || "lowError"; var highValueField = errorBarsOptions.highValueField || "highError"; if (series.areErrorBarsVisible() && void 0 === errorBarsOptions.type) { var fusionData = data.reduce((function(result, item) { if ((0, _type.isDefined)(item[lowValueField])) { result[0] += item[valueField] - item[lowValueField]; result[1]++ } if ((0, _type.isDefined)(item[highValueField])) { result[2] += item[highValueField] - item[valueField]; result[3]++ } return result }), [0, 0, 0, 0]); if (fusionData[1]) { result[lowValueField] = result[valueField] - fusionData[0] / fusionData[1] } if (fusionData[2]) { result[highValueField] = result[valueField] + fusionData[2] / fusionData[3] } } return result }((_calculateAvgErrorBar = {}, _defineProperty(_calculateAvgErrorBar, valueField, aggregationResult[2] === data.length ? null : aggregationResult[0] / aggregationResult[1]), _defineProperty(_calculateAvgErrorBar, series.getArgumentField(), series._getIntervalCenter(intervalStart, intervalEnd)), _calculateAvgErrorBar), data, series) }, sum: function(_ref3, series) { var _calculateSumErrorBar; var intervalStart = _ref3.intervalStart, intervalEnd = _ref3.intervalEnd, data = _ref3.data; if (!data.length) { return } var valueField = series.getValueFields()[0]; var aggregationResult = data.reduce((function(result, item) { var value = item[valueField]; if (void 0 !== value) { result[0] += value } if (null === value) { result[1]++ } else if (void 0 === value) { result[2]++ } return result }), [0, 0, 0]); var value = aggregationResult[0]; if (aggregationResult[1] === data.length) { value = null } if (aggregationResult[2] === data.length) { return } return function(result, data, series) { var errorBarsOptions = series.getOptions().valueErrorBar; var lowValueField = errorBarsOptions.lowValueField || "lowError"; var highValueField = errorBarsOptions.highValueField || "highError"; if (series.areErrorBarsVisible() && void 0 === errorBarsOptions.type) { result[lowValueField] = 0; result[highValueField] = 0; result = data.reduce((function(result, item) { result[lowValueField] += item[lowValueField]; result[highValueField] += item[highValueField]; return result }), result) } return result }((_calculateSumErrorBar = {}, _defineProperty(_calculateSumErrorBar, valueField, value), _defineProperty(_calculateSumErrorBar, series.getArgumentField(), series._getIntervalCenter(intervalStart, intervalEnd)), _calculateSumErrorBar), data, series) }, count: function(_ref4, series) { var _ref5; var data = _ref4.data, intervalStart = _ref4.intervalStart, intervalEnd = _ref4.intervalEnd; var valueField = series.getValueFields()[0]; return _ref5 = {}, _defineProperty(_ref5, series.getArgumentField(), series._getIntervalCenter(intervalStart, intervalEnd)), _defineProperty(_ref5, valueField, data.filter((function(i) { return void 0 !== i[valueField] })).length), _ref5 }, min: getMinMaxAggregator((function(a, b) { return a < b })), max: getMinMaxAggregator((function(a, b) { return a > b })) }, _endUpdateData: function() { delete this._predefinedPointOptions }, getArgumentField: function() { return this._options.argumentField || "arg" }, getValueFields: function() { var options = this._options; var errorBarsOptions = options.valueErrorBar; var valueFields = [options.valueField || "val"]; var lowValueField; var highValueField; if (errorBarsOptions) { lowValueField = errorBarsOptions.lowValueField; highValueField = errorBarsOptions.highValueField; (0, _type.isString)(lowValueField) && valueFields.push(lowValueField); (0, _type.isString)(highValueField) && valueFields.push(highValueField) } return valueFields }, _calculateErrorBars: function(data) { if (!this.areErrorBarsVisible()) { return } var options = this._options; var errorBarsOptions = options.valueErrorBar; var errorBarType = (0, _utils.normalizeEnum)(errorBarsOptions.type); var floatErrorValue = parseFloat(errorBarsOptions.value); var valueField = this.getValueFields()[0]; var value; var lowValueField = errorBarsOptions.lowValueField || "lowError"; var highValueField = errorBarsOptions.highValueField || "highError"; var valueArray; var valueArrayLength; var meanValue; var processDataItem; var addSubError = function(_i, item) { value = item.value; item.lowError = value - floatErrorValue; item.highError = value + floatErrorValue }; switch (errorBarType) { case FIXED: processDataItem = addSubError; break; case PERCENT: processDataItem = function(_, item) { value = item.value; var error = value * floatErrorValue / 100; item.lowError = value - error; item.highError = value + error }; break; case "undefined": processDataItem = function(_, item) { item.lowError = item.data[lowValueField]; item.highError = item.data[highValueField] }; break; default: valueArray = (0, _utils.map)(data, (function(item) { return (0, _type.isDefined)(item.data[valueField]) ? item.data[valueField] : null })); valueArrayLength = valueArray.length; floatErrorValue = floatErrorValue || 1; switch (errorBarType) { case VARIANCE: floatErrorValue = variance(valueArray, sum(valueArray) / valueArrayLength) * floatErrorValue; processDataItem = addSubError; break; case STANDARD_DEVIATION: meanValue = sum(valueArray) / valueArrayLength; floatErrorValue = _sqrt(variance(valueArray, meanValue)) * floatErrorValue; processDataItem = function(_, item) { item.lowError = meanValue - floatErrorValue; item.highError = meanValue + floatErrorValue }; break; case STANDARD_ERROR: floatErrorValue = _sqrt(variance(valueArray, sum(valueArray) / valueArrayLength) / valueArrayLength) * floatErrorValue; processDataItem = addSubError } } processDataItem && (0, _iterator.each)(data, processDataItem) }, _patchMarginOptions: function(options) { var pointOptions = this._getCreatingPointOptions(); var styles = pointOptions.styles; var maxSize = [styles.normal, styles.hover, styles.selection].reduce((function(max, style) { return _max(max, 2 * style.r + style["stroke-width"]) }), 0); options.size = pointOptions.visible ? maxSize : 0; options.sizePointNormalState = pointOptions.visible ? 2 * styles.normal.r + styles.normal["stroke-width"] : 2; return options }, usePointsToDefineAutoHiding: function() { return true } }; exports.chart = chart = (0, _extend3.extend)({}, baseScatterMethods, { drawTrackers: function() { var that = this; var trackers; var trackersGroup; var segments = that._segments || []; var rotated = that._options.rotated; if (!that.isVisible()) { return } if (segments.length) { trackers = that._trackers = that._trackers || []; trackersGroup = that._trackersGroup = (that._trackersGroup || that._renderer.g().attr({ fill: "gray", opacity: .001, stroke: "gray", class: "dxc-trackers" })).attr({ "clip-path": this._paneClipRectID || null }).append(that._group); (0, _iterator.each)(segments, (function(i, segment) { if (!trackers[i]) { trackers[i] = that._drawTrackerElement(segment).data({ "chart-data-series": that }).append(trackersGroup) } else { that._updateTrackerElement(segment, trackers[i]) } })) } that._trackersTranslator = that.groupPointsByCoords(rotated) }, _checkAxisVisibleAreaCoord: function(isArgument, coord) { var axis = isArgument ? this.getArgumentAxis() : this.getValueAxis(); var visibleArea = axis.getVisibleArea(); return (0, _type.isDefined)(coord) && visibleArea[0] <= coord && visibleArea[1] >= coord }, checkSeriesViewportCoord: function(axis, coord) { return this.getPoints().length && this.isVisible() }, getSeriesPairCoord: function(coord, isArgument) { var oppositeCoord = null; var isOpposite = !isArgument && !this._options.rotated || isArgument && this._options.rotated; var coordName = !isOpposite ? "vx" : "vy"; var oppositeCoordName = !isOpposite ? "vy" : "vx"; var points = this.getVisiblePoints(); for (var i = 0; i < points.length; i++) { var p = points[i]; var tmpCoord = p[coordName] === coord ? p[oppositeCoordName] : void 0; if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) { oppositeCoord = tmpCoord; break } } return oppositeCoord }, _getNearestPoints: function(point, nextPoint) { return [point, nextPoint] }, _getBezierPoints: function() { return [] }, _getNearestPointsByCoord: function(coord, isArgument) { var that = this; var rotated = that.getOptions().rotated; var isOpposite = !isArgument && !rotated || isArgument && rotated; var coordName = isOpposite ? "vy" : "vx"; var allPoints = that.getPoints(); var bezierPoints = that._getBezierPoints(); var nearestPoints = []; if (allPoints.length > 1) { allPoints.forEach((function(point, i) { var nextPoint = allPoints[i + 1]; if (nextPoint && (point[coordName] <= coord && nextPoint[coordName] >= coord || point[coordName] >= coord && nextPoint[coordName] <= coord)) { nearestPoints.push(that._getNearestPoints(point, nextPoint, bezierPoints)) } })) } else { nearestPoints.push([allPoints[0], allPoints[0]]) } return nearestPoints }, getNeighborPoint: function(x, y) { var pCoord = this._options.rotated ? y : x; var nCoord = pCoord; var cat = this._trackersTranslator; var point = null; var minDistance; var oppositeCoord = this._options.rotated ? x : y; var oppositeCoordName = this._options.rotated ? "vx" : "vy"; if (this.isVisible() && cat) { point = cat[pCoord]; do { point = cat[nCoord] || cat[pCoord]; pCoord--; nCoord++ } while ((pCoord >= 0 || nCoord < cat.length) && !point); if (Array.isArray(point)) { minDistance = _abs(point[0][oppositeCoordName] - oppositeCoord); (0, _iterator.each)(point, (function(i, p) { var distance = _abs(p[oppositeCoordName] - oppositeCoord); if (minDistance >= distance) { minDistance = distance; point = p } })) } } return point }, _applyVisibleArea: function() { var rotated = this._options.rotated; var visibleX = (rotated ? this.getValueAxis() : this.getArgumentAxis()).getVisibleArea(); var visibleY = (rotated ? this.getArgumentAxis() : this.getValueAxis()).getVisibleArea(); this._visibleArea = { minX: visibleX[0], maxX: visibleX[1], minY: visibleY[0], maxY: visibleY[1] } }, getPointCenterByArg: function(arg) { var point = this.getPointsByArg(arg)[0]; return point ? point.getCenterCoord() : void 0 } }); exports.polar = polar = (0, _extend3.extend)({}, baseScatterMethods, { drawTrackers: function() { chart.drawTrackers.call(this); var cat = this._trackersTranslator; var index; if (!this.isVisible()) { return }(0, _iterator.each)(cat, (function(i, category) { if (category) { index = i; return false } })); cat[index + 360] = cat[index] }, getNeighborPoint: function(x, y) { var pos = (0, _utils.convertXYToPolar)(this.getValueAxis().getCenter(), x, y); return chart.getNeighborPoint.call(this, pos.phi, pos.r) }, _applyVisibleArea: function() { var canvas = this.getValueAxis().getCanvas(); this._visibleArea = { minX: canvas.left, maxX: canvas.width - canvas.right, minY: canvas.top, maxY: canvas.height - canvas.bottom } }, getSeriesPairCoord: function(params, isArgument) { var coords = null; var paramName = isArgument ? "argument" : "radius"; var points = this.getVisiblePoints(); for (var i = 0; i < points.length; i++) { var p = points[i]; var tmpPoint = (0, _type.isDefined)(p[paramName]) && (0, _type.isDefined)(params[paramName]) && p[paramName].valueOf() === params[paramName].valueOf() ? { x: p.x, y: p.y } : void 0; if ((0, _type.isDefined)(tmpPoint)) { coords = tmpPoint; break } } return coords } }) }, 92057: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/series/stacked_series.js ***! \**************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.polar = exports.chart = void 0; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _area_series = __webpack_require__( /*! ./area_series */ 90048); var _bar_series = __webpack_require__( /*! ./bar_series */ 58821); var _line_series = __webpack_require__( /*! ./line_series */ 7222); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _object = __webpack_require__( /*! ../../core/utils/object */ 48013); var chartAreaSeries = _area_series.chart.area; var chartBarSeries = _bar_series.chart.bar; var baseStackedSeries = { _calculateErrorBars: _common.noop, _updateOptions: function(options) { this._stackName = "axis_" + (options.axis || "default") } }; var chart = {}; exports.chart = chart; var polar = {}; exports.polar = polar; chart.stackedline = (0, _extend2.extend)({}, _line_series.chart.line, baseStackedSeries, {}); chart.stackedspline = (0, _extend2.extend)({}, _line_series.chart.spline, baseStackedSeries, {}); chart.fullstackedline = (0, _extend2.extend)({}, _line_series.chart.line, baseStackedSeries, { getValueRangeInitialValue: _area_series.chart.area.getValueRangeInitialValue }); chart.fullstackedspline = (0, _extend2.extend)({}, _line_series.chart.spline, baseStackedSeries, { getValueRangeInitialValue: _area_series.chart.area.getValueRangeInitialValue }); var stackedBar = chart.stackedbar = (0, _extend2.extend)({}, chartBarSeries, baseStackedSeries, { _updateOptions: function(options) { baseStackedSeries._updateOptions.call(this, options); this._stackName = this._stackName + "_stack_" + (options.stack || "default") } }); chart.fullstackedbar = (0, _extend2.extend)({}, chartBarSeries, baseStackedSeries, { _updateOptions: stackedBar._updateOptions }); function clonePoint(point, value, minValue, position) { point = (0, _object.clone)(point); point.value = value; point.minValue = minValue; point.translate(); point.argument = point.argument + position; return point } function preparePointsForStackedAreaSegment(points) { var i = 0; var p; var result = []; var array; var len = points.length; while (i < len) { p = points[i]; array = [p]; if (p.leftHole) { array = [clonePoint(p, p.leftHole, p.minLeftHole, "left"), p] } if (p.rightHole) { array.push(clonePoint(p, p.rightHole, p.minRightHole, "right")) } result.push(array); i++ } return [].concat.apply([], result) } chart.stackedarea = (0, _extend2.extend)({}, chartAreaSeries, baseStackedSeries, { _prepareSegment: function(points, rotated) { return chartAreaSeries._prepareSegment.call(this, preparePointsForStackedAreaSegment(points), rotated) }, _appendInGroup: function() { this._group.append(this._extGroups.seriesGroup).toBackground() } }); chart.stackedsplinearea = (0, _extend2.extend)({}, _area_series.chart.splinearea, baseStackedSeries, { _prepareSegment: function(points, rotated) { var that = this; var areaSegment; points = preparePointsForStackedAreaSegment(points); if (!this._prevSeries || 1 === points.length) { areaSegment = _area_series.chart.splinearea._prepareSegment.call(this, points, rotated) } else { var forwardPoints = _line_series.chart.spline._calculateBezierPoints(points, rotated); var backwardPoints = (0, _utils.map)(points, (function(p) { var point = p.getCoords(true); point.argument = p.argument; return point })); var prevSeriesForwardPoints = []; var pointByArg = {}; var i = 0; var len = that._prevSeries._segments.length; while (i < len) { prevSeriesForwardPoints = prevSeriesForwardPoints.concat(that._prevSeries._segments[i].line); i++ }(0, _iterator.each)(prevSeriesForwardPoints, (function(_, p) { if (null !== p.argument) { var argument = p.argument.valueOf(); if (!pointByArg[argument]) { pointByArg[argument] = [p] } else { pointByArg[argument].push(p) } } })); that._prevSeries._segmentByArg = pointByArg; backwardPoints = _line_series.chart.spline._calculateBezierPoints(backwardPoints, rotated); (0, _iterator.each)(backwardPoints, (function(i, p) { var argument = p.argument.valueOf(); var prevSeriesPoints; if (i % 3 === 0) { prevSeriesPoints = pointByArg[argument] || function(prevSeries, argument) { var result; while (!result && prevSeries) { result = prevSeries._segmentByArg && prevSeries._segmentByArg[argument]; prevSeries = prevSeries._prevSeries } return result }(that._prevSeries, argument); if (prevSeriesPoints) { backwardPoints[i - 1] && prevSeriesPoints[0] && (backwardPoints[i - 1] = prevSeriesPoints[0]); backwardPoints[i + 1] && (backwardPoints[i + 1] = prevSeriesPoints[2] || p) } } })); areaSegment = { line: forwardPoints, area: forwardPoints.concat(backwardPoints.reverse()) }; that._areaPointsToSplineAreaPoints(areaSegment.area) } return areaSegment }, _appendInGroup: chart.stackedarea._appendInGroup }); chart.fullstackedarea = (0, _extend2.extend)({}, chartAreaSeries, baseStackedSeries, { _prepareSegment: chart.stackedarea._prepareSegment, _appendInGroup: chart.stackedarea._appendInGroup }); chart.fullstackedsplinearea = (0, _extend2.extend)({}, _area_series.chart.splinearea, baseStackedSeries, { _prepareSegment: chart.stackedsplinearea._prepareSegment, _appendInGroup: chart.stackedarea._appendInGroup }); polar.stackedbar = (0, _extend2.extend)({}, _bar_series.polar.bar, baseStackedSeries, {}) }, 43759: /*!**************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/sparkline.js ***! \**************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _sparkline = (obj = __webpack_require__( /*! ./sparklines/sparkline */ 51876), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _sparkline.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 55628: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/sparklines/base_sparkline.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _base_widget = _interopRequireDefault(__webpack_require__( /*! ../core/base_widget */ 59063)); var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _pointer = _interopRequireDefault(__webpack_require__( /*! ../../events/pointer */ 93786)); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _renderer = _interopRequireDefault(__webpack_require__( /*! ../../core/renderer */ 68374)); var _translator2d = __webpack_require__( /*! ../translators/translator2d */ 87276); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _tooltip = __webpack_require__( /*! ../core/tooltip */ 14371); var _export = __webpack_require__( /*! ../core/export */ 82454); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var EVENT_NS = "sparkline-tooltip"; var POINTER_ACTION = (0, _index.addNamespace)([_pointer.default.down, _pointer.default.move], EVENT_NS); var _extend = _extend2.extend; var _floor = Math.floor; function pointerHandler(_ref2) { var data = _ref2.data; var that = data.widget; that._enableOutHandler(); that._showTooltip() } function createAxis(isHorizontal) { var translator = new _translator2d.Translator2D({}, {}, { shiftZeroValue: !isHorizontal, isHorizontal: !!isHorizontal }); return { getTranslator: function() { return translator }, update: function(range, canvas, options) { translator.update(range, canvas, options) }, getVisibleArea: function() { var visibleArea = translator.getCanvasVisibleArea(); return [visibleArea.min, visibleArea.max] }, visualRange: _common.noop, calculateInterval: _common.noop, getMarginOptions: function() { return {} }, aggregatedPointBetweenTicks: function() { return false } } } var _initTooltip; var BaseSparkline = _base_widget.default.inherit({ _getLayoutItems: _common.noop, _useLinks: false, _themeDependentChanges: ["OPTIONS"], _initCore: function() { this._tooltipTracker = this._renderer.root; this._tooltipTracker.attr({ "pointer-events": "visible" }); this._createHtmlElements(); this._initTooltipEvents(); this._argumentAxis = createAxis(true); this._valueAxis = createAxis() }, _getDefaultSize: function() { return this._defaultSize }, _disposeCore: function() { this._disposeWidgetElements(); this._disposeTooltipEvents(); this._ranges = null }, _optionChangesOrder: ["OPTIONS"], _change_OPTIONS: function() { this._prepareOptions(); this._change(["UPDATE"]) }, _customChangesOrder: ["UPDATE"], _change_UPDATE: function() { this._update() }, _update: function() { if (this._tooltipShown) { this._tooltipShown = false; this._tooltip.hide() } this._cleanWidgetElements(); this._updateWidgetElements(); this._drawWidgetElements() }, _updateWidgetElements: function() { var canvas = this._getCorrectCanvas(); this._updateRange(); this._argumentAxis.update(this._ranges.arg, canvas, this._getStick()); this._valueAxis.update(this._ranges.val, canvas) }, _getStick: function() {}, _applySize: function(rect) { this._allOptions.size = { width: rect[2] - rect[0], height: rect[3] - rect[1] }; this._change(["UPDATE"]) }, _setupResizeHandler: _common.noop, _prepareOptions: function() { return _extend(true, {}, this._themeManager.theme(), this.option()) }, _getTooltipCoords: function() { var canvas = this._canvas; var rootOffset = this._renderer.getRootOffset(); return { x: canvas.width / 2 + rootOffset.left, y: canvas.height / 2 + rootOffset.top } }, _initTooltipEvents: function() { var data = { widget: this }; this._renderer.root.off("." + EVENT_NS).on(POINTER_ACTION, data, pointerHandler) }, _showTooltip: function() { var tooltip; if (!this._tooltipShown) { this._tooltipShown = true; tooltip = this._getTooltip(); tooltip.isEnabled() && this._tooltip.show(this._getTooltipData(), this._getTooltipCoords(), {}) } }, _hideTooltip: function() { if (this._tooltipShown) { this._tooltipShown = false; this._tooltip.hide() } }, _stopCurrentHandling: function() { this._hideTooltip() }, _enableOutHandler: function() { var that = this; if (that._outHandler) { return } var handler = function(_ref5) { var pageX = _ref5.pageX, pageY = _ref5.pageY; var _that$_renderer$getRo = that._renderer.getRootOffset(), left = _that$_renderer$getRo.left, top = _that$_renderer$getRo.top; var x = _floor(pageX - left); var y = _floor(pageY - top); if (! function(_ref, x, y) { var width = _ref.width, height = _ref.height; return (0, _utils.pointInCanvas)({ left: 0, top: 0, right: width, bottom: height, width: width, height: height }, x, y) }(that._canvas, x, y)) { that._hideTooltip(); that._disableOutHandler() } }; _events_engine.default.on(_dom_adapter.default.getDocument(), POINTER_ACTION, handler); this._outHandler = handler }, _disableOutHandler: function() { this._outHandler && _events_engine.default.off(_dom_adapter.default.getDocument(), POINTER_ACTION, this._outHandler); this._outHandler = null }, _disposeTooltipEvents: function() { this._tooltipTracker.off(); this._disableOutHandler(); this._renderer.root.off("." + EVENT_NS) }, _getTooltip: function() { var that = this; if (!that._tooltip) { _initTooltip.apply(this, arguments); that._setTooltipRendererOptions(that._tooltipRendererOptions); that._tooltipRendererOptions = null; that._setTooltipOptions() } return that._tooltip } }); var _default = BaseSparkline; exports.default = _default; BaseSparkline.addPlugin(_tooltip.plugin); _initTooltip = BaseSparkline.prototype._initTooltip; BaseSparkline.prototype._initTooltip = _common.noop; var _disposeTooltip = BaseSparkline.prototype._disposeTooltip; BaseSparkline.prototype._disposeTooltip = function() { if (this._tooltip) { _disposeTooltip.apply(this, arguments) } }; BaseSparkline.prototype._setTooltipRendererOptions = function() { var options = this._getRendererOptions(); if (this._tooltip) { this._tooltip.setRendererOptions(options) } else { this._tooltipRendererOptions = options } }; BaseSparkline.prototype._setTooltipOptions = function() { if (this._tooltip) { var options = this._getOption("tooltip"); var defaultContentTemplate = this._getDefaultTooltipTemplate(options); var contentTemplateOptions = defaultContentTemplate ? { contentTemplate: defaultContentTemplate } : {}; var optionsToUpdate = _extend(contentTemplateOptions, options, { enabled: options.enabled && this._isTooltipEnabled() }); this._tooltip.update(optionsToUpdate) } }; BaseSparkline.prototype._getDefaultTooltipTemplate = function(options) { var defaultTemplateNeeded = true; var textAlign = this.option("rtlEnabled") ? "left" : "right"; if ((0, _type.isFunction)(options.customizeTooltip)) { var _options$customizeToo; this._tooltip.update(options); var formatObject = this._getTooltipData(); var customizeResult = null !== (_options$customizeToo = options.customizeTooltip.call(formatObject, formatObject)) && void 0 !== _options$customizeToo ? _options$customizeToo : {}; defaultTemplateNeeded = !("html" in customizeResult) && !("text" in customizeResult) } return defaultTemplateNeeded && function(_ref3, textAlign) { var lineSpacing = _ref3.lineSpacing, size = _ref3.size; var lineHeight = "".concat((null !== lineSpacing && void 0 !== lineSpacing ? lineSpacing : 2) + size, "px"); return function(_ref4, container) { var valueText = _ref4.valueText; var table = (0, _renderer.default)("<table>").css({ borderSpacing: 0, lineHeight: lineHeight }); for (var i = 0; i < valueText.length; i += 2) { var tr = (0, _renderer.default)("<tr>"); (0, _renderer.default)("<td>").text(valueText[i]).appendTo(tr); (0, _renderer.default)("<td>").css({ width: 15 }).appendTo(tr); (0, _renderer.default)("<td>").css({ textAlign: textAlign }).text(valueText[i + 1]).appendTo(tr); table.append(tr) } container.append(table) } }(options.font, textAlign) }; var exportPlugin = (0, _extend2.extend)(true, {}, _export.plugin, { init: _common.noop, dispose: _common.noop, customize: null, members: { _getExportMenuOptions: null } }); BaseSparkline.addPlugin(exportPlugin); module.exports = exports.default; module.exports.default = exports.default }, 59989: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/sparklines/bullet.js ***! \**********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _base_sparkline = _interopRequireDefault(__webpack_require__( /*! ./base_sparkline */ 55628)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _Number = Number; var _isFinite = isFinite; var dxBullet = _base_sparkline.default.inherit({ _rootClassPrefix: "dxb", _rootClass: "dxb-bullet", _themeSection: "bullet", _defaultSize: { width: 300, height: 30, left: 1, right: 1, top: 2, bottom: 2 }, _disposeWidgetElements: function() { delete this._zeroLevelPath; delete this._targetPath; delete this._barValuePath }, _cleanWidgetElements: function() { this._zeroLevelPath.remove(); this._targetPath.remove(); this._barValuePath.remove() }, _drawWidgetElements: function() { this._drawBullet(); this._drawn() }, _createHtmlElements: function() { var renderer = this._renderer; this._zeroLevelPath = renderer.path(void 0, "line").attr({ class: "dxb-zero-level", "stroke-linecap": "square" }); this._targetPath = renderer.path(void 0, "line").attr({ class: "dxb-target", "stroke-linecap": "square" }); this._barValuePath = renderer.path(void 0, "line").attr({ class: "dxb-bar-value", "stroke-linecap": "square" }) }, _prepareOptions: function() { var options; var startScaleValue; var endScaleValue; var level; var value; var target; this._allOptions = options = this.callBase(); var isValueUndefined = void 0 === this._allOptions.value; var isTargetUndefined = void 0 === this._allOptions.target; this._tooltipEnabled = !(isValueUndefined && isTargetUndefined); if (isValueUndefined) { this._allOptions.value = 0 } if (isTargetUndefined) { this._allOptions.target = 0 } options.value = value = _Number(options.value); options.target = target = _Number(options.target); if (void 0 === this._allOptions.startScaleValue) { this._allOptions.startScaleValue = target < value ? target : value; this._allOptions.startScaleValue = this._allOptions.startScaleValue < 0 ? this._allOptions.startScaleValue : 0 } if (void 0 === this._allOptions.endScaleValue) { this._allOptions.endScaleValue = target > value ? target : value } options.startScaleValue = startScaleValue = _Number(options.startScaleValue); options.endScaleValue = endScaleValue = _Number(options.endScaleValue); if (endScaleValue < startScaleValue) { level = endScaleValue; this._allOptions.endScaleValue = startScaleValue; this._allOptions.startScaleValue = level; this._allOptions.inverted = true } }, _updateRange: function() { var options = this._allOptions; this._ranges = { arg: { invert: options.rtlEnabled ? !options.inverted : options.inverted, min: options.startScaleValue, max: options.endScaleValue, axisType: "continuous", dataType: "numeric" }, val: { min: 0, max: 1, axisType: "continuous", dataType: "numeric" } } }, _drawBullet: function() { var options = this._allOptions; var isValidBounds = options.startScaleValue !== options.endScaleValue; var isValidMin = _isFinite(options.startScaleValue); var isValidMax = _isFinite(options.endScaleValue); var isValidValue = _isFinite(options.value); var isValidTarget = _isFinite(options.target); if (isValidBounds && isValidMax && isValidMin && isValidTarget && isValidValue) { this._drawBarValue(); this._drawTarget(); this._drawZeroLevel() } }, _getTargetParams: function() { var options = this._allOptions; var translatorY = this._valueAxis.getTranslator(); var x = this._argumentAxis.getTranslator().translate(options.target); return { points: [x, translatorY.translate(.02), x, translatorY.translate(.98)], stroke: options.targetColor, "stroke-width": options.targetWidth } }, _getBarValueParams: function() { var options = this._allOptions; var translatorX = this._argumentAxis.getTranslator(); var translatorY = this._valueAxis.getTranslator(); var startLevel = options.startScaleValue; var endLevel = options.endScaleValue; var value = options.value; var y2 = translatorY.translate(.1); var y1 = translatorY.translate(.9); var x1; var x2; if (value > 0) { x1 = startLevel <= 0 ? 0 : startLevel; x2 = value >= endLevel ? endLevel : value < x1 ? x1 : value } else { x1 = endLevel >= 0 ? 0 : endLevel; x2 = value < startLevel ? startLevel : value > x1 ? x1 : value } x1 = translatorX.translate(x1); x2 = translatorX.translate(x2); return { points: [x1, y1, x2, y1, x2, y2, x1, y2], fill: options.color } }, _getCorrectCanvas: function() { return this._canvas }, _getZeroLevelParams: function() { var translatorY = this._valueAxis.getTranslator(); var x = this._argumentAxis.getTranslator().translate(0); return { points: [x, translatorY.translate(.02), x, translatorY.translate(.98)], stroke: this._allOptions.targetColor, "stroke-width": 1 } }, _drawZeroLevel: function() { var options = this._allOptions; if (0 > options.endScaleValue || 0 < options.startScaleValue || !options.showZeroLevel) { return } this._zeroLevelPath.attr(this._getZeroLevelParams()).sharp().append(this._renderer.root) }, _drawTarget: function() { var options = this._allOptions; var target = options.target; if (target > options.endScaleValue || target < options.startScaleValue || !options.showTarget) { return } this._targetPath.attr(this._getTargetParams()).sharp().append(this._renderer.root) }, _drawBarValue: function() { this._barValuePath.attr(this._getBarValueParams()).append(this._renderer.root) }, _getTooltipCoords: function() { var canvas = this._canvas; var rootOffset = this._renderer.getRootOffset(); var bBox = this._barValuePath.getBBox(); return { x: bBox.x + bBox.width / 2 + rootOffset.left, y: canvas.height / 2 + rootOffset.top } }, _getTooltipData: function() { var tooltip = this._tooltip; var options = this._allOptions; var value = options.value; var target = options.target; var valueText = tooltip.formatValue(value); var targetText = tooltip.formatValue(target); return { originalValue: value, originalTarget: target, value: valueText, target: targetText, valueText: ["Actual Value:", valueText, "Target Value:", targetText] } }, _isTooltipEnabled: function() { return this._tooltipEnabled } }); (0, _iterator.each)(["color", "targetColor", "targetWidth", "showTarget", "showZeroLevel", "value", "target", "startScaleValue", "endScaleValue"], (function(_, name) { dxBullet.prototype._optionChangesMap[name] = "OPTIONS" })); (0, _component_registrator.default)("dxBullet", dxBullet); var _default = dxBullet; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 51876: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/sparklines/sparkline.js ***! \*************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _base_sparkline = _interopRequireDefault(__webpack_require__( /*! ./base_sparkline */ 55628)); var _data_validator = __webpack_require__( /*! ../components/data_validator */ 45865); var _base_series = __webpack_require__( /*! ../series/base_series */ 54932); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _data_source = __webpack_require__( /*! ../core/data_source */ 1539); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var ALLOWED_TYPES = { line: true, spline: true, stepline: true, area: true, steparea: true, splinearea: true, bar: true, winloss: true }; var _math = Math; var _abs = _math.abs; var _round = _math.round; var _max = _math.max; var _min = _math.min; var _isFinite = isFinite; var _Number = Number; var _String = String; function selectPointColor(color, options, index, pointIndexes) { if (index === pointIndexes.first || index === pointIndexes.last) { color = options.firstLastColor } if ((pointIndexes.min || []).indexOf(index) >= 0) { color = options.minColor } if ((pointIndexes.max || []).indexOf(index) >= 0) { color = options.maxColor } return color } var dxSparkline = _base_sparkline.default.inherit({ _rootClassPrefix: "dxsl", _rootClass: "dxsl-sparkline", _themeSection: "sparkline", _defaultSize: { width: 250, height: 30 }, _initCore: function() { this.callBase(); this._createSeries() }, _initialChanges: ["DATA_SOURCE"], _dataSourceChangedHandler: function() { this._requestChange(["UPDATE"]) }, _updateWidgetElements: function() { this._updateSeries(); this.callBase() }, _disposeWidgetElements: function() { this._series && this._series.dispose(); this._series = this._seriesGroup = this._seriesLabelGroup = null }, _cleanWidgetElements: function() { this._seriesGroup.remove(); this._seriesLabelGroup.remove(); this._seriesGroup.clear(); this._seriesLabelGroup.clear(); this._series.removeGraphicElements(); this._series.removePointElements(); this._series.removeBordersGroup() }, _drawWidgetElements: function() { if (this._dataIsLoaded()) { this._drawSeries(); this._drawn() } }, _getCorrectCanvas: function() { var options = this._allOptions; var canvas = this._canvas; var halfPointSize = options.pointSize && Math.ceil(options.pointSize / 2) + 2; var type = options.type; if ("bar" !== type && "winloss" !== type && (options.showFirstLast || options.showMinMax)) { return { width: canvas.width, height: canvas.height, left: canvas.left + halfPointSize, right: canvas.right + halfPointSize, top: canvas.top + halfPointSize, bottom: canvas.bottom + halfPointSize } } return canvas }, _prepareOptions: function() { this._allOptions = this.callBase(); this._allOptions.type = (0, _utils.normalizeEnum)(this._allOptions.type); if (!ALLOWED_TYPES[this._allOptions.type]) { this._allOptions.type = "line" } }, _createHtmlElements: function() { this._seriesGroup = this._renderer.g().attr({ class: "dxsl-series" }); this._seriesLabelGroup = this._renderer.g().attr({ class: "dxsl-series-labels" }) }, _createSeries: function() { this._series = new _base_series.Series({ renderer: this._renderer, seriesGroup: this._seriesGroup, labelsGroup: this._seriesLabelGroup, argumentAxis: this._argumentAxis, valueAxis: this._valueAxis, incidentOccurred: this._incidentOccurred }, { widgetType: "chart", type: "line" }) }, _updateSeries: function() { var singleSeries = this._series; this._prepareDataSource(); var seriesOptions = this._prepareSeriesOptions(); singleSeries.updateOptions(seriesOptions); var groupsData = { groups: [{ series: [singleSeries] }] }; groupsData.argumentOptions = { type: "bar" === seriesOptions.type ? "discrete" : void 0 }; this._simpleDataSource = (0, _data_validator.validateData)(this._simpleDataSource, groupsData, this._incidentOccurred, { checkTypeForAllData: false, convertToAxisDataType: true, sortingMethod: true })[singleSeries.getArgumentField()]; seriesOptions.customizePoint = this._getCustomizeFunction(); singleSeries.updateData(this._simpleDataSource); singleSeries.createPoints(); this._groupsDataCategories = groupsData.categories }, _optionChangesMap: { dataSource: "DATA_SOURCE" }, _optionChangesOrder: ["DATA_SOURCE"], _change_DATA_SOURCE: function() { this._updateDataSource() }, _prepareDataSource: function() { var options = this._allOptions; var argField = options.argumentField; var valField = options.valueField; var dataSource = this._dataSourceItems() || []; var data = function(data, argField, valField, ignoreEmptyPoints) { return (0, _utils.map)(data, (function(dataItem, index) { var item = null; var isDataNumber; var value; if (void 0 !== dataItem) { item = {}; isDataNumber = _isFinite(dataItem); item[argField] = isDataNumber ? _String(index) : dataItem[argField]; value = isDataNumber ? dataItem : dataItem[valField]; item[valField] = null === value ? ignoreEmptyPoints ? void 0 : value : _Number(value); item = void 0 !== item[argField] && void 0 !== item[valField] ? item : null } return item })) }(dataSource, argField, valField, this.option("ignoreEmptyPoints")); if ("winloss" === options.type) { this._winlossDataSource = data; this._simpleDataSource = function(data, argField, valField, target) { return (0, _utils.map)(data, (function(dataItem) { var item = {}; item[argField] = dataItem[argField]; if (_abs(dataItem[valField] - target) < 1e-4) { item[valField] = 0 } else if (dataItem[valField] > target) { item[valField] = 1 } else { item[valField] = -1 } return item })) }(data, argField, valField, options.winlossThreshold) } else { this._simpleDataSource = data } }, _prepareSeriesOptions: function() { var options = this._allOptions; var type = "winloss" === options.type ? "bar" : options.type; return { visible: true, argumentField: options.argumentField, valueField: options.valueField, color: options.lineColor, width: options.lineWidth, widgetType: "chart", name: "", type: type, opacity: -1 !== type.indexOf("area") ? this._allOptions.areaOpacity : void 0, point: { size: options.pointSize, symbol: options.pointSymbol, border: { visible: true, width: 2 }, color: options.pointColor, visible: false, hoverStyle: { border: {} }, selectionStyle: { border: {} } }, border: { color: options.lineColor, width: options.lineWidth, visible: "bar" !== type } } }, _getCustomizeFunction: function() { var options = this._allOptions; var dataSource = this._winlossDataSource || this._simpleDataSource; var drawnPointIndexes = this._getExtremumPointsIndexes(dataSource); var customizeFunction; if ("winloss" === options.type || "bar" === options.type) { customizeFunction = function(pointIndexes, options, winlossData) { return function() { var index = this.index; var isWinloss = "winloss" === options.type; var target = isWinloss ? options.winlossThreshold : 0; var value = isWinloss ? winlossData[index][options.valueField] : this.value; var positiveColor = isWinloss ? options.winColor : options.barPositiveColor; var negativeColor = isWinloss ? options.lossColor : options.barNegativeColor; return { color: selectPointColor(value >= target ? positiveColor : negativeColor, options, index, pointIndexes) } } }(drawnPointIndexes, options, this._winlossDataSource) } else { customizeFunction = function(pointIndexes, options) { return function() { var color = selectPointColor(void 0, options, this.index, pointIndexes); return color ? { visible: true, border: { color: color } } : {} } }(drawnPointIndexes, options) } return customizeFunction }, _getExtremumPointsIndexes: function(data) { var options = this._allOptions; var lastIndex = data.length - 1; var indexes = {}; this._minMaxIndexes = function(data, valField) { var firstItem = data[0] || {}; var firstValue = firstItem[valField] || 0; var min = firstValue; var max = firstValue; var minIndexes = [0]; var maxIndexes = [0]; var dataLength = data.length; var value; var i; for (i = 1; i < dataLength; i++) { value = data[i][valField]; if (value < min) { min = value; minIndexes = [i] } else if (value === min) { minIndexes.push(i) } if (value > max) { max = value; maxIndexes = [i] } else if (value === max) { maxIndexes.push(i) } } if (max === min) { minIndexes = maxIndexes = [] } return { minIndexes: minIndexes, maxIndexes: maxIndexes } }(data, options.valueField); if (options.showFirstLast) { indexes.first = 0; indexes.last = lastIndex } if (options.showMinMax) { indexes.min = this._minMaxIndexes.minIndexes; indexes.max = this._minMaxIndexes.maxIndexes } return indexes }, _getStick: function() { return { stick: "bar" !== this._series.type } }, _updateRange: function() { var series = this._series; var type = series.type; var isBarType = "bar" === type; var isWinlossType = "winloss" === type; var rangeData = series.getRangeData(); var minValue = this._allOptions.minValue; var hasMinY = (0, _type.isDefined)(minValue) && _isFinite(minValue); var maxValue = this._allOptions.maxValue; var hasMaxY = (0, _type.isDefined)(maxValue) && _isFinite(maxValue); var argCoef; var valCoef = .15 * (rangeData.val.max - rangeData.val.min); if (isBarType || isWinlossType || "area" === type) { if (0 !== rangeData.val.min) { rangeData.val.min -= valCoef } if (0 !== rangeData.val.max) { rangeData.val.max += valCoef } } else { rangeData.val.min -= valCoef; rangeData.val.max += valCoef } if (hasMinY || hasMaxY) { if (hasMinY && hasMaxY) { rangeData.val.minVisible = _min(minValue, maxValue); rangeData.val.maxVisible = _max(minValue, maxValue) } else { rangeData.val.minVisible = hasMinY ? _Number(minValue) : void 0; rangeData.val.maxVisible = hasMaxY ? _Number(maxValue) : void 0 } if (isWinlossType) { rangeData.val.minVisible = hasMinY ? _max(rangeData.val.minVisible, -1) : void 0; rangeData.val.maxVisible = hasMaxY ? _min(rangeData.val.maxVisible, 1) : void 0 } } if (series.getPoints().length > 1) { if (isBarType) { argCoef = .1 * (rangeData.arg.max - rangeData.arg.min); rangeData.arg.min = rangeData.arg.min - argCoef; rangeData.arg.max = rangeData.arg.max + argCoef } } rangeData.arg.categories = this._groupsDataCategories; this._ranges = rangeData }, _getBarWidth: function(pointsCount) { var canvas = this._canvas; var intervalWidth = 4 * pointsCount; var rangeWidth = canvas.width - canvas.left - canvas.right - intervalWidth; var width = _round(rangeWidth / pointsCount); if (width < 1) { width = 1 } if (width > 50) { width = 50 } return width }, _correctPoints: function() { var seriesType = this._allOptions.type; var seriesPoints = this._series.getPoints(); var pointsLength = seriesPoints.length; var barWidth; var i; if ("bar" === seriesType || "winloss" === seriesType) { barWidth = this._getBarWidth(pointsLength); for (i = 0; i < pointsLength; i++) { seriesPoints[i].correctCoordinates({ width: barWidth, offset: 0 }) } } }, _drawSeries: function() { if (this._simpleDataSource.length > 0) { this._correctPoints(); this._series.draw(); this._seriesGroup.append(this._renderer.root) } }, _isTooltipEnabled: function() { return !!this._simpleDataSource.length }, _getTooltipData: function() { var options = this._allOptions; var dataSource = this._winlossDataSource || this._simpleDataSource; var tooltip = this._tooltip; if (0 === dataSource.length) { return {} } var minMax = this._minMaxIndexes; var valueField = options.valueField; var first = dataSource[0][valueField]; var last = dataSource[dataSource.length - 1][valueField]; var min = (0, _type.isDefined)(minMax.minIndexes[0]) ? dataSource[minMax.minIndexes[0]][valueField] : first; var max = (0, _type.isDefined)(minMax.maxIndexes[0]) ? dataSource[minMax.maxIndexes[0]][valueField] : first; var formattedFirst = tooltip.formatValue(first); var formattedLast = tooltip.formatValue(last); var formattedMin = tooltip.formatValue(min); var formattedMax = tooltip.formatValue(max); var customizeObject = { firstValue: formattedFirst, lastValue: formattedLast, minValue: formattedMin, maxValue: formattedMax, originalFirstValue: first, originalLastValue: last, originalMinValue: min, originalMaxValue: max, valueText: ["Start:", formattedFirst, "End:", formattedLast, "Min:", formattedMin, "Max:", formattedMax] }; if ("winloss" === options.type) { customizeObject.originalThresholdValue = options.winlossThreshold; customizeObject.thresholdValue = tooltip.formatValue(options.winlossThreshold) } return customizeObject } }); (0, _utils.map)(["lineColor", "lineWidth", "areaOpacity", "minColor", "maxColor", "barPositiveColor", "barNegativeColor", "winColor", "lessColor", "firstLastColor", "pointSymbol", "pointColor", "pointSize", "type", "argumentField", "valueField", "winlossThreshold", "showFirstLast", "showMinMax", "ignoreEmptyPoints", "minValue", "maxValue"], (function(name) { dxSparkline.prototype._optionChangesMap[name] = "OPTIONS" })); (0, _component_registrator.default)("dxSparkline", dxSparkline); var _default = dxSparkline; exports.default = _default; dxSparkline.addPlugin(_data_source.plugin); module.exports = exports.default; module.exports.default = exports.default }, 86231: /*!***********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/themes.js ***! \***********************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.addCacheItem = function(target) { var cacheUid = ++nextCacheUid; target._cache = cacheUid; widgetsCache[cacheUid] = target }; exports.currentTheme = currentTheme; exports.getTheme = getTheme; exports.refreshTheme = function() { _each(widgetsCache, (function() { this.refresh() })); return this }; exports.registerTheme = registerTheme; exports.registerThemeSchemeAlias = function(from, to) { themesSchemeMapping[from] = to }; exports.removeCacheItem = function(target) { delete widgetsCache[target._cache] }; var _extend2 = __webpack_require__( /*! ../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); var _utils = __webpack_require__( /*! ./core/utils */ 19157); var _themes = __webpack_require__( /*! ../ui/themes */ 75811); var _type = __webpack_require__( /*! ../core/utils/type */ 35922); var _generic = _interopRequireDefault(__webpack_require__( /*! ./core/themes/generic.light */ 8839)); var _generic2 = _interopRequireDefault(__webpack_require__( /*! ./core/themes/generic.carmine */ 39726)); var _generic3 = _interopRequireDefault(__webpack_require__( /*! ./core/themes/generic.dark */ 17374)); var _generic4 = _interopRequireDefault(__webpack_require__( /*! ./core/themes/generic.contrast */ 14870)); var _generic5 = _interopRequireDefault(__webpack_require__( /*! ./core/themes/generic.darkmoon */ 83313)); var _generic6 = _interopRequireDefault(__webpack_require__( /*! ./core/themes/generic.darkviolet */ 25257)); var _generic7 = _interopRequireDefault(__webpack_require__( /*! ./core/themes/generic.greenmist */ 84253)); var _generic8 = _interopRequireDefault(__webpack_require__( /*! ./core/themes/generic.softblue */ 60350)); var _material = _interopRequireDefault(__webpack_require__( /*! ./core/themes/material */ 11239)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var themes = {}; var themesMapping = {}; var themesSchemeMapping = {}; var _extend = _extend2.extend; var _each = _iterator.each; var currentThemeName = null; var defaultTheme; var nextCacheUid = 0; var widgetsCache = {}; function getTheme(themeName) { var name = (0, _utils.normalizeEnum)(themeName); return themes[name] || themes[themesMapping[name] || currentTheme()] } function findThemeNameByName(name, scheme) { return themesMapping[name + "." + scheme] || themesSchemeMapping[name + "." + scheme] || themesMapping[name] } function findThemeNameByPlatform(platform, version, scheme) { return findThemeNameByName(platform + version, scheme) || findThemeNameByName(platform, scheme) } function currentTheme(themeName, colorScheme) { if (!arguments.length) { return currentThemeName || findThemeNameByName((0, _themes.current)()) || defaultTheme } var scheme = (0, _utils.normalizeEnum)(colorScheme); currentThemeName = (themeName && themeName.platform ? findThemeNameByPlatform((0, _utils.normalizeEnum)(themeName.platform), themeName.version, scheme) : findThemeNameByName((0, _utils.normalizeEnum)(themeName), scheme)) || currentThemeName; return this } function registerTheme(theme, baseThemeName) { var themeName = (0, _utils.normalizeEnum)(theme && theme.name); if (themeName) { theme.isDefault && (defaultTheme = themeName); ! function(themeName, targetThemeName) { var themeInfo = function(themeName, splitter) { var k = themeName.indexOf(splitter); return k > 0 ? { name: themeName.substring(0, k), scheme: themeName.substring(k + 1) } : null }(themeName, ".") || { name: themeName }; var name = themeInfo.name; var scheme = themeInfo.scheme; if (scheme) { themesMapping[name] = themesMapping[name] || targetThemeName; themesMapping[name + "." + scheme] = targetThemeName } else { themesMapping[name] = targetThemeName } }(themeName, themeName); themes[themeName] = _extend(true, {}, getTheme(baseThemeName), function(theme) { theme = _extend(true, { loadingIndicator: { font: {} }, export: { font: {} }, legend: { font: {}, border: {} }, title: { font: {} }, tooltip: { font: {} }, "chart:common": {}, "chart:common:axis": { grid: {}, minorGrid: {}, tick: {}, minorTick: {}, title: { font: {} }, label: { font: {} } }, "chart:common:annotation": { font: {}, border: {} }, chart: { commonSeriesSettings: { candlestick: {} } }, pie: {}, polar: {}, gauge: { scale: { tick: {}, minorTick: {}, label: { font: {} } } }, barGauge: {}, funnel: {}, sankey: {}, map: { background: {} }, treeMap: { tile: { selectionStyle: { border: {} } }, group: { border: {}, selectionStyle: { border: {} }, label: { font: {} } } }, rangeSelector: { scale: { tick: {}, minorTick: {}, label: { font: {} } }, chart: {} }, sparkline: {}, bullet: {} }, theme); mergeScalar(theme.loadingIndicator, "backgroundColor", theme); mergeScalar(theme.chart.commonSeriesSettings.candlestick, "innerColor", null, theme.backgroundColor); mergeScalar(theme.map.background, "color", null, theme.backgroundColor); mergeScalar(theme.title.font, "color", null, theme.primaryTitleColor); mergeObject(theme.title, "subtitle", null, theme.title); mergeScalar(theme.legend.font, "color", null, theme.secondaryTitleColor); mergeScalar(theme.legend.border, "color", null, theme.gridColor); ! function(theme) { var commonAxisSettings = theme["chart:common:axis"]; _each([commonAxisSettings.grid, commonAxisSettings.minorGrid], (function(_, obj) { mergeScalar(obj, "color", null, theme.gridColor) })); _each([commonAxisSettings, commonAxisSettings.tick, commonAxisSettings.minorTick, commonAxisSettings.label.font], (function(_, obj) { mergeScalar(obj, "color", null, theme.axisColor) })); mergeScalar(commonAxisSettings.title.font, "color", null, theme.secondaryTitleColor); mergeScalar(theme.gauge.scale.label.font, "color", null, theme.axisColor); mergeScalar(theme.gauge.scale.tick, "color", null, theme.backgroundColor); mergeScalar(theme.gauge.scale.minorTick, "color", null, theme.backgroundColor); mergeScalar(theme.rangeSelector.scale.label.font, "color", null, theme.axisColor) }(theme); _each(["chart", "pie", "polar", "gauge", "barGauge", "map", "treeMap", "funnel", "rangeSelector", "sparkline", "bullet", "sankey"], (function(_, section) { mergeScalar(theme[section], "redrawOnResize", theme); mergeScalar(theme[section], "containerBackgroundColor", null, theme.backgroundColor); mergeObject(theme[section], "tooltip", theme); mergeObject(theme[section], "export", theme) })); _each(["chart", "pie", "polar", "gauge", "barGauge", "map", "treeMap", "funnel", "rangeSelector", "sankey"], (function(_, section) { mergeObject(theme[section], "loadingIndicator", theme); mergeObject(theme[section], "legend", theme); mergeObject(theme[section], "title", theme) })); _each(["chart", "pie", "polar"], (function(_, section) { mergeObject(theme, section, null, theme["chart:common"]) })); _each(["chart", "polar"], (function(_, section) { theme[section] = theme[section] || {}; mergeObject(theme[section], "commonAxisSettings", null, theme["chart:common:axis"]) })); _each(["chart", "polar", "map", "pie"], (function(_, section) { theme[section] = theme[section] || {}; mergeObject(theme[section], "commonAnnotationSettings", null, theme["chart:common:annotation"]) })); mergeObject(theme.rangeSelector.chart, "commonSeriesSettings", theme.chart); mergeObject(theme.rangeSelector.chart, "dataPrepareSettings", theme.chart); mergeScalar(theme.treeMap.group.border, "color", null, theme.gridColor); mergeScalar(theme.treeMap.tile.selectionStyle.border, "color", null, theme.primaryTitleColor); mergeScalar(theme.treeMap.group.selectionStyle.border, "color", null, theme.primaryTitleColor); mergeScalar(theme.map.legend, "backgroundColor", theme); ! function(theme) { var map = theme.map; _each(["area", "line", "marker"], (function(_, section) { mergeObject(map, "layer:" + section, null, map.layer) })); _each(["dot", "bubble", "pie", "image"], (function(_, section) { mergeObject(map, "layer:marker:" + section, null, map["layer:marker"]) })) }(theme); return theme }(theme)) } } function mergeScalar(target, field, source, sourceValue) { var _value = source ? source[field] : sourceValue; if (void 0 !== _value && void 0 === target[field]) { target[field] = _value } } function mergeObject(target, field, source, sourceValue) { var _value = source ? source[field] : sourceValue; if (void 0 !== _value) { target[field] = _extend(true, {}, _value, target[field]) } } if ((0, _type.isEmptyObject)(themes) && (0, _type.isEmptyObject)(themesMapping) && !defaultTheme) { [].concat(_generic.default, _generic2.default, _generic3.default, _generic4.default, _generic5.default, _generic6.default, _generic7.default, _generic8.default, _material.default).forEach((function(t) { registerTheme(t.theme, t.baseThemeName) })) } }, 46163: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/translators/category_translator.js ***! \************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var round = Math.round; function getValue(value) { return value } var _default = { translate: function(category, directionOffset) { var canvasOptions = this._canvasOptions; var categoryIndex = this._categoriesToPoints[null === category || void 0 === category ? void 0 : category.valueOf()]; var specialValue = this.translateSpecialCase(category); var startPointIndex = canvasOptions.startPointIndex || 0; var stickInterval = this._options.stick ? 0 : .5; if ((0, _type.isDefined)(specialValue)) { return round(specialValue) } if (!categoryIndex && 0 !== categoryIndex) { return null } directionOffset = directionOffset || 0; var stickDelta = categoryIndex + stickInterval - startPointIndex + .5 * directionOffset; return round(this._calculateProjection(canvasOptions.interval * stickDelta)) }, getInterval: function() { return this._canvasOptions.interval }, getEventScale: function(zoomEvent) { var scale = zoomEvent.deltaScale || 1; return 1 - (1 - scale) / (.75 + this.visibleCategories.length / this._categories.length) }, zoom: function(translate, scale) { var categories = this._categories; var canvasOptions = this._canvasOptions; var stick = this._options.stick; var invert = canvasOptions.invert; var interval = canvasOptions.interval * scale; var translateCategories = translate / interval; var visibleCount = (this.visibleCategories || []).length; var startCategoryIndex = parseInt((canvasOptions.startPointIndex || 0) + translateCategories + .5); var categoriesLength = parseInt((0, _math.adjust)(canvasOptions.canvasLength / interval) + (stick ? 1 : 0)) || 1; var endCategoryIndex; if (invert) { startCategoryIndex = parseInt((canvasOptions.startPointIndex || 0) + visibleCount - translateCategories + .5) - categoriesLength } if (startCategoryIndex < 0) { startCategoryIndex = 0 } endCategoryIndex = startCategoryIndex + categoriesLength; if (endCategoryIndex > categories.length) { endCategoryIndex = categories.length; startCategoryIndex = endCategoryIndex - categoriesLength; if (startCategoryIndex < 0) { startCategoryIndex = 0 } } var newVisibleCategories = categories.slice(parseInt(startCategoryIndex), parseInt(endCategoryIndex)); var newInterval = this._getDiscreteInterval(newVisibleCategories.length, canvasOptions); scale = newInterval / canvasOptions.interval; translate = this.translate(!invert ? newVisibleCategories[0] : newVisibleCategories[newVisibleCategories.length - 1]) * scale - (canvasOptions.startPoint + (stick ? 0 : newInterval / 2)); return { min: newVisibleCategories[0], max: newVisibleCategories[newVisibleCategories.length - 1], translate: translate, scale: scale } }, getMinScale: function(zoom) { var canvasOptions = this._canvasOptions; var categoriesLength = (this.visibleCategories || this._categories).length; categoriesLength += (parseInt(.1 * categoriesLength) || 1) * (zoom ? -2 : 2); return canvasOptions.canvasLength / (Math.max(categoriesLength, 1) * canvasOptions.interval) }, getScale: function(min, max) { var canvasOptions = this._canvasOptions; var visibleArea = this.getCanvasVisibleArea(); var stickOffset = !this._options.stick && 1; var minPoint = (0, _type.isDefined)(min) ? this.translate(min, -stickOffset) : null; var maxPoint = (0, _type.isDefined)(max) ? this.translate(max, +stickOffset) : null; if (null === minPoint) { minPoint = canvasOptions.invert ? visibleArea.max : visibleArea.min } if (null === maxPoint) { maxPoint = canvasOptions.invert ? visibleArea.min : visibleArea.max } return this.canvasLength / Math.abs(maxPoint - minPoint) }, isValid: function(value) { return (0, _type.isDefined)(value) ? this._categoriesToPoints[value.valueOf()] >= 0 : false }, getCorrectValue: getValue, to: function(value, direction) { var canvasOptions = this._canvasOptions; var categoryIndex = this._categoriesToPoints[null === value || void 0 === value ? void 0 : value.valueOf()]; var startPointIndex = canvasOptions.startPointIndex || 0; var stickDelta = categoryIndex + (this._options.stick ? 0 : .5) - startPointIndex + (this._businessRange.invert ? -1 : 1) * direction * .5; return round(this._calculateProjection(canvasOptions.interval * stickDelta)) }, from: function(position) { var direction = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; var canvasOptions = this._canvasOptions; var startPoint = canvasOptions.startPoint; var categories = this.visibleCategories || this._categories; var categoriesLength = categories.length; var stickInterval = this._options.stick ? .5 : 0; var result = round((position - startPoint) / canvasOptions.interval + stickInterval - .5 - .5 * direction); if (result >= categoriesLength) { result = categoriesLength - 1 } if (result < 0) { result = 0 } if (canvasOptions.invert) { result = categoriesLength - result - 1 } return categories[result] }, _add: function() { return NaN }, toValue: getValue, isValueProlonged: true, getRangeByMinZoomValue: function(minZoom, visualRange) { var categories = this._categories; var minVisibleIndex = categories.indexOf(visualRange.minVisible); var maxVisibleIndex = categories.indexOf(visualRange.maxVisible); var startIndex = minVisibleIndex + minZoom - 1; var endIndex = maxVisibleIndex - minZoom + 1; if (categories[startIndex]) { return [visualRange.minVisible, categories[startIndex]] } else { return [categories[endIndex], visualRange.maxVisible] } } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 75480: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/translators/datetime_translator.js ***! \************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _date = (obj = __webpack_require__( /*! ../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; function parse(value) { return null !== value ? new Date(value) : value } var _default = { fromValue: parse, toValue: parse, _add: _date.default.addDateInterval, convert: _date.default.dateToMilliseconds }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 93175: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/translators/interval_translator.js ***! \************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _date = (obj = __webpack_require__( /*! ../../core/utils/date */ 91198), obj && obj.__esModule ? obj : { default: obj }); var obj; var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var floor = Math.floor; var _default = { _intervalize: function(value, interval) { if (!(0, _type.isDefined)(value)) { return } if ("datetime" === this._businessRange.dataType) { if ((0, _type.isNumeric)(value)) { value = new Date(value) } else { value = new Date(value.getTime()) } value = _date.default.correctDateWithUnitBeginning(value, interval, null, this._options.firstDayOfWeek) } else { value = (0, _math.adjust)(floor((0, _math.adjust)(value / interval)) * interval, interval) } return value }, translate: function(bp, direction, interval) { var specialValue = this.translateSpecialCase(bp); if ((0, _type.isDefined)(specialValue)) { return Math.round(specialValue) } interval = interval || this._options.interval; if (!this.isValid(bp, interval)) { return null } return this.to(bp, direction, interval) }, getInterval: function() { return Math.round(this._canvasOptions.ratioOfCanvasRange * (this._businessRange.interval || Math.abs(this._canvasOptions.rangeMax - this._canvasOptions.rangeMin))) }, zoom: function() {}, getMinScale: function() {}, getScale: function() {}, _parse: function(value) { return "datetime" === this._businessRange.dataType ? new Date(value) : Number(value) }, fromValue: function(value) { return this._parse(value) }, toValue: function(value) { return this._parse(value) }, isValid: function(value, interval) { var co = this._canvasOptions; var rangeMin = co.rangeMin; var rangeMax = co.rangeMax; interval = interval || this._options.interval; if (null === value || isNaN(value)) { return false } value = "datetime" === this._businessRange.dataType && (0, _type.isNumeric)(value) ? new Date(value) : value; if (interval !== this._options.interval) { rangeMin = this._intervalize(rangeMin, interval); rangeMax = this._intervalize(rangeMax, interval) } if (value.valueOf() < rangeMin || value.valueOf() >= _date.default.addInterval(rangeMax, interval)) { return false } return true }, to: function(bp, direction, interval) { interval = interval || this._options.interval; var v1 = this._intervalize(bp, interval); var v2 = _date.default.addInterval(v1, interval); var res = this._to(v1); var p2 = this._to(v2); if (!direction) { res = floor((res + p2) / 2) } else if (direction > 0) { res = p2 } return res }, _to: function(value) { var co = this._canvasOptions; var rMin = co.rangeMinVisible; var rMax = co.rangeMaxVisible; var offset = value - rMin; if (value < rMin) { offset = 0 } else if (value > rMax) { offset = _date.default.addInterval(rMax, this._options.interval) - rMin } return this._conversionValue(this._calculateProjection(offset * this._canvasOptions.ratioOfCanvasRange)) }, from: function(position, direction) { var origInterval = this._options.interval; var interval = origInterval; var co = this._canvasOptions; var rMin = co.rangeMinVisible; var rMax = co.rangeMaxVisible; var value; if ("datetime" === this._businessRange.dataType) { interval = _date.default.dateToMilliseconds(origInterval) } value = this._calculateUnProjection((position - this._canvasOptions.startPoint) / this._canvasOptions.ratioOfCanvasRange); value = this._intervalize(_date.default.addInterval(value, interval / 2, direction > 0), origInterval); if (value < rMin) { value = rMin } else if (value > rMax) { value = rMax } return value }, _add: function() { return NaN }, isValueProlonged: true }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 1804: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/translators/logarithmic_translator.js ***! \***************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _default = { fromValue: function(value) { return null !== value ? (0, _utils.getLogExt)(value, this._canvasOptions.base, this._businessRange.allowNegatives, this._businessRange.linearThreshold) : value }, toValue: function(value) { return null !== value ? (0, _utils.raiseToExt)(value, this._canvasOptions.base, this._businessRange.allowNegatives, this._businessRange.linearThreshold) : value }, getMinBarSize: function(minBarSize) { var visibleArea = this.getCanvasVisibleArea(); var minValue = this.from(visibleArea.min + minBarSize); var canvasOptions = this._canvasOptions; var startValue = this.fromValue(this.from(visibleArea.min)); var endValue = this.fromValue(null !== minValue && void 0 !== minValue ? minValue : this.from(visibleArea.max)); var value = Math.abs(startValue - endValue); return Math.pow(canvasOptions.base, value) }, checkMinBarSize: function(initialValue, minShownValue, stackValue) { var canvasOptions = this._canvasOptions; var prevValue = stackValue ? stackValue - initialValue : 0; var baseMethod = this.constructor.prototype.checkMinBarSize; var minBarSize; var updateValue; if ((0, _type.isDefined)(minShownValue) && prevValue > 0) { minBarSize = baseMethod(this.fromValue(stackValue / prevValue), this.fromValue(minShownValue) - canvasOptions.rangeMinVisible); updateValue = Math.pow(canvasOptions.base, this.fromValue(prevValue) + minBarSize) - prevValue } else { updateValue = baseMethod(initialValue, minShownValue) } return updateValue } }; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 21177: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/translators/range.js ***! \**********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Range = void 0; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _isDefined = _type.isDefined; var _isDate = _type.isDate; var _isFunction = _type.isFunction; function otherLessThan(thisValue, otherValue) { return otherValue < thisValue } function otherGreaterThan(thisValue, otherValue) { return otherValue > thisValue } function compareAndReplace(thisValue, otherValue, setValue, compare) { var otherValueDefined = _isDefined(otherValue); if (_isDefined(thisValue)) { if (otherValueDefined && compare(thisValue, otherValue)) { setValue(otherValue) } } else if (otherValueDefined) { setValue(otherValue) } } var Range = function(range) { range && (0, _extend.extend)(this, range) }; exports.Range = Range; var _Range = Range; _Range.prototype = { constructor: _Range, addRange: function(otherRange) { var that = this; var categories = that.categories; var otherCategories = otherRange.categories; var isDiscrete = "discrete" === that.axisType; var compareAndReplaceByField = function(field, compare) { compareAndReplace(that[field], otherRange[field], (function(value) { that[field] = value }), compare) }; var controlValuesByVisibleBounds = function(valueField, visibleValueField, compare) { compareAndReplace(that[valueField], that[visibleValueField], (function(value) { _isDefined(that[valueField]) && (that[valueField] = value) }), compare) }; var checkField = function(field) { that[field] = that[field] || otherRange[field] }; checkField("invert"); checkField("containsConstantLine"); checkField("axisType"); checkField("dataType"); checkField("isSpacedMargin"); if ("logarithmic" === that.axisType) { checkField("base") } else { that.base = void 0 } compareAndReplaceByField("min", otherLessThan); compareAndReplaceByField("max", otherGreaterThan); if (isDiscrete) { checkField("minVisible"); checkField("maxVisible") } else { compareAndReplaceByField("minVisible", otherLessThan); compareAndReplaceByField("maxVisible", otherGreaterThan) } compareAndReplaceByField("interval", otherLessThan); if (!isDiscrete) { controlValuesByVisibleBounds("min", "minVisible", otherLessThan); controlValuesByVisibleBounds("min", "maxVisible", otherLessThan); controlValuesByVisibleBounds("max", "maxVisible", otherGreaterThan); controlValuesByVisibleBounds("max", "minVisible", otherGreaterThan) } if (void 0 === categories) { that.categories = otherCategories } else { that.categories = otherCategories ? (0, _utils.unique)(categories.concat(otherCategories)) : categories } if ("logarithmic" === that.axisType) { checkField("allowNegatives"); compareAndReplaceByField("linearThreshold", otherLessThan) } return that }, isEmpty: function() { return (!_isDefined(this.min) || !_isDefined(this.max)) && (!this.categories || 0 === this.categories.length) }, correctValueZeroLevel: function() { var that = this; if (_isDate(that.max) || _isDate(that.min)) { return that } function setZeroLevel(min, max) { that[min] < 0 && that[max] < 0 && (that[max] = 0); that[min] > 0 && that[max] > 0 && (that[min] = 0) } setZeroLevel("min", "max"); setZeroLevel("minVisible", "maxVisible"); return that }, sortCategories: function(sort) { if (false === sort || !this.categories) { return } if (Array.isArray(sort)) { var sortValues = sort.map((function(item) { return item.valueOf() })); var filteredSeriesCategories = this.categories.filter((function(item) { return -1 === sortValues.indexOf(item.valueOf()) })); this.categories = sort.concat(filteredSeriesCategories) } else { var notAFunction = !_isFunction(sort); if (notAFunction && "string" !== this.dataType) { sort = function(a, b) { return a.valueOf() - b.valueOf() } } else if (notAFunction) { sort = false } sort && this.categories.sort(sort) } } } }, 17953: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/translators/translator1d.js ***! \*****************************************************************************/ function(__unused_webpack_module, exports) { exports.Translator1D = Translator1D; var _Number = Number; function Translator1D() { this.setDomain(arguments[0], arguments[1]).setCodomain(arguments[2], arguments[3]).setInverted(false) } Translator1D.prototype = { constructor: Translator1D, setDomain: function(domain1, domain2) { this._domain1 = _Number(domain1); this._domain2 = _Number(domain2); this._domainDelta = this._domain2 - this._domain1; return this }, setCodomain: function(codomain1, codomain2) { this._codomain1 = _Number(codomain1); this._codomain2 = _Number(codomain2); this._codomainDelta = this._codomain2 - this._codomain1; return this }, setInverted: function(state) { this.inverted = state }, getDomain: function() { return [this._domain1, this._domain2] }, getCodomain: function() { return [this._codomain1, this._codomain2] }, getDomainStart: function() { return this._domain1 }, getDomainEnd: function() { return this._domain2 }, getCodomainStart: function() { return this._codomain1 }, getCodomainEnd: function() { return this._codomain2 }, getDomainRange: function() { return this._domainDelta }, getCodomainRange: function() { return this._codomainDelta }, translate: function(value) { var ratio = (_Number(value) - this._domain1) / this._domainDelta; this.inverted && (ratio = 1 - ratio); return 0 <= ratio && ratio <= 1 ? this._codomain1 + ratio * this._codomainDelta : NaN }, adjust: function(value) { var ratio = (_Number(value) - this._domain1) / this._domainDelta; var result = NaN; if (ratio < 0) { result = this._domain1 } else if (ratio > 1) { result = this._domain2 } else if (0 <= ratio && ratio <= 1) { result = _Number(value) } return result } } }, 87276: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/translators/translator2d.js ***! \*****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Translator2D = void 0; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _range = __webpack_require__( /*! ./range */ 21177); var _category_translator = _interopRequireDefault(__webpack_require__( /*! ./category_translator */ 46163)); var _interval_translator = _interopRequireDefault(__webpack_require__( /*! ./interval_translator */ 93175)); var _datetime_translator = _interopRequireDefault(__webpack_require__( /*! ./datetime_translator */ 75480)); var _logarithmic_translator = _interopRequireDefault(__webpack_require__( /*! ./logarithmic_translator */ 1804)); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _math = __webpack_require__( /*! ../../core/utils/math */ 60810); var _date = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/date */ 91198)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _abs = Math.abs; var CANVAS_PROP = ["width", "height", "left", "top", "bottom", "right"]; var dummyTranslator = { to: function(value) { var coord = this._canvasOptions.startPoint + (this._options.conversionValue ? value : Math.round(value)); return coord > this._canvasOptions.endPoint ? this._canvasOptions.endPoint : coord }, from: function(value) { return value - this._canvasOptions.startPoint } }; var validateCanvas = function(canvas) { (0, _iterator.each)(CANVAS_PROP, (function(_, prop) { canvas[prop] = parseInt(canvas[prop]) || 0 })); return canvas }; function getCheckingMethodsAboutBreaks(inverted) { return { isStartSide: !inverted ? function(pos, breaks, start, end) { return pos < breaks[0][start] } : function(pos, breaks, start, end) { return pos <= breaks[breaks.length - 1][end] }, isEndSide: !inverted ? function(pos, breaks, start, end) { return pos >= breaks[breaks.length - 1][end] } : function(pos, breaks, start, end) { return pos > breaks[0][start] }, isInBreak: !inverted ? function(pos, br, start, end) { return pos >= br[start] && pos < br[end] } : function(pos, br, start, end) { return pos > br[end] && pos <= br[start] }, isBetweenBreaks: !inverted ? function(pos, br, prevBreak, start, end) { return pos < br[start] && pos >= prevBreak[end] } : function(pos, br, prevBreak, start, end) { return pos >= br[end] && pos < prevBreak[start] }, getLength: !inverted ? function(br) { return br.length } : function(br, lastBreak) { return lastBreak.length - br.length }, getBreaksSize: !inverted ? function(br) { return br.cumulativeWidth } : function(br, lastBreak) { return lastBreak.cumulativeWidth - br.cumulativeWidth } } } var _Translator2d = function(businessRange, canvas, options) { this.update(businessRange, canvas, options) }; exports.Translator2D = _Translator2d; _Translator2d.prototype = { constructor: _Translator2d, reinit: function() { var that = this; var options = that._options; var range = that._businessRange; var categories = range.categories || []; var script = {}; var canvasOptions = that._prepareCanvasOptions(); var visibleCategories = (0, _utils.getCategoriesInfo)(categories, range.minVisible, range.maxVisible).categories; var categoriesLength = visibleCategories.length; if (range.isEmpty()) { script = dummyTranslator } else { switch (range.axisType) { case "logarithmic": script = _logarithmic_translator.default; break; case "semidiscrete": script = _interval_translator.default; canvasOptions.ratioOfCanvasRange = canvasOptions.canvasLength / (_date.default.addInterval(canvasOptions.rangeMaxVisible, options.interval) - canvasOptions.rangeMinVisible); break; case "discrete": script = _category_translator.default; that._categories = categories; canvasOptions.interval = that._getDiscreteInterval(options.addSpiderCategory ? categoriesLength + 1 : categoriesLength, canvasOptions); that._categoriesToPoints = function(categories) { var categoriesToPoints = {}; categories.forEach((function(item, i) { categoriesToPoints[item.valueOf()] = i })); return categoriesToPoints }(categories); if (categoriesLength) { canvasOptions.startPointIndex = that._categoriesToPoints[visibleCategories[0].valueOf()]; that.visibleCategories = visibleCategories } break; default: if ("datetime" === range.dataType) { script = _datetime_translator.default } } }(that._oldMethods || []).forEach((function(methodName) { delete that[methodName] })); that._oldMethods = Object.keys(script); (0, _extend.extend)(that, script); that._conversionValue = options.conversionValue ? function(value) { return value } : function(value) { return Math.round(value) }; that.sc = {}; that._checkingMethodsAboutBreaks = [getCheckingMethodsAboutBreaks(false), getCheckingMethodsAboutBreaks(that.isInverted())]; that._translateBreaks(); that._calculateSpecialValues() }, _translateBreaks: function() { var breaks = this._breaks; var size = this._options.breaksSize; var i; var b; var end; var length; if (void 0 === breaks) { return } for (i = 0, length = breaks.length; i < length; i++) { b = breaks[i]; end = this.translate(b.to); b.end = end; b.start = !b.gapSize ? !this.isInverted() ? end - size : end + size : end } }, _checkValueAboutBreaks: function(breaks, pos, start, end, methods) { var i; var length; var prop = { length: 0, breaksSize: void 0, inBreak: false }; var br; var prevBreak; var lastBreak = breaks[breaks.length - 1]; if (methods.isStartSide(pos, breaks, start, end)) { return prop } else if (methods.isEndSide(pos, breaks, start, end)) { return { length: lastBreak.length, breaksSize: lastBreak.cumulativeWidth, inBreak: false } } for (i = 0, length = breaks.length; i < length; i++) { br = breaks[i]; prevBreak = breaks[i - 1]; if (methods.isInBreak(pos, br, start, end)) { prop.inBreak = true; prop.break = br; break } if (prevBreak && methods.isBetweenBreaks(pos, br, prevBreak, start, end)) { prop = { length: methods.getLength(prevBreak, lastBreak), breaksSize: methods.getBreaksSize(prevBreak, lastBreak), inBreak: false }; break } } return prop }, isInverted: function() { return !(this._options.isHorizontal ^ this._businessRange.invert) }, _getDiscreteInterval: function(categoriesLength, canvasOptions) { var correctedCategoriesCount = categoriesLength - (this._options.stick ? 1 : 0); return correctedCategoriesCount > 0 ? canvasOptions.canvasLength / correctedCategoriesCount : canvasOptions.canvasLength }, _prepareCanvasOptions: function() { var businessRange = this._businessRange; var canvasOptions = this._canvasOptions = function(range) { var min = range.min; var max = range.max; var minVisible = range.minVisible; var maxVisible = range.maxVisible; var isLogarithmic = "logarithmic" === range.axisType; if (isLogarithmic) { maxVisible = (0, _utils.getLogExt)(maxVisible, range.base, range.allowNegatives, range.linearThreshold); minVisible = (0, _utils.getLogExt)(minVisible, range.base, range.allowNegatives, range.linearThreshold); min = (0, _utils.getLogExt)(min, range.base, range.allowNegatives, range.linearThreshold); max = (0, _utils.getLogExt)(max, range.base, range.allowNegatives, range.linearThreshold) } return { base: range.base, rangeMin: min, rangeMax: max, rangeMinVisible: minVisible, rangeMaxVisible: maxVisible } }(businessRange); var canvas = this._canvas; var breaks = this._breaks; var length; canvasOptions.startPadding = canvas.startPadding || 0; canvasOptions.endPadding = canvas.endPadding || 0; if (this._options.isHorizontal) { canvasOptions.startPoint = canvas.left + canvasOptions.startPadding; length = canvas.width; canvasOptions.endPoint = canvas.width - canvas.right - canvasOptions.endPadding; canvasOptions.invert = businessRange.invert } else { canvasOptions.startPoint = canvas.top + canvasOptions.startPadding; length = canvas.height; canvasOptions.endPoint = canvas.height - canvas.bottom - canvasOptions.endPadding; canvasOptions.invert = !businessRange.invert } this.canvasLength = canvasOptions.canvasLength = canvasOptions.endPoint - canvasOptions.startPoint; canvasOptions.rangeDoubleError = Math.pow(10, (0, _utils.getPower)(canvasOptions.rangeMax - canvasOptions.rangeMin) - (0, _utils.getPower)(length) - 2); canvasOptions.ratioOfCanvasRange = canvasOptions.canvasLength / (canvasOptions.rangeMaxVisible - canvasOptions.rangeMinVisible); if (void 0 !== breaks) { canvasOptions.ratioOfCanvasRange = (canvasOptions.canvasLength - breaks[breaks.length - 1].cumulativeWidth) / (canvasOptions.rangeMaxVisible - canvasOptions.rangeMinVisible - breaks[breaks.length - 1].length) } return canvasOptions }, updateCanvas: function(canvas) { this._canvas = validateCanvas(canvas); this.reinit() }, updateBusinessRange: function(businessRange) { var breaks = businessRange.breaks || []; this._userBreaks = businessRange.userBreaks || []; this._businessRange = function(businessRange) { if (!(businessRange instanceof _range.Range)) { businessRange = new _range.Range(businessRange) } function validate(valueSelector, baseValueSelector) { if (!(0, _type.isDefined)(businessRange[valueSelector]) && (0, _type.isDefined)(businessRange[baseValueSelector])) { businessRange[valueSelector] = businessRange[baseValueSelector] } } validate("minVisible", "min"); validate("maxVisible", "max"); return businessRange }(businessRange); this._breaks = breaks.length ? function(breaks, range) { var transform = "logarithmic" === range.axisType ? function(value) { return (0, _utils.getLogExt)(value, range.base) } : function(value) { return value }; var array = []; var br; var transformFrom; var transformTo; var i; var length = breaks.length; var sum = 0; for (i = 0; i < length; i++) { br = breaks[i]; transformFrom = transform(br.from); transformTo = transform(br.to); sum += transformTo - transformFrom; array.push({ trFrom: transformFrom, trTo: transformTo, from: br.from, to: br.to, length: sum, cumulativeWidth: br.cumulativeWidth }) } return array }(breaks, this._businessRange) : void 0; this.reinit() }, update: function(businessRange, canvas, options) { this._options = (0, _extend.extend)(this._options || {}, options); this._canvas = validateCanvas(canvas); this.updateBusinessRange(businessRange) }, getBusinessRange: function() { return this._businessRange }, getEventScale: function(zoomEvent) { return zoomEvent.deltaScale || 1 }, getCanvasVisibleArea: function() { return { min: this._canvasOptions.startPoint, max: this._canvasOptions.endPoint } }, _calculateSpecialValues: function() { var canvasOptions = this._canvasOptions; var startPoint = canvasOptions.startPoint - canvasOptions.startPadding; var endPoint = canvasOptions.endPoint + canvasOptions.endPadding; var range = this._businessRange; var minVisible = range.minVisible; var maxVisible = range.maxVisible; var canvas_position_center_middle = startPoint + canvasOptions.canvasLength / 2; var canvas_position_default; if (minVisible < 0 && maxVisible > 0 && minVisible !== maxVisible) { canvas_position_default = this.translate(0, 1) } if (!(0, _type.isDefined)(canvas_position_default)) { var invert = range.invert ^ (minVisible < 0 && maxVisible <= 0); if (this._options.isHorizontal) { canvas_position_default = invert ? endPoint : startPoint } else { canvas_position_default = invert ? startPoint : endPoint } } this.sc = { canvas_position_default: canvas_position_default, canvas_position_left: startPoint, canvas_position_top: startPoint, canvas_position_center: canvas_position_center_middle, canvas_position_middle: canvas_position_center_middle, canvas_position_right: endPoint, canvas_position_bottom: endPoint, canvas_position_start: canvasOptions.invert ? endPoint : startPoint, canvas_position_end: canvasOptions.invert ? startPoint : endPoint } }, translateSpecialCase: function(value) { return this.sc[value] }, _calculateProjection: function(distance) { var canvasOptions = this._canvasOptions; return canvasOptions.invert ? canvasOptions.endPoint - distance : canvasOptions.startPoint + distance }, _calculateUnProjection: function(distance) { var canvasOptions = this._canvasOptions; "datetime" === this._businessRange.dataType && (distance = Math.round(distance)); return canvasOptions.invert ? canvasOptions.rangeMaxVisible.valueOf() - distance : canvasOptions.rangeMinVisible.valueOf() + distance }, getMinBarSize: function(minBarSize) { var visibleArea = this.getCanvasVisibleArea(); var minValue = this.from(visibleArea.min + minBarSize); return _abs(this.from(visibleArea.min) - (!(0, _type.isDefined)(minValue) ? this.from(visibleArea.max) : minValue)) }, checkMinBarSize: function(value, minShownValue) { return _abs(value) < minShownValue ? value >= 0 ? minShownValue : -minShownValue : value }, translate: function(bp, direction) { var specialValue = this.translateSpecialCase(bp); if ((0, _type.isDefined)(specialValue)) { return Math.round(specialValue) } if (isNaN(bp)) { return null } return this.to(bp, direction) }, getInterval: function(interval) { var _interval; var canvasOptions = this._canvasOptions; interval = null !== (_interval = interval) && void 0 !== _interval ? _interval : this._businessRange.interval; if (interval) { return Math.round(canvasOptions.ratioOfCanvasRange * interval) } return Math.round(canvasOptions.endPoint - canvasOptions.startPoint) }, zoom: function(translate, scale, wholeRange) { var canvasOptions = this._canvasOptions; if (canvasOptions.rangeMinVisible.valueOf() === canvasOptions.rangeMaxVisible.valueOf() && 0 !== translate) { return this.zoomZeroLengthRange(translate, scale) } var startPoint = canvasOptions.startPoint; var endPoint = canvasOptions.endPoint; var isInverted = this.isInverted(); var newStart = (startPoint + translate) / scale; var newEnd = (endPoint + translate) / scale; wholeRange = wholeRange || {}; var minPoint = this.to(isInverted ? wholeRange.endValue : wholeRange.startValue); var maxPoint = this.to(isInverted ? wholeRange.startValue : wholeRange.endValue); var min; var max; if (minPoint > newStart) { newEnd -= newStart - minPoint; newStart = minPoint; min = isInverted ? wholeRange.endValue : wholeRange.startValue } if (maxPoint < newEnd) { newStart -= newEnd - maxPoint; newEnd = maxPoint; max = isInverted ? wholeRange.startValue : wholeRange.endValue } if (maxPoint - minPoint < newEnd - newStart) { newStart = minPoint; newEnd = maxPoint } translate = (endPoint - startPoint) * newStart / (newEnd - newStart) - startPoint; scale = (startPoint + translate) / newStart || 1; min = (0, _type.isDefined)(min) ? min : (0, _math.adjust)(this.from(newStart, 1)); max = (0, _type.isDefined)(max) ? max : (0, _math.adjust)(this.from(newEnd, -1)); if (scale <= 1) { min = this._correctValueAboutBreaks(min, 1 === scale ? translate : -1); max = this._correctValueAboutBreaks(max, 1 === scale ? translate : 1) } if (min > max) { min = min > wholeRange.endValue ? wholeRange.endValue : min; max = max < wholeRange.startValue ? wholeRange.startValue : max } else { min = min < wholeRange.startValue ? wholeRange.startValue : min; max = max > wholeRange.endValue ? wholeRange.endValue : max } return { min: min, max: max, translate: (0, _math.adjust)(translate), scale: (0, _math.adjust)(scale) } }, _correctValueAboutBreaks: function(value, direction) { var br = this._userBreaks.filter((function(br) { return value >= br.from && value <= br.to })); if (br.length) { return direction > 0 ? br[0].to : br[0].from } else { return value } }, zoomZeroLengthRange: function(translate, scale) { var canvasOptions = this._canvasOptions; var min = canvasOptions.rangeMin; var max = canvasOptions.rangeMax; var correction = (max.valueOf() !== min.valueOf() ? max.valueOf() - min.valueOf() : _abs(canvasOptions.rangeMinVisible.valueOf() - min.valueOf())) / canvasOptions.canvasLength; var isDateTime = (0, _type.isDate)(max) || (0, _type.isDate)(min); var isLogarithmic = "logarithmic" === this._businessRange.axisType; var newMin = canvasOptions.rangeMinVisible.valueOf() - correction; var newMax = canvasOptions.rangeMaxVisible.valueOf() + correction; newMin = isLogarithmic ? (0, _math.adjust)((0, _utils.raiseToExt)(newMin, canvasOptions.base)) : isDateTime ? new Date(newMin) : newMin; newMax = isLogarithmic ? (0, _math.adjust)((0, _utils.raiseToExt)(newMax, canvasOptions.base)) : isDateTime ? new Date(newMax) : newMax; return { min: newMin, max: newMax, translate: translate, scale: scale } }, getMinScale: function(zoom) { var _this$_businessRange = this._businessRange, dataType = _this$_businessRange.dataType, interval = _this$_businessRange.interval; if ("datetime" === dataType && 1 === interval) { return this.getDateTimeMinScale(zoom) } return zoom ? 1.1 : .9 }, getDateTimeMinScale: function(zoom) { var canvasOptions = this._canvasOptions; var length = canvasOptions.canvasLength / canvasOptions.ratioOfCanvasRange; length += (parseInt(.1 * length) || 1) * (zoom ? -2 : 2); return canvasOptions.canvasLength / (Math.max(length, 1) * canvasOptions.ratioOfCanvasRange) }, getScale: function(val1, val2) { var canvasOptions = this._canvasOptions; if (canvasOptions.rangeMax === canvasOptions.rangeMin) { return 1 } val1 = (0, _type.isDefined)(val1) ? this.fromValue(val1) : canvasOptions.rangeMin; val2 = (0, _type.isDefined)(val2) ? this.fromValue(val2) : canvasOptions.rangeMax; return (canvasOptions.rangeMax - canvasOptions.rangeMin) / Math.abs(val1 - val2) }, isValid: function(value) { var co = this._canvasOptions; value = this.fromValue(value); return null !== value && !isNaN(value) && value.valueOf() + co.rangeDoubleError >= co.rangeMin && value.valueOf() - co.rangeDoubleError <= co.rangeMax }, getCorrectValue: function(value, direction) { var breaks = this._breaks; var prop; value = this.fromValue(value); if (this._breaks) { prop = this._checkValueAboutBreaks(breaks, value, "trFrom", "trTo", this._checkingMethodsAboutBreaks[0]); if (true === prop.inBreak) { return this.toValue(direction > 0 ? prop.break.trTo : prop.break.trFrom) } } return this.toValue(value) }, to: function(bp, direction) { var range = this.getBusinessRange(); if ((0, _type.isDefined)(range.maxVisible) && (0, _type.isDefined)(range.minVisible) && range.maxVisible.valueOf() === range.minVisible.valueOf()) { if (!(0, _type.isDefined)(bp) || range.maxVisible.valueOf() !== bp.valueOf()) { return null } return this.translateSpecialCase(0 === bp && this._options.shiftZeroValue ? "canvas_position_default" : "canvas_position_middle") } bp = this.fromValue(bp); var canvasOptions = this._canvasOptions; var breaks = this._breaks; var prop = { length: 0 }; var commonBreakSize = 0; if (void 0 !== breaks) { prop = this._checkValueAboutBreaks(breaks, bp, "trFrom", "trTo", this._checkingMethodsAboutBreaks[0]); commonBreakSize = (0, _type.isDefined)(prop.breaksSize) ? prop.breaksSize : 0 } if (true === prop.inBreak) { if (direction > 0) { return prop.break.start } else if (direction < 0) { return prop.break.end } else { return null } } return this._conversionValue(this._calculateProjection((bp - canvasOptions.rangeMinVisible - prop.length) * canvasOptions.ratioOfCanvasRange + commonBreakSize)) }, from: function(pos, direction) { var breaks = this._breaks; var prop = { length: 0 }; var canvasOptions = this._canvasOptions; var startPoint = canvasOptions.startPoint; var commonBreakSize = 0; if (void 0 !== breaks) { prop = this._checkValueAboutBreaks(breaks, pos, "start", "end", this._checkingMethodsAboutBreaks[1]); commonBreakSize = (0, _type.isDefined)(prop.breaksSize) ? prop.breaksSize : 0 } if (true === prop.inBreak) { if (direction > 0) { return this.toValue(prop.break.trTo) } else if (direction < 0) { return this.toValue(prop.break.trFrom) } else { return null } } return this.toValue(this._calculateUnProjection((pos - startPoint - commonBreakSize) / canvasOptions.ratioOfCanvasRange + prop.length)) }, isValueProlonged: false, getRange: function() { return [this.toValue(this._canvasOptions.rangeMin), this.toValue(this._canvasOptions.rangeMax)] }, getScreenRange: function() { return [this._canvasOptions.startPoint, this._canvasOptions.endPoint] }, add: function(value, diff, dir) { return this._add(value, diff, (this._businessRange.invert ? -1 : 1) * dir) }, _add: function(value, diff, coeff) { return this.toValue(this.fromValue(value) + diff * coeff) }, fromValue: function(value) { return null !== value ? Number(value) : null }, toValue: function(value) { return null !== value ? Number(value) : null }, ratioOfCanvasRange: function() { return this._canvasOptions.ratioOfCanvasRange }, convert: function(value) { return value }, getRangeByMinZoomValue: function(minZoom, visualRange) { if (visualRange.minVisible + minZoom <= this._businessRange.max) { return [visualRange.minVisible, visualRange.minVisible + minZoom] } else { return [visualRange.maxVisible - minZoom, visualRange.maxVisible] } } } }, 15584: /*!*************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map.js ***! \*************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _tree_map = (obj = __webpack_require__( /*! ./tree_map/tree_map */ 4080), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _tree_map.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 4815: /*!*****************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/api.js ***! \*****************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _tree_map = _interopRequireDefault(__webpack_require__( /*! ./tree_map.base */ 49983)); var _node = _interopRequireDefault(__webpack_require__( /*! ./node */ 21168)); var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var proto = _tree_map.default.prototype; var nodeProto = _node.default.prototype; proto._eventsMap.onNodesInitialized = { name: "nodesInitialized" }; proto._eventsMap.onNodesRendering = { name: "nodesRendering" }; proto._createProxyType = function() { var that = this; var nodes; Proxy.prototype = { constructor: Proxy, getParent: function() { return nodes[this._id].parent.proxy || null }, getChild: function(index) { var _nodes = nodes[this._id].nodes; return _nodes ? _nodes[index].proxy : null }, getChildrenCount: function() { var _nodes = nodes[this._id].nodes; return _nodes ? _nodes.length : 0 }, getAllChildren: function() { var _nodes = nodes[this._id].nodes; var i; var ii = _nodes && _nodes.length; var list = []; for (i = 0; i < ii; ++i) { list.push(_nodes[i].proxy) } return list }, getAllNodes: function() { var list = []; ! function collectNodes(node, list) { var nodes = node.nodes; var i; var ii = nodes && nodes.length; for (i = 0; i < ii; ++i) { list.push(nodes[i].proxy); collectNodes(nodes[i], list) } }(nodes[this._id], list); return list }, isLeaf: function() { return !nodes[this._id].isNode() }, isActive: function() { return nodes[this._id].isActive() }, value: function(arg) { var node = nodes[this._id]; var result; if (void 0 !== arg) { ! function(node, value) { var delta = value - node.value; while (node) { node.value += delta; node = node.parent } }(node, arg > 0 ? Number(arg) : 0); change(node, ["TILING"]); result = this } else { result = node.value } return result }, label: function(arg) { var node = nodes[this._id]; var result; if (void 0 !== arg) { node.customLabel = arg ? String(arg) : null; change(node, ["LABELS"]); result = this } else { result = node.customLabel || node.label } return result }, customize: function(settings) { var node = nodes[this._id]; if (settings) { node._custom = node._custom || {}; (0, _extend2.extend)(true, node._custom, settings); node._partialState = node._partialLabelState = null } change(node, ["TILES", "LABELS"]); return this }, resetCustomization: function() { var node = nodes[this._id]; node._custom = node._partialState = node._partialLabelState = null; change(node, ["TILES", "LABELS"]); return this } }; that._extendProxyType(Proxy.prototype); function Proxy(node) { node.proxy = this; this._id = node._id; this.level = node.level; this.index = node.index; this.data = node.data } that._handlers.beginBuildNodes = function() { nodes = that._nodes; new Proxy(that._root) }; that._handlers.buildNode = function(node) { new Proxy(node) }; that._handlers.endBuildNodes = function() { that._eventTrigger("nodesInitialized", { root: that._root.proxy }) } }; function change(node, codes) { var ctx = node.ctx; ctx.suspend(); ctx.change(codes); ctx.resume() } proto._extendProxyType = _common.noop; var _resetNodes = proto._resetNodes; proto._resetNodes = function() { _resetNodes.call(this); this._eventTrigger("nodesRendering", { node: this._topNode.proxy }) }; var _updateStyles = nodeProto.updateStyles; nodeProto.updateStyles = function() { _updateStyles.call(this); if (this._custom) { this._partialState = !this.ctx.forceReset && this._partialState || this.ctx.calculateState(this._custom); (0, _extend2.extend)(true, this.state, this._partialState) } }; var _updateLabelStyle = nodeProto.updateLabelStyle; nodeProto.updateLabelStyle = function() { var custom = this._custom; _updateLabelStyle.call(this); if (custom && custom.label) { this._partialLabelState = !this.ctx.forceReset && this._partialLabelState || function(node, settings) { var state = node.ctx.calculateLabelState(settings); if ("visible" in settings) { state.visible = !!settings.visible } return state }(this, custom.label); this.labelState = (0, _extend2.extend)(true, {}, this.labelState, this._partialLabelState) } }; proto.getRootNode = function() { return this._root.proxy }; proto.resetNodes = function() { var context = this._context; context.suspend(); context.change(["NODES_CREATE"]); context.resume(); return this } }, 66831: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/colorizing.discrete.js ***! \*********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _colorizing = __webpack_require__( /*! ./colorizing */ 19910); function discreteColorizer(options, themeManager, root) { var palette = themeManager.createPalette(options.palette, { useHighlight: true, extensionMode: options.paletteExtensionMode, count: options.colorizeGroups ? getNodesCount(root) : getLeafsCount(root) }); return (options.colorizeGroups ? discreteGroupColorizer : discreteLeafColorizer)(palette, root) } function getLeafsCount(root) { var allNodes = root.nodes.slice(); var i; var ii = allNodes.length; var count = 0; var node; for (i = 0; i < ii; ++i) { node = allNodes[i]; if (node.isNode()) { count = Math.max(count, getLeafsCount(node)) } else { count += 1 } } return count } function discreteLeafColorizer(palette) { var colors = palette.generateColors(); return function(node) { return colors[node.index] } } function getNodesCount(root) { var allNodes = root.nodes.slice(); var i; var ii = allNodes.length; var count = 0; var node; for (i = 0; i < ii; ++i) { node = allNodes[i]; if (node.isNode()) { count += getNodesCount(node) + 1 } } return count } function discreteGroupColorizer(palette, root) { var colors = function(palette, root) { var colors = {}; var allNodes = root.nodes.slice(); var i; var ii = allNodes.length; var node; for (i = 0; i < ii; ++i) { node = allNodes[i]; if (node.isNode()) { allNodes = allNodes.concat(node.nodes); ii = allNodes.length } else if (!colors[node.parent._id]) { colors[node.parent._id] = palette.getNextColor() } } return colors }(palette, root); return function(node) { return colors[node._id] } }(0, _colorizing.addColorizer)("discrete", discreteColorizer); var _default = discreteColorizer; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 13652: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/colorizing.gradient.js ***! \*********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _colorizing = __webpack_require__( /*! ./colorizing */ 19910); var _min = Math.min; var _max = Math.max; function getRangeData(range) { return [Number(range[0]) || 0, range[1] - range[0] || 1] } function createGuessingColorizer(getColor, getValue) { var ranges = {}; return function(node) { var parent = node.parent; return getColor(node, ranges[parent._id] || (ranges[parent._id] = function(nodes, getValue) { var i; var ii = nodes.length; var codes = []; var code; for (i = 0; i < ii; ++i) { code = getValue(nodes[i]); if (isFinite(code)) { codes.push(code) } } return getRangeData([_min.apply(null, codes), _max.apply(null, codes)]) }(parent.nodes, getValue))) } } function gradientColorizer(options, themeManager) { var palette = themeManager.createGradientPalette(options.palette); var getValue = (0, _colorizing.createColorCodeGetter)(options); return "range" in options ? function(getColor, range) { return function(node) { return getColor(node, range) } }(getColor, getRangeData(options.range || [])) : createGuessingColorizer(getColor, getValue); function getColor(node, arg) { return palette.getColor((getValue(node) - arg[0]) / arg[1]) } }(0, _colorizing.addColorizer)("gradient", gradientColorizer); var _default = gradientColorizer; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 19910: /*!************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/colorizing.js ***! \************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.addColorizer = function(name, colorizer) { colorizers[name] = colorizer }; exports.createColorCodeGetter = function(options) { return options.colorCodeField ? (colorCodeField = options.colorCodeField, function(node) { return Number(node.data[colorCodeField]) }) : getValueAsColorCode; var colorCodeField }; exports.getColorizer = function(options, themeManager, root) { var type = (0, _utils.normalizeEnum)(options.type || defaultColorizerName); var colorizer = colorizers[type] && colorizers[type](options, themeManager, root); return colorizer ? (options.colorizeGroups ? wrapGroupColorGetter : wrapLeafColorGetter)(colorizer) : _common.noop }; exports.setDefaultColorizer = function(name) { defaultColorizerName = name }; var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var colorizers = {}; var defaultColorizerName; function wrapLeafColorGetter(getter) { return function(node) { return !node.isNode() ? getter(node) : void 0 } } function wrapGroupColorGetter(getter) { return function(node) { var parent = !node.isNode() && node.parent; return parent ? parent._groupColor = parent._groupColor || getter(parent) : void 0 } } function getValueAsColorCode(node) { return node.value } }, 73675: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/colorizing.range.js ***! \******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _colorizing = __webpack_require__( /*! ./colorizing */ 19910); function rangeColorizer(options, themeManager) { var range = options.range || []; var palette = themeManager.createDiscretePalette(options.palette, range.length - 1); var getValue = (0, _colorizing.createColorCodeGetter)(options); return function(node) { return palette.getColor(function(value, items) { var start = 0; var end = items.length - 1; var index = -1; var middle; if (items[start] <= value && value <= items[end]) { if (value === items[end]) { index = end - 1 } else { while (end - start > 1) { middle = start + end >> 1; if (value < items[middle]) { end = middle } else { start = middle } } index = start } } return index }(getValue(node), range)) } }(0, _colorizing.addColorizer)("range", rangeColorizer); var _default = rangeColorizer; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 77707: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/common.js ***! \********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.buildRectAppearance = function(option) { var border = option.border || {}; return { fill: option.color, opacity: option.opacity, stroke: border.color, "stroke-width": border.width, "stroke-opacity": border.opacity, hatching: option.hatching } }; exports.buildTextAppearance = function(options, filter) { return { attr: { filter: filter }, css: (0, _utils.patchFontOptions)(options.font) } }; var _utils = __webpack_require__( /*! ../core/utils */ 19157) }, 61104: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/drilldown.js ***! \***********************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _tree_map = (obj = __webpack_require__( /*! ./tree_map.base */ 49983), obj && obj.__esModule ? obj : { default: obj }); var obj; var _helpers = __webpack_require__( /*! ../core/helpers */ 3603); __webpack_require__( /*! ./api */ 4815); var proto = _tree_map.default.prototype; proto._eventsMap.onDrill = { name: "drill" }; (0, _helpers.expand)(proto, "_extendProxyType", (function(proto) { var that = this; proto.drillDown = function() { that._drillToNode(this._id) } })); (0, _helpers.expand)(proto, "_onNodesCreated", (function() { this._drilldownIndex = -1 })); proto._drillToNode = function(index) { var node; if (this._drilldownIndex !== index) { node = this._nodes[index] || this._root; if (node.nodes) { this._drilldownIndex = index; this._topNode = node; this._context.suspend(); this._context.change(["MAX_DEPTH", "NODES_RESET"]); this._context.resume(); this._eventTrigger("drill", { node: node.proxy }) } } }; proto.resetDrillDown = function() { this._drillToNode(-1); return this }; proto.drillUp = function() { this._drillToNode(this._topNode.parent._id || -1); return this }; proto.getCurrentNode = function() { return this._topNode.proxy } }, 9888: /*!*******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/hover.js ***! \*******************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _tree_map = _interopRequireDefault(__webpack_require__( /*! ./tree_map.base */ 49983)); var _node = _interopRequireDefault(__webpack_require__( /*! ./node */ 21168)); var _helpers = __webpack_require__( /*! ../core/helpers */ 3603); var _common = __webpack_require__( /*! ./common */ 77707); var _utils = __webpack_require__( /*! ../core/utils */ 19157); __webpack_require__( /*! ./api */ 4815); __webpack_require__( /*! ./states */ 83469); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var proto = _tree_map.default.prototype; var nodeProto = _node.default.prototype; proto._eventsMap.onHoverChanged = { name: "hoverChanged" }; (0, _helpers.expand)(proto._handlers, "calculateAdditionalStates", (function(states, options) { states[1] = options.hoverStyle ? (0, _common.buildRectAppearance)(options.hoverStyle) : {} })); _tree_map.default.addChange({ code: "HOVER_ENABLED", handler: function() { var hoverEnabled = (0, _utils.parseScalar)(this._getOption("hoverEnabled", true), true); if (!hoverEnabled) { this.clearHover() } this._hoverEnabled = hoverEnabled }, isThemeDependent: true, isOptionChange: true, option: "hoverEnabled" }); nodeProto.statesMap[1] = 1; nodeProto.additionalStates.push(1); (0, _helpers.expand)(proto, "_extendProxyType", (function(proto) { var that = this; proto.setHover = function() { that._hoverNode(this._id) }; proto.isHovered = function() { return that._hoverIndex === this._id } })); (0, _helpers.expand)(proto, "_onNodesCreated", (function() { this._hoverIndex = -1 })); (0, _helpers.expand)(proto, "_changeGroupSettings", (function() { this._groupHoverEnabled = (0, _utils.parseScalar)(this._getOption("group").hoverEnabled, true); if (!this._groupHoverEnabled) { this.clearHover() } })); proto._applyHoverState = function(index, state) { ! function setNodeStateRecursive(node, code, state) { var nodes = node.isNode() && node.nodes; var i; var ii = nodes && nodes.length; node.setState(code, state); for (i = 0; i < ii; ++i) { setNodeStateRecursive(nodes[i], code, state) } }(this._nodes[index], 1, state); this._eventTrigger("hoverChanged", { node: this._nodes[index].proxy }) }; proto._hoverNode = function(index) { var currentIndex = this._hoverIndex; if (this._hoverEnabled && currentIndex !== index) { if (!this._groupHoverEnabled && index >= 0 && this._nodes[index].isNode()) { this.clearHover(); return } this._context.suspend(); this._hoverIndex = -1; if (currentIndex >= 0) { this._applyHoverState(currentIndex, false) } this._hoverIndex = index; if (index >= 0) { this._applyHoverState(index, true) } this._context.resume() } }; proto.clearHover = function() { this._hoverNode(-1) } }, 21168: /*!******************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/node.js ***! \******************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); function Node() {} var updateTile = [function(content, attrs) { content.smartAttr(attrs) }, function(content, attrs) { content.outer.attr({ stroke: attrs.stroke, "stroke-width": attrs["stroke-width"], "stroke-opacity": attrs["stroke-opacity"] }); content.inner.smartAttr({ fill: attrs.fill, opacity: attrs.opacity, hatching: attrs.hatching }) }]; (0, _extend2.extend)(Node.prototype, { value: 0, isNode: function() { return !!(this.nodes && this.level < this.ctx.maxLevel) }, isActive: function() { var ctx = this.ctx; return this.level >= ctx.minLevel && this.level <= ctx.maxLevel }, updateStyles: function() { var isNode = Number(this.isNode()); this.state = this._buildState(this.ctx.settings[isNode].state, !isNode && this.color && { fill: this.color }) }, _buildState: function(state, extra) { var base = (0, _extend2.extend)({}, state); return extra ? (0, _extend2.extend)(base, extra) : base }, updateLabelStyle: function() { var settings = this.ctx.settings[Number(this.isNode())]; this.labelState = settings.labelState; this.labelParams = settings.labelParams }, _getState: function() { return this.state }, applyState: function() { updateTile[Number(this.isNode())](this.tile, this._getState()) } }); var _default = Node; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 74958: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/plain_data_source.js ***! \*******************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _tree_map = (obj = __webpack_require__( /*! ./tree_map.base */ 49983), obj && obj.__esModule ? obj : { default: obj }); var obj; var proto = _tree_map.default.prototype; proto._optionChangesMap.idField = proto._optionChangesMap.parentField = "NODES_CREATE"; proto._processDataSourceItems = function(items) { var i; var struct = {}; var currentItem; var idField = this._getOption("idField", true); var parentField = this._getOption("parentField", true); var parentId; var rootNodes = []; var tmpItems; var item; if (!idField || !parentField || 0 === items.length) { return { items: items, isPlain: false } } for (i = 0; i < items.length; i++) { currentItem = items[i]; parentId = currentItem[parentField]; if (parentId) { struct[parentId] = struct[parentId] || { items: [] }; tmpItems = struct[parentId].items } else { tmpItems = rootNodes } tmpItems.push(currentItem) }! function treeFiller(context, items) { var currentItem; var i; var struct = context.struct; var id; for (i = 0; i < items.length; i++) { currentItem = items[i]; id = currentItem[context.idField]; if (struct[id]) { currentItem.items = struct[id].items; struct[id] = null; treeFiller(context, currentItem.items) } } }({ struct: struct, idField: idField }, rootNodes); for (item in struct) { struct[item] && rootNodes.push(struct[item]) } return { items: rootNodes, isPlain: true } } }, 13099: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/selection.js ***! \***********************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _tree_map = _interopRequireDefault(__webpack_require__( /*! ./tree_map.base */ 49983)); var _node = _interopRequireDefault(__webpack_require__( /*! ./node */ 21168)); var _helpers = __webpack_require__( /*! ../core/helpers */ 3603); var _common = __webpack_require__( /*! ./common */ 77707); var _utils = __webpack_require__( /*! ../core/utils */ 19157); __webpack_require__( /*! ./api */ 4815); __webpack_require__( /*! ./states */ 83469); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var proto = _tree_map.default.prototype; var nodeProto = _node.default.prototype; proto._eventsMap.onSelectionChanged = { name: "selectionChanged" }; (0, _helpers.expand)(proto._handlers, "calculateAdditionalStates", (function(states, options) { states[2] = options.selectionStyle ? (0, _common.buildRectAppearance)(options.selectionStyle) : {} })); nodeProto.statesMap[2] = nodeProto.statesMap[3] = 2; nodeProto.additionalStates.push(2); (0, _helpers.expand)(proto, "_onNodesCreated", (function() { this._selectionList.length = 0 })); (0, _helpers.expand)(proto, "_extendProxyType", (function(proto) { var that = this; proto.select = function(state) { that._selectNode(this._id, !!state) }; proto.isSelected = function() { return that._selectionList.includes(this._id) }; that._selectionList = [] })); _tree_map.default.addChange({ code: "SELECTION_MODE", handler: function() { var option = (0, _utils.normalizeEnum)(this._getOption("selectionMode", true)); var selectionList = this._selectionList; var tmp; var mode = "none" === option ? 0 : "multiple" === option ? 2 : 1; if (1 === mode && selectionList.length > 1) { tmp = selectionList.pop(); this.clearSelection(); selectionList.push(tmp) } else if (0 === mode) { this.clearSelection() } this._selectionMode = mode }, isThemeDependent: true, isOptionChange: true, option: "selectionMode" }); (0, _helpers.expand)(proto, "_applyTilesAppearance", (function() { if (this._selectionList.length) { ! function(nodes, selectionList) { var i; var ii = selectionList.length; var node; for (i = 0; i < ii; ++i) { node = nodes[selectionList[i]]; tileToFront[Number(node.isNode())](node.tile) } }(this._nodes, this._selectionList) } })); var tileToFront = [function(content) { content.toForeground() }, function(content) { content.outer.toForeground(); content.inner.toForeground() }]; proto._applySelectionState = function(index, state) { var node = this._nodes[index]; node.setState(2, state); this._eventTrigger("selectionChanged", { node: node.proxy }) }; proto._selectNode = function(index, state) { var selectionList; var k; var tmp; if (0 !== this._selectionMode) { this._context.suspend(); selectionList = this._selectionList; k = selectionList.indexOf(index); if (state && -1 === k) { if (1 === this._selectionMode) { if (selectionList.length) { tmp = selectionList.pop(); this._applySelectionState(tmp, false) } } selectionList.push(index); this._applySelectionState(index, true) } else if (!state && k >= 0) { selectionList.splice(k, 1); this._applySelectionState(index, false) } this._context.resume() } }; proto.clearSelection = function() { var selectionList = this._selectionList; var i; var ii = selectionList.length; if (0 !== this._selectionMode) { this._context.suspend(); for (i = 0; i < ii; ++i) { this._applySelectionState(selectionList[i], false) } selectionList.length = 0; this._context.resume() } } }, 83469: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/states.js ***! \********************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _tree_map = _interopRequireDefault(__webpack_require__( /*! ./tree_map.base */ 49983)); var _node = _interopRequireDefault(__webpack_require__( /*! ./node */ 21168)); var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var proto = _tree_map.default.prototype; var nodeProto = _node.default.prototype; var handlers = proto._handlers; var _calculateState = handlers.calculateState; var _buildState = nodeProto._buildState; handlers.calculateState = function(options) { var states = { 0: _calculateState(options) }; handlers.calculateAdditionalStates(states, options); return states }; handlers.calculateAdditionalStates = _common.noop; nodeProto.code = 0; nodeProto.statesMap = { 0: 0 }; nodeProto.additionalStates = []; nodeProto._buildState = function(state, extra) { var states = { 0: _buildState(state[0], extra) }; if (this.additionalStates.length) { ! function(states, base, source, list) { var i; var ii = list.length; for (i = 0; i < ii; ++i) { states[list[i]] = (0, _extend2.extend)({}, base, source[list[i]]) } }(states, states[0], state, this.additionalStates) } return states }; nodeProto._getState = function() { return this.state[this.statesMap[this.code]] }; nodeProto.setState = function(code, state) { if (state) { this.code |= code } else { this.code &= ~code } this.ctx.change(["TILES"]) } }, 60642: /*!********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/tiling.js ***! \********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.addAlgorithm = function(name, callback) { algorithms[name] = callback }; exports.buildSidesData = function(rect, directions, _staticSideIndex) { var staticSideIndex = void 0 !== _staticSideIndex ? _staticSideIndex : getStaticSideIndex(rect); var variedSideIndex = 1 - staticSideIndex; var staticSideDirection = directions[staticSideIndex]; var variedSideDirection = directions[variedSideIndex]; var staticSideIndexOffsets = directionToIndexOffsets[staticSideDirection]; var variedSideIndexOffsets = directionToIndexOffsets[variedSideDirection]; return { staticSide: rect[2 + staticSideIndex] - rect[staticSideIndex], variedSide: rect[2 + variedSideIndex] - rect[variedSideIndex], static1: staticSideIndex + staticSideIndexOffsets[0], static2: staticSideIndex + staticSideIndexOffsets[1], varied1: variedSideIndex + variedSideIndexOffsets[0], varied2: variedSideIndex + variedSideIndexOffsets[1], staticDir: staticSideDirection, variedDir: variedSideDirection } }; exports.calculateRectangles = function(nodes, head, totalRect, sidesData, rowData) { var i; var ii; var variedSidePart = [0, 0, 0, 0]; var static1 = sidesData.static1; var static2 = sidesData.static2; var position = totalRect[static1]; var dir = sidesData.staticDir; var side = sidesData.staticSide; var sum = rowData.sum; var rect; var delta; variedSidePart[sidesData.varied1] = totalRect[sidesData.varied1]; variedSidePart[sidesData.varied2] = totalRect[sidesData.varied1] + sidesData.variedDir * rowData.side; for (i = head, ii = head + rowData.count; i < ii; ++i) { rect = variedSidePart.slice(); rect[static1] = position; delta = _round(side * nodes[i].value / sum) || 0; sum -= nodes[i].value; side -= delta; position += dir * delta; rect[static2] = position; nodes[i].rect = rect } totalRect[sidesData.varied1] = variedSidePart[sidesData.varied2] }; exports.getAlgorithm = function(value) { return algorithms[(0, _utils.normalizeEnum)(value)] || (0, _type.isFunction)(value) && value || defaultAlgorithm }; exports.getStaticSideIndex = void 0; exports.setDefaultAlgorithm = function(name) { defaultAlgorithm = algorithms[name] }; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _round = Math.round; var algorithms = {}; var defaultAlgorithm; var directionToIndexOffsets = {}; directionToIndexOffsets[-1] = [2, 0]; directionToIndexOffsets[1] = [0, 2]; var getStaticSideIndex = function(rect) { return rect[2] - rect[0] < rect[3] - rect[1] ? 0 : 1 }; exports.getStaticSideIndex = getStaticSideIndex }, 36061: /*!*******************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/tiling.rotated_slice_and_dice.js ***! \*******************************************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _tiling = __webpack_require__( /*! ./tiling */ 60642); var sliceAndDiceAlgorithm = (0, _tiling.getAlgorithm)("sliceanddice"); (0, _tiling.addAlgorithm)("rotatedsliceanddice", (function(data) { data.isRotated = !data.isRotated; return sliceAndDiceAlgorithm.call(this, data) })) }, 56369: /*!***********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/tiling.slice_and_dice.js ***! \***********************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _tiling = __webpack_require__( /*! ./tiling */ 60642); function sliceAndDice(data) { var items = data.items; var sidesData = (0, _tiling.buildSidesData)(data.rect, data.directions, data.isRotated ? 1 : 0); (0, _tiling.calculateRectangles)(items, 0, data.rect, sidesData, { sum: data.sum, count: items.length, side: sidesData.variedSide }) }(0, _tiling.addAlgorithm)("sliceanddice", sliceAndDice); var _default = sliceAndDice; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 57200: /*!************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/tiling.squarified.base.js ***! \************************************************************************************/ function(module, exports, __webpack_require__) { exports.default = function(data, accumulate, isFixedStaticSide) { var items = data.items; var ii = items.length; var i; var context = { sum: data.sum, rect: data.rect, directions: data.directions, accumulate: accumulate }; if (isFixedStaticSide) { context.staticSideIndex = (0, _tiling.getStaticSideIndex)(context.rect) } items.sort(compare); for (i = 0; i < ii;) { i = doStep(items, i, context) } }; var _tiling = __webpack_require__( /*! ./tiling */ 60642); var _max = Math.max; var _round = Math.round; function compare(a, b) { return b.value - a.value } function doStep(nodes, head, context) { var sidesData = (0, _tiling.buildSidesData)(context.rect, context.directions, context.staticSideIndex); var area = (rect = context.rect, (rect[2] - rect[0]) * (rect[3] - rect[1])); var rect; var rowData = area > 0 ? function(nodes, head, context) { var bestAspectRatio = 1 / 0; var nextAspectRatio; var sum = 0; var nextSum; var i; var j; var ii = nodes.length; var coeff = context.areaToValue / context.staticSide; var totalAspectRatio; for (i = head; i < ii;) { nextSum = sum + nodes[i].value; totalAspectRatio = context.staticSide / coeff / nextSum; nextAspectRatio = 0; for (j = head; j <= i; ++j) { nextAspectRatio = context.accumulate(nextAspectRatio, (value = totalAspectRatio * nodes[j].value / nextSum, _max(value, 1 / value)), j - head + 1) } if (nextAspectRatio < bestAspectRatio) { bestAspectRatio = nextAspectRatio; sum = nextSum; ++i } else { break } } var value; return { sum: sum, count: i - head, side: _round(coeff * sum) } }(nodes, head, { areaToValue: area / context.sum, accumulate: context.accumulate, staticSide: sidesData.staticSide }) : { sum: 1, side: sidesData.variedSide, count: nodes.length - head }; (0, _tiling.calculateRectangles)(nodes, head, context.rect, sidesData, rowData); context.sum -= rowData.sum; return head + rowData.count } module.exports = exports.default; module.exports.default = exports.default }, 46576: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/tiling.squarified.js ***! \*******************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _tilingSquarified = (obj = __webpack_require__( /*! ./tiling.squarified.base */ 57200), obj && obj.__esModule ? obj : { default: obj }); var obj; var _tiling = __webpack_require__( /*! ./tiling */ 60642); var _max = Math.max; function accumulate(total, current) { return _max(total, current) } function squarified(data) { return (0, _tilingSquarified.default)(data, accumulate, false) }(0, _tiling.addAlgorithm)("squarified", squarified); var _default = squarified; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 20957: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/tiling.strip.js ***! \**************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _tilingSquarified = (obj = __webpack_require__( /*! ./tiling.squarified.base */ 57200), obj && obj.__esModule ? obj : { default: obj }); var obj; var _tiling = __webpack_require__( /*! ./tiling */ 60642); function accumulate(total, current, count) { return ((count - 1) * total + current) / count } function strip(data) { return (0, _tilingSquarified.default)(data, accumulate, true) }(0, _tiling.addAlgorithm)("strip", strip); var _default = strip; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 2322: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/tooltip.js ***! \*********************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _helpers = __webpack_require__( /*! ../core/helpers */ 3603); var _tree_map = (obj = __webpack_require__( /*! ./tree_map.base */ 49983), obj && obj.__esModule ? obj : { default: obj }); var obj; __webpack_require__( /*! ./api */ 4815); var _tooltip = __webpack_require__( /*! ../core/tooltip */ 14371); var proto = _tree_map.default.prototype; (0, _helpers.expand)(proto, "_extendProxyType", (function(proto) { var that = this; proto.showTooltip = function(coords) { that._showTooltip(this._id, coords) } })); (0, _helpers.expand)(proto, "_onNodesCreated", (function() { if (this._tooltipIndex >= 0) { this._tooltip.hide() } this._tooltipIndex = -1 })); (0, _helpers.expand)(proto, "_onTilingPerformed", (function() { if (this._tooltipIndex >= 0) { this._moveTooltip(this._nodes[this._tooltipIndex]) } })); function getCoords(coords, rect, renderer) { var offset = renderer.getRootOffset(); return coords || rect && [(rect[0] + rect[2]) / 2 + offset.left, (rect[1] + rect[3]) / 2 + offset.top] || [-1e3, -1e3] } proto._showTooltip = function(index, coords) { var that = this; var tooltip = that._tooltip; var node = that._nodes[index]; if (that._tooltipIndex === index) { that._moveTooltip(node, coords); return } var callback = function(result) { if (void 0 === result) { return } if (!result) { tooltip.hide() } that._tooltipIndex = result ? index : -1 }; var xy = getCoords(coords, node.rect, this._renderer); callback(tooltip.show({ value: node.value, valueText: tooltip.formatValue(node.value), node: node.proxy }, { x: xy[0], y: xy[1], offset: 0 }, { node: node.proxy }, void 0, callback)) }; proto._moveTooltip = function(node, coords) { var xy = getCoords(coords, node.rect, this._renderer); this._tooltip.move(xy[0], xy[1], 0) }; proto.hideTooltip = function() { if (this._tooltipIndex >= 0) { this._tooltipIndex = -1; this._tooltip.hide() } }; _tree_map.default.addPlugin(_tooltip.plugin) }, 66681: /*!*********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/tracker.js ***! \*********************************************************************/ function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { var _tree_map = (obj = __webpack_require__( /*! ./tree_map.base */ 49983), obj && obj.__esModule ? obj : { default: obj }); var obj; var _tracker = __webpack_require__( /*! ../components/tracker */ 88997); var _helpers = __webpack_require__( /*! ../core/helpers */ 3603); var _utils = __webpack_require__( /*! ../core/utils */ 19157); __webpack_require__( /*! ./api */ 4815); __webpack_require__( /*! ./hover */ 9888); __webpack_require__( /*! ./tooltip */ 2322); var dataKeyModifier = 0; var proto = _tree_map.default.prototype; proto._eventsMap.onClick = { name: "click" }; (0, _helpers.expand)(proto, "_initCore", (function() { var that = this; var dataKey = function() { var dataKey = "__treemap_data_" + dataKeyModifier++; return dataKey }(); var getProxy = function(index) { return that._nodes[index].proxy }; that._tracker = new _tracker.Tracker({ widget: that, root: that._renderer.root, getNode: function(id) { var proxy = getProxy(id); var interactWithGroup = (0, _utils.parseScalar)(that._getOption("interactWithGroup", true)); return interactWithGroup && proxy.isLeaf() && proxy.getParent().isActive() ? proxy.getParent() : proxy }, getData: function(e) { var target = e.target; return ("tspan" === target.tagName ? target.parentNode : target)[dataKey] }, getProxy: getProxy, click: function(e) { that._eventTrigger("click", e) } }); that._handlers.setTrackerData = function(node, element) { element.data(dataKey, node._id) } })); (0, _helpers.expand)(proto, "_disposeCore", (function() { this._tracker.dispose() })) }, 49983: /*!***************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/tree_map.base.js ***! \***************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _common = __webpack_require__( /*! ./common */ 77707); var _node = _interopRequireDefault(__webpack_require__( /*! ./node */ 21168)); var _tiling = __webpack_require__( /*! ./tiling */ 60642); var _colorizing = __webpack_require__( /*! ./colorizing */ 19910); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _common2 = __webpack_require__( /*! ../../core/utils/common */ 20576); var _base_widget = _interopRequireDefault(__webpack_require__( /*! ../core/base_widget */ 59063)); __webpack_require__( /*! ./tiling.squarified */ 46576); __webpack_require__( /*! ./colorizing.discrete */ 66831); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _data_source = __webpack_require__( /*! ../core/data_source */ 1539); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var _max = Math.max; var directions = { lefttoprightbottom: [1, 1], leftbottomrighttop: [1, -1], righttopleftbottom: [-1, 1], rightbottomlefttop: [-1, -1] }; (0, _tiling.setDefaultAlgorithm)("squarified"); (0, _colorizing.setDefaultColorizer)("discrete"); function pickPositiveInteger(val) { return val > 0 ? Math.round(val) : 0 } var dxTreeMap = _base_widget.default.inherit({ _handlers: { beginBuildNodes: _common2.noop, buildNode: _common2.noop, endBuildNodes: _common2.noop, setTrackerData: _common2.noop, calculateState: function(options) { return (0, _common.buildRectAppearance)(options) } }, _rootClass: "dxtm-tree-map", _rootClassPrefix: "dxtm", _getDefaultSize: function() { return { width: 400, height: 400 } }, _themeSection: "treeMap", _fontFields: ["tile.label.font", "group.label.font"], _init: function() { var that = this; that._rectOffsets = {}; that._handlers = Object.create(that._handlers); that._context = { suspend: function() { if (!that._applyingChanges) { that._suspendChanges() } }, resume: function() { if (!that._applyingChanges) { that._resumeChanges() } }, change: function(codes) { that._change(codes) }, settings: [{}, {}], calculateState: that._handlers.calculateState, calculateLabelState: _common.buildTextAppearance }; that._root = that._topNode = { nodes: [] }; that.callBase.apply(that, arguments) }, _initialChanges: ["DATA_SOURCE"], _initCore: function() { var renderer = this._renderer; this._createProxyType(); this._tilesGroup = renderer.g().linkOn(renderer.root, "tiles").linkAppend(); this._labelsGroup = renderer.g().linkOn(renderer.root, "labels").linkAppend() }, _createProxyType: _common2.noop, _disposeCore: function() { this._filter && this._filter.dispose(); this._labelsGroup.linkOff(); this._tilesGroup.linkOff() }, _applySize: function(rect) { this._tilingRect = rect.slice(); this._change(["TILING"]) }, _optionChangesMap: { dataSource: "DATA_SOURCE", valueField: "NODES_CREATE", childrenField: "NODES_CREATE", colorField: "TILES", colorizer: "TILES", labelField: "LABELS", tile: "TILE_SETTINGS", group: "GROUP_SETTINGS", maxDepth: "MAX_DEPTH", layoutAlgorithm: "TILING", layoutDirection: "TILING" }, _themeDependentChanges: ["TILE_SETTINGS", "GROUP_SETTINGS", "MAX_DEPTH"], _changeDataSource: function() { this._isDataExpected = this._isSyncData = true; this._updateDataSource(); this._isSyncData = false; if (this._isDataExpected) { this._suspendChanges() } }, _dataSourceChangedHandler: function() { if (this._isDataExpected) { this._isDataExpected = false; this._change(["NODES_CREATE"]); if (!this._isSyncData) { this._resumeChanges() } } else { this._requestChange(["NODES_CREATE"]) } }, _optionChangesOrder: ["DATA_SOURCE", "TILE_SETTINGS", "GROUP_SETTINGS", "MAX_DEPTH"], _change_DATA_SOURCE: function() { this._changeDataSource() }, _change_TILE_SETTINGS: function() { this._changeTileSettings() }, _change_GROUP_SETTINGS: function() { this._changeGroupSettings() }, _change_MAX_DEPTH: function() { this._changeMaxDepth() }, _customChangesOrder: ["NODES_CREATE", "NODES_RESET", "TILES", "LABELS", "TILING", "LABELS_LAYOUT"], _change_NODES_CREATE: function() { this._buildNodes() }, _change_NODES_RESET: function() { this._resetNodes() }, _change_TILES: function() { this._applyTilesAppearance() }, _change_LABELS: function() { this._applyLabelsAppearance() }, _change_TILING: function() { this._performTiling() }, _change_LABELS_LAYOUT: function() { this._performLabelsLayout() }, _applyChanges: function() { var that = this; that.callBase.apply(that, arguments); if (!that._isDataExpected) { that._drawn() } that._context.forceReset = false }, _buildNodes: function() { var root = this._root = this._topNode = new _node.default; root._id = 0; root.parent = {}; root.data = {}; root.level = root.index = -1; root.ctx = this._context; root.label = null; this._nodes = [root]; this._handlers.beginBuildNodes(); var processedData = this._processDataSourceItems(this._dataSourceItems() || []); ! function traverseDataItems(root, dataItems, level, params) { var nodes = []; var allNodes = params.nodes; var node; var i; var ii = dataItems.length; var dataItem; var totalValue = 0; var items; for (i = 0; i < ii; ++i) { var _items; dataItem = dataItems[i]; node = new _node.default; node._id = allNodes.length; node.ctx = params.ctx; node.parent = root; node.level = level; node.index = nodes.length; node.data = dataItem; params.buildNode(node); allNodes.push(node); nodes.push(node); items = dataItem[params.itemsField]; if (null !== (_items = items) && void 0 !== _items && _items.length) { traverseDataItems(node, items, level + 1, params) } if (dataItem[params.valueField] > 0) { node.value = Number(dataItem[params.valueField]) } totalValue += node.value } root.nodes = nodes; root.value = totalValue }(root, processedData.items, 0, { itemsField: !processedData.isPlain && this._getOption("childrenField", true) || "items", valueField: this._getOption("valueField", true) || "value", buildNode: this._handlers.buildNode, ctx: this._context, nodes: this._nodes }); this._onNodesCreated(); this._handlers.endBuildNodes(); this._change(["NODES_RESET"]) }, _onNodesCreated: _common2.noop, _processDataSourceItems: function(items) { return { items: items, isPlain: false } }, _changeTileSettings: function() { var options = this._getOption("tile"); var offsets = this._rectOffsets; var borderWidth = pickPositiveInteger(options.border.width); var edgeOffset = borderWidth / 2; var innerOffset = 1 & borderWidth ? .5 : 0; var labelOptions = options.label; var settings = this._context.settings[0]; this._change(["TILES", "LABELS"]); settings.state = this._handlers.calculateState(options); this._filter = this._filter || this._renderer.shadowFilter("-50%", "-50%", "200%", "200%"); this._filter.attr(labelOptions.shadow); this._calculateLabelSettings(settings, labelOptions, this._filter.id); if (offsets.tileEdge !== edgeOffset || offsets.tileInner !== innerOffset) { offsets.tileEdge = edgeOffset; offsets.tileInner = innerOffset; this._change(["TILING"]) } }, _changeGroupSettings: function() { var options = this._getOption("group"); var labelOptions = options.label; var offsets = this._rectOffsets; var borderWidth = pickPositiveInteger(options.border.width); var edgeOffset = borderWidth / 2; var innerOffset = 1 & borderWidth ? .5 : 0; var headerHeight = 0; var groupPadding = pickPositiveInteger(options.padding); var settings = this._context.settings[1]; this._change(["TILES", "LABELS"]); settings.state = this._handlers.calculateState(options); this._calculateLabelSettings(settings, labelOptions); if (options.headerHeight >= 0) { headerHeight = pickPositiveInteger(options.headerHeight) } else { headerHeight = settings.labelParams.height + 2 * pickPositiveInteger(labelOptions.paddingTopBottom) } if (this._headerHeight !== headerHeight) { this._headerHeight = headerHeight; this._change(["TILING"]) } if (this._groupPadding !== groupPadding) { this._groupPadding = groupPadding; this._change(["TILING"]) } if (offsets.headerEdge !== edgeOffset || offsets.headerInner !== innerOffset) { offsets.headerEdge = edgeOffset; offsets.headerInner = innerOffset; this._change(["TILING"]) } }, _calculateLabelSettings: function(settings, options, filter) { var bBox = this._getTextBBox(options.font); var paddingLeftRight = pickPositiveInteger(options.paddingLeftRight); var paddingTopBottom = pickPositiveInteger(options.paddingTopBottom); var tileLabelOptions = this._getOption("tile.label"); var groupLabelOptions = this._getOption("group.label"); settings.labelState = (0, _common.buildTextAppearance)(options, filter); settings.labelState.visible = !("visible" in options) || !!options.visible; settings.labelParams = { height: bBox.height, rtlEnabled: this._getOption("rtlEnabled", true), paddingTopBottom: paddingTopBottom, paddingLeftRight: paddingLeftRight, tileLabelWordWrap: tileLabelOptions.wordWrap, tileLabelOverflow: tileLabelOptions.textOverflow, groupLabelOverflow: groupLabelOptions.textOverflow } }, _changeMaxDepth: function() { var maxDepth = this._getOption("maxDepth", true); maxDepth = maxDepth >= 1 ? Math.round(maxDepth) : 1 / 0; if (this._maxDepth !== maxDepth) { this._maxDepth = maxDepth; this._change(["NODES_RESET"]) } }, _resetNodes: function() { this._tilesGroup.clear(); this._renderer.initDefsElements(); this._context.forceReset = true; this._context.minLevel = this._topNode.level + 1; this._context.maxLevel = this._context.minLevel + this._maxDepth - 1; this._change(["TILES", "LABELS", "TILING"]) }, _processNodes: function(context, process) { ! function processNodes(context, root, process) { var nodes = root.nodes; var node; var i; var ii = nodes.length; for (i = 0; i < ii; ++i) { node = nodes[i]; process(context, node); if (node.isNode()) { processNodes(context, node, process) } } }(context, this._topNode, process) }, _applyTilesAppearance: function() { var colorizer = (0, _colorizing.getColorizer)(this._getOption("colorizer"), this._themeManager, this._topNode); this._processNodes({ renderer: this._renderer, group: this._tilesGroup, setTrackerData: this._handlers.setTrackerData, colorField: this._getOption("colorField", true) || "color", getColor: colorizer }, processTileAppearance) }, _applyLabelsAppearance: function() { this._labelsGroup.clear(); this._processNodes({ renderer: this._renderer, group: this._labelsGroup, setTrackerData: this._handlers.setTrackerData, labelField: this._getOption("labelField", true) || "name" }, processLabelAppearance); this._change(["LABELS_LAYOUT"]) }, _performTiling: function() { var context = { algorithm: (0, _tiling.getAlgorithm)(this._getOption("layoutAlgorithm", true)), directions: directions[String(this._getOption("layoutDirection", true)).toLowerCase()] || directions.lefttoprightbottom, headerHeight: this._headerHeight, groupPadding: this._groupPadding, rectOffsets: this._rectOffsets }; this._topNode.innerRect = this._tilingRect; calculateRects(context, this._topNode); this._processNodes(context, processTiling); this._change(["LABELS_LAYOUT"]); this._onTilingPerformed() }, _onTilingPerformed: _common2.noop, _performLabelsLayout: function() { this._processNodes(null, processLabelsLayout) }, _getTextBBox: function(fontOptions) { var renderer = this._renderer; var text = this._textForCalculations || renderer.text("0", 0, 0); this._textForCalculations = text; text.css((0, _utils.patchFontOptions)(fontOptions)).append(renderer.root); var bBox = text.getBBox(); text.remove(); return bBox } }); var createTile = [function(context, node) { var tile = context.renderer.simpleRect().append(context.group); context.setTrackerData(node, tile); return tile }, function(context, node) { var outer = context.renderer.simpleRect().append(context.group); var inner = context.renderer.simpleRect().append(context.group); context.setTrackerData(node, inner); return { outer: outer, inner: inner } }]; function processTileAppearance(context, node) { node.color = node.data[context.colorField] || context.getColor(node) || node.parent.color; node.updateStyles(); node.tile = !node.ctx.forceReset && node.tile || createTile[Number(node.isNode())](context, node); node.applyState() } function processLabelAppearance(context, node) { node.updateLabelStyle(); if (node.labelState.visible) { ! function(context, currentNode, settings, params) { var textData = currentNode.data[context.labelField]; currentNode.label = textData ? String(textData) : null; textData = currentNode.customLabel || currentNode.label; if (textData) { currentNode.text = context.renderer.text(textData).attr(settings.attr).css(settings.css).append(context.group); context.setTrackerData(currentNode, currentNode.text) } }(context, node, node.labelState, node.labelParams) } } var emptyRect = [0, 0, 0, 0]; function calculateRects(context, root) { var nodes = root.nodes; var items = []; var rects = []; var sum = 0; var i; var ii = items.length = rects.length = nodes.length; for (i = 0; i < ii; ++i) { sum += nodes[i].value; items[i] = { value: nodes[i].value, i: i } } if (sum > 0) { context.algorithm({ items: items.slice(), sum: sum, rect: root.innerRect.slice(), isRotated: 1 & nodes[0].level, directions: context.directions }) } for (i = 0; i < ii; ++i) { rects[i] = items[i].rect || emptyRect } root.rects = rects } function processTiling(context, node) { var rect = node.parent.rects[node.index]; var rectOffsets = context.rectOffsets; var headerHeight; if (node.isNode()) { setRectAttrs(node.tile.outer, buildTileRect(rect, node.parent.innerRect, rectOffsets.headerEdge, rectOffsets.headerInner)); rect = marginateRect(rect, context.groupPadding); headerHeight = Math.min(context.headerHeight, rect[3] - rect[1]); node.rect = [rect[0], rect[1], rect[2], rect[1] + headerHeight]; setRectAttrs(node.tile.inner, marginateRect(node.rect, rectOffsets.headerEdge)); rect[1] += headerHeight; node.innerRect = rect; calculateRects(context, node) } else { node.rect = rect; setRectAttrs(node.tile, buildTileRect(rect, node.parent.innerRect, rectOffsets.tileEdge, rectOffsets.tileInner)) } } function marginateRect(rect, margin) { return [rect[0] + margin, rect[1] + margin, rect[2] - margin, rect[3] - margin] } function buildTileRect(rect, outer, edgeOffset, innerOffset) { return [rect[0] + (rect[0] === outer[0] ? edgeOffset : +innerOffset), rect[1] + (rect[1] === outer[1] ? edgeOffset : +innerOffset), rect[2] - (rect[2] === outer[2] ? edgeOffset : -innerOffset), rect[3] - (rect[3] === outer[3] ? edgeOffset : -innerOffset)] } function setRectAttrs(element, rect) { element.attr({ x: rect[0], y: rect[1], width: _max(rect[2] - rect[0], 0), height: _max(rect[3] - rect[1], 0) }) } function processLabelsLayout(context, node) { if (node.text && node.labelState.visible) { ! function(node, params) { var rect = node.rect; var text = node.text; var bBox = text.getBBox(); var paddingLeftRight = params.paddingLeftRight; var paddingTopBottom = params.paddingTopBottom; var effectiveWidth = rect[2] - rect[0] - 2 * paddingLeftRight; text.setMaxSize(effectiveWidth, rect[3] - rect[1] - paddingTopBottom, node.isNode() ? { textOverflow: params.groupLabelOverflow, wordWrap: "none" } : { textOverflow: params.tileLabelOverflow, wordWrap: params.tileLabelWordWrap, hideOverflowEllipsis: true }); text.move(params.rtlEnabled ? rect[2] - paddingLeftRight - bBox.x - bBox.width : rect[0] + paddingLeftRight - bBox.x, rect[1] + paddingTopBottom - bBox.y) }(node, node.labelParams) } }(0, _component_registrator.default)("dxTreeMap", dxTreeMap); var _default = dxTreeMap; exports.default = _default; dxTreeMap.addPlugin(_data_source.plugin); module.exports = exports.default; module.exports.default = exports.default }, 4080: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/tree_map/tree_map.js ***! \**********************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _tree_map = (obj = __webpack_require__( /*! ./tree_map.base */ 49983), obj && obj.__esModule ? obj : { default: obj }); var obj; __webpack_require__( /*! ./tiling.squarified */ 46576); __webpack_require__( /*! ./tiling.strip */ 20957); __webpack_require__( /*! ./tiling.slice_and_dice */ 56369); __webpack_require__( /*! ./tiling.rotated_slice_and_dice */ 36061); __webpack_require__( /*! ./colorizing.discrete */ 66831); __webpack_require__( /*! ./colorizing.gradient */ 13652); __webpack_require__( /*! ./colorizing.range */ 73675); __webpack_require__( /*! ./api */ 4815); __webpack_require__( /*! ./hover */ 9888); __webpack_require__( /*! ./selection */ 13099); __webpack_require__( /*! ./tooltip */ 2322); __webpack_require__( /*! ./tracker */ 66681); __webpack_require__( /*! ./drilldown */ 61104); __webpack_require__( /*! ./plain_data_source */ 74958); var _export = __webpack_require__( /*! ../core/export */ 82454); var _title = __webpack_require__( /*! ../core/title */ 17384); var _loading_indicator = __webpack_require__( /*! ../core/loading_indicator */ 64758); var _default = _tree_map.default; exports.default = _default; _tree_map.default.addPlugin(_export.plugin); _tree_map.default.addPlugin(_title.plugin); _tree_map.default.addPlugin(_loading_indicator.plugin); module.exports = exports.default; module.exports.default = exports.default }, 34434: /*!**********************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/utils.js ***! \**********************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.prepareSegmentRectPoints = void 0; Object.defineProperty(exports, "refreshPaths", { enumerable: true, get: function() { return _renderer.refreshPaths } }); var _renderer = __webpack_require__( /*! ./core/renderers/renderer */ 56453); var _iterator = __webpack_require__( /*! ../core/utils/iterator */ 95479); exports.prepareSegmentRectPoints = function(left, top, width, height, borderOptions) { var maxSW = ~~((width < height ? width : height) / 2); var sw = borderOptions.width || 0; var newSW = sw < maxSW ? sw : maxSW; left += newSW / 2; top += newSW / 2; width -= newSW; height -= newSW; var right = left + width; var bottom = top + height; var points = []; var segments = []; var segmentSequence; var visiblyOpt = 0; var prevSegmentVisibility = 0; var allSegment = { top: [ [left, top], [right, top] ], right: [ [right, top], [right, bottom] ], bottom: [ [right, bottom], [left, bottom] ], left: [ [left, bottom], [left, top] ] }; (0, _iterator.each)(allSegment, (function(seg) { var visibility = !!borderOptions[seg]; visiblyOpt = 2 * visiblyOpt + ~~visibility })); switch (visiblyOpt) { case 13: case 9: segmentSequence = ["left", "top", "right", "bottom"]; break; case 11: segmentSequence = ["bottom", "left", "top", "right"]; break; default: segmentSequence = ["top", "right", "bottom", "left"] }(0, _iterator.each)(segmentSequence, (function(_, seg) { var segmentVisibility = !!borderOptions[seg]; if (!prevSegmentVisibility && segments.length) { points.push(segments); segments = [] } if (segmentVisibility) { (0, _iterator.each)(allSegment[seg].slice(prevSegmentVisibility), (function(_, segment) { segments = segments.concat(segment) })) } prevSegmentVisibility = ~~segmentVisibility })); segments.length && points.push(segments); 1 === points.length && (points = points[0]); return { points: points, pathType: 15 === visiblyOpt ? "area" : "line" } } }, 81849: /*!***************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/vector_map.js ***! \***************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _vector_map = (obj = __webpack_require__( /*! ./vector_map/vector_map */ 13711), obj && obj.__esModule ? obj : { default: obj }); var obj; var _default = _vector_map.default; exports.default = _default; module.exports = exports.default; module.exports.default = exports.default }, 17323: /*!***************************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/vector_map/control_bar/control_bar.js ***! \***************************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.ControlBar = ControlBar; var _utils = __webpack_require__( /*! ../../core/utils */ 19157); var _utils2 = __webpack_require__( /*! ./utils */ 77891); var _math = Math; var _min = _math.min; var _max = _math.max; var _round = _math.round; var _floor = _math.floor; var _sqrt = _math.sqrt; var parseHorizontalAlignment = (0, _utils.enumParser)(["left", "center", "right"]); var parseVerticalAlignment = (0, _utils.enumParser)(["top", "bottom"]); var SIZE_OPTIONS = { bigCircleSize: 58, smallCircleSize: 28, buttonSize: 10, arrowButtonOffset: 20, incDecButtonSize: 11, incButtonOffset: 66, decButtonOffset: 227, sliderLineStartOffset: 88.5, sliderLineEndOffset: 205.5, sliderLength: 20, sliderWidth: 8, trackerGap: 4 }; var COMMAND_TO_TYPE_MAP = {}; COMMAND_TO_TYPE_MAP["command-reset"] = ResetCommand; COMMAND_TO_TYPE_MAP["command-move-up"] = COMMAND_TO_TYPE_MAP["command-move-right"] = COMMAND_TO_TYPE_MAP["command-move-down"] = COMMAND_TO_TYPE_MAP["command-move-left"] = MoveCommand; COMMAND_TO_TYPE_MAP["command-zoom-in"] = COMMAND_TO_TYPE_MAP["command-zoom-out"] = ZoomCommand; COMMAND_TO_TYPE_MAP["command-zoom-drag"] = ZoomDragCommand; function ControlBar(parameters) { this._params = parameters; this._createElements(parameters.renderer, parameters.container, parameters.dataKey); parameters.layoutControl.addItem(this); this._subscribeToProjection(parameters.projection); this._subscribeToTracker(parameters.tracker); this._createCallbacks(parameters.projection) } ControlBar.prototype = { constructor: ControlBar, _flags: 0, dispose: function() { this._params.layoutControl.removeItem(this); this._root.linkRemove().linkOff(); this._offProjection(); this._offTracker(); this._params = this._root = this._offProjection = this._offTracker = this._callbacks = null }, _subscribeToProjection: function(projection) { var that = this; that._offProjection = projection.on({ engine: function() { that._update() }, zoom: updateZoom, "max-zoom": function() { that._zoomPartition = projection.getZoomScalePartition(); that._sliderUnitLength = that._sliderLineLength / that._zoomPartition; updateZoom() } }); function updateZoom() { that._adjustZoom(projection.getScaledZoom()) } }, _subscribeToTracker: function(tracker) { var that = this; var isActive = false; that._offTracker = tracker.on({ start: function(arg) { isActive = "control-bar" === arg.data.name; if (isActive) { that._processStart(arg.data.index, arg) } }, move: function(arg) { if (isActive) { that._processMove(arg.data.index, arg) } }, end: function() { if (isActive) { that._processEnd(); isActive = false } } }) }, _createCallbacks: function(projection) { this._callbacks = { reset: function(isCenter, isZoom) { if (isCenter) { projection.setCenter(null) } if (isZoom) { projection.setZoom(null) } }, beginMove: function() { projection.beginMoveCenter() }, endMove: function() { projection.endMoveCenter() }, move: function(shift) { projection.moveCenter(shift) }, zoom: function(_zoom) { projection.setScaledZoom(_zoom) } } }, _createElements: function(renderer, container, dataKey) { this._root = renderer.g().attr({ class: "dxm-control-bar" }).linkOn(container, "control-bar"); var panControl = this._panControl = (0, _utils2.createVisibilityGroup)(renderer, this._root, "dxm-pan-control"); var zoomBar = this._zoomBar = (0, _utils2.createVisibilityGroup)(renderer, this._root, "dxm-zoom-bar"); var trackersPan = this._trackersPan = (0, _utils2.createTracker)(renderer, this._root); var trackersZoom = this._trackersZoom = (0, _utils2.createTracker)(renderer, this._root); this._createTrackersPan(renderer, dataKey, trackersPan); this._createTrackersZoom(renderer, dataKey, trackersZoom); this._createPanControl(renderer, dataKey, panControl); this._createZoomBar(renderer, dataKey, zoomBar) }, _createPanControl: function(renderer, dataKey, group) { var options = SIZE_OPTIONS; var size = options.buttonSize / 2; var offset1 = options.arrowButtonOffset - size; var offset2 = options.arrowButtonOffset; var directionOptions = { "stroke-linecap": "square", fill: "none" }; renderer.circle(0, 0, options.bigCircleSize / 2).append(group); renderer.circle(0, 0, size).attr({ fill: "none" }).append(group); renderer.path([-size, -offset1, 0, -offset2, size, -offset1], "line").attr(directionOptions).append(group); renderer.path([offset1, -size, offset2, 0, offset1, size], "line").attr(directionOptions).append(group); renderer.path([size, offset1, 0, offset2, -size, offset1], "line").attr(directionOptions).append(group); renderer.path([-offset1, size, -offset2, 0, -offset1, -size], "line").attr(directionOptions).append(group) }, _createZoomBar: function(renderer, dataKey, group) { var options = SIZE_OPTIONS; var incDecButtonSize = options.incDecButtonSize / 2; renderer.circle(0, options.incButtonOffset, options.smallCircleSize / 2).append(group); renderer.path([ [-incDecButtonSize, options.incButtonOffset, incDecButtonSize, options.incButtonOffset], [0, options.incButtonOffset - incDecButtonSize, 0, options.incButtonOffset + incDecButtonSize] ], "area").append(group); renderer.circle(0, options.decButtonOffset, options.smallCircleSize / 2).append(group); renderer.path([-incDecButtonSize, options.decButtonOffset, incDecButtonSize, options.decButtonOffset], "area").append(group); this._zoomLine = renderer.path([], "line").append(group); this._zoomDrag = renderer.rect(_floor(-options.sliderLength / 2), _floor(options.sliderLineEndOffset - options.sliderWidth / 2), options.sliderLength, options.sliderWidth).append(group); this._sliderLineLength = options.sliderLineEndOffset - options.sliderLineStartOffset }, _createTrackersPan: function(renderer, dataKey, group) { var options = SIZE_OPTIONS; var size = _round((options.arrowButtonOffset - options.trackerGap) / 2); var offset1 = options.arrowButtonOffset - size; var offset2 = _round(_sqrt(options.bigCircleSize * options.bigCircleSize / 4 - size * size)); var size2 = offset2 - offset1; renderer.rect(-size, -size, 2 * size, 2 * size).data(dataKey, { index: "command-reset", name: "control-bar" }).append(group); renderer.rect(-size, -offset2, 2 * size, size2).data(dataKey, { index: "command-move-up", name: "control-bar" }).append(group); renderer.rect(offset1, -size, size2, 2 * size).data(dataKey, { index: "command-move-right", name: "control-bar" }).append(group); renderer.rect(-size, offset1, 2 * size, size2).data(dataKey, { index: "command-move-down", name: "control-bar" }).append(group); renderer.rect(-offset2, -size, size2, 2 * size).data(dataKey, { index: "command-move-left", name: "control-bar" }).append(group) }, _createTrackersZoom: function(renderer, dataKey, group) { var options = SIZE_OPTIONS; renderer.circle(0, options.incButtonOffset, options.smallCircleSize / 2).data(dataKey, { index: "command-zoom-in", name: "control-bar" }).append(group); renderer.circle(0, options.decButtonOffset, options.smallCircleSize / 2).data(dataKey, { index: "command-zoom-out", name: "control-bar" }).append(group); renderer.rect(-2, options.sliderLineStartOffset - 2, 4, options.sliderLineEndOffset - options.sliderLineStartOffset + 4).css({ cursor: "default" }).data(dataKey, { index: "command-zoom-drag-line", name: "control-bar" }).append(group); this._zoomDragTracker = renderer.rect(-options.sliderLength / 2, options.sliderLineEndOffset - options.sliderWidth / 2, options.sliderLength, options.sliderWidth).data(dataKey, { index: "command-zoom-drag", name: "control-bar" }).append(group) }, resize: function(size) { if (this._isActive) { this._root.attr({ visibility: null !== size ? null : "hidden" }) } }, getLayoutOptions: function() { return this._isActive ? this._layoutOptions : null }, locate: function(x, y) { this._root.attr({ translateX: x + this._margin + 30.5, translateY: y + this._margin + 30.5 }) }, _update: function() { this._isActive = this._isEnabled && this._flags && this._params.projection.isInvertible(); var groupPan = [this._panControl, this._trackersPan]; var groupZoom = [this._zoomBar, this._trackersZoom]; if (this._isActive) { this._root.linkAppend(); (0, _utils2.toggleDisplay)(groupPan, this._isPanVisible); (0, _utils2.toggleDisplay)(groupZoom, this._isZoomVisible) } else { this._root.linkRemove() } this._processEnd(); this.updateLayout() }, setInteraction: function(interaction) { if ((0, _utils.parseScalar)(interaction.centeringEnabled, true)) { this._flags |= 1 } else { this._flags &= -2 } if ((0, _utils.parseScalar)(interaction.zoomingEnabled, true)) { this._flags |= 2 } else { this._flags &= -3 } this._update() }, setOptions: function(options) { var styleSvg = { "stroke-width": options.borderWidth, stroke: options.borderColor, fill: options.color, "fill-opacity": options.opacity }; this._isEnabled = !!(0, _utils.parseScalar)(options.enabled, true); this._margin = options.margin || 0; this._layoutOptions = { width: 2 * this._margin + 61, height: 2 * this._margin + 274, horizontalAlignment: parseHorizontalAlignment(options.horizontalAlignment, "left"), verticalAlignment: parseVerticalAlignment(options.verticalAlignment, "top") }; this._isPanVisible = !!(0, _utils.parseScalar)(options.panVisible, true); this._isZoomVisible = !!(0, _utils.parseScalar)(options.zoomVisible, true); this._panControl.attr(styleSvg); this._zoomBar.attr(styleSvg); this._update() }, _adjustZoom: function(zoom) { var start = SIZE_OPTIONS.sliderLineStartOffset; var end = SIZE_OPTIONS.sliderLineEndOffset; var h = SIZE_OPTIONS.sliderWidth; this._zoomFactor = _max(_min(_round(zoom), this._zoomPartition), 0); var transform = { translateY: -_round(this._zoomFactor * this._sliderUnitLength) }; var y = end - h / 2 + transform.translateY; this._zoomLine.attr({ points: [ [0, start, 0, _max(start, y)], [0, _min(end, y + h), 0, end] ] }); this._zoomDrag.attr(transform); this._zoomDragTracker.attr(transform) }, _applyZoom: function() { this._callbacks.zoom(this._zoomFactor) }, _processStart: function(command, arg) { var commandType; if (this._isActive) { commandType = COMMAND_TO_TYPE_MAP[command]; this._command = commandType && commandType.flags & this._flags ? new commandType(this, command, arg) : null } }, _processMove: function(command, arg) { this._command && this._command.update(command, arg) }, _processEnd: function() { this._command && this._command.finish(); this._command = null } }; function disposeCommand(command) { delete command._owner; command.update = function() {}; command.finish = function() {} } function ResetCommand(owner, command) { this._owner = owner; this._command = command } ResetCommand.flags = 3; ResetCommand.prototype.update = function(command) { command !== this._command && disposeCommand(this) }; ResetCommand.prototype.finish = function() { var flags = this._owner._flags; this._owner._callbacks.reset(!!(1 & flags), !!(2 & flags)); disposeCommand(this) }; function MoveCommand(owner, command, arg) { this._command = command; var timeout = null; var dx = 0; var dy = 0; switch (this._command) { case "command-move-up": dy = -10; break; case "command-move-right": dx = 10; break; case "command-move-down": dy = 10; break; case "command-move-left": dx = -10 } this._stop = function() { clearTimeout(timeout); owner._callbacks.endMove(); this._stop = owner = null; return this }; null; owner._callbacks.beginMove(); ! function callback() { owner._callbacks.move([dx, dy]); timeout = setTimeout(callback, 100) }() } MoveCommand.flags = 1; MoveCommand.prototype.update = function(command) { this._command !== command && this.finish() }; MoveCommand.prototype.finish = function() { disposeCommand(this._stop()) }; function ZoomCommand(owner, command) { this._owner = owner; this._command = command; var timeout = null; var dZoom = "command-zoom-in" === this._command ? 1 : -1; this._stop = function() { clearTimeout(timeout); this._stop = owner = null; return this }; ! function callback() { owner._adjustZoom(owner._zoomFactor + dZoom); timeout = setTimeout(callback, 150) }() } ZoomCommand.flags = 2; ZoomCommand.prototype.update = function(command) { this._command !== command && this.finish() }; ZoomCommand.prototype.finish = function() { this._owner._applyZoom(); disposeCommand(this._stop()) }; function ZoomDragCommand(owner, command, arg) { this._owner = owner; this._zoomFactor = owner._zoomFactor; this._pos = arg.y } ZoomDragCommand.flags = 2; ZoomDragCommand.prototype.update = function(command, arg) { var owner = this._owner; owner._adjustZoom(this._zoomFactor + owner._zoomPartition * (this._pos - arg.y) / owner._sliderLineLength) }; ZoomDragCommand.prototype.finish = function() { this._owner._applyZoom(); disposeCommand(this) } }, 77891: /*!*********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/vector_map/control_bar/utils.js ***! \*********************************************************************************/ function(__unused_webpack_module, exports) { exports.toggleDisplay = exports.createVisibilityGroup = exports.createTracker = void 0; exports.createTracker = function(renderer, root) { return renderer.g().attr({ stroke: "none", "stroke-width": 0, fill: "#000000", opacity: 1e-4 }).css({ cursor: "pointer" }).append(root) }; exports.createVisibilityGroup = function(renderer, root) { var className = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : ""; return renderer.g().attr({ class: className }).append(root) }; exports.toggleDisplay = function(blocks, isVisible) { var style = isVisible ? { display: "block" } : { display: "none" }; blocks.map((function(item) { return item.css(style) })) } }, 93699: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/vector_map/data_exchanger.js ***! \******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.DataExchanger = DataExchanger; var _callbacks = (obj = __webpack_require__( /*! ../../core/utils/callbacks */ 44504), obj && obj.__esModule ? obj : { default: obj }); var obj; function DataExchanger() { this._store = {} } DataExchanger.prototype = { constructor: DataExchanger, dispose: function() { this._store = null; return this }, _get: function(category, name) { var store = this._store[category] || (this._store[category] = {}); return store[name] || (store[name] = { callbacks: (0, _callbacks.default)() }) }, set: function(category, name, data) { var item = this._get(category, name); item.data = data; item.callbacks.fire(data); return this }, bind: function(category, name, callback) { var item = this._get(category, name); item.callbacks.add(callback); item.data && callback(item.data); return this }, unbind: function(category, name, callback) { var item = this._get(category, name); item.callbacks.remove(callback); return this } } }, 63832: /*!*****************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/vector_map/event_emitter.js ***! \*****************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.makeEventEmitter = function(target) { var proto = target.prototype; var name; for (name in eventEmitterMethods) { proto[name] = eventEmitterMethods[name] } }; var _callbacks = (obj = __webpack_require__( /*! ../../core/utils/callbacks */ 44504), obj && obj.__esModule ? obj : { default: obj }); var obj; var eventEmitterMethods = { _initEvents: function() { var names = this._eventNames; var i; var ii = names.length; var events = this._events = {}; for (i = 0; i < ii; ++i) { events[names[i]] = (0, _callbacks.default)() } }, _disposeEvents: function() { var events = this._events; var name; for (name in events) { events[name].empty() } this._events = null }, on: function(handlers) { var events = this._events; var name; for (name in handlers) { events[name].add(handlers[name]) } return function() { for (name in handlers) { events[name].remove(handlers[name]) } } }, _fire: function(name, arg) { this._events[name].fire(arg) } } }, 3797: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/vector_map/gesture_handler.js ***! \*******************************************************************************/ function(__unused_webpack_module, exports) { exports.GestureHandler = GestureHandler; var _ln = Math.log; var _LN2 = Math.LN2; function GestureHandler(params) { this._projection = params.projection; this._renderer = params.renderer; this._x = this._y = 0; this._subscribeToTracker(params.tracker) } GestureHandler.prototype = { constructor: GestureHandler, dispose: function() { this._offTracker(); this._offTracker = null }, _subscribeToTracker: function(tracker) { var that = this; var isActive = false; that._offTracker = tracker.on({ start: function(arg) { isActive = "control-bar" !== arg.data.name; if (isActive) { that._processStart(arg) } }, move: function(arg) { if (isActive) { that._processMove(arg) } }, end: function() { if (isActive) { that._processEnd() } }, zoom: function(arg) { that._processZoom(arg) } }) }, setInteraction: function(options) { this._processEnd(); this._centeringEnabled = options.centeringEnabled; this._zoomingEnabled = options.zoomingEnabled }, _processStart: function(arg) { if (this._centeringEnabled) { this._x = arg.x; this._y = arg.y; this._projection.beginMoveCenter() } }, _processMove: function(arg) { if (this._centeringEnabled) { this._renderer.root.attr({ cursor: "move" }); this._projection.moveCenter([this._x - arg.x, this._y - arg.y]); this._x = arg.x; this._y = arg.y } }, _processEnd: function() { if (this._centeringEnabled) { this._renderer.root.attr({ cursor: "default" }); this._projection.endMoveCenter() } }, _processZoom: function(arg) { var delta; var screenPosition; var coords; if (this._zoomingEnabled) { if (arg.delta) { delta = arg.delta } else if (arg.ratio) { delta = _ln(arg.ratio) / _LN2 } if (this._centeringEnabled) { screenPosition = this._renderer.getRootOffset(); screenPosition = [arg.x - screenPosition.left, arg.y - screenPosition.top]; coords = this._projection.fromScreenPoint(screenPosition) } this._projection.changeScaledZoom(delta); if (this._centeringEnabled) { this._projection.setCenterByPoint(coords, screenPosition) } } } } }, 39378: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/vector_map/layout.js ***! \**********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.LayoutControl = LayoutControl; var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _round = Math.round; var _min = Math.min; var _max = Math.max; var _each = _iterator.each; var horizontalAlignmentMap = { left: 0, center: 1, right: 2 }; var verticalAlignmentMap = { top: 0, bottom: 1 }; function createCells(canvas, items) { var hStep = (canvas.right - canvas.left) / 3; var vStep = (canvas.bottom - canvas.top) / 2; var h1 = canvas.left; var h2 = _round(h1 + hStep); var h3 = _round(h1 + hStep + hStep); var h4 = canvas.right; var v1 = canvas.top; var v2 = _round(v1 + vStep); var v3 = canvas.bottom; var cells = [{ rect: [h1, v1, h2, v2] }, { rect: [h2, v1, h3, v2], center: true }, { rect: [h3, v1, h4, v2], horInversion: true }, { rect: [h1, v2, h2, v3], verInversion: true }, { rect: [h2, v2, h3, v3], center: true, verInversion: true }, { rect: [h3, v2, h4, v3], horInversion: true, verInversion: true }]; var itemsList = [ [], [], [], [], [], [] ]; _each(items, (function(_, item) { var options = item.getLayoutOptions(); if (options) { itemsList[function(options) { return 3 * verticalAlignmentMap[options.verticalAlignment] + horizontalAlignmentMap[options.horizontalAlignment] }(options)].push({ item: item, width: options.width, height: options.height }) } })); _each(cells, (function(i, cell) { if (itemsList[i].length) { cell.items = itemsList[i] } else { if (cell.center) { cell.rect[0] = cell.rect[2] = (cell.rect[0] + cell.rect[2]) / 2 } else { cell.rect[cell.horInversion ? 0 : 2] = cell.rect[cell.horInversion ? 2 : 0] } cell.rect[cell.verInversion ? 1 : 3] = cell.rect[cell.verInversion ? 3 : 1] } })); return cells } function adjustCellsAndApplyLayout(cells, forceMode) { var hasHiddenItems = false; ! function(cells) { _each([0, 1, 2, 3, 4, 5], (function(_, index) { var cell = cells[index]; var otherCell = cells[(index + 3) % 6]; if (cell.items) { if (!otherCell.items) { cell.rect[1] = _min(cell.rect[1], otherCell.rect[3]); cell.rect[3] = _max(cell.rect[3], otherCell.rect[1]) } } })); _each([1, 4], (function(_, index) { var cell = cells[index]; var otherCell1 = cells[index - 1]; var otherCell2 = cells[index + 1]; var size1; var size2; if (cell.items) { if (!otherCell1.items && !otherCell2.items) { size1 = cell.rect[0] - otherCell1.rect[2]; size2 = otherCell2.rect[0] - cell.rect[2]; if (size1 > size2) { if (size1 / size2 >= 2) { cell.rect[0] -= size1; cell.right = true } else { cell.rect[0] -= size2; cell.rect[2] += size2 } } else if (size2 / size1 >= 2) { cell.rect[2] += size2; cell.center = null } else { cell.rect[0] -= size1; cell.rect[2] += size1 } } } else { if (otherCell1.items) { otherCell1.rect[2] = (cell.rect[0] + cell.rect[2]) / 2 } if (otherCell2.items) { otherCell2.rect[0] = (cell.rect[0] + cell.rect[2]) / 2 } } })) }(cells); _each(cells, (function(_, cell) { if (cell.items) { hasHiddenItems = function(cell, forceMode) { var cellRect = cell.rect; var cellWidth = cellRect[2] - cellRect[0]; var cellHeight = cellRect[3] - cellRect[1]; var xOffset = 0; var yOffset = 0; var currentHeight = 0; var totalL = cellRect[2]; var totalT = cellRect[3]; var totalR = cellRect[0]; var totalB = cellRect[1]; var moves = []; var hasHiddenItems = false; _each(cell.items, (function(_, item) { if (item.width > cellWidth || item.height > cellHeight) { moves.push(null); hasHiddenItems = true; return forceMode || false } if (xOffset + item.width > cellWidth) { yOffset += currentHeight; xOffset = currentHeight = 0 } if (yOffset + item.height > cellHeight) { moves.push(null); hasHiddenItems = true; return forceMode || false } currentHeight = _max(currentHeight, item.height); var dx = cell.horInversion ? cellRect[2] - item.width - xOffset : cellRect[0] + xOffset; var dy = cell.verInversion ? cellRect[3] - item.height - yOffset : cellRect[1] + yOffset; xOffset += item.width; totalL = _min(totalL, dx); totalT = _min(totalT, dy); totalR = _max(totalR, dx + item.width); totalB = _max(totalB, dy + item.height); moves.push([dx, dy]) })); if (forceMode || !hasHiddenItems) { xOffset = 0; if (cell.right) { xOffset = cellRect[2] - cellRect[0] - totalR + totalL } else if (cell.center) { xOffset = _round((cellRect[2] - cellRect[0] - totalR + totalL) / 2) } _each(cell.items, (function(i, item) { var move = moves[i]; if (move) { item.item.locate(move[0] + xOffset, move[1]) } else { item.item.resize(null) } })); cell.rect = [totalL, totalT, totalR, totalB]; cell.items = null } return hasHiddenItems }(cell, forceMode) || hasHiddenItems } })); return hasHiddenItems } function LayoutControl(widget) { var that = this; that._items = []; that._suspended = 0; that._widget = widget; that._updateLayout = function() { that._update() } } LayoutControl.prototype = { constructor: LayoutControl, dispose: function() { this._items = this._updateLayout = null }, setSize: function(canvas) { this._canvas = canvas; this._update() }, suspend: function() { ++this._suspended }, resume: function() { if (0 === --this._suspended) { this._update() } }, addItem: function(item) { this._items.push(item); item.updateLayout = this._updateLayout }, removeItem: function(item) { var index = this._items.indexOf(item); this._items.splice(index, 1); item.updateLayout = null }, _update: function() { var canvas; if (0 === this._suspended) { canvas = this._canvas; _each(this._items, (function(_, item) { item.resize(canvas) })); this._widget.resolveItemsDeferred(this._items.filter((function(el) { return el.getTemplatesGroups && el.getTemplatesDef }))); ! function(canvas, items) { var cells = createCells(canvas, items); if (adjustCellsAndApplyLayout(cells)) { adjustCellsAndApplyLayout(cells, true) } }({ left: canvas.left, top: canvas.top, right: canvas.width + canvas.left, bottom: canvas.height + canvas.top }, this._items) } } } }, 7291: /*!**********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/vector_map/legend.js ***! \**********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.LegendsControl = LegendsControl; var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _object = __webpack_require__( /*! ../../core/utils/object */ 48013); var _legend = __webpack_require__( /*! ../components/legend */ 16342); var _extend = _extend2.extend; var _each = _iterator.each; var unknownSource = { category: "UNKNOWN", name: "UNKNOWN" }; var Legend = function(parameters) { var that = this; that._params = parameters; that._root = parameters.renderer.g().attr({ class: "dxm-legend" }).linkOn(parameters.container, { name: "legend", after: "legend-base" }).enableLinks().linkAppend(); parameters.layoutControl.addItem(that); _legend.Legend.call(that, { renderer: parameters.renderer, widget: parameters.widget, group: that._root, backgroundClass: null, itemsGroupClass: null, textField: "text", getFormatObject: function(data) { return data } }); that._onDataChanged = function(data) { that._updateData(data) } }; Legend.prototype = _extend((0, _object.clone)(_legend.Legend.prototype), { constructor: Legend, dispose: function() { var that = this; that._params.layoutControl.removeItem(that); that._unbindData(); that._root.linkRemove().linkOff(); that._params = that._root = that._onDataChanged = null; return _legend.Legend.prototype.dispose.apply(that, arguments) }, resize: function(size) { this._params.notifyDirty(); if (null === size) { this.erase() } else { this.draw(size.width, size.height) } this._params.notifyReady() }, locate: _legend.Legend.prototype.shift, _updateData: function(data) { this._options.defaultColor = data && data.defaultColor; this.update(data ? function(partition, values, field) { var i; var ii = values.length; var list = []; var item; for (i = 0; i < ii; ++i) { list[i] = item = { start: partition[i], end: partition[i + 1], index: i }; item[field] = values[i]; item.states = { normal: { fill: item.color } }; item.visible = true } return list }(data.partition, data.values, this._dataName) : [], this._options, this._params.themeManager.theme("legend").title); this.updateLayout() }, _unbindData: function() { if (this._dataCategory) { this._params.dataExchanger.unbind(this._dataCategory, this._dataName, this._onDataChanged) } }, _bindData: function(arg) { this._params.dataExchanger.bind(this._dataCategory = arg.category, this._dataName = arg.name, this._onDataChanged) }, setOptions: function(options) { this.update(this._data, options, this._params.themeManager.theme("legend").title); this._unbindData(); var source = options.source; this._bindData(source ? { category: source.layer, name: source.grouping } : unknownSource); this.updateLayout(); return this } }); function LegendsControl(parameters) { this._params = parameters; this._items = []; parameters.container.virtualLink("legend-base") } LegendsControl.prototype = { constructor: LegendsControl, dispose: function() { _each(this._items, (function(_, item) { item.dispose() })); this._params = this._items = null }, setOptions: function(options) { var optionList = options && options.length ? options : []; var items = this._items; var i; var ii = optionList.length; var params = this._params; var theme = params.themeManager.theme("legend"); for (i = items.length; i < ii; ++i) { items[i] = new Legend(params) } for (i = items.length - 1; i >= ii; --i) { items[i].dispose(); items.splice(i, 1) } params.layoutControl.suspend(); for (i = 0; i < ii; ++i) { items[i].setOptions(_extend(true, {}, theme, optionList[i])) } params.layoutControl.resume() } } }, 15151: /*!*************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/vector_map/map_layer.js ***! \*************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.MapLayerCollection = MapLayerCollection; exports.getMaxBound = getMaxBound; var _common = __webpack_require__( /*! ../../core/utils/common */ 20576); var _extend2 = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _iterator = __webpack_require__( /*! ../../core/utils/iterator */ 95479); var _data_helper = (obj = __webpack_require__( /*! ../../data_helper */ 53305), obj && obj.__esModule ? obj : { default: obj }); var obj; var _type = __webpack_require__( /*! ../../core/utils/type */ 35922); var _deferred = __webpack_require__( /*! ../../core/utils/deferred */ 62754); var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _noop = _common.noop; var _extend = _extend2.extend; var _each = _iterator.each; var _concat = Array.prototype.concat; var STATE_TO_INDEX = [0, 1, 2, 2]; var SELECTIONS = { none: null, single: -1, multiple: NaN }; var _isArray = Array.isArray; var _Number = Number; var _String = String; var _abs = Math.abs; var _round = Math.round; var _min = Math.min; var _max = Math.max; var _sqrt = Math.sqrt; function getMaxBound(arr) { return arr.reduce((function(a, c) { return c ? [_min(a[0], c[0]), _min(a[1], c[1]), _max(a[2], c[2]), _max(a[3], c[3])] : a }), arr[0]) } function getName(opt, index) { return (opt[index] || {}).name } function EmptySource() {} EmptySource.prototype.count = function() { return 0 }; function ArraySource(raw) { this.raw = raw } ArraySource.prototype = { constructor: ArraySource, count: function() { return this.raw.length }, item: function(index) { return this.raw[index] }, geometry: function(item) { return { coordinates: item.coordinates } }, attributes: function(item) { return item.attributes }, getBBox: function(index) { return 0 === arguments.length ? void 0 : this.raw[index].bbox } }; function GeoJsonSource(raw) { this.raw = raw } GeoJsonSource.prototype = { constructor: GeoJsonSource, count: function() { return this.raw.features.length }, item: function(index) { return this.raw.features[index] }, geometry: function(item) { return item.geometry }, attributes: function(item) { return item.properties }, getBBox: function(index) { return 0 === arguments.length ? this.raw.bbox : this.raw.features[index].bbox } }; function isGeoJsonObject(obj) { return _isArray(obj.features) } function setAreaLabelVisibility(label) { label.text.attr({ visibility: label.size[0] / label.spaceSize[0] < 1 && label.size[1] / label.spaceSize[1] < 1 ? null : "hidden" }) } function setLineLabelVisibility(label) { label.text.attr({ visibility: label.size[0] / label.spaceSize[0] < 1 || label.size[1] / label.spaceSize[1] < 1 ? null : "hidden" }) } function getDataValue(proxy, dataField) { return proxy.attribute(dataField) } var TYPE_TO_TYPE_MAP = { Point: "marker", MultiPoint: "line", LineString: "line", MultiLineString: "line", Polygon: "area", MultiPolygon: "area" }; function pick(a, b) { return void 0 !== a ? a : b } var emptyStrategy = { setup: _noop, reset: _noop, arrange: _noop, updateGrouping: _noop, getDefaultColor: _noop }; var strategiesByType = {}; var strategiesByGeometry = {}; var strategiesByElementType = {}; var groupByColor; var groupBySize; var selectStrategy = function(options, data) { var type = (0, _utils.normalizeEnum)(options.type); var elementType = (0, _utils.normalizeEnum)(options.elementType); var sample; var strategy = _extend({}, emptyStrategy); if (data.count() > 0) { sample = data.geometry(data.item(0)); type = strategiesByType[type] ? type : function(sample) { var type = TYPE_TO_TYPE_MAP[sample.type]; var coordinates = sample.coordinates; if (!type) { if ("number" === typeof coordinates[0]) { type = "marker" } else if ("number" === typeof coordinates[0][0]) { type = "line" } else { type = "area" } } return type }(sample); _extend(strategy, strategiesByType[type]); strategy.fullType = strategy.type = type; if (strategiesByGeometry[type]) { _extend(strategy, strategiesByGeometry[type](sample)) } if (strategiesByElementType[type]) { elementType = strategiesByElementType[type][elementType] ? elementType : strategiesByElementType[type]._default; _extend(strategy, strategiesByElementType[type][elementType]); strategy.elementType = elementType; strategy.fullType += ":" + elementType } } return strategy }; function applyElementState(figure, styles, state, field) { figure[field].attr(styles[field][state]) } strategiesByType.area = { projectLabel: function(coordinates) { var i; var ii = coordinates.length; var centroid; var resultCentroid; var maxArea = 0; for (i = 0; i < ii; ++i) { centroid = calculatePolygonCentroid(coordinates[i]); if (centroid.area > maxArea) { maxArea = centroid.area; resultCentroid = centroid } } return resultCentroid ? [resultCentroid.center, [_sqrt(resultCentroid.area), _sqrt(resultCentroid.area)]] : [ [], [] ] }, transform: transformPointList, transformLabel: function(label, projection, coordinates) { var data = projection.transform(coordinates[0]); label.spaceSize = projection.getSquareSize(coordinates[1]); label.text.attr({ translateX: data[0], translateY: data[1] }); setAreaLabelVisibility(label) }, draw: function(context, figure, data) { figure.root = context.renderer.path([], "area").data(context.dataKey, data) }, refresh: _noop, getLabelOffset: function(label) { setAreaLabelVisibility(label); return [0, 0] }, getStyles: function(settings) { var color = settings.color || null; var borderColor = settings.borderColor || null; var borderWidth = pick(settings.borderWidth, null); var opacity = pick(settings.opacity, null); return { root: [{ class: "dxm-area", stroke: borderColor, "stroke-width": borderWidth, fill: color, opacity: opacity }, { class: "dxm-area dxm-area-hovered", stroke: settings.hoveredBorderColor || borderColor, "stroke-width": pick(settings.hoveredBorderWidth, borderWidth), fill: settings.hoveredColor || color, opacity: pick(settings.hoveredOpacity, opacity) }, { class: "dxm-area dxm-area-selected", stroke: settings.selectedBorderColor || borderColor, "stroke-width": pick(settings.selectedBorderWidth, borderWidth), fill: settings.selectedColor || color, opacity: pick(settings.selectedOpacity, opacity) }] } }, setState: function(figure, styles, state) { applyElementState(figure, styles, state, "root") }, hasLabelsGroup: true, updateGrouping: function(context) { groupByColor(context) }, getDefaultColor: _noop }; strategiesByType.line = { projectLabel: function(coordinates) { var i; var ii = coordinates.length; var maxLength = 0; var data; var resultData; for (i = 0; i < ii; ++i) { data = calculateLineStringData(coordinates[i]); if (data[2] > maxLength) { maxLength = data[2]; resultData = data } } return resultData || [ [], [] ] }, transform: transformPointList, transformLabel: function(label, projection, coordinates) { var data = projection.transform(coordinates[0]); label.spaceSize = projection.getSquareSize(coordinates[1]); label.text.attr({ translateX: data[0], translateY: data[1] }); setLineLabelVisibility(label) }, draw: function(context, figure, data) { figure.root = context.renderer.path([], "line").data(context.dataKey, data) }, refresh: _noop, getLabelOffset: function(label) { setLineLabelVisibility(label); return [0, 0] }, getStyles: function(settings) { var color = settings.color || settings.borderColor || null; var width = pick(settings.borderWidth, null); var opacity = pick(settings.opacity, null); return { root: [{ class: "dxm-line", stroke: color, "stroke-width": width, opacity: opacity }, { class: "dxm-line dxm-line-hovered", stroke: settings.hoveredColor || settings.hoveredBorderColor || color, "stroke-width": pick(settings.hoveredBorderWidth, width), opacity: pick(settings.hoveredOpacity, opacity) }, { class: "dxm-line dxm-line-selected", stroke: settings.selectedColor || settings.selectedBorderColor || color, "stroke-width": pick(settings.selectedBorderWidth, width), opacity: pick(settings.selectedOpacity, opacity) }] } }, setState: function(figure, styles, state) { applyElementState(figure, styles, state, "root") }, hasLabelsGroup: true, updateGrouping: function(context) { groupByColor(context) }, getDefaultColor: _noop }; strategiesByType.marker = { project: function(projection, coordinates) { return projection.project(coordinates) }, transform: function(content, projection, coordinates) { var data = projection.transform(coordinates); content.root.attr({ translateX: data[0], translateY: data[1] }) }, draw: function(context, figure, data) { figure.root = context.renderer.g(); this._draw(context, figure, data) }, refresh: _noop, hasLabelsGroup: false, getLabelOffset: function(label, settings) { return [_round((label.size[0] + _max(settings.size || 0, 0)) / 2) + 2, 0] }, getStyles: function(settings) { var styles = { root: [{ class: "dxm-marker" }, { class: "dxm-marker dxm-marker-hovered" }, { class: "dxm-marker dxm-marker-selected" }] }; this._getStyles(styles, settings); return styles }, setState: function(figure, styles, state) { applyElementState(figure, styles, state, "root"); this._setState(figure, styles, state) }, updateGrouping: function(context) { groupByColor(context); groupBySize(context) }, getDefaultColor: function(ctx, palette) { return ctx.params.themeManager.getAccentColor(palette) } }; strategiesByGeometry.area = function(sample) { return { project: function(projection, coordinates) { return coordinates[0] && coordinates[0][0] && coordinates[0][0][0] && "number" === typeof coordinates[0][0][0][0] ? function(projection, coordinates) { var output = []; var i; var ii = output.length = coordinates.length; for (i = 0; i < ii; ++i) { output[i] = projectPolygon(projection, coordinates[i]) } return _concat.apply([], output) }(projection, coordinates) : projectPolygon(projection, coordinates) } } }; strategiesByGeometry.line = function(sample) { var coordinates = sample.coordinates; return { project: coordinates[0] && coordinates[0][0] && "number" === typeof coordinates[0][0][0] ? projectPolygon : projectLineString } }; strategiesByElementType.marker = { _default: "dot", dot: { setup: function(context) { context.filter = context.renderer.shadowFilter("-40%", "-40%", "180%", "200%", 0, 1, 1, "#000000", .2) }, reset: function(context) { context.filter.dispose(); context.filter = null }, _draw: function(ctx, figure, data) { figure.back = ctx.renderer.circle().sharp().data(ctx.dataKey, data).append(figure.root); figure.dot = ctx.renderer.circle().sharp().data(ctx.dataKey, data).append(figure.root) }, refresh: function(ctx, figure, data, proxy, settings) { figure.dot.attr({ filter: settings.shadow ? ctx.filter.id : null }) }, _getStyles: function(styles, style) { var size = style.size > 0 ? _Number(style.size) : 0; var hoveredSize = size; var selectedSize = size + (style.selectedStep > 0 ? _Number(style.selectedStep) : 0); var hoveredBackSize = hoveredSize + (style.backStep > 0 ? _Number(style.backStep) : 0); var selectedBackSize = selectedSize + (style.backStep > 0 ? _Number(style.backStep) : 0); var color = style.color || null; var borderColor = style.borderColor || null; var borderWidth = pick(style.borderWidth, null); var opacity = pick(style.opacity, null); var backColor = style.backColor || null; var backOpacity = pick(style.backOpacity, null); styles.dot = [{ r: size / 2, stroke: borderColor, "stroke-width": borderWidth, fill: color, opacity: opacity }, { r: hoveredSize / 2, stroke: style.hoveredBorderColor || borderColor, "stroke-width": pick(style.hoveredBorderWidth, borderWidth), fill: style.hoveredColor || color, opacity: pick(style.hoveredOpacity, opacity) }, { r: selectedSize / 2, stroke: style.selectedBorderColor || borderColor, "stroke-width": pick(style.selectedBorderWidth, borderWidth), fill: style.selectedColor || color, opacity: pick(style.selectedOpacity, opacity) }]; styles.back = [{ r: size / 2, stroke: "none", "stroke-width": 0, fill: backColor, opacity: backOpacity }, { r: hoveredBackSize / 2, stroke: "none", "stroke-width": 0, fill: backColor, opacity: backOpacity }, { r: selectedBackSize / 2, stroke: "none", "stroke-width": 0, fill: backColor, opacity: backOpacity }] }, _setState: function(figure, styles, state) { applyElementState(figure, styles, state, "dot"); applyElementState(figure, styles, state, "back") } }, bubble: { _draw: function(ctx, figure, data) { figure.bubble = ctx.renderer.circle().sharp().data(ctx.dataKey, data).append(figure.root) }, refresh: function(ctx, figure, data, proxy, settings) { figure.bubble.attr({ r: settings.size / 2 }) }, _getStyles: function(styles, style) { var color = style.color || null; var borderColor = style.borderColor || null; var borderWidth = pick(style.borderWidth, null); var opacity = pick(style.opacity, null); styles.bubble = [{ stroke: borderColor, "stroke-width": borderWidth, fill: color, opacity: opacity }, { stroke: style.hoveredBorderColor || borderColor, "stroke-width": pick(style.hoveredBorderWidth, borderWidth), fill: style.hoveredColor || style.color, opacity: pick(style.hoveredOpacity, opacity) }, { stroke: style.selectedBorderColor || borderColor, "stroke-width": pick(style.selectedBorderWidth, borderWidth), fill: style.selectedColor || style.color, opacity: pick(style.selectedOpacity, opacity) }] }, _setState: function(figure, styles, state) { applyElementState(figure, styles, state, "bubble") }, arrange: function(context, handles) { var values = []; var i; var ii = values.length = handles.length; var settings = context.settings; var dataField = settings.dataField; var minSize = settings.minSize > 0 ? _Number(settings.minSize) : 0; var maxSize = settings.maxSize > minSize ? _Number(settings.maxSize) : minSize; if (settings.sizeGroups) { return } for (i = 0; i < ii; ++i) { values[i] = _max(getDataValue(handles[i].proxy, dataField) || 0, 0) } var minValue = _min.apply(null, values); var maxValue = _max.apply(null, values); var deltaValue = maxValue - minValue || 1; var deltaSize = maxSize - minSize; for (i = 0; i < ii; ++i) { handles[i]._settings.size = minSize + deltaSize * (values[i] - minValue) / deltaValue } }, updateGrouping: function(context) { var dataField = context.settings.dataField; strategiesByType.marker.updateGrouping(context); groupBySize(context, (function(proxy) { return getDataValue(proxy, dataField) })) } }, pie: { _draw: function(ctx, figure, data) { figure.pie = ctx.renderer.g().append(figure.root); figure.border = ctx.renderer.circle().sharp().data(ctx.dataKey, data).append(figure.root) }, refresh: function(ctx, figure, data, proxy, settings) { var values = getDataValue(proxy, ctx.settings.dataField) || []; var colors = settings._colors; var sum = 0; var pie = figure.pie; var renderer = ctx.renderer; var dataKey = ctx.dataKey; var r = (settings.size > 0 ? _Number(settings.size) : 0) / 2; var start = 90; var end = start; var zeroSum = false; sum = values.reduce((function(total, item) { return total + (item || 0) }), 0); if (0 === sum) { zeroSum = true; sum = 360 / values.length } values.forEach((function(item, i) { start = end; end += zeroSum ? sum : (item || 0) / sum * 360; renderer.arc(0, 0, 0, r, start, end).attr({ "stroke-linejoin": "round", fill: colors[i] }).data(dataKey, data).append(pie) })); figure.border.attr({ r: r }) }, _getStyles: function(styles, style) { var opacity = pick(style.opacity, null); var borderColor = style.borderColor || null; var borderWidth = pick(style.borderWidth, null); styles.pie = [{ opacity: opacity }, { opacity: pick(style.hoveredOpacity, opacity) }, { opacity: pick(style.selectedOpacity, opacity) }]; styles.border = [{ stroke: borderColor, "stroke-width": borderWidth }, { stroke: style.hoveredBorderColor || borderColor, "stroke-width": pick(style.hoveredBorderWidth, borderWidth) }, { stroke: style.selectedBorderColor || borderColor, "stroke-width": pick(style.selectedBorderWidth, borderWidth) }] }, _setState: function(figure, styles, state) { applyElementState(figure, styles, state, "pie"); applyElementState(figure, styles, state, "border") }, arrange: function(context, handles) { var i; var ii = handles.length; var dataField = context.settings.dataField; var values; var count = 0; var palette; for (i = 0; i < ii; ++i) { values = getDataValue(handles[i].proxy, dataField); if (values && values.length > count) { count = values.length } } if (count > 0) { palette = context.params.themeManager.createPalette(context.settings.palette, { useHighlight: true, extensionMode: "alternate" }); values = palette.generateColors(count); context.settings._colors = values; context.grouping.color = { callback: _noop, field: "", partition: [], values: [] }; context.params.dataExchanger.set(context.name, "color", { partition: [], values: values }) } } }, image: { _draw: function(ctx, figure, data) { figure.image = ctx.renderer.image(null, null, null, null, null, "center").attr({ "pointer-events": "visible" }).data(ctx.dataKey, data).append(figure.root) }, refresh: function(ctx, figure, data, proxy) { figure.image.attr({ href: getDataValue(proxy, ctx.settings.dataField) }) }, _getStyles: function(styles, style) { var size = style.size > 0 ? _Number(style.size) : 0; var hoveredSize = size + (style.hoveredStep > 0 ? _Number(style.hoveredStep) : 0); var selectedSize = size + (style.selectedStep > 0 ? _Number(style.selectedStep) : 0); var opacity = pick(style.opacity, null); styles.image = [{ x: -size / 2, y: -size / 2, width: size, height: size, opacity: opacity }, { x: -hoveredSize / 2, y: -hoveredSize / 2, width: hoveredSize, height: hoveredSize, opacity: pick(style.hoveredOpacity, opacity) }, { x: -selectedSize / 2, y: -selectedSize / 2, width: selectedSize, height: selectedSize, opacity: pick(style.selectedOpacity, opacity) }] }, _setState: function(figure, styles, state) { applyElementState(figure, styles, state, "image") } } }; function projectPointList(projection, coordinates) { var output = []; var i; var ii = output.length = coordinates.length; for (i = 0; i < ii; ++i) { output[i] = projection.project(coordinates[i]) } return output } function projectLineString(projection, coordinates) { return [projectPointList(projection, coordinates)] } function projectPolygon(projection, coordinates) { var output = []; var i; var ii = output.length = coordinates.length; for (i = 0; i < ii; ++i) { output[i] = projectPointList(projection, coordinates[i]) } return output } function transformList(projection, coordinates) { var output = []; var i; var ii = coordinates.length; var item; var k = 0; output.length = 2 * ii; for (i = 0; i < ii; ++i) { item = projection.transform(coordinates[i]); output[k++] = item[0]; output[k++] = item[1] } return output } function transformPointList(content, projection, coordinates) { var output = []; var i; var ii = output.length = coordinates.length; for (i = 0; i < ii; ++i) { output[i] = transformList(projection, coordinates[i]) } content.root.attr({ points: output }) } function getItemSettings(context, proxy, settings) { var result = combineSettings(context.settings, settings); ! function(grouping, proxy, settings) { _each(grouping, (function(name, data) { var index = findGroupingIndex(data.callback(proxy, data.field), data.partition); if (index >= 0) { settings[name] = data.values[index] } })) }(context.grouping, proxy, result); if (void 0 === settings.color && settings.paletteIndex >= 0) { result.color = result._colors[settings.paletteIndex] } return result } function findGroupingIndex(value, partition) { var start = 0; var end = partition.length - 1; var index = -1; var middle; if (partition[start] <= value && value <= partition[end]) { if (value === partition[end]) { index = end - 1 } else { while (end - start > 1) { middle = start + end >> 1; if (value < partition[middle]) { end = middle } else { start = middle } } index = start } } return index } function raiseChanged(context, handle, state, name) { context.params.eventTrigger(name, { target: handle.proxy, state: state }) } function combineSettings(common, partial) { var obj = _extend({}, common, partial); obj.label = _extend({}, common.label, obj.label); obj.label.font = _extend({}, common.label.font, obj.label.font); return obj } function valueCallback(proxy, dataField) { return proxy.attribute(dataField) } var performGrouping = function(context, partition, settingField, dataField, valuesCallback) { var values; if (dataField && partition && partition.length > 1) { values = valuesCallback(partition.length - 1); context.grouping[settingField] = { callback: (0, _type.isFunction)(dataField) ? dataField : valueCallback, field: dataField, partition: partition, values: values }; context.params.dataExchanger.set(context.name, settingField, { partition: partition, values: values, defaultColor: context.settings.color }) } }; function dropGrouping(context) { var name = context.name; var dataExchanger = context.params.dataExchanger; _each(context.grouping, (function(field) { dataExchanger.set(name, field, null) })); context.grouping = {} } groupByColor = function(context) { performGrouping(context, context.settings.colorGroups, "color", context.settings.colorGroupingField, (function(count) { var _palette = context.params.themeManager.createDiscretePalette(context.settings.palette, count); var i; var list = []; for (i = 0; i < count; ++i) { list.push(_palette.getColor(i)) } return list })) }; groupBySize = function(context, valueCallback) { var settings = context.settings; performGrouping(context, settings.sizeGroups, "size", valueCallback || settings.sizeGroupingField, (function(count) { var minSize = settings.minSize > 0 ? _Number(settings.minSize) : 0; var maxSize = settings.maxSize >= minSize ? _Number(settings.maxSize) : 0; var i = 0; var sizes = []; if (count > 1) { for (i = 0; i < count; ++i) { sizes.push((minSize * (count - i - 1) + maxSize * i) / (count - 1)) } } else if (1 === count) { sizes.push((minSize + maxSize) / 2) } return sizes })) }; function setFlag(flags, flag, state) { if (state) { flags |= flag } else { flags &= ~flag } return flags } function hasFlag(flags, flag) { return !!(flags & flag) } var MapLayerElement; var MapLayer = function(params, container, name, index) { this._params = params; this._onProjection(); this.proxy = function(layer, name, index) { var proxy = { index: index, name: name, getElements: function() { return layer.getProxies() }, clearSelection: function(_noEvent) { layer.clearSelection(_noEvent); return proxy }, getDataSource: function() { return layer.getDataSource() }, getBounds: function() { return layer.getBounds() } }; return proxy }(this, name, index); this._context = { name: name, layer: this.proxy, renderer: params.renderer, projection: params.projection, params: params, dataKey: params.dataKey, str: emptyStrategy, hover: false, selection: null, grouping: {}, root: params.renderer.g().attr({ class: "dxm-layer" }).linkOn(container, name).linkAppend() }; this._container = container; this._options = {}; this._handles = []; this._data = new EmptySource; this._dataSourceLoaded = null }; MapLayer.prototype = _extend({ constructor: MapLayer, getDataReadyCallback: function() { return this._dataSourceLoaded }, _onProjection: function() { var that = this; that._removeHandlers = that._params.projection.on({ engine: function() { that._project() }, screen: function() { that._transform() }, center: function() { that._transformCore() }, zoom: function() { that._transform() } }) }, getData: function() { return this._data }, _dataSourceLoadErrorHandler: function() { this._dataSourceChangedHandler() }, _dataSourceChangedHandler: function() { this._data = function(source) { var sourceType; if (source) { if (isGeoJsonObject(source)) { sourceType = GeoJsonSource } else if (1 === source.length && source[0] && isGeoJsonObject(source[0])) { sourceType = GeoJsonSource; source = source[0] } else if (_isArray(source)) { sourceType = ArraySource } } sourceType = sourceType || EmptySource; return new sourceType(source) }(this._dataSource && this._dataSource.items()); this._update(true) }, _dataSourceOptions: function() { return { paginate: false } }, _getSpecificDataSourceOption: function() { return this._specificDataSourceOption }, _normalizeDataSource: function(dataSource) { var store = dataSource.store(); if ("raw" === store._loadMode) { store._loadMode = void 0 } return dataSource }, _offProjection: function() { this._removeHandlers(); this._removeHandlers = null }, dispose: function() { this._disposeDataSource(); this._destroyHandles(); dropGrouping(this._context); this._context.root.linkRemove().linkOff(); this._context.labelRoot && this._context.labelRoot.linkRemove().linkOff(); this._context.str.reset(this._context); this._offProjection(); this._params = this._container = this._context = this.proxy = null; return this }, setOptions: function(options) { options = this._options = options || {}; this._dataSourceLoaded = new _deferred.Deferred; if ("dataSource" in options && options.dataSource !== this._options_dataSource) { this._options_dataSource = options.dataSource; this._params.notifyDirty(); this._specificDataSourceOption = (option = options.dataSource, option ? isGeoJsonObject(option) ? [option] : option : []); this._refreshDataSource() } else if (this._data.count() > 0) { this._params.notifyDirty(); this._update(void 0 !== options.type && options.type !== this._context.str.type || void 0 !== options.elementType && options.elementType !== this._context.str.elementType) } var option; this._transformCore() }, _update: function(isContextChanged) { var context = this._context; if (isContextChanged) { context.str.reset(context); context.root.clear(); context.labelRoot && context.labelRoot.clear(); this._params.tracker.reset(); this._destroyHandles(); context.str = selectStrategy(this._options, this._data); context.str.setup(context); this.proxy.type = context.str.type; this.proxy.elementType = context.str.elementType } context.settings = function(context, options) { var themeManager = context.params.themeManager; var strategy = context.str; var settings = combineSettings(_extend({ label: {}, color: strategy.getDefaultColor(context, options.palette) }, themeManager.theme("layer:" + strategy.fullType)), options); var colors; var i; var palette; if (settings.paletteSize > 0) { palette = themeManager.createDiscretePalette(settings.palette, settings.paletteSize); for (i = 0, colors = []; i < settings.paletteSize; ++i) { colors.push(palette.getColor(i)) } settings._colors = colors } return settings }(context, this._options); context.hasSeparateLabel = !!(context.settings.label.enabled && context.str.hasLabelsGroup); context.hover = !!(0, _utils.parseScalar)(context.settings.hoverEnabled, true); if (context.selection) { _each(context.selection.state, (function(_, handle) { handle && handle.resetSelected() })) } context.selection = function(selectionMode) { var selection = (0, _utils.normalizeEnum)(selectionMode); selection = selection in SELECTIONS ? SELECTIONS[selection] : SELECTIONS.single; if (null !== selection) { selection = { state: {}, single: selection } } return selection }(context.settings.selectionMode); if (context.hasSeparateLabel) { if (!context.labelRoot) { context.labelRoot = context.renderer.g().attr({ class: "dxm-layer-labels" }).linkOn(this._container, { name: context.name + "-labels", after: context.name }).linkAppend(); this._transformCore() } } else if (context.labelRoot) { context.labelRoot.linkRemove().linkOff(); context.labelRoot = null } if (isContextChanged) { this._createHandles() } dropGrouping(context); context.str.arrange(context, this._handles); context.str.updateGrouping(context); this._updateHandles(); this._params.notifyReady(); if (this._dataSourceLoaded) { this._dataSourceLoaded.resolve(); this._dataSourceLoaded = null } else { this._params.dataReady() } }, getBounds: function() { return getMaxBound(this._handles.map((function(_ref) { var proxy = _ref.proxy; return proxy.coordinates().map((function(coords) { if (!_isArray(coords)) { return } var coordsToBoundsSearch = _isArray(coords[0][0]) ? coords.reduce((function(ac, val) { return ac.concat(val) }), []) : coords; var initValue = coordsToBoundsSearch[0]; return coordsToBoundsSearch.reduce((function(min, c) { return [_min(min[0], c[0]), _min(min[1], c[1]), _max(min[2], c[0]), _max(min[3], c[1])] }), [initValue[0], initValue[1], initValue[0], initValue[1]]) })) })).map(getMaxBound)) }, _destroyHandles: function() { this._handles.forEach((function(h) { return h.dispose() })); if (this._context.selection) { this._context.selection.state = {} } this._handles = [] }, _createHandles: function() { var handles = this._handles = []; var data = this._data; var i; var ii = handles.length = data.count(); var context = this._context; var geometry = data.geometry; var attributes = data.attributes; var handle; var dataItem; for (i = 0; i < ii; ++i) { dataItem = data.item(i); handles[i] = new MapLayerElement(context, i, geometry(dataItem), attributes(dataItem)) }(0, _type.isFunction)(this._options.customize) && (proxies = this.getProxies(), callback = this._options.customize, widget = this._params.widget, void callback.call(widget, proxies)); var proxies, callback, widget; for (i = 0; i < ii; ++i) { handle = handles[i]; handle.project(); handle.draw(); handle.transform() } if (context.selection) { _each(context.selection.state, (function(_, handle) { handle && handle.restoreSelected() })) } }, _updateHandles: function() { var handles = this._handles; var i; var ii = handles.length; for (i = 0; i < ii; ++i) { handles[i].refresh() } if (this._context.settings.label.enabled) { for (i = 0; i < ii; ++i) { handles[i].measureLabel() } for (i = 0; i < ii; ++i) { handles[i].adjustLabel() } } }, _transformCore: function() { var transform = this._params.projection.getTransform(); this._context.root.attr(transform); this._context.labelRoot && this._context.labelRoot.attr(transform) }, _project: function() { var handles = this._handles; var i; var ii = handles.length; for (i = 0; i < ii; ++i) { handles[i].project() } }, _transform: function() { var handles = this._handles; var i; var ii = handles.length; this._transformCore(); for (i = 0; i < ii; ++i) { handles[i].transform() } }, getProxies: function() { return this._handles.map((function(p) { return p.proxy })) }, getProxy: function(index) { return this._handles[index].proxy }, raiseClick: function(i, dxEvent) { this._params.eventTrigger("click", { target: this._handles[i].proxy, event: dxEvent }) }, hoverItem: function(i, state) { this._handles[i].setHovered(state) }, selectItem: function(i, state, _noEvent) { this._handles[i].setSelected(state, _noEvent) }, clearSelection: function() { var selection = this._context.selection; if (selection) { _each(selection.state, (function(_, handle) { handle && handle.setSelected(false) })); selection.state = {} } } }, _data_helper.default); MapLayerElement = function(context, index, geometry, attributes) { var proxy = this.proxy = function(handle, coords, attrs) { var proxy = { coordinates: function() { return coords }, attribute: function(name, value) { if (arguments.length > 1) { attrs[name] = value; return proxy } else { return arguments.length > 0 ? attrs[name] : attrs } }, selected: function(state, _noEvent) { if (arguments.length > 0) { handle.setSelected(state, _noEvent); return proxy } else { return handle.isSelected() } }, applySettings: function(settings) { handle.update(settings); return proxy } }; return proxy }(this, geometry.coordinates, _extend({}, attributes)); this._ctx = context; this._index = index; this._fig = this._label = null; this._state = 0; this._coordinates = geometry.coordinates; this._settings = { label: {} }; proxy.index = index; proxy.layer = context.layer; this._data = { name: context.name, index: index } }; MapLayerElement.prototype = { constructor: MapLayerElement, dispose: function() { this._ctx = this.proxy = this._settings = this._fig = this._label = this.data = null; return this }, project: function() { var context = this._ctx; this._projection = context.str.project(context.projection, this._coordinates); if (context.hasSeparateLabel && this._label) { this._projectLabel() } }, _projectLabel: function() { this._labelProjection = this._ctx.str.projectLabel(this._projection) }, draw: function() { var context = this._ctx; context.str.draw(context, this._fig = {}, this._data); this._fig.root.append(context.root) }, transform: function() { var context = this._ctx; context.str.transform(this._fig, context.projection, this._projection); if (context.hasSeparateLabel && this._label) { this._transformLabel() } }, _transformLabel: function() { this._ctx.str.transformLabel(this._label, this._ctx.projection, this._labelProjection) }, refresh: function() { var strategy = this._ctx.str; var settings = getItemSettings(this._ctx, this.proxy, this._settings); this._styles = strategy.getStyles(settings); strategy.refresh(this._ctx, this._fig, this._data, this.proxy, settings); this._refreshLabel(settings); this._setState() }, _refreshLabel: function(settings) { var context = this._ctx; var labelSettings = settings.label; var label = this._label; if (context.settings.label.enabled) { if (!label) { label = this._label = { root: context.labelRoot || this._fig.root, text: context.renderer.text().attr({ class: "dxm-label" }), size: [0, 0] }; if (context.hasSeparateLabel) { this._projectLabel(); this._transformLabel() } } label.value = _String(this.proxy.text || this.proxy.attribute(labelSettings.dataField) || ""); if (label.value) { label.text.attr({ text: label.value, x: 0, y: 0 }).css((0, _utils.patchFontOptions)(labelSettings.font)).attr({ align: "center", stroke: labelSettings.stroke, "stroke-width": labelSettings["stroke-width"], "stroke-opacity": labelSettings["stroke-opacity"] }).data(context.dataKey, this._data).append(label.root); label.settings = settings } } else if (label) { label.text.remove(); this._label = null } }, measureLabel: function() { var label = this._label; var bBox; if (label.value) { bBox = label.text.getBBox(); label.size = [bBox.width, bBox.height, -bBox.y - bBox.height / 2] } }, adjustLabel: function() { var label = this._label; var offset; if (label.value) { offset = this._ctx.str.getLabelOffset(label, label.settings); label.settings = null; label.text.attr({ x: offset[0], y: offset[1] + label.size[2] }) } }, update: function(settings) { this._settings = combineSettings(this._settings, settings); if (this._fig) { this.refresh(); if (this._label && this._label.value) { this.measureLabel(); this.adjustLabel() } } }, _setState: function() { this._ctx.str.setState(this._fig, this._styles, STATE_TO_INDEX[this._state]) }, _setForeground: function() { var root = this._fig.root; this._state ? root.toForeground() : root.toBackground() }, setHovered: function(state) { var currentState = hasFlag(this._state, 1); var newState = !!state; if (this._ctx.hover && currentState !== newState) { this._state = setFlag(this._state, 1, newState); this._setState(); this._setForeground(); raiseChanged(this._ctx, this, newState, "hoverChanged") } return this }, setSelected: function(state, _noEvent) { var currentState = hasFlag(this._state, 2); var newState = !!state; var selection = this._ctx.selection; var tmp; if (selection && currentState !== newState) { this._state = setFlag(this._state, 2, newState); tmp = selection.state[selection.single]; selection.state[selection.single] = null; if (tmp) { tmp.setSelected(false) } selection.state[selection.single || this._index] = state ? this : null; if (this._fig) { this._setState(); this._setForeground(); if (!_noEvent) { raiseChanged(this._ctx, this, newState, "selectionChanged") } } } }, isSelected: function() { return hasFlag(this._state, 2) }, resetSelected: function() { this._state = setFlag(this._state, 2, false) }, restoreSelected: function() { this._fig.root.toForeground() } }; function calculatePolygonCentroid(coordinates) { var i; var length = coordinates.length; var v1; var v2 = coordinates[length - 1]; var cross; var cx = 0; var cy = 0; var area = 0; var minX = 1 / 0; var maxX = -1 / 0; var minY = 1 / 0; var maxY = -1 / 0; for (i = 0; i < length; ++i) { v1 = v2; v2 = coordinates[i]; cross = v1[0] * v2[1] - v2[0] * v1[1]; area += cross; cx += (v1[0] + v2[0]) * cross; cy += (v1[1] + v2[1]) * cross; minX = _min(minX, v2[0]); maxX = _max(maxX, v2[0]); minY = _min(minY, v2[1]); maxY = _max(maxY, v2[1]) } return { area: _abs(area) / 2, center: [2 * cx / 3 / area - (minX + maxX) / 2, 2 * cy / 3 / area - (minY + maxY) / 2] } } function calculateLineStringData(coordinates) { var i; var ii = coordinates.length; var v1; var v2 = coordinates[0] || []; var totalLength = 0; var items = [0]; var min0 = v2[0]; var max0 = v2[0]; var min1 = v2[1]; var max1 = v2[1]; for (i = 1; i < ii; ++i) { v1 = v2; v2 = coordinates[i]; totalLength += _sqrt((v1[0] - v2[0]) * (v1[0] - v2[0]) + (v1[1] - v2[1]) * (v1[1] - v2[1])); items[i] = totalLength; min0 = _min(min0, v2[0]); max0 = _max(max0, v2[0]); min1 = _min(min1, v2[1]); max1 = _max(max1, v2[1]) } i = findGroupingIndex(totalLength / 2, items); v1 = coordinates[i]; v2 = coordinates[i + 1]; var t = (totalLength / 2 - items[i]) / (items[i + 1] - items[i]); return ii ? [ [v1[0] * (1 - t) + v2[0] * t, v1[1] * (1 - t) + v2[1] * t], [max0 - min0, max1 - min1], totalLength ] : [] } function MapLayerCollection(params) { var renderer = params.renderer; this._params = params; this._layers = []; this._layerByName = {}; this._rect = [0, 0, 0, 0]; this._clip = renderer.clipRect(); this._background = renderer.rect().attr({ class: "dxm-background" }).data(params.dataKey, { name: "background" }).append(renderer.root); this._container = renderer.g().attr({ class: "dxm-layers", "clip-path": this._clip.id }).append(renderer.root).enableLinks(); this._subscribeToTracker(params.tracker, renderer, params.eventTrigger); this._dataReady = params.dataReady } MapLayerCollection.prototype = { constructor: MapLayerCollection, dispose: function() { this._clip.dispose(); this._layers.forEach((function(l) { return l.dispose() })); this._offTracker(); this._params = this._offTracker = this._layers = this._layerByName = this._clip = this._background = this._container = null }, _subscribeToTracker: function(tracker, renderer, eventTrigger) { var that = this; that._offTracker = tracker.on({ click: function(arg) { var offset = renderer.getRootOffset(); var layer = that.byName(arg.data.name); arg.$event.x = arg.x - offset.left; arg.$event.y = arg.y - offset.top; if (layer) { layer.raiseClick(arg.data.index, arg.$event) } else if ("background" === arg.data.name) { eventTrigger("click", { event: arg.$event }) } }, "hover-on": function(arg) { var layer = that.byName(arg.data.name); if (layer) { layer.hoverItem(arg.data.index, true) } }, "hover-off": function(arg) { var layer = that.byName(arg.data.name); if (layer) { layer.hoverItem(arg.data.index, false) } } }) }, setOptions: function(options) { var optionList = options ? _isArray(options) ? options : [options] : []; var layers = this._layers; var readyCallbacks; var needToCreateLayers = optionList.length !== layers.length || layers.some((function(l, i) { var name = getName(optionList, i); return (0, _type.isDefined)(name) && name !== l.proxy.name })); if (needToCreateLayers) { this._params.tracker.reset(); this._layers.forEach((function(l) { return l.dispose() })); var layerByName = this._layerByName = {}; this._layers = layers = []; for (var i = 0, ii = optionList.length; i < ii; ++i) { var name = getName(optionList, i) || "map-layer-" + i; var layer = layers[i] = new MapLayer(this._params, this._container, name, i); layerByName[name] = layer } } layers.forEach((function(l, i) { l.setOptions(optionList[i]) })); readyCallbacks = layers.map((function(l) { return l.getDataReadyCallback() })); readyCallbacks.length && _deferred.when.apply(void 0, readyCallbacks).done(this._dataReady) }, _updateClip: function() { var rect = this._rect; var bw = this._borderWidth; this._clip.attr({ x: rect[0] + bw, y: rect[1] + bw, width: _max(rect[2] - 2 * bw, 0), height: _max(rect[3] - 2 * bw, 0) }) }, setBackgroundOptions: function(options) { this._background.attr({ stroke: options.borderColor, "stroke-width": options.borderWidth, fill: options.color }); this._borderWidth = _max(options.borderWidth, 0); this._updateClip() }, setRect: function(rect) { this._rect = rect; this._background.attr({ x: rect[0], y: rect[1], width: rect[2], height: rect[3] }); this._updateClip() }, byIndex: function(index) { return this._layers[index] }, byName: function(name) { return this._layerByName[name] }, items: function() { return this._layers } } }, 102: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/vector_map/projection.js ***! \**************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "projection", { enumerable: true, get: function() { return _projection.projection } }); var _projection = __webpack_require__( /*! ./projection.main */ 14316); var _min = Math.min; var _max = Math.max; var _sin = Math.sin; var _asin = Math.asin; var _tan = Math.tan; var _atan = Math.atan; var _exp = Math.exp; var _log = Math.log; var PI = Math.PI; var PI_DIV_4 = PI / 4; var RADIANS = PI / 180; var MERCATOR_LAT_BOUND = (2 * _atan(_exp(PI)) - PI / 2) / RADIANS; var MILLER_LAT_BOUND = (2.5 * _atan(_exp(.8 * PI)) - .625 * PI) / RADIANS; function clamp(value, threshold) { return _max(_min(value, +threshold), -threshold) } _projection.projection.add("mercator", (0, _projection.projection)({ aspectRatio: 1, to: function(coordinates) { return [coordinates[0] / 180, _log(_tan(PI_DIV_4 + clamp(coordinates[1], MERCATOR_LAT_BOUND) * RADIANS / 2)) / PI] }, from: function(coordinates) { return [180 * coordinates[0], (2 * _atan(_exp(coordinates[1] * PI)) - PI / 2) / RADIANS] } })); _projection.projection.add("equirectangular", (0, _projection.projection)({ aspectRatio: 2, to: function(coordinates) { return [coordinates[0] / 180, coordinates[1] / 90] }, from: function(coordinates) { return [180 * coordinates[0], 90 * coordinates[1]] } })); _projection.projection.add("lambert", (0, _projection.projection)({ aspectRatio: 2, to: function(coordinates) { return [coordinates[0] / 180, _sin(clamp(coordinates[1], 90) * RADIANS)] }, from: function(coordinates) { return [180 * coordinates[0], _asin(clamp(coordinates[1], 1)) / RADIANS] } })); _projection.projection.add("miller", (0, _projection.projection)({ aspectRatio: 1, to: function(coordinates) { return [coordinates[0] / 180, 1.25 * _log(_tan(PI_DIV_4 + clamp(coordinates[1], MILLER_LAT_BOUND) * RADIANS * .4)) / PI] }, from: function(coordinates) { return [180 * coordinates[0], (2.5 * _atan(_exp(.8 * coordinates[1] * PI)) - .625 * PI) / RADIANS] } })) }, 14316: /*!*******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/vector_map/projection.main.js ***! \*******************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.projection = exports.Projection = void 0; var _extend = __webpack_require__( /*! ../../core/utils/extend */ 13306); var _event_emitter = __webpack_require__( /*! ./event_emitter */ 63832); function _slicedToArray(arr, i) { return function(arr) { if (Array.isArray(arr)) { return arr } }(arr) || function(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) { return } _n = !1 } else { for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {} } } catch (err) { _d = !0, _e = err } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) { return } } finally { if (_d) { throw _e } } } return _arr } }(arr, i) || function(o, minLen) { if (!o) { return } if ("string" === typeof o) { return _arrayLikeToArray(o, minLen) } var n = Object.prototype.toString.call(o).slice(8, -1); if ("Object" === n && o.constructor) { n = o.constructor.name } if ("Map" === n || "Set" === n) { return Array.from(o) } if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) { return _arrayLikeToArray(o, minLen) } }(arr, i) || function() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function _arrayLikeToArray(arr, len) { if (null == len || len > arr.length) { len = arr.length } for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i] } return arr2 } var _Number = Number; var _min = Math.min; var _max = Math.max; var _abs = Math.abs; var _round = Math.round; var _ln = Math.log; var _pow = Math.pow; var TWO_TO_LN2 = 2 / Math.LN2; var DEFAULT_CENTER = [NaN, NaN]; function floatsEqual(f1, f2) { return _abs(f1 - f2) < 1e-8 } function arraysEqual(a1, a2) { return floatsEqual(a1[0], a2[0]) && floatsEqual(a1[1], a2[1]) } function parseAndClamp(value, minValue, maxValue, defaultValue) { var val = _Number(value); return isFinite(val) ? _min(_max(val, minValue), maxValue) : defaultValue } function parseAndClampArray(value, minValue, maxValue, defaultValue) { return [parseAndClamp(value[0], minValue[0], maxValue[0], defaultValue[0]), parseAndClamp(value[1], minValue[1], maxValue[1], defaultValue[1])] } function getEngine(engine) { return engine instanceof Engine && engine || projection.get(engine) || projection(engine) || projection.get("mercator") } var Projection = function(parameters) { this._initEvents(); this._params = parameters; this._engine = getEngine(); this._center = this._engine.center(); this._adjustCenter() }; exports.Projection = Projection; Projection.prototype = { constructor: Projection, _minZoom: 1, _maxZoom: 256, _zoom: 1, _center: DEFAULT_CENTER, _canvas: {}, _scale: [], dispose: function() { this._disposeEvents() }, setEngine: function(value) { var engine = getEngine(value); if (this._engine !== engine) { this._engine = engine; this._fire("engine"); if (this._changeCenter(engine.center())) { this._triggerCenterChanged() } if (this._changeZoom(this._minZoom)) { this._triggerZoomChanged() } this._adjustCenter(); this._setupScreen() } }, setBounds: function(bounds) { if (void 0 !== bounds) { this.setEngine(this._engine.original().bounds(bounds)) } }, _setupScreen: function() { var canvas = this._canvas; var width = canvas.width; var height = canvas.height; var engine = this._engine; var aspectRatio = engine.ar(); this._x0 = canvas.left + width / 2; this._y0 = canvas.top + height / 2; var min = [this.project([engine.min()[0], 0])[0], this.project([0, engine.min()[1]])[1]]; var max = [this.project([engine.max()[0], 0])[0], this.project([0, engine.max()[1]])[1]]; var screenAR = width / height; var boundsAR = _abs(max[0] - min[0]) / _abs(max[1] - min[1]); var correction; if (isNaN(boundsAR) || 0 === boundsAR || _min(screenAR, aspectRatio) <= aspectRatio * boundsAR && aspectRatio * boundsAR <= _max(screenAR, aspectRatio)) { correction = 1 } else { correction = boundsAR > 1 ? boundsAR : 1 / boundsAR } if (aspectRatio * boundsAR >= screenAR) { this._xRadius = width / 2 / correction; this._yRadius = width / 2 / (aspectRatio * correction) } else { this._xRadius = height / 2 * (aspectRatio / correction); this._yRadius = height / 2 / correction } this._fire("screen") }, setSize: function(canvas) { this._canvas = canvas; this._setupScreen() }, getCanvas: function() { return this._canvas }, _toScreen: function(coordinates) { return [this._x0 + this._xRadius * coordinates[0], this._y0 + this._yRadius * coordinates[1]] }, _fromScreen: function(coordinates) { return [(coordinates[0] - this._x0) / this._xRadius, (coordinates[1] - this._y0) / this._yRadius] }, _toTransformed: function(coordinates) { return [coordinates[0] * this._zoom + this._xCenter, coordinates[1] * this._zoom + this._yCenter] }, _toTransformedFast: function(coordinates) { return [coordinates[0] * this._zoom, coordinates[1] * this._zoom] }, _fromTransformed: function(coordinates) { return [(coordinates[0] - this._xCenter) / this._zoom, (coordinates[1] - this._yCenter) / this._zoom] }, _adjustCenter: function() { var center = this._engine.project(this._center); this._xCenter = -center[0] * this._zoom || 0; this._yCenter = -center[1] * this._zoom || 0 }, project: function(coordinates) { return this._engine.project(coordinates) }, transform: function(coordinates) { return this._toScreen(this._toTransformedFast(coordinates)) }, isInvertible: function() { return this._engine.isInvertible() }, getSquareSize: function(size) { return [size[0] * this._zoom * this._xRadius, size[1] * this._zoom * this._yRadius] }, getZoom: function() { return this._zoom }, _changeZoom: function(value) { var oldZoom = this._zoom; var newZoom = this._zoom = parseAndClamp(value, this._minZoom, this._maxZoom, this._minZoom); var isChanged = !floatsEqual(oldZoom, newZoom); if (isChanged) { this._adjustCenter(); this._fire("zoom") } return isChanged }, setZoom: function(value) { if (this._engine.isInvertible() && this._changeZoom(value)) { this._triggerZoomChanged() } }, getScaledZoom: function() { return _round((this._scale.length - 1) * _ln(this._zoom) / _ln(this._maxZoom)) }, setScaledZoom: function(scaledZoom) { this.setZoom(this._scale[_round(scaledZoom)]) }, changeScaledZoom: function(deltaZoom) { this.setZoom(this._scale[_max(_min(_round(this.getScaledZoom() + deltaZoom), this._scale.length - 1), 0)]) }, getZoomScalePartition: function() { return this._scale.length - 1 }, _setupScaling: function() { var k = _max(_round(TWO_TO_LN2 * _ln(this._maxZoom)), 4); var step = _pow(this._maxZoom, 1 / k); var zoom = this._minZoom; this._scale = [zoom]; for (var i = 1; i <= k; ++i) { this._scale.push(zoom *= step) } }, setMaxZoom: function(maxZoom) { this._minZoom = 1; this._maxZoom = parseAndClamp(maxZoom, this._minZoom, _Number.MAX_VALUE, 256); this._setupScaling(); if (this._zoom > this._maxZoom) { this.setZoom(this._maxZoom) } this._fire("max-zoom") }, getCenter: function() { return this._center.slice() }, setCenter: function(value) { if (this._engine.isInvertible() && this._changeCenter(value || [])) { this._triggerCenterChanged() } }, _changeCenter: function(value) { var engine = this._engine; var oldCenter = this._center; var newCenter = this._center = parseAndClampArray(value, engine.min(), engine.max(), engine.center()); var isChanged = !arraysEqual(oldCenter, newCenter); if (isChanged) { this._adjustCenter(); this._fire("center") } return isChanged }, _triggerCenterChanged: function() { this._params.centerChanged(this.getCenter()) }, _triggerZoomChanged: function() { this._params.zoomChanged(this.getZoom()) }, setCenterByPoint: function(coordinates, screenPosition) { var p = this._engine.project(coordinates); var q = this._fromScreen(screenPosition); this.setCenter(this._engine.unproject([-q[0] / this._zoom + p[0], -q[1] / this._zoom + p[1]])) }, beginMoveCenter: function() { if (this._engine.isInvertible()) { this._moveCenter = this._center } }, endMoveCenter: function() { if (this._moveCenter) { if (!arraysEqual(this._moveCenter, this._center)) { this._triggerCenterChanged() } this._moveCenter = null } }, moveCenter: function(shift) { if (this._moveCenter) { var current = this.toScreenPoint(this._center); this._changeCenter(this.fromScreenPoint([current[0] + shift[0], current[1] + shift[1]])) } }, getViewport: function() { var unproject = this._engine.unproject; var lt = unproject(this._fromTransformed([-1, -1])); var lb = unproject(this._fromTransformed([-1, 1])); var rt = unproject(this._fromTransformed([1, -1])); var rb = unproject(this._fromTransformed([1, 1])); var minMax = findMinMax([selectFarthestPoint(lt[0], lb[0], rt[0], rb[0]), selectFarthestPoint(lt[1], rt[1], lb[1], rb[1])], [selectFarthestPoint(rt[0], rb[0], lt[0], lb[0]), selectFarthestPoint(lb[1], rb[1], lt[1], rt[1])]); return [].concat(minMax.min, minMax.max) }, setViewport: function(viewport) { var engine = this._engine; var data = viewport ? function(project, unproject, viewport) { var lt = project([viewport[0], viewport[3]]); var lb = project([viewport[0], viewport[1]]); var rt = project([viewport[2], viewport[3]]); var rb = project([viewport[2], viewport[1]]); var l = selectClosestPoint(lt[0], lb[0], rt[0], rb[0]); var r = selectClosestPoint(rt[0], rb[0], lt[0], lb[0]); var t = selectClosestPoint(lt[1], rt[1], lb[1], rb[1]); var b = selectClosestPoint(lb[1], rb[1], lt[1], rt[1]); return [2 / _max(_abs(l - r), _abs(t - b)), unproject([(l + r) / 2, (t + b) / 2])] }(engine.project, engine.unproject, viewport) : [this._minZoom, engine.center()]; this.setZoom(data[0]); this.setCenter(data[1]) }, getTransform: function() { return { translateX: this._xCenter * this._xRadius, translateY: this._yCenter * this._yRadius } }, fromScreenPoint: function(coordinates) { return this._engine.unproject(this._fromTransformed(this._fromScreen(coordinates))) }, toScreenPoint: function(coordinates) { return this._toScreen(this._toTransformed(this._engine.project(coordinates))) }, _eventNames: ["engine", "screen", "center", "zoom", "max-zoom"] }; (0, _event_emitter.makeEventEmitter)(Projection); function selectFarthestPoint(point1, point2, basePoint1, basePoint2) { var basePoint = (basePoint1 + basePoint2) / 2; return _abs(point1 - basePoint) > _abs(point2 - basePoint) ? point1 : point2 } function selectClosestPoint(point1, point2, basePoint1, basePoint2) { var basePoint = (basePoint1 + basePoint2) / 2; return _abs(point1 - basePoint) < _abs(point2 - basePoint) ? point1 : point2 } function setMinMax(engine, p1, p2) { var _findMinMax = findMinMax(p1, p2), min = _findMinMax.min, max = _findMinMax.max; engine.min = returnArray(min); engine.max = returnArray(max) } var Engine = function() { function Engine(parameters) { var project = (method = parameters.to, function(arg) { return invertVerticalAxis(method(arg)) }); var method; var unproject = parameters.from ? function(method) { return function(arg) { return method(invertVerticalAxis(arg)) } }(parameters.from) : returnValue(DEFAULT_CENTER); this.project = project; this.unproject = unproject; this.original = returnValue(this); this.source = function() { return (0, _extend.extend)({}, parameters) }; this.isInvertible = returnValue(!!parameters.from); this.ar = returnValue(parameters.aspectRatio > 0 ? _Number(parameters.aspectRatio) : 1); this.center = returnArray(unproject([0, 0])); setMinMax(this, [unproject([-1, 0])[0], unproject([0, 1])[1]], [unproject([1, 0])[0], unproject([0, -1])[1]]) } var _proto = Engine.prototype; _proto.aspectRatio = function(_aspectRatio) { var engine = new Engine((0, _extend.extend)(this.source(), { aspectRatio: _aspectRatio })); engine.original = this.original; engine.min = this.min; engine.max = this.max; return engine }; _proto.bounds = function(_bounds) { _bounds = _bounds || []; var parameters = this.source(); var min = this.min(); var max = this.max(); var b1 = parseAndClampArray([_bounds[0], _bounds[1]], min, max, min); var b2 = parseAndClampArray([_bounds[2], _bounds[3]], min, max, max); var p1 = parameters.to(b1); var p2 = parameters.to(b2); var delta = _min(_abs(p2[0] - p1[0]) > 1 / 3600 / 180 / 10 ? _abs(p2[0] - p1[0]) : 2, _abs(p2[1] - p1[1]) > 1 / 3600 / 180 / 10 ? _abs(p2[1] - p1[1]) : 2); if (delta < 2) { (0, _extend.extend)(parameters, function(project, unproject, p1, p2, delta) { var x0 = (p1[0] + p2[0]) / 2 - delta / 2; var y0 = (p1[1] + p2[1]) / 2 - delta / 2; var k = 2 / delta; return { to: function(coordinates) { var _project = project(coordinates), _project2 = _slicedToArray(_project, 2), p0 = _project2[0], p1 = _project2[1]; return [(p0 - x0) * k - 1, (p1 - y0) * k - 1] }, from: function(coordinates) { return unproject([x0 + (coordinates[0] + 1) / k, y0 + (coordinates[1] + 1) / k]) } } }(parameters.to, parameters.from, p1, p2, delta)) } var engine = new Engine(parameters); engine.original = this.original; setMinMax(engine, b1, b2); return engine }; return Engine }(); function invertVerticalAxis(pair) { return [pair[0], -pair[1]] } function returnValue(value) { return function() { return value } } function returnArray(value) { return function() { return value.slice() } } function findMinMax(p1, p2) { return { min: [_min(p1[0], p2[0]), _min(p1[1], p2[1])], max: [_max(p1[0], p2[0]), _max(p1[1], p2[1])] } } var projection = function(parameters) { return parameters && parameters.to ? new Engine(parameters) : null }; exports.projection = projection; var projectionsCache = {}; projection.get = function(name) { return projectionsCache[name] || null }; projection.add = function(name, engine) { engine = engine instanceof Engine && engine || projection(engine); if (!projectionsCache[name] && engine) { projectionsCache[name] = engine } return projection } }, 8068: /*!******************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/vector_map/tooltip_viewer.js ***! \******************************************************************************/ function(__unused_webpack_module, exports) { exports.TooltipViewer = TooltipViewer; function TooltipViewer(params) { this._subscribeToTracker(params.tracker, params.tooltip, params.layerCollection) } TooltipViewer.prototype = { constructor: TooltipViewer, dispose: function() { this._offTracker(); this._offTracker = null }, _subscribeToTracker: function(tracker, tooltip, layerCollection) { this._offTracker = tracker.on({ "focus-on": function(arg) { var layer; var proxy; if (tooltip.isEnabled()) { layer = layerCollection.byName(arg.data.name); proxy = layer && layer.getProxy(arg.data.index); var callback = function(result) { result && arg.done(result) }; proxy && callback(tooltip.show(proxy, { x: arg.x, y: arg.y, offset: 12 }, { target: proxy }, void 0, callback)) } }, "focus-move": function(arg) { tooltip.move(arg.x, arg.y, 12) }, "focus-off": function() { tooltip.hide() } }) } } }, 49497: /*!***********************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/vector_map/tracker.js ***! \***********************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { exports.Tracker = Tracker; var _events_engine = _interopRequireDefault(__webpack_require__( /*! ../../events/core/events_engine */ 55994)); var _window = __webpack_require__( /*! ../../core/utils/window */ 58201); var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 73349)); var _event_emitter = __webpack_require__( /*! ./event_emitter */ 63832); var _index = __webpack_require__( /*! ../../events/utils/index */ 39611); var _wheel = __webpack_require__( /*! ../../events/core/wheel */ 765); var _utils = __webpack_require__( /*! ../core/utils */ 19157); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var navigator = (0, _window.getNavigator)(); var _math = Math; var _abs = _math.abs; var _sqrt = _math.sqrt; var _round = _math.round; var _addNamespace = _index.addNamespace; var _NAME = "dxVectorMap"; var EVENTS; var Focus; flags = [navigator.pointerEnabled, navigator.msPointerEnabled, (0, _window.hasProperty)("ontouchstart")], void(EVENTS = { start: selectItem(flags, ["pointerdown", "MSPointerDown", "touchstart mousedown", "mousedown"]), move: selectItem(flags, ["pointermove", "MSPointerMove", "touchmove mousemove", "mousemove"]), end: selectItem(flags, ["pointerup", "MSPointerUp", "touchend mouseup", "mouseup"]), wheel: _addNamespace(_wheel.name, _NAME) }); var flags; function Tracker(parameters) { var that = this; that._root = parameters.root; that._createEventHandlers(parameters.dataKey); that._createProjectionHandlers(parameters.projection); that._initEvents(); that._focus = new Focus((function(name, arg) { that._fire(name, arg) })); that._attachHandlers() } Tracker.prototype = { constructor: Tracker, dispose: function() { this._detachHandlers(); this._disposeEvents(); this._focus.dispose(); this._root = this._focus = this._docHandlers = this._rootHandlers = null }, _eventNames: ["start", "move", "end", "zoom", "click", "hover-on", "hover-off", "focus-on", "focus-off", "focus-move"], _startClick: function(event, data) { if (!data) { return } var coords = getEventCoords(event); this._clickState = { x: coords.x, y: coords.y, threshold: isTouchEvent(event) ? 20 : 5, time: Date.now() } }, _endClick: function(event, data) { var state = this._clickState; var threshold; var coords; if (!state) { return } if (data && Date.now() - state.time <= 500) { threshold = state.threshold; coords = getEventCoords(event); if (_abs(coords.x - state.x) <= threshold && _abs(coords.y - state.y) <= threshold) { this._fire("click", { data: data, x: coords.x, y: coords.y, $event: event }) } } this._clickState = null }, _startDrag: function(event, data) { if (!data) { return } var coords = getEventCoords(event); var state = this._dragState = { x: coords.x, y: coords.y, data: data }; this._fire("start", { x: state.x, y: state.y, data: state.data }) }, _moveDrag: function(event, data) { var state = this._dragState; if (!state) { return } var coords = getEventCoords(event); var threshold = isTouchEvent(event) ? 10 : 5; if (state.active || _abs(coords.x - state.x) > threshold || _abs(coords.y - state.y) > threshold) { state.x = coords.x; state.y = coords.y; state.active = true; state.data = data || {}; this._fire("move", { x: state.x, y: state.y, data: state.data }) } }, _endDrag: function() { var state = this._dragState; if (!state) { return } this._dragState = null; this._fire("end", { x: state.x, y: state.y, data: state.data }) }, _wheelZoom: function(event, data) { if (!data) { return } var lock = this._wheelLock; var time = Date.now(); if (time - lock.time <= 50) { return } if (time - lock.dirTime > 300) { lock.dir = 0 } var delta = function(delta, lock) { if (0 === delta) { return 0 } var _delta = _abs(delta); var sign = _round(delta / _delta); if (lock.dir && sign !== lock.dir) { return 0 } lock.dir = sign; if (_delta < .1) { _delta = 0 } else if (_delta < 1) { _delta = 1 } else if (_delta > 4) { _delta = 4 } else { _delta = _round(_delta) } return sign * _delta }(event.delta / 120 || 0, lock); if (0 === delta) { return } var coords = getEventCoords(event); this._fire("zoom", { delta: delta, x: coords.x, y: coords.y }); lock.time = lock.dirTime = time }, _startZoom: function(event, data) { if (!isTouchEvent(event) || !data) { return } var state = this._zoomState = this._zoomState || {}; var coords; var pointer2; if (state.pointer1 && state.pointer2) { return } if (void 0 === state.pointer1) { state.pointer1 = getPointerId(event) || 0; coords = getMultitouchEventCoords(event, state.pointer1); state.x1 = state.x1_0 = coords.x; state.y1 = state.y1_0 = coords.y } if (void 0 === state.pointer2) { pointer2 = getPointerId(event) || 1; if (pointer2 !== state.pointer1) { coords = getMultitouchEventCoords(event, pointer2); if (coords) { state.x2 = state.x2_0 = coords.x; state.y2 = state.y2_0 = coords.y; state.pointer2 = pointer2; state.ready = true; this._endDrag() } } } }, _moveZoom: function(event) { var state = this._zoomState; var coords; if (!state || !isTouchEvent(event)) { return } if (void 0 !== state.pointer1) { coords = getMultitouchEventCoords(event, state.pointer1); if (coords) { state.x1 = coords.x; state.y1 = coords.y } } if (void 0 !== state.pointer2) { coords = getMultitouchEventCoords(event, state.pointer2); if (coords) { state.x2 = coords.x; state.y2 = coords.y } } }, _endZoom: function(event) { var state = this._zoomState; var startDistance; var currentDistance; if (!state || !isTouchEvent(event)) { return } if (state.ready) { startDistance = getDistance(state.x1_0, state.y1_0, state.x2_0, state.y2_0); currentDistance = getDistance(state.x1, state.y1, state.x2, state.y2); this._fire("zoom", { ratio: currentDistance / startDistance, x: (state.x1_0 + state.x2_0) / 2, y: (state.y1_0 + state.y2_0) / 2 }) } this._zoomState = null }, _startHover: function(event, data) { this._doHover(event, data, true) }, _moveHover: function(event, data) { this._doHover(event, data, false) }, _doHover: function(event, data, isTouch) { if (this._dragState && this._dragState.active || this._zoomState && this._zoomState.ready) { this._cancelHover(); return } if (isTouchEvent(event) !== isTouch || this._hoverTarget === event.target || this._hoverState && this._hoverState.data === data) { return } this._cancelHover(); if (data) { this._hoverState = { data: data }; this._fire("hover-on", { data: data }) } this._hoverTarget = event.target }, _cancelHover: function() { var state = this._hoverState; this._hoverState = this._hoverTarget = null; if (state) { this._fire("hover-off", { data: state.data }) } }, _startFocus: function(event, data) { this._doFocus(event, data, true) }, _moveFocus: function(event, data) { this._doFocus(event, data, false) }, _doFocus: function(event, data, isTouch) { if (this._dragState && this._dragState.active || this._zoomState && this._zoomState.ready) { this._cancelFocus(); return } if (isTouchEvent(event) !== isTouch) { return } this._focus.turnOff(); data && this._focus.turnOn(data, getEventCoords(event)) }, _cancelFocus: function() { this._focus.cancel() }, _createEventHandlers: function(DATA_KEY) { var that = this; that._docHandlers = {}; that._rootHandlers = {}; that._docHandlers[EVENTS.start] = function(event) { var isTouch = isTouchEvent(event); var data = getData(event); if (isTouch && !that._isTouchEnabled) { return } if (data) { event.preventDefault() } that._startClick(event, data); that._startDrag(event, data); that._startZoom(event, data); that._startHover(event, data); that._startFocus(event, data) }; that._docHandlers[EVENTS.move] = function(event) { var isTouch = isTouchEvent(event); var data = getData(event); if (isTouch && !that._isTouchEnabled) { return } that._moveDrag(event, data); that._moveZoom(event, data); that._moveHover(event, data); that._moveFocus(event, data) }; that._docHandlers[EVENTS.end] = function(event) { var isTouch = isTouchEvent(event); var data = getData(event); if (isTouch && !that._isTouchEnabled) { return } that._endClick(event, data); that._endDrag(event, data); that._endZoom(event, data) }; that._rootHandlers[EVENTS.wheel] = function(event) { that._cancelFocus(); if (!that._isWheelEnabled) { return } var data = getData(event); if (data) { event.preventDefault(); event.stopPropagation(); that._wheelZoom(event, data) } }; that._wheelLock = { dir: 0 }; function getData(event) { var target = event.target; return ("tspan" === target.tagName ? target.parentNode : target)[DATA_KEY] } }, _createProjectionHandlers: function(projection) { var that = this; projection.on({ center: handler, zoom: handler }); function handler() { that._cancelFocus() } }, reset: function() { this._clickState = null; this._endDrag(); this._cancelHover(); this._cancelFocus() }, setOptions: function(options) { this.reset(); this._detachHandlers(); this._isTouchEnabled = !!(0, _utils.parseScalar)(options.touchEnabled, true); this._isWheelEnabled = !!(0, _utils.parseScalar)(options.wheelEnabled, true); this._attachHandlers() }, _detachHandlers: function() { if (this._isTouchEnabled) { this._root.css({ "touch-action": "", "-webkit-user-select": "" }).off(_addNamespace("MSHoldVisual", _NAME)).off(_addNamespace("contextmenu", _NAME)) } _events_engine.default.off(_dom_adapter.default.getDocument(), this._docHandlers); this._root.off(this._rootHandlers) }, _attachHandlers: function() { if (this._isTouchEnabled) { this._root.css({ "touch-action": "none", "-webkit-user-select": "none" }).on(_addNamespace("MSHoldVisual", _NAME), (function(event) { event.preventDefault() })).on(_addNamespace("contextmenu", _NAME), (function(event) { isTouchEvent(event) && event.preventDefault() })) } _events_engine.default.on(_dom_adapter.default.getDocument(), this._docHandlers); this._root.on(this._rootHandlers) } }; Focus = function(fire) { var that = this; var _activeData = null; var _data = null; var _disabled = false; var _offTimer = null; var _x; var _y; that.dispose = function() { clearTimeout(_offTimer); that.turnOn = that.turnOff = that.cancel = that.dispose = that = fire = _activeData = _data = _offTimer = null }; that.turnOn = function(data, coords) { if (data === _data && _disabled) { return } _disabled = false; _data = data; if (_activeData) { _x = coords.x; _y = coords.y; if (_data === _activeData) { fire("focus-move", { data: _data, x: _x, y: _y }); onCheck(true) } else { fire("focus-on", { data: _data, x: _x, y: _y, done: onCheck }) } } else { _x = coords.x; _y = coords.y; fire("focus-on", { data: _data, x: _x, y: _y, done: onCheck }) } function onCheck(result) { _disabled = !result; if (result) { _activeData = _data; clearTimeout(_offTimer); _offTimer = null } } }; that.turnOff = function() { _data = null; if (_activeData && !_disabled) { _offTimer = _offTimer || setTimeout((function() { _offTimer = null; fire("focus-off", { data: _activeData }); _activeData = null }), 100) } }; that.cancel = function() { clearTimeout(_offTimer); if (_activeData) { fire("focus-off", { data: _activeData }) } _activeData = _data = _offTimer = null } }; (0, _event_emitter.makeEventEmitter)(Tracker); function getDistance(x1, y1, x2, y2) { return _sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)) } function isTouchEvent(event) { var type = event.originalEvent.type; var pointerType = event.originalEvent.pointerType; return /^touch/.test(type) || /^MSPointer/.test(type) && 4 !== pointerType || /^pointer/.test(type) && "mouse" !== pointerType } function selectItem(flags, items) { var i = 0; var ii = flags.length; var item; for (; i < ii; ++i) { if (flags[i]) { item = items[i]; break } } return _addNamespace(item || items[i], _NAME) } function getEventCoords(event) { var originalEvent = event.originalEvent; var touch = originalEvent.touches && originalEvent.touches[0] || {}; return { x: touch.pageX || originalEvent.pageX || event.pageX, y: touch.pageY || originalEvent.pageY || event.pageY } } function getPointerId(event) { return event.originalEvent.pointerId } function getMultitouchEventCoords(event, pointerId) { var originalEvent = event.originalEvent; if (void 0 !== originalEvent.pointerId) { originalEvent = originalEvent.pointerId === pointerId ? originalEvent : null } else { originalEvent = originalEvent.touches[pointerId] } return originalEvent ? { x: originalEvent.pageX || event.pageX, y: originalEvent.pageY || event.pageY } : null } }, 13711: /*!**************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/vector_map/vector_map.js ***! \**************************************************************************/ function(module, exports, __webpack_require__) { exports.default = void 0; var _utils = __webpack_require__( /*! ../core/utils */ 19157); var _projection = __webpack_require__( /*! ./projection.main */ 14316); var _control_bar = __webpack_require__( /*! ./control_bar/control_bar */ 17323); var _gesture_handler = __webpack_require__( /*! ./gesture_handler */ 3797); var _tracker = __webpack_require__( /*! ./tracker */ 49497); var _data_exchanger = __webpack_require__( /*! ./data_exchanger */ 93699); var _legend = __webpack_require__( /*! ./legend */ 7291); var _layout = __webpack_require__( /*! ./layout */ 39378); var _map_layer = __webpack_require__( /*! ./map_layer */ 15151); var _tooltip_viewer = __webpack_require__( /*! ./tooltip_viewer */ 8068); var _vector_map = __webpack_require__( /*! ./vector_map.utils */ 56145); __webpack_require__( /*! ./projection */ 102); var _base_widget = _interopRequireDefault(__webpack_require__( /*! ../core/base_widget */ 59063)); var _component_registrator = _interopRequireDefault(__webpack_require__( /*! ../../core/component_registrator */ 99393)); var _export = __webpack_require__( /*! ../core/export */ 82454); var _title = __webpack_require__( /*! ../core/title */ 17384); var _tooltip = __webpack_require__( /*! ../core/tooltip */ 14371); var _loading_indicator = __webpack_require__( /*! ../core/loading_indicator */ 64758); var _annotations = __webpack_require__( /*! ../core/annotations */ 77129); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var RE_STARTS_LAYERS = /^layers/; var RE_ENDS_DATA_SOURCE = /\.dataSource$/; function mergeBounds(sumBounds, dataBounds) { return dataBounds ? [Math.min(dataBounds[0], dataBounds[2], sumBounds[0]), Math.min(dataBounds[1], dataBounds[3], sumBounds[3]), Math.max(dataBounds[0], dataBounds[2], sumBounds[2]), Math.max(dataBounds[1], dataBounds[3], sumBounds[1])] : sumBounds } var dxVectorMap = _base_widget.default.inherit({ _eventsMap: { onClick: { name: "click" }, onCenterChanged: { name: "centerChanged" }, onZoomFactorChanged: { name: "zoomFactorChanged" }, onHoverChanged: { name: "hoverChanged" }, onSelectionChanged: { name: "selectionChanged" } }, _rootClassPrefix: "dxm", _rootClass: "dxm-vector-map", _themeSection: "map", _fontFields: ["layer:area.label.font", "layer:marker:dot.label.font", "layer:marker:bubble.label.font", "layer:marker:pie.label.font", "layer:marker:image.label.font", "legend.font", "legend.title.font", "legend.title.subtitle.font"], _initLayerCollection: function(dataKey) { var that = this; that._layerCollection = new _map_layer.MapLayerCollection({ renderer: that._renderer, projection: that._projection, themeManager: that._themeManager, tracker: that._tracker, dataKey: dataKey, eventTrigger: that._eventTrigger, dataExchanger: that._dataExchanger, tooltip: that._tooltip, notifyDirty: that._notifyDirty, notifyReady: that._notifyReady, dataReady: function() { var bounds; if (that.option("getBoundsFromData") && !that.option("bounds")) { that._preventProjectionEvents(); bounds = that._getBoundsFromData(); that._projection.setBounds(bounds); that._allowProjectionEvents() } if (!that.option("projection")) { bounds = bounds || that._getBoundsFromData(); if (Math.ceil(bounds[0]) < -180 || Math.ceil(bounds[3]) < -90 || Math.floor(bounds[2]) > 180 || Math.floor(bounds[1]) > 90) { var longitudeLength = bounds[2] - bounds[0]; var latitudeLength = bounds[1] - bounds[3]; that._projection.setEngine({ to: function(coordinates) { return [2 * (coordinates[0] - bounds[0]) / longitudeLength - 1, 2 * (coordinates[1] - bounds[3]) / latitudeLength - 1] }, from: function(coordinates) { return [(coordinates[0] + 1) * longitudeLength / 2 + bounds[0], (coordinates[1] + 1) * latitudeLength / 2 + bounds[3]] } }) } } } }) }, _getBoundsFromData: function() { var bounds = this._getBoundingBoxFromDataSource(); if (!bounds) { var boundsByData = (0, _map_layer.getMaxBound)(this.getLayers().map((function(l) { return l.getBounds() }))); if (boundsByData) { bounds = boundsByData } } bounds = bounds || []; bounds = [bounds[0], bounds[3], bounds[2], bounds[1]]; return bounds }, _initLegendsControl: function() { this._legendsControl = new _legend.LegendsControl({ renderer: this._renderer, container: this._root, widget: this, layoutControl: this._layoutControl, themeManager: this._themeManager, dataExchanger: this._dataExchanger, notifyDirty: this._notifyDirty, notifyReady: this._notifyReady }) }, _initControlBar: function(dataKey) { this._controlBar = new _control_bar.ControlBar({ renderer: this._renderer, container: this._root, layoutControl: this._layoutControl, projection: this._projection, tracker: this._tracker, dataKey: dataKey }) }, _initElements: function() { var that = this; var dataKey = (0, _vector_map.generateDataKey)(); var notifyCounter = 0; var preventProjectionEvents; that._preventProjectionEvents = function() { preventProjectionEvents = true }; that._allowProjectionEvents = function() { preventProjectionEvents = false }; that._notifyDirty = function() { that._resetIsReady(); ++notifyCounter }; that._notifyReady = function() { that._allowProjectionEvents(); if (0 === --notifyCounter) { that._drawn() } }; that._preventProjectionEvents(); that._dataExchanger = new _data_exchanger.DataExchanger; that._projection = new _projection.Projection({ centerChanged: function(value) { if (!preventProjectionEvents) { that._eventTrigger("centerChanged", { center: value }) } }, zoomChanged: function(value) { if (!preventProjectionEvents) { that._eventTrigger("zoomFactorChanged", { zoomFactor: value }) } } }); that._tracker = new _tracker.Tracker({ root: that._root, projection: that._projection, dataKey: dataKey }); that._gestureHandler = new _gesture_handler.GestureHandler({ projection: that._projection, renderer: that._renderer, tracker: that._tracker }); that._layoutControl = new _layout.LayoutControl(that); that._layoutControl.suspend(); that._initLayerCollection(dataKey); that._createHtmlStructure(); that._initControlBar(dataKey); that._initLegendsControl(); that._prepareExtraElements(); that._tooltipViewer = new _tooltip_viewer.TooltipViewer({ tracker: that._tracker, tooltip: that._tooltip, layerCollection: that._layerCollection }) }, _change_RESUME_LAYOUT: function() { this._layoutControl.resume() }, _initialChanges: ["PROJECTION", "RESUME_LAYOUT", "LAYOUT_INIT", "BOUNDS", "MAX_ZOOM_FACTOR", "ZOOM_FACTOR", "CENTER"], _layoutChangesOrder: ["RESUME_LAYOUT", "LAYERS"], _customChangesOrder: ["EXTRA_ELEMENTS"], _initCore: function() { this._root = this._renderer.root.attr({ align: "center", cursor: "default" }); this._initElements() }, _disposeCore: function() { this._controlBar.dispose(); this._gestureHandler.dispose(); this._tracker.dispose(); this._legendsControl.dispose(); this._layerCollection.dispose(); this._layoutControl.dispose(); this._tooltipViewer.dispose(); this._dataExchanger.dispose(); this._projection.dispose(); this._dataExchanger = this._gestureHandler = this._projection = this._tracker = this._layoutControl = this._root = this._layerCollection = this._controlBar = this._legendsControl = null }, _setupInteraction: function() { var options = { centeringEnabled: !!(0, _utils.parseScalar)(this._getOption("panningEnabled", true), true), zoomingEnabled: !!(0, _utils.parseScalar)(this._getOption("zoomingEnabled", true), true) }; this._gestureHandler.setInteraction(options); this._controlBar.setInteraction(options) }, _getDefaultSize: function() { return { width: 800, height: 400 } }, _applySize: function(rect) { var layout = { left: rect[0], top: rect[1], width: rect[2] - rect[0], height: rect[3] - rect[1], right: 0, bottom: 0 }; this._projection.setSize(layout); this._layoutControl.setSize(layout); this._layerCollection.setRect([layout.left, layout.top, layout.width, layout.height]); this._requestChange(["EXTRA_ELEMENTS"]) }, _optionChanging: function(name, currentValue, nextValue) { if (currentValue && nextValue) { if (RE_STARTS_LAYERS.test(name)) { if (currentValue.dataSource && nextValue.dataSource && currentValue !== nextValue) { currentValue.dataSource = null } else if (RE_ENDS_DATA_SOURCE.test(name)) { this.option(name, null) } } } }, _applyChanges: function() { this._notifyDirty(); this.callBase.apply(this, arguments); this._notifyReady() }, _optionChangesMap: { background: "BACKGROUND", layers: "LAYERS", extraElements: "EXTRA_ELEMENTS", controlBar: "CONTROL_BAR", legends: "LEGENDS", touchEnabled: "TRACKER", wheelEnabled: "TRACKER", panningEnabled: "INTERACTION", zoomingEnabled: "INTERACTION", projection: "PROJECTION", bounds: "BOUNDS", maxZoomFactor: "MAX_ZOOM_FACTOR", zoomFactor: "ZOOM_FACTOR", center: "CENTER" }, _optionChangesOrder: ["PROJECTION", "BOUNDS", "MAX_ZOOM_FACTOR", "ZOOM_FACTOR", "CENTER", "BACKGROUND", "CONTROL_BAR", "LEGENDS", "TRACKER", "INTERACTION"], _change_PROJECTION: function() { this._setProjection() }, _change_BOUNDS: function() { this._setBounds() }, _change_MAX_ZOOM_FACTOR: function() { this._setMaxZoom() }, _change_ZOOM_FACTOR: function() { this._setZoom() }, _change_CENTER: function() { this._setCenter() }, _change_BACKGROUND: function() { this._setBackgroundOptions() }, _change_LAYERS: function() { this._setLayerCollectionOptions() }, _change_CONTROL_BAR: function() { this._setControlBarOptions() }, _change_EXTRA_ELEMENTS: function() { this._renderExtraElements() }, _change_LEGENDS: function() { this._setLegendsOptions() }, _change_TRACKER: function() { this._setTrackerOptions() }, _change_INTERACTION: function() { this._setupInteraction() }, _themeDependentChanges: ["BACKGROUND", "LAYERS", "CONTROL_BAR", "LEGENDS", "TRACKER", "INTERACTION"], _setProjection: function() { this._projection.setEngine(this.option("projection")) }, _setBounds: function() { this._projection.setBounds(this.option("bounds")) }, _setMaxZoom: function() { this._projection.setMaxZoom(this.option("maxZoomFactor")) }, _setZoom: function() { this._projection.setZoom(this.option("zoomFactor")) }, _setCenter: function() { this._projection.setCenter(this.option("center")) }, _setBackgroundOptions: function() { this._layerCollection.setBackgroundOptions(this._getOption("background")) }, _setLayerCollectionOptions: function() { this._layerCollection.setOptions(this.option("layers")) }, _getBoundingBoxFromDataSource: function() { var layers = this._layerCollection.items(); var infinityBounds = [1 / 0, -1 / 0, -1 / 0, 1 / 0]; var resultBBox = layers && layers.length ? layers.reduce((function(sumBBox, l) { var layerData = l.getData(); var itemCount = layerData.count(); if (itemCount > 0) { var rootBBox = layerData.getBBox(); if (rootBBox) { sumBBox = mergeBounds(sumBBox, rootBBox) } else { for (var i = 0; i < itemCount; i++) { sumBBox = mergeBounds(sumBBox, layerData.getBBox(i)) } } } return sumBBox }), infinityBounds) : void 0; return resultBBox === infinityBounds ? void 0 : resultBBox }, _setControlBarOptions: function() { this._controlBar.setOptions(this._getOption("controlBar")) }, _setLegendsOptions: function() { this._legendsControl.setOptions(this.option("legends")) }, _setTrackerOptions: function() { this._tracker.setOptions({ touchEnabled: this._getOption("touchEnabled", true), wheelEnabled: this._getOption("wheelEnabled", true) }) }, getLayers: function() { return this._layerCollection.items().map((function(l) { return l.proxy })) }, getLayerByIndex: function(index) { var layer = this._layerCollection.byIndex(index); return layer ? layer.proxy : null }, getLayerByName: function(name) { var layer = this._layerCollection.byName(name); return layer ? layer.proxy : null }, clearSelection: function(_noEvent) { var layers = this._layerCollection.items(); var i; var ii = layers.length; for (i = 0; i < ii; ++i) { layers[i].clearSelection(_noEvent) } return this }, center: function(value) { if (void 0 === value) { return this._projection.getCenter() } else { this._projection.setCenter(value); return this } }, zoomFactor: function(value) { if (void 0 === value) { return this._projection.getZoom() } else { this._projection.setZoom(value); return this } }, viewport: function(value) { if (void 0 === value) { return this._projection.getViewport() } else { this._projection.setViewport(value); return this } }, convertCoordinates: function(coordinates) { coordinates = coordinates && coordinates.length ? coordinates : [arguments[0], arguments[1]]; return this.convertToGeo(coordinates[0], coordinates[1]) }, convertToGeo: function(x, y) { return this._projection.fromScreenPoint([x, y]) }, convertToXY: function(longitude, latitude) { return this._projection.toScreenPoint([longitude, latitude]) } }); (0, _component_registrator.default)("dxVectorMap", dxVectorMap); var _default = dxVectorMap; exports.default = _default; dxVectorMap.addPlugin(_export.plugin); dxVectorMap.addPlugin(_title.plugin); dxVectorMap.addPlugin(_tooltip.plugin); dxVectorMap.addPlugin(_loading_indicator.plugin); dxVectorMap.addPlugin(_annotations.plugins.core); dxVectorMap.addPlugin(_annotations.plugins.vectorMap); module.exports = exports.default; module.exports.default = exports.default }, 56145: /*!********************************************************************************!*\ !*** ./artifacts/transpiled-renovation-npm/viz/vector_map/vector_map.utils.js ***! \********************************************************************************/ function(__unused_webpack_module, exports) { exports.generateDataKey = function() { return "vectormap-data-" + nextDataKey++ }; var nextDataKey = 1 }, 58260: /*!************************************************************************!*\ !*** ./node_modules/@devextreme/runtime/cjs/inferno/base_component.js ***! \************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { var __extends = this && this.__extends || (extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) { d.__proto__ = b } || function(d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p] } } }; return extendStatics(d, b) }, function(d, b) { extendStatics(d, b); function __() { this.constructor = d } d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __) }); var extendStatics; Object.defineProperty(exports, "__esModule", { value: true }); var inferno_1 = __webpack_require__( /*! inferno */ 55285); var effect_host_1 = __webpack_require__( /*! ./effect_host */ 46275); var areObjectsEqual = function(firstObject, secondObject) { var bothAreObjects = firstObject instanceof Object && secondObject instanceof Object; if (!bothAreObjects) { return firstObject === secondObject } var firstObjectKeys = Object.keys(firstObject); var secondObjectKeys = Object.keys(secondObject); if (firstObjectKeys.length !== secondObjectKeys.length) { return false } var hasDifferentElement = firstObjectKeys.some((function(key) { return firstObject[key] !== secondObject[key] })); return !hasDifferentElement }; var BaseInfernoComponent = function(_super) { __extends(BaseInfernoComponent, _super); function BaseInfernoComponent() { var _this = null !== _super && _super.apply(this, arguments) || this; _this._pendingContext = _this.context; return _this } BaseInfernoComponent.prototype.componentWillReceiveProps = function(_, context) { this._pendingContext = null !== context && void 0 !== context ? context : {} }; BaseInfernoComponent.prototype.shouldComponentUpdate = function(nextProps, nextState) { return !areObjectsEqual(this.props, nextProps) || !areObjectsEqual(this.state, nextState) || !areObjectsEqual(this.context, this._pendingContext) }; return BaseInfernoComponent }(inferno_1.Component); exports.BaseInfernoComponent = BaseInfernoComponent; var InfernoComponent = function(_super) { __extends(InfernoComponent, _super); function InfernoComponent() { var _this = null !== _super && _super.apply(this, arguments) || this; _this._effects = []; return _this } InfernoComponent.prototype.createEffects = function() { return [] }; InfernoComponent.prototype.updateEffects = function() {}; InfernoComponent.prototype.componentWillMount = function() { effect_host_1.InfernoEffectHost.lock() }; InfernoComponent.prototype.componentWillUpdate = function(_nextProps, _nextState, _context) { effect_host_1.InfernoEffectHost.lock() }; InfernoComponent.prototype.componentDidMount = function() { var _this = this; effect_host_1.InfernoEffectHost.callbacks.push((function() { _this._effects = _this.createEffects() })); effect_host_1.InfernoEffectHost.callEffects() }; InfernoComponent.prototype.componentDidUpdate = function() { var _this = this; effect_host_1.InfernoEffectHost.callbacks.push((function() { return _this.updateEffects() })); effect_host_1.InfernoEffectHost.callEffects() }; InfernoComponent.prototype.destroyEffects = function() { this._effects.forEach((function(e) { return e.dispose() })) }; InfernoComponent.prototype.componentWillUnmount = function() { this.destroyEffects() }; return InfernoComponent }(BaseInfernoComponent); exports.InfernoComponent = InfernoComponent; var InfernoWrapperComponent = function(_super) { __extends(InfernoWrapperComponent, _super); function InfernoWrapperComponent() { var _this = null !== _super && _super.apply(this, arguments) || this; _this.vDomElement = null; return _this } InfernoWrapperComponent.prototype.vDomUpdateClasses = function() { var el = this.vDomElement; var currentClasses = el.className.length ? el.className.split(" ") : []; var addedClasses = currentClasses.filter((function(className) { return el.dxClasses.previous.indexOf(className) < 0 })); var removedClasses = el.dxClasses.previous.filter((function(className) { return currentClasses.indexOf(className) < 0 })); addedClasses.forEach((function(value) { var indexInRemoved = el.dxClasses.removed.indexOf(value); if (indexInRemoved > -1) { el.dxClasses.removed.splice(indexInRemoved, 1) } else { el.dxClasses.added.push(value) } })); removedClasses.forEach((function(value) { var indexInAdded = el.dxClasses.added.indexOf(value); if (indexInAdded > -1) { el.dxClasses.added.splice(indexInAdded, 1) } else { el.dxClasses.removed.push(value) } })) }; InfernoWrapperComponent.prototype.componentDidMount = function() { var el = inferno_1.findDOMfromVNode(this.$LI, true); this.vDomElement = el; _super.prototype.componentDidMount.call(this); el.dxClasses = el.dxClasses || { removed: [], added: [], previous: [] }; el.dxClasses.previous = (null === el || void 0 === el ? void 0 : el.className.length) ? el.className.split(" ") : [] }; InfernoWrapperComponent.prototype.componentDidUpdate = function() { _super.prototype.componentDidUpdate.call(this); var el = this.vDomElement; if (null !== el) { el.dxClasses.added.forEach((function(className) { return el.classList.add(className) })); el.dxClasses.removed.forEach((function(className) { return el.classList.remove(className) })); el.dxClasses.previous = el.className.length ? el.className.split(" ") : [] } }; InfernoWrapperComponent.prototype.shouldComponentUpdate = function(nextProps, nextState) { var shouldUpdate = _super.prototype.shouldComponentUpdate.call(this, nextProps, nextState); if (shouldUpdate) { this.vDomUpdateClasses() } return shouldUpdate }; return InfernoWrapperComponent }(InfernoComponent); exports.InfernoWrapperComponent = InfernoWrapperComponent }, 5845: /*!************************************************************************!*\ !*** ./node_modules/@devextreme/runtime/cjs/inferno/create_context.js ***! \************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { var __extends = this && this.__extends || (extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) { d.__proto__ = b } || function(d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p] } } }; return extendStatics(d, b) }, function(d, b) { extendStatics(d, b); function __() { this.constructor = d } d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __) }); var extendStatics; var __assign = this && this.__assign || function() { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) { if (Object.prototype.hasOwnProperty.call(s, p)) { t[p] = s[p] } } } return t }; return __assign.apply(this, arguments) }; Object.defineProperty(exports, "__esModule", { value: true }); var inferno_1 = __webpack_require__( /*! inferno */ 55285); var contextId = 0; exports.createContext = function(defaultValue) { var id = contextId++; return { id: id, defaultValue: defaultValue, Provider: function(_super) { __extends(class_1, _super); function class_1() { return null !== _super && _super.apply(this, arguments) || this } class_1.prototype.getChildContext = function() { var _a; return __assign(__assign({}, this.context), (_a = {}, _a[id] = this.props.value || defaultValue, _a)) }; class_1.prototype.render = function() { return this.props.children }; return class_1 }(inferno_1.Component) } } }, 37221: /*!****************************************************************!*\ !*** ./node_modules/@devextreme/runtime/cjs/inferno/effect.js ***! \****************************************************************/ function(__unused_webpack_module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); var InfernoEffect = function() { function InfernoEffect(effect, dependency) { this.dependency = dependency; this.effect = effect; this.destroy = effect() } InfernoEffect.prototype.update = function(dependency) { var currentDependency = this.dependency; if (dependency) { this.dependency = dependency } if (!dependency || dependency.some((function(d, i) { return currentDependency[i] !== d }))) { this.dispose(); this.destroy = this.effect() } }; InfernoEffect.prototype.dispose = function() { if (this.destroy) { this.destroy() } }; return InfernoEffect }(); exports.InfernoEffect = InfernoEffect }, 46275: /*!*********************************************************************!*\ !*** ./node_modules/@devextreme/runtime/cjs/inferno/effect_host.js ***! \*********************************************************************/ function(__unused_webpack_module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.InfernoEffectHost = { lockCount: 0, lock: function() { this.lockCount++ }, callbacks: [], callEffects: function() { this.lockCount--; if (this.lockCount < 0) { throw new Error("Unexpected Effect Call") } if (0 === this.lockCount) { var effects = this.callbacks; this.callbacks = []; effects.forEach((function(callback) { return callback() })) } } } }, 44105: /*!***************************************************************!*\ !*** ./node_modules/@devextreme/runtime/cjs/inferno/index.js ***! \***************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { function __export(m) { for (var p in m) { if (!exports.hasOwnProperty(p)) { exports[p] = m[p] } } } Object.defineProperty(exports, "__esModule", { value: true }); __export(__webpack_require__( /*! ./base_component */ 58260)); __export(__webpack_require__( /*! ./create_context */ 5845)); __export(__webpack_require__( /*! ./effect */ 37221)); __export(__webpack_require__( /*! ./effect_host */ 46275)); __export(__webpack_require__( /*! ./portal */ 89216)); __export(__webpack_require__( /*! ./re_render_effect */ 32766)); __export(__webpack_require__( /*! ./mocked/hydrate */ 84885)); __export(__webpack_require__( /*! ./render_template */ 56064)); __export(__webpack_require__( /*! ./normalize_styles */ 91019)) }, 84885: /*!************************************************************************!*\ !*** ./node_modules/@devextreme/runtime/cjs/inferno/mocked/hydrate.js ***! \************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); var inferno_1 = __webpack_require__( /*! inferno */ 55285); var shared_1 = __webpack_require__( /*! ./shared */ 25326); function isSamePropsInnerHTML(dom, props) { return Boolean(props && props.dangerouslySetInnerHTML && props.dangerouslySetInnerHTML.__html && function(dom, innerHTML) { var tempdom = document.createElement("i"); tempdom.innerHTML = innerHTML; return tempdom.innerHTML === dom.innerHTML }(dom, props.dangerouslySetInnerHTML.__html)) } function hydrateChildren(parentVNode, parentNode, currentNode, context, isSVG, lifecycle) { var childFlags = parentVNode.childFlags; var children = parentVNode.children; var props = parentVNode.props; var flags = parentVNode.flags; if (1 !== childFlags) { if (2 === childFlags) { if (shared_1.isNull(currentNode)) { inferno_1._M(children, parentNode, context, isSVG, null, lifecycle) } else { currentNode = hydrateVNode(children, parentNode, currentNode, context, isSVG, lifecycle); currentNode = currentNode ? currentNode.nextSibling : null } } else if (16 === childFlags) { if (shared_1.isNull(currentNode)) { parentNode.appendChild(document.createTextNode(children)) } else if (1 !== parentNode.childNodes.length || 3 !== currentNode.nodeType) { parentNode.textContent = children } else if (currentNode.nodeValue !== children) { currentNode.nodeValue = children } currentNode = null } else if (12 & childFlags) { var prevVNodeIsTextNode = false; for (var i = 0, len = children.length; i < len; ++i) { var child = children[i]; if (shared_1.isNull(currentNode) || prevVNodeIsTextNode && (16 & child.flags) > 0) { inferno_1._M(child, parentNode, context, isSVG, currentNode, lifecycle) } else { currentNode = hydrateVNode(child, parentNode, currentNode, context, isSVG, lifecycle); currentNode = currentNode ? currentNode.nextSibling : null } prevVNodeIsTextNode = (16 & child.flags) > 0 } } if (0 === (8192 & flags)) { var nextSibling = null; while (currentNode) { nextSibling = currentNode.nextSibling; parentNode.removeChild(currentNode); currentNode = nextSibling } } } else if (!shared_1.isNull(parentNode.firstChild) && !isSamePropsInnerHTML(parentNode, props)) { parentNode.textContent = ""; if (448 & flags) { parentNode.defaultValue = "" } } } function hydrateText(vNode, parentDOM, dom) { if (3 !== dom.nodeType) { parentDOM.replaceChild(vNode.dom = document.createTextNode(vNode.children), dom) } else { var text = vNode.children; if (dom.nodeValue !== text) { dom.nodeValue = text } vNode.dom = dom } return vNode.dom } function hydrateVNode(vNode, parentDOM, currentDom, context, isSVG, lifecycle) { var flags = vNode.flags |= 16384; if (14 & flags) { return function(vNode, parentDOM, dom, context, isSVG, isClass, lifecycle) { var type = vNode.type; var ref = vNode.ref; var props = vNode.props || inferno_1.EMPTY_OBJ; var currentNode; if (isClass) { var instance = inferno_1._CI(vNode, type, props, context, isSVG, lifecycle); var input = instance.$LI; currentNode = hydrateVNode(input, parentDOM, dom, instance.$CX, isSVG, lifecycle); inferno_1._MCCC(ref, instance, lifecycle) } else { input = inferno_1._HI(inferno_1._RFC(vNode, context)); currentNode = hydrateVNode(input, parentDOM, dom, context, isSVG, lifecycle); vNode.children = input; inferno_1._MFCC(vNode, lifecycle) } return currentNode }(vNode, parentDOM, currentDom, context, isSVG, (4 & flags) > 0, lifecycle) } if (481 & flags) { return function(vNode, parentDOM, dom, context, isSVG, lifecycle) { var props = vNode.props; var className = vNode.className; var flags = vNode.flags; var ref = vNode.ref; isSVG = isSVG || (32 & flags) > 0; if (1 !== dom.nodeType) { inferno_1._ME(vNode, null, context, isSVG, null, lifecycle); parentDOM.replaceChild(vNode.dom, dom) } else { vNode.dom = dom; hydrateChildren(vNode, dom, dom.firstChild, context, isSVG, lifecycle); if (!shared_1.isNull(props)) { inferno_1._MP(vNode, flags, props, dom, isSVG) } if (shared_1.isNullOrUndef(className)) { if ("" !== dom.className) { dom.removeAttribute("class") } } else if (isSVG) { dom.setAttribute("class", className) } else { dom.className = className } inferno_1._MR(ref, dom, lifecycle) } return vNode.dom }(vNode, parentDOM, currentDom, context, isSVG, lifecycle) } if (16 & flags) { return hydrateText(vNode, parentDOM, currentDom) } if (512 & flags) { return vNode.dom = currentDom } if (8192 & flags) { return function(vNode, parentDOM, dom, context, isSVG, lifecycle) { var children = vNode.children; if (2 === vNode.childFlags) { hydrateText(children, parentDOM, dom); return children.dom } hydrateChildren(vNode, parentDOM, dom, context, isSVG, lifecycle); return function(vNode) { var flags; var children; while (vNode) { flags = vNode.flags; if (2033 & flags) { return vNode.dom } children = vNode.children; if (8192 & flags) { vNode = 2 === vNode.childFlags ? children : children[children.length - 1] } else if (4 & flags) { vNode = children.$LI } else { vNode = children } } return null }(children[children.length - 1]) }(vNode, parentDOM, currentDom, context, isSVG, lifecycle) } shared_1.throwError(); return null } exports.hydrate = function(input, parentDOM, callback) { var dom = parentDOM.firstChild; if (shared_1.isNull(dom)) { inferno_1.render(input, parentDOM, callback) } else { var lifecycle = []; if (!shared_1.isInvalid(input)) { dom = hydrateVNode(input, parentDOM, dom, {}, false, lifecycle) } while (dom && (dom = dom.nextSibling)) { parentDOM.removeChild(dom) } if (lifecycle.length > 0) { var listener = void 0; while (void 0 !== (listener = lifecycle.shift())) { listener() } } } parentDOM.$V = input; if (shared_1.isFunction(callback)) { callback() } } }, 25326: /*!***********************************************************************!*\ !*** ./node_modules/@devextreme/runtime/cjs/inferno/mocked/shared.js ***! \***********************************************************************/ function(__unused_webpack_module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.ERROR_MSG = "a runtime error occured! Use Inferno in development environment to find the error."; exports.isNullOrUndef = function(o) { return void 0 === o || null === o }; exports.isInvalid = function(o) { return null === o || false === o || true === o || void 0 === o }; exports.isFunction = function(o) { return "function" === typeof o }; exports.isNull = function(o) { return null === o }; exports.throwError = function(message) { if (!message) { message = exports.ERROR_MSG } throw new Error("Inferno Error: " + message) } }, 91019: /*!**************************************************************************!*\ !*** ./node_modules/@devextreme/runtime/cjs/inferno/normalize_styles.js ***! \**************************************************************************/ function(__unused_webpack_module, exports) { var __read = this && this.__read || function(o, n) { var m = "function" === typeof Symbol && o[Symbol.iterator]; if (!m) { return o } var r, e, i = m.call(o), ar = []; try { while ((void 0 === n || n-- > 0) && !(r = i.next()).done) { ar.push(r.value) } } catch (error) { e = { error: error } } finally { try { if (r && !r.done && (m = i.return)) { m.call(i) } } finally { if (e) { throw e.error } } } return ar }; Object.defineProperty(exports, "__esModule", { value: true }); var NUMBER_STYLES = new Set(["animationIterationCount", "borderImageOutset", "borderImageSlice", "border-imageWidth", "boxFlex", "boxFlexGroup", "boxOrdinalGroup", "columnCount", "fillOpacity", "flex", "flexGrow", "flexNegative", "flexOrder", "flexPositive", "flexShrink", "floodOpacity", "fontWeight", "gridColumn", "gridRow", "lineClamp", "lineHeight", "opacity", "order", "orphans", "stopOpacity", "strokeDasharray", "strokeDashoffset", "strokeMiterlimit", "strokeOpacity", "strokeWidth", "tabSize", "widows", "zIndex", "zoom"]); var uppercasePattern = /[A-Z]/g; exports.normalizeStyles = function(styles) { if (!(styles instanceof Object)) { return } return Object.entries(styles).reduce((function(acc, _a) { var _b = __read(_a, 2), key = _b[0], value = _b[1]; acc[(str = key, str.replace(uppercasePattern, "-$&").toLowerCase())] = function(value) { if ("number" === typeof value) { return true } return !Number.isNaN(Number(value)) }(value) ? function(style, value) { return NUMBER_STYLES.has(style) ? value : value + "px" }(key, value) : value; var str; return acc }), {}) } }, 89216: /*!****************************************************************!*\ !*** ./node_modules/@devextreme/runtime/cjs/inferno/portal.js ***! \****************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); var inferno_1 = __webpack_require__( /*! inferno */ 55285); exports.Portal = function(_a) { var container = _a.container, children = _a.children; if (container) { return inferno_1.createPortal(children, container) } return null } }, 32766: /*!**************************************************************************!*\ !*** ./node_modules/@devextreme/runtime/cjs/inferno/re_render_effect.js ***! \**************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); var inferno_1 = __webpack_require__( /*! inferno */ 55285); var effect_1 = __webpack_require__( /*! ./effect */ 37221); exports.createReRenderEffect = function() { return new effect_1.InfernoEffect((function() { inferno_1.rerender() }), []) } }, 56064: /*!*************************************************************************!*\ !*** ./node_modules/@devextreme/runtime/cjs/inferno/render_template.js ***! \*************************************************************************/ function(__unused_webpack_module, exports, __webpack_require__) { Object.defineProperty(exports, "__esModule", { value: true }); var inferno_1 = __webpack_require__( /*! inferno */ 55285); var inferno_create_element_1 = __webpack_require__( /*! inferno-create-element */ 87456); exports.renderTemplate = function(template, props, _component) { setTimeout((function() { inferno_1.render(inferno_create_element_1.createElement(template, props), function(props) { var _a, _b; return (null === (_a = props.container) || void 0 === _a ? void 0 : _a.get(0)) || (null === (_b = props.item) || void 0 === _b ? void 0 : _b.get(0)) }(props)) }), 0) }; exports.hasTemplate = function(name, properties, _component) { var value = properties[name]; return !!value && "string" !== typeof value } }, 87456: /*!***************************************************************!*\ !*** ./node_modules/inferno-create-element/dist/index.esm.js ***! \***************************************************************/ function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); __webpack_require__.d(__webpack_exports__, { createElement: function() { return createElement } }); var inferno__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( /*! inferno */ 55285); function isNullOrUndef(o) { return void 0 === o || null === o } function isString(o) { return "string" === typeof o } function isUndefined(o) { return void 0 === o } var componentHooks = { onComponentDidMount: 1, onComponentDidUpdate: 1, onComponentShouldUpdate: 1, onComponentWillMount: 1, onComponentWillUnmount: 1, onComponentWillUpdate: 1 }; function createElement(type, props, _children) { var arguments$1 = arguments; var children; var ref = null; var key = null; var className = null; var flags = 0; var newProps; var childLen = arguments.length - 2; if (1 === childLen) { children = _children } else if (childLen > 1) { children = []; while (childLen-- > 0) { children[childLen] = arguments$1[childLen + 2] } } if (isString(type)) { flags = (0, inferno__WEBPACK_IMPORTED_MODULE_0__.getFlagsForElementVnode)(type); if (!isNullOrUndef(props)) { newProps = {}; for (var prop in props) { if ("className" === prop || "class" === prop) { className = props[prop] } else if ("key" === prop) { key = props.key } else if ("children" === prop && isUndefined(children)) { children = props.children } else if ("ref" === prop) { ref = props.ref } else { if ("contenteditable" === prop) { flags |= 4096 } newProps[prop] = props[prop] } } } } else { flags = 2; if (!isUndefined(children)) { if (!props) { props = {} } props.children = children } if (!isNullOrUndef(props)) { newProps = {}; for (var prop$1 in props) { if ("key" === prop$1) { key = props.key } else if ("ref" === prop$1) { ref = props.ref } else if (1 === componentHooks[prop$1]) { if (!ref) { ref = {} } ref[prop$1] = props[prop$1] } else { newProps[prop$1] = props[prop$1] } } } return (0, inferno__WEBPACK_IMPORTED_MODULE_0__.createComponentVNode)(flags, type, newProps, key, ref) } if (8192 & flags) { return (0, inferno__WEBPACK_IMPORTED_MODULE_0__.createFragment)(1 === childLen ? [children] : children, 0, key) } return (0, inferno__WEBPACK_IMPORTED_MODULE_0__.createVNode)(flags, type, className, children, 0, newProps, key, ref) } }, 55285: /*!*******************************************************!*\ !*** ./node_modules/inferno/index.esm.js + 1 modules ***! \*******************************************************/ function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); __webpack_require__.d(__webpack_exports__, { Component: function() { return Component }, EMPTY_OBJ: function() { return EMPTY_OBJ }, Fragment: function() { return Fragment }, _CI: function() { return createClassComponentInstance }, _HI: function() { return normalizeRoot }, _M: function() { return mount }, _MCCC: function() { return mountClassComponentCallbacks }, _ME: function() { return mountElement }, _MFCC: function() { return mountFunctionalComponentCallbacks }, _MP: function() { return mountProps }, _MR: function() { return mountRef }, _RFC: function() { return renderFunctionalComponent }, __render: function() { return __render }, createComponentVNode: function() { return createComponentVNode }, createFragment: function() { return createFragment }, createPortal: function() { return createPortal }, createRef: function() { return createRef }, createRenderer: function() { return createRenderer }, createTextVNode: function() { return createTextVNode }, createVNode: function() { return createVNode }, directClone: function() { return directClone }, findDOMfromVNode: function() { return findDOMfromVNode }, forwardRef: function() { return forwardRef }, getFlagsForElementVnode: function() { return getFlagsForElementVnode }, linkEvent: function() { return linkEvent }, normalizeProps: function() { return normalizeProps }, options: function() { return options }, render: function() { return render }, rerender: function() { return rerender }, version: function() { return version } }); var isArray = Array.isArray; function isStringOrNumber(o) { var type = typeof o; return "string" === type || "number" === type } function isNullOrUndef(o) { return void 0 === o || null === o } function isInvalid(o) { return null === o || false === o || true === o || void 0 === o } function isFunction(o) { return "function" === typeof o } function isString(o) { return "string" === typeof o } function isNull(o) { return null === o } function combineFrom(first, second) { var out = {}; if (first) { for (var key in first) { out[key] = first[key] } } if (second) { for (var key$1 in second) { out[key$1] = second[key$1] } } return out } function linkEvent(data, event) { if (isFunction(event)) { return { data: data, event: event } } return null } function isLinkEventObject(o) { return !isNull(o) && "object" === typeof o } var EMPTY_OBJ = {}; var Fragment = "$F"; function normalizeEventName(name) { return name.substr(2).toLowerCase() } function appendChild(parentDOM, dom) { parentDOM.appendChild(dom) } function insertOrAppend(parentDOM, newNode, nextNode) { if (isNull(nextNode)) { appendChild(parentDOM, newNode) } else { parentDOM.insertBefore(newNode, nextNode) } } function removeChild(parentDOM, childNode) { parentDOM.removeChild(childNode) } function callAll(arrayFn) { for (var i = 0; i < arrayFn.length; i++) { arrayFn[i]() } } function findChildVNode(vNode, startEdge, flags) { var children = vNode.children; if (4 & flags) { return children.$LI } if (8192 & flags) { return 2 === vNode.childFlags ? children : children[startEdge ? 0 : children.length - 1] } return children } function findDOMfromVNode(vNode, startEdge) { var flags; while (vNode) { flags = vNode.flags; if (2033 & flags) { return vNode.dom } vNode = findChildVNode(vNode, startEdge, flags) } return null } function removeVNodeDOM(vNode, parentDOM) { do { var flags = vNode.flags; if (2033 & flags) { removeChild(parentDOM, vNode.dom); return } var children = vNode.children; if (4 & flags) { vNode = children.$LI } if (8 & flags) { vNode = children } if (8192 & flags) { if (2 === vNode.childFlags) { vNode = children } else { for (var i = 0, len = children.length; i < len; ++i) { removeVNodeDOM(children[i], parentDOM) } return } } } while (vNode) } function moveVNodeDOM(vNode, parentDOM, nextNode) { do { var flags = vNode.flags; if (2033 & flags) { insertOrAppend(parentDOM, vNode.dom, nextNode); return } var children = vNode.children; if (4 & flags) { vNode = children.$LI } if (8 & flags) { vNode = children } if (8192 & flags) { if (2 === vNode.childFlags) { vNode = children } else { for (var i = 0, len = children.length; i < len; ++i) { moveVNodeDOM(children[i], parentDOM, nextNode) } return } } } while (vNode) } function createDerivedState(instance, nextProps, state) { if (instance.constructor.getDerivedStateFromProps) { return combineFrom(state, instance.constructor.getDerivedStateFromProps(nextProps, state)) } return state } var renderCheck = { v: false }; var options = { componentComparator: null, createVNode: null, renderComplete: null }; function setTextContent(dom, children) { dom.textContent = children } function isLastValueSameLinkEvent(lastValue, nextValue) { return isLinkEventObject(lastValue) && lastValue.event === nextValue.event && lastValue.data === nextValue.data } function mergeUnsetProperties(to, from) { for (var propName in from) { if (o = to[propName], void 0 === o) { to[propName] = from[propName] } } var o; return to } function safeCall1(method, arg1) { return !!isFunction(method) && (method(arg1), true) } function V(childFlags, children, className, flags, key, props, ref, type) { this.childFlags = childFlags; this.children = children; this.className = className; this.dom = null; this.flags = flags; this.key = void 0 === key ? null : key; this.props = void 0 === props ? null : props; this.ref = void 0 === ref ? null : ref; this.type = type } function createVNode(flags, type, className, children, childFlags, props, key, ref) { var childFlag = void 0 === childFlags ? 1 : childFlags; var vNode = new V(childFlag, children, className, flags, key, props, ref, type); if (options.createVNode) { options.createVNode(vNode) } if (0 === childFlag) { normalizeChildren(vNode, vNode.children) } return vNode } function createComponentVNode(flags, type, props, key, ref) { flags = function(flags, type) { if (12 & flags) { return flags } if (type.prototype && type.prototype.render) { return 4 } if (type.render) { return 32776 } return 8 }(flags, type); var vNode = new V(1, null, null, flags, key, function(flags, type, props) { var defaultProps = (32768 & flags ? type.render : type).defaultProps; if (isNullOrUndef(defaultProps)) { return props } if (isNullOrUndef(props)) { return combineFrom(defaultProps, null) } return mergeUnsetProperties(props, defaultProps) }(flags, type, props), function(flags, type, ref) { if (4 & flags) { return ref } var defaultHooks = (32768 & flags ? type.render : type).defaultHooks; if (isNullOrUndef(defaultHooks)) { return ref } if (isNullOrUndef(ref)) { return defaultHooks } return mergeUnsetProperties(ref, defaultHooks) }(flags, type, ref), type); if (options.createVNode) { options.createVNode(vNode) } return vNode } function createTextVNode(text, key) { return new V(1, isNullOrUndef(text) || true === text || false === text ? "" : text, null, 16, key, null, null, null) } function createFragment(children, childFlags, key) { var fragment = createVNode(8192, 8192, null, children, childFlags, null, key, null); switch (fragment.childFlags) { case 1: fragment.children = createVoidVNode(); fragment.childFlags = 2; break; case 16: fragment.children = [createTextVNode(children)]; fragment.childFlags = 4 } return fragment } function normalizeProps(vNode) { var props = vNode.props; if (props) { var flags = vNode.flags; if (481 & flags) { if (void 0 !== props.children && isNullOrUndef(vNode.children)) { normalizeChildren(vNode, props.children) } if (void 0 !== props.className) { if (isNullOrUndef(vNode.className)) { vNode.className = props.className || null } props.className = void 0 } } if (void 0 !== props.key) { vNode.key = props.key; props.key = void 0 } if (void 0 !== props.ref) { if (8 & flags) { vNode.ref = combineFrom(vNode.ref, props.ref) } else { vNode.ref = props.ref } props.ref = void 0 } } return vNode } function directClone(vNodeToClone) { var flags = -16385 & vNodeToClone.flags; var props = vNodeToClone.props; if (14 & flags) { if (!isNull(props)) { var propsToClone = props; props = {}; for (var key in propsToClone) { props[key] = propsToClone[key] } } } if (0 === (8192 & flags)) { return new V(vNodeToClone.childFlags, vNodeToClone.children, vNodeToClone.className, flags, vNodeToClone.key, props, vNodeToClone.ref, vNodeToClone.type) } return function(vNodeToClone) { var oldChildren = vNodeToClone.children; var childFlags = vNodeToClone.childFlags; return createFragment(2 === childFlags ? directClone(oldChildren) : oldChildren.map(directClone), childFlags, vNodeToClone.key) }(vNodeToClone) } function createVoidVNode() { return createTextVNode("", null) } function createPortal(children, container) { var normalizedRoot = normalizeRoot(children); return createVNode(1024, 1024, null, normalizedRoot, 0, null, normalizedRoot.key, container) } function _normalizeVNodes(nodes, result, index, currentKey) { for (var len = nodes.length; index < len; index++) { var n = nodes[index]; if (!isInvalid(n)) { var newKey = currentKey + "$" + index; if (isArray(n)) { _normalizeVNodes(n, result, 0, newKey) } else { if (isStringOrNumber(n)) { n = createTextVNode(n, newKey) } else { var oldKey = n.key; var isPrefixedKey = isString(oldKey) && "$" === oldKey[0]; if (81920 & n.flags || isPrefixedKey) { n = directClone(n) } n.flags |= 65536; if (!isPrefixedKey) { if (isNull(oldKey)) { n.key = newKey } else { n.key = currentKey + oldKey } } else if (oldKey.substring(0, currentKey.length) !== currentKey) { n.key = currentKey + oldKey } } result.push(n) } } } } function getFlagsForElementVnode(type) { switch (type) { case "svg": return 32; case "input": return 64; case "select": return 256; case "textarea": return 128; case Fragment: return 8192; default: return 1 } } function normalizeChildren(vNode, children) { var newChildren; var newChildFlags = 1; if (isInvalid(children)) { newChildren = children } else if (isStringOrNumber(children)) { newChildFlags = 16; newChildren = children } else if (isArray(children)) { var len = children.length; for (var i = 0; i < len; ++i) { var n = children[i]; if (isInvalid(n) || isArray(n)) { newChildren = newChildren || children.slice(0, i); _normalizeVNodes(children, newChildren, i, ""); break } else if (isStringOrNumber(n)) { newChildren = newChildren || children.slice(0, i); newChildren.push(createTextVNode(n, "$" + i)) } else { var key = n.key; var needsCloning = (81920 & n.flags) > 0; var isNullKey = isNull(key); var isPrefixed = isString(key) && "$" === key[0]; if (needsCloning || isNullKey || isPrefixed) { newChildren = newChildren || children.slice(0, i); if (needsCloning || isPrefixed) { n = directClone(n) } if (isNullKey || isPrefixed) { n.key = "$" + i } newChildren.push(n) } else if (newChildren) { newChildren.push(n) } n.flags |= 65536 } } newChildren = newChildren || children; if (0 === newChildren.length) { newChildFlags = 1 } else { newChildFlags = 8 } } else { newChildren = children; newChildren.flags |= 65536; if (81920 & children.flags) { newChildren = directClone(children) } newChildFlags = 2 } vNode.children = newChildren; vNode.childFlags = newChildFlags; return vNode } function normalizeRoot(input) { if (isInvalid(input) || isStringOrNumber(input)) { return createTextVNode(input, null) } if (isArray(input)) { return createFragment(input, 0, null) } return 16384 & input.flags ? directClone(input) : input } var xlinkNS = "http://www.w3.org/1999/xlink"; var xmlNS = "http://www.w3.org/XML/1998/namespace"; var namespaces = { "xlink:actuate": xlinkNS, "xlink:arcrole": xlinkNS, "xlink:href": xlinkNS, "xlink:role": xlinkNS, "xlink:show": xlinkNS, "xlink:title": xlinkNS, "xlink:type": xlinkNS, "xml:base": xmlNS, "xml:lang": xmlNS, "xml:space": xmlNS }; function getDelegatedEventObject(v) { return { onClick: v, onDblClick: v, onFocusIn: v, onFocusOut: v, onKeyDown: v, onKeyPress: v, onKeyUp: v, onMouseDown: v, onMouseMove: v, onMouseUp: v, onTouchEnd: v, onTouchMove: v, onTouchStart: v } } var attachedEventCounts = getDelegatedEventObject(0); var attachedEvents = getDelegatedEventObject(null); var syntheticEvents = getDelegatedEventObject(true); function updateOrAddSyntheticEvent(name, dom) { var eventsObject = dom.$EV; if (!eventsObject) { eventsObject = dom.$EV = getDelegatedEventObject(null) } if (!eventsObject[name]) { if (1 === ++attachedEventCounts[name]) { attachedEvents[name] = function(name) { var attachedEvent = "onClick" === name || "onDblClick" === name ? function(name) { return function(event) { if (0 !== event.button) { event.stopPropagation(); return } dispatchEvents(event, true, name, extendEventProperties(event)) } }(name) : function(name) { return function(event) { dispatchEvents(event, false, name, extendEventProperties(event)) } }(name); document.addEventListener(normalizeEventName(name), attachedEvent); return attachedEvent }(name) } } return eventsObject } function unmountSyntheticEvent(name, dom) { var eventsObject = dom.$EV; if (eventsObject && eventsObject[name]) { if (0 === --attachedEventCounts[name]) { document.removeEventListener(normalizeEventName(name), attachedEvents[name]); attachedEvents[name] = null } eventsObject[name] = null } } function dispatchEvents(event, isClick, name, eventData) { var dom = function(event) { return isFunction(event.composedPath) ? event.composedPath()[0] : event.target }(event); do { if (isClick && dom.disabled) { return } var eventsObject = dom.$EV; if (eventsObject) { var currentEvent = eventsObject[name]; if (currentEvent) { eventData.dom = dom; currentEvent.event ? currentEvent.event(currentEvent.data, event) : currentEvent(event); if (event.cancelBubble) { return } } } dom = dom.parentNode } while (!isNull(dom)) } function stopPropagation() { this.cancelBubble = true; if (!this.immediatePropagationStopped) { this.stopImmediatePropagation() } } function isDefaultPrevented() { return this.defaultPrevented } function isPropagationStopped() { return this.cancelBubble } function extendEventProperties(event) { var eventData = { dom: document }; event.isDefaultPrevented = isDefaultPrevented; event.isPropagationStopped = isPropagationStopped; event.stopPropagation = stopPropagation; Object.defineProperty(event, "currentTarget", { configurable: true, get: function() { return eventData.dom } }); return eventData } function triggerEventListener(props, methodName, e) { if (props[methodName]) { var listener = props[methodName]; if (listener.event) { listener.event(listener.data, e) } else { listener(e) } } else { var nativeListenerName = methodName.toLowerCase(); if (props[nativeListenerName]) { props[nativeListenerName](e) } } } function createWrappedFunction(methodName, applyValue) { var fnMethod = function(e) { var vNode = this.$V; if (!vNode) { return } var props = vNode.props || EMPTY_OBJ; var dom = vNode.dom; if (isString(methodName)) { triggerEventListener(props, methodName, e) } else { for (var i = 0; i < methodName.length; ++i) { triggerEventListener(props, methodName[i], e) } } if (isFunction(applyValue)) { var newVNode = this.$V; var newProps = newVNode.props || EMPTY_OBJ; applyValue(newProps, dom, false, newVNode) } }; Object.defineProperty(fnMethod, "wrapped", { configurable: false, enumerable: false, value: true, writable: false }); return fnMethod } function attachEvent(dom, eventName, handler) { var previousKey = "$" + eventName; var previousArgs = dom[previousKey]; if (previousArgs) { if (previousArgs[1].wrapped) { return } dom.removeEventListener(previousArgs[0], previousArgs[1]); dom[previousKey] = null } if (isFunction(handler)) { dom.addEventListener(eventName, handler); dom[previousKey] = [eventName, handler] } } function isCheckedType(type) { return "checkbox" === type || "radio" === type } var onTextInputChange = createWrappedFunction("onInput", applyValueInput); var wrappedOnChange = createWrappedFunction(["onClick", "onChange"], applyValueInput); function emptywrapper(event) { event.stopPropagation() } emptywrapper.wrapped = true; function applyValueInput(nextPropsOrEmpty, dom) { var type = nextPropsOrEmpty.type; var value = nextPropsOrEmpty.value; var checked = nextPropsOrEmpty.checked; var multiple = nextPropsOrEmpty.multiple; var defaultValue = nextPropsOrEmpty.defaultValue; var hasValue = !isNullOrUndef(value); if (type && type !== dom.type) { dom.setAttribute("type", type) } if (!isNullOrUndef(multiple) && multiple !== dom.multiple) { dom.multiple = multiple } if (!isNullOrUndef(defaultValue) && !hasValue) { dom.defaultValue = defaultValue + "" } if (isCheckedType(type)) { if (hasValue) { dom.value = value } if (!isNullOrUndef(checked)) { dom.checked = checked } } else if (hasValue && dom.value !== value) { dom.defaultValue = value; dom.value = value } else if (!isNullOrUndef(checked)) { dom.checked = checked } } function updateChildOptions(vNode, value) { if ("option" === vNode.type) { ! function(vNode, value) { var props = vNode.props || EMPTY_OBJ; var dom = vNode.dom; dom.value = props.value; if (props.value === value || isArray(value) && -1 !== value.indexOf(props.value)) { dom.selected = true } else if (!isNullOrUndef(value) || !isNullOrUndef(props.selected)) { dom.selected = props.selected || false } }(vNode, value) } else { var children = vNode.children; var flags = vNode.flags; if (4 & flags) { updateChildOptions(children.$LI, value) } else if (8 & flags) { updateChildOptions(children, value) } else if (2 === vNode.childFlags) { updateChildOptions(children, value) } else if (12 & vNode.childFlags) { for (var i = 0, len = children.length; i < len; ++i) { updateChildOptions(children[i], value) } } } } var onSelectChange = createWrappedFunction("onChange", applyValueSelect); function applyValueSelect(nextPropsOrEmpty, dom, mounting, vNode) { var multiplePropInBoolean = Boolean(nextPropsOrEmpty.multiple); if (!isNullOrUndef(nextPropsOrEmpty.multiple) && multiplePropInBoolean !== dom.multiple) { dom.multiple = multiplePropInBoolean } var index = nextPropsOrEmpty.selectedIndex; if (-1 === index) { dom.selectedIndex = -1 } var childFlags = vNode.childFlags; if (1 !== childFlags) { var value = nextPropsOrEmpty.value; if ((o = index, "number" === typeof o) && index > -1 && dom.options[index]) { value = dom.options[index].value } if (mounting && isNullOrUndef(value)) { value = nextPropsOrEmpty.defaultValue } updateChildOptions(vNode, value) } var o } var onTextareaInputChange = createWrappedFunction("onInput", applyValueTextArea); var wrappedOnChange$1 = createWrappedFunction("onChange"); function applyValueTextArea(nextPropsOrEmpty, dom, mounting) { var value = nextPropsOrEmpty.value; var domValue = dom.value; if (isNullOrUndef(value)) { if (mounting) { var defaultValue = nextPropsOrEmpty.defaultValue; if (!isNullOrUndef(defaultValue) && defaultValue !== domValue) { dom.defaultValue = defaultValue; dom.value = defaultValue } } } else if (domValue !== value) { dom.defaultValue = value; dom.value = value } } function processElement(flags, vNode, dom, nextPropsOrEmpty, mounting, isControlled) { if (64 & flags) { applyValueInput(nextPropsOrEmpty, dom) } else if (256 & flags) { applyValueSelect(nextPropsOrEmpty, dom, mounting, vNode) } else if (128 & flags) { applyValueTextArea(nextPropsOrEmpty, dom, mounting) } if (isControlled) { dom.$V = vNode } } function addFormElementEventHandlers(flags, dom, nextPropsOrEmpty) { if (64 & flags) { ! function(dom, nextPropsOrEmpty) { if (isCheckedType(nextPropsOrEmpty.type)) { attachEvent(dom, "change", wrappedOnChange); attachEvent(dom, "click", emptywrapper) } else { attachEvent(dom, "input", onTextInputChange) } }(dom, nextPropsOrEmpty) } else if (256 & flags) { ! function(dom) { attachEvent(dom, "change", onSelectChange) }(dom) } else if (128 & flags) { ! function(dom, nextPropsOrEmpty) { attachEvent(dom, "input", onTextareaInputChange); if (nextPropsOrEmpty.onChange) { attachEvent(dom, "change", wrappedOnChange$1) } }(dom, nextPropsOrEmpty) } } function isControlledFormElement(nextPropsOrEmpty) { return nextPropsOrEmpty.type && isCheckedType(nextPropsOrEmpty.type) ? !isNullOrUndef(nextPropsOrEmpty.checked) : !isNullOrUndef(nextPropsOrEmpty.value) } function createRef() { return { current: null } } function forwardRef(render) { return { render: render } } function unmountRef(ref) { if (ref) { if (!safeCall1(ref, null) && ref.current) { ref.current = null } } } function mountRef(ref, value, lifecycle) { if (ref && (isFunction(ref) || void 0 !== ref.current)) { lifecycle.push((function() { if (!safeCall1(ref, value) && void 0 !== ref.current) { ref.current = value } })) } } function remove(vNode, parentDOM) { unmount(vNode); removeVNodeDOM(vNode, parentDOM) } function unmount(vNode) { var flags = vNode.flags; var children = vNode.children; var ref; if (481 & flags) { ref = vNode.ref; var props = vNode.props; unmountRef(ref); var childFlags = vNode.childFlags; if (!isNull(props)) { var keys = Object.keys(props); for (var i = 0, len = keys.length; i < len; i++) { var key = keys[i]; if (syntheticEvents[key]) { unmountSyntheticEvent(key, vNode.dom) } } } if (12 & childFlags) { unmountAllChildren(children) } else if (2 === childFlags) { unmount(children) } } else if (children) { if (4 & flags) { if (isFunction(children.componentWillUnmount)) { children.componentWillUnmount() } unmountRef(vNode.ref); children.$UN = true; unmount(children.$LI) } else if (8 & flags) { ref = vNode.ref; if (!isNullOrUndef(ref) && isFunction(ref.onComponentWillUnmount)) { ref.onComponentWillUnmount(findDOMfromVNode(vNode, true), vNode.props || EMPTY_OBJ) } unmount(children) } else if (1024 & flags) { remove(children, vNode.ref) } else if (8192 & flags) { if (12 & vNode.childFlags) { unmountAllChildren(children) } } } } function unmountAllChildren(children) { for (var i = 0, len = children.length; i < len; ++i) { unmount(children[i]) } } function clearDOM(dom) { dom.textContent = "" } function removeAllChildren(dom, vNode, children) { unmountAllChildren(children); if (8192 & vNode.flags) { removeVNodeDOM(vNode, dom) } else { clearDOM(dom) } } function patchDangerInnerHTML(lastValue, nextValue, lastVNode, dom) { var lastHtml = lastValue && lastValue.__html || ""; var nextHtml = nextValue && nextValue.__html || ""; if (lastHtml !== nextHtml) { if (!isNullOrUndef(nextHtml) && ! function(dom, innerHTML) { var tempdom = document.createElement("i"); tempdom.innerHTML = innerHTML; return tempdom.innerHTML === dom.innerHTML }(dom, nextHtml)) { if (!isNull(lastVNode)) { if (12 & lastVNode.childFlags) { unmountAllChildren(lastVNode.children) } else if (2 === lastVNode.childFlags) { unmount(lastVNode.children) } lastVNode.children = null; lastVNode.childFlags = 1 } dom.innerHTML = nextHtml } } } function patchProp(prop, lastValue, nextValue, dom, isSVG, hasControlledValue, lastVNode) { switch (prop) { case "children": case "childrenType": case "className": case "defaultValue": case "key": case "multiple": case "ref": case "selectedIndex": break; case "autoFocus": dom.autofocus = !!nextValue; break; case "allowfullscreen": case "autoplay": case "capture": case "checked": case "controls": case "default": case "disabled": case "hidden": case "indeterminate": case "loop": case "muted": case "novalidate": case "open": case "readOnly": case "required": case "reversed": case "scoped": case "seamless": case "selected": dom[prop] = !!nextValue; break; case "defaultChecked": case "value": case "volume": if (hasControlledValue && "value" === prop) { break } var value = isNullOrUndef(nextValue) ? "" : nextValue; if (dom[prop] !== value) { dom[prop] = value } break; case "style": ! function(lastAttrValue, nextAttrValue, dom) { if (isNullOrUndef(nextAttrValue)) { dom.removeAttribute("style"); return } var domStyle = dom.style; var style; var value; if (isString(nextAttrValue)) { domStyle.cssText = nextAttrValue; return } if (!isNullOrUndef(lastAttrValue) && !isString(lastAttrValue)) { for (style in nextAttrValue) { value = nextAttrValue[style]; if (value !== lastAttrValue[style]) { domStyle.setProperty(style, value) } } for (style in lastAttrValue) { if (isNullOrUndef(nextAttrValue[style])) { domStyle.removeProperty(style) } } } else { for (style in nextAttrValue) { value = nextAttrValue[style]; domStyle.setProperty(style, value) } } }(lastValue, nextValue, dom); break; case "dangerouslySetInnerHTML": patchDangerInnerHTML(lastValue, nextValue, lastVNode, dom); break; default: if (syntheticEvents[prop]) { ! function(name, lastEvent, nextEvent, dom) { if (isFunction(nextEvent)) { updateOrAddSyntheticEvent(name, dom)[name] = nextEvent } else if (isLinkEventObject(nextEvent)) { if (isLastValueSameLinkEvent(lastEvent, nextEvent)) { return } updateOrAddSyntheticEvent(name, dom)[name] = nextEvent } else { unmountSyntheticEvent(name, dom) } }(prop, lastValue, nextValue, dom) } else if (111 === prop.charCodeAt(0) && 110 === prop.charCodeAt(1)) { ! function(name, lastValue, nextValue, dom) { if (isLinkEventObject(nextValue)) { if (isLastValueSameLinkEvent(lastValue, nextValue)) { return } nextValue = function(nextValue) { var ev = nextValue.event; return function(e) { ev(nextValue.data, e) } }(nextValue) } attachEvent(dom, normalizeEventName(name), nextValue) }(prop, lastValue, nextValue, dom) } else if (isNullOrUndef(nextValue)) { dom.removeAttribute(prop) } else if (isSVG && namespaces[prop]) { dom.setAttributeNS(namespaces[prop], prop, nextValue) } else { dom.setAttribute(prop, nextValue) } } } function mountProps(vNode, flags, props, dom, isSVG) { var hasControlledValue = false; var isFormElement = (448 & flags) > 0; if (isFormElement) { hasControlledValue = isControlledFormElement(props); if (hasControlledValue) { addFormElementEventHandlers(flags, dom, props) } } for (var prop in props) { patchProp(prop, null, props[prop], dom, isSVG, hasControlledValue, null) } if (isFormElement) { processElement(flags, vNode, dom, props, true, hasControlledValue) } } function renderNewInput(instance, props, context) { var nextInput = normalizeRoot(instance.render(props, instance.state, context)); var childContext = context; if (isFunction(instance.getChildContext)) { childContext = combineFrom(context, instance.getChildContext()) } instance.$CX = childContext; return nextInput } function createClassComponentInstance(vNode, Component, props, context, isSVG, lifecycle) { var instance = new Component(props, context); var usesNewAPI = instance.$N = Boolean(Component.getDerivedStateFromProps || instance.getSnapshotBeforeUpdate); instance.$SVG = isSVG; instance.$L = lifecycle; vNode.children = instance; instance.$BS = false; instance.context = context; if (instance.props === EMPTY_OBJ) { instance.props = props } if (!usesNewAPI) { if (isFunction(instance.componentWillMount)) { instance.$BR = true; instance.componentWillMount(); var pending = instance.$PS; if (!isNull(pending)) { var state = instance.state; if (isNull(state)) { instance.state = pending } else { for (var key in pending) { state[key] = pending[key] } } instance.$PS = null } instance.$BR = false } } else { instance.state = createDerivedState(instance, props, instance.state) } instance.$LI = renderNewInput(instance, props, context); return instance } function renderFunctionalComponent(vNode, context) { var props = vNode.props || EMPTY_OBJ; return 32768 & vNode.flags ? vNode.type.render(props, vNode.ref, context) : vNode.type(props, context) } function mount(vNode, parentDOM, context, isSVG, nextNode, lifecycle) { var flags = vNode.flags |= 16384; if (481 & flags) { mountElement(vNode, parentDOM, context, isSVG, nextNode, lifecycle) } else if (4 & flags) { ! function(vNode, parentDOM, context, isSVG, nextNode, lifecycle) { var instance = createClassComponentInstance(vNode, vNode.type, vNode.props || EMPTY_OBJ, context, isSVG, lifecycle); mount(instance.$LI, parentDOM, instance.$CX, isSVG, nextNode, lifecycle); mountClassComponentCallbacks(vNode.ref, instance, lifecycle) }(vNode, parentDOM, context, isSVG, nextNode, lifecycle) } else if (8 & flags) { ! function(vNode, parentDOM, context, isSVG, nextNode, lifecycle) { mount(vNode.children = normalizeRoot(renderFunctionalComponent(vNode, context)), parentDOM, context, isSVG, nextNode, lifecycle) }(vNode, parentDOM, context, isSVG, nextNode, lifecycle); mountFunctionalComponentCallbacks(vNode, lifecycle) } else if (512 & flags || 16 & flags) { mountText(vNode, parentDOM, nextNode) } else if (8192 & flags) { ! function(vNode, context, parentDOM, isSVG, nextNode, lifecycle) { var children = vNode.children; var childFlags = vNode.childFlags; if (12 & childFlags && 0 === children.length) { childFlags = vNode.childFlags = 2; children = vNode.children = createVoidVNode() } if (2 === childFlags) { mount(children, parentDOM, context, isSVG, nextNode, lifecycle) } else { mountArrayChildren(children, parentDOM, context, isSVG, nextNode, lifecycle) } }(vNode, context, parentDOM, isSVG, nextNode, lifecycle) } else if (1024 & flags) { ! function(vNode, context, parentDOM, nextNode, lifecycle) { mount(vNode.children, vNode.ref, context, false, null, lifecycle); var placeHolderVNode = createVoidVNode(); mountText(placeHolderVNode, parentDOM, nextNode); vNode.dom = placeHolderVNode.dom }(vNode, context, parentDOM, nextNode, lifecycle) } } function mountText(vNode, parentDOM, nextNode) { var dom = vNode.dom = document.createTextNode(vNode.children); if (!isNull(parentDOM)) { insertOrAppend(parentDOM, dom, nextNode) } } function mountElement(vNode, parentDOM, context, isSVG, nextNode, lifecycle) { var flags = vNode.flags; var props = vNode.props; var className = vNode.className; var childFlags = vNode.childFlags; var dom = vNode.dom = function(tag, isSVG) { if (isSVG) { return document.createElementNS("http://www.w3.org/2000/svg", tag) } return document.createElement(tag) }(vNode.type, isSVG = isSVG || (32 & flags) > 0); var children = vNode.children; if (!isNullOrUndef(className) && "" !== className) { if (isSVG) { dom.setAttribute("class", className) } else { dom.className = className } } if (16 === childFlags) { setTextContent(dom, children) } else if (1 !== childFlags) { var childrenIsSVG = isSVG && "foreignObject" !== vNode.type; if (2 === childFlags) { if (16384 & children.flags) { vNode.children = children = directClone(children) } mount(children, dom, context, childrenIsSVG, null, lifecycle) } else if (8 === childFlags || 4 === childFlags) { mountArrayChildren(children, dom, context, childrenIsSVG, null, lifecycle) } } if (!isNull(parentDOM)) { insertOrAppend(parentDOM, dom, nextNode) } if (!isNull(props)) { mountProps(vNode, flags, props, dom, isSVG) } mountRef(vNode.ref, dom, lifecycle) } function mountArrayChildren(children, dom, context, isSVG, nextNode, lifecycle) { for (var i = 0; i < children.length; ++i) { var child = children[i]; if (16384 & child.flags) { children[i] = child = directClone(child) } mount(child, dom, context, isSVG, nextNode, lifecycle) } } function mountClassComponentCallbacks(ref, instance, lifecycle) { mountRef(ref, instance, lifecycle); if (isFunction(instance.componentDidMount)) { lifecycle.push(function(instance) { return function() { instance.componentDidMount() } }(instance)) } } function mountFunctionalComponentCallbacks(vNode, lifecycle) { var ref = vNode.ref; if (!isNullOrUndef(ref)) { safeCall1(ref.onComponentWillMount, vNode.props || EMPTY_OBJ); if (isFunction(ref.onComponentDidMount)) { lifecycle.push(function(ref, vNode) { return function() { ref.onComponentDidMount(findDOMfromVNode(vNode, true), vNode.props || EMPTY_OBJ) } }(ref, vNode)) } } } function patch(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) { var nextFlags = nextVNode.flags |= 16384; if (lastVNode.flags !== nextFlags || lastVNode.type !== nextVNode.type || lastVNode.key !== nextVNode.key || 2048 & nextFlags) { if (16384 & lastVNode.flags) { ! function(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle) { unmount(lastVNode); if (0 !== (nextVNode.flags & lastVNode.flags & 2033)) { mount(nextVNode, null, context, isSVG, null, lifecycle); ! function(parentDOM, newDom, lastDom) { parentDOM.replaceChild(newDom, lastDom) }(parentDOM, nextVNode.dom, lastVNode.dom) } else { mount(nextVNode, parentDOM, context, isSVG, findDOMfromVNode(lastVNode, true), lifecycle); removeVNodeDOM(lastVNode, parentDOM) } }(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle) } else { mount(nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) } } else if (481 & nextFlags) { ! function(lastVNode, nextVNode, context, isSVG, nextFlags, lifecycle) { var dom = nextVNode.dom = lastVNode.dom; var lastProps = lastVNode.props; var nextProps = nextVNode.props; var isFormElement = false; var hasControlledValue = false; var nextPropsOrEmpty; isSVG = isSVG || (32 & nextFlags) > 0; if (lastProps !== nextProps) { var lastPropsOrEmpty = lastProps || EMPTY_OBJ; nextPropsOrEmpty = nextProps || EMPTY_OBJ; if (nextPropsOrEmpty !== EMPTY_OBJ) { isFormElement = (448 & nextFlags) > 0; if (isFormElement) { hasControlledValue = isControlledFormElement(nextPropsOrEmpty) } for (var prop in nextPropsOrEmpty) { var lastValue = lastPropsOrEmpty[prop]; var nextValue = nextPropsOrEmpty[prop]; if (lastValue !== nextValue) { patchProp(prop, lastValue, nextValue, dom, isSVG, hasControlledValue, lastVNode) } } } if (lastPropsOrEmpty !== EMPTY_OBJ) { for (var prop$1 in lastPropsOrEmpty) { if (isNullOrUndef(nextPropsOrEmpty[prop$1]) && !isNullOrUndef(lastPropsOrEmpty[prop$1])) { patchProp(prop$1, lastPropsOrEmpty[prop$1], null, dom, isSVG, hasControlledValue, lastVNode) } } } } var nextChildren = nextVNode.children; var nextClassName = nextVNode.className; if (lastVNode.className !== nextClassName) { if (isNullOrUndef(nextClassName)) { dom.removeAttribute("class") } else if (isSVG) { dom.setAttribute("class", nextClassName) } else { dom.className = nextClassName } } if (4096 & nextFlags) { ! function(dom, nextChildren) { if (dom.textContent !== nextChildren) { dom.textContent = nextChildren } }(dom, nextChildren) } else { patchChildren(lastVNode.childFlags, nextVNode.childFlags, lastVNode.children, nextChildren, dom, context, isSVG && "foreignObject" !== nextVNode.type, null, lastVNode, lifecycle) } if (isFormElement) { processElement(nextFlags, nextVNode, dom, nextPropsOrEmpty, false, hasControlledValue) } var nextRef = nextVNode.ref; var lastRef = lastVNode.ref; if (lastRef !== nextRef) { unmountRef(lastRef); mountRef(nextRef, dom, lifecycle) } }(lastVNode, nextVNode, context, isSVG, nextFlags, lifecycle) } else if (4 & nextFlags) { ! function(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) { var instance = nextVNode.children = lastVNode.children; if (isNull(instance)) { return } instance.$L = lifecycle; var nextProps = nextVNode.props || EMPTY_OBJ; var nextRef = nextVNode.ref; var lastRef = lastVNode.ref; var nextState = instance.state; if (!instance.$N) { if (isFunction(instance.componentWillReceiveProps)) { instance.$BR = true; instance.componentWillReceiveProps(nextProps, context); if (instance.$UN) { return } instance.$BR = false } if (!isNull(instance.$PS)) { nextState = combineFrom(nextState, instance.$PS); instance.$PS = null } } updateClassComponent(instance, nextState, nextProps, parentDOM, context, isSVG, false, nextNode, lifecycle); if (lastRef !== nextRef) { unmountRef(lastRef); mountRef(nextRef, instance, lifecycle) } }(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) } else if (8 & nextFlags) { ! function(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) { var shouldUpdate = true; var nextProps = nextVNode.props || EMPTY_OBJ; var nextRef = nextVNode.ref; var lastProps = lastVNode.props; var nextHooksDefined = !isNullOrUndef(nextRef); var lastInput = lastVNode.children; if (nextHooksDefined && isFunction(nextRef.onComponentShouldUpdate)) { shouldUpdate = nextRef.onComponentShouldUpdate(lastProps, nextProps) } if (false !== shouldUpdate) { if (nextHooksDefined && isFunction(nextRef.onComponentWillUpdate)) { nextRef.onComponentWillUpdate(lastProps, nextProps) } var nextInput = normalizeRoot(renderFunctionalComponent(nextVNode, context)); patch(lastInput, nextInput, parentDOM, context, isSVG, nextNode, lifecycle); nextVNode.children = nextInput; if (nextHooksDefined && isFunction(nextRef.onComponentDidUpdate)) { nextRef.onComponentDidUpdate(lastProps, nextProps) } } else { nextVNode.children = lastInput } }(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) } else if (16 & nextFlags) { ! function(lastVNode, nextVNode) { var nextText = nextVNode.children; var dom = nextVNode.dom = lastVNode.dom; if (nextText !== lastVNode.children) { dom.nodeValue = nextText } }(lastVNode, nextVNode) } else if (512 & nextFlags) { nextVNode.dom = lastVNode.dom } else if (8192 & nextFlags) { ! function(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle) { var lastChildren = lastVNode.children; var nextChildren = nextVNode.children; var lastChildFlags = lastVNode.childFlags; var nextChildFlags = nextVNode.childFlags; var nextNode = null; if (12 & nextChildFlags && 0 === nextChildren.length) { nextChildFlags = nextVNode.childFlags = 2; nextChildren = nextVNode.children = createVoidVNode() } var nextIsSingle = 0 !== (2 & nextChildFlags); if (12 & lastChildFlags) { var lastLen = lastChildren.length; if (8 & lastChildFlags && 8 & nextChildFlags || nextIsSingle || !nextIsSingle && nextChildren.length > lastLen) { nextNode = findDOMfromVNode(lastChildren[lastLen - 1], false).nextSibling } } patchChildren(lastChildFlags, nextChildFlags, lastChildren, nextChildren, parentDOM, context, isSVG, nextNode, lastVNode, lifecycle) }(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle) } else { ! function(lastVNode, nextVNode, context, lifecycle) { var lastContainer = lastVNode.ref; var nextContainer = nextVNode.ref; var nextChildren = nextVNode.children; patchChildren(lastVNode.childFlags, nextVNode.childFlags, lastVNode.children, nextChildren, lastContainer, context, false, null, lastVNode, lifecycle); nextVNode.dom = lastVNode.dom; if (lastContainer !== nextContainer && !isInvalid(nextChildren)) { var node = nextChildren.dom; removeChild(lastContainer, node); appendChild(nextContainer, node) } }(lastVNode, nextVNode, context, lifecycle) } } function patchChildren(lastChildFlags, nextChildFlags, lastChildren, nextChildren, parentDOM, context, isSVG, nextNode, parentVNode, lifecycle) { switch (lastChildFlags) { case 2: switch (nextChildFlags) { case 2: patch(lastChildren, nextChildren, parentDOM, context, isSVG, nextNode, lifecycle); break; case 1: remove(lastChildren, parentDOM); break; case 16: unmount(lastChildren); setTextContent(parentDOM, nextChildren); break; default: ! function(lastChildren, nextChildren, parentDOM, context, isSVG, lifecycle) { unmount(lastChildren); mountArrayChildren(nextChildren, parentDOM, context, isSVG, findDOMfromVNode(lastChildren, true), lifecycle); removeVNodeDOM(lastChildren, parentDOM) }(lastChildren, nextChildren, parentDOM, context, isSVG, lifecycle) } break; case 1: switch (nextChildFlags) { case 2: mount(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle); break; case 1: break; case 16: setTextContent(parentDOM, nextChildren); break; default: mountArrayChildren(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle) } break; case 16: switch (nextChildFlags) { case 16: ! function(lastChildren, nextChildren, parentDOM) { if (lastChildren !== nextChildren) { if ("" !== lastChildren) { parentDOM.firstChild.nodeValue = nextChildren } else { setTextContent(parentDOM, nextChildren) } } }(lastChildren, nextChildren, parentDOM); break; case 2: clearDOM(parentDOM); mount(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle); break; case 1: clearDOM(parentDOM); break; default: clearDOM(parentDOM); mountArrayChildren(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle) } break; default: switch (nextChildFlags) { case 16: unmountAllChildren(lastChildren); setTextContent(parentDOM, nextChildren); break; case 2: removeAllChildren(parentDOM, parentVNode, lastChildren); mount(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle); break; case 1: removeAllChildren(parentDOM, parentVNode, lastChildren); break; default: var lastLength = 0 | lastChildren.length; var nextLength = 0 | nextChildren.length; if (0 === lastLength) { if (nextLength > 0) { mountArrayChildren(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle) } } else if (0 === nextLength) { removeAllChildren(parentDOM, parentVNode, lastChildren) } else if (8 === nextChildFlags && 8 === lastChildFlags) { ! function(a, b, dom, context, isSVG, aLength, bLength, outerEdge, parentVNode, lifecycle) { var aEnd = aLength - 1; var bEnd = bLength - 1; var j = 0; var aNode = a[j]; var bNode = b[j]; var nextPos; var nextNode; outer: { while (aNode.key === bNode.key) { if (16384 & bNode.flags) { b[j] = bNode = directClone(bNode) } patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle); a[j] = bNode; ++j; if (j > aEnd || j > bEnd) { break outer } aNode = a[j]; bNode = b[j] } aNode = a[aEnd];bNode = b[bEnd]; while (aNode.key === bNode.key) { if (16384 & bNode.flags) { b[bEnd] = bNode = directClone(bNode) } patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle); a[aEnd] = bNode; aEnd--; bEnd--; if (j > aEnd || j > bEnd) { break outer } aNode = a[aEnd]; bNode = b[bEnd] } } if (j > aEnd) { if (j <= bEnd) { nextPos = bEnd + 1; nextNode = nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge; while (j <= bEnd) { bNode = b[j]; if (16384 & bNode.flags) { b[j] = bNode = directClone(bNode) }++j; mount(bNode, dom, context, isSVG, nextNode, lifecycle) } } } else if (j > bEnd) { while (j <= aEnd) { remove(a[j++], dom) } } else { ! function(a, b, context, aLength, bLength, aEnd, bEnd, j, dom, isSVG, outerEdge, parentVNode, lifecycle) { var aNode; var bNode; var nextPos; var i = 0; var aStart = j; var bStart = j; var aLeft = aEnd - j + 1; var bLeft = bEnd - j + 1; var sources = new Int32Array(bLeft + 1); var canRemoveWholeContent = aLeft === aLength; var moved = false; var pos = 0; var patched = 0; if (bLength < 4 || (aLeft | bLeft) < 32) { for (i = aStart; i <= aEnd; ++i) { aNode = a[i]; if (patched < bLeft) { for (j = bStart; j <= bEnd; j++) { bNode = b[j]; if (aNode.key === bNode.key) { sources[j - bStart] = i + 1; if (canRemoveWholeContent) { canRemoveWholeContent = false; while (aStart < i) { remove(a[aStart++], dom) } } if (pos > j) { moved = true } else { pos = j } if (16384 & bNode.flags) { b[j] = bNode = directClone(bNode) } patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle); ++patched; break } } if (!canRemoveWholeContent && j > bEnd) { remove(aNode, dom) } } else if (!canRemoveWholeContent) { remove(aNode, dom) } } } else { var keyIndex = {}; for (i = bStart; i <= bEnd; ++i) { keyIndex[b[i].key] = i } for (i = aStart; i <= aEnd; ++i) { aNode = a[i]; if (patched < bLeft) { j = keyIndex[aNode.key]; if (void 0 !== j) { if (canRemoveWholeContent) { canRemoveWholeContent = false; while (i > aStart) { remove(a[aStart++], dom) } } sources[j - bStart] = i + 1; if (pos > j) { moved = true } else { pos = j } bNode = b[j]; if (16384 & bNode.flags) { b[j] = bNode = directClone(bNode) } patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle); ++patched } else if (!canRemoveWholeContent) { remove(aNode, dom) } } else if (!canRemoveWholeContent) { remove(aNode, dom) } } } if (canRemoveWholeContent) { removeAllChildren(dom, parentVNode, a); mountArrayChildren(b, dom, context, isSVG, outerEdge, lifecycle) } else if (moved) { var seq = function(arr) { var arrI = 0; var i = 0; var j = 0; var k = 0; var u = 0; var v = 0; var c = 0; var len = arr.length; if (len > maxLen) { maxLen = len; result = new Int32Array(len); p = new Int32Array(len) } for (; i < len; ++i) { arrI = arr[i]; if (0 !== arrI) { j = result[k]; if (arr[j] < arrI) { p[i] = j; result[++k] = i; continue } u = 0; v = k; while (u < v) { c = u + v >> 1; if (arr[result[c]] < arrI) { u = c + 1 } else { v = c } } if (arrI < arr[result[u]]) { if (u > 0) { p[i] = result[u - 1] } result[u] = i } } } u = k + 1; var seq = new Int32Array(u); v = result[u - 1]; while (u-- > 0) { seq[u] = v; v = p[v]; result[u] = 0 } return seq }(sources); j = seq.length - 1; for (i = bLeft - 1; i >= 0; i--) { if (0 === sources[i]) { pos = i + bStart; bNode = b[pos]; if (16384 & bNode.flags) { b[pos] = bNode = directClone(bNode) } nextPos = pos + 1; mount(bNode, dom, context, isSVG, nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge, lifecycle) } else if (j < 0 || i !== seq[j]) { pos = i + bStart; bNode = b[pos]; nextPos = pos + 1; moveVNodeDOM(bNode, dom, nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge) } else { j-- } } } else if (patched !== bLeft) { for (i = bLeft - 1; i >= 0; i--) { if (0 === sources[i]) { pos = i + bStart; bNode = b[pos]; if (16384 & bNode.flags) { b[pos] = bNode = directClone(bNode) } nextPos = pos + 1; mount(bNode, dom, context, isSVG, nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge, lifecycle) } } } }(a, b, context, aLength, bLength, aEnd, bEnd, j, dom, isSVG, outerEdge, parentVNode, lifecycle) } }(lastChildren, nextChildren, parentDOM, context, isSVG, lastLength, nextLength, nextNode, parentVNode, lifecycle) } else { ! function(lastChildren, nextChildren, dom, context, isSVG, lastChildrenLength, nextChildrenLength, nextNode, lifecycle) { var commonLength = lastChildrenLength > nextChildrenLength ? nextChildrenLength : lastChildrenLength; var i = 0; var nextChild; var lastChild; for (; i < commonLength; ++i) { nextChild = nextChildren[i]; lastChild = lastChildren[i]; if (16384 & nextChild.flags) { nextChild = nextChildren[i] = directClone(nextChild) } patch(lastChild, nextChild, dom, context, isSVG, nextNode, lifecycle); lastChildren[i] = nextChild } if (lastChildrenLength < nextChildrenLength) { for (i = commonLength; i < nextChildrenLength; ++i) { nextChild = nextChildren[i]; if (16384 & nextChild.flags) { nextChild = nextChildren[i] = directClone(nextChild) } mount(nextChild, dom, context, isSVG, nextNode, lifecycle) } } else if (lastChildrenLength > nextChildrenLength) { for (i = commonLength; i < lastChildrenLength; ++i) { remove(lastChildren[i], dom) } } }(lastChildren, nextChildren, parentDOM, context, isSVG, lastLength, nextLength, nextNode, lifecycle) } } } } function updateClassComponent(instance, nextState, nextProps, parentDOM, context, isSVG, force, nextNode, lifecycle) { var lastState = instance.state; var lastProps = instance.props; var usesNewAPI = Boolean(instance.$N); var hasSCU = isFunction(instance.shouldComponentUpdate); if (usesNewAPI) { nextState = createDerivedState(instance, nextProps, nextState !== lastState ? combineFrom(lastState, nextState) : nextState) } if (force || !hasSCU || hasSCU && instance.shouldComponentUpdate(nextProps, nextState, context)) { if (!usesNewAPI && isFunction(instance.componentWillUpdate)) { instance.componentWillUpdate(nextProps, nextState, context) } instance.props = nextProps; instance.state = nextState; instance.context = context; var snapshot = null; var nextInput = renderNewInput(instance, nextProps, context); if (usesNewAPI && isFunction(instance.getSnapshotBeforeUpdate)) { snapshot = instance.getSnapshotBeforeUpdate(lastProps, lastState) } patch(instance.$LI, nextInput, parentDOM, instance.$CX, isSVG, nextNode, lifecycle); instance.$LI = nextInput; if (isFunction(instance.componentDidUpdate)) { ! function(instance, lastProps, lastState, snapshot, lifecycle) { lifecycle.push((function() { instance.componentDidUpdate(lastProps, lastState, snapshot) })) }(instance, lastProps, lastState, snapshot, lifecycle) } } else { instance.props = nextProps; instance.state = nextState; instance.context = context } } var result; var p; var maxLen = 0; var hasDocumentAvailable = "undefined" !== typeof document; if (hasDocumentAvailable) { if (window.Node) { Node.prototype.$EV = null; Node.prototype.$V = null } } function __render(input, parentDOM, callback, context) { var lifecycle = []; var rootInput = parentDOM.$V; renderCheck.v = true; if (isNullOrUndef(rootInput)) { if (!isNullOrUndef(input)) { if (16384 & input.flags) { input = directClone(input) } mount(input, parentDOM, context, false, null, lifecycle); parentDOM.$V = input; rootInput = input } } else if (isNullOrUndef(input)) { remove(rootInput, parentDOM); parentDOM.$V = null } else { if (16384 & input.flags) { input = directClone(input) } patch(rootInput, input, parentDOM, context, false, null, lifecycle); rootInput = parentDOM.$V = input } callAll(lifecycle); renderCheck.v = false; if (isFunction(callback)) { callback() } if (isFunction(options.renderComplete)) { options.renderComplete(rootInput, parentDOM) } } function render(input, parentDOM, callback, context) { if (void 0 === callback) { callback = null } if (void 0 === context) { context = EMPTY_OBJ } __render(input, parentDOM, callback, context) } function createRenderer(parentDOM) { return function(lastInput, nextInput, callback, context) { if (!parentDOM) { parentDOM = lastInput } render(nextInput, parentDOM, callback, context) } } var QUEUE = []; var nextTick = "undefined" !== typeof Promise ? Promise.resolve().then.bind(Promise.resolve()) : function(a) { window.setTimeout(a, 0) }; var microTaskPending = false; function queueStateChanges(component, newState, callback, force) { var pending = component.$PS; if (isFunction(newState)) { newState = newState(pending ? combineFrom(component.state, pending) : component.state, component.props, component.context) } if (isNullOrUndef(pending)) { component.$PS = newState } else { for (var stateKey in newState) { pending[stateKey] = newState[stateKey] } } if (!component.$BR) { if (!renderCheck.v) { if (0 === QUEUE.length) { applyState(component, force); if (isFunction(callback)) { callback.call(component) } return } } if (-1 === QUEUE.indexOf(component)) { QUEUE.push(component) } if (force) { component.$F = true } if (!microTaskPending) { microTaskPending = true; nextTick(rerender) } if (isFunction(callback)) { var QU = component.$QU; if (!QU) { QU = component.$QU = [] } QU.push(callback) } } else if (isFunction(callback)) { component.$L.push(callback.bind(component)) } } function callSetStateCallbacks(component) { var queue = component.$QU; for (var i = 0; i < queue.length; ++i) { queue[i].call(component) } component.$QU = null } function rerender() { var component; microTaskPending = false; while (component = QUEUE.shift()) { if (!component.$UN) { var force = component.$F; component.$F = false; applyState(component, force); if (component.$QU) { callSetStateCallbacks(component) } } } } function applyState(component, force) { if (force || !component.$BR) { var pendingState = component.$PS; component.$PS = null; var lifecycle = []; renderCheck.v = true; updateClassComponent(component, combineFrom(component.state, pendingState), component.props, findDOMfromVNode(component.$LI, true).parentNode, component.context, component.$SVG, force, null, lifecycle); callAll(lifecycle); renderCheck.v = false } else { component.state = component.$PS; component.$PS = null } } var Component = function(props, context) { this.state = null; this.$BR = false; this.$BS = true; this.$PS = null; this.$LI = null; this.$UN = false; this.$CX = null; this.$QU = null; this.$N = false; this.$L = null; this.$SVG = false; this.$F = false; this.props = props || EMPTY_OBJ; this.context = context || EMPTY_OBJ }; Component.prototype.forceUpdate = function(callback) { if (this.$UN) { return } queueStateChanges(this, {}, callback, true) }; Component.prototype.setState = function(newState, callback) { if (this.$UN) { return } if (!this.$BS) { queueStateChanges(this, newState, callback, false) } }; Component.prototype.render = function(_nextProps, _nextState, _nextContext) { return null }; var version = "7.4.11"; if (false) {} }, 46464: /*!***********************************************************!*\ !*** ./node_modules/rrule/dist/esm/index.js + 28 modules ***! \***********************************************************/ function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); __webpack_require__.d(__webpack_exports__, { Frequency: function() { return Frequency }, RRule: function() { return RRule }, RRuleSet: function() { return RRuleSet }, Weekday: function() { return Weekday }, datetime: function() { return datetime }, rrulestr: function() { return rrulestr } }); var ALL_WEEKDAYS = ["MO", "TU", "WE", "TH", "FR", "SA", "SU"]; var Weekday = function() { function Weekday(weekday, n) { if (0 === n) { throw new Error("Can't create weekday with n == 0") } this.weekday = weekday; this.n = n } Weekday.fromStr = function(str) { return new Weekday(ALL_WEEKDAYS.indexOf(str)) }; Weekday.prototype.nth = function(n) { return this.n === n ? this : new Weekday(this.weekday, n) }; Weekday.prototype.equals = function(other) { return this.weekday === other.weekday && this.n === other.n }; Weekday.prototype.toString = function() { var s = ALL_WEEKDAYS[this.weekday]; if (this.n) { s = (this.n > 0 ? "+" : "") + String(this.n) + s } return s }; Weekday.prototype.getJsWeekday = function() { return 6 === this.weekday ? 0 : this.weekday + 1 }; return Weekday }(); var isPresent = function(value) { return null !== value && void 0 !== value }; var isNumber = function(value) { return "number" === typeof value }; var isWeekdayStr = function(value) { return "string" === typeof value && ALL_WEEKDAYS.includes(value) }; var isArray = Array.isArray; var range = function(start, end) { if (void 0 === end) { end = start } if (1 === arguments.length) { end = start; start = 0 } var rang = []; for (var i = start; i < end; i++) { rang.push(i) } return rang }; var repeat = function(value, times) { var i = 0; var array = []; if (isArray(value)) { for (; i < times; i++) { array[i] = [].concat(value) } } else { for (; i < times; i++) { array[i] = value } } return array }; var toArray = function(item) { if (isArray(item)) { return item } return [item] }; function padStart(item, targetLength, padString) { if (void 0 === padString) { padString = " " } var str = String(item); targetLength >>= 0; if (str.length > targetLength) { return String(str) } targetLength -= str.length; if (targetLength > padString.length) { padString += repeat(padString, targetLength / padString.length) } return padString.slice(0, targetLength) + String(str) } var pymod = function(a, b) { var r = a % b; return r * b < 0 ? r + b : r }; var divmod = function(a, b) { return { div: Math.floor(a / b), mod: pymod(a, b) } }; var empty = function(obj) { return !isPresent(obj) || 0 === obj.length }; var notEmpty = function(obj) { return !empty(obj) }; var includes = function(arr, val) { return notEmpty(arr) && -1 !== arr.indexOf(val) }; var datetime = function(y, m, d, h, i, s) { if (void 0 === h) { h = 0 } if (void 0 === i) { i = 0 } if (void 0 === s) { s = 0 } return new Date(Date.UTC(y, m - 1, d, h, i, s)) }; var MONTH_DAYS = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; var ORDINAL_BASE = datetime(1970, 1, 1); var PY_WEEKDAYS = [6, 0, 1, 2, 3, 4, 5]; var isLeapYear = function(year) { return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0 }; var isDate = function(value) { return value instanceof Date }; var isValidDate = function(value) { return isDate(value) && !isNaN(value.getTime()) }; var tzOffset = function(date) { return 60 * date.getTimezoneOffset() * 1e3 }; var toOrdinal = function(date) { return date1 = date, date2 = ORDINAL_BASE, date1ms = date1.getTime() - tzOffset(date1), date2ms = date2.getTime() - tzOffset(date2), differencems = date1ms - date2ms, Math.round(differencems / 864e5); var date1, date2, date1ms, date2ms, differencems }; var fromOrdinal = function(ordinal) { return new Date(ORDINAL_BASE.getTime() + 864e5 * ordinal) }; var getMonthDays = function(date) { var month = date.getUTCMonth(); return 1 === month && isLeapYear(date.getUTCFullYear()) ? 29 : MONTH_DAYS[month] }; var getWeekday = function(date) { return PY_WEEKDAYS[date.getUTCDay()] }; var monthRange = function(year, month) { var date = datetime(year, month + 1, 1); return [getWeekday(date), getMonthDays(date)] }; var combine = function(date, time) { time = time || date; return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), time.getHours(), time.getMinutes(), time.getSeconds(), time.getMilliseconds())) }; var dateutil_clone = function(date) { var dolly = new Date(date.getTime()); return dolly }; var cloneDates = function(dates) { var clones = []; for (var i = 0; i < dates.length; i++) { clones.push(dateutil_clone(dates[i])) } return clones }; var sort = function(dates) { dates.sort((function(a, b) { return a.getTime() - b.getTime() })) }; var timeToUntilString = function(time, utc) { if (void 0 === utc) { utc = true } var date = new Date(time); return [padStart(date.getUTCFullYear().toString(), 4, "0"), padStart(date.getUTCMonth() + 1, 2, "0"), padStart(date.getUTCDate(), 2, "0"), "T", padStart(date.getUTCHours(), 2, "0"), padStart(date.getUTCMinutes(), 2, "0"), padStart(date.getUTCSeconds(), 2, "0"), utc ? "Z" : ""].join("") }; var untilStringToDate = function(until) { var bits = /^(\d{4})(\d{2})(\d{2})(T(\d{2})(\d{2})(\d{2})Z?)?$/.exec(until); if (!bits) { throw new Error("Invalid UNTIL value: ".concat(until)) } return new Date(Date.UTC(parseInt(bits[1], 10), parseInt(bits[2], 10) - 1, parseInt(bits[3], 10), parseInt(bits[5], 10) || 0, parseInt(bits[6], 10) || 0, parseInt(bits[7], 10) || 0)) }; var dateTZtoISO8601 = function(date, timeZone) { var dateStr = date.toLocaleString("sv-SE", { timeZone: timeZone }); return dateStr.replace(" ", "T") + "Z" }; var IterResult = function() { function IterResult(method, args) { this.minDate = null; this.maxDate = null; this._result = []; this.total = 0; this.method = method; this.args = args; if ("between" === method) { this.maxDate = args.inc ? args.before : new Date(args.before.getTime() - 1); this.minDate = args.inc ? args.after : new Date(args.after.getTime() + 1) } else if ("before" === method) { this.maxDate = args.inc ? args.dt : new Date(args.dt.getTime() - 1) } else if ("after" === method) { this.minDate = args.inc ? args.dt : new Date(args.dt.getTime() + 1) } } IterResult.prototype.accept = function(date) { ++this.total; var tooEarly = this.minDate && date < this.minDate; var tooLate = this.maxDate && date > this.maxDate; if ("between" === this.method) { if (tooEarly) { return true } if (tooLate) { return false } } else if ("before" === this.method) { if (tooLate) { return false } } else if ("after" === this.method) { if (tooEarly) { return true } this.add(date); return false } return this.add(date) }; IterResult.prototype.add = function(date) { this._result.push(date); return true }; IterResult.prototype.getValue = function() { var res = this._result; switch (this.method) { case "all": case "between": return res; case "before": case "after": default: return res.length ? res[res.length - 1] : null } }; IterResult.prototype.clone = function() { return new IterResult(this.method, this.args) }; return IterResult }(); var iterresult = IterResult; var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) { d.__proto__ = b } || function(d, b) { for (var p in b) { if (Object.prototype.hasOwnProperty.call(b, p)) { d[p] = b[p] } } }; return extendStatics(d, b) }; function __extends(d, b) { if ("function" !== typeof b && null !== b) { throw new TypeError("Class extends value " + String(b) + " is not a constructor or null") } extendStatics(d, b); function __() { this.constructor = d } d.prototype = null === b ? Object.create(b) : (__.prototype = b.prototype, new __) } var __assign = function() { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) { if (Object.prototype.hasOwnProperty.call(s, p)) { t[p] = s[p] } } } return t }; return __assign.apply(this, arguments) }; Object.create; function __spreadArray(to, from, pack) { if (pack || 2 === arguments.length) { for (var ar, i = 0, l = from.length; i < l; i++) { if (ar || !(i in from)) { if (!ar) { ar = Array.prototype.slice.call(from, 0, i) } ar[i] = from[i] } } } return to.concat(ar || Array.prototype.slice.call(from)) } Object.create; var CallbackIterResult = function(_super) { __extends(CallbackIterResult, _super); function CallbackIterResult(method, args, iterator) { var _this = _super.call(this, method, args) || this; _this.iterator = iterator; return _this } CallbackIterResult.prototype.add = function(date) { if (this.iterator(date, this._result.length)) { this._result.push(date); return true } return false }; return CallbackIterResult }(iterresult); var callbackiterresult = CallbackIterResult; var i18n = { dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], tokens: { SKIP: /^[ \r\n\t]+|^\.$/, number: /^[1-9][0-9]*/, numberAsText: /^(one|two|three)/i, every: /^every/i, "day(s)": /^days?/i, "weekday(s)": /^weekdays?/i, "week(s)": /^weeks?/i, "hour(s)": /^hours?/i, "minute(s)": /^minutes?/i, "month(s)": /^months?/i, "year(s)": /^years?/i, on: /^(on|in)/i, at: /^(at)/i, the: /^the/i, first: /^first/i, second: /^second/i, third: /^third/i, nth: /^([1-9][0-9]*)(\.|th|nd|rd|st)/i, last: /^last/i, for: /^for/i, "time(s)": /^times?/i, until: /^(un)?til/i, monday: /^mo(n(day)?)?/i, tuesday: /^tu(e(s(day)?)?)?/i, wednesday: /^we(d(n(esday)?)?)?/i, thursday: /^th(u(r(sday)?)?)?/i, friday: /^fr(i(day)?)?/i, saturday: /^sa(t(urday)?)?/i, sunday: /^su(n(day)?)?/i, january: /^jan(uary)?/i, february: /^feb(ruary)?/i, march: /^mar(ch)?/i, april: /^apr(il)?/i, may: /^may/i, june: /^june?/i, july: /^july?/i, august: /^aug(ust)?/i, september: /^sep(t(ember)?)?/i, october: /^oct(ober)?/i, november: /^nov(ember)?/i, december: /^dec(ember)?/i, comma: /^(,\s*|(and|or)\s*)+/i } }; var contains = function(arr, val) { return -1 !== arr.indexOf(val) }; var defaultGetText = function(id) { return id.toString() }; var defaultDateFormatter = function(year, month, day) { return "".concat(month, " ").concat(day, ", ").concat(year) }; var ToText = function() { function ToText(rrule, gettext, language, dateFormatter) { if (void 0 === gettext) { gettext = defaultGetText } if (void 0 === language) { language = i18n } if (void 0 === dateFormatter) { dateFormatter = defaultDateFormatter } this.text = []; this.language = language || i18n; this.gettext = gettext; this.dateFormatter = dateFormatter; this.rrule = rrule; this.options = rrule.options; this.origOptions = rrule.origOptions; if (this.origOptions.bymonthday) { var bymonthday = [].concat(this.options.bymonthday); var bynmonthday = [].concat(this.options.bynmonthday); bymonthday.sort((function(a, b) { return a - b })); bynmonthday.sort((function(a, b) { return b - a })); this.bymonthday = bymonthday.concat(bynmonthday); if (!this.bymonthday.length) { this.bymonthday = null } } if (isPresent(this.origOptions.byweekday)) { var byweekday = !isArray(this.origOptions.byweekday) ? [this.origOptions.byweekday] : this.origOptions.byweekday; var days = String(byweekday); this.byweekday = { allWeeks: byweekday.filter((function(weekday) { return !weekday.n })), someWeeks: byweekday.filter((function(weekday) { return Boolean(weekday.n) })), isWeekdays: -1 !== days.indexOf("MO") && -1 !== days.indexOf("TU") && -1 !== days.indexOf("WE") && -1 !== days.indexOf("TH") && -1 !== days.indexOf("FR") && -1 === days.indexOf("SA") && -1 === days.indexOf("SU"), isEveryDay: -1 !== days.indexOf("MO") && -1 !== days.indexOf("TU") && -1 !== days.indexOf("WE") && -1 !== days.indexOf("TH") && -1 !== days.indexOf("FR") && -1 !== days.indexOf("SA") && -1 !== days.indexOf("SU") }; var sortWeekDays = function(a, b) { return a.weekday - b.weekday }; this.byweekday.allWeeks.sort(sortWeekDays); this.byweekday.someWeeks.sort(sortWeekDays); if (!this.byweekday.allWeeks.length) { this.byweekday.allWeeks = null } if (!this.byweekday.someWeeks.length) { this.byweekday.someWeeks = null } } else { this.byweekday = null } } ToText.isFullyConvertible = function(rrule) { if (!(rrule.options.freq in ToText.IMPLEMENTED)) { return false } if (rrule.origOptions.until && rrule.origOptions.count) { return false } for (var key in rrule.origOptions) { if (contains(["dtstart", "wkst", "freq"], key)) { return true } if (!contains(ToText.IMPLEMENTED[rrule.options.freq], key)) { return false } } return true }; ToText.prototype.isFullyConvertible = function() { return ToText.isFullyConvertible(this.rrule) }; ToText.prototype.toString = function() { var gettext = this.gettext; if (!(this.options.freq in ToText.IMPLEMENTED)) { return gettext("RRule error: Unable to fully convert this rrule to text") } this.text = [gettext("every")]; this[RRule.FREQUENCIES[this.options.freq]](); if (this.options.until) { this.add(gettext("until")); var until = this.options.until; this.add(this.dateFormatter(until.getUTCFullYear(), this.language.monthNames[until.getUTCMonth()], until.getUTCDate())) } else if (this.options.count) { this.add(gettext("for")).add(this.options.count.toString()).add(this.plural(this.options.count) ? gettext("times") : gettext("time")) } if (!this.isFullyConvertible()) { this.add(gettext("(~ approximate)")) } return this.text.join("") }; ToText.prototype.HOURLY = function() { var gettext = this.gettext; if (1 !== this.options.interval) { this.add(this.options.interval.toString()) } this.add(this.plural(this.options.interval) ? gettext("hours") : gettext("hour")) }; ToText.prototype.MINUTELY = function() { var gettext = this.gettext; if (1 !== this.options.interval) { this.add(this.options.interval.toString()) } this.add(this.plural(this.options.interval) ? gettext("minutes") : gettext("minute")) }; ToText.prototype.DAILY = function() { var gettext = this.gettext; if (1 !== this.options.interval) { this.add(this.options.interval.toString()) } if (this.byweekday && this.byweekday.isWeekdays) { this.add(this.plural(this.options.interval) ? gettext("weekdays") : gettext("weekday")) } else { this.add(this.plural(this.options.interval) ? gettext("days") : gettext("day")) } if (this.origOptions.bymonth) { this.add(gettext("in")); this._bymonth() } if (this.bymonthday) { this._bymonthday() } else if (this.byweekday) { this._byweekday() } else if (this.origOptions.byhour) { this._byhour() } }; ToText.prototype.WEEKLY = function() { var gettext = this.gettext; if (1 !== this.options.interval) { this.add(this.options.interval.toString()).add(this.plural(this.options.interval) ? gettext("weeks") : gettext("week")) } if (this.byweekday && this.byweekday.isWeekdays) { if (1 === this.options.interval) { this.add(this.plural(this.options.interval) ? gettext("weekdays") : gettext("weekday")) } else { this.add(gettext("on")).add(gettext("weekdays")) } } else if (this.byweekday && this.byweekday.isEveryDay) { this.add(this.plural(this.options.interval) ? gettext("days") : gettext("day")) } else { if (1 === this.options.interval) { this.add(gettext("week")) } if (this.origOptions.bymonth) { this.add(gettext("in")); this._bymonth() } if (this.bymonthday) { this._bymonthday() } else if (this.byweekday) { this._byweekday() } } }; ToText.prototype.MONTHLY = function() { var gettext = this.gettext; if (this.origOptions.bymonth) { if (1 !== this.options.interval) { this.add(this.options.interval.toString()).add(gettext("months")); if (this.plural(this.options.interval)) { this.add(gettext("in")) } } this._bymonth() } else { if (1 !== this.options.interval) { this.add(this.options.interval.toString()) } this.add(this.plural(this.options.interval) ? gettext("months") : gettext("month")) } if (this.bymonthday) { this._bymonthday() } else if (this.byweekday && this.byweekday.isWeekdays) { this.add(gettext("on")).add(gettext("weekdays")) } else if (this.byweekday) { this._byweekday() } }; ToText.prototype.YEARLY = function() { var gettext = this.gettext; if (this.origOptions.bymonth) { if (1 !== this.options.interval) { this.add(this.options.interval.toString()); this.add(gettext("years")) } this._bymonth() } else { if (1 !== this.options.interval) { this.add(this.options.interval.toString()) } this.add(this.plural(this.options.interval) ? gettext("years") : gettext("year")) } if (this.bymonthday) { this._bymonthday() } else if (this.byweekday) { this._byweekday() } if (this.options.byyearday) { this.add(gettext("on the")).add(this.list(this.options.byyearday, this.nth, gettext("and"))).add(gettext("day")) } if (this.options.byweekno) { this.add(gettext("in")).add(this.plural(this.options.byweekno.length) ? gettext("weeks") : gettext("week")).add(this.list(this.options.byweekno, void 0, gettext("and"))) } }; ToText.prototype._bymonthday = function() { var gettext = this.gettext; if (this.byweekday && this.byweekday.allWeeks) { this.add(gettext("on")).add(this.list(this.byweekday.allWeeks, this.weekdaytext, gettext("or"))).add(gettext("the")).add(this.list(this.bymonthday, this.nth, gettext("or"))) } else { this.add(gettext("on the")).add(this.list(this.bymonthday, this.nth, gettext("and"))) } }; ToText.prototype._byweekday = function() { var gettext = this.gettext; if (this.byweekday.allWeeks && !this.byweekday.isWeekdays) { this.add(gettext("on")).add(this.list(this.byweekday.allWeeks, this.weekdaytext)) } if (this.byweekday.someWeeks) { if (this.byweekday.allWeeks) { this.add(gettext("and")) } this.add(gettext("on the")).add(this.list(this.byweekday.someWeeks, this.weekdaytext, gettext("and"))) } }; ToText.prototype._byhour = function() { var gettext = this.gettext; this.add(gettext("at")).add(this.list(this.origOptions.byhour, void 0, gettext("and"))) }; ToText.prototype._bymonth = function() { this.add(this.list(this.options.bymonth, this.monthtext, this.gettext("and"))) }; ToText.prototype.nth = function(n) { n = parseInt(n.toString(), 10); var nth; var gettext = this.gettext; if (-1 === n) { return gettext("last") } var npos = Math.abs(n); switch (npos) { case 1: case 21: case 31: nth = npos + gettext("st"); break; case 2: case 22: nth = npos + gettext("nd"); break; case 3: case 23: nth = npos + gettext("rd"); break; default: nth = npos + gettext("th") } return n < 0 ? nth + " " + gettext("last") : nth }; ToText.prototype.monthtext = function(m) { return this.language.monthNames[m - 1] }; ToText.prototype.weekdaytext = function(wday) { var weekday = isNumber(wday) ? (wday + 1) % 7 : wday.getJsWeekday(); return (wday.n ? this.nth(wday.n) + " " : "") + this.language.dayNames[weekday] }; ToText.prototype.plural = function(n) { return n % 100 !== 1 }; ToText.prototype.add = function(s) { this.text.push(" "); this.text.push(s); return this }; ToText.prototype.list = function(arr, callback, finalDelim, delim) { var _this = this; if (void 0 === delim) { delim = "," } if (!isArray(arr)) { arr = [arr] } callback = callback || function(o) { return o.toString() }; var realCallback = function(arg) { return callback && callback.call(_this, arg) }; if (finalDelim) { return function(array, delimiter, finalDelimiter) { var list = ""; for (var i = 0; i < array.length; i++) { if (0 !== i) { if (i === array.length - 1) { list += " " + finalDelimiter + " " } else { list += delimiter + " " } } list += array[i] } return list }(arr.map(realCallback), delim, finalDelim) } else { return arr.map(realCallback).join(delim + " ") } }; return ToText }(); var totext = ToText; var Parser = function() { function Parser(rules) { this.done = true; this.rules = rules } Parser.prototype.start = function(text) { this.text = text; this.done = false; return this.nextSymbol() }; Parser.prototype.isDone = function() { return this.done && null === this.symbol }; Parser.prototype.nextSymbol = function() { var best; var bestSymbol; this.symbol = null; this.value = null; do { if (this.done) { return false } var rule = void 0; best = null; for (var name_1 in this.rules) { rule = this.rules[name_1]; var match = rule.exec(this.text); if (match) { if (null === best || match[0].length > best[0].length) { best = match; bestSymbol = name_1 } } } if (null != best) { this.text = this.text.substr(best[0].length); if ("" === this.text) { this.done = true } } if (null == best) { this.done = true; this.symbol = null; this.value = null; return } } while ("SKIP" === bestSymbol); this.symbol = bestSymbol; this.value = best; return true }; Parser.prototype.accept = function(name) { if (this.symbol === name) { if (this.value) { var v = this.value; this.nextSymbol(); return v } this.nextSymbol(); return true } return false }; Parser.prototype.acceptNumber = function() { return this.accept("number") }; Parser.prototype.expect = function(name) { if (this.accept(name)) { return true } throw new Error("expected " + name + " but found " + this.symbol) }; return Parser }(); function parseText(text, language) { if (void 0 === language) { language = i18n } var options = {}; var ttr = new Parser(language.tokens); if (!ttr.start(text)) { return null }! function() { ttr.expect("every"); var n = ttr.acceptNumber(); if (n) { options.interval = parseInt(n[0], 10) } if (ttr.isDone()) { throw new Error("Unexpected end") } switch (ttr.symbol) { case "day(s)": options.freq = RRule.DAILY; if (ttr.nextSymbol()) { ! function() { var at = ttr.accept("at"); if (!at) { return } do { var n = ttr.acceptNumber(); if (!n) { throw new Error("Unexpected symbol " + ttr.symbol + ", expected hour") } options.byhour = [parseInt(n[0], 10)]; while (ttr.accept("comma")) { n = ttr.acceptNumber(); if (!n) { throw new Error("Unexpected symbol " + ttr.symbol + "; expected hour") } options.byhour.push(parseInt(n[0], 10)) } } while (ttr.accept("comma") || ttr.accept("at")) }(); F() } break; case "weekday(s)": options.freq = RRule.WEEKLY; options.byweekday = [RRule.MO, RRule.TU, RRule.WE, RRule.TH, RRule.FR]; ttr.nextSymbol(); F(); break; case "week(s)": options.freq = RRule.WEEKLY; if (ttr.nextSymbol()) { ON(); F() } break; case "hour(s)": options.freq = RRule.HOURLY; if (ttr.nextSymbol()) { ON(); F() } break; case "minute(s)": options.freq = RRule.MINUTELY; if (ttr.nextSymbol()) { ON(); F() } break; case "month(s)": options.freq = RRule.MONTHLY; if (ttr.nextSymbol()) { ON(); F() } break; case "year(s)": options.freq = RRule.YEARLY; if (ttr.nextSymbol()) { ON(); F() } break; case "monday": case "tuesday": case "wednesday": case "thursday": case "friday": case "saturday": case "sunday": options.freq = RRule.WEEKLY; var key = ttr.symbol.substr(0, 2).toUpperCase(); options.byweekday = [RRule[key]]; if (!ttr.nextSymbol()) { return } while (ttr.accept("comma")) { if (ttr.isDone()) { throw new Error("Unexpected end") } var wkd = decodeWKD(); if (!wkd) { throw new Error("Unexpected symbol " + ttr.symbol + ", expected weekday") } options.byweekday.push(RRule[wkd]); ttr.nextSymbol() }! function() { ttr.accept("on"); ttr.accept("the"); var nth = decodeNTH(); if (!nth) { return } options.bymonthday = [nth]; ttr.nextSymbol(); while (ttr.accept("comma")) { nth = decodeNTH(); if (!nth) { throw new Error("Unexpected symbol " + ttr.symbol + "; expected monthday") } options.bymonthday.push(nth); ttr.nextSymbol() } }(); F(); break; case "january": case "february": case "march": case "april": case "may": case "june": case "july": case "august": case "september": case "october": case "november": case "december": options.freq = RRule.YEARLY; options.bymonth = [decodeM()]; if (!ttr.nextSymbol()) { return } while (ttr.accept("comma")) { if (ttr.isDone()) { throw new Error("Unexpected end") } var m = decodeM(); if (!m) { throw new Error("Unexpected symbol " + ttr.symbol + ", expected month") } options.bymonth.push(m); ttr.nextSymbol() } ON(); F(); break; default: throw new Error("Unknown symbol") } }(); return options; function ON() { var on = ttr.accept("on"); var the = ttr.accept("the"); if (!(on || the)) { return } do { var nth = decodeNTH(); var wkd = decodeWKD(); var m = decodeM(); if (nth) { if (wkd) { ttr.nextSymbol(); if (!options.byweekday) { options.byweekday = [] } options.byweekday.push(RRule[wkd].nth(nth)) } else { if (!options.bymonthday) { options.bymonthday = [] } options.bymonthday.push(nth); ttr.accept("day(s)") } } else if (wkd) { ttr.nextSymbol(); if (!options.byweekday) { options.byweekday = [] } options.byweekday.push(RRule[wkd]) } else if ("weekday(s)" === ttr.symbol) { ttr.nextSymbol(); if (!options.byweekday) { options.byweekday = [RRule.MO, RRule.TU, RRule.WE, RRule.TH, RRule.FR] } } else if ("week(s)" === ttr.symbol) { ttr.nextSymbol(); var n = ttr.acceptNumber(); if (!n) { throw new Error("Unexpected symbol " + ttr.symbol + ", expected week number") } options.byweekno = [parseInt(n[0], 10)]; while (ttr.accept("comma")) { n = ttr.acceptNumber(); if (!n) { throw new Error("Unexpected symbol " + ttr.symbol + "; expected monthday") } options.byweekno.push(parseInt(n[0], 10)) } } else if (m) { ttr.nextSymbol(); if (!options.bymonth) { options.bymonth = [] } options.bymonth.push(m) } else { return } } while (ttr.accept("comma") || ttr.accept("the") || ttr.accept("on")) } function decodeM() { switch (ttr.symbol) { case "january": return 1; case "february": return 2; case "march": return 3; case "april": return 4; case "may": return 5; case "june": return 6; case "july": return 7; case "august": return 8; case "september": return 9; case "october": return 10; case "november": return 11; case "december": return 12; default: return false } } function decodeWKD() { switch (ttr.symbol) { case "monday": case "tuesday": case "wednesday": case "thursday": case "friday": case "saturday": case "sunday": return ttr.symbol.substr(0, 2).toUpperCase(); default: return false } } function decodeNTH() { switch (ttr.symbol) { case "last": ttr.nextSymbol(); return -1; case "first": ttr.nextSymbol(); return 1; case "second": ttr.nextSymbol(); return ttr.accept("last") ? -2 : 2; case "third": ttr.nextSymbol(); return ttr.accept("last") ? -3 : 3; case "nth": var v = parseInt(ttr.value[1], 10); if (v < -366 || v > 366) { throw new Error("Nth out of range: " + v) } ttr.nextSymbol(); return ttr.accept("last") ? -v : v; default: return false } } function F() { if ("until" === ttr.symbol) { var date = Date.parse(ttr.text); if (!date) { throw new Error("Cannot parse until date:" + ttr.text) } options.until = new Date(date) } else if (ttr.accept("for")) { options.count = parseInt(ttr.value[0], 10); ttr.expect("number") } } } var Frequency; ! function(Frequency) { Frequency[Frequency.YEARLY = 0] = "YEARLY"; Frequency[Frequency.MONTHLY = 1] = "MONTHLY"; Frequency[Frequency.WEEKLY = 2] = "WEEKLY"; Frequency[Frequency.DAILY = 3] = "DAILY"; Frequency[Frequency.HOURLY = 4] = "HOURLY"; Frequency[Frequency.MINUTELY = 5] = "MINUTELY"; Frequency[Frequency.SECONDLY = 6] = "SECONDLY" }(Frequency || (Frequency = {})); function freqIsDailyOrGreater(freq) { return freq < Frequency.HOURLY } /* ! * rrule.js - Library for working with recurrence rules for calendar dates. * https://github.com/jakubroztocil/rrule * * Copyright 2010, Jakub Roztocil and Lars Schoning * Licenced under the BSD licence. * https://github.com/jakubroztocil/rrule/blob/master/LICENCE * */ var fromText = function(text, language) { if (void 0 === language) { language = i18n } return new RRule(parseText(text, language) || void 0) }; var common = ["count", "until", "interval", "byweekday", "bymonthday", "bymonth"]; totext.IMPLEMENTED = []; totext.IMPLEMENTED[Frequency.HOURLY] = common; totext.IMPLEMENTED[Frequency.MINUTELY] = common; totext.IMPLEMENTED[Frequency.DAILY] = ["byhour"].concat(common); totext.IMPLEMENTED[Frequency.WEEKLY] = common; totext.IMPLEMENTED[Frequency.MONTHLY] = common; totext.IMPLEMENTED[Frequency.YEARLY] = ["byweekno", "byyearday"].concat(common); var isFullyConvertible = totext.isFullyConvertible; var Time = function() { function Time(hour, minute, second, millisecond) { this.hour = hour; this.minute = minute; this.second = second; this.millisecond = millisecond || 0 } Time.prototype.getHours = function() { return this.hour }; Time.prototype.getMinutes = function() { return this.minute }; Time.prototype.getSeconds = function() { return this.second }; Time.prototype.getMilliseconds = function() { return this.millisecond }; Time.prototype.getTime = function() { return 1e3 * (60 * this.hour * 60 + 60 * this.minute + this.second) + this.millisecond }; return Time }(); var DateTime = function(_super) { __extends(DateTime, _super); function DateTime(year, month, day, hour, minute, second, millisecond) { var _this = _super.call(this, hour, minute, second, millisecond) || this; _this.year = year; _this.month = month; _this.day = day; return _this } DateTime.fromDate = function(date) { return new this(date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.valueOf() % 1e3) }; DateTime.prototype.getWeekday = function() { return getWeekday(new Date(this.getTime())) }; DateTime.prototype.getTime = function() { return new Date(Date.UTC(this.year, this.month - 1, this.day, this.hour, this.minute, this.second, this.millisecond)).getTime() }; DateTime.prototype.getDay = function() { return this.day }; DateTime.prototype.getMonth = function() { return this.month }; DateTime.prototype.getYear = function() { return this.year }; DateTime.prototype.addYears = function(years) { this.year += years }; DateTime.prototype.addMonths = function(months) { this.month += months; if (this.month > 12) { var yearDiv = Math.floor(this.month / 12); var monthMod = pymod(this.month, 12); this.month = monthMod; this.year += yearDiv; if (0 === this.month) { this.month = 12; --this.year } } }; DateTime.prototype.addWeekly = function(days, wkst) { if (wkst > this.getWeekday()) { this.day += -(this.getWeekday() + 1 + (6 - wkst)) + 7 * days } else { this.day += -(this.getWeekday() - wkst) + 7 * days } this.fixDay() }; DateTime.prototype.addDaily = function(days) { this.day += days; this.fixDay() }; DateTime.prototype.addHours = function(hours, filtered, byhour) { if (filtered) { this.hour += Math.floor((23 - this.hour) / hours) * hours } for (;;) { this.hour += hours; var _a = divmod(this.hour, 24), dayDiv = _a.div, hourMod = _a.mod; if (dayDiv) { this.hour = hourMod; this.addDaily(dayDiv) } if (empty(byhour) || includes(byhour, this.hour)) { break } } }; DateTime.prototype.addMinutes = function(minutes, filtered, byhour, byminute) { if (filtered) { this.minute += Math.floor((1439 - (60 * this.hour + this.minute)) / minutes) * minutes } for (;;) { this.minute += minutes; var _a = divmod(this.minute, 60), hourDiv = _a.div, minuteMod = _a.mod; if (hourDiv) { this.minute = minuteMod; this.addHours(hourDiv, false, byhour) } if ((empty(byhour) || includes(byhour, this.hour)) && (empty(byminute) || includes(byminute, this.minute))) { break } } }; DateTime.prototype.addSeconds = function(seconds, filtered, byhour, byminute, bysecond) { if (filtered) { this.second += Math.floor((86399 - (3600 * this.hour + 60 * this.minute + this.second)) / seconds) * seconds } for (;;) { this.second += seconds; var _a = divmod(this.second, 60), minuteDiv = _a.div, secondMod = _a.mod; if (minuteDiv) { this.second = secondMod; this.addMinutes(minuteDiv, false, byhour, byminute) } if ((empty(byhour) || includes(byhour, this.hour)) && (empty(byminute) || includes(byminute, this.minute)) && (empty(bysecond) || includes(bysecond, this.second))) { break } } }; DateTime.prototype.fixDay = function() { if (this.day <= 28) { return } var daysinmonth = monthRange(this.year, this.month - 1)[1]; if (this.day <= daysinmonth) { return } while (this.day > daysinmonth) { this.day -= daysinmonth; ++this.month; if (13 === this.month) { this.month = 1; ++this.year; if (this.year > 9999) { return } } daysinmonth = monthRange(this.year, this.month - 1)[1] } }; DateTime.prototype.add = function(options, filtered) { var freq = options.freq, interval = options.interval, wkst = options.wkst, byhour = options.byhour, byminute = options.byminute, bysecond = options.bysecond; switch (freq) { case Frequency.YEARLY: return this.addYears(interval); case Frequency.MONTHLY: return this.addMonths(interval); case Frequency.WEEKLY: return this.addWeekly(interval, wkst); case Frequency.DAILY: return this.addDaily(interval); case Frequency.HOURLY: return this.addHours(interval, filtered, byhour); case Frequency.MINUTELY: return this.addMinutes(interval, filtered, byhour, byminute); case Frequency.SECONDLY: return this.addSeconds(interval, filtered, byhour, byminute, bysecond) } }; return DateTime }(Time); function initializeOptions(options) { var invalid = []; var keys = Object.keys(options); for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) { var key = keys_1[_i]; if (!includes(defaultKeys, key)) { invalid.push(key) } if (isDate(options[key]) && !isValidDate(options[key])) { invalid.push(key) } } if (invalid.length) { throw new Error("Invalid options: " + invalid.join(", ")) } return __assign({}, options) } function parseOptions(options) { var opts = __assign(__assign({}, DEFAULT_OPTIONS), initializeOptions(options)); if (isPresent(opts.byeaster)) { opts.freq = RRule.YEARLY } if (!(isPresent(opts.freq) && RRule.FREQUENCIES[opts.freq])) { throw new Error("Invalid frequency: ".concat(opts.freq, " ").concat(options.freq)) } if (!opts.dtstart) { opts.dtstart = new Date((new Date).setMilliseconds(0)) } if (!isPresent(opts.wkst)) { opts.wkst = RRule.MO.weekday } else if (isNumber(opts.wkst)) {} else { opts.wkst = opts.wkst.weekday } if (isPresent(opts.bysetpos)) { if (isNumber(opts.bysetpos)) { opts.bysetpos = [opts.bysetpos] } for (var i = 0; i < opts.bysetpos.length; i++) { var v = opts.bysetpos[i]; if (0 === v || !(v >= -366 && v <= 366)) { throw new Error("bysetpos must be between 1 and 366, or between -366 and -1") } } } if (!(Boolean(opts.byweekno) || notEmpty(opts.byweekno) || notEmpty(opts.byyearday) || Boolean(opts.bymonthday) || notEmpty(opts.bymonthday) || isPresent(opts.byweekday) || isPresent(opts.byeaster))) { switch (opts.freq) { case RRule.YEARLY: if (!opts.bymonth) { opts.bymonth = opts.dtstart.getUTCMonth() + 1 } opts.bymonthday = opts.dtstart.getUTCDate(); break; case RRule.MONTHLY: opts.bymonthday = opts.dtstart.getUTCDate(); break; case RRule.WEEKLY: opts.byweekday = [getWeekday(opts.dtstart)] } } if (isPresent(opts.bymonth) && !isArray(opts.bymonth)) { opts.bymonth = [opts.bymonth] } if (isPresent(opts.byyearday) && !isArray(opts.byyearday) && isNumber(opts.byyearday)) { opts.byyearday = [opts.byyearday] } if (!isPresent(opts.bymonthday)) { opts.bymonthday = []; opts.bynmonthday = [] } else if (isArray(opts.bymonthday)) { var bymonthday = []; var bynmonthday = []; for (i = 0; i < opts.bymonthday.length; i++) { v = opts.bymonthday[i]; if (v > 0) { bymonthday.push(v) } else if (v < 0) { bynmonthday.push(v) } } opts.bymonthday = bymonthday; opts.bynmonthday = bynmonthday } else if (opts.bymonthday < 0) { opts.bynmonthday = [opts.bymonthday]; opts.bymonthday = [] } else { opts.bynmonthday = []; opts.bymonthday = [opts.bymonthday] } if (isPresent(opts.byweekno) && !isArray(opts.byweekno)) { opts.byweekno = [opts.byweekno] } if (!isPresent(opts.byweekday)) { opts.bynweekday = null } else if (isNumber(opts.byweekday)) { opts.byweekday = [opts.byweekday]; opts.bynweekday = null } else if (isWeekdayStr(opts.byweekday)) { opts.byweekday = [Weekday.fromStr(opts.byweekday).weekday]; opts.bynweekday = null } else if (opts.byweekday instanceof Weekday) { if (!opts.byweekday.n || opts.freq > RRule.MONTHLY) { opts.byweekday = [opts.byweekday.weekday]; opts.bynweekday = null } else { opts.bynweekday = [ [opts.byweekday.weekday, opts.byweekday.n] ]; opts.byweekday = null } } else { var byweekday = []; var bynweekday = []; for (i = 0; i < opts.byweekday.length; i++) { var wday = opts.byweekday[i]; if (isNumber(wday)) { byweekday.push(wday); continue } else if (isWeekdayStr(wday)) { byweekday.push(Weekday.fromStr(wday).weekday); continue } if (!wday.n || opts.freq > RRule.MONTHLY) { byweekday.push(wday.weekday) } else { bynweekday.push([wday.weekday, wday.n]) } } opts.byweekday = notEmpty(byweekday) ? byweekday : null; opts.bynweekday = notEmpty(bynweekday) ? bynweekday : null } if (!isPresent(opts.byhour)) { opts.byhour = opts.freq < RRule.HOURLY ? [opts.dtstart.getUTCHours()] : null } else if (isNumber(opts.byhour)) { opts.byhour = [opts.byhour] } if (!isPresent(opts.byminute)) { opts.byminute = opts.freq < RRule.MINUTELY ? [opts.dtstart.getUTCMinutes()] : null } else if (isNumber(opts.byminute)) { opts.byminute = [opts.byminute] } if (!isPresent(opts.bysecond)) { opts.bysecond = opts.freq < RRule.SECONDLY ? [opts.dtstart.getUTCSeconds()] : null } else if (isNumber(opts.bysecond)) { opts.bysecond = [opts.bysecond] } return { parsedOptions: opts } } function parseString(rfcString) { var options = rfcString.split("\n").map(parseLine).filter((function(x) { return null !== x })); return __assign(__assign({}, options[0]), options[1]) } function parseDtstart(line) { var options = {}; var dtstartWithZone = /DTSTART(?:;TZID=([^:=]+?))?(?::|=)([^;\s]+)/i.exec(line); if (!dtstartWithZone) { return options } var tzid = dtstartWithZone[1], dtstart = dtstartWithZone[2]; if (tzid) { options.tzid = tzid } options.dtstart = untilStringToDate(dtstart); return options } function parseLine(rfcString) { rfcString = rfcString.replace(/^\s+|\s+$/, ""); if (!rfcString.length) { return null } var header = /^([A-Z]+?)[:;]/.exec(rfcString.toUpperCase()); if (!header) { return parseRrule(rfcString) } var key = header[1]; switch (key.toUpperCase()) { case "RRULE": case "EXRULE": return parseRrule(rfcString); case "DTSTART": return parseDtstart(rfcString); default: throw new Error("Unsupported RFC prop ".concat(key, " in ").concat(rfcString)) } } function parseRrule(line) { var strippedLine = line.replace(/^RRULE:/i, ""); var options = parseDtstart(strippedLine); var attrs = line.replace(/^(?:RRULE|EXRULE):/i, "").split(";"); attrs.forEach((function(attr) { var _a = attr.split("="), key = _a[0], value = _a[1]; switch (key.toUpperCase()) { case "FREQ": options.freq = Frequency[value.toUpperCase()]; break; case "WKST": options.wkst = Days[value.toUpperCase()]; break; case "COUNT": case "INTERVAL": case "BYSETPOS": case "BYMONTH": case "BYMONTHDAY": case "BYYEARDAY": case "BYWEEKNO": case "BYHOUR": case "BYMINUTE": case "BYSECOND": var num = function(value) { if (-1 !== value.indexOf(",")) { var values = value.split(","); return values.map(parseIndividualNumber) } return parseIndividualNumber(value) }(value); var optionKey = key.toLowerCase(); options[optionKey] = num; break; case "BYWEEKDAY": case "BYDAY": options.byweekday = function(value) { var days = value.split(","); return days.map((function(day) { if (2 === day.length) { return Days[day] } var parts = day.match(/^([+-]?\d{1,2})([A-Z]{2})$/); if (!parts || parts.length < 3) { throw new SyntaxError("Invalid weekday string: ".concat(day)) } var n = Number(parts[1]); var wdaypart = parts[2]; var wday = Days[wdaypart].weekday; return new Weekday(wday, n) })) }(value); break; case "DTSTART": case "TZID": var dtstart = parseDtstart(line); options.tzid = dtstart.tzid; options.dtstart = dtstart.dtstart; break; case "UNTIL": options.until = untilStringToDate(value); break; case "BYEASTER": options.byeaster = Number(value); break; default: throw new Error("Unknown RRULE property '" + key + "'") } })); return options } function parseIndividualNumber(value) { if (/^[+-]?\d+$/.test(value)) { return Number(value) } return value } var DateWithZone = function() { function DateWithZone(date, tzid) { if (isNaN(date.getTime())) { throw new RangeError("Invalid date passed to DateWithZone") } this.date = date; this.tzid = tzid } Object.defineProperty(DateWithZone.prototype, "isUTC", { get: function() { return !this.tzid || "UTC" === this.tzid.toUpperCase() }, enumerable: false, configurable: true }); DateWithZone.prototype.toString = function() { var datestr = timeToUntilString(this.date.getTime(), this.isUTC); if (!this.isUTC) { return ";TZID=".concat(this.tzid, ":").concat(datestr) } return ":".concat(datestr) }; DateWithZone.prototype.getTime = function() { return this.date.getTime() }; DateWithZone.prototype.rezonedDate = function() { if (this.isUTC) { return this.date } return function(date, timeZone) { var localTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone; var dateInLocalTZ = new Date(dateTZtoISO8601(date, localTimeZone)); var dateInTargetTZ = new Date(dateTZtoISO8601(date, null !== timeZone && void 0 !== timeZone ? timeZone : "UTC")); var tzOffset = dateInTargetTZ.getTime() - dateInLocalTZ.getTime(); return new Date(date.getTime() - tzOffset) }(this.date, this.tzid) }; return DateWithZone }(); function optionsToString(options) { var rrule = []; var dtstart = ""; var keys = Object.keys(options); var defaultKeys = Object.keys(DEFAULT_OPTIONS); for (var i = 0; i < keys.length; i++) { if ("tzid" === keys[i]) { continue } if (!includes(defaultKeys, keys[i])) { continue } var key = keys[i].toUpperCase(); var value = options[keys[i]]; var outValue = ""; if (!isPresent(value) || isArray(value) && !value.length) { continue } switch (key) { case "FREQ": outValue = RRule.FREQUENCIES[options.freq]; break; case "WKST": if (isNumber(value)) { outValue = new Weekday(value).toString() } else { outValue = value.toString() } break; case "BYWEEKDAY": key = "BYDAY"; outValue = toArray(value).map((function(wday) { if (wday instanceof Weekday) { return wday } if (isArray(wday)) { return new Weekday(wday[0], wday[1]) } return new Weekday(wday) })).toString(); break; case "DTSTART": dtstart = buildDtstart(value, options.tzid); break; case "UNTIL": outValue = timeToUntilString(value, !options.tzid); break; default: if (isArray(value)) { var strValues = []; for (var j = 0; j < value.length; j++) { strValues[j] = String(value[j]) } outValue = strValues.toString() } else { outValue = String(value) } } if (outValue) { rrule.push([key, outValue]) } } var rules = rrule.map((function(_a) { var key = _a[0], value = _a[1]; return "".concat(key, "=").concat(value.toString()) })).join(";"); var ruleString = ""; if ("" !== rules) { ruleString = "RRULE:".concat(rules) } return [dtstart, ruleString].filter((function(x) { return !!x })).join("\n") } function buildDtstart(dtstart, tzid) { if (!dtstart) { return "" } return "DTSTART" + new DateWithZone(new Date(dtstart), tzid).toString() } function argsMatch(left, right) { if (Array.isArray(left)) { if (!Array.isArray(right)) { return false } if (left.length !== right.length) { return false } return left.every((function(date, i) { return date.getTime() === right[i].getTime() })) } if (left instanceof Date) { return right instanceof Date && left.getTime() === right.getTime() } return left === right } var Cache = function() { function Cache() { this.all = false; this.before = []; this.after = []; this.between = [] } Cache.prototype._cacheAdd = function(what, value, args) { if (value) { value = value instanceof Date ? dateutil_clone(value) : cloneDates(value) } if ("all" === what) { this.all = value } else { args._value = value; this[what].push(args) } }; Cache.prototype._cacheGet = function(what, args) { var cached = false; var argsKeys = args ? Object.keys(args) : []; var findCacheDiff = function(item) { for (var i = 0; i < argsKeys.length; i++) { var key = argsKeys[i]; if (!argsMatch(args[key], item[key])) { return true } } return false }; var cachedObject = this[what]; if ("all" === what) { cached = this.all } else if (isArray(cachedObject)) { for (var i = 0; i < cachedObject.length; i++) { var item = cachedObject[i]; if (argsKeys.length && findCacheDiff(item)) { continue } cached = item._value; break } } if (!cached && this.all) { var iterResult = new iterresult(what, args); for (i = 0; i < this.all.length; i++) { if (!iterResult.accept(this.all[i])) { break } } cached = iterResult.getValue(); this._cacheAdd(what, cached, args) } return isArray(cached) ? cloneDates(cached) : cached instanceof Date ? dateutil_clone(cached) : cached }; return Cache }(); var M365MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], repeat(1, 31), true), repeat(2, 28), true), repeat(3, 31), true), repeat(4, 30), true), repeat(5, 31), true), repeat(6, 30), true), repeat(7, 31), true), repeat(8, 31), true), repeat(9, 30), true), repeat(10, 31), true), repeat(11, 30), true), repeat(12, 31), true), repeat(1, 7), true); var M366MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], repeat(1, 31), true), repeat(2, 29), true), repeat(3, 31), true), repeat(4, 30), true), repeat(5, 31), true), repeat(6, 30), true), repeat(7, 31), true), repeat(8, 31), true), repeat(9, 30), true), repeat(10, 31), true), repeat(11, 30), true), repeat(12, 31), true), repeat(1, 7), true); var M28 = range(1, 29); var M29 = range(1, 30); var M30 = range(1, 31); var M31 = range(1, 32); var MDAY366MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], M31, true), M29, true), M31, true), M30, true), M31, true), M30, true), M31, true), M31, true), M30, true), M31, true), M30, true), M31, true), M31.slice(0, 7), true); var MDAY365MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], M31, true), M28, true), M31, true), M30, true), M31, true), M30, true), M31, true), M31, true), M30, true), M31, true), M30, true), M31, true), M31.slice(0, 7), true); var NM28 = range(-28, 0); var NM29 = range(-29, 0); var NM30 = range(-30, 0); var NM31 = range(-31, 0); var NMDAY366MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], NM31, true), NM29, true), NM31, true), NM30, true), NM31, true), NM30, true), NM31, true), NM31, true), NM30, true), NM31, true), NM30, true), NM31, true), NM31.slice(0, 7), true); var NMDAY365MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], NM31, true), NM28, true), NM31, true), NM30, true), NM31, true), NM30, true), NM31, true), NM31, true), NM30, true), NM31, true), NM30, true), NM31, true), NM31.slice(0, 7), true); var M366RANGE = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]; var M365RANGE = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]; var WDAYMASK = function() { var wdaymask = []; for (var i = 0; i < 55; i++) { wdaymask = wdaymask.concat(range(7)) } return wdaymask }(); function rebuildYear(year, options) { var firstyday = datetime(year, 1, 1); var yearlen = isLeapYear(year) ? 366 : 365; var nextyearlen = isLeapYear(year + 1) ? 366 : 365; var yearordinal = toOrdinal(firstyday); var yearweekday = getWeekday(firstyday); var result = __assign(__assign({ yearlen: yearlen, nextyearlen: nextyearlen, yearordinal: yearordinal, yearweekday: yearweekday }, function(year) { var yearlen = isLeapYear(year) ? 366 : 365; var firstyday = datetime(year, 1, 1); var wday = getWeekday(firstyday); if (365 === yearlen) { return { mmask: M365MASK, mdaymask: MDAY365MASK, nmdaymask: NMDAY365MASK, wdaymask: WDAYMASK.slice(wday), mrange: M365RANGE } } return { mmask: M366MASK, mdaymask: MDAY366MASK, nmdaymask: NMDAY366MASK, wdaymask: WDAYMASK.slice(wday), mrange: M366RANGE } }(year)), { wnomask: null }); if (empty(options.byweekno)) { return result } result.wnomask = repeat(0, yearlen + 7); var firstwkst; var wyearlen; var no1wkst = firstwkst = pymod(7 - yearweekday + options.wkst, 7); if (no1wkst >= 4) { no1wkst = 0; wyearlen = result.yearlen + pymod(yearweekday - options.wkst, 7) } else { wyearlen = yearlen - no1wkst } var div = Math.floor(wyearlen / 7); var mod = pymod(wyearlen, 7); var numweeks = Math.floor(div + mod / 4); for (var j = 0; j < options.byweekno.length; j++) { var n = options.byweekno[j]; if (n < 0) { n += numweeks + 1 } if (!(n > 0 && n <= numweeks)) { continue } var i = void 0; if (n > 1) { i = no1wkst + 7 * (n - 1); if (no1wkst !== firstwkst) { i -= 7 - firstwkst } } else { i = no1wkst } for (var k = 0; k < 7; k++) { result.wnomask[i] = 1; i++; if (result.wdaymask[i] === options.wkst) { break } } } if (includes(options.byweekno, 1)) { i = no1wkst + 7 * numweeks; if (no1wkst !== firstwkst) { i -= 7 - firstwkst } if (i < yearlen) { for (j = 0; j < 7; j++) { result.wnomask[i] = 1; i += 1; if (result.wdaymask[i] === options.wkst) { break } } } } if (no1wkst) { var lnumweeks = void 0; if (!includes(options.byweekno, -1)) { var lyearweekday = getWeekday(datetime(year - 1, 1, 1)); var lno1wkst = pymod(7 - lyearweekday.valueOf() + options.wkst, 7); var lyearlen = isLeapYear(year - 1) ? 366 : 365; var weekst = void 0; if (lno1wkst >= 4) { lno1wkst = 0; weekst = lyearlen + pymod(lyearweekday - options.wkst, 7) } else { weekst = yearlen - no1wkst } lnumweeks = Math.floor(52 + pymod(weekst, 7) / 4) } else { lnumweeks = -1 } if (includes(options.byweekno, lnumweeks)) { for (i = 0; i < no1wkst; i++) { result.wnomask[i] = 1 } } } return result } var Iterinfo = function() { function Iterinfo(options) { this.options = options } Iterinfo.prototype.rebuild = function(year, month) { var options = this.options; if (year !== this.lastyear) { this.yearinfo = rebuildYear(year, options) } if (notEmpty(options.bynweekday) && (month !== this.lastmonth || year !== this.lastyear)) { var _a = this.yearinfo, yearlen = _a.yearlen, mrange = _a.mrange, wdaymask = _a.wdaymask; this.monthinfo = function(year, month, yearlen, mrange, wdaymask, options) { var result = { lastyear: year, lastmonth: month, nwdaymask: [] }; var ranges = []; if (options.freq === RRule.YEARLY) { if (empty(options.bymonth)) { ranges = [ [0, yearlen] ] } else { for (var j = 0; j < options.bymonth.length; j++) { month = options.bymonth[j]; ranges.push(mrange.slice(month - 1, month + 1)) } } } else if (options.freq === RRule.MONTHLY) { ranges = [mrange.slice(month - 1, month + 1)] } if (empty(ranges)) { return result } result.nwdaymask = repeat(0, yearlen); for (j = 0; j < ranges.length; j++) { var rang = ranges[j]; var first = rang[0]; var last = rang[1] - 1; for (var k = 0; k < options.bynweekday.length; k++) { var i = void 0; var _a = options.bynweekday[k], wday = _a[0], n = _a[1]; if (n < 0) { i = last + 7 * (n + 1); i -= pymod(wdaymask[i] - wday, 7) } else { i = first + 7 * (n - 1); i += pymod(7 - wdaymask[i] + wday, 7) } if (first <= i && i <= last) { result.nwdaymask[i] = 1 } } } return result }(year, month, yearlen, mrange, wdaymask, options) } if (isPresent(options.byeaster)) { this.eastermask = function(y, offset) { if (void 0 === offset) { offset = 0 } var a = y % 19; var b = Math.floor(y / 100); var c = y % 100; var d = Math.floor(b / 4); var e = b % 4; var f = Math.floor((b + 8) / 25); var g = Math.floor((b - f + 1) / 3); var h = Math.floor(19 * a + b - d - g + 15) % 30; var i = Math.floor(c / 4); var k = c % 4; var l = Math.floor(32 + 2 * e + 2 * i - h - k) % 7; var m = Math.floor((a + 11 * h + 22 * l) / 451); var month = Math.floor((h + l - 7 * m + 114) / 31); var day = (h + l - 7 * m + 114) % 31 + 1; var date = Date.UTC(y, month - 1, day + offset); var yearStart = Date.UTC(y, 0, 1); return [Math.ceil((date - yearStart) / 864e5)] }(year, options.byeaster) } }; Object.defineProperty(Iterinfo.prototype, "lastyear", { get: function() { return this.monthinfo ? this.monthinfo.lastyear : null }, enumerable: false, configurable: true }); Object.defineProperty(Iterinfo.prototype, "lastmonth", { get: function() { return this.monthinfo ? this.monthinfo.lastmonth : null }, enumerable: false, configurable: true }); Object.defineProperty(Iterinfo.prototype, "yearlen", { get: function() { return this.yearinfo.yearlen }, enumerable: false, configurable: true }); Object.defineProperty(Iterinfo.prototype, "yearordinal", { get: function() { return this.yearinfo.yearordinal }, enumerable: false, configurable: true }); Object.defineProperty(Iterinfo.prototype, "mrange", { get: function() { return this.yearinfo.mrange }, enumerable: false, configurable: true }); Object.defineProperty(Iterinfo.prototype, "wdaymask", { get: function() { return this.yearinfo.wdaymask }, enumerable: false, configurable: true }); Object.defineProperty(Iterinfo.prototype, "mmask", { get: function() { return this.yearinfo.mmask }, enumerable: false, configurable: true }); Object.defineProperty(Iterinfo.prototype, "wnomask", { get: function() { return this.yearinfo.wnomask }, enumerable: false, configurable: true }); Object.defineProperty(Iterinfo.prototype, "nwdaymask", { get: function() { return this.monthinfo ? this.monthinfo.nwdaymask : [] }, enumerable: false, configurable: true }); Object.defineProperty(Iterinfo.prototype, "nextyearlen", { get: function() { return this.yearinfo.nextyearlen }, enumerable: false, configurable: true }); Object.defineProperty(Iterinfo.prototype, "mdaymask", { get: function() { return this.yearinfo.mdaymask }, enumerable: false, configurable: true }); Object.defineProperty(Iterinfo.prototype, "nmdaymask", { get: function() { return this.yearinfo.nmdaymask }, enumerable: false, configurable: true }); Iterinfo.prototype.ydayset = function() { return [range(this.yearlen), 0, this.yearlen] }; Iterinfo.prototype.mdayset = function(_, month) { var start = this.mrange[month - 1]; var end = this.mrange[month]; var set = repeat(null, this.yearlen); for (var i = start; i < end; i++) { set[i] = i } return [set, start, end] }; Iterinfo.prototype.wdayset = function(year, month, day) { var set = repeat(null, this.yearlen + 7); var i = toOrdinal(datetime(year, month, day)) - this.yearordinal; var start = i; for (var j = 0; j < 7; j++) { set[i] = i; ++i; if (this.wdaymask[i] === this.options.wkst) { break } } return [set, start, i] }; Iterinfo.prototype.ddayset = function(year, month, day) { var set = repeat(null, this.yearlen); var i = toOrdinal(datetime(year, month, day)) - this.yearordinal; set[i] = i; return [set, i, i + 1] }; Iterinfo.prototype.htimeset = function(hour, _, second, millisecond) { var _this = this; var set = []; this.options.byminute.forEach((function(minute) { set = set.concat(_this.mtimeset(hour, minute, second, millisecond)) })); sort(set); return set }; Iterinfo.prototype.mtimeset = function(hour, minute, _, millisecond) { var set = this.options.bysecond.map((function(second) { return new Time(hour, minute, second, millisecond) })); sort(set); return set }; Iterinfo.prototype.stimeset = function(hour, minute, second, millisecond) { return [new Time(hour, minute, second, millisecond)] }; Iterinfo.prototype.getdayset = function(freq) { switch (freq) { case Frequency.YEARLY: return this.ydayset.bind(this); case Frequency.MONTHLY: return this.mdayset.bind(this); case Frequency.WEEKLY: return this.wdayset.bind(this); case Frequency.DAILY: default: return this.ddayset.bind(this) } }; Iterinfo.prototype.gettimeset = function(freq) { switch (freq) { case Frequency.HOURLY: return this.htimeset.bind(this); case Frequency.MINUTELY: return this.mtimeset.bind(this); case Frequency.SECONDLY: return this.stimeset.bind(this) } }; return Iterinfo }(); var iterinfo = Iterinfo; function buildPoslist(bysetpos, timeset, start, end, ii, dayset) { var poslist = []; for (var j = 0; j < bysetpos.length; j++) { var daypos = void 0; var timepos = void 0; var pos = bysetpos[j]; if (pos < 0) { daypos = Math.floor(pos / timeset.length); timepos = pymod(pos, timeset.length) } else { daypos = Math.floor((pos - 1) / timeset.length); timepos = pymod(pos - 1, timeset.length) } var tmp = []; for (var k = start; k < end; k++) { var val = dayset[k]; if (!isPresent(val)) { continue } tmp.push(val) } var i = void 0; if (daypos < 0) { i = tmp.slice(daypos)[0] } else { i = tmp[daypos] } var time = timeset[timepos]; var date = fromOrdinal(ii.yearordinal + i); var res = combine(date, time); if (!includes(poslist, res)) { poslist.push(res) } } sort(poslist); return poslist } function iter(iterResult, options) { var dtstart = options.dtstart, freq = options.freq, interval = options.interval, until = options.until, bysetpos = options.bysetpos; var count = options.count; if (0 === count || 0 === interval) { return emitResult(iterResult) } var counterDate = DateTime.fromDate(dtstart); var ii = new iterinfo(options); ii.rebuild(counterDate.year, counterDate.month); var timeset = function(ii, counterDate, options) { var freq = options.freq, byhour = options.byhour, byminute = options.byminute, bysecond = options.bysecond; if (freqIsDailyOrGreater(freq)) { return function(opts) { var millisecondModulo = opts.dtstart.getTime() % 1e3; if (!freqIsDailyOrGreater(opts.freq)) { return [] } var timeset = []; opts.byhour.forEach((function(hour) { opts.byminute.forEach((function(minute) { opts.bysecond.forEach((function(second) { timeset.push(new Time(hour, minute, second, millisecondModulo)) })) })) })); return timeset }(options) } if (freq >= RRule.HOURLY && notEmpty(byhour) && !includes(byhour, counterDate.hour) || freq >= RRule.MINUTELY && notEmpty(byminute) && !includes(byminute, counterDate.minute) || freq >= RRule.SECONDLY && notEmpty(bysecond) && !includes(bysecond, counterDate.second)) { return [] } return ii.gettimeset(freq)(counterDate.hour, counterDate.minute, counterDate.second, counterDate.millisecond) }(ii, counterDate, options); for (;;) { var _a = ii.getdayset(freq)(counterDate.year, counterDate.month, counterDate.day), dayset = _a[0], start = _a[1], end = _a[2]; var filtered = removeFilteredDays(dayset, start, end, ii, options); if (notEmpty(bysetpos)) { var poslist = buildPoslist(bysetpos, timeset, start, end, ii, dayset); for (var j = 0; j < poslist.length; j++) { var res = poslist[j]; if (until && res > until) { return emitResult(iterResult) } if (res >= dtstart) { var rezonedDate = rezoneIfNeeded(res, options); if (!iterResult.accept(rezonedDate)) { return emitResult(iterResult) } if (count) { --count; if (!count) { return emitResult(iterResult) } } } } } else { for (j = start; j < end; j++) { var currentDay = dayset[j]; if (!isPresent(currentDay)) { continue } var date = fromOrdinal(ii.yearordinal + currentDay); for (var k = 0; k < timeset.length; k++) { var time = timeset[k]; res = combine(date, time); if (until && res > until) { return emitResult(iterResult) } if (res >= dtstart) { rezonedDate = rezoneIfNeeded(res, options); if (!iterResult.accept(rezonedDate)) { return emitResult(iterResult) } if (count) { --count; if (!count) { return emitResult(iterResult) } } } } } } if (0 === options.interval) { return emitResult(iterResult) } counterDate.add(options, filtered); if (counterDate.year > 9999) { return emitResult(iterResult) } if (!freqIsDailyOrGreater(freq)) { timeset = ii.gettimeset(freq)(counterDate.hour, counterDate.minute, counterDate.second, 0) } ii.rebuild(counterDate.year, counterDate.month) } } function isFiltered(ii, currentDay, options) { var bymonth = options.bymonth, byweekno = options.byweekno, byweekday = options.byweekday, byeaster = options.byeaster, bymonthday = options.bymonthday, bynmonthday = options.bynmonthday, byyearday = options.byyearday; return notEmpty(bymonth) && !includes(bymonth, ii.mmask[currentDay]) || notEmpty(byweekno) && !ii.wnomask[currentDay] || notEmpty(byweekday) && !includes(byweekday, ii.wdaymask[currentDay]) || notEmpty(ii.nwdaymask) && !ii.nwdaymask[currentDay] || null !== byeaster && !includes(ii.eastermask, currentDay) || (notEmpty(bymonthday) || notEmpty(bynmonthday)) && !includes(bymonthday, ii.mdaymask[currentDay]) && !includes(bynmonthday, ii.nmdaymask[currentDay]) || notEmpty(byyearday) && (currentDay < ii.yearlen && !includes(byyearday, currentDay + 1) && !includes(byyearday, -ii.yearlen + currentDay) || currentDay >= ii.yearlen && !includes(byyearday, currentDay + 1 - ii.yearlen) && !includes(byyearday, -ii.nextyearlen + currentDay - ii.yearlen)) } function rezoneIfNeeded(date, options) { return new DateWithZone(date, options.tzid).rezonedDate() } function emitResult(iterResult) { return iterResult.getValue() } function removeFilteredDays(dayset, start, end, ii, options) { var filtered = false; for (var dayCounter = start; dayCounter < end; dayCounter++) { var currentDay = dayset[dayCounter]; filtered = isFiltered(ii, currentDay, options); if (filtered) { dayset[currentDay] = null } } return filtered } var Days = { MO: new Weekday(0), TU: new Weekday(1), WE: new Weekday(2), TH: new Weekday(3), FR: new Weekday(4), SA: new Weekday(5), SU: new Weekday(6) }; var DEFAULT_OPTIONS = { freq: Frequency.YEARLY, dtstart: null, interval: 1, wkst: Days.MO, count: null, until: null, tzid: null, bysetpos: null, bymonth: null, bymonthday: null, bynmonthday: null, byyearday: null, byweekno: null, byweekday: null, bynweekday: null, byhour: null, byminute: null, bysecond: null, byeaster: null }; var defaultKeys = Object.keys(DEFAULT_OPTIONS); var RRule = function() { function RRule(options, noCache) { if (void 0 === options) { options = {} } if (void 0 === noCache) { noCache = false } this._cache = noCache ? null : new Cache; this.origOptions = initializeOptions(options); var parsedOptions = parseOptions(options).parsedOptions; this.options = parsedOptions } RRule.parseText = function(text, language) { return parseText(text, language) }; RRule.fromText = function(text, language) { return fromText(text, language) }; RRule.fromString = function(str) { return new RRule(RRule.parseString(str) || void 0) }; RRule.prototype._iter = function(iterResult) { return iter(iterResult, this.options) }; RRule.prototype._cacheGet = function(what, args) { if (!this._cache) { return false } return this._cache._cacheGet(what, args) }; RRule.prototype._cacheAdd = function(what, value, args) { if (!this._cache) { return } return this._cache._cacheAdd(what, value, args) }; RRule.prototype.all = function(iterator) { if (iterator) { return this._iter(new callbackiterresult("all", {}, iterator)) } var result = this._cacheGet("all"); if (false === result) { result = this._iter(new iterresult("all", {})); this._cacheAdd("all", result) } return result }; RRule.prototype.between = function(after, before, inc, iterator) { if (void 0 === inc) { inc = false } if (!isValidDate(after) || !isValidDate(before)) { throw new Error("Invalid date passed in to RRule.between") } var args = { before: before, after: after, inc: inc }; if (iterator) { return this._iter(new callbackiterresult("between", args, iterator)) } var result = this._cacheGet("between", args); if (false === result) { result = this._iter(new iterresult("between", args)); this._cacheAdd("between", result, args) } return result }; RRule.prototype.before = function(dt, inc) { if (void 0 === inc) { inc = false } if (!isValidDate(dt)) { throw new Error("Invalid date passed in to RRule.before") } var args = { dt: dt, inc: inc }; var result = this._cacheGet("before", args); if (false === result) { result = this._iter(new iterresult("before", args)); this._cacheAdd("before", result, args) } return result }; RRule.prototype.after = function(dt, inc) { if (void 0 === inc) { inc = false } if (!isValidDate(dt)) { throw new Error("Invalid date passed in to RRule.after") } var args = { dt: dt, inc: inc }; var result = this._cacheGet("after", args); if (false === result) { result = this._iter(new iterresult("after", args)); this._cacheAdd("after", result, args) } return result }; RRule.prototype.count = function() { return this.all().length }; RRule.prototype.toString = function() { return optionsToString(this.origOptions) }; RRule.prototype.toText = function(gettext, language, dateFormatter) { return function(rrule, gettext, language, dateFormatter) { return new totext(rrule, gettext, language, dateFormatter).toString() }(this, gettext, language, dateFormatter) }; RRule.prototype.isFullyConvertibleToText = function() { return isFullyConvertible(this) }; RRule.prototype.clone = function() { return new RRule(this.origOptions) }; RRule.FREQUENCIES = ["YEARLY", "MONTHLY", "WEEKLY", "DAILY", "HOURLY", "MINUTELY", "SECONDLY"]; RRule.YEARLY = Frequency.YEARLY; RRule.MONTHLY = Frequency.MONTHLY; RRule.WEEKLY = Frequency.WEEKLY; RRule.DAILY = Frequency.DAILY; RRule.HOURLY = Frequency.HOURLY; RRule.MINUTELY = Frequency.MINUTELY; RRule.SECONDLY = Frequency.SECONDLY; RRule.MO = Days.MO; RRule.TU = Days.TU; RRule.WE = Days.WE; RRule.TH = Days.TH; RRule.FR = Days.FR; RRule.SA = Days.SA; RRule.SU = Days.SU; RRule.parseString = parseString; RRule.optionsToString = optionsToString; return RRule }(); var rrulestr_DEFAULT_OPTIONS = { dtstart: null, cache: false, unfold: false, forceset: false, compatible: false, tzid: null }; function parseInput(s, options) { var rrulevals = []; var rdatevals = []; var exrulevals = []; var exdatevals = []; var parsedDtstart = parseDtstart(s); var dtstart = parsedDtstart.dtstart; var tzid = parsedDtstart.tzid; var lines = function(s, unfold) { if (void 0 === unfold) { unfold = false } s = s && s.trim(); if (!s) { throw new Error("Invalid empty string") } if (!unfold) { return s.split(/\s/) } var lines = s.split("\n"); var i = 0; while (i < lines.length) { var line = lines[i] = lines[i].replace(/\s+$/g, ""); if (!line) { lines.splice(i, 1) } else if (i > 0 && " " === line[0]) { lines[i - 1] += line.slice(1); lines.splice(i, 1) } else { i += 1 } } return lines }(s, options.unfold); lines.forEach((function(line) { var _a; if (!line) { return } var _b = function(line) { var _a = function(line) { if (-1 === line.indexOf(":")) { return { name: "RRULE", value: line } } var _a = (str = line, sep = ":", num = 1, splits = str.split(sep), num ? splits.slice(0, num).concat([splits.slice(num).join(sep)]) : splits), name = _a[0], value = _a[1]; var str, sep, num, splits; return { name: name, value: value } }(line), name = _a.name, value = _a.value; var parms = name.split(";"); if (!parms) { throw new Error("empty property name") } return { name: parms[0].toUpperCase(), parms: parms.slice(1), value: value } }(line), name = _b.name, parms = _b.parms, value = _b.value; switch (name.toUpperCase()) { case "RRULE": if (parms.length) { throw new Error("unsupported RRULE parm: ".concat(parms.join(","))) } rrulevals.push(parseString(line)); break; case "RDATE": var _c = null !== (_a = /RDATE(?:;TZID=([^:=]+))?/i.exec(line)) && void 0 !== _a ? _a : [], rdateTzid = _c[1]; if (rdateTzid && !tzid) { tzid = rdateTzid } rdatevals = rdatevals.concat(parseRDate(value, parms)); break; case "EXRULE": if (parms.length) { throw new Error("unsupported EXRULE parm: ".concat(parms.join(","))) } exrulevals.push(parseString(value)); break; case "EXDATE": exdatevals = exdatevals.concat(parseRDate(value, parms)); break; case "DTSTART": break; default: throw new Error("unsupported property: " + name) } })); return { dtstart: dtstart, tzid: tzid, rrulevals: rrulevals, rdatevals: rdatevals, exrulevals: exrulevals, exdatevals: exdatevals } } function rrulestr(s, options) { if (void 0 === options) { options = {} } return function(s, options) { var _a = parseInput(s, options), rrulevals = _a.rrulevals, rdatevals = _a.rdatevals, exrulevals = _a.exrulevals, exdatevals = _a.exdatevals, dtstart = _a.dtstart, tzid = _a.tzid; var noCache = false === options.cache; if (options.compatible) { options.forceset = true; options.unfold = true } if (options.forceset || rrulevals.length > 1 || rdatevals.length || exrulevals.length || exdatevals.length) { var rset_1 = new RRuleSet(noCache); rset_1.dtstart(dtstart); rset_1.tzid(tzid || void 0); rrulevals.forEach((function(val) { rset_1.rrule(new RRule(groomRruleOptions(val, dtstart, tzid), noCache)) })); rdatevals.forEach((function(date) { rset_1.rdate(date) })); exrulevals.forEach((function(val) { rset_1.exrule(new RRule(groomRruleOptions(val, dtstart, tzid), noCache)) })); exdatevals.forEach((function(date) { rset_1.exdate(date) })); if (options.compatible && options.dtstart) { rset_1.rdate(dtstart) } return rset_1 } var val = rrulevals[0] || {}; return new RRule(groomRruleOptions(val, val.dtstart || options.dtstart || dtstart, val.tzid || options.tzid || tzid), noCache) }(s, function(options) { var invalid = []; var keys = Object.keys(options); var defaultKeys = Object.keys(rrulestr_DEFAULT_OPTIONS); keys.forEach((function(key) { if (!includes(defaultKeys, key)) { invalid.push(key) } })); if (invalid.length) { throw new Error("Invalid options: " + invalid.join(", ")) } return __assign(__assign({}, rrulestr_DEFAULT_OPTIONS), options) }(options)) } function groomRruleOptions(val, dtstart, tzid) { return __assign(__assign({}, val), { dtstart: dtstart, tzid: tzid }) } function parseRDate(rdateval, parms) { ! function(parms) { parms.forEach((function(parm) { if (!/(VALUE=DATE(-TIME)?)|(TZID=)/.test(parm)) { throw new Error("unsupported RDATE/EXDATE parm: " + parm) } })) }(parms); return rdateval.split(",").map((function(datestr) { return untilStringToDate(datestr) })) } function createGetterSetter(fieldName) { var _this = this; return function(field) { if (void 0 !== field) { _this["_".concat(fieldName)] = field } if (void 0 !== _this["_".concat(fieldName)]) { return _this["_".concat(fieldName)] } for (var i = 0; i < _this._rrule.length; i++) { var field_1 = _this._rrule[i].origOptions[fieldName]; if (field_1) { return field_1 } } } } var RRuleSet = function(_super) { __extends(RRuleSet, _super); function RRuleSet(noCache) { if (void 0 === noCache) { noCache = false } var _this = _super.call(this, {}, noCache) || this; _this.dtstart = createGetterSetter.apply(_this, ["dtstart"]); _this.tzid = createGetterSetter.apply(_this, ["tzid"]); _this._rrule = []; _this._rdate = []; _this._exrule = []; _this._exdate = []; return _this } RRuleSet.prototype._iter = function(iterResult) { return function(iterResult, _rrule, _exrule, _rdate, _exdate, tzid) { var _exdateHash = {}; var _accept = iterResult.accept; function evalExdate(after, before) { _exrule.forEach((function(rrule) { rrule.between(after, before, true).forEach((function(date) { _exdateHash[Number(date)] = true })) })) } _exdate.forEach((function(date) { var zonedDate = new DateWithZone(date, tzid).rezonedDate(); _exdateHash[Number(zonedDate)] = true })); iterResult.accept = function(date) { var dt = Number(date); if (isNaN(dt)) { return _accept.call(this, date) } if (!_exdateHash[dt]) { evalExdate(new Date(dt - 1), new Date(dt + 1)); if (!_exdateHash[dt]) { _exdateHash[dt] = true; return _accept.call(this, date) } } return true }; if ("between" === iterResult.method) { evalExdate(iterResult.args.after, iterResult.args.before); iterResult.accept = function(date) { var dt = Number(date); if (!_exdateHash[dt]) { _exdateHash[dt] = true; return _accept.call(this, date) } return true } } for (var i = 0; i < _rdate.length; i++) { var zonedDate = new DateWithZone(_rdate[i], tzid).rezonedDate(); if (!iterResult.accept(new Date(zonedDate.getTime()))) { break } } _rrule.forEach((function(rrule) { iter(iterResult, rrule.options) })); var res = iterResult._result; sort(res); switch (iterResult.method) { case "all": case "between": return res; case "before": return res.length && res[res.length - 1] || null; case "after": default: return res.length && res[0] || null } }(iterResult, this._rrule, this._exrule, this._rdate, this._exdate, this.tzid()) }; RRuleSet.prototype.rrule = function(rrule) { _addRule(rrule, this._rrule) }; RRuleSet.prototype.exrule = function(rrule) { _addRule(rrule, this._exrule) }; RRuleSet.prototype.rdate = function(date) { _addDate(date, this._rdate) }; RRuleSet.prototype.exdate = function(date) { _addDate(date, this._exdate) }; RRuleSet.prototype.rrules = function() { return this._rrule.map((function(e) { return rrulestr(e.toString()) })) }; RRuleSet.prototype.exrules = function() { return this._exrule.map((function(e) { return rrulestr(e.toString()) })) }; RRuleSet.prototype.rdates = function() { return this._rdate.map((function(e) { return new Date(e.getTime()) })) }; RRuleSet.prototype.exdates = function() { return this._exdate.map((function(e) { return new Date(e.getTime()) })) }; RRuleSet.prototype.valueOf = function() { var result = []; if (!this._rrule.length && this._dtstart) { result = result.concat(optionsToString({ dtstart: this._dtstart })) } this._rrule.forEach((function(rrule) { result = result.concat(rrule.toString().split("\n")) })); this._exrule.forEach((function(exrule) { result = result.concat(exrule.toString().split("\n").map((function(line) { return line.replace(/^RRULE:/, "EXRULE:") })).filter((function(line) { return !/^DTSTART/.test(line) }))) })); if (this._rdate.length) { result.push(rdatesToString("RDATE", this._rdate, this.tzid())) } if (this._exdate.length) { result.push(rdatesToString("EXDATE", this._exdate, this.tzid())) } return result }; RRuleSet.prototype.toString = function() { return this.valueOf().join("\n") }; RRuleSet.prototype.clone = function() { var rrs = new RRuleSet(!!this._cache); this._rrule.forEach((function(rule) { return rrs.rrule(rule.clone()) })); this._exrule.forEach((function(rule) { return rrs.exrule(rule.clone()) })); this._rdate.forEach((function(date) { return rrs.rdate(new Date(date.getTime())) })); this._exdate.forEach((function(date) { return rrs.exdate(new Date(date.getTime())) })); return rrs }; return RRuleSet }(RRule); function _addRule(rrule, collection) { if (!(rrule instanceof RRule)) { throw new TypeError(String(rrule) + " is not RRule instance") } if (!includes(collection.map(String), String(rrule))) { collection.push(rrule) } } function _addDate(date, collection) { if (!(date instanceof Date)) { throw new TypeError(String(date) + " is not Date instance") } if (!includes(collection.map(Number), Number(date))) { collection.push(date); sort(collection) } } function rdatesToString(param, rdates, tzid) { var isUTC = !tzid || "UTC" === tzid.toUpperCase(); var header = isUTC ? "".concat(param, ":") : "".concat(param, ";TZID=").concat(tzid, ":"); var dateString = rdates.map((function(rdate) { return timeToUntilString(rdate.valueOf(), isUTC) })).join(","); return "".concat(header).concat(dateString) } }, 27353: /*!******************************************!*\ !*** external "window.DevExpress.Gantt" ***! \******************************************/ function(module) { module.exports = window.DevExpress.Gantt }, 9549: /*!******************************************!*\ !*** external "window.DevExpress.Quill" ***! \******************************************/ function(module) { module.exports = window.DevExpress.Quill }, 63472: /*!********************************************!*\ !*** external "window.DevExpress.diagram" ***! \********************************************/ function(module) { module.exports = window.DevExpress.diagram }, 71272: /*!***********************************!*\ !*** external "window.Globalize" ***! \***********************************/ function(module) { module.exports = window.Globalize }, 97405: /*!*******************************!*\ !*** external "window.JSZip" ***! \*******************************/ function(module) { module.exports = window.JSZip }, 42552: /*!*****************************************!*\ !*** external "window.TurndownService" ***! \*****************************************/ function(module) { module.exports = window.TurndownService }, 62387: /*!*********************************!*\ !*** external "window.angular" ***! \*********************************/ function(module) { module.exports = window.angular }, 96073: /*!********************************!*\ !*** external "window.jQuery" ***! \********************************/ function(module) { module.exports = window.jQuery }, 76130: /*!****************************!*\ !*** external "window.ko" ***! \****************************/ function(module) { module.exports = window.ko }, 4848: /*!**********************************!*\ !*** external "window.showdown" ***! \**********************************/ function(module) { module.exports = window.showdown } }; var __webpack_module_cache__ = {}; function __webpack_require__(moduleId) { var cachedModule = __webpack_module_cache__[moduleId]; if (void 0 !== cachedModule) { return cachedModule.exports } var module = __webpack_module_cache__[moduleId] = { exports: {} }; __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); return module.exports }!void(__webpack_require__.d = function(exports, definition) { for (var key in definition) { if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }) } } }); !void(__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop) }); !void(__webpack_require__.r = function(exports) { if ("undefined" !== typeof Symbol && Symbol.toStringTag) { Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }) } Object.defineProperty(exports, "__esModule", { value: true }) }); __webpack_require__(16354) }();